/* Tailwind fallback for Hostinger/root deployment. This keeps the system layout even when cdn.tailwindcss.com is unavailable. */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{font:inherit;margin:0}button,[type=button],[type=submit]{cursor:pointer}img,svg,video{display:block;max-width:100%}table{border-collapse:collapse}textarea{resize:vertical}
.-translate-y-1\/2{transform:translateY(-50%)}
@media (min-width:1536px){.2xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1536px){.2xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (min-width:1536px){.2xl\:grid-cols-\[1\.2fr_0\.8fr\]{grid-template-columns:1.2fr 0.8fr}}
@media (min-width:1536px){.2xl\:grid-cols-\[1\.2fr_0\.95fr\]{grid-template-columns:1.2fr 0.95fr}}
@media (min-width:1536px){.2xl\:grid-cols-\[380px_1fr\]{grid-template-columns:380px 1fr}}
.absolute{position:absolute}
.align-top{vertical-align:top}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.aspect-video{aspect-ratio:16/9}
.backdrop-blur{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.bg-amber-100{background-color:#fef3c7}
.bg-amber-50{background-color:#fffbeb}
.bg-amber-500{background-color:#f59e0b}
.bg-black{background-color:#000000}
.bg-blue-50{background-color:#eff6ff}
.bg-blue-600{background-color:#2563eb}
.bg-emerald-100{background-color:#d1fae5}
.bg-emerald-50{background-color:#ecfdf5}
.bg-emerald-50\/60{background-color:rgba(236,253,245,0.6)}
.bg-emerald-50\/70{background-color:rgba(236,253,245,0.7)}
.bg-emerald-600{background-color:#059669}
.bg-emerald-700{background-color:#047857}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-from,#ecfdf5),var(--tw-gradient-to,#f8fafc))}
.bg-green-100{background-color:#dcfce7}
.bg-indigo-50{background-color:#eef2ff}
.bg-rose-50{background-color:#fff1f2}
.bg-rose-600{background-color:#e11d48}
.bg-slate-100{background-color:#f1f5f9}
.bg-slate-50{background-color:#f8fafc}
.bg-slate-50\/60{background-color:rgba(248,250,252,0.6)}
.bg-slate-50\/70{background-color:rgba(248,250,252,0.7)}
.bg-slate-50\/80{background-color:rgba(248,250,252,0.8)}
.bg-slate-900{background-color:#0f172a}
.bg-slate-950{background-color:#020617}
.bg-white{background-color:#ffffff}
.bg-white\/70{background-color:rgba(255,255,255,0.7)}
.bg-white\/80{background-color:rgba(255,255,255,0.8)}
.bg-white\/82{background-color:rgba(255,255,255,0.82)}
.bg-white\/85{background-color:rgba(255,255,255,0.85)}
.bg-white\/92{background-color:rgba(255,255,255,0.92)}
.block{display:block}
.border{border-width:1px;border-style:solid}
.border-amber-200{border-color:#fde68a}
.border-amber-300{border-color:#fcd34d}
.border-b{border-bottom-width:1px;border-bottom-style:solid}
.border-blue-200{border-color:#bfdbfe}
.border-dashed{border-style:dashed}
.border-emerald-100{border-color:#d1fae5}
.border-emerald-200{border-color:#a7f3d0}
.border-emerald-300{border-color:#6ee7b7}
.border-rose-200{border-color:#fecdd3}
.border-slate-100{border-color:#f1f5f9}
.border-slate-200{border-color:#e2e8f0}
.border-slate-300{border-color:#cbd5e1}
.border-t{border-top-width:1px;border-top-style:solid}
.break-all{word-break:break-all}
.break-words{overflow-wrap:break-word}
.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
.contents{display:contents}
.cursor-not-allowed{cursor:not-allowed}
.cursor-pointer{cursor:pointer}
.dark .dark\:bg-amber-950\/30{background-color:rgba(69,26,3,0.3)}
.dark .dark\:bg-blue-900\/30{background-color:rgba(30,58,138,0.3)}
.dark .dark\:bg-blue-950\/30{background-color:rgba(23,37,84,0.3)}
.dark .dark\:bg-emerald-900\/20{background-color:rgba(6,78,59,0.2)}
.dark .dark\:bg-emerald-950\/30{background-color:rgba(2,44,34,0.3)}
.dark .dark\:bg-indigo-900\/30{background-color:rgba(49,46,129,0.3)}
.dark .dark\:bg-rose-900\/20{background-color:rgba(136,19,55,0.2)}
.dark .dark\:bg-slate-800{background-color:#1e293b}
.dark .dark\:bg-slate-800\/70{background-color:rgba(30,41,59,0.7)}
.dark .dark\:bg-slate-900{background-color:#0f172a}
.dark .dark\:bg-slate-900\/30{background-color:rgba(15,23,42,0.3)}
.dark .dark\:bg-slate-900\/40{background-color:rgba(15,23,42,0.4)}
.dark .dark\:bg-slate-900\/50{background-color:rgba(15,23,42,0.5)}
.dark .dark\:bg-slate-900\/80{background-color:rgba(15,23,42,0.8)}
.dark .dark\:bg-slate-950{background-color:#020617}
.dark .dark\:bg-slate-950\/40{background-color:rgba(2,6,23,0.4)}
.dark .dark\:bg-white{background-color:#ffffff}
.dark .dark\:block{display:block}
.dark .dark\:border-amber-800\/70{border-color:rgba(146,64,14,0.7)}
.dark .dark\:border-amber-900{border-color:#78350f}
.dark .dark\:border-emerald-800\/70{border-color:rgba(6,95,70,0.7)}
.dark .dark\:border-emerald-900{border-color:#064e3b}
.dark .dark\:border-rose-900{border-color:#881337}
.dark .dark\:border-slate-700{border-color:#334155}
.dark .dark\:border-slate-800{border-color:#1e293b}
.dark .dark\:hidden{display:none !important}
.dark .dark\:hover\:bg-blue-900\/50:hover{background-color:rgba(30,58,138,0.5)}
.dark .dark\:hover\:bg-blue-950\/30:hover{background-color:rgba(23,37,84,0.3)}
.dark .dark\:hover\:bg-indigo-900\/50:hover{background-color:rgba(49,46,129,0.5)}
.dark .dark\:hover\:bg-slate-800:hover{background-color:#1e293b}
.dark .dark\:ring-slate-700{--tw-ring-color:#334155;box-shadow:0 0 0 1px var(--tw-ring-color)}
.dark .dark\:ring-slate-800{--tw-ring-color:#1e293b;box-shadow:0 0 0 1px var(--tw-ring-color)}
.dark .dark\:text-amber-200{color:#fde68a}
.dark .dark\:text-blue-300{color:#93c5fd}
.dark .dark\:text-emerald-200{color:#a7f3d0}
.dark .dark\:text-emerald-200\/80{color:rgba(167,243,208,0.8)}
.dark .dark\:text-emerald-300{color:#6ee7b7}
.dark .dark\:text-indigo-300{color:#a5b4fc}
.dark .dark\:text-rose-200\/80{color:rgba(254,205,211,0.8)}
.dark .dark\:text-rose-300{color:#fda4af}
.dark .dark\:text-slate-100{color:#f1f5f9}
.dark .dark\:text-slate-200{color:#e2e8f0}
.dark .dark\:text-slate-300{color:#cbd5e1}
.dark .dark\:text-slate-400{color:#94a3b8}
.dark .dark\:text-slate-500{color:#64748b}
.dark .dark\:text-slate-900{color:#0f172a}
.dark .dark\:text-white{color:#ffffff}
.divide-y > :not([hidden]) ~ :not([hidden]) { border-top-width:1px; border-top-style:solid; border-top-color:#e2e8f0; }
.duration-200{transition-duration:.2s}
.duration-300{transition-duration:.3s}
.file\:bg-blue-600::file-selector-button{background-color:#2563eb}
.file\:font-semibold::file-selector-button{font-weight:600}
.file\:mr-4::file-selector-button{margin-right:1rem}
.file\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}
.file\:py-2::file-selector-button{padding-top:0.5rem;padding-bottom:0.5rem}
.file\:rounded-xl::file-selector-button{border-radius:.75rem}
.file\:text-white::file-selector-button{color:#ffffff}
.flex{display:flex}
.flex-1{flex:1 1 0%}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.focus\:border-blue-500:focus{border-color:#3b82f6}
.focus\:border-emerald-500:focus{border-color:#10b981}
.focus\:ring-4:focus{box-shadow:0 0 0 4px var(--tw-ring-color, rgba(59,130,246,.5))}
.focus\:ring-blue-100:focus{--tw-ring-color:#dbeafe;box-shadow:0 0 0 1px var(--tw-ring-color)}
.focus\:ring-emerald-100:focus{--tw-ring-color:#d1fae5;box-shadow:0 0 0 1px var(--tw-ring-color)}
.font-black{font-weight:900}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.from-emerald-50{--tw-gradient-from:#ecfdf5}
.gap-1{gap:0.25rem}
.gap-2{gap:0.5rem}
.gap-3{gap:0.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.grid{display:grid}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-cols-\[1fr_140px\]{grid-template-columns:1fr 140px}
.group[open] .group-open\:hidden{display:none !important}
.group[open] .group-open\:inline-flex{display:inline-flex}
.h-11{height:2.75rem}
.h-12{height:3rem}
.h-14{height:3.5rem}
.h-16{height:4rem}
.h-20{height:5rem}
.h-24{height:6rem}
.h-28{height:7rem}
.h-3{height:0.75rem}
.h-32{height:8rem}
.h-4{height:1rem}
.h-44{height:11rem}
.h-5{height:1.25rem}
.h-56{height:14rem}
.h-7{height:1.75rem}
.h-8{height:2rem}
.h-\[260px\]{height:260px}
.h-\[320px\]{height:320px}
.h-fit{height:fit-content}
.h-full{height:100%}
.hidden{display:none !important}
.hover\:bg-blue-100:hover{background-color:#dbeafe}
.hover\:bg-blue-50:hover{background-color:#eff6ff}
.hover\:bg-blue-700:hover{background-color:#1d4ed8}
.hover\:bg-emerald-50\/40:hover{background-color:rgba(236,253,245,0.4)}
.hover\:bg-emerald-700:hover{background-color:#047857}
.hover\:bg-indigo-100:hover{background-color:#e0e7ff}
.hover\:bg-rose-700:hover{background-color:#be123c}
.hover\:bg-slate-50:hover{background-color:#f8fafc}
.hover\:border-amber-300:hover{border-color:#fcd34d}
.hover\:border-emerald-300:hover{border-color:#6ee7b7}
.hover\:border-emerald-400:hover{border-color:#34d399}
.hover\:file\:bg-blue-700::file-selector-button:hover{background-color:#1d4ed8}
.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.hover\:text-blue-800:hover{color:#1e40af}
.hover\:text-current:hover{color:currentColor}
.hover\:text-emerald-800:hover{color:#065f46}
.hover\:text-rose-800:hover{color:#9f1239}
.inline-flex{display:inline-flex}
.inset-y-0{top:0;bottom:0}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-end{justify-content:flex-end}
.justify-start{justify-content:flex-start}
.leading-6{line-height:1.5rem}
.leading-7{line-height:1.75rem}
.leading-8{line-height:2rem}
.leading-tight{line-height:1.25}
@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1 / span 1}}
@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2 / span 2}}
@media (min-width:1024px){.lg\:flex{display:flex}}
@media (min-width:1024px){.lg\:flex-row{flex-direction:row}}
@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.lg\:grid-cols-\[0\.92fr_1\.08fr\]{grid-template-columns:0.92fr 1.08fr}}
@media (min-width:1024px){.lg\:grid-cols-\[0\.9fr_1\.1fr\]{grid-template-columns:0.9fr 1.1fr}}
@media (min-width:1024px){.lg\:grid-cols-\[1\.04fr_0\.96fr\]{grid-template-columns:1.04fr 0.96fr}}
@media (min-width:1024px){.lg\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr 0.9fr}}
@media (min-width:1024px){.lg\:grid-cols-\[1\.2fr_1fr_1fr_1fr_1fr_auto\]{grid-template-columns:1.2fr 1fr 1fr 1fr 1fr auto}}
@media (min-width:1024px){.lg\:grid-cols-\[1fr_0\.9fr\]{grid-template-columns:1fr 0.9fr}}
@media (min-width:1024px){.lg\:items-end{align-items:flex-end}}
@media (min-width:1024px){.lg\:items-start{align-items:flex-start}}
@media (min-width:1024px){.lg\:justify-between{justify-content:space-between}}
@media (min-width:1024px){.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}}
@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}
.list-disc{list-style-type:disc}
.list-none{list-style-type:none}
.max-h-\[190px\]{max-height:190px}
.max-h-\[320px\]{max-height:320px}
.max-h-\[55vh\]{max-height:55vh}
.max-h-\[70vh\]{max-height:70vh}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-6xl{max-width:72rem}
.max-w-7xl{max-width:80rem}
.max-w-\[160px\]{max-width:160px}
.max-w-full{max-width:100%}
.max-w-lg{max-width:32rem}
.max-w-xl{max-width:36rem}
.mb-2{margin-bottom:0.5rem}
.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}
.mb-5{margin-bottom:1.25rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
@media (min-width:768px){.md\:col-span-2{grid-column:span 2 / span 2}}
@media (min-width:768px){.md\:flex{display:flex}}
@media (min-width:768px){.md\:flex-row{flex-direction:row}}
@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:768px){.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (min-width:768px){.md\:grid-cols-\[1\.6fr_140px_140px_160px_auto\]{grid-template-columns:1.6fr 140px 140px 160px auto}}
@media (min-width:768px){.md\:grid-cols-\[180px_1fr\]{grid-template-columns:180px 1fr}}
@media (min-width:768px){.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}}
@media (min-width:768px){.md\:grid-cols-\[1fr_auto_auto\]{grid-template-columns:1fr auto auto}}
@media (min-width:768px){.md\:grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}}
@media (min-width:768px){.md\:hidden{display:none !important}}
@media (min-width:768px){.md\:items-center{align-items:center}}
@media (min-width:768px){.md\:items-start{align-items:flex-start}}
@media (min-width:768px){.md\:justify-between{justify-content:space-between}}
@media (min-width:768px){.md\:justify-end{justify-content:flex-end}}
@media (min-width:768px){.md\:p-7{padding:1.75rem}}
@media (min-width:768px){.md\:px-7{padding-left:1.75rem;padding-right:1.75rem}}
@media (min-width:768px){.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}}
@media (min-width:768px){.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}}
.min-h-\[220px\]{min-height:220px}
.min-h-\[320px\]{min-height:320px}
.min-h-\[560px\]{min-height:560px}
.min-h-\[90px\]{min-height:90px}
.min-h-screen{min-height:100vh}
.min-w-0{min-width:0;min-width:0}
.min-w-\[120px\]{min-width:120px}
.min-w-\[140px\]{min-width:140px}
.min-w-\[150px\]{min-width:150px}
.min-w-\[160px\]{min-width:160px}
.min-w-\[170px\]{min-width:170px}
.min-w-\[180px\]{min-width:180px}
.min-w-\[220px\]{min-width:220px}
.min-w-\[240px\]{min-width:240px}
.min-w-\[280px\]{min-width:280px}
.min-w-\[5rem\]{min-width:5rem}
.min-w-\[820px\]{min-width:820px}
.min-w-full{min-width:100%}
.ml-1{margin-left:0.25rem}
.ml-5{margin-left:1.25rem}
.ml-6{margin-left:1.5rem}
.mt-0\.5{margin-top:0.125rem}
.mt-1{margin-top:0.25rem}
.mt-10{margin-top:2.5rem}
.mt-2{margin-top:0.5rem}
.mt-3{margin-top:0.75rem}
.mt-4{margin-top:1rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mx-1{margin-left:0.25rem;margin-right:0.25rem}
.mx-auto{margin-left:auto;margin-right:auto}
.object-contain{object-fit:contain}
.object-cover{object-fit:cover}
.open\:pb-0[open]{padding-bottom:0}
.outline-none{outline:2px solid transparent;outline-offset:2px}
.overflow-auto{overflow:auto}
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto}
.overflow-y-auto{overflow-y:auto}
.p-10{padding:2.5rem}
.p-3{padding:0.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.pb-2{padding-bottom:0.5rem}
.pb-3{padding-bottom:0.75rem}
.pb-5{padding-bottom:1.25rem}
.pl-5{padding-left:1.25rem}
.pr-1{padding-right:0.25rem}
.pr-12{padding-right:3rem}
.pr-2{padding-right:0.5rem}
.pr-4{padding-right:1rem}
@media print{.print\:hidden{display:none !important}}
.pt-1{padding-top:0.25rem}
.pt-2{padding-top:0.5rem}
.pt-4{padding-top:1rem}
.pt-9{padding-top:2.25rem}
.px-1{padding-left:0.25rem;padding-right:0.25rem}
.px-10{padding-left:2.5rem;padding-right:2.5rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.relative{position:relative}
.right-3{right:.75rem}
.ring-1{box-shadow:0 0 0 1px var(--tw-ring-color, rgba(59,130,246,.5))}
.ring-2{box-shadow:0 0 0 2px var(--tw-ring-color, rgba(59,130,246,.5))}
.ring-slate-200{--tw-ring-color:#e2e8f0;box-shadow:0 0 0 1px var(--tw-ring-color)}
.ring-slate-300{--tw-ring-color:#cbd5e1;box-shadow:0 0 0 1px var(--tw-ring-color)}
.rounded{border-radius:.25rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-\[1\.25rem\]{border-radius:1.25rem}
.rounded-\[1\.5rem\]{border-radius:1.5rem}
.rounded-\[1\.75rem\]{border-radius:1.75rem}
.rounded-\[2rem\]{border-radius:2rem}
.rounded-full{border-radius:9999px}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.select-none{user-select:none}
.self-end{align-self:flex-end}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.shrink-0{flex-shrink:0}
@media (min-width:640px){.sm\:block{display:block}}
@media (min-width:640px){.sm\:col-span-2{grid-column:span 2 / span 2}}
@media (min-width:640px){.sm\:flex-nowrap{flex-wrap:nowrap}}
@media (min-width:640px){.sm\:flex-row{flex-direction:row}}
@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:640px){.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:640px){.sm\:grid-cols-\[260px_auto\]{grid-template-columns:260px auto}}
@media (min-width:640px){.sm\:items-center{align-items:center}}
@media (min-width:640px){.sm\:justify-between{justify-content:space-between}}
@media (min-width:640px){.sm\:mx-0{margin-left:0;margin-right:0}}
@media (min-width:640px){.sm\:p-8{padding:2rem}}
@media (min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}
.space-y-1 > :not([hidden]) ~ :not([hidden]) { margin-top:0.25rem; }
.space-y-2 > :not([hidden]) ~ :not([hidden]) { margin-top:0.5rem; }
.space-y-3 > :not([hidden]) ~ :not([hidden]) { margin-top:0.75rem; }
.space-y-4 > :not([hidden]) ~ :not([hidden]) { margin-top:1rem; }
.space-y-5 > :not([hidden]) ~ :not([hidden]) { margin-top:1.25rem; }
.space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top:1.5rem; }
.space-y-8 > :not([hidden]) ~ :not([hidden]) { margin-top:2rem; }
.sticky{position:sticky}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-5xl{font-size:3rem;line-height:1}
.text-amber-600{color:#d97706}
.text-amber-700{color:#b45309}
.text-amber-800{color:#92400e}
.text-amber-900{color:#78350f}
.text-base{font-size:1rem;line-height:1.5rem}
.text-blue-300{color:#93c5fd}
.text-blue-600{color:#2563eb}
.text-blue-700{color:#1d4ed8}
.text-center{text-align:center}
.text-current\/70{color:currentColor}
.text-emerald-700{color:#047857}
.text-emerald-700\/80{color:rgba(4,120,87,0.8)}
.text-emerald-800{color:#065f46}
.text-emerald-900{color:#064e3b}
.text-emerald-950{color:#022c22}
.text-green-800{color:#166534}
.text-indigo-700{color:#4338ca}
.text-left{text-align:left}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-right{text-align:right}
.text-rose-500{color:#f43f5e}
.text-rose-600{color:#e11d48}
.text-rose-700{color:#be123c}
.text-rose-700\/80{color:rgba(190,18,60,0.8)}
.text-rose-900{color:#881337}
.text-sky-700{color:#0369a1}
.text-slate-300{color:#cbd5e1}
.text-slate-400{color:#94a3b8}
.text-slate-500{color:#64748b}
.text-slate-600{color:#475569}
.text-slate-700{color:#334155}
.text-slate-800{color:#1e293b}
.text-slate-900{color:#0f172a}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-white{color:#ffffff}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-xs{font-size:.75rem;line-height:1rem}
.to-slate-50{--tw-gradient-to:#f8fafc}
.top-0{top:0}
.top-1\/2{top:50%}
.top-24{top:6rem}
.tracking-\[0\.14em\]{letter-spacing:0.14em}
.tracking-\[0\.18em\]{letter-spacing:0.18em}
.tracking-\[0\.22em\]{letter-spacing:0.22em}
.tracking-\[0\.25em\]{letter-spacing:0.25em}
.tracking-\[0\.2em\]{letter-spacing:0.2em}
.tracking-tight{letter-spacing:-.025em}
.tracking-wide{letter-spacing:.025em}
.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uppercase{text-transform:uppercase}
.w-11{width:2.75rem}
.w-12{width:3rem}
.w-14{width:3.5rem}
.w-16{width:4rem}
.w-20{width:5rem}
.w-24{width:6rem}
.w-28{width:7rem}
.w-32{width:8rem}
.w-4{width:1rem}
.w-44{width:11rem}
.w-5{width:1.25rem}
.w-56{width:14rem}
.w-7{width:1.75rem}
.w-8{width:2rem}
.w-\[14\%\]{width:14%}
.w-\[16\%\]{width:16%}
.w-\[30\%\]{width:30%}
.w-\[8\%\]{width:8%}
.w-full{width:100%}
.whitespace-nowrap{white-space:nowrap}
@media (min-width:1280px){.xl\:col-span-1{grid-column:span 1 / span 1}}
@media (min-width:1280px){.xl\:col-span-2{grid-column:span 2 / span 2}}
@media (min-width:1280px){.xl\:col-span-3{grid-column:span 3 / span 3}}
@media (min-width:1280px){.xl\:flex-row{flex-direction:row}}
@media (min-width:1280px){.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}}
@media (min-width:1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1280px){.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (min-width:1280px){.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (min-width:1280px){.xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media (min-width:1280px){.xl\:grid-cols-\[0\.74fr_0\.26fr\]{grid-template-columns:0.74fr 0.26fr}}
@media (min-width:1280px){.xl\:grid-cols-\[0\.85fr_1\.15fr\]{grid-template-columns:0.85fr 1.15fr}}
@media (min-width:1280px){.xl\:grid-cols-\[0\.92fr_1\.08fr\]{grid-template-columns:0.92fr 1.08fr}}
@media (min-width:1280px){.xl\:grid-cols-\[0\.95fr_1\.05fr\]{grid-template-columns:0.95fr 1.05fr}}
@media (min-width:1280px){.xl\:grid-cols-\[0\.95fr_2\.05fr\]{grid-template-columns:0.95fr 2.05fr}}
@media (min-width:1280px){.xl\:grid-cols-\[0\.9fr_1\.1fr\]{grid-template-columns:0.9fr 1.1fr}}
@media (min-width:1280px){.xl\:grid-cols-\[1\.08fr_0\.92fr\]{grid-template-columns:1.08fr 0.92fr}}
@media (min-width:1280px){.xl\:grid-cols-\[1\.15fr_0\.85fr\]{grid-template-columns:1.15fr 0.85fr}}
@media (min-width:1280px){.xl\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr 0.9fr}}
@media (min-width:1280px){.xl\:grid-cols-\[1\.1fr_0\.9fr_auto\]{grid-template-columns:1.1fr 0.9fr auto}}
@media (min-width:1280px){.xl\:grid-cols-\[1\.2fr_0\.8fr\]{grid-template-columns:1.2fr 0.8fr}}
@media (min-width:1280px){.xl\:grid-cols-\[1\.35fr_0\.65fr\]{grid-template-columns:1.35fr 0.65fr}}
@media (min-width:1280px){.xl\:grid-cols-\[1\.4fr_0\.9fr\]{grid-template-columns:1.4fr 0.9fr}}
@media (min-width:1280px){.xl\:grid-cols-\[1fr_0\.48fr\]{grid-template-columns:1fr 0.48fr}}
@media (min-width:1280px){.xl\:grid-cols-\[1fr_0\.95fr\]{grid-template-columns:1fr 0.95fr}}
@media (min-width:1280px){.xl\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}}
@media (min-width:1280px){.xl\:grid-cols-\[320px_1fr\]{grid-template-columns:320px 1fr}}
@media (min-width:1280px){.xl\:items-start{align-items:flex-start}}
@media (min-width:1280px){.xl\:justify-between{justify-content:space-between}}
@media (min-width:1280px){.xl\:max-w-4xl{max-width:56rem}}
@media (min-width:1280px){.xl\:px-20{padding-left:5rem;padding-right:5rem}}
@media (min-width:1280px){.xl\:w-\[31rem\]{width:31rem}}
.z-10{z-index:10}
.z-40{z-index:40}
.dark .dark\:bg-indigo-950\/40{background-color:rgba(49,46,129,.4)}
.dark .dark\:bg-amber-950\/40{background-color:rgba(69,26,3,.4)}
.dark .dark\:bg-rose-950\/40{background-color:rgba(76,5,25,.4)}
.text-indigo-600{color:#4f46e5}.text-amber-300{color:#fcd34d}.text-amber-200{color:#fde68a}.text-rose-300{color:#fda4af}
.bg-indigo-50{background-color:#eef2ff}.bg-violet-50{background-color:#f5f3ff}
.border-amber-800\/70{border-color:rgba(146,64,14,.7)}.dark .dark\:border-amber-800\/70{border-color:rgba(146,64,14,.7)}
@media (min-width:640px){.sm\:block{display:block}.sm\:mx-0{margin-left:0;margin-right:0}}
@media (min-width:768px){.md\:w-auto{width:auto}}
:root {
    --app-bg: #f7f4ea;
    --app-surface: rgba(255, 253, 247, 0.92);
    --app-surface-solid: #fffdf8;
    --app-text: #1f2a1f;
    --app-muted: #667063;
    --app-border: #d8dfcc;
    --app-primary: #315c3a;
    --app-primary-strong: #24472b;
    --app-primary-soft: #e7f0de;
    --app-accent: #d4ab2a;
    --app-accent-strong: #b89019;
    --app-accent-soft: #faf0c9;
    --app-shadow-soft: 0 10px 28px rgba(34, 59, 40, 0.06);
}
html.dark {
    --app-bg: #121a13;
    --app-surface: rgba(22, 31, 23, 0.94);
    --app-surface-solid: #18231a;
    --app-text: #eef4e9;
    --app-muted: #a9b6a1;
    --app-border: #2e3c2f;
    --app-primary: #9ac38d;
    --app-primary-strong: #bdd8b4;
    --app-primary-soft: rgba(117, 154, 103, 0.18);
    --app-accent: #dfc15d;
    --app-accent-strong: #f1d989;
    --app-accent-soft: rgba(223, 193, 93, 0.14);
    --app-shadow-soft: 0 14px 30px rgba(0, 0, 0, 0.22);
}
html, body { background: var(--app-bg); }
body, a, input, select, textarea, button { color: var(--app-text); }
body { font-family: Inter, ui-sans-serif, system-ui, sans-serif; }

.app-shell { background: linear-gradient(180deg, rgba(255,252,245,.95), rgba(247,244,234,.98)); }
html.dark .app-shell { background: linear-gradient(180deg, rgba(19,26,19,.98), rgba(15,20,16,.98)); }
.app-header { background: color-mix(in srgb, var(--app-surface) 88%, transparent); border-color: var(--app-border); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.app-header-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.app-brand-mark { display:inline-flex; align-items:center; justify-content:center; height:3rem; width:3rem; border-radius:1rem; overflow:hidden; border:1px solid var(--app-border); box-shadow: var(--app-shadow-soft); background: var(--app-surface-solid); }
.app-brand-title { font-weight:900; color:var(--app-primary-strong); font-size:1.4rem; line-height:1; }
.app-brand-sub { margin-top:.18rem; font-size:.92rem; color:var(--app-muted); }
.app-header-actions { display:flex; align-items:center; gap:.65rem; min-width:0; }
.app-top-nav { display:flex; align-items:center; gap:.55rem; overflow:auto; padding-bottom:.1rem; scrollbar-width:none; }
.app-top-nav::-webkit-scrollbar { display:none; }
.app-top-nav-item, .icon-button {
    position:relative; display:inline-flex; align-items:center; justify-content:center; width:2.9rem; height:2.9rem;
    border-radius:1rem; border:1px solid var(--app-border); background:var(--app-surface-solid); box-shadow: var(--app-shadow-soft);
    color:var(--app-primary); transition:all .18s ease; text-decoration:none;
}
.app-top-nav-item:hover, .icon-button:hover { transform: translateY(-1px); border-color: color-mix(in srgb, var(--app-primary) 26%, var(--app-border)); background: color-mix(in srgb, var(--app-surface-solid) 80%, var(--app-primary-soft)); }
.app-top-nav-item.is-active { background: linear-gradient(135deg, var(--app-primary), color-mix(in srgb, var(--app-primary) 75%, var(--app-accent))); border-color: transparent; color: #fff; }
.app-top-nav-badge { position:absolute; top:-.22rem; right:-.15rem; min-width:1.1rem; height:1.1rem; padding:0 .28rem; border-radius:999px; font-size:.68rem; font-weight:800; background:var(--app-accent); color:#24321f; display:inline-flex; align-items:center; justify-content:center; border:2px solid var(--app-surface-solid); }
.app-top-nav-badge-attention { background:#d92d20; color:#fff; box-shadow:0 0 0 3px color-mix(in srgb, #d92d20 16%, transparent); }
.app-top-nav-item.has-attention { border-color:#efb3ae; background:color-mix(in srgb, #fff 82%, #fff0ef); }
.app-top-nav-item.has-attention:not(.is-active) i { color:#d92d20 !important; }
.app-inline-badge-attention { background:#d92d20; color:#fff; }
.app-dropdown-link.has-attention { background:color-mix(in srgb, #fff 78%, #fff0ef); }
.app-dropdown-link.has-attention:hover, .app-dropdown-link.has-attention.is-active { background:color-mix(in srgb, #fff 58%, #ffe1dd); }
.app-global-search {
    display:flex; align-items:center; gap:.6rem; width:min(34rem, 100%); min-width:0;
    border:1px solid var(--app-border); background:var(--app-surface-solid); border-radius:999px; padding:.88rem 1rem; box-shadow: var(--app-shadow-soft);
}
.app-global-search.mobile-only { width:100%; }
.app-global-search i { color:var(--app-primary); }
.app-global-search input { flex:1; min-width:0; border:none; outline:none; background:transparent; color:var(--app-text); }
.app-global-search input::placeholder { color:var(--app-muted); }
.app-kicker { font-size:.8rem; letter-spacing:.22em; text-transform:uppercase; color:var(--app-primary); font-weight:800; }
.app-page-title { font-size:2rem; line-height:1.1; font-weight:900; color:var(--app-primary-strong); }
.app-page-user { color:var(--app-muted); }
.app-main > section, .app-main > div > section, .rounded-\[2rem\], .rounded-3xl.bg-white, .dark\:bg-slate-950, .page-card, .app-panel, main .container {
    background: var(--app-surface) !important; border-color: var(--app-border) !important; box-shadow: var(--app-shadow-soft) !important;
}
main table { background:var(--app-surface-solid) !important; border-color:var(--app-border)!important; }
main table thead, main table thead tr { background: color-mix(in srgb, var(--app-primary-soft) 48%, white) !important; }
html.dark main table thead, html.dark main table thead tr { background: rgba(37,56,39,.92) !important; }
main table tbody tr { background: transparent !important; }
main table th, main table td { border-bottom-color: var(--app-border) !important; }
main table tbody tr:hover { background: color-mix(in srgb, var(--app-primary-soft) 35%, transparent) !important; }
label, .font-semibold, .font-bold, .font-black { color: var(--app-primary-strong); }
.text-slate-500, .dark .text-slate-400, .dark .text-slate-300, .text-slate-600 { color: var(--app-muted) !important; }
.text-slate-900, .dark .text-white { color: var(--app-primary-strong) !important; }
html.dark .text-slate-900, html.dark .font-semibold, html.dark .font-black, html.dark .font-bold { color: var(--app-text) !important; }
.border-slate-200, .dark .border-slate-800, .border-slate-300, .dark .border-slate-700 { border-color: var(--app-border) !important; }
.bg-white, .dark .bg-slate-950, .dark .bg-slate-900, .bg-slate-50 { background: var(--app-surface-solid) !important; }
.bg-blue-600, .bg-sky-600, .bg-emerald-600 { background: var(--app-primary) !important; }
.bg-blue-50, .bg-sky-50, .bg-emerald-50, .dark .bg-blue-950\/30 { background: color-mix(in srgb, var(--app-primary-soft) 70%, var(--app-surface-solid)) !important; }
.text-blue-600, .text-blue-700, .text-sky-600, .text-emerald-600 { color: var(--app-primary) !important; }
.border-blue-200, .border-blue-600, .border-sky-200, .border-emerald-200 { border-color: color-mix(in srgb, var(--app-primary) 35%, var(--app-border)) !important; }
.ring-blue-200, .ring-blue-600, .ring-emerald-200 { --tw-ring-color: color-mix(in srgb, var(--app-primary) 35%, transparent) !important; }
button, .rounded-2xl.bg-blue-600, .rounded-2xl.bg-sky-600, .rounded-2xl.bg-emerald-600 { background-image:none !important; }
.app-badge { display:inline-flex; align-items:center; justify-content:center; min-height:1.65rem; padding:.22rem .65rem; border-radius:999px; font-size:.76rem; font-weight:800; border:1px solid transparent; }
.app-badge-emerald { background: color-mix(in srgb, var(--app-primary-soft) 68%, white); color: var(--app-primary-strong); border-color: color-mix(in srgb, var(--app-primary) 18%, var(--app-border)); }
.app-badge-amber, .app-badge-sky { background: color-mix(in srgb, var(--app-accent-soft) 78%, white); color: #735b10; border-color: color-mix(in srgb, var(--app-accent) 20%, var(--app-border)); }
.app-badge-rose { background: #fde7e5; color: #9a3d34; border-color: #f4c3bc; }
.app-badge-slate, .app-badge-blue { background: #edf1e8; color: #55624d; border-color: #d8dfcc; }
.app-toast { border-radius:1rem; padding:1rem 1.1rem; border:1px solid var(--app-border); box-shadow:var(--app-shadow-soft); }
.app-toast-success { background: color-mix(in srgb, var(--app-primary-soft) 60%, white); }
.app-toast-error { background: #fff1ee; border-color:#f2c6bb; color:#8b4336; }
.app-toast-warning { background: #fffbeb; border-color:#fde68a; color:#92400e; }
.dark .app-toast-warning { background: rgba(69,26,3,.65); border-color: rgba(251,191,36,.35); color:#fde68a; }
.app-loader-overlay { position:fixed; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; background:color-mix(in srgb, var(--app-bg) 96%, transparent); z-index:9999; transition:opacity .35s ease, visibility .35s ease; }
.app-loader-overlay.is-hidden { opacity:0; visibility:hidden; }
.app-loader-mark { position:relative; width:6rem; height:6rem; }
.app-loader-ring { position:absolute; inset:0; border-radius:999px; border:3px solid color-mix(in srgb, var(--app-primary) 18%, transparent); border-top-color: var(--app-accent); animation:spin 1s linear infinite; }
.app-loader-logo-wrap { position:absolute; inset:.7rem; border-radius:999px; overflow:hidden; border:2px solid var(--app-border); background:var(--app-surface-solid); }
.app-loader-logo { width:100%; height:100%; object-fit:cover; }
.app-loader-text { font-weight:700; color:var(--app-primary-strong); }
@keyframes spin { to { transform:rotate(360deg); } }
@media (max-width: 767px) {
    .app-header-inner { align-items:flex-start; flex-wrap:wrap; }
    .app-header-actions { width:100%; justify-content:space-between; }
    .app-top-nav { flex:1; }
    .app-page-title { font-size:1.5rem; }
}

.app-dropdown-wrap{position:relative;display:inline-flex}.app-dropdown-menu{position:absolute;top:calc(100% + .6rem);right:0;min-width:17rem;background:var(--app-surface-solid);border:1px solid var(--app-border);border-radius:1rem;box-shadow:var(--app-shadow-soft);padding:.45rem;z-index:70}.app-dropdown-link{display:flex;align-items:center;gap:.65rem;padding:.78rem .85rem;border-radius:.85rem;color:var(--app-text);text-decoration:none;font-weight:600}.app-dropdown-link:hover,.app-dropdown-link.is-active{background:color-mix(in srgb,var(--app-primary-soft) 72%, var(--app-surface-solid));color:var(--app-primary-strong)}.app-inline-badge{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;height:1.2rem;padding:0 .34rem;border-radius:999px;background:var(--app-accent);color:#24321f;font-size:.7rem;font-weight:800}.app-tooltip{position:absolute;left:50%;transform:translateX(-50%);bottom:-2.1rem;background:#24321f;color:#fff;border-radius:.65rem;padding:.28rem .48rem;font-size:.72rem;font-weight:700;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .16s ease}.app-top-nav-item:hover .app-tooltip,.icon-button:hover .app-tooltip{opacity:1}
.app-header-actions{flex-wrap:wrap;justify-content:flex-end}
.bg-blue-600,.bg-sky-600,.bg-emerald-600{background:linear-gradient(135deg,var(--app-primary),#3d7246)!important;color:#fff!important}
.text-white{color:#fff!important}
@media (max-width: 900px){.app-dropdown-menu{right:auto;left:0}.app-top-nav{flex-wrap:wrap}}


/* Version 8 navigation fixes */
.app-header-actions { overflow: visible; }
.app-top-nav { overflow: visible; }
.app-dropdown-wrap { position: relative; display: inline-flex; align-items: center; }
.app-dropdown-wrap::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 14px;
}
.app-dropdown-menu {
    top: calc(100% + 2px) !important;
    right: 0;
    min-width: 16rem;
}
.app-dropdown-menu.hidden { display: none !important; }

.app-dropdown-heading{display:flex;align-items:center;gap:.55rem;padding:.75rem .85rem .6rem;color:var(--app-primary-strong);font-size:.82rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid color-mix(in srgb,var(--app-border) 70%, transparent);margin-bottom:.2rem}
.app-dropdown-heading i{color:var(--app-primary)!important}
.app-dropdown-link { white-space: nowrap; }
.app-top-nav-item i, .icon-button i, .app-dropdown-link i {
    stroke-width: 2.2;
    opacity: 1 !important;
}
.app-top-nav-item { overflow: visible; }
.app-top-nav-item.is-active i { color: #fff !important; opacity: 1 !important; }
.app-top-nav-item:not(.is-active) i { color: var(--app-primary) !important; }
@media (min-width: 901px) {
  .app-dropdown-wrap:hover > .app-dropdown-menu {
      display: block !important;
  }
}

/* Mobile production pass */
body.app-lock-scroll { overflow: hidden; }
.app-mobile-quicknav { display:flex; align-items:center; gap:.55rem; }
.app-mobile-overlay { position:fixed; inset:0; background:rgba(10,16,11,.45); z-index:55; backdrop-filter: blur(2px); }
.app-mobile-drawer {
    position:fixed; top:0; right:0; bottom:0; width:min(22rem, 88vw); background:var(--app-surface-solid);
    border-left:1px solid var(--app-border); box-shadow:var(--app-shadow-soft); z-index:60;
    transform:translateX(100%); transition:transform .22s ease; padding:1rem; overflow:auto;
}
.app-mobile-drawer.is-open { transform:translateX(0); }
.app-mobile-drawer-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.app-mobile-nav-list { display:grid; gap:.6rem; }
.app-mobile-nav-link {
    display:flex; align-items:center; gap:.85rem; padding:.95rem 1rem; border-radius:1rem; text-decoration:none;
    border:1px solid var(--app-border); background:var(--app-surface); font-weight:700; color:var(--app-text);
}
.app-mobile-nav-link.is-active { background:color-mix(in srgb, var(--app-primary-soft) 72%, var(--app-surface-solid)); color:var(--app-primary-strong); }
.app-mobile-nav-link.has-attention { border-color:#efb3ae; background:color-mix(in srgb, #fff 84%, #fff0ef); }
.app-mobile-nav-link.has-attention:not(.is-active) { color:#8b1e16; }
.app-mobile-nav-icon {
    width:2.3rem; height:2.3rem; display:inline-flex; align-items:center; justify-content:center;
    border-radius:.85rem; border:1px solid var(--app-border); background:var(--app-surface-solid); color:var(--app-primary);
}
.app-mobile-nav-icon.has-attention { border-color:#efb3ae; color:#d92d20; background:color-mix(in srgb, #fff 82%, #fff0ef); }
.app-table-wrap { width:100%; overflow:auto; -webkit-overflow-scrolling:touch; }

@media (max-width: 767px) {
    .app-header { overflow: visible; }
    .app-header-inner { align-items:center; gap:.85rem; }
    .app-header-actions { width:auto; margin-left:auto; gap:.55rem; }
    .app-brand-mark { height:2.6rem; width:2.6rem; border-radius:.9rem; }
    .app-page-title { font-size:1.65rem; }
    .app-main { padding-top:1.1rem !important; }
    .app-top-nav-item, .icon-button { width:3rem; height:3rem; border-radius:1.05rem; }
    .app-tooltip { display:none !important; }
    .app-global-search { padding:.85rem .95rem; }
    main select, main input, main textarea, main button { font-size:16px; }
    main .grid { min-width:0; }
    main [class*='grid-cols-'] { grid-template-columns: 1fr !important; }
    .app-dropdown-menu { position:fixed !important; left:1rem !important; right:1rem !important; top:5.6rem !important; min-width:0 !important; }
    .app-dropdown-link { padding:.85rem .95rem; }
    .app-table-wrap table { min-width:640px; }
}

@media (max-width: 480px) {
    .app-mobile-drawer { width:100vw; }
    .app-header-inner { padding-top:.1rem; }
    .app-kicker { font-size:.72rem; }
}



/* Buttons */
.app-btn,
.app-btn-outline,
.app-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    border-radius: 1rem;
    padding: .78rem 1.15rem;
    font-weight: 700;
    line-height: 1.1;
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease;
    text-decoration: none;
    border: 1px solid var(--app-border);
}
.app-btn:hover,
.app-btn-outline:hover,
.app-btn-primary:hover,
.app-btn:focus-visible,
.app-btn-outline:focus-visible,
.app-btn-primary:focus-visible {
    transform: translateY(-1px);
    outline: none;
}
.app-btn-outline {
    background: color-mix(in srgb, var(--app-surface-solid) 92%, transparent);
    color: var(--app-text) !important;
    border-color: var(--app-border);
}
.app-btn-outline:hover,
.app-btn-outline:focus-visible {
    background: color-mix(in srgb, var(--app-primary-soft) 68%, var(--app-surface-solid));
    border-color: color-mix(in srgb, var(--app-primary) 30%, var(--app-border));
    color: var(--app-primary-strong) !important;
}
.app-btn-primary {
    background: linear-gradient(135deg, var(--app-primary-strong), var(--app-primary));
    color: #ffffff !important;
    border-color: color-mix(in srgb, var(--app-primary) 70%, #0000);
    box-shadow: 0 12px 24px rgba(36, 71, 43, 0.18);
}
.app-btn-primary:hover,
.app-btn-primary:focus-visible {
    color: #ffffff !important;
    box-shadow: 0 16px 28px rgba(36, 71, 43, 0.24);
    filter: brightness(1.02);
}
.app-btn-primary svg,
.app-btn-primary i,
.app-btn-primary [data-lucide] {
    color: #ffffff !important;
    stroke: currentColor !important;
}
html.dark .app-btn-primary {
    background: linear-gradient(135deg, #a9d299, #87b777);
    color: #102013 !important;
    border-color: rgba(169, 210, 153, 0.55);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
}
html.dark .app-btn-primary:hover,
html.dark .app-btn-primary:focus-visible {
    color: #102013 !important;
}
html.dark .app-btn-primary svg,
html.dark .app-btn-primary i,
html.dark .app-btn-primary [data-lucide] {
    color: #102013 !important;
    stroke: currentColor !important;
}
.app-print-actions {
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
}
@media print {
    .app-no-print { display:none !important; }
    .app-print-shell { padding:0 !important; }
}

/* Icon visibility and dropdown state fixes */
.app-top-nav-item,
.icon-button,
.app-dropdown-link,
.app-mobile-nav-icon {
    color: var(--app-primary);
}

.app-top-nav-item svg,
.icon-button svg,
.app-dropdown-link svg,
.app-mobile-nav-icon svg,
.app-global-search svg {
    width: 1.25rem;
    height: 1.25rem;
    display: inline-block;
    flex-shrink: 0;
    stroke: currentColor !important;
    color: inherit !important;
    opacity: 1 !important;
}

.app-top-nav-item:hover,
.app-top-nav-item:focus-visible,
.app-top-nav-item.is-open,
.app-top-nav-item[aria-expanded="true"] {
    background: linear-gradient(135deg, var(--app-primary), color-mix(in srgb, var(--app-primary) 75%, var(--app-accent)));
    border-color: transparent;
    color: #fff !important;
    outline: none;
}

.app-top-nav-item.is-active,
.app-top-nav-item.is-active:hover,
.app-top-nav-item.is-active:focus-visible {
    color: #fff !important;
}

.app-top-nav-item:hover svg,
.app-top-nav-item:focus-visible svg,
.app-top-nav-item.is-open svg,
.app-top-nav-item[aria-expanded="true"] svg,
.app-top-nav-item.is-active svg,
.icon-button:hover svg,
.icon-button:focus-visible svg {
    stroke: currentColor !important;
    color: inherit !important;
}

.icon-button:hover,
.icon-button:focus-visible {
    color: var(--app-primary-strong);
    outline: none;
}

.app-dropdown-link {
    color: var(--app-text) !important;
}

.app-dropdown-link:hover,
.app-dropdown-link:focus-visible,
.app-dropdown-link.is-active {
    color: var(--app-primary-strong) !important;
    outline: none;
}

.app-mobile-nav-link,
.app-mobile-nav-link:visited {
    color: var(--app-text);
}

.app-mobile-nav-link:hover,
.app-mobile-nav-link:focus-visible,
.app-mobile-nav-link.is-active {
    color: var(--app-primary-strong);
    outline: none;
}

.app-mobile-nav-link:hover .app-mobile-nav-icon,
.app-mobile-nav-link:focus-visible .app-mobile-nav-icon,
.app-mobile-nav-link.is-active .app-mobile-nav-icon {
    background: color-mix(in srgb, var(--app-primary-soft) 72%, var(--app-surface-solid));
    border-color: color-mix(in srgb, var(--app-primary) 22%, var(--app-border));
}

/* FIX LOGIN BUTTON */
.app-btn-primary {
    background: #2f5d3a !important;
    color: #ffffff !important;
    border: 1px solid #2f5d3a !important;
}
.app-btn-primary svg {
    stroke: #ffffff !important;
}

/* Stronger login primary button */
.login-submit-btn {
    background: linear-gradient(135deg, #2f6b3f 0%, #245432 100%) !important;
    color: #ffffff !important;
    border: 1px solid #245432 !important;
    box-shadow: 0 12px 24px rgba(36, 84, 50, 0.20), inset 0 1px 0 rgba(255,255,255,0.10);
}
.login-submit-btn:hover,
.login-submit-btn:focus-visible {
    background: linear-gradient(135deg, #357847 0%, #295f38 100%) !important;
    color: #ffffff !important;
    border-color: #214c2d !important;
    box-shadow: 0 16px 28px rgba(36, 84, 50, 0.24), inset 0 1px 0 rgba(255,255,255,0.14);
}
.login-submit-btn span {
    color: #ffffff !important;
}
.login-submit-btn__icon {
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    color: #ffffff !important;
    stroke: currentColor !important;
}
html.dark .login-submit-btn {
    background: linear-gradient(135deg, #b8e58a 0%, #8fcf65 100%) !important;
    color: #17311d !important;
    border-color: #9fd973 !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255,255,255,0.18);
}
html.dark .login-submit-btn:hover,
html.dark .login-submit-btn:focus-visible {
    background: linear-gradient(135deg, #c4ee9b 0%, #9cda74 100%) !important;
    color: #102013 !important;
    border-color: #b2e489 !important;
}
html.dark .login-submit-btn span,
html.dark .login-submit-btn__icon {
    color: #17311d !important;
    stroke: currentColor !important;
}


/* Production UI reset + phase 2 polish */
.app-btn,.app-btn-outline,.app-btn-primary {
  min-height: 2.9rem;
  border-radius: 1rem;
  font-weight: 700;
  box-shadow: none;
}
.app-btn-outline {
  background: var(--app-surface-solid) !important;
  color: var(--app-primary-strong) !important;
  border: 1px solid color-mix(in srgb, var(--app-primary) 28%, var(--app-border)) !important;
}
.app-btn-outline:hover,
.app-btn-outline:focus-visible {
  background: color-mix(in srgb, var(--app-primary-soft) 62%, var(--app-surface-solid)) !important;
  color: var(--app-primary-strong) !important;
  border-color: color-mix(in srgb, var(--app-primary) 46%, var(--app-border)) !important;
}
.app-btn-primary {
  background: linear-gradient(135deg, var(--app-primary-strong), var(--app-primary)) !important;
  color: #fff !important;
  border: 1px solid color-mix(in srgb, var(--app-primary) 70%, #0000) !important;
  box-shadow: 0 10px 22px rgba(36,71,43,.16) !important;
}
.app-btn-primary:hover,
.app-btn-primary:focus-visible {
  background: linear-gradient(135deg, color-mix(in srgb, var(--app-primary-strong) 92%, #fff), color-mix(in srgb, var(--app-primary) 92%, #fff)) !important;
  color:#fff !important;
  box-shadow: 0 14px 28px rgba(36,71,43,.18) !important;
}
html.dark .app-btn-outline {
  background: color-mix(in srgb, var(--app-surface-solid) 96%, transparent) !important;
  color: var(--app-text) !important;
  border-color: color-mix(in srgb, var(--app-primary) 35%, var(--app-border)) !important;
}
html.dark .app-btn-outline:hover,
html.dark .app-btn-outline:focus-visible {
  background: color-mix(in srgb, var(--app-primary-soft) 88%, var(--app-surface-solid)) !important;
  color: var(--app-text) !important;
}
html.dark .app-btn-primary {
  background: linear-gradient(135deg, #7fb16e, #6ca05b) !important;
  color: #102013 !important;
  border-color: rgba(127,177,110,.55) !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.22) !important;
}
html.dark .app-btn-primary:hover,
html.dark .app-btn-primary:focus-visible {
  background: linear-gradient(135deg, #91c07f, #7aad68) !important;
  color: #102013 !important;
}
html.dark .app-btn-primary svg,
html.dark .app-btn-primary i,
html.dark .app-btn-primary [data-lucide],
.app-btn-primary svg,
.app-btn-primary i,
.app-btn-primary [data-lucide] {
  stroke: currentColor !important;
  color: inherit !important;
}
.app-top-nav-item,
.icon-button {
  background: var(--app-surface-solid) !important;
  color: var(--app-primary) !important;
  border: 1px solid var(--app-border) !important;
  box-shadow: var(--app-shadow-soft) !important;
}
.app-top-nav-item:hover,
.app-top-nav-item:focus-visible,
.app-top-nav-item.is-open,
.app-top-nav-item[aria-expanded="true"] {
  background: color-mix(in srgb, var(--app-primary-soft) 82%, var(--app-surface-solid)) !important;
  color: var(--app-primary-strong) !important;
  border-color: color-mix(in srgb, var(--app-primary) 30%, var(--app-border)) !important;
}
.app-top-nav-item.is-active,
.app-top-nav-item.is-active:hover,
.app-top-nav-item.is-active:focus-visible {
  background: linear-gradient(135deg, var(--app-primary), color-mix(in srgb, var(--app-primary) 70%, var(--app-accent))) !important;
  color: #fff !important;
  border-color: transparent !important;
}
html.dark .app-top-nav-item:hover,
html.dark .app-top-nav-item:focus-visible,
html.dark .app-top-nav-item.is-open,
html.dark .app-top-nav-item[aria-expanded="true"] {
  background: color-mix(in srgb, var(--app-primary-soft) 74%, var(--app-surface-solid)) !important;
  color: var(--app-text) !important;
}
.app-dropdown-menu {
  background: var(--app-surface-solid) !important;
  border-color: var(--app-border) !important;
}
.app-dropdown-link:hover,
.app-dropdown-link:focus-visible,
.app-dropdown-link.is-active {
  background: color-mix(in srgb, var(--app-primary-soft) 72%, var(--app-surface-solid)) !important;
  color: var(--app-primary-strong) !important;
}
.app-control,
select.app-control,
input.app-control,
textarea.app-control {
  width: 100%;
  border-radius: 1rem;
  border: 1px solid var(--app-border);
  background: var(--app-surface-solid);
  color: var(--app-text);
  padding: .85rem 1rem;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}
.app-control::placeholder { color: var(--app-muted); }
.app-control:focus {
  border-color: color-mix(in srgb, var(--app-primary) 42%, var(--app-border));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--app-primary-soft) 40%, transparent);
}
.app-soft-card {
  background: color-mix(in srgb, var(--app-surface-solid) 88%, transparent);
  border: 1px solid var(--app-border);
  border-radius: 1.6rem;
}
.app-result-card {
  background: color-mix(in srgb, var(--app-surface-solid) 93%, transparent);
  border: 1px dashed color-mix(in srgb, var(--app-primary) 18%, var(--app-border));
  border-radius: 1.6rem;
}
.app-camera-shell {
  background: color-mix(in srgb, var(--app-surface-solid) 88%, transparent) !important;
  border: 1px solid var(--app-border) !important;
}
#reader {
  background: #0d120d !important;
  border: 1px solid color-mix(in srgb, var(--app-primary) 24%, var(--app-border));
  min-height: 320px;
}
#reader video { border-radius: 1.35rem; }
#scanResult .app-btn-outline,
#scanResult .app-btn-primary { min-width: 9rem; }


/* Household autocomplete */
.app-global-search,[data-household-autocomplete-form]{position:relative;}
.app-search-suggest{position:absolute;left:0;right:0;top:calc(100% + .55rem);z-index:80;background:var(--app-surface-solid);border:1px solid var(--app-border);border-radius:1.25rem;box-shadow:var(--app-shadow-soft);padding:.45rem;max-height:22rem;overflow:auto;}
.app-search-suggest.hidden{display:none!important;}
.app-search-suggest-item{display:grid;grid-template-columns:auto 1fr auto;align-items:flex-start;gap:1rem;width:100%;text-align:left;padding:.85rem .95rem;border-radius:1rem;border:none;background:transparent;cursor:pointer;}.app-search-suggest-avatar{width:3rem;height:3rem;border-radius:1rem;object-fit:cover;border:1px solid var(--app-border);background:#e8ece4;}
.app-search-suggest-item:hover,.app-search-suggest-item.is-active{background:color-mix(in srgb,var(--app-primary-soft) 72%, var(--app-surface-solid));}
.app-search-suggest-title{font-weight:800;color:var(--app-primary-strong);}
.app-search-suggest-meta{display:block;margin-top:.2rem;font-size:.82rem;color:var(--app-muted);}
.app-search-suggest-code{font-size:.78rem;font-weight:800;color:var(--app-primary);white-space:nowrap;}
.app-search-suggest-empty{padding:.95rem 1rem;color:var(--app-muted);font-size:.9rem;}


/* Family showcase cards */
.app-family-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.app-family-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--app-border);background:var(--app-surface-solid);border-radius:1.6rem;box-shadow:var(--app-shadow-soft);min-height:100%;}
.app-family-card-media{padding:1rem 1rem 0;}
.app-family-card-photo{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:1.2rem;border:1px solid var(--app-border);background:#e8ece4;}
.app-family-card-body{display:flex;flex-direction:column;gap:.65rem;padding:1rem;flex:1;min-width:0;}
.app-family-card-topline{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;}
.app-family-card-brgy{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--app-muted);}
.app-family-card-score{display:inline-flex;align-items:center;justify-content:center;padding:.32rem .65rem;border-radius:999px;background:color-mix(in srgb,var(--app-accent-soft) 88%, white);color:#735b10;font-size:.74rem;font-weight:800;border:1px solid color-mix(in srgb,var(--app-accent) 22%, var(--app-border));}
.app-family-card-title{font-size:1.4rem;line-height:1.15;font-weight:900;color:var(--app-primary-strong);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.2rem;}
.app-family-card-meta{display:flex;flex-wrap:wrap;gap:.55rem .85rem;color:var(--app-muted);font-size:.92rem;}
.app-family-card-actions{margin-top:auto;display:flex;gap:.75rem;flex-wrap:wrap;}
.app-family-card-actions .app-btn-outline{flex:1;min-width:8.5rem;}
@media (max-width:640px){.app-family-card-title{font-size:1.18rem;min-height:auto}.app-family-card-actions .app-btn-outline{width:100%;}}

/* Geo dashboard */
.app-geo-map-shell{position:relative;border-radius:1.7rem;overflow:hidden;border:1px solid var(--app-border);background:linear-gradient(180deg,color-mix(in srgb,var(--app-primary-soft) 50%, white),color-mix(in srgb,var(--app-surface-solid) 88%, white));min-height:28rem;box-shadow:var(--app-shadow-soft);}
.app-geo-map{height:28rem;width:100%;}
.app-geo-map-note{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-radius:1rem;background:rgba(15,23,42,.76);color:#e2e8f0;backdrop-filter:blur(10px);font-size:.82rem;z-index:500;}
.app-geo-map-fallback{display:flex;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;color:var(--app-text);font-weight:700;background:radial-gradient(circle at top left, rgba(59,130,246,.15), transparent 40%),linear-gradient(180deg,#e2f4ea,#f8fafc);}
.app-geo-chip{display:inline-flex;align-items:center;justify-content:center;padding:.72rem 1rem;border-radius:999px;border:1px solid var(--app-border);background:var(--app-surface-solid);font-weight:800;font-size:.88rem;color:var(--app-primary-strong);transition:all .16s ease;}
.app-geo-chip:hover,.app-geo-chip.is-active{transform:translateY(-1px);background:color-mix(in srgb,var(--app-primary-soft) 72%, var(--app-surface-solid));border-color:color-mix(in srgb,var(--app-primary) 28%, var(--app-border));}
.app-geo-mini-card{border:1px solid var(--app-border);background:var(--app-surface-solid);border-radius:1.3rem;padding:1rem 1rem 1.05rem;min-width:0;}
.app-geo-mini-label{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--app-muted);font-weight:800;}
.app-geo-mini-value{margin-top:.35rem;font-size:1.7rem;line-height:1;font-weight:900;color:var(--app-primary-strong);}
.app-geo-mini-hint{margin-top:.3rem;color:var(--app-muted);font-size:.78rem;line-height:1.35;}
.app-geo-stat{border:1px solid var(--app-border);border-radius:1.2rem;padding:.85rem .95rem;background:color-mix(in srgb,var(--app-surface-solid) 90%, transparent);}
.app-geo-stat-label{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--app-muted);font-weight:800;}
.app-geo-stat-value{margin-top:.3rem;font-size:1.28rem;font-weight:900;color:var(--app-primary-strong);}
.app-geo-stat-hint{margin-top:.2rem;font-size:.75rem;color:var(--app-muted);}
.app-geo-watch-card{border:1px solid var(--app-border);border-radius:1.15rem;padding:1rem;background:color-mix(in srgb,var(--app-surface-solid) 92%, transparent);}
.app-geo-inline-pill{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .58rem;border-radius:999px;background:rgba(251,191,36,.18);color:#854d0e;border:1px solid rgba(234,179,8,.25);font-size:.72rem;font-weight:700;margin-right:.35rem;margin-bottom:.35rem;}
.app-geo-inline-pill.is-ok{background:rgba(34,197,94,.12);color:#166534;border-color:rgba(34,197,94,.2);}
.app-geo-open-link{display:inline-flex;align-items:center;gap:.45rem;font-weight:800;color:var(--app-primary);}
.app-geo-rank-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--app-border);border-radius:1.2rem;padding:.9rem 1rem;background:color-mix(in srgb,var(--app-surface-solid) 92%, transparent);transition:all .16s ease;}
.app-geo-rank-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--app-primary) 24%, var(--app-border));background:color-mix(in srgb,var(--app-primary-soft) 66%, var(--app-surface-solid));}
.app-geo-rank-num{width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--app-primary-soft) 85%, white);font-size:.86rem;font-weight:900;color:var(--app-primary-strong);}
.app-geo-rank-bar{width:5.6rem;height:.42rem;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden;margin-top:.4rem;}
.app-geo-rank-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#22c55e,#eab308,#f97316);}
.app-geo-popup{min-width:14rem;}
@media (max-width:900px){.app-geo-map-shell,.app-geo-map{min-height:23rem;height:23rem;}.app-geo-map-note{position:static;border-top:1px solid rgba(255,255,255,.08);border-radius:0;padding:.85rem 1rem;}.app-geo-rank-item{align-items:flex-start;}}
.app-geo-layer-note{display:inline-flex;align-items:center;gap:.45rem;color:#cbd5e1;font-size:.76rem;white-space:nowrap;}
.app-geo-route-card{border:1px solid var(--app-border);border-radius:1.2rem;padding:1rem;background:color-mix(in srgb,var(--app-surface-solid) 94%, transparent);}
.app-geo-route-stop{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.75rem;align-items:center;}
.app-geo-route-stop + .app-geo-route-stop{margin-top:.55rem;}
.app-geo-route-stop-num{width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--app-primary-soft) 85%, white);font-size:.82rem;font-weight:900;color:var(--app-primary-strong);}
.app-geo-household-marker{background:transparent !important;border:none !important;}
.app-geo-marker{width:18px;height:18px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.92);border:2px solid rgba(15,23,42,.16);box-shadow:0 8px 18px rgba(15,23,42,.18);}
.app-geo-marker-dot{width:8px;height:8px;border-radius:999px;display:block;}
.app-geo-report-shell{display:grid;gap:1.25rem;}
@media print{.app-geo-print-hide,.app-sidebar,.app-header,.app-nav-shell,.no-print{display:none !important;}.app-main-shell{padding:0 !important;}.app-geo-map-shell{break-inside:avoid;}.app-geo-route-card,.app-geo-watch-card,.app-geo-mini-card,.app-geo-stat{break-inside:avoid;}}



/* system-wide compact table cleanup */
.app-table-compact {
    width: 100%;
    table-layout: fixed;
}
.app-table-compact th,
.app-table-compact td {
    white-space: normal;
    word-break: break-word;
    vertical-align: top;
}
.app-table-compact th {
    font-size: .95rem;
    font-weight: 800;
    color: var(--app-primary-strong);
}
.app-table-compact td {
    font-size: .96rem;
}
.app-table-compact td:last-child,
.app-table-compact th:last-child {
    width: 7.75rem;
}
.app-household-table td:nth-child(1),
.app-household-table th:nth-child(1) {
    width: 46%;
}
.app-household-table td:nth-child(2),
.app-household-table th:nth-child(2) {
    width: 18%;
}
.app-household-table td:nth-child(3),
.app-household-table th:nth-child(3) {
    width: 14%;
}
.app-household-table td:nth-child(4),
.app-household-table th:nth-child(4) {
    width: 22%;
}
@media (max-width: 1200px) {
    .app-table-compact td:last-child,
    .app-table-compact th:last-child {
        width: 6.5rem;
    }
}


.app-kpi-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));}
@media (min-width: 768px){.app-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (min-width: 1280px){.app-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));}}
.app-kpi-card{background:#fff;border:1px solid #dbe3d3;border-radius:1.6rem;padding:1.25rem 1.35rem;box-shadow:0 1px 2px rgba(16,24,40,.04);min-height:148px;display:flex;flex-direction:column;justify-content:center;}
.app-kpi-label{font-size:1rem;color:#516154;font-weight:600;line-height:1.35;}
.app-kpi-value{margin-top:.55rem;font-size:2.2rem;font-weight:900;color:#1f5a34;line-height:1;}
.app-kpi-hint{margin-top:.55rem;font-size:.9rem;color:#6f7f72;line-height:1.4;}
.app-action-panel{background:#fff;border:1px solid #dbe3d3;border-radius:2rem;padding:1.5rem;box-shadow:0 1px 2px rgba(16,24,40,.04);}
.app-section-kicker{font-size:.95rem;color:#6f7f72;font-weight:600;}
.app-section-title{margin-top:.2rem;font-size:2.1rem;line-height:1.05;font-weight:900;color:#1f5a34;}
.app-section-subtitle{margin-top:.55rem;color:#657467;max-width:56rem;line-height:1.5;}
.app-action-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem;margin-top:1.25rem;}
@media (min-width: 768px){.app-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width: 1280px){.app-action-grid{grid-template-columns:repeat(5,minmax(0,1fr));}}
.app-action-card{border-radius:1.5rem;padding:1.2rem;border:1px solid #dbe3d3;display:flex;flex-direction:column;gap:.65rem;min-height:170px;transition:transform .15s ease, box-shadow .15s ease;text-decoration:none;}
.app-action-card:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(31,90,52,.08);}
.app-action-icon{width:3rem;height:3rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem;background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);}
.app-action-title{font-size:1.25rem;font-weight:800;color:#1c3f27;line-height:1.2;}
.app-action-text{font-size:.96rem;color:#516154;line-height:1.45;}
.app-action-card.tone-green{background:linear-gradient(180deg,#eef9f0 0%,#ffffff 100%);}
.app-action-card.tone-blue{background:linear-gradient(180deg,#eef6ff 0%,#ffffff 100%);}
.app-action-card.tone-amber{background:linear-gradient(180deg,#fff8ea 0%,#ffffff 100%);}
.app-action-card.tone-violet{background:linear-gradient(180deg,#f5f0ff 0%,#ffffff 100%);}
.app-action-card.tone-rose{background:linear-gradient(180deg,#fff0f3 0%,#ffffff 100%);}


.app-user-trigger{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.28);border-radius:999px;padding:4px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.08)}
.dark .app-user-trigger{background:#0f172a}
.app-user-avatar{height:42px;width:42px;border-radius:999px;object-fit:cover}
.app-profile-menu{min-width:280px;right:0;left:auto}
.app-profile-card{padding:14px}


/* Menu balance update */
.app-profile-menu{min-width:20rem}
.app-menu-section{padding-top:.2rem}
.app-menu-section + .app-menu-section{border-top:1px solid var(--app-border);padding-top:.9rem}
.app-menu-section-label{display:flex;align-items:center;gap:.55rem;margin:0 0 .4rem .2rem;font-size:.77rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--app-primary-strong)}
.app-menu-section-label i{color:var(--app-primary)}
.app-top-nav{gap:.6rem}
.app-top-nav-item{position:relative}
.app-top-nav-item .app-tooltip{bottom:-2rem}
@media (max-width: 900px){
  .app-profile-menu{min-width:0}
}

.app-mobile-nav-section-label{margin:.45rem .2rem .05rem;padding:.2rem .35rem;font-size:.74rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--app-primary-strong)}

.app-top-nav-item.has-attention:hover{background:color-mix(in srgb,#fff 68%, #ffe1dd);border-color:#de8a81}
.app-dropdown-link.has-attention .app-dropdown-meta,.app-mobile-nav-link.has-attention .app-mobile-nav-meta{color:#8b1e16;font-weight:700}

/* Global layout normalization pass */
.app-header-inner,
.app-header > .px-4,
.app-main {
  width: 100%;
  max-width: 1720px;
  margin-left: auto;
  margin-right: auto;
}

.app-main {
  padding-bottom: 2.5rem;
}

.app-main > .space-y-6,
.app-main > section,
.app-main > div,
.app-main > article {
  min-width: 0;
}

.app-main section,
.app-main article,
.app-main .page-card,
.app-main .app-action-panel,
.app-main .dashboard-stat,
.app-main .app-kpi-card,
.app-main .app-panel {
  border-radius: 1.5rem !important;
}

.app-main h1,
.app-main h2,
.app-main h3 {
  text-wrap: balance;
}

.app-main p,
.app-main li,
.app-main td,
.app-main th,
.app-main label,
.app-main input,
.app-main select,
.app-main textarea,
.app-main button {
  font-size: clamp(.92rem, .24vw + .86rem, 1rem);
}

.app-main .text-2xl,
.app-main .text-3xl,
.app-main .text-4xl,
.app-main .font-black.text-2xl,
.app-main .font-black.text-3xl {
  line-height: 1.12 !important;
}

.app-main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
.app-main select,
.app-main textarea {
  min-height: 3rem;
  border-radius: 1rem !important;
}

.app-main textarea {
  min-height: 7rem;
  resize: vertical;
}

.app-main input[type="file"] {
  min-height: 3rem;
  border-radius: 1rem !important;
}

.app-main button,
.app-main .app-btn,
.app-main .app-btn-primary,
.app-main .app-btn-outline,
.app-main a.app-btn,
.app-main a.app-btn-primary,
.app-main a.app-btn-outline {
  min-height: 2.9rem;
  padding-left: 1rem;
  padding-right: 1rem;
  border-radius: 1rem !important;
}

.app-main .grid,
.app-main [class*="grid-cols-"] {
  align-items: start;
}

.app-main .overflow-x-auto {
  border-radius: 1.25rem;
}

.app-main table {
  width: 100%;
  font-size: .95rem;
}

.app-main table th,
.app-main table td {
  padding: .85rem .9rem;
  vertical-align: top;
}

.app-main table thead th {
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.app-main details {
  overflow: hidden;
}

.app-main details > summary {
  list-style: none;
}

.app-main details > summary::-webkit-details-marker {
  display: none;
}

.app-main .app-kpi-grid {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 640px) {
  .app-main .app-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .app-main .app-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1400px) {
  .app-main .app-kpi-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

.app-kpi-card,
.dashboard-stat {
  min-height: 132px;
}

.app-action-grid {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .app-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .app-action-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1536px) {
  .app-action-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.app-action-card {
  min-height: 154px;
}

.app-section-title {
  font-size: clamp(1.55rem, 1vw + 1.2rem, 2.15rem);
}

.app-page-title {
  font-size: clamp(1.65rem, 1.2vw + 1.2rem, 2.2rem);
}

.app-main .md\:grid-cols-2,
.app-main .lg\:grid-cols-2,
.app-main .xl\:grid-cols-2 {
  gap: 1rem;
}

.app-main .xl\:grid-cols-3,
.app-main .lg\:grid-cols-3,
.app-main .md\:grid-cols-3 {
  gap: 1rem;
}

@media (min-width: 1280px) {
  .app-main .xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1536px) {
  .app-main .xl\:grid-cols-3 {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1fr);
  }
}

.app-main .gap-6 { gap: 1.25rem !important; }
.app-main .gap-5 { gap: 1rem !important; }
.app-main .gap-4 { gap: .9rem !important; }

.app-main .rounded-3xl,
.app-main .rounded-2xl,
.app-main .rounded-xl {
  overflow-wrap: anywhere;
}

.app-main .flex.flex-wrap.gap-3,
.app-main .flex.flex-wrap.gap-4,
.app-main .flex.flex-wrap.gap-2 {
  align-items: center;
}

.app-main .text-sm {
  line-height: 1.45;
}

.app-main .text-xs {
  line-height: 1.4;
}

@media (max-width: 1024px) {
  .app-main {
    padding-top: 1rem;
  }

  .app-main section,
  .app-main article,
  .app-main .page-card,
  .app-main .app-action-panel,
  .app-main .dashboard-stat,
  .app-main .app-kpi-card,
  .app-main .app-panel {
    border-radius: 1.25rem !important;
  }
}

@media (max-width: 767px) {
  .app-header-inner,
  .app-header > .px-4,
  .app-main {
    max-width: 100%;
  }

  .app-main {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    gap: 1rem !important;
  }

  .app-main table {
    min-width: 640px;
  }

  .app-main .app-kpi-card,
  .app-main .dashboard-stat,
  .app-main .app-action-card {
    min-height: auto;
  }

  .app-global-search {
    padding-top: .8rem;
    padding-bottom: .8rem;
  }
}


/* Wide-screen density improvements */
@media (min-width: 1280px) {
    .app-main { max-width: none; }
    .report-builder-shell label { min-height: 4.1rem; }
    .mayor-dashboard-hero .rounded-3xl { min-height: 8.5rem; }
}
@media (min-width: 1536px) {
    .app-main { padding-left: 2rem !important; padding-right: 2rem !important; }
}


/* System-wide density and branding workspace pass */
.branding-form-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 900px) {
  .branding-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1500px) {
  .branding-form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.app-main .rounded-\[2rem\],
.app-main .rounded-\[1\.75rem\],
.app-main .rounded-\[1\.5rem\] {
  overflow: hidden;
}
.app-main .app-settings-toolbar {
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:center;
  justify-content:space-between;
}
.app-main .app-inline-note {
  border:1px solid var(--app-border);
  background:var(--app-surface);
  border-radius:1rem;
  padding:.95rem 1rem;
}
@media (min-width: 1536px) {
  .app-main .xl\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .app-main .report-builder-shell label { min-height: 0; }
}

/* =========================================================
   HARVEST UI SYSTEM UPDATE v2
   Purpose: normalize spacing, readable type, dashboard cards,
   forms, tables, reports, login hero, mobile responsiveness,
   and modern website-like transitions across every module.
   ========================================================= */
:root {
  --ui-font-size: 15px;
  --ui-line-height: 1.55;
  --ui-radius-xs: .65rem;
  --ui-radius-sm: .9rem;
  --ui-radius-md: 1.15rem;
  --ui-radius-lg: 1.45rem;
  --ui-radius-xl: 1.9rem;
  --ui-gap-1: .5rem;
  --ui-gap-2: .75rem;
  --ui-gap-3: 1rem;
  --ui-gap-4: 1.35rem;
  --ui-gap-5: 1.75rem;
  --ui-page-x: clamp(1rem, 2vw, 2rem);
  --ui-page-y: clamp(1rem, 1.6vw, 1.6rem);
  --ui-card-pad: clamp(1rem, 1.6vw, 1.55rem);
  --ui-ease: cubic-bezier(.2,.7,.2,1);
  --ui-focus: 0 0 0 4px color-mix(in srgb, var(--app-primary) 18%, transparent);
  --ui-card-shadow: 0 16px 40px rgba(34,59,40,.08);
  --ui-card-shadow-hover: 0 22px 50px rgba(34,59,40,.13);
}

html { font-size: var(--ui-font-size); scroll-behavior: smooth; }
body {
  min-width: 320px;
  line-height: var(--ui-line-height);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
* { box-sizing: border-box; }
img, svg, video, canvas { max-width: 100%; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
::selection { background: color-mix(in srgb, var(--app-accent) 40%, transparent); color: var(--app-primary-strong); }

/* Global app shell like polished public websites: centered content, no wasted width */
.app-shell { min-height: 100vh; }
.app-main,
main.app-main,
main .container,
main > .container,
.app-content,
.page-content {
  width: 100% !important;
  max-width: 1500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.app-main { padding: var(--ui-page-y) var(--ui-page-x) 2rem !important; }
.app-main > * + * { margin-top: var(--ui-gap-4); }

/* Header / navbar: Facebook/YouTube-like usable density */
.app-header {
  position: sticky;
  top: 0;
  z-index: 60;
  min-height: 72px;
  box-shadow: 0 1px 0 color-mix(in srgb, var(--app-border) 70%, transparent), 0 12px 35px rgba(34,59,40,.045);
}
.app-header-inner {
  min-height: 72px;
  padding-block: .65rem !important;
  max-width: 1560px;
  margin-inline: auto;
}
.app-brand-mark { height: 2.75rem; width: 2.75rem; border-radius: .95rem; flex: 0 0 auto; }
.app-brand-title { font-size: clamp(1.1rem, 1.8vw, 1.35rem); letter-spacing: -.025em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 18rem; }
.app-brand-sub { font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 18rem; }
.app-header-actions { gap: .55rem; }
.app-top-nav { gap: .45rem; max-width: min(52vw, 720px); }
.app-top-nav-item, .icon-button {
  width: 2.65rem;
  height: 2.65rem;
  min-width: 2.65rem;
  border-radius: 999px;
  box-shadow: none;
}
.app-top-nav-item i, .icon-button i { width: 1.15rem !important; height: 1.15rem !important; }
.app-global-search {
  min-height: 2.8rem;
  padding: .68rem .95rem;
  box-shadow: none;
  transition: border-color .18s var(--ui-ease), box-shadow .18s var(--ui-ease), background .18s var(--ui-ease);
}
.app-global-search:focus-within { border-color: color-mix(in srgb, var(--app-primary) 45%, var(--app-border)); box-shadow: var(--ui-focus); }

/* Page titles and hero blocks */
.app-kicker, .text-xs.uppercase, .uppercase.tracking-\[0\.25em\] { letter-spacing: .14em !important; }
.app-page-title,
.page-card h1,
main h1 { font-size: clamp(1.55rem, 2.8vw, 2.35rem) !important; line-height: 1.12 !important; letter-spacing: -.035em; }
main h2 { font-size: clamp(1.25rem, 2.2vw, 1.75rem) !important; line-height: 1.18 !important; letter-spacing: -.025em; }
main h3 { font-size: clamp(1.05rem, 1.7vw, 1.25rem) !important; line-height: 1.25 !important; }
main p, main li, main td, main th, main input, main select, main textarea, main button { font-size: .95rem; }
main .text-sm { font-size: .88rem !important; }
main .text-xs { font-size: .76rem !important; }
.leading-6 { line-height: 1.55 !important; }
.leading-8 { line-height: 1.65 !important; }

/* Cards, panels, blocks: same visual system everywhere */
.page-card,
.app-panel,
.dashboard-stat,
.app-empty-state,
.app-action-card,
.app-kpi-card,
main section,
main .rounded-3xl,
main .rounded-\[2rem\],
main .rounded-\[1\.75rem\],
main .rounded-\[1\.5rem\] {
  border-radius: var(--ui-radius-lg) !important;
}
.page-card,
.app-panel,
.dashboard-stat,
.app-action-card,
.app-kpi-card,
main .rounded-3xl.border,
main .rounded-\[2rem\].border,
main .rounded-\[1\.75rem\].border,
main .rounded-\[1\.5rem\].border {
  border: 1px solid color-mix(in srgb, var(--app-border) 90%, transparent) !important;
  background: color-mix(in srgb, var(--app-surface-solid) 92%, transparent) !important;
  box-shadow: var(--ui-card-shadow) !important;
  transition: transform .18s var(--ui-ease), box-shadow .18s var(--ui-ease), border-color .18s var(--ui-ease), background .18s var(--ui-ease);
}
.page-card:hover,
.app-panel:hover,
.dashboard-stat:hover,
.app-action-card:hover,
.app-kpi-card:hover,
main a.rounded-3xl.border:hover,
main a.rounded-\[2rem\].border:hover {
  transform: translateY(-1px);
  box-shadow: var(--ui-card-shadow-hover) !important;
  border-color: color-mix(in srgb, var(--app-primary) 24%, var(--app-border)) !important;
}
.page-card-header { padding: clamp(1.1rem, 1.8vw, 1.65rem) !important; }
.page-card > div:not(.page-card-header), .app-panel, .dashboard-stat { padding: var(--ui-card-pad) !important; }

/* Dashboard grids normalize all module pages */
.app-main .grid { gap: clamp(.85rem, 1.4vw, 1.25rem) !important; }
.app-main .grid.grid-cols-1,
.app-main .grid.sm\:grid-cols-2,
.app-main .grid.md\:grid-cols-2,
.app-main .grid.lg\:grid-cols-3,
.app-main .grid.xl\:grid-cols-4 { align-items: stretch; }
.dashboard-stat { min-height: 128px; display: flex; align-items: stretch; }
.dashboard-stat > .flex { width: 100%; }
.dashboard-stat .label { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--app-muted); font-weight: 850; }
.dashboard-stat .value { font-size: clamp(1.7rem, 3vw, 2.35rem); line-height: 1; letter-spacing: -.04em; font-weight: 950; color: var(--app-primary-strong); }
.dashboard-stat .inline-flex.h-12 { width: 3rem !important; height: 3rem !important; border-radius: 1rem !important; }
html.dark .dashboard-stat .value { color: var(--app-text); }

/* Forms: readable, consistent heights, stronger focus */
main label { display: inline-block; margin-bottom: .45rem; font-size: .82rem !important; font-weight: 800 !important; color: var(--app-primary-strong) !important; }
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
.ui-input,
main .rounded-xl.border,
main .rounded-2xl.border input {
  min-height: 2.85rem;
}
input:not([type="checkbox"]):not([type="radio"]), select, textarea {
  border-radius: .95rem !important;
  border-color: var(--app-border) !important;
  background: var(--app-surface-solid) !important;
  color: var(--app-text) !important;
  transition: border-color .16s var(--ui-ease), box-shadow .16s var(--ui-ease), background .16s var(--ui-ease);
}
input:focus, select:focus, textarea:focus {
  outline: none !important;
  border-color: color-mix(in srgb, var(--app-primary) 50%, var(--app-border)) !important;
  box-shadow: var(--ui-focus) !important;
}
textarea { min-height: 7.5rem; resize: vertical; }
input::placeholder, textarea::placeholder { color: color-mix(in srgb, var(--app-muted) 72%, transparent) !important; }

/* Buttons and links */
.app-btn-primary,
.app-btn-outline,
main a[class*="bg-"],
main button[class*="bg-"],
main input[type="submit"],
main button[type="submit"],
main .inline-flex.items-center.rounded-xl,
main .inline-flex.items-center.rounded-2xl {
  min-height: 2.65rem;
  border-radius: .95rem !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
  transition: transform .16s var(--ui-ease), box-shadow .16s var(--ui-ease), background .16s var(--ui-ease), border-color .16s var(--ui-ease) !important;
}
.app-btn-primary,
main .bg-blue-600,
main .bg-sky-600,
main .bg-emerald-600,
main button[type="submit"] {
  background: linear-gradient(135deg, var(--app-primary), color-mix(in srgb, var(--app-primary) 82%, var(--app-accent))) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px color-mix(in srgb, var(--app-primary) 24%, transparent) !important;
}
.app-btn-outline,
main a:not(.app-nav-link):not(.app-mobile-nav-link):not(.app-top-nav-item):not(.app-dropdown-link) {
  text-underline-offset: 3px;
}
.app-btn-primary:hover,
main button[type="submit"]:hover,
main a[class*="bg-"]:hover,
main button[class*="bg-"]:hover { transform: translateY(-1px); filter: saturate(1.05); }
button:focus-visible, a:focus-visible { outline: none !important; box-shadow: var(--ui-focus) !important; }

/* Tables and reports: no clipped text, better mobile scroll */
.app-table-wrap,
main .overflow-x-auto {
  width: 100%;
  overflow-x: auto;
  border-radius: var(--ui-radius-md);
  border: 1px solid var(--app-border);
  background: var(--app-surface-solid);
  box-shadow: 0 10px 28px rgba(34,59,40,.055);
}
.app-table-wrap table,
main .overflow-x-auto table,
main table {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  min-width: 760px;
  font-size: .9rem;
}
main table th {
  position: sticky;
  top: 0;
  z-index: 1;
  font-size: .74rem !important;
  text-transform: uppercase;
  letter-spacing: .075em;
  color: var(--app-primary-strong) !important;
  font-weight: 900 !important;
  white-space: nowrap;
}
main table th, main table td { padding: .8rem .9rem !important; vertical-align: middle !important; }
main table td { color: var(--app-text) !important; overflow-wrap: anywhere; }
main table td .inline-flex, main table td a, main table td button { white-space: nowrap; }
main table tbody tr:last-child td { border-bottom: 0 !important; }
main table .has-inline-form form { display: inline-flex; margin: .15rem; }

/* Reports / print pages */
.report-card, .print-card, [data-report-card] { border-radius: var(--ui-radius-lg); padding: var(--ui-card-pad); }
@media print {
  html, body { background: #fff !important; color: #111827 !important; font-size: 12px; }
  .app-header, .app-top-nav, .app-mobile-nav-drawer, .app-mobile-nav-overlay, .no-print, button, .icon-button { display: none !important; }
  .app-main, main, main .container { max-width: none !important; padding: 0 !important; margin: 0 !important; }
  .page-card, .app-panel, main section, main .rounded-3xl { box-shadow: none !important; border: 1px solid #d1d5db !important; background: #fff !important; page-break-inside: avoid; }
  main table { min-width: 0 !important; font-size: 11px !important; }
  main table th, main table td { padding: 6px 7px !important; }
  a { color: #111827 !important; text-decoration: none !important; }
}

/* Login page: modern hero, better proportions */
body > .min-h-screen.grid { background:
  radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--app-accent) 24%, transparent), transparent 28rem),
  radial-gradient(circle at 88% 15%, color-mix(in srgb, var(--app-primary) 18%, transparent), transparent 26rem),
  linear-gradient(135deg, color-mix(in srgb, var(--app-bg) 92%, white), var(--app-bg));
}
body > .min-h-screen.grid h1 { font-size: clamp(2.4rem, 5vw, 4.8rem) !important; letter-spacing: -.06em; }
body > .min-h-screen.grid .max-w-lg { max-width: 31rem !important; }
body > .min-h-screen.grid .shadow-2xl { box-shadow: 0 28px 80px rgba(34,59,40,.18) !important; }
.login-submit-btn { justify-content: center; }
.login-submit-btn__icon { width: 1.15rem; height: 1.15rem; }

/* Navigation drawers */
.app-mobile-nav-drawer {
  border-top-left-radius: 1.35rem;
  border-bottom-left-radius: 1.35rem;
  box-shadow: -20px 0 60px rgba(0,0,0,.18);
}
.app-mobile-nav-link { min-height: 3.15rem; border-radius: 1rem; }
.app-mobile-nav-section-label { font-size: .7rem; letter-spacing: .12em; }
.app-dropdown-menu { border-radius: 1.1rem; box-shadow: 0 20px 55px rgba(34,59,40,.16); }
.app-dropdown-link { min-height: 2.75rem; }

/* Prevent unreadable clipped titles / blocks */
.app-main .truncate, main .truncate { min-width: 0; }
.app-main .whitespace-nowrap { max-width: 100%; }
.app-main [class*="line-clamp"], main p, main .text-slate-500, main .text-slate-600 { overflow-wrap: anywhere; }
.app-main .min-w-0 { min-width: 0 !important; }

/* Icons consistent size */
main [data-lucide] { stroke-width: 2.15; flex-shrink: 0; }
main .w-4.h-4 { width: 1rem !important; height: 1rem !important; }
main .w-5.h-5 { width: 1.15rem !important; height: 1.15rem !important; }
main .w-6.h-6 { width: 1.35rem !important; height: 1.35rem !important; }

/* Responsive rules */
@media (max-width: 1100px) {
  .app-top-nav { max-width: 42vw; }
  .app-brand-sub { display: none; }
}
@media (max-width: 900px) {
  html { font-size: 14.5px; }
  .app-header { min-height: auto; }
  .app-header-inner { min-height: 64px; }
  .app-top-nav { max-width: 100%; }
  .app-global-search { order: 20; width: 100%; }
  .app-header-actions { flex-wrap: wrap; }
  .app-main { padding-inline: 1rem !important; }
}
@media (max-width: 640px) {
  html { font-size: 14px; }
  .app-main { padding-inline: .8rem !important; padding-top: .85rem !important; }
  .page-card-header, .page-card > div:not(.page-card-header), .app-panel, .dashboard-stat { padding: 1rem !important; }
  main table th, main table td { padding: .7rem .75rem !important; }
  .app-brand-title { max-width: 11rem; }
  body > .min-h-screen.grid { display: block !important; }
}

/* JS-assisted polish */
.app-action-row { display: flex !important; flex-wrap: wrap !important; gap: .45rem !important; align-items: center !important; }
.app-form-polished { container-type: inline-size; }
.app-form-polished .grid { align-items: end; }
.app-ui-polished { will-change: transform; }
.app-report-mode .app-main { max-width: 1600px !important; }
.app-report-mode main table { min-width: 900px; }
@container (max-width: 520px) {
  .app-form-polished .grid { grid-template-columns: 1fr !important; }
}

/* HOSTINGER ROOT UI SHELL FIX
   The fallback CSS previously made .hidden !important. That blocked Tailwind responsive
   pairs like hidden sm:block and hidden md:flex, so the header brand, search bar, and nav stayed hidden.
   These rules restore Tailwind responsive behavior without breaking dropdowns/drawers. */
@media (min-width: 640px) {
  .hidden.sm\:block { display: block !important; }
  .hidden.sm\:flex { display: flex !important; }
  .hidden.sm\:inline-flex { display: inline-flex !important; }
  .hidden.sm\:grid { display: grid !important; }
}
@media (min-width: 768px) {
  .hidden.md\:block { display: block !important; }
  .hidden.md\:flex { display: flex !important; }
  .hidden.md\:inline-flex { display: inline-flex !important; }
  .hidden.md\:grid { display: grid !important; }
  .md\:hidden { display: none !important; }
}
@media (min-width: 1024px) {
  .hidden.lg\:block { display: block !important; }
  .hidden.lg\:flex { display: flex !important; }
  .hidden.lg\:inline-flex { display: inline-flex !important; }
  .hidden.lg\:grid { display: grid !important; }
  .lg\:hidden { display: none !important; }
}
@media (min-width: 1280px) {
  .hidden.xl\:block { display: block !important; }
  .hidden.xl\:flex { display: flex !important; }
  .hidden.xl\:inline-flex { display: inline-flex !important; }
  .hidden.xl\:grid { display: grid !important; }
}
html.dark .hidden.dark\:block { display: block !important; }
html.dark .hidden.dark\:flex { display: flex !important; }
html.dark .hidden.dark\:inline-flex { display: inline-flex !important; }
html.dark .dark\:hidden { display: none !important; }

/* Strong desktop header recovery for all logged-in pages. */
@media (min-width: 768px) {
  .app-header .app-global-search.hidden.md\:flex,
  .app-header .app-top-nav.hidden.md\:flex { display: flex !important; }
  .app-header .app-mobile-quicknav.md\:hidden { display: none !important; }
}
@media (min-width: 640px) {
  .app-header .hidden.sm\:block { display: block !important; }
}

/* Keep menus and overlays hidden until JS opens them. */
.app-dropdown-menu.hidden,
.app-mobile-overlay.hidden,
#mobileNavOverlay.hidden { display: none !important; }

/* =========================================================
   HARVEST FRONT-END MODERNIZATION PATCH
   Applies to Hostinger/root deployment. Keeps existing paths.
   Focus: modern density, cleaner header, readable cards, non-broken
   action buttons, visible password toggle, compact attention markers.
   ========================================================= */
:root {
  --modern-radius-xl: 1.15rem;
  --modern-radius-2xl: 1.35rem;
  --modern-radius-3xl: 1.65rem;
  --modern-shadow-card: 0 14px 38px rgba(39, 62, 43, .075);
  --modern-shadow-pop: 0 18px 50px rgba(31, 50, 35, .16);
  --modern-header-h: 76px;
}
html { scroll-behavior: smooth; }
body { font-size: 15.5px; letter-spacing: -.01em; }
body, input, select, textarea, button { -webkit-font-smoothing: antialiased; }

/* Header shell: compact, balanced, more app-like */
.app-header {
  position: sticky;
  top: 0;
  isolation: isolate;
  background: color-mix(in srgb, var(--app-surface-solid) 82%, transparent) !important;
  box-shadow: 0 1px 0 var(--app-border), 0 14px 34px rgba(27, 45, 31, .045);
}
.app-header-inner {
  min-height: var(--modern-header-h);
  display: grid !important;
  grid-template-columns: minmax(210px, .72fr) minmax(280px, 560px) minmax(320px, 1fr);
  align-items: center !important;
  gap: clamp(.75rem, 1.3vw, 1.5rem) !important;
  padding-top: .7rem !important;
  padding-bottom: .7rem !important;
}
.app-brand-mark { height: 2.75rem !important; width: 2.75rem !important; border-radius: .95rem !important; }
.app-brand-title { font-size: clamp(1.05rem, 1.1vw, 1.35rem) !important; letter-spacing: -.035em; }
.app-global-search {
  width: 100% !important;
  max-width: 560px;
  justify-self: center;
  min-height: 3.15rem;
  padding: .74rem 1rem !important;
  border-radius: 1.25rem !important;
  background: color-mix(in srgb, var(--app-surface-solid) 92%, white 8%) !important;
}
.app-global-search input { font-size: .98rem; }
.app-header-actions { justify-self: end; flex-wrap: nowrap !important; gap: .45rem !important; }
.app-top-nav { gap: .42rem !important; overflow: visible !important; }
.app-top-nav-item, .icon-button, .app-user-trigger {
  width: 2.72rem !important;
  height: 2.72rem !important;
  min-width: 2.72rem !important;
  border-radius: 1rem !important;
  box-shadow: 0 8px 22px rgba(31, 56, 36, .055) !important;
}
.app-top-nav-item svg, .icon-button svg { width: 1.18rem !important; height: 1.18rem !important; stroke-width: 2.2; }
.app-user-trigger { padding: 3px !important; background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--app-primary-soft) 40%, #fff)) !important; }
.app-user-avatar { width: 2.18rem !important; height: 2.18rem !important; }
.app-top-nav-item.has-attention:not(.is-active) {
  border-color: color-mix(in srgb, #d92d20 24%, var(--app-border)) !important;
  background: color-mix(in srgb, #fff 88%, #ffe7e4) !important;
}
.app-top-nav-badge {
  top: -.16rem !important;
  right: -.12rem !important;
  min-width: .96rem !important;
  height: .96rem !important;
  padding: 0 .25rem !important;
  font-size: .59rem !important;
  line-height: .96rem !important;
  border-width: 2px !important;
}
.app-top-nav-badge-attention {
  box-shadow: 0 0 0 2px rgba(217,45,32,.12) !important;
}
.app-tooltip {
  bottom: -1.85rem !important;
  font-size: .68rem !important;
  padding: .22rem .42rem !important;
  z-index: 90;
}
.app-dropdown-menu {
  border-radius: 1.15rem !important;
  min-width: 17.75rem !important;
  padding: .55rem !important;
  box-shadow: var(--modern-shadow-pop) !important;
}
.app-dropdown-heading {
  display:flex; align-items:center; gap:.55rem;
  padding:.65rem .75rem .6rem;
  border-bottom:1px solid var(--app-border);
  margin-bottom:.35rem;
  font-size:.78rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase;
  color:var(--app-primary-strong);
}
.app-dropdown-link {
  min-height: 2.85rem;
  border-radius: .9rem !important;
  padding: .68rem .78rem !important;
  font-size: .95rem;
  white-space: nowrap;
}
.app-dropdown-title { white-space: nowrap; }
.app-inline-badge { min-width: 1.05rem !important; height: 1.05rem !important; font-size: .62rem !important; padding:0 .28rem !important; }

/* Page density and modern readable cards */
.app-main {
  padding-top: 1.2rem !important;
  padding-bottom: 2rem !important;
  background:
    radial-gradient(circle at 15% 8%, rgba(229, 244, 216, .72), transparent 34rem),
    radial-gradient(circle at 90% 10%, rgba(242, 229, 169, .38), transparent 30rem);
}
.app-main > section,
.app-main > div > section,
.app-main section.rounded-\[2rem\],
.app-main .rounded-\[2rem\],
.app-main .rounded-3xl,
.app-main .app-panel,
.app-main .page-card,
.app-main .dashboard-stat,
.app-main .app-kpi-card,
.app-main .app-action-panel {
  border-radius: var(--modern-radius-3xl) !important;
  box-shadow: var(--modern-shadow-card) !important;
}
.app-main section, .app-main .rounded-\[2rem\], .app-main .rounded-3xl {
  overflow: visible;
}
.app-main .p-6 { padding: clamp(1rem, .85vw + .8rem, 1.45rem) !important; }
.app-main .p-5 { padding: clamp(.95rem, .65vw + .75rem, 1.25rem) !important; }
.app-main .p-4 { padding: .95rem !important; }
.app-main h1, .app-main h2, .app-main h3,
.app-page-title, .app-section-title {
  letter-spacing: -.045em;
  line-height: 1.06 !important;
}
.app-main h1, .app-main .text-4xl { font-size: clamp(1.75rem, 1.7vw + 1rem, 2.75rem) !important; }
.app-main h2, .app-main .text-3xl { font-size: clamp(1.35rem, 1vw + .95rem, 2rem) !important; }
.app-main h3, .app-main .text-2xl { font-size: clamp(1.12rem, .72vw + .82rem, 1.55rem) !important; }
.app-main .text-lg { font-size: clamp(.98rem, .25vw + .88rem, 1.1rem) !important; }
.app-main .text-sm { font-size: .9rem !important; }
.app-main .text-xs { font-size: .76rem !important; }
.app-main .text-3xl.font-black:not(h1):not(h2),
.app-main .dashboard-stat .font-black,
.app-main .app-kpi-value {
  font-size: clamp(1.85rem, 1.6vw + 1.05rem, 2.6rem) !important;
}

/* Forms and buttons: no vertical chopped text */
.app-main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.app-main select,
.app-main textarea {
  border-radius: 1.05rem !important;
  min-height: 3.05rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
}
.app-main input[type="file"] { padding: .55rem .85rem !important; }
.app-btn-primary, .app-btn-outline,
.app-main button, .app-main a[class*="app-btn"],
.login-submit-btn, .auth-page button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .48rem !important;
  white-space: nowrap !important;
  word-break: normal !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  line-height: 1.1 !important;
  min-width: max-content;
}
.app-main form { min-width: 0; }
.app-main form > button,
.app-main form .app-btn-outline,
.app-main form .app-btn-primary { white-space: nowrap !important; }
button.app-btn-outline, a.app-btn-outline {
  border: 1px solid color-mix(in srgb, var(--app-primary) 28%, var(--app-border)) !important;
  background: color-mix(in srgb, var(--app-surface-solid) 94%, var(--app-primary-soft)) !important;
}
button.app-btn-outline:hover, a.app-btn-outline:hover { background: var(--app-primary) !important; color: white !important; }
button[name="decision"][value="Rejected"],
button[data-danger],
form[onsubmit*="Delete"] button,
form[onsubmit*="delete"] button {
  border-color: #f0b5ae !important;
  background: #fff6f4 !important;
  color: #a53c32 !important;
}
button[name="decision"][value="Rejected"]:hover,
button[data-danger]:hover,
form[onsubmit*="Delete"] button:hover,
form[onsubmit*="delete"] button:hover {
  background: #d92d20 !important;
  color: #fff !important;
}

/* User cards / account cards responsive action layout */
.system-users-list .user-card,
.system-users-list > div,
section:has(h2) .rounded-3xl.flex {
  min-width: 0;
}
.system-users-list .user-card-actions,
.system-users-list .flex.gap-2.flex-wrap,
section:has(h2) .rounded-3xl.flex > .flex.gap-2.flex-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: .55rem !important;
  flex-wrap: wrap !important;
  min-width: 12rem;
}
.system-users-list .user-card-actions form { display:inline-flex; margin:0; }
.system-users-list .user-card-actions button,
.system-users-list .user-card-actions a,
section:has(h2) .rounded-3xl.flex > .flex.gap-2.flex-wrap button,
section:has(h2) .rounded-3xl.flex > .flex.gap-2.flex-wrap a {
  min-height: 2.72rem !important;
  padding: .7rem .95rem !important;
  font-size: .92rem !important;
  border-radius: .95rem !important;
}

/* Auth/login page polish */
.auth-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,239,184,.72), transparent 34rem),
    radial-gradient(circle at 85% 30%, rgba(214,228,207,.92), transparent 35rem),
    linear-gradient(135deg, #fff8df 0%, #f6f7ef 46%, #e9f0e4 100%);
}
.auth-layout { min-height: 100vh; }
.auth-hero-card { max-width: 40rem; }
.auth-hero-title,
.auth-layout h1.text-5xl {
  font-size: clamp(2.4rem, 4.6vw, 4.35rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -.065em;
  max-width: 10ch;
}
.auth-layout .text-lg { font-size: clamp(1rem, .55vw + .82rem, 1.15rem) !important; line-height: 1.68 !important; }
.auth-card,
.auth-layout .rounded-\[2rem\] {
  max-width: 30rem !important;
  border-radius: 1.65rem !important;
  box-shadow: 0 28px 80px rgba(34, 52, 38, .14) !important;
}
.auth-card h2, .auth-layout h2.text-3xl { font-size: clamp(1.75rem, 1.5vw + 1.1rem, 2.35rem) !important; line-height: 1.03 !important; }
.auth-card input { min-height: 3.35rem !important; border-radius: 1rem !important; }
.auth-card .login-submit-btn { min-height: 3.35rem !important; border-radius: 1rem !important; box-shadow: 0 12px 26px rgba(39, 98, 55, .18) !important; }
.auth-access-row { align-items: center !important; }
.auth-access-note { max-width: 18rem; }
.auth-password-wrap { position: relative; }
.password-toggle-button,
.app-password-toggle-auto {
  position: absolute !important;
  top: 50% !important;
  right: .55rem !important;
  transform: translateY(-50%) !important;
  height: 2.35rem !important;
  min-width: 2.35rem !important;
  border-radius: .8rem !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: #203148 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .25rem !important;
  padding: 0 .55rem !important;
  z-index: 3;
}
.password-toggle-button:hover,
.password-toggle-button[aria-pressed="true"],
.app-password-toggle-auto:hover,
.app-password-toggle-auto[aria-pressed="true"] {
  background: color-mix(in srgb, var(--app-primary-soft) 70%, #fff) !important;
  border-color: color-mix(in srgb, var(--app-primary) 22%, var(--app-border)) !important;
}
.password-toggle-button svg,
.app-password-toggle-auto svg { width: 1.05rem !important; height: 1.05rem !important; }
.password-toggle-text { font-size: .72rem; font-weight: 800; color: var(--app-primary-strong); }
input.app-has-password-toggle { padding-right: 5.5rem !important; }
.auth-card input.app-has-password-toggle { padding-right: 5.8rem !important; }

/* Small, visible assistance/attention indicator */
.app-assist-chip,
.app-small-assist-chip {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
  min-height: 1.75rem;
  padding: .25rem .58rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, #d92d20 22%, var(--app-border));
  background: color-mix(in srgb, #fff 82%, #fff2ee);
  color: #913529;
  font-size: .76rem;
  font-weight: 850;
  white-space: nowrap;
}
.app-assist-chip .dot,
.app-small-assist-chip .dot { width:.45rem; height:.45rem; border-radius:999px; background:#d92d20; box-shadow:0 0 0 3px rgba(217,45,32,.13); }
.app-assist-muted { background: color-mix(in srgb, var(--app-primary-soft) 60%, #fff); color: var(--app-primary-strong); border-color: var(--app-border); }
.app-assist-muted .dot { background: var(--app-primary); box-shadow:0 0 0 3px color-mix(in srgb, var(--app-primary) 14%, transparent); }

/* Responsive header and mobile behavior */
@media (max-width: 1180px) {
  .app-header-inner { grid-template-columns: minmax(190px, .8fr) minmax(220px, 1fr) auto; }
  .app-brand-title { font-size: 1.05rem !important; }
  .app-top-nav-item, .icon-button, .app-user-trigger { width: 2.55rem !important; height: 2.55rem !important; min-width: 2.55rem !important; }
}
@media (max-width: 767px) {
  .app-header-inner { display:flex !important; min-height: auto; flex-wrap: wrap !important; }
  .app-header-actions { width:auto !important; margin-left:auto; }
  .app-mobile-quicknav { display:flex !important; gap:.4rem; }
  .app-global-search.mobile-only { border-radius: 1rem !important; min-height: 3rem; }
  .app-main { padding-left: .85rem !important; padding-right: .85rem !important; }
  .auth-layout { display:block !important; padding: 1rem; }
  .auth-layout > .hidden { display:none !important; }
  .auth-card, .auth-layout .rounded-\[2rem\] { margin: 1rem auto; }
}

/* Browser without :has support fallback is harmless; with support it cleans account cards. */
@supports selector(:has(*)) {
  .app-main section:has(.user-card) { overflow: visible !important; }
}
/* Assist chip responsive visibility */
.app-assist-chip-desktop{display:inline-flex!important;margin-right:.15rem;}
@media (max-width: 1180px){.app-assist-chip-desktop{display:none!important;}}


/* HARVEST UI RESPONSIVE POLISH v3
   Removes the large global assist chip, keeps meaningful count badges on menus,
   fixes filter/action overlap, and improves mobile responsiveness across pages. */
.app-assist-chip-desktop{display:none!important;visibility:hidden!important;}

.app-header{position:sticky;top:0;z-index:60;}
.app-header-inner{
  display:grid!important;
  grid-template-columns:minmax(170px,260px) minmax(240px,1fr) minmax(0,max-content)!important;
  align-items:center!important;
  gap:clamp(.55rem,1vw,1rem)!important;
  min-width:0!important;
}
.app-header-inner>*{min-width:0!important;}
.app-header-actions{justify-content:flex-end!important;gap:.48rem!important;min-width:0!important;}
.app-brand-title{font-size:clamp(1rem,.7vw + .75rem,1.32rem)!important;letter-spacing:-.035em;}
.app-brand-mark{width:2.75rem!important;height:2.75rem!important;border-radius:.95rem!important;flex:0 0 auto!important;}
.app-global-search:not(.mobile-only){width:min(42vw,44rem)!important;max-width:100%!important;min-height:3.1rem!important;padding:.72rem 1rem!important;}
.app-top-nav{gap:.45rem!important;flex:0 0 auto!important;overflow:visible!important;}
.app-top-nav-item,.icon-button,.app-user-trigger{width:2.62rem!important;height:2.62rem!important;min-width:2.62rem!important;border-radius:.95rem!important;}
.app-user-avatar{width:2.55rem!important;height:2.55rem!important;border-radius:.95rem!important;}
.app-top-nav-badge{
  top:-.16rem!important;right:-.12rem!important;min-width:1rem!important;height:1rem!important;
  padding:0 .25rem!important;font-size:.58rem!important;font-weight:900!important;border-width:2px!important;
}
.app-inline-badge{min-width:1.05rem!important;height:1.05rem!important;font-size:.6rem!important;line-height:1!important;}
.app-dropdown-menu{max-width:min(20rem,calc(100vw - 1rem))!important;overflow:auto!important;max-height:min(32rem,calc(100vh - 6rem))!important;}
.app-dropdown-link{white-space:normal!important;min-width:0!important;}
.app-dropdown-copy,.app-dropdown-title{min-width:0!important;overflow:hidden;text-overflow:ellipsis;}
.app-mobile-search-row{display:none!important;}

/* Filter bars: any page with many filters/actions becomes an auto-fit grid. */
.app-filter-shell{display:grid!important;grid-template-columns:1fr!important;gap:.85rem!important;align-items:start!important;width:100%!important;}
.app-filter-form,
.app-main form.app-filter-form,
.app-main form:has(select):has(button):has(input[name="q"]),
.app-main form:has(select):has(button):has(input[type="search"]){
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(10.75rem,1fr))!important;
  gap:.65rem!important;align-items:center!important;width:100%!important;min-width:0!important;flex:1 1 100%!important;
}
.app-filter-form input,.app-filter-form select,
.app-main form:has(select):has(button):has(input[name="q"]) input,
.app-main form:has(select):has(button):has(input[name="q"]) select{width:100%!important;min-width:0!important;}
.app-filter-form button,.app-filter-form .app-btn-outline{width:100%!important;min-width:0!important;}
.app-filter-actions{display:flex!important;gap:.55rem!important;flex-wrap:wrap!important;justify-content:flex-end!important;width:100%!important;min-width:0!important;}
.app-filter-actions>*{flex:0 1 auto!important;min-width:0!important;max-width:100%!important;}

/* Prevent classic overflow/chopped buttons in cards, users, tables, and forms. */
.app-main *{max-width:100%;}
.app-main .app-btn-outline,.app-main .app-btn-primary,.app-main button,.app-main a[class*="app-btn"]{
  min-width:0!important;max-width:100%!important;white-space:normal!important;text-align:center!important;
}
.app-action-row,.user-card-actions,.table-actions,.app-main td.has-inline-form{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:.5rem!important;flex-wrap:wrap!important;min-width:0!important;max-width:100%!important;
}
.app-action-row>*,.user-card-actions>*,.table-actions>*,.app-main td.has-inline-form>*{flex:0 1 auto!important;min-width:0!important;}
.system-users-list .user-card{overflow:hidden!important;min-width:0!important;}
.system-users-list .user-card>div{min-width:0!important;}
.system-users-list .user-card-actions{margin-left:auto!important;min-width:0!important;max-width:100%!important;}
.system-users-list .user-card-actions a,.system-users-list .user-card-actions button{padding:.72rem .92rem!important;font-size:.9rem!important;}
form[onsubmit*="Delete"] button,form[onsubmit*="delete"] button,button[data-danger]{white-space:nowrap!important;}

/* Tables become scrollable on tablet and stacked cards on phones. */
.app-table-wrap{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;border-radius:1.1rem;}
.app-responsive-table{min-width:720px;}

/* Reduce oversized hero/card typography so the system feels modern instead of poster-like. */
.auth-hero-title,.auth-layout h1.text-5xl{font-size:clamp(2rem,4vw,3.6rem)!important;max-width:12ch!important;}
.auth-card,.auth-layout .rounded-\[2rem\]{max-width:29rem!important;}
.auth-layout{gap:clamp(1.5rem,3vw,4rem)!important;}
.app-main .text-5xl{font-size:clamp(2rem,3.5vw,3.25rem)!important;}
.app-main .text-4xl{font-size:clamp(1.55rem,2.1vw,2.35rem)!important;}

@media (max-width:1320px){
  .app-header-inner{grid-template-columns:minmax(160px,235px) minmax(210px,1fr) max-content!important;}
  .app-global-search:not(.mobile-only){width:min(36vw,34rem)!important;}
  .app-top-nav-item,.icon-button,.app-user-trigger{width:2.48rem!important;height:2.48rem!important;min-width:2.48rem!important;}
}
@media (max-width:1140px){
  .app-header-inner{grid-template-columns:minmax(155px,1fr) max-content!important;}
  .app-global-search:not(.mobile-only){display:none!important;}
  .app-mobile-search-row{display:block!important;}
  .app-mobile-search-row .app-global-search{display:flex!important;}
  .app-brand-title{font-size:1.05rem!important;}
  .app-brand-mark{width:2.45rem!important;height:2.45rem!important;}
}
@media (max-width:767px){
  html,body{overflow-x:hidden!important;}
  .app-header-inner{display:grid!important;grid-template-columns:1fr auto!important;gap:.7rem!important;padding-top:.65rem!important;padding-bottom:.55rem!important;}
  .app-header-actions{gap:.35rem!important;}
  .app-top-nav{display:none!important;}
  .app-mobile-quicknav{display:flex!important;gap:.35rem!important;max-width:calc(100vw - 7.25rem);overflow-x:auto!important;scrollbar-width:none!important;}
  .app-mobile-quicknav::-webkit-scrollbar{display:none;}
  .app-top-nav-item,.icon-button,.app-user-trigger{width:2.38rem!important;height:2.38rem!important;min-width:2.38rem!important;border-radius:.85rem!important;}
  .app-user-avatar{width:2.34rem!important;height:2.34rem!important;}
  .app-mobile-search-row{display:block!important;padding-left:.85rem!important;padding-right:.85rem!important;padding-bottom:.65rem!important;}
  .app-global-search.mobile-only{display:flex!important;width:100%!important;min-height:2.9rem!important;border-radius:1rem!important;padding:.65rem .85rem!important;}
  .app-main{padding-left:.8rem!important;padding-right:.8rem!important;padding-top:.95rem!important;gap:.9rem!important;}
  .app-main .grid,.app-main [class*="grid-cols-"]{grid-template-columns:1fr!important;}
  .app-main .rounded-\[2rem\],.app-main .rounded-3xl,.app-main section{border-radius:1.25rem!important;}
  .app-filter-form,.app-main form.app-filter-form{grid-template-columns:1fr!important;}
  .app-filter-actions{justify-content:stretch!important;}
  .app-filter-actions>*{width:100%!important;justify-content:center!important;}
  .system-users-list .user-card{display:grid!important;grid-template-columns:1fr!important;gap:.9rem!important;}
  .system-users-list .user-card-actions{justify-content:stretch!important;margin-left:0!important;}
  .system-users-list .user-card-actions>*{flex:1 1 8rem!important;}
  .auth-layout{display:block!important;padding:1rem!important;}
  .auth-layout>div{width:100%!important;}
  .auth-layout .hidden{display:none!important;}
  .auth-card,.auth-layout .rounded-\[2rem\]{margin:1rem auto!important;width:100%!important;max-width:100%!important;}
  .auth-card h2,.auth-layout h2.text-3xl{font-size:1.65rem!important;}
  .app-responsive-table{min-width:0!important;width:100%!important;}
  .app-responsive-table thead{display:none!important;}
  .app-responsive-table tr{display:block!important;border:1px solid var(--app-border)!important;border-radius:1rem!important;margin:.75rem 0!important;padding:.55rem!important;background:var(--app-surface-solid)!important;}
  .app-responsive-table td{display:flex!important;justify-content:space-between!important;gap:1rem!important;border:0!important;padding:.55rem .35rem!important;white-space:normal!important;}
  .app-responsive-table td::before{content:attr(data-label);font-weight:800;color:var(--app-primary-strong);max-width:45%;}
}
@media (max-width:430px){
  .app-brand-title{font-size:.95rem!important;}
  .app-header-actions{gap:.25rem!important;}
  .app-top-nav-item,.icon-button,.app-user-trigger{width:2.2rem!important;height:2.2rem!important;min-width:2.2rem!important;}
  .app-mobile-quicknav{max-width:calc(100vw - 6.4rem);}
  .app-main .p-6,.app-main .p-5,.app-main .p-4{padding:.9rem!important;}
}

/* HARVEST FINAL UI CLEANUP v4
   Global compact/responsive layout, no overlapping action text, clean badges/menus. */
:root {
  --app-radius-sm: .85rem;
  --app-radius-md: 1.05rem;
  --app-radius-lg: 1.35rem;
}

/* Header: compact, stable, modern */
.app-header {
  backdrop-filter: blur(18px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(150%) !important;
  background: color-mix(in srgb, var(--app-bg, #fffdf7) 88%, #ffffff) !important;
  z-index: 80 !important;
}
.app-header-inner {
  grid-template-columns: minmax(150px, 260px) minmax(220px, 1fr) max-content !important;
  gap: clamp(.45rem, .85vw, .85rem) !important;
  min-width: 0 !important;
}
.app-brand-title { font-size: clamp(.96rem, .52vw + .82rem, 1.18rem) !important; line-height: 1.05 !important; }
.app-brand-mark { width: 2.55rem !important; height: 2.55rem !important; min-width: 2.55rem !important; }
.app-global-search:not(.mobile-only) {
  width: min(100%, 39rem) !important;
  min-height: 2.95rem !important;
  border-radius: 1.2rem !important;
  padding: .62rem .9rem !important;
  margin-inline: auto !important;
}
.app-global-search input { min-width: 0 !important; font-size: .98rem !important; }
.app-header-actions { gap: .38rem !important; min-width: 0 !important; }
.app-top-nav { gap: .36rem !important; }
.app-top-nav-item,
.icon-button,
.app-user-trigger {
  width: 2.42rem !important;
  height: 2.42rem !important;
  min-width: 2.42rem !important;
  border-radius: .95rem !important;
}
.app-user-avatar { width: 2.38rem !important; height: 2.38rem !important; border-radius: .92rem !important; }
.app-top-nav-item svg,
.icon-button svg { width: 1.05rem !important; height: 1.05rem !important; }
.app-top-nav-badge,
.app-inline-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  border-radius: 999px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  pointer-events: none !important;
}
.app-top-nav-badge {
  top: -.18rem !important;
  right: -.12rem !important;
  min-width: .98rem !important;
  height: .98rem !important;
  padding: 0 .24rem !important;
  font-size: .56rem !important;
  border: 2px solid var(--app-surface-solid, #fffdf7) !important;
  box-shadow: 0 4px 12px rgba(180, 35, 24, .18) !important;
}
.app-inline-badge { min-width: 1rem !important; height: 1rem !important; padding: 0 .28rem !important; font-size: .58rem !important; }
.app-assist-chip-desktop,
.app-small-assist-chip[data-global-assist],
.app-main > .app-assist-chip,
.app-header .app-assist-chip:not(.app-inline-badge) { display: none !important; visibility: hidden !important; }

/* Dropdown menus: small, readable, never too wide */
.app-dropdown-menu {
  border-radius: 1.15rem !important;
  min-width: 14.5rem !important;
  max-width: min(19rem, calc(100vw - 1rem)) !important;
  max-height: min(34rem, calc(100vh - 6.5rem)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-shadow: 0 26px 70px rgba(24, 39, 28, .18) !important;
}
.app-dropdown-heading { font-size: .78rem !important; letter-spacing: .12em !important; }
.app-dropdown-link,
.app-mobile-nav-link {
  min-width: 0 !important;
  gap: .7rem !important;
  line-height: 1.2 !important;
}
.app-dropdown-copy,
.app-dropdown-title,
.app-mobile-nav-copy,
.app-mobile-nav-title {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.app-dropdown-link { padding: .72rem .78rem !important; border-radius: .85rem !important; }

/* Main spacing and card scale */
.app-main { max-width: 100vw !important; overflow-x: hidden !important; }
.app-main section,
.app-main .rounded-3xl,
.app-main .rounded-\[2rem\] {
  max-width: 100% !important;
  min-width: 0 !important;
}
.app-main .rounded-\[2rem\],
.app-main .rounded-3xl { border-radius: 1.35rem !important; }
.app-main h1,
.app-main h2,
.app-main h3 { overflow-wrap: anywhere !important; }
.app-main .text-5xl { font-size: clamp(1.8rem, 3vw, 3rem) !important; }
.app-main .text-4xl { font-size: clamp(1.45rem, 2vw, 2.2rem) !important; }
.app-main .text-3xl { font-size: clamp(1.25rem, 1.35vw, 1.85rem) !important; }
.app-main .text-2xl { font-size: clamp(1.1rem, 1vw, 1.45rem) !important; }

/* Buttons: compact, allow sane wrapping, no vertical one-letter buttons */
.app-btn-primary,
.app-btn-outline,
button.app-btn-primary,
button.app-btn-outline,
a.app-btn-primary,
a.app-btn-outline {
  min-height: 2.55rem !important;
  padding: .62rem .95rem !important;
  border-radius: .95rem !important;
  font-size: .92rem !important;
  line-height: 1.15 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .45rem !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  max-width: 100% !important;
}
.app-btn-primary svg,
.app-btn-outline svg { width: 1rem !important; height: 1rem !important; flex: 0 0 auto !important; }
button[data-danger="true"],
.app-danger-button,
.app-dropdown-danger { color: #b42318 !important; border-color: color-mix(in srgb, #d92d20 32%, var(--app-border)) !important; }

/* Forms and filter bars: fit, wrap, and stay readable */
.app-filter-shell { display: grid !important; gap: .8rem !important; width: 100% !important; }
.app-filter-form,
.app-main form.app-filter-form,
.app-main form:has(select):has(button):has(input[name="q"]),
.app-main form:has(select):has(button):has(input[type="search"]),
.app-main form:has(select):has(button):has(input[placeholder*="Search"]),
.app-main form:has(select):has(button):has(input[placeholder*="search"]) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)) !important;
  gap: .58rem !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
}
.app-filter-form > *,
.app-filter-shell > *,
.app-main form.app-filter-form > * { min-width: 0 !important; max-width: 100% !important; }
.app-filter-form input,
.app-filter-form select,
.app-filter-form textarea,
.app-main form.app-filter-form input,
.app-main form.app-filter-form select,
.app-main form.app-filter-form textarea {
  width: 100% !important;
  min-width: 0 !important;
}
.app-filter-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .55rem !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  min-width: 0 !important;
}
.app-filter-actions > * { flex: 0 1 auto !important; min-width: 0 !important; }
input, select, textarea { max-width: 100% !important; }

/* Account and card action dropdowns */
.system-users-list,
.system-users-list .user-card,
.app-card-action-menu,
.app-smart-action-menu,
.app-main section:has(.app-card-action-menu),
.app-main section:has(.app-smart-action-menu) { overflow: visible !important; }
.system-users-list .user-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: .9rem !important;
}
.system-users-list .user-card > * { min-width: 0 !important; }
.user-card-actions.app-card-action-menu,
.app-card-action-menu,
.app-smart-action-menu {
  position: relative !important;
  display: inline-flex !important;
  justify-self: end !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  z-index: 5 !important;
}
.app-action-menu-trigger,
.app-smart-action-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .42rem !important;
  min-height: 2.38rem !important;
  padding: .58rem .86rem !important;
  border-radius: 999px !important;
  border: 1px solid var(--app-border) !important;
  background: color-mix(in srgb, var(--app-surface-solid, #fffdf7) 96%, transparent) !important;
  color: var(--app-primary-strong) !important;
  font-size: .86rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: 0 10px 22px rgba(32, 67, 38, .08) !important;
}
.app-action-menu-trigger:hover,
.app-action-menu-trigger[aria-expanded="true"],
.app-smart-action-trigger:hover,
.app-smart-action-trigger[aria-expanded="true"] {
  background: var(--app-primary) !important;
  border-color: var(--app-primary) !important;
  color: #fff !important;
}
.app-card-action-menu .app-card-action-dropdown,
.app-smart-action-menu .app-smart-action-dropdown {
  position: absolute !important;
  top: calc(100% + .52rem) !important;
  right: 0 !important;
  left: auto !important;
  min-width: 13.5rem !important;
  max-width: min(17rem, calc(100vw - 2rem)) !important;
  z-index: 180 !important;
}
.app-dropdown-form { display: block !important; margin: 0 !important; padding: 0 !important; }
.app-dropdown-button,
.app-smart-action-dropdown button,
.app-smart-action-dropdown a,
.app-smart-action-dropdown form > button {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
  justify-content: flex-start !important;
  color: var(--app-text, #172033) !important;
  cursor: pointer !important;
  box-shadow: none !important;
  white-space: normal !important;
  border-radius: .85rem !important;
}
.app-dropdown-button:hover,
.app-dropdown-button:focus-visible,
.app-smart-action-dropdown button:hover,
.app-smart-action-dropdown a:hover,
.app-smart-action-dropdown form > button:hover {
  background: color-mix(in srgb, var(--app-primary-soft) 72%, var(--app-surface-solid)) !important;
  color: var(--app-primary-strong) !important;
}
.app-dropdown-danger:hover,
.app-dropdown-danger:focus-visible { background: #fff0ef !important; color: #b42318 !important; }
.app-dropdown-note {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  margin: .25rem !important;
  padding: .65rem .72rem !important;
  border-radius: .85rem !important;
  background: #fff6d8 !important;
  color: #735214 !important;
  font-weight: 900 !important;
  font-size: .82rem !important;
}

/* Generic action rows stay compact; if JS groups them, menu handles all actions. */
.app-action-row,
.table-actions,
.has-inline-form {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .42rem !important;
  align-items: center !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.app-action-row > *,
.table-actions > *,
.has-inline-form > * { flex: 0 1 auto !important; min-width: 0 !important; }

/* Tables and charts */
.app-table-wrap,
.table-responsive,
.overflow-x-auto { max-width: 100% !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
canvas, svg, img { max-width: 100%; }

/* File inputs */
input[type="file"] { font-size: .92rem !important; }
input[type="file"]::file-selector-button {
  border: 1px solid var(--app-border) !important;
  border-radius: .75rem !important;
  padding: .5rem .75rem !important;
  background: #fff !important;
  color: var(--app-text) !important;
  font-weight: 800 !important;
}

/* Tablet/mobile responsive design */
@media (max-width: 1260px) {
  .app-header-inner { grid-template-columns: minmax(140px, 220px) minmax(200px, 1fr) max-content !important; }
  .app-global-search:not(.mobile-only) { width: min(34vw, 31rem) !important; }
  .app-top-nav-item,
  .icon-button,
  .app-user-trigger { width: 2.28rem !important; height: 2.28rem !important; min-width: 2.28rem !important; }
  .app-brand-title { font-size: 1rem !important; }
}
@media (max-width: 1080px) {
  .app-header-inner { grid-template-columns: minmax(0, 1fr) max-content !important; }
  .app-global-search:not(.mobile-only) { display: none !important; }
  .app-mobile-search-row { display: block !important; }
  .app-mobile-search-row .app-global-search { display: flex !important; }
}
@media (max-width: 767px) {
  html, body { overflow-x: hidden !important; }
  .app-header-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: .7rem .85rem .55rem !important;
    gap: .55rem !important;
  }
  .app-brand-mark { width: 2.25rem !important; height: 2.25rem !important; min-width: 2.25rem !important; }
  .app-brand-title { font-size: .95rem !important; }
  .app-header-actions { gap: .28rem !important; }
  .app-top-nav { display: none !important; }
  .app-mobile-quicknav {
    display: flex !important;
    gap: .28rem !important;
    max-width: calc(100vw - 7rem) !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }
  .app-mobile-quicknav::-webkit-scrollbar { display: none !important; }
  .app-top-nav-item,
  .icon-button,
  .app-user-trigger { width: 2.16rem !important; height: 2.16rem !important; min-width: 2.16rem !important; border-radius: .78rem !important; }
  .app-user-avatar { width: 2.14rem !important; height: 2.14rem !important; border-radius: .76rem !important; }
  .app-mobile-search-row { padding: 0 .85rem .65rem !important; }
  .app-global-search.mobile-only { width: 100% !important; min-height: 2.72rem !important; border-radius: .95rem !important; padding: .55rem .75rem !important; }
  .app-main { padding: .85rem !important; gap: .9rem !important; }
  .app-main .grid,
  .app-main [class*="grid-cols-"] { grid-template-columns: 1fr !important; }
  .app-main .p-8,
  .app-main .p-7,
  .app-main .p-6 { padding: 1rem !important; }
  .app-main .p-5,
  .app-main .p-4 { padding: .9rem !important; }
  .app-main .rounded-\[2rem\],
  .app-main .rounded-3xl,
  .app-main section { border-radius: 1.08rem !important; }
  .app-btn-primary,
  .app-btn-outline,
  button.app-btn-primary,
  button.app-btn-outline,
  a.app-btn-primary,
  a.app-btn-outline { width: auto !important; min-height: 2.45rem !important; padding: .58rem .8rem !important; font-size: .86rem !important; }
  .app-filter-form,
  .app-main form.app-filter-form { grid-template-columns: 1fr !important; }
  .app-filter-actions { justify-content: stretch !important; }
  .app-filter-actions > *,
  .app-filter-actions .app-btn-outline,
  .app-filter-actions .app-btn-primary { width: 100% !important; justify-content: center !important; }
  .system-users-list .user-card { grid-template-columns: 1fr !important; align-items: stretch !important; }
  .user-card-actions.app-card-action-menu,
  .app-card-action-menu,
  .app-smart-action-menu { width: 100% !important; max-width: 100% !important; justify-self: stretch !important; }
  .app-action-menu-trigger,
  .app-smart-action-trigger { width: 100% !important; min-height: 2.52rem !important; }
  .app-card-action-menu .app-card-action-dropdown,
  .app-smart-action-menu .app-smart-action-dropdown {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .app-responsive-table { min-width: 0 !important; width: 100% !important; }
  .app-responsive-table thead { display: none !important; }
  .app-responsive-table tr { display: block !important; border: 1px solid var(--app-border) !important; border-radius: 1rem !important; margin: .7rem 0 !important; padding: .55rem !important; background: var(--app-surface-solid) !important; }
  .app-responsive-table td { display: flex !important; justify-content: space-between !important; gap: .75rem !important; border: 0 !important; padding: .52rem .3rem !important; white-space: normal !important; }
  .app-responsive-table td::before { content: attr(data-label); font-weight: 900; color: var(--app-primary-strong); max-width: 46%; }
}
@media (max-width: 420px) {
  .app-brand-title { font-size: .88rem !important; }
  .app-brand-mark { width: 2.05rem !important; height: 2.05rem !important; min-width: 2.05rem !important; }
  .app-mobile-quicknav { max-width: calc(100vw - 6.1rem) !important; }
  .app-top-nav-item,
  .icon-button,
  .app-user-trigger { width: 2rem !important; height: 2rem !important; min-width: 2rem !important; }
  .app-main { padding-left: .65rem !important; padding-right: .65rem !important; }
}


/* HARVEST final compact action layout update */
.app-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:.85rem!important;align-items:stretch!important}.app-kpi-card{padding:1rem!important;border-radius:1.35rem!important;min-height:118px!important}.app-kpi-label{font-size:.88rem!important;line-height:1.25!important}.app-kpi-value{font-size:2.15rem!important;line-height:1!important;margin-top:.45rem!important}.app-kpi-hint{font-size:.82rem!important;line-height:1.35!important;margin-top:.45rem!important}.app-compact-section{padding:1.15rem!important}.app-compact-section h1,.app-compact-section h2,.app-compact-section h3{line-height:1.1!important}.app-compact-section h1{font-size:1.65rem!important}.app-compact-section h2{font-size:1.35rem!important}.app-compact-section h3{font-size:1.15rem!important}.app-compact-section table th,.app-compact-section table td{padding:.65rem .8rem!important}.app-compact-form{gap:.7rem!important}.app-input-compact{width:100%;border:1px solid rgb(203 213 225);border-radius:1rem;padding:.75rem .95rem;background:rgba(255,255,255,.88);min-height:46px;font-size:.95rem}.dark .app-input-compact{background:rgb(15 23 42);border-color:rgb(51 65 85)}.app-inline-action-form{display:grid;grid-template-columns:minmax(170px,1.1fr) minmax(140px,.75fr) minmax(220px,2fr) auto;gap:.7rem;align-items:end}.app-grow{min-width:0}.app-btn-compact{min-height:44px!important;padding:.72rem 1rem!important;border-radius:1rem!important;font-size:.92rem!important}.app-btn-tiny{min-height:32px!important;padding:.42rem .7rem!important;border-radius:.8rem!important;font-size:.78rem!important}.app-clean-details{border:1px solid rgb(226 232 240);border-radius:1rem;padding:.65rem .8rem;background:rgba(248,250,252,.65)}.dark .app-clean-details{border-color:rgb(30 41 59);background:rgba(15,23,42,.65)}.app-details-summary{list-style:none;cursor:pointer;font-weight:800;color:rgb(20 83 45);display:flex;align-items:center;justify-content:space-between;gap:.8rem}.app-details-summary::-webkit-details-marker{display:none}.app-details-summary:after{content:'+';display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:999px;border:1px solid rgb(187 209 181);font-weight:900}.app-clean-details[open] .app-details-summary:after{content:'-'}
@media (min-width:1280px){.app-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}.app-kpi-card{min-height:112px!important}.app-kpi-value{font-size:2rem!important}}
@media (max-width:1024px){.app-inline-action-form{grid-template-columns:1fr 1fr}.app-inline-action-form .app-grow,.app-inline-action-form button{grid-column:1/-1}.app-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important}}
@media (max-width:640px){.app-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.65rem!important}.app-kpi-card{padding:.85rem!important;border-radius:1.1rem!important;min-height:98px!important}.app-kpi-label{font-size:.76rem!important}.app-kpi-value{font-size:1.7rem!important}.app-kpi-hint{font-size:.72rem!important}.app-inline-action-form{grid-template-columns:1fr}.app-compact-section{padding:.9rem!important}.app-input-compact{min-height:42px;padding:.65rem .8rem;font-size:.88rem}.app-btn-compact{width:100%}.household-view .grid{gap:.85rem!important}}

/* HARVEST household view hotfix: compact Golden HH actions and family form */
#golden-household{overflow:visible!important;}
#golden-household .app-action-note{line-height:1.35!important;margin-top:.55rem!important;}
#golden-household .app-violation-form{
  display:grid!important;
  grid-template-columns:minmax(12rem,1fr) minmax(9.5rem,.65fr) minmax(14rem,1.4fr) minmax(9.5rem,.75fr)!important;
  gap:.6rem!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  margin-top:.85rem!important;
}
#golden-household .app-violation-form>*{min-width:0!important;max-width:100%!important;}
#golden-household .app-violation-form input,
#golden-household .app-violation-form select{height:2.7rem!important;min-height:2.7rem!important;border-radius:.95rem!important;}
#golden-household .app-violation-form button{height:2.7rem!important;min-height:2.7rem!important;width:100%!important;white-space:nowrap!important;border-radius:.95rem!important;}
#golden-household .app-clean-details{max-height:16rem!important;overflow:auto!important;}
#golden-household .app-clean-details form{max-height:13rem!important;overflow:auto!important;align-items:start!important;}
#family-grouping{overflow:visible!important;}
#family-grouping .app-family-create-form{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,13.5rem),1fr))!important;
  gap:.65rem!important;
  align-items:end!important;
  width:100%!important;
  min-width:0!important;
}
#family-grouping .app-family-create-form>*{min-width:0!important;max-width:100%!important;}
#family-grouping .app-family-create-form input,
#family-grouping .app-family-create-form select,
#family-grouping .app-family-create-form textarea{width:100%!important;min-height:2.65rem!important;border-radius:.95rem!important;}
#family-grouping .app-family-create-form textarea{min-height:4.5rem!important;}
#family-grouping .app-family-create-form button{width:100%!important;min-height:2.7rem!important;white-space:normal!important;}
.household-view .app-ui-polished{overflow:visible;}
@media (max-width:900px){
  #golden-household .app-violation-form{grid-template-columns:1fr 1fr!important;}
  #golden-household .app-violation-form .app-grow,
  #golden-household .app-violation-form button{grid-column:1/-1!important;}
}
@media (max-width:640px){
  #golden-household .app-violation-form{grid-template-columns:1fr!important;}
  #golden-household .app-violation-form>*{grid-column:auto!important;}
}


/* HARVEST household final hotfix: no blank rule panel, compact action center, stable family form */
#golden-household details.app-clean-details,
#golden-household .app-clean-details{display:none!important;}
#golden-household .app-household-action-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:.8rem!important;align-items:start!important;width:100%!important;}
#golden-household .app-household-action-grid>div{min-width:0!important;width:100%!important;border-radius:1.1rem!important;}
#golden-household .app-household-action-grid .flex{min-width:0!important;}
#golden-household .app-household-action-grid form{margin:0!important;}
#golden-household .app-household-action-grid .app-btn-tiny{white-space:nowrap!important;}
#golden-household .app-violation-form{margin-bottom:.8rem!important;}
#golden-household .app-violation-form .app-input-compact{font-size:.9rem!important;}
#golden-household .app-violation-form button{font-size:.9rem!important;}
#family-grouping .app-family-create-form{grid-template-columns:repeat(6,minmax(0,1fr))!important;align-items:end!important;}
#family-grouping .app-family-create-form>div{min-width:0!important;}
#family-grouping .app-family-create-form .xl\:col-span-2{grid-column:span 2/span 2!important;}
#family-grouping .app-family-create-form .xl\:col-span-4{grid-column:span 4/span 4!important;}
#family-grouping .app-family-create-form .md\:col-span-2{grid-column:span 2/span 2!important;}
#family-grouping .app-family-create-form textarea{resize:vertical!important;min-height:3.25rem!important;}
#family-grouping .app-family-create-form input[type="file"]{padding:.55rem .7rem!important;font-size:.82rem!important;}
@media (max-width:1180px){
  #family-grouping .app-family-create-form{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  #family-grouping .app-family-create-form .xl\:col-span-2,
  #family-grouping .app-family-create-form .xl\:col-span-4,
  #family-grouping .app-family-create-form .md\:col-span-2{grid-column:span 3/span 3!important;}
}
@media (max-width:900px){
  #golden-household .app-household-action-grid{grid-template-columns:1fr!important;}
  #family-grouping .app-family-create-form{grid-template-columns:1fr 1fr!important;}
  #family-grouping .app-family-create-form .xl\:col-span-2,
  #family-grouping .app-family-create-form .xl\:col-span-4,
  #family-grouping .app-family-create-form .md\:col-span-2{grid-column:1/-1!important;}
}
@media (max-width:640px){
  #family-grouping .app-family-create-form{grid-template-columns:1fr!important;}
  #family-grouping .app-family-create-form>*{grid-column:1/-1!important;}
}


/* HARVEST hotfix: clean current violations row actions in household view */
#golden-household .app-current-violations-card{overflow:visible!important;}
#golden-household .app-violation-list{overflow:visible!important;}
#golden-household .app-violation-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:.75rem!important;
  align-items:center!important;
  padding:.75rem .85rem!important;
  min-width:0!important;
  overflow:visible!important;
}
#golden-household .app-violation-copy{
  min-width:0!important;
  overflow:hidden!important;
}
#golden-household .app-violation-copy strong{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1.25!important;
}
#golden-household .app-violation-copy .text-xs{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#golden-household .app-violation-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:.45rem!important;
  flex-wrap:nowrap!important;
  min-width:max-content!important;
  overflow:visible!important;
  position:relative!important;
}
#golden-household .app-violation-actions .app-badge{
  height:1.7rem!important;
  min-height:1.7rem!important;
  padding:.12rem .55rem!important;
  font-size:.72rem!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.app-mini-actions{
  position:relative!important;
  display:inline-block!important;
  flex:0 0 auto!important;
}
.app-mini-actions summary{
  list-style:none!important;
  cursor:pointer!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.25rem!important;
  min-height:1.75rem!important;
  padding:.2rem .55rem!important;
  border-radius:999px!important;
  border:1px solid rgb(187 209 181)!important;
  background:rgba(255,255,255,.9)!important;
  color:rgb(20 83 45)!important;
  font-size:.72rem!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.app-mini-actions summary::-webkit-details-marker{display:none!important;}
.app-mini-actions summary:after{content:'▾';font-size:.65rem;margin-left:.15rem;}
.app-mini-actions[open] summary:after{content:'▴';}
.app-mini-actions-menu{
  position:absolute!important;
  top:calc(100% + .35rem)!important;
  right:0!important;
  z-index:80!important;
  min-width:10.5rem!important;
  padding:.35rem!important;
  border-radius:.9rem!important;
  border:1px solid rgb(226 232 240)!important;
  background:white!important;
  box-shadow:0 18px 40px rgba(15,23,42,.16)!important;
}
.dark .app-mini-actions-menu{background:rgb(15 23 42)!important;border-color:rgb(51 65 85)!important;}
.app-mini-actions-menu form{margin:0!important;}
.app-mini-actions-menu button{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:2rem!important;
  border:0!important;
  border-radius:.7rem!important;
  background:#edf1e8!important;
  color:rgb(20 83 45)!important;
  font-size:.78rem!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.app-mini-actions-menu button:hover{background:#dfe8d8!important;}
@media (max-width:640px){
  #golden-household .app-violation-row{grid-template-columns:1fr!important;align-items:start!important;}
  #golden-household .app-violation-actions{justify-content:flex-start!important;width:100%!important;}
  .app-mini-actions-menu{left:0!important;right:auto!important;}
}


/* HARVEST final global UI polish: compact, readable, responsive */
:root{--harvest-radius:1.15rem;--harvest-border:#d8e3d2;--harvest-green:#245a33;}
.app-main, main{max-width:100%;overflow-x:hidden;}
section.rounded-\[2rem\], .rounded-\[2rem\]{border-radius:1.45rem!important;}
.app-ui-polished .shadow-sm, section.shadow-sm{box-shadow:0 12px 32px rgba(31,69,42,.07)!important;}
.app-btn-primary,.app-btn-outline{min-height:2.6rem!important;padding:.65rem 1rem!important;border-radius:1rem!important;font-size:.9rem!important;line-height:1.15!important;white-space:nowrap!important;}
.app-badge{font-size:.72rem!important;line-height:1!important;padding:.28rem .58rem!important;border-radius:999px!important;white-space:nowrap!important;max-width:100%;}
.app-table-compact .app-badge{font-size:.68rem!important;padding:.25rem .5rem!important;}
.app-action-chip-list,.app-table-compact td .flex.flex-wrap{gap:.35rem!important;}
.app-row-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:.45rem!important;flex-wrap:nowrap!important;min-width:max-content!important;}
.app-row-actions .app-btn-outline{min-height:2.35rem!important;padding:.5rem .85rem!important;}
.app-mini-actions{position:relative!important;display:inline-block!important;}
.app-mini-actions summary{list-style:none!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.25rem!important;min-height:2.1rem!important;padding:.35rem .7rem!important;border-radius:.9rem!important;border:1px solid #bbd1b5!important;background:rgba(255,255,255,.93)!important;color:#14532d!important;font-size:.78rem!important;font-weight:900!important;white-space:nowrap!important;}
.app-mini-actions summary::-webkit-details-marker{display:none!important;}
.app-mini-actions summary:after{content:'▾';font-size:.65rem;margin-left:.15rem;}
.app-mini-actions[open] summary:after{content:'▴';}
.app-mini-actions-menu{position:absolute!important;top:calc(100% + .35rem)!important;right:0!important;z-index:100!important;min-width:10rem!important;padding:.35rem!important;border-radius:.9rem!important;border:1px solid #d8e3d2!important;background:#fff!important;box-shadow:0 20px 45px rgba(15,23,42,.18)!important;}
.app-mini-actions-menu a,.app-mini-actions-menu button{width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:2rem!important;border:0!important;border-radius:.7rem!important;background:#edf1e8!important;color:#14532d!important;font-size:.78rem!important;font-weight:900!important;text-decoration:none!important;cursor:pointer!important;}
.app-mini-actions-menu a:hover,.app-mini-actions-menu button:hover{background:#dfe8d8!important;}
.dark .app-mini-actions-menu{background:#0f172a!important;border-color:#334155!important;}

/* Household index: one row per actual household grouping */
.household-results-table{table-layout:auto!important;}
.household-results-table th,.household-results-table td{padding:.72rem .85rem!important;vertical-align:middle!important;}
.household-results-table th{font-size:.76rem!important;letter-spacing:.12em!important;}
.household-results-table td{font-size:.88rem!important;}
.household-results-table .app-badge{max-width:11rem;overflow:hidden;text-overflow:ellipsis;}

/* Household view action center */
#golden-household{padding:1rem!important;overflow:visible!important;}
#golden-household h3{font-size:1.1rem!important;}
#golden-household .app-violation-form{display:grid!important;grid-template-columns:minmax(12rem,1fr) minmax(9rem,.65fr) minmax(13rem,1.2fr) minmax(9rem,.7fr)!important;gap:.55rem!important;align-items:center!important;margin-top:.8rem!important;margin-bottom:.65rem!important;}
#golden-household .app-violation-form>*{min-width:0!important;max-width:100%!important;}
#golden-household .app-violation-form input,#golden-household .app-violation-form select,#golden-household .app-violation-form button{height:2.55rem!important;min-height:2.55rem!important;border-radius:.9rem!important;font-size:.88rem!important;}
#golden-household .app-household-action-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:.8rem!important;align-items:start!important;}
#golden-household .app-card-titlebar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.6rem!important;padding:.65rem .85rem!important;font-size:.86rem!important;font-weight:900!important;background:#f8faf6!important;border-bottom:1px solid #e2e8f0!important;}
#golden-household .app-current-violations-card,#golden-household .app-program-workflow-card{min-width:0!important;border-radius:1rem!important;}
#golden-household .app-violation-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:.65rem!important;align-items:center!important;padding:.65rem .8rem!important;min-width:0!important;}
#golden-household .app-violation-copy{min-width:0!important;overflow:hidden!important;}
#golden-household .app-violation-copy strong{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;line-height:1.15!important;}
#golden-household .app-violation-copy .text-xs{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
#golden-household .app-violation-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:.4rem!important;flex-wrap:nowrap!important;min-width:max-content!important;}
#golden-household .app-violation-actions .app-badge{height:1.65rem!important;min-height:1.65rem!important;font-size:.68rem!important;padding:.2rem .52rem!important;}
.app-btn-resolve{background:#edf1e8!important;color:#14532d!important;border:1px solid #bbd1b5!important;min-height:1.75rem!important;height:1.75rem!important;padding:.25rem .55rem!important;border-radius:999px!important;font-size:.7rem!important;}

/* Add family inside household */
#family-grouping{padding:1.1rem!important;}
#family-grouping .app-family-create-form{display:grid!important;grid-template-columns:2fr 1fr 1fr 1fr 1fr!important;gap:.65rem!important;align-items:end!important;}
#family-grouping .app-family-create-form>div{min-width:0!important;}
#family-grouping .app-family-create-form .xl\:col-span-2{grid-column:span 2/span 2!important;}
#family-grouping .app-family-create-form .md\:col-span-2{grid-column:span 2/span 2!important;}
#family-grouping .app-family-create-form .xl\:col-span-4{grid-column:span 3/span 3!important;}
#family-grouping .app-family-create-form label{font-size:.8rem!important;margin-bottom:.32rem!important;}
#family-grouping .app-family-create-form input,#family-grouping .app-family-create-form select,#family-grouping .app-family-create-form textarea{min-height:2.5rem!important;border-radius:.88rem!important;font-size:.9rem!important;}
#family-grouping .app-family-create-form textarea{min-height:3rem!important;}
#family-grouping .app-family-create-form input[type="file"]{font-size:.78rem!important;padding:.48rem!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#family-grouping .app-family-create-form button{width:100%!important;min-height:2.55rem!important;}
.app-family-summary-pill{border:1px solid #d8e3d2;border-radius:1rem;background:#f8faf6;padding:.55rem .8rem;font-size:.85rem;color:#475569;}

/* Compact validation pages */
.app-validation-page .app-compact-card{border-radius:1.25rem!important;}
.app-validation-page label{font-size:.82rem!important;margin-bottom:.35rem!important;}
.app-validation-page textarea.app-input-compact{min-height:8rem!important;}
.app-validation-page .app-btn-primary,.app-validation-page .app-btn-outline{min-width:12rem;}

/* Responsive/mobile */
@media (max-width:1180px){
  #family-grouping .app-family-create-form{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  #family-grouping .app-family-create-form .xl\:col-span-2,#family-grouping .app-family-create-form .xl\:col-span-4,#family-grouping .app-family-create-form .md\:col-span-2{grid-column:1/-1!important;}
}
@media (max-width:960px){
  #golden-household .app-violation-form{grid-template-columns:1fr 1fr!important;}
  #golden-household .app-violation-form .app-grow,#golden-household .app-violation-form button{grid-column:1/-1!important;}
  #golden-household .app-household-action-grid{grid-template-columns:1fr!important;}
  .app-filter-form{grid-template-columns:1fr 1fr!important;}
  .app-filter-actions{width:100%!important;}
  .app-filter-actions>*{flex:1 1 12rem!important;text-align:center!important;}
}
@media (max-width:720px){
  .app-main{padding-left:.75rem!important;padding-right:.75rem!important;}
  section{padding:1rem!important;}
  #family-grouping .app-family-create-form{grid-template-columns:1fr!important;}
  #family-grouping .app-family-create-form>*{grid-column:1/-1!important;}
  #golden-household .app-violation-form{grid-template-columns:1fr!important;}
  #golden-household .app-violation-form>*{grid-column:1/-1!important;}
  #golden-household .app-violation-row{grid-template-columns:1fr!important;align-items:start!important;}
  #golden-household .app-violation-actions{justify-content:flex-start!important;width:100%!important;}
  .household-results-table thead{display:none!important;}
  .household-results-table,.household-results-table tbody,.household-results-table tr,.household-results-table td{display:block!important;width:100%!important;}
  .household-results-table tr{border:1px solid #d8e3d2!important;border-radius:1rem!important;margin:.75rem!important;padding:.5rem!important;background:#fff!important;}
  .household-results-table td{text-align:left!important;border:0!important;padding:.5rem!important;}
  .app-row-actions{justify-content:flex-start!important;}
}

/* Household member registry actions */
.app-member-actions{align-items:center!important;}
.app-btn-icon-text{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.4rem!important;min-height:2rem!important;border-radius:.8rem!important;padding:.42rem .75rem!important;line-height:1!important;white-space:nowrap!important;text-decoration:none!important;}
.app-btn-danger-soft{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.4rem!important;min-height:2rem!important;border-radius:.8rem!important;padding:.42rem .75rem!important;border:1px solid #fecaca!important;background:#fff7f7!important;color:#991b1b!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important;}
.app-btn-danger-soft:hover{background:#fee2e2!important;}
#members .app-member-actions form{display:inline-flex!important;margin:0!important;}
#members .rounded-3xl{overflow:visible!important;}
@media (max-width:720px){
  #members .app-member-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;}
  #members .app-member-actions a,#members .app-member-actions button,#members .app-member-actions form{width:100%!important;}
}


/* =========================================================
   Household member form/readability hotfix
   - Keep checkboxes normal size and labels readable.
   - Keep member edit/delete actions visible instead of hidden dropdowns.
   ========================================================= */
input[type="checkbox"],
input[type="radio"] {
  width: 1.05rem !important;
  height: 1.05rem !important;
  min-width: 1.05rem !important;
  max-width: 1.05rem !important;
  min-height: 1.05rem !important;
  max-height: 1.05rem !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-block !important;
  appearance: auto !important;
  border-radius: .25rem !important;
  box-shadow: none !important;
  vertical-align: middle !important;
  flex: 0 0 auto !important;
}

.app-member-tags-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)) !important;
  gap: .55rem !important;
  padding: .75rem !important;
  border: 1px solid var(--app-border, #d8e3d2) !important;
  border-radius: 1.1rem !important;
  background: color-mix(in srgb, var(--app-surface-solid, #fffdf7) 94%, var(--app-primary-soft, #eaf4e5)) !important;
}

.app-check-tile {
  display: flex !important;
  align-items: center !important;
  gap: .55rem !important;
  min-height: 2.25rem !important;
  padding: .45rem .55rem !important;
  border: 1px solid color-mix(in srgb, var(--app-border, #d8e3d2) 76%, transparent) !important;
  border-radius: .85rem !important;
  background: var(--app-surface-solid, #fffdf7) !important;
  color: var(--app-text, #172033) !important;
  font-size: .84rem !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

.app-check-tile span {
  display: block !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.app-check-inline {
  width: 100% !important;
  justify-content: flex-start !important;
}

#members,
#members .rounded-3xl,
#members .app-member-card,
#members [class*="rounded"] {
  overflow: visible !important;
}

#members .app-member-actions,
.app-member-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .5rem !important;
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#members .app-member-actions .app-smart-action-menu,
#members .app-member-actions .app-card-action-menu {
  display: none !important;
}

#members .app-member-actions a,
#members .app-member-actions button,
#members .app-member-actions form {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#members .app-btn-icon-text,
#members .app-btn-danger-soft {
  min-width: 7.25rem !important;
  min-height: 2.15rem !important;
  padding: .55rem .8rem !important;
  font-size: .82rem !important;
  border-radius: 999px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#members .app-btn-icon-text {
  background: var(--app-surface-solid, #fffdf7) !important;
  color: var(--app-primary-strong, #194d2e) !important;
  border: 1px solid var(--app-border, #d8e3d2) !important;
}

#members .app-btn-icon-text:hover {
  background: var(--app-primary, #386c37) !important;
  color: #fff !important;
}

#members .app-btn-danger-soft {
  border: 1px solid #fecaca !important;
  background: #fff7f7 !important;
  color: #991b1b !important;
}

#members .app-btn-danger-soft:hover {
  background: #fee2e2 !important;
  color: #7f1d1d !important;
}

@media (max-width: 720px) {
  .app-member-tags-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .app-check-tile { font-size: .78rem !important; padding: .45rem .5rem !important; }
  #members .app-member-actions { display: grid !important; grid-template-columns: 1fr 1fr !important; }
  #members .app-member-actions form,
  #members .app-member-actions a,
  #members .app-member-actions button { width: 100% !important; min-width: 0 !important; }
}

@media (max-width: 430px) {
  .app-member-tags-grid { grid-template-columns: 1fr !important; }
  #members .app-member-actions { grid-template-columns: 1fr !important; }
}

/* =========================================================
   HARVEST FINAL MOBILE RESPONSIVE PASS
   Purpose: phone/tablet layout must feel intentional, not cramped.
   - On phones, show only burger + account/theme in the header.
   - Move other module shortcuts into the burger drawer.
   - Drawer uses balanced width and compact rows.
   - Cards/forms/buttons/tables avoid horizontal overflow.
   ========================================================= */
@media (max-width: 767px) {
  html,
  body {
    min-width: 320px !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .app-header {
    z-index: 120 !important;
    min-height: auto !important;
  }

  .app-header-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: .5rem !important;
    min-height: auto !important;
    padding: .55rem .75rem .45rem !important;
  }

  .app-brand-mark {
    width: 2.25rem !important;
    height: 2.25rem !important;
    min-width: 2.25rem !important;
    border-radius: .8rem !important;
    box-shadow: none !important;
  }

  .app-header-actions {
    width: auto !important;
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .32rem !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
  }

  /* Do not force all quick icons on phone. They are available in the burger drawer. */
  .app-mobile-quicknav {
    display: flex !important;
    align-items: center !important;
    gap: .32rem !important;
    max-width: none !important;
    overflow: visible !important;
    flex: 0 0 auto !important;
  }

  .app-mobile-quicknav > a {
    display: none !important;
  }

  .app-mobile-quicknav > button#mobileNavToggle,
  .app-mobile-quicknav > button {
    display: inline-flex !important;
  }

  .app-top-nav-item,
  .icon-button,
  .app-user-trigger {
    width: 2.35rem !important;
    height: 2.35rem !important;
    min-width: 2.35rem !important;
    border-radius: .82rem !important;
    box-shadow: none !important;
  }

  .app-top-nav-item i,
  .icon-button i,
  .app-user-trigger i {
    width: 1.05rem !important;
    height: 1.05rem !important;
  }

  .app-user-avatar {
    width: 2.28rem !important;
    height: 2.28rem !important;
    border-radius: .8rem !important;
  }

  .app-top-nav-badge {
    top: -.18rem !important;
    right: -.12rem !important;
    min-width: .98rem !important;
    height: .98rem !important;
    padding: 0 .23rem !important;
    font-size: .56rem !important;
    border-width: 2px !important;
  }

  .app-mobile-search-row {
    display: block !important;
    padding: 0 .75rem .65rem !important;
  }

  .app-global-search.mobile-only {
    display: flex !important;
    width: 100% !important;
    min-height: 2.75rem !important;
    border-radius: 1rem !important;
    padding: .55rem .75rem !important;
    box-shadow: none !important;
  }

  .app-global-search.mobile-only input {
    font-size: .92rem !important;
  }

  .app-mobile-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 160 !important;
    background: rgba(10, 16, 11, .48) !important;
    backdrop-filter: blur(2.5px) !important;
    -webkit-backdrop-filter: blur(2.5px) !important;
  }

  .app-mobile-drawer {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 170 !important;
    width: min(22rem, 88vw) !important;
    max-width: 88vw !important;
    padding: .85rem !important;
    border-radius: 1.25rem 0 0 1.25rem !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    box-shadow: -22px 0 55px rgba(20, 36, 24, .18) !important;
  }

  .app-mobile-drawer-head {
    align-items: center !important;
    gap: .7rem !important;
    margin-bottom: .75rem !important;
    padding-bottom: .65rem !important;
    border-bottom: 1px solid var(--app-border) !important;
  }

  .app-mobile-drawer-head .text-lg {
    font-size: 1rem !important;
    line-height: 1.1 !important;
  }

  .app-mobile-drawer-head .text-sm,
  .app-mobile-drawer-head .app-page-user {
    font-size: .78rem !important;
  }

  .app-mobile-nav-list {
    display: grid !important;
    gap: .42rem !important;
    padding-bottom: 1rem !important;
  }

  .app-mobile-nav-section-label {
    margin: .6rem .1rem .15rem !important;
    padding: 0 !important;
    font-size: .66rem !important;
    letter-spacing: .12em !important;
  }

  .app-mobile-nav-link {
    min-height: 3rem !important;
    padding: .62rem .72rem !important;
    border-radius: .95rem !important;
    gap: .65rem !important;
    font-size: .9rem !important;
    line-height: 1.15 !important;
    align-items: center !important;
  }

  .app-mobile-nav-icon {
    width: 2rem !important;
    height: 2rem !important;
    min-width: 2rem !important;
    border-radius: .72rem !important;
  }

  .app-mobile-nav-icon i,
  .app-mobile-nav-icon svg {
    width: 1rem !important;
    height: 1rem !important;
  }

  .app-mobile-nav-copy,
  .app-mobile-nav-title,
  .app-mobile-nav-link span:not(.app-inline-badge):not(.app-mobile-nav-icon) {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .app-inline-badge {
    min-width: 1.05rem !important;
    height: 1.05rem !important;
    padding: 0 .28rem !important;
    font-size: .58rem !important;
    flex: 0 0 auto !important;
  }

  .app-main,
  main.app-main {
    width: 100% !important;
    max-width: 100% !important;
    padding: .75rem !important;
    margin: 0 !important;
    overflow-x: hidden !important;
  }

  .app-main > * + * {
    margin-top: .85rem !important;
  }

  .app-main section,
  .app-main article,
  .app-main .page-card,
  .app-main .app-panel,
  .app-main .dashboard-stat,
  .app-main .app-kpi-card,
  .app-main .app-action-card,
  .app-main .rounded-3xl,
  .app-main .rounded-2xl,
  .app-main .rounded-\[2rem\],
  .app-main .rounded-\[1\.75rem\],
  .app-main .rounded-\[1\.5rem\] {
    border-radius: 1rem !important;
    padding: .85rem !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .app-main h1,
  .app-main .app-page-title {
    font-size: 1.35rem !important;
    line-height: 1.15 !important;
  }

  .app-main h2 {
    font-size: 1.18rem !important;
    line-height: 1.18 !important;
  }

  .app-main h3 {
    font-size: 1rem !important;
    line-height: 1.22 !important;
  }

  .app-main p,
  .app-main li,
  .app-main td,
  .app-main th,
  .app-main label,
  .app-main input,
  .app-main select,
  .app-main textarea,
  .app-main button,
  .app-main a {
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  .app-main label {
    font-size: .78rem !important;
    margin-bottom: .32rem !important;
  }

  .app-main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
  .app-main select,
  .app-main textarea,
  .app-input-compact {
    width: 100% !important;
    min-height: 2.55rem !important;
    border-radius: .82rem !important;
    padding: .58rem .72rem !important;
    font-size: .92rem !important;
  }

  .app-main textarea {
    min-height: 5.5rem !important;
  }

  .app-main input[type="file"] {
    width: 100% !important;
    min-height: 2.55rem !important;
    border-radius: .82rem !important;
    padding: .45rem !important;
    font-size: .82rem !important;
  }

  .app-main button,
  .app-main .app-btn,
  .app-main .app-btn-primary,
  .app-main .app-btn-outline,
  .app-main a.app-btn,
  .app-main a.app-btn-primary,
  .app-main a.app-btn-outline {
    min-height: 2.45rem !important;
    padding: .58rem .78rem !important;
    border-radius: .85rem !important;
    font-size: .86rem !important;
    line-height: 1.1 !important;
  }

  .app-kpi-grid,
  .dashboard-grid,
  .app-main .grid.grid-cols-1,
  .app-main .grid.sm\:grid-cols-2,
  .app-main .grid.md\:grid-cols-2,
  .app-main .grid.lg\:grid-cols-3,
  .app-main .grid.xl\:grid-cols-4 {
    grid-template-columns: 1fr !important;
    gap: .75rem !important;
  }

  .app-kpi-card,
  .dashboard-stat {
    min-height: auto !important;
  }

  .app-kpi-value,
  .dashboard-stat .value {
    font-size: 1.55rem !important;
  }

  .app-filter-form,
  .app-main form.app-filter-form,
  .app-main form:has(select):has(button):has(input[name="q"]),
  .app-main form:has(select):has(button):has(input[type="search"]) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .55rem !important;
  }

  .app-filter-actions,
  .app-action-row,
  .user-card-actions,
  .table-actions,
  .app-main td.has-inline-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .5rem !important;
    justify-content: stretch !important;
    width: 100% !important;
  }

  .app-filter-actions > *,
  .app-action-row > *,
  .user-card-actions > *,
  .table-actions > *,
  .app-main td.has-inline-form > * {
    width: 100% !important;
    min-width: 0 !important;
  }

  .app-table-wrap,
  .table-responsive,
  .overflow-x-auto {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .app-responsive-table,
  .household-results-table {
    min-width: 0 !important;
    width: 100% !important;
  }

  .app-responsive-table thead,
  .household-results-table thead {
    display: none !important;
  }

  .app-responsive-table tbody,
  .app-responsive-table tr,
  .app-responsive-table td,
  .household-results-table tbody,
  .household-results-table tr,
  .household-results-table td {
    display: block !important;
    width: 100% !important;
  }

  .app-responsive-table tr,
  .household-results-table tr {
    margin: .65rem 0 !important;
    padding: .55rem !important;
    border: 1px solid var(--app-border) !important;
    border-radius: .95rem !important;
    background: var(--app-surface-solid) !important;
  }

  .app-responsive-table td,
  .household-results-table td {
    padding: .45rem .25rem !important;
    border: 0 !important;
    white-space: normal !important;
  }

  #family-grouping,
  #golden-household,
  #members {
    padding: .85rem !important;
  }

  #family-grouping .app-family-create-form,
  #golden-household .app-violation-form {
    grid-template-columns: 1fr !important;
    gap: .55rem !important;
  }

  #family-grouping .app-family-create-form > *,
  #golden-household .app-violation-form > * {
    grid-column: 1 / -1 !important;
  }

  .app-member-tags-grid {
    grid-template-columns: 1fr !important;
    gap: .45rem !important;
    padding: .55rem !important;
  }

  .app-check-tile {
    min-height: 2.05rem !important;
    padding: .38rem .48rem !important;
    font-size: .78rem !important;
  }
}

@media (max-width: 430px) {
  .app-header-inner {
    padding-left: .62rem !important;
    padding-right: .62rem !important;
  }

  .app-mobile-search-row {
    padding-left: .62rem !important;
    padding-right: .62rem !important;
  }

  .app-top-nav-item,
  .icon-button,
  .app-user-trigger {
    width: 2.18rem !important;
    height: 2.18rem !important;
    min-width: 2.18rem !important;
  }

  .app-user-avatar {
    width: 2.1rem !important;
    height: 2.1rem !important;
  }

  .app-mobile-drawer {
    width: min(21rem, 90vw) !important;
    max-width: 90vw !important;
    padding: .75rem !important;
  }

  .app-main,
  main.app-main {
    padding: .62rem !important;
  }
}


/* HARVEST MOBILE HEADER SEARCH INLINE FIX
   Phone view: use one compact top row: logo + search + menu/account/theme.
   This removes wasted vertical space from the previous separate search row. */
.app-mobile-inline-search { display: none !important; }
@media (max-width: 767px) {
  .app-header-inner {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: .42rem !important;
    padding: .50rem .62rem !important;
  }
  .app-header-inner > .flex.items-center {
    width: auto !important;
    min-width: 0 !important;
  }
  .app-header-inner > .flex.items-center a {
    gap: 0 !important;
  }
  .app-mobile-inline-search {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 2.35rem !important;
    height: 2.35rem !important;
    border-radius: .9rem !important;
    padding: .45rem .62rem !important;
    margin: 0 !important;
    box-shadow: none !important;
  }
  .app-mobile-inline-search i,
  .app-mobile-inline-search svg {
    width: .95rem !important;
    height: .95rem !important;
  }
  .app-mobile-inline-search input {
    min-width: 0 !important;
    width: 100% !important;
    font-size: .84rem !important;
    line-height: 1.1 !important;
  }
  .app-mobile-search-row {
    display: none !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  .app-brand-mark {
    width: 2.08rem !important;
    height: 2.08rem !important;
    min-width: 2.08rem !important;
  }
  .app-header-actions {
    gap: .22rem !important;
  }
  .app-mobile-quicknav {
    gap: .22rem !important;
  }
  .app-top-nav-item,
  .icon-button,
  .app-user-trigger {
    width: 2.12rem !important;
    height: 2.12rem !important;
    min-width: 2.12rem !important;
    border-radius: .78rem !important;
  }
  .app-user-avatar {
    width: 2.04rem !important;
    height: 2.04rem !important;
  }
  .app-top-nav-badge {
    top: -.18rem !important;
    right: -.10rem !important;
    min-width: .92rem !important;
    height: .92rem !important;
    font-size: .52rem !important;
  }
}
@media (max-width: 380px) {
  .app-header-inner {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: .32rem !important;
    padding-left: .48rem !important;
    padding-right: .48rem !important;
  }
  .app-brand-mark {
    width: 1.95rem !important;
    height: 1.95rem !important;
    min-width: 1.95rem !important;
  }
  .app-mobile-inline-search {
    min-height: 2.2rem !important;
    height: 2.2rem !important;
    border-radius: .78rem !important;
    padding: .38rem .5rem !important;
  }
  .app-mobile-inline-search input {
    font-size: .78rem !important;
  }
  .app-top-nav-item,
  .icon-button,
  .app-user-trigger {
    width: 1.98rem !important;
    height: 1.98rem !important;
    min-width: 1.98rem !important;
  }
  .app-user-avatar {
    width: 1.9rem !important;
    height: 1.9rem !important;
  }
  .icon-button[title="Toggle theme"] {
    display: none !important;
  }
}


/* HARVEST FINAL LAYOUT POLISH - forms, event cards, dropdowns, and table actions */
.app-main form.app-event-create-form,
.app-main form.app-validation-form {
  display: grid !important;
  gap: .85rem !important;
  align-items: end !important;
  width: 100% !important;
}

.app-main form.app-event-create-form {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

.app-main form.app-event-create-form > * {
  min-width: 0 !important;
}

.app-main form.app-event-create-form > .md\:col-span-2,
.app-main form.app-event-create-form > #program_target_group,
.app-main form.app-event-create-form > div:has(textarea),
.app-main form.app-event-create-form > div:last-child {
  grid-column: span 12 !important;
}

.app-main form.app-event-create-form > div:not(.md\:col-span-2):not(#program_target_group):not(:has(textarea)):not(:last-child) {
  grid-column: span 4 !important;
}

#program_target_group {
  width: 100% !important;
  max-width: 100% !important;
}

#program_target_group > .rounded-2xl,
#program_target_group .app-program-target-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr)) !important;
  gap: .6rem !important;
  padding: .75rem !important;
  border-radius: 1rem !important;
  max-width: 100% !important;
}

#program_target_group label,
#program_target_group .app-event-program-card {
  min-width: 0 !important;
  min-height: 4.1rem !important;
  padding: .72rem !important;
  border-radius: 1rem !important;
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) !important;
  align-items: start !important;
  gap: .55rem !important;
  overflow: hidden !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

#program_target_group label input[type="checkbox"] {
  width: 1rem !important;
  height: 1rem !important;
  min-width: 1rem !important;
  margin-top: .15rem !important;
}

#program_target_group label span,
#program_target_group label strong,
#program_target_group label .text-slate-500 {
  min-width: 0 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-height: 1.22 !important;
}

#program_target_group label strong {
  display: block !important;
  font-size: .86rem !important;
  white-space: normal !important;
}

#program_target_group label .text-slate-500 {
  display: block !important;
  margin-top: .18rem !important;
  font-size: .72rem !important;
}

.app-validation-page {
  max-width: 72rem !important;
}

.app-validation-page > .grid {
  grid-template-columns: minmax(17rem,.7fr) minmax(0,1.3fr) !important;
  align-items: stretch !important;
}

.app-main form.app-validation-form {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

.app-main form.app-validation-form > input[type="hidden"] {
  display: none !important;
}

.app-main form.app-validation-form > .grid {
  grid-column: span 7 !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(11rem,.75fr) !important;
  gap: .7rem !important;
}

.app-main form.app-validation-form > div:not(.grid):not(:has(textarea)):not(:has(button)):not(:has(a)) {
  grid-column: span 5 !important;
}

.app-main form.app-validation-form > div:has(textarea) {
  grid-column: span 12 !important;
}

.app-main form.app-validation-form > div:has(button),
.app-main form.app-validation-form > div:has(a) {
  grid-column: span 12 !important;
  display: flex !important;
  gap: .65rem !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}

.app-main form.app-validation-form .app-input-compact {
  min-height: 2.65rem !important;
  height: auto !important;
}

.app-main form.app-validation-form textarea.app-input-compact {
  min-height: 6.5rem !important;
}

.app-mini-actions,
.app-smart-action-menu {
  position: relative !important;
  overflow: visible !important;
}

.app-mini-actions-menu,
.app-smart-action-dropdown {
  z-index: 9999 !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.app-mini-actions:not([open]) .app-mini-actions-menu,
.app-smart-action-dropdown.hidden {
  display: none !important;
}

.app-mini-actions[open] .app-mini-actions-menu {
  display: grid !important;
  gap: .25rem !important;
}

.app-table-wrap,
.overflow-x-auto,
.table-responsive {
  position: relative !important;
}

.household-results-table {
  min-width: 62rem !important;
}

.household-results-table .app-row-actions {
  justify-content: flex-end !important;
  align-items: center !important;
  gap: .4rem !important;
  min-width: 8rem !important;
}

.household-results-table .app-mini-actions summary,
.household-results-table .app-btn-outline {
  min-height: 2.1rem !important;
  padding: .42rem .72rem !important;
  border-radius: .9rem !important;
}

.app-main table td,
.app-main table th {
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.app-main .app-badge,
.app-main .app-inline-badge,
.app-main .app-top-nav-badge {
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (max-width: 1100px) {
  .app-main form.app-event-create-form > div:not(.md\:col-span-2):not(#program_target_group):not(:has(textarea)):not(:last-child) {
    grid-column: span 6 !important;
  }
  .app-validation-page > .grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  .app-main form.app-event-create-form {
    grid-template-columns: 1fr !important;
  }
  .app-main form.app-event-create-form > *,
  .app-main form.app-event-create-form > div,
  .app-main form.app-event-create-form > #program_target_group {
    grid-column: 1 / -1 !important;
  }
  #program_target_group > .rounded-2xl,
  #program_target_group .app-program-target-grid {
    grid-template-columns: 1fr !important;
    gap: .5rem !important;
  }
  #program_target_group label,
  #program_target_group .app-event-program-card {
    min-height: auto !important;
    padding: .6rem !important;
  }
  .app-main form.app-validation-form {
    grid-template-columns: 1fr !important;
  }
  .app-main form.app-validation-form > .grid,
  .app-main form.app-validation-form > div {
    grid-column: 1 / -1 !important;
  }
  .app-main form.app-validation-form > .grid {
    grid-template-columns: 1fr !important;
  }
  .app-main form.app-validation-form > div:has(button),
  .app-main form.app-validation-form > div:has(a) {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .household-results-table {
    min-width: 0 !important;
  }
}

/* Touch-size but compact mobile navigation/search */
@media (max-width: 520px) {
  .app-header-inner {
    grid-template-columns: auto minmax(0,1fr) auto !important;
  }
  .app-mobile-inline-search {
    height: 2.35rem !important;
    min-height: 2.35rem !important;
    padding-inline: .58rem !important;
  }
  .app-mobile-inline-search input {
    font-size: .78rem !important;
  }
  .app-mobile-quicknav a:not(:first-child):not(.is-active),
  .app-mobile-quicknav a:nth-child(2),
  .app-mobile-quicknav a:nth-child(3) {
    display: none !important;
  }
  .app-mobile-drawer {
    width: min(20rem, 88vw) !important;
  }
  .app-mobile-nav-link {
    min-height: 3rem !important;
    padding: .72rem .82rem !important;
    border-radius: .88rem !important;
  }
  .app-mobile-nav-title {
    font-size: .9rem !important;
  }
}

/* If a desktop table has many columns, keep it readable without breaking action dropdowns. */
@media (min-width: 768px) {
  .app-table-wrap:has(.household-results-table),
  .overflow-x-auto:has(.household-results-table) {
    overflow-x: auto !important;
    overflow-y: visible !important;
  }
}

/* Final workflow/layout fixes - generated 2026-05-19 */
.app-row-actions-compact{display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;gap:.45rem!important;flex-wrap:nowrap!important;white-space:nowrap!important;min-width:max-content!important;}
.app-row-actions-compact .app-btn-outline,.app-row-actions-compact .app-btn-primary{padding:.55rem .85rem!important;min-height:2.2rem!important;border-radius:1rem!important;font-size:.82rem!important;line-height:1!important;}
.app-status-tabs{display:flex!important;flex-wrap:wrap!important;gap:.55rem!important;align-items:center!important;}
.app-status-tab{position:relative!important;display:inline-flex!important;align-items:center!important;gap:.55rem!important;padding:.68rem 1rem!important;border:1px solid #bfd2b9!important;border-radius:1rem!important;background:rgba(255,255,255,.92)!important;color:#174a2a!important;font-weight:900!important;font-size:.88rem!important;text-decoration:none!important;line-height:1.1!important;box-shadow:0 8px 24px rgba(15,23,42,.05)!important;}
.app-status-tab.is-active{background:#356b36!important;color:#fff!important;border-color:#356b36!important;box-shadow:0 14px 30px rgba(53,107,54,.22)!important;}
.app-status-count{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:1.35rem!important;height:1.35rem!important;padding:0 .32rem!important;border-radius:999px!important;background:#dc2626!important;color:#fff!important;font-size:.72rem!important;font-weight:1000!important;line-height:1!important;box-shadow:0 0 0 3px rgba(255,255,255,.9)!important;}
.app-status-tab.is-active .app-status-count{background:#ef4444!important;color:#fff!important;}
.app-workflow-table{table-layout:auto!important;}
.app-workflow-table th,.app-workflow-table td{vertical-align:middle!important;word-break:normal!important;}
.app-event-form-compact{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:1rem!important;align-items:end!important;}
.app-event-form-compact>div{grid-column:span 4!important;min-width:0!important;}
.app-event-form-compact>.md\:col-span-2,.app-event-form-compact>.app-program-target-section{grid-column:span 12!important;}
.app-program-target-grid-compact{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:.7rem!important;padding:.75rem!important;max-width:100%!important;}
.app-program-target-card{display:grid!important;grid-template-columns:auto 1fr!important;gap:.65rem!important;align-items:start!important;min-height:auto!important;padding:.75rem!important;border:1px solid #d8e3d2!important;border-radius:1rem!important;background:rgba(255,255,255,.9)!important;}
.app-program-target-card input{width:1.05rem!important;height:1.05rem!important;margin-top:.15rem!important;flex:0 0 auto!important;}
.app-program-target-card strong{display:block!important;font-size:.9rem!important;line-height:1.2!important;color:#174a2a!important;}
.app-program-target-card small{display:block!important;margin-top:.15rem!important;font-size:.76rem!important;line-height:1.25!important;color:#64745d!important;font-weight:700!important;}
.app-program-target-card.is-disabled{opacity:.7!important;background:#f5f7f2!important;}
.app-validation-page .app-compact-card{border-radius:1.4rem!important;padding:1.15rem!important;}
.app-validation-form{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:1rem!important;align-items:end!important;}
.app-validation-form>div{grid-column:span 4!important;min-width:0!important;}
.app-validation-form>div:nth-last-child(-n+2){grid-column:span 12!important;}
.app-final-validation-form,.app-release-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1rem!important;align-items:end!important;}
.app-form-card-soft{border:1px solid #d8e3d2!important;border-radius:1.25rem!important;background:#f8faf5!important;padding:1rem!important;}
.app-inline-checks{display:flex!important;flex-wrap:wrap!important;gap:.75rem!important;}
.app-inline-checks label{display:inline-flex!important;align-items:center!important;gap:.45rem!important;padding:.55rem .75rem!important;border:1px solid #d8e3d2!important;border-radius:999px!important;background:#fff!important;font-size:.88rem!important;font-weight:800!important;}
.app-inline-checks input{width:1rem!important;height:1rem!important;}
.app-release-form{max-width:100%!important;}
.household-results-table .app-badge{font-size:.72rem!important;padding:.35rem .6rem!important;line-height:1.15!important;}
.household-results-table td{padding-top:.85rem!important;padding-bottom:.85rem!important;}
.household-results-table .app-row-actions{gap:.4rem!important;}
@media (max-width: 1100px){
  .app-event-form-compact>div{grid-column:span 6!important;}
  .app-event-form-compact>.md\:col-span-2,.app-event-form-compact>.app-program-target-section{grid-column:span 12!important;}
  .app-validation-form>div{grid-column:span 6!important;}
}
@media (max-width: 780px){
  .app-status-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .app-status-tab{width:100%!important;justify-content:space-between!important;padding:.65rem .8rem!important;font-size:.8rem!important;}
  .app-event-form-compact,.app-validation-form,.app-final-validation-form,.app-release-form{grid-template-columns:1fr!important;}
  .app-event-form-compact>div,.app-event-form-compact>.md\:col-span-2,.app-event-form-compact>.app-program-target-section,.app-validation-form>div,.app-validation-form>div:nth-last-child(-n+2),.app-final-validation-form>div,.app-release-form>div{grid-column:1/-1!important;}
  .app-program-target-grid-compact{grid-template-columns:1fr!important;}
  .app-row-actions-compact{display:flex!important;width:100%!important;justify-content:flex-start!important;}
  .app-row-actions-compact .app-btn-outline,.app-row-actions-compact .app-btn-primary{flex:1 1 auto!important;text-align:center!important;justify-content:center!important;}
  .app-workflow-table,.household-results-table{min-width:760px!important;}
}
@media (max-width: 480px){
  .app-status-tabs{grid-template-columns:1fr!important;}
  .app-status-tab{font-size:.78rem!important;}
  .app-program-target-card{padding:.65rem!important;}
}


/* Active program editor */
.app-active-program-editor { max-width: 1180px; margin: 1.25rem auto; }
.app-pill { display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .65rem; border:1px solid rgba(22,101,52,.18); border-radius:999px; background:rgba(241,248,238,.9); color:#244b2e; font-weight:800; font-size:.78rem; line-height:1; white-space:nowrap; }
.app-pill-success { background:rgba(220,252,231,.9); color:#166534; border-color:rgba(22,101,52,.25); }
.app-compact-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:end; }
.app-compact-form-grid label > span { display:block; margin-bottom:.45rem; font-size:.85rem; font-weight:900; color:#16451f; }
@media (max-width: 720px) {
  .app-active-program-editor { margin:.75rem .5rem; padding:1rem !important; border-radius:1.25rem !important; }
  .app-compact-form-grid { grid-template-columns:1fr; gap:.8rem; }
  .app-compact-form-grid .md\:col-span-2 { grid-column:auto !important; }
}

/* Security: 5-minute inactivity warning */
.harvest-idle-warning {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 99999;
    width: min(320px, calc(100vw - 2rem));
    display: none;
    gap: .25rem;
    padding: .85rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(245, 158, 11, .35);
    background: rgba(255, 251, 235, .98);
    color: #92400e;
    box-shadow: 0 20px 45px rgba(15, 23, 42, .16);
    font-size: .82rem;
    line-height: 1.35;
}
.harvest-idle-warning.is-visible { display: grid; }
.harvest-idle-warning strong { font-size: .86rem; color: #78350f; }
.dark .harvest-idle-warning {
    background: rgba(69, 26, 3, .96);
    border-color: rgba(251, 191, 36, .25);
    color: #fde68a;
}
.dark .harvest-idle-warning strong { color: #fef3c7; }
@media (max-width: 640px) {
    .harvest-idle-warning { left: 1rem; right: 1rem; bottom: .85rem; width: auto; }
}

/* Task Force program scope assignment UI */
.taskforce-scope-panel{border:1px solid rgba(15,23,42,.10);background:linear-gradient(135deg,rgba(236,253,245,.75),rgba(255,255,255,.92));border-radius:1.35rem;padding:1rem;box-shadow:0 12px 32px rgba(15,23,42,.06)}
.dark .taskforce-scope-panel{border-color:rgba(148,163,184,.18);background:linear-gradient(135deg,rgba(6,78,59,.18),rgba(2,6,23,.9))}
.taskforce-scope-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.taskforce-scope-eyebrow{font-size:.68rem;line-height:1;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:#047857}.taskforce-scope-head h3{margin:.2rem 0 0;font-size:1rem;line-height:1.2;font-weight:900}.taskforce-scope-head p{margin:.25rem 0 0;font-size:.78rem;color:#64748b}.taskforce-scope-capabilities{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}.taskforce-scope-capabilities label,.taskforce-scope-all,.taskforce-scope-items label{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(15,23,42,.10);background:#fff;border-radius:999px;padding:.38rem .58rem;font-size:.75rem;font-weight:800;color:#334155;line-height:1.2}.dark .taskforce-scope-capabilities label,.dark .taskforce-scope-all,.dark .taskforce-scope-items label{background:#0f172a;border-color:rgba(148,163,184,.20);color:#cbd5e1}.taskforce-scope-panel input[type="checkbox"]{width:1rem!important;height:1rem!important;min-width:1rem!important;accent-color:#059669}.taskforce-scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem;margin-top:.9rem}.taskforce-scope-card{border:1px solid rgba(15,23,42,.10);background:#fff;border-radius:1.1rem;padding:.85rem;min-width:0}.dark .taskforce-scope-card{background:#020617;border-color:rgba(148,163,184,.18)}.taskforce-scope-program{display:flex;align-items:center;gap:.55rem;font-weight:950;color:#0f172a}.dark .taskforce-scope-program{color:#f8fafc}.taskforce-scope-program span{font-size:.95rem}.taskforce-scope-desc{font-size:.72rem;color:#64748b;margin:.35rem 0 .55rem;line-height:1.35}.taskforce-scope-items{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem}.taskforce-scope-items label{border-radius:.85rem;padding:.35rem .5rem;font-size:.72rem;max-width:100%}.taskforce-scope-items span{overflow:hidden;text-overflow:ellipsis;white-space:normal}.taskforce-scope-details{width:100%;border-top:1px dashed rgba(15,23,42,.14);padding-top:.85rem}.taskforce-scope-details summary{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;border:1px solid rgba(15,23,42,.12);border-radius:999px;padding:.45rem .75rem;font-size:.78rem;font-weight:900;background:#fff;color:#0f172a}.dark .taskforce-scope-details summary{background:#0f172a;border-color:rgba(148,163,184,.25);color:#e2e8f0}
@media(max-width:640px){.taskforce-scope-panel{padding:.8rem;border-radius:1rem}.taskforce-scope-grid{grid-template-columns:1fr}.taskforce-scope-capabilities label,.taskforce-scope-all,.taskforce-scope-items label{font-size:.7rem;padding:.32rem .48rem}.taskforce-scope-head h3{font-size:.92rem}.taskforce-scope-card{padding:.75rem}}

/* =========================================================
   HARVEST UNIVERSAL RESPONSIVE DESIGN PASS vFinal
   Goal: every screen (small phone -> wide desktop) keeps readable text,
   balanced blocks, visible search, clean controls, and no cramped labels.
   ========================================================= */
:root{
  --hr-gap-xs:.35rem;
  --hr-gap-sm:.55rem;
  --hr-gap-md:.85rem;
  --hr-gap-lg:1.15rem;
  --hr-radius-sm:.85rem;
  --hr-radius-md:1rem;
  --hr-radius-lg:1.25rem;
  --hr-input-h:2.72rem;
}
html,body{width:100%;max-width:100%;overflow-x:hidden!important;}
body{min-width:320px;text-rendering:optimizeLegibility;}
.app-main,main.app-main{width:100%!important;max-width:100vw!important;overflow-x:hidden!important;}
.app-main *, .app-header *{box-sizing:border-box!important;}

/* Avoid ugly one-letter wrapping while still allowing long names to wrap naturally. */
.app-main h1,.app-main h2,.app-main h3,.app-main h4,
.app-main p,.app-main li,.app-main label,.app-main button,.app-main a,
.app-main th,.app-main td,.app-main .app-badge,.app-main .app-pill,
.app-mobile-nav-title,.app-dropdown-title,.taskforce-scope-panel *{
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
}
.app-main button,.app-main .app-btn-primary,.app-main .app-btn-outline,
.app-main .app-action-menu-trigger,.app-main .app-smart-action-trigger,
.app-main .app-row-actions a,.app-main .app-row-actions button{
  white-space:nowrap!important;
}

/* Header: logo | search | actions. Keep search visible and usable. */
.app-header{min-height:auto!important;overflow:visible!important;}
.app-header-inner{
  display:grid!important;
  grid-template-columns:minmax(12rem,17rem) minmax(16rem,46rem) max-content!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(.5rem,1vw,.95rem)!important;
  width:100%!important;
  max-width:1560px!important;
  margin-inline:auto!important;
  padding-block:.6rem!important;
}
.app-header-inner>.flex.items-center{min-width:0!important;}
.app-brand-title,.app-brand-sub{max-width:100%!important;}
.app-header .app-global-search:not(.mobile-only):not(.app-mobile-inline-search){
  display:flex!important;
  width:100%!important;
  max-width:46rem!important;
  min-height:2.85rem!important;
  padding:.58rem .9rem!important;
  border-radius:1.05rem!important;
  margin-inline:auto!important;
}
.app-header .app-global-search input{font-size:clamp(.86rem,.35vw + .78rem,1rem)!important;}
.app-header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:.35rem!important;min-width:0!important;}
.app-top-nav{display:flex!important;align-items:center!important;gap:.32rem!important;overflow:visible!important;}
.app-top-nav-item,.icon-button,.app-user-trigger{
  width:2.38rem!important;height:2.38rem!important;min-width:2.38rem!important;
  border-radius:.9rem!important;box-shadow:0 8px 20px rgba(31,69,42,.055)!important;
}
.app-top-nav-item svg,.icon-button svg,.app-user-trigger svg{width:1.05rem!important;height:1.05rem!important;}
.app-user-avatar{width:2.3rem!important;height:2.3rem!important;border-radius:.85rem!important;}
.app-top-nav-badge{top:-.18rem!important;right:-.12rem!important;min-width:.98rem!important;height:.98rem!important;font-size:.55rem!important;}
.app-mobile-search-row{display:none!important;}

@media (max-width:1180px){
  .app-header-inner{grid-template-columns:minmax(10rem,14rem) minmax(13rem,1fr) max-content!important;}
  .app-brand-title{font-size:.98rem!important;}
  .app-brand-sub{font-size:.72rem!important;}
  .app-top-nav-item,.icon-button,.app-user-trigger{width:2.18rem!important;height:2.18rem!important;min-width:2.18rem!important;border-radius:.78rem!important;}
  .app-user-avatar{width:2.08rem!important;height:2.08rem!important;}
}
@media (max-width:900px) and (min-width:768px){
  .app-header-inner{grid-template-columns:auto minmax(14rem,1fr) max-content!important;padding-inline:.85rem!important;}
  .app-header .hidden.sm\:block{display:none!important;}
  .app-top-nav-item:nth-of-type(n+4){display:none!important;}
  .app-header .app-global-search:not(.mobile-only):not(.app-mobile-inline-search){min-height:2.55rem!important;}
}
@media (max-width:767px){
  .app-header-inner{grid-template-columns:auto minmax(0,1fr) auto!important;gap:.38rem!important;padding:.48rem .58rem!important;}
  .app-header .app-global-search:not(.app-mobile-inline-search){display:none!important;}
  .app-mobile-inline-search{display:flex!important;min-width:0!important;width:100%!important;height:2.32rem!important;min-height:2.32rem!important;padding:.42rem .58rem!important;border-radius:.85rem!important;box-shadow:none!important;}
  .app-mobile-inline-search input{font-size:clamp(.72rem,2.6vw,.86rem)!important;}
  .app-brand-mark{width:2rem!important;height:2rem!important;min-width:2rem!important;border-radius:.7rem!important;}
  .app-header .hidden.sm\:block{display:none!important;}
  .app-header-actions{gap:.18rem!important;}
  .app-mobile-quicknav{display:flex!important;gap:.18rem!important;overflow:visible!important;}
  .app-mobile-quicknav>a{display:none!important;}
  .app-mobile-quicknav>button#mobileNavToggle{display:inline-flex!important;}
  .app-top-nav-item,.icon-button,.app-user-trigger{width:2rem!important;height:2rem!important;min-width:2rem!important;border-radius:.7rem!important;}
  .app-top-nav-item svg,.icon-button svg,.app-user-trigger svg{width:.95rem!important;height:.95rem!important;}
  .app-user-avatar{width:1.94rem!important;height:1.94rem!important;border-radius:.68rem!important;}
  .app-top-nav-badge{min-width:.9rem!important;height:.9rem!important;font-size:.5rem!important;top:-.2rem!important;right:-.12rem!important;}
}
@media (max-width:370px){
  .app-header-inner{gap:.28rem!important;padding-left:.45rem!important;padding-right:.45rem!important;}
  .app-mobile-inline-search{height:2.12rem!important;min-height:2.12rem!important;padding:.34rem .48rem!important;}
  .app-mobile-inline-search svg{width:.86rem!important;height:.86rem!important;}
  .app-mobile-inline-search input{font-size:.7rem!important;}
  .app-brand-mark{width:1.85rem!important;height:1.85rem!important;min-width:1.85rem!important;}
  .app-top-nav-item,.icon-button,.app-user-trigger{width:1.9rem!important;height:1.9rem!important;min-width:1.9rem!important;}
  .icon-button[title="Toggle theme"]{display:none!important;}
}

/* Mobile drawer: balanced like modern apps. */
.app-mobile-drawer{width:min(23rem,88vw)!important;max-width:88vw!important;padding:.9rem!important;}
.app-mobile-nav-link{min-height:2.85rem!important;padding:.62rem .72rem!important;border-radius:.9rem!important;font-size:.88rem!important;}
.app-mobile-nav-icon{width:2rem!important;height:2rem!important;min-width:2rem!important;border-radius:.72rem!important;}
@media(max-width:380px){.app-mobile-drawer{width:min(21rem,91vw)!important;max-width:91vw!important;padding:.72rem!important;}.app-mobile-nav-link{font-size:.82rem!important;}}

/* Universal card/form density for modern software UI. */
.app-main{padding:clamp(.75rem,1.5vw,1.35rem)!important;}
.app-main section,.app-main .rounded-3xl,.app-main .rounded-\[2rem\],.app-main .page-card,.app-main .app-panel{border-radius:clamp(1rem,1.4vw,1.35rem)!important;}
.app-main section{min-width:0!important;}
.app-main .p-8{padding:clamp(1rem,2vw,1.75rem)!important;}
.app-main .p-6{padding:clamp(.9rem,1.5vw,1.35rem)!important;}
.app-main .p-5,.app-main .p-4{padding:clamp(.8rem,1.2vw,1.05rem)!important;}
.app-main h1{font-size:clamp(1.45rem,2.3vw,2.25rem)!important;line-height:1.1!important;}
.app-main h2{font-size:clamp(1.18rem,1.7vw,1.6rem)!important;line-height:1.15!important;}
.app-main h3{font-size:clamp(1rem,1.2vw,1.2rem)!important;line-height:1.2!important;}
.app-main p,.app-main td,.app-main th,.app-main li{font-size:clamp(.82rem,.35vw + .74rem,.95rem)!important;line-height:1.45!important;}
.app-main label{font-size:clamp(.76rem,.25vw + .7rem,.86rem)!important;line-height:1.25!important;}
.app-main input:not([type="checkbox"]):not([type="radio"]),.app-main select,.app-main textarea,.app-input-compact{
  min-height:var(--hr-input-h)!important;border-radius:.9rem!important;padding:.58rem .78rem!important;font-size:.92rem!important;line-height:1.25!important;
}
.app-main textarea{min-height:5.2rem!important;}
.app-main input[type="file"]{min-height:var(--hr-input-h)!important;padding:.48rem!important;font-size:.84rem!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.app-main input[type="checkbox"],.app-main input[type="radio"]{width:1rem!important;height:1rem!important;min-width:1rem!important;max-width:1rem!important;flex:0 0 1rem!important;}

/* Developer Program Scope screen: readable, responsive, no broken letters. */
.taskforce-scope-panel{padding:clamp(.85rem,1.4vw,1.15rem)!important;border-radius:1.15rem!important;overflow:visible!important;}
.taskforce-scope-head{display:grid!important;grid-template-columns:1fr!important;gap:.35rem!important;}
.taskforce-scope-head h3{font-size:clamp(1.05rem,1.45vw,1.45rem)!important;line-height:1.12!important;letter-spacing:-.02em!important;}
.taskforce-scope-head p{font-size:.82rem!important;line-height:1.4!important;max-width:62rem!important;}
.taskforce-scope-capabilities{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(8.25rem,max-content))!important;gap:.48rem!important;align-items:center!important;}
.taskforce-scope-capabilities label{display:inline-flex!important;align-items:center!important;gap:.48rem!important;min-width:0!important;width:auto!important;max-width:100%!important;padding:.45rem .62rem!important;border-radius:999px!important;font-size:.8rem!important;line-height:1.1!important;white-space:nowrap!important;}
.taskforce-scope-capabilities label span{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;}
.taskforce-scope-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))!important;gap:.75rem!important;align-items:start!important;}
.taskforce-scope-card{padding:.82rem!important;border-radius:1rem!important;min-width:0!important;overflow:visible!important;}
.taskforce-scope-program{display:flex!important;align-items:center!important;gap:.5rem!important;min-width:0!important;}
.taskforce-scope-program span{font-size:.96rem!important;line-height:1.15!important;font-weight:950!important;}
.taskforce-scope-desc{font-size:.75rem!important;line-height:1.35!important;}
.taskforce-scope-all{display:inline-flex!important;width:auto!important;max-width:100%!important;padding:.42rem .58rem!important;font-size:.78rem!important;line-height:1.15!important;white-space:normal!important;}
.taskforce-scope-items{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr))!important;gap:.42rem!important;}
.taskforce-scope-items label{display:flex!important;align-items:center!important;gap:.42rem!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:2.15rem!important;padding:.42rem .5rem!important;border-radius:.78rem!important;font-size:.76rem!important;line-height:1.15!important;}
.taskforce-scope-items label span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.15!important;}
.taskforce-scope-details{overflow:visible!important;}
.taskforce-scope-details summary{width:max-content!important;max-width:100%!important;}
@media(max-width:760px){
  .taskforce-scope-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .taskforce-scope-capabilities label{width:100%!important;justify-content:flex-start!important;}
  .taskforce-scope-grid{grid-template-columns:1fr!important;}
}
@media(max-width:420px){
  .taskforce-scope-capabilities{grid-template-columns:1fr!important;}
  .taskforce-scope-items{grid-template-columns:1fr!important;}
}

/* Event/program checklist cards: compact and readable. */
.app-event-create-form{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:.72rem!important;align-items:end!important;}
.app-event-create-form>div{min-width:0!important;}
.app-program-target-grid,.app-program-target-grid-compact,#program_target_group .app-program-target-grid{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,10.5rem),1fr))!important;gap:.5rem!important;padding:.65rem!important;border-radius:1rem!important;
}
.app-program-target-card,#program_target_group label{
  min-height:auto!important;padding:.55rem .6rem!important;border-radius:.82rem!important;grid-template-columns:auto minmax(0,1fr)!important;gap:.45rem!important;align-items:start!important;
}
.app-program-target-card strong,#program_target_group label strong{font-size:.82rem!important;line-height:1.15!important;}
.app-program-target-card small,#program_target_group label small,#program_target_group label .text-slate-500{font-size:.68rem!important;line-height:1.2!important;}

/* Tables: fit on desktop, card/scroll behavior on smaller screens. */
.app-table-wrap,.table-responsive,.overflow-x-auto{max-width:100%!important;}
@media(min-width:1120px){
  .household-results-table,.app-workflow-table{min-width:100%!important;width:100%!important;table-layout:auto!important;}
  .household-results-table th,.household-results-table td,.app-workflow-table th,.app-workflow-table td{white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;}
}
@media(max-width:1119px) and (min-width:768px){
  .household-results-table,.app-workflow-table{min-width:780px!important;}
}
@media(max-width:767px){
  .app-main .grid,.app-main [class*="grid-cols-"]{grid-template-columns:1fr!important;}
  .app-main{padding:.65rem!important;}
  .app-main section,.app-main .rounded-3xl,.app-main .rounded-\[2rem\]{padding:.85rem!important;border-radius:1rem!important;}
  .app-event-create-form,.app-validation-form,.app-final-validation-form,.app-release-form{grid-template-columns:1fr!important;}
  .app-event-create-form>*,.app-validation-form>*,.app-final-validation-form>*,.app-release-form>*{grid-column:1/-1!important;}
  .app-status-tabs{display:grid!important;grid-template-columns:1fr!important;gap:.45rem!important;}
  .app-status-tab{width:100%!important;min-height:2.45rem!important;justify-content:space-between!important;font-size:.82rem!important;padding:.58rem .75rem!important;}
}

/* Dropdowns/actions: stay above cards and be visible. */
.app-dropdown-wrap,.app-card-action-menu,.app-smart-action-menu,.app-mini-actions{position:relative!important;overflow:visible!important;}
.app-dropdown-menu,.app-smart-action-dropdown,.app-mini-actions-menu{z-index:99999!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
.app-dropdown-menu.hidden,.app-smart-action-dropdown.hidden,.app-mini-actions:not([open]) .app-mini-actions-menu{display:none!important;}
@supports selector(:has(*)){
  .app-table-wrap:has(.app-mini-actions[open]),
  .overflow-x-auto:has(.app-mini-actions[open]),
  .table-responsive:has(.app-mini-actions[open]){overflow:visible!important;}
}

/* Compact action buttons but never vertical text. */
.app-row-actions,.app-row-actions-compact{display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;gap:.4rem!important;flex-wrap:nowrap!important;white-space:nowrap!important;}
.app-row-actions .app-btn-outline,.app-row-actions .app-btn-primary,.app-row-actions-compact .app-btn-outline,.app-row-actions-compact .app-btn-primary{min-width:max-content!important;}

/* Make validation/release/event pages use space better on wide screens. */
.app-validation-page{max-width:min(100%,86rem)!important;margin-inline:auto!important;}
.app-release-form,.app-final-validation-form{max-width:100%!important;}
@media(min-width:1280px){
  .app-main{padding-left:2rem!important;padding-right:2rem!important;}
}

/* FINAL RESPONSIVE HEADER + ACCOUNT ACTION CLEANUP
   Goal: every device shows only Logo -> Search -> Menu in the header. All navigation,
   profile, theme and session controls live inside the menu drawer to avoid crowding. */
.app-header{overflow:visible!important;}
.app-header-inner{
  display:grid!important;
  grid-template-columns:minmax(8.5rem,14rem) minmax(12rem,1fr) max-content!important;
  align-items:center!important;
  gap:clamp(.45rem,1vw,.9rem)!important;
  min-height:4.25rem!important;
  padding-block:.65rem!important;
}
.app-header-inner>a,.app-header-inner>div:first-child{min-width:0!important;}
.app-header .app-brand-mark{width:2.7rem!important;height:2.7rem!important;min-width:2.7rem!important;border-radius:.9rem!important;}
.app-header .app-brand-title{font-size:clamp(.92rem,1.2vw,1.1rem)!important;line-height:1!important;white-space:nowrap!important;}
.app-header .app-global-search{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:3.05rem!important;
  padding:.68rem .85rem!important;
  border-radius:1.05rem!important;
  order:initial!important;
}
.app-header .app-global-search input{font-size:clamp(.82rem,1vw,.98rem)!important;line-height:1.2!important;}
.app-header .app-global-search svg{width:1.1rem!important;height:1.1rem!important;min-width:1.1rem!important;}
.app-header .app-mobile-search-row{display:none!important;}
.app-header .app-header-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  width:auto!important;
  min-width:0!important;
  margin-left:0!important;
  gap:0!important;
  overflow:visible!important;
}
/* Hide crowded header shortcuts. Menu drawer is the main navigation source. */
.app-header .app-top-nav,
.app-header .app-header-actions > .app-dropdown-wrap,
.app-header .app-header-actions > button.icon-button:not(#mobileNavToggle){display:none!important;}
.app-header .app-mobile-quicknav,
.app-header .app-mobile-quicknav.app-menu-only-nav,
.app-header .app-mobile-quicknav.md\:hidden{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  overflow:visible!important;
}
.app-header .app-mobile-quicknav > a{display:none!important;}
.app-header #mobileNavToggle{
  display:inline-flex!important;
  width:2.65rem!important;
  height:2.65rem!important;
  min-width:2.65rem!important;
  border-radius:.95rem!important;
}
.app-header #mobileNavToggle svg{width:1.12rem!important;height:1.12rem!important;}
.app-header .app-top-nav-badge{top:-.28rem!important;right:-.18rem!important;min-width:1.05rem!important;height:1.05rem!important;font-size:.62rem!important;border-width:2px!important;}
@media(min-width:768px){
  .app-header .app-global-search.app-mobile-inline-search{display:none!important;}
  .app-header .app-global-search.hidden.md\:flex{display:flex!important;}
}
@media(max-width:767px){
  .app-header-inner{grid-template-columns:max-content minmax(0,1fr) max-content!important;gap:.45rem!important;padding:.55rem .75rem!important;min-height:3.75rem!important;}
  .app-header .hidden.sm\:block{display:none!important;}
  .app-header .app-brand-mark{width:2.25rem!important;height:2.25rem!important;min-width:2.25rem!important;border-radius:.72rem!important;}
  .app-header .app-global-search.app-mobile-inline-search{display:flex!important;min-height:2.75rem!important;padding:.56rem .7rem!important;border-radius:.9rem!important;}
  .app-header .app-global-search.hidden.md\:flex{display:none!important;}
  .app-header #mobileNavToggle{width:2.35rem!important;height:2.35rem!important;min-width:2.35rem!important;border-radius:.8rem!important;}
}
@media(max-width:390px){
  .app-header-inner{grid-template-columns:2.05rem minmax(8rem,1fr) 2.25rem!important;gap:.35rem!important;padding-inline:.55rem!important;}
  .app-header .app-brand-mark{width:2.05rem!important;height:2.05rem!important;min-width:2.05rem!important;}
  .app-header .app-global-search.app-mobile-inline-search{min-height:2.45rem!important;padding:.48rem .58rem!important;}
  .app-header .app-global-search input{font-size:.75rem!important;}
  .app-header #mobileNavToggle{width:2.18rem!important;height:2.18rem!important;min-width:2.18rem!important;}
}
/* Menu drawer should work on desktop, tablet and phone. */
.app-mobile-drawer,
.app-mobile-drawer.md\:hidden{
  display:block!important;
  width:min(24rem,88vw)!important;
  max-width:88vw!important;
  padding:clamp(.8rem,1.5vw,1rem)!important;
  z-index:90!important;
}
.app-mobile-overlay{z-index:89!important;}
.app-mobile-nav-list{gap:.48rem!important;}
.app-mobile-nav-link,
button.app-mobile-nav-link{
  width:100%!important;
  min-height:2.7rem!important;
  padding:.68rem .75rem!important;
  border-radius:.9rem!important;
  font-size:.9rem!important;
  line-height:1.15!important;
  text-align:left!important;
  background:var(--app-surface-solid)!important;
}
.app-mobile-nav-icon{width:2.05rem!important;height:2.05rem!important;min-width:2.05rem!important;border-radius:.75rem!important;}
.app-mobile-nav-icon svg{width:1rem!important;height:1rem!important;}
.app-mobile-nav-section-label{margin:.75rem .15rem .25rem!important;font-size:.68rem!important;letter-spacing:.16em!important;}
.app-mobile-theme-toggle{cursor:pointer!important;}
@media(max-width:420px){.app-mobile-drawer,.app-mobile-drawer.md\:hidden{width:min(21rem,91vw)!important;max-width:91vw!important;}}

/* Compact password reveal buttons: never allow the Show icon to become a huge field. */
.auth-password-wrap{position:relative!important;display:flex!important;align-items:center!important;}
.auth-password-wrap input{padding-right:5.25rem!important;}
.password-toggle-button{
  position:absolute!important;
  right:.45rem!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:auto!important;
  min-width:4.25rem!important;
  max-width:4.8rem!important;
  height:2.15rem!important;
  padding:0 .58rem!important;
  border-radius:.75rem!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.35rem!important;
  font-size:.72rem!important;
  line-height:1!important;
}
.password-toggle-button svg{width:.95rem!important;height:.95rem!important;}
.password-toggle-text{white-space:nowrap!important;font-size:.72rem!important;}

/* Account card actions: inline, stable, readable. No large floating dropdown on account cards. */
.user-card{position:relative!important;overflow:visible!important;}
.user-inline-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:.45rem!important;
  min-width:fit-content!important;
}
.user-inline-action-form{display:inline-flex!important;margin:0!important;}
.app-action-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.38rem!important;
  min-height:2.25rem!important;
  padding:.5rem .72rem!important;
  border-radius:.85rem!important;
  border:1px solid var(--app-border)!important;
  background:var(--app-surface-solid)!important;
  color:var(--app-text)!important;
  font-size:.78rem!important;
  font-weight:900!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.app-action-pill svg{width:.92rem!important;height:.92rem!important;}
.app-action-pill-primary{background:var(--app-primary)!important;color:#fff!important;border-color:transparent!important;}
.app-action-pill-danger{background:#fff8f7!important;color:#991b1b!important;border-color:#fecaca!important;}
.app-action-pill-muted{background:color-mix(in srgb,var(--app-primary-soft) 75%,#fff)!important;color:var(--app-primary-strong)!important;}
@media(max-width:780px){
  .user-card{display:grid!important;grid-template-columns:1fr!important;gap:.85rem!important;}
  .user-inline-actions{justify-content:flex-start!important;width:100%!important;min-width:0!important;}
  .app-action-pill{flex:1 1 8rem!important;min-width:8rem!important;}
}

/* Developer program scope: readable controls on every width. */
.taskforce-scope-panel{overflow:visible!important;max-width:100%!important;}
.taskforce-scope-head h3{font-size:clamp(1.05rem,1.8vw,1.45rem)!important;line-height:1.15!important;}
.taskforce-scope-capabilities{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr))!important;gap:.48rem!important;}
.taskforce-scope-capabilities label,
.taskforce-scope-all,
.taskforce-scope-items label{min-width:0!important;overflow:visible!important;white-space:normal!important;word-break:normal!important;hyphens:none!important;}
.taskforce-scope-capabilities label span,
.taskforce-scope-all span,
.taskforce-scope-items label span{white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;line-height:1.18!important;}
.taskforce-scope-items{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,10.5rem),1fr))!important;gap:.45rem!important;}
.taskforce-scope-items label{min-height:2.35rem!important;padding:.46rem .55rem!important;}
.taskforce-scope-panel input[type="checkbox"]{width:1rem!important;height:1rem!important;min-width:1rem!important;}
@media(max-width:520px){
  .taskforce-scope-capabilities{grid-template-columns:1fr 1fr!important;}
  .taskforce-scope-items{grid-template-columns:1fr!important;}
  .taskforce-scope-card{padding:.72rem!important;}
}
@media(max-width:360px){.taskforce-scope-capabilities{grid-template-columns:1fr!important;}}

/* =========================================================
   FINAL HEADER + USER FORM FIX 2026-05-20
   Rules requested: header keeps Logo + Search + Profile + Burger only.
   All other navigation remains in the burger drawer. Password show button
   stays compact, and Task Force program scope only appears for Task Force.
   ========================================================= */
.app-header .app-top-nav,
.app-header .app-mobile-quicknav > a,
.app-header .app-header-actions > button.icon-button:not(#mobileNavToggle) {
  display: none !important;
}
.app-header .app-header-actions > .app-dropdown-wrap {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  order: 1 !important;
}
.app-header .app-mobile-quicknav,
.app-header .app-mobile-quicknav.app-menu-only-nav,
.app-header .app-mobile-quicknav.md\:hidden {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  order: 2 !important;
  width: auto !important;
}
.app-header #mobileNavToggle {
  display: inline-flex !important;
}
.app-header .app-header-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: .42rem !important;
  width: auto !important;
}
.app-header .app-user-trigger {
  display: inline-flex !important;
  width: 2.55rem !important;
  height: 2.55rem !important;
  min-width: 2.55rem !important;
  border-radius: .95rem !important;
  padding: 3px !important;
}
.app-header .app-user-avatar {
  width: 2.05rem !important;
  height: 2.05rem !important;
  border-radius: .78rem !important;
}
@media (max-width: 767px) {
  .app-header-inner {
    grid-template-columns: max-content minmax(0, 1fr) max-content !important;
  }
  .app-header .app-user-trigger,
  .app-header #mobileNavToggle {
    width: 2.18rem !important;
    height: 2.18rem !important;
    min-width: 2.18rem !important;
    border-radius: .75rem !important;
  }
  .app-header .app-user-avatar {
    width: 1.78rem !important;
    height: 1.78rem !important;
    border-radius: .62rem !important;
  }
  .app-header .app-header-actions { gap: .25rem !important; }
}
@media (max-width: 370px) {
  .app-header-inner {
    grid-template-columns: 2.05rem minmax(0, 1fr) 4.75rem !important;
  }
}

.auth-password-wrap {
  position: relative !important;
}
.auth-password-wrap .password-toggle-button,
.auth-password-wrap .app-password-toggle-auto {
  position: absolute !important;
  inset-block-start: 50% !important;
  inset-inline-end: .55rem !important;
  transform: translateY(-50%) !important;
  width: auto !important;
  max-width: 4.4rem !important;
  min-width: 2.1rem !important;
  height: 2.05rem !important;
  padding: 0 .55rem !important;
  border-radius: .72rem !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  z-index: 5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .28rem !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}
.auth-password-wrap .password-toggle-button:hover,
.auth-password-wrap .app-password-toggle-auto:hover,
.auth-password-wrap .password-toggle-button[aria-pressed="true"],
.auth-password-wrap .app-password-toggle-auto[aria-pressed="true"] {
  background: color-mix(in srgb, var(--app-primary-soft) 70%, #fff) !important;
  border: 1px solid color-mix(in srgb, var(--app-primary) 18%, var(--app-border)) !important;
}
.auth-password-wrap .password-toggle-button svg,
.auth-password-wrap .app-password-toggle-auto svg {
  width: .95rem !important;
  height: .95rem !important;
  min-width: .95rem !important;
}
.auth-password-wrap .password-toggle-text {
  font-size: .68rem !important;
  font-weight: 850 !important;
}
.auth-password-wrap input.app-has-password-toggle,
.auth-password-wrap input[type="password"],
.auth-password-wrap input[type="text"] {
  padding-right: 4.85rem !important;
}
@media (max-width: 480px) {
  .auth-password-wrap .password-toggle-text { display: none !important; }
  .auth-password-wrap .password-toggle-button,
  .auth-password-wrap .app-password-toggle-auto {
    max-width: 2.1rem !important;
    padding: 0 !important;
  }
  .auth-password-wrap input.app-has-password-toggle { padding-right: 3rem !important; }
}

.taskforce-create-scope-wrap[hidden] { display: none !important; }
.taskforce-create-scope-wrap.is-visible { display: block !important; }
.taskforce-create-scope-wrap .taskforce-scope-panel { margin-top: .25rem !important; }

/* Make native select/dropdown controls feel consistent with the app. */
select,
input[type="file"] {
  max-width: 100% !important;
}


/* Program-ready workflow UI: keep forms, checklists, and program cards readable on all devices. */
.app-program-stage-page .app-compact-card,
.app-program-stage-page form { overflow: visible; }
.app-program-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; align-items: start; }
.app-program-release-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; align-items: start; }
.app-program-checks { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .65rem; }
.app-program-checks label { display: flex; align-items: flex-start; gap: .55rem; min-width: 0; line-height: 1.25; white-space: normal; word-break: normal; overflow-wrap: anywhere; padding: .72rem .85rem; border: 1px solid rgba(21, 128, 61, .16); border-radius: 1rem; background: rgba(255,255,255,.72); }
.app-program-checks input[type="checkbox"] { width: 1.05rem !important; height: 1.05rem !important; flex: 0 0 auto; margin-top: .1rem; }
.app-program-target-grid-compact { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .75rem; padding: .85rem; }
.app-program-target-card { min-width: 0; height: auto; padding: .75rem .85rem; align-items: flex-start; }
.app-program-target-card span { min-width: 0; }
.app-program-target-card strong { display: block; white-space: normal; overflow-wrap: anywhere; line-height: 1.15; }
.app-program-target-card small { display: block; margin-top: .25rem; line-height: 1.25; white-space: normal; overflow-wrap: anywhere; }
#program-intake-guide [data-guide-points] > div { min-width: 0; line-height: 1.25; }
@media (max-width: 640px) {
  .app-program-form-grid, .app-program-release-form { grid-template-columns: 1fr; }
  .app-program-checks { grid-template-columns: 1fr; }
  .app-program-target-grid-compact { grid-template-columns: 1fr; }
  .app-program-stage-page h1 { font-size: 1.45rem !important; line-height: 1.12; }
}


/* Final polish: readable program-specific intake guide across all devices. */
.program-intake-guide{
  border:1px solid rgba(16,185,129,.24)!important;
  background:linear-gradient(135deg,rgba(236,253,245,.78),rgba(255,255,255,.94))!important;
  border-radius:1.15rem!important;
  padding:clamp(.8rem,1.2vw,1.05rem)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.05)!important;
  overflow:visible!important;
}
.dark .program-intake-guide{
  background:linear-gradient(135deg,rgba(6,78,59,.22),rgba(2,6,23,.88))!important;
  border-color:rgba(52,211,153,.22)!important;
}
.program-guide-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:.75rem!important;
  flex-wrap:wrap!important;
}
.program-guide-eyebrow{
  font-size:.68rem!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
  color:#047857!important;
}
.program-guide-head h3{
  margin:.22rem 0 0!important;
  font-size:clamp(1rem,1.45vw,1.25rem)!important;
  line-height:1.12!important;
  font-weight:950!important;
  color:#10231a!important;
}
.dark .program-guide-head h3{color:#ecfdf5!important;}
.program-guide-stage{
  display:inline-flex!important;
  align-items:center!important;
  min-height:1.9rem!important;
  border-radius:999px!important;
  border:1px solid rgba(16,185,129,.26)!important;
  background:rgba(255,255,255,.72)!important;
  padding:.36rem .68rem!important;
  font-size:.72rem!important;
  font-weight:900!important;
  color:#065f46!important;
  white-space:nowrap!important;
}
.dark .program-guide-stage{background:rgba(15,23,42,.72)!important;color:#a7f3d0!important;}
.program-guide-points{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))!important;
  gap:.55rem!important;
  margin-top:.8rem!important;
}
.program-guide-chip{
  display:flex!important;
  align-items:flex-start!important;
  gap:.5rem!important;
  min-width:0!important;
  border:1px solid rgba(16,185,129,.18)!important;
  background:rgba(255,255,255,.84)!important;
  border-radius:.95rem!important;
  padding:.62rem .72rem!important;
  color:#1f3a2d!important;
  font-size:.83rem!important;
  line-height:1.25!important;
  font-weight:800!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.dark .program-guide-chip{background:rgba(15,23,42,.82)!important;border-color:rgba(52,211,153,.18)!important;color:#d1fae5!important;}
.program-guide-dot{
  width:.48rem!important;
  height:.48rem!important;
  min-width:.48rem!important;
  margin-top:.28rem!important;
  border-radius:999px!important;
  background:#059669!important;
  box-shadow:0 0 0 3px rgba(16,185,129,.14)!important;
}
.program-guide-note{
  margin-top:.7rem!important;
  padding:.62rem .72rem!important;
  border-radius:.9rem!important;
  background:rgba(248,250,252,.86)!important;
  border:1px dashed rgba(15,23,42,.12)!important;
  color:#475569!important;
  font-size:.8rem!important;
  line-height:1.35!important;
}
.dark .program-guide-note{background:rgba(15,23,42,.72)!important;border-color:rgba(148,163,184,.18)!important;color:#cbd5e1!important;}
@media(max-width:640px){
  .program-intake-guide{padding:.78rem!important;border-radius:1rem!important;}
  .program-guide-head{gap:.45rem!important;}
  .program-guide-stage{font-size:.68rem!important;min-height:1.65rem!important;padding:.26rem .52rem!important;}
  .program-guide-points{grid-template-columns:1fr!important;gap:.42rem!important;margin-top:.62rem!important;}
  .program-guide-chip{font-size:.78rem!important;padding:.5rem .58rem!important;border-radius:.8rem!important;}
  .program-guide-note{font-size:.75rem!important;padding:.5rem .58rem!important;}
}


/* =========================================================
   HARVEST iPHONE / SMALL DEVICE FINAL COMPACT PASS
   Purpose: make the system comfortable on iPhone 7 and other
   small phones without removing important navigation.
   ========================================================= */
:root{--mobile-safe-pad:.68rem;}
.app-global-search input::placeholder{color:#7b8a7f!important;opacity:.92!important;font-weight:500!important;}
.app-global-search input{color:#1f3328!important;min-width:0!important;}
.dark .app-global-search input{color:#e5f2ea!important;}
.dark .app-global-search input::placeholder{color:#94a3b8!important;}

/* KPI cards: compact tiles on phones; no long helper text in the tile. */
.app-kpi-hint{display:none!important;}
.app-kpi-card .mt-3.text-xs,
.app-kpi-card [class*="text-emerald-700"]{margin-top:.32rem!important;font-size:.72rem!important;line-height:1.05!important;}
@media(max-width:640px){
  .app-main{padding-inline:var(--mobile-safe-pad)!important;padding-top:.75rem!important;gap:.75rem!important;}
  .app-kpi-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.55rem!important;width:100%!important;}
  .app-kpi-card{min-height:5.75rem!important;padding:.68rem .72rem!important;border-radius:1rem!important;box-shadow:0 10px 22px rgba(31,69,42,.06)!important;justify-content:flex-start!important;}
  .app-kpi-label{font-size:.72rem!important;line-height:1.15!important;font-weight:760!important;color:#435449!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
  .app-kpi-value{font-size:1.62rem!important;margin-top:.22rem!important;line-height:.95!important;}
  .app-kpi-card .mt-3.text-xs{font-size:.68rem!important;margin-top:.35rem!important;}
  .app-kpi-card:hover{transform:none!important;}
  .dashboard-stat{padding:.72rem!important;min-height:5.75rem!important;}
}
@media(max-width:350px){
  .app-kpi-grid{grid-template-columns:1fr!important;}
  .app-kpi-card{min-height:auto!important;}
}

/* Header: logo + visible compact search + profile + burger; fit iPhone width. */
@media(max-width:767px){
  .app-header{position:sticky!important;top:0!important;z-index:80!important;}
  .app-header-inner{grid-template-columns:2.22rem minmax(0,1fr) auto!important;gap:.32rem!important;padding:.42rem .5rem!important;min-height:3.25rem!important;}
  .app-header .app-brand-mark{width:2.08rem!important;height:2.08rem!important;min-width:2.08rem!important;border-radius:.68rem!important;}
  .app-header .app-global-search.app-mobile-inline-search{min-height:2.28rem!important;height:2.28rem!important;padding:.38rem .46rem!important;border-radius:.82rem!important;gap:.34rem!important;box-shadow:0 6px 16px rgba(31,69,42,.045)!important;}
  .app-header .app-global-search.app-mobile-inline-search svg{width:.92rem!important;height:.92rem!important;min-width:.92rem!important;color:#1f3328!important;}
  .app-header .app-global-search.app-mobile-inline-search input{font-size:.76rem!important;line-height:1.1!important;text-overflow:ellipsis!important;}
  .app-header .app-global-search.app-mobile-inline-search input::placeholder{font-size:.76rem!important;color:#708074!important;font-weight:500!important;}
  .app-header-actions{gap:.22rem!important;}
  .app-header .app-user-trigger{display:inline-flex!important;width:2.14rem!important;height:2.14rem!important;min-width:2.14rem!important;border-radius:.72rem!important;padding:2px!important;}
  .app-header .app-user-avatar{width:1.86rem!important;height:1.86rem!important;border-radius:.62rem!important;}
  .app-header #mobileNavToggle{width:2.22rem!important;height:2.22rem!important;min-width:2.22rem!important;border-radius:.72rem!important;}
  .app-header #mobileNavToggle svg{width:1rem!important;height:1rem!important;}
  .app-header .app-top-nav-badge{min-width:.96rem!important;height:.96rem!important;font-size:.55rem!important;top:-.23rem!important;right:-.18rem!important;}
}
@media(max-width:390px){
  .app-header-inner{grid-template-columns:2rem minmax(0,1fr) auto!important;gap:.24rem!important;padding-inline:.38rem!important;}
  .app-header .app-brand-mark{width:1.9rem!important;height:1.9rem!important;min-width:1.9rem!important;}
  .app-header .app-global-search.app-mobile-inline-search{height:2.12rem!important;min-height:2.12rem!important;padding:.32rem .4rem!important;}
  .app-header .app-global-search.app-mobile-inline-search input,
  .app-header .app-global-search.app-mobile-inline-search input::placeholder{font-size:.68rem!important;}
  .app-header .app-user-trigger{width:2rem!important;height:2rem!important;min-width:2rem!important;}
  .app-header .app-user-avatar{width:1.74rem!important;height:1.74rem!important;}
  .app-header #mobileNavToggle{width:2.05rem!important;height:2.05rem!important;min-width:2.05rem!important;}
}

/* Mobile sections/cards: reduce vertical whitespace without making text unreadable. */
@media(max-width:640px){
  .app-main section,
  .app-main .app-compact-section,
  .app-main [class*="rounded-[2rem]"]{border-radius:1.05rem!important;padding:.92rem!important;}
  .app-main .grid{gap:.75rem!important;}
  .app-main h1{font-size:1.35rem!important;line-height:1.08!important;}
  .app-main h2{font-size:1.18rem!important;line-height:1.12!important;}
  .app-main h3{font-size:1rem!important;line-height:1.14!important;}
  .app-main p,.app-main .text-sm{font-size:.82rem!important;line-height:1.35!important;}
  .app-main .text-xs{font-size:.72rem!important;line-height:1.25!important;}
  .app-main .app-action-card{padding:.75rem!important;border-radius:.95rem!important;min-height:auto!important;}
  .app-main .app-action-text{display:none!important;}
}

/* Responsive table cards: readable labels with colon and spacing on phones. */
@media(max-width:640px){
  .app-responsive-table{min-width:0!important;width:100%!important;border-collapse:separate!important;border-spacing:0!important;}
  .app-responsive-table thead{display:none!important;}
  .app-responsive-table tbody,.app-responsive-table tr,.app-responsive-table td{display:block!important;width:100%!important;}
  .app-responsive-table tr{border:1px solid var(--app-border)!important;border-radius:1rem!important;margin:.65rem 0!important;padding:.6rem!important;background:var(--app-surface-solid)!important;box-shadow:0 8px 18px rgba(31,69,42,.045)!important;}
  .app-responsive-table td{display:grid!important;grid-template-columns:minmax(5.4rem,38%) minmax(0,1fr)!important;align-items:start!important;gap:.45rem!important;border:0!important;padding:.42rem .25rem!important;text-align:left!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;}
  .app-responsive-table td::before{content:attr(data-label) ":"!important;display:block!important;font-weight:900!important;color:var(--app-primary-strong)!important;max-width:none!important;line-height:1.2!important;}
  .app-responsive-table td > *{min-width:0!important;}
  .app-responsive-table td .app-btn-outline,
  .app-responsive-table td .app-btn-primary{width:auto!important;min-height:2rem!important;padding:.45rem .65rem!important;font-size:.76rem!important;}
}

/* Golden Household and household result cards are dense on mobile. */
@media(max-width:640px){
  .household-results-table tr{margin:.55rem 0!important;padding:.55rem!important;border-radius:1rem!important;}
  .household-results-table td{font-size:.78rem!important;padding:.35rem .18rem!important;}
  .household-results-table .app-badge{font-size:.66rem!important;padding:.25rem .45rem!important;}
  .household-results-table .app-row-actions,
  .household-results-table .table-actions{display:flex!important;gap:.35rem!important;flex-wrap:wrap!important;justify-content:flex-start!important;}
}

/* Forms and placeholders on phones: quieter, smaller, consistent. */
@media(max-width:640px){
  .app-main input,.app-main select,.app-main textarea{font-size:.86rem!important;min-height:2.45rem!important;border-radius:.82rem!important;padding:.55rem .68rem!important;}
  .app-main input::placeholder,.app-main textarea::placeholder{color:#7b8a7f!important;opacity:.88!important;font-weight:500!important;font-size:.82rem!important;}
  .app-main label{font-size:.76rem!important;line-height:1.2!important;}
  .app-main button,.app-main .app-btn-primary,.app-main .app-btn-outline{font-size:.8rem!important;min-height:2.25rem!important;padding:.48rem .7rem!important;border-radius:.78rem!important;}
}

/* Program guide: mobile chips should never look highlighted/oversized. */
@media(max-width:640px){
  .program-intake-guide{padding:.68rem!important;border-radius:.9rem!important;}
  .program-guide-eyebrow{font-size:.56rem!important;letter-spacing:.12em!important;}
  .program-guide-head h3{font-size:.95rem!important;}
  .program-guide-chip{font-size:.72rem!important;padding:.42rem .5rem!important;border-radius:.72rem!important;line-height:1.18!important;background:rgba(255,255,255,.78)!important;}
  .program-guide-note{font-size:.7rem!important;padding:.42rem .5rem!important;}
}

/* Developer program flow builder */
.app-program-flow-page{overflow:visible}.app-flow-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:1rem;align-items:stretch}.app-flow-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.app-flow-selectors label,.app-flow-field{display:grid;gap:.45rem}.app-flow-selectors span,.app-flow-field span{font-size:.8rem;font-weight:800;color:var(--app-muted,#64748b)}.app-flow-summary-card{border:1px solid rgba(24,82,45,.18);border-radius:1.35rem;background:rgba(255,255,255,.76);padding:1rem;display:grid;gap:.35rem;box-shadow:0 12px 30px rgba(24,82,45,.06)}.app-flow-summary-card strong{color:#154f2d;font-size:1rem}.app-flow-summary-card small{color:#64748b;line-height:1.45}.app-flow-board{display:flex;gap:1rem;overflow-x:auto;overflow-y:visible;padding:.25rem .15rem 1rem;scroll-snap-type:x proximity}.app-flow-card{flex:0 0 min(310px,86vw);scroll-snap-align:start;border:1px solid rgba(24,82,45,.18);border-radius:1.45rem;background:linear-gradient(145deg,#fffef9,#f7fbf2);padding:1rem;display:grid;gap:.9rem;box-shadow:0 16px 36px rgba(24,82,45,.08);position:relative}.app-flow-card.is-disabled{opacity:.72;background:linear-gradient(145deg,#fafafa,#f1f5f9)}.app-flow-card.is-dragging{opacity:.45;transform:scale(.98)}.app-flow-card-top{display:flex;align-items:center;gap:.55rem}.app-flow-handle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:#eef7eb;color:#1c5b34;cursor:grab}.app-flow-step-no{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:999px;background:#245f35;color:#fff;font-weight:900;font-size:.8rem}.app-flow-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(24,82,45,.2);border-radius:999px;padding:.36rem .65rem;font-weight:800;font-size:.78rem;white-space:nowrap;background:#fff}.app-flow-toggle input,.app-flow-required input{width:1rem;height:1rem;accent-color:#167044}.app-flow-stage-key{display:inline-flex;width:max-content;max-width:100%;border-radius:999px;background:#eef7eb;color:#18522d;font-weight:900;font-size:.72rem;padding:.32rem .6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-flow-required{display:flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:800;color:#334155}.app-flow-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.app-btn-mini{border:1px solid rgba(24,82,45,.2);border-radius:999px;background:#fff;padding:.45rem .72rem;font-size:.78rem;font-weight:900;color:#18522d}.app-btn-mini:hover{background:#eef7eb}@media(max-width:900px){.app-flow-toolbar{grid-template-columns:1fr}.app-flow-selectors{grid-template-columns:1fr}.app-flow-card{flex-basis:min(285px,84vw);padding:.9rem}.app-flow-summary-card{padding:.85rem}}@media(max-width:520px){.app-flow-board{gap:.75rem}.app-flow-card{flex-basis:82vw;border-radius:1.1rem}.app-flow-card-top{gap:.35rem}.app-flow-toggle{font-size:.72rem;padding:.28rem .5rem}.app-flow-stage-key{font-size:.66rem}.app-flow-card-actions{display:grid;grid-template-columns:1fr 1fr}.app-btn-mini{padding:.42rem .5rem;font-size:.72rem}}

/* Program proof/photo documentation - responsive */
.app-proof-upload{border:1px dashed rgba(22,101,52,.28);background:rgba(240,253,244,.48);border-radius:1rem;padding:.85rem 1rem}
.app-proof-file-compact{max-width:240px;font-size:.78rem;padding:.48rem .65rem!important;border-style:dashed!important;background:rgba(255,255,255,.82)!important}
.app-proof-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.85rem}
.app-proof-card{display:block;overflow:hidden;border:1px solid rgba(203,213,225,.85);border-radius:1.15rem;background:rgba(255,255,255,.92);box-shadow:0 10px 25px rgba(22,61,40,.06);text-decoration:none;color:inherit;min-width:0}
.app-proof-card:hover{border-color:rgba(22,101,52,.35);transform:translateY(-1px)}
.app-proof-card img{display:block;width:100%;height:130px;object-fit:cover;background:#f8fafc}
.app-proof-card-body{padding:.8rem;min-width:0}
.app-proof-stage{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#047857;margin-bottom:.22rem}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.app-proof-gallery-section{overflow:hidden}
@media (max-width: 640px){
  .app-proof-upload{padding:.7rem;border-radius:.9rem}
  .app-proof-gallery{grid-template-columns:1fr 1fr;gap:.65rem}
  .app-proof-card{border-radius:1rem}
  .app-proof-card img{height:96px}
  .app-proof-card-body{padding:.62rem}
  .app-proof-card-body .font-black{font-size:.82rem;white-space:normal;line-height:1.2}
  .app-proof-stage{font-size:.58rem;letter-spacing:.08em}
  .app-proof-file-compact{max-width:100%;width:100%}
  .app-violation-form .app-proof-file-compact{grid-column:1/-1}
}
@media (max-width: 380px){.app-proof-gallery{grid-template-columns:1fr}.app-proof-card img{height:130px}}

/* FINAL HEADER + MOBILE MENU OVERRIDE
   Desktop/laptop: show the real top-menu icons and hide burger.
   Tablet/phone: keep only logo + search + profile + burger; full navigation stays in drawer. */
@media (min-width: 961px) {
  .app-header .app-header-inner {
    display: grid !important;
    grid-template-columns: minmax(11rem, 16rem) minmax(18rem, 1fr) max-content !important;
    align-items: center !important;
    gap: .9rem !important;
  }
  .app-header .app-global-search.hidden.md\:flex {
    display: flex !important;
    width: min(43vw, 48rem) !important;
    min-height: 3.05rem !important;
  }
  .app-header .app-global-search.app-mobile-inline-search,
  .app-header .app-mobile-search-row,
  .app-header .app-mobile-search-row .app-global-search {
    display: none !important;
  }
  .app-header .app-header-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: .38rem !important;
    width: auto !important;
  }
  .app-header .app-top-nav,
  .app-header .app-top-nav.hidden.md\:flex {
    display: flex !important;
    align-items: center !important;
    gap: .34rem !important;
    max-width: none !important;
    overflow: visible !important;
  }
  .app-header .app-mobile-quicknav,
  .app-header .app-mobile-quicknav.app-menu-only-nav,
  .app-header #mobileNavToggle {
    display: none !important;
  }
  .app-header .app-header-actions > .app-dropdown-wrap,
  .app-header .app-header-actions > button.icon-button:not(#mobileNavToggle) {
    display: inline-flex !important;
  }
  .app-header .app-top-nav-item,
  .app-header .icon-button,
  .app-header .app-user-trigger {
    width: 2.55rem !important;
    height: 2.55rem !important;
    min-width: 2.55rem !important;
    border-radius: .9rem !important;
  }
}

@media (max-width: 960px) {
  .app-header .app-header-inner {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: .4rem !important;
  }
  .app-header .hidden.sm\:block,
  .app-header .app-top-nav,
  .app-header .app-top-nav.hidden.md\:flex,
  .app-header .app-header-actions > button.icon-button:not(#mobileNavToggle),
  .app-header .app-mobile-search-row {
    display: none !important;
  }
  .app-header .app-global-search.hidden.md\:flex {
    display: none !important;
  }
  .app-header .app-global-search.app-mobile-inline-search {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .app-header .app-header-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .22rem !important;
    width: auto !important;
    min-width: max-content !important;
  }
  .app-header .app-mobile-quicknav,
  .app-header .app-mobile-quicknav.app-menu-only-nav {
    display: flex !important;
    align-items: center !important;
    gap: .18rem !important;
    max-width: none !important;
    overflow: visible !important;
  }
  .app-header .app-mobile-quicknav > a {
    display: none !important;
  }
  .app-header #mobileNavToggle {
    display: inline-flex !important;
  }
  .app-header .app-header-actions > .app-dropdown-wrap {
    display: inline-flex !important;
  }
}

@media (max-width: 430px) {
  .app-header .app-brand-mark {
    width: 2.05rem !important;
    height: 2.05rem !important;
    min-width: 2.05rem !important;
  }
  .app-header .app-global-search.app-mobile-inline-search {
    min-height: 2.2rem !important;
    height: 2.2rem !important;
    padding: .36rem .52rem !important;
    border-radius: .78rem !important;
  }
  .app-header .app-global-search.app-mobile-inline-search input {
    font-size: .72rem !important;
  }
  .app-header .app-user-trigger,
  .app-header #mobileNavToggle {
    width: 2rem !important;
    height: 2rem !important;
    min-width: 2rem !important;
    border-radius: .72rem !important;
  }
  .app-header .app-user-avatar {
    width: 1.65rem !important;
    height: 1.65rem !important;
  }
}

/* Program guide blocks were removed from intake pages. Hide stale injected copies if cached. */
.program-intake-guide,
.program-guide-head,
.program-guide-points,
.program-guide-note,
.program-guide-stage {
  display: none !important;
}

/* Program flow builder v3: keep save controls below the stage cards */
.app-flow-actions-below{display:grid;grid-template-columns:1fr;gap:.85rem;clear:both;width:100%;max-width:100%;margin-top:1.15rem;padding-top:.85rem;border-top:1px solid rgba(24,82,45,.12)}
.app-flow-save-note{font-size:.9rem;line-height:1.55;color:var(--app-muted,#64748b);max-width:none}
.app-flow-save-button{width:100%;justify-content:center;min-height:3rem}
@media(min-width:900px){.app-flow-actions-below{padding-left:.15rem;padding-right:.15rem}.app-flow-save-button{max-width:none}}

/* Program flow builder v4: save controls stay under all stage cards, never beside them */
#programFlowForm{display:block!important;width:100%!important;max-width:100%!important;clear:both!important}
#programFlowForm .app-flow-board{display:flex!important;width:100%!important;max-width:100%!important;clear:both!important}
#programFlowForm .app-flow-actions-below{display:grid!important;grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;clear:both!important;float:none!important;margin-top:1.25rem!important;grid-column:1/-1!important;position:relative!important;left:auto!important;right:auto!important}
#programFlowForm .app-flow-save-button{width:100%!important;justify-content:center!important;text-align:center!important}

/* v13 login cleanup: compact centered login and light-only UI */
html.dark { color-scheme: light !important; }
.auth-page { min-height: 100vh; background: radial-gradient(circle at 20% 10%, rgba(250, 214, 100, .18), transparent 28%), radial-gradient(circle at 80% 18%, rgba(28, 92, 49, .10), transparent 28%), linear-gradient(135deg, #f8f5e9, #eef5e9 48%, #fffaf0); }
.auth-card-compact { box-shadow: 0 24px 80px rgba(31, 72, 43, .14) !important; }
.auth-card-compact input::placeholder { color: #64748b; opacity: .86; }
.auth-card-compact .password-toggle-button { right: .75rem; }
.app-mobile-theme-toggle { display: none !important; }

/* v14 login polish: compact card, logo watermark background, light only */
html.dark { color-scheme: light !important; }
.auth-page {
  position: relative;
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 50% 46%, rgba(245, 201, 74, .18), transparent 18rem),
    radial-gradient(circle at 34% 24%, rgba(32, 103, 53, .13), transparent 22rem),
    radial-gradient(circle at 75% 74%, rgba(32, 103, 53, .10), transparent 25rem),
    linear-gradient(135deg, #fffaf0 0%, #f4f8ee 48%, #eef6e9 100%) !important;
}
.auth-page::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: var(--auth-logo-url);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: min(54vw, 36rem);
  opacity: .075;
  filter: blur(.35px) saturate(1.12);
  transform: scale(1.03);
}
.auth-page::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.18), transparent 16rem),
    radial-gradient(circle at 50% 49%, rgba(255,255,255,.62), transparent 25rem);
}
.auth-main,
.auth-card-compact,
.auth-top-brand { position: relative; z-index: 1; }
.auth-top-brand {
  position: fixed;
  top: 1.15rem;
  left: 1.15rem;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-height: 2.55rem;
  padding: .36rem .82rem .36rem .42rem;
  border-radius: 999px;
  border: 1px solid rgba(34, 84, 48, .15);
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 14px 38px rgba(31, 72, 43, .10);
  backdrop-filter: blur(14px);
}
.auth-top-brand__logo {
  width: 1.95rem;
  height: 1.95rem;
  border-radius: 999px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(29, 104, 54, .08);
}
.auth-top-brand__logo img { width: 100%; height: 100%; object-fit: cover; }
.auth-top-brand__text {
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #174b2a;
}
.auth-card-compact {
  width: min(100%, 24.5rem) !important;
  max-width: 24.5rem !important;
  border-radius: 1.45rem !important;
  box-shadow: 0 22px 70px rgba(31, 72, 43, .15) !important;
}
.auth-card-compact input { min-height: 3rem !important; border-radius: .95rem !important; }
.auth-card-compact .login-submit-btn { min-height: 3rem !important; border-radius: .95rem !important; }
.auth-card-compact .password-toggle-button { right: .62rem !important; height: 2.15rem !important; }
.auth-card-compact input::placeholder { color: #64748b; opacity: .82; }
.app-mobile-theme-toggle,
button[aria-label*="theme" i],
button[title*="theme" i],
button[aria-label*="dark" i],
button[title*="dark" i] { display: none !important; }
@media (max-width: 640px) {
  .auth-page::before { background-size: 26rem; opacity: .06; }
  .auth-top-brand { top: .75rem; left: .75rem; transform: scale(.94); transform-origin: left top; }
  .auth-main { align-items: center; padding-top: 4.25rem !important; }
  .auth-card-compact { max-width: calc(100vw - 2rem) !important; }
}

/* v15 login polish: real favicon support, no top label, visible centered logo watermark */
.auth-top-brand { display: none !important; }
.auth-bg-logo-fixed {
  position: fixed;
  left: 50%;
  top: 50%;
  width: clamp(20rem, 48vw, 42rem);
  height: clamp(20rem, 48vw, 42rem);
  object-fit: contain;
  transform: translate(-50%, -50%);
  opacity: .18;
  filter: blur(.35px) saturate(1.08) drop-shadow(0 34px 90px rgba(27, 92, 48, .20));
  pointer-events: none;
  z-index: 0;
}
.auth-page::before {
  background-size: clamp(20rem, 48vw, 42rem) !important;
  opacity: .10 !important;
  filter: blur(.55px) saturate(1.08) !important;
}
.auth-page::after {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.08), transparent 13rem),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.30), transparent 26rem) !important;
}
.auth-main { position: relative !important; z-index: 2 !important; padding-top: 1.25rem !important; padding-bottom: 1.25rem !important; }
.auth-card-compact {
  width: min(100%, 23rem) !important;
  max-width: 23rem !important;
  padding: 1.55rem !important;
  border-color: rgba(35, 84, 49, .14) !important;
  background: rgba(255, 255, 252, .88) !important;
  box-shadow: 0 24px 72px rgba(31, 72, 43, .18), inset 0 1px 0 rgba(255,255,255,.90) !important;
  backdrop-filter: blur(18px) saturate(1.04) !important;
}
.auth-card-compact img[alt="Logo"] { width: 3rem !important; height: 3rem !important; border-radius: 999px !important; box-shadow: 0 10px 24px rgba(31,72,43,.16) !important; }
.auth-card-compact h1 { font-size: clamp(1.65rem, 4vw, 2rem) !important; line-height: 1.06 !important; }
.auth-card-compact input { min-height: 2.8rem !important; font-size: .88rem !important; background: rgba(255,255,255,.82) !important; }
.auth-card-compact .login-submit-btn { min-height: 2.9rem !important; }
@media (max-width: 640px) {
  .auth-bg-logo-fixed { width: 24rem; height: 24rem; opacity: .14; }
  .auth-page::before { background-size: 24rem !important; opacity: .07 !important; }
  .auth-main { padding-top: 1rem !important; }
  .auth-card-compact { width: min(100%, calc(100vw - 2rem)) !important; max-width: 22.5rem !important; padding: 1.35rem !important; }
}

/* Developer branding workspace v16 */
.branding-workspace,
.branding-workspace * { box-sizing: border-box; }
.branding-workspace { max-width: 100%; overflow: visible; }
.brand-layout {
  display: grid;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}
.brand-side-panel { min-width: 0; display: grid; gap: 1rem; position: sticky; top: 6.5rem; }
.brand-panel-card,
.brand-edit-card,
.brand-bottom-save {
  border: 1px solid rgba(186, 211, 190, .9);
  background: rgba(255,255,255,.94);
  border-radius: 1.65rem;
  box-shadow: 0 18px 44px rgba(33,61,40,.06);
}
.brand-panel-card { padding: 1.1rem; }
.brand-logo-preview {
  width: 4.75rem;
  height: 4.75rem;
  border-radius: 1.25rem;
  object-fit: cover;
  border: 1px solid rgba(186,211,190,.9);
  background: #fff;
  box-shadow: 0 12px 24px rgba(33,61,40,.08);
}
.brand-preview-title { font-weight: 950; font-size: 1.05rem; color: #12351e; line-height: 1.15; }
.brand-preview-subtitle { margin-top: .25rem; color: #647067; font-size: .82rem; }
.brand-upload-box {
  display:flex; align-items:flex-start; gap:.85rem; cursor:pointer;
  border:1px dashed rgba(65,103,59,.45); background:#f8fbf5;
  padding: .95rem; border-radius: 1.25rem; transition: .18s ease;
}
.brand-upload-box:hover { border-color:#2f6b36; transform: translateY(-1px); }
.brand-upload-icon {
  display:grid; place-items:center; width:2.4rem; height:2.4rem; border-radius: .9rem;
  background:#eaf6e8; color:#22562a; flex:0 0 auto;
}
.brand-upload-box strong { display:block; color:#12351e; font-weight:900; }
.brand-upload-box small { display:block; margin-top:.15rem; color:#647067; font-size:.75rem; line-height:1.35; }
.brand-preview-stack { display:grid; gap:.65rem; }
.brand-mini-preview { border:1px solid #e2eadf; background:#fff; border-radius:1rem; padding:.75rem .85rem; min-width:0; }
.brand-mini-preview span { display:block; text-transform:uppercase; letter-spacing:.14em; font-size:.62rem; color:#7a867c; font-weight:800; }
.brand-mini-preview strong { display:block; margin-top:.2rem; color:#12351e; font-size:.86rem; line-height:1.25; word-break:break-word; }
.brand-save-panel { background: linear-gradient(145deg, #ffffff, #f5fbf0); }
.brand-editor { min-width:0; display:grid; gap:1rem; }
.brand-section-tabs {
  display:flex; flex-wrap:wrap; gap:.6rem; padding:.5rem; border-radius:1.35rem;
  border:1px solid #dbe8d5; background:rgba(255,255,255,.8); position:sticky; top:5.3rem; z-index:5; backdrop-filter: blur(10px);
}
.brand-section-tab {
  display:inline-flex; align-items:center; gap:.45rem; border:1px solid #dbe8d5;
  background:#fff; color:#17451f; border-radius:999px; padding:.55rem .8rem;
  font-size:.8rem; font-weight:850; text-decoration:none; transition:.18s ease;
}
.brand-section-tab:hover { background:#2f6b36; color:#fff; transform:translateY(-1px); }
.brand-edit-card { padding:1.1rem; scroll-margin-top:8.5rem; }
.brand-edit-card-head { display:flex; align-items:flex-start; gap:.85rem; padding-bottom:1rem; border-bottom:1px solid #edf2ea; }
.brand-edit-icon { width:2.45rem; height:2.45rem; border-radius:1rem; display:grid; place-items:center; color:#22562a; background:#eaf6e8; flex:0 0 auto; }
.brand-edit-card h2 { margin:0; font-size:1.18rem; line-height:1.2; font-weight:950; color:#12351e; }
.brand-edit-card p { margin:.25rem 0 0; color:#647067; font-size:.84rem; line-height:1.45; }
.brand-fields-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:.9rem; margin-top:1rem; }
.brand-field { min-width:0; display:block; }
.brand-field-wide { grid-column:1 / -1; }
.brand-field > span { display:block; margin-bottom:.45rem; color:#1e4628; font-size:.82rem; line-height:1.25; font-weight:900; }
.brand-field input,
.brand-field textarea {
  width:100%; max-width:100%; min-width:0; border:1px solid #d7e3d2; background:#fffdfa;
  border-radius:1rem; padding:.78rem .9rem; color:#17371f; font-size:.9rem; line-height:1.4;
  outline:none; transition:.18s ease; resize:vertical;
}
.brand-field textarea { min-height:6.25rem; }
.brand-field input:focus,
.brand-field textarea:focus { border-color:#2f6b36; box-shadow:0 0 0 4px rgba(47,107,54,.12); background:#fff; }
.brand-bottom-save { padding:1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; position:sticky; bottom:1rem; z-index:6; }
@media (max-width: 1180px) {
  .brand-layout { grid-template-columns:1fr; }
  .brand-side-panel { position:static; }
  .brand-panel-card:first-child { display:block; }
}
@media (max-width: 760px) {
  .brand-fields-grid { grid-template-columns:1fr; }
  .brand-section-tabs { position:static; }
  .brand-bottom-save { position:static; align-items:stretch; flex-direction:column; }
  .brand-bottom-save .app-btn-primary { width:100%; justify-content:center; }
}

/* v17 login background: large centered logo watermark like requested */
.auth-page {
  position: relative !important;
  min-height: 100vh !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.55) 0%, rgba(255,255,255,.43) 25rem, rgba(246,250,240,.86) 44rem, rgba(255,250,235,.96) 100%),
    linear-gradient(135deg, #fff8dc 0%, #f3f7ed 45%, #eaf4e7 100%) !important;
}
.auth-page::before { display: none !important; content: none !important; }
.auth-page::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 1 !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.16) 0 9rem, rgba(255,255,255,.28) 14rem, rgba(255,255,255,.08) 31rem, transparent 44rem),
    radial-gradient(circle at 50% 50%, rgba(30, 100, 54, .07), transparent 34rem) !important;
}
.auth-bg-logo-fixed {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  width: clamp(38rem, 76vw, 64rem) !important;
  height: clamp(38rem, 76vw, 64rem) !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  transform: translate(-50%, -50%) !important;
  opacity: .26 !important;
  filter: saturate(1.18) contrast(1.04) blur(.15px) drop-shadow(0 32px 90px rgba(27, 92, 48, .18)) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
.auth-main {
  position: relative !important;
  z-index: 2 !important;
  min-height: 100vh !important;
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}
.auth-card-compact {
  width: min(100%, 21.75rem) !important;
  max-width: 21.75rem !important;
  padding: 1.45rem !important;
  border-radius: 1.35rem !important;
  background: rgba(255,255,255,.84) !important;
  border-color: rgba(29, 87, 48, .13) !important;
  box-shadow: 0 26px 80px rgba(31, 72, 43, .18), inset 0 1px 0 rgba(255,255,255,.94) !important;
  backdrop-filter: blur(16px) saturate(1.06) !important;
}
.auth-card-compact img[alt="Logo"] {
  width: 2.65rem !important;
  height: 2.65rem !important;
}
.auth-card-compact h1 {
  font-size: clamp(1.55rem, 3.5vw, 1.9rem) !important;
}
.auth-card-compact input {
  min-height: 2.72rem !important;
  font-size: .86rem !important;
  background: rgba(255,255,255,.76) !important;
}
.auth-card-compact .login-submit-btn {
  min-height: 2.78rem !important;
}
@media (max-width: 768px) {
  .auth-bg-logo-fixed {
    width: clamp(34rem, 118vw, 52rem) !important;
    height: clamp(34rem, 118vw, 52rem) !important;
    opacity: .22 !important;
  }
  .auth-card-compact {
    width: min(100%, calc(100vw - 2rem)) !important;
    max-width: 21.75rem !important;
    padding: 1.35rem !important;
  }
}

/* v18 login background balance: centered logo watermark, medium size like the approved sample */
.auth-bg-logo-fixed {
  width: clamp(38rem, 62vw, 54rem) !important;
  height: clamp(38rem, 62vw, 54rem) !important;
  opacity: .24 !important;
  filter: saturate(1.12) contrast(1.02) blur(.12px) drop-shadow(0 26px 78px rgba(27, 92, 48, .16)) !important;
}
.auth-page {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.38) 0%, rgba(255,255,255,.46) 19rem, rgba(246,250,240,.86) 37rem, rgba(255,250,235,.97) 100%),
    linear-gradient(135deg, #fff8dc 0%, #f3f7ed 45%, #eaf4e7 100%) !important;
}
.auth-page::after {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.10) 0 8rem, rgba(255,255,255,.22) 13rem, rgba(255,255,255,.05) 27rem, transparent 38rem),
    radial-gradient(circle at 50% 50%, rgba(30, 100, 54, .055), transparent 31rem) !important;
}
@media (min-width: 1200px) {
  .auth-bg-logo-fixed {
    width: min(62vw, 55rem) !important;
    height: min(62vw, 55rem) !important;
  }
}
@media (max-width: 768px) {
  .auth-bg-logo-fixed {
    width: clamp(30rem, 108vw, 44rem) !important;
    height: clamp(30rem, 108vw, 44rem) !important;
    opacity: .22 !important;
  }
}

/* v19 login background fine tune: slightly smaller logo watermark based on user sample */
.auth-bg-logo-fixed {
  width: clamp(34rem, 56vw, 50rem) !important;
  height: clamp(34rem, 56vw, 50rem) !important;
  opacity: .245 !important;
  filter: saturate(1.12) contrast(1.02) blur(.12px) drop-shadow(0 24px 74px rgba(27, 92, 48, .15)) !important;
}
.auth-page {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.34) 0%, rgba(255,255,255,.45) 18rem, rgba(246,250,240,.86) 35rem, rgba(255,250,235,.97) 100%),
    linear-gradient(135deg, #fff8dc 0%, #f3f7ed 45%, #eaf4e7 100%) !important;
}
.auth-page::after {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.09) 0 7.5rem, rgba(255,255,255,.21) 12.5rem, rgba(255,255,255,.05) 25rem, transparent 36rem),
    radial-gradient(circle at 50% 50%, rgba(30, 100, 54, .052), transparent 30rem) !important;
}
@media (min-width: 1200px) {
  .auth-bg-logo-fixed {
    width: min(56vw, 50rem) !important;
    height: min(56vw, 50rem) !important;
  }
}
@media (max-width: 768px) {
  .auth-bg-logo-fixed {
    width: clamp(28rem, 98vw, 40rem) !important;
    height: clamp(28rem, 98vw, 40rem) !important;
    opacity: .22 !important;
  }
}


/* V20 account management: no floating Actions dropdown, use clear vertical buttons. */
.system-users-list .user-card{
  grid-template-columns:minmax(0,1fr) minmax(8.5rem,10.5rem)!important;
  align-items:center!important;
}
.system-users-list .user-action-stack,
.system-users-list .user-inline-actions.user-action-stack{
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:.55rem!important;
  width:min(10rem,100%)!important;
  min-width:8.5rem!important;
  margin-left:auto!important;
}
.system-users-list .user-action-stack > *,
.system-users-list .user-action-stack form,
.system-users-list .user-action-stack a,
.system-users-list .user-action-stack button,
.system-users-list .user-action-stack span{
  width:100%!important;
  max-width:100%!important;
}
.system-users-list .user-action-stack .app-action-pill{
  min-height:2.35rem!important;
  padding:.62rem .78rem!important;
  border-radius:1rem!important;
  justify-content:center!important;
  font-size:.82rem!important;
  box-shadow:0 8px 18px rgba(32,67,38,.06)!important;
}
.system-users-list .user-action-stack .app-action-pill-soft{
  background:#f4fbef!important;
  color:var(--app-primary-strong)!important;
  border-color:#dcebd3!important;
}
.system-users-list .user-action-stack .app-action-pill-primary{
  background:var(--app-primary)!important;
  color:#fff!important;
  border-color:var(--app-primary)!important;
}
.system-users-list .user-action-stack .app-action-pill-muted{
  background:#fffdf8!important;
  color:var(--app-primary-strong)!important;
  border-color:var(--app-border)!important;
}
.system-users-list .user-action-stack .app-smart-action-menu,
.system-users-list .user-action-stack .app-smart-action-trigger,
.system-users-list .user-action-stack .app-smart-action-dropdown{
  display:none!important;
}
@media(max-width:780px){
  .system-users-list .user-card{grid-template-columns:1fr!important;}
  .system-users-list .user-action-stack,
  .system-users-list .user-inline-actions.user-action-stack{
    width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .system-users-list .user-action-stack .app-action-pill{font-size:.76rem!important;padding:.56rem .45rem!important;}
}
@media(max-width:480px){
  .system-users-list .user-action-stack,
  .system-users-list .user-inline-actions.user-action-stack{grid-template-columns:1fr!important;}
}


/* v19 Developer controlled stage inputs - responsive */
.app-flow-input-control small{display:block;margin-top:.4rem;font-size:.72rem;line-height:1.35;color:#64748b}
.app-custom-stage-fields{width:100%;max-width:100%;overflow:hidden}
.app-custom-stage-fields input,.app-custom-stage-fields select,.app-custom-stage-fields textarea{max-width:100%}
@media (max-width: 640px){
  .app-flow-board{grid-template-columns:1fr!important;display:grid!important;overflow:visible!important}
  .app-flow-card{min-width:0!important;width:100%!important}
  .app-program-form-grid,.app-release-form,.app-compact-form-grid{grid-template-columns:1fr!important}
  .md\:col-span-2,.xl\:col-span-3{grid-column:auto!important}
  .app-custom-stage-fields .grid{grid-template-columns:1fr!important}
}

/* V20: Uploaded image auto-fit + circular header icon polish
   Goal: any uploaded logo/profile/photo displays fully inside its frame, without cropping, and header icons stay clean circular controls on all devices. */
img {
  max-width: 100%;
}
.app-brand-mark,
.app-user-trigger,
.app-top-nav-item,
.icon-button {
  border-radius: 999px !important;
}
.app-brand-mark {
  overflow: hidden !important;
  background: #fff !important;
}
.app-brand-mark img,
.app-loader-logo,
.app-user-avatar,
.app-user-trigger img,
.app-profile-card img,
.app-search-suggest-avatar,
.app-family-card-photo,
.app-proof-card img,
img.object-cover,
img[class*="object-cover"] {
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff !important;
}
.app-header .app-top-nav-item,
.app-header .icon-button,
.app-header .app-user-trigger {
  width: 2.62rem !important;
  height: 2.62rem !important;
  min-width: 2.62rem !important;
  max-width: 2.62rem !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}
.app-header .app-top-nav-item svg,
.app-header .icon-button svg {
  width: 1.14rem !important;
  height: 1.14rem !important;
}
.app-header .app-user-avatar {
  width: 2.12rem !important;
  height: 2.12rem !important;
  min-width: 2.12rem !important;
  border-radius: 999px !important;
  object-fit: contain !important;
  padding: 0 !important;
  background: #fff !important;
}
.app-header .app-brand-mark {
  width: 2.72rem !important;
  height: 2.72rem !important;
  min-width: 2.72rem !important;
  border-radius: 999px !important;
  padding: .18rem !important;
}
.app-header .app-brand-mark img {
  width: 100% !important;
  height: 100% !important;
  border-radius: 999px !important;
}
/* Profile/account photo cards: fit large portraits or logos without cutting faces. */
.app-profile-photo,
.profile-photo,
.account-photo,
.user-photo,
.household-photo,
.logo-preview,
.photo-preview,
.upload-preview,
.live-photo-preview,
img[alt*="Profile"],
img[alt*="profile"],
img[alt*="Logo"],
img[alt*="logo"],
img[alt*="photo"],
img[alt*="Photo"] {
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff !important;
}
@media (max-width: 768px) {
  .app-header .app-top-nav-item,
  .app-header .icon-button,
  .app-header .app-user-trigger {
    width: 2.28rem !important;
    height: 2.28rem !important;
    min-width: 2.28rem !important;
    max-width: 2.28rem !important;
  }
  .app-header .app-user-avatar {
    width: 1.86rem !important;
    height: 1.86rem !important;
    min-width: 1.86rem !important;
  }
  .app-header .app-brand-mark {
    width: 2.32rem !important;
    height: 2.32rem !important;
    min-width: 2.32rem !important;
  }
}
@media (max-width: 420px) {
  .app-header .app-top-nav-item,
  .app-header .icon-button,
  .app-header .app-user-trigger {
    width: 2.06rem !important;
    height: 2.06rem !important;
    min-width: 2.06rem !important;
    max-width: 2.06rem !important;
  }
  .app-header .app-top-nav-item svg,
  .app-header .icon-button svg {
    width: .95rem !important;
    height: .95rem !important;
  }
  .app-header .app-user-avatar {
    width: 1.7rem !important;
    height: 1.7rem !important;
    min-width: 1.7rem !important;
  }
}


/* V22 responsive monitoring and event targeting fixes */
.app-monitoring-center .app-input-compact,
.app-responsive-filter-bar .app-input-compact { width: 100%; min-width: 0; }
.app-poultry-monitoring-box label { min-width: 0; }
.app-event-create-form .app-program-target-section { min-width: 0; }
.app-event-create-form .app-program-target-grid { max-height: 360px; overflow:auto; padding: .75rem; }
@media (max-width: 640px) {
  .app-monitoring-center, .app-event-create-form, .app-active-program-editor { padding: 1rem !important; border-radius: 1.25rem !important; }
  .app-program-target-grid { grid-template-columns: 1fr !important; }
  .app-poultry-monitoring-box .grid { grid-template-columns: 1fr !important; }
  .app-row-actions, .app-row-actions-compact { justify-content: stretch !important; }
  .app-row-actions a, .app-row-actions-compact a { width: 100%; text-align:center; }
}


/* V23 queue badges, poultry monitoring fields, and responsive action/menu cleanup */
.app-preset-action-strip{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.55rem!important;
  align-items:center!important;
  overflow:visible!important;
}
.app-preset-action-strip > *{
  flex:0 1 auto!important;
  min-width:max-content!important;
}
.app-poultry-action-tabs label,
.app-poultry-action-tab{
  min-height:3.2rem!important;
  align-items:center!important;
}
.app-poultry-action-panel label span,
.app-poultry-action-fields label span{
  display:block!important;
  font-size:.86rem!important;
  font-weight:900!important;
  color:var(--app-primary-strong)!important;
  margin-bottom:.35rem!important;
}
.app-stage-custom-field.hidden,
.app-poultry-action-panel.hidden{display:none!important;}
@media (min-width:768px){
  .app-smart-action-menu{display:none!important;}
  .app-smart-action-host{display:flex!important;flex-wrap:wrap!important;gap:.45rem!important;align-items:center!important;justify-content:flex-end!important;}
}
@media (max-width:767px){
  .app-preset-action-strip{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:.5rem!important;
  }
  .app-preset-action-strip > *{
    min-width:0!important;
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
    padding:.72rem .6rem!important;
  }
  .app-status-tabs{display:flex!important;overflow-x:auto!important;gap:.55rem!important;padding-bottom:.35rem!important;scroll-snap-type:x proximity!important;}
  .app-status-tab{flex:0 0 auto!important;scroll-snap-align:start!important;min-height:2.75rem!important;}
  .app-workflow-table td[data-label]::before{font-size:.72rem!important;letter-spacing:.06em!important;}
  .app-poultry-action-tabs{grid-template-columns:1fr!important;}
  .app-active-program-editor form{grid-template-columns:1fr!important;}
}
@media (max-width:420px){
  .app-preset-action-strip{grid-template-columns:1fr!important;}
}

/* V24 FINAL PRESENTATION RESPONSIVE POLISH
   Fixes mobile/tablet wrapping, prevents vertical-letter columns, keeps event presets visible,
   and makes queue/event/program forms usable from phone to laptop. */
html, body { max-width:100%; overflow-x:hidden; }
*, *::before, *::after { box-sizing:border-box; }
.app-shell, .app-main, .app-main > *, .app-card, section, form, table, .app-dropdown-menu { max-width:100%; }
.app-main { overflow-x:hidden; }
.app-main section { min-width:0; }
.app-main p, .app-main td, .app-main th, .app-main label, .app-main div { overflow-wrap:break-word; word-break:normal; }

/* Header: use compact mobile layout earlier so tablets/narrow browser windows do not crowd. */
@media (max-width: 900px) {
  .app-header-inner {
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:.45rem!important;
    align-items:center!important;
    padding:.55rem .55rem!important;
  }
  .app-header-inner > .flex:first-child { min-width:0!important; }
  .app-header .app-brand-title,
  .app-header-inner > .flex:first-child span.hidden.sm\:block { display:none!important; }
  .app-header .hidden.md\:flex,
  .app-header .app-top-nav.hidden.md\:flex { display:none!important; }
  .app-mobile-inline-search { display:flex!important; min-width:0!important; width:100%!important; height:2.55rem!important; }
  .app-mobile-inline-search input { min-width:0!important; font-size:.92rem!important; }
  .app-header-actions { justify-content:flex-end!important; gap:.32rem!important; min-width:0!important; width:auto!important; }
  .app-mobile-quicknav { display:flex!important; gap:.28rem!important; align-items:center!important; }
  .app-mobile-search-row { display:none!important; }
  .app-header .app-brand-mark { width:2.35rem!important; height:2.35rem!important; min-width:2.35rem!important; }
  .app-header .app-top-nav-item,
  .app-header .icon-button,
  .app-header .app-user-trigger { width:2.18rem!important; height:2.18rem!important; min-width:2.18rem!important; max-width:2.18rem!important; }
  .app-header .app-user-avatar { width:1.78rem!important; height:1.78rem!important; min-width:1.78rem!important; }
  .app-top-nav-badge { min-width:1.12rem!important; height:1.12rem!important; line-height:1.12rem!important; font-size:.68rem!important; top:-.34rem!important; right:-.34rem!important; }
}
@media (max-width: 480px) {
  .app-header-inner { grid-template-columns:auto minmax(0,1fr) auto!important; gap:.35rem!important; }
  .app-header .app-brand-mark { width:2.12rem!important; height:2.12rem!important; min-width:2.12rem!important; }
  .app-header .app-top-nav-item,
  .app-header .icon-button,
  .app-header .app-user-trigger { width:2rem!important; height:2rem!important; min-width:2rem!important; max-width:2rem!important; }
  .app-header .app-top-nav-item svg,
  .app-header .icon-button svg { width:.95rem!important; height:.95rem!important; }
  .app-header .app-user-avatar { width:1.62rem!important; height:1.62rem!important; min-width:1.62rem!important; }
  .app-mobile-inline-search { height:2.35rem!important; }
  .app-mobile-inline-search input { font-size:.84rem!important; }
}

/* Event presets: never convert or render as an Actions dropdown; show full buttons on wide screens and clean grid on phones. */
.app-preset-action-strip,
[data-no-smart-actions="1"].app-preset-action-strip {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.55rem!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  overflow:visible!important;
}
.app-preset-action-strip .app-smart-action-menu,
[data-no-smart-actions="1"] .app-smart-action-menu { display:none!important; }
.app-preset-action-strip > a,
.app-preset-action-strip > button,
.app-preset-action-strip > .app-btn-outline {
  flex:0 1 auto!important;
  min-width:clamp(8.4rem, 14vw, 12rem)!important;
  width:auto!important;
  text-align:center!important;
  justify-content:center!important;
  white-space:normal!important;
  line-height:1.15!important;
}
@media (max-width: 900px) {
  .app-preset-action-strip { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:.5rem!important; }
  .app-preset-action-strip > a,
  .app-preset-action-strip > button,
  .app-preset-action-strip > .app-btn-outline { width:100%!important; min-width:0!important; padding:.78rem .55rem!important; }
}
@media (max-width: 430px) { .app-preset-action-strip { grid-template-columns:1fr!important; } }

/* Event page/forms: one readable column on narrow devices; no text squeezed into vertical letters. */
@media (max-width: 900px) {
  .app-main { padding-left:.65rem!important; padding-right:.65rem!important; padding-top:.85rem!important; }
  .app-main section,
  .app-action-panel,
  .app-monitoring-center,
  .app-active-program-editor { padding:1rem!important; border-radius:1.25rem!important; }
  .app-event-create-form,
  .app-event-form-compact,
  .app-validation-form,
  .app-final-validation-form,
  .app-release-form,
  .app-compact-form-grid,
  .app-program-form-grid {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:.85rem!important;
    align-items:stretch!important;
  }
  .app-event-create-form > *,
  .app-event-form-compact > *,
  .app-validation-form > *,
  .app-final-validation-form > *,
  .app-release-form > *,
  .app-compact-form-grid > *,
  .app-program-form-grid > * { grid-column:1/-1!important; min-width:0!important; width:100%!important; }
  .app-event-create-form input,
  .app-event-create-form select,
  .app-event-create-form textarea,
  .app-validation-form input,
  .app-validation-form select,
  .app-validation-form textarea,
  .app-release-form input,
  .app-release-form select,
  .app-release-form textarea { width:100%!important; min-width:0!important; }
  .app-program-target-grid,
  .app-program-target-grid-compact { display:grid!important; grid-template-columns:1fr!important; max-height:18rem!important; overflow:auto!important; }
  #event_invited_list { display:grid!important; grid-template-columns:1fr!important; }
}

/* Status tabs / queue tabs: horizontal scroll on mobile, readable pills, badges preserved. */
.app-status-tabs, .app-queue-tabs, .app-stage-tabs {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.55rem!important;
  align-items:center!important;
  max-width:100%!important;
}
@media (max-width:900px){
  .app-status-tabs, .app-queue-tabs, .app-stage-tabs {
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding-bottom:.45rem!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
  }
  .app-status-tabs > *, .app-queue-tabs > *, .app-stage-tabs > *, .app-status-tab {
    flex:0 0 auto!important;
    min-width:max-content!important;
    max-width:88vw!important;
    scroll-snap-align:start!important;
    white-space:nowrap!important;
  }
}

/* Responsive tables become cards before they can squeeze content into single-letter columns. */
@media (max-width: 900px) {
  .app-table-wrap, .overflow-x-auto { overflow-x:visible!important; }
  table.app-responsive-table,
  table.app-table-compact,
  .app-main table { display:block!important; width:100%!important; min-width:0!important; border:0!important; }
  table.app-responsive-table thead,
  table.app-table-compact thead,
  .app-main table thead { display:none!important; }
  table.app-responsive-table tbody,
  table.app-table-compact tbody,
  .app-main table tbody { display:grid!important; gap:.85rem!important; width:100%!important; }
  table.app-responsive-table tr,
  table.app-table-compact tr,
  .app-main table tbody tr {
    display:grid!important;
    gap:.55rem!important;
    width:100%!important;
    border:1px solid #dbe7d5!important;
    border-radius:1.15rem!important;
    padding:.85rem!important;
    background:#fff!important;
    box-shadow:0 8px 18px rgba(31,90,52,.05)!important;
  }
  table.app-responsive-table td,
  table.app-table-compact td,
  .app-main table tbody td {
    display:grid!important;
    grid-template-columns:minmax(7.5rem, 38%) minmax(0,1fr)!important;
    gap:.55rem!important;
    align-items:start!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:.15rem 0!important;
    border:0!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  table.app-responsive-table td::before,
  table.app-table-compact td::before,
  .app-main table tbody td::before {
    content:attr(data-label);
    display:block!important;
    font-size:.72rem!important;
    line-height:1.15!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
    font-weight:900!important;
    color:#1c3f27!important;
  }
  table.app-responsive-table td:last-child,
  table.app-table-compact td:last-child,
  .app-main table tbody td:last-child { display:flex!important; flex-wrap:wrap!important; gap:.45rem!important; justify-content:flex-start!important; }
}
@media (max-width: 420px) {
  table.app-responsive-table td,
  table.app-table-compact td,
  .app-main table tbody td { grid-template-columns:1fr!important; }
}

/* Poultry monitoring tabs and dynamic sections remain readable and finger-friendly. */
.app-poultry-action-tabs { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:.75rem!important; }
.app-poultry-action-tabs label, .app-poultry-action-tab { width:100%!important; min-width:0!important; justify-content:flex-start!important; }
.app-poultry-action-fields, .app-poultry-action-panel { max-width:100%!important; min-width:0!important; }
@media (max-width: 900px) { .app-poultry-action-tabs { grid-template-columns:1fr!important; } }

/* Dropdowns: keep menus inside the viewport on phones. */
@media (max-width: 900px) {
  .app-dropdown-menu,
  .app-profile-menu,
  .app-smart-action-dropdown {
    position:fixed!important;
    left:.65rem!important;
    right:.65rem!important;
    top:4.65rem!important;
    width:auto!important;
    max-width:calc(100vw - 1.3rem)!important;
    max-height:calc(100vh - 5.6rem)!important;
    overflow:auto!important;
    transform:none!important;
  }
}


/* V25 final polish: program-wording and no-squeeze responsive guardrails */
html, body { max-width: 100%; overflow-x: hidden; }
*, *::before, *::after { min-width: 0; }
.app-shell, .app-main, main, section, article, .rounded-\[2rem\], .rounded-3xl { max-width: 100%; }
.app-btn-primary, .app-btn-outline, .app-pill, .app-preset-action-strip a, button, a { white-space: normal; overflow-wrap: anywhere; line-height: 1.18; }
.app-preset-action-strip {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .65rem !important;
  align-items: center !important;
  width: 100% !important;
  overflow: visible !important;
}
.app-preset-action-strip > a,
.app-preset-action-strip > button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 2.6rem !important;
  padding: .65rem .95rem !important;
  border-radius: 999px !important;
  flex: 0 1 auto !important;
  max-width: 100% !important;
  text-align: center !important;
}
.app-event-create-form, .app-event-form-compact {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)) !important;
  gap: 1rem !important;
}
.app-event-create-form > .md\:col-span-2,
.app-event-create-form > [class*="col-span"],
.app-event-form-compact > .md\:col-span-2,
.app-event-form-compact > [class*="col-span"] { grid-column: 1 / -1; }
.app-program-target-grid, .app-program-target-grid-compact {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)) !important;
  gap: .75rem !important;
  padding: .75rem !important;
  overflow: visible !important;
}
.app-program-target-card { min-width: 0 !important; width: 100% !important; }
.app-program-target-card span, .app-program-target-card small, .app-program-target-card strong { overflow-wrap: anywhere !important; word-break: normal !important; }
.app-compact-form-grid, .app-active-program-editor form {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)) !important;
  gap: 1rem !important;
}
.app-poultry-action-tabs {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)) !important;
  gap: .75rem !important;
}
.app-poultry-action-tab { min-height: 3.1rem; overflow-wrap: anywhere; }
.app-poultry-action-fields .grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)) !important; }
.app-input-compact, input, select, textarea { max-width: 100%; }
@media (max-width: 720px) {
  .app-preset-action-strip { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .55rem !important; }
  .app-preset-action-strip > a, .app-preset-action-strip > button { width: 100% !important; min-height: 2.7rem !important; padding: .6rem .55rem !important; font-size: .82rem !important; }
  .app-event-create-form, .app-event-form-compact, .app-compact-form-grid, .app-active-program-editor form { grid-template-columns: 1fr !important; }
  .app-program-target-grid, .app-program-target-grid-compact, .app-poultry-action-tabs { grid-template-columns: 1fr !important; }
  .app-page-title, h1, h2, h3 { overflow-wrap: break-word; word-break: normal; }
  .app-btn-primary, .app-btn-outline { width: auto; max-width: 100%; }
}
@media (max-width: 420px) {
  .app-preset-action-strip { grid-template-columns: 1fr !important; }
  .app-btn-primary, .app-btn-outline, .app-preset-action-strip > a { font-size: .78rem !important; }
}

/* V28 final phone-first polish: compact cards, no vertical-letter text, clean queues */
@media (max-width: 760px) {
  html, body { width:100%!important; max-width:100%!important; overflow-x:hidden!important; }
  .app-shell, .app-main, main { width:100%!important; max-width:100%!important; overflow-x:hidden!important; }
  .app-main { padding-left:.55rem!important; padding-right:.55rem!important; }
  .app-main > * { max-width:100%!important; }

  /* KPI/stat cards: always readable two cards per row on phones */
  .app-kpi-grid,
  .app-main .app-kpi-grid {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.55rem!important;
    width:100%!important;
  }
  .app-kpi-card,
  .app-main .app-kpi-card,
  .dashboard-stat,
  .app-main .dashboard-stat {
    min-height:5.6rem!important;
    padding:.7rem .72rem!important;
    border-radius:1rem!important;
    justify-content:flex-start!important;
    box-shadow:0 8px 18px rgba(31,69,42,.055)!important;
  }
  .app-kpi-label,
  .dashboard-stat .label {
    font-size:.72rem!important;
    line-height:1.14!important;
    font-weight:760!important;
    letter-spacing:0!important;
    text-transform:none!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    color:#3f5146!important;
  }
  .app-kpi-value,
  .dashboard-stat .value {
    font-size:1.85rem!important;
    line-height:.95!important;
    margin-top:.35rem!important;
  }
  .app-kpi-card .mt-3.text-xs,
  .app-kpi-card [class*="text-emerald-700"],
  .dashboard-stat .mt-2.text-sm {
    margin-top:.25rem!important;
    font-size:.66rem!important;
    line-height:1.1!important;
  }
  .dashboard-stat .inline-flex.h-12 { display:none!important; }
}
@media (max-width: 340px) {
  .app-kpi-grid,
  .app-main .app-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:.45rem!important; }
  .app-kpi-card,
  .app-main .app-kpi-card,
  .dashboard-stat,
  .app-main .dashboard-stat { padding:.62rem!important; }
  .app-kpi-value,
  .dashboard-stat .value { font-size:1.55rem!important; }
}

/* Compact dashboard menu cards on mobile so scrolling is shorter. */
@media (max-width: 760px) {
  .app-action-grid {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.65rem!important;
  }
  .app-action-card {
    min-height:6.1rem!important;
    padding:.82rem!important;
    border-radius:1rem!important;
    gap:.35rem!important;
  }
  .app-action-icon { font-size:1.2rem!important; line-height:1!important; }
  .app-action-title { font-size:1rem!important; line-height:1.1!important; }
  .app-action-text { display:none!important; }
  .app-main section,
  .app-main .rounded-\[2rem\],
  .app-main .rounded-3xl {
    border-radius:1.15rem!important;
  }
  .app-main section { padding:1rem!important; }
  .app-main h1 { font-size:1.45rem!important; line-height:1.12!important; }
  .app-main h2 { font-size:1.25rem!important; line-height:1.12!important; }
  .app-main h3 { font-size:1.08rem!important; line-height:1.16!important; }
}

/* Queue/status tabs: mobile uses neat 2-column buttons, not long horizontal scrolling. */
@media (max-width: 760px) {
  .app-status-tabs,
  .app-queue-tabs,
  .app-stage-tabs {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.5rem!important;
    overflow:visible!important;
    padding-bottom:0!important;
  }
  .app-status-tabs > *,
  .app-queue-tabs > *,
  .app-stage-tabs > *,
  .app-status-tab {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    line-height:1.12!important;
    min-height:2.55rem!important;
    padding:.62rem .48rem!important;
    border-radius:1rem!important;
    font-size:.78rem!important;
  }
  .app-status-count {
    min-width:1.38rem!important;
    height:1.38rem!important;
    font-size:.72rem!important;
    flex:0 0 auto!important;
  }
}

/* Event create page: make every field full-width on phones and hide long help text. */
@media (max-width: 760px) {
  .app-event-create-form,
  .app-event-form-compact,
  .app-validation-form,
  .app-release-form,
  .app-final-validation-form,
  .app-compact-form-grid,
  .app-program-form-grid {
    display:block!important;
    width:100%!important;
  }
  .app-event-create-form > *,
  .app-event-form-compact > *,
  .app-validation-form > *,
  .app-release-form > *,
  .app-final-validation-form > *,
  .app-compact-form-grid > *,
  .app-program-form-grid > * {
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-top:.85rem!important;
  }
  .app-event-create-form label,
  .app-event-form-compact label,
  .app-program-target-section label,
  .app-event-create-form p,
  .app-event-form-compact p,
  .app-program-target-section p,
  .app-main label,
  .app-main .text-xs,
  .app-main .text-sm {
    word-break:normal!important;
    overflow-wrap:normal!important;
    writing-mode:horizontal-tb!important;
  }
  .app-event-create-form p.text-xs,
  .app-event-form-compact p.text-xs,
  .app-program-target-section > p,
  #event_invited_preview p,
  .app-main .app-mobile-hide-help {
    display:none!important;
  }
  .app-program-target-grid,
  .app-program-target-grid-compact {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:.55rem!important;
    padding:.6rem!important;
    max-height:16rem!important;
    overflow:auto!important;
    width:100%!important;
  }
  .app-program-target-card {
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    gap:.55rem!important;
    padding:.65rem!important;
    border-radius:.9rem!important;
  }
  .app-program-target-card span,
  .app-program-target-card strong,
  .app-program-target-card small {
    display:block!important;
    width:auto!important;
    min-width:0!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    writing-mode:horizontal-tb!important;
  }
  .app-program-target-card small { display:none!important; }
  .app-preset-action-strip {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.55rem!important;
  }
  .app-preset-action-strip > a,
  .app-preset-action-strip > button {
    width:100%!important;
    min-width:0!important;
    min-height:2.55rem!important;
    padding:.58rem .45rem!important;
    font-size:.78rem!important;
    border-radius:.95rem!important;
  }
}

/* Responsive table cards: use one clear column on phone to stop one-letter vertical labels. */
@media (max-width: 760px) {
  .app-main table tbody td,
  table.app-responsive-table td,
  table.app-table-compact td {
    display:block!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    writing-mode:horizontal-tb!important;
  }
  .app-main table tbody td::before,
  table.app-responsive-table td::before,
  table.app-table-compact td::before {
    display:block!important;
    max-width:100%!important;
    margin-bottom:.22rem!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    white-space:normal!important;
    writing-mode:horizontal-tb!important;
  }
  .app-main table tbody tr,
  table.app-responsive-table tr,
  table.app-table-compact tr { padding:.95rem!important; }
}

/* Keep labels/headings readable everywhere. */
.app-main label,
.app-main h1,
.app-main h2,
.app-main h3,
.app-main h4,
.app-main .font-black,
.app-main .font-bold,
.app-main .font-semibold {
  word-break:normal!important;
  overflow-wrap:break-word!important;
  writing-mode:horizontal-tb!important;
}

/* Phone header: keep search visible and compact. */
@media (max-width: 760px) {
  .app-header-inner { grid-template-columns:2.15rem minmax(0,1fr) 2.25rem!important; gap:.42rem!important; padding:.5rem .55rem!important; }
  .app-mobile-inline-search { min-width:0!important; width:100%!important; height:2.35rem!important; padding-inline:.65rem!important; }
  .app-mobile-inline-search input { min-width:0!important; font-size:.82rem!important; }
  .app-brand-mark, .app-header .app-brand-mark { width:2.1rem!important; height:2.1rem!important; min-width:2.1rem!important; }
}

/* V32 event invite cleanup: no giant preview list; show count first, details on separate page. */
#event_invited_preview { min-width:0!important; }
#event_invited_preview #event_invited_list { display:none!important; }
.app-event-create-form .app-program-target-section { min-width:0!important; }
.app-event-create-form .app-program-target-card { align-items:flex-start!important; }
@media (max-width:760px){
  #event_invited_preview { padding:.9rem!important; border-radius:1rem!important; }
  #event_invited_preview h3 { font-size:1rem!important; }
  #event_invited_summary { padding:.9rem!important; border-radius:1rem!important; }
  #event_invited_summary .app-btn-primary,
  #event_invited_summary .app-btn-outline { width:100%!important; justify-content:center!important; }
  .app-event-create-form textarea[name="description"] { min-height:5rem!important; }
  .app-event-create-form .app-program-target-section p { display:none!important; }
  .app-event-create-form .app-program-target-grid { max-height:12rem!important; }
  .app-table-compact td[data-label="Action"] .flex { justify-content:flex-start!important; }
  .app-table-compact td[data-label="Action"] a { flex:1 1 9rem!important; justify-content:center!important; }
}

/* V34 settings page layout polish: Maintenance Mode and portal controls stay readable on laptop and phone. */
.app-settings-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:1.25rem!important;
  width:100%!important;
  max-width:100%!important;
}
.app-settings-form > *{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.app-settings-section{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.app-maintenance-grid,
.app-family-toggle-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))!important;
  gap:1rem!important;
  align-items:stretch!important;
}
.app-setting-control-card{
  min-width:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  gap:.35rem!important;
}
.app-setting-control-card select,
.app-setting-control-card textarea,
.app-setting-control-card input{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
.app-setting-control-card textarea{
  min-height:7rem!important;
  resize:vertical!important;
}
.app-settings-save-row{
  position:sticky!important;
  bottom:.75rem!important;
  z-index:20!important;
  background:rgba(250,250,246,.92)!important;
  border:1px solid rgba(195,212,187,.8)!important;
  border-radius:1.25rem!important;
  padding:.75rem!important;
  backdrop-filter:blur(8px)!important;
}
.app-settings-save-row button{min-width:14rem!important;justify-content:center!important;}
@media (max-width:760px){
  .app-settings-form{gap:.85rem!important;}
  .app-settings-section{padding:1rem!important;border-radius:1.15rem!important;}
  .app-maintenance-grid,.app-family-toggle-grid{grid-template-columns:1fr!important;gap:.75rem!important;}
  .app-setting-control-card{padding:.85rem!important;border-radius:1rem!important;}
  .app-setting-control-card p{font-size:.78rem!important;line-height:1.35!important;margin-top:.25rem!important;}
  .app-setting-control-card textarea{min-height:5.5rem!important;}
  .app-settings-save-row{bottom:.45rem!important;border-radius:1rem!important;}
  .app-settings-save-row button{width:100%!important;min-width:0!important;}
}

/* V35 mayor/import accuracy polish. */
.app-chart-wrap{position:relative;width:100%;height:34rem;min-height:24rem;}
@media (max-width:760px){
  .app-chart-wrap{height:30rem;min-height:24rem;}
  #mayorInsightToggles{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;gap:.5rem!important;}
  #mayorInsightToggles button{width:100%!important;min-width:0!important;padding:.7rem .65rem!important;border-radius:1rem!important;font-size:.82rem!important;}
  .app-mobile-trim{display:none!important;}
}


/* V37 Messenger-style chat */
.chat-shell-v37{min-height:calc(100vh - 9rem);}
.chat-head-v37{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,#f8fafc,#ecfdf5);}
.chat-layout-v37{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:calc(100vh - 15rem);}
.chat-users-v37{min-width:0;overflow:hidden;}
.chat-search-v37{display:flex;align-items:center;gap:.55rem;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:.7rem .9rem;}
.chat-search-v37 input{width:100%;border:0;outline:0;background:transparent;font-size:.9rem;min-width:0;}
.chat-user-list-v37{max-height:calc(100vh - 18rem);overflow:auto;padding:.45rem;}
.chat-user-row-v37{display:flex;align-items:center;gap:.75rem;border-radius:1.1rem;padding:.7rem;color:#0f172a;text-decoration:none;transition:.15s ease;}
.chat-user-row-v37:hover,.chat-user-row-v37.is-active{background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.08);}
.chat-avatar-v37{width:42px;height:42px;border-radius:999px;object-fit:cover;border:1px solid #e2e8f0;flex:0 0 auto;background:#fff;}
.chat-unread-v37{min-width:1.35rem;height:1.35rem;border-radius:999px;background:#10b981;color:#fff;font-size:.75rem;font-weight:900;display:inline-flex;align-items:center;justify-content:center;padding:0 .35rem;}
.chat-panel-v37{min-width:0;display:flex;flex-direction:column;background:#fff;}
.chat-convo-head-v37{display:flex;align-items:center;gap:.75rem;background:#fff;}
.chat-messages-v37{flex:1;min-height:22rem;max-height:calc(100vh - 20rem);overflow:auto;padding:1rem;background:linear-gradient(180deg,#f8fafc,#fff);}
.chat-bubble-row-v37{display:flex;margin:.45rem 0;}
.chat-bubble-row-v37.is-mine{justify-content:flex-end;}
.chat-bubble-v37{max-width:min(78%,680px);border-radius:1.25rem;padding:.75rem .9rem;font-size:.92rem;line-height:1.45;word-break:break-word;}
.chat-bubble-v37.mine{background:#16a34a;color:#fff;border-bottom-right-radius:.35rem;}
.chat-bubble-v37.theirs{background:#e2e8f0;color:#0f172a;border-bottom-left-radius:.35rem;}
.chat-image-v37{display:block;max-width:min(300px,70vw);max-height:320px;object-fit:contain;border-radius:1rem;margin-top:.35rem;background:#fff;}
.chat-empty-v37,.chat-no-selected-v37{display:flex;min-height:20rem;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#64748b;padding:2rem;}
.chat-compose-v37{display:flex;align-items:flex-end;gap:.6rem;padding:.75rem;background:#fff;}
.chat-photo-button-v37,.chat-send-v37{height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-weight:800;flex:0 0 auto;}
.chat-photo-button-v37{width:44px;background:#f1f5f9;color:#166534;cursor:pointer;border:1px solid #e2e8f0;}
.chat-send-v37{border:0;background:#16a34a;color:#fff;padding:0 1rem;}
.chat-textarea-v37{flex:1;min-height:44px;max-height:120px;resize:vertical;border:1px solid #e2e8f0;border-radius:1.25rem;padding:.75rem .95rem;outline:0;background:#f8fafc;min-width:0;}
@media (max-width: 820px){
  .chat-head-v37{align-items:flex-start;flex-direction:column;padding:1rem;}
  .chat-layout-v37{grid-template-columns:1fr;min-height:auto;}
  .chat-users-v37{border-right:0!important;border-bottom:1px solid #e2e8f0;}
  .chat-user-list-v37{display:flex;gap:.45rem;overflow-x:auto;max-height:none;padding:.55rem;}
  .chat-user-row-v37{min-width:210px;background:#fff;border:1px solid #e2e8f0;}
  .chat-messages-v37{max-height:55vh;min-height:18rem;padding:.75rem;}
  .chat-bubble-v37{max-width:88%;font-size:.9rem;}
  .chat-compose-v37{position:sticky;bottom:0;z-index:5;}
}
@media (max-width: 420px){
  .chat-user-row-v37{min-width:185px;padding:.6rem;}
  .chat-avatar-v37{width:38px;height:38px;}
  .chat-send-v37{width:44px;padding:0;}
  .chat-photo-button-v37{width:42px;height:42px;}
  .chat-textarea-v37{font-size:.88rem;}
}


/* V38 chat picture attachment preview and upload polish */
.chat-compose-wrap-v38{background:#fff;}
.chat-image-preview-v38{display:flex;align-items:center;gap:.75rem;margin:.75rem .75rem 0 .75rem;padding:.65rem;border:1px solid #dbeafe;background:#f8fafc;border-radius:1.1rem;max-width:720px;}
.chat-image-preview-v38.hidden{display:none!important;}
.chat-image-thumb-wrap-v38{width:74px;height:74px;border-radius:.9rem;overflow:hidden;border:1px solid #d1d5db;background:#fff;flex:0 0 auto;display:flex;align-items:center;justify-content:center;}
.chat-image-thumb-wrap-v38 img{width:100%;height:100%;object-fit:contain;display:block;}
.chat-image-preview-title-v38{font-size:.78rem;font-weight:900;color:#166534;text-transform:uppercase;letter-spacing:.04em;}
.chat-image-preview-name-v38{font-size:.86rem;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.1rem;}
.chat-image-remove-v38{width:34px;height:34px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;font-size:1.25rem;line-height:1;font-weight:900;display:inline-flex;align-items:center;justify-content:center;}
.chat-image-remove-v38:hover{background:#fee2e2;color:#991b1b;}
.chat-bubble-v37:has(.chat-image-v37){padding:.55rem;}
.chat-bubble-v37 .chat-image-v37{max-width:min(360px,72vw);max-height:360px;border:1px solid rgba(148,163,184,.3);}
.chat-compose-v37{border-top:0!important;}
@media (max-width: 640px){
  .chat-image-preview-v38{margin:.55rem .55rem 0 .55rem;padding:.55rem;border-radius:1rem;}
  .chat-image-thumb-wrap-v38{width:58px;height:58px;border-radius:.75rem;}
  .chat-image-preview-title-v38{font-size:.72rem;}
  .chat-image-preview-name-v38{font-size:.8rem;max-width:170px;}
  .chat-bubble-v37 .chat-image-v37{max-width:70vw;max-height:260px;}
}

/* V39 chat picture sending/display fix */
.chat-image-link-v39{display:block;line-height:0;margin-top:.35rem;text-decoration:none;}
.chat-image-link-v39.is-broken{line-height:1.3;}
.chat-image-broken-v39{display:none;font-size:.78rem;font-weight:800;line-height:1.35;color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:.8rem;padding:.55rem .65rem;}
.chat-image-link-v39.is-broken .chat-image-broken-v39{display:inline-block;}
.chat-image-v37{width:auto;height:auto;min-width:96px;min-height:60px;max-width:min(430px,72vw);max-height:430px;object-fit:contain;border-radius:1rem;margin-top:0;background:#fff;display:block;}
.chat-bubble-v37.mine .chat-image-v37{background:#f8fafc;}
.chat-image-size-v39{font-size:.68rem;opacity:.72;margin-top:.25rem;line-height:1.1;}
.chat-image-preview-size-v39{font-size:.76rem;color:#64748b;margin-top:.08rem;}
.chat-image-preview-v38{max-width:min(760px,calc(100% - 1.5rem));}
.chat-image-thumb-wrap-v38{width:92px;height:92px;}
@media (max-width: 640px){
  .chat-image-v37{max-width:72vw;max-height:330px;min-width:78px;min-height:54px;border-radius:.85rem;}
  .chat-image-thumb-wrap-v38{width:64px;height:64px;}
  .chat-image-preview-v38{gap:.55rem;max-width:calc(100% - 1rem);}
  .chat-image-preview-size-v39{font-size:.72rem;}
}


/* V40 live notification / messenger refinements */
.app-live-toast-wrap{position:fixed;right:1rem;bottom:1rem;z-index:99999;display:grid;gap:.65rem;width:min(360px,calc(100vw - 2rem));}
.app-live-toast{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border:1px solid rgba(22,101,52,.18);border-radius:1.15rem;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.16);color:#16351f;text-decoration:none;transition:.25s ease;}
.app-live-toast:hover{transform:translateY(-2px);box-shadow:0 20px 55px rgba(15,23,42,.2)}
.app-live-toast.is-hide{opacity:0;transform:translateY(8px)}
.app-live-toast-dot{width:.7rem;height:.7rem;margin-top:.35rem;border-radius:99px;background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.12);flex:0 0 auto;}
.app-live-toast-title{font-weight:900;font-size:.9rem;line-height:1.2;color:#164323;}
.app-live-toast-body{font-size:.82rem;color:#64746b;line-height:1.35;margin-top:.12rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.chat-bubble-v37.mine{background:#16a34a!important;color:#fff;}
.chat-image-link-v39{display:block;max-width:min(360px,58vw);border-radius:1rem;overflow:hidden;background:rgba(255,255,255,.12);}
.chat-image-v37{display:block;width:auto;height:auto;max-width:100%;max-height:420px;object-fit:contain;border-radius:1rem;}
@media(max-width:700px){.app-live-toast-wrap{right:.75rem;bottom:.75rem;width:calc(100vw - 1.5rem)}.chat-image-link-v39{max-width:min(260px,72vw)}.chat-image-v37{max-height:320px}.chat-messages-v37{min-height:55vh}.chat-layout-v37{min-height:calc(100vh - 210px)}}


/* V41: hide zero-count header/menu badges everywhere, even after responsive overrides. */
.app-top-nav-badge.hidden,
.app-inline-badge.hidden,
.app-top-nav-badge:empty,
.app-inline-badge:empty {
  display: none !important;
  visibility: hidden !important;
}
.app-dropdown-link:not(.has-attention) .app-inline-badge,
.app-mobile-nav-link:not(.has-attention) .app-inline-badge,
.app-top-nav-item:not(.has-attention) .app-top-nav-badge {
  display: none !important;
  visibility: hidden !important;
}


/* V42: Messages is an important standalone header action, not hidden inside Tools. */
.app-chat-header-link { display:inline-flex !important; }
.app-chat-header-link .app-tooltip { white-space:nowrap; }
@media (max-width: 767px) {
  .app-chat-header-link { width:2.55rem !important; height:2.55rem !important; min-width:2.55rem !important; }
}

/* V43 login background logo balance: slightly smaller watermark so more of the municipal seal is visible without overpowering the login card. */
.auth-bg-logo-fixed {
  width: clamp(30rem, 48vw, 44rem) !important;
  height: clamp(30rem, 48vw, 44rem) !important;
  opacity: .22 !important;
  filter: saturate(1.10) contrast(1.02) blur(.10px) drop-shadow(0 22px 68px rgba(27, 92, 48, .14)) !important;
}
.auth-page {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.30) 0%, rgba(255,255,255,.44) 16rem, rgba(246,250,240,.86) 32rem, rgba(255,250,235,.97) 100%),
    linear-gradient(135deg, #fff8dc 0%, #f3f7ed 45%, #eaf4e7 100%) !important;
}
.auth-page::after {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.08) 0 7rem, rgba(255,255,255,.20) 11.5rem, rgba(255,255,255,.05) 23rem, transparent 34rem),
    radial-gradient(circle at 50% 50%, rgba(30, 100, 54, .05), transparent 28rem) !important;
}
@media (min-width: 1200px) {
  .auth-bg-logo-fixed {
    width: min(48vw, 44rem) !important;
    height: min(48vw, 44rem) !important;
  }
}
@media (max-width: 768px) {
  .auth-bg-logo-fixed {
    width: clamp(24rem, 82vw, 34rem) !important;
    height: clamp(24rem, 82vw, 34rem) !important;
    opacity: .20 !important;
  }
}


/* V49 clean dashboard + compact Golden Household cards */
.app-btn-sm{padding:.55rem .8rem!important;font-size:.82rem!important;border-radius:1rem!important;line-height:1.1!important;}
.golden-family-scroll{max-height:650px;overflow-y:auto;overflow-x:hidden;padding-right:.35rem;}
.golden-family-grid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))!important;gap:.85rem!important;align-items:stretch;}
.golden-family-card{border-radius:1.25rem!important;box-shadow:0 8px 22px rgba(20,56,34,.06)!important;}
.golden-family-card .app-family-card-media{padding:.72rem .72rem 0!important;}
.golden-family-photo{height:118px!important;aspect-ratio:auto!important;object-fit:contain!important;background:#f4e3a4!important;padding:.35rem!important;border-radius:1rem!important;}
.golden-family-card .app-family-card-body{padding:.75rem!important;gap:.42rem!important;}
.golden-family-card .app-family-card-brgy{font-size:.66rem!important;letter-spacing:.12em!important;}
.golden-family-card .app-family-card-title{font-size:.98rem!important;line-height:1.18!important;min-height:2.35rem!important;}
.golden-family-card .app-family-card-meta{font-size:.76rem!important;gap:.35rem .55rem!important;}
.golden-status{margin-top:.35rem!important;}
.golden-status .app-badge{font-size:.68rem!important;padding:.25rem .55rem!important;}
.golden-counts{margin-top:.25rem!important;font-size:.72rem!important;line-height:1.25!important;color:var(--app-muted);}
.golden-family-card .app-family-card-actions{gap:.45rem!important;margin-top:.45rem!important;}
.golden-family-card .app-family-card-actions .app-btn-outline{min-width:0!important;flex:1 1 92px!important;text-align:center!important;}
@media (min-width:1280px){.golden-family-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}}
@media (max-width:900px){.golden-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.golden-family-scroll{max-height:none;}}
@media (max-width:560px){.golden-family-grid{grid-template-columns:1fr!important;}.golden-family-photo{height:128px!important;}.golden-family-card .app-family-card-title{min-height:auto!important;}}

/* V51 compact dashboard charts: show all barangays without using too much vertical space */
.app-chart-compact-wide{
  height:340px!important;
  min-height:320px!important;
  max-height:360px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding-bottom:.35rem;
}
.app-chart-compact-wide canvas{
  height:340px!important;
  min-height:340px!important;
  max-height:340px!important;
}
.app-compact-chart-card{
  min-height:300px;
}
.app-compact-chart-wrap{
  position:relative;
  width:100%;
  height:220px;
  min-height:220px;
  max-height:230px;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:.25rem;
}
.app-compact-chart-wrap canvas{
  height:220px!important;
  min-height:220px!important;
  max-height:220px!important;
}
.app-chart-compact-wide::-webkit-scrollbar,
.app-compact-chart-wrap::-webkit-scrollbar{height:7px;}
.app-chart-compact-wide::-webkit-scrollbar-thumb,
.app-compact-chart-wrap::-webkit-scrollbar-thumb{background:rgba(24,72,42,.25);border-radius:999px;}
@media (max-width:768px){
  .app-chart-compact-wide{height:320px!important;min-height:300px!important;}
  .app-chart-compact-wide canvas{height:320px!important;min-height:320px!important;}
  .app-compact-chart-card{min-height:285px;}
}

/* ========================================================================
   V100 — SPECIAL PROGRAM SYSTEM UI MODERNIZATION
   Frontend-only redesign. Existing backend/data/permissions remain intact.
   ======================================================================== */
:root{
  --ui-sidebar:#173d2b;
  --ui-sidebar-deep:#102d20;
  --ui-sidebar-hover:rgba(255,255,255,.085);
  --ui-sidebar-active:#f5c451;
  --ui-primary:#236a45;
  --ui-primary-strong:#185637;
  --ui-primary-soft:#eaf5ef;
  --ui-accent:#dba72f;
  --ui-bg:#f4f6f4;
  --ui-surface:#ffffff;
  --ui-surface-2:#f8faf8;
  --ui-text:#17231d;
  --ui-muted:#65736b;
  --ui-border:#dfe6e1;
  --ui-danger:#c43e42;
  --ui-warning:#b7791f;
  --ui-success:#1f7a4c;
  --ui-radius-sm:10px;
  --ui-radius-md:16px;
  --ui-radius-lg:22px;
  --ui-shadow-sm:0 2px 8px rgba(20,44,30,.055);
  --ui-shadow-md:0 10px 28px rgba(20,44,30,.085);
  --ui-shadow-lg:0 22px 52px rgba(20,44,30,.14);
  --ui-sidebar-width:282px;
  --ui-sidebar-collapsed:88px;
  --ui-header-height:74px;
}

html{background:var(--ui-bg);scroll-behavior:smooth}
body.app-ui-v100,
body.auth-page{font-family:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;background:var(--ui-bg)!important;color:var(--ui-text)!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.app-ui-v100{overflow-x:hidden}
body.app-ui-v100 *{box-sizing:border-box}
body.app-ui-v100 button,body.app-ui-v100 input,body.app-ui-v100 select,body.app-ui-v100 textarea{font:inherit}
.app-skip-link{position:fixed;left:12px;top:-60px;z-index:99999;background:#fff;color:var(--ui-text);padding:10px 14px;border-radius:10px;box-shadow:var(--ui-shadow-lg);font-weight:800;transition:.2s}.app-skip-link:focus{top:12px}

/* Shell */
.app-shell-v100{display:grid;grid-template-columns:var(--ui-sidebar-width) minmax(0,1fr);min-height:100vh;width:100%;background:var(--ui-bg);transition:grid-template-columns .24s ease}
.app-workspace-v100{min-width:0;min-height:100vh;display:flex;flex-direction:column}
.app-main-v100{width:100%;min-width:0;max-width:1720px;margin:0 auto;padding:26px clamp(18px,2.1vw,36px) 42px;flex:1}
body.sidebar-collapsed .app-shell-v100{grid-template-columns:var(--ui-sidebar-collapsed) minmax(0,1fr)}

/* Sidebar */
.app-sidebar-v100{position:sticky;top:0;height:100vh;z-index:80;background:linear-gradient(180deg,var(--ui-sidebar) 0%,var(--ui-sidebar-deep) 100%);color:#fff;display:flex;flex-direction:column;min-width:0;overflow:hidden;box-shadow:8px 0 30px rgba(16,45,32,.08)}
.app-sidebar-brand{height:88px;padding:16px 16px 13px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.1)}
.app-sidebar-brand-link{display:flex;align-items:center;gap:12px;min-width:0;flex:1;color:#fff;text-decoration:none!important}
.app-sidebar-logo{width:48px;height:48px;min-width:48px;border-radius:14px;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.16)}
.app-sidebar-logo img{width:100%;height:100%;object-fit:cover}
.app-sidebar-brand-copy{display:grid;gap:2px;min-width:0;line-height:1.15}.app-sidebar-brand-copy strong{font-size:14px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar-brand-copy small{font-size:10px;color:rgba(255,255,255,.68);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.06em}
.app-sidebar-mobile-close{display:none;width:38px;height:38px;border:0;background:rgba(255,255,255,.08);color:#fff;border-radius:11px;align-items:center;justify-content:center}.app-sidebar-mobile-close svg{width:18px;height:18px}
.app-sidebar-user{display:flex;align-items:center;gap:11px;margin:14px 14px 4px;padding:11px 12px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.055);border-radius:15px;min-width:0}.app-sidebar-user img{width:38px;height:38px;min-width:38px;object-fit:cover;border-radius:12px;border:2px solid rgba(255,255,255,.16)}.app-sidebar-user div{min-width:0;display:grid;gap:2px}.app-sidebar-user strong{font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar-user span{font-size:10px;color:rgba(255,255,255,.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-sidebar-nav{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:10px 11px 20px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.app-sidebar-nav::-webkit-scrollbar{width:5px}.app-sidebar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:99px}
.app-sidebar-section{display:grid;gap:4px;margin-bottom:14px}.app-sidebar-section-label{padding:6px 10px 5px;color:rgba(255,255,255,.42);font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;overflow:hidden}
.app-sidebar-link{position:relative;display:flex;align-items:center;gap:11px;min-height:43px;padding:8px 10px;border-radius:12px;color:rgba(255,255,255,.82)!important;text-decoration:none!important;font-size:12px;font-weight:650;transition:background .16s ease,color .16s ease,transform .16s ease;min-width:0}.app-sidebar-link:hover{background:var(--ui-sidebar-hover);color:#fff!important;transform:translateX(2px)}.app-sidebar-link.is-active{background:rgba(245,196,81,.14);color:#fff!important;box-shadow:inset 3px 0 0 var(--ui-sidebar-active)}.app-sidebar-link.is-active .app-sidebar-link-icon{color:var(--ui-sidebar-active);background:rgba(245,196,81,.08)}
.app-sidebar-link-icon{width:29px;height:29px;min-width:29px;display:grid;place-items:center;border-radius:9px;color:rgba(255,255,255,.75);transition:.16s}.app-sidebar-link-icon svg{width:17px;height:17px;stroke-width:2}.app-sidebar-link-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.app-sidebar-count{min-width:23px;height:22px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;background:#f6cf69;color:#362a05;font-size:9px;font-weight:900}
.app-sidebar-footer{padding:11px;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:4px;background:rgba(0,0,0,.04)}.app-sidebar-logout{color:#ffd7d9!important}.app-sidebar-logout:hover{background:rgba(196,62,66,.2)!important;color:#fff!important}
body.sidebar-collapsed .app-sidebar-brand-copy,body.sidebar-collapsed .app-sidebar-user div,body.sidebar-collapsed .app-sidebar-link-label,body.sidebar-collapsed .app-sidebar-section-label,body.sidebar-collapsed .app-sidebar-count{display:none!important}body.sidebar-collapsed .app-sidebar-brand{padding-inline:18px;justify-content:center}body.sidebar-collapsed .app-sidebar-user{justify-content:center;margin-inline:10px;padding-inline:8px}body.sidebar-collapsed .app-sidebar-link{justify-content:center;padding-inline:9px}body.sidebar-collapsed .app-sidebar-link:hover{transform:none}body.sidebar-collapsed .app-sidebar-logo{width:50px;height:50px;min-width:50px}

/* Header */
.app-header-v100{position:sticky;top:0;z-index:60;height:var(--ui-header-height);display:grid;grid-template-columns:minmax(240px,.8fr) minmax(280px,1.2fr) minmax(240px,.8fr);align-items:center;gap:18px;padding:0 clamp(16px,2vw,30px);background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--ui-border);box-shadow:0 4px 18px rgba(25,54,35,.035)}
.app-header-left,.app-header-right{display:flex;align-items:center;gap:10px;min-width:0}.app-header-right{justify-content:flex-end}.app-header-center{min-width:0}
.app-header-icon-btn{position:relative;width:40px;height:40px;min-width:40px;display:grid;place-items:center;border:1px solid var(--ui-border);border-radius:12px;background:#fff;color:#425349;transition:.17s;box-shadow:var(--ui-shadow-sm)}.app-header-icon-btn:hover{background:var(--ui-primary-soft);color:var(--ui-primary);border-color:#c8ddcf}.app-header-icon-btn svg{width:18px;height:18px;stroke-width:2}.app-header-left>[data-sidebar-toggle]{display:none}
.app-header-title-wrap{display:grid;min-width:0;line-height:1.15;margin-left:2px}.app-header-title-wrap span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--ui-muted);font-weight:800}.app-header-title-wrap strong{font-size:15px;color:var(--ui-text);font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-header-search-v100{height:42px;display:flex;align-items:center;gap:9px;width:min(100%,620px);margin:0 auto;border:1px solid var(--ui-border);border-radius:13px;background:#f8faf9;padding:0 12px;color:#7a8880;transition:.17s}.app-header-search-v100:focus-within{background:#fff;border-color:#9bc4aa;box-shadow:0 0 0 4px rgba(35,106,69,.08)}.app-header-search-v100 svg{width:17px;height:17px}.app-header-search-v100 input{border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;width:100%;min-width:0;height:100%;padding:0!important;font-size:12px!important;color:var(--ui-text)!important}.app-header-search-v100 input::placeholder{color:#94a099}
.app-header-count{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;display:grid;place-items:center;background:var(--ui-danger);color:#fff;font-size:9px;font-weight:900;border:2px solid #fff}.app-header-icon-btn.has-attention{color:var(--ui-danger)}
.app-account-v100{position:relative}.app-account-trigger-v100{display:flex;align-items:center;gap:9px;min-width:0;max-width:235px;border:0;background:transparent;border-radius:13px;padding:5px 7px 5px 5px;color:var(--ui-text);transition:.17s}.app-account-trigger-v100:hover{background:#f2f6f3}.app-account-trigger-v100>img{width:35px;height:35px;min-width:35px;border-radius:10px;object-fit:cover;border:1px solid var(--ui-border)}.app-account-trigger-copy{display:grid;min-width:0;text-align:left;line-height:1.08}.app-account-trigger-copy strong{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-account-trigger-copy small{font-size:9px;color:var(--ui-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-account-trigger-v100>svg{width:14px;height:14px;color:#7c8b82}
.app-account-menu-v100{position:absolute;right:0;top:calc(100% + 10px);width:300px;background:#fff;border:1px solid var(--ui-border);border-radius:17px;box-shadow:var(--ui-shadow-lg);padding:8px;z-index:120}.app-account-menu-head{display:flex;gap:11px;align-items:center;padding:10px 9px 12px;border-bottom:1px solid #edf1ee;margin-bottom:5px}.app-account-menu-head img{width:45px;height:45px;border-radius:13px;object-fit:cover}.app-account-menu-head div{min-width:0;display:grid;line-height:1.2}.app-account-menu-head strong{font-size:12px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-account-menu-head span,.app-account-menu-head small{font-size:10px;color:var(--ui-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-account-menu-v100>a{display:flex;align-items:center;gap:10px;padding:10px 9px;border-radius:10px;text-decoration:none!important;color:#405148!important;font-size:11px;font-weight:700}.app-account-menu-v100>a:hover{background:#f2f7f4;color:var(--ui-primary)!important}.app-account-menu-v100>a svg{width:16px;height:16px}.app-account-menu-v100>a.is-danger{color:var(--ui-danger)!important}.app-account-menu-divider{height:1px;background:#edf1ee;margin:5px 4px}
.app-mobile-search-v100{display:none}

/* Generic page modernization — intentionally broad so legacy pages inherit it */
.app-main-v100>.max-w-7xl,.app-main-v100>.max-w-6xl,.app-main-v100>.max-w-5xl,.app-main-v100>.max-w-4xl,.app-main-v100>.max-w-3xl,.app-main-v100>.max-w-2xl{max-width:none!important;width:100%!important}
.app-main-v100 .bg-white,.app-main-v100 .dark\:bg-slate-900,.app-main-v100 .dark\:bg-slate-950{background:#fff!important}
.app-main-v100 .rounded-3xl{border-radius:var(--ui-radius-lg)!important}.app-main-v100 .rounded-2xl{border-radius:var(--ui-radius-md)!important}.app-main-v100 .rounded-xl{border-radius:12px!important}
.app-main-v100 .shadow-soft,.app-main-v100 .shadow-sm{box-shadow:var(--ui-shadow-sm)!important}.app-main-v100 .shadow-xl,.app-main-v100 .shadow-2xl{box-shadow:var(--ui-shadow-md)!important}
.app-main-v100 .border-slate-200,.app-main-v100 .dark\:border-slate-800{border-color:var(--ui-border)!important}
.app-main-v100 h1{color:var(--ui-text);font-weight:850!important;letter-spacing:-.025em}.app-main-v100 h2,.app-main-v100 h3{color:var(--ui-text);letter-spacing:-.012em}.app-main-v100 .text-slate-500,.app-main-v100 .text-slate-600{color:var(--ui-muted)!important}
.app-main-v100 table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.app-main-v100 thead th{background:#f5f8f6!important;color:#58675e!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.055em;font-weight:850!important;border-bottom:1px solid var(--ui-border)!important;white-space:nowrap}.app-main-v100 tbody td{border-bottom:1px solid #edf1ee!important;vertical-align:middle}.app-main-v100 tbody tr:hover td{background:#fafcfb}.app-main-v100 .overflow-x-auto{border-radius:14px;max-width:100%}
.app-main-v100 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.app-main-v100 select,.app-main-v100 textarea{border-color:#cfd9d2!important;background:#fff!important;color:var(--ui-text)!important;border-radius:12px!important;min-height:42px;box-shadow:none!important;transition:border-color .16s,box-shadow .16s}.app-main-v100 input:focus,.app-main-v100 select:focus,.app-main-v100 textarea:focus{outline:none!important;border-color:#80b293!important;box-shadow:0 0 0 4px rgba(35,106,69,.08)!important}.app-main-v100 textarea{min-height:96px}
.app-main-v100 button,.app-main-v100 a{transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s}
.app-main-v100 .bg-emerald-600,.app-main-v100 .bg-emerald-700,.app-main-v100 .bg-blue-600{background:var(--ui-primary)!important}.app-main-v100 .hover\:bg-emerald-700:hover,.app-main-v100 .hover\:bg-blue-700:hover{background:var(--ui-primary-strong)!important}.app-main-v100 .text-emerald-700,.app-main-v100 .text-blue-700{color:var(--ui-primary)!important}.app-main-v100 .border-emerald-200{border-color:#cbe2d2!important}.app-main-v100 .bg-emerald-50{background:var(--ui-primary-soft)!important}
.app-main-v100 .app-btn-primary{background:var(--ui-primary)!important;border-color:var(--ui-primary)!important;color:#fff!important;border-radius:11px!important;box-shadow:0 4px 12px rgba(35,106,69,.16)}.app-main-v100 .app-btn-primary:hover{background:var(--ui-primary-strong)!important;transform:translateY(-1px)}.app-main-v100 .app-btn-outline{border-color:#cbd6ce!important;color:#405148!important;background:#fff!important;border-radius:11px!important}.app-main-v100 .app-btn-outline:hover{background:#f4f8f5!important;border-color:#aac4b2!important;color:var(--ui-primary)!important}
.app-main-v100 .app-kpi-card,.app-main-v100 .app-card,.app-main-v100 .panel,.app-main-v100 .card{border-color:var(--ui-border)!important;border-radius:var(--ui-radius-md)!important;box-shadow:var(--ui-shadow-sm)!important}

/* Toasts and idle warning */
.app-toast{border-radius:13px!important;box-shadow:var(--ui-shadow-sm)!important}.app-toast-success{border-color:#bfe0ca!important;background:#eef8f2!important;color:#165d39!important}.app-toast-error{border-color:#f0c6c8!important;background:#fff2f2!important;color:#9d3034!important}.app-toast-warning{border:1px solid #efd6a8!important;background:#fff9ec!important;color:#855718!important}.harvest-idle-warning{position:fixed;right:18px;bottom:18px;z-index:1000;display:grid;gap:3px;max-width:340px;padding:14px 16px;background:#fff8e7;border:1px solid #ecd29c;border-radius:14px;box-shadow:var(--ui-shadow-lg);color:#724b12;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.harvest-idle-warning.is-visible{opacity:1;transform:none}.harvest-idle-warning strong{font-size:12px}.harvest-idle-warning span{font-size:10px}

/* Login/auth visual alignment with the new system */
body.auth-page{background:linear-gradient(140deg,#eef5f0 0%,#f8faf8 50%,#f7f1df 100%)!important}.auth-main{position:relative;z-index:2}.auth-card{border:1px solid rgba(207,217,210,.9)!important;border-radius:22px!important;box-shadow:0 24px 70px rgba(23,61,43,.14)!important;background:rgba(255,255,255,.96)!important}.auth-card input{border-radius:12px!important;border-color:#cfd9d2!important}.auth-card input:focus{border-color:#80b293!important;box-shadow:0 0 0 4px rgba(35,106,69,.08)!important}.auth-page .app-btn-primary{background:var(--ui-primary)!important;color:#fff!important;border-radius:12px!important}.auth-page .app-btn-primary:hover{background:var(--ui-primary-strong)!important}.auth-bg-logo-fixed{opacity:.035!important;filter:grayscale(1)}

/* Loader */
.app-loader-overlay{background:rgba(246,249,247,.97)!important}.app-loader-ring{border-color:#d8e6dc!important;border-top-color:var(--ui-primary)!important}.app-loader-logo-wrap{box-shadow:0 10px 32px rgba(23,61,43,.14)!important}.app-loader-text{color:#496054!important;font-family:'Inter',sans-serif!important;font-weight:750!important}

/* Responsive */
@media (max-width:1180px){
  :root{--ui-sidebar-width:250px}
  .app-header-v100{grid-template-columns:minmax(205px,.7fr) minmax(240px,1fr) minmax(180px,.65fr)}
  .app-account-trigger-copy{display:none}.app-account-trigger-v100{padding-right:5px}.app-header-title-wrap strong{font-size:14px}
}
@media (max-width:960px){
  body.sidebar-collapsed .app-shell-v100,.app-shell-v100{display:block}
  .app-sidebar-v100{position:fixed;left:0;top:0;width:min(84vw,310px);height:100dvh;transform:translateX(-104%);transition:transform .24s cubic-bezier(.2,.8,.2,1);box-shadow:20px 0 60px rgba(0,0,0,.24)}
  body.sidebar-open .app-sidebar-v100{transform:translateX(0)}
  .app-sidebar-backdrop{display:block;position:fixed;inset:0;z-index:70;background:rgba(10,24,16,.48);opacity:0;pointer-events:none;transition:opacity .2s;backdrop-filter:blur(2px)}body.sidebar-open .app-sidebar-backdrop{opacity:1;pointer-events:auto}
  .app-sidebar-mobile-close{display:flex}.app-header-left>[data-sidebar-toggle]{display:grid}.app-desktop-collapse{display:none!important}
  body.sidebar-collapsed .app-sidebar-brand-copy,body.sidebar-collapsed .app-sidebar-user div,body.sidebar-collapsed .app-sidebar-link-label,body.sidebar-collapsed .app-sidebar-section-label,body.sidebar-collapsed .app-sidebar-count{display:initial!important}body.sidebar-collapsed .app-sidebar-brand{padding:16px;justify-content:initial}body.sidebar-collapsed .app-sidebar-user{justify-content:initial;margin:14px 14px 4px;padding:11px 12px}body.sidebar-collapsed .app-sidebar-link{justify-content:initial;padding:8px 10px}
  .app-header-v100{height:68px;grid-template-columns:minmax(0,1fr) auto;padding:0 14px}.app-header-center{display:none}.app-header-title-wrap span{display:none}.app-header-title-wrap strong{font-size:13px}.app-mobile-search-v100{display:block;padding:10px 14px 0;background:var(--ui-bg)}.app-mobile-search-v100 form{height:40px;display:flex;align-items:center;gap:8px;border:1px solid var(--ui-border);background:#fff;border-radius:12px;padding:0 11px}.app-mobile-search-v100 svg{width:16px;height:16px;color:#738178}.app-mobile-search-v100 input{width:100%;height:100%;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;font-size:12px!important;padding:0!important}
  .app-main-v100{padding:18px 14px 32px}.app-account-trigger-v100>svg{display:none}.app-header-chat{width:38px;height:38px;min-width:38px}.app-account-trigger-v100>img{width:35px;height:35px}
}
@media (max-width:640px){
  .app-main-v100{padding:14px 10px 28px}.app-header-v100{padding:0 10px;gap:7px}.app-header-left{gap:6px}.app-header-icon-btn{width:38px;height:38px;min-width:38px}.app-header-title-wrap{max-width:135px}.app-header-title-wrap strong{font-size:12px}.app-header-chat{display:grid}.app-account-trigger-v100{padding:2px}.app-account-menu-v100{position:fixed;right:10px;left:10px;top:70px;width:auto}.app-mobile-search-v100{padding-inline:10px}
  .app-main-v100 .grid.md\:grid-cols-2,.app-main-v100 .grid.md\:grid-cols-3,.app-main-v100 .grid.md\:grid-cols-4,.app-main-v100 .grid.md\:grid-cols-5{grid-template-columns:minmax(0,1fr)!important}
  .app-main-v100 .p-8,.app-main-v100 .p-10{padding:18px!important}.app-main-v100 .p-6,.app-main-v100 .p-7{padding:16px!important}.app-main-v100 h1{font-size:clamp(22px,7vw,29px)!important;line-height:1.14!important}.app-main-v100 table{font-size:11px}.app-main-v100 th,.app-main-v100 td{padding-left:10px!important;padding-right:10px!important}
  .harvest-idle-warning{right:10px;left:10px;bottom:10px;max-width:none}
}
@media (max-width:380px){.app-header-title-wrap{display:none}.app-header-right{gap:5px}.app-sidebar-v100{width:90vw}.app-main-v100{padding-inline:8px}.app-mobile-search-v100{padding-inline:8px}}
@media print{.app-sidebar-v100,.app-header-v100,.app-mobile-search-v100,.app-sidebar-backdrop{display:none!important}.app-shell-v100{display:block!important}.app-main-v100{max-width:none!important;padding:0!important}.app-workspace-v100{min-height:0!important}}

/* ========================================================================== 
   HARVEST UI V200 — reference-aligned municipal workspace frontend
   Frontend only. No database/schema dependency.
   ========================================================================== */
:root{
  --v200-sidebar:296px;--v200-sidebar-collapsed:82px;--v200-forest:#0d3b2b;--v200-forest-2:#124633;--v200-forest-3:#1a513b;
  --v200-olive:#38542d;--v200-gold:#f4bf2a;--v200-gold-soft:#fff5d2;--v200-bg:#f5f7f5;--v200-surface:#fff;
  --v200-text:#1d2822;--v200-muted:#6b786f;--v200-line:#dfe6e1;--v200-soft:#eef3ef;--v200-danger:#b74242;
  --v200-shadow:0 10px 30px rgba(19,52,37,.08);--v200-shadow-lg:0 24px 65px rgba(13,59,43,.16);--v200-radius:16px;
}
html,body{font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;background:var(--v200-bg);color:var(--v200-text)}
body.app-ui-v200{margin:0;min-height:100vh;background:var(--v200-bg)!important;overflow-x:hidden}
.app-shell-v200{display:grid;grid-template-columns:var(--v200-sidebar) minmax(0,1fr);min-height:100dvh;width:100%}
.app-sidebar-v200{position:sticky;top:0;height:100dvh;z-index:80;display:flex;flex-direction:column;min-width:0;background:linear-gradient(180deg,#123f2f 0%,#0d3b2b 55%,#0a3326 100%);color:#fff;border-right:1px solid rgba(255,255,255,.06);box-shadow:12px 0 32px rgba(6,34,24,.09)}
.app-sidebar-brand-v200{min-height:96px;padding:18px 16px 15px;border-bottom:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:space-between;gap:8px}
.app-sidebar-brand-link-v200{min-width:0;display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.app-sidebar-logo-v200{width:50px;height:50px;border-radius:999px;overflow:hidden;background:#fff;border:2px solid rgba(255,255,255,.65);box-shadow:0 8px 24px rgba(0,0,0,.16);flex:0 0 auto}.app-sidebar-logo-v200 img{width:100%;height:100%;object-fit:cover}
.app-sidebar-brand-copy-v200{display:grid;min-width:0;line-height:1.12}.app-sidebar-brand-copy-v200 strong{font-size:15px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar-brand-copy-v200 small{margin-top:4px;font-size:8.5px;letter-spacing:.075em;text-transform:uppercase;color:rgba(231,244,235,.68);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-sidebar-user-v200{position:relative;margin:15px 14px 8px;padding:12px 13px;display:flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(255,255,255,.055);box-shadow:inset 0 1px rgba(255,255,255,.025)}
.app-sidebar-user-v200>img{width:42px;height:42px;border-radius:999px;object-fit:cover;background:#fff;border:1px solid rgba(255,255,255,.2);flex:0 0 auto}.app-sidebar-user-copy{min-width:0;display:grid}.app-sidebar-user-copy strong{font-size:12.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar-user-copy span{font-size:10px;color:rgba(233,244,236,.66);margin-top:3px}.app-role-dot{margin-left:auto;width:7px;height:7px;border-radius:999px;background:#5ce08e;box-shadow:0 0 0 4px rgba(92,224,142,.10)}
.app-sidebar-nav-v200{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:4px 12px 14px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.app-sidebar-nav-v200::-webkit-scrollbar{width:5px}.app-sidebar-nav-v200::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:999px}
.app-sidebar-section-v200{padding:9px 0}.app-sidebar-section-v200+.app-sidebar-section-v200{border-top:1px solid rgba(255,255,255,.055)}
.app-sidebar-section-label-v200,.app-sidebar-section-toggle{height:30px;padding:0 8px;display:flex;align-items:center;color:rgba(233,244,236,.48);font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.app-sidebar-section-toggle{width:100%;border:0;background:transparent;justify-content:space-between;cursor:pointer;text-align:left}.app-sidebar-section-toggle svg{width:13px;height:13px;transition:transform .18s}.app-sidebar-section-v200.is-collapsed .app-sidebar-section-toggle svg{transform:rotate(-90deg)}.app-sidebar-section-v200.is-collapsed .app-sidebar-section-items{display:none}
.app-sidebar-link-v200{position:relative;display:flex;align-items:center;gap:11px;min-height:48px;padding:8px 11px;border-radius:13px;color:rgba(244,250,246,.85)!important;text-decoration:none!important;font-size:12.5px;font-weight:720;line-height:1.2;margin:2px 0;transition:background .15s,color .15s,transform .15s,border-color .15s;overflow:hidden}.app-sidebar-link-v200:hover{background:rgba(255,255,255,.07);color:#fff!important;transform:translateX(1px)}
.app-sidebar-link-icon-v200{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;flex:0 0 auto;color:rgba(242,249,244,.82)}.app-sidebar-link-icon-v200 svg{width:18px;height:18px;stroke-width:1.8}
.app-sidebar-link-v200.is-active{color:#fff!important;background:linear-gradient(90deg,rgba(67,91,45,.96),rgba(58,79,42,.9));box-shadow:inset 3px 0 0 var(--v200-gold),0 5px 12px rgba(0,0,0,.08)}.app-sidebar-link-v200.is-active .app-sidebar-link-icon-v200{color:var(--v200-gold);background:rgba(244,191,42,.08)}.app-sidebar-link-v200.is-module-active{background:rgba(255,255,255,.055);box-shadow:inset 3px 0 0 var(--v200-gold)}
.app-sidebar-count{margin-left:auto;min-width:22px;height:20px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#f1c651;color:#4a3510;font-size:9.5px;font-weight:900}
.app-sidebar-footer-v200{flex:0 0 auto;padding:10px 12px 14px;border-top:1px solid rgba(255,255,255,.09);background:rgba(4,28,20,.16)}.app-sidebar-footer-v200 .app-sidebar-link-v200{min-height:45px}.app-sidebar-logout{color:#ffd5d5!important}.app-sidebar-logout:hover{background:rgba(195,63,63,.16)!important;color:#fff!important}
.app-sidebar-mobile-close{display:none;border:0;background:rgba(255,255,255,.08);color:#fff;width:36px;height:36px;border-radius:11px;align-items:center;justify-content:center;cursor:pointer}.app-sidebar-mobile-close svg{width:18px;height:18px}
.app-sidebar-backdrop{display:none}
.app-workspace-v200{min-width:0;min-height:100dvh;background:var(--v200-bg)}
.app-header-v200{position:sticky;top:0;z-index:55;height:72px;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr) minmax(220px,.8fr);align-items:center;gap:18px;padding:0 24px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--v200-line);backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(13,59,43,.02)}
.app-header-left-v200,.app-header-right-v200{display:flex;align-items:center;min-width:0}.app-header-left-v200{gap:8px}.app-header-right-v200{justify-content:flex-end;gap:9px}
.app-header-icon-btn{position:relative;width:40px;height:40px;min-width:40px;border:1px solid #dce4df;background:#fff;color:#3a4d42;border-radius:12px;display:grid;place-items:center;cursor:pointer;text-decoration:none!important}.app-header-icon-btn:hover{background:#f4f7f5;border-color:#cad6ce;color:#163d2b}.app-header-icon-btn svg{width:18px;height:18px}
.app-header-title-v200{display:grid;min-width:0;margin-left:4px}.app-header-title-v200 small{font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#819087}.app-header-title-v200 strong{font-size:14px;font-weight:850;color:#203027;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.app-header-search-v200{height:42px;max-width:620px;margin:auto;display:flex;align-items:center;gap:9px;border:1px solid #d8e1db;background:#f7f9f8;border-radius:13px;padding:0 12px}.app-header-search-v200:focus-within{background:#fff;border-color:#9ab8a6;box-shadow:0 0 0 4px rgba(37,99,67,.065)}.app-header-search-v200 svg{width:16px;height:16px;color:#78877e}.app-header-search-v200 input{width:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;font:500 12px/1.2 'Inter',sans-serif!important;padding:0!important;min-height:0!important;color:#233229!important}.app-header-search-v200 input::placeholder{color:#8d9991}
.app-account-v200{position:relative}.app-account-trigger-v200{height:46px;display:flex;align-items:center;gap:8px;padding:3px 8px 3px 4px;border:1px solid #dce4df;background:#fff;border-radius:14px;cursor:pointer;color:#27362d}.app-account-trigger-v200>img{width:36px;height:36px;border-radius:11px;object-fit:cover}.app-account-trigger-v200>span{display:grid;text-align:left;min-width:0;max-width:125px}.app-account-trigger-v200 strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-account-trigger-v200 small{font-size:9px;color:#7b8980;margin-top:1px}.app-account-trigger-v200>svg{width:14px;height:14px;color:#7f8b83}
.app-account-menu-v200{position:absolute;right:0;top:54px;width:285px;padding:7px;background:#fff;border:1px solid var(--v200-line);border-radius:16px;box-shadow:var(--v200-shadow-lg);z-index:120}.app-account-menu-head-v200{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:#f4f7f5}.app-account-menu-head-v200>img{width:44px;height:44px;border-radius:12px;object-fit:cover}.app-account-menu-head-v200>div{min-width:0;display:grid}.app-account-menu-head-v200 strong{font-size:12px}.app-account-menu-head-v200 span{font-size:9.5px;color:#64736a}.app-account-menu-head-v200 small{font-size:9px;color:#87938c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-account-menu-v200>a{display:flex;align-items:center;gap:9px;padding:9px 10px;margin:2px 0;border-radius:10px;color:#304238!important;text-decoration:none!important;font-size:11px;font-weight:650}.app-account-menu-v200>a:hover{background:#f2f6f3}.app-account-menu-v200>a svg{width:16px;height:16px;color:#617169}.app-account-menu-v200>a.is-danger{color:var(--v200-danger)!important}.app-account-menu-divider{height:1px;background:#edf1ee;margin:5px 4px}
.app-mobile-search-v200{display:none}
.app-main-v200{width:100%;max-width:100%;padding:22px 24px 40px;min-width:0}.app-page-context-v200{height:26px;display:flex;align-items:center;gap:6px;margin-bottom:8px;color:#8a978f;font-size:10px;font-weight:650}.app-page-context-v200 svg{width:11px;height:11px}.app-page-context-v200 strong{color:#526159;font-weight:800}
.app-main-v200>.max-w-7xl,.app-main-v200>.max-w-6xl,.app-main-v200>.max-w-5xl,.app-main-v200>.max-w-4xl,.app-main-v200>.max-w-3xl,.app-main-v200>.max-w-2xl,.app-main-v200>.mx-auto{max-width:none!important;width:100%!important}
.app-main-v200 .bg-white,.app-main-v200 .dark\:bg-slate-900,.app-main-v200 .dark\:bg-slate-950{background:#fff!important}.app-main-v200 .border-slate-200,.app-main-v200 .dark\:border-slate-800{border-color:var(--v200-line)!important}.app-main-v200 .shadow-sm,.app-main-v200 .shadow-soft{box-shadow:0 5px 18px rgba(28,61,43,.055)!important}.app-main-v200 .shadow-xl,.app-main-v200 .shadow-2xl{box-shadow:var(--v200-shadow)!important}.app-main-v200 .rounded-3xl{border-radius:18px!important}.app-main-v200 .rounded-2xl{border-radius:15px!important}.app-main-v200 .rounded-xl{border-radius:12px!important}
.app-main-v200 h1{font-weight:850!important;letter-spacing:-.03em;color:#1d2d24!important}.app-main-v200 h2,.app-main-v200 h3{font-weight:780!important;letter-spacing:-.018em;color:#26372d!important}.app-main-v200 .text-slate-500,.app-main-v200 .text-slate-600{color:#6f7d74!important}.app-main-v200 .text-emerald-700,.app-main-v200 .text-emerald-800,.app-main-v200 .text-blue-700{color:#216343!important}.app-main-v200 .bg-emerald-50{background:#eff7f1!important}.app-main-v200 .bg-emerald-600,.app-main-v200 .bg-emerald-700,.app-main-v200 .bg-blue-600{background:#246b48!important}.app-main-v200 .hover\:bg-emerald-700:hover,.app-main-v200 .hover\:bg-blue-700:hover{background:#1a5638!important}
.app-main-v200 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.app-main-v200 select,.app-main-v200 textarea{min-height:42px;border-radius:11px!important;border-color:#ced9d2!important;background:#fff!important;color:#243229!important;box-shadow:none!important}.app-main-v200 input:focus,.app-main-v200 select:focus,.app-main-v200 textarea:focus{outline:none!important;border-color:#7fa98f!important;box-shadow:0 0 0 4px rgba(36,107,72,.07)!important}.app-main-v200 textarea{min-height:96px}
.app-main-v200 table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.app-main-v200 thead th{background:#f2f6f3!important;color:#5f6d64!important;font-size:9.5px!important;text-transform:uppercase;letter-spacing:.06em;font-weight:850!important;border-bottom:1px solid #dce5df!important;white-space:nowrap}.app-main-v200 tbody td{border-bottom:1px solid #ebf0ed!important;vertical-align:middle}.app-main-v200 tbody tr:hover td{background:#fafcfb}
.app-main-v200 .app-btn-primary{background:#246b48!important;border-color:#246b48!important;color:#fff!important;border-radius:11px!important;box-shadow:0 5px 14px rgba(36,107,72,.15)}.app-main-v200 .app-btn-primary:hover{background:#1b593b!important}.app-main-v200 .app-btn-outline{background:#fff!important;border-color:#cbd7cf!important;color:#405248!important;border-radius:11px!important}.app-main-v200 .app-btn-outline:hover{background:#f2f6f3!important;border-color:#aabfb1!important;color:#1d5d3d!important}

/* Shared V200 presentation components */
.ui-page-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:24px 26px;border:1px solid var(--v200-line);border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f4f8f5 100%);box-shadow:0 5px 18px rgba(28,61,43,.05)}.ui-page-hero h1{font-size:30px!important;margin:3px 0 0}.ui-page-hero p{margin:7px 0 0;max-width:760px;color:#6c7a71;font-size:13px}.ui-eyebrow{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#2b7451}.ui-role-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #d6e3da;background:#fff;border-radius:999px;font-size:10px;font-weight:800;color:#405248;white-space:nowrap}.ui-role-chip svg{width:15px;height:15px;color:#2d704e}
.ui-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px}.ui-module-card{position:relative;min-width:0;display:flex;flex-direction:column;padding:18px;border:1px solid var(--v200-line);border-radius:18px;background:#fff;color:inherit!important;text-decoration:none!important;box-shadow:0 5px 18px rgba(28,61,43,.045);transition:.18s}.ui-module-card:hover{transform:translateY(-2px);border-color:#b8ccbe;box-shadow:var(--v200-shadow)}.ui-module-card.is-current{border-color:#e5c86f;box-shadow:inset 0 0 0 1px #f4d984,0 6px 20px rgba(28,61,43,.055)}.ui-module-card-top{display:flex;align-items:center;justify-content:space-between}.ui-module-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#edf5ef;color:#236744}.ui-module-icon svg{width:23px;height:23px}.ui-current-badge,.ui-open-badge{padding:5px 8px;border-radius:999px;font-size:8.5px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.ui-current-badge{background:var(--v200-gold-soft);color:#77550f}.ui-open-badge{background:#f1f4f2;color:#66736b}.ui-module-card h2{font-size:16px!important;margin:14px 0 0}.ui-module-card>p{font-size:11px;line-height:1.55;color:#6a776f;margin:6px 0 14px;min-height:51px}.ui-module-stat{margin-top:auto;padding:10px 11px;border-radius:12px;background:#f5f8f6;display:grid;gap:2px}.ui-module-stat span{font-size:9px;color:#7d8982}.ui-module-stat strong{font-size:22px;color:#204e38}.ui-module-enter{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font-size:10px;font-weight:800;color:#2b6a4a}.ui-module-enter svg{width:14px;height:14px}

/* Standalone module selector */
body.module-select-v200{margin:0;min-height:100dvh;background:#f4f6f4;color:#1f2b24;font-family:'Inter',sans-serif}.module-select-shell-v200{min-height:100dvh;display:grid;grid-template-columns:minmax(310px,42%) minmax(0,58%)}.module-select-brand-v200{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:38px clamp(28px,5vw,72px);background:linear-gradient(155deg,#174d38,#0c3628 66%,#082c21);color:#fff}.module-select-brand-v200:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.06);border-radius:999px;right:-190px;bottom:-160px;box-shadow:0 0 0 70px rgba(255,255,255,.02),0 0 0 140px rgba(255,255,255,.014)}.module-select-brand-inner,.module-select-copy-v200{position:relative;z-index:1}.module-select-brand-inner{display:flex;align-items:center;gap:13px}.module-select-brand-inner img{width:58px;height:58px;border-radius:999px;object-fit:cover;border:2px solid rgba(255,255,255,.55);background:#fff}.module-select-brand-inner span{font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#d1e3d7}.module-select-brand-inner h1{font-size:17px;margin:2px 0 0}.module-select-brand-inner p{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#a9c6b4;margin:3px 0 0}.module-select-kicker{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;color:#f4c84f}.module-select-copy-v200 h2{font-size:clamp(32px,4vw,55px);line-height:1.03;letter-spacing:-.045em;margin:9px 0 12px}.module-select-copy-v200 p{max-width:500px;font-size:13px;line-height:1.65;color:#bed2c5}.module-select-content-v200{display:flex;flex-direction:column;justify-content:center;padding:44px clamp(26px,6vw,90px)}.module-select-heading-v200>span{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#2c7351}.module-select-heading-v200 h2{font-size:30px;letter-spacing:-.03em;margin:6px 0 0}.module-select-heading-v200 p{color:#748077;font-size:12px;margin:7px 0 0}.module-select-grid-v200{display:grid;gap:11px;margin-top:24px}.module-select-card-v200{display:grid;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;gap:13px;padding:15px 16px;border:1px solid #dde5df;border-radius:16px;background:#fff;color:#203027!important;text-decoration:none!important;box-shadow:0 4px 14px rgba(28,61,43,.04);transition:.16s}.module-select-card-v200:hover{transform:translateX(2px);border-color:#aec6b6;box-shadow:0 10px 25px rgba(28,61,43,.08)}.module-select-icon-v200{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#edf5ef;color:#236744}.module-select-icon-v200 svg{width:22px;height:22px}.module-select-card-v200 strong{display:block;font-size:13px}.module-select-card-v200 p{font-size:10.5px;line-height:1.45;color:#758178;margin:3px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.module-select-arrow-v200{width:17px;height:17px;color:#8e9a92}.module-select-back-v200{margin-top:20px;display:inline-flex;align-items:center;gap:7px;color:#2c6849!important;text-decoration:none!important;font-size:10px;font-weight:800}.module-select-back-v200 svg{width:14px;height:14px}

/* Auth/login V200 overrides */
body.auth-page{font-family:'Inter',sans-serif!important;background:linear-gradient(135deg,#eef3ef,#fbfcfb 54%,#f6f1e3)!important}.auth-main{min-height:100dvh!important;padding:28px!important}.auth-card,.auth-card-compact{max-width:430px!important;border-radius:20px!important;border:1px solid #dce4df!important;box-shadow:0 28px 80px rgba(13,59,43,.15)!important;background:rgba(255,255,255,.97)!important}.auth-card input{min-height:46px!important;border-radius:12px!important;font-family:'Inter',sans-serif!important}.auth-card .login-submit-btn{min-height:46px!important;border-radius:12px!important;background:#236744!important}.auth-card .login-submit-btn:hover{background:#184f35!important}.auth-bg-logo-fixed{opacity:.025!important;filter:grayscale(1) saturate(.3)!important}.auth-card h1{letter-spacing:-.03em!important;color:#1e2c24!important}.auth-card .text-emerald-700{color:#2b6b4b!important}

/* Tables become readable cards on phones where table markup has data-labels */
@media(max-width:700px){
  .app-main-v200 table.app-responsive-table thead{display:none}.app-main-v200 table.app-responsive-table,.app-main-v200 table.app-responsive-table tbody,.app-main-v200 table.app-responsive-table tr,.app-main-v200 table.app-responsive-table td{display:block;width:100%}.app-main-v200 table.app-responsive-table tbody{display:grid;gap:10px}.app-main-v200 table.app-responsive-table tr{border:1px solid var(--v200-line);border-radius:14px;background:#fff;padding:6px 10px;box-shadow:0 3px 12px rgba(28,61,43,.035)}.app-main-v200 table.app-responsive-table td{display:grid!important;grid-template-columns:minmax(88px,35%) minmax(0,1fr);gap:9px;padding:8px 2px!important;border-bottom:1px solid #edf1ee!important;text-align:left!important;white-space:normal!important}.app-main-v200 table.app-responsive-table td:last-child{border-bottom:0!important}.app-main-v200 table.app-responsive-table td:before{content:attr(data-label);font-size:8.5px;line-height:1.3;font-weight:850;text-transform:uppercase;letter-spacing:.055em;color:#839087}.app-main-v200 table.app-responsive-table td:empty{display:none!important}
}

/* Sidebar collapse and responsive drawer */
body.sidebar-collapsed-v200 .app-shell-v200{grid-template-columns:var(--v200-sidebar-collapsed) minmax(0,1fr)}
body.sidebar-collapsed-v200 .app-sidebar-brand-copy-v200,body.sidebar-collapsed-v200 .app-sidebar-user-copy,body.sidebar-collapsed-v200 .app-role-dot,body.sidebar-collapsed-v200 .app-sidebar-link-label,body.sidebar-collapsed-v200 .app-sidebar-section-label-v200,body.sidebar-collapsed-v200 .app-sidebar-section-toggle span,body.sidebar-collapsed-v200 .app-sidebar-count{display:none!important}
body.sidebar-collapsed-v200 .app-sidebar-brand-v200{padding-inline:12px;justify-content:center}body.sidebar-collapsed-v200 .app-sidebar-logo-v200{width:44px;height:44px}body.sidebar-collapsed-v200 .app-sidebar-user-v200{margin-inline:10px;padding:8px;justify-content:center}body.sidebar-collapsed-v200 .app-sidebar-user-v200>img{width:38px;height:38px}body.sidebar-collapsed-v200 .app-sidebar-link-v200{justify-content:center;padding-inline:8px}body.sidebar-collapsed-v200 .app-sidebar-link-icon-v200{width:34px;height:34px}body.sidebar-collapsed-v200 .app-sidebar-section-toggle{justify-content:center}body.sidebar-collapsed-v200 .app-sidebar-section-toggle svg{display:none}
@media(max-width:1180px){:root{--v200-sidebar:268px}.app-header-v200{grid-template-columns:minmax(210px,.85fr) minmax(220px,1fr) auto}.app-account-trigger-v200>span{display:none}}
@media(max-width:900px){
  .app-shell-v200{display:block}.app-sidebar-v200{position:fixed;left:0;top:0;width:min(86vw,305px);height:100dvh;transform:translateX(-104%);transition:transform .23s cubic-bezier(.2,.8,.2,1);box-shadow:22px 0 60px rgba(0,0,0,.26)}body.sidebar-open-v200{overflow:hidden}body.sidebar-open-v200 .app-sidebar-v200{transform:translateX(0)}.app-sidebar-backdrop{display:block;position:fixed;inset:0;z-index:70;background:rgba(5,24,17,.52);opacity:0;pointer-events:none;transition:.2s;backdrop-filter:blur(2px)}body.sidebar-open-v200 .app-sidebar-backdrop{opacity:1;pointer-events:auto}.app-sidebar-mobile-close{display:flex}.app-desktop-collapse{display:none!important}
  body.sidebar-collapsed-v200 .app-sidebar-brand-copy-v200,body.sidebar-collapsed-v200 .app-sidebar-user-copy,body.sidebar-collapsed-v200 .app-role-dot,body.sidebar-collapsed-v200 .app-sidebar-link-label,body.sidebar-collapsed-v200 .app-sidebar-section-label-v200,body.sidebar-collapsed-v200 .app-sidebar-section-toggle span,body.sidebar-collapsed-v200 .app-sidebar-count{display:initial!important}body.sidebar-collapsed-v200 .app-sidebar-brand-v200{padding:18px 16px 15px;justify-content:space-between}body.sidebar-collapsed-v200 .app-sidebar-user-v200{margin:15px 14px 8px;padding:12px 13px;justify-content:initial}body.sidebar-collapsed-v200 .app-sidebar-link-v200{justify-content:initial;padding:8px 11px}
  .app-header-v200{height:66px;grid-template-columns:minmax(0,1fr) auto;padding:0 13px;gap:8px}.app-header-search-wrap-v200{display:none}.app-header-title-v200 small{display:none}.app-header-title-v200 strong{font-size:13px}.app-mobile-search-v200{display:block;padding:9px 13px 0;background:var(--v200-bg)}.app-mobile-search-v200 form{height:40px;display:flex;align-items:center;gap:8px;border:1px solid var(--v200-line);background:#fff;border-radius:12px;padding:0 11px}.app-mobile-search-v200 svg{width:16px;height:16px;color:#7a887f}.app-mobile-search-v200 input{width:100%;height:100%;min-height:0!important;border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;font-size:11px!important;padding:0!important}.app-main-v200{padding:14px 13px 30px}.app-page-context-v200{display:none}.app-account-trigger-v200>svg{display:none}.app-header-chat{width:38px;height:38px;min-width:38px}.app-account-trigger-v200{height:40px;padding:2px}.app-account-trigger-v200>img{width:34px;height:34px;border-radius:10px}.ui-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-select-shell-v200{grid-template-columns:1fr}.module-select-brand-v200{min-height:300px;padding:26px 24px}.module-select-copy-v200 h2{font-size:36px}.module-select-content-v200{padding:30px 24px 40px}
}
@media(max-width:600px){.app-main-v200{padding:12px 9px 26px}.app-header-v200{padding:0 9px}.app-header-title-v200{max-width:150px}.app-header-title-v200 strong{font-size:12px}.app-header-icon-btn{width:38px;height:38px;min-width:38px}.app-account-menu-v200{position:fixed;left:9px;right:9px;top:68px;width:auto}.ui-page-hero{align-items:flex-start;flex-direction:column;padding:18px}.ui-page-hero h1{font-size:24px!important}.ui-module-grid{grid-template-columns:1fr;gap:10px}.ui-module-card{padding:15px}.module-select-brand-v200{min-height:260px}.module-select-brand-inner img{width:48px;height:48px}.module-select-copy-v200 h2{font-size:31px}.module-select-copy-v200 p{font-size:11px}.module-select-content-v200{padding:25px 16px 36px}.module-select-heading-v200 h2{font-size:24px}.module-select-card-v200{grid-template-columns:42px minmax(0,1fr) 22px;padding:13px}.module-select-icon-v200{width:40px;height:40px}.auth-main{padding:14px!important}.auth-card,.auth-card-compact{border-radius:17px!important}.app-main-v200 .p-8,.app-main-v200 .p-10{padding:18px!important}.app-main-v200 .p-6,.app-main-v200 .p-7{padding:15px!important}}
@media(max-width:380px){.app-header-title-v200{display:none}.app-sidebar-v200{width:91vw}.app-header-right-v200{gap:5px}.module-select-brand-v200{min-height:240px}.module-select-copy-v200 h2{font-size:28px}}
@media print{.app-sidebar-v200,.app-header-v200,.app-mobile-search-v200,.app-sidebar-backdrop,.app-page-context-v200{display:none!important}.app-shell-v200{display:block!important}.app-main-v200{padding:0!important}.app-workspace-v200{min-height:0!important}}
.app-submit-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:999px;display:inline-block;animation:v200spin .7s linear infinite}.is-submitting{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;opacity:.82!important;cursor:wait!important}@keyframes v200spin{to{transform:rotate(360deg)}}
body.standalone-v200{font-family:'Inter',sans-serif!important;background:linear-gradient(145deg,#eef4ef,#f8faf8 58%,#f5f0e2)!important;color:#1f2d25!important}body.standalone-v200 .bg-white{background:#fff!important}body.standalone-v200 .rounded-\[2rem\],body.standalone-v200 .rounded-3xl{border-radius:18px!important}body.standalone-v200 .rounded-2xl{border-radius:13px!important}body.standalone-v200 .border-slate-200{border-color:#dce5df!important}body.standalone-v200 .shadow-sm{box-shadow:0 10px 30px rgba(20,60,39,.07)!important}body.standalone-v200 h1,body.standalone-v200 h2,body.standalone-v200 h3{letter-spacing:-.025em!important;color:#1f3026!important}body.standalone-v200 .text-emerald-700{color:#246b48!important}body.standalone-v200 .bg-emerald-700,body.standalone-v200 .bg-emerald-600{background:#246b48!important}body.standalone-v200 input,body.standalone-v200 select,body.standalone-v200 textarea{border-radius:11px!important;border-color:#ced9d2!important}body.standalone-v200 input:focus,body.standalone-v200 select:focus,body.standalone-v200 textarea:focus{outline:none!important;border-color:#7fa98f!important;box-shadow:0 0 0 4px rgba(36,107,72,.07)!important}.family-v200 .app-btn-primary{background:#246b48!important;color:#fff!important;border-radius:11px!important}.family-v200 .app-btn-outline{border-color:#c9d6ce!important;color:#375044!important;border-radius:11px!important;background:#fff!important}

/* ========================================================================== 
   HARVEST UI V210 — Compact Scale Refinement
   Frontend-only dimensional tuning. No database/backend dependency.
   ========================================================================== */
:root{
  --v200-sidebar:252px;
  --v200-sidebar-collapsed:70px;
  --v200-radius:13px;
  --v200-shadow:0 7px 22px rgba(19,52,37,.065);
  --v200-shadow-lg:0 18px 48px rgba(13,59,43,.13);
}

/* Sidebar: narrower, denser, easier to scan */
.app-sidebar-brand-v200{min-height:76px;padding:12px 12px 10px;gap:7px}
.app-sidebar-brand-link-v200{gap:9px}
.app-sidebar-logo-v200{width:40px;height:40px;border-width:1.5px}
.app-sidebar-brand-copy-v200 strong{font-size:12.5px}
.app-sidebar-brand-copy-v200 small{margin-top:3px;font-size:7.5px;letter-spacing:.065em}
.app-sidebar-user-v200{margin:10px 10px 5px;padding:8px 9px;gap:8px;border-radius:12px}
.app-sidebar-user-v200>img{width:34px;height:34px}
.app-sidebar-user-copy strong{font-size:11px}.app-sidebar-user-copy span{font-size:8.5px;margin-top:2px}.app-role-dot{width:6px;height:6px;box-shadow:0 0 0 3px rgba(92,224,142,.09)}
.app-sidebar-nav-v200{padding:2px 9px 9px}
.app-sidebar-section-v200{padding:6px 0}.app-sidebar-section-label-v200,.app-sidebar-section-toggle{height:24px;padding:0 7px;font-size:8px;letter-spacing:.085em}.app-sidebar-section-toggle svg{width:11px;height:11px}
.app-sidebar-link-v200{gap:8px;min-height:38px;padding:5px 8px;border-radius:10px;font-size:11px;font-weight:680;margin:1px 0}
.app-sidebar-link-icon-v200{width:25px;height:25px;border-radius:8px}.app-sidebar-link-icon-v200 svg{width:15px;height:15px}
.app-sidebar-count{min-width:19px;height:17px;padding:0 5px;font-size:8px}
.app-sidebar-footer-v200{padding:7px 9px 9px}.app-sidebar-footer-v200 .app-sidebar-link-v200{min-height:37px}
.app-sidebar-mobile-close{width:32px;height:32px;border-radius:9px}.app-sidebar-mobile-close svg{width:16px;height:16px}

/* Header and workspace */
.app-header-v200{height:58px;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.2fr) minmax(180px,.8fr);gap:12px;padding:0 16px}
.app-header-left-v200{gap:6px}.app-header-right-v200{gap:6px}
.app-header-icon-btn{width:34px;height:34px;min-width:34px;border-radius:9px}.app-header-icon-btn svg{width:15px;height:15px}
.app-header-title-v200{margin-left:2px}.app-header-title-v200 small{font-size:8px}.app-header-title-v200 strong{font-size:12px;margin-top:1px}
.app-header-search-v200{height:34px;max-width:540px;gap:7px;border-radius:10px;padding:0 10px}.app-header-search-v200 svg{width:14px;height:14px}.app-header-search-v200 input{font-size:10.5px!important}
.app-account-trigger-v200{height:38px;gap:6px;padding:2px 6px 2px 3px;border-radius:10px}.app-account-trigger-v200>img{width:31px;height:31px;border-radius:8px}.app-account-trigger-v200>span{max-width:105px}.app-account-trigger-v200 strong{font-size:9px}.app-account-trigger-v200 small{font-size:8px}.app-account-trigger-v200>svg{width:12px;height:12px}
.app-account-menu-v200{top:45px;width:250px;padding:6px;border-radius:13px}.app-account-menu-head-v200{gap:8px;padding:8px;border-radius:10px}.app-account-menu-head-v200>img{width:38px;height:38px;border-radius:9px}.app-account-menu-head-v200 strong{font-size:10.5px}.app-account-menu-head-v200 span{font-size:8.5px}.app-account-menu-head-v200 small{font-size:8px}.app-account-menu-v200>a{gap:7px;padding:7px 8px;border-radius:8px;font-size:10px}.app-account-menu-v200>a svg{width:14px;height:14px}
.app-main-v200{padding:16px 17px 28px}.app-page-context-v200{height:20px;margin-bottom:5px;font-size:8.5px;gap:5px}.app-page-context-v200 svg{width:9px;height:9px}

/* Generic page typography and containers */
.app-main-v200 h1{font-size:24px!important;line-height:1.18!important}.app-main-v200 h2{font-size:17px!important}.app-main-v200 h3{font-size:14px!important}
.app-main-v200 .text-3xl,.app-main-v200 .md\:text-3xl{font-size:1.45rem!important;line-height:1.8rem!important}.app-main-v200 .text-2xl{font-size:1.25rem!important;line-height:1.6rem!important}.app-main-v200 .text-xl{font-size:1.05rem!important;line-height:1.4rem!important}.app-main-v200 .text-lg{font-size:.95rem!important;line-height:1.35rem!important}
.app-main-v200 .text-base{font-size:.82rem!important}.app-main-v200 .text-sm{font-size:.74rem!important}.app-main-v200 .text-xs{font-size:.66rem!important}
.app-main-v200 .rounded-3xl{border-radius:14px!important}.app-main-v200 .rounded-2xl{border-radius:12px!important}.app-main-v200 .rounded-xl{border-radius:10px!important}
.app-main-v200 .p-10,.app-main-v200 .p-8{padding:18px!important}.app-main-v200 .p-7,.app-main-v200 .p-6{padding:15px!important}.app-main-v200 .p-5{padding:13px!important}.app-main-v200 .p-4{padding:11px!important}
.app-main-v200 .gap-8{gap:1.25rem!important}.app-main-v200 .gap-6{gap:1rem!important}.app-main-v200 .gap-5{gap:.85rem!important}.app-main-v200 .gap-4{gap:.72rem!important}
.app-main-v200 .mb-8{margin-bottom:1.3rem!important}.app-main-v200 .mb-6{margin-bottom:1rem!important}.app-main-v200 .mb-5{margin-bottom:.85rem!important}

/* Forms and buttons: compact but still comfortable */
.app-main-v200 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.app-main-v200 select{min-height:35px!important;height:auto;font-size:11px!important;border-radius:9px!important;padding-top:6px!important;padding-bottom:6px!important}
.app-main-v200 textarea{min-height:78px!important;font-size:11px!important;border-radius:9px!important}
.app-main-v200 label{font-size:10.5px}
.app-main-v200 button,.app-main-v200 .app-btn-primary,.app-main-v200 .app-btn-outline{font-size:10.5px}
.app-main-v200 .app-btn-primary,.app-main-v200 .app-btn-outline{border-radius:9px!important;box-shadow:none!important}

/* Tables: reduce visual bulk */
.app-main-v200 table{font-size:10.5px}.app-main-v200 thead th{font-size:8px!important;letter-spacing:.05em}.app-main-v200 th,.app-main-v200 td{padding-top:8px!important;padding-bottom:8px!important}.app-main-v200 td .px-4,.app-main-v200 th .px-4{padding-left:.65rem!important;padding-right:.65rem!important}

/* Shared page hero and module cards */
.ui-page-hero{gap:14px;padding:16px 18px;border-radius:14px}.ui-page-hero h1{font-size:23px!important;margin-top:2px}.ui-page-hero p{margin-top:5px;font-size:11px}.ui-eyebrow{font-size:8px}.ui-role-chip{gap:5px;padding:6px 9px;font-size:8.5px}.ui-role-chip svg{width:13px;height:13px}
.ui-module-grid{gap:11px;margin-top:11px}.ui-module-card{padding:13px;border-radius:13px}.ui-module-icon{width:36px;height:36px;border-radius:10px}.ui-module-icon svg{width:18px;height:18px}.ui-current-badge,.ui-open-badge{padding:4px 6px;font-size:7.5px}.ui-module-card h2{font-size:13px!important;margin-top:10px}.ui-module-card>p{font-size:9.5px;line-height:1.45;margin:4px 0 10px;min-height:40px}.ui-module-stat{padding:7px 8px;border-radius:9px}.ui-module-stat span{font-size:8px}.ui-module-stat strong{font-size:17px}.ui-module-enter{margin-top:8px;font-size:9px}.ui-module-enter svg{width:12px;height:12px}

/* Standalone module selector */
.module-select-shell-v200{grid-template-columns:minmax(280px,38%) minmax(0,62%)}.module-select-brand-v200{padding:28px clamp(22px,4vw,55px)}.module-select-brand-inner{gap:10px}.module-select-brand-inner img{width:47px;height:47px}.module-select-brand-inner span{font-size:8px}.module-select-brand-inner h1{font-size:14px}.module-select-brand-inner p{font-size:8px}.module-select-kicker{font-size:8.5px}.module-select-copy-v200 h2{font-size:clamp(28px,3.4vw,43px);margin:7px 0 9px}.module-select-copy-v200 p{font-size:11px;line-height:1.55}.module-select-content-v200{padding:32px clamp(22px,5vw,66px)}.module-select-heading-v200>span{font-size:8px}.module-select-heading-v200 h2{font-size:23px}.module-select-heading-v200 p{font-size:10.5px;margin-top:5px}.module-select-grid-v200{gap:8px;margin-top:17px}.module-select-card-v200{grid-template-columns:38px minmax(0,1fr) 20px;gap:10px;padding:10px 12px;border-radius:12px}.module-select-icon-v200{width:37px;height:37px;border-radius:10px}.module-select-icon-v200 svg{width:18px;height:18px}.module-select-card-v200 strong{font-size:11px}.module-select-card-v200 p{font-size:9px}.module-select-arrow-v200{width:14px;height:14px}.module-select-back-v200{margin-top:14px;font-size:9px}

/* Login/auth scale */
.auth-main{padding:20px!important}.auth-card,.auth-card-compact{max-width:390px!important;border-radius:16px!important;box-shadow:0 20px 55px rgba(13,59,43,.12)!important}.auth-card input{min-height:39px!important;border-radius:9px!important;font-size:11px!important}.auth-card .login-submit-btn{min-height:39px!important;border-radius:9px!important;font-size:11px!important}.auth-card h1{font-size:24px!important}

/* Collapsed sidebar also scales down */
body.sidebar-collapsed-v200 .app-sidebar-brand-v200{padding-inline:9px}body.sidebar-collapsed-v200 .app-sidebar-logo-v200{width:36px;height:36px}body.sidebar-collapsed-v200 .app-sidebar-user-v200{margin-inline:7px;padding:6px}body.sidebar-collapsed-v200 .app-sidebar-user-v200>img{width:31px;height:31px}body.sidebar-collapsed-v200 .app-sidebar-link-v200{padding-inline:6px}body.sidebar-collapsed-v200 .app-sidebar-link-icon-v200{width:29px;height:29px}

@media(max-width:1180px){:root{--v200-sidebar:238px}.app-header-v200{grid-template-columns:minmax(175px,.8fr) minmax(190px,1fr) auto}}
@media(max-width:900px){
  .app-sidebar-v200{width:min(82vw,270px)}
  body.sidebar-collapsed-v200 .app-sidebar-brand-v200{padding:12px 12px 10px}body.sidebar-collapsed-v200 .app-sidebar-user-v200{margin:10px 10px 5px;padding:8px 9px}body.sidebar-collapsed-v200 .app-sidebar-link-v200{padding:5px 8px}
  .app-header-v200{height:54px;padding:0 10px}.app-header-title-v200 strong{font-size:11.5px}.app-mobile-search-v200{padding:7px 10px 0}.app-mobile-search-v200 form{height:35px;border-radius:9px}.app-main-v200{padding:11px 10px 24px}.app-header-chat{width:34px;height:34px;min-width:34px}.app-account-trigger-v200{height:35px}.app-account-trigger-v200>img{width:29px;height:29px}.module-select-brand-v200{min-height:245px;padding:22px 20px}.module-select-copy-v200 h2{font-size:30px}.module-select-content-v200{padding:24px 20px 30px}
}
@media(max-width:600px){
  .app-main-v200{padding:9px 8px 20px}.app-header-v200{padding:0 8px}.app-header-icon-btn{width:33px;height:33px;min-width:33px}.app-account-menu-v200{left:8px;right:8px;top:58px}.ui-page-hero{padding:13px}.ui-page-hero h1{font-size:20px!important}.ui-module-grid{gap:8px}.ui-module-card{padding:11px}.module-select-brand-v200{min-height:220px}.module-select-copy-v200 h2{font-size:27px}.module-select-content-v200{padding:21px 13px 28px}.module-select-heading-v200 h2{font-size:21px}.module-select-card-v200{grid-template-columns:36px minmax(0,1fr) 18px;padding:9px 10px}.module-select-icon-v200{width:34px;height:34px}.auth-main{padding:10px!important}.auth-card,.auth-card-compact{border-radius:14px!important}.app-main-v200 .p-8,.app-main-v200 .p-10{padding:14px!important}.app-main-v200 .p-6,.app-main-v200 .p-7{padding:12px!important}
}

/* ============================================================
   HARVEST UI V230 — CLEAN HIERARCHY / SIDEBAR SUBMENUS
   Frontend-only cleanup. No database dependency.
   ============================================================ */
:root{
  --v230-sidebar:244px;
  --v230-green:#0b3a2b;
  --v230-green-2:#124a37;
  --v230-accent:#e5b93f;
  --v230-page:#f4f7f4;
  --v230-card:#ffffff;
  --v230-border:#dfe7e1;
  --v230-text:#173327;
  --v230-muted:#6f8177;
  --v230-radius:15px;
}
body.app-ui-v200{background:var(--v230-page)!important}
.app-shell-v200{grid-template-columns:var(--v230-sidebar) minmax(0,1fr)!important}
.app-sidebar-v200{background:linear-gradient(180deg,#0c3b2c 0%,#083326 100%)!important;box-shadow:4px 0 18px rgba(8,51,38,.08)!important}
.app-sidebar-brand-v200{padding:10px 10px 8px!important;min-height:68px!important}
.app-sidebar-logo-v200{width:38px!important;height:38px!important;min-width:38px!important;border-radius:11px!important}
.app-sidebar-brand-copy-v200 strong{font-size:11.5px!important}.app-sidebar-brand-copy-v200 small{font-size:7.5px!important;letter-spacing:.035em!important}
.app-sidebar-user-v200{margin:8px 9px 4px!important;padding:8px!important;border-radius:12px!important;background:rgba(255,255,255,.055)!important}
.app-sidebar-user-v200>img{width:33px!important;height:33px!important;min-width:33px!important;border-radius:9px!important}
.app-sidebar-user-copy strong{font-size:10.5px!important}.app-sidebar-user-copy span{font-size:8px!important}
.app-sidebar-nav-v200{padding:3px 8px 8px!important}
.app-sidebar-section-v200{padding:5px 0!important;border-top-color:rgba(255,255,255,.065)!important}
.app-sidebar-section-label-v200,.app-sidebar-section-toggle{font-size:7.5px!important;height:22px!important;padding:0 7px!important;letter-spacing:.09em!important}
.app-sidebar-link-v200{min-height:35px!important;padding:4px 7px!important;gap:7px!important;border-radius:9px!important;font-size:10.3px!important;margin:1px 0!important}
.app-sidebar-link-icon-v200{width:24px!important;height:24px!important;min-width:24px!important;border-radius:7px!important}.app-sidebar-link-icon-v200 svg{width:14px!important;height:14px!important}
.app-sidebar-link-v200.is-active{background:rgba(229,185,63,.14)!important;box-shadow:inset 3px 0 0 var(--v230-accent)!important;color:#fff!important}
.app-sidebar-link-v200.is-active .app-sidebar-link-icon-v200{color:#f2ca5d!important;background:rgba(229,185,63,.08)!important}
.app-sidebar-count{font-size:7.5px!important;height:16px!important;min-width:18px!important}

/* Current module: compact nested accordion */
.app-sidebar-current-module>.app-sidebar-section-toggle{color:rgba(255,255,255,.48)!important}
.app-sidebar-subgroup{margin:2px 0;border-radius:10px}
.app-sidebar-subgroup-toggle{width:100%;height:29px;border:0;background:transparent;color:rgba(255,255,255,.62);display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 9px;font-size:8.8px;font-weight:800;letter-spacing:.02em;text-align:left;border-radius:8px;cursor:pointer}
.app-sidebar-subgroup-toggle:hover{background:rgba(255,255,255,.045);color:#fff}
.app-sidebar-subgroup-toggle svg{width:12px;height:12px;transition:transform .18s ease}
.app-sidebar-subgroup:not(.is-open) .app-sidebar-subgroup-toggle svg{transform:rotate(-90deg)}
.app-sidebar-subgroup-items{display:none;padding:1px 0 4px 5px}
.app-sidebar-subgroup.is-open .app-sidebar-subgroup-items{display:block}
.app-sidebar-child-link{min-height:32px!important;font-size:9.7px!important;padding-left:7px!important}
.app-sidebar-child-link .app-sidebar-link-icon-v200{width:21px!important;height:21px!important;min-width:21px!important;background:transparent!important}.app-sidebar-child-link .app-sidebar-link-icon-v200 svg{width:12px!important;height:12px!important}
.app-sidebar-child-link.is-active{background:rgba(229,185,63,.13)!important}
.app-sidebar-footer-v200{padding:6px 8px 7px!important;background:rgba(0,0,0,.08)!important}.app-sidebar-footer-v200 .app-sidebar-link-v200{min-height:33px!important}

/* Cleaner header/content density */
.app-header-v200{height:56px!important;padding:0 14px!important;grid-template-columns:minmax(170px,.72fr) minmax(240px,1.2fr) auto!important;background:rgba(255,255,255,.97)!important}
.app-header-icon-btn{width:32px!important;height:32px!important;min-width:32px!important;border-radius:9px!important;box-shadow:none!important}
.app-header-title-v200 small{font-size:7.5px!important}.app-header-title-v200 strong{font-size:11.5px!important}
.app-header-search-v200{height:33px!important;max-width:510px!important}.app-account-trigger-v200{height:36px!important}.app-account-trigger-v200>img{width:29px!important;height:29px!important}
.app-main-v200{max-width:1580px!important;padding:13px 15px 26px!important}.app-page-context-v200{margin-bottom:8px!important}

/* V230 clean dashboard */
.sp-hero-clean{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid var(--v230-border);border-radius:18px;background:linear-gradient(135deg,#fff 0%,#fbfdfb 72%,#f4faf6 100%);box-shadow:0 4px 16px rgba(23,51,39,.035)}
.sp-hero-copy{min-width:0}.sp-eyebrow{display:inline-flex;align-items:center;gap:6px;color:#28734d;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.sp-eyebrow svg{width:13px;height:13px}.sp-hero-clean h1{margin:4px 0 0!important;font-size:24px!important;line-height:1.12!important;font-weight:850!important;color:#163b2b!important}.sp-hero-clean p{margin:5px 0 0;max-width:720px;font-size:11px;color:var(--v230-muted);line-height:1.5}.sp-hero-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.sp-hero-actions a{display:inline-flex;align-items:center;gap:6px;min-height:35px;padding:7px 11px!important;font-size:10px!important;white-space:nowrap}.sp-hero-actions svg{width:14px;height:14px}
.sp-priority-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.sp-priority-card{position:relative;display:flex;align-items:center;gap:10px;min-height:94px;padding:13px 14px;border:1px solid var(--v230-border);border-radius:15px;background:#fff;color:inherit;text-decoration:none!important;transition:.16s ease;overflow:hidden}.sp-priority-card:hover{border-color:#b9d3c2;box-shadow:0 7px 20px rgba(23,51,39,.07);transform:translateY(-1px)}.sp-priority-icon{width:34px;height:34px;min-width:34px;border-radius:10px;display:grid;place-items:center;background:#eef6f1;color:#24734c}.sp-priority-icon svg{width:17px;height:17px}.sp-priority-copy{display:grid;min-width:0}.sp-priority-copy small{font-size:9px;color:var(--v230-muted);font-style:normal}.sp-priority-copy strong{font-size:24px;line-height:1.05;color:#195d3d;font-weight:850;margin:2px 0}.sp-priority-copy em{font-size:8.5px;color:#829087;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-priority-arrow{position:absolute;right:10px;top:10px;width:13px;height:13px;color:#a2afa8}.sp-priority-card.is-warning .sp-priority-icon{background:#fff7df;color:#a87800}.sp-priority-card.is-attention .sp-priority-icon{background:#fff1ed;color:#b95539}
.sp-section-clean,.sp-panel-clean{margin-top:12px;background:#fff;border:1px solid var(--v230-border);border-radius:15px;box-shadow:0 3px 14px rgba(23,51,39,.03)}.sp-section-clean{padding:14px 15px}.sp-section-heading,.sp-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sp-section-heading h2,.sp-panel-head h2{margin:2px 0 0!important;font-size:14px!important;color:#213d30!important;font-weight:800!important}.sp-section-kicker,.sp-panel-head>div>span{font-size:8px;color:#88978f;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.sp-section-heading>a,.sp-panel-head>a{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:800;color:#237249;text-decoration:none}.sp-section-heading>a svg{width:12px;height:12px}.sp-snapshot-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:11px;border:1px solid #e8eee9;border-radius:11px;overflow:hidden}.sp-snapshot-row>div{padding:10px 12px;border-right:1px solid #e8eee9;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fbfcfb}.sp-snapshot-row>div:last-child{border-right:0}.sp-snapshot-row span{font-size:8.8px;color:#75867c}.sp-snapshot-row strong{font-size:15px;color:#1d5f40}
.sp-content-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr);gap:12px}.sp-panel-clean{padding:14px 15px;min-width:0}.sp-table-wrap{margin-top:10px;overflow:auto;border:1px solid #e8eee9;border-radius:11px}.sp-clean-table{width:100%;border-collapse:collapse;font-size:9.5px!important}.sp-clean-table th{background:#f8faf8!important;color:#718077!important;text-transform:uppercase;letter-spacing:.045em;font-size:7.5px!important;font-weight:850;text-align:left;padding:8px 10px!important;white-space:nowrap}.sp-clean-table td{padding:9px 10px!important;border-top:1px solid #edf1ee;color:#52635a}.sp-clean-table td:not(:first-child),.sp-clean-table th:not(:first-child){text-align:right}.sp-clean-table td strong{font-size:9.5px;color:#273f33}.sp-empty-cell{text-align:center!important;padding:24px!important;color:#8a9891!important}
.sp-finance-list{display:grid;gap:6px;margin-top:10px}.sp-finance-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border-radius:10px;background:#f8faf8;border:1px solid #edf1ee}.sp-finance-list span{font-size:9px;color:#78887e}.sp-finance-list strong{font-size:14px;color:#214834}.sp-finance-list .is-emphasis{background:#edf7f0;border-color:#d7eadc}.sp-finance-list .is-emphasis strong{font-size:18px;color:#1b6a43}
.sp-stage-list,.sp-list-clean{display:grid;gap:6px;margin-top:10px}.sp-stage-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:9px;background:#f8faf8;border:1px solid #edf1ee}.sp-stage-list span{font-size:9px;color:#617168}.sp-stage-list strong{font-size:11px;color:#1e6542}.sp-list-item{display:flex;align-items:center;gap:9px;padding:7px 2px;border-bottom:1px solid #eef2ef}.sp-list-item:last-child{border-bottom:0}.sp-date-badge{width:34px;height:34px;min-width:34px;border-radius:9px;background:#edf6f0;color:#1f6843;display:grid;place-content:center;text-align:center;line-height:1}.sp-date-badge strong{font-size:12px}.sp-date-badge small{font-size:6.5px;margin-top:2px;font-weight:800}.sp-list-item>div{display:grid;gap:2px;min-width:0}.sp-list-item>div strong{font-size:9.5px;color:#30483b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-list-item>div small{font-size:8px;color:#84928a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-empty-state{padding:18px 0;margin:0;text-align:center;color:#8b9891;font-size:9px}
.sp-recent-section{margin-top:12px}.sp-recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.sp-recent-card{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;border:1px solid #edf1ee;border-radius:10px;background:#fbfcfb;text-decoration:none!important;color:inherit}.sp-recent-card:hover{border-color:#c7ddce;background:#f8fbf9}.sp-recent-avatar{width:30px;height:30px;border-radius:8px;background:#edf5ef;color:#286d49;display:grid;place-items:center}.sp-recent-avatar svg{width:14px;height:14px}.sp-recent-card>span:nth-child(2){display:grid;gap:2px;min-width:0}.sp-recent-card strong{font-size:9px;color:#294236;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-recent-card small{font-size:7.8px;color:#819087;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-recent-card em{font-size:7px;font-style:normal;color:#537062;background:#eef4f0;border-radius:99px;padding:3px 6px;white-space:nowrap}
.sp-page-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:10px 2px 2px;color:#89968f;font-size:8px;border-top:1px solid #e1e8e3}.sp-page-footer span:first-child{font-weight:800;color:#607369}

/* Shared cleanup for legacy pages: reduce giant card stacking and whitespace */
.app-main-v200>section{scroll-margin-top:68px}.app-main-v200 .shadow-sm{box-shadow:0 3px 13px rgba(23,51,39,.035)!important}.app-main-v200 .border-slate-200,.app-main-v200 .border-emerald-100{border-color:#dfe7e1!important}.app-main-v200 .bg-white\/90{background:#fff!important}
.app-main-v200 .grid.xl\:grid-cols-5{gap:10px!important}.app-main-v200 .grid.xl\:grid-cols-5>div{min-height:auto!important}

/* Desktop collapsed mode */
body.sidebar-collapsed-v200 .app-shell-v200{grid-template-columns:66px minmax(0,1fr)!important}
body.sidebar-collapsed-v200 .app-sidebar-subgroup-toggle{display:none!important}

@media(max-width:1180px){
  :root{--v230-sidebar:226px}
  .sp-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-snapshot-row{grid-template-columns:repeat(3,minmax(0,1fr))}.sp-snapshot-row>div:nth-child(3){border-right:0}.sp-snapshot-row>div:nth-child(n+4){border-top:1px solid #e8eee9}
  .sp-recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .app-shell-v200{display:block!important}.app-sidebar-v200{width:min(80vw,248px)!important}
  .app-main-v200{padding:10px 10px 22px!important}.app-header-v200{height:53px!important;padding:0 9px!important}
  .sp-hero-clean{align-items:flex-start;padding:15px;gap:12px}.sp-hero-clean h1{font-size:21px!important}.sp-hero-actions{width:100%;justify-content:flex-start}.sp-hero-actions a{flex:0 1 auto}
  .sp-content-grid{grid-template-columns:1fr}.sp-recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .app-main-v200{padding:8px 8px 20px!important}.app-page-context-v200{display:none!important}
  .sp-hero-clean{display:block;border-radius:14px;padding:13px}.sp-hero-clean h1{font-size:19px!important}.sp-hero-clean p{font-size:10px}.sp-hero-actions{margin-top:11px;display:grid;grid-template-columns:1fr 1fr}.sp-hero-actions a:first-child{grid-column:1/-1;justify-content:center}.sp-hero-actions a{justify-content:center;min-height:36px}
  .sp-priority-grid{grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.sp-priority-card{min-height:83px;padding:10px;gap:8px}.sp-priority-icon{width:30px;height:30px;min-width:30px}.sp-priority-copy strong{font-size:20px}.sp-priority-copy em{display:none}.sp-priority-arrow{display:none}
  .sp-section-clean,.sp-panel-clean{margin-top:8px;padding:11px;border-radius:13px}.sp-snapshot-row{grid-template-columns:1fr 1fr;margin-top:8px}.sp-snapshot-row>div{border-right:1px solid #e8eee9!important;border-top:1px solid #e8eee9!important;padding:9px}.sp-snapshot-row>div:nth-child(odd){border-right:1px solid #e8eee9!important}.sp-snapshot-row>div:nth-child(1),.sp-snapshot-row>div:nth-child(2){border-top:0!important}.sp-snapshot-row>div:nth-child(even){border-right:0!important}.sp-snapshot-row>div:last-child{grid-column:1/-1;border-right:0!important}.sp-snapshot-row strong{font-size:14px}
  .sp-content-grid{gap:8px}.sp-panel-head h2{font-size:13px!important}.sp-table-wrap{border:0;overflow:visible}.sp-clean-table thead{display:none}.sp-clean-table,.sp-clean-table tbody,.sp-clean-table tr,.sp-clean-table td{display:block;width:100%}.sp-clean-table tr{padding:8px 9px;margin-bottom:7px;border:1px solid #e7ede8;border-radius:10px;background:#fbfcfb}.sp-clean-table td{border:0!important;padding:3px 0!important;text-align:left!important;display:flex;justify-content:space-between;gap:10px}.sp-clean-table td:before{content:attr(data-label);font-size:7.5px;color:#89978f;text-transform:uppercase;font-weight:800}.sp-clean-table td:first-child{display:block;padding-bottom:6px!important}.sp-clean-table td:first-child:before{display:none}
  .sp-recent-grid{grid-template-columns:1fr}.sp-recent-card em{max-width:90px;overflow:hidden;text-overflow:ellipsis}.sp-page-footer{display:block;line-height:1.5}.sp-page-footer span{display:block}.sp-page-footer span+span{margin-top:2px}
  .app-sidebar-subgroup-toggle{height:31px;font-size:9.2px}.app-sidebar-child-link{min-height:34px!important}
}
@media(max-width:390px){
  .sp-priority-grid{grid-template-columns:1fr}.sp-priority-card{min-height:70px}.sp-priority-copy em{display:block}.sp-hero-actions{grid-template-columns:1fr}.sp-hero-actions a:first-child{grid-column:auto}.sp-snapshot-row{grid-template-columns:1fr}.sp-snapshot-row>div{border-right:0!important}.sp-snapshot-row>div:nth-child(2){border-top:1px solid #e8eee9!important}.sp-snapshot-row>div:last-child{grid-column:auto}
}
.app-global-footer-v230{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:11px 2px 0;border-top:1px solid #e1e8e3;color:#8a9890;font-size:8px}.app-global-footer-v230 span:first-child{font-weight:800;color:#687a70}@media(max-width:640px){.app-global-footer-v230{display:block;line-height:1.5}.app-global-footer-v230 span{display:block}}

/* =====================================================================
   V240 — CLEAN NAVIGATION HIERARCHY
   Current workspace only in sidebar. Module switching lives in footer/
   account menu. Dashboard is direct; secondary areas are accordions.
   ===================================================================== */
:root{--v240-sidebar:232px;--v240-gold:#e9bd43;--v240-green:#0b3a2c;--v240-green-2:#082f24}
.app-shell-v200{grid-template-columns:var(--v240-sidebar) minmax(0,1fr)!important}
.app-sidebar-v200{background:linear-gradient(180deg,var(--v240-green) 0%,var(--v240-green-2) 100%)!important}
.app-sidebar-nav-clean{padding-top:8px!important}
.app-sidebar-current-clean{border-top:0!important;padding-top:0!important}
.app-sidebar-current-heading{height:30px;display:flex;align-items:center;gap:8px;padding:0 8px;margin:1px 0 5px;color:rgba(255,255,255,.52);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden}
.app-sidebar-current-icon{width:20px;height:20px;display:grid;place-items:center;color:#f0ca61;flex:0 0 auto}.app-sidebar-current-icon svg{width:12px;height:12px}
.app-sidebar-dashboard-link{margin-bottom:5px!important}
.app-sidebar-clean-groups{display:grid;gap:2px}
.app-sidebar-subgroup{margin:0!important;border-radius:9px!important}
.app-sidebar-subgroup-toggle{height:32px!important;padding:0 8px!important;font-size:9.3px!important;font-weight:760!important;color:rgba(255,255,255,.68)!important;border-radius:8px!important}
.app-sidebar-subgroup-toggle:hover,.app-sidebar-subgroup.is-open>.app-sidebar-subgroup-toggle{background:rgba(255,255,255,.045)!important;color:#fff!important}
.app-sidebar-subgroup-toggle svg{width:12px!important;height:12px!important;color:rgba(255,255,255,.48)}
.app-sidebar-subgroup.is-open>.app-sidebar-subgroup-toggle svg{color:#edc75d}
.app-sidebar-subgroup-items{padding:1px 0 3px 7px!important;border-left:1px solid rgba(255,255,255,.085);margin-left:8px}
.app-sidebar-child-link{min-height:33px!important;padding:4px 7px!important;font-size:9.8px!important;border-radius:8px!important;gap:7px!important}
.app-sidebar-child-link .app-sidebar-link-icon-v200{width:22px!important;height:22px!important;min-width:22px!important;background:transparent!important}.app-sidebar-child-link .app-sidebar-link-icon-v200 svg{width:13px!important;height:13px!important}
.app-sidebar-link-v200.is-active{background:rgba(233,189,67,.15)!important;box-shadow:inset 3px 0 0 var(--v240-gold)!important}
.app-sidebar-link-v200.is-active .app-sidebar-link-icon-v200{color:#f5d36f!important;background:rgba(233,189,67,.07)!important}
.app-sidebar-footer-clean{gap:1px!important;padding-top:6px!important}
.app-sidebar-footer-clean:before{content:"Account";display:block;padding:0 7px 4px;color:rgba(255,255,255,.36);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.11em}
.app-sidebar-footer-clean .app-sidebar-link-v200{min-height:33px!important}
.app-sidebar-footer-clean .app-sidebar-link-icon-v200{width:22px!important;height:22px!important;min-width:22px!important}.app-sidebar-footer-clean .app-sidebar-link-icon-v200 svg{width:13px!important;height:13px!important}

/* Cleaner sidebar scale */
.app-sidebar-brand-v200{min-height:62px!important;padding:8px 9px!important}.app-sidebar-logo-v200{width:34px!important;height:34px!important;min-width:34px!important}.app-sidebar-brand-copy-v200 strong{font-size:10.8px!important}.app-sidebar-brand-copy-v200 small{font-size:6.8px!important;max-width:150px}
.app-sidebar-user-v200{margin:7px 8px 3px!important;padding:7px!important;border-radius:10px!important}.app-sidebar-user-v200>img{width:30px!important;height:30px!important;min-width:30px!important}.app-sidebar-user-copy strong{font-size:9.8px!important}.app-sidebar-user-copy span{font-size:7.5px!important}
.app-sidebar-nav-v200{padding-left:7px!important;padding-right:7px!important}.app-sidebar-link-v200{min-height:34px!important;font-size:9.9px!important}.app-sidebar-link-icon-v200{width:23px!important;height:23px!important;min-width:23px!important}.app-sidebar-link-icon-v200 svg{width:13.5px!important;height:13.5px!important}

/* Reduce redundant context on compact screens; header already shows location */
@media(min-width:901px){.app-page-context-v200{margin-bottom:6px!important}}

/* Collapsed desktop: keep a clear icon-only rail */
body.sidebar-collapsed-v200 .app-shell-v200{grid-template-columns:62px minmax(0,1fr)!important}
body.sidebar-collapsed-v200 .app-sidebar-current-heading span:not(.app-sidebar-current-icon),body.sidebar-collapsed-v200 .app-sidebar-subgroup-toggle,body.sidebar-collapsed-v200 .app-sidebar-footer-clean:before{display:none!important}
body.sidebar-collapsed-v200 .app-sidebar-current-heading{justify-content:center;padding:0;height:26px}
body.sidebar-collapsed-v200 .app-sidebar-subgroup-items{display:block!important;padding:0!important;margin:0!important;border-left:0!important}
body.sidebar-collapsed-v200 .app-sidebar-child-link{justify-content:center!important;padding-inline:5px!important}

@media(max-width:1180px){:root{--v240-sidebar:220px}}
@media(max-width:900px){
  .app-sidebar-v200{width:min(82vw,246px)!important}
  .app-sidebar-brand-v200{min-height:60px!important}
  .app-sidebar-current-heading{font-size:8.2px}
  .app-sidebar-subgroup-toggle{height:34px!important;font-size:9.7px!important}
  .app-sidebar-child-link{min-height:35px!important;font-size:10.2px!important}
  .app-sidebar-footer-clean .app-sidebar-link-v200{min-height:35px!important}
}
@media(max-width:390px){.app-sidebar-v200{width:min(88vw,244px)!important}}

/* =====================================================================
   V250 — PROFILING + HIMORASAK CLEAN DASHBOARD SYSTEM
   Shared hero → priority → snapshot → details → footer hierarchy.
   Frontend only. No database behavior changes.
   ===================================================================== */
.module-hero-clean{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px;border:1px solid #dce7df;border-radius:17px;background:linear-gradient(135deg,#fff 0%,#fbfdfb 75%,#f4f9f5 100%);box-shadow:0 4px 14px rgba(23,51,39,.03)}
.module-hero-copy{min-width:0}.module-eyebrow{display:inline-flex;align-items:center;gap:6px;color:#28734d;font-size:8.5px;font-weight:850;text-transform:uppercase;letter-spacing:.085em}.module-eyebrow svg{width:13px;height:13px}.module-hero-clean h1{margin:4px 0 0!important;font-size:23px!important;line-height:1.12!important;font-weight:850!important;color:#163b2b!important}.module-hero-clean p{margin:5px 0 0;max-width:760px;font-size:10.5px;color:#6d7e75;line-height:1.5}.module-hero-meta{margin-top:6px;font-size:8.8px;color:#87958d}.module-hero-meta strong{color:#4e6258}.module-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.module-hero-actions a{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 11px!important;font-size:9.8px!important;white-space:nowrap}.module-hero-actions svg{width:14px;height:14px}.himorasak-eyebrow{color:#9b6a00}
.module-priority-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:11px}.module-priority-card{position:relative;display:flex;align-items:center;gap:10px;min-height:88px;padding:12px 13px;border:1px solid #dce7df;border-radius:14px;background:#fff;color:inherit;text-decoration:none!important;transition:.16s ease;overflow:hidden}.module-priority-card:hover{border-color:#b9d3c2;box-shadow:0 6px 18px rgba(23,51,39,.06);transform:translateY(-1px)}.module-priority-icon{width:33px;height:33px;min-width:33px;border-radius:9px;display:grid;place-items:center;background:#eef6f1;color:#24734c}.module-priority-icon svg{width:16px;height:16px}.module-priority-copy{display:grid;min-width:0}.module-priority-copy small{font-size:8.5px;color:#718078;font-style:normal}.module-priority-copy strong{font-size:22px;line-height:1.05;color:#195d3d;font-weight:850;margin:2px 0}.module-priority-copy em{font-size:8px;color:#8a9790;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-priority-arrow{position:absolute;right:9px;top:9px;width:12px;height:12px;color:#a2afa8}.module-priority-card.is-warning .module-priority-icon{background:#fff7df;color:#a87800}.module-priority-card.is-attention .module-priority-icon{background:#fff1ed;color:#b95539}.module-priority-card.is-positive .module-priority-icon{background:#ebf8ef;color:#24834e}
.module-section-clean,.module-panel-clean{margin-top:11px;border:1px solid #dce7df;border-radius:16px;background:#fff;padding:14px 15px;box-shadow:0 4px 14px rgba(23,51,39,.025)}.module-section-heading,.module-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.module-section-heading h2,.module-panel-head h2{margin:2px 0 0!important;font-size:14px!important;line-height:1.25!important;color:#173b2c!important;font-weight:820!important}.module-section-kicker,.module-panel-head>div>span{font-size:7.5px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#8a9a91}.module-section-heading>a,.module-panel-head>a{display:inline-flex;align-items:center;gap:4px;font-size:8.5px;font-weight:800;color:#2c724e;text-decoration:none}.module-section-heading>a svg{width:11px;height:11px}
.module-snapshot-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:10px;border:1px solid #e5ece7;border-radius:11px;overflow:hidden;background:#fbfcfb}.module-snapshot-row>div{min-height:48px;padding:9px 10px;border-right:1px solid #e5ece7;display:flex;align-items:center;justify-content:space-between;gap:8px}.module-snapshot-row>div:last-child{border-right:0}.module-snapshot-row span{font-size:8px;color:#7a8981}.module-snapshot-row strong{font-size:13px;color:#17603f;font-weight:850;white-space:nowrap}
.module-content-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.65fr);gap:11px;align-items:start}.module-content-grid>.module-panel-clean{margin-top:11px}.module-table-wrap{margin-top:10px;border:1px solid #e1e8e3;border-radius:11px;overflow:auto}.module-clean-table{width:100%;border-collapse:collapse;font-size:9px}.module-clean-table thead{background:#f6f9f7}.module-clean-table th{padding:8px 10px;text-align:left;font-size:7.5px;text-transform:uppercase;letter-spacing:.045em;color:#687a70;font-weight:850;white-space:nowrap}.module-clean-table td{padding:9px 10px;border-top:1px solid #edf1ee;color:#425349}.module-clean-table td:not(:first-child),.module-clean-table th:not(:first-child){text-align:right}.module-clean-table strong{font-weight:780;color:#263f33}.module-empty-cell{text-align:center!important;color:#8c9992!important;padding:20px 12px!important}.module-cell-note{display:block;margin-top:2px;color:#8a9890;font-size:7.6px;font-weight:500}.rank-mark,.score-mark{color:#17603f!important}.score-mark{font-size:11px}
.module-action-list{display:grid;gap:5px;margin-top:9px}.module-action-list>a{display:grid;grid-template-columns:30px minmax(0,1fr) 14px;align-items:center;gap:8px;padding:8px;border:1px solid #e7ede9;border-radius:10px;text-decoration:none!important;color:#33483d;background:#fbfcfb;transition:.15s ease}.module-action-list>a:hover{border-color:#c7d9cd;background:#f7fbf8}.module-action-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#eef6f1;color:#25714c}.module-action-icon svg{width:14px;height:14px}.module-action-list>a>span:nth-child(2){min-width:0;display:grid}.module-action-list strong{font-size:9px;color:#284235}.module-action-list small{margin-top:1px;font-size:7.7px;color:#89968f;line-height:1.35}.module-action-list>a>svg{width:12px;height:12px;color:#99a59f}
.module-ranking-list{display:grid;gap:5px;margin-top:9px}.module-ranking-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;border:1px solid #e8eeea;border-radius:9px;background:#fbfcfb}.module-ranking-no{width:23px;height:23px;border-radius:7px;display:grid;place-items:center;background:#edf5f0;color:#246c49;font-size:8px;font-weight:850}.module-ranking-name{min-width:0;display:grid}.module-ranking-name strong{font-size:9px;color:#2a4236}.module-ranking-name small{font-size:7.5px;color:#8b9891;margin-top:1px}.module-ranking-score{font-size:11px;color:#17603f}.module-empty-state{padding:14px;text-align:center;color:#8a9890;font-size:9px;border:1px dashed #dfe7e2;border-radius:9px}
.module-weight-list{display:grid;gap:4px;margin-top:9px}.module-weight-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border-radius:8px;background:#f7f9f7}.module-weight-list span{font-size:8.5px;color:#586a60}.module-weight-list strong{font-size:8.8px;color:#244638}.module-panel-action{margin-top:9px;padding-top:9px;border-top:1px solid #e7ede9}.module-panel-action button{width:100%;justify-content:center;font-size:9px!important}.module-panel-action svg{width:13px;height:13px}

/* Sidebar label cleanup for these modules */
body[data-module="profiling"] .app-sidebar-current-heading span:last-child,body[data-module="himorasak"] .app-sidebar-current-heading span:last-child{font-weight:850}.app-sidebar-subgroup-toggle{letter-spacing:.01em!important}.app-sidebar-subgroup.is-open>.app-sidebar-subgroup-toggle{background:rgba(255,255,255,.055)!important}

@media(max-width:1180px){.module-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-snapshot-row{grid-template-columns:repeat(3,minmax(0,1fr))}.module-snapshot-row>div:nth-child(3){border-right:0}.module-snapshot-row>div:nth-child(n+4){border-top:1px solid #e5ece7}.module-content-grid{grid-template-columns:minmax(0,1.4fr) minmax(230px,.7fr)}}
@media(max-width:900px){.module-hero-clean{align-items:flex-start;padding:14px;gap:11px}.module-hero-clean h1{font-size:20px!important}.module-hero-actions{width:100%;justify-content:flex-start}.module-content-grid{grid-template-columns:1fr}}
@media(max-width:640px){.module-hero-clean{display:block;border-radius:13px;padding:12px}.module-hero-clean h1{font-size:18px!important}.module-hero-clean p{font-size:9.5px}.module-hero-actions{margin-top:10px;display:grid;grid-template-columns:1fr 1fr}.module-hero-actions a:first-child{grid-column:1/-1;justify-content:center}.module-hero-actions a{justify-content:center;min-height:35px}.module-priority-grid{grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.module-priority-card{min-height:78px;padding:9px;gap:8px}.module-priority-icon{width:29px;height:29px;min-width:29px}.module-priority-copy strong{font-size:19px}.module-priority-copy em,.module-priority-arrow{display:none}.module-section-clean,.module-panel-clean{margin-top:8px;padding:10px;border-radius:12px}.module-snapshot-row{grid-template-columns:1fr 1fr;margin-top:8px}.module-snapshot-row>div{min-height:43px;padding:8px;border-top:1px solid #e5ece7!important;border-right:1px solid #e5ece7!important}.module-snapshot-row>div:nth-child(1),.module-snapshot-row>div:nth-child(2){border-top:0!important}.module-snapshot-row>div:nth-child(even){border-right:0!important}.module-snapshot-row>div:last-child{grid-column:1/-1;border-right:0!important}.module-table-wrap{border:0;overflow:visible}.module-clean-table thead{display:none}.module-clean-table,.module-clean-table tbody,.module-clean-table tr,.module-clean-table td{display:block;width:100%}.module-clean-table tr{padding:8px 9px;margin-bottom:7px;border:1px solid #e7ede8;border-radius:10px;background:#fbfcfb}.module-clean-table td{border:0!important;padding:3px 0!important;text-align:left!important;display:flex;justify-content:space-between;gap:10px}.module-clean-table td:before{content:attr(data-label);font-size:7.2px;color:#89978f;text-transform:uppercase;font-weight:800}.module-clean-table td:first-child{display:block;padding-bottom:6px!important}.module-clean-table td:first-child:before{display:none}.module-cell-note{display:inline;margin-left:5px}.module-content-grid{gap:0}}
@media(max-width:390px){.module-priority-grid{grid-template-columns:1fr}.module-priority-card{min-height:67px}.module-priority-copy em{display:block}.module-hero-actions{grid-template-columns:1fr}.module-hero-actions a:first-child{grid-column:auto}.module-snapshot-row{grid-template-columns:1fr}.module-snapshot-row>div{border-right:0!important}.module-snapshot-row>div:nth-child(2){border-top:1px solid #e5ece7!important}.module-snapshot-row>div:last-child{grid-column:auto}}

/* V260 Developer dashboard cleanup */
.app-clean-action-list-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.app-clean-action-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--app-border,#dce5df);border-radius:14px;background:#fff;color:inherit;transition:.18s ease}
.app-clean-action-row:hover{border-color:#b9d4c4;background:#fbfdfb;transform:translateY(-1px)}
.app-clean-action-row>svg{width:17px;height:17px;color:#668076}
.app-clean-action-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#edf7f0;color:#1f6e4b}
.app-clean-action-icon svg{width:18px;height:18px}
.app-clean-action-row strong,.app-clean-link-stack strong{display:block;font-size:13px;font-weight:800;color:#173a2d}
.app-clean-action-row small,.app-clean-link-stack small{display:block;margin-top:2px;font-size:11.5px;line-height:1.45;color:#708078;font-style:normal}
.app-clean-two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:14px;margin-top:14px}
.app-clean-link-stack{display:grid;gap:8px}
.app-clean-link-stack>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;border:1px solid #e3eae5;background:#fff;color:inherit}
.app-clean-link-stack>a:hover{border-color:#bfd7c8;background:#f8fbf9}
.app-clean-link-stack>a>svg:first-child{width:18px;height:18px;color:#24724f}.app-clean-link-stack>a>svg:last-child{width:16px;height:16px;color:#82948b}
@media(max-width:900px){.app-clean-action-list-2,.app-clean-two-col{grid-template-columns:1fr}}
@media(max-width:600px){.app-clean-action-row{padding:11px 12px}.app-clean-action-icon{width:34px;height:34px}.app-clean-two-col{gap:10px;margin-top:10px}}

/* =====================================================================
   V261 — DEVELOPER DASHBOARD COMPONENT FIX
   Restores missing app-clean component styling used by Developer dashboard.
   Frontend only. No database changes.
   ===================================================================== */
.app-clean-hero{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:17px 19px;margin:0 0 11px;border:1px solid #dce7df;border-radius:17px;
  background:linear-gradient(135deg,#fff 0%,#fbfdfb 75%,#f4f9f5 100%);
  box-shadow:0 4px 14px rgba(23,51,39,.03)
}
.app-clean-hero-copy{min-width:0;flex:1}.app-clean-eyebrow{display:inline-flex;align-items:center;gap:6px;color:#28734d;font-size:8.5px;font-weight:850;text-transform:uppercase;letter-spacing:.085em}.app-clean-eyebrow svg{width:13px;height:13px}.app-clean-hero h1{margin:4px 0 0!important;font-size:23px!important;line-height:1.12!important;font-weight:850!important;color:#163b2b!important}.app-clean-hero p{margin:5px 0 0;max-width:760px;font-size:10.5px;color:#6d7e75;line-height:1.5}.app-clean-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;max-width:450px}.app-clean-hero-actions a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 11px!important;font-size:9.8px!important;line-height:1;text-decoration:none!important;border-radius:9px}.app-clean-hero-actions svg{width:14px;height:14px}

.app-clean-kpi-grid{display:grid;gap:9px;margin:0 0 11px}.app-clean-kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.app-clean-kpi{position:relative;display:flex;align-items:center;gap:10px;min-height:88px;padding:12px 13px;border:1px solid #dce7df;border-radius:14px;background:#fff;color:inherit;text-decoration:none!important;transition:.16s ease;overflow:hidden}.app-clean-kpi:hover{border-color:#b9d3c2;box-shadow:0 6px 18px rgba(23,51,39,.06);transform:translateY(-1px)}.app-clean-kpi-icon{width:33px;height:33px;min-width:33px;border-radius:9px;display:grid;place-items:center;background:#eef6f1;color:#24734c}.app-clean-kpi-icon svg{width:16px;height:16px}.app-clean-kpi-icon.tone-gold{background:#fff7df;color:#a87800}.app-clean-kpi-icon.tone-red{background:#fff1ed;color:#b95539}.app-clean-kpi-copy{display:grid;min-width:0}.app-clean-kpi-copy small{font-size:8.5px;color:#718078;font-style:normal}.app-clean-kpi-copy strong{font-size:22px;line-height:1.05;color:#195d3d;font-weight:850;margin:2px 0}.app-clean-kpi-copy em{font-size:8px;color:#8a9790;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-clean-kpi-arrow{position:absolute;right:9px;top:9px;width:12px;height:12px;color:#a2afa8}

.app-clean-panel{border:1px solid #dce7df;border-radius:16px;background:#fff;padding:14px 15px;box-shadow:0 4px 14px rgba(23,51,39,.025);min-width:0}.app-clean-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.app-clean-section-head h2{margin:2px 0 0!important;font-size:14px!important;line-height:1.25!important;color:#173b2c!important;font-weight:820!important}.app-clean-section-kicker{font-size:7.5px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#8a9a91}.app-clean-text-link{display:inline-flex;align-items:center;gap:4px;font-size:8.5px;font-weight:800;color:#2c724e;text-decoration:none!important;white-space:nowrap}.app-clean-text-link svg{width:11px;height:11px}

.app-btn-primary,.app-btn-secondary{font:inherit;text-decoration:none!important}.app-btn-primary{background:#237247;color:#fff!important;border:1px solid #237247}.app-btn-primary:hover{background:#1c613c;border-color:#1c613c}.app-btn-secondary{background:#fff;color:#29483a!important;border:1px solid #d6e1da}.app-btn-secondary:hover{background:#f7faf8;border-color:#bfd1c5}

.app-clean-action-list{display:grid;gap:9px}.app-clean-action-row{text-decoration:none!important}.app-clean-link-stack>a{text-decoration:none!important}

@media(max-width:1180px){.app-clean-kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.app-clean-hero{align-items:flex-start;padding:14px;gap:11px}.app-clean-hero h1{font-size:20px!important}.app-clean-hero-actions{width:100%;max-width:none;justify-content:flex-start}.app-clean-two-col{grid-template-columns:1fr}}
@media(max-width:640px){
  .app-clean-hero{display:block;border-radius:13px;padding:12px}.app-clean-hero h1{font-size:18px!important}.app-clean-hero p{font-size:9.5px}.app-clean-hero-actions{margin-top:10px;display:grid;grid-template-columns:1fr 1fr}.app-clean-hero-actions a:first-child{grid-column:1/-1}.app-clean-hero-actions a{min-height:35px}
  .app-clean-kpi-grid-4{grid-template-columns:1fr 1fr;gap:7px}.app-clean-kpi{min-height:78px;padding:9px;gap:8px}.app-clean-kpi-icon{width:29px;height:29px;min-width:29px}.app-clean-kpi-copy strong{font-size:19px}.app-clean-kpi-copy em,.app-clean-kpi-arrow{display:none}
  .app-clean-panel{padding:10px;border-radius:12px}.app-clean-section-head{align-items:flex-start}.app-clean-action-list-2{grid-template-columns:1fr}
}
@media(max-width:390px){.app-clean-kpi-grid-4{grid-template-columns:1fr}.app-clean-kpi{min-height:67px}.app-clean-kpi-copy em{display:block}.app-clean-hero-actions{grid-template-columns:1fr}.app-clean-hero-actions a:first-child{grid-column:auto}}

/* =====================================================================
   HARVEST UI V270 — SYSTEM-WIDE RESPONSIVE / FIT & INTERACTION PASS
   Frontend only. Database and backend workflows remain unchanged.
   ===================================================================== */
:root{
  --v270-content-gap:12px;
  --v270-control-h:38px;
  --v270-touch-h:42px;
  --v270-card-radius:14px;
  --v270-card-pad:14px;
}
html{overflow-x:hidden}
body.app-ui-v200{overflow-x:hidden}
.app-shell-v200,.app-workspace-v200,.app-main-v200,.app-main-v200 *{box-sizing:border-box}
.app-main-v200{width:100%;min-width:0}
.app-main-v200>*{min-width:0;max-width:100%}
.app-main-v200 img,.app-main-v200 svg,.app-main-v200 canvas{max-width:100%}
.app-main-v200 input,.app-main-v200 select,.app-main-v200 textarea,.app-main-v200 button{max-width:100%;font-size:12px}
.app-main-v200 input:not([type=checkbox]):not([type=radio]),.app-main-v200 select{min-height:var(--v270-control-h)}
.app-main-v200 textarea{min-height:88px}
.app-main-v200 .grid>*{min-width:0}
.app-main-v200 .flex>*{min-width:0}
.app-main-v200 h1{font-size:clamp(20px,2vw,26px)}
.app-main-v200 h2{font-size:clamp(15px,1.35vw,19px)}
.app-main-v200 h3{font-size:clamp(13px,1.1vw,16px)}
.app-main-v200 p,.app-main-v200 label,.app-main-v200 td{line-height:1.45}

/* Generic actions: compact on desktop, easy to tap on touch screens. */
.app-btn-primary,.app-btn-secondary,.app-btn-outline,.app-action-pill{min-height:35px!important;border-radius:9px!important}
.app-action-pill{white-space:normal!important;text-align:center}

/* Users & Access — redesigned to fit rather than squeeze permissions into a side column. */
.harvest-users-page{display:block;min-width:0}
.harvest-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px}
.harvest-stat-card{min-height:82px;padding:12px 13px;border:1px solid #dce7df;border-radius:13px;background:#fff;box-shadow:0 3px 12px rgba(23,51,39,.025)}
.harvest-stat-label{font-size:9px;color:#74847b;font-weight:650}
.harvest-stat-value{margin-top:5px;font-size:23px;line-height:1;font-weight:850;color:#195f3f}
.harvest-users-layout{display:grid;grid-template-columns:1fr;gap:12px}
.harvest-users-panel{min-width:0;overflow:hidden;padding:15px;border:1px solid #dce7df;border-radius:15px;background:#fff;box-shadow:0 4px 14px rgba(23,51,39,.025)}
.harvest-users-panel h2{font-size:18px!important;line-height:1.18!important}
.harvest-create-account-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:14px}
.harvest-field{min-width:0}.harvest-field-span-2{grid-column:span 2}.harvest-field-span-all{grid-column:1/-1}.harvest-form-actions{display:flex;justify-content:flex-end}
.harvest-field label{margin-bottom:5px!important;font-size:10px!important}
.harvest-field input:not([type=checkbox]),.harvest-field select{width:100%;min-height:38px!important;padding:8px 10px!important;border-radius:9px!important;font-size:11px!important}
.harvest-module-panel{padding:12px;border:1px solid #dce9df;border-radius:13px;background:#f7fbf8}
.harvest-module-panel>.flex{gap:9px!important}
.harvest-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}
.harvest-module-card{height:100%;min-width:0;padding:11px;border:1px solid #dfe8e2;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(23,51,39,.02)}
.harvest-module-card .text-lg{font-size:13px!important}.harvest-module-card .text-xs{font-size:9px!important;line-height:1.45!important}
.harvest-module-card>div:first-child{gap:8px!important}
.harvest-module-card label.rounded-full{padding:6px 8px!important;font-size:9px!important}
.harvest-module-actions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}
.harvest-module-action{display:flex;align-items:center;gap:7px;min-height:36px;padding:6px 8px;border:1px solid #e2e9e4;border-radius:9px;background:#fafcfb;font-size:9.5px;font-weight:700;color:#405249;transition:.15s ease}
.harvest-module-action:hover{border-color:#bbd7c4;background:#f0f8f3}.harvest-module-action input{width:14px!important;height:14px!important;min-width:14px}
.harvest-system-users-panel .system-users-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}
.harvest-system-users-panel .user-card{margin:0!important;border-radius:13px!important;padding:12px!important}
.harvest-system-users-panel .user-card img{width:46px!important;height:46px!important;border-radius:11px!important}
.harvest-users-page .user-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
.harvest-users-page details{border-radius:11px!important;padding:10px!important}.harvest-users-page details summary{font-size:10px!important}

/* Permission/helper panels anywhere in the system follow the same responsive scale. */
[data-module-access-panel]{max-width:100%;overflow:hidden}
[data-module-access-panel] button{white-space:normal}

/* Responsive tables already receive data-labels from app.js; ensure no page-wide overflow. */
.app-main-v200 .overflow-x-auto,.app-main-v200 [class*="overflow-x-auto"]{max-width:100%;-webkit-overflow-scrolling:touch}
.app-main-v200 table{max-width:100%}

/* Dialogs/dropdowns never exceed the viewport. */
.app-main-v200 dialog,.app-modal,.modal-content,[role="dialog"]{max-width:min(94vw,760px)!important;max-height:88dvh;overflow:auto}
.app-account-menu-v200,.dropdown-menu{max-width:calc(100vw - 16px)}

/* Large displays: use space, but don't inflate components. */
@media(min-width:1600px){
  .app-main-v200{max-width:1720px!important;padding-inline:20px!important}
  .harvest-stat-grid{gap:12px}.harvest-create-account-form{grid-template-columns:repeat(4,minmax(0,1fr))}
  .harvest-field-span-2{grid-column:span 2}
  .harvest-system-users-panel .system-users-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Laptop / tablet landscape. */
@media(max-width:1180px){
  .harvest-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .harvest-create-account-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .harvest-module-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .harvest-system-users-panel .system-users-list{grid-template-columns:1fr}
}

/* Tablet and phone: consistent two-up summary cards, single-column complex content. */
@media(max-width:700px){
  :root{--v270-control-h:42px}
  .app-main-v200{padding:9px 9px 22px!important}
  .app-main-v200 input,.app-main-v200 select,.app-main-v200 textarea,.app-main-v200 button{font-size:13px}
  .app-btn-primary,.app-btn-secondary,.app-btn-outline,.app-action-pill{min-height:var(--v270-touch-h)!important}
  .harvest-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:8px}
  .harvest-stat-card{min-height:72px;padding:10px;border-radius:11px}.harvest-stat-label{font-size:8.5px}.harvest-stat-value{font-size:20px}
  .harvest-users-panel{padding:10px;border-radius:12px}.harvest-users-panel h2{font-size:16px!important}
  .harvest-create-account-form{grid-template-columns:1fr;gap:8px;margin-top:10px}.harvest-field-span-2,.harvest-field-span-all{grid-column:auto}.harvest-form-actions{display:block}.harvest-form-actions button{width:100%}
  .harvest-module-grid{grid-template-columns:1fr;gap:7px}.harvest-module-card{padding:10px}.harvest-module-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .harvest-module-action{min-height:40px;font-size:10px}
  .harvest-system-users-panel .system-users-list{grid-template-columns:1fr}.harvest-users-page .user-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .app-main-v200 .flex.justify-between{row-gap:8px}
}

/* Very small phones: protect readability; only dense KPI summaries fall back to one column. */
@media(max-width:380px){
  .app-main-v200{padding-inline:7px!important}.harvest-stat-grid{grid-template-columns:1fr 1fr}.harvest-stat-card{min-height:68px;padding:9px}.harvest-stat-value{font-size:19px}
  .harvest-users-page .user-card-actions{grid-template-columns:1fr!important}.harvest-module-actions-grid{grid-template-columns:1fr 1fr}
}

/* Landscape phones: keep navigation usable and reduce vertical waste. */
@media(max-height:520px) and (max-width:900px){
  .app-sidebar-v200{overflow-y:auto}.app-sidebar-brand-v200{min-height:52px!important}.app-sidebar-user-v200{margin-top:4px!important}.app-sidebar-footer-v200{position:static!important}
  .app-header-v200{height:50px!important}.app-main-v200{padding-top:7px!important}
}

/* =========================================================
   HARVEST UI V271 — COMPLEX MANAGEMENT LAYOUT FIX
   Prevent narrow-column collapse on Users / Roles / Access
   and other dense administration screens.
   ========================================================= */

/* Dense management records are full-width rows, never 2/3-up cards. */
.harvest-system-users-panel .system-users-list{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
}
.harvest-system-users-panel .user-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  overflow:visible!important;
}

/* Keep the identity area flexible and the action rail a sensible width. */
.harvest-system-users-panel .user-card > .grid{
  width:100%!important;
  min-width:0!important;
  grid-template-columns:minmax(0,1fr) minmax(180px,220px)!important;
  align-items:start!important;
  gap:12px!important;
}
.harvest-system-users-panel .user-card > .grid > *{min-width:0!important;}
.harvest-system-users-panel .user-card .min-w-0{
  min-width:0!important;
  width:auto!important;
}
.harvest-system-users-panel .user-card-actions{
  width:100%!important;
  max-width:220px!important;
  min-width:180px!important;
  justify-self:end!important;
  align-self:start!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
  margin:0!important;
}
.harvest-system-users-panel .user-card-actions > *,
.harvest-system-users-panel .user-card-actions form,
.harvest-system-users-panel .user-card-actions a,
.harvest-system-users-panel .user-card-actions button,
.harvest-system-users-panel .user-card-actions span{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

/* Never allow account text to become one-character-per-line. */
.harvest-system-users-panel .user-card,
.harvest-system-users-panel .user-card *{
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.harvest-system-users-panel .user-card .truncate{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.harvest-system-users-panel .user-card .line-clamp-2{
  display:block!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
}

/* Details/permission editors consume the full row below the account summary. */
.harvest-system-users-panel .user-card > details{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.harvest-system-users-panel .user-card > details form,
.harvest-system-users-panel .user-card > details fieldset,
.harvest-system-users-panel .user-card > details [data-module-access-panel]{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

/* Module permission tiles: 2-up on desktop, never squeezed narrower. */
.harvest-users-page .harvest-module-grid{
  grid-template-columns:repeat(2,minmax(260px,1fr))!important;
}
.harvest-users-page .harvest-module-card{
  min-width:0!important;
  width:100%!important;
}

/* General protection for dense administration cards. */
.app-main-v200 .user-card,
.app-main-v200 [class*="permission"],
.app-main-v200 details,
.app-main-v200 fieldset{
  min-width:0;
  max-width:100%;
}
.app-main-v200 .user-card p,
.app-main-v200 .user-card div,
.app-main-v200 .user-card span,
.app-main-v200 details p,
.app-main-v200 details div,
.app-main-v200 details span{
  overflow-wrap:break-word;
}

/* Laptop/tablet: account content stacks above actions. */
@media(max-width:1100px){
  .harvest-system-users-panel .user-card > .grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .harvest-system-users-panel .user-card-actions{
    max-width:none!important;
    min-width:0!important;
    width:100%!important;
    justify-self:stretch!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .harvest-users-page .harvest-module-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Tablet: actions become 2 x 2 and permission cards remain readable. */
@media(max-width:760px){
  .harvest-system-users-panel .user-card-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .harvest-users-page .harvest-module-grid{
    grid-template-columns:1fr!important;
  }
  .harvest-system-users-panel .user-card{
    padding:10px!important;
  }
  .harvest-system-users-panel .user-card img{
    width:42px!important;
    height:42px!important;
  }
}

/* Small phones: one action per row for reliable touch targets. */
@media(max-width:430px){
  .harvest-system-users-panel .user-card > .grid .flex.items-start{
    gap:9px!important;
  }
  .harvest-system-users-panel .user-card-actions{
    grid-template-columns:1fr!important;
  }
  .harvest-system-users-panel .user-card-actions a,
  .harvest-system-users-panel .user-card-actions button,
  .harvest-system-users-panel .user-card-actions span{
    min-height:42px!important;
  }
}

/* =============================================================
   HARVEST UI V274 — MODULE PERMISSIONS RESPONSIVE EDITOR
   Replaces the wide permission matrix with role/module cards.
   ============================================================= */
.perm-page-hero{
  display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;
  margin:0 0 1rem;padding:1.05rem 1.15rem;border:1px solid var(--app-border,#dbe5dd);
  border-radius:1.15rem;background:var(--app-surface-solid,#fff);box-shadow:0 8px 26px rgba(27,62,43,.045)
}
.perm-page-hero>div{min-width:0}.perm-page-eyebrow{font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#277148}
.perm-page-hero h1{margin:.18rem 0 .3rem;font-size:clamp(1.45rem,2vw,2rem);line-height:1.08;color:#183b2a;font-weight:900}
.perm-page-hero p{margin:0;max-width:58rem;color:#6f7f76;font-size:.84rem;line-height:1.5}
.perm-page-hero .app-btn-outline{flex:0 0 auto;white-space:nowrap;display:inline-flex;align-items:center;gap:.45rem}
.perm-editor{display:grid;gap:.9rem;min-width:0}
.perm-role-section{min-width:0;border:1px solid var(--app-border,#dbe5dd);border-radius:1.15rem;background:var(--app-surface-solid,#fff);overflow:hidden;box-shadow:0 8px 24px rgba(27,62,43,.035)}
.perm-role-section.is-locked{border-color:#cfe0d3;background:linear-gradient(180deg,#fbfefb 0%,#fff 100%)}
.perm-role-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid #e7eee9;background:#f8fbf9}
.perm-role-title-wrap{display:flex;align-items:flex-start;gap:.7rem;min-width:0}.perm-role-icon{width:2.2rem;height:2.2rem;min-width:2.2rem;border-radius:.75rem;display:grid;place-items:center;background:#eaf5ee;color:#246c45;font-size:1rem}
.perm-role-label{font-size:1rem;font-weight:900;color:#183b2a}.perm-role-head p{margin:.18rem 0 0;font-size:.75rem;line-height:1.4;color:#728179;max-width:52rem}
.perm-lock-badge{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;padding:.42rem .65rem;border-radius:999px;background:#eef7eb;color:#1f633f;font-size:.72rem;font-weight:850;border:1px solid #d5e7d8}
.perm-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:.85rem}
.perm-module-card{min-width:0;border:1px solid #e2e9e4;border-radius:1rem;background:#fff;padding:.85rem;display:grid;gap:.75rem}
.perm-module-head{display:flex;align-items:center;gap:.65rem;min-width:0}.perm-module-icon{width:2rem;height:2rem;min-width:2rem;border-radius:.65rem;display:grid;place-items:center;background:#f0f6f2;color:#2d744d}
.perm-module-head h2{margin:0;color:#193c2b;font-size:.92rem;font-weight:900}.perm-module-head span{display:block;margin-top:.1rem;color:#849188;font-size:.68rem}
.perm-action-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.42rem}
.perm-action-chip{position:relative;min-width:0;min-height:2.25rem;padding:.42rem .48rem;border:1px solid #dfe8e1;border-radius:.75rem;background:#fbfcfb;color:#496057;display:flex;align-items:center;justify-content:flex-start;gap:.38rem;cursor:pointer;font-size:.71rem;font-weight:800;line-height:1.15;user-select:none;transition:.14s ease}
.perm-action-chip:hover{border-color:#bfd6c5;background:#f4faf5}.perm-action-chip input{position:absolute;opacity:0;pointer-events:none}.perm-check-box{width:1.05rem;height:1.05rem;min-width:1.05rem;border-radius:.28rem;border:1px solid #b7c8bc;background:#fff;display:grid;place-items:center;color:transparent;font-size:.7rem}
.perm-action-chip.is-checked{background:#eef8f0;border-color:#b8d7c0;color:#215d3e}.perm-action-chip.is-checked .perm-check-box{background:#2a744a;border-color:#2a744a;color:#fff}.perm-action-chip.is-disabled{cursor:not-allowed;opacity:.78;background:#f4f7f4}.perm-action-chip.is-disabled .perm-check-box{background:#73917d;border-color:#73917d;color:#fff}
.perm-save-bar{position:sticky;bottom:.65rem;z-index:25;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.75rem;border:1px solid #d8e5dc;border-radius:1rem;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 12px 34px rgba(25,61,41,.11)}
.perm-save-note{min-width:0;display:flex;align-items:flex-start;gap:.5rem;color:#6a765f;font-size:.74rem;line-height:1.35}.perm-save-note i{color:#9c7b20;margin-top:.05rem}.perm-save-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:.45rem;white-space:nowrap}
@media(max-width:1180px){.perm-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:980px){.perm-module-grid{grid-template-columns:1fr}.perm-action-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:760px){.perm-page-hero{align-items:stretch;flex-direction:column;padding:.9rem}.perm-page-hero .app-btn-outline{width:100%;justify-content:center}.perm-role-head{align-items:flex-start;flex-direction:column}.perm-module-grid{padding:.7rem}.perm-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.perm-save-bar{position:static;grid-template-columns:1fr}.perm-save-btn{width:100%}}
@media(max-width:520px){.perm-page-hero{border-radius:.9rem}.perm-role-section{border-radius:.9rem}.perm-role-head{padding:.75rem}.perm-role-icon{width:1.95rem;height:1.95rem;min-width:1.95rem}.perm-module-card{padding:.7rem;border-radius:.85rem}.perm-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.36rem}.perm-action-chip{min-height:2.15rem;font-size:.68rem;padding:.38rem .42rem}.perm-save-note{font-size:.7rem}}
@media(max-width:360px){.perm-action-grid{grid-template-columns:1fr}.perm-action-chip{justify-content:flex-start}}

/* =============================================================
   V275 — Module Permissions: clean stacked role editor
   Scoped aggressively to avoid conflicts with legacy utilities.
   ============================================================= */
#permission-editor-v275,
#permission-editor-v275 *{box-sizing:border-box}
#permission-editor-v275{width:100%;max-width:100%;min-width:0;display:block!important}
#permission-editor-v275 .permv275-hero{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;width:100%!important;max-width:100%!important;padding:18px 20px!important;margin:0 0 14px!important;border:1px solid #dfe7e1!important;border-radius:18px!important;background:#fffdf9!important;overflow:hidden!important}
#permission-editor-v275 .permv275-hero-copy{min-width:0!important;max-width:820px!important}
#permission-editor-v275 .permv275-eyebrow{font-size:10px!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#2b754d!important}
#permission-editor-v275 h1{margin:3px 0 5px!important;font-size:clamp(22px,2vw,30px)!important;line-height:1.05!important;font-weight:900!important;color:#173b29!important}
#permission-editor-v275 .permv275-hero p{margin:0!important;font-size:13px!important;line-height:1.45!important;color:#748179!important;max-width:760px!important}
#permission-editor-v275 .permv275-secondary{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;flex:0 0 auto!important;min-height:40px!important;padding:0 14px!important;border:1px solid #ccd9cf!important;border-radius:11px!important;background:#fff!important;color:#284c38!important;font-size:12px!important;font-weight:800!important;text-decoration:none!important;white-space:nowrap!important}
#permission-editor-v275 .permv275-form{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important}
#permission-editor-v275 .permv275-role-list{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important;min-width:0!important}
#permission-editor-v275 .permv275-role{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;border:1px solid #dfe7e1!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 5px 18px rgba(24,59,41,.035)!important}
#permission-editor-v275 .permv275-role.is-locked{border-color:#cfe0d3!important;background:#fbfefb!important}
#permission-editor-v275 .permv275-role-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;width:100%!important;min-width:0!important;padding:13px 15px!important;border-bottom:1px solid #e8eee9!important;background:#f8fbf9!important}
#permission-editor-v275 .permv275-role-identity{display:flex!important;align-items:flex-start!important;gap:10px!important;min-width:0!important;flex:1 1 auto!important}
#permission-editor-v275 .permv275-role-icon{display:grid!important;place-items:center!important;flex:0 0 34px!important;width:34px!important;height:34px!important;border-radius:10px!important;background:#e9f4ed!important;color:#236b43!important;font-size:15px!important}
#permission-editor-v275 .permv275-role-text{min-width:0!important;max-width:760px!important}
#permission-editor-v275 .permv275-role-title{font-size:15px!important;font-weight:900!important;line-height:1.2!important;color:#173b29!important;white-space:normal!important;word-break:normal!important}
#permission-editor-v275 .permv275-role-text p{margin:3px 0 0!important;font-size:11.5px!important;line-height:1.4!important;color:#77837c!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}
#permission-editor-v275 .permv275-lock{display:inline-flex!important;align-items:center!important;gap:6px!important;flex:0 0 auto!important;padding:6px 9px!important;border-radius:999px!important;border:1px solid #d1e3d5!important;background:#eef7f0!important;color:#236440!important;font-size:10.5px!important;font-weight:850!important;white-space:nowrap!important}
#permission-editor-v275 .permv275-module-list{display:block!important;width:100%!important;min-width:0!important}
#permission-editor-v275 .permv275-module-row{display:grid!important;grid-template-columns:minmax(170px,220px) minmax(0,1fr)!important;align-items:center!important;gap:16px!important;width:100%!important;min-width:0!important;padding:11px 15px!important;margin:0!important;border-bottom:1px solid #edf1ee!important;background:#fff!important}
#permission-editor-v275 .permv275-module-row:last-child{border-bottom:0!important}
#permission-editor-v275 .permv275-module-info{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;width:100%!important}
#permission-editor-v275 .permv275-module-icon{display:grid!important;place-items:center!important;flex:0 0 30px!important;width:30px!important;height:30px!important;border-radius:9px!important;background:#f0f6f2!important;color:#2b744c!important;font-size:13px!important}
#permission-editor-v275 .permv275-module-info>div{min-width:0!important}
#permission-editor-v275 .permv275-module-info strong{display:block!important;margin:0!important;font-size:12.5px!important;line-height:1.2!important;font-weight:900!important;color:#203f2f!important;white-space:normal!important;word-break:normal!important}
#permission-editor-v275 .permv275-module-info small{display:block!important;margin-top:2px!important;font-size:9.5px!important;line-height:1.25!important;color:#89948e!important;white-space:normal!important}
#permission-editor-v275 .permv275-actions{display:grid!important;grid-template-columns:repeat(10,minmax(68px,1fr))!important;gap:6px!important;align-items:stretch!important;min-width:0!important;width:100%!important;max-width:100%!important}
#permission-editor-v275 .permv275-toggle{position:relative!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;min-width:0!important;width:100%!important;min-height:34px!important;margin:0!important;padding:6px 7px!important;border:1px solid #dde7df!important;border-radius:9px!important;background:#fbfcfb!important;color:#52665b!important;cursor:pointer!important;font-size:10px!important;font-weight:800!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important}
#permission-editor-v275 .permv275-toggle input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
#permission-editor-v275 .permv275-box{display:grid!important;place-items:center!important;flex:0 0 15px!important;width:15px!important;height:15px!important;border:1px solid #b7c8bc!important;border-radius:4px!important;background:#fff!important;color:transparent!important;font-size:10px!important}
#permission-editor-v275 .permv275-action-label{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#permission-editor-v275 .permv275-toggle.is-on{border-color:#b9d6c0!important;background:#eef8f0!important;color:#245e3e!important}
#permission-editor-v275 .permv275-toggle.is-on .permv275-box{border-color:#2c754c!important;background:#2c754c!important;color:#fff!important}
#permission-editor-v275 .permv275-toggle.is-locked{cursor:not-allowed!important;opacity:.72!important;background:#f1f5f2!important}
#permission-editor-v275 .permv275-toggle.is-locked .permv275-box{border-color:#75917e!important;background:#75917e!important;color:#fff!important}
#permission-editor-v275 .permv275-savebar{position:sticky!important;bottom:8px!important;z-index:20!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;width:100%!important;min-width:0!important;margin-top:14px!important;padding:10px 12px!important;border:1px solid #d9e5dc!important;border-radius:13px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(10px)!important;box-shadow:0 10px 30px rgba(23,59,41,.09)!important}
#permission-editor-v275 .permv275-note{display:flex!important;align-items:flex-start!important;gap:7px!important;min-width:0!important;color:#6e796f!important;font-size:11px!important;line-height:1.35!important}
#permission-editor-v275 .permv275-note i{color:#8d7221!important;margin-top:1px!important}
#permission-editor-v275 .permv275-save{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;flex:0 0 auto!important;min-height:40px!important;padding:0 15px!important;border:0!important;border-radius:10px!important;background:#257047!important;color:#fff!important;font-size:12px!important;font-weight:850!important;white-space:nowrap!important;cursor:pointer!important}
#permission-editor-v275 .permv275-save:hover{background:#1d603b!important}

@media(max-width:1320px){
  #permission-editor-v275 .permv275-actions{grid-template-columns:repeat(5,minmax(92px,1fr))!important}
}
@media(max-width:960px){
  #permission-editor-v275 .permv275-module-row{grid-template-columns:1fr!important;gap:9px!important;align-items:start!important}
  #permission-editor-v275 .permv275-actions{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}
@media(max-width:760px){
  #permission-editor-v275 .permv275-hero{flex-direction:column!important;align-items:stretch!important;padding:14px!important;border-radius:14px!important}
  #permission-editor-v275 .permv275-secondary{width:100%!important}
  #permission-editor-v275 .permv275-role-header{flex-direction:column!important;align-items:flex-start!important;padding:11px 12px!important}
  #permission-editor-v275 .permv275-module-row{padding:10px 12px!important}
  #permission-editor-v275 .permv275-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #permission-editor-v275 .permv275-savebar{position:static!important;flex-direction:column!important;align-items:stretch!important}
  #permission-editor-v275 .permv275-save{width:100%!important}
}
@media(max-width:480px){
  #permission-editor-v275 .permv275-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #permission-editor-v275 .permv275-toggle{min-height:38px!important;font-size:10.5px!important}
  #permission-editor-v275 h1{font-size:22px!important}
}
@media(max-width:340px){
  #permission-editor-v275 .permv275-actions{grid-template-columns:1fr!important}
}


/* V277 - adaptive/resilient UI baseline from the implementation guide */
:root{
  --app-radius-sm:.55rem; --app-radius-md:.8rem; --app-radius-lg:1.1rem; --app-radius-xl:1.4rem;
  --app-space-fluid:clamp(.75rem,1vw,1.2rem);
  --app-title-fluid:clamp(1.35rem,1rem + 1.1vw,2rem);
}
.app-main, .app-content, main, section, article, aside, .grid, .flex { min-width:0; }
.app-main :where(h1,h2,h3,h4,p,span,a,td,th,label,small,strong,em){overflow-wrap:break-word;}
.app-main :where(.break-anywhere,[data-break-anywhere]){overflow-wrap:anywhere;word-break:break-word;}
.app-main :where(.tabular-nums,[data-numeric],td.numeric,th.numeric){font-variant-numeric:tabular-nums lining-nums;}
.app-main :where(input,select,textarea,button){max-width:100%;}
.app-main h1{font-size:var(--app-title-fluid);}
.app-pagination{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding:.8rem 0;color:#667568;font-size:.82rem}
.app-pagination-links{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.app-page-btn{display:inline-flex;min-width:2.15rem;height:2.15rem;align-items:center;justify-content:center;border:1px solid #d9e4d9;border-radius:.7rem;background:#fff;color:#244b35;font-weight:750;text-decoration:none;padding:0 .55rem}
.app-page-btn:hover{background:#f1f7f1;border-color:#b9cfbd}.app-page-btn.is-active{background:#246b42;color:white;border-color:#246b42}
.app-pagination-meta{white-space:nowrap}
.app-empty-state{padding:1.2rem;text-align:center;color:#6b7b70;background:#f8faf8;border:1px dashed #d6e1d6;border-radius:var(--app-radius-lg)}
@media (hover:none),(pointer:coarse){
  .app-page-btn,.app-btn-primary,.app-btn-outline,button,a[role="button"]{min-height:44px}
  [data-hover-only]{display:none!important}
}
@media(max-width:700px){
  .app-pagination{align-items:stretch}.app-pagination-meta{width:100%;white-space:normal}.app-pagination-links{width:100%;justify-content:center}
  .app-main table.responsive-table thead{display:none}
  .app-main table.responsive-table,.app-main table.responsive-table tbody,.app-main table.responsive-table tr,.app-main table.responsive-table td{display:block;width:100%}
  .app-main table.responsive-table tr{padding:.75rem;border:1px solid #dfe7df;border-radius:1rem;margin-bottom:.7rem;background:#fff}
  .app-main table.responsive-table td{display:grid;grid-template-columns:minmax(90px,34%) minmax(0,1fr);gap:.65rem;border:0;padding:.35rem 0}
  .app-main table.responsive-table td::before{content:attr(data-label);font-size:.72rem;font-weight:800;color:#708076;text-transform:uppercase;letter-spacing:.04em}
}

/* =============================================================
   HARVEST UI V279 — ADAPTIVE SYSTEM-WIDE UI BASELINE
   Based on Universal Adaptive System Implementation Guide:
   real-content resilience, fluid sizing, touch, responsive/dense
   tables, consistent radii, color semantics, settings UX.
   ============================================================= */
:root{
  --v279-page-pad:clamp(.75rem,1.2vw,1.2rem);
  --v279-section-gap:clamp(.75rem,1.05vw,1rem);
  --v279-card-pad:clamp(.85rem,1.1vw,1.1rem);
  --v279-radius-sm:.6rem;
  --v279-radius-md:.82rem;
  --v279-radius-lg:1.05rem;
  --v279-radius-xl:1.3rem;
  --v279-control-h:40px;
  --v279-touch-h:44px;
  --v279-text-xs:clamp(.68rem,.64rem + .1vw,.74rem);
  --v279-text-sm:clamp(.76rem,.72rem + .12vw,.84rem);
  --v279-text-base:clamp(.84rem,.78rem + .18vw,.94rem);
  --v279-title:clamp(1.35rem,1.05rem + .9vw,1.95rem);
  --v279-surface:#fffefa;
  --v279-surface-soft:#f8fbf8;
  --v279-border:#dce6de;
  --v279-text:#20382b;
  --v279-muted:#718077;
  --v279-primary:#246f46;
  --v279-primary-2:#1e5f3c;
  --v279-warning:#a56712;
  --v279-danger:#b93d3d;
}

html{font-size:16px;scroll-padding-top:76px}
body.app-ui-v200{font-size:var(--v279-text-base);overflow-x:hidden}
.app-workspace-v200,.app-main-v200,.app-main-v200>*{min-width:0;max-width:100%}
.app-main-v200{padding:var(--v279-page-pad)!important}
.app-main-v200>*.mb-6{margin-bottom:var(--v279-section-gap)!important}
.app-main-v200 :where(h1,h2,h3,h4,h5,strong,p,span,a,label,small,td,th,dd,dt){word-break:normal;overflow-wrap:break-word}
.app-main-v200 :where(code,.break-anywhere,[data-break-anywhere],.app-path,.app-id){overflow-wrap:anywhere;word-break:break-word}

/* Shared page surfaces: reduce oversized 2rem cards without breaking shape. */
.app-main-v200 .rounded-\[2rem\]{border-radius:var(--v279-radius-xl)!important}
.app-main-v200 .rounded-\[1\.5rem\]{border-radius:var(--v279-radius-lg)!important}
.app-main-v200 .rounded-2xl{border-radius:var(--v279-radius-md)!important}
.app-main-v200 .p-6{padding:var(--v279-card-pad)!important}
.app-main-v200 .p-5{padding:clamp(.8rem,1vw,1rem)!important}
.app-main-v200 .text-4xl{font-size:clamp(1.65rem,1.4rem + .7vw,2.2rem)!important;line-height:1.05!important}
.app-main-v200 .text-3xl{font-size:clamp(1.25rem,1.08rem + .5vw,1.65rem)!important;line-height:1.15!important}
.app-main-v200 .text-lg{font-size:clamp(.92rem,.88rem + .15vw,1rem)!important}

/* Consistent actions and controls */
.app-main-v200 :where(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:var(--v279-control-h);font-size:.86rem;border-radius:var(--v279-radius-sm)}
.app-main-v200 :where(button,.app-btn-primary,.app-btn-outline,a[role=button]){font-size:.8rem}
.app-main-v200 button,.app-main-v200 a,.app-main-v200 input,.app-main-v200 select,.app-main-v200 textarea{min-width:0}

/* Adaptive grids: use auto-fit for common card grids but retain authored special layouts. */
.v279-auto-grid,.app-kpi-grid,.dashboard-kpi-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))!important;gap:var(--v279-section-gap)!important}
.v279-auto-grid-sm{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))!important;gap:.7rem!important}

/* Table foundation: desktop remains dense, tablet/mobile stays usable. */
.app-table-wrap,.app-main-v200 .overflow-x-auto{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:var(--v279-radius-md)}
.app-main-v200 table{width:100%;max-width:100%;border-collapse:separate;border-spacing:0}
.app-main-v200 table th{font-size:.68rem!important;text-transform:uppercase;letter-spacing:.035em;color:#6f7c74;white-space:nowrap;background:#f7faf7}
.app-main-v200 table td{font-size:.78rem!important;vertical-align:middle}
.app-main-v200 table td,.app-main-v200 table th{padding:.58rem .65rem!important}
.app-main-v200 table td.numeric,.app-main-v200 table th.numeric,[data-numeric]{font-variant-numeric:tabular-nums lining-nums;text-align:right}
.app-main-v200 table[data-dense-table="1"] tbody tr:hover{background:#f8fbf8}
.app-main-v200 table[data-dense-table="1"] th:first-child,.app-main-v200 table[data-dense-table="1"] td:first-child{position:sticky;left:0;z-index:2;background:inherit}
.app-main-v200 table[data-dense-table="1"] thead th:first-child{z-index:3;background:#f7faf7}

/* Empty / error / loading states */
.app-empty-state,.v279-empty-state{display:grid;place-items:center;min-height:110px;padding:1.1rem;text-align:center;color:var(--v279-muted);background:var(--v279-surface-soft);border:1px dashed #cfdbd1;border-radius:var(--v279-radius-lg)}
.v279-error-state{padding:1rem;border:1px solid #f0c8c8;background:#fff6f6;color:#8f2f2f;border-radius:var(--v279-radius-md)}
.v279-success-state{padding:1rem;border:1px solid #c8e0ce;background:#f4fbf5;color:#255e3c;border-radius:var(--v279-radius-md)}

/* Header: keep content compact on laptop and preserve title/search hierarchy. */
.app-header-v200{min-height:58px!important;height:auto!important;padding:.45rem clamp(.6rem,1vw,.95rem)!important;gap:.7rem!important}
.app-header-title-v200{min-width:120px;max-width:min(290px,28vw)}
.app-header-title-v200 strong{font-size:.88rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-header-title-v200 small{font-size:.62rem!important}
.app-header-search-wrap-v200{min-width:0}
.app-header-search-v200{height:38px!important;min-width:0}
.app-header-search-v200 input{font-size:.78rem!important}

/* Sidebar compactness + stronger active hierarchy. */
.app-sidebar-v200{width:248px!important}
.app-workspace-v200{margin-left:248px!important;width:calc(100% - 248px)!important}
.sidebar-collapsed-v200 .app-workspace-v200{margin-left:72px!important;width:calc(100% - 72px)!important}
.app-sidebar-current-heading{font-size:.64rem!important;letter-spacing:.07em!important;padding:.48rem .65rem!important}
.app-sidebar-link-v200{min-height:38px!important;padding:.48rem .65rem!important;border-radius:.65rem!important;font-size:.75rem!important}
.app-sidebar-link-v200.is-active{box-shadow:inset 3px 0 0 #f5bf2b;background:#385930!important;color:#fff!important}
.app-sidebar-subgroup-toggle{min-height:36px!important;font-size:.7rem!important;padding:.4rem .55rem!important}
.app-sidebar-count{min-width:20px;height:20px;padding:0 5px;font-size:.62rem}

/* Settings / admin pages: prevent giant blank two-column panels. */
.app-main-v200 .settings-grid,.app-main-v200 .admin-grid,.app-main-v200 .security-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:var(--v279-section-gap)}
.app-main-v200 details{max-width:100%}

/* Destructive actions are visually distinct but not dominant. */
.app-main-v200 .btn-danger,.app-main-v200 [data-danger]{background:#fff5f5!important;color:#a83232!important;border-color:#eccaca!important}
.app-main-v200 .btn-danger:hover,.app-main-v200 [data-danger]:hover{background:#ffecec!important}

/* V279 Active Sessions / Security Operations */
#security-ops-v279{display:grid;gap:var(--v279-section-gap)}
#security-ops-v279 .sec-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1rem 1.05rem;border:1px solid var(--v279-border);border-radius:var(--v279-radius-xl);background:var(--v279-surface)}
#security-ops-v279 .sec-kicker{font-size:.66rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#2a754a}
#security-ops-v279 .sec-hero h1{font-size:var(--v279-title);line-height:1.08;margin:.16rem 0 .25rem;color:#1d3d2d}
#security-ops-v279 .sec-hero p{margin:0;color:var(--v279-muted);font-size:.8rem;max-width:760px}
#security-ops-v279 .sec-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
#security-ops-v279 .sec-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}
#security-ops-v279 .sec-kpi{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem .9rem;border:1px solid var(--v279-border);border-radius:var(--v279-radius-lg);background:#fff;min-width:0}
#security-ops-v279 .sec-kpi small{display:block;color:var(--v279-muted);font-size:.68rem}.sec-kpi strong{display:block;font-size:1.55rem;line-height:1.05;color:#1f5e3b;font-variant-numeric:tabular-nums}
#security-ops-v279 .sec-panel{border:1px solid var(--v279-border);border-radius:var(--v279-radius-xl);background:#fff;overflow:hidden}
#security-ops-v279 .sec-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:.9rem 1rem;border-bottom:1px solid #e8eee9;background:#fafcf9}
#security-ops-v279 .sec-panel-head h2{margin:0;font-size:1rem;color:#203d2e}#security-ops-v279 .sec-panel-head p{margin:.2rem 0 0;font-size:.73rem;color:var(--v279-muted)}
#security-ops-v279 .sec-table-wrap{overflow:auto;max-width:100%}
#security-ops-v279 .sec-empty{padding:1.1rem;text-align:center;color:var(--v279-muted)}
#security-ops-v279 .sec-collapsible>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;font-weight:850;color:#25432f;background:#fafcf9}
#security-ops-v279 .sec-collapsible>summary::-webkit-details-marker{display:none}
#security-ops-v279 .sec-collapsible[open]>summary{border-bottom:1px solid #e8eee9}
#security-ops-v279 .sec-collapsible-body{padding:.85rem 1rem}
#security-ops-v279 .sec-reset-card{border:1px solid #e1e9e3;border-radius:var(--v279-radius-md);padding:.8rem;margin-bottom:.65rem}

/* Breakpoints */
@media(max-width:1180px){
  #security-ops-v279 .sec-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-sidebar-v200{width:230px!important}.app-workspace-v200{margin-left:230px!important;width:calc(100% - 230px)!important}
}
@media(max-width:900px){
  .app-sidebar-v200{width:min(86vw,290px)!important}
  .app-workspace-v200{margin-left:0!important;width:100%!important}
  .sidebar-collapsed-v200 .app-workspace-v200{margin-left:0!important;width:100%!important}
  .app-main-v200{padding:.75rem!important}
  #security-ops-v279 .sec-hero{align-items:flex-start;flex-direction:column}
  #security-ops-v279 .sec-actions{width:100%;justify-content:flex-start}
}
@media(max-width:720px){
  html{font-size:15px}
  .app-header-search-wrap-v200{display:none!important}
  .app-header-title-v200{max-width:58vw}
  #security-ops-v279 .sec-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-main-v200 table.app-responsive-table:not([data-keep-table-mobile="1"]) thead{display:none}
  .app-main-v200 table.app-responsive-table:not([data-keep-table-mobile="1"]),
  .app-main-v200 table.app-responsive-table:not([data-keep-table-mobile="1"]) tbody,
  .app-main-v200 table.app-responsive-table:not([data-keep-table-mobile="1"]) tr,
  .app-main-v200 table.app-responsive-table:not([data-keep-table-mobile="1"]) td{display:block;width:100%;position:static!important}
  .app-main-v200 table.app-responsive-table:not([data-keep-table-mobile="1"]) tr{margin:.65rem;border:1px solid #dfe7e0;border-radius:var(--v279-radius-md);background:#fff;overflow:hidden}
  .app-main-v200 table.app-responsive-table:not([data-keep-table-mobile="1"]) td{display:grid;grid-template-columns:minmax(88px,34%) minmax(0,1fr);gap:.6rem;padding:.42rem .65rem!important;border:0!important;border-bottom:1px solid #eef2ef!important}
  .app-main-v200 table.app-responsive-table:not([data-keep-table-mobile="1"]) td:last-child{border-bottom:0!important}
  .app-main-v200 table.app-responsive-table:not([data-keep-table-mobile="1"]) td::before{content:attr(data-label);font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em;color:#7b887f}
  .app-main-v200 table[data-dense-table="1"] th:first-child,.app-main-v200 table[data-dense-table="1"] td:first-child{position:static!important}
}
@media(max-width:480px){
  #security-ops-v279 .sec-kpis{grid-template-columns:1fr}
  .app-main-v200{padding:.58rem!important}
  .app-header-v200{padding:.38rem .48rem!important}
  .app-header-title-v200{max-width:52vw}
  .app-header-title-v200 small{display:none}
  .app-sidebar-v200{width:min(90vw,286px)!important}
  .app-main-v200 table.app-responsive-table:not([data-keep-table-mobile="1"]) td{grid-template-columns:1fr;gap:.18rem}
  .app-main-v200 .app-btn-primary,.app-main-v200 .app-btn-outline,.app-main-v200 button{min-height:42px}
}
@media (hover:none),(pointer:coarse){
  .app-sidebar-link-v200,.app-sidebar-subgroup-toggle,.app-header-icon-btn{min-height:44px!important}
  .app-main-v200 :where(button,a[role=button],.app-btn-primary,.app-btn-outline,input,select){min-height:44px}
  .app-main-v200 [title]:not(input):not(textarea){-webkit-tap-highlight-color:transparent}
}
@media print{
  .app-sidebar-v200,.app-header-v200,.app-sidebar-backdrop,.app-header-right-v200,.app-header-search-wrap-v200,.app-no-print{display:none!important}
  .app-workspace-v200,.app-main-v200{margin:0!important;width:100%!important;padding:0!important}
  body{background:#fff!important;color:#000!important}
  .app-main-v200 section,.app-main-v200 article{box-shadow:none!important}
}

/* V279 auth validation and standalone-page resilience */
.auth-inline-validation{padding:.72rem .82rem;border:1px solid #efc2c2;border-radius:.72rem;background:#fff5f5;color:#8e3030;font-size:.78rem;font-weight:650;line-height:1.4}
.auth-inline-validation[hidden]{display:none!important}.auth-card input[aria-invalid="true"]{border-color:#d45757!important;box-shadow:0 0 0 3px rgba(212,87,87,.12)!important}
.auth-main{padding:clamp(.75rem,3vw,1.75rem)!important}.auth-card,.auth-card-compact{width:min(100%,390px)!important}
@media(max-width:480px){.auth-card,.auth-card-compact{border-radius:14px!important;padding:18px 16px!important}.auth-card .rounded-2xl{border-radius:10px!important}}

/* ========================================================================== 
   HARVEST UI V280 — shell/sidebar layout correction
   Fixes V279 double-offset + collapsed-sidebar overlap regression.
   One layout algorithm only: desktop grid, mobile off-canvas drawer.
   ========================================================================== */
:root{
  --v280-sidebar:238px;
  --v280-sidebar-collapsed:68px;
}

/* Desktop: sidebar participates in the grid. Never offset workspace again. */
@media (min-width:901px){
  .app-shell-v200{
    display:grid!important;
    grid-template-columns:var(--v280-sidebar) minmax(0,1fr)!important;
    width:100%!important;
    min-height:100dvh!important;
  }
  .app-sidebar-v200{
    position:sticky!important;
    inset:auto!important;
    top:0!important;
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    transform:none!important;
    overflow:hidden!important;
  }
  .app-workspace-v200{
    grid-column:2!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    min-width:0!important;
  }

  /* True compact collapsed mode: both grid track and sidebar are 68px. */
  body.sidebar-collapsed-v200 .app-shell-v200{
    grid-template-columns:var(--v280-sidebar-collapsed) minmax(0,1fr)!important;
  }
  body.sidebar-collapsed-v200 .app-sidebar-v200{
    width:100%!important;
    max-width:var(--v280-sidebar-collapsed)!important;
  }
  body.sidebar-collapsed-v200 .app-workspace-v200{
    grid-column:2!important;
    width:auto!important;
    margin:0!important;
  }
  body.sidebar-collapsed-v200 .app-sidebar-brand-v200,
  body.sidebar-collapsed-v200 .app-sidebar-user-v200,
  body.sidebar-collapsed-v200 .app-sidebar-link-v200{
    justify-content:center!important;
  }
  body.sidebar-collapsed-v200 .app-sidebar-brand-copy-v200,
  body.sidebar-collapsed-v200 .app-sidebar-user-copy,
  body.sidebar-collapsed-v200 .app-role-dot,
  body.sidebar-collapsed-v200 .app-sidebar-link-label,
  body.sidebar-collapsed-v200 .app-sidebar-current-heading span:not(.app-sidebar-current-icon),
  body.sidebar-collapsed-v200 .app-sidebar-subgroup-toggle,
  body.sidebar-collapsed-v200 .app-sidebar-footer-clean:before,
  body.sidebar-collapsed-v200 .app-sidebar-count{
    display:none!important;
  }
  body.sidebar-collapsed-v200 .app-sidebar-current-heading{
    justify-content:center!important;
    padding-inline:0!important;
  }
  body.sidebar-collapsed-v200 .app-sidebar-subgroup-items{
    display:block!important;
    padding:0!important;
    margin:0!important;
  }
  body.sidebar-collapsed-v200 .app-sidebar-child-link{
    justify-content:center!important;
    padding-inline:5px!important;
  }
  body.sidebar-collapsed-v200 .app-sidebar-brand-v200{padding-inline:8px!important}
  body.sidebar-collapsed-v200 .app-sidebar-user-v200{margin-inline:7px!important;padding-inline:6px!important}
}

/* Laptop: slightly narrower expanded sidebar while retaining readable labels. */
@media (min-width:901px) and (max-width:1180px){
  :root{--v280-sidebar:220px}
  .app-sidebar-link-v200{font-size:.72rem!important}
  .app-sidebar-subgroup-toggle{font-size:.68rem!important}
}

/* Mobile/tablet: sidebar is an off-canvas drawer and never reserves page width. */
@media (max-width:900px){
  .app-shell-v200{display:block!important;width:100%!important;min-height:100dvh!important}
  .app-sidebar-v200{
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:min(86vw,286px)!important;
    max-width:min(86vw,286px)!important;
    height:100dvh!important;
    transform:translateX(-104%)!important;
    transition:transform .22s cubic-bezier(.2,.8,.2,1)!important;
    z-index:100!important;
    overflow:hidden!important;
  }
  body.sidebar-open-v200 .app-sidebar-v200{transform:translateX(0)!important}
  .app-workspace-v200,
  body.sidebar-collapsed-v200 .app-workspace-v200{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    min-width:0!important;
  }
  /* Collapsed desktop preference must never hide labels in mobile drawer. */
  body.sidebar-collapsed-v200 .app-sidebar-brand-copy-v200,
  body.sidebar-collapsed-v200 .app-sidebar-user-copy,
  body.sidebar-collapsed-v200 .app-role-dot,
  body.sidebar-collapsed-v200 .app-sidebar-link-label,
  body.sidebar-collapsed-v200 .app-sidebar-current-heading span:not(.app-sidebar-current-icon),
  body.sidebar-collapsed-v200 .app-sidebar-subgroup-toggle,
  body.sidebar-collapsed-v200 .app-sidebar-footer-clean:before,
  body.sidebar-collapsed-v200 .app-sidebar-count{
    display:initial!important;
  }
  body.sidebar-collapsed-v200 .app-sidebar-link-v200,
  body.sidebar-collapsed-v200 .app-sidebar-child-link,
  body.sidebar-collapsed-v200 .app-sidebar-brand-v200,
  body.sidebar-collapsed-v200 .app-sidebar-user-v200{
    justify-content:flex-start!important;
  }
  body.sidebar-collapsed-v200 .app-sidebar-subgroup-toggle{display:flex!important}
}

/* Header/content resilience at all widths. */
.app-header-v200,.app-header-left-v200,.app-header-right-v200,.app-header-search-wrap-v200,.app-main-v200{min-width:0!important}
.app-main-v200{overflow-x:hidden!important}
.app-main-v200>*{min-width:0!important}
.app-main-v200 img,.app-main-v200 video,.app-main-v200 canvas,.app-main-v200 svg{max-width:100%}

/* Keep dashboard/card grids from being partially hidden or oversized. */
@media (min-width:1181px){
  .app-kpi-grid,.dashboard-kpi-grid,.v279-auto-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media (min-width:721px) and (max-width:1180px){
  .app-kpi-grid,.dashboard-kpi-grid,.v279-auto-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:720px){
  .app-main-v200{padding:.65rem!important}
  .app-kpi-grid,.dashboard-kpi-grid,.v279-auto-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.55rem!important}
}
@media (max-width:430px){
  .app-kpi-grid,.dashboard-kpi-grid,.v279-auto-grid{grid-template-columns:1fr!important}
  .app-main-v200{padding:.55rem!important}
}

/* Strong overflow protection for real content without forcing normal words to vertical-wrap. */
.app-main-v200 :where(.card,.panel,.app-card,[class*="card"],[class*="panel"]){min-width:0;max-width:100%}
.app-main-v200 :where(a,p,span,strong,small,label,td,th,dd,dt){word-break:normal!important;overflow-wrap:break-word}
.app-main-v200 :where(.break-anywhere,.app-path,.app-id,code,[data-break-anywhere]){overflow-wrap:anywhere!important;word-break:break-word!important}

/* Mobile touch ergonomics without enlarging desktop density. */
@media (hover:none) and (pointer:coarse){
  .app-sidebar-link-v200,.app-sidebar-subgroup-toggle,.app-header-icon-btn,.app-account-trigger-v200{min-height:44px!important}
  .app-main-v200 :where(button,a[role="button"],input:not([type="checkbox"]):not([type="radio"]),select){min-height:44px}
}

/* ========================================================================== 
   HARVEST UI V281 — final polish / text / navigation / responsive cleanup
   ========================================================================== */
:root{
  --v281-radius-sm:8px;
  --v281-radius-md:12px;
  --v281-radius-lg:18px;
  --v281-space:clamp(.65rem,1vw,.95rem);
}

/* Remove compatibility effects from pre-V200 collapsed sidebars. */
body.sidebar-collapsed:not(.sidebar-collapsed-v200) .app-sidebar-brand-copy-v200,
body.sidebar-collapsed:not(.sidebar-collapsed-v200) .app-sidebar-user-copy,
body.sidebar-collapsed:not(.sidebar-collapsed-v200) .app-role-dot,
body.sidebar-collapsed:not(.sidebar-collapsed-v200) .app-sidebar-link-label,
body.sidebar-collapsed:not(.sidebar-collapsed-v200) .app-sidebar-current-heading span:not(.app-sidebar-current-icon),
body.sidebar-collapsed:not(.sidebar-collapsed-v200) .app-sidebar-subgroup-toggle,
body.sidebar-collapsed:not(.sidebar-collapsed-v200) .app-sidebar-count{display:initial!important}
body.sidebar-collapsed:not(.sidebar-collapsed-v200) .app-sidebar-subgroup-toggle{display:flex!important}
body.sidebar-collapsed:not(.sidebar-collapsed-v200) .app-sidebar-link-v200,
body.sidebar-collapsed:not(.sidebar-collapsed-v200) .app-sidebar-child-link{justify-content:flex-start!important}

/* Sidebar: one logo only, readable labels, compact account utilities. */
.app-sidebar-user-clean{grid-template-columns:30px minmax(0,1fr) 8px!important}
.app-sidebar-user-clean .app-sidebar-user-mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#e9c858;flex:0 0 auto}
.app-sidebar-user-clean .app-sidebar-user-mark svg{width:15px;height:15px}
.app-sidebar-user-v200>img{display:none!important}
.app-sidebar-brand-copy-v200 strong{letter-spacing:-.01em}
.app-sidebar-current-heading{min-height:31px!important}
.app-sidebar-subgroup-toggle{min-height:34px!important;font-size:.69rem!important}
.app-sidebar-child-link{min-height:35px!important;font-size:.69rem!important}
.app-sidebar-child-link .app-sidebar-link-label{display:block!important;opacity:1!important;color:rgba(255,255,255,.88)!important}
.app-sidebar-footer-clean:before{content:"Account"!important}
.app-sidebar-footer-clean .app-sidebar-link-label{display:block!important}

@media(min-width:901px){
  body.sidebar-collapsed-v200 .app-sidebar-child-link .app-sidebar-link-label,
  body.sidebar-collapsed-v200 .app-sidebar-footer-clean .app-sidebar-link-label{display:none!important}
  body.sidebar-collapsed-v200 .app-sidebar-user-clean .app-sidebar-user-mark{margin:auto}
}
@media(max-width:900px){
  body.sidebar-collapsed-v200 .app-sidebar-child-link .app-sidebar-link-label,
  body.sidebar-collapsed-v200 .app-sidebar-footer-clean .app-sidebar-link-label{display:block!important}
}

/* Global typography/spacing: compact but readable. */
.app-main-v200 :where(h1,h2,h3){text-wrap:balance;letter-spacing:-.02em}
.app-main-v200 :where(p,li,dd,td){line-height:1.45}
.app-main-v200 :where(button,.app-btn-primary,.app-btn-outline){font-weight:750}
.app-main-v200 :where(.app-btn-primary,.app-btn-outline){border-radius:10px!important}
.app-main-v200 :where(.app-badge,.app-inline-badge){white-space:nowrap}
.app-main-v200 :where(.card,.panel,[class*="card"],[class*="panel"]){box-shadow:none}
.app-page-context-v200{margin-bottom:.6rem!important}

/* Dense tables: keep primary columns readable; do not let action buttons overflow. */
.app-main-v200 table{width:100%;border-collapse:separate;border-spacing:0}
.app-main-v200 th{font-size:.69rem!important;letter-spacing:.025em}
.app-main-v200 td{font-size:.76rem}
.app-main-v200 td:last-child,.app-main-v200 th:last-child{max-width:220px}
.sec-action-cell{min-width:190px!important;width:190px!important}
.sec-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}
.sec-row-actions form{margin:0;display:inline-flex}
.sec-row-actions .app-btn-outline,.sec-row-actions .app-btn-primary{min-height:34px!important;padding:.42rem .65rem!important;font-size:.7rem!important;white-space:nowrap}

/* Active Sessions: simplify information hierarchy and eliminate horizontal action overflow. */
#security-ops-v279{display:grid;gap:.8rem}
#security-ops-v279 .sec-hero{align-items:center!important}
#security-ops-v279 .sec-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}
#security-ops-v279 .sec-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}
#security-ops-v279 .sec-kpi{padding:.72rem .8rem;border-radius:14px}
#security-ops-v279 .sec-kpi strong{font-size:1.35rem!important}
#security-ops-v279 .sec-panel{border-radius:16px!important}
#security-ops-v279 .sec-panel-head{padding:.8rem .9rem}
#security-ops-v279 .sec-table-wrap{overflow-x:auto;overscroll-behavior-inline:contain}
#security-ops-v279 table{min-width:760px}
#security-ops-v279 table th:nth-child(1){width:25%}
#security-ops-v279 table th:nth-child(2){width:37%}
#security-ops-v279 table th:nth-child(3){width:15%}
#security-ops-v279 table th:nth-child(4){width:23%}
#security-ops-v279 table td{vertical-align:middle}
#security-ops-v279 .break-anywhere{overflow-wrap:anywhere}

/* Security controls: remove duplicate dashboard feel and keep only useful status summary. */
#dev-sec-page{max-width:1380px!important}
#dev-sec-page .dev-sec-hero{border-radius:18px!important;padding:18px 20px!important;box-shadow:none!important}
#dev-sec-page .dev-sec-kicker{font-size:.68rem!important}
#dev-sec-page h1{font-size:clamp(1.55rem,2vw,2.15rem)!important}
#dev-sec-page .dev-sec-top-actions .dev-sec-secondary{min-height:38px!important;padding:9px 13px!important;border-radius:10px!important;gap:7px}
#dev-sec-page .dev-sec-top-actions .dev-sec-secondary svg{width:15px;height:15px}
#dev-sec-page .dev-sec-summary-compact{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.65rem!important;margin-top:.75rem!important}
#dev-sec-page .dev-sec-summary-card{border-radius:14px!important;padding:12px 14px!important;box-shadow:none!important}
#dev-sec-page .dev-sec-summary-title{font-size:.67rem!important}
#dev-sec-page .dev-sec-summary-value{font-size:1rem!important}
#dev-sec-page .dev-sec-pill{padding:6px 9px!important;font-size:.67rem!important}
#dev-sec-page .dev-sec-layout{grid-template-columns:minmax(0,1.1fr) minmax(330px,.72fr)!important;gap:.85rem!important;margin-top:.85rem!important}
#dev-sec-page .dev-sec-left,#dev-sec-page .dev-sec-right{gap:.85rem!important}
#dev-sec-page .dev-sec-card{border-radius:16px!important;padding:16px!important;box-shadow:none!important}
#dev-sec-page .dev-sec-card-head{margin-bottom:12px!important}
#dev-sec-page h2{font-size:1.08rem!important}
#dev-sec-page .dev-sec-muted{font-size:.82rem;line-height:1.45!important}
#dev-sec-page .dev-sec-field{border-radius:12px!important;padding:12px!important}
#dev-sec-page .dev-sec-label{font-size:.76rem!important;margin-bottom:6px!important}
#dev-sec-page select,#dev-sec-page input,#dev-sec-page textarea{border-radius:9px!important;padding:9px 11px!important;font-size:.8rem!important}
#dev-sec-page textarea{min-height:110px!important}
#dev-sec-page .dev-sec-help{font-size:.7rem!important;line-height:1.45!important}
#dev-sec-page .dev-sec-maintenance-fields{grid-template-columns:1fr!important}
#dev-sec-page .dev-sec-reminder{border-radius:12px!important;padding:12px!important;font-size:.78rem!important;line-height:1.45!important}
#dev-sec-page .dev-sec-actions{border-radius:14px!important;padding:12px 14px!important;box-shadow:none!important;margin-top:.85rem!important}
#dev-sec-page .dev-sec-actions .dev-sec-primary{min-width:190px!important;min-height:38px!important;padding:9px 14px!important;border-radius:10px!important}

/* Real content resilience without vertical-letter wrapping. */
.app-main-v200 :where(.app-sidebar-link-label,.sec-kpi,.dev-sec-card,.dev-sec-field,.ui-card,.app-clean-row){min-width:0}
.app-main-v200 :where(p,small,span,strong,label,td,th){word-break:normal!important;overflow-wrap:break-word!important}
.app-main-v200 :where(code,.break-anywhere,[data-break-anywhere]){overflow-wrap:anywhere!important}

/* Tablet/mobile: content-first, predictable stacking. */
@media(max-width:1180px){
  #dev-sec-page .dev-sec-layout{grid-template-columns:1fr!important}
  #dev-sec-page .dev-sec-summary-compact{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #security-ops-v279 .sec-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .app-page-context-v200{display:none!important}
  #dev-sec-page .dev-sec-summary-compact{grid-template-columns:1fr!important}
  #dev-sec-page .dev-sec-hero{padding:14px!important}
  #dev-sec-page .dev-sec-card{padding:13px!important}
  #security-ops-v279 .sec-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #security-ops-v279 table{min-width:0!important;display:block}
  #security-ops-v279 table thead{display:none}
  #security-ops-v279 table tbody,#security-ops-v279 table tr,#security-ops-v279 table td{display:block;width:100%!important;max-width:none!important}
  #security-ops-v279 table tr{border-bottom:1px solid #e5ece7;padding:.75rem}
  #security-ops-v279 table td{border:0!important;padding:.25rem 0!important}
  #security-ops-v279 table td:nth-child(2){color:#607067;font-size:.72rem}
  #security-ops-v279 table td:nth-child(3){font-weight:700}
  #security-ops-v279 .sec-action-cell{min-width:0!important}
  #security-ops-v279 .sec-row-actions{justify-content:flex-start;margin-top:.35rem}
}
@media(max-width:430px){
  #security-ops-v279 .sec-kpis{grid-template-columns:1fr!important}
  .sec-row-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .sec-row-actions form,.sec-row-actions button{width:100%}
}


/* V282 FINAL RESPONSIVE CONTROL + SESSION TABLE HARDENING
   Prevent action buttons, status chips, and dense controls from overlapping. */
:root{
  --v282-control-h:2.45rem;
  --v282-control-radius:.78rem;
}

/* Shared button sizing: text must remain inside the control, never collide with siblings. */
.app-btn-primary,
.app-btn-outline,
.app-btn-secondary,
button.app-btn-primary,
button.app-btn-outline,
a.app-btn-primary,
a.app-btn-outline{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.42rem!important;
  min-height:var(--v282-control-h)!important;
  height:auto!important;
  max-width:100%!important;
  padding:.58rem .82rem!important;
  border-radius:var(--v282-control-radius)!important;
  line-height:1.18!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  box-sizing:border-box!important;
}
.app-btn-primary svg,.app-btn-outline svg,.app-btn-secondary svg{flex:0 0 auto!important;width:1rem!important;height:1rem!important;}

/* Generic action groups across data-heavy pages. */
.table-actions,.app-action-row,.user-card-actions,.sec-row-actions{
  display:flex!important;
  align-items:center!important;
  gap:.45rem!important;
  flex-wrap:wrap!important;
  min-width:0!important;
  max-width:100%!important;
}
.table-actions form,.app-action-row form,.user-card-actions form,.sec-row-actions form{margin:0!important;min-width:0!important;}
.table-actions > *, .app-action-row > *, .user-card-actions > *, .sec-row-actions > *{max-width:100%!important;}

/* Sessions & Login Activity: deterministic desktop columns. */
#security-ops-v279 .sec-table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:visible!important;}
#security-ops-v279 .sec-session-table{width:100%!important;min-width:860px!important;table-layout:fixed!important;border-collapse:collapse!important;}
#security-ops-v279 .sec-session-table .sec-col-user{width:24%!important;}
#security-ops-v279 .sec-session-table .sec-col-session{width:38%!important;}
#security-ops-v279 .sec-session-table .sec-col-active{width:14%!important;}
#security-ops-v279 .sec-session-table .sec-col-actions{width:24%!important;}
#security-ops-v279 .sec-session-table th,
#security-ops-v279 .sec-session-table td{vertical-align:middle!important;min-width:0!important;overflow-wrap:break-word!important;word-break:normal!important;}
#security-ops-v279 .sec-session-table td:nth-child(1),
#security-ops-v279 .sec-session-table td:nth-child(2){white-space:normal!important;}
#security-ops-v279 .sec-session-table td:nth-child(3){white-space:nowrap!important;text-align:center!important;}
#security-ops-v279 .sec-session-table th:last-child{text-align:center!important;}
#security-ops-v279 .sec-session-table .sec-action-cell{width:auto!important;min-width:0!important;padding-inline:.7rem!important;}
#security-ops-v279 .sec-session-table .sec-row-actions{justify-content:center!important;flex-wrap:nowrap!important;width:100%!important;}
#security-ops-v279 .sec-session-table .sec-row-actions form{flex:1 1 0!important;min-width:0!important;}
#security-ops-v279 .sec-session-table .sec-row-actions button{width:100%!important;min-width:0!important;max-width:100%!important;font-size:.72rem!important;padding:.5rem .58rem!important;}

/* Cards/panels: no status chip is allowed to overlap headings or descriptions. */
.sec-panel-head,.dev-sec-card-head,.ui-card-head,.app-clean-row,.app-card-head{
  min-width:0!important;
}
.sec-panel-head > *, .dev-sec-card-head > *, .ui-card-head > *, .app-card-head > *{min-width:0!important;}
.app-badge,.dev-sec-pill,.app-inline-badge{
  flex:0 0 auto!important;
  max-width:100%!important;
  white-space:nowrap!important;
}

/* Medium laptop: let dense controls wrap before they collide. */
@media (max-width:1180px){
  #security-ops-v279 .sec-session-table{min-width:820px!important;}
  #security-ops-v279 .sec-session-table .sec-col-user{width:23%!important;}
  #security-ops-v279 .sec-session-table .sec-col-session{width:35%!important;}
  #security-ops-v279 .sec-session-table .sec-col-active{width:15%!important;}
  #security-ops-v279 .sec-session-table .sec-col-actions{width:27%!important;}
  #security-ops-v279 .sec-session-table .sec-row-actions{gap:.32rem!important;}
  #security-ops-v279 .sec-session-table .sec-row-actions button{font-size:.68rem!important;padding:.46rem .48rem!important;}
}

/* Tablet/mobile: turn the session table into clean cards instead of a squeezed table. */
@media (max-width:900px){
  #security-ops-v279 .sec-session-table{min-width:0!important;width:100%!important;table-layout:auto!important;}
  #security-ops-v279 .sec-session-table colgroup,
  #security-ops-v279 .sec-session-table thead{display:none!important;}
  #security-ops-v279 .sec-session-table tbody,
  #security-ops-v279 .sec-session-table tr,
  #security-ops-v279 .sec-session-table td{display:block!important;width:100%!important;max-width:100%!important;}
  #security-ops-v279 .sec-session-table tr{border:1px solid var(--v279-border)!important;border-radius:1rem!important;margin:.7rem 0!important;padding:.72rem!important;background:#fff!important;}
  #security-ops-v279 .sec-session-table td{padding:.42rem .22rem!important;border:0!important;text-align:left!important;white-space:normal!important;}
  #security-ops-v279 .sec-session-table td:nth-child(1)::before{content:'User';}
  #security-ops-v279 .sec-session-table td:nth-child(2)::before{content:'Session';}
  #security-ops-v279 .sec-session-table td:nth-child(3)::before{content:'Last active';}
  #security-ops-v279 .sec-session-table td:nth-child(4)::before{content:'Actions';}
  #security-ops-v279 .sec-session-table td::before{display:block!important;margin-bottom:.2rem!important;font-size:.67rem!important;font-weight:900!important;letter-spacing:.055em!important;text-transform:uppercase!important;color:var(--v279-muted)!important;}
  #security-ops-v279 .sec-session-table .sec-row-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.5rem!important;justify-content:stretch!important;}
  #security-ops-v279 .sec-session-table .sec-row-actions form,
  #security-ops-v279 .sec-session-table .sec-row-actions button{width:100%!important;}
}

@media (max-width:520px){
  .app-btn-primary,.app-btn-outline,.app-btn-secondary{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
  #security-ops-v279 .sec-session-table .sec-row-actions{grid-template-columns:1fr!important;}
  .sec-panel-head,.dev-sec-card-head,.ui-card-head,.app-card-head{align-items:flex-start!important;flex-wrap:wrap!important;}
  .sec-panel-head .app-badge,.dev-sec-card-head .dev-sec-pill{margin-left:0!important;}
}

/* Global content resilience: never produce letter-by-letter vertical text. */
.app-main-v200 :where(h1,h2,h3,h4,p,small,label,strong,span,a,button,td,th){
  writing-mode:horizontal-tb!important;
  word-break:normal!important;
}
.app-main-v200 :where(.break-anywhere,[data-long-text]){overflow-wrap:anywhere!important;word-break:normal!important;}

/* Prevent huge empty buttons/controls and force consistent form widths. */
.app-main-v200 :where(input,select,textarea,button){box-sizing:border-box!important;max-width:100%!important;}
.app-main-v200 :where(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;}

/* =========================================================
   V283 — PROGRAM WORKSPACES + FINAL LAYOUT HARDENING
   ========================================================= */

/* Program selector */
.program-picker-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:clamp(1rem,2vw,1.35rem);border:1px solid #dfe8e2;border-radius:18px;background:#fff;box-shadow:0 6px 22px rgba(24,59,41,.04)}
.program-picker-hero>div{min-width:0;max-width:780px}.program-picker-kicker{font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#28734d}.program-picker-hero h1{margin:.25rem 0 .35rem!important;font-size:clamp(1.5rem,2.5vw,2.15rem)!important;color:#173d2b!important}.program-picker-hero p{margin:0;color:#6c7b72;line-height:1.5;font-size:.86rem}.program-picker-role{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .7rem;border-radius:999px;background:#eef7f1;color:#256d46;font-size:.72rem;font-weight:800;white-space:nowrap}.program-picker-role svg{width:15px;height:15px}
.program-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:.9rem}.program-picker-card{display:flex;flex-direction:column;min-width:0;min-height:245px;padding:1rem;border:1px solid #dfe8e2;border-radius:16px;background:#fff;color:#22382b!important;text-decoration:none!important;box-shadow:0 5px 18px rgba(24,59,41,.035);transition:.16s}.program-picker-card:hover{transform:translateY(-2px);border-color:#a9c9b4;box-shadow:0 10px 25px rgba(24,59,41,.07)}.program-picker-card.is-current{border-color:#d4b64e;box-shadow:inset 0 0 0 1px #e5cd79}.program-picker-card-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.program-picker-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#edf6f0;color:#267048}.program-picker-icon svg{width:19px;height:19px}.program-picker-current{padding:.32rem .5rem;border-radius:999px;background:#fff6d9;color:#795e14;font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.program-picker-card h2{margin:.8rem 0 .3rem!important;font-size:1rem!important;color:#193e2c!important}.program-picker-card p{margin:0;min-height:3.2em;font-size:.75rem;line-height:1.45;color:#728078}.program-picker-stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:auto;padding-top:.85rem}.program-picker-stats>span{display:grid;gap:.15rem;padding:.65rem;border-radius:10px;background:#f6f9f7}.program-picker-stats small{font-size:.62rem;color:#7b8980}.program-picker-stats strong{font-size:1.15rem;color:#236943;font-variant-numeric:tabular-nums}.program-picker-open{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.65rem;font-size:.72rem;font-weight:850;color:#286e49}.program-picker-open svg{width:14px;height:14px}.program-picker-empty{margin-top:.9rem;padding:2rem 1rem;text-align:center;border:1px dashed #cfdcd3;border-radius:16px;background:#fbfcfb}.program-picker-empty>svg{width:34px;height:34px;color:#5d7868}.program-picker-empty h2{font-size:1.1rem!important;margin:.6rem 0 .25rem!important}.program-picker-empty p{max-width:620px;margin:0 auto .8rem;color:#748078;font-size:.8rem;line-height:1.5}

/* V283 permissions editor — deterministic, no squeeze/vertical text */
.permissions-v283{display:grid;gap:.8rem;min-width:0}.permissions-v283-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border:1px solid #dfe8e2;border-radius:16px;background:#fff}.permissions-v283-hero>div{min-width:0;max-width:820px}.permissions-v283-kicker{font-size:.66rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#2b744c}.permissions-v283-hero h1{margin:.2rem 0 .25rem!important;font-size:1.55rem!important;color:#173d2b!important}.permissions-v283-hero p{margin:0;font-size:.8rem;line-height:1.45;color:#718078}.permissions-v283-protected{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem .9rem;border:1px solid #cfe1d4;border-radius:14px;background:#f6fbf7}.permissions-v283-protected-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#e6f4e9;color:#276c46}.permissions-v283-protected strong{display:block;font-size:.9rem;color:#1c432f}.permissions-v283-protected p{margin:.12rem 0 0;font-size:.72rem;color:#708078}.permissions-v283-badge{padding:.38rem .55rem;border-radius:999px;background:#e8f5eb;color:#266b45;font-size:.65rem;font-weight:900;white-space:nowrap}.permissions-v283-form{display:grid;gap:.7rem;min-width:0}.permissions-v283-role{min-width:0;border:1px solid #dfe8e2;border-radius:15px;background:#fff;overflow:hidden}.permissions-v283-role>summary{list-style:none;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:.7rem;min-width:0;padding:.8rem .9rem;cursor:pointer;background:#f8faf8}.permissions-v283-role>summary::-webkit-details-marker{display:none}.permissions-v283-role-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#edf5ef;color:#28714a}.permissions-v283-role-copy{display:grid;min-width:0}.permissions-v283-role-copy strong{font-size:.88rem;color:#1d432f}.permissions-v283-role-copy small{margin-top:.12rem;font-size:.69rem;line-height:1.35;color:#75827a;white-space:normal}.permissions-v283-summary-meta{display:flex;align-items:center;gap:.55rem;font-size:.65rem;font-weight:800;color:#63736a;white-space:nowrap}.permissions-v283-summary-meta i{transition:.18s}.permissions-v283-role[open] .permissions-v283-summary-meta i{transform:rotate(180deg)}.permissions-v283-role-body{padding:.75rem;display:grid;gap:.6rem}.permissions-v283-role-tools{display:flex;justify-content:flex-end;gap:.4rem}.permissions-v283-mini,.permissions-v283-module-tools button{border:1px solid #d9e4dc;background:#fff;color:#456055;border-radius:8px;padding:.38rem .55rem;font-size:.65rem;font-weight:800;cursor:pointer}.permissions-v283-mini:hover,.permissions-v283-module-tools button:hover{background:#f3f8f4}.permissions-v283-mini.is-clear{color:#8a5e1c}.permissions-v283-module{display:grid;grid-template-columns:minmax(155px,190px) minmax(0,1fr);align-items:center;gap:.75rem;min-width:0;padding:.7rem;border:1px solid #e5ece7;border-radius:12px;background:#fcfdfc}.permissions-v283-module-head{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:.55rem;min-width:0}.permissions-v283-module-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#eef5f0;color:#2b704b}.permissions-v283-module-head>div{min-width:0}.permissions-v283-module-head strong{display:block;font-size:.76rem;color:#224333}.permissions-v283-module-head small{display:block;margin-top:.08rem;font-size:.62rem;color:#839087}.permissions-v283-module-tools{grid-column:1/-1;display:flex;gap:.3rem;margin-top:.25rem}.permissions-v283-actions{display:grid;grid-template-columns:repeat(5,minmax(86px,1fr));gap:.42rem;min-width:0}.permissions-v283-toggle{position:relative;display:flex;align-items:center;gap:.4rem;min-width:0;min-height:34px;padding:.42rem .48rem;border:1px solid #dfe7e1;border-radius:9px;background:#fff;color:#56675e;font-size:.66rem;font-weight:800;line-height:1.1;cursor:pointer;overflow:hidden}.permissions-v283-toggle input{position:absolute;opacity:0;pointer-events:none}.permissions-v283-check{display:grid;place-items:center;flex:0 0 15px;width:15px;height:15px;border:1px solid #b9c8be;border-radius:4px;background:#fff;color:transparent}.permissions-v283-toggle.is-on{border-color:#b9d6c0;background:#eef8f0;color:#245e3e}.permissions-v283-toggle.is-on .permissions-v283-check{border-color:#2b754c;background:#2b754c;color:#fff}.permissions-v283-toggle>span:last-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.permissions-v283-savebar{position:sticky;bottom:.5rem;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.65rem .75rem;border:1px solid #d8e4db;border-radius:12px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);box-shadow:0 8px 22px rgba(24,59,41,.08)}.permissions-v283-savebar>span{font-size:.7rem;color:#738078}.permissions-v283-savebar .app-btn-primary{min-width:150px!important}

/* Program assignment helper copy */
.taskforce-scope-panel .taskforce-scope-head p{max-width:760px!important}.taskforce-scope-program span{overflow-wrap:break-word!important}.taskforce-scope-card{height:auto!important}

/* System-wide anti-collapse rules. These fix the family of vertical-letter/grid bugs. */
.app-main-v200 :where(section,article,form,fieldset,details,summary,div,nav,aside,header,footer){min-width:0}
.app-main-v200 :where(h1,h2,h3,h4,h5,h6,p,small,strong,em,label,a,button,td,th,span){word-break:normal!important;writing-mode:horizontal-tb!important}
.app-main-v200 :where(p,small,label,td,th){overflow-wrap:break-word!important}
.app-main-v200 :where(code,.break-anywhere,[data-long-text],a[href^="mailto:"]){overflow-wrap:anywhere!important}
.app-main-v200 :where(.grid,[class*="-grid"],[class*="-row"],[class*="-panel"],[class*="-card"])>*{min-width:0}
.app-main-v200 :where(button,a.app-btn-primary,a.app-btn-outline){max-width:100%!important}
.app-main-v200 table :where(td,th)>*{max-width:100%}

@media(max-width:1180px){.program-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.permissions-v283-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.program-picker-hero,.permissions-v283-hero{align-items:stretch;flex-direction:column}.permissions-v283-module{grid-template-columns:1fr}.permissions-v283-module-tools{grid-column:auto}.permissions-v283-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.permissions-v283-savebar{position:static}}
@media(max-width:640px){.program-picker-grid{grid-template-columns:1fr}.program-picker-card{min-height:0}.program-picker-stats{grid-template-columns:1fr 1fr}.permissions-v283-role>summary{grid-template-columns:32px minmax(0,1fr)}.permissions-v283-summary-meta{grid-column:2;justify-content:space-between}.permissions-v283-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.permissions-v283-role-body{padding:.6rem}.permissions-v283-module{padding:.6rem}.permissions-v283-savebar{align-items:stretch;flex-direction:column}.permissions-v283-savebar .app-btn-primary{width:100%;min-width:0!important}}
@media(max-width:390px){.permissions-v283-actions{grid-template-columns:1fr}.program-picker-stats{grid-template-columns:1fr}.permissions-v283-toggle>span:last-child{white-space:normal}.permissions-v283-protected{grid-template-columns:34px minmax(0,1fr)}.permissions-v283-badge{grid-column:2;width:max-content}}

/* ========================================================================
   V284 MODULE PERMISSIONS + SYSTEM ANTI-COLLAPSE FINALIZATION
   Deterministic full-width layout. No legacy details/grid interactions.
   ======================================================================== */
#permissions-v284,
#permissions-v284 *{box-sizing:border-box}
#permissions-v284{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;color:#213b2c}
#permissions-v284 .permissions-v284-hero{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:1rem!important;width:100%!important;min-width:0!important;padding:1rem 1.1rem!important;margin:0 0 .8rem!important;border:1px solid #dce7df!important;border-radius:15px!important;background:#fff!important}
#permissions-v284 .permissions-v284-hero-copy{flex:1 1 auto!important;min-width:0!important;max-width:820px!important}
#permissions-v284 .permissions-v284-kicker{display:block!important;margin:0 0 .2rem!important;font-size:.65rem!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#28734b!important}
#permissions-v284 h1{margin:0 0 .25rem!important;font-size:clamp(1.35rem,2vw,1.7rem)!important;line-height:1.1!important;color:#183e2b!important}
#permissions-v284 .permissions-v284-hero p{margin:0!important;font-size:.79rem!important;line-height:1.45!important;color:#6f7f76!important;overflow-wrap:break-word!important}
#permissions-v284 .permissions-v284-users-link{flex:0 0 auto!important;max-width:230px!important}
#permissions-v284 .permissions-v284-protected{display:grid!important;grid-template-columns:36px minmax(0,1fr) auto!important;align-items:center!important;gap:.7rem!important;width:100%!important;min-width:0!important;padding:.72rem .85rem!important;margin:0 0 .8rem!important;border:1px solid #cfe1d4!important;border-radius:13px!important;background:#f6fbf7!important}
#permissions-v284 .permissions-v284-protected-icon{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:9px!important;background:#e8f4eb!important;color:#28704a!important}
#permissions-v284 .permissions-v284-protected-copy{min-width:0!important}
#permissions-v284 .permissions-v284-protected-copy strong{display:block!important;font-size:.84rem!important;color:#1e4631!important}
#permissions-v284 .permissions-v284-protected-copy small{display:block!important;margin-top:.1rem!important;font-size:.7rem!important;line-height:1.35!important;color:#718078!important;white-space:normal!important;overflow-wrap:break-word!important}
#permissions-v284 .permissions-v284-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:28px!important;padding:.32rem .52rem!important;border-radius:999px!important;background:#e9f5ec!important;color:#266c46!important;font-size:.64rem!important;font-weight:900!important;white-space:nowrap!important}
#permissions-v284 .permissions-v284-form{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
#permissions-v284 .permissions-v284-role{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0 0 .8rem!important;padding:0!important;border:1px solid #dfe8e2!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important}
#permissions-v284 .permissions-v284-role-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.85rem!important;width:100%!important;min-width:0!important;padding:.8rem .9rem!important;background:#f8faf8!important;border-bottom:1px solid #e7eee9!important}
#permissions-v284 .permissions-v284-role-title{display:flex!important;align-items:center!important;gap:.65rem!important;flex:1 1 auto!important;min-width:0!important}
#permissions-v284 .permissions-v284-role-icon{display:grid!important;place-items:center!important;flex:0 0 32px!important;width:32px!important;height:32px!important;border-radius:9px!important;background:#edf5ef!important;color:#28714a!important}
#permissions-v284 .permissions-v284-role-title>div{min-width:0!important}
#permissions-v284 .permissions-v284-role-title h2{margin:0!important;font-size:.9rem!important;line-height:1.2!important;color:#1d432f!important}
#permissions-v284 .permissions-v284-role-title p{margin:.14rem 0 0!important;max-width:700px!important;font-size:.69rem!important;line-height:1.4!important;color:#76837b!important;white-space:normal!important;overflow-wrap:break-word!important}
#permissions-v284 .permissions-v284-role-controls{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:.4rem!important;flex:0 0 auto!important;min-width:0!important}
#permissions-v284 .permissions-v284-count{font-size:.65rem!important;font-weight:850!important;color:#607168!important;white-space:nowrap!important}
#permissions-v284 .permissions-v284-mini,
#permissions-v284 .permissions-v284-module-tools button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:32px!important;height:auto!important;min-width:0!important;max-width:100%!important;padding:.4rem .58rem!important;border:1px solid #d8e4db!important;border-radius:8px!important;background:#fff!important;color:#456055!important;font-size:.65rem!important;font-weight:850!important;line-height:1.1!important;white-space:nowrap!important;cursor:pointer!important}
#permissions-v284 .permissions-v284-mini.is-clear{color:#8b611e!important}
#permissions-v284 .permissions-v284-modules{display:block!important;width:100%!important;min-width:0!important;padding:.7rem!important}
#permissions-v284 .permissions-v284-module{display:grid!important;grid-template-columns:minmax(170px,210px) minmax(0,1fr)!important;align-items:center!important;gap:.75rem!important;width:100%!important;min-width:0!important;margin:0 0 .55rem!important;padding:.68rem!important;border:1px solid #e4ece6!important;border-radius:11px!important;background:#fcfdfc!important}
#permissions-v284 .permissions-v284-module:last-child{margin-bottom:0!important}
#permissions-v284 .permissions-v284-module-head{display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;align-items:center!important;gap:.5rem!important;min-width:0!important}
#permissions-v284 .permissions-v284-module-icon{display:grid!important;place-items:center!important;width:29px!important;height:29px!important;border-radius:8px!important;background:#eef5f0!important;color:#2b704b!important}
#permissions-v284 .permissions-v284-module-copy{min-width:0!important}
#permissions-v284 .permissions-v284-module-copy strong{display:block!important;font-size:.75rem!important;color:#224333!important;white-space:normal!important;overflow-wrap:break-word!important}
#permissions-v284 .permissions-v284-module-copy small{display:block!important;margin-top:.07rem!important;font-size:.61rem!important;color:#839087!important;white-space:normal!important}
#permissions-v284 .permissions-v284-module-tools{grid-column:1/-1!important;display:flex!important;align-items:center!important;gap:.3rem!important;margin-top:.2rem!important;min-width:0!important}
#permissions-v284 .permissions-v284-actions{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:.4rem!important;width:100%!important;min-width:0!important}
#permissions-v284 .permissions-v284-toggle{position:relative!important;display:flex!important;align-items:center!important;gap:.38rem!important;width:100%!important;min-width:0!important;min-height:34px!important;height:auto!important;padding:.42rem .46rem!important;border:1px solid #dfe7e1!important;border-radius:8px!important;background:#fff!important;color:#56675e!important;font-size:.65rem!important;font-weight:800!important;line-height:1.1!important;cursor:pointer!important;overflow:hidden!important}
#permissions-v284 .permissions-v284-toggle input{position:absolute!important;opacity:0!important;pointer-events:none!important}
#permissions-v284 .permissions-v284-check{display:grid!important;place-items:center!important;flex:0 0 15px!important;width:15px!important;height:15px!important;border:1px solid #b9c8be!important;border-radius:4px!important;background:#fff!important;color:transparent!important}
#permissions-v284 .permissions-v284-action-label{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;writing-mode:horizontal-tb!important;word-break:normal!important}
#permissions-v284 .permissions-v284-toggle.is-on{border-color:#b8d7c0!important;background:#eef8f0!important;color:#245e3e!important}
#permissions-v284 .permissions-v284-toggle.is-on .permissions-v284-check{border-color:#2b754c!important;background:#2b754c!important;color:#fff!important}
#permissions-v284 .permissions-v284-savebar{position:sticky!important;bottom:.5rem!important;z-index:15!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.8rem!important;width:100%!important;min-width:0!important;margin:.8rem 0 0!important;padding:.65rem .75rem!important;border:1px solid #d8e4db!important;border-radius:12px!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(8px)!important;box-shadow:0 8px 22px rgba(24,59,41,.08)!important}
#permissions-v284 .permissions-v284-savebar>span{min-width:0!important;font-size:.7rem!important;color:#738078!important;overflow-wrap:break-word!important}
#permissions-v284 .permissions-v284-savebar .app-btn-primary{flex:0 0 auto!important;min-width:150px!important;max-width:220px!important}

/* One final global safeguard for any management form/card that receives real long content. */
.app-main-v200 :where(.app-card,.ui-card,.app-clean-card,.user-card,.taskforce-scope-card,.sec-panel,.dev-sec-card,fieldset,form)>*{min-width:0!important}
.app-main-v200 :where(.app-card,.ui-card,.app-clean-card,.user-card,.taskforce-scope-card,.sec-panel,.dev-sec-card) :where(h1,h2,h3,h4,p,small,strong,label,span){writing-mode:horizontal-tb!important;word-break:normal!important}
.app-main-v200 :where(p,small,label,.break-anywhere,[data-long-text]){overflow-wrap:break-word!important}

@media(max-width:1180px){
  #permissions-v284 .permissions-v284-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #permissions-v284 .permissions-v284-role-head{align-items:flex-start!important}
  #permissions-v284 .permissions-v284-role-controls{flex-wrap:wrap!important}
}
@media(max-width:820px){
  #permissions-v284 .permissions-v284-hero{align-items:stretch!important;flex-direction:column!important}
  #permissions-v284 .permissions-v284-users-link{width:100%!important;max-width:none!important}
  #permissions-v284 .permissions-v284-role-head{align-items:stretch!important;flex-direction:column!important}
  #permissions-v284 .permissions-v284-role-controls{justify-content:flex-start!important}
  #permissions-v284 .permissions-v284-module{grid-template-columns:1fr!important}
  #permissions-v284 .permissions-v284-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #permissions-v284 .permissions-v284-savebar{position:static!important}
}
@media(max-width:640px){
  #permissions-v284 .permissions-v284-protected{grid-template-columns:34px minmax(0,1fr)!important}
  #permissions-v284 .permissions-v284-badge{grid-column:2!important;width:max-content!important;max-width:100%!important}
  #permissions-v284 .permissions-v284-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #permissions-v284 .permissions-v284-role-controls{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  #permissions-v284 .permissions-v284-count{grid-column:1/-1!important}
  #permissions-v284 .permissions-v284-mini{width:100%!important}
  #permissions-v284 .permissions-v284-savebar{align-items:stretch!important;flex-direction:column!important}
  #permissions-v284 .permissions-v284-savebar .app-btn-primary{width:100%!important;max-width:none!important;min-width:0!important}
}
@media(max-width:390px){
  #permissions-v284 .permissions-v284-actions{grid-template-columns:1fr!important}
  #permissions-v284 .permissions-v284-action-label{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
}

/* ============================================================
   V285 — Task Force program scope + management form final layout
   ============================================================ */
.harvest-users-page .taskforce-scope-details,
.harvest-users-page .taskforce-scope-details > form,
.harvest-users-page .taskforce-scope-panel-v285{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.harvest-users-page .taskforce-scope-details > form{display:block!important;}
.taskforce-scope-panel-v285{
  display:block!important;
  padding:clamp(.85rem,1.25vw,1.1rem)!important;
  border-radius:16px!important;
  overflow:visible!important;
}
.taskforce-scope-head-copy{min-width:0;max-width:920px}
.taskforce-scope-head-copy h3{font-size:clamp(.95rem,1.25vw,1.08rem)!important;line-height:1.25!important}
.taskforce-scope-head-copy p{max-width:820px!important;font-size:.76rem!important;line-height:1.5!important}
.taskforce-scope-section-label{margin-top:.9rem;font-size:.66rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#728178}
.taskforce-programs-label{margin-top:1.05rem}
.taskforce-scope-capabilities{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:.45rem!important;margin-top:.45rem!important}
.taskforce-capability-toggle{display:flex!important;align-items:center!important;gap:.45rem!important;min-width:0!important;min-height:38px!important;padding:.48rem .6rem!important;border:1px solid #dbe6df!important;border-radius:10px!important;background:#fff!important;color:#355846!important;font-size:.72rem!important;font-weight:850!important;white-space:nowrap!important}
.taskforce-capability-toggle input{flex:0 0 auto!important}
.taskforce-scope-grid-v285{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.7rem!important;width:100%!important;min-width:0!important;margin-top:.55rem!important;align-items:start!important}
.taskforce-scope-card-v285{display:block!important;min-width:0!important;width:100%!important;padding:.8rem!important;border:1px solid #dfe8e2!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important}
.taskforce-scope-card-v285.is-selected{border-color:#b8d5c1!important;background:#f8fcf9!important;box-shadow:inset 3px 0 0 #2b754c!important}
.taskforce-scope-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;min-width:0}
.taskforce-scope-card-head .taskforce-scope-program{min-width:0;flex:1 1 auto}
.taskforce-scope-card-head .taskforce-scope-program span{font-size:.84rem!important;line-height:1.3!important;white-space:normal!important;overflow-wrap:break-word!important}
.taskforce-scope-summary{flex:0 0 auto;max-width:46%;padding:.3rem .45rem;border-radius:999px;background:#f2f7f3;color:#557163;font-size:.6rem;font-weight:850;line-height:1.15;text-align:center;white-space:normal}
.taskforce-scope-desc{margin:.38rem 0 0!important;font-size:.68rem!important;line-height:1.42!important;color:#728078!important;min-height:2.7em}
.taskforce-subscope{margin-top:.65rem;border-top:1px solid #edf1ee;padding-top:.55rem;min-width:0!important}
.taskforce-subscope>summary{list-style:none;display:grid!important;grid-template-columns:minmax(0,1fr) auto 15px;align-items:center;gap:.4rem;cursor:pointer;color:#315c45;font-size:.7rem;font-weight:850;min-width:0}
.taskforce-subscope>summary::-webkit-details-marker{display:none}
.taskforce-subscope>summary small{font-size:.59rem;font-weight:700;color:#8a978f;white-space:nowrap}
.taskforce-subscope>summary svg{width:14px;height:14px;transition:.18s}
.taskforce-subscope[open]>summary svg{transform:rotate(180deg)}
.taskforce-subscope-body{display:grid;gap:.5rem;margin-top:.55rem;min-width:0}
.taskforce-scope-all-v285{display:flex!important;align-items:center!important;gap:.45rem!important;width:max-content!important;max-width:100%!important;min-height:34px!important;border-radius:9px!important;padding:.4rem .52rem!important;font-size:.68rem!important}
.taskforce-scope-items-v285{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.38rem!important;margin-top:0!important;min-width:0!important}
.taskforce-scope-items-v285 label{display:flex!important;align-items:flex-start!important;gap:.42rem!important;min-width:0!important;min-height:34px!important;padding:.42rem .5rem!important;border:1px solid #e3eae5!important;border-radius:9px!important;background:#fbfcfb!important;font-size:.66rem!important;line-height:1.3!important;color:#385846!important;white-space:normal!important}
.taskforce-scope-items-v285 label span{min-width:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:break-word!important}
.taskforce-scope-items-v285 input:disabled + span{opacity:.55}

/* General management-layout safeguards: stop half-width/vertical-collapse regressions. */
.app-main-v200 :where(details,form,fieldset,.harvest-users-panel,.user-card,.taskforce-scope-panel,.taskforce-scope-card){min-width:0;max-width:100%;box-sizing:border-box}
.app-main-v200 :where(details,form,fieldset) :where(h1,h2,h3,h4,p,label,span,strong,small){writing-mode:horizontal-tb;word-break:normal}
.app-main-v200 :where(.grid,.flex)>*{min-width:0}
.app-main-v200 :where(input,select,textarea,button,a){max-width:100%;box-sizing:border-box}

@media (max-width:1280px){
  .taskforce-scope-grid-v285{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .taskforce-scope-capabilities{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:820px){
  .taskforce-scope-grid-v285{grid-template-columns:1fr!important}
  .taskforce-scope-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .taskforce-scope-desc{min-height:0}
}
@media (max-width:520px){
  .taskforce-scope-panel-v285{padding:.72rem!important;border-radius:12px!important}
  .taskforce-scope-capabilities{grid-template-columns:1fr 1fr!important;gap:.36rem!important}
  .taskforce-capability-toggle{min-height:36px!important;font-size:.68rem!important;padding:.4rem .48rem!important}
  .taskforce-scope-card-v285{padding:.68rem!important;border-radius:11px!important}
  .taskforce-scope-card-head{display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem}
  .taskforce-scope-summary{max-width:100%;width:max-content}
  .taskforce-scope-items-v285{grid-template-columns:1fr!important}
}


/* =============================================================
   V308 — Responsive UI consistency + report builder repair
   Prevents narrow card columns from breaking words vertically and
   standardizes dense option/KPI/filter layouts across HARVEST.
   ============================================================= */
.app-main-v200 :where(label,button,.app-btn-primary,.app-btn-outline,[role="button"]) :where(span,strong,small),
.app-main-v200 :where(label,button,.app-btn-primary,.app-btn-outline,[role="button"]) {
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.app-main-v200 :where(.app-btn-primary,.app-btn-outline,button){line-height:1.25!important;text-align:center!important;}

.app-report-builder-form-v308{display:block!important;width:100%!important;min-width:0!important;}
.app-report-options-grid-v308{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  gap:.75rem!important;
  width:100%!important;
  min-width:0!important;
}
.app-report-option-v308{
  display:flex!important;
  align-items:center!important;
  gap:.7rem!important;
  width:100%!important;
  min-width:0!important;
  min-height:52px!important;
  padding:.78rem .9rem!important;
  border:1px solid #dfe7e1!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#254333!important;
  font-size:.8rem!important;
  font-weight:800!important;
  line-height:1.25!important;
  box-shadow:0 3px 10px rgba(25,62,42,.035)!important;
  cursor:pointer!important;
}
.app-report-option-v308:hover{border-color:#a9c8b2!important;background:#f8fcf9!important;}
.app-report-option-v308 input[type="checkbox"]{flex:0 0 auto!important;width:17px!important;height:17px!important;accent-color:#168353!important;}
.app-report-option-v308 span{min-width:0!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
.app-report-actions-v308{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:.7rem!important;
  width:100%!important;
  margin-top:1rem!important;
}
.app-report-actions-v308 :where(a,button){display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:44px!important;white-space:normal!important;}

.app-kpi-grid-v308{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:1rem!important;
  width:100%!important;
  min-width:0!important;
}
.app-kpi-grid-v308>*{min-width:0!important;}
.app-kpi-grid-v308 :where(.text-sm,.text-xs,strong,span,div){word-break:normal;overflow-wrap:break-word;}

.app-responsive-filter-grid-v308{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
  gap:.75rem!important;
  width:100%!important;
  min-width:0!important;
}
.app-responsive-filter-grid-v308>*{width:100%!important;min-width:0!important;}
.app-responsive-filter-grid-v308 :where(input,select,button,a){width:100%!important;min-width:0!important;}

.app-mini-stat-grid-v308{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(74px,1fr))!important;
  gap:.45rem!important;
  width:100%!important;
}
.app-mini-stat-grid-v308>*{min-width:0!important;word-break:normal!important;overflow-wrap:normal!important;}

/* Generic safeguard for option/toggle cards that opt into adaptive behavior. */
.app-adaptive-card-grid-v308{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:.75rem!important;width:100%!important;min-width:0!important;}
.app-adaptive-card-grid-v308>*{min-width:0!important;max-width:100%!important;}

@media(max-width:900px){
  .app-report-options-grid-v308{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .app-report-actions-v308{grid-template-columns:1fr 1fr!important;}
  .app-kpi-grid-v308{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:560px){
  .app-report-options-grid-v308,.app-report-actions-v308,.app-kpi-grid-v308,.app-responsive-filter-grid-v308,.app-adaptive-card-grid-v308{grid-template-columns:1fr!important;}
  .app-report-option-v308{min-height:46px!important;padding:.68rem .78rem!important;}
}
