:root {
  --overview-gap:10px;
  --overview-pad:12px;
  --overview-number:22px;

  --touch-target:44px;
  --mobile-font:16px;
  --mobile-gap:10px;
  --mobile-gutter:12px;
  --mobile-padding:14px;
  --mobile-number:21px;
  --mobile-label:12px;
  --chart-mobile-label:20px;

  --primary:#ea629d;
  --primary-ink:#922353;
  --accent:#725a9a;
  --bg:#faf7f9;
  --surface:#ffffff;
  --text:#30232b;
  --muted:#6d616a;
  --line:#e7dfe4;
  --normal:#237446;
  --reminder:#925a0d;
  --abnormal:#ba343f;
  --demo:#606975;
  --soft:#fce9f1;
  --normal-bg:#eaf6ef;
  --warn-bg:#fff4df;
  --bad-bg:#fff0f0;
  --demo-bg:#eff1f4;
  --overlay:#30232b66;
  --radius:14px;
  --space:22px;
  --small:10px;
  --tiny:5px;
  --shadow:0 6px 24px #30232b0a;
  --font-body:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --font-brand:Georgia,serif;
  --font-regular:400;
  --font-medium:500;
  --font-semibold:600;
  --font-bold:700;
  --tracking-tight:-0.3px;
  --focus-width:2px;
  --focus-offset:3px;
  --logo-width:172px;
  --logo-width-mobile:140px;
  --logo-height:58px;
  --body-line-height:1.6;
  --heading-line-height:1.3;
  --number-line-height:1.2;
  --button-line-height:1.4;
  --size-neg-1:-1px;
  --size-1:1px;
  --size-2:2px;
  --size-3:3px;
  --size-4:4px;
  --size-5:5px;
  --size-6:6px;
  --size-7:7px;
  --size-8:8px;
  --size-9:9px;
  --size-10:10px;
  --size-11:11px;
  --size-12:12px;
  --size-13:13px;
  --size-14:14px;
  --size-15:15px;
  --size-16:16px;
  --size-17:17px;
  --size-18:18px;
  --size-20:20px;
  --size-21:21px;
  --size-22:22px;
  --size-23:23px;
  --size-24:24px;
  --size-25:25px;
  --size-26:26px;
  --size-30:30px;
  --size-31:31px;
  --size-32:32px;
  --size-35:35px;
  --size-40:40px;
  --size-43:43px;
  --size-44:44px;
  --size-48:48px;
  --size-54:54px;
  --size-76:76px;
  --size-80:80px;
  --size-90:90px;
  --size-110:110px;
  --size-140:140px;
  --size-150:150px;
  --size-220:220px;
  --size-230:230px;
  --size-270:270px;
  --size-560:560px;
  --size-720:720px;
  --size-740:740px;
  --size-900:900px;
  --size-1280:1280px;
  --size-1840:1840px;
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--size-14);line-height:1.5}button,input,select{font:inherit}button,a,input,select{outline-offset:var(--size-4)}button{cursor:pointer;color:inherit}button{background:var(--surface);border:var(--size-1) solid var(--line);border-radius:var(--small);padding:var(--size-10) var(--size-14)}button:hover{border-color:var(--primary);background:var(--soft)}a{color:inherit;text-decoration:none}#workshop{position:fixed;top:0;left:0;z-index:1000;background:var(--text);color:var(--surface);padding:var(--size-8) var(--size-18);font-size:var(--size-11);font-weight:700;letter-spacing:var(--size-1);border-radius:0 0 var(--small) 0}aside{position:fixed;inset:0 auto 0 0;width:var(--size-220);padding:var(--size-76) var(--space) var(--space);background:var(--surface);border-right:var(--size-1) solid var(--line)}.logo{display:flex;align-items:center;gap:var(--small);font-size:var(--size-21)}.brandmark{display:grid;place-items:center;background:var(--primary);color:var(--surface);width:var(--size-43);height:var(--size-43);border-radius:var(--small);font-family:var(--font-brand)}.sidebar-caption{margin:var(--size-35) 0 var(--small);font-size:var(--size-11);color:var(--muted)}nav{display:grid;gap:var(--tiny)}nav a{padding:var(--size-14) var(--size-10);border-radius:var(--small);display:flex;gap:var(--small)}nav .selected{background:var(--soft);color:var(--primary);font-weight:700}.sidebar-foot{position:absolute;bottom:var(--size-30);color:var(--muted);font-size:var(--size-12)}main{margin-left:var(--size-220);padding:var(--size-48) var(--size-32) var(--space);max-width:var(--size-1840)}header{display:flex;align-items:center;justify-content:space-between;gap:var(--space);margin-bottom:var(--space)}h1{font-size:var(--size-30);letter-spacing:var(--size-neg-1);margin:var(--size-5) 0}h2{font-size:var(--size-20);margin:0 0 var(--small)}h3{font-size:var(--size-14);margin:0}p{margin:var(--size-8) 0}header p,.muted{color:var(--muted)}.eyebrow{font-size:var(--size-11);letter-spacing:var(--size-1);color:var(--muted);text-transform:uppercase}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--small)}.language{display:flex;align-items:center}.language button{border:0;background:transparent;padding:var(--size-7)}.language .active{color:var(--primary);font-weight:700}select,input{border:var(--size-1) solid var(--line);border-radius:var(--small);padding:var(--size-11);background:var(--surface);color:var(--text);max-width:100%}.notice{background:var(--warn-bg);color:var(--reminder);border:var(--size-1) solid var(--accent);border-radius:var(--small);padding:var(--size-12) var(--size-16);font-size:var(--size-12)}.summary{padding:var(--space) 0}.summary h2{font-size:var(--size-22);line-height:1.6;font-weight:500;margin:var(--size-4) 0}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--size-14)}.metric,.panel{background:var(--surface);border:var(--size-1) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.metric{padding:var(--size-18);min-width:0}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:var(--tiny)}.info{border:0;padding:0;background:transparent;color:var(--muted);font-size:var(--size-17)}.metric-value{display:block;border:0;padding:var(--size-10) 0 var(--size-4);font-size:var(--size-25);letter-spacing:var(--size-neg-1);font-weight:700;background:transparent;text-align:left;word-break:break-word}.comparison{font-size:var(--size-11);color:var(--normal);min-height:var(--size-32)}.metric small{display:block;font-size:var(--size-10);color:var(--muted);line-height:1.7}.source{display:block;font-size:var(--size-10);color:var(--demo);margin-top:var(--size-8)}.panel{padding:var(--space)}.attention{margin-top:var(--space)}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:var(--small);flex-wrap:wrap}.sectionhead h2{margin:0}.attention-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--small);margin-top:var(--size-18)}.attention-item{border:var(--size-1) solid var(--line);display:flex;align-items:center;gap:var(--small);text-align:left;min-width:0}.attention-item>span:nth-child(2){flex:1}.attention-item small{display:block;color:var(--muted);font-size:var(--size-11)}.attention-item .source{display:inline-block}.dot{width:var(--size-8);height:var(--size-8);border-radius:50%;background:var(--reminder);flex-shrink:0}.dot.bad{background:var(--abnormal)}.badge{display:inline-block;font-size:var(--size-10);padding:var(--size-2) var(--size-7);border-radius:var(--tiny);white-space:nowrap}.badge.ok{color:var(--normal);background:var(--soft)}.badge.warn{color:var(--reminder);background:var(--warn-bg)}.badge.demo{color:var(--demo);background:var(--demo-bg)}.areas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--size-16);margin:var(--space) 0}.mini{padding:var(--size-18)}.mini h3{font-size:var(--size-16)}.mini-stats{margin-top:var(--size-16);display:grid;gap:var(--size-9)}.mini-stats button{border:0;border-radius:var(--tiny);padding:var(--size-5) 0;text-align:left;display:flex;justify-content:space-between;gap:var(--size-8);flex-wrap:wrap}.mini-stats span{color:var(--muted);font-size:var(--size-12)}.mini-stats b{font-size:var(--size-13)}.charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space)}.chart{min-width:0}.chart h3{font-size:var(--size-16)}.chart .muted{font-size:var(--size-11)}svg{width:100%;height:auto;display:block;overflow:visible}svg text{fill:var(--muted);font-size:var(--size-11)}svg [data-action]{cursor:pointer}svg [data-action]:hover{opacity:.65}.gridline{stroke:var(--line)}.legend{display:flex;gap:var(--size-18);font-size:var(--size-11);margin:var(--size-18) 0 var(--size-8);color:var(--muted)}.legend i{display:inline-block;width:var(--size-9);height:var(--size-9);border-radius:50%;margin-right:var(--size-7)}.horizontal{display:grid;gap:var(--size-15);padding:var(--size-20) 0}.horizontal button{border:0;padding:var(--size-8) 0;display:grid;grid-template-columns:var(--size-80) 1fr var(--size-24);gap:var(--size-14);align-items:center;font-size:var(--size-12);text-align:left}.track{height:var(--size-15);background:var(--soft);border-radius:var(--tiny);overflow:hidden}.track i{display:block;background:var(--primary);height:100%;border-radius:var(--tiny)}footer{padding:var(--size-30) 0 var(--size-5);color:var(--muted);font-size:var(--size-11);text-align:center}.settings{margin-top:var(--space)}.data-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--small);margin:var(--space) 0}.data-counts button{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:var(--small)}.actions{display:flex;gap:var(--small);flex-wrap:wrap;margin-top:var(--space)}.primary{background:var(--primary);color:var(--surface)}.danger{color:var(--abnormal);background:var(--bad-bg)}.shade{position:fixed;inset:0;background:var(--overlay);z-index:500;display:flex;justify-content:flex-end;padding-top:var(--size-44)}.modal{width:min(var(--size-720),100%);height:100%;overflow:auto;background:var(--surface);padding:var(--space);box-shadow:var(--shadow)}.modalhead{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--small);margin-bottom:var(--space)}.modalhead h2{font-size:var(--size-20)}.filters{display:flex;gap:var(--tiny);margin:var(--space) 0;flex-wrap:wrap}.filters input{flex:1;min-width:var(--size-150)}.listrow{width:100%;border:0;border-bottom:var(--size-1) solid var(--line);border-radius:0;display:flex;justify-content:space-between;gap:var(--small);text-align:left;padding:var(--size-16) 0}.listrow small{display:block;color:var(--muted);margin-top:var(--size-5)}.listrow>span:last-child{text-align:right}dl{margin:var(--space) 0}dl>div{display:grid;grid-template-columns:40% 1fr;border-bottom:var(--size-1) solid var(--line);padding:var(--size-12) 0;gap:var(--small)}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.history{font-size:var(--size-12);color:var(--muted)}.empty{text-align:center;padding:var(--size-40) var(--small);color:var(--muted)}#toast{position:fixed;bottom:var(--size-30);left:50%;transform:translateX(-50%);background:var(--text);color:var(--surface);padding:var(--size-14) var(--space);border-radius:var(--small);z-index:1100;display:none;max-width:90%}#toast.show{display:block}form label{display:grid;gap:var(--tiny);margin-bottom:var(--small)}@media(min-width:1600px){.metric-value{font-size:var(--size-31)}}@media(max-width:1200px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.areas{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{justify-content:flex-end}header{align-items:flex-start}}@media(max-width:800px){aside{position:static;width:100%;padding:var(--size-54) var(--size-20) var(--size-14);border-bottom:var(--size-1) solid var(--line);border-right:0;display:flex;justify-content:space-between;align-items:center;gap:var(--small)}.sidebar-caption,.sidebar-foot{display:none}nav{display:flex}nav a{padding:var(--size-10)}.logo{font-size:var(--size-16)}.brandmark{width:var(--size-32);height:var(--size-32)}main{margin:0;padding:var(--space) var(--size-16)}.charts{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}header{flex-direction:column;gap:var(--small)}.toolbar{justify-content:space-between;width:100%}h1{font-size:var(--size-26)}.summary h2{font-size:var(--size-18)}.attention-grid{grid-template-columns:1fr}.data-counts{grid-template-columns:1fr}.metric-value{font-size:var(--size-23)}.panel{padding:var(--size-18)}.sectionhead .muted{font-size:var(--size-11)}}@media(max-width:420px){.areas{grid-template-columns:1fr}.logo b{display:none}.metric{padding:var(--size-14)}.metric-value{font-size:var(--size-21)}.metric h3{font-size:var(--size-12)}.modal{padding:var(--size-18)}.attention-item{padding:var(--size-10)}.listrow{font-size:var(--size-12)}}

