:root{--bg:#f6f6fa;--ink:#242139;--muted:#8a889c;--purple:#7063dc;--teal:#27c9bb;--pink:#ef79ad;--orange:#ffb45c;--blue:#69aaf0;--border:#ecebf3;--radius:20px}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:4px}input,textarea,select{width:100%;border:1px solid #e4e2ee;background:#fff;border-radius:11px;color:var(--ink);padding:12px 14px;outline:none;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7063dc12}textarea{resize:vertical;min-height:80px}label{display:block;font-weight:600;margin:0 0 8px;font-size:12px}p{margin:0;color:#787589}h1,h2,h3{line-height:1.2;letter-spacing:-.04em;margin:0;font-weight:650}h2{font-size:18px;letter-spacing:-.02em}h3{font-size:20px}small{font-size:11px}.brand{display:flex;align-items:center;font-size:23px;letter-spacing:-1px;font-weight:700}.brand>span:last-child{font-weight:400}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;border-radius:11px;background:var(--purple);color:white;font-size:26px;margin-right:11px;box-shadow:0 5px 16px #7063dc25}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.3px;color:var(--purple)}.primary{width:100%;background:var(--purple);border:0;color:#fff;border-radius:11px;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;font-weight:600;box-shadow:0 6px 14px #7063dc20;transition:background .2s,transform .2s}.primary:hover:enabled{background:#5c4fc5;transform:translateY(-1px)}.primary span{font-size:21px;line-height:1}.secondary{background:white;color:#6b6489;border:1px solid var(--border);border-radius:8px;padding:8px 13px;font-size:12px}.secondary:hover{background:#f5f3ff}.muted{color:var(--muted);font-weight:400;font-size:12px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.teal{background:var(--teal)}.pink{background:var(--pink)}[hidden]{display:none!important}.error{color:#ae355e;background:#fff0f4;border-radius:9px;padding:11px 14px;font-size:13px}.login-page{min-height:100vh;display:grid;place-items:center;background:#f0eff7;padding:35px}.login-shell{width:min(1120px,100%);display:grid;grid-template-columns:1.12fr 1fr;min-height:685px;border-radius:28px;overflow:hidden;box-shadow:0 24px 90px #30204f12}.login-story{background:#29243e;color:white;padding:45px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story:before{content:'';position:absolute;width:470px;height:470px;border-radius:50%;background:radial-gradient(circle,#7660b828,transparent 65%);right:-200px;top:80px;pointer-events:none}.login-story .brand-mark{background:#ffffff16}.login-story .eyebrow{color:#b6acd9}.login-story h1{font-size:46px;margin:20px 0;letter-spacing:-2px;line-height:1.16}.login-story h1 em{font-style:normal;color:#40cfbf}.login-story p{color:#b9b2c9;font-size:14px;line-height:1.8}.story-footer{color:#8a829b;letter-spacing:2px;font-size:9px}.login-art{margin:35px 0 22px;background:#ffffff04;border:1px solid #ffffff0c;border-radius:16px;padding:18px}.art-top,.art-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#c4bdd4;gap:12px}.art-top span:last-child{color:#938aa9;font-size:9px}.login-art svg{width:100%;margin:12px 0}.art-bottom span{display:flex;align-items:center;gap:7px}.art-bottom small{margin-left:auto;font-size:8px;color:#938aa9}.login-form-panel{background:white;display:flex;align-items:center;justify-content:center;padding:45px}.login-form-wrap{width:100%;max-width:320px}.login-form-wrap h2{font-size:30px;margin:17px 0 12px}.login-form-wrap>p{margin-bottom:36px;font-size:13px}.login-form-wrap label{margin-top:22px}.login-form-wrap input{padding:14px}.login-form-wrap .primary{margin-top:27px}.login-form-wrap .error{margin-top:15px}.secure-note{font-size:11px;color:#9691a7;text-align:center;margin-top:27px}.topbar{height:87px;background:white;border-bottom:1px solid var(--border);padding:0 max(28px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar-right{display:flex;align-items:center;gap:30px}.source-badge{display:flex;gap:8px;align-items:center;font-size:11px;color:#827c94}.logout{border:0;background:none;font-size:12px;color:#68617c}.workspace{max-width:1240px;margin:auto;padding:40px 28px 20px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.page-heading h1{font-size:34px;margin:10px 0 12px;letter-spacing:-1.3px}.page-heading h1>span{color:var(--teal)}.page-heading p{font-size:13px}.heading-icon{font-size:50px;line-height:1;color:var(--purple);background:#eeebfa;width:76px;height:76px;border-radius:23px;text-align:center;padding-top:11px;transform:rotate(-6deg)}.panel{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:26px 30px;margin-bottom:23px;box-shadow:0 5px 20px #24213902}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px}.section-title h2{display:flex;align-items:center;gap:11px}.step{font-size:10px;font-weight:600;letter-spacing:0;background:#f0edf9;color:#8d7cc0;border-radius:7px;width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center}.section-title p{margin:9px 0 0 38px}.input-help{color:#9b95a8;font-size:11px;margin:7px 0 22px}.filter-grid{display:grid;grid-template-columns:1.2fr 1fr .9fr .9fr;gap:22px;align-items:start}.filter-grid input{padding:9px 12px;font-size:12px;border-radius:8px;margin-bottom:7px;background:#fcfbff}.filter-grid select{padding:11px 10px;font-size:12px}.fixed-value{background:#f8f7fb;border-radius:8px;height:41px;display:flex;align-items:center;gap:9px;padding:0 13px;font-size:12px;color:#9c96ae}.fixed-value strong{color:#655e78;font-weight:500}.fixed-value>span{font-size:9px;margin-left:auto;text-transform:uppercase;letter-spacing:1px}.time-label{margin-top:9px;margin-bottom:4px;font-size:10px;color:#8b839c}.submit-cell{align-self:center;text-align:center;padding-top:20px}.submit-cell small{display:block;margin-top:9px;color:#aaa2b7;font-size:9px}.status{font-size:12px;color:#8a849b;margin-top:18px}.status:empty{display:none}.status.is-error{color:#b63860;background:#fff0f4;border-radius:8px;padding:10px 13px}.status.is-loading{color:var(--purple)}.status.is-loading:before{content:'';display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid #ded8f8;border-top-color:var(--purple);animation:spin 1s linear infinite;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.chart-panel{padding-top:26px}.actions{display:flex;gap:8px}.empty{text-align:center;padding:50px 10px 60px}.empty-icon{font-size:38px;color:#aaa0ce;background:#f3f0fa;border-radius:18px;width:70px;height:70px;margin:0 auto 20px;line-height:70px}.empty h3{font-size:19px;letter-spacing:-.5px}.empty p{font-size:12px;margin:12px 0 20px;line-height:1.8;color:#a19baa}.palette{display:flex;gap:6px;justify-content:center}.palette i{height:5px;width:25px;border-radius:6px;background:var(--teal)}.palette i:nth-child(2){background:var(--pink)}.palette i:nth-child(3){background:var(--purple)}.palette i:nth-child(4){background:var(--orange)}.palette i:nth-child(5){background:var(--blue)}.legend{display:flex;flex-wrap:wrap;gap:9px;margin:10px 0 22px}.legend button{border:1px solid var(--border);border-radius:22px;background:#fff;padding:7px 12px;color:#70687f;font-size:11px;display:flex;align-items:center;gap:7px;max-width:100%;overflow-wrap:anywhere}.legend button[aria-pressed=false]{opacity:.4;text-decoration:line-through}.chart-wrap{position:relative;height:345px}.chart-footnote{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#a199ae;margin:20px 0 25px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat{background:#faf9fc;border:1px solid var(--border);border-radius:12px;padding:17px;border-top:3px solid var(--series)}.stat-name{font-size:11px;display:flex;align-items:center;gap:7px;color:#797187;overflow-wrap:anywhere}.stat-value{font-size:28px;font-weight:650;letter-spacing:-1px;margin-top:9px}.stat-value small{font-size:10px;color:#a198ad;font-weight:400;letter-spacing:0}.stat-footer{font-size:10px;color:#9c92a9;margin-top:4px}.chart-panel #result-meta{margin-top:17px;font-size:10px}.table-scroll{overflow:auto;max-height:440px;border:1px solid var(--border);border-radius:11px}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th,td{text-align:left;padding:12px 18px;border-bottom:1px solid var(--border)}th{font-weight:600;background:#f8f7fc;position:sticky;top:0;z-index:1;color:#80738f}th .dot{margin-right:7px}td{color:#7d7289}tbody tr:hover{background:#fbfaff}details{margin-top:20px;color:#8c809c;font-size:12px}summary{cursor:pointer}pre{background:#f8f7fc;border-radius:10px;padding:18px;max-height:350px;overflow:auto;font-size:11px;color:#787085}footer{display:flex;justify-content:space-between;gap:18px;font-size:11px;color:#8f849f;padding:9px 0 15px}footer a{border-bottom:1px solid #ddd5e8}.controls #retry{margin-top:10px}@media(min-width:1600px){.workspace{padding-top:55px}.page-heading{margin-bottom:40px}}@media(max-width:900px){.filter-grid{grid-template-columns:1fr 1fr}.submit-cell{align-self:center}.login-story{padding:30px}.login-story h1{font-size:37px}.login-shell{min-height:620px}.login-form-panel{padding:30px}.source-badge{display:none}.page-heading h1{font-size:28px}}@media(max-width:600px){.login-page{padding:16px}.login-shell{grid-template-columns:1fr;max-width:440px}.login-story{padding:25px;min-height:235px}.login-story .brand{font-size:19px}.login-story h1{font-size:30px;margin:18px 0 10px}.login-story h1 br{display:none}.login-story .eyebrow,.login-story .login-art,.story-footer{display:none}.login-story p{font-size:12px}.login-form-panel{padding:30px 25px}.login-form-wrap h2{font-size:27px}.login-form-wrap>p{margin-bottom:20px}.topbar{height:72px;padding:0 20px}.brand{font-size:21px}.brand-mark{width:30px;height:30px;font-size:23px}.workspace{padding:27px 16px 12px}.page-heading h1{font-size:28px;max-width:290px}.heading-icon{display:none}.page-heading p{font-size:12px}.panel{padding:21px 18px;border-radius:16px}.section-title{align-items:flex-start}.section-title h2{font-size:16px}.controls .section-title>.muted{font-size:10px;max-width:80px;text-align:right}.filter-grid{gap:17px;grid-template-columns:1fr}.submit-cell{padding-top:4px}.chart-wrap{height:300px}.chart-footnote{flex-direction:column;gap:6px}.chart-panel .section-title{flex-wrap:wrap}.chart-panel .section-title p{margin-left:0;font-size:10px}.stats{grid-template-columns:1fr 1fr}.stat{padding:12px}footer{flex-direction:column;gap:5px;font-size:10px}.empty{padding:40px 0}.empty h3{font-size:17px}.data-panel .section-title{flex-wrap:wrap}}
.calendar-panel{background:#faf8fe;border:1px solid #ede7f7;border-radius:12px;padding:13px 16px;margin:0 0 12px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.calendar-toolbar label{display:flex;align-items:center;gap:7px;margin:0;font-size:11px;color:#887896;font-weight:500;cursor:pointer}.calendar-toolbar input{width:14px;height:14px;margin:0;accent-color:#9680d9;padding:0;box-shadow:none}.calendar-toolbar .calendar-main-toggle{font-weight:650;color:#736387;font-size:12px}.calendar-filters{display:flex;flex-wrap:wrap;gap:17px}.holiday-dot{background:#a28ce7}.occasion-dot{background:#e887aa}.break-dot{background:#48b9ab}.calendar-meta{font-size:10px;color:#a091af;margin-top:9px;line-height:1.7}.calendar-tooltip{position:absolute;z-index:5;pointer-events:none;background:#30273f;color:white;border-radius:10px;max-width:260px;width:250px;padding:11px 13px;box-shadow:0 8px 30px #28203525;font-size:11px}.calendar-tooltip>div+div{margin-top:9px;border-top:1px solid #ffffff20;padding-top:8px}.calendar-tooltip strong,.calendar-tooltip small{display:block}.calendar-tooltip small{font-size:10px;color:#d2c4df;margin-top:3px}.calendar-events{margin:4px 0 24px;border:1px solid #eee8f5;border-radius:11px;padding:12px 15px}.calendar-events summary{font-size:11px;color:#8d7a9e}.calendar-event-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;margin-top:15px}.calendar-event{background:#fcfbfd;border:1px solid #eee8f5;border-left:3px solid var(--event-color);border-radius:7px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:10px 11px;color:#786487;font-size:11px;line-height:1.5}.calendar-event small{color:#a695b4;font-size:9px}.calendar-event:hover,.calendar-event[aria-pressed=true]{background:#f1edf8;border-color:var(--event-color)}.calendar-source{font-size:10px;color:#aa9ab6;margin-top:13px}.calendar-source a{border-bottom:1px solid #cfc3dc}@media(max-width:600px){.calendar-panel{padding:12px}.calendar-filters{gap:10px}.calendar-toolbar label{font-size:10px}.calendar-meta{font-size:9px}.calendar-event-list{grid-template-columns:1fr}.calendar-tooltip{width:230px;max-width:230px}}
.date-controls{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.4fr;gap:18px;align-items:end;border-top:1px solid var(--border);padding-top:20px;margin-top:23px}.date-controls input,.date-controls select{font-size:12px;padding:10px 12px}.date-controls p{font-size:10px;color:#9a8ca8;padding-bottom:5px}.sales-import-status{font-size:10px;color:#8d7d9e;background:#faf8fd;border-radius:8px;margin-top:17px;padding:10px 13px}.sales-panel{margin:14px 0 5px;background:#faf9fc;border:1px solid #e8e3ed;border-radius:12px;padding:13px 16px}.sales-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.sales-toolbar .sales-main-toggle{display:flex;align-items:center;gap:7px;font-size:12px;margin:0;color:#514663}.sales-main-toggle input{width:14px;height:14px;margin:0;accent-color:#514663;box-shadow:none}.sales-toolbar select{width:auto;max-width:100%;font-size:11px;padding:8px 12px;margin-left:auto}.sales-toolbar .secondary{font-size:10px}.sales-meta{font-size:10px;color:#9d8caa;line-height:1.8;margin-top:10px}.sales-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:12px}.sales-stat{padding-top:8px;border-top:1px solid #ece6f0;display:flex;flex-direction:column;gap:3px}.sales-stat small{font-size:9px;color:#a494af}.sales-stat strong{font-weight:600;color:#685573;font-size:13px}.chart-wrap{height:390px}@media(max-width:900px){.date-controls{grid-template-columns:1fr 1fr 1fr}.date-controls p{grid-column:1/-1}.sales-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.date-controls{grid-template-columns:1fr 1fr;gap:12px}.date-controls>div:first-child{grid-column:1/-1}.sales-panel{padding:12px}.sales-toolbar{gap:9px}.sales-toolbar select{width:100%;margin:0}.sales-stats{grid-template-columns:1fr 1fr}.sales-stat strong{font-size:12px}.sales-meta{font-size:9px}.chart-wrap{height:340px}}
.average-controls{display:flex;flex-direction:column;gap:6px;margin:-6px 0 18px;padding:10px 13px;background:#fffaf1;border:1px solid #f3e6ce;border-radius:10px}.average-controls label{display:flex;align-items:center;gap:8px;margin:0;font-size:11px;color:#b27d32}.average-controls input{width:14px;height:14px;margin:0;accent-color:#ce8c35;box-shadow:none}.average-controls span{font-size:10px;color:#a88e67;line-height:1.7}

.market-menu{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.market-menu button{border:1px solid #e3dceb;background:white;padding:10px 14px;border-radius:12px;cursor:pointer}.market-menu button[aria-pressed="true"]{background:#514663;color:white}#changes{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat p{font-size:13px}

.yoy-marker-note{color:#962071;font-weight:600}
#changes .stat strong,#changes .stat small{display:block}#changes .stat small{margin-top:8px;line-height:1.5}#changes .stat p{margin:8px 0}

#average-mode{max-width:320px;padding:6px;font-size:12px}
