:root{--font:-apple-system, "SF Pro Text", "SF Pro Display", system-ui, sans-serif;--accent:#06c;--accent-on:#fff;--focus:#0071e3;--ink:#1d1d1f;--ink-80:#333;--canvas:#fff;--parchment:#f5f5f7;--surface:#fff;--hairline:#e0e0e0;--muted:#7a7a7a;--muted-text:#6e6e73;--danger:#b3261e;--r-sm:8px;--r-md:11px;--r-lg:18px;--r-pill:9999px;--nav-h:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--accent:#2997ff;--accent-on:#000;--focus:#2997ff;--ink:#f5f5f7;--ink-80:#d2d2d7;--canvas:#000;--parchment:#161617;--surface:#1d1d1f;--hairline:#3a3a3c;--muted:#8e8e93;--muted-text:#a1a1a6;--danger:#ff6961;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--canvas);color:var(--ink);font:400 14px/1.43 var(--font);letter-spacing:-.224px;-webkit-font-smoothing:antialiased}h1,h2{letter-spacing:-.374px;margin:0}h1{font:600 28px/1.14 var(--font);letter-spacing:.196px}h2{font:600 17px/1.24 var(--font)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn{font:400 14px/1.29 var(--font);letter-spacing:-.224px;border-radius:var(--r-pill);cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--accent-on);padding:9px 20px}.btn:active{transform:scale(.97)}.btn:disabled{background:var(--hairline);border-color:var(--hairline);color:var(--muted-text);cursor:not-allowed}.btn-secondary{color:var(--accent);background:0 0}.btn-utility{border-radius:var(--r-sm);color:var(--ink);border-color:var(--hairline);background:0 0;padding:6px 12px}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-80);font-size:12px;font-weight:600}.input{font:400 17px/1.3 var(--font);color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md);min-height:44px;padding:10px 14px}.input::placeholder{color:var(--muted-text)}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:24px}.shell-nav{z-index:10;height:var(--nav-h);background:var(--parchment);border-bottom:1px solid var(--hairline);align-items:center;gap:24px;padding:0 24px;display:flex;position:sticky;top:0}.brand{color:var(--ink);font-size:14px;font-weight:600}.nav-links{flex:1;gap:4px;display:flex;overflow-x:auto}.nav-links a{color:var(--ink-80);border-radius:var(--r-pill);white-space:nowrap;padding:4px 10px;font-size:13px}.nav-links a:hover{background:var(--hairline);text-decoration:none}.nav-links a[aria-current=page]{color:var(--accent);font-weight:600}.nav-user{color:var(--muted-text);white-space:nowrap;align-items:center;gap:12px;font-size:13px;display:flex}.shell-main{max-width:1280px;margin:0 auto;padding:32px 24px 48px}.page-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;display:flex}.muted{color:var(--muted-text)}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.stat{flex-direction:column;gap:4px;display:flex}.stat-label{color:var(--muted-text);font-size:12px}.stat-value{font:600 28px/1.14 var(--font);font-variant-numeric:tabular-nums}.stat-unit{font:400 14px var(--font);color:var(--muted-text);margin-left:4px}.table-wrap{border:1px solid var(--hairline);border-radius:var(--r-lg);background:var(--surface);max-height:70vh;overflow:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--hairline);white-space:nowrap;padding:10px 16px}.data-table th{background:var(--parchment);color:var(--ink-80);z-index:1;font-size:12px;font-weight:600;position:sticky;top:0}.data-table tbody tr:last-child td{border-bottom:0}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table tr.clickable{cursor:pointer}.data-table tr.clickable:hover td{background:var(--parchment)}.data-table .empty{text-align:center;color:var(--muted-text);padding:32px}.login-wrap{background:var(--parchment);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{flex-direction:column;gap:16px;width:100%;max-width:380px;padding:32px;display:flex}.error{color:var(--danger);margin:0;font-size:14px}@media (width<=640px){.shell-nav{gap:12px;padding:0 12px}.shell-main{padding:20px 12px 32px}.nav-user .muted{display:none}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stat-row{flex-wrap:wrap;gap:16px 48px;margin-bottom:24px;display:flex}h2{font:600 17px/1.3 var(--font);margin:24px 0 12px}h3{font:600 14px/1.3 var(--font);margin:16px 0 8px}.mono{word-break:break-all;font-family:ui-monospace,SF Mono,Menlo,monospace}.crumbs{color:var(--muted-text);margin:0 0 8px;font-size:13px}.export{align-items:center;gap:12px;display:inline-flex}.chips{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.chip{font:400 13px var(--font);border:1px solid var(--hairline);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);padding:4px 12px}button.chip{cursor:pointer}a.chip{color:var(--accent)}a.chip:hover{background:var(--parchment);text-decoration:none}.chip-current{border-color:var(--accent);color:var(--accent);font-weight:600}.chain{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.chain li+li:before{content:"→";color:var(--muted-text);margin-right:8px}.chain .chip{font-family:ui-monospace,SF Mono,Menlo,monospace}.facts{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 24px;margin:0 0 16px;display:grid}.facts dt{color:var(--muted-text);font-size:12px}.facts dd{overflow-wrap:anywhere;margin:2px 0 0}.timeline{border-left:2px solid var(--hairline);margin:0;padding:0 0 0 16px;list-style:none}.timeline li{flex-direction:column;gap:2px;padding:0 0 16px 16px;display:flex;position:relative}.timeline li:before{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:6px;left:-22px}.tl-head{align-items:baseline;gap:12px;display:flex}.chart{margin:0 0 16px}.chart-scroll{overflow-x:auto}.chart svg{font-family:var(--font);display:block}.chart .axis{fill:var(--muted-text);font-size:11px}.chart .grid{stroke:var(--hairline);stroke-width:1px}.legend{flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.swatch{border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.pager{justify-content:flex-end;align-items:center;gap:12px;margin-top:12px;display:flex}.pager .muted{margin-right:auto;font-size:13px}.drawer{top:var(--nav-h);z-index:20;background:var(--surface);border-left:1px solid var(--hairline);width:min(520px,100vw);padding:20px;position:fixed;bottom:0;right:0;overflow:auto;box-shadow:-8px 0 24px #00000014}.drawer:focus{outline:none}.drawer-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawer-head h2{margin:0;font-size:15px}.drawer .table-wrap{max-height:none}.tabs{border-bottom:1px solid var(--hairline);gap:4px;margin:0 0 16px;display:flex;overflow-x:auto}.tab{font:400 14px var(--font);color:var(--ink-80);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 14px}.tab[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.confirm{border:1px solid var(--accent);border-radius:var(--r-lg);background:var(--parchment);flex-direction:column;gap:8px;margin:12px 0;padding:16px;display:flex}.confirm:focus{outline:none}.confirm-actions{gap:8px;display:flex}.banner{border:1px solid var(--hairline);border-left:4px solid var(--accent);background:var(--parchment);border-radius:var(--r-sm);margin:0 0 16px;padding:10px 14px}.notice-ok{color:var(--ink-80);margin:8px 0;font-size:14px}.tag{border:1px solid var(--hairline);border-radius:var(--r-pill);background:var(--parchment);margin-right:4px;padding:1px 8px;font-size:12px;display:inline-block}.form-grid{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.input-sm{width:110px;min-height:32px;padding:4px 8px;font-size:14px}.checks{gap:16px;display:flex}.checks label{align-items:center;gap:6px;display:inline-flex}.row-actions{align-items:center;gap:8px;display:flex}.detail-pre{white-space:pre-wrap;word-break:break-all;max-height:240px;margin:0;font-size:12px;overflow:auto}.list-scroll{max-height:200px;margin:8px 0;font-size:13px;overflow:auto}.card+.card,.card+.table-wrap,.confirm+.card{margin-top:16px}
