:root{--bg:#f5f6f8;--surface:#fff;--surface2:#f0f2f5;--text:#12151b;--muted:#667085;--line:#e4e7ec;--accent:#4f46e5;--accent-soft:#eceafd;--accent-ink:#fff;--good:#0f8f5b;--good-soft:#e3f6ec;--warn:#a96a05;--warn-soft:#fcf1d8;--bad:#cc3340;--bad-soft:#fde7e9;--info-soft:#e9eefb;--c1:#4f46e5;--c2:#0ea5a4;--c3:#f59e0b;--c4:#e5489b;--c5:#0891d1;--c6:#22a05b;--c7:#e5533d;--c8:#65a30d;--other:#b4bac6;--shadow:0 1px 2px #1018280a, 0 1px 3px #1018280d;--radius:14px;--nav-h:58px;--side-w:232px;--font:ui-sans-serif, system-ui, -apple-system, "SF Pro Text", "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0c0e12;--surface:#151820;--surface2:#1c2029;--text:#eceef2;--muted:#98a0ae;--line:#262b35;--accent:#8f8cff;--accent-soft:#23223f;--accent-ink:#10101a;--good:#3ccf90;--good-soft:#12291f;--warn:#f0b84a;--warn-soft:#2e2410;--bad:#ff7b86;--bad-soft:#321a1d;--info-soft:#1a2236;--c1:#8f8cff;--c2:#2dd4bf;--c3:#fbbf24;--c4:#f472b6;--c5:#38bdf8;--c6:#4ade80;--c7:#fb7d66;--c8:#a3e635;--other:#566070;--shadow:none}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:15px/1.45 var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.01em;margin:0;line-height:1.2}h1{font-size:24px}h2{font-size:15px;font-weight:650}h3{font-size:13px;font-weight:650}p{margin:0 0 8px}button,input,select,textarea{font:inherit;color:inherit}.muted{color:var(--muted)}.small{font-size:12.5px}.pad{padding:10px 2px}.right{text-align:right}.hide,[hidden]{display:none!important}code{background:var(--surface2);border-radius:5px;padding:1px 5px;font:12.5px ui-monospace,SFMono-Regular,Menlo,monospace}.shell{min-height:100dvh}.side{display:none}.topbar{z-index:30;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--bg);border-bottom:1px solid var(--line);align-items:center;gap:10px;display:flex;position:sticky;top:0}.logo{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);border-radius:8px;flex:none;place-items:center;font-size:14px;font-weight:800;display:inline-grid}.brand{letter-spacing:-.01em;font-weight:700}.top-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:650;overflow:hidden}.fresh{color:var(--muted);white-space:nowrap;font-size:12px}.fresh.stale{color:var(--warn)}main{padding:14px 16px calc(var(--nav-h) + 28px + env(safe-area-inset-bottom));max-width:1180px;margin:0 auto}.tabbar{z-index:40;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10.5px;font-weight:600;display:flex}.tabbar a svg,.side a svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.tabbar a[aria-current=page]{color:var(--accent)}@media (width>=900px){.shell{grid-template-columns:var(--side-w) 1fr;display:grid}.tabbar{display:none}.side{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;gap:4px;height:100dvh;padding:18px 12px;display:flex;position:sticky;top:0}.side .brandrow{align-items:center;gap:10px;padding:4px 10px 16px;display:flex}.side a.nav{color:var(--muted);border-radius:10px;align-items:center;gap:11px;padding:9px 10px;font-weight:550;display:flex}.side a.nav:hover{background:var(--surface2);color:var(--text)}.side a.nav[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.side .grow{flex:1}.side .who{color:var(--muted);word-break:break-all;padding:8px 10px;font-size:12px}.topbar{padding:12px 28px}.topbar .logo,.topbar .brand{display:none}main{padding:20px 28px 60px}h1{font-size:28px}}.filters{z-index:20;scrollbar-width:none;background:var(--bg);border-bottom:1px solid var(--line);gap:8px;margin:-14px -16px 14px;padding:8px 16px;display:flex;position:sticky;top:49px;overflow-x:auto}.filters::-webkit-scrollbar{display:none}@media (width>=900px){.filters{margin:-20px -28px 18px;padding:10px 28px;top:57px}}.seg{background:var(--surface2);border-radius:10px;flex:none;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;min-height:32px;padding:6px 11px;font-size:13px;font-weight:600}.seg button[aria-pressed=true],.seg a[aria-current=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.seg a{color:var(--muted);white-space:nowrap;border-radius:8px;align-items:center;min-height:32px;padding:6px 11px;font-size:13px;font-weight:600;display:inline-flex}.select{appearance:none;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' fill='none' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 11px center;border:1px solid var(--line);border-radius:10px;flex:none;max-width:220px;min-height:38px;padding:7px 30px 7px 12px;font-size:13px;font-weight:600}.range-custom{flex:none;align-items:end;gap:8px;display:flex}.range-custom label{color:var(--muted);gap:2px;font-size:11px;display:grid}.range-custom input{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:5px 8px;font-size:13px}.subtle-note{color:var(--muted);margin:-6px 0 12px;font-size:12.5px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.page-head p{color:var(--muted);margin:4px 0 0}.grid{gap:12px;margin-bottom:12px;display:grid}.cols2,.cols3{grid-template-columns:1fr}@media (width>=760px){.cols2{grid-template-columns:1fr 1fr}.cols3{grid-template-columns:repeat(3,1fr)}.cols21{grid-template-columns:2fr 1fr}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:16px}.card>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.card>header .sub{color:var(--muted);font-size:12.5px;font-weight:400}.card.flush{padding:0;overflow:hidden}.card.flush>header{padding:14px 16px 0}.sec-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 2px 8px;font-size:12px;font-weight:650}.kpis{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px;display:grid}@media (width>=760px){.kpis{grid-template-columns:repeat(4,1fr)}.kpis.six{grid-template-columns:repeat(3,1fr)}}@media (width>=1100px){.kpis.six{grid-template-columns:repeat(6,1fr)}}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:2px;min-width:0;padding:13px 14px 12px;display:flex;position:relative;overflow:hidden}a.kpi:hover{border-color:var(--accent)}.kpi .l{color:var(--muted);font-size:12px;font-weight:600}.kpi .v{letter-spacing:-.02em;font-size:26px;font-weight:700;line-height:1.15}.kpi .h{color:var(--muted);min-height:16px;font-size:12px}.kpi .spark{width:100%;height:28px;margin-top:6px;display:block}.kpi.hero{background:linear-gradient(160deg, var(--accent-soft), var(--surface) 70%)}@media (width>=760px){.kpi .v{font-size:28px}}.chg{white-space:nowrap;font-size:12px;font-weight:650}.chg.up{color:var(--good)}.chg.down{color:var(--bad)}.chg.flat{color:var(--muted)}.chart{grid-template-columns:auto 1fr;grid-template-rows:var(--h,180px) auto;touch-action:pan-y;column-gap:8px;display:grid;position:relative}.chart .yaxis{text-align:right;color:var(--muted);flex-direction:column;justify-content:space-between;min-width:28px;padding:0;font-size:11px;display:flex}.chart .plot{border-bottom:1px solid var(--line);position:relative}.chart svg{width:100%;height:100%;display:block}.chart .grid{stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-dasharray:3 4}.chart .xaxis{color:var(--muted);grid-column:2;justify-content:space-between;padding-top:5px;font-size:11px;display:flex}.chart .cross{background:var(--muted);opacity:.45;pointer-events:none;width:1px;display:none;position:absolute;top:0;bottom:0}.spark{display:block}.tip{z-index:100;pointer-events:none;color:#f3f4f7;background:#12151b;border-radius:10px;min-width:120px;padding:8px 10px;font-size:12.5px;position:fixed;box-shadow:0 8px 24px #00000047}@media (prefers-color-scheme:dark){.tip{background:#2a2f3b}}.tip .tl{margin-bottom:4px;font-weight:700}.tip .tr{align-items:center;gap:7px;padding:1px 0;display:flex}.tip .tr span{opacity:.85;flex:1}.tip .tr i{border-radius:2px;flex:none;width:8px;height:8px}.tip .tt{border-top:1px solid #ffffff2e;margin-top:3px;padding-top:4px}.legend{flex-wrap:wrap;gap:6px 14px;margin:8px 0 0;padding:0;font-size:12.5px;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:9px;height:9px;display:inline-block}.legend.inline{margin:0 0 10px}.bars{gap:11px;margin:0;padding:0;list-style:none;display:grid}.bars li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"row val""track track";align-items:center;gap:5px 12px;display:grid}.bars .row{grid-area:row;align-items:center;gap:8px;min-width:0;font-weight:550;display:flex}a.row:hover .lbl{text-decoration:underline}.bars .lead{flex:none;font-size:18px;line-height:1}.bars .lbl{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bars .lbl small{color:var(--muted);text-overflow:ellipsis;font-size:11.5px;font-weight:400;display:block;overflow:hidden}.bars .track{background:var(--surface2);border-radius:99px;grid-area:track;height:6px;overflow:hidden}.bars .track i{border-radius:99px;height:100%;display:block}.bars .val{text-align:right;grid-area:val;line-height:1.2}.bars .val b{font-weight:650;display:block}.bars .val small{color:var(--muted);font-size:11.5px}.more-n{margin:8px 0 0}.split{gap:4px;display:grid}.splitbar{border-radius:99px;gap:2px;height:14px;display:flex;overflow:hidden}.splitbar i{min-width:3px;display:block}.funnel{gap:8px;display:grid}.funnel .step{grid-template-columns:1fr auto;align-items:center;gap:4px 12px;display:grid}.funnel .bar{background:var(--surface2);border-radius:8px;grid-column:1/-1;height:26px;overflow:hidden}.funnel .bar i{background:var(--accent);border-radius:8px;height:100%;display:block}.funnel .name{font-weight:550}.funnel .n{font-weight:700}.funnel .rate{color:var(--muted);font-size:12px;font-weight:400}.list{border-collapse:collapse;width:100%}.list th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:11.5px;font-weight:650}.list td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 10px}.list tr:last-child td{border-bottom:0}.list .num{text-align:right;white-space:nowrap}.list tbody tr:hover{background:var(--surface2)}.list .name{font-weight:650}.list .sub{color:var(--muted);font-size:12px}.tablewrap{-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px;overflow-x:auto}@media (width<=759px){.list.stack thead{display:none}.list.stack,.list.stack tbody,.list.stack tr,.list.stack td{display:block}.list.stack tr{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;gap:6px 10px;padding:12px 0;display:grid}.list.stack tr:last-child{border-bottom:0}.list.stack td{text-align:left;border:0;padding:0}.list.stack td.first{grid-column:1/-1}.list.stack td[data-l]:before{content:attr(data-l);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10.5px;font-weight:650;display:block}.list.stack td.num{text-align:left}.list.stack td.hide-m{display:none}}.pill{background:var(--surface2);color:var(--muted);white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:2px 8px;font-size:11.5px;font-weight:650;display:inline-flex}.pill.good{background:var(--good-soft);color:var(--good)}.pill.warning,.pill.serious{background:var(--warn-soft);color:var(--warn)}.pill.critical{background:var(--bad-soft);color:var(--bad)}.pill.info{background:var(--info-soft);color:var(--accent)}.dot{background:var(--other);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot.good{background:var(--good)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--bad)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface2);border-radius:99px;padding:4px 10px;font-size:12px;font-weight:600}.chip:hover{background:var(--accent-soft);color:var(--accent)}.insights{gap:8px;margin-bottom:12px;display:grid}.insight{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;align-items:flex-start;gap:11px;padding:12px 14px;display:flex}.insight .ic{background:var(--info-soft);width:26px;height:26px;color:var(--accent);border-radius:8px;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.insight.good .ic{background:var(--good-soft);color:var(--good)}.insight.warn .ic{background:var(--warn-soft);color:var(--warn)}.insight.bad .ic{background:var(--bad-soft);color:var(--bad)}.insight b{font-weight:650}.insight p{color:var(--muted);margin:2px 0 0;font-size:13px}.insight a.go{color:var(--accent);white-space:nowrap;font-weight:600}.note{background:var(--info-soft);border-radius:10px;gap:10px;margin-bottom:8px;padding:10px 12px;font-size:13.5px;display:flex}.note.warn{background:var(--warn-soft)}.note.error{background:var(--bad-soft)}.note .fix{color:var(--muted);margin-top:2px;font-size:12.5px}.form{gap:12px;display:grid}.fld{color:var(--muted);gap:4px;min-width:0;font-size:12.5px;font-weight:600;display:grid}.fld input,.fld textarea,.fld select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:10px;min-height:40px;padding:9px 11px;font-size:16px;font-weight:400}@media (width>=900px){.fld input,.fld textarea,.fld select{font-size:14px}}.fld input:focus,.fld textarea:focus,.fld select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}.fld .help{color:var(--muted);font-size:12px;font-weight:400}.row2{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=640px){.row2{grid-template-columns:1fr 1fr}}.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:8px 14px;font-size:14px;font-weight:650;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.ghost{background:0 0}.btn.danger{color:var(--bad)}.btn[disabled]{opacity:.55;cursor:default}.btn.small{min-height:32px;padding:4px 10px;font-size:13px}.actions-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.conn{align-content:start;gap:10px;display:grid}.conn-head{align-items:center;gap:10px;display:flex}.conn-head h3{flex:1;font-size:14.5px}details.disc>summary{cursor:pointer;color:var(--accent);padding:4px 0;font-size:13px;font-weight:600;list-style:none}details.disc>summary::-webkit-details-marker{display:none}ul.plain{gap:6px;margin:0;padding:0;list-style:none;display:grid}.feed li{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.feed li:last-child{border-bottom:0}.feed .t{color:var(--muted);white-space:nowrap;min-width:82px;font-size:12px}.crumbs{margin:0 0 8px;font-size:13px}.crumbs a{color:var(--accent);font-weight:600}.signin{text-align:center;gap:14px;max-width:380px;margin:14vh auto;display:grid}.sheet-link{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 4px;font-weight:600;display:flex}.sheet-link svg{width:22px;height:22px;stroke:var(--muted);fill:none;stroke-width:1.8px}.loading{opacity:.55;transition:opacity .15s}.skeleton{color:var(--muted);text-align:center;padding:40px 0}.tabs{scrollbar-width:none;gap:6px;margin-bottom:12px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.empty-state{text-align:center;color:var(--muted);padding:28px 12px}.empty-state b{color:var(--text);margin-bottom:4px;display:block}.kv{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:13px;display:grid}.kv dt{color:var(--muted)}.kv dd{word-break:break-all;margin:0}@media print{.tabbar,.side,.filters,.topbar{display:none!important}}
