/* 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;}
}
