:root{--accent:#6b4eff;--accent-soft:#6b4eff1a;--ok:#22b47a;--warn:#e8a317;--crit:#e34d4d;--info:#3b82f6;--font-sans:"Archivo", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}:root,[data-theme=light]{--bg:#f6f6f4;--surface:#fff;--surface-2:#fafaf8;--surface-3:#f0f0ed;--line:#e4e4df;--line-strong:#c9c9c2;--ink:#0a0a0a;--ink-2:#3a3a38;--ink-3:#6e6e68;--ink-4:#9b9b94;--hover:#0a0a0a08;--shadow-sm:0 1px 0 #0000000a, 0 1px 2px #0000000a;--shadow-md:0 1px 0 #0000000a, 0 4px 12px #00000010}[data-theme=dark]{--bg:#0b0b0c;--surface:#141416;--surface-2:#17171a;--surface-3:#1f1f23;--line:#26262b;--line-strong:#34343b;--ink:#f2f2f0;--ink-2:#c8c8c4;--ink-3:#888884;--ink-4:#5a5a58;--hover:#ffffff08;--shadow-sm:0 1px 0 #00000040, 0 1px 2px #00000060;--shadow-md:0 1px 0 #00000040, 0 8px 24px #00000080}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;padding:0}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01", "cv11";font-size:13px;line-height:1.45;overflow-x:hidden}.mono{font-family:var(--font-mono);font-feature-settings:"zero", "ss01"}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"zero"}.muted{color:var(--ink-3)}.dim{color:var(--ink-4)}.app{grid-template-rows:auto auto 1fr;min-height:100vh;display:grid}.topbar{border-bottom:1px solid var(--line);background:var(--surface);z-index:20;align-items:center;gap:16px;height:52px;padding:0 16px;display:flex;position:sticky;top:0}.brand{letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:10px;font-size:13px;font-weight:800;display:flex}.brand-mark{border:1px solid var(--line);background:#fff;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;height:28px;padding:2px 4px;display:inline-flex}.brand-mark img{object-fit:contain;width:auto;height:100%;display:block}.brand-sub{color:var(--ink-3);letter-spacing:.04em;border-left:1px solid var(--line);margin-left:4px;padding-left:10px;font-size:11px;font-weight:500}.topbar-spacer{flex:1}.topbar-grp{align-items:center;gap:8px;display:flex}.search{background:var(--surface-3);border:1px solid var(--line);min-width:240px;color:var(--ink-3);border-radius:4px;align-items:center;gap:8px;padding:5px 10px;font-size:12px;display:flex}.search input{color:var(--ink);font:inherit;font-family:var(--font-mono);background:0 0;border:0;outline:0;flex:1;font-size:12px}.search kbd{font-family:var(--font-mono);background:var(--surface);border:1px solid var(--line);color:var(--ink-3);border-radius:3px;padding:1px 5px;font-size:10px}.seg{background:var(--surface-3);border:1px solid var(--line);border-radius:4px;gap:0;padding:2px;display:inline-flex}.seg button{font:inherit;font-family:var(--font-mono);color:var(--ink-3);cursor:pointer;letter-spacing:.02em;background:0 0;border:0;border-radius:2px;padding:3px 10px;font-size:11px}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.iconbtn{border:1px solid var(--line);width:30px;height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border-radius:4px;place-items:center;display:grid}.iconbtn:hover{background:var(--hover);color:var(--ink)}.live-dot{font-family:var(--font-mono);color:var(--ink-3);align-items:center;gap:6px;font-size:11px;display:inline-flex}.live-dot:before{content:"";background:var(--ok);width:6px;height:6px;box-shadow:0 0 0 3px color-mix(in oklch, var(--ok) 25%, transparent);border-radius:50%;animation:1.8s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.ribbon{background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:repeat(6,1fr);display:grid}.ribbon-cell{border-right:1px solid var(--line);flex-direction:column;gap:2px;padding:10px 16px;display:flex}.ribbon-cell:last-child{border-right:0}.ribbon-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-size:10px;font-weight:600}.ribbon-value{font-family:var(--font-mono);color:var(--ink);letter-spacing:-.01em;align-items:baseline;gap:6px;font-size:20px;font-weight:500;display:flex}.ribbon-value small{color:var(--ink-3);font-size:11px;font-weight:400}.ribbon-trend{font-size:10px;font-family:var(--font-mono);align-items:center;gap:4px;display:flex}.ribbon-trend.up{color:var(--ok)}.ribbon-trend.down{color:var(--crit)}.main{gap:14px;padding:14px 16px 80px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:4px}.panel-head{border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em;height:36px;color:var(--ink-2);align-items:center;gap:10px;padding:0 12px;font-size:11px;font-weight:700;display:flex}.panel-head .tag{font-family:var(--font-mono);background:var(--surface-3);border:1px solid var(--line);text-transform:none;letter-spacing:0;color:var(--ink-3);border-radius:3px;padding:1px 6px;font-size:10px;font-weight:500}.panel-head .sp{flex:1}.alerts{flex-direction:column;gap:6px;display:flex}.alert{border:1px solid;border-radius:4px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:8px 12px;font-size:12px;display:grid}.alert.crit{background:color-mix(in oklch, var(--crit) 8%, var(--surface));border-color:color-mix(in oklch, var(--crit) 35%, var(--line))}.alert.warn{background:color-mix(in oklch, var(--warn) 10%, var(--surface));border-color:color-mix(in oklch, var(--warn) 35%, var(--line))}.alert .sev{font-family:var(--font-mono);letter-spacing:.08em;border-radius:2px;padding:2px 6px;font-size:10px;font-weight:700}.alert.crit .sev{background:var(--crit);color:#fff}.alert.warn .sev{background:var(--warn);color:#2a1900}.alert .when{font-family:var(--font-mono);color:var(--ink-3);font-size:11px}.alert .msg strong{font-weight:600}.alert a{color:var(--ink);text-underline-offset:2px;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px}.alert .dismiss{width:22px;height:22px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:2px}.alert .dismiss:hover{background:var(--hover);color:var(--ink)}.crm-group+.crm-group{margin-top:0}.crm-head{border-bottom:1px solid var(--line);background:var(--surface-2);grid-template-columns:auto auto 1fr auto;align-items:center;gap:14px;padding:10px 14px;display:grid}.crm-disclose{width:18px;height:18px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;place-items:center;transition:transform .15s;display:grid}.crm-disclose.open{color:var(--ink);transform:rotate(90deg)}.crm-title{align-items:baseline;gap:10px;display:flex}.crm-title h2{letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:15px;font-weight:800}.crm-title .stack{font-family:var(--font-mono);color:var(--ink-3);text-transform:none;letter-spacing:0;font-size:10px}.crm-meta{font-family:var(--font-mono);color:var(--ink-3);flex-wrap:wrap;gap:18px;font-size:11px;display:flex}.crm-meta b{color:var(--ink);font-weight:500}.crm-actions{gap:6px;display:flex}.itable{border-collapse:collapse;width:100%}.itable thead th{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);text-align:left;border-bottom:1px solid var(--line);background:var(--surface);z-index:5;padding:7px 10px;font-size:10px;font-weight:600;position:sticky;top:0}.itable thead th.num,.itable tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.itable tbody tr{border-bottom:1px solid var(--line)}.itable tbody tr:last-child{border-bottom:0}.itable tbody tr.row{cursor:pointer}.itable tbody tr.row:hover{background:var(--hover)}.itable tbody td{font-family:var(--font-mono);color:var(--ink-2);vertical-align:middle;padding:8px 10px;font-size:11.5px}.itable tbody td.name{color:var(--ink);font-weight:500}.itable td.disc{width:18px;color:var(--ink-4);padding-right:0}.itable td.disc svg{transition:transform .15s}.itable tr.expanded td.disc svg{color:var(--ink);transform:rotate(90deg)}.s-dot{font-family:var(--font-mono);align-items:center;gap:6px;font-size:11px;display:inline-flex}.s-dot:before{content:"";background:var(--ink-4);border-radius:50%;width:7px;height:7px}.s-dot.ok:before{background:var(--ok);box-shadow:0 0 0 2px color-mix(in oklch, var(--ok) 25%, transparent)}.s-dot.warn:before{background:var(--warn);box-shadow:0 0 0 2px color-mix(in oklch, var(--warn) 25%, transparent)}.s-dot.crit:before{background:var(--crit);box-shadow:0 0 0 2px color-mix(in oklch, var(--crit) 25%, transparent);animation:1.2s ease-in-out infinite pulse}.s-dot.ok{color:var(--ok)}.s-dot.warn{color:var(--warn)}.s-dot.crit{color:var(--crit)}.gbar{align-items:center;gap:8px;display:flex}.gbar-track{background:var(--surface-3);border-radius:2px;width:110px;height:6px;position:relative;overflow:hidden}.gbar-fill{background:var(--ok);border-radius:2px;transition:width .6s cubic-bezier(.2,.6,.2,1);position:absolute;inset:0 auto 0 0}.gbar-fill.warn{background:var(--warn)}.gbar-fill.crit{background:var(--crit)}.gbar-val{font-family:var(--font-mono);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;min-width:36px;font-size:11px}.gbar-val.warn{color:var(--warn)}.gbar-val.crit{color:var(--crit)}.spark{width:68px;height:18px;display:block}tr.detail>td{background:var(--surface-2);border-bottom:1px solid var(--line)!important;padding:0!important}.detail-inner{border-top:1px solid var(--line);grid-template-columns:1.2fr 1fr 1fr;gap:0;display:grid}.detail-block{border-right:1px solid var(--line);min-width:0;padding:12px 14px;overflow:hidden}.detail-block:last-child{border-right:0}.detail-block h4{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;min-width:0;margin:0 0 8px;font-size:10px;font-weight:700;display:flex}.detail-block h4 .tag{font-family:var(--font-mono);text-transform:none;letter-spacing:0;color:var(--ink-3);background:var(--surface-3);border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;border-radius:3px;min-width:0;max-width:100%;padding:0 5px;font-size:10px;font-weight:500;overflow:hidden}.logs{font-family:var(--font-mono);background:var(--surface-3);border:1px solid var(--line);max-height:160px;color:var(--ink-2);border-radius:3px;padding:8px 10px;font-size:11px;line-height:1.55;overflow:auto}.logs .t{color:var(--ink-4);margin-right:8px}.logs .lvl{width:44px;font-weight:600;display:inline-block}.logs .lvl.I{color:var(--info)}.logs .lvl.W{color:var(--warn)}.logs .lvl.E{color:var(--crit)}.logs .lvl.D{color:var(--ink-3)}.proc{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:11px}.proc th,.proc td{text-align:left;border-bottom:1px solid var(--line);color:var(--ink-2);padding:3px 6px}.proc th{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-size:9.5px;font-weight:600}.proc td.n{text-align:right;font-variant-numeric:tabular-nums}.proc tr:last-child td{border-bottom:0}.net-kv{font-family:var(--font-mono);grid-template-columns:auto 1fr;gap:4px 12px;font-size:11px;display:grid}.net-kv dt{color:var(--ink-3)}.net-kv dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0}.net-chart{width:100%;height:60px;margin-top:8px;display:block}.ga-grid{grid-template-columns:1.2fr 1fr 1.2fr;gap:0;display:grid}.ga-cell{border-right:1px solid var(--line);padding:14px}.ga-cell:last-child{border-right:0}.crm-ga{border-bottom:1px solid var(--line);background:var(--surface-2);grid-template-columns:200px 1fr 1.2fr;gap:0;display:grid}.crm-ga-cell{border-right:1px solid var(--line);min-width:0;padding:10px 14px}.crm-ga-cell:last-child{border-right:0}.crm-bugsnag{grid-template-columns:repeat(var(--cells,2), 1fr);border-bottom:1px solid var(--line);background:var(--surface-2);gap:0;display:grid}.crm-ga-cell h5 a.chip:hover{background:var(--accent);border-color:var(--accent);color:#fff}.crm-toppages a.r{display:grid}.crm-toppages a.r:hover .p{color:var(--ink)}.crm-ga-cell h5{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);justify-content:space-between;align-items:center;gap:6px;margin:0 0 4px;font-size:10px;font-weight:700;display:flex}.crm-ga-big{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;font-size:22px;font-weight:500;line-height:1;display:flex}.crm-ga-big small{color:var(--ink-3);font-size:10.5px;font-weight:400}.crm-rt-bars{grid-template-columns:repeat(24,1fr);align-items:end;gap:1.5px;height:20px;margin-top:6px;display:grid}.crm-rt-bars span{background:var(--accent);border-radius:1px 1px 0 0;min-height:2px;transition:height .6s}.crm-toppages{font-family:var(--font-mono);gap:2px;font-size:11px;display:grid}.crm-toppages .r{grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:2px 0;display:grid}.crm-toppages .r .p{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.crm-toppages .r .p:before{content:"";vertical-align:1px;background:var(--accent);border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.crm-toppages .r .v{color:var(--ink);font-variant-numeric:tabular-nums;font-size:10.5px}.crm-toppages .r .d{color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums;min-width:36px;font-size:10px}.ga-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ga-title{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-size:10px;font-weight:700}.ga-big{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;font-size:40px;font-weight:500;line-height:1;display:flex}.ga-big small{color:var(--ink-3);font-size:12px;font-family:var(--font-mono);font-weight:400}.ga-sub{color:var(--ink-3);font-size:11px;font-family:var(--font-mono);margin-top:4px}.realtime-bars{grid-template-columns:repeat(30,1fr);align-items:end;gap:2px;height:36px;margin-top:12px;display:grid}.realtime-bars span{background:var(--accent);opacity:.85;border-radius:1px 1px 0 0;min-height:2px;transition:height .6s}.sessions-chart{width:100%;height:72px;margin-top:6px;display:block}.toppages{font-family:var(--font-mono);gap:4px;font-size:11.5px;display:grid}.toppages-row{border-bottom:1px dashed var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:5px 0;display:grid}.toppages-row:last-child{border-bottom:0}.toppages-row .p{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toppages-row .p:before{content:"";vertical-align:1px;background:var(--accent);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.toppages-row .v{color:var(--ink);font-variant-numeric:tabular-nums}.toppages-row .d{color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums;min-width:40px;font-size:10.5px}.drawer-scrim{opacity:0;pointer-events:none;z-index:40;background:#0008;transition:opacity .2s;position:fixed;inset:0}.drawer-scrim.open{opacity:1;pointer-events:auto}.drawer{background:var(--surface);border-left:1px solid var(--line);z-index:41;flex-direction:column;width:560px;max-width:94vw;transition:transform .25s cubic-bezier(.2,.7,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-8px 0 24px #00000014}.drawer.open{transform:translate(0)}.drawer-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 16px;display:flex}.drawer-head .id{font-family:var(--font-mono);color:var(--ink);font-size:12px;font-weight:500}.drawer-head .sub{color:var(--ink-3);font-size:11px;font-family:var(--font-mono)}.drawer-body{flex:1;gap:16px;padding:14px 16px;display:grid;overflow:auto}.kv-grid{background:var(--line);border:1px solid var(--line);border-radius:3px;grid-template-columns:1fr 1fr;gap:1px;display:grid}.kv-grid>div{background:var(--surface);padding:8px 10px}.kv-grid dt{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:2px;font-size:10px;font-weight:600}.kv-grid dd{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:12px}.ts-chart{width:100%;height:90px;display:block}.chip{font-family:var(--font-mono);background:var(--surface-3);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;border-radius:3px;padding:3px 8px;font-size:11px}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.logs::-webkit-scrollbar{width:8px;height:8px}.drawer-body::-webkit-scrollbar{width:8px;height:8px}.logs::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}.drawer-body::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}