.sales-tabs{display:flex;flex-wrap:wrap;margin:var(--space) 0 var(--small);gap:var(--tiny)}.sales-tabs a{font-size:var(--size-12);padding:var(--size-10) var(--size-14);border:var(--size-1) solid var(--line);background:var(--surface)}.sales-list{margin:var(--space) 0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--size-12)}th,td{text-align:left;padding:var(--size-14) var(--size-10);border-bottom:var(--size-1) solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:500;white-space:nowrap}td small{display:block;color:var(--muted);font-size:var(--size-10)}td button{padding:var(--size-6) var(--size-9);margin:var(--size-2);white-space:nowrap}.sales-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--small);margin-top:var(--space)}.sales-summary h2{margin:var(--size-8) 0}.sales-board{display:flex;overflow:auto;gap:var(--small);align-items:flex-start;padding-bottom:var(--space);margin-top:var(--space)}.sales-board>section{min-width:var(--size-230);flex:1;padding:var(--size-16)}.board-card{display:grid;gap:var(--tiny);width:100%;text-align:left;margin-top:var(--small);padding:var(--size-14)}.board-card small{color:var(--muted)}textarea{font:inherit;border:var(--size-1) solid var(--line);border-radius:var(--small);padding:var(--small);resize:vertical;color:var(--text);background:var(--surface)}input:disabled,select:disabled,textarea:disabled{opacity:.65;background:var(--bg)}.calculation{background:var(--soft);padding:var(--small);border-radius:var(--small)}@media(max-width:800px){.sales-summary{grid-template-columns:repeat(2,minmax(0,1fr))}aside nav{flex-wrap:wrap;font-size:var(--size-12)}.sales-tabs{gap:var(--tiny)}.sales-tabs a{padding:var(--size-8)}td,th{padding:var(--size-10) var(--size-7)}}

