:root{--bg: #090f1f;--surface: #10182b;--surface-strong: #151f36;--surface-soft: #1d2b47;--border: #2a3f67;--text: #f4f8fb;--muted: #aab8ca;--subtle: #7f8da1;--accent: #19c9ec;--accent-strong: #53d7f2;--brand-blue: #3774f0;--brand-indigo: #2a287e;--brand-violet: #3b2a8d;--silver: #b8c0ca;--shadow: 0 24px 80px rgba(4, 8, 22, .42)}*{box-sizing:border-box}html{min-height:100%;background:var(--bg);scrollbar-color:var(--brand-blue) rgba(16,24,43,.88);scrollbar-width:thin}body{min-height:100%;margin:0;overflow-x:hidden;color:var(--text);font-family:Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:400;line-height:1.5;background:var(--bg)}html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{width:11px;height:11px}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track,*::-webkit-scrollbar-track{background:linear-gradient(180deg,#090f1ffa,#10182bf0);border-left:1px solid rgba(83,215,242,.12)}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,*::-webkit-scrollbar-thumb{border:3px solid rgba(10,17,33,.96);border-radius:999px;background:linear-gradient(180deg,var(--accent-strong),var(--brand-blue))}html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover,*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--accent),var(--brand-blue))}app-root{display:block}button{border:0;font:inherit}.app-shell{width:100%;min-height:100vh;margin:0;padding:10px 24px 12px;color:var(--text);background:radial-gradient(circle at top left,rgba(25,201,236,.16),transparent 34rem),linear-gradient(135deg,#090f1f,#11172d 42%,#080d1a)}.app-shell.light-theme{--bg: #f5f8fc;--surface: #ffffff;--surface-strong: #edf3fa;--surface-soft: #e4edf7;--border: #c8d6e8;--text: #10182b;--muted: #536379;--subtle: #6f7f93;--accent: #05bfe2;--accent-strong: #13aacf;--brand-blue: #2f6ff0;--brand-indigo: #2a287e;--brand-violet: #3b2a8d;--silver: #68768a;--shadow: 0 18px 48px rgba(26, 45, 78, .14);background:radial-gradient(circle at top left,rgba(25,201,236,.18),transparent 34rem),linear-gradient(135deg,#f7fbff,#edf4fb 48%,#f4f7fb)}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,480px);gap:16px;align-items:stretch;margin-bottom:10px}.hero>div:first-child,.status-panel,.content-stage{border:1px solid rgba(159,176,191,.16);background:#10182be6;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero>div:first-child{position:relative;display:flex;flex-direction:column;padding:18px 24px;border-radius:8px;overflow:hidden}.hero-sparkline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.sparkline-fill{fill:url(#sparkGrad)}.sparkline-line{fill:none;stroke:#53d7f2;stroke-width:2.5;stroke-opacity:.38;stroke-linecap:round;stroke-linejoin:round}.title-row{display:flex;align-items:center;gap:22px;min-width:0;margin-bottom:10px}.brand-lockup{display:inline-flex;flex:0 0 auto;align-items:center;gap:10px}.brand-mark{position:relative;display:block;width:42px;height:42px}.brand-ring,.brand-link{position:absolute;inset:8px;border-radius:10px;transform:rotate(45deg)}.brand-ring-blue{border:6px solid transparent;border-top-color:var(--brand-blue);border-left-color:var(--brand-blue);filter:drop-shadow(0 6px 14px rgba(55,116,240,.28))}.brand-ring-indigo{border:6px solid transparent;border-right-color:var(--brand-indigo);border-bottom-color:var(--brand-violet);filter:drop-shadow(0 6px 14px rgba(42,40,126,.28))}.brand-link{inset:13px 10px;border:6px solid var(--accent);border-left-color:transparent;border-right-color:transparent;border-radius:12px;transform:rotate(45deg)}.brand-text{display:grid;gap:1px;line-height:1}.brand-by{color:var(--silver);font-size:.54rem;font-weight:500;text-transform:uppercase}.brand-text strong{color:var(--silver);font-size:.95rem;font-weight:600;letter-spacing:0}.brand-text strong span{color:var(--accent)}.brand-text small{justify-self:end;color:var(--silver);font-size:.45rem;font-weight:500;letter-spacing:0}.eyebrow{margin:0 0 8px;color:var(--accent-strong);font-size:.78rem;font-weight:500;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{min-width:0;max-width:none;margin-bottom:0;font-size:clamp(1.55rem,2.2vw,2.35rem);font-weight:600;line-height:1.08;letter-spacing:0}h2{margin-bottom:0;font-size:clamp(1.55rem,2.2vw,2.25rem);font-weight:500;line-height:1.12;letter-spacing:0}h3{margin-bottom:0;font-size:1rem;font-weight:500;letter-spacing:0}.hero-copy{max-width:980px;margin-bottom:0;color:var(--muted);font-size:.98rem}.status-panel{display:flex;min-height:100%;flex-direction:column;justify-content:flex-end;padding:16px 18px;border-radius:8px;color:var(--muted)}.status-panel strong{display:block;margin:8px 0 4px;color:var(--text);font-size:1.2rem;font-weight:600;line-height:1.2}.status-label{color:var(--accent-strong);font-size:.78rem;font-weight:500;text-transform:uppercase}.theme-control{display:flex;gap:12px;align-items:center;justify-content:space-between}.theme-button{display:grid;width:38px;height:38px;place-items:center;padding:0;border-radius:50%;color:var(--text);background:#19c9ec1f;border:1px solid rgba(83,215,242,.24);cursor:pointer;font-weight:500}.theme-button:hover{background:#3774f033;border-color:#53d7f266}.theme-button:focus-visible{outline:3px solid rgba(83,215,242,.42);outline-offset:3px}.theme-icon{position:relative;display:block;width:18px;height:18px}.theme-icon-sun{border:2px solid var(--accent-strong);border-radius:50%;box-shadow:0 -8px 0 -6px var(--accent-strong),0 8px 0 -6px var(--accent-strong),8px 0 0 -6px var(--accent-strong),-8px 0 0 -6px var(--accent-strong),6px 6px 0 -6px var(--accent-strong),-6px -6px 0 -6px var(--accent-strong),6px -6px 0 -6px var(--accent-strong),-6px 6px 0 -6px var(--accent-strong)}.theme-icon-moon{border-radius:50%;background:var(--accent-strong)}.theme-icon-moon:after{content:"";position:absolute;top:-1px;right:-1px;width:17px;height:17px;border-radius:50%;background:var(--surface)}.date-presets{display:flex;gap:8px;margin-top:10px}.preset-button{flex:1;min-height:32px;padding:5px 10px;border-radius:7px;color:var(--accent-strong);background:#19c9ec14;border:1px solid rgba(83,215,242,.22);cursor:pointer;font-size:.82rem;font-weight:500;white-space:nowrap;transition:background .16s ease,border-color .16s ease,color .16s ease}.preset-button:hover{background:#19c9ec29;border-color:#53d7f26b}.preset-button:disabled{color:var(--subtle);background:#7486971a;border-color:transparent;cursor:wait}.date-range-control{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:10px}.date-range-control label{display:grid;gap:5px;min-width:0}.date-range-control label span{color:var(--subtle);font-size:.72rem;font-weight:500;text-transform:uppercase}.date-range-control input{width:100%;min-height:38px;padding:8px 10px;border-radius:7px;color:var(--text);background:#1d2b47bd;border:1px solid rgba(83,215,242,.16);color-scheme:dark}.date-range-control input:focus{outline:3px solid rgba(83,215,242,.26);outline-offset:2px}.analyse-button{min-height:38px;padding:8px 14px;border-radius:7px;color:#07101d;background:linear-gradient(135deg,var(--accent-strong),var(--brand-blue));cursor:pointer;font-weight:500;white-space:nowrap}.analyse-button:hover{filter:brightness(1.06)}.analyse-button:disabled{color:var(--subtle);background:#74869738;cursor:wait}.analysis-status{display:block;margin-top:10px}.analysis-error{display:block;margin-top:6px;color:#ffb3b3;font-size:.86rem}.section-nav{display:flex;gap:4px;margin-top:auto;padding-top:12px;border-top:1px solid rgba(159,176,191,.16);overflow-x:auto;scrollbar-width:none}.section-nav::-webkit-scrollbar{display:none}.section-tab{flex:0 0 auto;min-height:38px;padding:8px 18px;border-radius:6px;color:var(--muted);background:transparent;border:1px solid transparent;cursor:pointer;font-size:.9rem;font-weight:500;white-space:nowrap;transition:color .16s ease,background .16s ease,border-color .16s ease}.section-tab:hover{color:var(--text);background:#2a287e5c;border-color:#53d7f238}.section-tab.active{color:#07101d;background:linear-gradient(135deg,var(--accent-strong),var(--brand-blue));border-color:transparent}.nav-end-spacer{flex:1}.download-report-btn{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;min-height:38px;padding:8px 16px;border-radius:6px;color:#07101d;background:linear-gradient(135deg,var(--accent-strong),var(--brand-blue));border:none;cursor:pointer;font-size:.88rem;font-weight:600;white-space:nowrap;transition:filter .16s ease,opacity .16s ease}.download-report-btn:hover{filter:brightness(1.08)}.download-report-btn:disabled{opacity:.7;cursor:wait}.download-report-btn:focus-visible{outline:3px solid rgba(83,215,242,.42);outline-offset:2px}@keyframes spinIcon{to{transform:rotate(360deg)}}.spin-icon{animation:spinIcon .9s linear infinite}.app-shell.light-theme .download-report-btn{color:#fff}.section-tab:focus-visible{outline:3px solid rgba(83,215,242,.42);outline-offset:2px}.floating-action-zone{position:fixed;right:24px;bottom:24px;z-index:45;display:grid;gap:12px;justify-items:end;pointer-events:none}.floating-menu-panel,.floating-icon-dock{pointer-events:auto}.floating-menu-panel{width:min(440px,calc(100vw - 48px));padding:14px;border:1px solid rgba(83,215,242,.18);border-radius:8px;color:var(--text);background:#10182beb;box-shadow:0 18px 56px #0408166b;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:floatingPanelIn .16s ease}.floating-control-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.floating-close-button{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:var(--muted);background:#53d7f21a;border:1px solid rgba(83,215,242,.16);cursor:pointer;font-size:1.1rem;line-height:1}.floating-close-button:hover{color:var(--text);background:#53d7f229}.floating-range-label{display:block;margin-top:4px;color:var(--muted);font-size:.88rem}.floating-section-list{display:grid;gap:8px;margin-top:12px}.floating-section-button{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;align-items:center;min-height:42px;padding:10px 12px;border-radius:7px;color:var(--muted);background:#1d2b47bd;border:1px solid rgba(83,215,242,.14);cursor:pointer;font-weight:500;transition:background .16s ease,color .16s ease,transform .16s ease,border-color .16s ease}.floating-section-button:hover{color:var(--text);background:#2a287e85;border-color:#53d7f25c}.floating-section-button:focus-visible,.floating-icon-button:focus-visible,.floating-close-button:focus-visible{outline:3px solid rgba(143,199,192,.5);outline-offset:3px}.floating-section-button.active{color:#07101d;background:linear-gradient(135deg,var(--accent-strong),var(--brand-blue));border-color:transparent;transform:translateY(-1px)}.section-dot{display:block;width:9px;height:9px;border-radius:50%;background:currentColor}.floating-icon-dock{display:grid;gap:8px;padding:8px;border:1px solid rgba(83,215,242,.38);border-radius:999px;background:linear-gradient(180deg,#19c9ec24,#3774f01f),#10182bf5;box-shadow:0 18px 56px #04081680,0 0 0 1px #53d7f214,0 0 32px #19c9ec24;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.floating-dock-label{display:none}.floating-icon-button{display:grid;position:relative;width:46px;height:46px;place-items:center;padding:0;border-radius:50%;color:var(--muted);background:#1d2b47db;border:1px solid rgba(83,215,242,.22);cursor:pointer}.floating-icon-button:hover,.floating-icon-button.active{color:#07101d;background:linear-gradient(135deg,var(--accent-strong),var(--brand-blue));border-color:transparent}.dock-icon{position:relative;display:block;width:19px;height:19px}.dock-tooltip{position:absolute;right:calc(100% + 10px);top:50%;padding:7px 9px;border-radius:7px;color:#f4f8fb;background:#10182bf5;border:1px solid rgba(83,215,242,.22);box-shadow:0 12px 32px #04081652;font-size:.78rem;font-weight:600;opacity:0;pointer-events:none;transform:translate(6px,-50%);transition:opacity .14s ease,transform .14s ease;white-space:nowrap}.floating-icon-button:hover .dock-tooltip,.floating-icon-button:focus-visible .dock-tooltip{opacity:1;transform:translateY(-50%)}.dock-icon-grid{background:linear-gradient(currentColor 0 0) left top / 7px 7px no-repeat,linear-gradient(currentColor 0 0) right top / 7px 7px no-repeat,linear-gradient(currentColor 0 0) left bottom / 7px 7px no-repeat,linear-gradient(currentColor 0 0) right bottom / 7px 7px no-repeat}.dock-icon-calendar{border:2px solid currentColor;border-radius:4px}.dock-icon-calendar:before{content:"";position:absolute;left:3px;right:3px;top:5px;height:2px;background:currentColor}.dock-icon-calendar:after{content:"";position:absolute;top:-4px;left:4px;width:7px;height:5px;border-left:2px solid currentColor;border-right:2px solid currentColor}@keyframes floatingPanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.content-stage{min-height:0;padding:18px 22px;border-radius:8px}.analysis-loader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;padding:24px}.loader-backdrop{position:fixed;inset:0;width:100vw;height:100vh;background:radial-gradient(circle at 18% 12%,rgba(25,201,236,.18),transparent 32rem),radial-gradient(circle at 82% 70%,rgba(55,116,240,.18),transparent 34rem),#090f1fa3;backdrop-filter:blur(12px) saturate(.82);-webkit-backdrop-filter:blur(12px) saturate(.82)}.app-shell.light-theme .loader-backdrop{background:radial-gradient(circle at 18% 12%,rgba(25,201,236,.16),transparent 32rem),radial-gradient(circle at 82% 70%,rgba(47,111,240,.16),transparent 34rem),#edf4fbb3}.app-shell.light-theme .loader-card{color:#162236;background:#fff;border-color:transparent;box-shadow:0 22px 64px #1e2a3a52}.app-shell.light-theme .loader-card p{color:#536379}.app-shell.light-theme .loader-step{color:#8290a3}.app-shell.light-theme .loader-step.active{color:#162236}.app-shell.light-theme .loader-step.complete{color:#0f9f7d;font-weight:600}.app-shell.light-theme .step-indicator{border-color:#c8d6e8}.loader-card{position:relative;z-index:1;display:grid;width:min(420px,100%);justify-items:center;align-content:center;padding:30px 36px;border-radius:8px;color:var(--text);background:#10182bf5;border:1px solid rgba(83,215,242,.18);box-shadow:0 22px 64px #0408166b;text-align:center}.loader-card h2,.empty-analysis h2{margin-bottom:10px}.loader-card p,.empty-analysis p:last-child{margin-bottom:0;color:var(--muted)}.loader-orbit{position:relative;width:92px;height:92px;margin-bottom:20px;border-radius:50%;background:radial-gradient(circle,rgba(83,215,242,.16) 0 28%,transparent 30%),linear-gradient(135deg,#53d7f21f,#3774f014);border:1px solid rgba(83,215,242,.2)}.loader-orbit:before,.loader-orbit:after{content:"";position:absolute;inset:12px;border-radius:50%;border:3px solid transparent;border-top-color:var(--brand-blue);border-right-color:var(--accent-strong);animation:analysisSpin 1.2s linear infinite}.loader-orbit:after{inset:26px;border-top-color:#53d7f25c;border-right-color:var(--brand-blue);animation-duration:.85s;animation-direction:reverse}.loader-orbit span{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--accent-strong);box-shadow:0 0 18px #53d7f2ad;animation:analysisPulse 1.3s ease-in-out infinite}.loader-orbit span:nth-child(1){top:15px;left:50%}.loader-orbit span:nth-child(2){right:17px;bottom:24px;animation-delay:.16s}.loader-orbit span:nth-child(3){bottom:24px;left:17px;animation-delay:.32s}.loader-steps{display:grid;width:100%;gap:12px;margin-top:26px;text-align:left}.loader-step{display:grid;grid-template-columns:22px minmax(0,1fr);gap:11px;align-items:center;color:var(--subtle);font-size:.92rem}.loader-step.active{color:var(--text);font-weight:600}.loader-step.complete{color:#23c99c;font-weight:600}.step-indicator{position:relative;display:block;width:17px;height:17px;border:2px solid rgba(170,184,202,.52);border-radius:50%}.loader-step.active .step-indicator{border-color:var(--brand-blue);box-shadow:0 0 0 6px #3774f01f}.loader-step.complete .step-indicator{border-color:#18b994;background:#18b994;box-shadow:0 0 0 6px #18b9941f}.loader-step.complete .step-indicator:after{content:"";position:absolute;left:4px;top:2px;width:5px;height:8px;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg)}.empty-analysis{display:grid;min-height:calc(100vh - 300px);max-width:560px;margin:0 auto;place-items:center;text-align:center}@keyframes analysisSpin{to{transform:rotate(360deg)}}@keyframes analysisPulse{0%,to{opacity:.42;transform:scale(.82)}50%{opacity:1;transform:scale(1.08)}}.content-section{animation:sectionIn .22s ease}@keyframes sectionIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:18px;align-items:end;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(159,176,191,.16)}.section-heading p:last-child{margin-bottom:0;color:var(--muted)}.metric-grid,.comparison-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.metric-card,.panel,.comparison-card,.driver-card{border:1px solid rgba(159,176,191,.16);border-radius:8px;background:#151f36d1}.metric-card,.comparison-card{display:flex;min-height:118px;flex-direction:column;align-items:center;justify-content:center;padding:14px 16px;text-align:center}.metric-split{display:flex;align-items:center;gap:0;width:100%;margin:10px 0 8px}.metric-cohort{display:flex;flex:1;flex-direction:column;align-items:center;gap:4px}.cohort-tag{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.refresh-tag{color:var(--accent-strong)}.non-refresh-tag{color:var(--subtle)}.cohort-divider{width:1px;height:44px;flex-shrink:0;background:#9fb0bf33}.metric-cohort strong{display:block;color:var(--text);font-size:clamp(1.3rem,1.8vw,2rem);font-weight:600;line-height:1.08}.comparison-card strong{display:block;margin:8px 0 7px;color:var(--text);font-size:clamp(1.8rem,2.6vw,2.8rem);font-weight:600;line-height:1.04}.metric-label,.comparison-label,.driver-label{display:block;color:var(--muted);font-size:.82rem;font-weight:500;text-transform:uppercase}.metric-note,.comparison-card span:last-child{color:var(--subtle);font-size:.92rem}.cohort-header-row,.cohort-split-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.cohort-col-badge{display:flex;align-items:center;gap:8px;padding:7px 14px;border-radius:6px;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.cohort-col-badge:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.refresh-col-badge{color:var(--accent);background:#19c9ec14;border:1px solid rgba(25,201,236,.22)}.refresh-col-badge:before{background:var(--accent)}.non-refresh-col-badge{color:var(--subtle);background:#7f8da114;border:1px solid rgba(127,141,161,.22)}.non-refresh-col-badge:before{background:var(--subtle)}.driver-grid-stacked{grid-template-columns:1fr!important}.cohort-split-row .spend-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.inpanel-cohort{display:flex;flex-direction:column;gap:8px;padding:10px 0}.inpanel-cohort:first-child{padding-top:4px}.inpanel-cohort-label{font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.refresh-inpanel{color:var(--accent)}.non-refresh-inpanel{color:var(--subtle)}.inpanel-divider{height:1px;background:#9fb0bf24;margin:2px 0}.cash-metric-pair{display:flex;flex-direction:column;gap:12px}.two-column,.three-column,.driver-grid{display:grid;gap:14px;margin-top:14px}.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.driver-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:16px}.panel-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}.pill{flex:0 0 auto;padding:5px 9px;border-radius:999px;color:var(--accent-strong);background:#19c9ec1c;border:1px solid rgba(25,201,236,.2);font-size:.75rem;font-weight:500}.split-meter{display:flex;height:54px;overflow:hidden;border-radius:7px;background:var(--surface-soft);border:1px solid rgba(159,176,191,.12)}.meter-segment{display:grid;min-width:0;place-items:center;color:#fff;font-size:.9rem;font-weight:500}.meter-segment span{overflow:hidden;max-width:100%;padding:0 8px;text-overflow:ellipsis;white-space:nowrap}.meter-segment.repeat{background:linear-gradient(135deg,var(--accent-strong),var(--brand-blue))}.meter-segment.onetime{background:linear-gradient(135deg,var(--brand-violet),var(--brand-indigo))}.panel-copy{margin:10px 0 0;color:var(--muted)}.feature-note{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border);font-size:.82rem;color:var(--muted)}.feature-note.standalone{margin-top:20px;padding:14px 16px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.feature-badge{flex-shrink:0;padding:3px 8px;border-radius:20px;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.feature-badge.partial{background:#fb923c24;color:#f97316;border:1px solid rgba(251,146,60,.28)}.feature-badge.unavailable{background:#94a3b81a;color:var(--muted);border:1px solid var(--border)}.pending-panel{border:1.5px dashed var(--border);border-radius:10px;padding:28px 24px;display:flex;flex-direction:column;gap:14px;background:var(--surface)}.pending-panel.large{padding:36px 32px}.pending-description{margin:0;font-size:.88rem;color:var(--muted);line-height:1.6}.pending-description code{font-family:Consolas,Courier New,monospace;font-size:.82em;padding:1px 5px;border-radius:4px;background:var(--surface-soft);border:1px solid var(--border)}.pending-checklist{margin:0;padding:0 0 0 18px;display:grid;gap:8px;font-size:.86rem;color:var(--muted)}.pending-checklist li strong{color:var(--text)}.mobility-stats{display:grid;gap:10px;margin-top:4px}.mobility-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:.88rem}.mobility-row:last-child{border-bottom:none}.retention-list{display:grid;gap:0}.retention-row{display:grid;grid-template-columns:80px 1fr 1fr 100px;gap:12px;padding:9px 0;border-bottom:1px solid var(--border);font-size:.84rem;align-items:center}.retention-row.header-row{font-size:.74rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.retention-row:last-child{border-bottom:none}.concentration-list,.benchmark-list{display:grid;gap:12px}.concentration-row,.benchmark-row{display:grid;gap:12px;align-items:center}.concentration-row{grid-template-columns:120px minmax(0,1fr) 48px}.bar-track{display:block;height:10px;overflow:hidden;border-radius:999px;background:#7486973d}.bar-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-strong),var(--brand-blue))}.bar-fill.transaction{background:linear-gradient(90deg,var(--accent-strong),var(--brand-blue))}.bar-fill.customer{background:linear-gradient(90deg,var(--brand-blue),var(--brand-indigo))}.trend-list{display:grid;gap:11px}.trend-row{display:grid;grid-template-columns:78px minmax(0,1fr);gap:16px;align-items:center}.month-label{color:var(--text);font-weight:500}.trend-bars{display:grid;gap:8px}.trend-line{display:grid;grid-template-columns:104px minmax(0,1fr) 68px;gap:12px;align-items:center}.line-label{color:var(--muted);font-size:.86rem}.spend-panel{margin-top:14px}.spend-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px}.spend-card{display:grid;min-height:158px;gap:6px;justify-items:center;padding:14px;border-radius:8px;background:#1d2b47b3;border:1px solid rgba(159,176,191,.12);text-align:center}.spend-card span{color:var(--muted);font-weight:500}.spend-card strong{font-size:1.28rem;font-weight:500}.spend-card em{color:var(--subtle);font-size:.86rem;font-style:normal}.mini-meter{display:flex;height:70px;align-items:end;gap:8px;margin-top:8px}.mini-meter span{display:block;width:22px;min-height:12px;border-radius:5px 5px 0 0}.mini-meter .average{background:linear-gradient(180deg,var(--accent-strong),var(--brand-blue))}.mini-meter .median{background:linear-gradient(180deg,var(--brand-blue),var(--brand-indigo))}.rank-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.rank-list li{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:7px;background:#1d2b479e;color:var(--muted)}.rank-list strong{color:var(--text);font-weight:500}.compact-table{display:grid;gap:8px}.compact-table-body{max-height:280px;overflow-y:auto;display:grid;gap:8px;scrollbar-width:thin;scrollbar-color:var(--brand-blue) transparent}.table-row{display:grid;grid-template-columns:1.2fr 1fr .9fr;gap:10px;align-items:center;padding:11px 12px;border-radius:7px;color:var(--muted);background:#1d2b4794}.table-head{color:var(--text);background:#2a287e6b;font-size:.82rem;font-weight:500;text-transform:uppercase}.table-row strong{color:var(--text);font-weight:500}.weekday-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.weekday-card{min-height:112px;padding:12px;border-radius:8px;background:#1d2b479e}.weekday-card span,.weekday-card small{display:block;color:var(--muted)}.weekday-card strong{display:block;margin:8px 0;color:var(--text);font-size:1.4rem;font-weight:500}.driver-card{display:flex;min-height:160px;flex-direction:column;align-items:center;justify-content:center;padding:22px;text-align:center}.driver-card strong{display:block;margin:10px 0 8px;font-size:2.5rem;font-weight:600;line-height:1}.driver-card p{margin-bottom:0;color:var(--muted)}.driver-card.new-customers{border-color:#53d7f252}.driver-card.frequency{border-color:#3774f057}.comparison-grid{grid-template-columns:repeat(3,minmax(260px,1fr));margin-bottom:14px}.benchmark-row{grid-template-columns:minmax(0,1fr) auto;padding:12px;border-radius:7px;background:#1d2b4794}.benchmark-row small{grid-column:1 / -1;color:var(--subtle)}.benchmark-row strong{color:var(--accent-strong);font-weight:500}.app-shell.light-theme .hero>div:first-child,.app-shell.light-theme .status-panel,.app-shell.light-theme .content-stage{border-color:#2f6ff024;background:#ffffffe0}.app-shell.light-theme .floating-section-button{color:var(--muted);background:#e4edf7eb;border-color:#2f6ff01f}.app-shell.light-theme .floating-section-button:hover{color:var(--text);background:#2f6ff01a;border-color:#13aacf57}.app-shell.light-theme .floating-section-button.active{color:#fff;background:linear-gradient(135deg,var(--accent-strong),var(--brand-blue))}.app-shell.light-theme .metric-card,.app-shell.light-theme .panel,.app-shell.light-theme .comparison-card,.app-shell.light-theme .driver-card{border-color:#2f6ff024;background:#ffffffd1}.app-shell.light-theme .theme-button{color:var(--text);background:#05bfe21f;border-color:#13aacf47}.app-shell.light-theme .theme-button:hover{background:#2f6ff01f}.app-shell.light-theme .preset-button{color:var(--accent-strong);background:#05bfe214;border-color:#13aacf47}.app-shell.light-theme .preset-button:hover{background:#2f6ff01a;border-color:#13aacf70}.app-shell.light-theme .date-range-control input{color:var(--text);background:#e4edf7eb;border-color:#2f6ff024;color-scheme:light}.app-shell.light-theme .analyse-button{color:#fff}.app-shell.light-theme .analyse-button:disabled{color:var(--subtle);background:#53637924}.app-shell.light-theme .analysis-error{color:#a33245}.app-shell.light-theme .floating-menu-panel,.app-shell.light-theme .floating-icon-dock{border-color:#2f6ff024;color:var(--text);background:#ffffffeb;box-shadow:0 18px 48px #1a2d4e29}.app-shell.light-theme .floating-icon-button{color:var(--muted);background:#e4edf7eb;border-color:#2f6ff01f}.app-shell.light-theme .floating-icon-button:hover,.app-shell.light-theme .floating-icon-button.active{color:#fff;background:linear-gradient(135deg,var(--accent-strong),var(--brand-blue))}.app-shell.light-theme .split-meter,.app-shell.light-theme .bar-track{background:#53637929}.app-shell.light-theme .spend-card,.app-shell.light-theme .rank-list li,.app-shell.light-theme .table-row,.app-shell.light-theme .weekday-card,.app-shell.light-theme .benchmark-row{background:#e4edf7b8}.app-shell.light-theme .table-head{color:var(--text);background:#2f6ff01f}.app-shell.light-theme .pending-panel{background:#fff;border-color:var(--border)}.app-shell.light-theme .pending-description code{background:var(--surface-strong)}.app-shell.light-theme .feature-note.standalone{background:#fff}.app-shell.light-theme .hero>div:first-child,.app-shell.light-theme .status-panel,.app-shell.light-theme .content-stage{box-shadow:0 2px 8px #1a2d4e1a,0 10px 32px #1a2d4e14}.app-shell.light-theme .metric-card,.app-shell.light-theme .panel,.app-shell.light-theme .comparison-card,.app-shell.light-theme .driver-card,.app-shell.light-theme .spend-card{border-color:#2f6ff02e;box-shadow:0 2px 6px #1a2d4e1a,0 8px 24px #1a2d4e14}.app-shell.light-theme .section-heading{border-bottom-color:#2f6ff033}.app-shell.light-theme .metric-card strong,.app-shell.light-theme .comparison-card strong{color:#0a1728}.app-shell.light-theme .driver-card.new-customers{border-left:3px solid var(--accent)}.app-shell.light-theme .driver-card.frequency{border-left:3px solid var(--brand-blue)}.app-shell.light-theme .mini-meter span{width:28px}.app-shell.light-theme .mini-meter{height:80px}.app-shell.light-theme .retention-row.header-row{background:#2f6ff012;border-radius:5px;padding-left:8px;padding-right:8px}.app-shell.light-theme .retention-row:not(.header-row):nth-child(2n){background:#e4edf78c;border-radius:4px;padding-left:4px;padding-right:4px}.app-shell.light-theme .section-nav{border-top-color:#2f6ff02e}.app-shell.light-theme .sparkline-line{stroke:#2f6ff0;stroke-opacity:.18}.app-shell.light-theme .sparkline-fill{opacity:.7}.app-shell.light-theme .section-tab{color:var(--muted)}.app-shell.light-theme .section-tab:hover{color:var(--text);background:#2f6ff01a;border-color:#13aacf57}.app-shell.light-theme .section-tab.active{color:#fff;background:linear-gradient(135deg,var(--accent-strong),var(--brand-blue))}@media (max-width: 980px){.hero,.title-row,.section-heading,.two-column,.three-column,.driver-grid{grid-template-columns:1fr}.title-row{align-items:flex-start;gap:12px}.metric-grid,.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.theme-actions{display:flex;align-items:center;gap:8px}.guide-launch-btn{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 13px;border-radius:7px;color:var(--accent-strong);background:#19c9ec1a;border:1px solid rgba(83,215,242,.26);cursor:pointer;font-size:.82rem;font-weight:600;white-space:nowrap;transition:background .16s ease,border-color .16s ease}.guide-launch-btn:hover{background:#19c9ec33;border-color:#53d7f27a}.guide-launch-btn:focus-visible{outline:3px solid rgba(83,215,242,.42);outline-offset:3px}.tour-backdrop{position:fixed;inset:0;z-index:9980;cursor:pointer;transition:background .3s ease}.tour-backdrop-dim{background:#050912c2}.app-shell.light-theme .tour-backdrop-dim{background:#1a2d4e85}.tour-spotlight{position:fixed;z-index:9981;border-radius:10px;pointer-events:none;box-shadow:0 0 0 9999px #050912c2;outline:2.5px solid rgba(25,201,236,.52);outline-offset:0;transition:top .32s ease,left .32s ease,width .32s ease,height .32s ease}.tour-card{position:fixed;z-index:9982;width:380px;max-width:calc(100vw - 32px);padding:22px 24px 20px;border-radius:12px;background:#0d1426fc;border:1px solid rgba(83,215,242,.3);box-shadow:0 24px 72px #0408169e,0 0 0 1px #53d7f214;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:tourCardIn .2s ease}@keyframes tourCardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tour-progress{display:flex;gap:6px;margin-bottom:14px}.tour-dot{display:block;width:7px;height:7px;border-radius:50%;background:#aab8ca42;transition:background .2s ease,width .2s ease}.tour-dot.active{width:20px;border-radius:4px;background:var(--accent-strong)}.tour-eyebrow{margin:0 0 5px;color:var(--accent-strong);font-size:.71rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.tour-title{margin:0 0 10px;color:var(--text);font-size:1.06rem;font-weight:600;line-height:1.3}.tour-description{margin:0 0 20px;color:var(--muted);font-size:.9rem;line-height:1.62}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.tour-skip{color:var(--subtle);background:transparent;border:none;cursor:pointer;font-size:.82rem;padding:0;transition:color .14s ease}.tour-skip:hover{color:var(--muted)}.tour-nav{display:flex;gap:8px}.tour-prev,.tour-next{min-height:36px;padding:7px 16px;border-radius:7px;cursor:pointer;font-size:.86rem;font-weight:600;white-space:nowrap;transition:filter .14s ease,background .14s ease,border-color .14s ease}.tour-prev{color:var(--muted);background:#1d2b47e6;border:1px solid rgba(159,176,191,.22)}.tour-prev:hover{color:var(--text);border-color:#9fb0bf66}.tour-next{color:#07101d;background:linear-gradient(135deg,var(--accent-strong),var(--brand-blue));border:none}.tour-next:hover{filter:brightness(1.08)}.app-shell.light-theme .guide-launch-btn{color:var(--accent-strong);background:#05bfe21a;border-color:#13aacf47}.app-shell.light-theme .guide-launch-btn:hover{background:#05bfe233}.app-shell.light-theme .tour-spotlight{box-shadow:0 0 0 9999px #1a2d4e85;outline-color:#2f6ff099}.app-shell.light-theme .tour-card{background:#fcfefffc;border-color:#2f6ff03d;box-shadow:0 20px 60px #1a2d4e38}.app-shell.light-theme .tour-title{color:#0a1728}.app-shell.light-theme .tour-description{color:#536379}.app-shell.light-theme .tour-prev{color:var(--muted);background:#e4edf7e6;border-color:#2f6ff02e}.app-shell.light-theme .tour-prev:hover{border-color:#2f6ff05c}.app-shell.light-theme .tour-next{color:#fff}.info-btn{display:inline-flex;position:relative;width:18px;height:18px;align-items:center;justify-content:center;border-radius:50%;background:#19c9ec1a;border:1px solid rgba(25,201,236,.28);color:var(--accent-strong);cursor:help;flex-shrink:0;vertical-align:middle;line-height:1;margin-left:5px;transition:background .14s ease,border-color .14s ease}.info-btn svg{display:block;flex-shrink:0}.info-btn:hover,.info-btn:focus{background:#19c9ec38;border-color:#19c9ec80;outline:none}.info-btn:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%);width:260px;padding:10px 13px;border-radius:8px;background:#0c1324fa;border:1px solid rgba(83,215,242,.24);box-shadow:0 14px 36px #04081680;color:var(--text);font-size:.8rem;font-weight:400;line-height:1.55;text-transform:none;letter-spacing:0;white-space:normal;text-align:left;pointer-events:none;opacity:0;transition:opacity .16s ease;z-index:200}.info-btn:before{content:"";position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#53d7f23d;pointer-events:none;opacity:0;transition:opacity .16s ease;z-index:201}.info-btn:hover:after,.info-btn:focus:after,.info-btn:hover:before,.info-btn:focus:before{opacity:1}.app-shell.light-theme .info-btn{background:#05bfe21a;border-color:#13aacf52}.app-shell.light-theme .info-btn:hover{background:#05bfe233}.app-shell.light-theme .info-btn:after{background:#f0f6fcfc;border-color:#2f6ff038;box-shadow:0 10px 28px #1a2d4e2e;color:#10182b}.app-shell.light-theme .info-btn:before{border-top-color:#2f6ff038}@media (max-width: 720px){.app-shell{width:100%;padding:12px 10px 22px}.hero>div:first-child,.status-panel,.content-stage{padding:18px}.date-range-control{grid-template-columns:1fr}.floating-action-zone{right:10px;bottom:10px;width:calc(100vw - 20px)}.floating-menu-panel{width:100%}.floating-icon-dock{justify-self:end}.floating-icon-button{width:46px}.analysis-loader,.metric-grid,.comparison-grid,.spend-grid,.weekday-grid,.trend-row,.trend-line,.concentration-row,.table-row{grid-template-columns:1fr}.trend-line strong,.concentration-row strong{justify-self:start}}
