@import url('/prototype/assets/design/v2.3.6/adoption.css');
@import url('/prototype/assets/analytics/v1.16.0/ui-controls.css');
@import url('/prototype/assets/analytics/v1.16.0/studio.css');
@import url('/prototype/assets/analytics/v1.16.0/unified-window.css');

/* One module boundary, including its portal hosts. Existing business geometry remains local. */
body[data-analytics-wave][data-sota33]{
  --text-1:var(--sota33-text);--text-2:var(--sota33-muted);--text-3:var(--sota33-faint);
  --surface:var(--sota33-glass);--surface-raised:var(--sota33-glass-raised);--surface-solid:var(--sota33-surface-solid);--border:var(--sota33-border);
  --ink:var(--sota33-ink);--muted:var(--sota33-muted);--line:var(--sota33-border);
  --paper:var(--sota33-glass);--bg:var(--sota33-canvas);--green:var(--sota33-primary);
  --mint:var(--sota33-primary-soft);--yellow:color-mix(in srgb,var(--sota33-warning) 12%,var(--sota33-glass));
  --lab-ink:var(--sota33-ink);--lab-text:var(--sota33-text);--lab-muted:var(--sota33-muted);--lab-faint:var(--sota33-faint);
  --lab-primary:var(--sota33-primary);--lab-primary-hover:var(--sota33-primary-hover);--lab-primary-soft:var(--sota33-primary-soft);--lab-on-primary:var(--sota33-on-primary);
  --lab-canvas:var(--sota33-canvas);--lab-canvas-deep:var(--sota33-canvas-deep);--lab-surface-raised:var(--sota33-surface-raised);--lab-surface-solid:var(--sota33-surface-solid);
  --lab-border:var(--sota33-border);--lab-border-strong:var(--sota33-border-strong);--lab-danger:var(--sota33-danger);
  --material-03:var(--sota33-glass);--material-05:var(--sota33-glass-raised);
  --lab-gold:var(--sota33-warning);--lab-hex-border:var(--sota33-border-strong);--d201-bottom-header-rendered:calc(var(--lab-bottom-header-height) + var(--lab-safe-bottom));
  --lab-font-body:var(--sota33-font);--lab-font-number:var(--sota33-font);--lab-font-heading:var(--sota33-font);
  --date-range-fill:var(--sota33-calendar-selected);--date-range-text:var(--sota33-calendar-selected-text);
  --surface-focus:var(--sota33-focus);--d201-focus-ring:var(--sota33-ink);
  --overlay-popover:1100;--overlay-preloader:1600;--lab-bottom-header-height:0px;--lab-safe-bottom:env(safe-area-inset-bottom,0px);
  --hex-pointy:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);--lab-hex:var(--hex-pointy);
  color:var(--sota33-text);font:300 15px/1.5 var(--sota33-font);margin:0;min-height:100vh;
}
html[data-sota-prototype-module="analytics"]{color-scheme:light}
html[data-sota-prototype-module="analytics"][data-theme="dark"]{color-scheme:dark}
html[data-sota-prototype-module="analytics"][data-sota-design="2.3.6"] body[data-analytics-wave]{padding:0 0 0 72px}
body[data-analytics-wave] main{min-width:0;max-width:1440px;padding:32px 24px 60px;background:transparent;color:var(--sota33-text)}
body[data-analytics-wave] main :is(h1,h2,h3,h4,strong){color:var(--sota33-ink)}
body[data-analytics-wave] main :is(button,input,select,textarea,svg text){font-family:var(--sota33-font)}
body[data-analytics-wave] main :is(p,small,dt,label,.eyebrow,.panel-kicker,.checkpoint-mark,.source-system,.source-summary span,.source-quality dt,.source-list span,.source-card ul,.roadmap-stage p,.roadmap-stage small,.fact-policy span,.weekly-source>span,.weekly-kpi header>span:last-child,.weekly-kpi>p,.weekly-state span,.weekly-attribution details,.weekly-attribution details p,.weekly-attribution header b,.attribution-grid p,.daily-column>b,.daily-legend span,.funnel-step small){color:var(--sota33-muted)}
body[data-analytics-wave] main .sota33-glass{background:var(--sota33-glass);color:var(--sota33-text);border-color:var(--sota33-border);backdrop-filter:blur(14px) saturate(124%);box-shadow:var(--sota33-shadow)}
body[data-analytics-wave] main .sota33-glass-raised{background:var(--sota33-glass-raised);color:var(--sota33-text);border-color:var(--sota33-border-strong);backdrop-filter:blur(22px) saturate(130%);box-shadow:var(--sota33-raised-shadow)}
body[data-analytics-wave] main .hero{align-items:center;padding:24px;gap:24px;border-radius:18px}
body[data-analytics-wave] main .hero h1{font-size:clamp(30px,4vw,48px);font-weight:500;line-height:1.12;margin:8px 0 12px}
body[data-analytics-wave] main .hero p{font-size:15px}
body[data-analytics-wave] main .hero-card{min-width:250px;flex:none;background:var(--sota33-primary);color:var(--sota33-on-primary)!important;padding:20px;border-radius:14px}
/* Source report-studio owns one !important white foreground; this exact role overrides it. */
body[data-analytics-wave] main .hero-card :is(span,strong){color:var(--sota33-on-primary)}
body[data-analytics-wave] main .hero-card:hover{background:var(--sota33-primary-hover)}
body[data-analytics-wave] main :is(.tabs,.weekly-kind){background:var(--sota33-glass);border:1px solid var(--sota33-border);border-radius:13px;padding:5px;gap:6px;min-width:0;max-width:100%}
body[data-analytics-wave] main .tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-padding-inline:12px;scrollbar-width:thin;overscroll-behavior-inline:contain}
body[data-analytics-wave] main :is(.tabs,.weekly-kind) button{flex:0 0 auto;min-height:44px;white-space:nowrap;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--sota33-muted);font-weight:400}
body[data-analytics-wave] main :is(.tabs,.weekly-kind) button.active{background:var(--sota33-glass-raised);color:var(--sota33-ink);border-color:var(--sota33-border-strong);box-shadow:inset 0 -3px var(--sota33-primary)}
body[data-analytics-wave] main .tabs a{display:flex;align-items:center;color:var(--sota33-primary);padding:8px 12px;white-space:nowrap}
body[data-analytics-wave] main .sota33-button{min-height:44px;border:1px solid var(--sota33-border-strong);border-radius:12px;padding:10px 14px;background:var(--sota33-glass-raised);color:var(--sota33-ink);font:400 14px/1.25 var(--sota33-font)}
body[data-analytics-wave] main .sota33-button-primary{background:var(--sota33-primary);color:var(--sota33-on-primary)}
body[data-analytics-wave] main .sota33-button-primary:hover{background:var(--sota33-primary-hover)}
body[data-analytics-wave] main :is(.choice,.check,.visual){background:var(--sota33-glass-raised);color:var(--sota33-text);border-color:var(--sota33-border-strong)}
body[data-analytics-wave] main :is(.choice,.check,.visual).active{background:var(--sota33-primary-soft);color:var(--sota33-ink);border-color:var(--sota33-primary)}
body[data-analytics-wave] main :is(.sota33-input,select){min-height:44px;padding:9px 12px;background:var(--sota33-glass-raised);color:var(--sota33-ink);border-color:var(--sota33-border-strong);font:300 14px/1.3 var(--sota33-font);min-width:0}
body[data-analytics-wave] main select option{background:var(--sota33-surface-solid);color:var(--sota33-ink)}
body[data-analytics-wave] main input::placeholder{color:var(--sota33-muted);opacity:1}
body[data-analytics-wave] main :is(button,a,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--sota33-focus);outline-offset:3px}
body[data-analytics-wave] main button:disabled{opacity:.56;cursor:not-allowed}
body[data-analytics-wave] main :is(.weekly-state,.weekly-source,.source-card,.report-head,.saved-row,.roadmap-stage){overflow-wrap:anywhere}
body[data-analytics-wave] main .weekly-controls{grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(145px,1fr)) auto}
body[data-analytics-wave] main .weekly-controls label{font-weight:400;font-size:12px;letter-spacing:normal;text-transform:none;min-width:0}
body[data-analytics-wave] main .weekly-controls:has(.ana-period-control) :is(label:has(#weekly-from),label:has(#weekly-to)){grid-row:2}
body[data-analytics-wave] main .ana-period-control{grid-column:span 2;min-width:0}
body[data-analytics-wave] main .weekly-controls>.ana-period-control{grid-column:1/-1}
body[data-analytics-wave] main :is(.weekly-empty,.visual-contract,.source-metrics>div,.source-quality div,.grain,.tags span,.solution-readiness,.source-chip,.source-message,.checkpoint-mark,.badge,.missing,.source-list span,.attribution-grid>div,.mini){background:var(--sota33-glass-raised);color:var(--sota33-text);border-color:var(--sota33-border)}
body[data-analytics-wave] main :is(.source-status,.badge,.delta,.source-message,.weekly-state){font-size:12px}
body[data-analytics-wave] main :is(.source-status.good,.source-summary b.ok,.delta.up){color:var(--sota33-success);background:var(--sota33-glass-raised)}
body[data-analytics-wave] main :is(.source-status.warn,.source-summary b,.roadmap-stage>b,.badge.demo,.missing:not(.ready)){color:var(--sota33-warning)}
body[data-analytics-wave] main :is(.source-status.bad,.delta.down,.weekly-state.unavailable,.source-fatal){color:var(--sota33-danger)}
body[data-analytics-wave] main :is(.source-status.wait,.delta.neutral){color:var(--sota33-faint)}
body[data-analytics-wave] main :is(.weekly-source,.source-message){border-left-color:var(--sota33-border-strong)}
body[data-analytics-wave] main :is(.weekly-source.ready,.status-ready .source-message){border-left-color:var(--sota33-success)}
body[data-analytics-wave] main :is(.weekly-source.partial,.status-partial .source-message){border-left-color:var(--sota33-warning)}
body[data-analytics-wave] main :is(.weekly-source.unavailable,.status-unavailable .source-message){border-left-color:var(--sota33-danger)}
body[data-analytics-wave] main :is(.weekly-kpi:before,.step>span,.roadmap-stage.done>span){background:var(--sota33-primary);color:var(--sota33-on-primary)}
body[data-analytics-wave] main .weekly-kpi.no_data:before{background:var(--sota33-faint)}
body[data-analytics-wave] main .weekly-state{align-items:center;flex-wrap:wrap;background:var(--sota33-glass-raised)}
body[data-analytics-wave] main .weekly-state b{margin-left:0;color:var(--sota33-muted);font-size:12px}
body[data-analytics-wave] main .weekly-state button{margin-left:auto}
body[data-analytics-wave] main .weekly-state.loading::before{content:none}
body[data-analytics-wave] main #weekly[aria-busy="true"] :is(.weekly-sources,.weekly-kpis,.weekly-visual-grid,.weekly-geography,.weekly-attribution){display:none}
body[data-analytics-wave] main #weekly:has(.weekly-state.unavailable) #weekly-crm-comparison{display:none}
body[data-analytics-wave] main :is(.workspace,.canvas,.controls,.saved-row,.saved-row>div,.weekly-kind){min-width:0}
body[data-analytics-wave] main .canvas{background:transparent}
body[data-analytics-wave] main .canvas-bar{height:auto;min-height:70px;flex-wrap:wrap;gap:12px;padding:16px}
body[data-analytics-wave] main .canvas-bar>div{flex-wrap:wrap;min-width:0}
body[data-analytics-wave] main .saved-row>div:last-child{display:flex;flex-wrap:wrap;gap:8px}
body[data-analytics-wave] main :is(.report table,.weekly-panel table){background:transparent;color:var(--sota33-text);max-width:100%}
body[data-analytics-wave] main :is(th,td,.daily-bars){border-color:var(--sota33-border)}
body[data-analytics-wave] main .report{overflow:auto}
body[data-analytics-wave] main .report svg text{fill:var(--sota33-text)}
body[data-analytics-wave] main :is(.line-chart polyline,.visual-line polyline){stroke:var(--sota33-primary)}
body[data-analytics-wave] main :is(.chart i,.mini i){background:var(--sota33-primary)}
body[data-analytics-wave] .ana-action-status{padding:10px 14px;margin:12px 0;border-radius:12px;color:var(--sota33-text)}
body[data-analytics-wave] .ana-action-status:empty{display:none}
body[data-analytics-wave] main .ana-stale-report{color:var(--sota33-warning);font-size:13px;margin:8px 0}
body[data-analytics-wave] main .ana-wave-recovery{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
body[data-analytics-wave]>footer{background:var(--sota33-glass);color:var(--sota33-muted);font-family:var(--sota33-font);flex-wrap:wrap;gap:8px}
body[data-analytics-wave] [data-analytics-control] .date-range-positioner-v20{inset:12px 12px 12px 84px}
body[data-analytics-wave] [data-analytics-control] .date-range-fields-v20 label>span{position:static;width:auto;height:auto;clip-path:none;font-size:11px}
body[data-analytics-wave] [data-analytics-control] .date-range-popover-v20{padding-bottom:112px}
body[data-analytics-wave] [data-analytics-control] .date-range-fields-v20 small{font-size:11px;min-height:16px}
body[data-analytics-wave] [data-analytics-control] .date-range-trigger{width:100%;min-height:44px;color:var(--sota33-ink);background:var(--sota33-glass-raised);font:300 14px var(--sota33-font)}
body[data-analytics-wave] [data-analytics-control] .page-preloader{inset:0 0 0 72px}
@media(max-width:1100px){body[data-analytics-wave] main .weekly-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){body[data-analytics-wave] main .workspace{grid-template-columns:minmax(0,1fr)}body[data-analytics-wave] main .controls{max-height:none}}
@media(max-width:900px){body[data-analytics-wave] main .hero{align-items:stretch;flex-direction:column}body[data-analytics-wave] main .hero-card{min-width:0;width:min(100%,380px)}}
@media(max-width:720px){
 html[data-sota-prototype-module="analytics"][data-sota-design="2.3.6"] body[data-analytics-wave]{padding:0 0 calc(80px + env(safe-area-inset-bottom,0px))}
 body[data-analytics-wave]{--lab-bottom-header-height:74px}
 body[data-analytics-wave] main{padding:20px 14px 30px}
 body[data-analytics-wave] main .hero{padding:18px;gap:12px}
 body[data-analytics-wave] main .hero h1{font-size:30px}
 body[data-analytics-wave] main .hero p{font-size:14px;margin:8px 0}
 body[data-analytics-wave] main .weekly-top h2{font-size:32px}
 body[data-analytics-wave] main .weekly-kind{flex-wrap:wrap}
 body[data-analytics-wave] main .weekly-kind button{flex:1 1 145px;white-space:normal}
 body[data-analytics-wave] main .weekly-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-analytics-wave] main .weekly-controls :is(label,button){min-width:0}
 body[data-analytics-wave] main .saved-row{flex-direction:column;align-items:stretch}
 body[data-analytics-wave] main .weekly-state{align-items:flex-start;flex-direction:column}
 body[data-analytics-wave] main .weekly-state button{margin-left:0}
 body[data-analytics-wave] [data-analytics-control] .date-range-positioner-v20{inset:8px 8px calc(82px + env(safe-area-inset-bottom,0px))}
 body[data-analytics-wave] [data-analytics-control] .date-range-popover-v20{padding-bottom:12px}
 body[data-analytics-wave] [data-analytics-control] .date-range-fields-v20{position:static;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:12px}
 body[data-analytics-wave] [data-analytics-control] .date-range-fields-v20 input{font-size:14px}
 body[data-analytics-wave] [data-analytics-control] .date-range-popover-v20>.date-range-apply{position:relative;right:auto;bottom:auto;margin:12px 0 0 auto}
 body[data-analytics-wave] [data-analytics-control] .page-preloader{inset:0 0 74px}
}
@media(max-width:480px){body[data-analytics-wave] main .weekly-controls{grid-template-columns:minmax(0,1fr)}body[data-analytics-wave] main .weekly-controls:has(.ana-period-control) :is(label:has(#weekly-from),label:has(#weekly-to)){grid-row:auto}}
@media(prefers-reduced-transparency:reduce){body[data-analytics-wave] main :is(.sota33-glass,.sota33-glass-raised){background:var(--sota33-surface-solid);backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){body[data-analytics-wave] main :is(.daily-bars i,.funnel-step>i){transition:none}}

/* Report results, table headers and drill-down share the same material in both themes. */
body[data-analytics-wave] main :is(.report-table th,.heatmap-table th,.heatmap-table tbody th,.report-table tfoot,.report-table tbody tr:nth-child(even),.stacked-row>div,.chart-note,.funnel-legend){background:var(--sota33-glass-raised);color:var(--sota33-text)}
body[data-analytics-wave] main :is(.visual-badge,.report-warnings,.chart-legend span,.chart-note,.metric-contracts code,.comparison-readiness>span:last-child,.drill-panel){color:var(--sota33-text)}
body[data-analytics-wave] main .svg-chart :is(.grid text,.x-label){fill:var(--sota33-muted)}
body[data-analytics-wave] main .svg-chart :is(.grid line,.zero){stroke:var(--sota33-border-strong)}
body[data-analytics-wave] main .svg-chart .series circle{fill:var(--sota33-canvas)}
body[data-analytics-wave] main .funnel-chart article{background:var(--sota33-primary);color:var(--sota33-on-primary)}
body[data-analytics-wave] main .funnel-chart article :is(strong,small,em){color:var(--sota33-on-primary)}
body[data-analytics-wave] main .stacked-row i b{background:var(--sota33-canvas);color:var(--sota33-ink);padding:2px 4px;border-radius:4px}
body[data-analytics-wave] main :is(.drillable,.drillable-visual):is(:hover,:focus){outline-color:var(--sota33-focus)}
body[data-analytics-wave] main .positive{fill:var(--sota33-success)}
body[data-analytics-wave] main .negative{fill:var(--sota33-danger)}
body[data-analytics-wave] main .total{fill:var(--sota33-primary)}
body[data-analytics-wave] main .connector{stroke:var(--sota33-faint)}
body[data-analytics-wave] main .heatmap-table td{background:color-mix(in srgb,var(--sota33-primary) calc(var(--heat)*100%),var(--sota33-canvas));color:var(--sota33-ink)}
body[data-analytics-wave] main .heatmap-table td span{background:var(--sota33-canvas);border-radius:4px;padding:2px 4px}
body[data-analytics-wave] main .visual-badge{background:var(--sota33-glass-raised);color:var(--sota33-text)}
body[data-analytics-wave] main .candle.up :is(line,rect){stroke:var(--sota33-success)}
body[data-analytics-wave] main .candle.up rect{fill:var(--sota33-success)}
body[data-analytics-wave] main .candle.down :is(line,rect){stroke:var(--sota33-danger)}
body[data-analytics-wave] main .candle.down rect{fill:var(--sota33-danger)}

/* A danger action remains distinct from content primary; no menu descendant is matched. */
body[data-analytics-wave] main .ana-button-danger{background:var(--sota33-glass-raised);color:var(--sota33-danger);border-color:var(--sota33-danger)}
body[data-analytics-wave] main .ana-button-danger:hover{background:color-mix(in srgb,var(--sota33-danger) 12%,var(--sota33-glass-raised))}
/* The old API/lineage modal remains functional after retiring the v1 visual marker. */
body[data-analytics-wave] .sota-modal-panel{background:var(--sota33-surface-solid);color:var(--sota33-text);border-color:var(--sota33-border-strong);font-family:var(--sota33-font)}
body[data-analytics-wave] .sota-modal-panel h2{color:var(--sota33-ink)}
body[data-analytics-wave] .sota-modal-panel :is(p,span){color:var(--sota33-muted)}
body[data-analytics-wave] .ana-style-audit{background:var(--sota33-surface-solid);color:var(--sota33-text);padding:12px;margin-bottom:20px;border-radius:12px}
body[data-analytics-wave] .ana-style-audit pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:40vh;overflow:auto;font-size:12px}

/* Director: Roboto Serif Light throughout owned content, controls and portals. */
body[data-analytics-wave] :is(main,.lab-dialog,.ana-wave-portals,[data-analytics-control]) :is(h1,h2,h3,h4,h5,h6,p,span,strong,b,em,small,a,label,legend,button,input,select,textarea,th,td,dt,dd,summary,div,code,pre,figcaption,svg text){font-family:var(--sota33-font,"Roboto Serif",serif)!important;font-weight:300!important;}

/* v1.14: override the inherited width:100%!important and final portal insets. */
body[data-analytics-wave] [data-analytics-control] .date-range-positioner-v20{inset:110px 12px 24px 84px;place-items:start center;}
body[data-analytics-wave] [data-analytics-control] .date-range-positioner-v20>.date-range-popover-v20{box-sizing:border-box;width:min(880px,100%)!important;min-width:0;max-height:calc(100dvh - 134px);}
@media(min-width:721px) and (max-width:1000px){body[data-analytics-wave] [data-analytics-control] .calendar-grid button{min-width:24px;min-height:32px;font-size:12px;}body[data-analytics-wave] [data-analytics-control] .calendar-grid{gap:3px;}}
@media(max-width:720px){body[data-analytics-wave] [data-analytics-control] .date-range-positioner-v20{inset:90px 8px calc(82px + env(safe-area-inset-bottom,0px));}body[data-analytics-wave] [data-analytics-control] .date-range-positioner-v20>.date-range-popover-v20{width:min(420px,100%)!important;max-height:calc(100dvh - 180px);}}
/* The page owns the inclusive day count next to Time; suppress the duplicate elapsed-duration readout. */
body[data-analytics-wave] [data-analytics-control] .date-duration-v20{display:none;}
body[data-analytics-wave] [data-analytics-control] .date-range-fields-v20{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:720px){body[data-analytics-wave] [data-analytics-control] .date-range-fields-v20{grid-template-columns:minmax(0,1fr);}}
/* Semantic roles must outrank the generic glass rule above in the actual cascade. */
body[data-analytics-wave] main :is(.ana-data-card[data-source-tone="error"],.lab-state[data-widget-state="error"],.uw-state[data-window-state="error"]){border:1px solid var(--sota33-danger);border-left-width:4px;background:color-mix(in srgb,var(--sota33-danger) 9%,var(--sota33-glass));}
body[data-analytics-wave] main .ana-data-card[data-source-tone="warning"]{border-left:4px solid var(--sota33-warning);}
body[data-analytics-wave] main .ana-data-card[data-source-tone="error"] .uw-badge{color:var(--sota33-danger);border-color:var(--sota33-danger);}
body[data-analytics-wave] main .ana-data-card[data-source-tone="warning"] .uw-badge{color:var(--sota33-warning);border-color:var(--sota33-warning);}

/* v1.16 readability pass. These final scoped rules resolve legacy specificity. */
body[data-analytics-wave] main{box-sizing:border-box;width:100%;margin-inline:auto;}
html[data-analytics-boot="loading"] body[data-analytics-wave] main,
html[data-analytics-boot="error"] body[data-analytics-wave] main{display:none!important;}
body[data-analytics-wave] .ana-boot-state{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;color:var(--sota33-ink);font:300 16px/1.5 var(--sota33-font);}
body[data-analytics-wave] .ana-boot-state .source-fatal{display:grid;gap:16px;background:var(--sota33-surface-solid);border:1px solid var(--sota33-danger);padding:24px;border-radius:16px;max-width:640px;color:var(--sota33-ink);}
body[data-analytics-wave] :is(.lab-dialog,.sota-modal-panel){background:var(--sota33-popover-select,var(--sota33-surface-solid));color:var(--sota33-ink);font:300 15px/1.5 var(--sota33-font);}
body[data-analytics-wave] .lab-dialog{padding:0 24px 0;scroll-padding-block:100px;isolation:isolate;}
body[data-analytics-wave] .lab-dialog form>header{position:sticky;top:0;z-index:2;align-items:center;margin:0 -24px 20px;padding:18px 24px;background:var(--sota33-surface-solid);border-bottom:1px solid var(--sota33-border);}
body[data-analytics-wave] .lab-dialog form>header h2{font-size:22px;line-height:1.35;margin:0;overflow-wrap:anywhere;}
body[data-analytics-wave] .lab-dialog form>footer{position:sticky;bottom:0;z-index:2;margin:20px -24px 0;padding:16px 24px;background:var(--sota33-surface-solid);border-top:1px solid var(--sota33-border);display:flex;flex-wrap:wrap;}
body[data-analytics-wave] .lab-dialog :is(input:not([type=checkbox]):not([type=radio]),select,textarea,button){font:300 14px/1.5 var(--sota33-font);min-height:44px;border:1px solid var(--sota33-border-strong);border-radius:12px;padding:9px 12px;color:var(--sota33-ink);background:var(--sota33-glass-raised);max-width:100%;}
body[data-analytics-wave] .lab-dialog button.sota33-button-primary{background:var(--sota33-primary);color:var(--sota33-on-primary);}
body[data-analytics-wave] .lab-dialog :is(button,input,select,textarea,summary):focus-visible{outline:3px solid var(--sota33-focus);outline-offset:3px;}
body[data-analytics-wave] .lab-dialog :is(p,label,legend,summary){color:var(--sota33-text);font-size:14px;}
body[data-analytics-wave] .lab-dialog :is([hidden],label[hidden]){display:none!important;}
body[data-analytics-wave] .lab-dialog .lab-metric-choice{max-height:320px;overflow:auto;scrollbar-width:thin;padding:6px;}
body[data-analytics-wave] .lab-dialog .ana-metric-search{width:100%;margin:8px 0;}
body[data-analytics-wave] .lab-dialog :is([role=alert],.custom-period-error){color:var(--sota33-ink);}
body[data-analytics-wave] .lab-dialog [role=alert]:not(:empty){padding:12px;border-left:4px solid var(--sota33-danger);background:color-mix(in srgb,var(--sota33-danger) 12%,var(--sota33-surface-solid));}
body[data-analytics-wave] main :is(.lab-context,.lab-demo,.lab-kpis span,.lab-widget details,.lab-table-scroll table,.ana-snapshot-note,.ana-data-meta,.uw-table-scroll table,.uw-badge,.uw-source-note p,.uw-card p,.uw-card figcaption){font-size:14px;line-height:1.5;}
body[data-analytics-wave] main :is(.lab-widget,.custom-module,.ana-data-card,.uw-card)>header{align-items:center;flex-wrap:wrap;}
body[data-analytics-wave] main :is(.lab-widget,.custom-module)>header button{flex:0 0 auto;}
body[data-analytics-wave] main .lab-widget-body{min-width:0;max-width:100%;}
body[data-analytics-wave] main .custom-period{display:grid;gap:8px;padding:8px;min-height:60px;grid-template-columns:auto minmax(0,1fr);}
body[data-analytics-wave] main .custom-period h2{font-size:14px;display:flex;gap:6px;align-items:center;white-space:nowrap;margin:0;}
body[data-analytics-wave] main .custom-period .overview-day-count{font-size:13px;white-space:nowrap;margin:0;padding:0;}
body[data-analytics-wave] main .custom-period-picker .date-range-trigger{font-size:14px;height:44px;min-height:44px;padding:8px;white-space:nowrap;}
body[data-analytics-wave] main .custom-period-picker .date-range-trigger>span{min-width:0;}
body[data-analytics-wave] main .custom-period-picker .date-range-trigger svg{display:none;}
body[data-analytics-wave] main .custom-period-picker .date-range-field{min-width:0;}
body[data-analytics-wave] main .lab-period-field>span{font-size:14px;}
body[data-analytics-wave] main #lab-period-picker .date-range-trigger{font-size:14px;}
body[data-analytics-wave] main .ana-freshness-lines{display:grid;gap:6px;}
body[data-analytics-wave] main .ana-data-provider{display:grid;gap:8px;overflow-wrap:anywhere;}
body[data-analytics-wave] main .ana-data-provider code{font-size:13px;}
body[data-analytics-wave] main .ana-data-card pre{font:300 13px/1.5 var(--sota33-font);white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;}
body[data-analytics-wave] main .ana-data-meta>div{min-width:0;}
body[data-analytics-wave] main .ana-readable-sheet{max-height:65vh;background:var(--sota33-surface-solid);}
body[data-analytics-wave] main .ana-readable-sheet table{width:max-content;min-width:100%;font-size:14px;}
body[data-analytics-wave] main .ana-readable-sheet th{white-space:normal;min-width:145px;max-width:180px;}
body[data-analytics-wave] main .ana-readable-sheet :is(th,td){padding:12px;}
body[data-analytics-wave] main .ana-readable-sheet thead th{position:sticky;top:0;z-index:2;background:var(--sota33-surface-solid);border-bottom:2px solid var(--sota33-border-strong);}
body[data-analytics-wave] main .ana-readable-sheet tr>th:first-child{position:sticky;left:0;z-index:1;background:var(--sota33-surface-solid);}
body[data-analytics-wave] main .ana-readable-sheet thead th:first-child{z-index:3;}
body[data-analytics-wave] main .ana-readable-total :is(th,td){border-top:2px solid var(--sota33-border-strong);background:var(--sota33-primary-soft);}
body[data-analytics-wave] main .uw-tabs{flex-wrap:nowrap;overflow:auto;scrollbar-width:thin;overscroll-behavior-inline:contain;max-width:100%;}
body[data-analytics-wave] main .uw-tabs button{flex:0 0 auto;white-space:nowrap;}
body[data-analytics-wave] main .uw-tabs button[aria-selected="true"]{background:var(--sota33-glass-raised);color:var(--sota33-ink);border-color:var(--sota33-border-strong);box-shadow:inset 0 -3px var(--sota33-primary);}
body[data-analytics-wave] main .uw-source-note{margin-block:16px;}
body[data-analytics-wave] main .uw-period-modes label{display:flex;align-items:center;gap:8px;min-height:44px;}
body[data-analytics-wave] main .uw-period-modes input[type=radio]{position:absolute!important;opacity:0;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;clip-path:inset(50%);padding:0!important;}
body[data-analytics-wave] :is(.uw-period-modes,.lab-dialog) label:has(input:focus-visible) .ana-hex-mark{outline:3px solid var(--sota33-focus);outline-offset:3px;}
body[data-analytics-wave] main .uw-reference-scroll{scrollbar-width:thin;overscroll-behavior-inline:contain;max-width:100%;}
body[data-analytics-wave] main :is(.ana-data-card[data-source-tone=error],.uw-state[data-window-state=error],.lab-state[data-widget-state=error]){background:color-mix(in srgb,var(--sota33-danger) 9%,var(--sota33-surface-solid));color:var(--sota33-ink);border-left:4px solid var(--sota33-danger);}
body[data-analytics-wave] main :is([data-source-tone=error],[data-widget-state=error],[data-window-state=error]) :is(p,strong,h2){color:var(--sota33-ink);}
body[data-analytics-wave] main [data-source-tone=error] .uw-badge{color:var(--sota33-ink);background:color-mix(in srgb,var(--sota33-danger) 16%,var(--sota33-surface-solid));}
/* Shared list anatomy, owned portal. OS select stays in forms as value/validation fallback. */
body[data-analytics-wave] .ana-select{display:inline-grid;position:relative;min-width:0;width:100%;max-width:100%;font:300 14px/1.5 var(--sota33-font);}
body[data-analytics-wave] .ana-native-select{position:absolute!important;inset:0;opacity:0;pointer-events:none;width:1px!important;height:1px!important;min-height:0!important;min-width:0!important;padding:0!important;clip-path:inset(50%);}
body[data-analytics-wave] .ana-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;min-height:44px;font:300 14px/1.5 var(--sota33-font);border:1px solid var(--sota33-border-strong);border-radius:12px;background:var(--sota33-glass-raised);color:var(--sota33-ink);padding:9px 12px;}
body[data-analytics-wave] .ana-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
body[data-analytics-wave] .ana-select-trigger:focus-visible{outline:3px solid var(--sota33-focus);outline-offset:3px;}
body[data-analytics-wave] .ana-select-trigger:disabled{opacity:.55;cursor:not-allowed;}
body[data-analytics-wave] .ana-select-popup{position:fixed;inset:auto;margin:0;z-index:1900;box-sizing:border-box;max-width:calc(100vw - 24px);max-height:320px;overflow:auto;padding:6px;border:1px solid var(--sota33-border-strong);border-radius:14px;background:var(--sota33-popover-select,var(--sota33-surface-solid));backdrop-filter:blur(22px) saturate(130%);box-shadow:var(--sota33-raised-shadow);color:var(--sota33-ink);font:300 14px/1.5 var(--sota33-font);}
body[data-analytics-wave] .ana-select-popup [role=option]{display:flex;gap:10px;align-items:center;min-height:44px;padding:10px;border-radius:10px;cursor:pointer;}
body[data-analytics-wave] .ana-select-popup [aria-selected=true]{color:var(--sota33-primary);background:var(--sota33-primary-soft);}
body[data-analytics-wave] .ana-select-popup [role=option]:is(:hover,.is-highlighted){outline:2px solid var(--sota33-focus);outline-offset:-2px;background:var(--sota33-glass-raised);}
body[data-analytics-wave] .ana-select-popup [aria-disabled=true]{opacity:.5;cursor:not-allowed;}
body[data-analytics-wave] .ana-select-popup .ana-hex-mark{flex:none;width:18px;height:20px;background:var(--sota33-border-strong);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);}
body[data-analytics-wave] .ana-select-popup [aria-selected=true] .ana-hex-mark{background:var(--sota33-primary);}
@media(max-width:1000px) and (min-width:601px){body[data-analytics-wave] main .custom-period{grid-template-columns:auto minmax(0,1fr);gap:4px;}body[data-analytics-wave] main .custom-period h2{font-size:13px;}body[data-analytics-wave] main .custom-period-picker .date-range-trigger{font-size:13px;}}
@media(max-width:600px){body[data-analytics-wave] main :is(.lab-widget,.custom-module,.uw-card,.ana-data-card){padding:16px;}body[data-analytics-wave] .lab-dialog{padding-inline:16px;}body[data-analytics-wave] .lab-dialog form>:is(header,footer){margin-inline:-16px;padding-inline:16px;}body[data-analytics-wave] main .custom-period{grid-template-columns:auto minmax(0,1fr);gap:6px;}body[data-analytics-wave] main .custom-period-picker .date-range-trigger{font-size:13px;padding:8px 4px;}body[data-analytics-wave] main .custom-period h2{font-size:13px;gap:4px;}body[data-analytics-wave] main .custom-period .overview-day-count{font-size:12px;}body[data-analytics-wave] .ana-select-popup{max-height:45dvh;}}
@media(max-width:360px){body[data-analytics-wave] main .custom-period{grid-template-columns:minmax(0,1fr);}body[data-analytics-wave] main .custom-period h2{justify-content:space-between;}}
@media(prefers-reduced-motion:reduce){body[data-analytics-wave] .ana-boot-state img{display:none;}}

body[data-analytics-wave] main #uw-period-picker{grid-column:1/-1;}
body[data-analytics-wave] main #uw-range-fields:has(.date-range-trigger)>label{display:none;}
body[data-analytics-wave] main .custom-period .overview-native summary{font-size:14px;}
body[data-analytics-wave] main .overview-options{background:var(--sota33-popover-select);backdrop-filter:blur(22px) saturate(140%);}
body[data-analytics-wave] main .uw-provenance summary{min-height:44px;padding:8px 0;font-size:14px;}

body[data-analytics-wave] main .custom-module-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--sota33-border);margin-top:16px;padding-top:12px;}
@media(prefers-reduced-transparency:reduce){body[data-analytics-wave] :is(.ana-select-popup,.lab-dialog,.custom-sticky-controls,.overview-options){background:var(--sota33-surface-solid);backdrop-filter:none;}}

body[data-analytics-wave] .ana-boot-state button{background:var(--sota33-primary);color:var(--sota33-on-primary);border:1px solid var(--sota33-border-strong);border-radius:12px;min-height:44px;font:300 14px var(--sota33-font);padding:10px 14px;}
