:root{--bg: #eaecf1;--bg-veil: #f2f3f7;--panel: #ffffff;--panel-sunk: #f5f6f9;--ink-strong: #101319;--ink: #1b2027;--ink-soft: #586172;--ink-faint: #8b94a3;--line: #dce0e8;--line-soft: #e8eaf0;--shadow-card: 0 1px 2px rgba(16, 22, 34, .05), 0 3px 10px rgba(16, 22, 34, .06);--shadow-raise: 0 2px 6px rgba(16, 22, 34, .08), 0 10px 24px rgba(16, 22, 34, .1);--shadow-pop: 0 12px 40px rgba(13, 19, 27, .24);--rail: #141a25;--rail-deep: #0d1119;--rail-fg: #c3ccda;--rail-fg-dim: #7c889d;--rail-line: rgba(255, 255, 255, .09);--rail-hover: rgba(255, 255, 255, .055);--accent: #2563eb;--accent-deep: #1d4ed8;--accent-ink: #1e40af;--accent-wash: rgba(37, 99, 235, .1);--accent-line: rgba(37, 99, 235, .28);--ok: #16a34a;--ok-bg: #f0fdf4;--ok-line: rgba(22, 163, 74, .24);--warn: #b4680b;--warn-bg: #fff8ec;--warn-line: rgba(180, 104, 11, .26);--bad: #dc2626;--bad-bg: #fef2f2;--bad-line: rgba(220, 38, 38, .24);--bad-border: #fecaca;--radius: 12px;--radius-sm: 8px;--radius-pill: 999px;--rail-w: 15rem;--page-max: 82rem;--t: .12s ease;font-synthesis:none;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent-wash);color:var(--accent-ink)}:where(input[type=checkbox],input[type=radio],input[type=range],progress){accent-color:var(--accent)}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px;transition:color var(--t)}a:hover{color:var(--accent-deep)}h1,h2,h3{color:var(--ink-strong)}:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}*{scrollbar-width:thin;scrollbar-color:#c4cad6 transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#c4cad6;border-radius:var(--radius-pill);border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:#a9b1c1;background-clip:content-box}.app{display:flex;min-height:100vh}.nav-progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:70;background:var(--accent);transform-origin:left;transform:scaleX(0);opacity:0}.nav-progress.active{animation:nav-progress-grow 1.1s ease-out forwards}@keyframes nav-progress-grow{0%{transform:scaleX(0);opacity:1}80%{transform:scaleX(.85);opacity:1}to{transform:scaleX(.9);opacity:1}}.sidebar{position:sticky;top:0;z-index:39;height:100vh;width:var(--rail-w);flex:none;display:flex;flex-direction:column;background:var(--rail);color:var(--rail-fg);border-right:1px solid var(--rail-line)}.brand{display:flex;align-items:center;gap:.7rem;padding:1.05rem 1.05rem .95rem;border-bottom:1px solid var(--rail-line);text-decoration:none}.brand-logo{flex:none;width:2.1rem;height:2.1rem;border-radius:.55rem}.brand:hover .brand-title{color:#93b8fb}.brand-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.brand-title{font-size:.85rem;font-weight:700;color:#fff;letter-spacing:-.005em}.brand-sub{font-size:.7rem;color:var(--rail-fg-dim)}.nav{flex:1;overflow-y:auto;padding:.85rem .65rem}.nav-heading{margin:.5rem 0 .4rem;padding:0 .6rem;font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--rail-fg-dim)}.nav-item{position:relative;display:flex;align-items:center;gap:.65rem;padding:.55rem .6rem;border-radius:var(--radius-sm);color:var(--rail-fg);text-decoration:none;font-size:.86rem;transition:background var(--t),color var(--t)}.nav-item+.nav-item{margin-top:.1rem}.nav-item svg{flex:none;width:1.05rem;height:1.05rem;opacity:.7;transition:opacity var(--t)}.nav-item:hover{background:var(--rail-hover);color:#fff}.nav-item:hover svg{opacity:1}.nav-item.active{background:linear-gradient(90deg,#2563eb38,#2563eb0d);color:#fff;font-weight:600}.nav-item:before{content:"";position:absolute;left:0;top:.4rem;bottom:.4rem;width:3px;border-radius:0 3px 3px 0;background:#60a5fa;opacity:0;transition:opacity var(--t)}.nav-item.active:before{opacity:1}.nav-item.active svg{opacity:1;color:#93b8fb}.user-area{position:relative;flex:none;border-top:1px solid var(--rail-line);background:var(--rail-deep)}.user-summary{display:flex;align-items:center;gap:.6rem;width:100%;padding:.8rem .9rem;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer;transition:background var(--t)}.user-summary:hover,.user-summary[aria-expanded=true]{background:var(--rail-hover)}.user-avatar{flex:none;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:color-mix(in srgb,var(--accent) 45%,var(--rail));color:#fff;font-size:.78rem;font-weight:700}.user-meta{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.user-name{font-size:.8rem;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-sub{font-size:.7rem;color:var(--rail-fg-dim)}.user-menu-chevron{flex:none;display:flex;width:.9rem;height:.9rem;color:var(--rail-fg-dim);transition:transform var(--t)}.user-menu-chevron svg{width:100%;height:100%}.user-menu-chevron.open{transform:rotate(180deg)}.user-menu{position:absolute;left:.6rem;right:.6rem;bottom:calc(100% + .4rem);z-index:2;display:flex;flex-direction:column;gap:.1rem;padding:.35rem;border-radius:var(--radius-sm);background:#1b2333;border:1px solid var(--rail-line);box-shadow:0 10px 30px #00000059}.user-menu-item{display:flex;align-items:center;gap:.55rem;width:100%;padding:.5rem .6rem;border:0;border-radius:6px;background:transparent;color:var(--rail-fg);font:inherit;font-size:.84rem;text-align:left;text-decoration:none;cursor:pointer}.user-menu-item:hover{background:var(--rail-hover);color:#fff}.user-menu form{display:contents}.user-menu-icon{flex:none;display:flex;width:1rem;height:1rem}.user-menu-icon svg{width:100%;height:100%}.user-menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:38;padding:0;border:0;background:transparent}.content{flex:1;min-width:0;padding:1.85rem 2.1rem 4rem;max-width:var(--page-max)}.content>:first-child{margin-top:0}.topbar,.scrim{display:none}@keyframes fade-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.85rem;padding-bottom:1rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line);animation:fade-rise .32s cubic-bezier(.16,1,.3,1)}.page-header h1{font-size:1.5rem;font-weight:700;margin:0;line-height:1.2;letter-spacing:-.015em}.page-header .titleline{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.page-sub{margin:.4rem 0 0;font-size:.83rem;line-height:1.5;color:var(--ink-soft);max-width:68ch}.page-header>div:first-child{flex:1 1 20rem;min-width:0}.page-header .page-actions .table-search{width:20rem}.page-actions{flex:none;display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem}.filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.filter{padding:.4rem .85rem;border:1px solid var(--line, #dce0e8);border-radius:999px;font-size:.85rem;text-decoration:none;color:inherit}.filter.active{background:var(--accent, #2563eb);color:#fff;border-color:transparent}h2{font-size:1.125rem;font-weight:600;margin:2rem 0 .7rem;letter-spacing:-.01em}.section-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin:2rem 0 .7rem}.section-head h2{margin:0}.section-head .count{font-size:.78rem;color:var(--ink-faint)}.muted{color:var(--ink-soft)}.hint{font-size:.78rem;line-height:1.5;color:var(--ink-soft);margin:0}.back{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:500;margin-bottom:.85rem;text-decoration:none;color:var(--ink-soft)}.back:hover{color:var(--accent)}.crumbs{display:flex;align-items:center;gap:.35rem;margin-bottom:.6rem;font-size:.8rem;color:var(--ink-soft)}.crumbs a{color:var(--ink-soft);text-decoration:none}.crumbs a:hover{color:var(--accent)}.crumbs .crumb-sep{color:var(--ink-faint)}.crumbs .crumb-current{color:var(--ink-strong);font-weight:600}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1.1rem 1.25rem;margin-bottom:1rem}.panel.accent{border-left:3px solid var(--accent)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.85rem;margin-bottom:1.4rem}.stat-card{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:.9rem 1rem;display:flex;align-items:center;animation:fade-rise .32s cubic-bezier(.16,1,.3,1) both}.stat-card:nth-child(2){animation-delay:40ms}.stat-card:nth-child(3){animation-delay:80ms}.stat-card:nth-child(4){animation-delay:.12s}.stat-card:nth-child(5){animation-delay:.16s}.stat-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.stat-card.ok{border-left-color:var(--ok)}.stat-card.warn{border-left-color:var(--warn)}.stat-card.bad{border-left-color:var(--bad)}.stat-value{font-size:1.5rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink-strong)}.stat-card.warn .stat-value{color:var(--warn)}.stat-card.bad .stat-value{color:var(--bad)}.stat-label{font-size:.73rem;font-weight:500;color:var(--ink-soft)}.stat-card.primary{border-left-color:var(--accent)}.stat-card.primary .stat-value{font-size:1.95rem;color:var(--accent-deep)}.stat-delta{font-size:.71rem;color:var(--ink-faint);font-variant-numeric:tabular-nums}.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem}.panel.table-wrap{padding:0}table{border-collapse:collapse;width:100%;min-width:30rem;font-size:.84rem}th,td{text-align:left;padding:.6rem .85rem;border-bottom:1px solid var(--line-soft);vertical-align:middle;white-space:nowrap}th{background:var(--panel-sunk);color:var(--ink-soft);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-bottom-color:var(--line)}th:first-child{border-top-left-radius:calc(var(--radius) - 1px)}th:last-child{border-top-right-radius:calc(var(--radius) - 1px)}tbody tr{transition:background var(--t)}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--panel-sunk)}.link-row{cursor:pointer}td a{text-decoration:none}td a:hover{text-decoration:underline}th.num,td.num{text-align:center;font-variant-numeric:tabular-nums}th.center,td.center{text-align:center}.nowrap{white-space:nowrap}.cell-stack{display:flex;flex-direction:column;gap:.12rem}.cell-stack .primary{font-weight:600;color:var(--ink-strong)}.cell-stack a.primary{color:var(--accent)}.cell-stack a.primary:hover{color:var(--accent-deep)}.cell-stack .secondary{display:flex;align-items:center;gap:.35rem;font-size:.74rem;color:var(--ink-faint)}.empty{padding:2.5rem 1rem;text-align:center;color:var(--ink-soft)}.empty strong{display:block;font-size:.9rem;color:var(--ink-strong);margin-bottom:.25rem}.empty p{margin:0 auto;font-size:.8rem;max-width:40ch}dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:.55rem 1.4rem;margin:0;font-size:.84rem}dl.kv dt{color:var(--ink-soft)}dl.kv dd{margin:0;min-width:0;overflow-wrap:anywhere;color:var(--ink-strong)}dl.kv.two-col{grid-template-columns:max-content 1fr max-content 1fr}.chip{display:inline-flex;align-items:center;gap:.32rem;padding:.14rem .55rem;border-radius:var(--radius-pill);font-size:.72rem;font-weight:600;line-height:1.5;white-space:nowrap;background:#eceef3;color:#4c5666;box-shadow:inset 0 0 0 1px #1016220f}.chip:before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:var(--dot-tone, currentColor);flex:none}.chip.bare:before{display:none}.chip.ok{--dot-tone: var(--ok);background:var(--ok-bg);color:var(--ok);box-shadow:inset 0 0 0 1px var(--ok-line)}.chip.warn{--dot-tone: var(--warn);background:var(--warn-bg);color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn-line)}.chip.bad{--dot-tone: var(--bad);background:var(--bad-bg);color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad-line)}.chip.neutral{--dot-tone: #8b94a3;background:#eceef3;color:#4c5666;box-shadow:inset 0 0 0 1px #1016220f}.chip.soft{padding:.14rem .1rem;background:transparent;color:var(--ink-soft);font-weight:500;box-shadow:none}code,.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8rem}code{background:var(--panel-sunk);padding:.05rem .32rem;border-radius:4px;border:1px solid var(--line-soft)}.banner{display:flex;align-items:flex-start;gap:.5rem;padding:.7rem .85rem;border-radius:var(--radius-sm);font-size:.82rem;line-height:1.5;margin:0 0 .9rem;border:1px solid transparent}.banner strong{font-weight:700}.banner.ok{background:var(--ok-bg);color:#146c34;border-color:var(--ok-line)}.banner.err{background:var(--bad-bg);color:#b3121f;border-color:var(--bad-line)}.banner.info{background:var(--accent-wash);color:var(--accent-ink);border-color:var(--accent-line)}.banner .mono{overflow-wrap:anywhere}.error-banner{background:var(--bad-bg);color:#b3121f;border:1px solid var(--bad-line);padding:.7rem .85rem;border-radius:var(--radius-sm);font-size:.82rem;margin:0 0 .9rem}label{display:flex;flex-direction:column;gap:.32rem;font-size:.8rem;font-weight:500;color:var(--ink-soft)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input:not([type]),textarea,select{font:inherit;font-size:.86rem;padding:.5rem .6rem;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:#fff;max-width:100%;transition:border-color var(--t),box-shadow var(--t)}input::placeholder,textarea::placeholder{color:var(--ink-faint)}textarea{resize:vertical}input:hover,textarea:hover,select:hover{border-color:#c3cad7}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-size:.84rem;font-weight:600;padding:.5rem .9rem;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--t),border-color var(--t),box-shadow var(--t),transform var(--t)}.btn:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn:active{transform:translateY(1px)}.btn.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.btn.secondary:hover{background:var(--panel-sunk);border-color:#c3cad7}.btn.danger{background:#fff;color:var(--bad);border-color:var(--bad-border)}.btn.danger:hover{background:var(--bad-bg);border-color:var(--bad)}.btn.small{padding:.32rem .6rem;font-size:.76rem}.actionform{display:flex;flex-direction:column;gap:.85rem;max-width:30rem}.actionform .ackline{flex-direction:row;align-items:flex-start;gap:.5rem;color:var(--ink);font-size:.8rem;background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:var(--radius-sm);padding:.6rem .7rem}.actionform .ackline input{margin-top:.15rem;flex:none}.actionform button{align-self:flex-start}.inline-form{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}.inline-form input{flex:1;min-width:9rem}details>summary{cursor:pointer;color:var(--accent);font-size:.8rem;font-weight:500;list-style:none;-webkit-user-select:none;user-select:none}details>summary::-webkit-details-marker{display:none}details>summary:hover{text-decoration:underline}.auth{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(120% 90% at 100% 0%,rgba(255,255,255,.16) 0%,transparent 55%),linear-gradient(150deg,var(--accent-ink) 0%,var(--accent) 100%)}.auth form{background:var(--panel);border-radius:14px;box-shadow:var(--shadow-pop);border-top:3px solid var(--accent);padding:1.9rem 1.95rem;width:min(22rem,100%);display:flex;flex-direction:column;gap:.9rem}.auth h1{font-size:1.5rem;font-weight:700;margin:0;letter-spacing:-.015em}.auth .brand-logo{width:2.6rem;height:2.6rem;border-radius:.65rem;margin-bottom:.2rem}.auth .hint{margin-top:-.3rem}.auth .btn{margin-top:.2rem}.auth a.hint{align-self:center;color:var(--accent);font-weight:500;margin-top:0}.content>.firm-head,.firm-head{position:sticky;top:0;z-index:20;margin:-1.85rem -2.1rem 1.5rem;padding:1.1rem 2.1rem 0;background:var(--bg-veil);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.firm-head .page-header{border-bottom:0;margin-bottom:0;padding-bottom:.9rem}.firm-nav{display:flex;align-items:center;gap:.3rem}.firm-nav .icon-nav-btn{display:grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink-soft);text-decoration:none}.firm-nav .icon-nav-btn:hover{color:var(--ink-strong);border-color:#c3cad7}.firm-nav .icon-nav-btn[aria-disabled=true]{opacity:.4;pointer-events:none}.firm-nav .icon-nav-btn svg{width:1.05rem;height:1.05rem}.tabbar{display:flex;gap:.3rem;overflow-x:auto}.tab-btn{padding:.6rem .95rem;border:0;background:none;font:inherit;font-size:.85rem;font-weight:600;color:var(--ink-soft);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:color var(--t),border-color var(--t)}.tab-btn:hover{color:var(--ink-strong)}.tab-btn.active{color:var(--accent-deep);border-bottom-color:var(--accent)}[role=tabpanel]{animation:fade-rise .28s cubic-bezier(.16,1,.3,1)}.card{margin-bottom:1rem}.card-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.8rem 1.1rem;background:var(--panel-sunk);border:1px solid var(--line);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0}.card-header h2{margin:0;font-size:1rem}.card>.panel,.card>.table-wrap{margin-bottom:0;border-radius:0 0 var(--radius) var(--radius)}.card>.panel{border-top:0}.danger-zone{border-color:var(--bad-border);background:var(--bad-bg)}.danger-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.danger-row+.danger-row{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--bad-border)}.danger-row strong{color:var(--ink-strong)}.danger-row .hint{margin-top:.2rem;max-width:42ch}.action-row{display:flex;flex-wrap:wrap;gap:.5rem}@media (max-width: 60rem){.app{display:block}.topbar{display:flex;align-items:center;gap:.6rem;position:sticky;top:0;z-index:30;padding:.65rem .9rem;background:var(--rail);color:#fff;border-bottom:1px solid var(--rail-line)}.topbar .brand-logo{width:1.75rem;height:1.75rem;border-radius:.45rem}.topbar .brand-title{font-size:.85rem}.menu-btn{display:grid;place-items:center;width:2.1rem;height:2.1rem;flex:none;border:1px solid var(--rail-line);border-radius:var(--radius-sm);background:transparent;color:#fff;cursor:pointer}.menu-btn svg{width:1.1rem;height:1.1rem}.sidebar{position:fixed;z-index:40;top:0;left:0;height:100vh;transform:translate(-100%);transition:transform .18s ease}.drawer-open .sidebar{transform:none;box-shadow:var(--shadow-pop)}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;border:0;padding:0;background:#0d131b80}.content{padding:1.15rem 1rem 2.5rem;max-width:none}.page-header h1{font-size:1.25rem}dl.kv,dl.kv.two-col{grid-template-columns:1fr;gap:.15rem 0}dl.kv dt{margin-top:.5rem;font-size:.74rem}dl.kv dt:first-of-type{margin-top:0}.actionform{max-width:none}.page-actions{width:100%;flex-wrap:wrap}.page-header .page-actions .table-search{flex:1 1 14rem;width:auto}.content>.firm-head,.firm-head{position:static;margin:-1.15rem -1rem 1.15rem;padding:.85rem 1rem 0}.danger-row,.action-row{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
