:root{--surface:#fff;--surface-muted:#f8fafc;--surface-hover:#f1f5f9;--text:#0f172a;--text-muted:#64748b;--text-subtle:#94a3b8;--border:#e2e8f0;--border-strong:#cbd5e1;--accent:#0f172a;--accent-hover:#1e293b;--link-action:#0f766e;--danger-bg:#fef2f2;--danger-border:#fecaca;--danger-text:#991b1b;--success-bg:#f0fdf4;--success-border:#bbf7d0;--success-text:#166534;--shared-bg:#fef3c7;--shared-text:#92400e;--ready-bg:#ecfdf3;--ready-text:#166534;--tone-positive-bg:#ecfdf3;--tone-positive-text:#166534;--tone-positive-border:#86efac;--tone-info-bg:#eff6ff;--tone-info-text:#1d4ed8;--tone-info-border:#93c5fd;--tone-caution-bg:#fffbeb;--tone-caution-text:#b45309;--tone-caution-border:#fcd34d;--tone-critical-bg:#fef2f2;--tone-critical-text:#b91c1c;--tone-critical-border:#fca5a5;--tone-neutral-bg:#f1f5f9;--tone-neutral-text:#334155;--tone-neutral-border:#cbd5e1;--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow:0 1px 2px #0f172a0d;--shadow-hover:0 6px 16px #0f172a0f;--shadow-drawer:8px 0 32px #0f172a1f;--focus-ring:0 0 0 3px #0f172a33;--control-height:40px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--topbar-height:56px;--sidebar-width:240px;--motion:.16s ease;--font:Inter, ui-sans-serif, system-ui, sans-serif}html{background:var(--surface-muted);color:var(--text);font-family:var(--font)}body{min-height:100vh;margin:0}body.nav-lock{overflow:hidden}*{box-sizing:border-box}a{color:inherit;text-decoration:none}:focus{outline:none}:focus-visible{box-shadow:var(--focus-ring);outline:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-5);box-shadow:var(--shadow)}a.card{transition:border-color var(--motion),box-shadow var(--motion);display:block}a.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-hover)}.card-heading{margin:0;font-size:15px;font-weight:700;display:block}.card-lede{margin:6px 0 0}.btn-primary,.btn-secondary{min-height:var(--control-height);border-radius:var(--radius);cursor:pointer;transition:background-color var(--motion),border-color var(--motion),color var(--motion);justify-content:center;align-items:center;padding:8px 14px;font-size:14px;font-weight:650;display:inline-flex}.btn-primary{border:1px solid var(--accent);background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}.btn-secondary.is-active,.btn-secondary:hover:not(:disabled){background:var(--surface-muted)}.btn-secondary.is-active{border-color:var(--accent,var(--border-strong));font-weight:600}.btn-primary:disabled,.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.btn-primary:focus-visible,.btn-secondary:focus-visible,a.btn-primary:focus-visible,a.btn-secondary:focus-visible{box-shadow:var(--focus-ring)}.link-action{color:var(--link-action);border-radius:6px;font-size:13px;font-weight:650}.link-action:hover{text-decoration:underline}.link-as-button{justify-content:center;align-items:center;display:inline-flex}.row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.inline-input,.inline-select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:var(--control-height);font:inherit;background:var(--surface);max-width:160px;padding:6px 8px}.filter-bar{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;display:grid}.filter-bar--compact{grid-template-columns:minmax(0,280px) auto}.field-stack,.filter-bar label{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.field-max{max-width:420px}.field-stack input,.field-stack select,.field-stack textarea,.filter-bar input,.filter-bar select,.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--border-strong);min-height:var(--control-height);font:inherit;background:var(--surface);border-radius:10px;padding:8px 12px}.field-stack textarea,.form-grid textarea{resize:vertical;min-height:72px}.field-stack input:focus-visible,.field-stack select:focus-visible,.filter-bar input:focus-visible,.filter-bar select:focus-visible,.form-grid input:focus-visible,.form-grid select:focus-visible,.form-grid textarea:focus-visible,.inline-input:focus-visible,.inline-select:focus-visible{box-shadow:var(--focus-ring)}.checkbox-label{min-height:var(--control-height);align-items:center;font-weight:600;flex-direction:row!important;gap:8px!important;display:flex!important}.checkbox-label input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--accent)}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.detail-grid .full{grid-column:1/-1}.detail-grid dt{text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.detail-grid dd{margin:4px 0 0;font-size:14px;font-weight:600}.shell{min-height:100vh}.topbar{height:var(--topbar-height);border-bottom:1px solid var(--border);background:var(--surface);padding:0 var(--space-4);z-index:40;justify-content:space-between;position:sticky;top:0}.topbar,.topbar-end,.topbar-start{align-items:center;gap:var(--space-3);display:flex}.topbar-end,.topbar-start{min-width:0}.brand{border-radius:8px;margin-inline:-8px;padding:6px 8px;font-size:15px;font-weight:750}.topbar-org{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:13px;overflow:hidden}.nav-toggle{width:var(--control-height);height:var(--control-height);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0;display:none}.nav-toggle-bars{flex-direction:column;gap:4px;width:16px;display:flex}.nav-toggle-bars span{background:currentColor;border-radius:1px;height:2px;display:block}.workspace{max-width:1440px;margin:0 auto;display:flex}.sidebar{width:var(--sidebar-width);min-height:calc(100vh - var(--topbar-height));border-right:1px solid var(--border);background:var(--surface);padding:var(--space-4);flex-shrink:0}.sidebar a,.workspace-nav a{min-height:var(--control-height);transition:background-color var(--motion);border-radius:10px;align-items:center;margin-bottom:2px;padding:9px 12px;font-size:14px;font-weight:600;display:flex}.sidebar a.router-link-active,.sidebar a:hover,.workspace-nav a.router-link-active,.workspace-nav a:hover{background:var(--surface-hover)}.sidebar a.nav-shared,.workspace-nav a.nav-shared{color:#475569;font-weight:500}.content{min-width:0;padding:var(--space-6);flex:1}.nav-backdrop,.nav-drawer{display:none}.grid{gap:var(--space-4);display:grid}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-value{letter-spacing:-.02em;margin:4px 0;font-size:1.35rem;font-weight:700}.modules{grid-template-columns:repeat(3,minmax(0,1fr))}.muted{color:var(--text-muted)}.nav-group{letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);margin:8px 0 6px;font-size:11px;font-weight:700}.nav-group+.nav-group,.nav-group.spaced{margin-top:var(--space-4)}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.card>.page-header{margin-bottom:0}.page-header h1{letter-spacing:-.02em;margin:8px 0 4px;font-size:1.375rem;font-weight:700}.section-heading{margin:var(--space-8) 0 var(--space-4);font-size:1.05rem;font-weight:700}.eyebrow{text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:12px;font-weight:700}.badge{letter-spacing:.02em;background:var(--tone-neutral-bg);color:var(--tone-neutral-text);border:1px solid var(--tone-neutral-border);white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.badge-shared{background:var(--shared-bg);color:var(--shared-text);border-color:#fcd34d}.badge-ready{background:var(--ready-bg);color:var(--ready-text);border-color:#86efac}.table-scroll{overscroll-behavior-x:contain;margin-top:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(to right,#0f172a0f,transparent 16px) border-box;overflow-x:auto}.table-scroll:focus-visible{box-shadow:var(--focus-ring)}.data-table{border-collapse:collapse;width:100%;min-width:640px;font-size:14px}.data-table td,.data-table th{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}.data-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-muted);font-size:12px;font-weight:700}.data-table tr:last-child td{border-bottom:0}.data-table .row-actions{min-width:9rem}.form-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid label{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.form-grid label.full{grid-column:1/-1}.form-actions{margin-top:var(--space-3);flex-wrap:wrap;gap:8px;display:flex}.form-actions.tight{margin:0}.form-block{margin-top:var(--space-3)}.status-pill{background:var(--tone-neutral-bg);color:var(--tone-neutral-text);border:1px solid var(--tone-neutral-border);border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:12px;font-weight:650;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:999px;flex-shrink:0;width:6px;height:6px}.status-pill--positive{background:var(--tone-positive-bg);color:var(--tone-positive-text);border-color:var(--tone-positive-border)}.status-pill--info{background:var(--tone-info-bg);color:var(--tone-info-text);border-color:var(--tone-info-border)}.status-pill--caution{background:var(--tone-caution-bg);color:var(--tone-caution-text);border-color:var(--tone-caution-border)}.status-pill--critical{background:var(--tone-critical-bg);color:var(--tone-critical-text);border-color:var(--tone-critical-border)}.status-pill--neutral{background:var(--tone-neutral-bg);color:var(--tone-neutral-text);border-color:var(--tone-neutral-border)}.stack{gap:var(--space-4);display:grid}.error-banner{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.error-banner,.success-banner{border-radius:var(--radius);padding:12px 14px;font-size:14px}.success-banner{border:1px solid var(--success-border);background:var(--success-bg);color:var(--success-text)}.empty-state,.feedback-status{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:14px}.pagination-bar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.pagination-actions{gap:8px;display:flex}.mt{margin-top:var(--space-3)}.mt-lg{margin-top:var(--space-6)}.auth-panel{max-width:520px;padding:0 var(--space-4);margin:64px auto}.btn-block{width:100%}@media (width<=900px){.sidebar{display:none}.nav-toggle{display:inline-flex}.metrics,.modules{grid-template-columns:1fr 1fr}.detail-grid,.filter-bar,.filter-bar--compact,.form-grid{grid-template-columns:1fr}.content{padding:var(--space-4)}.nav-backdrop{z-index:50;opacity:0;pointer-events:none;transition:opacity var(--motion);background:#0f172a5c;display:block;position:fixed;inset:0}.nav-backdrop.is-visible{opacity:1;pointer-events:auto}.nav-drawer{background:var(--surface);z-index:60;width:min(320px,88vw);padding:var(--space-4);box-shadow:var(--shadow-drawer);visibility:hidden;transition:transform var(--motion),visibility var(--motion);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.nav-drawer.is-open{visibility:visible;transform:translate(0)}.nav-drawer-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.nav-drawer-header h2{margin:0;font-size:1rem}.nav-drawer-close{width:var(--control-height);height:var(--control-height);border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;font-size:18px;line-height:1}}@media (width<=560px){.metrics,.modules{grid-template-columns:1fr}.page-header{flex-direction:column}.topbar{padding:0 var(--space-3)}.topbar-org{max-width:120px}.pagination-bar{flex-direction:column;align-items:stretch}.pagination-actions{grid-template-columns:1fr 1fr;display:grid}.pagination-actions .btn-secondary{width:100%}.row-actions{flex-direction:column;align-items:stretch}.inline-input,.inline-select{width:100%;max-width:none}.data-table{min-width:560px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
