.dash-header-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.dash-title{color:var(--text);margin-bottom:.15rem;font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700;line-height:1.15}.dash-subtitle{margin:0;font-size:.875rem;line-height:1}.dash-header-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.75rem;max-width:100%;display:flex}@media (width<=720px){.dash-header-inner{align-items:stretch}.dash-header-right{align-items:stretch;width:100%}.ga-controls{grid-template-columns:1fr;width:100%}.ga-disconnect-link{justify-self:start}.range-toggle{justify-content:space-between;width:100%}.range-btn{flex:1;padding-inline:10px}}.demo-badge{letter-spacing:.07em;text-transform:uppercase;color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:8px;align-items:center;gap:6px;padding:5px 12px;font-size:.6875rem;font-weight:600;display:inline-flex}.demo-badge.connected{color:var(--teal);background:#00d6b41a;border-color:#00d6b44d}.demo-badge.error{color:#f87171;background:#f871711a;border-color:#f871714d}.ga-connect-btn{color:#0b0e14;background:linear-gradient(135deg, var(--teal), var(--teal-dark));letter-spacing:.02em;text-align:center;border-radius:12px;justify-content:center;align-items:center;min-height:40px;padding:0 18px;font-size:.8125rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 8px 24px #00d6b438}.ga-connect-btn:hover{color:#0b0e14;transform:translateY(-1px);box-shadow:0 10px 30px #00f2c647}.ga-controls{grid-template-columns:auto minmax(180px,280px) auto;align-items:center;gap:10px;width:min(100%,520px);display:grid}.ga-controls[hidden],.ga-connect-btn[hidden],.ga-message[hidden]{display:none}.ga-property-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.6875rem;font-weight:700}.ga-property-select{width:100%;min-width:0;height:38px;color:var(--text);background:linear-gradient(135deg, var(--surface-lo), var(--surface-hi));font:inherit;border:1px solid #00d6b433;border-radius:10px;padding:0 12px;font-size:.8125rem;box-shadow:inset -3px -3px 8px #131b2a73,inset 3px 3px 8px #030406a6}.ga-disconnect-link{color:var(--text-muted);white-space:nowrap;font-size:.75rem;font-weight:700}.ga-disconnect-link:hover{color:#f87171}.ga-message{max-width:920px;color:var(--text-muted);margin-top:1rem;font-size:.875rem;line-height:1.6}.ga-message.error{color:#fecaca}.ga-message.success{color:#00f2c6d1}.range-toggle{background:linear-gradient(135deg, var(--surface-lo), var(--surface-hi));border-radius:12px;gap:2px;padding:4px;display:flex;box-shadow:inset -4px -4px 10px #131b2a99,inset 4px 4px 10px #030406cc}.range-btn{color:var(--text-muted);letter-spacing:.08em;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 18px;font-family:inherit;font-size:.75rem;font-weight:600;transition:background .2s,color .2s,box-shadow .2s}.range-btn.active{background:linear-gradient(135deg, var(--teal), var(--teal-dark));color:#0b0e14;box-shadow:0 2px 10px #00d6b459}.range-btn:hover:not(.active){color:var(--teal)}.range-btn:disabled{cursor:not-allowed;color:#e6edf347}.range-btn:disabled:hover:not(.active){color:#e6edf347}@media (width<=720px){.range-btn{padding-inline:10px}}.kpi-row{grid-template-columns:repeat(6,1fr);gap:16px;display:grid}@media (width<=1200px){.kpi-row{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.kpi-row{grid-template-columns:repeat(2,1fr)}}.kpi-card{flex-direction:column;gap:4px;padding:22px 20px 18px;display:flex}.kpi-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.6875rem;font-weight:600}.kpi-value{color:var(--teal);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;line-height:1.1}.kpi-delta{margin-top:2px;font-size:.6875rem;font-weight:600}.kpi-delta.up{color:#34d399}.kpi-delta.down{color:#f87171}.trend-card{padding:24px}.trend-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.trend-legend{color:var(--text-muted);align-items:center;gap:12px;font-size:.6875rem;font-weight:500;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.legend-users{background:#00d6b4;box-shadow:0 0 6px #00d6b4b3}.legend-sessions{background:#00f2c673}.legend-text{margin-right:4px}.trend-chart-wrap{width:100%;position:relative}.trend-svg{width:100%;height:220px;display:block;overflow:visible}.trend-hit-svg{pointer-events:all;width:100%;height:100%;position:absolute;inset:0}.trend-tooltip{color:var(--text);pointer-events:none;opacity:0;white-space:nowrap;z-index:10;background:#10151ef2;border:1px solid #00d6b44d;border-radius:10px;padding:9px 14px;font-size:.75rem;line-height:1.6;transition:opacity .15s,transform .15s;position:absolute;transform:translateY(-4px);box-shadow:0 4px 20px #00000080}.trend-tooltip.visible{opacity:1;transform:translateY(0)}.tile-label{letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:14px;font-size:.6875rem;font-weight:600;display:block}.bottom-row{grid-template-columns:1fr 1.8fr 1fr;align-items:start;gap:16px;display:grid}@media (width<=1100px){.bottom-row{grid-template-columns:1fr 1fr}.side-stack{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:16px;display:grid}}@media (width<=640px){.bottom-row{grid-template-columns:1fr}.side-stack{grid-column:1;grid-template-columns:1fr}}.sources-card,.pages-card,.devices-card,.countries-card{padding:22px 20px}.side-stack{flex-direction:column;gap:16px;display:flex}.sources-bars{flex-direction:column;gap:11px;display:flex}.source-row{flex-direction:column;gap:5px;display:flex}.source-meta{color:var(--text-muted);justify-content:space-between;font-size:.75rem;display:flex}.source-meta .source-name{color:var(--text);font-weight:500}.source-meta .source-pct{color:var(--teal);font-variant-numeric:tabular-nums;font-weight:600}.source-track{background:#e6edf30f;border-radius:4px;height:5px;overflow:hidden}.source-fill{transform-origin:0;border-radius:4px;height:100%;transition:transform .6s cubic-bezier(.34,1.56,.64,1);transform:scaleX(0)}.source-fill.animate{transform:scaleX(1)}.pages-table{border-collapse:collapse;width:100%;font-size:.8125rem}.pages-table th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid #e6edf312;padding:0 0 10px;font-size:.6rem;font-weight:600}.pages-table td{color:var(--text-muted);vertical-align:middle;border-bottom:1px solid #e6edf30d;padding:9px 0}.pages-table td:first-child{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.75rem;overflow:hidden}.pages-table td:not(:first-child){font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;padding-left:12px}.pages-table th:not(:first-child){text-align:right;padding-left:12px}.pages-table tr:last-child td{border-bottom:none}.devices-bars{flex-direction:column;gap:10px;display:flex}.device-row{grid-template-columns:72px 1fr 36px;align-items:center;gap:8px;font-size:.75rem;display:grid}.device-name{color:var(--text);font-weight:500}.device-track{background:#e6edf30f;border-radius:4px;height:6px;overflow:hidden}.device-fill{transform-origin:0;border-radius:4px;height:100%;transition:transform .6s cubic-bezier(.34,1.56,.64,1);transform:scaleX(0)}.device-fill.animate{transform:scaleX(1)}.device-pct{color:var(--teal);text-align:right;font-variant-numeric:tabular-nums;font-size:.6875rem;font-weight:600}.countries-list{flex-direction:column;gap:9px;display:flex}.country-row{grid-template-columns:22px 1fr 36px;align-items:center;gap:8px;font-size:.75rem;display:grid}.country-flag{font-size:1rem;line-height:1}.country-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.country-pct{color:var(--teal);text-align:right;font-variant-numeric:tabular-nums;font-size:.6875rem;font-weight:600}.dash-grid{flex-direction:column;gap:16px;max-width:1400px;display:flex}@keyframes drawLine{0%{stroke-dashoffset:var(--dash-len)}to{stroke-dashoffset:0}}.line-animate{animation:1.2s cubic-bezier(.4,0,.2,1) forwards drawLine}@media (width<=390px){.kpi-value{font-size:1.25rem}.pages-table td:first-child{max-width:120px}}
