/* NPC Design System 2.0 | responsive, accessible, restrained institutional styling */
:root{--npc-forest:#083b2a;--npc-green:#09623c;--npc-gold:#e9b92c;--npc-paper:#f4f7f5;--npc-border:#dce6df;--npc-ink:#142e24;--npc-muted:#5c7065;--npc-shadow:0 16px 44px rgba(12,55,34,.075)}
html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at 10% 0%,#e4f0e9,transparent 38%),linear-gradient(155deg,#f6f9f7,#fff 52%,#f4f7f5)!important;color:var(--npc-ink);-webkit-font-smoothing:antialiased}
.shell{max-width:1160px!important;margin:auto!important}.topbar{background:rgba(255,255,255,.96)!important;border:1px solid var(--npc-border)!important;box-shadow:0 8px 32px rgba(14,50,29,.06)!important;border-radius:18px!important;position:relative;z-index:2}
.topbar .title{letter-spacing:-.025em!important;font-weight:800!important}.topbar .org{letter-spacing:.015em}
.card{background:#fff!important;border:1px solid var(--npc-border)!important;border-radius:20px!important;box-shadow:var(--npc-shadow)!important;overflow:hidden}.card-header{background:linear-gradient(125deg,#e8f2ec 0%,#f7faf8 65%,#fff 100%)!important;border-bottom:1px solid var(--npc-border)!important;padding-top:22px!important;padding-bottom:22px!important}
.card-header h1,.card-header h2,.card-header h3{letter-spacing:-.025em;line-height:1.25}
.field label{font-weight:700!important;color:#284737!important}.field input,.field select,.field textarea,input,select,textarea{background:#fff;border:1px solid #d4e1d8!important;border-radius:12px!important;min-height:44px;box-shadow:none!important;transition:border-color .16s,box-shadow .16s}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#96b8a4!important}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--npc-green)!important;box-shadow:0 0 0 4px rgba(9,98,60,.10)!important;outline:none!important}
.btn,button{border-radius:12px!important;letter-spacing:.005em;font-weight:750!important;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.btn:not(:disabled):hover,button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(5,65,35,.12)}.btn:disabled,button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none!important}
.btn-primary{background:linear-gradient(115deg,#087342,#064c30)!important;color:#fff!important}.btn-accent{background:linear-gradient(110deg,#f4d04c,#e8b82a)!important;color:#193322!important}
.summary-cards>*,.panel,.progress-wrap{border:1px solid var(--npc-border)!important;border-radius:16px!important;box-shadow:0 6px 22px rgba(15,54,31,.035)}
.summary-cards{gap:14px!important}.filters{gap:14px!important}.panel{overflow:hidden}.panel-title{font-weight:800}.chart-wrap{border-radius:16px!important;overflow:hidden}
.acc-btn{border-radius:15px!important;border:1px solid #cfe2d5!important;box-shadow:0 4px 14px rgba(15,55,32,.05)}.accordion .panel{border-radius:0 0 15px 15px!important}.progress-bar{overflow:hidden;border-radius:100px!important}.progress-fill{border-radius:100px!important}
:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #dba819!important;outline-offset:3px!important}
@media(max-width:800px){.shell{padding:0 10px!important}.topbar{gap:12px!important}.filters,.summary-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}.card-header{padding:18px!important}.card{border-radius:16px!important}.panel{overflow-x:auto}}
@media(max-width:520px){body{padding:8px!important}.topbar{flex-wrap:wrap!important;padding:12px!important}.topbar .title{font-size:14px!important}.filters,.summary-cards{grid-template-columns:1fr!important}.btn{min-height:44px}.card{border-radius:14px!important}.field input,.field select,.field textarea{font-size:16px!important}table{display:block;overflow-x:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{body{background:#fff!important}.topbar{box-shadow:none!important}button{display:none!important}}

/* NPC Experience 3.0 — polished green/gold design, unified across interfaces */
:root{--npc-forest:#063e2a;--npc-green:#087747;--npc-gold:#edc044;--npc-paper:#f5f9f6;--npc-border:#dce9e0;--npc-ink:#152d22;--npc-muted:#587064;--npc-shadow:0 20px 52px rgba(12,55,34,.085)}
html{scroll-padding-top:90px}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif!important;line-height:1.55!important;background:radial-gradient(ellipse at 7% 3%,#dcefe2 0%,transparent 40%),radial-gradient(ellipse at 94% 9%,#fff3cc 0%,transparent 30%),#f7faf8!important}
.shell{width:min(1160px,100%)!important}
.topbar{border-top:4px solid var(--npc-green)!important;box-shadow:0 12px 34px rgba(12,55,34,.08)!important;gap:18px!important}
.logo{flex-shrink:0}.logo img{object-fit:contain!important;filter:drop-shadow(0 3px 5px rgba(0,0,0,.10))}
.card{box-shadow:0 15px 42px rgba(11,63,38,.075)!important;transition:box-shadow .2s ease,transform .2s ease}
.card-header{background:linear-gradient(120deg,#e3f3e9,#f7fbf8 62%,#fff8e6)!important;border-bottom:1px solid #dbe9df!important}
.card-header h1,.card-header h2,.heading{font-weight:850!important;letter-spacing:-.035em!important}
.btn-primary{background:linear-gradient(125deg,#09804b,#075532)!important;box-shadow:0 7px 18px rgba(7,92,51,.16)!important}
.btn-accent{background:linear-gradient(125deg,#ffdc65,#eaba32)!important}
.btn-ghost{border:1px solid #d5e6da!important;background:#f7faf8!important}
.mini-card{border-top:3px solid #16824f!important;background:linear-gradient(165deg,#fff,#f9fcfa)!important}
.mini-card .v{font-size:clamp(23px,2.5vw,32px)!important;letter-spacing:-.04em!important}
.filters{padding:16px!important;background:#f7faf8;border:1px solid var(--npc-border);border-radius:16px}
.field label{font-size:12px!important;letter-spacing:.02em}
input,select,textarea{font-family:inherit!important}
table{border-collapse:separate!important;border-spacing:0!important}
thead th{background:#eaf4ed!important;color:#154d31!important;font-weight:800!important}
tbody tr:nth-child(even){background:#f9fbfa}
tbody tr:hover{background:#eef7f1}
tbody td,thead th{padding:11px 13px!important}
.acc-btn,.accordion{transition:background .16s,transform .16s,box-shadow .16s}
.acc-btn:hover,.accordion:hover{box-shadow:0 8px 18px rgba(10,72,39,.10)!important}
.progress-fill,.meter-fill{background:linear-gradient(90deg,#087c49,#edc044)!important}
.nav-overlay{backdrop-filter:blur(7px)}
.nav-card{border-radius:18px!important;box-shadow:0 24px 65px rgba(7,43,24,.2)!important}
footer{color:var(--npc-muted)!important}
@media(max-width:640px){body{padding:10px 8px!important}.topbar{padding:12px!important}.logo{width:40px!important;height:40px!important}.card-header{padding:17px!important}.filters{padding:12px!important}.mini-card{min-height:85px}.right-actions,.top-actions{gap:6px!important}}
@media(prefers-reduced-motion:reduce){.card,.btn,.acc-btn{transition:none!important}}

/* Clear high-contrast primary action in all themes, including disabled state. */
#submitBtn,#submitBtn:disabled,#proceedReview,#proceedReview:disabled{color:#ffffff!important;background:#08683e!important;-webkit-text-fill-color:#ffffff!important;text-shadow:none!important;opacity:1!important;font-weight:800!important;border:1px solid #075633!important;min-width:180px;min-height:46px}
#submitBtn:disabled,#proceedReview:disabled{background:#476e5a!important;cursor:not-allowed!important}
#submitBtn:focus-visible{outline:3px solid #edc044!important;outline-offset:3px}
