: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)}@keyframes loginFadeUp{0%{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loginFadeOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(1.02)}}@keyframes loginScreenFadeOut{0%{opacity:1}to{opacity:0}}@keyframes appShellEnter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes loginShake{0%,to{transform:translate(0)}15%{transform:translate(-9px)}30%{transform:translate(8px)}45%{transform:translate(-7px)}60%{transform:translate(5px)}75%{transform:translate(-3px)}90%{transform:translate(2px)}}@keyframes loginSuccessPop{0%{transform:scale(.7);opacity:0}55%{transform:scale(1.12);opacity:1}75%{transform:scale(.96)}to{transform:scale(1);opacity:1}}@keyframes loginCheckDraw{0%{stroke-dashoffset:30;opacity:0}20%{opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes loginErrorSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes loginBgPulse{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes logoPulseGlow{0%,to{filter:drop-shadow(0 4px 10px rgba(55,116,240,.25))}50%{filter:drop-shadow(0 6px 18px rgba(55,116,240,.45))}}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f0fe,#f0f4f9,#e4edf8);background-size:200% 200%;animation:loginBgPulse 8s ease infinite;padding:1.5rem}.login-card{width:100%;max-width:420px;background:#fff;border:1px solid #dce4ef;border-radius:20px;padding:2.5rem 2.25rem;box-shadow:0 4px 6px #0d1b3e0a,0 20px 60px #0d1b3e1f;animation:loginFadeUp .6s cubic-bezier(.22,1,.36,1) both;transition:box-shadow .25s,border-color .35s}.login-card:has(.login-field input:focus){box-shadow:0 4px 6px #0d1b3e0a,0 24px 70px #3774f029}.login-card-shake{animation:loginShake .58s cubic-bezier(.36,.07,.19,.97) both!important}.login-card-success{border-color:#bbf7d0!important;box-shadow:0 4px 6px #0d1b3e0a,0 20px 60px #16a34a33!important}.login-card-exiting{animation:loginFadeOut .5s cubic-bezier(.4,0,1,1) both!important;pointer-events:none}.login-screen-exiting{animation:loginScreenFadeOut .5s .1s ease both;pointer-events:none}.login-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem}.login-smart-logo{width:42px;height:49px;flex-shrink:0;animation:logoFloat 4s ease-in-out infinite,logoPulseGlow 4s ease-in-out infinite}.login-title-text{display:flex;flex-direction:column;gap:.1rem}.login-title{font-size:1.55rem;font-weight:700;color:#0d1b3e;margin:0;letter-spacing:-.02em;line-height:1.2}.login-subtitle{font-size:.78rem;color:#536379;margin:0}.login-form{display:flex;flex-direction:column;gap:1.1rem}.login-field{display:flex;flex-direction:column;gap:.4rem}.login-field label{font-size:.75rem;font-weight:600;color:#7f8da1;letter-spacing:.05em;text-transform:uppercase;transition:color .15s}.login-field:focus-within label,.login-field.login-field-filled label{color:#3774f0}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:.75rem;color:#aab8ca;pointer-events:none;transition:color .15s;flex-shrink:0}.login-field:focus-within .login-input-icon{color:#3774f0}.login-input-wrap input{background:#f7f9fc;border:1.5px solid #dce4ef;border-radius:10px;color:#0d1b3e;font-size:.9rem;font-family:inherit;padding:.7rem 2.6rem .7rem 2.4rem;outline:none;transition:border-color .18s,box-shadow .18s,background .18s;width:100%}.login-input-wrap input::placeholder{color:#c4cdd9}.login-input-wrap input:focus{background:#fff;border-color:#3774f0;box-shadow:0 0 0 3.5px #3774f021}.login-input-wrap input:disabled{opacity:.55;cursor:not-allowed}.login-eye-btn{position:absolute;right:.6rem;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:6px;color:#aab8ca;cursor:pointer;transition:color .15s,background .15s;padding:0}.login-eye-btn:hover{color:#3774f0;background:#3774f014}.login-error{display:flex;align-items:flex-start;gap:.5rem;background:#fff5f5;border:1.5px solid #fecaca;border-radius:10px;padding:.65rem .85rem;font-size:.82rem;color:#dc2626;animation:loginErrorSlide .2s ease both}.login-error svg{flex-shrink:0;margin-top:1px}.login-btn{display:flex;align-items:center;justify-content:center;margin-top:.4rem;padding:.78rem 1.25rem;background:linear-gradient(135deg,#3774f0,#2a5fd4);color:#fff;font-size:.92rem;font-weight:600;font-family:inherit;border:none;border-radius:10px;cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .15s;width:100%;box-shadow:0 4px 14px #3774f059;position:relative;overflow:hidden}.login-btn:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 60%);pointer-events:none}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #3774f073}.login-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #3774f04d}.login-btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none;transform:none}.login-btn-loading{background:linear-gradient(135deg,#536379,#3d4f63)!important;box-shadow:none!important}.login-btn-text{display:flex;align-items:center;gap:.45rem}.login-success-state{display:flex;flex-direction:column;align-items:center;padding:1.5rem 0 .5rem;gap:.75rem;animation:loginFadeUp .35s cubic-bezier(.22,1,.36,1) both}.login-success-icon{animation:loginSuccessPop .55s cubic-bezier(.22,1,.36,1) both}.login-success-icon path{stroke-dasharray:30;stroke-dashoffset:30;animation:loginCheckDraw .45s .3s cubic-bezier(.22,1,.36,1) both}.login-success-msg{font-size:1.15rem;font-weight:700;color:#0d1b3e;margin:0}.login-success-sub{font-size:.82rem;color:#536379;margin:0}.logout-btn{display:flex;align-items:center;gap:.4rem;padding:.2rem .45rem .2rem .2rem;background:transparent;border:1px solid var(--border);border-radius:20px;color:var(--muted);font-family:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}.logout-btn:hover{border-color:var(--accent);box-shadow:0 0 0 2px #19c9ec1f}.logout-btn:hover .logout-icon{color:var(--accent)}.logout-avatar{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--brand-blue),var(--brand-indigo));color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.03em;flex-shrink:0}.logout-icon{color:var(--muted);transition:color .15s;flex-shrink:0}*{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-enter{animation:appShellEnter .55s cubic-bezier(.22,1,.36,1) both}.app-shell{--sidebar-w: 240px;--sidebar-collapsed-w: 0px;--page-header-h: 68px;display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:100vh;min-height:100vh;overflow:hidden;color:var(--text);background:radial-gradient(circle at top left,rgba(25,201,236,.12),transparent 34rem),linear-gradient(135deg,#090f1f,#11172d 42%,#080d1a);transition:grid-template-columns .25s cubic-bezier(.4,0,.2,1)}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-w) 1fr}.sidebar{grid-column:1;display:flex;flex-direction:column;height:100vh;overflow:hidden;border-right:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:100;transition:width .25s cubic-bezier(.4,0,.2,1)}.sidebar-overlay{display:none}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 16px;height:var(--page-header-h);border-bottom:1px solid var(--border);flex-shrink:0;overflow:hidden}.sidebar-brand-inner{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden}.sidebar-logo{width:24px;height:28px;flex-shrink:0}.sidebar-brand-text{display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:opacity .2s,width .25s}.sidebar-app-name{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.sidebar-app-sub{font-size:10px;color:var(--muted);white-space:nowrap;line-height:1.4}.sidebar-collapse-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s,transform .25s}.sidebar-collapse-btn:hover{background:var(--surface-soft);color:var(--text)}.app-shell.sidebar-collapsed .sidebar{border-right-color:transparent}.app-shell.sidebar-collapsed .sidebar-collapse-btn{transform:rotate(180deg)}.sidebar-expand-btn{display:none;flex-shrink:0;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.sidebar-expand-btn:hover{background:var(--surface-soft);color:var(--text)}.app-shell.sidebar-collapsed .sidebar-expand-btn{display:flex}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 8px;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.sidebar-group{display:flex;flex-direction:column;gap:1px;margin-bottom:8px}.sidebar-group-label{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--subtle);padding:0 8px;margin-bottom:4px;white-space:nowrap;overflow:hidden;transition:opacity .15s}.sidebar-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:none;background:transparent;color:var(--muted);font-size:13px;font-weight:500;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden;width:100%;transition:background .12s,color .12s;min-height:36px}.sidebar-item:hover{background:var(--surface-soft);color:var(--text)}.sidebar-item.active{background:linear-gradient(135deg,#3774f0,#2a287e);color:#fff;font-weight:600;box-shadow:0 2px 12px #3774f04d}.sidebar-item.sidebar-item-dimmed{opacity:.45;cursor:default;pointer-events:none}.sidebar-item[disabled]{opacity:.5;cursor:not-allowed}.sidebar-item-icon{flex-shrink:0;width:16px;height:16px;opacity:.75}.sidebar-item.active .sidebar-item-icon{opacity:1}.sidebar-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;transition:opacity .15s,width .25s}.sidebar-footer{padding:8px 8px 12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px;flex-shrink:0}.sidebar-theme-toggle{color:var(--muted)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;min-height:48px;overflow:hidden}.sidebar-user-info{flex:1;min-width:0;overflow:hidden;transition:opacity .15s}.sidebar-user-name{display:block;font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{display:block;font-size:10px;color:var(--muted);white-space:nowrap}.sidebar-logout-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.sidebar-logout-btn:hover{background:#dc26261a;border-color:#dc262659;color:#dc2626}.app-shell.sidebar-collapsed .sidebar-brand-text,.app-shell.sidebar-collapsed .sidebar-item-label,.app-shell.sidebar-collapsed .sidebar-group-label,.app-shell.sidebar-collapsed .sidebar-user-info{opacity:0;width:0;pointer-events:none}.app-shell.sidebar-collapsed .sidebar-item,.app-shell.sidebar-collapsed .sidebar-user{justify-content:center;padding:8px}.app-shell.sidebar-collapsed .sidebar-logout-btn{display:none}.main-area{grid-column:2;display:flex;flex-direction:column;height:100vh;overflow:hidden}.page-header{display:flex;align-items:center;gap:12px;padding:0 24px;height:var(--page-header-h);border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;overflow:visible}.hamburger-btn{display:none;align-items:center;justify-content:center;width:34px;height:34px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;flex-shrink:0}.page-title-block{display:flex;flex-direction:column;gap:0;min-width:0;flex-shrink:0}.page-breadcrumb{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;line-height:1.2}.page-title{font-size:15px;font-weight:700;color:var(--text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.page-header-controls{display:flex;align-items:flex-end;gap:10px;margin-left:auto;flex-wrap:nowrap;flex-shrink:0;padding-bottom:2px}.analysis-status-chip{font-size:11px;font-weight:600;color:var(--accent);background:#19c9ec1a;border:1px solid rgba(25,201,236,.22);border-radius:999px;padding:4px 12px;white-space:nowrap;flex-shrink:0;height:34px;display:flex;align-items:center}.header-presets{display:flex;gap:4px;flex-shrink:0;align-self:flex-end}.page-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 24px 32px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.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}.header-smart-logo{width:36px;height:42px;flex-shrink:0}.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 6px;color:var(--subtle);font-size:10px;font-weight:700;letter-spacing:.1em;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:18px;font-weight:700;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{height:34px;padding:0 12px;border-radius:7px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--border);cursor:pointer;font-size:12px;font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.preset-button:hover{background:var(--surface-strong);color:var(--text);border-color:var(--brand-blue)}.preset-button:disabled{color:var(--subtle);background:#7486971a;border-color:transparent;cursor:wait}.date-range-control{display:flex;align-items:center;gap:6px}.date-range-control label{display:flex;flex-direction:column;gap:2px;min-width:0}.date-range-control label span{color:var(--subtle);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;line-height:1}.date-range-control input{height:34px;padding:0 8px;border-radius:7px;color:var(--text);background:var(--surface-soft);border:1px solid var(--border);font-size:12.5px;font-weight:500;color-scheme:dark;min-width:130px}.date-range-control input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 2px #3774f033}.analyse-button{height:34px;padding:0 18px;border-radius:7px;color:#fff;background:var(--brand-blue);cursor:pointer;font-weight:600;font-size:13px;white-space:nowrap;border:none;transition:background .15s;align-self:flex-end}.analyse-button:hover{background:#2d63d8}.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:flex;flex-direction:column;gap:4px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.section-heading p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.5;max-width:560px}.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 var(--border);border-radius:12px;background:var(--surface)}.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:11.5px;font-weight:600;line-height:1.4}.metric-note,.comparison-card span:last-child{color:var(--subtle);font-size:.92rem}.cohort-header-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.cohort-split-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.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:#7ba7f7;background:#3774f01f;border:1px solid rgba(55,116,240,.28)}.refresh-col-badge:before{background:#3774f0}.non-refresh-col-badge{color:#a5b4fc;background:#6366f11a;border:1px solid rgba(99,102,241,.24)}.non-refresh-col-badge:before{background:#6366f1}.driver-grid-stacked{grid-template-columns:1fr!important}.cohort-split-row .spend-grid{grid-template-columns:repeat(auto-fill,minmax(140px,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:18px}.panel-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-heading h3{font-size:13px;font-weight:700;color:var(--text);margin:0;line-height:1.3}.pill{flex:0 0 auto;padding:3px 8px;border-radius:999px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--border);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.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:12px;padding:24px 20px;display:flex;flex-direction:column;gap:12px;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)}.rec-empty{display:flex;align-items:center;gap:8px;padding:14px 16px;border-radius:8px;background:var(--surface-soft);border:1px solid var(--border);color:var(--subtle);font-size:13px}.rec-list{display:flex;flex-direction:column;gap:10px}.rec-card{padding:16px 18px;border-radius:10px;background:var(--surface);border:1px solid var(--border);border-left-width:3px;display:flex;flex-direction:column;gap:7px}.rec-high{border-left-color:#ef4444}.rec-medium{border-left-color:#f59e0b}.rec-low{border-left-color:#3774f0}.rec-card-header{display:flex;align-items:center;gap:7px}.rec-priority-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.rec-high .rec-priority-dot{background:#ef4444}.rec-medium .rec-priority-dot{background:#f59e0b}.rec-low .rec-priority-dot{background:#3774f0}.rec-category{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--subtle)}.rec-priority-badge{margin-left:auto;font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px}.rec-high .rec-priority-badge{background:#ef44441a;color:#ef4444}.rec-medium .rec-priority-badge{background:#f59e0b1f;color:#d97706}.rec-low .rec-priority-badge{background:#3774f01a;color:#3774f0}.rec-title{margin:0;font-size:13.5px;font-weight:600;color:var(--text);line-height:1.35}.rec-detail{margin:0;font-size:12.5px;color:var(--muted);line-height:1.6}.rec-metric{font-size:11.5px;font-weight:600;color:var(--brand-blue);padding:5px 10px;background:#3774f012;border-radius:5px;width:fit-content;margin-top:2px}.app-shell.light-theme .rec-card{background:#fff}.app-shell.light-theme .rec-high{border-left-color:#dc2626}.app-shell.light-theme .rec-high .rec-priority-dot{background:#dc2626}.app-shell.light-theme .rec-high .rec-priority-badge{background:#dc262614;color:#dc2626}.predict-card{flex-direction:row;align-items:flex-start;gap:16px}.predict-card-icon{flex-shrink:0;width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center}.predict-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.predict-card-heading{font-size:13px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.predict-card-description{margin:0;font-size:12.5px;color:var(--text-muted);line-height:1.6}.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 130px;gap:12px;padding:9px 10px;border-radius:8px;border:1px solid transparent;font-size:12.5px;color:var(--muted);align-items:center}.retention-rate-cell{display:flex;flex-direction:column;gap:4px}.retention-rate-bar{height:4px;border-radius:99px;background:var(--border);overflow:hidden}.retention-rate-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#10b981,#3774f0);min-width:2px}.retention-row:not(.header-row):nth-child(odd){background:var(--surface-soft);border-color:var(--border)}.retention-row.header-row{font-size:10px;font-weight:700;color:var(--subtle);text-transform:uppercase;letter-spacing:.07em;padding:6px 10px}.retention-row:last-child{border-bottom:1px solid transparent}.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:8px;overflow:hidden;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border)}.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(auto-fill,minmax(160px,1fr));gap:10px}.spend-card{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:10px;background:var(--surface-soft);border:1px solid var(--border)}.spend-card span{font-size:11px;font-weight:700;color:var(--subtle);text-transform:uppercase;letter-spacing:.06em}.mini-meter{display:flex;flex-direction:column;gap:6px;margin-top:2px}.mini-meter-row{display:flex;flex-direction:column;gap:3px}.mini-meter-header{display:flex;justify-content:space-between;align-items:baseline}.mini-meter-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--subtle)}.mini-meter-track{height:5px;border-radius:99px;background:var(--border);overflow:hidden;width:100%}.mini-meter-fill{height:100%;border-radius:99px;min-width:3px}.mini-meter-fill.average{background:linear-gradient(90deg,var(--accent-strong),var(--brand-blue))}.mini-meter-fill.median{background:#6366f1;opacity:.8}.mini-meter-val{font-size:10px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.rank-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.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:10px 12px;border-radius:8px;color:var(--muted);background:var(--surface-soft);border:1px solid transparent;font-size:12.5px}.table-head{color:var(--subtle);background:transparent;border-color:transparent;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:6px 12px}.table-row strong{color:var(--text);font-weight:500}.weekday-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.weekday-card{padding:14px 16px;border-radius:10px;background:var(--surface-soft);border:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.weekday-card span{display:block;font-size:12px;font-weight:600;color:var(--text)}.weekday-card strong{display:block;color:var(--text);font-size:1.3rem;font-weight:700;line-height:1.1}.weekday-card small{display:block;font-size:10.5px;color:var(--subtle)}.weekday-card small:before{content:"Machine: ";color:var(--subtle)}.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 6px;font-size:2.2rem;font-weight:700;line-height:1;color:var(--text)}.driver-card p{margin-bottom:0;color:var(--muted);font-size:12.5px;line-height:1.5}.driver-card.new-customers{border-color:#3774f059;background:#3774f00d}.driver-card.frequency{border-color:#6366f159;background:#6366f10d}.comparison-grid{grid-template-columns:repeat(3,minmax(260px,1fr));margin-bottom:14px}.benchmark-row{grid-template-columns:minmax(0,1fr) auto;padding:10px 12px;border-radius:8px;background:var(--surface-soft);border:1px solid var(--border)}.benchmark-row small{grid-column:1 / -1;color:var(--text-muted);font-size:11px;margin-top:2px}.benchmark-row strong{color:var(--brand-blue);font-weight:600;font-size:13px;white-space:nowrap}.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:#e2e8f0;background:#fff}.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:#475569;background:#f1f5f9;border-color:#cbd5e1}.app-shell.light-theme .preset-button:hover{background:#e2e8f0;color:#0f172a;border-color:var(--brand-blue)}.app-shell.light-theme .date-range-control input{color:#0f172a;background:#fff;border-color:#cbd5e1;color-scheme:light}.app-shell.light-theme .date-range-control input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 2px #3774f026}.app-shell.light-theme .analyse-button{color:#fff;background:var(--brand-blue)}.app-shell.light-theme .analyse-button:hover{background:#2d63d8}.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:#f1f5f9;border-color:#e2e8f0}.app-shell.light-theme .spend-card,.app-shell.light-theme .rank-list li,.app-shell.light-theme .weekday-card,.app-shell.light-theme .benchmark-row,.app-shell.light-theme .table-row{background:#f8fafc;border-color:#e2e8f0}.app-shell.light-theme .table-head{color:#64748b;background:transparent;border-color:transparent}.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 .predict-card-description{color:#475569}.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:#e2e8f0}.app-shell.light-theme .section-heading{border-bottom-color:#e2e8f0}.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-color:#3774f04d;background:#3774f00a}.app-shell.light-theme .driver-card.frequency{border-color:#6366f14d;background:#6366f10a}.app-shell.light-theme .retention-row:not(.header-row):nth-child(odd){background:#f8fafc;border-color:#e2e8f0}.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}.summary-reopen-btn{color:var(--brand-blue);background:#3774f01a;border-color:#3774f047}.summary-reopen-btn:hover{background:#3774f02e;border-color:#3774f080}.tour-backdrop{position:fixed;inset:0;z-index:9980;cursor:pointer;transition:background .3s ease}.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:400px;max-width:calc(100vw - 32px);padding:0;border-radius:14px;background:#fff;border:1px solid #dce8f4;box-shadow:0 24px 72px #1a2d4e2e,0 4px 16px #1a2d4e14;overflow:hidden;animation:tourCardIn .2s ease}.tour-card-header{padding:16px 20px 14px;background:linear-gradient(135deg,#f0f6ff,#f8fbff);border-bottom:1px solid #dce8f4}.tour-card-body{padding:16px 20px 18px}.tour-card:not(.light-theme) .tour-card-header{background:#192848cc;border-bottom-color:#53d7f226}.tour-card:not(.light-theme){background:#0d1426fc;border-color:#53d7f24d;box-shadow:0 24px 72px #0408169e,0 0 0 1px #53d7f214}@keyframes tourCardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tour-progress{display:flex;gap:6px;margin-bottom:10px}.tour-dot{display:block;width:7px;height:7px;border-radius:50%;background:#c8d6e8;transition:background .2s ease,width .2s ease}.tour-card:not(.light-theme) .tour-dot{background:#aab8ca42}.tour-dot.active{width:20px;border-radius:4px;background:#2f6ff0}.tour-eyebrow{margin:0 0 5px;color:#2f6ff0;font-size:.71rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.tour-card:not(.light-theme) .tour-eyebrow{color:var(--accent-strong)}.tour-title{margin:0 0 10px;color:#0a1728;font-size:1.06rem;font-weight:600;line-height:1.3}.tour-card:not(.light-theme) .tour-title{color:#f4f8fb}.tour-description{margin:0 0 16px;color:#536379;font-size:.875rem;line-height:1.65}.tour-card:not(.light-theme) .tour-description{color:#aab8ca}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.tour-skip{color:#6f7f93;background:transparent;border:none;cursor:pointer;font-size:.82rem;padding:0;transition:color .14s ease}.tour-skip:hover{color:#536379}.tour-card:not(.light-theme) .tour-skip{color:#7f8da1}.tour-card:not(.light-theme) .tour-skip:hover{color:#aab8ca}.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:#536379;background:#edf3fa;border:1px solid #c8d6e8}.tour-prev:hover{color:#10182b;border-color:#2f6ff05c}.tour-card:not(.light-theme) .tour-prev{color:#aab8ca;background:#1d2b47e6;border-color:#9fb0bf38}.tour-card:not(.light-theme) .tour-prev:hover{color:#f4f8fb;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}.tour-spotlight.light-theme{box-shadow:0 0 0 9999px #1a2d4e70;outline-color:#2f6ff099}.tour-backdrop:not(.light-theme).tour-backdrop-dim{background:#050912c2}.tour-backdrop.light-theme.tour-backdrop-dim{background:#1a2d4e70}.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{grid-template-columns:1fr}.weekday-grid{grid-template-columns:repeat(2,1fr)}.trend-row,.trend-line,.concentration-row,.table-row{grid-template-columns:1fr}.trend-line strong,.concentration-row strong{justify-self:start}}@keyframes summaryBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes summaryDialogIn{0%{opacity:0;transform:translateY(32px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.summary-backdrop{position:fixed;inset:0;background:#04081699;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:600;display:flex;align-items:center;justify-content:center;padding:32px 16px;animation:summaryBackdropIn .22s ease both;--surface-strong: #151f36;--surface: #10182b;--surface-soft: #1d2b47;--border: #2a3f67;--text: #f4f8fb;--muted: #aab8ca;--subtle: #7f8da1;--brand-blue: #3774f0}.summary-backdrop.light-theme{background:#101e3c73;--surface-strong: #ffffff;--surface: #f5f8fc;--surface-soft: #edf3fa;--border: #c8d6e8;--text: #10182b;--muted: #536379;--subtle: #6f7f93;--brand-blue: #2f6ff0}.summary-wrapper{display:flex;align-items:stretch;gap:14px;width:min(1120px,96vw);max-height:min(88vh,800px);animation:summaryDialogIn .36s cubic-bezier(.22,1,.36,1) both}.summary-dialog{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;background:var(--surface-strong);border:1px solid var(--border);border-radius:16px;box-shadow:0 40px 120px #04081680;overflow:hidden;color:var(--text)}.summary-recs{flex:0 0 380px;display:flex;flex-direction:column;background:var(--surface-strong);border:1px solid var(--border);border-radius:16px;box-shadow:0 40px 120px #04081680;overflow:hidden;color:var(--text)}.summary-recs-header{padding:20px 20px 14px;background:linear-gradient(135deg,#0f1f48,#1a2050);border-bottom:1px solid rgba(55,116,240,.25);flex-shrink:0}.summary-recs-title-row{display:flex;align-items:center;gap:8px;color:#a5c0f8;margin-bottom:7px}.summary-recs-title{margin:0;font-size:1rem;font-weight:700;color:#f4f8fb}.summary-recs-sub{margin:0;font-size:11.5px;color:#8aa3cc;line-height:1.5}.summary-recs-body{flex:1;overflow-y:auto;padding:14px 14px 16px;display:flex;flex-direction:column;gap:9px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.srec-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 16px;text-align:center;color:var(--subtle);font-size:12.5px;height:100%}.srec-card{padding:12px 14px;border-radius:9px;background:var(--surface);border:1px solid var(--border);border-left-width:3px;display:flex;flex-direction:column;gap:5px}.srec-high{border-left-color:#ef4444}.srec-medium{border-left-color:#f59e0b}.srec-low{border-left-color:#3774f0}.srec-top{display:flex;align-items:center;gap:6px}.srec-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.srec-high .srec-dot{background:#ef4444}.srec-medium .srec-dot{background:#f59e0b}.srec-low .srec-dot{background:#3774f0}.srec-cat{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--subtle)}.srec-badge{margin-left:auto;font-size:9.5px;font-weight:600;padding:1px 6px;border-radius:4px}.srec-high .srec-badge{background:#ef44441f;color:#f87171}.srec-medium .srec-badge{background:#f59e0b1f;color:#fbbf24}.srec-low .srec-badge{background:#3774f01f;color:#7aadff}.srec-title{margin:0;font-size:12.5px;font-weight:600;color:var(--text);line-height:1.35}.srec-detail{margin:0;font-size:11.5px;color:var(--muted);line-height:1.58}.srec-metric{font-size:11px;font-weight:600;color:#7aadff;background:#3774f01a;padding:3px 8px;border-radius:4px;width:fit-content;margin-top:2px}.summary-backdrop.light-theme .summary-recs{box-shadow:0 24px 80px #101e3c2e}.summary-backdrop.light-theme .summary-recs-header{background:linear-gradient(135deg,#1a2f6e,#2a287e)}.summary-backdrop.light-theme .srec-card{background:#fff}.summary-backdrop.light-theme .srec-metric{color:#2f6ff0;background:#2f6ff014}.summary-backdrop.light-theme .srec-high .srec-badge{color:#dc2626;background:#dc262614}.summary-backdrop.light-theme .srec-medium .srec-badge{color:#d97706;background:#d9770614}.summary-backdrop.light-theme .srec-low .srec-badge{color:#2f6ff0;background:#2f6ff014}@media (max-width: 900px){.summary-wrapper{flex-direction:column;max-height:min(92vh,860px);overflow-y:auto}.summary-recs{flex:0 0 auto}}.summary-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 18px;flex-shrink:0;background:linear-gradient(135deg,#1a2f6e,#2a287e);border-bottom:1px solid rgba(55,116,240,.3)}.summary-header-left{display:flex;flex-direction:column;gap:8px}.summary-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;background:#3774f040;border:1px solid rgba(55,116,240,.5);border-radius:999px;color:#93c5fd;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;width:fit-content}.summary-badge:before{content:"";width:6px;height:6px;background:#60a5fa;border-radius:50%;animation:summaryPulse 1.8s ease infinite}@keyframes summaryPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.65)}}.summary-title{font-size:17px;font-weight:700;color:#e8f0ff;margin:0;line-height:1.3}.summary-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#fff9;cursor:pointer;transition:background .15s,color .15s}.summary-close:hover{background:#ffffff26;color:#fff}.summary-meta{padding:14px 22px 0;font-size:12.5px;color:var(--muted);line-height:1.6;margin:0;flex-shrink:0}.summary-meta strong{color:var(--text)}.summary-insights{padding:14px 22px 6px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.summary-insight{display:flex;gap:14px;padding:13px 15px;border-radius:10px;border:1px solid var(--border);background:var(--surface);transition:border-color .15s}.summary-insight--positive{border-color:#16a34a59;background:#16a34a0f}.summary-insight--warning{border-color:#eab30859;background:#eab3080f}.summary-insight--neutral{border-color:var(--border);background:var(--surface-soft)}.summary-insight-icon{font-size:18px;line-height:1;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--surface-soft);border:1px solid var(--border);margin-top:1px}.summary-insight--positive .summary-insight-icon{background:#16a34a1a;border-color:#16a34a40}.summary-insight--warning .summary-insight-icon{background:#eab3081a;border-color:#eab30840}.summary-insight-body{display:flex;flex-direction:column;gap:3px}.summary-insight-heading{font-size:12.5px;font-weight:700;color:var(--text);line-height:1.4}.summary-insight-text{font-size:11.5px;color:var(--muted);line-height:1.55;margin:0}.summary-footer{padding:14px 22px 18px;flex-shrink:0;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.summary-footer-note{font-size:11px;color:var(--subtle)}.summary-dismiss{height:36px;padding:0 20px;background:var(--brand-blue);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,transform .12s;white-space:nowrap}.summary-dismiss:hover{background:#2d63d8;transform:translateY(-1px)}.summary-dismiss:active{transform:translateY(0)}.app-shell.light-theme .sidebar{background:#fff;border-right-color:#dce8f4}.app-shell.light-theme .sidebar-brand{border-bottom-color:#dce8f4}.app-shell.light-theme .sidebar-group-label{color:#8fa3bc}.app-shell.light-theme .sidebar-item{color:#536379}.app-shell.light-theme .sidebar-item:hover{background:#f0f5fb;color:#10182b}.app-shell.light-theme .sidebar-item.active{background:linear-gradient(135deg,#3774f0,#2a287e);color:#fff}.app-shell.light-theme .sidebar-footer{border-top-color:#dce8f4}.app-shell.light-theme .sidebar-collapse-btn{border-color:#dce8f4;color:#8fa3bc}.app-shell.light-theme .sidebar-collapse-btn:hover{background:#f0f5fb;color:#10182b}.app-shell.light-theme .sidebar-logout-btn{border-color:#dce8f4}.app-shell.light-theme .sidebar-app-name,.app-shell.light-theme .sidebar-user-name{color:#10182b}.app-shell.light-theme .page-header{background:#fff;border-bottom-color:#dce8f4}.app-shell.light-theme .hamburger-btn{border-color:#dce8f4}.app-shell.light-theme .analysis-status-chip{color:#059bb5;background:#059bb517;border-color:#059bb538}@media (max-width: 1024px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-100%;top:0;bottom:0;width:var(--sidebar-w);z-index:500;transition:left .28s cubic-bezier(.4,0,.2,1)}.app-shell.sidebar-mobile-open .sidebar{left:0}.sidebar-overlay{display:block;position:fixed;inset:0;background:#04081680;z-index:499;opacity:0;pointer-events:none;transition:opacity .28s}.app-shell.sidebar-mobile-open .sidebar-overlay{opacity:1;pointer-events:all}.hamburger-btn{display:flex}.sidebar-expand-btn{display:none!important}.main-area{grid-column:1}.page-header-controls{gap:6px}}@media (max-width: 768px){.header-presets,.analysis-status-chip{display:none}.page-content{padding:16px}}@media (max-width: 480px){.date-range-control{gap:4px}.date-range-control label span{display:none}}.overview-section-label{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--subtle);text-transform:uppercase;margin-bottom:12px;padding-left:2px}.overview-hero{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:20px}.overview-hero-headline{background:linear-gradient(135deg,#1a2f6e,#2a287e);border:1px solid rgba(55,116,240,.35);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:8px}.ohh-eyebrow{font-size:9.5px;font-weight:700;letter-spacing:.1em;color:#ffffff8c;text-transform:uppercase}.ohh-text{font-size:12.5px;font-weight:500;color:#e2eaff;line-height:1.55;margin:0}.overview-hero-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:4px}.ohs-header{display:flex;align-items:center;gap:7px;margin-bottom:4px}.ohs-icon-wrap{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ohs-eyebrow{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--subtle);text-transform:uppercase;flex:1}.ohs-value{font-size:34px;font-weight:800;color:var(--text);letter-spacing:-.02em;line-height:1.1}.ohs-sub{font-size:12px;color:var(--muted);line-height:1.4;margin-top:2px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}.kpi-grid.time-drivers-grid{grid-template-columns:repeat(2,1fr)}.overview-bottom.time-bottom{margin-bottom:24px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 11px 9px;display:flex;flex-direction:column;gap:5px;transition:border-color .18s,box-shadow .18s}.kpi-card:hover{border-color:var(--brand-blue);box-shadow:0 0 0 1px #3774f040}.kpi-card-header{display:flex;align-items:center;gap:7px}.kpi-card-meta{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.kpi-icon-wrap{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-icon-wrap svg{width:13px;height:13px}.kpi-label{font-size:12px;font-weight:600;color:var(--muted);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-values{display:flex;gap:6px;padding-top:2px;border-top:1px solid var(--border);margin-top:1px}.kpi-value-col{flex:1;display:flex;flex-direction:row;align-items:baseline;gap:5px}.kpi-value-col strong{font-size:20px;font-weight:700;color:var(--text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-col-refresh strong{color:#3774f0}.kpi-col-nr strong{color:var(--text)}.kpi-split-bar{height:3px;border-radius:99px;background:var(--border);overflow:hidden;margin-top:1px}.kpi-split-fill-refresh{height:100%;background:#3774f0;border-radius:99px;min-width:2px;max-width:calc(100% - 2px)}.kpi-cohort-tag{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.04em;padding:1px 5px;border-radius:4px;text-transform:uppercase;white-space:nowrap}.kpi-refresh-tag{background:#3774f024;color:#5b9ef8}.kpi-nr-tag{background:var(--surface-soft);border:1px solid var(--border);color:var(--text-muted)}.kpi-delta{font-size:11px;font-weight:600;padding:2px 7px;border-radius:20px;width:fit-content;white-space:nowrap}.kpi-delta-pos{background:#10b98124;color:#34d399}.kpi-delta-neg{background:#ef444424;color:#f87171}.overview-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:4px}.overview-bottom-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:14px}.obc-heading{font-size:13px;font-weight:700;color:var(--text);display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.obc-sub{font-size:11px;font-weight:400;color:var(--subtle)}.obc-source{font-size:10px;color:var(--subtle);margin-top:auto;padding-top:8px;border-top:1px solid var(--border);line-height:1.5}.donut-cohort-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.donut-cohort{display:flex;flex-direction:column;gap:8px}.donut-cohort-tag{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:5px;width:fit-content}.donut-wrap{display:flex;align-items:center;gap:16px}.donut-svg{width:76px;height:76px;flex-shrink:0}.donut-legend{display:flex;flex-direction:column;gap:8px}.donut-legend-row{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.donut-legend-row strong{margin-left:auto;padding-left:10px;font-weight:700;color:var(--text);font-size:13px}.donut-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.donut-note{font-size:11.5px;color:var(--muted);background:#3774f014;border:1px solid rgba(55,116,240,.2);border-radius:8px;padding:8px 12px;line-height:1.5;margin:0}.donut-note strong{color:var(--accent)}.conc-cohort-label{display:inline-flex;align-items:center;font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:2px 8px;border-radius:4px;margin-bottom:8px;width:fit-content}.conc-cohort-refresh{background:#3774f021;color:#5b9ef8}.conc-cohort-nr{background:var(--surface-soft);border:1px solid var(--border);color:var(--text-muted)}.rank-list li{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;background:var(--surface-soft);border:1px solid var(--border);font-size:12px}.rl-month{color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rl-bar-track{height:5px;border-radius:99px;background:var(--border);overflow:hidden}.rl-bar-fill{height:100%;border-radius:99px;min-width:2px}.rd-bar-group{display:flex;flex-direction:column;gap:5px;margin-top:2px}.rd-bar-row{display:grid;grid-template-columns:18px 1fr 32px;align-items:center;gap:7px}.rd-bar-label{font-size:9px;font-weight:700;letter-spacing:.05em;color:var(--text-muted);text-align:right}.rd-bar-track{height:5px;border-radius:99px;background:var(--border);overflow:hidden}.rd-bar-fill{height:100%;border-radius:99px;min-width:2px;transition:width .4s ease}.rd-fill-refresh{background:#3774f0}.rd-fill-nr{background:var(--text-muted);opacity:.5}.rd-bar-pct{font-size:10px;font-weight:600;color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums}.conc-bar-list{display:flex;flex-direction:column;gap:7px}.conc-bar-row{display:flex;align-items:center;gap:8px}.conc-bar-label{font-size:11px;color:var(--muted);width:64px;flex-shrink:0;white-space:nowrap}.conc-bar-track{flex:1;height:7px;background:var(--surface-soft);border-radius:4px;overflow:hidden}.conc-bar-fill{height:100%;border-radius:4px;transition:width .4s cubic-bezier(.4,0,.2,1)}.conc-bar-pct{font-size:11px;font-weight:700;color:var(--text);width:30px;text-align:right;flex-shrink:0}.conc-divider{height:1px;background:var(--border);margin:6px 0}.mob-cohort-label{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle);margin-bottom:4px;margin-top:2px}.mob-stat-row{display:grid;grid-template-columns:20px 1fr auto auto;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--surface-soft);border:1px solid var(--border);margin-bottom:6px}.mob-icon{color:var(--subtle);flex-shrink:0;width:16px;height:16px}.mob-stat-label{font-size:12px;color:var(--muted)}.mob-count{font-size:13px;font-weight:700;color:var(--text);text-align:right;font-variant-numeric:tabular-nums}.mob-pct{font-size:10px;font-weight:700;padding:2px 7px;border-radius:20px;min-width:38px;text-align:center;background:var(--surface-strong);border:1px solid var(--border);color:var(--muted)}.mob-pct-blue{background:#3774f021;border-color:#3774f04d;color:#7ba7f7}.mob-divider{height:1px;background:var(--border);margin:4px 0 10px}.app-shell.light-theme .overview-hero-headline{background:linear-gradient(135deg,#1e3a8a,#2e3192)}.app-shell.light-theme .overview-hero-stat{background:#fff;border-color:#e2e8f0}.app-shell.light-theme .ohs-value{color:#0f172a}.app-shell.light-theme .ohs-sub{color:#64748b}.app-shell.light-theme .kpi-card{background:#fff;border-color:#e2e8f0}.app-shell.light-theme .kpi-card:hover{border-color:var(--brand-blue)}.app-shell.light-theme .kpi-value-col strong{color:#0f172a}.app-shell.light-theme .kpi-col-refresh strong{color:#1d4ed8}.app-shell.light-theme .kpi-col-nr strong{color:#0f172a}.app-shell.light-theme .kpi-nr-tag{background:#f1f5f9;border-color:#e2e8f0;color:#64748b}.app-shell.light-theme .kpi-label{color:#64748b}.app-shell.light-theme .kpi-delta-pos{background:#10b9811a;color:#059669}.app-shell.light-theme .kpi-delta-neg{background:#ef44441a;color:#dc2626}.app-shell.light-theme .overview-bottom-card{background:#fff;border-color:#e2e8f0}.app-shell.light-theme .obc-heading{color:#0f172a}.app-shell.light-theme .donut-legend-row{color:#64748b}.app-shell.light-theme .donut-legend-row strong{color:#0f172a}.app-shell.light-theme .donut-note{color:#475569}.app-shell.light-theme .conc-bar-track{background:#f1f5f9}.app-shell.light-theme .conc-bar-pct{color:#0f172a}.app-shell.light-theme .mob-stat-row{background:#f8fafc;border-color:#e2e8f0}.app-shell.light-theme .mob-count{color:#0f172a}.app-shell.light-theme .mob-pct{background:#f1f5f9;border-color:#e2e8f0;color:#64748b}.app-shell.light-theme .obc-source{border-top-color:#e2e8f0;color:#94a3b8}@media (max-width: 1200px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.kpi-grid.time-drivers-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1100px){.overview-bottom,.overview-hero{grid-template-columns:1fr 1fr}.overview-hero-headline{grid-column:1 / -1}}@media (max-width: 800px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.overview-bottom,.overview-hero{grid-template-columns:1fr}.overview-hero-headline{grid-column:auto}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
