:root{--brand: #3D2B6B;--brand-hover: #2D1F55;--brand-soft: rgba(61, 43, 107, .08);--on-brand: #ffffff;--bg: #fafafa;--bg-elevated: #ffffff;--bg-subtle: #f4f4f5;--bg-hover: #ececef;--bg-overlay: rgba(0, 0, 0, .4);--text: #18181b;--text-muted: #52525b;--text-subtle: #71717a;--border: #e4e4e7;--border-strong:#d4d4d8;--success-bg: #d1fae5;--success-text: #065f46;--success-border: #6ee7b7;--warning-bg: #fef3c7;--warning-text: #92400e;--warning-border:#fcd34d;--danger-bg: #fee2e2;--danger-text: #991b1b;--danger-border:#fca5a5;--info-bg: #dbeafe;--info-text: #1e40af;--neutral-bg: #f1f5f9;--neutral-text: #334155;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .08), 0 4px 10px rgba(0, 0, 0, .04);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-full: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 56px;--header-h: 60px;--container: 1120px;--ease: .15s cubic-bezier(.4, 0, .2, 1);--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light}[data-theme=dark]{--brand: #6D57A0;--brand-hover: #8B78BF;--brand-soft: rgba(109, 87, 160, .14);--on-brand: #ffffff;--bg: #0b0b0e;--bg-elevated: #16161a;--bg-subtle: #1d1d22;--bg-hover: #26262c;--bg-overlay: rgba(0, 0, 0, .6);--text: #f4f4f5;--text-muted: #a1a1aa;--text-subtle: #71717a;--border: #27272a;--border-strong:#3f3f46;--success-bg: rgba(16, 185, 129, .14);--success-text: #6ee7b7;--success-border: rgba(110, 231, 183, .3);--warning-bg: rgba(245, 158, 11, .14);--warning-text: #fcd34d;--warning-border:rgba(252, 211, 77, .3);--danger-bg: rgba(220, 38, 38, .14);--danger-text: #fca5a5;--danger-border:rgba(252, 165, 165, .25);--info-bg: rgba(59, 130, 246, .14);--info-text: #93c5fd;--neutral-bg: rgba(255, 255, 255, .06);--neutral-text: #d4d4d8;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 2px 4px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .6);color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--ease),color var(--ease)}a{color:inherit;text-decoration:none}a:hover{color:var(--brand)}button{cursor:pointer;font:inherit;color:inherit;background:none;border:none}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{font:inherit;color:inherit}img,svg{display:block;max-width:100%}h1,h2,h3,h4{letter-spacing:-.015em}h1{font-size:26px;font-weight:700;line-height:1.2}h2{font-size:18px;font-weight:600;line-height:1.3}h3{font-size:15px;font-weight:600;line-height:1.4}@media (min-width: 640px){h1{font-size:30px}h2{font-size:20px}}::selection{background:var(--brand-soft);color:var(--text)}:focus{outline:none}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}.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}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 18px;min-height:40px;border-radius:var(--radius);border:1px solid transparent;font-size:14px;font-weight:500;line-height:1;white-space:nowrap;touch-action:manipulation;transition:background-color var(--ease),border-color var(--ease),color var(--ease),transform var(--ease)}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--brand);color:var(--on-brand)}.btn-primary:hover:not(:disabled){background:var(--brand-hover);color:var(--on-brand)}.btn-secondary{background:var(--bg-elevated);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong);color:var(--text)}.btn-ghost{background:transparent;color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.btn-danger{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}.btn-danger:hover:not(:disabled){background:var(--danger-text);color:var(--bg-elevated);border-color:var(--danger-text)}.btn-sm{padding:6px 12px;min-height:32px;font-size:13px}.btn-lg{padding:14px 28px;min-height:48px;font-size:16px}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}@media (max-width: 640px){.card{padding:var(--space-4);border-radius:var(--radius)}}.home-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}@media (max-width: 640px){.home-card-grid{grid-template-columns:1fr}}a.card-link,.card-link{display:block;color:var(--text);transition:border-color var(--ease),transform var(--ease),box-shadow var(--ease)}a.card-link:hover,.card-link:hover{color:var(--text);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:var(--shadow)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600;line-height:1.5}.badge-green{background:var(--success-bg);color:var(--success-text)}.badge-yellow{background:var(--warning-bg);color:var(--warning-text)}.badge-red{background:var(--danger-bg);color:var(--danger-text)}.badge-blue{background:var(--info-bg);color:var(--info-text)}.badge-grey{background:var(--neutral-bg);color:var(--neutral-text)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:500;color:var(--text-muted)}input[type=text],input[type=email],input[type=password],input[type=date],input[type=time],input[type=datetime-local],input[type=number],input[type=tel],input[type=search],select,textarea,.form-group input,.form-group select,.form-group textarea{padding:10px 12px;min-height:40px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);font-size:14px;transition:border-color var(--ease),box-shadow var(--ease);width:100%}input:focus,select:focus,textarea:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.form-group input[type=checkbox],.form-group input[type=radio],input[type=checkbox],input[type=radio]{width:auto;min-height:0;padding:0;margin:0;border:none;border-radius:0;background:none;flex:0 0 auto;accent-color:var(--brand)}select{cursor:pointer}textarea{resize:vertical;min-height:80px}::placeholder{color:var(--text-subtle);opacity:1}.error-msg{color:var(--danger-text);font-size:14px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse;min-width:520px}.table thead{background:var(--bg-subtle)}.table th{padding:10px 16px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:12px 16px;font-size:14px;border-bottom:1px solid var(--border);color:var(--text)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--bg-subtle)}.navbar{background:var(--brand);color:var(--on-brand);position:sticky;top:0;z-index:50;box-shadow:var(--shadow)}.navbar-inner{max-width:var(--container);margin:0 auto;padding:0 var(--space-4);height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}@media (min-width: 640px){.navbar-inner{padding:0 var(--space-6)}}.navbar-brand{display:flex;align-items:center}.navbar-brand:hover{color:var(--on-brand)}.navbar-brand img{height:calc(var(--header-h) - 6px);width:auto;display:block}.navbar-links{display:flex;align-items:center;gap:4px}.navbar-link{padding:8px 14px;border-radius:var(--radius);font-size:14px;color:#ffffffd9;transition:background-color var(--ease),color var(--ease)}.navbar-link:hover{background:#ffffff24;color:var(--on-brand)}.navbar-cta{padding:8px 16px;border-radius:var(--radius);font-size:14px;font-weight:500;background:#ffffff2e;border:1px solid rgba(255,255,255,.25);color:var(--on-brand);transition:background-color var(--ease)}.navbar-cta:hover{background:#ffffff47;color:var(--on-brand)}.navbar-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);color:var(--on-brand);transition:background-color var(--ease)}.navbar-icon-btn:hover{background:#ffffff24}.navbar-menu-btn{display:none;width:44px;height:44px;border-radius:var(--radius);color:var(--on-brand);align-items:center;justify-content:center;transition:background-color var(--ease)}.navbar-menu-btn:hover{background:#ffffff24}.navbar-mobile{background:var(--brand);border-top:1px solid rgba(255,255,255,.15);padding:var(--space-2);display:flex;flex-direction:column;gap:2px}.navbar-mobile a,.navbar-mobile button{padding:14px 16px;border-radius:var(--radius);font-size:15px;color:var(--on-brand);text-align:left;background:transparent;display:flex;align-items:center;gap:var(--space-2)}.navbar-mobile a:hover,.navbar-mobile button:hover{background:#ffffff24;color:var(--on-brand)}@media (max-width: 768px){.navbar-links{display:none}.navbar-menu-btn{display:inline-flex}}.page-wrapper{min-height:100vh;display:flex;flex-direction:column}.page-main{flex:1;width:100%;max-width:var(--container);margin:0 auto;padding:var(--space-6) var(--space-4)}@media (min-width: 640px){.page-main{padding:var(--space-8) var(--space-6)}}.page-footer{border-top:1px solid var(--border);background:var(--bg-elevated);padding:var(--space-5) var(--space-4)}.page-footer-inner{max-width:var(--container);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);font-size:13px;color:var(--text-subtle)}.social-links{display:flex;gap:var(--space-4);flex-wrap:wrap}.social-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);transition:color var(--ease)}.social-link:hover{color:var(--brand)}.alert{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius);border:1px solid;font-size:14px}.alert-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.alert-success{background:var(--success-bg);border-color:transparent;color:var(--success-text)}.alert-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.text-muted{color:var(--text-muted)}.text-subtle{color:var(--text-subtle)}.text-brand{color:var(--brand)}.text-sm{font-size:14px}.text-xs{font-size:13px}.text-strong{font-weight:600}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack-sm{display:flex;flex-direction:column;gap:var(--space-2)}.row{display:flex;align-items:center;gap:var(--space-3)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.spread{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-8)}.page-header-text{min-width:0}.page-title{margin:0}.page-subtitle{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:14px}.page-header-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.stat-card{text-align:center}.stat-value{font-size:36px;font-weight:700;line-height:1.1;color:var(--text)}.stat-value.is-warn{color:var(--danger-text)}.stat-label{margin-top:6px;font-size:13px;color:var(--text-muted)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}.tile{padding:14px 18px;display:flex;align-items:center;gap:var(--space-3)}.tile-icon{color:var(--brand);display:flex;flex-shrink:0}.tile-label{font-size:14px;font-weight:500}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-7)}.tab{padding:12px 20px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:15px;font-weight:500;transition:color var(--ease),border-color var(--ease)}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--text);font-weight:600;border-bottom-color:var(--brand)}.segmented{display:inline-flex;padding:var(--space-1);gap:var(--space-1);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius)}.segment{padding:8px 16px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);font-size:14px;font-weight:500;white-space:nowrap;transition:background-color var(--ease),color var(--ease)}.segment:hover{color:var(--text)}.segment[aria-selected=true],.segment[aria-pressed=true]{background:var(--bg-elevated);color:var(--text);font-weight:600;box-shadow:var(--shadow-sm)}.btn-link{display:inline;padding:0;background:none;border:none;color:var(--brand);font:inherit;font-weight:500}.btn-link:hover:not(:disabled){text-decoration:underline}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle)}.mono{font-family:var(--font-mono)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-4);overflow-y:auto}.modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:calc(100vh - var(--space-8));display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border)}.modal-title{margin:0}.modal-body{padding:var(--space-6);overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-4) var(--space-6);border-top:1px solid var(--border)}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-full);color:var(--text-muted);transition:background-color var(--ease),color var(--ease)}.modal-close:hover{background:var(--bg-hover);color:var(--text)}@media (max-width: 640px){.modal-overlay{padding:0;align-items:flex-end}.modal{max-width:none;max-height:92vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:var(--radius-full)}.status-icon-success{background:var(--success-bg);color:var(--success-text)}.status-icon-danger{background:var(--danger-bg);color:var(--danger-text)}.status-icon-warning{background:var(--warning-bg);color:var(--warning-text)}.status-icon-info{background:var(--info-bg);color:var(--info-text)}.empty-state{text-align:center;padding:var(--space-10) var(--space-6);color:var(--text-muted)}.empty-state-icon{color:var(--text-subtle);margin:0 auto var(--space-4);display:flex;justify-content:center}.empty-state-title{font-size:16px;font-weight:600;color:var(--text);margin-bottom:var(--space-1)}.empty-state-desc{font-size:14px;color:var(--text-muted);margin:0 auto;max-width:40ch}.empty-state-action{margin-top:var(--space-5)}.skip-link{position:absolute;left:var(--space-2);top:-48px;z-index:200;padding:10px 16px;background:var(--brand);color:var(--on-brand);border-radius:var(--radius);font-size:14px;font-weight:500;transition:top var(--ease)}.skip-link:focus{top:var(--space-2);color:var(--on-brand)}.back-link-wrap{margin-bottom:var(--space-4)}.back-link{font-size:14px;color:var(--text-muted)}.back-link:hover{color:var(--brand)}.ds-section{margin-bottom:var(--space-10)}.ds-section>h2{margin-bottom:var(--space-2)}.ds-section-desc{color:var(--text-muted);font-size:14px;margin-bottom:var(--space-5)}.ds-swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3)}.ds-swatch{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-elevated)}.ds-swatch-color{height:64px;border-bottom:1px solid var(--border)}.ds-swatch-meta{padding:var(--space-3)}.ds-swatch-name{font-size:13px;font-weight:600}.ds-swatch-token{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);margin-top:2px;word-break:break-all}.ds-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.ds-row:last-child{border-bottom:none}.ds-row-label{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);min-width:110px}.ds-bar{height:16px;background:var(--brand);border-radius:var(--radius-sm)}.ds-specimens{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}.ds-box{width:80px;height:64px;background:var(--brand-soft);border:1px solid var(--border-strong)}.ds-control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.ds-preview{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:var(--space-6);background:var(--bg-subtle)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.cal-cell{min-height:82px;padding:5px 6px}.cal-day-header{font-size:12px}.cal-chip{font-size:11px;padding:1px 5px}@media (max-width: 480px){.cal-cell{min-height:52px;padding:3px 2px}.cal-day-header{font-size:10px}.cal-chip{font-size:9px;padding:1px 3px}}@media (max-width: 768px){input[type=text],input[type=email],input[type=password],input[type=date],input[type=time],input[type=datetime-local],input[type=number],input[type=tel],input[type=search],select,.form-group input,.form-group select{font-size:16px;min-height:44px}textarea,.form-group textarea{font-size:16px}}@media (max-width: 359px){.fab-label{display:none}}@media (max-width: 639px){.page-footer,.page-main{padding-bottom:88px}}@keyframes drill-arrow-flow{to{stroke-dashoffset:-16}}.drill-arrow{animation:drill-arrow-flow 1s linear infinite}@media (prefers-reduced-motion: reduce){.drill-arrow{animation:none}}@media print{.navbar,.page-footer,.no-print{display:none!important}body{background:#fff;color:#000}}