.ad-budget-panel{margin-bottom:var(--space)}.ad-budget-values{display:grid;grid-template-columns:1fr 1fr;gap:var(--small);margin-top:var(--small)}.ad-budget-values button{text-align:left;display:grid;gap:var(--tiny);padding:var(--space)}.ad-budget-values span{color:var(--muted)}.ad-budget-values b{font-size:var(--size-24)}@media(max-width:420px){.ad-budget-values{grid-template-columns:1fr}}

.dashboard-bottom{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space);align-items:start;margin-top:var(--space)}.dashboard-bottom .attention{margin-top:0}.ad-budget-chart{max-width:var(--size-900);margin:var(--space) auto 0}@media(max-width:1000px){.dashboard-bottom{grid-template-columns:1fr}}

.sales-before-ads{margin-bottom:var(--space)}

.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1200px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.areas{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-bottom{grid-template-columns:1fr}.gateway-row{margin:var(--small) 0}.gateway-row small{display:block;margin-bottom:var(--tiny)}@media(max-width:1200px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.metrics,.areas{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.areas{grid-template-columns:1fr}}

.sales-kpi-section{margin-top:var(--space)}.sales-kpi-section>h2{margin-bottom:var(--small)}

.sales-kpi-section{background:var(--surface);border:var(--size-1) solid var(--line);border-radius:var(--radius);padding:var(--space);box-shadow:var(--shadow)}.sales-kpi-section>.metrics>.metric{box-shadow:none;background:var(--bg)}@media(max-width:800px){.sales-kpi-section{padding:var(--size-18)}}

.areas-group{margin:var(--space) 0}.areas-group>.areas{margin:0;grid-template-columns:repeat(3,minmax(0,1fr))}.areas-group .mini{background:var(--bg);box-shadow:none}.areas-group .mini-stats button{background:transparent}@media(max-width:650px){.areas-group>.areas{grid-template-columns:1fr}}

.sales-kpi-section>.metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--small)}.sales-kpi-section>.metrics>.metric{grid-column:span 2;padding:var(--size-14)}.sales-kpi-section>.metrics>.metric:nth-child(n+4){grid-column:span 3}.sales-kpi-section .metric-value{font-size:var(--size-24);padding-top:var(--size-6)}.sales-kpi-section .comparison{min-height:0;margin:var(--size-5) 0}.sales-kpi-section .source{margin-top:var(--size-5)}@media(max-width:650px){.sales-kpi-section>.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-kpi-section>.metrics>.metric,.sales-kpi-section>.metrics>.metric:nth-child(n+4){grid-column:span 1}.sales-kpi-section>.metrics>.metric:last-child{grid-column:1 / -1}}

