:root{--blue: #3186f6;--blue-2: #2563eb;--purple: #8b5cf6;--teal: #1ec7b6;--pink: #ec4899;--green: #22c55e;--amber: #f59e0b;--red: #ef4444;--radius: 8px}body[data-mode=dark]{--bg: #0a0d17;--panel: #10141f;--panel-2: #141926;--panel-3: #0e1320;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .13);--text: #eef1f6;--muted: #8b95a9;--muted-2: #5c6678;--grid: rgba(255, 255, 255, .06);--axis: #5c6678}body[data-mode=light]{--bg: #f3f5fb;--panel: #ffffff;--panel-2: #f7f9fc;--panel-3: #edf1f8;--border: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .16);--text: #0f1626;--muted: #5c6678;--muted-2: #9aa3b2;--grid: rgba(15, 23, 42, .06);--axis: #9aa3b2}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:DM Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.tabnum{font-variant-numeric:tabular-nums}.app{max-width:1480px;margin:0 auto;padding:0 22px 70px}.topbar{display:flex;align-items:center;gap:18px;padding:15px 0 13px;position:sticky;top:0;z-index:30;background:linear-gradient(180deg,var(--bg) 72%,transparent)}.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:14.5px;text-decoration:none;color:var(--text)}.brand .logo{height:26px;width:auto;object-fit:contain;display:block}.nav{display:flex;gap:3px;flex-wrap:wrap}.nav a{background:none;border:0;color:var(--muted);font:inherit;font-size:13.5px;font-weight:500;padding:7px 12px;border-radius:7px;cursor:pointer;transition:.15s;text-decoration:none}.nav a:hover{color:var(--text);background:var(--panel)}.nav a.active{color:var(--text);background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--border)}.spacer{flex:1}.iconbtn{width:33px;height:33px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--muted);display:grid;place-items:center;cursor:pointer;font-size:14px}.iconbtn:hover{color:var(--text)}.iconbtn:disabled{cursor:default;opacity:.5}.iconbtn.spinning svg{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.avatar{width:33px;height:33px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--blue));display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff}.subhead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:6px 0 16px;flex-wrap:wrap}.hello{font-size:25px;font-weight:700;margin:0}.hello span{color:var(--purple)}.meta{color:var(--muted);font-size:12.5px;margin-top:4px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.dot{width:6px;height:6px;border-radius:50%;background:var(--teal);display:inline-block}.seg{display:flex;background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:3px}.seg button{background:none;border:0;color:var(--muted);font:inherit;font-size:12.5px;font-weight:500;padding:6px 11px;border-radius:7px;cursor:pointer}.seg button.active{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.customrange{display:flex;gap:6px;align-items:center;margin-left:8px}.customrange input{background:var(--panel);border:1px solid var(--border);border-radius:7px;color:var(--text);font:inherit;font-size:12px;padding:5px 8px}.grid{display:grid;gap:14px}.cols-4{grid-template-columns:repeat(4,1fr)}.cols-5{grid-template-columns:repeat(5,1fr)}.cols-2{grid-template-columns:1.6fr 1fr}.cols-2e{grid-template-columns:1fr 1fr}.cols-3{grid-template-columns:1fr 1fr 1fr}.mt14{margin-top:14px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:17px}.card h3{margin:0;font-size:14px;font-weight:600}.card .sub{color:var(--muted);font-size:12px;margin-top:2px}.card .head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:13px;gap:10px}.expand{width:25px;height:25px;border-radius:7px;border:1px solid var(--border);color:var(--muted);display:grid;place-items:center;cursor:pointer;font-size:12px;flex:none;background:none;text-decoration:none}.expand:hover{color:var(--text)}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:15px 15px 7px;position:relative;overflow:hidden}.kpi .label{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.kpi .val{font-size:27px;font-weight:700;margin:5px 0 2px;letter-spacing:-.5px}.kpi .delta{font-size:12px;font-weight:600;display:flex;align-items:center;gap:5px}.up{color:var(--green)}.flat{color:var(--muted)}.down{color:var(--red)}.spark{height:38px;margin-top:4px}.kpi .stripe{position:absolute;left:0;top:0;bottom:0;width:3px}.herorow{display:grid;gap:14px;grid-template-columns:1.5fr 1fr 1fr 1fr}.hero{position:relative;border-radius:var(--radius);padding:19px;border:1px solid var(--border-strong);background:radial-gradient(120% 140% at 0% 0%,rgba(139,92,246,.3),rgba(49,134,246,.12) 45%,transparent 75%),var(--panel-3)}body[data-mode=dark] .hero{box-shadow:0 0 40px -20px #8b5cf699}.hero .label{color:var(--purple);font-size:12px;font-weight:600;filter:brightness(1.25)}.hero .big{font-size:40px;font-weight:700;letter-spacing:-1px;margin:6px 0}.hero .pill{display:inline-flex;gap:4px;background:#22c55e2e;color:var(--green);font-size:12px;font-weight:600;padding:3px 9px;border-radius:20px;margin-left:8px;vertical-align:middle}.hero .pill.neg{background:#ef44442e;color:var(--red)}.hero .pill.flatp{background:#8c96aa2e;color:var(--muted)}.hero .note{color:var(--muted);font-size:12.5px}.hero .note b{color:var(--text)}.hero .area{height:80px;margin-top:4px}.hero .btns{display:flex;gap:9px;margin-top:11px}.btn{font:inherit;font-size:12.5px;font-weight:600;padding:8px 13px;border-radius:8px;cursor:pointer;border:1px solid var(--border-strong);background:var(--panel-2);color:var(--text);text-decoration:none;display:inline-flex;align-items:center;gap:5px}.btn.primary{border:0;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff}.minihero .val{font-size:24px}.funnel-row{display:grid;grid-template-columns:120px 1fr 58px;align-items:center;gap:11px;margin:8px 0}.funnel-row .name{color:var(--muted);font-size:12.5px}.bar{height:28px;border-radius:6px;background:var(--panel-3);overflow:hidden}.bar .fill{height:100%;border-radius:6px;display:flex;align-items:center;padding:0 10px;font-size:12.5px;font-weight:600;color:#fff;white-space:nowrap}.pct{text-align:right;color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums}.drop{font-size:11px;color:var(--amber);font-weight:600}.health{display:grid;grid-template-columns:1fr 1fr;gap:10px}.htile{border:1px solid var(--border);border-radius:8px;padding:12px 13px;display:flex;flex-direction:column;gap:2px}.htile .n{font-size:23px;font-weight:700}.htile .t{font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:6px}.tag{width:9px;height:9px;border-radius:3px;display:inline-block}.sla{margin-top:11px;color:var(--muted);font-size:12.5px;display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:10px}.alerts{display:flex;flex-direction:column;gap:8px}.alert{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:8px;border:1px solid var(--border);background:var(--panel-3);font-size:12.5px}.alert .ic{width:25px;height:25px;border-radius:7px;display:grid;place-items:center;flex:none;font-weight:700;font-size:12px}.alert .when{margin-left:auto;color:var(--muted-2);font-size:11.5px}.dhchip{display:flex;align-items:center;gap:13px;padding:13px 16px;border-radius:8px;border:1px solid var(--border);background:var(--panel);cursor:pointer;margin-bottom:14px;text-decoration:none;color:var(--text)}.dhchip .led{width:11px;height:11px;border-radius:50%;flex:none}.dhchip.green .led{background:var(--green);box-shadow:0 0 0 4px #22c55e2e}.dhchip.amber .led{background:var(--amber);box-shadow:0 0 0 4px #f59e0b2e}.dhchip.red .led{background:var(--red);box-shadow:0 0 0 4px #ef44442e}.dhchip .t{font-size:13.5px;font-weight:600}.dhchip .d{color:var(--muted);font-size:12px}.dhchip .mini{display:flex;gap:15px;margin-left:auto;flex-wrap:wrap}.dhchip .mini span{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px}.dhchip .mini b{width:7px;height:7px;border-radius:50%;display:inline-block}.dhchip .go{color:var(--blue);font-size:12.5px;font-weight:600}.empty{border:1px dashed var(--border-strong);border-radius:8px;background:repeating-linear-gradient(45deg,transparent,transparent 9px,rgba(127,127,127,.04) 9px,rgba(127,127,127,.04) 18px);padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;color:var(--muted);min-height:120px}.empty.solid{background:var(--panel-3);border-style:solid}.empty .ic{width:32px;height:32px;border-radius:9px;border:1px solid var(--border-strong);display:grid;place-items:center}.empty .st{font-size:11.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.empty .st.wait{color:var(--amber)}.empty .st.none{color:var(--blue)}.empty .st.soon{color:var(--purple)}.empty .st.err{color:var(--red)}.empty .st.zero{color:var(--text)}.empty .ex{font-size:12px;max-width:320px}.empty .retry{margin-top:4px;font:inherit;font-size:12px;font-weight:600;padding:6px 12px;border-radius:7px;border:1px solid var(--border-strong);background:var(--panel);color:var(--text);cursor:pointer}.sectiontitle{font-size:12px;color:var(--muted-2);font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin:22px 4px 9px}.stub{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:60px 24px;text-align:center;color:var(--muted)}.stub h2{margin:0 0 6px;font-size:20px;font-weight:700;color:var(--text)}.stub p{margin:0;font-size:13px}.skel{background:linear-gradient(90deg,var(--panel-3) 25%,var(--panel-2) 37%,var(--panel-3) 63%);background-size:400% 100%;animation:shimmer 1.3s ease-in-out infinite;border-radius:6px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:28px}.login-card .logo{height:48px;width:auto;object-fit:contain;display:block;margin:0 auto 16px}.login-card h1{font-size:19px;margin:0 0 4px}.login-card .lead{color:var(--muted);font-size:13px;margin:0 0 20px}.field{margin-bottom:12px}.field label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:5px}.field input{width:100%;background:var(--panel-2);border:1px solid var(--border);border-radius:7px;color:var(--text);font:inherit;font-size:13.5px;padding:9px 11px}.field input:focus{outline:none;border-color:var(--blue)}.login-card .full{width:100%;justify-content:center;margin-top:4px}.toggle-mode{background:none;border:0;color:var(--blue);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;padding:0;margin-top:14px}.notice{font-size:12.5px;padding:11px 13px;border-radius:8px;margin-bottom:14px;line-height:1.5}.notice.err{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:var(--red)}.notice.ok{background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:var(--green)}.notice.warn{background:#f59e0b1f;border:1px solid rgba(245,158,11,.35);color:var(--amber)}.notice code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11.5px}.pill{font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.pill.ok{background:#22c55e29;color:#22a35a}.pill.warn{background:#f59e0b29;color:#c47f1a}.pill.bad{background:#ef444429;color:#d64545}.pill.dark{background:#8c96aa2e;color:var(--muted)}.pill.info{background:#3186f629;color:#5d9bf7}.src{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;background:#8c96aa2e;color:var(--muted);white-space:nowrap}.src.google{background:#3186f629;color:#5d9bf7}.src.meta{background:#8b5cf629;color:#a98bf3}.src.organic{background:#1ec7b629;color:#26b3a3}.src.direct{background:#8c96aa2e;color:var(--muted)}.subnav{display:flex;gap:3px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:4px;margin-bottom:14px}.subnav button{background:none;border:0;color:var(--muted);font:inherit;font-size:12.5px;font-weight:500;padding:7px 13px;border-radius:7px;cursor:pointer;transition:.15s}.subnav button:hover{color:var(--text)}.subnav button.active{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.chip{font-size:10.5px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;padding:3px 9px;border-radius:20px;border:1px solid var(--border-strong);color:var(--muted);background:var(--panel-2);white-space:nowrap}.chanfilter{display:flex;gap:6px;flex-wrap:wrap}.chanfilter .c{font-size:12px;font-weight:500;padding:5px 11px;border-radius:7px;border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;font-family:inherit}.chanfilter .c.on{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}table.dt{width:100%;border-collapse:collapse}table.dt th{text-align:left;font-size:10.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);padding:7px 8px;border-bottom:1px solid var(--border)}table.dt td{font-size:12.5px;padding:9px 8px;border-bottom:1px solid var(--border)}table.dt tr:last-child td{border-bottom:0}table.dt td.num,table.dt th.num{text-align:right;font-variant-numeric:tabular-nums}.convcell{display:flex;align-items:center;gap:8px;justify-content:flex-end}.convbar{width:70px;height:6px;border-radius:4px;background:var(--panel-3);overflow:hidden}.convbar .f{height:100%;background:var(--teal);border-radius:4px}.conv{font-variant-numeric:tabular-nums;min-width:40px;text-align:right}.lsrow{display:grid;grid-template-columns:120px 1fr 84px;align-items:center;gap:11px;margin:9px 0}.lsrow .name{font-size:12.5px;color:var(--text);display:flex;align-items:center;gap:6px;min-width:0}.lsrow .name .small{color:var(--muted);font-size:11px}.lsrow .lbar{height:8px;border-radius:5px;background:var(--panel-3);overflow:hidden}.lsrow .lbar .f{height:100%;border-radius:5px}.lsrow .v{text-align:right;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums}.qbar-head{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--muted);margin:12px 0 5px}.stack{display:flex;height:9px;border-radius:5px;overflow:hidden;background:var(--panel-3)}.stack i{display:block;height:100%}.qlegend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:11.5px;color:var(--muted)}.qlegend span{display:flex;align-items:center;gap:5px}.qlegend b{width:9px;height:9px;border-radius:3px;display:inline-block}.pipe{display:grid;grid-template-columns:170px 1fr 44px;align-items:center;gap:11px;margin:9px 0}.pipe .nm{font-size:12.5px;color:var(--muted)}.pipe .track{height:22px;border-radius:6px;background:var(--panel-3);overflow:hidden}.pipe .fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--blue),var(--purple))}.pipe .ct{text-align:right;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.todo{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--border);font-size:12.5px}.todo:last-child{border-bottom:0}.todo .b{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--border-strong);flex:none}.todo .txt{flex:1;min-width:0}.todo .when{margin-left:auto;color:var(--muted-2);font-size:11.5px;white-space:nowrap}.metric-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border);font-size:12.5px}.metric-row:last-child{border-bottom:0}.metric-row .mlabel{color:var(--muted)}.metric-row .mval{font-weight:600;font-variant-numeric:tabular-nums}@media (max-width: 1100px){.cols-4,.cols-5{grid-template-columns:1fr 1fr}.cols-2,.cols-2e,.cols-3{grid-template-columns:1fr}.herorow{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.cols-4,.cols-5{grid-template-columns:1fr 1fr}.herorow{grid-template-columns:1fr}.nav{display:none}.hello{font-size:20px}}.ai{border-radius:var(--radius);padding:19px;color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(130% 130% at 100% 0%,#ec48998c,#8b5cf6eb 55%,#633cebf5)}.ai.compact{padding:16px}.ai .ai-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai .badge{display:inline-flex;align-items:center;gap:6px;background:#ffffff2e;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 10px;border-radius:20px}.ai .ai-title{font-size:15px;font-weight:700;margin:14px 0 0;line-height:1.4}.ai p{font-size:15px;line-height:1.5;font-weight:600;margin:8px 0 0}.ai.compact p{font-size:13.5px}.ai p .hl{color:#ffe9a8}.ai .ai-action{font-size:12.5px;font-weight:600;line-height:1.45;margin-top:12px;padding:9px 11px;border-radius:8px;background:#ffffff24;display:flex;gap:8px;align-items:flex-start}.ai .ai-action .lbl{text-transform:uppercase;letter-spacing:.4px;font-size:10px;opacity:.85;flex:none;padding-top:1px}.ai .ai-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.ai .ai-meta{font-size:11px;font-weight:500;opacity:.78}.ai .ai-conf{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:2px 8px;border-radius:20px;background:#fff3}.ai .dots{display:flex;gap:6px}.ai .dots button{width:22px;height:4px;border-radius:3px;border:0;padding:0;cursor:pointer;background:#ffffff59;transition:.15s}.ai .dots button.on{background:#fff;width:30px}.ai .ai-refresh{border:0;background:#ffffff29;color:#fff;font:inherit;font-size:11px;font-weight:600;padding:4px 9px;border-radius:7px;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.ai .ai-refresh:hover{background:#ffffff42}.ai .ai-refresh:disabled{opacity:.55;cursor:default}.ai .ai-refresh .spin{animation:spin .8s linear infinite}.ai .ai-skel{height:12px;border-radius:6px;background:linear-gradient(90deg,#ffffff24,#ffffff4d,#ffffff24);background-size:200% 100%;animation:ai-shimmer 1.3s ease-in-out infinite}@keyframes ai-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ai .ai-empty{margin-top:14px;display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.ai .ai-empty .ai-empty-st{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;opacity:.85;display:inline-flex;align-items:center;gap:6px}.ai .ai-empty .ai-empty-ex{font-size:12px;font-weight:500;opacity:.85;line-height:1.45}.ask{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);padding:17px;display:flex;flex-direction:column}.ask.compact{padding:14px}.ask .ask-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.ask .badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--purple),var(--blue));color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 10px;border-radius:20px}.ask .ask-form{display:flex;gap:8px}.ask .ask-input{flex:1 1 auto;min-width:0;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;font-size:13px;padding:8px 11px}.ask .ask-input::placeholder{color:var(--muted-2)}.ask .ask-input:focus{outline:none;border-color:var(--blue)}.ask .ask-input:disabled{opacity:.6}.ask .ask-btn{flex:none;border:0;border-radius:8px;background:linear-gradient(135deg,var(--purple),var(--blue));color:#fff;font:inherit;font-size:13px;font-weight:600;padding:8px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.ask .ask-btn:hover{filter:brightness(1.08)}.ask .ask-btn:disabled{opacity:.55;cursor:default;filter:none}.ask .ask-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.ask .ask-chip{border:1px solid var(--border);background:var(--panel-2);color:var(--muted);font:inherit;font-size:11.5px;padding:5px 10px;border-radius:20px;cursor:pointer}.ask .ask-chip:hover{border-color:var(--blue);color:var(--text)}.ask .ask-loading{margin-top:12px;font-size:12.5px;color:var(--muted)}.ask .ask-answer{margin-top:12px}.ask .ask-answer p{margin:0;font-size:13.5px;line-height:1.55;color:var(--text)}.ask.compact .ask-answer p{font-size:12.5px}.ask .ask-answer p .hl{color:var(--blue);font-weight:600}.ask .ask-meta{margin-top:9px;font-size:11px;color:var(--muted-2)}.ask .ask-disclaimer{margin-top:12px;font-size:11px;color:var(--muted-2);line-height:1.4}
