@charset "UTF-8";:root,:root[data-theme=dark]{--bg: #0a0a0b;--bg-elevated: #111113;--sidebar: #0d0d0f;--card: #161619;--card-hover: #1c1c20;--border: #26262b;--border-soft: #1e1e22;--border-strong: #34343c;--dakwa-ink: #ccd8ef;--dakwa-blue: #3b82f6;--text: #f4f4f5;--text-dim: #a1a1aa;--text-faint: #6b6b74;--input-bg: #0f0f12;--hover: rgba(255, 255, 255, .05);--track: #26262b;--menu-bg: #1a1a1f;--scroll: #2a2a30;--scroll-hover: #3a3a42;--toast-bg: #1c1c22;--toast-border: #34343c;--tip-bg: #24242c;--tip-border: #3c3c47;--tip-text: #f4f4f5;--tip-text-dim: #b4b4c0;--tip-shadow: 0 10px 28px rgba(0, 0, 0, .45), 0 2px 6px rgba(0, 0, 0, .3);--accent: #3b82f6;--accent-soft: rgba(59, 130, 246, .15);--green: #22c55e;--green-bg: rgba(34, 197, 94, .14);--amber: #f59e0b;--amber-bg: rgba(245, 158, 11, .15);--red: #ef4444;--red-bg: rgba(239, 68, 68, .16);--danger-text: #fca5a5;--radius: 14px;--radius-sm: 10px;--shadow: 0 8px 30px rgba(0, 0, 0, .35);--font: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif}:root[data-theme=light]{--bg: #f4f6f9;--bg-elevated: #ffffff;--sidebar: #ffffff;--card: #ffffff;--card-hover: #f5f6f8;--border: #e4e7ec;--border-soft: #eceef2;--border-strong: #d3d8e0;--dakwa-ink: #001342;--dakwa-blue: #0a63e8;--text: #14171c;--text-dim: #5b6472;--text-faint: #98a0ae;--input-bg: #f8f9fb;--hover: rgba(0, 0, 0, .04);--track: #e6e9ee;--menu-bg: #ffffff;--scroll: #cdd2da;--scroll-hover: #b2b8c2;--toast-bg: #1e232e;--toast-border: #2c3340;--tip-bg: #1e232e;--tip-border: #2c3340;--tip-text: #f7f8fa;--tip-text-dim: #b8c0cd;--tip-shadow: 0 12px 30px rgba(20, 28, 46, .22), 0 2px 6px rgba(20, 28, 46, .12);--accent: #2563eb;--accent-soft: rgba(37, 99, 235, .12);--green: #16a34a;--green-bg: rgba(22, 163, 74, .12);--amber: #c2740a;--amber-bg: rgba(217, 119, 6, .14);--red: #dc2626;--red-bg: rgba(220, 38, 38, .1);--danger-text: #dc2626;--shadow: 0 10px 34px rgba(20, 28, 46, .1)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}html,body,.shell,.sidebar,.card,.content{transition:background-color .25s ease,border-color .25s ease,color .25s ease}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scroll);border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover);background-clip:content-box}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-text-fill-color:var(--text);caret-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--input-bg) inset;box-shadow:0 0 0 1000px var(--input-bg) inset;transition:background-color 100000s ease-in-out 0s}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:8px;top:-48px;z-index:1100;padding:9px 14px;border-radius:8px;background:var(--accent);color:#fff;font-size:13px;transition:top .15s ease}.skip-link:focus{top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;font-size:13px;font-weight:550;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}.btn:hover:not(:disabled){background:var(--card-hover);border-color:var(--border-strong)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent);border-color:var(--accent)}.btn--danger{background:var(--red);border-color:var(--red);color:#fff}.btn--danger:hover:not(:disabled){filter:brightness(1.08);background:var(--red);border-color:var(--red)}.btn--ghost{background:transparent}.btn--ghost:hover:not(:disabled){background:var(--hover)}.btn--sm{padding:5px 10px;font-size:12.5px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer}.icon-btn:hover:not(:disabled){color:var(--text);background:var(--hover)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn--danger:hover:not(:disabled){color:var(--red);border-color:var(--red)}.field{display:block;margin-bottom:13px}.field>span{display:block;margin-bottom:5px;font-size:12.5px;color:var(--text-dim)}.field input,.field select,.field textarea{width:100%;padding:9px 11px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:inherit;font-size:13.5px}.field input::placeholder,.field select::placeholder,.field textarea::placeholder{color:var(--text-faint)}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--red)}.field textarea{min-height:78px;resize:vertical}.field-error{display:block;margin-top:4px;font-size:12px;color:var(--danger-text)}.hint{font-size:12px;color:var(--text-dim);line-height:1.5}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:600;line-height:1;white-space:nowrap}.badge--current{color:var(--green);background:var(--green-bg)}.badge--review{color:var(--amber);background:var(--amber-bg)}.badge--missing,.badge--expired{color:var(--danger-text);background:var(--red-bg)}.badge--na{color:var(--text-dim);background:var(--hover)}.badge--valid{color:var(--green);background:var(--green-bg)}.badge--expiringsoon{color:var(--amber);background:var(--amber-bg)}.badge--blocked{color:var(--danger-text);background:var(--red-bg)}.badge--pending{color:var(--text-dim);background:var(--hover)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise .35s cubic-bezier(.2,.7,.3,1) both}.tip{position:fixed;top:0;left:0;z-index:1200;max-width:260px;padding:7px 11px;border-radius:9px;border:1px solid var(--tip-border);background:var(--tip-bg);box-shadow:var(--tip-shadow);color:var(--tip-text);font-size:12.5px;line-height:1.45;text-align:left;pointer-events:none;opacity:0;transform:scale(.96);transition:opacity .13s ease,transform .13s cubic-bezier(.2,.8,.3,1)}.tip--top{transform-origin:bottom center}.tip--bottom{transform-origin:top center}.tip--left{transform-origin:center right}.tip--right{transform-origin:center left}.tip--in{opacity:1;transform:scale(1)}.tip__label{display:block;font-weight:550;white-space:nowrap}.tip__detail{display:block;margin-top:2px;color:var(--tip-text-dim);font-size:11.5px;font-weight:400;white-space:normal}.tip__arrow{position:absolute;width:8px;height:8px;background:var(--tip-bg);border:1px solid var(--tip-border);transform:rotate(45deg)}.tip--top .tip__arrow{bottom:-5px;margin-left:-4px;border-top:0;border-left:0}.tip--bottom .tip__arrow{top:-5px;margin-left:-4px;border-bottom:0;border-right:0}.tip--left .tip__arrow{right:-5px;margin-top:-4px;border-bottom:0;border-left:0}.tip--right .tip__arrow{left:-5px;margin-top:-4px;border-top:0;border-right:0}@media(prefers-reduced-motion:reduce){.tip{transition:none;transform:none}.tip--in{transform:none}}@media(forced-colors:active){.tip{background:Canvas;color:CanvasText;border-color:CanvasText}.tip__arrow{background:Canvas;border-color:CanvasText}.tip__detail{color:CanvasText}}html.dialog-open,html.dialog-open body{overflow:hidden}html.dialog-open .content{overflow-y:hidden}html.app-shell-mounted,html.app-shell-mounted body{overflow:hidden}.pw{position:relative;display:block}.pw>input{width:100%;padding-right:42px}.pw__toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-faint);cursor:pointer}.pw__toggle:hover{color:var(--text-dim);background:var(--hover)}.pw__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px;color:var(--text-dim)}.page{margin-inline:auto}