.ad-budget-panel,.chart-cash_chart,.dashboard-bottom .attention{padding:var(--size-16)}.ad-budget-panel h2,.chart-cash_chart h3,.dashboard-bottom .attention h2{font-size:var(--size-16)}.ad-budget-panel .muted,.chart-cash_chart .muted{font-size:var(--size-10)}.ad-budget-values{gap:var(--size-8);margin-top:var(--size-8)}.ad-budget-values button{padding:var(--size-10) var(--size-14);gap:var(--size-2)}.ad-budget-values b{font-size:var(--size-20)}.ad-budget-values span{font-size:var(--size-11)}.ad-budget-chart{max-width:var(--size-560);margin:var(--size-10) auto 0}.ad-budget-chart .legend,.chart-cash_chart .legend{margin-top:var(--size-8);font-size:var(--size-10)}.chart-cash_chart>svg{max-width:var(--size-560);margin:0 auto}.dashboard-bottom .attention-grid{gap:var(--size-8);margin-top:var(--size-10)}.dashboard-bottom .attention-item{padding:var(--size-8) var(--size-10);gap:var(--size-8)}.dashboard-bottom .attention-item b{font-size:var(--size-12)}.dashboard-bottom .attention-item small{font-size:var(--size-10)}.dashboard-bottom .attention-item .source{font-size:var(--size-9);margin-top:var(--size-3)}.dashboard-bottom .attention .empty{padding:var(--size-18) var(--size-8)}

