:root{--etsy:#f1641e;--ink:#111827;--bg:#f5f7fb;--muted:#718096;--line:#e8edf3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--ink);color:#fff;width:256px;flex:0 0 256px;padding:24px 16px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:750;margin:0 10px 44px}.brand-mark{width:32px;height:32px;border-radius:10px;background:var(--etsy);display:grid;place-items:center}.sidebar-label{color:#78849b;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:700;margin:0 12px 10px}.nav-link{color:#9da8bb;border-radius:9px;padding:11px 12px;display:flex;align-items:center;gap:12px;min-height:42px}.nav-link i{font-size:16px}.nav-link:hover,.nav-link.active{background:#222b3d;color:#fff}.nav-link.active{box-shadow:inset 3px 0 var(--etsy)}.soon{margin-left:auto;color:#606d84;font-size:10px}.sidebar-footer{margin-top:auto;border-top:1px solid #293347;padding:18px 10px 4px;color:#bdc6d5;font-size:12px;line-height:1.7}.sidebar-footer small{color:#69768b}.status-dot{display:inline-block;width:7px;height:7px;background:#35c98a;border-radius:50%;margin-right:5px}.main-content{min-width:0;flex:1}.topbar{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 clamp(20px,4vw,48px);gap:14px}.topbar h1{font-size:20px;line-height:1;margin:2px 0 0;font-weight:750}.eyebrow{color:#8994a7;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.orange{color:var(--etsy)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.foundation-badge{border:1px solid #f7d6c3;background:#fff8f4;color:#c4511b;padding:7px 11px;border-radius:20px;font-size:12px;font-weight:650}.avatar,.menu-button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:50%;width:36px;height:36px;display:grid;place-items:center}.menu-button{display:none;border-radius:9px;font-size:20px}.content-wrap{padding:clamp(22px,4vw,42px);max-width:1600px;margin:auto}.welcome-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.welcome-row h2{font-size:clamp(22px,2.6vw,30px);letter-spacing:-.03em;margin:6px 0 7px;font-weight:780}.muted{color:var(--muted)}.btn-etsy{background:var(--etsy);border-color:var(--etsy);color:#fff;min-height:42px;border-radius:9px;font-weight:700;padding:0 15px}.btn-etsy:hover{background:#d95415;border-color:#d95415;color:#fff}.btn-etsy small,.btn-outline-etsy small{font-weight:600;margin-left:5px;opacity:.75}.btn-outline-etsy{border:1px solid #f3b99d;color:#d85717;min-height:42px;border-radius:9px;font-weight:700}.btn-outline-etsy:hover{background:#fff4ee;color:#b5440e}.foundation-alert{background:#fff8f4;border:1px solid #f7d6c3;color:#8d461f;border-radius:10px;margin-top:26px;padding:12px 15px;display:flex;align-items:flex-start;gap:11px}.foundation-alert i{color:var(--etsy);font-size:17px}.kpi-card,.panel{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 15px rgba(22,32,53,.035)}.kpi-card{padding:18px 19px}.kpi-top{display:flex;justify-content:space-between;color:#657188;font-size:12px;font-weight:650}.kpi-icon{width:31px;height:31px;border-radius:9px;background:#fff1e9;color:var(--etsy);display:grid;place-items:center;font-size:15px}.kpi-value{font-size:27px;font-weight:780;letter-spacing:-.04em;margin:16px 0 8px}.kpi-note{font-size:11px;color:#a0aabc}.panel{padding:21px 21px;min-height:100%}.panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.panel h3{font-size:15px;font-weight:750;margin:0 0 5px}.panel-link{font-size:12px;color:var(--etsy);font-weight:700}.chart-panel{min-height:340px}.chart-panel .form-select{width:130px;border-color:var(--line);color:#647188}.health-icon{color:#31b77b;font-size:20px}.empty-state{display:flex;align-items:center;flex-direction:column;text-align:center;padding:34px 20px 12px}.empty-icon{width:52px;height:52px;border-radius:16px;background:#fff1e9;color:var(--etsy);display:grid;place-items:center;font-size:22px;margin-bottom:14px}.empty-state h4{font-size:15px;margin:0 0 7px}.empty-state p{max-width:280px;color:var(--muted);font-size:12px;line-height:1.6;margin-bottom:18px}.table{margin-top:18px;font-size:12px}.table th{color:#9aa5b5;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:750;border-bottom-color:var(--line)}.table td{border-bottom-color:#f0f3f7}.table-empty{min-height:120px;display:flex;align-items:center;justify-content:center;gap:10px;color:#9aa5b5}.table-empty i{font-size:19px;color:#c0c8d4}.table-empty.tall{min-height:180px;flex-direction:column}.sidebar-overlay{display:none}@media(max-width:767px){.sidebar{position:fixed;z-index:20;left:-270px;top:0;transition:left .2s ease}.sidebar.open{left:0}.sidebar-overlay{position:fixed;inset:0;background:rgba(17,24,39,.35);z-index:10}.sidebar-overlay.open{display:block}.menu-button{display:grid}.topbar{height:76px;padding:0 18px}.topbar h1{font-size:18px}.foundation-badge{display:none}.content-wrap{padding:23px 16px}.welcome-row{align-items:flex-start;flex-direction:column}.welcome-row .btn{width:100%}.foundation-alert{font-size:12px}.kpi-card{padding:15px}.kpi-value{font-size:24px}.panel{padding:17px}.chart-panel{min-height:300px}}@media(max-width:420px){.kpi-card{min-height:128px}.panel-heading{flex-direction:column}.panel-heading .form-select{width:100%}}
@media(max-width:767px){.content-wrap{padding:16px 12px}.content-wrap>.welcome-row{margin-bottom:14px}.welcome-row h2{font-size:22px;margin-top:4px}.welcome-row .muted{font-size:12px}.content-wrap>form.panel{padding:12px!important;margin-bottom:12px!important;border-radius:10px}.content-wrap>form.panel .form-label{font-size:11px;margin-bottom:4px}.content-wrap>form.panel .form-select{min-height:38px;font-size:13px}.content-wrap>form.panel .btn{min-height:38px}.today-panel{padding:13px!important;border-radius:11px}.today-panel .panel-heading{flex-direction:row;align-items:flex-start}.today-panel .panel-heading h3{font-size:14px}.today-panel .panel-heading .muted{font-size:11px}.today-panel .row{margin-left:-4px;margin-right:-4px}.today-panel .row>[class*=col-]{padding-left:4px;padding-right:4px}.today-panel .kpi-card{padding:11px 10px;border-radius:9px;min-height:100px}.today-panel .kpi-top{font-size:10px}.today-panel .kpi-icon{width:25px;height:25px;font-size:12px}.today-panel .kpi-value{font-size:20px;margin:10px 0 5px}.today-panel .kpi-note{font-size:9px;white-space:nowrap}.today-panel .table{font-size:11px;margin-top:10px}.today-panel .table th{font-size:9px;padding:8px 7px}.today-panel .table td{padding:9px 7px}.today-panel .table th:nth-child(2),.today-panel .table td:nth-child(2){max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-wrap>.row.g-3{--bs-gutter-y:10px;--bs-gutter-x:10px}.content-wrap>.row.g-3 .kpi-card{padding:12px 11px}.content-wrap>.row.g-3 .kpi-value{font-size:22px;margin:11px 0 5px}.panel{padding:14px;border-radius:11px}.panel h3{font-size:14px}.chart-panel{min-height:260px}}
@media(max-width:767px){.content-wrap>article.panel.mb-3{padding:13px!important;border-radius:11px}.content-wrap>article.panel.mb-3 .kpi-card{padding:11px 10px;border-radius:9px;min-height:100px}.content-wrap>article.panel.mb-3 .kpi-value{font-size:20px;margin:10px 0 5px}}
@media(min-width:0px){.content-wrap>form.panel{display:none}.dashboard-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0}.period-buttons{display:flex;gap:6px;flex-wrap:wrap}.period-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#667388;text-decoration:none;font-size:12px;font-weight:700}.period-button:hover,.period-button.active{background:#fff1e9;border-color:#f3b99d;color:#d85717}.shop-filter-form{min-width:180px}.shop-filter{min-height:38px;font-size:12px}.dashboard-refresh{display:inline-flex;align-items:center;gap:7px;color:#d85717;border:1px solid #f3b99d;background:#fff8f4;border-radius:9px;padding:8px 12px;text-decoration:none;font-size:12px;font-weight:700}.dashboard-refresh:hover{background:#fff1e9;color:#b5440e}}@media(max-width:767px){.dashboard-controls{gap:8px;margin:10px 0}.period-buttons{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.period-button{min-height:34px;padding:0 3px;font-size:10px;white-space:nowrap}.shop-filter-form{width:100%;min-width:0}.shop-filter{min-height:34px;font-size:12px}.dashboard-refresh{min-height:34px;padding:7px 9px}.dashboard-refresh span{display:none}.welcome-row{flex-direction:row!important;align-items:center!important;gap:8px}.welcome-row>div:first-child{min-width:0}.welcome-row h2{white-space:nowrap}.welcome-row .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-controls{flex-wrap:wrap}}
@media(max-width:767px){.period-buttons{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;width:100%;padding-bottom:3px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.period-button{flex:0 0 auto!important;white-space:nowrap!important}}
/* Dashboard mobile polish */
.dashboard-controls .period-button{cursor:pointer;text-decoration:none!important;touch-action:manipulation;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}
.dashboard-controls .period-button:focus-visible{outline:3px solid rgba(241,100,30,.25);outline-offset:2px}
.dashboard-kpis .kpi-card{height:100%}
#salesChart{width:100%;min-height:300px}
.chart-panel{overflow:hidden}
@media(max-width:767px){
  .content-wrap{padding:18px 12px 28px}
  .welcome-row{display:block!important;position:relative!important;margin-bottom:16px!important}
  .welcome-row h2{font-size:23px;padding-right:88px;white-space:normal!important}
  .welcome-row .muted{white-space:normal!important;line-height:1.45}
  .welcome-row .dashboard-refresh{position:absolute;top:2px;right:0;min-height:38px;padding:8px 10px;box-shadow:0 2px 8px rgba(17,24,39,.05)}
  .dashboard-controls{display:block!important;margin:12px 0 14px!important}
  .period-buttons{display:flex!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:5px!important;background:#edf1f6;border:1px solid #e3e8ef;border-radius:12px;width:100%!important;scrollbar-width:none}
  .period-buttons::-webkit-scrollbar{display:none}
  .period-button{min-height:40px!important;flex:0 0 auto!important;padding:0 14px!important;border-radius:9px!important;background:#fff!important;border-color:#dfe5ed!important;color:#526078!important;font-size:12px!important;box-shadow:0 1px 2px rgba(17,24,39,.04)}
  .period-button:hover,.period-button.active{background:#fff1e9!important;border-color:#f3b99d!important;color:#c4511b!important;box-shadow:0 2px 6px rgba(241,100,30,.12)}
  .shop-filter-form{margin-top:9px;width:100%!important}
  .shop-filter{min-height:42px!important;border-radius:10px;font-size:13px!important}
  .dashboard-kpis{--bs-gutter-x:10px;--bs-gutter-y:10px}
  .dashboard-kpis .kpi-card{min-height:142px;padding:13px 12px;border-radius:12px}
  .dashboard-kpis .kpi-top{font-size:11px;line-height:1.25;gap:5px}
  .dashboard-kpis .kpi-icon{width:29px;height:29px;font-size:14px;flex:0 0 29px}
  .dashboard-kpis .kpi-value{font-size:23px;margin:16px 0 7px;overflow-wrap:anywhere}
  .dashboard-kpis .kpi-note{font-size:10px;white-space:nowrap}
  .chart-panel{min-height:350px;padding:14px 10px!important;border-radius:12px}
  .chart-panel .panel-heading{padding:0 4px}
  #salesChart{min-height:310px;width:100%;margin-top:2px}
}
.dashboard-loading{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(17,24,39,.24);backdrop-filter:blur(2px);padding:20px}
.dashboard-loading-card{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #f3b99d;border-radius:12px;box-shadow:0 10px 30px rgba(17,24,39,.16);padding:13px 16px;color:#39465c;font-size:13px;font-weight:700}
.dashboard-status{margin:-2px 0 12px;padding:10px 12px;border:1px solid #f3b99d;border-radius:9px;background:#fff8f4;color:#9b4217;font-size:12px}
.period-button.is-loading,.dashboard-refresh.is-loading{pointer-events:none;opacity:.55}
.simple-dashboard .dashboard-kpis{max-width:820px}.simple-dashboard .simple-sales-chart{min-height:430px}.simple-dashboard .simple-sales-chart #salesChart{min-height:360px}.simple-dashboard .kpi-note{white-space:normal}
@media (max-width:575.98px){.simple-dashboard .simple-sales-chart{min-height:380px}.simple-dashboard .simple-sales-chart #salesChart{min-height:300px}.simple-dashboard .period-buttons{width:100%}.simple-dashboard .shop-filter-form{width:100%}}
.simple-dashboard .permanent-sales-grid{max-width:1120px}
.simple-dashboard .permanent-sales-card{position:relative;overflow:hidden;min-height:154px;background:linear-gradient(135deg,#fff 0%,#fff8f4 100%);border-color:#f0e3dc}
.simple-dashboard .permanent-sales-card::after{content:"";position:absolute;width:116px;height:116px;right:-42px;bottom:-52px;border-radius:50%;background:rgba(241,100,30,.08);pointer-events:none}
.simple-dashboard .permanent-sales-card .kpi-top{position:relative;z-index:1;color:#526078;font-size:13px}
.simple-dashboard .sales-card-period{color:#c4511b;background:#fff1e9;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.simple-dashboard .sales-card-value{position:relative;z-index:1;font-size:clamp(2.15rem,4vw,3.1rem);margin:22px 0 7px;color:#111827;font-variant-numeric:tabular-nums}
.simple-dashboard .sales-card-unit-line{position:relative;z-index:1;color:#2563eb;font-size:13px;font-weight:750;margin-bottom:6px;font-variant-numeric:tabular-nums}
.simple-dashboard .sales-card-unit-line span{font-size:1.1rem;color:#1d4ed8}
.simple-dashboard .selected-units-row{max-width:1120px}
.simple-dashboard .selected-units-card{min-height:130px;background:linear-gradient(135deg,#fff 0%,#f5f8ff 100%);border-color:#dde7fa}
.simple-dashboard .selected-units-card .kpi-icon{background:#eef4ff;color:#2563eb}
.simple-dashboard .selected-units-card .kpi-value{font-variant-numeric:tabular-nums}
.simple-dashboard .simple-sales-chart{min-height:455px;background:linear-gradient(180deg,#fff 0%,#fcfdff 100%)}
.simple-dashboard .simple-sales-chart .panel-heading{align-items:center}
.simple-dashboard .chart-kicker{color:#2563eb;font-size:10px;font-weight:800;letter-spacing:.12em;margin-bottom:5px}
.simple-dashboard .chart-period-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border:1px solid #dce6f8;border-radius:999px;background:#f5f8ff;color:#315ea9;font-size:11px;font-weight:750;white-space:nowrap}
.simple-dashboard .simple-sales-chart #salesChart{min-height:380px}
@media(max-width:767px){
  .simple-dashboard .permanent-sales-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:10px;margin-right:-12px;padding:2px 12px 5px 0;scroll-snap-type:x proximity;scrollbar-width:none}
  .simple-dashboard .permanent-sales-grid::-webkit-scrollbar{display:none}
  .simple-dashboard .permanent-sales-grid>.col-12{min-width:82%;padding:0;scroll-snap-align:start}
  .simple-dashboard .permanent-sales-card{min-height:148px}
  .simple-dashboard .selected-units-row{margin-top:10px!important}
  .simple-dashboard .selected-units-card{min-height:126px}
  .simple-dashboard .simple-sales-chart{min-height:390px;padding:16px 10px!important}
  .simple-dashboard .simple-sales-chart .panel-heading{padding:0 4px;gap:10px}
  .simple-dashboard .chart-period-badge{align-self:flex-start}
  .simple-dashboard .simple-sales-chart #salesChart{min-height:315px}
}
@media(prefers-reduced-motion:reduce){.dashboard-controls .period-button{transition:none}}
@media(max-width:767px){
  .simple-dashboard .permanent-sales-card .sales-card-value{font-size:clamp(2.75rem,13vw,3.5rem);line-height:1;margin:18px 0 9px}
  .simple-dashboard .permanent-sales-card .sales-card-unit-line{font-size:15px;margin-bottom:8px}
  .simple-dashboard .permanent-sales-card .sales-card-unit-line span{font-size:1.35rem}
  .simple-dashboard .selected-units-card .kpi-value{font-size:2.4rem;margin-top:14px}
}
