:root{--navy:#071f34;--blue:#0b4f87;--orange:#f28c28;--ink:#132235;--muted:#647486;--line:#dbe5ed;--soft:#f5f8fb;--white:#fff;--success:#176b45;--warn:#9a5b09;--danger:#a33030;--shadow:0 12px 36px rgba(7,31,52,.08)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#eef3f7;color:var(--ink);line-height:1.5}.hidden{display:none!important}button,input{font:inherit}button,input{min-height:44px}header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand,.header-actions{display:flex;align-items:center;gap:10px}.brand{min-width:0}.brand img{width:40px;height:40px;flex:0 0 auto}.brand strong,.brand span{display:block}.brand strong{font-size:1rem}.brand span{color:var(--muted);font-size:.78rem}.sync{padding:5px 9px;border-radius:999px;background:#edf8f1;color:var(--success);font-size:.72rem;font-weight:900;white-space:nowrap}main{width:min(1180px,calc(100% - 24px));margin:28px auto 40px}.auth-card,.hero,.tab,.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.auth-card{max-width:620px;margin:60px auto;padding:clamp(20px,4vw,34px)}.hero,.tab{padding:clamp(16px,2.5vw,24px)}.panel{padding:16px;margin-bottom:16px;box-shadow:none}h1,h2{line-height:1.2}h1{margin:0 0 8px}h2{margin:0 0 8px;font-size:1.05rem}.eyebrow{margin:0 0 7px;font-size:.72rem;font-weight:900;color:var(--orange);text-transform:uppercase;letter-spacing:.1em}.helper{margin:4px 0 12px;color:var(--muted);font-size:.86rem}.notice{margin:16px 0;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--muted)}.notice.compact{margin:0 0 12px}.notice.error{background:#fff1f1;border-color:#f1c3c3;color:var(--danger)}.notice.success{background:#edf8f1;border-color:#c9e7d5;color:var(--success)}.notice.warn{background:#fff7e8;border-color:#ecd4ab;color:var(--warn)}label{display:grid;gap:6px;margin:12px 0;font-weight:800;font-size:.88rem}input{width:100%;padding:11px;border:1px solid #cbd8e2;border-radius:9px;background:#fff;color:var(--ink)}input:focus-visible,button:focus-visible{outline:3px solid rgba(11,79,135,.2);outline-offset:2px}button{border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:9px;padding:10px 14px;font-weight:850;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.65;cursor:not-allowed}.secondary,.link-button,.portal-nav button{background:#fff;color:var(--blue)}.link-button{border-color:transparent;padding-inline:4px}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.hero p{margin:4px 0;color:var(--muted)}.hero>span{padding:5px 9px;border-radius:999px;background:#eaf2f8;color:var(--blue);font-weight:900;font-size:.75rem;text-transform:capitalize;white-space:nowrap}.portal-nav{display:flex;gap:8px;margin:14px 0;overflow-x:auto;padding:2px 0 6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.portal-nav button{flex:0 0 auto;white-space:nowrap}.portal-nav button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.tab{display:none}.tab.active{display:block}#overviewGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.card{border:1px solid var(--line);border-radius:12px;padding:14px;margin:8px 0;background:#fff;overflow-wrap:anywhere}.card strong{display:block}.meta{color:var(--muted);font-size:.84rem;margin-top:5px}.stat{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--soft)}.stat strong{font-size:1.5rem;display:block}.status-pill{display:inline-flex;margin-top:8px;padding:3px 8px;border-radius:999px;background:var(--soft);font-size:.72rem;font-weight:900;text-transform:capitalize}.status-pill.active,.status-pill.approved{background:#edf8f1;color:var(--success)}.status-pill.pending,.status-pill.pending_review,.status-pill.replacement_pending{background:#fff7e8;color:var(--warn)}.status-pill.suspended,.status-pill.expired,.status-pill.rejected,.status-pill.compliance_hold{background:#fff1f1;color:var(--danger)}.responsive-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}.responsive-form label{margin:0}.document-form{grid-template-columns:2fr 1fr 2fr auto}footer{width:min(1180px,calc(100% - 24px));margin:0 auto;padding:0 0 max(30px,env(safe-area-inset-bottom));color:var(--muted);font-size:.78rem}@media(max-width:900px){#overviewGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.responsive-form,.document-form{grid-template-columns:repeat(2,minmax(0,1fr))}.responsive-form button{width:100%}}@media(max-width:700px){header{padding-left:12px;padding-right:12px}.brand span{display:none}main{width:min(100% - 16px,1180px);margin-top:14px}.auth-card{margin:22px auto}.hero{display:block}.hero>span{display:inline-flex;margin-top:10px}.tab,.hero{border-radius:13px}.responsive-form,.document-form{grid-template-columns:1fr}.form-actions{align-items:stretch}.form-actions button{width:100%}.header-actions .sync{display:none}}@media(max-width:430px){#overviewGrid{grid-template-columns:1fr}.brand img{width:36px;height:36px}.secondary{padding-inline:10px}.portal-nav{margin-left:-4px;margin-right:-4px;padding-left:4px;padding-right:4px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
