:root{--ink:#233e32;--muted:#748078;--paper:#f6f4ed;--line:#dce2d9;--accent:#aa6a3c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}a{color:inherit;text-decoration:none}header{max-width:1200px;margin:auto;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:12px}.brand{font:700 27px Georgia,serif;letter-spacing:3px}.brand small{display:block;font:9px sans-serif;letter-spacing:3px;margin-top:6px}nav{max-width:1100px;margin:auto;padding:18px 20px;display:flex;gap:26px;overflow:auto;white-space:nowrap}main{max-width:1100px;margin:auto;padding:24px 24px 60px}h1{font-size:34px;line-height:1.3;letter-spacing:-1px}h2{font-size:20px}h3{font-size:19px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--accent)}.hero{position:relative;overflow:hidden;padding:60px 20px 90px}.hero h1{font:64px/1.3 Georgia,"Songti SC",serif;position:relative;z-index:1}.hero p{position:relative;z-index:1}.tea-circle{position:absolute;right:5%;top:40px;width:340px;height:340px;border:1px solid #acbba2;border-radius:50%;display:grid;place-items:center;font:130px "Songti SC",serif;color:#78916c;background:#e6e9dd;box-shadow:0 0 0 25px #eceee4,0 0 0 26px #d6decc}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}section{margin-bottom:28px}.card{padding:26px;border:1px solid var(--line);background:#fffef9;border-radius:14px;margin-bottom:20px}.narrow{max-width:600px;margin:30px auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.button,button{display:inline-block;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:8px;padding:11px 18px;font:inherit;cursor:pointer}.secondary{background:transparent;color:var(--ink)}button:disabled{opacity:.5;cursor:not-allowed}.link{padding:0;border:0;background:none;color:var(--muted)}.inline{display:inline}label{display:block;font-size:14px;margin:10px 0}input,select,textarea{display:block;width:100%;font:inherit;color:var(--ink);padding:12px;border:1px solid #bac7bb;border-radius:7px;background:white;margin-top:6px}textarea{min-height:85px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #b7d3b9;outline-offset:2px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:24px}.filters button{margin-bottom:10px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:25px}.metrics article{padding:20px;background:#e8eee4;border-radius:12px}.metrics span{display:block;font-size:12px;color:var(--muted)}.metrics strong{display:block;font-size:27px;font-weight:500;margin-top:9px}.sale-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.sale-row p{margin:3px 0;color:var(--muted);font-size:12px}.muted{color:var(--muted);font-size:13px}.notice{padding:14px 18px;background:#eef0dc;border-radius:8px;margin-bottom:16px}.error{background:#ffe5de;color:#863728}.empty{padding:50px;text-align:center;color:var(--muted)}.product-results{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.product{background:#eff2e9;color:var(--ink);border-color:var(--line);font-size:13px}.line{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding:14px 0;flex-wrap:wrap}.line strong{flex:1}.line input[type=number]{width:90px}.line button{padding:7px;background:none;color:var(--muted);border:0}.seller-list{display:flex;gap:20px;flex-wrap:wrap}.totals{display:flex;gap:30px;flex-wrap:wrap;padding:14px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:340px;overflow:auto;background:#f3f4ee;padding:12px}details{border-bottom:1px solid var(--line);padding:14px 0}summary{cursor:pointer}footer{text-align:center;padding:30px;color:var(--muted);font-size:12px}[hidden]{display:none!important}@media(max-width:650px){header{padding:18px}.brand{font-size:23px}.brand small{font-size:8px}main{padding:16px 16px 50px}.hero{padding:24px 0 45px}.hero h1{font-size:48px}.tea-circle{right:-100px;top:35px;width:240px;height:240px;font-size:100px;opacity:.3}.grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.metrics strong{font-size:23px}.card{padding:18px}.heading{align-items:start;flex-wrap:wrap}h1{font-size:28px}.filters{flex-wrap:wrap;gap:10px}.line strong{flex-basis:100%}.line{gap:8px}.empty{padding:30px 10px}nav{font-size:13px;gap:20px}.button{padding:10px 14px}}

/* Primary navigation stays distinct from page headings and in-page actions. */
.primary-nav{position:sticky;top:0;z-index:30;max-width:1100px;margin:12px auto 0;padding:10px;gap:8px;background:var(--ink);border-radius:14px;box-shadow:0 4px 14px #233e321a;white-space:normal;overflow:visible;flex-wrap:wrap}
.primary-nav a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 20px;border-radius:9px;color:#e9f0e9;font-size:20px;line-height:1.35;font-weight:700;flex-shrink:0;border:2px solid transparent}
.primary-nav a:hover{background:#ffffff18}
.primary-nav a[aria-current="page"]{background:#fffef9;color:var(--ink);border-color:#fffef9;box-shadow:0 2px 5px #0002}
.primary-nav a:focus-visible{outline:3px solid #e2bb7c;outline-offset:1px}
.staff-page main>h1,.staff-page main>.heading>h1,.staff-page #business-app>.heading>h1{font-size:22px;letter-spacing:0;margin:0 0 18px;line-height:1.4}
@media(max-width:650px){.primary-nav{margin:8px 12px 0;padding:6px;gap:4px;border-radius:12px}.primary-nav a{font-size:18px;min-height:46px;padding:9px 12px;flex:1 0 auto}.staff-page main>h1,.staff-page main>.heading>h1,.staff-page #business-app>.heading>h1{font-size:21px;margin-bottom:16px}}
.quick-entry{border:2px solid #37694d;background:#e7f0e6;padding:18px 22px}.quick-entry label{margin:0;align-items:center;font-size:18px}.quick-entry small{display:block;font-size:14px;font-weight:400;margin-top:4px}.quick-entry input{width:24px;height:24px;flex-shrink:0}.paid-label{font-size:17px;font-weight:600}.paid-label input{font-size:26px;font-weight:600;max-width:420px}
[hidden]{display:none!important}.record-filters{display:grid;gap:14px}.record-filters .search-row{border-top:1px solid #dce4df;padding-top:14px}.search-row label:first-child{flex:1;min-width:220px}.sale-card-top,.sale-card-footer,.sale-products>div,.detail-toolbar,.shift-history{display:flex;justify-content:space-between;align-items:center;gap:16px}.sale-time,.sale-total strong{display:block;font-size:1.25rem}.eyebrow,.sale-total span,.product-facts span{display:block;color:#63736b;font-size:.85rem;margin-bottom:6px}.sale-total{text-align:right;white-space:nowrap}.sale-products{border-block:1px solid #e3e9e5;margin:18px 0;padding:12px 0}.sale-products>div{padding:7px 0}.sale-products strong{white-space:nowrap}.sale-card-footer p{margin:0 0 5px}.sale-card-footer small{color:#63736b}.order-section h2{font-size:1.2rem}.order-product{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid #e3e9e5}.order-photo{width:100px;height:100px;object-fit:contain;border-radius:10px;background:#f3f5f2;flex-shrink:0}.no-photo{display:grid;place-items:center;color:#708077;font-size:.85rem}.order-product-main{flex:1;min-width:0}.order-product h3{margin:0}.product-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.product-facts strong{display:block}.order-amount{display:flex;justify-content:space-between;align-items:center;padding:18px 0}.order-amount strong{font-size:2rem;color:#245a46}.order-facts{display:grid;grid-template-columns:150px 1fr;gap:18px}.order-facts dt{color:#63736b}.order-facts dd{margin:0;overflow-wrap:anywhere}.shift-row{display:grid;grid-template-columns:.7fr 1fr 1.2fr 1fr;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #e3e9e5}.shift-row input{width:100%;min-width:0;box-sizing:border-box}.shift-row label{margin:0}.shift-labels{color:#63736b;font-size:.85rem}.shift-history{border-top:1px solid #e3e9e5;padding:16px 0}.shift-history p{margin:6px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}textarea{box-sizing:border-box;max-width:100%}
@media(max-width:600px){.sale-time{font-size:1rem}.sale-total strong{font-size:1.2rem}.sale-card-footer{align-items:flex-end}.order-photo{width:72px;height:72px}.order-product{gap:12px;flex-wrap:wrap}.product-facts{grid-template-columns:1fr;gap:12px}.product-facts>div{display:flex;justify-content:space-between;gap:8px}.product-facts span{margin:0}.order-facts{grid-template-columns:105px 1fr;gap:14px}.shift-row{gap:7px;font-size:.85rem;grid-template-columns:.65fr 1fr 1.2fr 1fr}.shift-history{align-items:flex-start;flex-direction:column}.detail-toolbar h2{font-size:1.2rem}.record-filters .search-row label{width:100%}}
#business-app input[type=checkbox]{width:auto;display:inline-block;margin-right:8px}.shift-metrics .card{padding:18px}.shift-metrics h2{margin:8px 0;font-size:1.5rem}.shift-metrics p{margin:0}.actual-label input{padding:10px 7px}@media(max-width:600px){.shift-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shift-metrics .card{padding:14px}.shift-metrics h2{font-size:1.25rem}.shift-row{grid-template-columns:.7fr 1fr 1.15fr .9fr}.shift-labels span{white-space:nowrap}}
.analysis-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.analysis-tabs button{background:#e4ebe5;color:#244d3b;border:1px solid #c7d6cc}.analysis-tabs button[aria-selected=true]{background:#244d3b;color:white}.analysis-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px}.analysis-metrics .card{margin:0;padding:20px}.analysis-metrics span,.analysis-metrics small{display:block;color:#63736b}.analysis-metrics strong{display:block;font-size:1.65rem;margin:10px 0;overflow-wrap:anywhere}.analysis-panel{margin-top:20px}.analysis-panel h2{font-size:1.25rem}.analysis-table{overflow-x:auto;max-width:100%}.analysis-table table{min-width:620px;font-size:.9rem}.analysis-table th{white-space:nowrap}.analysis-table td{vertical-align:top;min-width:85px}.analysis-table small{display:block}.analysis-chart{width:100%;min-height:160px;max-height:350px}.analysis-chart text{font-size:13px;fill:#546b5b}.analysis-bar{display:grid;grid-template-columns:minmax(100px,1fr) 2fr 110px;gap:12px;align-items:center;margin:13px 0}.analysis-bar>span{overflow-wrap:anywhere;font-size:.9rem}.analysis-bar>div{height:12px;background:#eef2ee;border-radius:8px}.analysis-bar i{display:block;height:12px;min-width:0;border-radius:8px}.analysis-bar strong{text-align:right;font-size:.9rem}.analysis-thumb{height:44px;width:44px;object-fit:contain;float:left;margin-right:8px}.order-links{display:flex;flex-wrap:wrap;gap:8px;max-height:160px;overflow:auto}.order-links a{white-space:nowrap}#analytics-app input[type=checkbox]{width:auto}#analytics-app .notice{overflow-wrap:anywhere}@media(max-width:600px){.analysis-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analysis-metrics .card{padding:14px}.analysis-metrics strong{font-size:1.3rem}.analysis-bar{grid-template-columns:1.3fr 1fr 85px;gap:7px}.analysis-panel{padding:16px}.analysis-tabs button{padding:10px 12px}.analysis-chart text{font-size:17px}}
.analysis-table{max-height:560px;overflow:auto}.analysis-table thead th{position:sticky;top:0;background:#edf2ed;z-index:1}.analysis-table th:first-child{min-width:150px}.analysis-table td:first-child{min-width:150px}

/* Shared control sizes: option text must not change a filter's dimensions. */
:root{--control-width:280px;--control-height:48px}
main select:not([multiple]),main input:not([type=checkbox]):not([type=radio]):not([type=hidden]){height:var(--control-height);min-width:0}
main select:not([multiple]){width:var(--control-width);max-width:100%;padding:10px 36px 10px 12px}
main label:has(>select:not([multiple])),main label:has(>input[type=date]),main label:has(>input[type=month]),main label:has(>input[type=week]),main label:has(>input[type=datetime-local]){width:var(--control-width);max-width:100%;min-width:0}
main label>select:not([multiple]){width:100%}
.filters{align-items:flex-end;gap:16px}
.filters>label:has(>select),.filters>label:has(>input:not([type=checkbox]):not([type=radio])){flex:0 0 var(--control-width);width:var(--control-width);max-width:100%;min-width:0;margin:0}
.filters>label>select,.filters>label>input:not([type=checkbox]):not([type=radio]){width:100%}
.filters>button,.filters>.button{min-height:var(--control-height);margin-bottom:0}
.filters>.check{min-height:var(--control-height);margin:0}
main input[type=checkbox],main input[type=radio]{display:inline-block;width:20px;height:20px;flex:0 0 20px;padding:0;margin:0 8px 0 0;vertical-align:middle}
.grid>label{min-width:0}

#business-app input[type=checkbox],#analytics-app input[type=checkbox]{width:20px;height:20px}

/* Reserve identical photo space for every product, including missing photos. */
.product-media{position:relative;display:block;width:72px;height:72px;flex:0 0 72px;overflow:hidden;border-radius:8px;background:#f0f3ef;color:#718078}
.product-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;line-height:1.5;white-space:nowrap}
.product-placeholder>span{font-size:25px;line-height:1.2}
.product-media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#f0f3ef}
.product-media .product-zoom{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:#f0f3ef}
.product-media:focus-within{outline:3px solid #b7d3b9;outline-offset:2px}
#results{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.product-choice{display:grid;grid-template-columns:72px minmax(0,1fr) 108px;gap:16px;align-items:center;padding:16px;margin:0}
.product-choice .product{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:4px 16px;text-align:left;align-items:center;min-width:0;min-height:72px;background:transparent;border:0;padding:6px}
.product-choice .product strong{overflow-wrap:anywhere;font-size:15px}
.product-choice .product .muted{grid-column:1;overflow-wrap:anywhere}
.product-choice .product-price{grid-column:2;grid-row:1 / span 2;text-align:right;font-variant-numeric:tabular-nums}
.product-favorite{font-size:13px;padding:10px 8px;min-height:44px}
.product-identity{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;min-width:270px;text-align:left}
.product-identity>div{min-width:0;overflow-wrap:anywhere}
.analysis-table td:has(.product-identity){vertical-align:middle}
.analysis-table td{font-variant-numeric:tabular-nums}
.order-product{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:start}
.order-photo.product-media{width:100px;height:100px}
.order-product-main h3{overflow-wrap:anywhere}
.product-facts>div{text-align:right;min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){
 .product-choice{grid-template-columns:72px minmax(0,1fr);gap:10px;padding:12px}
 .product-choice .product{grid-template-columns:minmax(0,1fr);padding:0}
 .product-choice .product-price{grid-column:1;grid-row:auto;text-align:left}
 .product-favorite{grid-column:2;justify-self:start}
 .order-product{grid-template-columns:72px minmax(0,1fr);gap:12px}
 .order-photo.product-media{width:72px;height:72px;grid-column:1;grid-row:1 / span 2}
 .order-product-main{display:contents}
 .order-product h3,.order-product-main>p{grid-column:2;margin:0}
 .order-product .product-facts{grid-column:1 / -1;grid-template-columns:1fr;gap:10px}
 .product-facts>div{display:flex;justify-content:space-between;gap:12px}
}
.analysis-table td.numeric{text-align:right;white-space:nowrap}
.product-actions{display:grid;gap:8px;min-width:0}
.product-actions button{width:100%;min-height:44px;padding:9px 6px;font-size:13px}
.product-choice.is-selected{border-color:#397957;background:#eef6ee;box-shadow:inset 3px 0 #397957}
.product-selected-count{grid-column:1 / -1;color:#24633f;font-weight:600;font-size:13px}
.product-selected-count:empty{display:none}
#selection-summary{min-height:44px;margin-bottom:10px}
@media(max-width:600px){.product-actions{grid-column:2;grid-template-columns:1fr 1fr}.product-actions .product-favorite{grid-column:auto;justify-self:stretch}}
/* Clear comparison tables: fixed cell separation, readable minimum columns. */
#analytics-app .analysis-table{border:1px solid #ced9d0;border-radius:8px;max-height:620px;margin-top:14px;isolation:isolate}
#analytics-app .analysis-table table{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto}
#analytics-app .analysis-table th,#analytics-app .analysis-table td{padding:14px 18px;border-right:1px solid #d7e0d9;border-bottom:1px solid #d7e0d9;min-width:145px;line-height:1.6;white-space:normal;overflow-wrap:normal}
#analytics-app .analysis-table th:last-child,#analytics-app .analysis-table td:last-child{border-right:0}
#analytics-app .analysis-table tbody tr:nth-child(even){background:#f1f5ef}
#analytics-app .analysis-table tbody tr:nth-child(odd){background:#fffef9}
#analytics-app .analysis-table tbody tr:hover{background:#e4eee3}
#analytics-app .analysis-table td.numeric{white-space:nowrap;text-align:right}
#analytics-app .analysis-table th{background:#e5eee5;color:#244d3b;vertical-align:middle;white-space:nowrap;z-index:2}
#analytics-app .analysis-table td:first-child{min-width:180px}
#analytics-app .analysis-table .product-identity{min-width:300px}
.analysis-quick{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 22px}
.analysis-quick button{background:#f2f5ef;color:#244d3b;border-color:#bdcdbf;min-height:48px}
.analysis-quick button[aria-pressed=true]{background:#244d3b;color:white}
.term-help{border:0;background:none;color:inherit;padding:0;font:inherit;text-align:inherit;text-decoration:underline dotted;text-underline-offset:4px;cursor:help}
.term-help span{display:inline!important;font-size:.85em!important;color:#58725e!important}
.analysis-dialog{border:1px solid #bfcebf;border-radius:14px;padding:24px;max-width:min(900px,92vw);max-height:85vh;overflow:auto;color:#233e32;background:#fffef9}
.analysis-dialog::backdrop{background:rgb(20 38 28 / 35%)}
.analysis-dialog .analysis-table{overflow:auto}
.analysis-dialog table{border-collapse:collapse;min-width:620px}
.analysis-dialog td,.analysis-dialog th{padding:12px;border:1px solid #d7e0d9;white-space:nowrap}
.metric-glossary dt{font-weight:700;margin-top:16px}.metric-glossary dd{margin:6px 0 16px;line-height:1.8}
#an-custom[hidden],#an-quick[hidden]{display:none!important}
.table-scroll-note{color:#63736b;font-size:12px;margin:12px 0 4px}.analysis-dialog .table-scroll-note{font-size:12px}
/* Analysis: group related facts vertically instead of widening every column. */
#analytics-app .analysis-table table{table-layout:fixed;min-width:0;width:100%}
#analytics-app .analysis-table th,#analytics-app .analysis-table td,#analytics-app .analysis-table td:first-child{min-width:0;padding:12px 10px;white-space:normal;overflow-wrap:anywhere;vertical-align:top;font-size:14px}
#analytics-app .analysis-table th{vertical-align:middle}
#analytics-app .analysis-table .product-identity{min-width:0;grid-template-columns:minmax(0,1fr);gap:8px}
#analytics-app .analysis-table .product-media{width:64px;height:64px}
#analytics-app .analysis-table .term-help{white-space:normal;overflow-wrap:anywhere;min-height:0}
.cell-facts{display:grid;gap:12px;text-align:left}
.cell-facts small{display:block;color:#617368;font-size:12px;margin-bottom:3px}
.cell-facts>div>div{font-variant-numeric:tabular-nums}
#analytics-app label[hidden]{display:none!important}
#an-custom{margin-bottom:18px}
.pie-layout{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.pie-layout svg{width:220px;max-width:100%;flex:0 0 220px;font-size:12px;fill:#244d3b}
.chart-legend{list-style:none;padding:0;margin:16px 0;flex:1;min-width:0}
.chart-legend li{display:flex;align-items:center;gap:8px;margin:12px 0;flex-wrap:wrap;font-size:14px}
.chart-legend li>i{width:12px;height:12px;flex:0 0 12px;border-radius:3px}
.chart-legend strong{margin-left:auto;font-variant-numeric:tabular-nums}
.store-pies{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}
.store-pies article{padding:16px;border:1px solid #ced9d0;border-radius:10px;min-width:0}
.store-pies .pie-layout{justify-content:center;gap:0}
.store-pies .chart-legend{flex-basis:100%}
.series-legend{display:flex;gap:24px;flex-wrap:wrap}
.chart-paging{display:flex;gap:16px;align-items:center;justify-content:center;margin:12px 0}
.store-columns{max-height:none}
#an-store-products>details{margin-top:24px}
@media(min-width:1100px){#analytics-app .analysis-table td:has(.product-identity){width:25%}#analytics-app .analysis-table .product-identity{grid-template-columns:64px minmax(0,1fr)}}
@media(max-width:600px){#analytics-app .analysis-table table{min-width:640px}.pie-layout{justify-content:center}.pie-layout .chart-legend{flex-basis:100%}.chart-paging{gap:8px}.chart-paging button{padding:10px}}
/* Compact legends; explicit comparison columns keep like metrics aligned. */
.pie-layout{gap:16px;justify-content:flex-start}
.pie-layout .chart-legend{flex:0 1 440px}
.pie-layout .chart-legend li{display:grid;grid-template-columns:12px minmax(70px,110px) auto;gap:10px;justify-content:start}
.pie-layout .chart-legend strong{margin-left:0}
.store-pies .chart-legend{flex-basis:100%}
.store-pies .chart-legend li{grid-template-columns:12px minmax(50px,85px) auto}
#analytics-app .period-comparison table{min-width:850px}
#analytics-app .weekday-detail table{min-width:1060px}
#analytics-app .weekday-detail th,#analytics-app .weekday-detail td{padding:12px 8px}
@media(max-width:600px){.pie-layout .chart-legend li{grid-template-columns:12px minmax(45px,80px) auto;font-size:13px}.store-columns{min-width:760px}.store-columns-wrap{overflow-x:auto}}
@media(min-width:1100px){#analytics-app .weekday-detail table{min-width:0}#analytics-app .weekday-detail th,#analytics-app .weekday-detail td{font-size:13px}}
@media(max-width:1099px){.period-comparison:before,.weekday-detail:before{content:'可左右滑动查看全部指标';display:block;color:#63736b;font-size:12px;margin-top:10px}}
#analytics-app .period-comparison th:first-child,#analytics-app .weekday-detail th:first-child{position:sticky;left:0;z-index:3}
#analytics-app .period-comparison td:first-child,#analytics-app .weekday-detail td:first-child{position:sticky;left:0;background:#f4f7f0;z-index:1}
.comparison-value{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.comparison-up{color:#c73535;font-weight:700;font-size:13px}
.comparison-down{color:#247348;font-weight:700;font-size:13px}
.comparison-flat{color:#66716b;font-weight:700}
.comparison-unavailable{color:#748078;font-size:12px}

/* Selected products: readable labels, separate actions, and touch-sized controls. */
.selected-lines-title{margin:28px 0 14px;padding-top:20px;border-top:1px solid var(--line)}
#lines{display:grid;gap:16px;scroll-margin-top:150px}
.selected-line{min-width:0;padding:20px;border:1px solid #cbd8cd;border-radius:12px;background:#f7faf6;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:18px 24px}
.selected-line-heading{min-width:0}.selected-line h3{font-size:18px;line-height:1.5;margin:0 0 8px;overflow-wrap:anywhere}
.selected-line-spec{margin:0 0 8px;color:#52665a;font-size:15px;overflow-wrap:anywhere}
.selected-line-prices{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:15px}.selected-line-price{color:#52665a}.selected-line-total{font-weight:600}
.selected-line-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.selected-line-fields label{margin:0;min-width:0;font-size:16px;font-weight:600}
.selected-line-fields input{width:100%;font-size:18px;margin-top:8px;background:white}
.selected-line-fields input:disabled{background:#e9eee8;color:#6b766d}
.selected-line-fields small{display:block;margin-top:6px;font-size:13px;line-height:1.5;font-weight:400;color:#52665a}
.selected-line-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid #dce4da}
.selected-line-gift{margin:0;min-height:44px;font-size:16px;cursor:pointer;gap:6px}
.selected-line-remove{min-height:44px;padding:8px 16px;background:#fff;color:#923f31;border:1px solid #d9b7af;font-size:16px}
@media(max-width:800px){.selected-line{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}.selected-line-fields{gap:14px}.selected-line-prices{flex-direction:column;gap:4px}}
@media(max-width:380px){.selected-line{padding:12px}.selected-line-fields{gap:10px}.selected-line-fields label{font-size:15px}}

/* Entry controls stay readable and fit their actual column on touch screens. */
#sale-form .grid>label{width:100%;max-width:100%;margin:0;min-width:0}
#sale-form input:where(:not([type=checkbox]):not([type=radio]):not([type=hidden])),#sale-form select,#sale-form textarea{font-size:16px;max-width:100%;min-width:0}
#sale-form .paid-label input{font-size:26px}
#sale-form .selected-line-fields input{font-size:18px}
#sale-form .entry-fields{align-items:start;gap:18px;margin-bottom:18px}
#sale-form .entry-fields select,#sale-form .entry-time input,#settlement .grid select{width:100%;min-width:0}
#sale-form .entry-time input{min-inline-size:0;height:48px;padding:10px 12px;line-height:26px;-webkit-appearance:none;appearance:none}
#sale-form .entry-time input::-webkit-date-and-time-value{text-align:left;white-space:nowrap;min-height:24px}
#sale-form #precision-label{margin:0 0 18px;width:calc((100% - 18px)/2)}
#sale-form .entry-category-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
#sale-form .entry-category-filters>label{width:100%;margin:0;min-width:0}
#sale-form .entry-category-filters>.check{grid-column:1 / -1;min-height:44px}
#sale-form .seller-list{gap:12px}
#sale-form .seller-list label{padding:10px 14px;margin:0;min-height:48px;border:1px solid #c6d3c8;border-radius:8px;background:#fff;font-size:16px}
#sale-form .seller-list label:has(input:checked){border-color:#37694d;background:#e7f0e6}
#sale-form .seller-list input{flex-shrink:0}
#sale-form .product-choice .product strong{font-size:16px;line-height:1.5}
#sale-form .product-choice .product-price{font-size:16px}
#sale-form .product-actions button{min-height:44px;font-size:15px}
#sale-form #selection-summary{min-height:48px;max-width:100%;white-space:normal}
@media(min-width:651px) and (max-width:1000px){#sale-form .product-choice{grid-template-columns:72px minmax(0,1fr) 116px;gap:14px}#sale-form .product-choice .product{grid-template-columns:minmax(0,1fr)}#sale-form .product-choice .product-price{grid-column:1;grid-row:auto;text-align:left}}
@media(max-width:650px){
 #sale-form .entry-fields,#sale-form #settlement .grid{grid-template-columns:minmax(0,1fr);gap:16px}
 #sale-form #precision-label{width:100%}
 #sale-form .entry-category-filters{grid-template-columns:minmax(0,1fr);gap:14px}
 #sale-form .card{padding:16px}
 #sale-form .totals{flex-direction:column;gap:8px;font-size:16px}
 #sale-form .seller-list{display:grid;grid-template-columns:minmax(0,1fr)}
 #sale-form #submit,#sale-form #submit+a{display:block;width:100%;text-align:center;min-height:48px}
 #sale-form #submit+a{margin-top:12px}
 #sale-form .quick-entry label{font-size:17px;align-items:flex-start}
 #sale-form .quick-entry input{margin-top:4px}
}

#sale-form .entry-time input::-webkit-datetime-edit{display:inline-flex;align-items:center;padding:0;height:26px}
#sale-form .entry-time input::-webkit-datetime-edit-fields-wrapper{padding:0}

/* Native date/time controls share one row across recording, reports and forms. */
main input:is([type=date],[type=time],[type=month],[type=week],[type=datetime-local]){display:block;width:100%;max-width:100%;min-width:0;min-inline-size:0;height:48px;padding:10px 12px;font-size:16px;line-height:26px;-webkit-appearance:none;appearance:none}
main input:is([type=date],[type=time],[type=month],[type=week],[type=datetime-local])::-webkit-date-and-time-value{text-align:left;white-space:nowrap;min-height:26px}
main input:is([type=date],[type=time],[type=month],[type=week],[type=datetime-local])::-webkit-datetime-edit{display:inline-flex;align-items:center;padding:0;height:26px}
main input:is([type=date],[type=time],[type=month],[type=week],[type=datetime-local])::-webkit-datetime-edit-fields-wrapper{padding:0}

.barcode-export-dialog{box-sizing:border-box;width:min(680px,calc(100vw - 24px));max-height:85vh;overflow:auto;padding:24px;border:1px solid #9bab9f;border-radius:12px}.barcode-export-dialog li{margin:8px 0;overflow-wrap:anywhere}.barcode-export-dialog::backdrop{background:#0007}

.mixed-receipts{grid-column:1/-1;padding:14px;background:#f3f6ef;border:1px solid #d9e1d5;border-radius:8px}.mixed-receipts[hidden]{display:none}.receipt-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.receipt-fields label,.receipt-fields input{width:100%;min-width:0;max-width:none;box-sizing:border-box}.receipt-fields input{min-height:48px}#receipt-total{font-weight:600}@media(max-width:650px){.receipt-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

.product-direct-quantity{display:grid;gap:4px;font-size:13px;min-width:0}.product-direct-quantity input{width:100%;min-width:0;min-height:44px;font-size:16px;box-sizing:border-box}#sale-form .product-actions{align-items:start}

/* Daily totals remain readable without horizontal scrolling on phones. */
#analytics-app .daily-turnover table{min-width:0;width:100%;table-layout:fixed}
#analytics-app .daily-turnover th,#analytics-app .daily-turnover td{min-width:0;padding:12px 8px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#analytics-app .daily-turnover th:first-child,#analytics-app .daily-turnover td:first-child{width:40%}
#analytics-app .daily-turnover th:not(:first-child),#analytics-app .daily-turnover td:not(:first-child){text-align:right}
#analytics-app .daily-turnover a{display:block;text-decoration:underline;text-underline-offset:3px}

.order-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}
.order-navigation span{color:#63736b;font-variant-numeric:tabular-nums;white-space:nowrap}
.order-navigation button:disabled{opacity:.4;cursor:default}
@media(max-width:480px){.order-navigation{gap:6px}.order-navigation button{padding:10px}.order-navigation span{font-size:.85rem}}