[data-table="sales_customers"] table{min-width:var(--size-1280)}[data-table="sales_customers"] td{max-width:var(--size-220);overflow-wrap:anywhere}[data-table="sales_customers"] th{white-space:nowrap}

.overview-toolbar{margin-top:var(--space)}.sales-analysis-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--small)}.sales-checks{margin:var(--space) 0}.sales-analysis-chart{padding:var(--size-18)}.sales-analysis-chart>svg{max-height:var(--size-270)}.sales-analysis-chart .horizontal{padding:var(--size-10) 0}.sales-analysis-chart .horizontal button{grid-template-columns:var(--size-110) 1fr auto}.sales-analysis-charts{margin-top:var(--small)}@media(max-width:700px){.sales-analysis-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-analysis-chart .horizontal button{grid-template-columns:var(--size-90) 1fr auto}}

.payment-summary{margin:var(--space) 0}.payment-summary table{min-width:var(--size-740)}.payment-summary td:not(:first-child){white-space:nowrap}

.department-emphasis{border-color:var(--primary);box-shadow:inset var(--size-3) 0 var(--primary)}.department-emphasis .source{color:var(--primary);font-weight:700}.missing-months{font-size:var(--size-11);color:var(--muted)}.chart-sales_chart .legend{flex-wrap:wrap}

