.admin-shell{--series-visitors:#2a78d6;--series-downloads:#eb6834;--text-secondary:#5c5c58}.admin-portal-tag{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font:700 .56rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.admin-portal [hidden]{display:none}.analytics-header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.live-pill{border:1px solid var(--admin-line);background:var(--admin-surface);color:var(--text-secondary);border-radius:999px;align-items:center;gap:8px;padding:7px 11px;font-size:.64rem;font-weight:600;display:inline-flex}.live-pill i{background:#b7b7b2;border-radius:50%;width:7px;height:7px}.live-pill.is-live i{background:#16a34a;box-shadow:0 0 0 3px #16a34a29}.live-pill[hidden]{display:none}.analytics-filters{z-index:5;background:linear-gradient(var(--admin-bg) 80%, transparent);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:10px 0;display:flex;position:sticky;top:0}.segmented{border:1px solid var(--admin-line);background:var(--admin-surface);border-radius:9px;padding:3px;display:inline-flex}.segmented button{min-height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 11px;font-size:.66rem;font-weight:650}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--ink);color:#fff}.analytics-toggle{color:var(--text-secondary);cursor:pointer;align-items:center;gap:7px;margin-left:auto;font-size:.64rem;display:inline-flex}.analytics-toggle input{accent-color:var(--ink)}.analytics-body{transition:opacity .12s}.analytics-body.is-loading{opacity:.5;pointer-events:none}.analytics-error{color:#b82843;font-size:.75rem}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.metric{border:1px solid var(--admin-line);background:var(--admin-surface);border-radius:10px;align-content:start;gap:4px;min-width:0;padding:14px 15px 13px;display:grid}.metric>span{color:var(--text-secondary);font-size:.62rem;font-weight:650}.metric strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:1.55rem;line-height:1.1}.metric small{color:var(--muted);font-size:.6rem;line-height:1.35}.delta{color:var(--muted);font-size:.58rem;font-weight:650}.delta.up{color:#15803d}.delta.down{color:#b42318}.analytics-card{border:1px solid var(--admin-line);background:var(--admin-surface);border-radius:10px;min-width:0;margin-top:10px;padding:15px 16px 16px}.card-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.card-head h2{letter-spacing:-.01em;margin:0;font-size:.82rem}.card-note{color:var(--muted);font-size:.6rem}.legend{color:var(--text-secondary);gap:14px;font-size:.62rem;display:flex}.legend span,.chart-tip span{align-items:center;gap:6px;display:inline-flex}.swatch{border-radius:2px;width:10px;height:3px;display:inline-block}.swatch.visitors{background:var(--series-visitors)}.swatch.downloads{background:var(--series-downloads)}.swatch.none{background:0 0}.analytics-two{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px;display:grid}.analytics-two.even{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px;display:grid}.chart{grid-template-rows:180px 22px;grid-template-columns:34px minmax(0,1fr);display:grid}.chart-y{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;padding-right:8px;font-size:.56rem;display:flex;transform:translateY(-5px)}.chart-plot{cursor:crosshair;position:relative}.chart-plot svg{width:100%;height:100%;display:block;overflow:visible}.chart-plot .grid{stroke:#0d0e1012;stroke-width:1px;vector-effect:non-scaling-stroke}.chart-plot .baseline{stroke:#0d0e1038;stroke-width:1px;vector-effect:non-scaling-stroke}.chart-plot .line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.chart-plot .line.visitors{stroke:var(--series-visitors)}.chart-plot .line.downloads{stroke:var(--series-downloads)}.chart-plot .area.visitors{fill:var(--series-visitors);opacity:.08}.chart-cursor{pointer-events:none;width:0;position:absolute;top:0;bottom:0}.chart-cursor i{border-left:1px solid #0d0e1040;position:absolute;top:0;bottom:0;left:0}.chart-cursor .dot{border:2px solid var(--admin-surface);border-radius:50%;width:10px;height:10px;margin-top:-5px;position:absolute;left:-5px}.chart-cursor .dot.visitors{background:var(--series-visitors)}.chart-cursor .dot.downloads{background:var(--series-downloads)}.chart-tip{z-index:2;border:1px solid var(--admin-line);pointer-events:none;background:#fff;border-radius:8px;gap:4px;min-width:150px;margin-left:12px;padding:9px 11px;font-size:.62rem;display:grid;position:absolute;top:8px;box-shadow:0 8px 24px #0d0e101f}.chart-tip.flip{transform:translate(calc(-100% - 24px))}.chart-tip strong{font-size:.64rem}.chart-tip b{font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px}.chart-cursor[hidden],.chart-tip[hidden]{display:none}.chart-x{color:var(--muted);grid-column:2;font-size:.56rem;position:relative}.chart-x span{white-space:nowrap;position:absolute;top:6px;transform:translate(-50%)}.chart-empty{color:var(--muted);text-align:center;padding:60px 0;font-size:.7rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.funnel{gap:7px;margin:0;padding:0;list-style:none;display:grid}.funnel li{grid-template-columns:150px minmax(0,1fr) 52px 44px;align-items:center;gap:10px;font-size:.66rem;display:grid}.funnel-label{gap:1px;display:grid}.funnel-label small{color:var(--muted);font-size:.56rem}.funnel-bar{background:#0d0e100b;border-radius:4px;height:14px;overflow:hidden}.funnel-bar i{background:var(--series-visitors);border-radius:4px;height:100%;display:block}.funnel b{text-align:right;font-variant-numeric:tabular-nums}.funnel-rate{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:.6rem}.breakdown{gap:2px;font-size:.66rem;display:grid}.breakdown-head,.breakdown-row{grid-template-columns:minmax(0,1fr) 62px 70px;align-items:center;gap:8px;display:grid}.breakdown-head{color:var(--muted);text-align:right;padding-bottom:4px;font-size:.56rem}.breakdown-row{min-height:26px}.breakdown-row>b,.breakdown-row>span{text-align:right;font-variant-numeric:tabular-nums}.breakdown-row>span{color:var(--text-secondary)}.breakdown-name{align-items:center;min-width:0;height:24px;display:flex;position:relative}.breakdown-name i{background:#2a78d61f;border-radius:4px;position:absolute;inset:0 auto 0 0}.breakdown-name em{text-overflow:ellipsis;white-space:nowrap;padding:0 8px;font-style:normal;position:relative;overflow:hidden}.breakdown-more,.breakdown-empty{color:var(--muted);margin:6px 0 0;font-size:.6rem}.analytics-notes{color:var(--text-secondary);margin-top:14px;font-size:.64rem;line-height:1.5}.analytics-notes summary{cursor:pointer;font-weight:650}.analytics-notes ul{margin:8px 0 0;padding-left:1.2em}.table-card table{border-collapse:collapse;width:100%;font-size:.66rem}.table-card th{color:var(--muted);text-align:left;white-space:nowrap;border-bottom:1px solid var(--admin-line);padding:9px 12px;font-size:.58rem;font-weight:650}.table-card td{white-space:nowrap;border-bottom:1px solid #0d0e100f;padding:9px 12px}.table-card td small{color:var(--muted)}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#0d0e1008}.empty-row{color:var(--muted);text-align:center}.table-foot{justify-content:center;padding:10px;display:flex}.table-foot [hidden]{display:none}.button.quiet{min-height:32px;color:var(--ink);background:#0d0e100f}.tag{color:var(--text-secondary);background:#0d0e1012;border-radius:999px;padding:1px 6px;font-size:.54rem;font-weight:650}.plan{background:#0d0e100f;border-radius:999px;padding:2px 8px;font-size:.58rem;font-weight:650}.plan-paying{color:#15803d;background:#16a34a1f}.plan-ran-out{color:#b42318;background:#b4231817}.visit-card{margin-top:10px}.visit-card .table-title span{color:var(--muted);font-size:.6rem}.visit-events{margin:0;padding:6px 0;list-style:none}.visit-events li{grid-template-columns:90px 140px minmax(0,1fr);gap:10px;padding:5px 13px;font-size:.64rem;display:grid}.visit-events time{color:var(--muted);font-variant-numeric:tabular-nums}.visit-events code{color:var(--text-secondary);font-size:.6rem}.back-link{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-bottom:8px;padding:0;font-size:.64rem}@media (max-width:1100px){.metric-grid,.analytics-two,.analytics-two.even{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-three{grid-template-columns:minmax(0,1fr)}}
