.analytics-page *{box-sizing:border-box}.analytics-page{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"cv11","ss01","ss03";color:var(--page-text);background:var(--page-bg);min-height:100vh;padding:0 0 4rem}.a-h1{font-size:1.5rem;font-weight:600;letter-spacing:-.01em}.a-h2{font-size:1.25rem;font-weight:600}.a-h3{font-size:1rem;font-weight:600;color:var(--page-text)}.a-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem}.a-muted{color:var(--page-text-3)}.a-hint{color:var(--page-text-3);font-size:.82rem;line-height:1.55;max-width:68ch;margin:0}#auth-screen{display:flex;align-items:center;justify-content:center;min-height:70vh;padding:2rem}.auth-card{background:var(--page-surface);border:1px solid var(--page-border);border-radius:14px;padding:2rem;width:100%;max-width:380px;text-align:center}.auth-card h1{font-size:1.2rem;margin:0 0 1.5rem;font-weight:600}.auth-card button{width:100%;padding:.7rem 1rem;border:none;border-radius:8px;background:var(--color-ember, #C04E18);color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;transition:opacity .15s}.auth-card button:hover{opacity:.9}#auth-error{color:#ef4444;font-size:.85rem;margin-bottom:1rem;display:none}#dashboard{display:none;padding:1.25rem 2rem 0;max-width:1400px;margin:0 auto}.topbar{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding-bottom:1rem;margin-bottom:1.25rem;border-bottom:1px solid var(--page-border)}.topbar__title{font-size:1.15rem;font-weight:600;margin-right:auto;margin-bottom:0}.topbar__title .a-muted{font-weight:400;margin-left:.5rem;font-size:.9rem}.range-switcher{display:inline-flex;background:var(--page-surface);border:1px solid var(--page-border);border-radius:8px;padding:2px;gap:1px}.range-switcher button{padding:.32rem .7rem;border:none;background:transparent;color:var(--page-text-3);font-size:.8rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s}.range-switcher button.is-active{background:var(--color-ember, #C04E18);color:#fff}.range-switcher button:hover:not(.is-active){color:var(--page-text)}.nav-date{display:inline-flex;gap:.1rem;background:var(--page-surface);border:1px solid var(--page-border);border-radius:8px;padding:2px}.nav-date button{padding:.32rem .55rem;border:none;background:transparent;color:var(--page-text-3);border-radius:6px;cursor:pointer;font-size:.85rem;line-height:1}.nav-date button:hover:not(:disabled){color:var(--page-text)}.nav-date button:disabled{opacity:.3;cursor:default}.date-label{font-size:.82rem;color:var(--page-text-3);font-variant-numeric:tabular-nums}.icon-btn{padding:.42rem .8rem;border:1px solid var(--page-border);border-radius:8px;background:transparent;color:var(--page-text-3);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.icon-btn:hover{border-color:var(--page-text-3);color:var(--page-text)}.section{margin-top:2.5rem}.section__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.6rem;gap:1rem;flex-wrap:wrap}.section__head .title-stack{display:flex;flex-direction:column;gap:.25rem;max-width:800px}.section__head .title-stack h2{margin:0;font-size:1.1rem;font-weight:600;letter-spacing:-.005em}.insights{margin-top:0;padding:1.25rem 1.5rem;border:1px solid var(--page-border);border-left:3px solid var(--color-ember, #C04E18);background:var(--page-surface);border-radius:10px}.insights__head{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.8rem}.insights__head h2{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-ember, #C04E18);margin:0}.insights__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}.insights__list li{display:flex;gap:.75rem;align-items:flex-start;font-size:.92rem;line-height:1.55}.insights__icon{flex:0 0 auto;font-size:1rem}.insights__text b{font-weight:600;color:var(--page-text)}.insights__text .num{font-variant-numeric:tabular-nums;font-weight:600}.hero{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.kpi{background:var(--page-surface);border:1px solid var(--page-border);border-radius:12px;padding:1.2rem 1.3rem;display:flex;flex-direction:column;gap:.5rem;position:relative}.kpi__question{font-size:.78rem;font-weight:600;color:var(--page-text-3)}.kpi__value{font-size:2.2rem;font-weight:700;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--page-text)}.kpi__delta{font-size:.85rem;font-weight:500;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:.35rem}.kpi__delta--up{color:#10b981}.kpi__delta--down{color:#ef4444}.kpi__delta--flat{color:var(--page-text-3)}.kpi__spark{width:100%!important;height:40px!important;margin-top:.2rem}.kpi__hint{font-size:.78rem;color:var(--page-text-3);line-height:1.5;margin:0}.kpi__hint b{color:var(--page-text);font-weight:600}.table-wrap{background:var(--page-surface);border:1px solid var(--page-border);border-radius:10px;overflow-x:auto}table.dt{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem;font-variant-numeric:tabular-nums;min-width:640px}table.dt thead th{text-align:left;padding:.95rem 1.1rem .85rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--page-text-3);border-bottom:1px solid var(--page-border);background:transparent;white-space:nowrap;position:sticky;top:0;z-index:1;background:color-mix(in srgb,var(--page-border) 25%,var(--page-surface))}table.dt tbody td{padding:.85rem 1.1rem;border-bottom:1px solid var(--page-border);vertical-align:middle;white-space:nowrap;color:var(--page-text)}table.dt tbody tr:last-child td{border-bottom:none}table.dt tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--page-bg) 35%,transparent)}table.dt tbody tr.is-clickable{cursor:pointer;transition:background .15s}table.dt tbody tr.is-clickable:hover td{background:color-mix(in srgb,var(--color-ember, #C04E18) 10%,transparent)}table.dt .num{text-align:right;font-variant-numeric:tabular-nums;padding-right:1.3rem}table.dt thead th.num{padding-right:1.3rem}table.dt td.muted{color:var(--page-text-3);font-size:.8rem}table.dt td.dim{color:var(--page-text-3)}table.dt td.email-cell{max-width:240px;overflow:hidden;text-overflow:ellipsis;font-weight:500}table.dt thead th.sortable{cursor:pointer;user-select:none}table.dt thead th.sortable:hover{color:var(--page-text)}table.dt thead th.sortable .sort-arrow{display:inline-block;width:10px;margin-left:3px;color:var(--color-ember, #C04E18);opacity:.35;transition:opacity .15s}table.dt thead th.is-sorted .sort-arrow{opacity:1}table.dt thead th:first-child,table.dt tbody td:first-child{padding-left:1.25rem}table.dt thead th:last-child,table.dt tbody td:last-child{padding-right:1.25rem}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600;letter-spacing:.02em;line-height:1.5}.badge--paid{background:#ef44441f;color:#ef4444}.badge--organic{background:#10b9811f;color:#10b981}.badge--direct{background:#6b72802e;color:var(--page-text-3)}.badge--tagged{background:#3b82f626;color:#3b82f6}.badge--pro{background:var(--color-ember, #C04E18);color:#fff}.badge--free{background:#6b72802e;color:var(--page-text-3)}.badge--anon{background:#6b728014;color:var(--page-text-3)}.badge--internal{background:#8b5cf629;color:#a78bfa}.internal-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .7rem;border:1px solid var(--page-border);border-radius:8px;background:var(--page-surface);color:var(--page-text-3);font-size:.8rem;font-weight:500;cursor:pointer;user-select:none;transition:all .15s}.internal-toggle:hover{color:var(--page-text);border-color:var(--page-text-3)}.internal-toggle input{accent-color:var(--color-ember, #C04E18);cursor:pointer}.internal-toggle.is-on{color:var(--color-ember, #C04E18);border-color:var(--color-ember, #C04E18);background:color-mix(in srgb,var(--color-ember, #C04E18) 8%,var(--page-surface))}.bar-bg{width:140px;height:8px;background:var(--page-border);border-radius:4px;overflow:hidden;display:inline-block;vertical-align:middle}.bar-fill{height:100%;background:var(--color-ember, #C04E18);border-radius:4px}.card{background:var(--page-surface);border:1px solid var(--page-border);border-radius:10px;padding:1.1rem 1.25rem}.callout{margin-top:1rem;padding:.9rem 1.1rem;border-radius:8px;background:#e8622a1a;border:1px solid rgba(232,98,42,.25);font-size:.9rem;line-height:1.55}.callout b{font-weight:600;color:var(--page-text)}.modal{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding:3rem 1rem;z-index:1000;overflow-y:auto}.modal[hidden]{display:none}.modal__panel{background:var(--page-bg);border:1px solid var(--page-border);border-radius:12px;width:100%;max-width:860px;padding:1.5rem 1.75rem 2rem;position:relative}.modal__close{position:absolute;top:.75rem;right:.75rem;background:transparent;border:none;color:var(--page-text-3);font-size:1.5rem;cursor:pointer;padding:.2rem .6rem}.modal__close:hover{color:var(--page-text)}.modal__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:1rem}.stat{background:var(--page-surface);border:1px solid var(--page-border);border-radius:8px;padding:.7rem .85rem}.stat__label{font-size:.68rem;color:var(--page-text-3);text-transform:uppercase;letter-spacing:.06em}.stat__value{font-size:1.05rem;font-weight:600;margin-top:.15rem;font-variant-numeric:tabular-nums}.timeline{margin-top:1.25rem;max-height:360px;overflow-y:auto;border:1px solid var(--page-border);border-radius:8px}.timeline-row{display:grid;grid-template-columns:130px 180px 1fr;gap:.75rem;padding:.45rem .85rem;font-size:.82rem;border-bottom:1px solid var(--page-border)}.timeline-row:last-child{border-bottom:none}.timeline-row .ts{color:var(--page-text-3);font-variant-numeric:tabular-nums;font-size:.76rem}.timeline-row .evt{font-weight:500}.timeline-row .props{color:var(--page-text-3);font-family:ui-monospace,monospace;font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-bar{display:flex;gap:.5rem;margin-bottom:.75rem;align-items:center;flex-wrap:wrap}.filter-bar input,.filter-bar select{padding:.4rem .7rem;border:1px solid var(--page-border);border-radius:6px;background:var(--page-surface);color:var(--page-text);font-size:.85rem}.filter-bar input{min-width:220px}.csv-btn{padding:.3rem .7rem;border:1px solid var(--page-border);border-radius:6px;background:transparent;color:var(--page-text-3);font-size:.72rem;font-weight:600;cursor:pointer;letter-spacing:.04em;text-transform:uppercase}.csv-btn:hover{border-color:var(--color-ember, #C04E18);color:var(--color-ember, #C04E18)}.chart-block canvas{width:100%!important}.chart-block canvas.fixed-h-240{max-height:240px}.chart-block canvas.fixed-h-320{max-height:320px}.chart-block canvas.fixed-h-420{max-height:420px}@media(max-width:900px){#dashboard{padding:1rem 1rem 0}.hero{grid-template-columns:1fr}.modal__stats{grid-template-columns:repeat(2,1fr)}}.skel{display:inline-block;height:1em;width:60ch;background:var(--page-border);border-radius:3px;animation:skel-pulse 1.2s ease-in-out infinite}@keyframes skel-pulse{0%,to{opacity:.4}50%{opacity:.9}}.tab-nav{display:flex;gap:.25rem;border-bottom:1px solid var(--page-border);margin-bottom:1.5rem;padding-bottom:0}.tab-btn{padding:.55rem 1.1rem;border:none;background:transparent;color:var(--page-text-3);font-size:.88rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;border-radius:0}.tab-btn:hover:not(.is-active){color:var(--page-text)}.tab-btn.is-active{color:var(--page-text);font-weight:600;border-bottom-color:var(--color-ember, #C04E18)}.tab-pane[hidden]{display:none}