/* Shared brand treatment; business structure and data behavior are unchanged. */
body{line-height:var(--body-line-height)}.logo{width:100%;min-width:0}.brand-logo{display:block;width:var(--logo-width);max-width:100%;height:var(--logo-height);object-fit:contain;object-position:left center}.logo b{display:block;white-space:normal;overflow-wrap:anywhere}.primary{background:var(--primary);color:var(--text);font-weight:var(--font-bold);border-color:var(--primary)}.primary:hover{background:var(--soft);border-color:var(--primary-ink);color:var(--primary-ink)}nav .selected,.language .active{color:var(--primary-ink)}.badge.ok{color:var(--normal);background:var(--normal-bg)}.badge.warn{color:var(--reminder);background:var(--warn-bg)}.badge.demo{color:var(--demo);background:var(--demo-bg)}.badge.bad{color:var(--abnormal);background:var(--bad-bg)}.source{color:var(--demo)}.department-emphasis .source{color:var(--primary-ink)}.comparison{color:var(--muted)}.metric-value{font-variant-numeric:tabular-nums;line-height:var(--number-line-height);white-space:normal}.mini-stats b,.ad-budget-values b,td{font-variant-numeric:tabular-nums}button{line-height:var(--button-line-height);white-space:normal;overflow-wrap:anywhere}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-width) solid var(--primary-ink);outline-offset:var(--focus-offset)}h1,h2,h3{line-height:var(--heading-line-height);overflow-wrap:anywhere}.toolbar,.sectionhead,.modalhead,.filters,.actions{min-width:0}.sectionhead>*,.modalhead>*,.toolbar>*{min-width:0}.modalhead button{flex-shrink:0}.sales-tabs a{white-space:normal;overflow-wrap:anywhere}.sales-analysis-chart .horizontal button{grid-template-columns:minmax(var(--size-80),var(--size-140)) minmax(var(--size-30),1fr) auto}.horizontal button>span{white-space:normal;overflow-wrap:anywhere}.legend{flex-wrap:wrap}.legend span{overflow-wrap:anywhere}.table-scroll{max-width:100%}input,select,textarea{width:100%;min-width:0}select{width:auto}form select{width:100%}td button{white-space:normal}.metric-top{align-items:flex-start}.info{flex-shrink:0}.payment-summary h2{margin-bottom:var(--size-10)}
@media(max-width:800px){aside{align-items:center}.logo{width:auto;flex:0 1 var(--logo-width-mobile)}.brand-logo{width:var(--logo-width-mobile);height:auto}aside nav{min-width:0}.logo b{display:block}}
@media(max-width:420px){aside{flex-wrap:wrap;gap:var(--size-10)}aside nav{width:100%;justify-content:space-between}.logo{flex-basis:var(--logo-width-mobile)}.logo b{display:block}.modalhead{flex-wrap:wrap}.actions>button{max-width:100%}}

