@font-face{font-family:Space Grotesk;src:url(/assets/space-grotesk-latin-BhU9QXUp.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/geist-mono-latin-XN7g48iV.woff2)format("woff2");font-weight:400 600;font-style:normal;font-display:swap}:root{--brand-050:#faefe8;--brand-100:#f5dfd2;--brand-200:#ecc4ad;--brand-300:#dfa184;--brand-400:#cc785c;--brand-500:#bc5b3b;--brand-600:#a84a2e;--brand-700:#8c3b24;--brand-800:#6e2e1d;--ink:#221f1a;--ink-2:#5d5850;--ink-3:#8b8578;--ink-4:#b8b1a3;--canvas:#f3f1ea;--surface:#fffefb;--surface-2:#faf8f2;--surface-3:#f0ede4;--surface-ink:#23201b;--surface-ink-2:#2e2a24;--border:#e7e3d9;--border-strong:#d5d0c3;--ok:#256d36;--ok-bg:#e7f2e4;--ok-border:#cbe0c4;--warn:#8a5a06;--warn-bg:#f9f0d9;--warn-border:#ecdcb2;--danger:#b23527;--danger-bg:#fae9e4;--danger-border:#efcfc5;--info:#38618c;--info-bg:#e8eff6;--info-border:#cfdeed;--font:"Space Grotesk", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", ui-monospace, "Cascadia Mono", "Roboto Mono", Consolas, monospace;--r-sm:6px;--r-md:9px;--r-lg:12px;--r-xl:16px;--r-full:999px;--shadow-1:0 1px 2px #221f1a0d, 0 1px 1px #221f1a08;--shadow-2:0 2px 8px #221f1a12, 0 1px 2px #221f1a0d;--shadow-3:0 16px 40px #221f1a29, 0 4px 12px #221f1a14;--ease:cubic-bezier(.22, .61, .36, 1);--t-fast:.12s var(--ease);--t-med:.2s var(--ease);--focus-ring:0 0 0 3px #bc5b3b40;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--ink:#ece8df;--ink-2:#b2ac9f;--ink-3:#837d70;--ink-4:#57524a;--canvas:#171512;--surface:#1f1c18;--surface-2:#26221d;--surface-3:#2e2a24;--surface-ink:#12100d;--surface-ink-2:#1a1815;--border:#322e27;--border-strong:#453f36;--brand-050:#33221b;--brand-100:#46281d;--ok-bg:#1d2b1c;--ok-border:#2d452a;--ok:#86c58e;--warn-bg:#302716;--warn-border:#4c3d1f;--warn:#d9ae5f;--danger-bg:#331d19;--danger-border:#512c25;--danger:#e08b7c;--info-bg:#1c2732;--info-border:#2c3f52;--info:#8cb3d9;--shadow-1:0 1px 2px #0006;--shadow-2:0 2px 8px #00000080;--shadow-3:0 16px 40px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}html{background:var(--canvas)}body{font-family:var(--font);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:14px;line-height:1.45}::selection{background:var(--brand-100);color:var(--brand-800)}a{color:var(--brand-600);transition:color var(--t-fast);text-decoration:none}a:hover{color:var(--brand-700);text-underline-offset:2px;text-decoration:underline}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}button{font-family:var(--font);color:inherit}input,select,textarea{font-family:var(--font)}code{font-family:var(--font-mono);background:var(--surface-3);border-radius:4px;padding:1px 5px;font-size:.92em}kbd{font-family:var(--font-mono);color:var(--ink-3);border:1px solid var(--border);background:var(--surface);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:11px;line-height:1.4}:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px;border-radius:2px}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:content-box;border:2px solid #0000;border-radius:5px}::-webkit-scrollbar-track{background:0 0}.mono{font-family:var(--font-mono);font-size:12px}.u-muted{color:var(--ink-2)}.u-dim{color:var(--ink-3)}.nowrap{white-space:nowrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spacer{flex:1}.status-banner{border-bottom:1px solid var(--border);background:var(--warn-bg);color:var(--warn);align-items:center;gap:10px;padding:7px 24px;font-size:12.5px;display:flex}.status-banner.status-critical{background:var(--danger-bg);color:var(--danger)}.status-banner.status-warning{background:var(--warn-bg);color:var(--warn)}.status-banner.status-non-critical{background:var(--info-bg);color:var(--info)}.status-banner.status-unknown{background:var(--surface-3);color:var(--ink-2)}.status-banner .status-icon{flex:none;display:flex}.status-banner .status-icon svg{width:15px;height:15px}.status-banner .status-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.status-banner .status-link{color:inherit;white-space:nowrap;align-items:center;gap:5px;font-weight:600;display:inline-flex}.status-banner .status-link svg{width:12px;height:12px}.boot{background:var(--canvas);justify-content:center;align-items:center;min-height:100vh;display:flex}.shell{flex-direction:column;height:100vh;display:flex}.topbar{z-index:40;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;height:56px;padding:0 16px;display:flex}.icon-btn.nav-toggle{display:none}.topbar-brand{color:var(--ink);flex:none;align-items:center;gap:10px;display:flex}.topbar-brand:hover{color:var(--ink);text-decoration:none}.brand-word{letter-spacing:-.015em;font-size:16.5px;font-weight:600;line-height:1}.brand-word .brand-sub{color:var(--ink-3);letter-spacing:0;margin-left:7px;font-weight:450}.topbar-sep{background:var(--border);flex:none;width:1px;height:22px;margin:0 4px}.project-chip{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--ink);cursor:pointer;height:36px;transition:background var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast);align-items:center;gap:9px;min-width:0;padding:0 11px;font-size:13px;display:flex}.project-chip:hover{background:var(--surface-2);border-color:var(--border-strong);box-shadow:var(--shadow-1)}.project-chip>svg{width:15px;height:15px;color:var(--brand-500);flex:none}.project-chip .chip-caret{color:var(--ink-3);flex:none;display:flex}.project-chip .chip-caret svg{width:13px;height:13px}.project-chip .chip-text{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.1;display:flex}.project-chip .chip-label{color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;font-size:9.5px;font-weight:600}.project-chip .chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:550;overflow:hidden}.topbar-search{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);max-width:640px;height:36px;color:var(--ink-3);transition:border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);flex:1;align-items:center;gap:10px;margin:0 auto;padding:0 12px;display:flex}.topbar-search:focus-within{background:var(--surface);border-color:var(--brand-400);box-shadow:var(--focus-ring);color:var(--ink-2)}.topbar-search svg{flex:none;width:15px;height:15px}.topbar-search input{color:var(--ink);background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:13.5px}.topbar-search input::placeholder{color:var(--ink-3)}.topbar-search kbd{flex:none}.topbar-right{flex:none;align-items:center;gap:10px;margin-left:auto;display:flex;position:relative}.avatar{background:linear-gradient(135deg, var(--brand-500), var(--brand-700));color:#fff;letter-spacing:.02em;cursor:pointer;width:32px;height:32px;transition:transform var(--t-fast), box-shadow var(--t-fast);border:0;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex;box-shadow:inset 0 0 0 1px #ffffff2e}.avatar:hover{box-shadow:inset 0 0 0 1px #ffffff2e, var(--shadow-2);transform:scale(1.05)}.user-menu{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:264px;box-shadow:var(--shadow-3);animation:menu-in .16s var(--ease);transform-origin:100% 0;position:absolute;top:42px;right:0;overflow:hidden}@keyframes menu-in{0%{opacity:0;transform:scale(.97)translateY(-4px)}}.user-menu .menu-head{border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:12px;padding:14px 16px;display:flex}.user-menu .menu-head .menu-avatar{background:linear-gradient(135deg, var(--brand-500), var(--brand-700));color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:600;display:flex}.user-menu .menu-head .name{font-size:13.5px;font-weight:600}.user-menu .menu-head .email{color:var(--ink-2);text-overflow:ellipsis;font-size:12px;overflow:hidden}.user-menu .menu-items{padding:6px}.user-menu button.menu-item{text-align:left;border-radius:var(--r-sm);cursor:pointer;width:100%;color:var(--ink);transition:background var(--t-fast);background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.user-menu button.menu-item svg{width:15px;height:15px;color:var(--ink-3)}.user-menu button.menu-item:hover{background:var(--surface-3)}.user-menu button.menu-item.danger,.user-menu button.menu-item.danger svg{color:var(--danger)}.user-menu button.menu-item.danger:hover{background:var(--danger-bg)}.shell-body{flex:1;min-height:0;display:flex}.sidenav{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;padding:10px 0 24px;display:flex;overflow-y:auto}.nav-backdrop{display:none}.nav-section{margin-top:2px}.nav-section+.nav-section{margin-top:14px}.nav-section-label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);padding:8px 22px 5px;font-size:10.5px;font-weight:600}.nav-item{height:34px;color:var(--ink-2);border-radius:var(--r-md);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--t-fast), color var(--t-fast);align-items:center;gap:11px;margin:1px 10px;padding:0 12px;font-size:13.5px;font-weight:500;display:flex;position:relative}.nav-item:hover{background:var(--surface-3);color:var(--ink);text-decoration:none}.nav-item svg{width:17px;height:17px;color:var(--ink-3);transition:color var(--t-fast);flex-shrink:0}.nav-item:hover svg{color:var(--ink-2)}.nav-item.active{background:var(--brand-050);color:var(--brand-700);font-weight:600}.nav-item.active svg{color:var(--brand-600)}.nav-item.active:before{content:"";background:var(--brand-500);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-10px}.nav-item .soon{letter-spacing:.07em;color:var(--ink-3);border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);margin-left:auto;padding:2px 6px;font-size:9px;font-weight:600;line-height:1}.content{flex:1;min-width:0;scroll-padding-top:24px;overflow-y:auto}.content-inner{width:100%;max-width:1240px;margin:0 auto;padding:26px 36px 72px}.content-inner>*{animation:rise .3s var(--ease) backwards}.content-inner>:nth-child(2){animation-delay:40ms}.content-inner>:nth-child(3){animation-delay:80ms}.content-inner>:nth-child(4){animation-delay:.12s}.content-inner>:nth-child(5){animation-delay:.16s}.content-inner>:nth-child(n+6){animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.page-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;display:flex}.page-header .page-heading{min-width:0}.page-header h1{letter-spacing:-.02em;color:var(--ink);font-size:22px;font-weight:600}.page-header .sub{color:var(--ink-2);margin-top:3px;font-size:13px}.page-header .sub.mono{color:var(--ink-3);font-size:12px}.page-header .spacer{flex:1}.page-back{color:var(--ink-3);align-items:center;gap:6px;margin-bottom:6px;font-size:12px;font-weight:550;display:inline-flex}.page-back svg{width:13px;height:13px}.page-back:hover{color:var(--brand-600);text-decoration:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.card+.card{margin-top:16px}.card:has(>.data-table){overflow-x:auto}.card-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:13px 20px;display:flex}.card-header h2{letter-spacing:-.005em;font-size:14.5px;font-weight:600}.card-header .card-ico{color:var(--ink-3);display:flex}.card-header .card-ico svg{width:16px;height:16px}.card-header .count-chip{font-family:var(--font-mono);color:var(--ink-2);background:var(--surface-3);border-radius:var(--r-full);padding:2px 8px;font-size:11px}.card-header .spacer{flex:1}.card-body{padding:20px}.card-body>p:first-child{margin-top:0}.card-body>p:last-child{margin-bottom:0}.card.card-danger{border-color:var(--danger-border)}.card.card-danger .card-header{border-bottom-color:var(--danger-border);background:var(--danger-bg);border-radius:var(--r-lg) var(--r-lg) 0 0}.card.card-danger .card-header h2{color:var(--danger)}.card-empty{color:var(--ink-2);padding:18px 20px;font-size:13px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:22px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:15px 18px 14px}.stat-card .stat-top{align-items:center;gap:8px;display:flex}.stat-card .stat-ico{color:var(--brand-500);display:flex}.stat-card .stat-ico svg{width:15px;height:15px}.stat-card .stat-label{color:var(--ink-2);font-size:12.5px;font-weight:500}.stat-card .stat-value{letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:8px;font-size:27px;font-weight:600;line-height:1.1}.stat-card .stat-hint{color:var(--ink-3);margin-top:5px;font-size:11.5px}.stat-card .stat-hint a{color:var(--brand-600);font-weight:550}.dash-duo{grid-template-columns:5fr 7fr;gap:16px;margin-bottom:16px;display:grid}.dash-duo .card{margin:0}.card-header .card-note{color:var(--ink-3);font-size:11.5px}.chart-body{align-items:center;gap:26px;padding:20px;display:flex}.donut-wrap{flex-shrink:0;width:158px;height:158px;position:relative}.donut{width:100%;height:100%;transform:rotate(0)}.donut circle{transition:stroke-dasharray .5s var(--ease)}.donut-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-total{letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:19px;font-weight:600}.donut-sub{color:var(--ink-3);margin-top:1px;font-size:11px}.legend{flex-direction:column;flex:1;gap:9px;min-width:0;display:flex}.legend-row{align-items:center;gap:9px;min-width:0;font-size:12.5px;display:flex}.legend-dot{border-radius:3px;flex-shrink:0;width:9px;height:9px}.legend-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.legend-value{color:var(--ink-2);flex-shrink:0;margin-left:auto;font-size:11.5px}.cap-list{flex-direction:column;gap:15px;padding:20px;display:flex}.cap-row{min-width:0}.cap-head{align-items:center;gap:8px;min-width:0;margin-bottom:6px;font-size:12.5px;display:flex}.cap-dot{border-radius:3px;flex-shrink:0;width:8px;height:8px}.cap-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.cap-product{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.cap-chip{color:var(--ok);background:var(--ok-bg);border:1px solid var(--ok-border);border-radius:var(--r-full);flex-shrink:0;align-items:center;gap:4px;padding:1px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.cap-chip svg{width:10px;height:10px}.cap-amount{color:var(--ink);flex-shrink:0;margin-left:auto;font-size:11.5px}.cap-of{color:var(--ink-3)}.cap-bar{border-radius:var(--r-full);background:var(--surface-3);height:7px;overflow:hidden}.cap-fill{border-radius:var(--r-full);background:linear-gradient(90deg, var(--brand-400), var(--brand-500));height:100%;transition:width .5s var(--ease)}.cap-fill.capped{background:linear-gradient(90deg, #4d8a5e, var(--ok))}.dash-hero{text-align:center;padding:44px 24px 10px}.dash-hero .hero-art{color:var(--brand-500);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-full);box-shadow:var(--shadow-1);margin-bottom:16px;padding:15px;display:inline-flex}.dash-hero .hero-art svg{width:26px;height:26px}.dash-hero h2{letter-spacing:-.015em;font-size:20px;font-weight:600}.dash-hero p{color:var(--ink-2);max-width:520px;margin:8px auto 26px;font-size:13.5px}.product-links{text-align:left;grid-template-columns:repeat(3,1fr);gap:16px;max-width:980px;margin:0 auto;display:grid}.product-link{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-1);color:var(--ink);transition:transform var(--t-med), box-shadow var(--t-med), border-color var(--t-med);flex-direction:column;align-items:flex-start;gap:7px;padding:20px 20px 18px;text-decoration:none;display:flex}.product-link:hover{box-shadow:var(--shadow-2);border-color:var(--brand-400);transform:translateY(-2px)}.product-link .product-ico{color:var(--brand-500);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:8px;display:flex}.product-link .product-ico svg{width:17px;height:17px}.product-link .product-name{margin-top:3px;font-size:14px;font-weight:600}.product-link .product-desc{color:var(--ink-2);font-size:12.5px;line-height:1.45}.product-link .product-cta{color:var(--brand-600);align-items:center;gap:5px;margin-top:5px;font-size:12.5px;font-weight:600;display:inline-flex}.product-link .product-cta svg{width:13px;height:13px;transition:transform var(--t-fast)}.product-link:hover .product-cta svg{transform:translate(2px)}.welcome-modal{text-align:center;max-width:460px}.welcome-modal .welcome-art{color:var(--brand-500);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-full);margin:6px auto 14px;padding:14px;display:inline-flex}.welcome-modal .welcome-art svg{width:24px;height:24px}.welcome-modal .welcome-title{letter-spacing:-.015em;font-size:19px;font-weight:600}.welcome-modal .welcome-copy{color:var(--ink-2);margin:8px 0 18px;font-size:13px;line-height:1.55}.welcome-modal .field{text-align:left}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:var(--ink-3);letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap;padding:10px 20px;font-size:10.5px;font-weight:600}.data-table thead th:first-child{border-top-left-radius:var(--r-lg)}.data-table thead th:last-child{border-top-right-radius:var(--r-lg)}.data-table td{border-bottom:1px solid var(--surface-3);vertical-align:middle;padding:11px 20px}.data-table tbody tr{transition:background var(--t-fast)}.data-table tbody tr:hover td{background:var(--surface-2)}.data-table tr:last-child td{border-bottom:0}.data-table tr.clickable{cursor:pointer}.data-table td a:not(.btn){color:var(--ink);font-weight:550}.data-table td a:not(.btn):hover{color:var(--brand-600)}.data-table td a[target=_blank]{color:var(--ink-2);font-weight:450;font-family:var(--font-mono);font-size:12px}.data-table td a[target=_blank]:hover{color:var(--brand-600)}.data-table .mono{font-family:var(--font-mono);font-size:11.5px}.data-table .cell-dim{color:var(--ink-3)}.data-table .cell-danger{color:var(--danger);text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.data-table th[scope],.data-table tbody th{background:0 0}.badge{border-radius:var(--r-full);letter-spacing:.015em;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;height:21px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.badge.green{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}.badge.red{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.badge.amber{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}.badge.blue{background:var(--info-bg);color:var(--info);border-color:var(--info-border)}.badge.gray{background:var(--surface-3);color:var(--ink-2);border-color:var(--border)}.badge .dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge.pulse .dot{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.btn{border-radius:var(--r-md);cursor:pointer;letter-spacing:.005em;background:var(--ink);height:34px;color:var(--surface);transition:background var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast), color var(--t-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn svg{width:14px;height:14px}.btn:hover{color:var(--surface);box-shadow:var(--shadow-2);background:#3a352c;text-decoration:none}.btn:active{box-shadow:none;transform:translateY(1px)}.btn:disabled{background:var(--surface-3);color:var(--ink-4);cursor:default;box-shadow:none;transform:none}.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.btn.secondary:hover{background:var(--surface-2);border-color:var(--ink-4);box-shadow:var(--shadow-1)}.btn.secondary:disabled{background:var(--surface-3);color:var(--ink-4);border-color:var(--border)}.btn.danger{background:var(--surface);color:var(--danger);border-color:var(--danger-border)}.btn.danger:hover{background:var(--danger-bg);border-color:var(--danger);box-shadow:none}.btn.danger:disabled{background:var(--surface-3);color:var(--ink-4);border-color:var(--border)}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-3);color:var(--ink);box-shadow:none}.btn.small{border-radius:var(--r-sm);gap:6px;height:27px;padding:0 10px;font-size:12px}.btn.small svg{width:12px;height:12px}.icon-btn{border-radius:var(--r-md);width:32px;height:32px;color:var(--ink-2);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn svg{width:17px;height:17px}.icon-btn:hover{background:var(--surface-3);color:var(--ink)}.copy-btn{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);height:26px;color:var(--ink-2);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);align-items:center;gap:6px;padding:0 9px;font-size:11.5px;font-weight:600;display:inline-flex}.copy-btn svg{width:12px;height:12px}.copy-btn:hover{background:var(--surface-2);color:var(--ink);border-color:var(--border-strong)}.copy-btn.copied{color:var(--ok);border-color:var(--ok-border);background:var(--ok-bg)}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--ink-2);letter-spacing:.01em;font-size:12px;font-weight:600}.field input,.field select,.field textarea,.toolbar-input,.toolbar-select{border:1px solid var(--border);border-radius:var(--r-md);height:36px;color:var(--ink);background:var(--surface);transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none;padding:0 11px;font-size:13.5px}.field textarea{resize:vertical;height:auto;padding:9px 11px;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus,.toolbar-input:focus,.toolbar-select:focus{border-color:var(--brand-400);box-shadow:var(--focus-ring)}.field input::placeholder,.field textarea::placeholder,.toolbar-input::placeholder{color:var(--ink-4)}.field input:disabled,.field select:disabled{background:var(--surface-3);color:var(--ink-3)}.field input.mono,.field textarea.mono{font-family:var(--font-mono);font-size:12.5px}.field .hint{color:var(--ink-3);font-size:12px;font-weight:400}.field .hint.warn{color:var(--warn)}.field .hint.warn code{font-family:var(--font-mono);background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--r-sm);padding:1px 5px;font-size:11px}p.hint{color:var(--ink-2);font-size:12.5px}input[type=checkbox]{accent-color:var(--brand-600);flex:none;width:15px;height:15px}.check-label{text-transform:none;cursor:pointer;align-items:flex-start;gap:9px;line-height:1.5;color:var(--ink)!important;font-size:13px!important;font-weight:450!important;display:flex!important}.check-label input[type=checkbox]{margin-top:2px}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.toolbar-input{width:260px;max-width:100%}.toolbar-select{padding-right:8px}.form-error,.form-success{border-radius:var(--r-md);border:1px solid;align-items:flex-start;gap:9px;margin-bottom:16px;padding:10px 13px;font-size:13px;display:flex}.form-error{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.form-success{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}.form-error:before,.form-success:before{content:"";width:15px;height:15px;-webkit-mask:var(--notice-icon) center / contain no-repeat;-webkit-mask:var(--notice-icon) center / contain no-repeat;mask:var(--notice-icon) center / contain no-repeat;background:currentColor;flex:none;margin-top:1px}.form-error:before{--notice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5h.01'/%3E%3C/svg%3E")}.form-success:before{--notice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8.5 12.2l2.4 2.4 4.6-5'/%3E%3C/svg%3E")}.empty-state{text-align:center;color:var(--ink-2);padding:56px 24px 60px}.empty-state .empty-art{background:var(--brand-050);width:64px;height:64px;color:var(--brand-500);box-shadow:inset 0 0 0 1px var(--brand-100);border-radius:20px;justify-content:center;align-items:center;margin:0 auto 18px;display:flex}.empty-state .empty-art svg{width:26px;height:26px}.empty-state h3{color:var(--ink);margin-bottom:7px;font-size:15.5px;font-weight:600}.empty-state p{max-width:46ch;margin:0 auto 20px;font-size:13px;line-height:1.55}.tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:20px;display:flex;overflow-x:auto}.tab{color:var(--ink-2);cursor:pointer;border-radius:var(--r-md) var(--r-md) 0 0;transition:color var(--t-fast), background var(--t-fast);white-space:nowrap;background:0 0;border:0;padding:9px 14px 11px;font-size:13.5px;font-weight:500;position:relative}.tab:hover{color:var(--ink);background:var(--surface-3)}.tab.active{color:var(--ink);font-weight:600}.tab.active:after{content:"";background:var(--brand-500);border-radius:2px 2px 0 0;height:2.5px;position:absolute;bottom:-1px;left:10px;right:10px}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .16s var(--ease);background:#1a17136b;justify-content:center;align-items:flex-start;padding:9vh 16px 16px;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-3);width:540px;max-width:100%;max-height:82vh;animation:modal-in .2s var(--ease);flex-direction:column;display:flex}@keyframes modal-in{0%{opacity:0;transform:scale(.975)translateY(6px)}}.modal-header{letter-spacing:-.01em;border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 20px 14px;font-size:16px;font-weight:600;display:flex}.modal-header .spacer{flex:1}.modal-body{padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--r-xl) var(--r-xl);justify-content:flex-end;gap:10px;padding:13px 20px;display:flex}.picker-list{flex-direction:column;gap:4px;margin-bottom:6px;display:flex}.picker-item{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer;text-align:left;transition:background var(--t-fast), border-color var(--t-fast);align-items:center;gap:11px;padding:10px 13px;font-size:13.5px;display:flex}.picker-item:hover{background:var(--surface-2);border-color:var(--border-strong)}.picker-item.current{border-color:var(--brand-400);background:var(--brand-050)}.picker-item>svg{width:15px;height:15px;color:var(--ink-3);flex:none}.picker-item.current>svg{color:var(--brand-600)}.picker-item .picker-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:550;overflow:hidden}.picker-item .picker-slug{color:var(--ink-3)}.picker-item .picker-check{color:var(--brand-600)}.picker-item .picker-check svg{width:15px;height:15px;display:block}.picker-divider{color:var(--ink-3);letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:12px;margin:16px 0 14px;font-size:11px;font-weight:600;display:flex}.picker-divider:before,.picker-divider:after{content:"";background:var(--border);flex:1;height:1px}.spinner{border:2.5px solid var(--brand-100);border-top-color:var(--brand-500);border-radius:50%;width:22px;height:22px;margin:48px auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.kv{grid-template-columns:190px 1fr;gap:12px 16px;margin:0;font-size:13px;display:grid}.kv dt{color:var(--ink-3);font-weight:500}.kv dd{color:var(--ink);overflow-wrap:anywhere;min-width:0;margin:0}.code-panel{position:relative}.code-panel .copy-btn{background:var(--surface-ink-2);color:#b9b2a4;border-color:#3d382f;position:absolute;top:8px;right:8px}.code-panel .copy-btn:hover{color:#ece8df;background:#3a352c;border-color:#4a443a}.code-panel .copy-btn.copied{color:#9fd3a4;background:#24321f;border-color:#3b5232}.code-block{background:var(--surface-ink);color:#ebe6da;border-radius:var(--r-md);font-family:var(--font-mono);white-space:pre;margin:0;padding:13px 15px;font-size:12px;line-height:1.65;overflow-x:auto}.code-block.wrap{white-space:pre-wrap;word-break:break-all}.code-block::selection{color:#fff;background:#cc785c66}.code-block ::selection{color:#fff;background:#cc785c66}.progress-track{background:var(--surface-3);border-radius:3px;height:5px;overflow:hidden}.progress-fill{background:var(--brand-500);height:100%;transition:width .4s var(--ease);border-radius:3px}.progress-fill.over{background:var(--warn)}.meter{align-items:center;gap:8px;display:inline-flex}.meter .meter-track{background:var(--surface-3);border-radius:3px;flex:none;width:52px;height:5px;overflow:hidden}.meter .meter-fill{background:var(--ok);height:100%;transition:width .4s var(--ease);border-radius:3px;display:block}.meter.warn .meter-fill{background:var(--warn)}.meter.crit .meter-fill{background:var(--danger)}.meter .meter-val{font-family:var(--font-mono);color:var(--ink-2);font-size:11px}.chat{flex-direction:column;gap:14px;max-height:58vh;padding:20px;display:flex;overflow-y:auto}.chat-message{border-radius:var(--r-lg);white-space:pre-wrap;overflow-wrap:anywhere;max-width:72%;padding:10px 14px;font-size:13px;line-height:1.55}.chat-message.mine{background:var(--brand-050);border:1px solid var(--brand-100);border-bottom-right-radius:4px;align-self:flex-end}.chat-message.theirs{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.chat-message .chat-meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:5px;font-size:11px;display:flex}.chat-message .chat-meta .chat-author{color:var(--ink-2);font-weight:600}.chat-message .chat-meta .staff-tag{letter-spacing:.08em;background:var(--brand-600);color:#fff;border-radius:var(--r-full);padding:2px 6px;font-size:8.5px;font-weight:700;line-height:1}.chat-input{border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--r-lg) var(--r-lg);align-items:flex-end;gap:10px;padding:14px 20px;display:flex}.chat-input textarea{border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--font);resize:none;background:var(--surface);height:44px;transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none;flex:1;padding:11px 13px;font-size:13px}.chat-input textarea:focus{border-color:var(--brand-400);box-shadow:var(--focus-ring)}.auth-wrap{background:var(--canvas);min-height:100vh;display:flex}.auth-panel{background:radial-gradient(900px 500px at 85% 110%, #cc785c29, transparent 65%), radial-gradient(700px 420px at -10% -20%, #cc785c17, transparent 60%), var(--surface-ink);color:#ece8df;flex-direction:column;justify-content:space-between;width:44%;min-width:420px;max-width:640px;padding:48px 52px 40px;display:flex;position:relative;overflow:hidden}.auth-panel:after{content:"";pointer-events:none;background-image:linear-gradient(#ece8df0b 1px,#0000 1px),linear-gradient(90deg,#ece8df0b 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(720px 560px at 30% 20%,#000,#0000 75%);mask-image:radial-gradient(720px 560px at 30% 20%,#000,#0000 75%)}.auth-panel-inner{z-index:1;max-width:440px;position:relative}.auth-brand{letter-spacing:-.01em;align-items:center;gap:12px;margin-bottom:56px;font-size:19px;font-weight:600;display:flex}.auth-brand .brand-sub{color:#ece8df8c;font-weight:450}.auth-panel h1{letter-spacing:-.025em;margin-bottom:16px;font-size:33px;font-weight:600;line-height:1.15}.auth-panel h1 em{color:var(--brand-300);font-style:normal}.auth-panel .auth-lede{color:#ece8dfb8;margin:0 0 32px;font-size:14.5px;line-height:1.65}.auth-points{flex-direction:column;gap:13px;margin:0;padding:0;list-style:none;display:flex}.auth-points li{color:#ece8dfd9;align-items:flex-start;gap:11px;font-size:13.5px;display:flex}.auth-points li svg{width:16px;height:16px;color:var(--brand-300);flex:none;margin-top:1px}.auth-panel-foot{z-index:1;color:#ece8df6b;font-size:12px;position:relative}.auth-panel-art{opacity:.5;pointer-events:none;width:380px;height:380px;position:absolute;bottom:-70px;right:-70px}.auth-main{flex:1;justify-content:center;align-items:center;padding:32px 24px;display:flex;overflow-y:auto}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-2);width:440px;max-width:100%;animation:rise .35s var(--ease);padding:38px 42px}.auth-card.wide{width:620px}.auth-card h2{letter-spacing:-.02em;margin-bottom:5px;font-size:21px;font-weight:600}.auth-logo-mobile{align-items:center;gap:10px;margin-bottom:26px;font-size:17px;font-weight:600;display:none}.auth-logo-mobile .brand-sub{color:var(--ink-3);font-weight:450}.auth-sub{color:var(--ink-2);margin-bottom:26px;font-size:13.5px}.turnstile{min-height:65px;margin:2px 0 16px}.auth-footer{border-top:1px solid var(--border);color:var(--ink-2);margin-top:22px;padding-top:18px;font-size:13px}.auth-footer a{font-weight:600}.auth-steps{gap:4px;margin-bottom:26px;display:flex}.auth-step{border-radius:var(--r-md);color:var(--ink-3);flex:1;align-items:center;gap:8px;padding:7px 8px;font-size:12px;font-weight:550;display:flex}.auth-step .step-dot{background:var(--surface-3);width:20px;height:20px;color:var(--ink-3);border:1px solid var(--border);transition:background var(--t-med), color var(--t-med), border-color var(--t-med);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:10.5px;font-weight:650;display:flex}.auth-step .step-dot svg{width:11px;height:11px}.auth-step.current{color:var(--ink)}.auth-step.current .step-dot{background:var(--ink);color:var(--surface);border-color:var(--ink)}.auth-step.done{color:var(--ink-2)}.auth-step.done .step-dot{background:var(--brand-050);color:var(--brand-600);border-color:var(--brand-200)}.account-type-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.account-type-card{border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;background:var(--surface);text-align:left;transition:border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);padding:18px;position:relative}.account-type-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-1)}.account-type-card.selected{border-color:var(--brand-500);background:var(--brand-050);box-shadow:0 0 0 1px var(--brand-500)}.account-type-card .type-ico{border-radius:var(--r-md);background:var(--surface-3);width:32px;height:32px;color:var(--ink-2);transition:background var(--t-fast), color var(--t-fast);justify-content:center;align-items:center;margin-bottom:12px;display:flex}.account-type-card .type-ico svg{width:16px;height:16px}.account-type-card.selected .type-ico{background:var(--brand-100);color:var(--brand-700)}.account-type-card h3{margin-bottom:5px;font-size:14px;font-weight:600}.account-type-card p{color:var(--ink-2);margin:0;font-size:12px;line-height:1.55}.account-type-card .type-check{color:var(--brand-600);opacity:0;transition:opacity var(--t-fast);position:absolute;top:12px;right:12px}.account-type-card .type-check svg{width:16px;height:16px;display:block}.account-type-card.selected .type-check{opacity:1}.form-actions{gap:10px;margin-top:4px;display:flex}@media (width<=1100px){.topbar-search{max-width:380px}.project-chip .chip-label{display:none}.content-inner{padding:22px 24px 64px}.dash-duo{grid-template-columns:1fr}.product-links{grid-template-columns:1fr;max-width:460px}}@media (width<=920px){.icon-btn.nav-toggle{display:inline-flex}.topbar-sep,.brand-word .brand-sub,.topbar-search{display:none}.sidenav{z-index:70;width:264px;transition:transform .22s var(--ease);box-shadow:none;border-right:1px solid var(--border);padding-top:14px;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}.sidenav.open{box-shadow:var(--shadow-3);transform:none}.nav-backdrop{z-index:65;animation:fade-in .16s var(--ease);background:#1a171359;display:block;position:fixed;inset:0}.content-inner{padding:18px 16px 56px}.project-chip .chip-name{max-width:110px}.page-header h1{font-size:19px}.field-row{grid-template-columns:1fr;gap:0}.auth-panel{display:none}.auth-logo-mobile{display:flex}.auth-card,.auth-card.wide{padding:28px 22px}.account-type-grid{grid-template-columns:1fr}.kv{grid-template-columns:130px 1fr}.chat-message{max-width:88%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.badge.pulse .dot{animation:none}.spinner{animation:1.2s linear infinite spin!important}}.admin-auth-wrap{background:var(--canvas);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.admin-auth-card{text-align:center;width:400px}.admin-auth-brand{color:var(--ink);justify-content:center;margin-bottom:16px;display:flex}.admin-auth-note{border-top:1px solid var(--border);color:var(--ink-3);margin-top:20px;padding-top:16px;font-size:12px;line-height:1.55}
