@font-face{font-family:InterFallback;src:local("Inter"),local("Arial");font-display:swap}
:root{--bg:#090c12;--sidebar:#0d1118;--panel:#171c25;--raised:#202734;--hover:#2b3443;--line:#343e4e;--muted:#8d97a8;--text:#f4f7fb;--gold:#ffd84d;--violet:#8b5cff;--blue:#69d8ff;--cyan:#c7f6ff;--good:#55d69e;--bad:#ff6d7c;--warn:#ffb84d;--topbar:64px;color-scheme:dark;font-family:InterFallback,Arial,sans-serif;letter-spacing:0}
*{box-sizing:border-box}html{min-width:320px;background:var(--bg);color:var(--text);scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit;letter-spacing:0}button{color:inherit}a{color:inherit}.hidden{display:none!important}.skip-link{position:fixed;z-index:100;top:8px;left:8px;transform:translateY(-150%);padding:9px 12px;border-radius:5px;background:var(--violet);color:#fff;font-size:12px;font-weight:800}.skip-link:focus{transform:none}
.loading-screen,.auth-screen{position:fixed;z-index:50;inset:0;display:grid;place-items:center;background:var(--bg)}.loading-screen{align-content:center;gap:14px;color:var(--muted)}.spinner{width:34px;height:34px;border:3px solid var(--hover);border-top-color:var(--violet);border-radius:50%;animation:spin .7s linear infinite}.mini-loader{width:24px;height:24px;margin:30px auto;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.auth-panel{width:min(420px,calc(100vw - 32px));padding:32px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 24px 80px #0008}.auth-panel h1{margin:24px 0 6px;font-size:28px;line-height:1.15}.auth-panel>p{margin:0 0 24px;color:var(--muted)}.brand-mark{font-size:20px;font-weight:900;letter-spacing:.08em}.brand-mark span{color:var(--gold)}
label{display:grid;gap:7px;margin:0 0 16px;color:var(--muted);font-size:12px;font-weight:700}input,select,textarea{width:100%;min-width:0;min-height:42px;border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:#0e131b;color:var(--text);outline:none}select[multiple]{scrollbar-color:var(--hover) transparent}input::placeholder,textarea::placeholder{color:#606a79}input:focus,select:focus,textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px #8b5cff25}
.button,.icon-button,.nav-item,.period-presets button,.comparison-summary{border:1px solid transparent;border-radius:6px;background:none;cursor:pointer;transition:background .15s,border-color .15s,transform .15s,opacity .15s}.button{min-height:40px;padding:9px 14px;font-weight:800;white-space:nowrap}.button:hover,.icon-button:hover{background:var(--hover)}.button.primary{background:var(--violet);color:#fff}.button.primary:hover{background:#7d4ff0}.button.ghost{border-color:var(--line);background:var(--panel)}.button.full{width:100%}.button:disabled,.icon-button:disabled{opacity:.46;cursor:wait}.button.is-busy{position:relative;color:transparent}.button.is-busy:after{content:"";position:absolute;inset:0;width:17px;height:17px;margin:auto;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.icon-button{display:grid;place-items:center;width:40px;min-width:40px;height:40px;padding:0;font-size:20px}.danger-button{border-color:#ff6d7c40;color:var(--bad)}
.shell{display:grid;grid-template-columns:238px minmax(0,1fr);grid-template-rows:var(--topbar) minmax(0,1fr);min-height:100vh}.topbar{position:sticky;z-index:20;top:0;grid-column:1/-1;display:flex;align-items:center;gap:18px;height:var(--topbar);padding:0 18px;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));border-bottom:1px solid var(--line);background:#090c12f4;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:7px;width:202px;color:var(--text);text-decoration:none;font-size:19px}.brand strong{font-weight:950}.brand span{color:var(--gold);font-weight:850}.workspace-title{display:grid;min-width:0}.workspace-title b{font-size:14px}.workspace-title small{overflow:hidden;max-width:55vw;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.compact-select{width:auto;min-width:62px;min-height:38px;padding:7px 9px}
.sidebar{position:sticky;top:var(--topbar);display:flex;flex-direction:column;height:calc(100vh - var(--topbar));padding:14px 10px calc(14px + env(safe-area-inset-bottom));overflow:auto;border-right:1px solid var(--line);background:var(--sidebar)}.sidebar nav{display:grid;gap:4px}.nav-item{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;width:100%;padding:11px 10px;color:var(--muted);text-align:left}.nav-item>span{color:#657082;font:700 10px/1 ui-monospace,monospace}.nav-item b{overflow:hidden;font-size:13px;text-overflow:ellipsis}.nav-item:hover{background:var(--panel);color:var(--text)}.nav-item.active{border-color:#465166;background:var(--hover);color:var(--text)}.nav-item.active>span{color:var(--blue)}.saved-section{margin-top:24px;padding-top:14px;border-top:1px solid var(--line)}.sidebar-label{display:flex;justify-content:space-between;padding:0 10px 8px;color:var(--muted);font-size:10px;text-transform:uppercase}.saved-list{display:grid;gap:3px}.saved-item{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;border-radius:5px;color:var(--muted)}.saved-item:hover{background:var(--panel);color:var(--text)}.saved-open,.saved-delete{border:0;background:transparent;color:inherit;cursor:pointer}.saved-open{display:flex;min-width:0;align-items:center;gap:8px;padding:8px 4px 8px 10px;text-align:left}.saved-open i{color:var(--blue);font-style:normal}.saved-open span{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.saved-delete{display:grid;place-items:center;width:28px;height:28px;border-radius:4px;font-size:17px}.saved-delete:hover{background:#ff6d7c16;color:var(--bad)}.saved-empty{padding:4px 10px;color:#5f6978;font-size:11px}.sidebar footer{display:grid;gap:8px;margin-top:auto;padding:16px 10px 4px;color:var(--muted);font-size:11px}.sidebar footer a{color:var(--blue);text-decoration:none}
.main{min-width:0;padding:18px 24px 48px}.filterbar{position:sticky;z-index:15;top:var(--topbar);display:flex;align-items:end;gap:10px;min-width:0;padding:10px 0 14px;background:var(--bg)}.period-presets{display:flex;min-height:40px;overflow:hidden;border:1px solid var(--line);border-radius:6px}.period-presets button{min-width:48px;padding:8px 11px;border-radius:0;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.period-presets button+button{border-left:1px solid var(--line)}.period-presets button:hover{background:var(--panel)}.period-presets button.active{background:var(--hover);color:var(--text)}.date-field{display:grid;gap:3px;margin:0}.date-field span{font-size:10px}.date-field input{width:145px;min-height:40px;padding:7px 9px}.comparison-summary{display:grid;gap:2px;min-height:40px;max-width:220px;padding:5px 11px;border-color:var(--line);background:var(--panel);text-align:left}.comparison-summary span{color:var(--muted);font-size:9px;text-transform:uppercase}.comparison-summary b{overflow:hidden;color:var(--cyan);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.comparison-summary:hover{background:var(--hover)}.active-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.filter-chip{display:flex;align-items:center;gap:7px;max-width:100%;padding:5px 7px 5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--cyan);font-size:11px;cursor:pointer}.filter-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-chip b{color:var(--muted);font-size:14px}
.view{min-width:0}.view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:10px 0 18px}.view-head>div:first-child{min-width:0}.view-head h1{margin:3px 0 5px;font-size:26px;line-height:1.15}.view-head p{max-width:780px;margin:0;color:var(--muted);font-size:13px;line-height:1.5}.view-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px}.period-context{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.period-pill{display:flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--muted);font-size:11px}.period-pill strong{color:var(--text)}.period-swatch{width:7px;height:7px;margin-right:2px;border-radius:50%;background:var(--violet)}.period-swatch.comparison{background:var(--blue)}.eyebrow{color:var(--gold);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.kpi{min-width:0;padding:15px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}.kpi header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px}.metric-code{color:#596474;font:700 9px/1 ui-monospace,monospace}.kpi>strong{display:block;margin:9px 0 7px;overflow:hidden;font-size:25px;text-overflow:ellipsis;white-space:nowrap}.kpi footer,.kpi-comparison{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px}.kpi-comparison{margin-top:9px;padding-top:8px;border-top:1px solid #343e4e88}.kpi-comparison b{color:#b2bac7;font-size:11px}.delta{padding:3px 5px;border-radius:4px;font-weight:850}.delta.good{background:#55d69e18;color:var(--good)}.delta.bad{background:#ff6d7c18;color:var(--bad)}
.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px}.panel{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--panel)}.panel.span-8{grid-column:span 8}.panel.span-7{grid-column:span 7}.panel.span-6{grid-column:span 6}.panel.span-5{grid-column:span 5}.panel.span-4{grid-column:span 4}.panel.span-12{grid-column:span 12}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 15px;border-bottom:1px solid var(--line)}.panel-head>div{display:grid;gap:3px}.panel-head h2,.panel-head h3{margin:0;font-size:14px}.panel-head small{color:var(--muted);font-size:10px}.panel-select{width:auto;min-height:34px;padding:5px 9px;font-size:11px}.chart{width:100%;height:330px}.chart.tall{height:470px}.insight-list{display:grid}.insight{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 15px;border-bottom:1px solid var(--line);font-size:12px}.insight:last-child{border-bottom:0}.insight i{width:7px;height:7px;border-radius:50%;background:var(--blue)}.insight.good i{background:var(--good)}.insight.bad i{background:var(--bad)}.insight b{font-size:12px}.empty{display:grid;place-items:center;min-height:180px;padding:30px;color:var(--muted);text-align:center}.empty p{margin:0}.compact-empty{min-height:120px}
.quality-strip{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center;gap:22px;padding:14px 16px}.quality-strip>div:not(.progress-track){display:grid;gap:3px}.quality-strip span{color:var(--muted);font-size:10px}.quality-strip strong{font-size:13px}.progress-track{position:relative;height:7px;overflow:hidden;border-radius:4px;background:#0e131b}.progress-track i{display:block;height:100%;border-radius:inherit;background:var(--good)}.progress-track i.warning{background:var(--warn)}
.table-wrap{width:100%;max-width:100%;overflow:auto;scrollbar-color:var(--hover) transparent}.table-wrap table{width:100%;border-collapse:collapse;font-size:12px}.table-wrap th,.table-wrap td{max-width:330px;padding:10px 12px;overflow:hidden;border-bottom:1px solid var(--line);text-align:right;text-overflow:ellipsis;white-space:nowrap}.table-wrap th{position:sticky;z-index:1;top:0;background:var(--raised);color:var(--muted);font-size:9px;text-transform:uppercase}.table-wrap th:first-child,.table-wrap td:first-child{text-align:left}.table-wrap tr:last-child td{border-bottom:0}.table-wrap tbody tr:hover td{background:#2b344326}.table-wrap .positive{color:var(--good)}.table-wrap .negative{color:var(--bad)}.entity-name{display:block;max-width:260px;overflow:hidden;font-weight:750;text-overflow:ellipsis}.performance-table tbody tr[data-cross-value]{cursor:pointer}.details-cell{max-width:380px!important}.cell-filter{max-width:240px;overflow:hidden;border:0;border-bottom:1px dashed var(--blue);background:transparent;color:var(--cyan);text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-bottom:12px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}.toolbar label{min-width:150px;margin:0}.toolbar select,.toolbar input{min-height:38px}.toolbar-search{flex:1 1 220px}.toolbar-hint{margin:0 0 10px auto;color:var(--muted);font-size:10px}.wide-control{min-width:250px!important}.segmented{display:flex;min-height:38px;overflow:hidden;border:1px solid var(--line);border-radius:6px}.segmented button{min-height:38px;padding:8px 12px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--hover);color:var(--text)}.metric-toggle{margin-left:auto}
.heatmap-wrap{max-width:100%;overflow:auto;padding:12px;scrollbar-color:var(--hover) transparent}.heatmap{display:grid;min-width:760px;gap:3px;font-size:10px}.heat-cell{display:grid;place-items:center;min-width:48px;height:39px;border:1px solid #ffffff08;border-radius:3px;background:var(--raised);color:var(--text)}.heat-cell b{font-size:10px}.heat-cell small{color:#d4d9e2aa;font-size:8px}.heat-cell.label{justify-items:start;padding:0 8px;border-color:transparent;background:transparent;color:var(--muted)}.heat-cell.header-cell{position:sticky;z-index:2;top:0;background:var(--panel);color:var(--muted)}.heat-cell.cohort-label{position:sticky;z-index:1;left:0;background:var(--panel)}.heat-cell.cohort-users{position:sticky;z-index:1;left:127px;justify-items:end;background:var(--panel)}.heat-cell.immature{border-color:transparent;background:#11161e;color:#465061}.retention-definition{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;padding:12px 14px;border:1px solid #69d8ff30;border-radius:7px;background:#69d8ff0b}.retention-definition>i{flex:0 0 auto;width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--blue)}.retention-definition b{font-size:12px}.retention-definition p{margin:3px 0 0;color:var(--muted);font-size:11px}
.explorer-builder{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-bottom:12px}.builder-group,.builder-settings{min-width:0;padding:13px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}.builder-group header{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.builder-group header b{font-size:12px}.builder-group header small{color:var(--muted);font-size:9px}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.metric-options{grid-template-columns:repeat(3,minmax(0,1fr))}.option-check{display:flex;align-items:center;gap:7px;min-width:0;margin:0;padding:7px 8px;border:1px solid #343e4e88;border-radius:5px;background:#0e131b;cursor:pointer}.option-check:has(input:checked){border-color:#8b5cff88;background:#8b5cff10;color:var(--text)}.option-check input{flex:0 0 auto;width:16px;min-height:16px;margin:0;accent-color:var(--violet)}.option-check span{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.builder-settings{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 130px auto;align-items:end;gap:10px}.builder-settings label{margin:0}.explorer-results{align-items:start}.explorer-table{max-height:520px}
.source-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.source-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}.source-summary span{color:var(--muted);font-size:11px}.source-summary strong{font-size:20px}.source-list{display:grid;gap:8px}.source-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}.source-main{display:grid;gap:11px;min-width:0}.source-title{display:flex;align-items:center;gap:11px;min-width:0}.source-title h3{margin:0 0 4px;font-size:14px}.source-title p{margin:0;color:var(--muted);font-size:11px}.source-icon{display:inline-grid;flex:0 0 auto;place-items:center;width:39px;height:39px;border:1px solid #69d8ff45;border-radius:6px;background:#69d8ff0d;color:var(--cyan);font:800 11px/1 ui-monospace,monospace}.source-icon.small{display:inline-grid;width:25px;height:25px;margin-right:8px;font-size:8px;vertical-align:middle}.source-meta{display:flex;flex-wrap:wrap;gap:7px 18px;color:var(--muted);font-size:10px}.source-error{max-width:460px;overflow:hidden;color:var(--bad);text-overflow:ellipsis;white-space:nowrap}.source-actions{display:flex;align-items:center;gap:7px}.status-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--good)}.status-dot.error{background:var(--bad)}.managed-badge{padding:5px 7px;border:1px solid #ffd84d45;border-radius:4px;color:var(--gold);font:800 9px/1 ui-monospace,monospace}
.quality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.quality-item{min-width:0;padding:16px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}.quality-item strong{display:block;margin:8px 0 4px;overflow:hidden;font-size:22px;text-overflow:ellipsis;white-space:nowrap}.quality-item small,.quality-item span{display:block;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.missing-list{display:grid;gap:13px;padding:18px 15px}.missing-row{display:grid;grid-template-columns:105px minmax(100px,1fr) 56px;align-items:center;gap:10px}.missing-row span{color:var(--muted);font-size:11px}.missing-row b{text-align:right;font-size:11px}.quality-dashboard{align-items:start}
dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:0;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);box-shadow:0 30px 100px #000b}dialog::backdrop{background:#030509d9;backdrop-filter:blur(4px)}.wide-dialog{width:min(1180px,calc(100vw - 32px))}.dialog-panel{padding:20px}.dialog-panel>header{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:18px}.dialog-panel h2{margin:3px 0 0;font-size:22px}.dialog-panel h3{margin:3px 0;font-size:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.filter-grid label{margin:0}.filter-grid select{min-height:140px}.comparison-settings{display:grid;grid-template-columns:minmax(200px,1fr) minmax(180px,240px);gap:16px;align-items:end;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.comparison-settings label{margin:0}.custom-comparison{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.notice{margin-bottom:16px;padding:11px;border-left:3px solid var(--blue);background:#69d8ff0d;color:var(--muted);font-size:12px;line-height:1.45}.error{padding:9px;border:1px solid #ff6d7c55;border-radius:5px;background:#ff6d7c12;color:#ff9ca7;font-size:12px}.hint{color:var(--muted);font-size:11px;line-height:1.45}.check-row{display:flex;align-items:center;gap:8px}.check-row input{width:18px;min-height:18px}.compact-dialog{max-width:480px}.sql-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px}.sql-layout aside{max-height:64vh;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:12px}.sql-layout aside h3{margin:0 0 10px}.sql-layout textarea{min-height:190px;resize:vertical;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;tab-size:2}.schema-tree{display:grid;gap:6px;color:var(--muted);font:11px/1.4 ui-monospace,monospace}.schema-tree details{padding-bottom:5px;border-bottom:1px solid #343e4e88}.schema-tree summary{padding:6px 2px;color:var(--cyan);cursor:pointer}.schema-column{display:flex;justify-content:space-between;gap:8px;width:100%;padding:5px 4px 5px 14px;border:0;border-radius:4px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}.schema-column:hover{background:var(--hover);color:var(--text)}.schema-column small{color:#626d7d}.inline-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px}.sql-actions{display:flex;gap:8px}#sql-result{max-height:390px;border:1px solid var(--line);border-radius:6px}.toast{position:fixed;z-index:70;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));max-width:min(420px,calc(100vw - 32px));padding:12px 15px;border:1px solid var(--line);border-radius:6px;background:var(--raised);box-shadow:0 16px 50px #0008;font-size:12px}.toast.error-toast{border-color:#ff6d7c66;color:#ffb1b9}
.state-panel{display:grid;justify-items:center;max-width:620px;margin:80px auto;padding:36px;border:1px solid var(--line);border-radius:7px;background:var(--panel);text-align:center}.state-panel h2{margin:12px 0 5px}.state-panel p{max-width:520px;margin:0 0 20px;color:var(--muted);font-size:12px}.state-code{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ff6d7c55;border-radius:50%;color:var(--bad);font-weight:900}.mobile-only{display:none}.skeleton{position:relative;min-height:120px;overflow:hidden;background:var(--panel)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:#ffffff08;animation:shine 1.2s infinite}.heading-skeleton{min-height:88px;border-radius:7px}@keyframes shine{to{transform:translateX(100%)}}
@media(max-width:1180px){.filterbar{flex-wrap:wrap}.comparison-summary,.filterbar>#more-filters,.filterbar>#apply-filters{order:2}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel.span-8,.panel.span-7,.panel.span-6,.panel.span-5,.panel.span-4{grid-column:span 12}.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-title{display:none}.explorer-builder{grid-template-columns:1fr}.builder-settings{grid-column:auto}}
@media(max-width:820px){:root{--topbar:58px}.mobile-only{display:grid}.shell{display:block}.topbar{height:var(--topbar);padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.brand{width:auto}.top-actions>.button{display:none}.sidebar{position:fixed;z-index:30;top:var(--topbar);left:0;width:260px;height:calc(100dvh - var(--topbar));transform:translateX(-102%);transition:transform .2s;box-shadow:20px 0 50px #0009}.sidebar.open{transform:none}.main{padding:10px max(12px,env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.filterbar{top:var(--topbar);display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-top:8px}.period-presets{grid-column:1/-1;overflow:auto}.period-presets button{flex:1}.date-field input{width:100%}.comparison-summary,.filterbar>#more-filters,.filterbar>#apply-filters{order:initial}.comparison-summary{max-width:none}.view-head{display:block}.view-head h1{font-size:22px}.view-actions{justify-content:flex-start;margin-top:12px}.view-actions .button{flex:1 1 160px}.dashboard-grid{gap:7px}.panel{grid-column:span 12!important}.chart{height:280px}.chart.tall{height:390px}.quality-strip{grid-template-columns:1fr 1fr}.quality-strip .progress-track{grid-column:1/-1;grid-row:2}.toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar label,.wide-control{min-width:0!important}.toolbar-search,.toolbar-hint,.metric-toggle{grid-column:1/-1;width:100%;margin-left:0}.metric-toggle button{flex:1}.explorer-builder{grid-template-columns:1fr}.builder-settings{grid-template-columns:1fr 1fr}.builder-settings .button{align-self:end}.source-card{grid-template-columns:1fr}.source-actions{flex-wrap:wrap}.filter-grid{grid-template-columns:1fr}.comparison-settings{grid-template-columns:1fr}.custom-comparison{grid-column:auto}.sql-layout{grid-template-columns:1fr}.sql-layout aside{max-height:220px}.inline-actions{align-items:stretch;flex-direction:column}.sql-actions .button{flex:1}dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.dialog-panel{padding:15px}}
@media(max-width:520px){.topbar{gap:7px}.brand{font-size:16px}.top-actions{gap:1px}.compact-select{min-width:52px;padding:6px}.icon-button{width:36px;min-width:36px;height:36px}.filterbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.comparison-summary{min-width:0}.period-presets button{min-width:50px;padding:8px}.kpi-grid,.quality-grid,.source-summary{grid-template-columns:1fr}.kpi{padding:13px}.kpi>strong{font-size:23px}.period-context{display:grid}.period-pill{align-items:flex-start;flex-wrap:wrap}.quality-strip,.toolbar,.builder-settings{grid-template-columns:1fr}.quality-strip .progress-track,.toolbar-search,.toolbar-hint,.metric-toggle{grid-column:auto}.option-grid,.metric-options{grid-template-columns:1fr 1fr}.comparison-settings,.custom-comparison{grid-template-columns:1fr}.dialog-actions{display:grid;grid-template-columns:1fr}.dialog-actions .button{width:100%}.missing-row{grid-template-columns:90px minmax(80px,1fr) 50px}.source-actions .button{flex:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.sql-actions{flex-wrap:wrap}.sql-visual-controls{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) minmax(160px,1fr);gap:10px;margin:0 0 12px;padding:11px;border:1px solid var(--line);border-radius:6px;background:#0e131b}.sql-visual-controls label{margin:0}.sql-chart{height:360px;margin-bottom:12px;border:1px solid var(--line);border-radius:6px;background:#0e131b}.sql-kpi{display:grid;place-content:center;min-height:100%;padding:30px;text-align:center}.sql-kpi span{color:var(--muted);font-size:12px}.sql-kpi strong{margin:10px 0 5px;color:var(--text);font-size:48px}.sql-kpi small{color:var(--cyan)}
@media(max-width:820px){.sql-visual-controls{grid-template-columns:1fr}}

.dashboard-card-scope-note{margin:0;padding:8px 13px;border-bottom:1px solid #69d8ff24;background:#69d8ff08;color:var(--muted);font-size:9px;line-height:1.4}.dashboard-card-drill-note{color:var(--cyan)}.dashboard-card-table tr.is-filterable{cursor:pointer}.dashboard-card-table tr.is-filterable:focus-visible{outline:2px solid var(--violet);outline-offset:-2px}

.analysis-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px}.analysis-summary article{display:grid;gap:5px;min-width:0;padding:14px 15px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}.analysis-summary span,.analysis-summary small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.analysis-summary strong{overflow:hidden;font-size:22px;text-overflow:ellipsis;white-space:nowrap}.warning-notice{border-left-color:var(--warn);background:#ffb84d0c}.cohort-map,.retention-map{min-width:max-content}.heat-cell.cohort-label{min-width:190px}.heat-cell.cohort-users{left:193px}.heat-legend{display:flex;justify-content:flex-end;gap:8px;align-items:center;padding:0 14px 12px;color:var(--muted);font-size:9px}.heat-legend i{width:110px;height:7px;border-radius:999px;background:linear-gradient(90deg,rgba(139,92,255,.08),rgba(139,92,255,.9))}
.dashboard-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dashboard-list-card{display:grid;gap:11px;min-width:0;min-height:190px;padding:17px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text);text-align:left;cursor:pointer;transition:border-color .16s,background .16s,transform .16s}.dashboard-list-card:hover{transform:translateY(-2px);border-color:#8b5cff88;background:var(--raised)}.dashboard-list-card h2{margin:0;font-size:17px}.dashboard-list-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.dashboard-list-card footer{display:flex;flex-wrap:wrap;gap:7px 13px;margin-top:auto;color:var(--muted);font-size:9px}.dashboard-statuses{display:flex;flex-wrap:wrap;gap:5px}.dashboard-status{display:inline-flex;width:max-content;align-items:center;padding:4px 6px;border:1px solid var(--line);border-radius:4px;color:var(--muted);font:800 8px/1 ui-monospace,monospace;text-transform:uppercase}.dashboard-status.published{border-color:#55d69e55;background:#55d69e0d;color:var(--good)}.dashboard-status.draft,.dashboard-status.restored{border-color:#ffb84d55;background:#ffb84d0d;color:var(--warn)}
.dashboard-workspace-head h1{min-width:min(520px,70vw)}.dashboard-title-input{min-height:46px;margin:4px 0 5px;padding:5px 9px;font-size:26px;font-weight:850}.dashboard-description{max-width:780px}.dashboard-description-input{min-height:66px;margin-top:4px;resize:vertical;color:var(--muted);font-size:12px;line-height:1.5}.dashboard-editor-bar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,480px);align-items:end;gap:16px;margin-bottom:12px;padding:13px 15px;border:1px solid #8b5cff55;border-radius:7px;background:#8b5cff0b}.dashboard-editor-bar b{font-size:12px}.dashboard-editor-bar p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.dashboard-editor-bar label{margin:0}.custom-dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:10px}.dashboard-runtime-card{grid-column:span 6;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--panel)}.dashboard-runtime-card.dashboard-span-3{grid-column:span 3}.dashboard-runtime-card.dashboard-span-4{grid-column:span 4}.dashboard-runtime-card.dashboard-span-6{grid-column:span 6}.dashboard-runtime-card.dashboard-span-8{grid-column:span 8}.dashboard-runtime-card.dashboard-span-12{grid-column:span 12}.dashboard-runtime-card.dragging{opacity:.45}.dashboard-runtime-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:58px;padding:12px 14px;border-bottom:1px solid var(--line)}.dashboard-runtime-card>header h2{margin:0;font-size:14px}.dashboard-runtime-card>header p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.4}.dashboard-card-controls{display:flex;flex:0 0 auto;gap:3px}.dashboard-card-controls button{display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid var(--line);border-radius:4px;background:#0e131b;color:var(--muted);cursor:pointer}.dashboard-card-controls button:hover{border-color:#8b5cff88;color:var(--text)}.dashboard-card-content{min-height:150px}.dashboard-card-loading{display:grid;place-items:center;min-height:210px}.dashboard-card-error{min-height:150px;padding:22px;color:var(--bad)}.dashboard-card-error b{font-size:12px}.dashboard-card-error p{margin:7px 0 0;color:#ff9ca7;font-size:10px;line-height:1.5}.dashboard-card-chart{height:300px}.dashboard-card-table{max-height:370px}.dashboard-text-card{padding:18px;color:#cbd2dd;font-size:12px;line-height:1.65}.dashboard-kpi-set{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));min-height:150px}.dashboard-kpi-set article{display:grid;align-content:center;gap:8px;min-width:0;padding:22px;border-right:1px solid var(--line)}.dashboard-kpi-set article:last-child{border-right:0}.dashboard-kpi-set span{color:var(--muted);font-size:10px}.dashboard-kpi-set strong{overflow:hidden;font-size:27px;text-overflow:ellipsis;white-space:nowrap}.dashboard-empty-state{grid-column:1/-1;display:grid;justify-items:center;gap:16px;padding:54px;border:1px dashed var(--line);border-radius:7px;color:var(--muted);text-align:center}
.card-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-editor-grid label{margin:0}.card-query-fields{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:7px;background:#0e131b}.card-query-fields select[multiple]{min-height:190px}.query-model-preview{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:start;margin-top:14px;padding:12px;border:1px solid #69d8ff30;border-radius:6px;background:#69d8ff08}.query-model-preview b{color:var(--cyan);font-size:10px;text-transform:uppercase}.query-model-preview code{overflow:auto;color:#d9e2ed;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre}.revision-list{display:grid;gap:8px}.revision-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:6px;background:#0e131b}.revision-item>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.revision-item b{font-size:12px}.revision-item time{color:var(--muted);font-size:9px}.revision-item p{grid-column:1/2;margin:0;color:var(--muted);font-size:10px}.revision-item .button{grid-column:2;grid-row:1/3}.dashboard-runtime-card[draggable=true]{cursor:grab}.dashboard-runtime-card[draggable=true]:active{cursor:grabbing}
.card-filter-builder{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.card-filter-builder>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.card-filter-builder>header b{font-size:11px}.card-filter-builder>header p{max-width:680px;margin:3px 0 0;color:var(--muted);font-size:9px;line-height:1.45}.card-query-filter-list{display:grid;gap:7px}.card-query-filter-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(220px,1.8fr) 40px;align-items:center;gap:8px}.card-query-filter-row select,.card-query-filter-row textarea{min-height:40px;margin:0}.card-query-filter-row textarea{resize:vertical;font:11px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace}
@media(max-width:1180px){.dashboard-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-runtime-card.dashboard-span-3,.dashboard-runtime-card.dashboard-span-4{grid-column:span 6}.analysis-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.dashboard-editor-bar{grid-template-columns:1fr}.dashboard-workspace-head h1{min-width:0}.dashboard-title-input{font-size:22px}.dashboard-runtime-card{grid-column:1/-1!important}.dashboard-card-controls button:first-child,.dashboard-card-controls button:nth-child(2){display:none}.card-editor-grid{grid-template-columns:1fr}.query-model-preview{grid-template-columns:1fr}.dashboard-card-chart{height:270px}.card-query-filter-row{grid-template-columns:1fr 40px}.card-query-filter-row textarea{grid-column:1}.card-query-filter-row .icon-button{grid-column:2;grid-row:1/3}.card-filter-builder>header{align-items:stretch;flex-direction:column}}
@media(max-width:520px){.dashboard-gallery,.analysis-summary{grid-template-columns:1fr}.dashboard-list-card{min-height:160px}.dashboard-empty-state{padding:34px 18px}.revision-item{grid-template-columns:1fr}.revision-item p,.revision-item .button{grid-column:1;grid-row:auto}.revision-item .button{width:100%}}
@media(max-width:820px){.dashboard-card-controls{flex-wrap:wrap;justify-content:flex-end}.dashboard-card-controls button:first-child,.dashboard-card-controls button:nth-child(2){display:grid}}