/* PROMPT 08: responsive controls and mobile record cards. */
.mobile-navigation{display:none}
main,header,.panel,.metric,.charts,.areas,.sales-summary,.table-scroll,.modal,.modalhead,.listrow,.gateway-row{min-width:0;max-width:100%}
button,select,input:not([type=checkbox]),input:not([type=radio]),textarea,.sales-tabs a,nav a{min-height:var(--touch-target)}
button,.sales-tabs a,nav a{touch-action:manipulation}
button.info{width:var(--touch-target);min-width:var(--touch-target);height:var(--touch-target);display:grid;place-items:center}
.metric-top{gap:0}.metric-top h3{padding-top:var(--size-10)}
form{display:grid;grid-template-columns:minmax(0,1fr)}
form input,form select,form textarea{width:100%;max-width:100%}
.listrow{flex-wrap:wrap}.listrow>span{min-width:0;overflow-wrap:anywhere}
.shade{height:100vh;height:100dvh;max-width:100vw;overflow:hidden}
.modal{max-height:100%;overscroll-behavior:contain;padding-bottom:max(var(--space),env(safe-area-inset-bottom))}
.modal button,.actions button{max-width:100%;white-space:normal}
@media(max-width:800px){
  aside{display:flex;flex-wrap:wrap;align-items:center;padding:var(--size-54) var(--mobile-gutter) var(--mobile-gutter);gap:var(--mobile-gap)}
  aside>.desktop-navigation{display:none}
  aside>.mobile-navigation{display:block;flex:1 0 100%;min-width:0;border:var(--size-1) solid var(--line);border-radius:var(--small);background:var(--surface)}
  .mobile-navigation summary{min-height:var(--touch-target);padding:var(--size-10) var(--mobile-padding);cursor:pointer;font-weight:var(--font-semibold);color:var(--primary-ink)}
  .mobile-navigation-links{display:grid;grid-template-columns:1fr;padding:0 var(--size-6) var(--size-6);gap:var(--tiny)}
  .mobile-navigation-links a{display:flex;align-items:center}
  main{padding:var(--space) var(--mobile-gutter);width:100%;margin-left:0}
  header{width:100%;gap:var(--mobile-gap)}
  .toolbar{flex-wrap:wrap;gap:var(--mobile-gap)}
  .toolbar>select{flex:1 1 160px;max-width:100%}
  .metrics,.sales-analysis-metrics,.sales-kpi-section>.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sales-kpi-section>.metrics>.metric,.sales-kpi-section>.metrics>.metric:nth-child(n+4),.sales-kpi-section>.metrics>.metric:last-child{grid-column:span 1}
  .metric{padding:var(--mobile-gutter)}
  .metric-value,.sales-kpi-section .metric-value{font-size:var(--mobile-number);overflow-wrap:anywhere}
  .charts,.areas-group>.areas,.sales-summary,.attention-grid{grid-template-columns:1fr}
  .sales-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--mobile-gap)}
  .sales-tabs a{display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--size-10);overflow-wrap:anywhere}
  .panel{padding:var(--mobile-padding)}
  .filters{display:grid;grid-template-columns:1fr}
  .filters input,.filters select{width:100%;min-width:0}
  input,select,textarea{font-size:var(--mobile-font)}
  .overview-toolbar{align-items:stretch}.overview-toolbar select{width:100%}
  .modal{width:100%;max-width:100%;padding:var(--mobile-padding)}
  .modalhead{flex-wrap:wrap;gap:var(--mobile-gap)}
  .modalhead h2{flex:1 1 180px}
  dl>div{grid-template-columns:minmax(0,1fr);gap:var(--tiny)}
  .actions{display:grid;grid-template-columns:1fr}
  .actions button{width:100%}
  .ad-budget-values{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ad-budget-values button{padding:var(--mobile-gutter)}
  .table-scroll{overflow:visible;width:100%}
  .table-scroll table,[data-table="sales_customers"] table,.payment-summary table{display:block;min-width:0;width:100%;max-width:100%;font-size:var(--mobile-label)}
  .table-scroll thead{position:absolute;width:var(--size-1);height:var(--size-1);padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .table-scroll tbody{display:grid;gap:var(--mobile-gap);width:100%}
  .table-scroll tr{display:block;border:var(--size-1) solid var(--line);border-radius:var(--small);padding:var(--mobile-gutter);background:var(--surface);min-width:0}
  .table-scroll td,[data-table="sales_customers"] td{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:var(--mobile-gap);width:100%;max-width:none;min-width:0;border:0;padding:var(--size-6) 0;white-space:normal;overflow-wrap:anywhere}
  .table-scroll td::before{content:attr(data-label);color:var(--muted);font-weight:var(--font-medium);grid-column:1;grid-row:1 / span 8;overflow-wrap:anywhere}
  .table-scroll td>*{min-width:0;max-width:100%;grid-column:2}
  .table-scroll td button{width:100%;margin:0 0 var(--tiny)}
  .table-scroll td small{white-space:normal}
  .payment-summary td:not(:first-child){white-space:normal}
  .sales-analysis-chart .horizontal button,.horizontal button{grid-template-columns:minmax(0,95px) minmax(0,1fr) auto;gap:var(--size-8);padding:var(--size-8) 0}
  .horizontal button b{overflow-wrap:anywhere;max-width:100%}
  .chart svg text{font-size:var(--chart-mobile-label)}
  .chart svg{overflow:hidden;height:auto;max-height:none}
  .chart .legend,.ad-budget-chart .legend{font-size:var(--mobile-label);gap:var(--mobile-gap)}
  .source{overflow-wrap:anywhere}
}
@media(max-width:420px){
  .brand-logo{width:var(--logo-width-mobile)}
  .sectionhead{align-items:flex-start;gap:var(--mobile-gap)}
  .sectionhead>button{width:100%}
  .sales-kpi-section{padding:var(--mobile-gutter)}
  .metric-top h3{font-size:var(--mobile-label);overflow-wrap:anywhere}
  .metric-value{letter-spacing:0}
  .table-scroll td,[data-table="sales_customers"] td{grid-template-columns:minmax(0,42%) minmax(0,1fr)}
}

@media(max-width:800px){.sectionhead,.gateway-row,.notice,footer{overflow-wrap:anywhere}.chart svg text[text-anchor="end"]{font-size:var(--size-14)}}

/* Compact Sales OS first page. Keep touch controls and readable mobile cards. */
.sales-overview-compact{font-size:var(--size-12)}
.sales-overview-compact .overview-toolbar{margin-top:var(--size-10);gap:var(--overview-gap)}
.sales-overview-compact .overview-toolbar p{margin:0}
.sales-overview-compact .sales-analysis-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--overview-gap)}
.sales-overview-compact .metric{padding:var(--overview-pad)}
.sales-overview-compact .metric-top h3{font-size:var(--size-12);padding-top:var(--size-6)}
.sales-overview-compact .metric-value{font-size:var(--overview-number);padding:var(--size-4) 0;letter-spacing:0}
.sales-overview-compact .comparison{min-height:0;margin:var(--size-3) 0;font-size:var(--size-10)}
.sales-overview-compact .metric small,.sales-overview-compact .source{font-size:var(--size-10);margin-top:var(--size-3)}
.sales-overview-compact .payment-summary,.sales-overview-compact .sales-checks,.sales-overview-compact .sales-list{margin:var(--overview-gap) 0;padding:var(--overview-pad)}
.sales-overview-compact h2{font-size:var(--size-16);margin-bottom:var(--size-6)}
.sales-overview-compact .payment-summary>p{font-size:var(--size-11);margin:var(--size-4) 0}
.sales-overview-compact th,.sales-overview-compact td{padding:var(--size-6) var(--size-8)}
.sales-overview-compact .sales-checks .listrow{padding:var(--size-6) 0}
.sales-overview-compact .sales-analysis-charts{gap:var(--overview-gap);grid-template-columns:repeat(2,minmax(0,1fr))}
.sales-overview-compact .sales-analysis-chart{padding:var(--overview-pad)}
.sales-overview-compact .sales-analysis-chart h3{font-size:var(--size-14)}
.sales-overview-compact .sales-analysis-chart>p{margin:var(--size-3) 0;font-size:var(--size-10)}
.sales-overview-compact .sales-analysis-chart>svg{max-height:180px}
.sales-overview-compact .sales-analysis-chart .legend{margin:var(--size-6) 0;font-size:var(--size-10)}
.sales-overview-compact .horizontal{gap:var(--size-4);padding:var(--size-4) 0}
.sales-overview-compact .horizontal button{padding:var(--size-4) 0;font-size:var(--size-11)}
.sales-overview-compact .sales-list .filters{margin:var(--size-10) 0}
@media(min-width:1100px){.sales-overview-compact .sales-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space)}.sales-overview-compact .sales-checks>h2,.sales-overview-compact .sales-checks>.source{grid-column:1 / -1}}
@media(max-width:800px){.sales-overview-compact .sales-analysis-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-overview-compact .sales-analysis-charts{grid-template-columns:1fr}.sales-overview-compact .sales-analysis-chart>svg{max-height:none}.sales-overview-compact .table-scroll td{padding:var(--size-6) 0}.sales-overview-compact .metric-value{font-size:var(--mobile-number)}}
