/* Compact navigation with accessible click-to-open submenus. */
#npc-unified-nav[hidden]{display:none!important}
#npc-unified-nav{position:relative;z-index:1000;background:#123e2c;border-bottom:3px solid #d7b347;color:#fff;font:600 13px/1.35 Arial,sans-serif;box-sizing:border-box}
#npc-unified-nav *{box-sizing:border-box}
#npc-unified-nav .npc-nav-inner{min-height:62px;max-width:1600px;margin:auto;padding:8px clamp(16px,3vw,36px);display:flex;align-items:center;gap:24px}
#npc-unified-nav .npc-nav-identity{display:flex;align-items:center;gap:10px;flex-shrink:0;white-space:nowrap}
#npc-unified-nav .npc-nav-brand{display:grid;place-items:center;width:42px;height:38px;border-radius:9px;background:#d9b743;color:#173d2b;font-weight:900;font-size:15px;text-decoration:none}
#npc-unified-nav .npc-nav-system{color:#f6efd5;font-size:15px;font-weight:700}
#npc-unified-nav .npc-nav-menu{display:flex;align-items:center;gap:5px;flex:1;min-width:0}
#npc-unified-nav .npc-nav-menu>a,#npc-unified-nav summary,#npc-unified-nav .npc-nav-right>a{display:block;padding:11px 12px;border-radius:8px;color:#e9f2ec;text-decoration:none;cursor:pointer;white-space:nowrap;background:transparent;border:0;font:inherit}
#npc-unified-nav .npc-nav-menu>a:hover,#npc-unified-nav summary:hover,#npc-unified-nav .npc-nav-right>a:hover{background:#ffffff1a}
#npc-unified-nav .npc-nav-menu>a[aria-current="page"],#npc-unified-nav .npc-nav-section-active>summary{background:#d9b743;color:#173d2b}
#npc-unified-nav .npc-nav-dropdown{position:relative}
#npc-unified-nav summary{list-style:none;display:flex;align-items:center;gap:8px}
#npc-unified-nav summary::-webkit-details-marker{display:none}
#npc-unified-nav summary:after{content:'⌄';font-size:16px;line-height:10px;opacity:.75}
#npc-unified-nav .npc-nav-dropdown[open]>summary{background:#f0e5bb;color:#173d2b}
#npc-unified-nav .npc-nav-panel{position:absolute;top:calc(100% + 9px);left:0;min-width:228px;background:#fff;color:#173d2b;border:1px solid #d7e3d9;border-radius:12px;padding:7px;box-shadow:0 14px 34px #071f1640;display:grid;gap:3px}
#npc-unified-nav .npc-nav-panel a{color:#193e2b;text-decoration:none;font-weight:600;padding:11px 13px;border-radius:7px;white-space:nowrap}
#npc-unified-nav .npc-nav-panel a:hover,#npc-unified-nav .npc-nav-panel a:focus-visible{background:#edf5ee}
#npc-unified-nav .npc-nav-panel a[aria-current="page"]{background:#f7edc8;color:#153e2b}
#npc-unified-nav .npc-nav-right{display:flex;align-items:center;gap:9px;margin-left:auto;white-space:nowrap}
#npc-unified-nav .npc-nav-role{font-size:11px;color:#e7dfbf;padding:7px 10px;border:1px solid #ffffff38;border-radius:30px}
#npc-unified-nav a:focus-visible,#npc-unified-nav summary:focus-visible{outline:2px solid #d9b743;outline-offset:2px}
/* Remove old duplicate page-to-page navigation, but retain functional logout buttons. */
body.npc-nav-ready .topbar .top-actions>a{display:none!important}
body.npc-nav-ready>header nav>a,body.npc-nav-ready>header>div>a{display:none!important}
@media(max-width:1050px){#npc-unified-nav .npc-nav-inner{flex-wrap:wrap;gap:8px 18px}#npc-unified-nav .npc-nav-menu{order:3;flex-basis:100%;overflow:visible}#npc-unified-nav .npc-nav-right{margin-left:auto}}
@media(max-width:630px){#npc-unified-nav .npc-nav-inner{padding:10px 12px}#npc-unified-nav .npc-nav-menu{flex-wrap:wrap}#npc-unified-nav .npc-nav-menu>a,#npc-unified-nav summary{padding:9px 10px}#npc-unified-nav .npc-nav-panel{min-width:195px}#npc-unified-nav .npc-nav-system{font-size:13px}#npc-unified-nav .npc-nav-right>a{padding:8px}#npc-unified-nav .npc-nav-role{display:none}}

/* Layout repair: admin.html originally uses body{display:flex}; the inserted
   nav became a second flex column and stretched to viewport height. */
body:has(#npc-unified-nav){display:block!important;min-width:0}
body:has(#npc-unified-nav) #npc-unified-nav{width:100%;height:auto;min-height:0;flex:none;align-self:auto;margin:0;clear:both}
body:has(#npc-unified-nav) #npc-unified-nav .npc-nav-inner{width:100%}
body:has(#npc-unified-nav) .shell{width:min(1240px,100%)!important;max-width:100%;margin:18px auto 0!important}
body.npc-nav-ready .shell>.topbar{display:none!important}
/* The global header is the navigation. Local headers serve only as page titles. */
body.npc-nav-ready>header{background:transparent!important;color:#173d2b!important;border:0!important;padding:24px max(18px,calc((100vw - 1180px)/2)) 4px!important;box-shadow:none!important}
body.npc-nav-ready>header h1{color:#173d2b!important;font-size:clamp(22px,2.4vw,30px)!important;margin:0!important}
body.npc-nav-ready>header nav>a,body.npc-nav-ready>header>div>a{display:none!important}
@media(max-width:680px){body:has(#npc-unified-nav) .shell{margin-top:10px!important}}

/* Experience 4.0: full-width, compact institutional application header */
body:has(#npc-unified-nav){padding:0!important;background:#f5f8f6!important}
#npc-unified-nav{position:sticky;top:0;box-shadow:0 6px 22px rgba(9,48,29,.13);border-bottom:2px solid #d9b743}
#npc-unified-nav .npc-nav-inner{max-width:1500px;min-height:72px;padding:10px clamp(18px,3vw,48px)}
#npc-unified-nav .npc-nav-brand{background:#e8bc40;border-radius:12px;width:46px;height:46px;font-size:17px}
#npc-unified-nav .npc-nav-system{font-size:16px;font-weight:800;letter-spacing:-.025em}
#npc-unified-nav .npc-nav-menu{gap:7px}
#npc-unified-nav .npc-nav-menu>a,#npc-unified-nav summary{font-size:13px;font-weight:700;padding:12px 14px}
#npc-unified-nav .npc-nav-panel{border-radius:14px;box-shadow:0 20px 48px #08271b38;padding:9px;min-width:242px}
#npc-unified-nav .npc-nav-panel a{padding:13px 14px}
#npc-unified-nav .npc-nav-right>a{font-size:12px;border:1px solid #ffffff30}
body:has(#npc-unified-nav) .shell{width:min(1390px,calc(100% - 48px))!important;max-width:1390px!important;margin:26px auto 44px!important;padding:0!important}
body.npc-nav-ready #dashboard{border:0!important;box-shadow:none!important;background:transparent!important;overflow:visible!important}
body.npc-nav-ready #dashboard>.card-header{background:transparent!important;border:0!important;padding:8px 2px 22px!important}
body.npc-nav-ready #dashboard>.card-header h1{font-size:clamp(25px,3vw,35px)!important;color:#123b2a!important}
body.npc-nav-ready #dashboard>.card-header p{font-size:14px!important;max-width:780px;color:#60746a!important}
body.npc-nav-ready #dashboard .dash-body{background:transparent!important;padding:0!important}
body.npc-nav-ready #dashboard .filters{background:#fff!important;border:1px solid #e0e9e3!important;box-shadow:0 8px 25px #143e2810!important;padding:22px!important;border-radius:18px!important;margin-bottom:20px}
body.npc-nav-ready #dashboard .summary-cards{margin:0 0 22px!important;gap:18px!important}
body.npc-nav-ready #dashboard .mini-card{background:#fff!important;border:1px solid #e1e9e4!important;border-top:3px solid #087747!important;border-radius:18px!important;padding:22px!important;box-shadow:0 8px 25px #143e2810!important;min-height:135px}
body.npc-nav-ready #dashboard .mini-card .k{font-size:13px!important;color:#64776c!important}
body.npc-nav-ready #dashboard .mini-card .v{font-size:clamp(27px,3vw,38px)!important;color:#102c20!important}
body.npc-nav-ready #dashboard .panel{background:#fff!important;border:1px solid #e1e9e4!important;border-radius:18px!important;box-shadow:0 8px 25px #143e2810!important;margin-bottom:20px}
body.npc-nav-ready #dashboard .panel-title{padding:18px 20px!important}
body.npc-nav-ready #dashboard .chart-wrap{background:#fff!important}
.npc-welcome{position:relative;overflow:hidden;background:linear-gradient(112deg,#e5f1e9 0%,#f7faf7 66%,#fff1ca 100%);border:1px solid #dce9df;border-radius:20px;padding:27px 30px;margin:0 0 22px;display:flex;justify-content:space-between;gap:24px;align-items:center}
.npc-welcome:after{content:'';position:absolute;width:240px;height:240px;border:32px solid #ffffff55;border-radius:50%;right:-100px;top:-130px;pointer-events:none}
.npc-welcome .eyebrow{font-size:12px;font-weight:800;color:#397054;text-transform:uppercase;letter-spacing:.12em}
.npc-welcome h2{font-size:clamp(23px,2.6vw,32px);letter-spacing:-.04em;margin:5px 0 6px;color:#123c2b}
.npc-welcome p{font-size:14px;color:#526d5d;margin:0}
.npc-quick-actions{display:flex;gap:9px;flex-wrap:wrap;position:relative;z-index:1}
.npc-quick-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#fff;color:#174c31;border:1px solid #c9dfd0;border-radius:11px;padding:11px 14px;font-size:12px;font-weight:800;box-shadow:0 3px 12px #143e2810}
.npc-quick-actions a:first-child{background:#0c6841;color:white;border-color:#0c6841}
.npc-quick-actions a:hover{transform:translateY(-1px)}
@media(max-width:900px){.npc-welcome{align-items:flex-start;flex-direction:column}.npc-quick-actions{width:100%}#npc-unified-nav .npc-nav-inner{gap:10px}body:has(#npc-unified-nav) .shell{width:calc(100% - 24px)!important}}
@media(max-width:560px){.npc-welcome{padding:20px}.npc-quick-actions a{flex:1}#npc-unified-nav{position:relative}}

/* Persistent institutional identity and compact navigation */
#npc-unified-nav .npc-nav-brand{background:transparent;width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0}
#npc-unified-nav .npc-nav-brand img{display:block;width:100%;height:100%;object-fit:contain}
#npc-unified-nav .npc-nav-system{display:flex;flex-direction:column;gap:3px;line-height:1.1}
#npc-unified-nav .npc-nav-system strong{font-size:13px;color:#fff;letter-spacing:.01em}
#npc-unified-nav .npc-nav-system small{font-size:11px;font-weight:500;color:#e4e5ce}
#npc-unified-nav .npc-nav-inner{min-height:66px}
@media(max-width:650px){#npc-unified-nav .npc-nav-system strong{font-size:12px}}

/* Flash-free navigation: never reveal the retired local dashboard header. */
body:has(#npc-unified-nav) .shell>.topbar{display:none!important}
body:has(#npc-unified-nav) .shell{margin-top:20px!important}
body:has(#npc-unified-nav):not(.npc-auth-verified) .shell>footer,
body:has(#npc-unified-nav):not(.npc-auth-verified) .shell>.footer{visibility:hidden!important}
#npc-unified-nav.npc-nav-pending{display:block!important;min-height:66px}
#npc-unified-nav .npc-nav-pending-inner{min-height:66px;display:flex;align-items:center;gap:11px;max-width:1500px;margin:auto;padding:9px clamp(18px,3vw,48px)}
#npc-unified-nav .npc-nav-pending-inner img{width:44px;height:44px;object-fit:contain}
#npc-unified-nav .npc-nav-pending-inner span{font-weight:750;font-size:14px;color:#fff}

/* Always-accessible sign out action in the shared header. */
#npc-unified-nav .npc-nav-logout{appearance:none;cursor:pointer;border:1px solid #dfc26d;background:#e8bc40;color:#123c2b;border-radius:10px;padding:11px 15px;font:inherit;font-size:12px;font-weight:800;white-space:nowrap;transition:background .15s ease}
#npc-unified-nav .npc-nav-logout:hover{background:#f3d576}
#npc-unified-nav .npc-nav-logout:focus-visible{outline:3px solid #fff;outline-offset:2px}
#npc-unified-nav .npc-nav-logout:disabled{opacity:.7;cursor:wait}
@media(max-width:630px){#npc-unified-nav .npc-nav-logout{padding:9px 12px}}
