:root{--brand-050: rgba(37, 99, 235, .08);--brand-100: rgba(37, 99, 235, .15);--brand-200: rgba(37, 99, 235, .25);--brand-300: #93c5fd;--brand-400: #60a5fa;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-800: #1e40af;--brand-900: #1e3a8a;--brand-950: #172554;--sidebar-gradient-start: #0756f7;--sidebar-gradient-mid: #081e48;--sidebar-gradient-end: #051330;--sidebar-border: rgba(30, 58, 138, .5);--navy-950: #051330;--navy-900: #081e48;--navy-850: #0c2b66;--navy-800: #0756f7;--navy-700: #1d4ed8;--navy-600: #2563eb;--navy-500: #3b82f6;--navy-ink: #ffffff;--navy-ink-muted: #c4d3f6;--navy-ink-faint: #92aff0;--canvas: #f8fafc;--surface: #ffffff;--surface-sunken: #f1f5f9;--surface-raised: #ffffff;--overlay: rgba(15, 23, 42, .6);--ink: #0f172a;--ink-strong: #020617;--ink-muted: #64748b;--ink-faint: #94a3b8;--ink-inverse: #ffffff;--line: #e2e8f0;--line-soft: #f1f5f9;--line-strong: #cbd5e1;--line-shimmer: #e2e8f0;--ok: #047857;--ok-strong: #065f46;--ok-soft: #ecfdf5;--ok-line: rgba(167, 243, 208, .8);--warn: #b45309;--warn-strong: #92400e;--warn-soft: #fffbeb;--warn-line: rgba(253, 230, 138, .8);--warn-fill: #d97706;--warn-fill-strong: #b45309;--danger: #be123c;--danger-strong: #9f1239;--danger-faint: #fca5a5;--danger-soft: #fff1f2;--danger-line: rgba(254, 205, 211, .8);--info: #1d4ed8;--info-soft: #eff6ff;--info-line: #bfdbfe;--authority: #1d4ed8;--authority-strong: #1e40af;--authority-soft: #eff6ff;--authority-line: #bfdbfe;--uni-core: #2563eb;--uni-people: #7c3aed;--uni-finance: #059669;--uni-sales: #ea580c;--uni-admin: #db2777;--uni-control: #ca8a04;--ink-slate: #334155;--ink-subtle: #64748b;--line-slate: #cbd5e1;--brand-light: #2563eb;--brand-soft-blue: #3b82f6;--radius-xs: 4px;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-pill: 999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-card: 0 1px 3px 0 rgba(0, 0, 0, .05), 0 1px 2px -1px rgba(0, 0, 0, .05);--shadow-raised: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .07);--shadow-overlay: 0 10px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--focus-ring: 0 0 0 2px rgba(37, 99, 235, .2);--shadow-glow: 0 0 12px rgba(37, 99, 235, .25);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-7: 32px;--s-8: 40px;--s-9: 56px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--text-xs: 11.5px;--text-sm: 12.5px;--text-base: 13.5px;--text-md: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--sidebar-w: 272px;--sidebar-w-collapsed: 68px;--header-h: 60px;--content-max: 1440px;--z-sticky: 20;--z-sidebar: 40;--z-overlay: 60;--z-toast: 80;color-scheme:light;accent-color:var(--brand-600)}:root{--bg: var(--canvas);--panel: var(--surface);--panel-navy: var(--surface);--border: var(--line);--muted: var(--ink-muted);--muted-ink: var(--ink-muted);--accent: var(--brand-600);--accent-soft: var(--brand-050)}.brand-logo{display:inline-flex;align-items:center;gap:var(--s-2);line-height:1}.brand-logo-stacked{flex-direction:column;gap:var(--s-3);text-align:center}.brand-words{display:flex;flex-direction:column;gap:2px}.brand-logo-stacked .brand-words{align-items:center}.brand-wordmark{font-weight:800;letter-spacing:-.022em;line-height:1}.brand-tagline{font-size:var(--text-sm);font-weight:500;color:var(--ink-muted);letter-spacing:.01em}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background-color:var(--canvas);background-image:radial-gradient(rgba(196,211,246,.05) 1px,transparent 1px);background-size:28px 28px;color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;letter-spacing:-.011em;color:var(--ink-strong);font-weight:650}h1{font-size:var(--text-xl)}h2{font-size:var(--text-md)}h3{font-size:var(--text-base)}p{margin:0 0 var(--s-3)}p:last-child{margin-bottom:0}code,.mono{font-family:var(--font-mono);font-size:.92em;font-variant-numeric:tabular-nums}a{color:var(--brand-500);text-underline-offset:2px}a:hover{color:var(--brand-400)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--brand-600);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:#0066ff73;color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--s-3);top:-60px;z-index:calc(var(--z-toast) + 1);background:var(--surface);color:var(--brand-800);border:1px solid var(--brand-600);border-radius:var(--radius-sm);padding:var(--s-3) var(--s-4);min-height:44px;display:inline-flex;align-items:center;font-weight:600;transition:top .15s ease}.skip-link:focus{top:var(--s-3)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.muted{color:var(--ink-muted)}.faint{color:var(--ink-faint)}.small{font-size:var(--text-sm)}.strong{font-weight:650;color:var(--ink-strong)}.num{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack{display:flex;flex-direction:column;gap:var(--s-1);min-width:0}.dims{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center}.right{text-align:right}.center{max-width:420px;margin:8vh auto}.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.scroll:focus-visible{outline:2px solid var(--brand-600);outline-offset:-2px}.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--s-5)}.app{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;background:var(--canvas)}.app[data-sidebar=collapsed]{grid-template-columns:var(--sidebar-w-collapsed) minmax(0,1fr)}.sidebar{grid-row:1;position:sticky;overflow:hidden;top:0;height:100vh;display:flex;flex-direction:column;background-color:var(--sidebar-gradient-mid);background-image:linear-gradient(180deg,var(--sidebar-gradient-start) 0%,var(--sidebar-gradient-mid) 45%,var(--sidebar-gradient-end) 100%);color:var(--navy-ink);border-right:1px solid var(--sidebar-border);z-index:var(--z-sidebar);min-width:0}.sidebar-brand{display:flex;align-items:center;gap:var(--s-3);height:var(--header-h);padding:0 var(--s-4);border-bottom:1px solid rgba(255,255,255,.1);flex:none;min-width:0}.sidebar-brand-text{display:flex;flex-direction:column;min-width:0;overflow:hidden}.sidebar-brand-name{font-size:var(--text-base);font-weight:700;letter-spacing:-.025em;color:var(--navy-ink);white-space:nowrap}.sidebar-brand-descriptor{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#bfdbfeb3;white-space:nowrap}.sidebar-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--s-3) var(--s-2) var(--s-5);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.sidebar-scroll::-webkit-scrollbar{width:8px}.sidebar-scroll::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-pill)}.nav-group+.nav-group{margin-top:var(--s-2)}.nav-group-toggle{display:flex;align-items:center;gap:var(--s-2);width:100%;background:none;border:0;padding:16px 12px 4px;color:#bfdbfe80;font:inherit;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius-sm)}.nav-group-toggle:hover{color:#dbeafed9;background:#ffffff14}.nav-group-toggle .chev{margin-left:auto;transition:transform .15s ease;flex:none}.nav-group-toggle[aria-expanded=false] .chev{transform:rotate(-90deg)}.nav-list{list-style:none;margin:0;padding:0 0 var(--s-1);display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:38px;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:none;color:#dbeafebf;font:inherit;font-size:var(--text-base);font-weight:500;text-align:left;cursor:pointer;text-decoration:none;position:relative;min-width:0;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.nav-item:hover{background:#ffffff1a;color:var(--navy-ink)}.nav-item:focus-visible{outline:2px solid var(--brand-300);outline-offset:-2px}.nav-item .nav-icon{flex:none;opacity:.85}.nav-item .nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item[aria-current=page]{background:#ffffff26;color:var(--navy-ink);font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 2px #0003}.nav-item[aria-current=page]:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:var(--brand-400);box-shadow:0 0 8px #60a5fa99}.nav-item[aria-current=page] .nav-icon{opacity:1;color:var(--navy-ink)}.nav-count{margin-left:auto;flex:none;min-width:20px;height:18px;padding:2px 8px;border-radius:var(--radius-pill);background:#3b82f64d;color:var(--navy-ink);font-family:var(--font-mono);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;justify-content:center}.nav-count[data-tone=attention]{background:var(--warn-fill-strong);color:var(--ink-inverse)}.sidebar-foot{flex:none;border-top:1px solid rgba(255,255,255,.14);padding:var(--s-3);display:flex;align-items:center;gap:var(--s-2)}.sidebar-collapse{display:inline-flex;align-items:center;gap:var(--s-2);background:none;border:0;color:var(--navy-ink-faint);font:inherit;font-size:var(--text-sm);padding:var(--s-2);border-radius:var(--radius-sm);cursor:pointer;min-height:36px}.sidebar-collapse:hover{background:#ffffff1f;color:var(--navy-ink)}.app[data-sidebar=collapsed] .sidebar-brand-text,.app[data-sidebar=collapsed] .nav-label,.app[data-sidebar=collapsed] .nav-group-toggle span:not(.chev),.app[data-sidebar=collapsed] .sidebar-collapse span{display:none}.app[data-sidebar=collapsed] .nav-group-toggle{justify-content:center;padding:var(--s-1);pointer-events:none}.app[data-sidebar=collapsed] .nav-group-toggle .chev{display:none}.app[data-sidebar=collapsed] .nav-group+.nav-group{margin-top:var(--s-2);border-top:1px solid var(--navy-800);padding-top:var(--s-2)}.app[data-sidebar=collapsed] .nav-item{justify-content:center;padding:var(--s-2)}.app[data-sidebar=collapsed] .nav-count{position:absolute;top:2px;right:2px;margin:0;min-width:16px;height:16px;font-size:10px}.app[data-sidebar=collapsed] .sidebar-brand{justify-content:center;padding:0}.app[data-sidebar=collapsed] .sidebar-foot{justify-content:center}.topbar{position:sticky;top:0;z-index:var(--z-sticky);height:var(--header-h);display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-5);background:var(--surface);box-shadow:0 1px 2px #0000000d;border-bottom:1px solid var(--line);color:var(--ink)}.topbar-search{position:relative;flex:1 1 420px;max-width:460px;min-width:0}.topbar-search input{width:100%;height:36px;padding:0 var(--s-3) 0 34px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#f1f5f9cc;font:inherit;font-size:var(--text-base);color:var(--ink);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.topbar-search input::placeholder{color:var(--ink-faint);opacity:1}.topbar-search input:focus{background:var(--surface);border-color:var(--brand-600);box-shadow:0 0 0 2px #2563eb33;outline:none}.topbar-search .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ink-muted);pointer-events:none}.topbar-actions{display:flex;align-items:center;gap:var(--s-1);margin-left:auto;min-width:0}.icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--ink-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.icon-button:hover{background:var(--surface-sunken);color:var(--ink);border-color:var(--line)}.icon-button[aria-expanded=true]{background:var(--info-soft);color:var(--info);border-color:var(--info-line)}.icon-button .dot{position:absolute;top:3px;right:3px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill);background:var(--warn-fill-strong);color:var(--ink-inverse);font-size:10px;font-weight:700;line-height:16px;font-variant-numeric:tabular-nums;border:2px solid var(--surface)}.entity-select{display:inline-flex;align-items:center;gap:var(--s-2);height:36px;padding:0 var(--s-2) 0 var(--s-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);color:var(--ink);font:inherit;font-size:var(--text-xs);font-weight:600;cursor:pointer;max-width:230px;transition:background-color .15s ease,border-color .15s ease}.entity-select:hover{border-color:var(--line-strong);background:var(--surface-sunken)}.entity-select .entity-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--info-soft);color:var(--info);font-weight:600;font-size:var(--text-sm);letter-spacing:.02em;flex:none;border:1px solid var(--info-line);text-transform:uppercase}.profile-button{display:inline-flex;align-items:center;gap:var(--s-2);height:40px;padding:0 var(--s-2);border:1px solid transparent;border-radius:var(--radius-sm);background:none;font:inherit;cursor:pointer;color:var(--ink);max-width:220px;min-width:0;transition:background-color .15s ease,border-color .15s ease}.profile-button:hover{background:var(--surface-sunken);border-color:var(--line)}.profile-button .who{display:none;text-align:left;min-width:0;max-width:150px;overflow:hidden}.profile-button .who-name{display:block;font-size:var(--text-xs);font-weight:500;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.profile-button .who-role{display:block;font-size:11px;color:var(--ink-muted);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:900px){.profile-button .who{display:block}}.menu-anchor{position:relative;min-width:0}.menu{position:absolute;right:0;top:calc(100% + 6px);min-width:280px;max-width:min(92vw,400px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-overlay);padding:var(--s-2);z-index:var(--z-overlay);color:var(--ink)}.menu-title{padding:var(--s-2) var(--s-3);font-size:var(--text-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-muted)}.menu-head{padding:var(--s-3);border-bottom:1px solid var(--line-soft);margin-bottom:var(--s-2)}.menu-item{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:38px;padding:var(--s-2) var(--s-3);border:0;border-radius:var(--radius-sm);background:none;font:inherit;font-size:var(--text-base);color:var(--ink-slate);text-align:left;cursor:pointer;text-decoration:none;transition:background-color .15s ease,color .15s ease}.menu-item:hover{background:var(--surface-sunken);color:var(--ink)}.menu-item[data-tone=danger]{color:var(--danger)}.menu-item[data-tone=danger]:hover{background:var(--danger-soft);color:var(--danger-strong)}.menu-sep{height:1px;background:var(--line-soft);margin:var(--s-2) 0}.menu-empty{padding:var(--s-4) var(--s-3);color:var(--ink-muted);font-size:var(--text-base)}.menu-scroll{max-height:60vh;overflow-y:auto;scrollbar-width:thin}.main{min-width:0;display:flex;flex-direction:column}.page{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--s-5) var(--s-6) var(--s-9);min-width:0}.breadcrumb{margin-bottom:var(--s-2);font-size:var(--text-sm);color:var(--ink-muted)}.breadcrumb ol{display:flex;align-items:center;gap:var(--s-1);flex-wrap:wrap;list-style:none;margin:0;padding:0}.breadcrumb li{display:inline-flex;align-items:center;gap:var(--s-1)}.breadcrumb .sep{color:var(--line-strong)}.breadcrumb a,.breadcrumb button.crumb{color:var(--ink-muted);background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:none}.breadcrumb a:hover,.breadcrumb button.crumb:hover{color:var(--brand-700);text-decoration:underline}.breadcrumb [aria-current=page]{color:var(--ink);font-weight:600}.page-head{display:flex;align-items:flex-start;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-5)}.page-head-text{min-width:0;flex:1 1 340px}.page-title{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.page-title h1{font-size:var(--text-2xl);font-weight:680;letter-spacing:-.02em;line-height:1.2}.page-lede{margin:var(--s-2) 0 0;color:var(--ink-muted);font-size:var(--text-base);max-width:78ch}.page-actions{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-left:auto}.page-actions select{width:auto;max-width:200px}.tabbar{display:flex;gap:var(--s-1);border-bottom:1px solid var(--line);margin-bottom:var(--s-5);overflow-x:auto;scrollbar-width:thin}.tabbar button{flex:none;position:relative;border:0;background:none;padding:var(--s-3);margin-bottom:-1px;font:inherit;font-size:var(--text-base);color:var(--ink-muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;min-height:44px}.tabbar button:hover{color:var(--ink)}.tabbar button[aria-current=true]{color:var(--brand-800);font-weight:650;border-bottom-color:var(--brand-600)}.tabbar .tab-count{margin-left:var(--s-2);font-size:var(--text-xs);font-weight:700;background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-pill);padding:1px 6px;color:var(--ink-muted);font-variant-numeric:tabular-nums}@media(max-width:1200px){.app{grid-template-columns:var(--sidebar-w-collapsed) minmax(0,1fr)}.app .sidebar-brand-text,.app .nav-label,.app .nav-group-toggle span:not(.chev),.app .sidebar-collapse span{display:none}.app .nav-group-toggle{justify-content:center;padding:var(--s-1);pointer-events:none}.app .nav-group-toggle .chev{display:none}.app .nav-group+.nav-group{border-top:1px solid var(--navy-800);padding-top:var(--s-2)}.app .nav-item{justify-content:center;padding:var(--s-2)}.app .nav-count{position:absolute;top:2px;right:2px;margin:0;min-width:16px;height:16px;font-size:10px}.app .sidebar-brand{justify-content:center;padding:0}.app .sidebar-foot{justify-content:center}.page{padding:var(--s-5) var(--s-5) var(--s-9)}}@media(max-width:1023px){.app,.app[data-sidebar=collapsed]{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);transform:translate(-100%);transition:transform .2s ease;box-shadow:none}.app[data-drawer=open] .sidebar{transform:translate(0);box-shadow:var(--shadow-overlay)}.app .sidebar-brand-text{display:flex}.app .nav-label,.app .nav-group-toggle span:not(.chev),.app .sidebar-collapse span{display:inline}.app .nav-group-toggle{justify-content:flex-start;padding:var(--s-3);pointer-events:auto;min-height:44px}.app .nav-group-toggle .chev{display:block}.app .nav-group+.nav-group{border-top:0;padding-top:0}.app .nav-item{justify-content:flex-start;padding:var(--s-2) var(--s-3);min-height:44px}.app .nav-count{position:static;margin-left:auto;min-width:20px;height:18px;font-size:var(--text-xs)}.app .sidebar-brand{justify-content:flex-start;padding:0 var(--s-4)}.app .sidebar-foot{justify-content:flex-start}.app .sidebar-collapse{min-height:44px;padding:var(--s-2) var(--s-3)}.scrim{position:fixed;inset:0;background:var(--overlay);z-index:calc(var(--z-sidebar) - 1);border:0;padding:0}.page{padding:var(--s-4) var(--s-4) var(--s-8)}.topbar{padding:0 var(--s-4);gap:var(--s-2)}.topbar-search{flex-basis:200px}}@media(max-width:620px){.tabbar{gap:0;-webkit-overflow-scrolling:touch}.tabbar button{padding:var(--s-3) var(--s-2)}}@media(max-width:640px){.page-title h1{font-size:var(--text-xl)}.page-head{gap:var(--s-3)}.page-actions{margin-left:0;width:100%}.page-actions>*{flex:1 1 auto;justify-content:center}.topbar-search,.entity-select{display:none}.page{padding:var(--s-4) var(--s-3) var(--s-8)}}[data-drawer-toggle=true],.topbar-brand{display:none}@media(max-width:1023px){[data-drawer-toggle=true]{display:inline-flex}.topbar-brand{display:inline-flex;align-items:center;gap:var(--s-2);flex:none;color:var(--brand-800);font-weight:700;font-size:var(--text-base);letter-spacing:-.015em;text-decoration:none;white-space:nowrap}}@media(max-width:520px){.topbar-brand .topbar-brand-name{display:none}}.card-surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:var(--s-4);min-width:0}.card-surface:last-child{margin-bottom:0}.card-surface[data-flush=true]{overflow:hidden}.card-head{display:flex;align-items:flex-start;gap:var(--s-3);flex-wrap:wrap;padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line-soft)}.card-head-text{min-width:0;flex:1 1 260px}.card-head h2,.card-head h3{font-size:var(--text-md);font-weight:650;display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.card-head p{margin:var(--s-1) 0 0;color:var(--ink-muted);font-size:var(--text-sm);max-width:80ch}.card-head-actions{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-left:auto}.card-body{padding:var(--s-5);min-width:0}.card-body[data-pad=none]{padding:0}.card-foot{padding:var(--s-3) var(--s-5);border-top:1px solid var(--line-soft);background:var(--surface-sunken);border-radius:0 0 var(--radius) var(--radius);display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;font-size:var(--text-sm);color:var(--ink-muted)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--s-4);align-items:start}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-4);align-items:start}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:36px;padding:0 var(--s-4);border-radius:var(--radius-sm);border:1px solid transparent;font:inherit;font-size:var(--text-base);font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn[data-variant=primary]{background:var(--brand-600);color:var(--ink-inverse);box-shadow:0 1px 2px #2563eb33}.btn[data-variant=primary]:hover:not(:disabled){background:var(--brand-700);box-shadow:0 2px 4px #2563eb4d}.btn[data-variant=primary]:active:not(:disabled){background:var(--brand-800)}.btn[data-variant=secondary]{background:var(--surface);color:var(--ink-slate);border-color:var(--line-strong);box-shadow:0 1px 2px #0000000a}.btn[data-variant=secondary]:hover:not(:disabled){border-color:var(--ink-muted);color:var(--ink);background:var(--surface-sunken)}.btn[data-variant=ghost]{background:none;color:var(--ink-muted)}.btn[data-variant=ghost]:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink)}.btn[data-variant=danger]{background:var(--danger);color:var(--ink-inverse)}.btn[data-variant=danger]:hover:not(:disabled){background:var(--danger-strong)}.btn[data-variant=authority]{background:var(--brand-600);color:var(--ink-inverse)}.btn[data-variant=authority]:hover:not(:disabled){background:var(--brand-700)}.btn[data-variant=link]{background:none;border:0;color:var(--brand-700);padding:0;min-height:0;font-weight:600;text-decoration:underline;text-underline-offset:2px}.btn[data-variant=link]:hover:not(:disabled){color:var(--brand-800)}.btn[data-size=sm]{min-height:30px;padding:0 var(--s-3);font-size:var(--text-sm)}.btn[data-size=lg]{min-height:42px;padding:0 var(--s-5);font-size:var(--text-md)}.btn[data-block=true]{width:100%}@media(pointer:coarse){.btn,.icon-button,.menu-item,.nav-item{min-height:44px}.icon-button{width:44px;height:44px}}.btn-group{display:inline-flex;gap:var(--s-2);flex-wrap:wrap;align-items:center}.spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:500;line-height:1.5;white-space:nowrap;border:1px solid var(--line);background:var(--surface-sunken);color:var(--ink-slate);max-width:100%}.badge .badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.badge[data-tone=success]{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-line)}.badge[data-tone=attention]{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-line)}.badge[data-tone=attention] .badge-dot{border-radius:1px;transform:rotate(45deg)}.badge[data-tone=critical]{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.badge[data-tone=critical] .badge-dot{border-radius:1px}.badge[data-tone=info]{background:var(--info-soft);color:var(--info);border-color:var(--info-line)}.badge[data-tone=authority]{background:var(--authority-soft);color:var(--authority);border-color:var(--authority-line)}.badge[data-tone=authority] .badge-dot{border-radius:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:8px;height:8px}.badge[data-size=lg]{font-size:var(--text-sm);padding:3px 11px}.notice-panel{display:flex;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-sunken);color:var(--ink);font-size:var(--text-base);margin-bottom:var(--s-4);align-items:flex-start}.notice-panel .notice-icon{flex:none;margin-top:1px}.notice-panel .notice-body{min-width:0;flex:1}.notice-panel .notice-body>strong{display:block;margin-bottom:2px}.notice-panel[data-tone=success]{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok-strong)}.notice-panel[data-tone=attention]{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn-strong)}.notice-panel[data-tone=critical]{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger-strong)}.notice-panel[data-tone=info]{background:var(--info-soft);border-color:var(--info-line);color:var(--brand-900)}.notice-panel[data-tone=authority]{background:var(--authority-soft);border-color:var(--authority-line);color:var(--authority-strong)}.notice-panel ul{margin:var(--s-2) 0 0;padding-left:var(--s-5)}.notice-panel li+li{margin-top:2px}.hint-button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-muted);cursor:help;padding:0;flex:none;vertical-align:middle}.hint-button:hover,.hint-button[aria-expanded=true]{border-color:var(--brand-600);color:var(--brand-700)}.hint-wrap{position:relative;display:inline-flex}.hint-bubble{position:absolute;z-index:var(--z-overlay);top:calc(100% + 6px);left:50%;transform:translate(-50%);width:max-content;max-width:min(280px,70vw);background:var(--navy-900);color:var(--ink-inverse);font-size:var(--text-sm);font-weight:400;line-height:1.45;padding:var(--s-2) var(--s-3);border-radius:var(--radius-sm);box-shadow:var(--shadow-raised);text-align:left;white-space:normal}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}table.data{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-base)}table.data caption{text-align:left;padding:0 0 var(--s-2);color:var(--ink-muted);font-size:var(--text-sm)}table.data thead th{position:sticky;top:0;z-index:1;background:var(--surface-sunken);color:var(--ink-slate);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:10px 16px;border-bottom:1px solid var(--line);white-space:nowrap}table.data thead th[data-align=right]{text-align:right}table.data thead th[data-align=center]{text-align:center}table.data tbody td{padding:12px 16px;border-bottom:1px solid var(--line-soft);vertical-align:middle;color:var(--ink)}table.data tbody td[data-align=right]{text-align:right;font-variant-numeric:tabular-nums}table.data tbody td[data-align=center]{text-align:center}table.data tbody tr:last-child td{border-bottom:0}table.data tbody tr:hover td{background:#eff6ff99}table.data tbody tr[data-selected=true] td{background:#dbeafe99}table.data .cell-actions{display:flex;gap:var(--s-1);justify-content:flex-end;align-items:center;white-space:nowrap}.th-sort{display:inline-flex;align-items:center;gap:var(--s-1);background:none;border:0;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.th-sort:hover{color:var(--brand-700)}.th-sort .sort-icon{opacity:.35}.th-sort[data-sorted=asc] .sort-icon,.th-sort[data-sorted=desc] .sort-icon{opacity:1;color:var(--brand-700)}.table-toolbar{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line-soft);background:var(--surface);border-radius:var(--radius) var(--radius) 0 0}.table-search{position:relative;flex:1 1 240px;max-width:340px;min-width:160px}.table-search input{width:100%;height:34px;padding:0 var(--s-3) 0 32px}.table-search .search-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--ink-faint);pointer-events:none}.table-toolbar .filter-select{height:34px;width:auto;min-width:130px;max-width:220px;padding:0 var(--s-2)}.table-toolbar-right{margin-left:auto;display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.table-foot{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;padding:var(--s-3) var(--s-4);border-top:1px solid var(--line-soft);font-size:var(--text-sm);color:var(--ink-muted);background:var(--surface-sunken);border-radius:0 0 var(--radius) var(--radius)}.table-foot .pager{margin-left:auto;display:flex;align-items:center;gap:var(--s-2)}@media(max-width:720px){table.data.responsive,table.data.responsive tbody,table.data.responsive tr,table.data.responsive td{display:block;width:100%}table.data.responsive thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}table.data.responsive tbody tr{border:1px solid var(--line);border-radius:var(--radius-sm);margin:var(--s-3) var(--s-3) 0;padding:var(--s-1) 0;background:var(--surface)}table.data.responsive tbody tr:last-child{margin-bottom:var(--s-3)}table.data.responsive tbody td{display:flex;gap:var(--s-3);align-items:baseline;justify-content:space-between;min-width:0;border-bottom:1px solid var(--line-soft);padding:var(--s-2) var(--s-4);text-align:left}table.data.responsive tbody td[data-align=right]{text-align:right}table.data.responsive tbody tr td:last-child{border-bottom:0}table.data.responsive tbody td:before{content:attr(data-label);flex:none;color:var(--ink-muted);font-size:var(--text-xs);font-weight:650;text-transform:uppercase;letter-spacing:.04em;padding-right:var(--s-3)}table.data.responsive tbody td[data-label=""]:before{display:none}table.data.responsive .cell-actions{justify-content:flex-end;flex-wrap:wrap}}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>label,label.field-label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--ink);margin:0}.field .req{color:var(--danger);margin-left:2px}.field .optional{color:var(--ink-faint);font-weight:400;margin-left:var(--s-1)}.field-help{font-size:var(--text-sm);color:var(--ink-muted)}.field-error{font-size:var(--text-sm);color:var(--danger);font-weight:600;display:flex;align-items:center;gap:var(--s-1)}input,select,textarea{width:100%;min-height:36px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-base);background:var(--surface);color:var(--ink);transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input:focus,select:focus,textarea:focus{border-color:var(--brand-600);background:var(--surface);box-shadow:var(--focus-ring);outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--surface-sunken);color:var(--ink-muted);cursor:not-allowed}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}input[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px #9b1c1c38}textarea{min-height:84px;resize:vertical}input[type=checkbox],input[type=radio]{width:16px;min-height:16px;height:16px;margin:0}.check-row{display:flex;align-items:center;gap:var(--s-2);font-size:var(--text-base);min-height:36px}.check-row label{font-weight:400;margin:0}.form-section{border-top:1px solid var(--line-soft);padding-top:var(--s-4);margin-top:var(--s-4)}.form-section:first-child{border-top:0;padding-top:0;margin-top:0}.form-section-head{margin-bottom:var(--s-3)}.form-section-head h3{font-size:var(--text-base);font-weight:650;display:flex;align-items:center;gap:var(--s-2)}.form-section-head .step-no{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--brand-600);color:var(--ink);font-size:var(--text-xs);font-weight:700;box-shadow:0 0 8px #06f6;flex:none}.form-section-head p{margin:var(--s-1) 0 0;font-size:var(--text-sm);color:var(--ink-muted)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--s-3) var(--s-4);align-items:start}.form-grid[data-cols="1"]{grid-template-columns:1fr}.form-grid[data-cols="2"]{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.form-grid .span-2{grid-column:1 / -1}.form-actions{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center;margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line-soft)}.form-actions .spacer{flex:1}.overlay{position:fixed;inset:0;background:#061938c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:var(--z-overlay);display:flex;padding:var(--s-4)}.overlay[data-kind=modal]{align-items:center;justify-content:center}.overlay[data-kind=drawer]{align-items:stretch;justify-content:flex-end;padding:0}.dialog{background:var(--surface);border:1px solid rgba(196,211,246,.22);border-radius:var(--radius-lg);box-shadow:0 24px 60px #061938cc,0 0 24px #0066ff2e;width:min(640px,100%);max-height:min(88vh,900px);display:flex;flex-direction:column;min-width:0;overflow:hidden}.dialog[data-size=sm]{width:min(460px,100%)}.dialog[data-size=lg]{width:min(880px,100%)}.overlay[data-kind=drawer] .dialog{border-radius:0;height:100%;max-height:100%;width:min(720px,100%)}.overlay[data-kind=drawer] .dialog[data-size=sm]{width:min(480px,100%)}.overlay[data-kind=drawer] .dialog[data-size=lg]{width:min(960px,100%)}.dialog-head{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-4) var(--s-5);background:var(--canvas);border-bottom:2px solid var(--brand-600);color:var(--ink);flex:none}.dialog-head-text{min-width:0;flex:1}.dialog-head h2{font-size:var(--text-lg);font-weight:650;color:var(--ink)}.dialog-head p{margin:var(--s-1) 0 0;color:var(--ink-muted);font-size:var(--text-sm)}.dialog-head .icon-button{color:var(--ink-muted)}.dialog-head .icon-button:hover{color:var(--ink);background:#c4d3f61f}.dialog-body{padding:var(--s-5);overflow-y:auto;flex:1;min-height:0}.dialog-foot{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;padding:var(--s-4) var(--s-5);border-top:1px solid rgba(196,211,246,.2);background:var(--surface);color:var(--ink);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex:none}.overlay[data-kind=drawer] .dialog-foot{border-radius:0}.dialog-foot .spacer{flex:1}@media(max-width:640px){.overlay[data-kind=modal]{align-items:flex-end;padding:0}.dialog,.dialog[data-size=sm],.dialog[data-size=lg]{width:100%;max-height:92vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.overlay[data-kind=drawer] .dialog{border-radius:0}.dialog-foot>.btn{flex:1 1 auto}}.toast-region{position:fixed;right:var(--s-4);bottom:var(--s-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--s-2);width:min(380px,calc(100vw - var(--s-6)));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--ink-muted);box-shadow:var(--shadow-overlay);font-size:var(--text-base);animation:toast-in .16s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.toast[data-tone=success]{border-left-color:var(--ok)}.toast[data-tone=critical]{border-left-color:var(--danger)}.toast[data-tone=attention]{border-left-color:var(--warn)}.toast[data-tone=info]{border-left-color:var(--brand-600)}.toast .toast-icon{flex:none;margin-top:1px}.toast[data-tone=success] .toast-icon{color:var(--ok)}.toast[data-tone=critical] .toast-icon{color:var(--danger)}.toast[data-tone=attention] .toast-icon{color:var(--warn)}.toast[data-tone=info] .toast-icon{color:var(--brand-600)}.toast-body{flex:1;min-width:0}.toast-body strong{display:block}.toast-body span{color:var(--ink-muted);font-size:var(--text-sm)}.toast-close{flex:none;background:none;border:0;color:var(--ink-faint);cursor:pointer;padding:2px;border-radius:var(--radius-xs)}.toast-close:hover{color:var(--ink);background:var(--surface-sunken)}@media(max-width:640px){.toast-region{left:var(--s-3);right:var(--s-3);bottom:var(--s-3);width:auto}}.state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-3);padding:var(--s-8) var(--s-5);color:var(--ink-muted)}.state .state-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius);background:var(--surface-sunken);border:1px solid var(--line);color:var(--ink-faint)}.state[data-tone=critical] .state-icon{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}.state[data-tone=attention] .state-icon{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.state h3{font-size:var(--text-md);color:var(--ink-strong)}.state p{margin:0;max-width:56ch;font-size:var(--text-base)}.state .state-actions{display:flex;gap:var(--s-2);flex-wrap:wrap;justify-content:center;margin-top:var(--s-1)}.state[data-compact=true]{padding:var(--s-6) var(--s-4)}.skeleton{display:block;background:linear-gradient(90deg,var(--line-soft) 25%,var(--line-shimmer) 37%,var(--line-soft) 63%);background-size:400% 100%;animation:shimmer 1.3s ease-in-out infinite;border-radius:var(--radius-xs);height:12px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--line-soft)}}.skeleton-rows{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4)}.skeleton-row{display:grid;grid-template-columns:2fr 1.4fr 1fr 1fr;gap:var(--s-4);align-items:center}@media(max-width:620px){.skeleton-row{grid-template-columns:2fr 1fr}}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:var(--s-4);margin-bottom:var(--s-5)}.kpi{position:relative;display:flex;flex-direction:column;gap:var(--s-2);text-align:left;width:100%;padding:var(--s-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);font:inherit;color:var(--ink);min-width:0}button.kpi,a.kpi{cursor:pointer;text-decoration:none}button.kpi:hover,a.kpi:hover{border-color:var(--brand-300);box-shadow:var(--shadow-raised)}.kpi[data-tone=attention]{border-left:3px solid var(--warn)}.kpi[data-tone=critical]{border-left:3px solid var(--danger)}.kpi[data-tone=success]{border-left:3px solid var(--ok)}.kpi-head{display:flex;align-items:center;gap:var(--s-2);min-width:0}.kpi-label{font-size:var(--text-sm);font-weight:650;color:var(--ink-muted);letter-spacing:.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-head .kpi-icon{flex:none;color:var(--ink-faint)}.kpi-value{font-size:var(--text-2xl);font-weight:680;letter-spacing:-.02em;color:var(--ink-strong);font-variant-numeric:tabular-nums;line-height:1.15;overflow-wrap:anywhere}.kpi-value .kpi-currency{font-size:var(--text-md);font-weight:600;color:var(--ink-muted);margin-right:4px}.kpi-context{font-size:var(--text-sm);color:var(--ink-muted)}.kpi-foot{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-top:auto;padding-top:var(--s-1)}.kpi-delta{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-sm);font-weight:650;font-variant-numeric:tabular-nums}.kpi-delta[data-dir=up]{color:var(--ok)}.kpi-delta[data-dir=down]{color:var(--danger)}.kpi-delta[data-dir=flat]{color:var(--ink-muted)}.kpi-drill{margin-left:auto;display:inline-flex;align-items:center;gap:3px;font-size:var(--text-sm);color:var(--brand-700);font-weight:600;background:none;border:0;padding:0;font-family:inherit;cursor:pointer}.kpi:has(.kpi-drill):hover{border-color:var(--brand-300);box-shadow:var(--shadow-raised)}.kpi-drill:after{content:"";position:absolute;inset:0;border-radius:var(--radius)}.kpi-drill:focus-visible:after{outline:2px solid var(--brand-600);outline-offset:2px}.kpi-drill:hover{color:var(--brand-800);text-decoration:underline}.kpi .hint-wrap{position:relative;z-index:1}.kpi-spark{margin-top:var(--s-1)}.stepper{display:flex;flex-wrap:wrap;gap:var(--s-1);list-style:none;margin:0;padding:0}.stepper li{display:flex;align-items:center;gap:var(--s-2);flex:1 1 130px;min-width:0;padding:var(--s-2) var(--s-3);border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--line);font-size:var(--text-sm);color:var(--ink-muted)}.stepper li .step-mark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line-strong);color:var(--ink-faint);font-size:10.5px;font-weight:700;flex:none;background:var(--surface)}.stepper li .step-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stepper li[data-state=done]{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok-strong)}.stepper li[data-state=done] .step-mark{background:var(--ok);border-color:var(--ok);color:var(--ink-inverse)}.stepper li[data-state=current]{background:var(--brand-050);border-color:var(--brand-200);color:var(--brand-900);font-weight:650}.stepper li[data-state=current] .step-mark{background:var(--brand-700);border-color:var(--brand-700);color:var(--ink-inverse)}.stepper li[data-state=blocked]{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger-strong)}.stepper li[data-state=blocked] .step-mark{background:var(--danger);border-color:var(--danger);color:var(--ink-inverse)}.chart-legend{display:flex;gap:var(--s-4);flex-wrap:wrap;font-size:var(--text-sm);color:var(--ink-muted);margin-top:var(--s-3)}.chart-legend span.key{display:inline-flex;align-items:center;gap:6px}.chart-legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.bar-list{display:flex;flex-direction:column;gap:var(--s-3);margin:0;padding:0;list-style:none}.bar-row{display:grid;grid-template-columns:minmax(90px,1.1fr) minmax(0,2.4fr) minmax(80px,auto);gap:var(--s-3);align-items:center;font-size:var(--text-sm)}.bar-row .bar-label{color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:10px;border-radius:var(--radius-pill);background:var(--line-soft);overflow:hidden;min-width:40px}.bar-fill{height:100%;border-radius:var(--radius-pill);background:var(--brand-600);min-width:2px}.bar-fill[data-tone=success]{background:var(--ok)}.bar-fill[data-tone=attention]{background:var(--warn-fill)}.bar-fill[data-tone=critical]{background:var(--danger)}.bar-fill[data-tone=neutral]{background:var(--line-strong)}.bar-row .bar-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:650;color:var(--ink);white-space:nowrap}@media(max-width:520px){.bar-row{grid-template-columns:1fr auto;grid-template-areas:"label value" "track track";gap:var(--s-1) var(--s-3)}.bar-row .bar-label{grid-area:label}.bar-row .bar-value{grid-area:value}.bar-track{grid-area:track}}.stack-bar{display:flex;height:14px;border-radius:var(--radius-pill);overflow:hidden;background:var(--line-soft)}.stack-bar>span{display:block;height:100%}.funnel{display:flex;flex-direction:column;gap:var(--s-2)}.funnel-stage{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,3fr) minmax(96px,auto);align-items:center;gap:var(--s-3);font-size:var(--text-sm)}@media(max-width:520px){.funnel-stage{grid-template-columns:1fr auto;grid-template-areas:"label value" "bar bar";gap:var(--s-1) var(--s-3)}.funnel-stage .bar-label{grid-area:label}.funnel-stage .bar-value{grid-area:value}.funnel-bar{grid-area:bar}}.funnel-bar{height:26px;border-radius:var(--radius-xs);background:var(--brand-600);display:flex;align-items:center;padding-left:var(--s-2);color:var(--ink-inverse);font-weight:650;font-size:var(--text-xs);font-variant-numeric:tabular-nums;min-width:26px}.kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--s-2) var(--s-5);margin:0;font-size:var(--text-base)}.kv dt{color:var(--ink-muted)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}@media(max-width:560px){.kv{grid-template-columns:1fr;gap:0}.kv dt{margin-top:var(--s-3);font-size:var(--text-sm)}}.list-plain{list-style:none;margin:0;padding:0;font-size:var(--text-base)}.list-plain>li{padding:var(--s-3) 0;border-bottom:1px solid var(--line-soft);display:flex;gap:var(--s-3);align-items:flex-start}.list-plain>li:last-child{border-bottom:0}.list-plain>li .li-icon{flex:none;margin-top:2px;color:var(--ink-faint)}.list-plain>li .li-body{min-width:0;flex:1}.list-plain>li .li-meta{margin-left:auto;flex:none;color:var(--ink-muted);font-size:var(--text-sm);white-space:nowrap}.identity{display:flex;align-items:center;gap:var(--s-3);min-width:0}.identity .identity-text{min-width:0;display:flex;flex-direction:column;gap:1px}.identity .identity-name{display:block;font-weight:600;color:var(--ink-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity .identity-sub{display:block;font-size:var(--text-sm);color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress{height:6px;border-radius:var(--radius-pill);background:var(--line-soft);overflow:hidden;min-width:60px}.progress>span{display:block;height:100%;background:var(--brand-600);border-radius:var(--radius-pill)}.progress[data-tone=success]>span{background:var(--ok)}.progress[data-tone=attention]>span{background:var(--warn-fill)}.board{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:var(--s-3);align-items:start}.board-column{background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-3);min-height:120px;min-width:0}.board-column h3{margin:0 0 var(--s-3);font-size:var(--text-sm);display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.board-column h3 .col-count{margin-left:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);padding:0 7px;font-size:var(--text-xs);color:var(--ink);text-transform:none;letter-spacing:0}.board-card{display:flex;flex-direction:column;gap:var(--s-1);width:100%;text-align:left;margin-bottom:var(--s-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--s-3);font:inherit;font-size:var(--text-sm);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-xs)}.board-card:hover{border-color:var(--brand-300);box-shadow:var(--shadow-card)}.board-card:last-child{margin-bottom:0}.board-card .board-card-title{font-weight:650;color:var(--ink-strong)}.segmented{display:inline-flex;padding:2px;gap:2px;background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-sm)}.segmented button{border:0;background:none;padding:var(--s-1) var(--s-3);min-height:30px;border-radius:var(--radius-xs);font:inherit;font-size:var(--text-sm);color:var(--ink-muted);cursor:pointer;display:inline-flex;align-items:center;gap:var(--s-1)}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--brand-800);font-weight:650;box-shadow:var(--shadow-xs)}.filter-bar{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-bottom:var(--s-4)}.filter-bar .spacer{flex:1}.meta-row{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;font-size:var(--text-sm);color:var(--ink-muted)}.meta-row .dot-sep:before{content:"·";margin-right:var(--s-3);color:var(--line-strong)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:var(--s-5);margin-bottom:var(--s-4);min-width:0}.panel>h2:first-child,.panel>.panel-head:first-child{margin-top:0}.panel h2{font-size:var(--text-md);font-weight:650;margin:0 0 var(--s-1);color:var(--ink-strong)}.panel h3{font-size:var(--text-base);font-weight:650;margin:var(--s-5) 0 var(--s-3);color:var(--ink-strong)}.panel p.hint{margin:0 0 var(--s-4);color:var(--ink-muted);font-size:var(--text-sm);max-width:84ch}.panel p.hint:last-child{margin-bottom:0}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-3)}.subform{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line-soft)}.row{display:grid;gap:var(--s-3) var(--s-4);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:var(--s-3);align-items:start}.panel label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--ink);margin:0 0 4px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s-4);margin:0}.detail-grid>div{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-4);background:var(--surface);min-width:0;display:flex;flex-direction:column;gap:var(--s-1)}.detail-grid dt{font-size:var(--text-sm);font-weight:650;color:var(--ink-muted)}.detail-grid dd{margin:0;min-width:0;overflow-wrap:anywhere}.detail-grid dd.mono{font-size:var(--text-xl);font-weight:680;color:var(--ink-strong);letter-spacing:-.02em}.findings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.findings>li{padding:var(--s-3) var(--s-4);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-sunken);font-size:var(--text-base);border-left:3px solid var(--line-strong)}.findings>li.advisory{background:var(--warn-soft);border-color:var(--warn-line);border-left-color:var(--warn);color:var(--warn-strong)}.findings>li.blocking{background:var(--danger-soft);border-color:var(--danger-line);border-left-color:var(--danger);color:var(--danger-strong)}button.primary,button.secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:36px;padding:0 var(--s-4);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-base);font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;border:1px solid transparent}button.primary{background:var(--brand-600);color:var(--ink-inverse);box-shadow:0 1px 2px #2563eb33}button.primary:hover:not(:disabled){background:var(--brand-700);box-shadow:0 2px 4px #2563eb4d}button.secondary{background:var(--surface);color:var(--ink-slate);border-color:var(--line-strong);box-shadow:0 1px 2px #0000000a}button.secondary:hover:not(:disabled){border-color:var(--ink-muted);color:var(--ink);background:var(--surface-sunken)}button:disabled{opacity:.55;cursor:not-allowed}button.small{min-height:30px;padding:0 var(--s-3);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-slate);cursor:pointer;margin:2px 4px 2px 0}button.small:hover:not(:disabled){border-color:var(--ink-muted);color:var(--ink);background:var(--surface-sunken)}button.link,a.link{background:none;border:0;padding:0;font:inherit;color:var(--brand-700);cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:left;font-weight:600}button.link:hover,a.link:hover{color:var(--brand-800)}.actions{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center;margin:var(--s-3) 0 0}.actions:empty{display:none}.panel table,table:not(.data){width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-base)}.panel table thead th,table:not(.data) thead th{background:var(--surface-sunken);color:var(--ink-slate);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);border-top:1px solid var(--line);white-space:nowrap}.panel table thead th:first-child,table:not(.data) thead th:first-child{border-left:1px solid var(--line);border-top-left-radius:var(--radius-sm)}.panel table thead th:last-child,table:not(.data) thead th:last-child{border-right:1px solid var(--line);border-top-right-radius:var(--radius-sm)}.panel table tbody td,table:not(.data) tbody td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line-soft);vertical-align:top}.panel table tbody td:first-child,table:not(.data) tbody td:first-child{border-left:1px solid var(--line)}.panel table tbody td:last-child,table:not(.data) tbody td:last-child{border-right:1px solid var(--line)}.panel table tbody tr:last-child td,table:not(.data) tbody tr:last-child td{border-bottom:1px solid var(--line)}.panel table tbody tr:hover td,table:not(.data) tbody tr:hover td{background:#eff6ff99}tr.row-selected td{background:#dbeafe99!important}.tag{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;line-height:1.6;white-space:nowrap;border:1px solid var(--line);background:var(--surface-sunken);color:var(--ink-muted)}.tag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none;opacity:.75}.tag.ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-line)}.tag.warn{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.tag.warn:before{border-radius:1px}.tag.info{background:var(--info-soft);color:var(--info);border-color:var(--info-line)}.tag.authority{background:var(--authority-soft);color:var(--authority);border-color:var(--authority-line);font-weight:650}.tag.authority:before{border-radius:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:8px;height:8px}.notice{padding:var(--s-3) var(--s-4);border-radius:var(--radius-sm);font-size:var(--text-base);margin-bottom:var(--s-4);border:1px solid var(--line);background:var(--surface-sunken)}.notice.error{background:var(--danger-soft);color:var(--danger-strong);border-color:var(--danger-line)}.notice.ok{background:var(--ok-soft);color:var(--ok-strong);border-color:var(--ok-line)}.notice.warn{background:var(--warn-soft);color:var(--warn-strong);border-color:var(--warn-line)}.notice.authority{background:var(--authority-soft);color:var(--authority-strong);border-color:var(--authority-line)}.notice ul{margin:var(--s-2) 0 0;padding-left:var(--s-5)}.detail-grid>.notice{margin-bottom:0}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--s-4);margin-bottom:var(--s-5)}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-1);min-width:0}.stat-label{font-size:var(--text-sm);font-weight:650;color:var(--ink-muted);letter-spacing:.01em;text-transform:none}.stat-value{font-size:var(--text-2xl);font-weight:680;color:var(--ink-strong);letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}nav.subnav{display:flex;gap:var(--s-1);border-bottom:1px solid var(--line);margin-bottom:var(--s-5);overflow-x:auto;scrollbar-width:thin}nav.subnav button{flex:none;border:0;background:none;padding:var(--s-3);margin-bottom:-1px;font:inherit;font-size:var(--text-base);color:var(--ink-muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;min-height:44px}nav.subnav button:hover{color:var(--ink)}nav.subnav button[aria-current=true]{color:var(--brand-800);font-weight:650;border-bottom-color:var(--brand-600)}dl.kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--s-2) var(--s-5);margin:0 0 var(--s-3);font-size:var(--text-base)}dl.kv dt{color:var(--ink-muted)}dl.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}ul.plain{list-style:none;padding:0;margin:0 0 var(--s-3);font-size:var(--text-base)}ul.plain li{padding:var(--s-3) 0;border-bottom:1px solid var(--line-soft)}ul.plain li:last-child{border-bottom:0}.notice ul.plain li{border:0;padding:2px 0}.card{display:flex;flex-direction:column;gap:var(--s-1);width:100%;text-align:left;margin-bottom:var(--s-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--s-3);font:inherit;font-size:var(--text-sm);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-xs)}.card:hover{border-color:var(--brand-300);box-shadow:var(--shadow-card)}.letter-frame{width:100%;min-height:420px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.auth-screen{min-height:100vh;display:grid;grid-template-columns:1fr;background-color:var(--canvas);background-image:linear-gradient(to right,rgba(196,211,246,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(196,211,246,.05) 1px,transparent 1px),radial-gradient(circle at 80% 20%,var(--surface-raised) 0%,var(--surface) 50%,var(--canvas) 100%);background-size:28px 28px,28px 28px,100% 100%}@media(min-width:940px){.auth-screen{grid-template-columns:1.05fr 1fr}}.auth-aside{display:none;flex-direction:column;justify-content:space-between;gap:var(--s-7);padding:var(--s-9) var(--s-8);background:transparent;border-right:1px solid rgba(196,211,246,.14);color:var(--navy-ink)}@media(min-width:940px){.auth-aside{display:flex}}.auth-aside h2{color:var(--ink);font-size:var(--text-3xl);letter-spacing:-.025em;line-height:1.2;max-width:18ch}.auth-aside p{color:var(--ink-muted);font-size:var(--text-md);max-width:46ch}.auth-points{list-style:none;margin:var(--s-6) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--s-4)}.auth-points li{display:flex;gap:var(--s-3);align-items:flex-start;color:var(--ink-muted);font-size:var(--text-base)}.auth-points svg{flex:none;color:var(--brand-600);filter:drop-shadow(0 0 6px rgba(0,102,255,.6));margin-top:2px}.auth-legal{color:var(--ink-muted);font-size:var(--text-sm);opacity:.85}.auth-main{display:flex;align-items:center;justify-content:center;padding:var(--s-6) var(--s-4)}.auth-card{width:min(440px,100%)}.auth-card .card-surface{margin-bottom:0;background:#092856e6;border:1px solid rgba(196,211,246,.22);border-radius:var(--radius-lg);box-shadow:0 24px 60px #061938d9,0 0 28px #06f3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--ink)}.auth-card .card-head{border-bottom:1px solid rgba(196,211,246,.14)}.auth-card .card-head h2{color:var(--ink)}.auth-card .card-head p{color:var(--ink-muted)}.auth-card .field>label,.auth-card label.field-label{color:var(--ink)}.auth-card input{background:var(--surface-sunken);border:1px solid rgba(196,211,246,.25);color:var(--ink)}.auth-card input:focus{border-color:var(--brand-600);box-shadow:0 0 0 3px #06f6}.auth-card input::placeholder{color:var(--ink-muted);opacity:.7}.auth-card .field-help{color:var(--ink-muted)}.sign-in-brand{display:flex;justify-content:center;margin-bottom:var(--s-5)}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-4);color:var(--ink-muted);font-size:var(--text-base);background:var(--canvas)}.calendar-controls{display:flex;flex-wrap:wrap;gap:var(--s-4);align-items:flex-end;justify-content:space-between;margin-bottom:var(--s-4)}.calendar-nav{display:flex;align-items:center;gap:var(--s-2)}.calendar-nav button{min-width:40px}.calendar-month{font-size:var(--text-md);font-weight:650;min-width:170px;text-align:center}.calendar-filters{display:flex;gap:var(--s-3);flex-wrap:wrap}.calendar-filters select{min-width:160px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);margin-bottom:6px;font-weight:650}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-cell{min-height:96px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:6px;display:flex;flex-direction:column;gap:3px;cursor:pointer;text-align:left;font:inherit}.calendar-cell:hover{border-color:var(--brand-600)}.calendar-cell-outside{background:var(--surface-sunken);color:var(--ink-faint)}.calendar-cell-today{border-color:var(--brand-600);box-shadow:inset 0 0 0 1px var(--brand-600)}.calendar-cell-selected{background:var(--brand-050);border-color:var(--brand-600)}.calendar-date{font-size:var(--text-sm);color:var(--ink-muted);font-variant-numeric:tabular-nums;font-weight:600}.calendar-entry{display:block;font-size:var(--text-xs);line-height:1.35;padding:2px 6px;border-radius:var(--radius-pill);background:var(--surface-sunken);border:1px solid var(--line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-entry-self{background:var(--brand-050);border-color:var(--brand-100);color:var(--brand-800);font-weight:600}.calendar-more{font-size:var(--text-xs);color:var(--ink-muted)}@media(max-width:900px){.calendar-cell{min-height:78px}}@media(max-width:620px){.calendar-weekdays{display:none}.calendar-grid{grid-template-columns:1fr;gap:4px}.calendar-cell{min-height:44px;flex-direction:row;align-items:center;flex-wrap:wrap}.calendar-cell-outside{display:none}.calendar-grid:has(.calendar-entry) .calendar-cell:not(:has(.calendar-entry)):not(.calendar-cell-today){display:none}.calendar-date:after{content:" " attr(data-weekday)}.calendar-controls{flex-direction:column;align-items:stretch}.calendar-filters{flex-direction:column}}@media(max-width:640px){.panel{padding:var(--s-4)}.row,.detail-grid,.board{grid-template-columns:1fr}.stat-row{grid-template-columns:1fr 1fr}dl.kv{grid-template-columns:1fr;gap:0}dl.kv dt{margin-top:var(--s-3);font-size:var(--text-sm)}}.dialog-body>.panel,.dialog-body>*>.panel{border:0;box-shadow:none;padding:0;margin-bottom:var(--s-5);background:transparent}.dialog-body>.panel:last-child,.dialog-body>*>.panel:last-child{margin-bottom:0}.dialog-body>.panel>h2:first-child{font-size:var(--text-base)}
