:root{color:#e7eaf0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#0a0c10;--bg-elevated:#0f1218;--bg-card:#12161e;--bg-card-hover:#151a23;--sidebar-bg:#0c0f14;--border:#202631;--border-subtle:#191e27;--border-strong:#2b3340;--text:#e7eaf0;--text-secondary:#9aa3b2;--text-muted:#697384;--text-heading:#f5f7fa;--accent:#9147ff;--accent-hover:#a35cff;--accent-soft:#9147ff1f;--accent-border:#9147ff4d;--success:#42d392;--success-soft:#42d3921a;--warning:#f5b83d;--warning-soft:#f5b83d1a;--danger:#f26d78;--danger-soft:#f26d781a;--info:#5ca9ff;--info-soft:#5ca9ff1a;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 2px 8px #0000002e;--shadow-md:0 8px 24px #0000003d;--sidebar-width:240px;background:#0a0c10;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{background:var(--bg);min-width:320px;min-height:100%}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}#root{min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--border);z-index:20;flex-direction:column;padding:22px 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand{min-height:42px;color:var(--text-heading);letter-spacing:-.02em;align-items:center;padding:0 12px;font-size:17px;font-weight:700;display:flex}.sidebar-nav{flex-direction:column;gap:4px;margin-top:28px;display:flex}.nav-section-title{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:18px 10px 8px;font-size:11px;font-weight:700}.nav-item{border-radius:var(--radius-md);width:100%;min-height:40px;color:var(--text-secondary);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:11px;padding:0 11px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:flex}.nav-item:hover:not(:disabled){color:var(--text);background:#ffffff09}.nav-item.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--text-heading)}.nav-item:disabled{opacity:.4}.nav-icon{width:24px;height:24px;color:var(--text-muted);background:#ffffff0b;border-radius:6px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.nav-item.active .nav-icon{background:var(--accent-soft);color:var(--accent-hover)}.sidebar-footer{margin-top:auto;padding:12px 10px 4px}.connection-status{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.status-dot{background:var(--success);width:7px;height:7px;box-shadow:0 0 0 3px var(--success-soft);border-radius:50%;flex:none}.sidebar-footer-content{flex-direction:column;gap:12px;display:flex}.logout-button{border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;min-height:34px;color:var(--text-secondary);background:0 0;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex}.logout-button:hover{background:var(--danger-soft);color:var(--danger);border-color:#f26d784d}.logout-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.main-content{min-height:100vh;margin-left:var(--sidebar-width);background:var(--bg);padding:32px}.page,.page-container{width:100%;max-width:1440px;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.page-header h1{color:var(--text-heading);letter-spacing:-.035em;margin:4px 0 8px;font-size:30px;font-weight:700;line-height:1.15}.page-description{max-width:720px;color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.eyebrow{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700;line-height:1.4}.dashboard-card,.panel,.metric-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-sm)}.dashboard-card{padding:22px}.dashboard-card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.dashboard-card-header h2{color:var(--text-heading);letter-spacing:-.02em;margin:4px 0 0;font-size:17px;font-weight:650}.section-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.section-header h2{color:var(--text-heading);letter-spacing:-.02em;margin:0;font-size:17px;font-weight:650}.section-header p{color:var(--text-muted);margin:5px 0 0;font-size:13px}.metric-card{flex-direction:column;gap:7px;min-width:0;padding:18px;display:flex}.metric-label{color:var(--text-muted);font-size:12px;font-weight:600}.metric-value{color:var(--text-heading);letter-spacing:-.03em;font-size:26px;font-weight:700;line-height:1.15}.metric-description{color:var(--text-muted);font-size:11px;line-height:1.45}.report-change{align-items:center;gap:4px;width:fit-content;font-size:12px;font-weight:600;display:inline-flex}.report-change.positive{color:var(--success)}.report-change.negative{color:var(--danger)}.report-change.neutral{color:var(--text-muted)}.primary-button,.secondary-button,.login-button{border-radius:var(--radius-md);justify-content:center;align-items:center;min-height:40px;padding:0 15px;font-size:13px;font-weight:650;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.primary-button,.login-button{border:1px solid var(--accent);background:var(--accent);color:#fff}.primary-button:hover:not(:disabled),.login-button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.secondary-button{border:1px solid var(--border-strong);color:var(--text-secondary);background:0 0}.secondary-button:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-soft);color:var(--text)}.primary-button:disabled,.secondary-button:disabled,.login-button:disabled{opacity:.5}.primary-button:focus-visible,.secondary-button:focus-visible,.login-button:focus-visible,.nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dashboard-overview,.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:28px;display:grid}.dashboard-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:28px;display:grid}.chart-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-sm);padding:22px}.chart-card-header select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);height:34px;color:var(--text);padding:0 10px;font-size:12px}.chart-container{width:100%;min-height:220px}.page-eyebrow{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700;display:inline-block}.report-period-button{border-radius:var(--radius-sm);min-height:32px;color:var(--text-secondary);background:0 0;border:none;padding:0 14px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.report-period-button:hover{color:var(--text)}.report-period-button.active{background:var(--accent-soft);color:var(--text-heading)}.report-archive-banner{border-radius:var(--radius-md);background:var(--warning-soft);color:var(--warning);border:1px solid #f5b83d4d;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:13px 16px;font-size:13px;display:flex}.report-archive-return{color:var(--warning);text-underline-offset:2px;white-space:nowrap;background:0 0;border:none;padding:0;font-size:13px;font-weight:650;text-decoration:underline}.report-period{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-secondary);flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:24px;padding:14px 18px;font-size:13px;display:flex}.report-period strong{color:var(--text-heading);font-size:14px}.report-section{margin-bottom:32px}.report-history-list{flex-direction:column;gap:8px;display:flex}.report-history-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);text-align:left;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.report-history-row.active{border-color:var(--accent);background:var(--accent-soft)}.report-history-row-main{flex-direction:column;gap:3px;display:flex}.report-history-status{white-space:nowrap;border-radius:999px;flex:none;padding:4px 10px;font-size:11px;font-weight:700}.report-history-toggle{color:var(--accent);text-underline-offset:2px;background:0 0;border:none;align-self:flex-start;margin-top:2px;padding:0;font-size:12px;font-weight:650;text-decoration:underline}.report-history-toggle:hover{color:var(--accent-hover)}.report-insight{border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-card);padding:18px 20px}.report-insight.positive{border-left-color:var(--success)}.report-insight.warning{border-left-color:var(--warning)}.report-insight.neutral{border-left-color:var(--info)}.report-insight-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.report-insight-header h3{color:var(--text-heading);margin:3px 0 0;font-size:14px}.report-insight-severity{background:var(--bg-elevated);color:var(--text-secondary);white-space:nowrap;border-radius:999px;flex:none;padding:3px 9px;font-size:11px;font-weight:650}.report-insight-recommendation{border-radius:var(--radius-sm);background:var(--bg-elevated);margin-top:14px;padding:12px 14px}.report-insight-group{margin-bottom:20px}.report-insight-group:last-child{margin-bottom:0}.report-insight-group-header{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.report-insight-group-header h3{color:var(--text-heading);margin:0;font-size:13px}.report-insight-group-header span{color:var(--text-muted);font-size:11px}.report-insights{flex-direction:column;gap:10px;display:flex}.report-table-container{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);overflow-x:auto}.report-table-header{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border);background:var(--bg-elevated);font-size:11px;font-weight:700}.report-table-header:hover{background:var(--bg-elevated)}.report-game-row,.report-stream-row{min-width:640px;color:var(--text-secondary);grid-template-columns:2fr repeat(4,1fr);align-items:center;gap:12px;padding:13px 18px;font-size:13px;display:grid}.report-game-row:not(.report-table-header):not(:last-child),.report-stream-row:not(.report-table-header):not(:last-child){border-bottom:1px solid var(--border-subtle)}.report-game-name{color:var(--text-heading);font-weight:600}.report-stream-main{flex-direction:column;gap:2px;min-width:0;display:flex}.report-stream-main strong{color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.report-stream-main span{color:var(--text-muted);font-size:11px}.data-quality-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);flex-direction:column;gap:10px;padding:18px 20px;display:flex}.data-quality-card>div{align-items:baseline;gap:8px;display:flex}.data-quality-card>div span{color:var(--text-muted);font-size:12px}.data-quality-card>div strong{color:var(--text-heading);font-size:18px}.data-quality-card p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.6}.list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--border);flex-direction:column;gap:1px;display:flex}.list-item:first-child{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.list-item:last-child{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.list-item{background:var(--bg-elevated);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.list-item-main{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.list-item-main strong{color:var(--text-heading);font-size:13px}.list-item-value{max-width:45%;color:var(--text-heading);text-align:right;overflow-wrap:break-word;flex:none;font-size:14px;font-weight:650}.period-control{border-radius:var(--radius-sm);min-height:32px;color:var(--text-secondary);background:0 0;border:none;padding:0 14px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.period-control:hover{color:var(--text)}.period-control.active{background:var(--accent-soft);color:var(--text-heading)}.report-table{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);min-width:640px}.data-quality{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);align-items:center;padding:16px 20px;display:flex}.data-quality-copy{flex-direction:column;gap:4px;display:flex}.data-quality-copy strong{color:var(--text-heading);font-size:13px}.data-quality-copy span{color:var(--text-muted);font-size:12px}.connection-status.connected{background:var(--success-soft);color:var(--success);white-space:nowrap;border:1px solid #42d39240;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.connection-details{flex-direction:column;gap:24px;padding:0 24px 24px;display:flex}.connection-account{border-bottom:1px solid var(--border-subtle);align-items:center;gap:13px;width:100%;min-height:48px;padding-bottom:20px;display:flex}.connection-avatar-image{object-fit:cover;border-radius:50%;flex:none;width:48px;height:48px}.connection-account>div{flex-direction:column;gap:2px;min-width:0;display:flex}.connection-account strong{color:var(--text-heading);font-size:15px}.connection-account span{color:var(--text-muted);font-size:12px}.connection-account .connection-status.connected{flex:none;margin-left:auto}.connection-info-grid{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.connection-info-item{background:var(--bg-elevated);flex-direction:column;gap:5px;min-width:0;padding:14px;display:flex}.connection-info-item span{color:var(--text-muted);font-size:11px}.connection-info-item strong{color:var(--text);overflow-wrap:anywhere;font-size:13px;font-weight:600}.connection-actions{justify-content:flex-end;display:flex}.connection-empty{justify-content:space-between;align-items:center;gap:24px;padding:12px 0;display:flex}.connection-empty h3{color:var(--text-heading);margin:0 0 6px;font-size:15px}.connection-empty p{max-width:620px;color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.loading-state,.empty-state,.error-state{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-muted);text-align:center;padding:48px 24px}.error-state,.error-message{border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger);border:1px solid #f26d7840;font-size:13px}.error-state{padding:20px}.error-message{margin-bottom:20px;padding:13px 15px}.login-page{background:radial-gradient(circle at 50% 0%, #9147ff17, transparent 38%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{border:1px solid var(--border);background:var(--bg-card);width:100%;max-width:410px;box-shadow:var(--shadow-md);border-radius:18px;padding:32px}.login-brand{align-items:center;gap:12px;margin-bottom:34px;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;font-weight:800;display:flex}.brand-name{color:var(--text-heading);font-size:15px;font-weight:700}.brand-subtitle{color:var(--text-muted);margin-top:2px;font-size:11px}.login-header{margin-bottom:24px}.login-header h1{color:var(--text-heading);letter-spacing:-.03em;margin:0 0 8px;font-size:26px}.login-header p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.login-form{flex-direction:column;gap:8px;display:flex}.login-form label{color:var(--text-secondary);margin-top:7px;font-size:12px;font-weight:600}.login-form input{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-elevated);width:100%;height:42px;color:var(--text);outline:none;padding:0 12px;transition:border-color .15s,box-shadow .15s}.login-form input::placeholder{color:var(--text-muted)}.login-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login-error{border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger);border:1px solid #f26d7840;margin-top:8px;padding:10px 12px;font-size:12px;line-height:1.5}.login-switch{color:var(--text-secondary);text-align:center;margin:18px 0 0;font-size:13px}.login-switch-link{color:var(--accent);text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.login-switch-link:hover{color:var(--accent-hover)}.login-button{width:100%;margin-top:16px}.login-legal-links{color:var(--text-muted);text-align:center;margin:20px 0 0;font-size:11px}.login-legal-links a{color:var(--text-muted);text-underline-offset:2px;text-decoration:underline}.login-legal-links a:hover{color:var(--text-secondary)}@media (width<=900px){:root{--sidebar-width:210px}.main-content{padding:24px}.page-header h1{font-size:27px}.connection-empty{flex-direction:column;align-items:flex-start}.connection-actions{justify-content:flex-start}}@media (width<=720px){.sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;min-height:auto;padding:12px;position:static}.brand{min-height:36px}.sidebar-nav{flex-flow:wrap;margin-top:12px}.nav-section-title{display:none}.nav-item{flex:auto;width:auto}.sidebar-footer{display:none}.main-content{margin-left:0;padding:22px 16px}.page-header{margin-bottom:22px}.page-header h1{font-size:25px}.connection-info-grid{grid-template-columns:1fr}}@media (width<=520px){.login-page{padding:16px}.login-card{padding:24px 20px}.metric-value{font-size:23px}.dashboard-card{padding:17px}.connection-account{flex-wrap:wrap}.connection-account .connection-status.connected{margin-left:0}}.app-shell{background:var(--bg);min-height:100vh}.main-content{min-width:0}.page-container{width:100%;max-width:1440px;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.page-header>div{min-width:0}.dashboard-grid,.analytics-grid,.report-grid{gap:16px;display:grid}.dashboard-grid,.analytics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.dashboard-sections{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:16px;margin-top:24px;display:grid}.dashboard-section{min-width:0}.dashboard-card+.dashboard-card{margin-top:16px}.analytics-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.analytics-period-selector{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);align-items:center;gap:4px;padding:4px;display:flex}.analytics-period-button{min-height:32px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:0 11px;font-size:12px;font-weight:600}.analytics-period-button.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--text-heading)}.analytics-section{margin-top:24px}.analytics-chart{min-height:320px}.report-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.report-period-selector{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);align-items:center;gap:4px;padding:4px;display:flex}.report-period-button{min-height:32px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:0 11px;font-size:12px;font-weight:600}.report-period-button:hover{color:var(--text);background:#ffffff09}.report-period-button.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--text-heading)}.report-summary{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:16px;margin-bottom:24px;display:grid}.report-summary-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);padding:22px}.report-summary-card h2{color:var(--text-heading);letter-spacing:-.025em;margin:5px 0 10px;font-size:20px;line-height:1.3}.report-summary-card p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.65}.report-insights{gap:12px;margin-top:16px;display:grid}.report-insight{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);padding:17px}.report-insight.positive{background:linear-gradient(90deg, var(--success-soft), transparent 55%), var(--bg-card);border-color:#42d39233}.report-insight.warning{background:linear-gradient(90deg, var(--warning-soft), transparent 55%), var(--bg-card);border-color:#f5b83d33}.report-insight.neutral{border-color:var(--border)}.report-insight-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.report-insight-header h3{color:var(--text-heading);margin:5px 0 0;font-size:14px;line-height:1.35}.report-insight-type{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:700}.report-insight-severity{color:var(--text-muted);background:#ffffff0a;border-radius:999px;flex:none;padding:4px 7px;font-size:10px;font-weight:700}.report-insight.positive .report-insight-severity{background:var(--success-soft);color:var(--success)}.report-insight.warning .report-insight-severity{background:var(--warning-soft);color:var(--warning)}.report-insight-description{color:var(--text-secondary);margin:11px 0 0;font-size:13px;line-height:1.6}.report-insight-recommendation{border-left:2px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--accent-soft);margin-top:13px;padding:11px 12px}.report-insight-recommendation span{color:var(--accent-hover);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:700;display:block}.report-insight-recommendation p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.55}.report-table{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);overflow:hidden}.report-table-header,.report-game-row,.report-stream-row{align-items:center;gap:16px;padding:13px 16px;display:grid}.report-table-header{border-bottom:1px solid var(--border);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.report-game-row,.report-stream-row{border-bottom:1px solid var(--border-subtle);min-width:700px;color:var(--text-secondary);font-size:12px}.report-game-row:last-child,.report-stream-row:last-child{border-bottom:none}.report-game-row:hover,.report-stream-row:hover{background:#ffffff05}.report-game-row,.report-table-header.report-games{grid-template-columns:minmax(180px,1.5fr) 90px 100px 120px 120px}.report-stream-row,.report-table-header.report-streams{grid-template-columns:minmax(260px,2fr) 140px 100px 90px 100px}.report-game-name,.report-stream-main{min-width:0}.report-game-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.report-stream-main{flex-direction:column;gap:3px;display:flex}.report-stream-main strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.report-stream-main span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.report-table-scroll{overflow-x:auto}.data-quality{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.data-quality-copy{min-width:0}.data-quality-copy strong{color:var(--text);font-size:13px;display:block}.data-quality-copy span{color:var(--text-muted);margin-top:3px;font-size:11px;display:block}.chart-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);min-width:0;padding:20px}.chart-card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.chart-card-header h3{color:var(--text-heading);margin:0;font-size:14px;font-weight:650}.chart-card-header p{color:var(--text-muted);margin:4px 0 0;font-size:11px}.list{flex-direction:column;display:flex}.list-item{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.list-item:first-child{padding-top:0}.list-item:last-child{border-bottom:none;padding-bottom:0}.list-item-main{flex-direction:column;gap:3px;min-width:0;display:flex}.list-item-main strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.list-item-main span{color:var(--text-muted);font-size:10px}.list-item-value{color:var(--text);flex:none;font-size:12px;font-weight:650}.period-controls{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);align-items:center;gap:4px;padding:4px;display:inline-flex}.period-control{min-height:32px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:0 11px;font-size:12px;font-weight:600}.period-control:hover{color:var(--text);background:#ffffff09}.period-control.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--text-heading)}@media (width<=1100px){.dashboard-overview,.dashboard-grid,.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-sections,.report-summary{grid-template-columns:1fr}}@media (width<=760px){.dashboard-overview,.dashboard-grid,.analytics-grid,.report-grid{grid-template-columns:1fr}.page-header,.analytics-header,.report-header{flex-direction:column}.report-period-selector,.analytics-period-selector,.period-controls{width:100%}.report-period-button,.analytics-period-button,.period-control{flex:1}.data-quality{flex-direction:column;align-items:flex-start}}@media (width<=520px){.report-summary-card,.chart-card{padding:16px}.report-insight{padding:14px}.report-insight-header{flex-direction:column;gap:8px}.report-insight-severity{align-self:flex-start}}.report-history-list{gap:10px;margin-top:16px;display:grid}.report-history-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:13px 16px;display:flex}.report-history-row:hover:not(:disabled),.report-history-row.active{border-color:var(--accent);background:var(--accent-soft)}.report-history-row:disabled{cursor:not-allowed;opacity:.55}.report-history-row-main{flex-direction:column;gap:3px;min-width:0;display:flex}.report-history-row-main strong{color:var(--text-heading);font-size:13px}.report-history-row-main span{color:var(--text-muted);font-size:11px}.report-history-status{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex:none;padding:4px 9px;font-size:10px;font-weight:700}.report-history-status.completed{background:var(--success-soft);color:var(--success)}.report-history-status.failed{background:var(--danger-soft);color:var(--danger)}.report-archive-banner{border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-hover);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:12px 16px;font-size:12px;display:flex}.report-archive-return{color:var(--accent-hover);cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:700;text-decoration:underline}@media (width<=520px){.report-history-row{flex-direction:column;align-items:flex-start;gap:8px}.report-archive-banner{flex-direction:column;align-items:flex-start}}.analytics-page{width:100%}.analytics-page .page-header{margin-bottom:24px}.analytics-page .page-header>div:first-child{min-width:0}.analytics-page .page-header h1{margin:0}.analytics-page .page-header p{margin:6px 0 0}.analytics-period-selector{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;flex-shrink:0;align-items:center;gap:4px;padding:4px;display:inline-flex}.analytics-period-button{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 12px;font-size:13px;font-weight:600;transition:background .14s,color .14s}.analytics-period-button:hover{color:var(--text-primary);background:#ffffff0a}.analytics-period-button.active{color:#fff;background:#6f35c9}.analytics-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.analytics-audience-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.analytics-page .metric-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);flex-direction:column;justify-content:flex-start;min-width:0;min-height:126px;padding:18px;display:flex}.analytics-page .metric-label{color:var(--text-secondary);font-size:13px;font-weight:500;line-height:1.3}.analytics-page .metric-value{color:var(--text-primary);letter-spacing:-.03em;margin-top:12px;font-size:28px;font-weight:700;line-height:1;display:block}.analytics-page .metric-comparison{color:var(--text-secondary);align-items:center;gap:4px;margin-top:10px;font-size:12px;font-weight:600;display:inline-flex}.analytics-page .metric-comparison.positive{color:#3fb950}.analytics-page .metric-comparison.negative{color:#f85149}.analytics-page .metric-comparison.neutral{color:var(--text-secondary)}.analytics-page .metric-meta{color:var(--text-muted);margin-top:8px;font-size:12px;line-height:1.4;display:block}.analytics-page .panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);min-width:0;margin-bottom:24px;padding:18px}.analytics-page .panel:last-child{margin-bottom:0}.analytics-page .panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.analytics-page .panel-header h2{color:var(--text-primary);margin:0;font-size:17px;font-weight:700}.analytics-page .panel-header p{color:var(--text-secondary);margin:5px 0 0;font-size:12px;line-height:1.5}.analytics-audience-section{margin-bottom:24px}.analytics-audience-section .panel-header{margin-bottom:16px}.analytics-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.analytics-chart-panel{min-width:0;min-height:390px;margin-bottom:0!important}.analytics-chart-container{width:100%;min-width:0;height:280px}.analytics-chart-empty{height:280px;color:var(--text-muted);border:1px dashed var(--border);border-radius:10px;justify-content:center;align-items:center;font-size:13px;display:flex}.analytics-table-wrapper{border:1px solid var(--border);border-radius:10px;width:100%;overflow-x:auto}.analytics-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:720px}.analytics-table th{border-bottom:1px solid var(--border);color:var(--text-muted);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#ffffff04;padding:12px 14px;font-size:10px;font-weight:600}.analytics-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;padding:13px 14px;font-size:12px;line-height:1.4}.analytics-table tbody tr:last-child td{border-bottom:0}.analytics-table tbody tr:hover{background:#ffffff05}.analytics-table .table-primary{color:var(--text-primary);font-weight:600}.analytics-table .table-title{text-overflow:ellipsis;max-width:420px;overflow:hidden}.analytics-comparison-table{min-width:620px}.analytics-page .empty-state{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);text-align:center;padding:48px 24px}.analytics-page .empty-state p{color:var(--text-secondary);margin:0}.analytics-page .error-state h2{color:var(--text-primary);margin:0 0 8px;font-size:18px}.analytics-page .error-state p{color:#f85149}@media (width<=1200px){.analytics-kpi-grid,.analytics-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-chart-grid{grid-template-columns:1fr}.analytics-chart-panel{min-height:0}}@media (width<=760px){.analytics-page .page-header{flex-direction:column}.analytics-period-selector{width:100%}.analytics-period-button{flex:1}.analytics-kpi-grid,.analytics-audience-grid{grid-template-columns:1fr}.analytics-page .panel{padding:14px}.analytics-page .metric-card{min-height:112px}}@media (width<=520px){.analytics-page .metric-value{font-size:24px}.analytics-page .panel-header{flex-direction:column}.analytics-table{min-width:680px}}
