:root{--background:#F8F7F2;--surface:#FFFFFF;--text:#1F2933;--muted-text:#52606D;--border:#D9E2EC;--primary:#2F855A;--primary-text:#FFFFFF;--warning:#B7791F;--danger:#C53030;--success:#2F855A;--font-base:20px;--font-large:24px;--font-label:18px;--font-button:22px;--line-height:1.35;--radius:8px;--page-padding:16px;--section-gap:16px;--control-gap:10px;--button-padding:16px;--min-touch-target:56px;--primary-button-height:64px;--quick-button-height:60px;--fixed-submit-bar-max-height:min(46vh,17rem);--submit-bar-reserve:calc(var(--fixed-submit-bar-max-height) + 24px + env(safe-area-inset-bottom))}@supports (height:100dvh){:root{--fixed-submit-bar-max-height:min(46dvh,17rem)}}*{box-sizing:border-box}body,html{min-height:100%}html{scroll-padding-bottom:var(--submit-bar-reserve)}body{margin:0;background:var(--background);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-base);line-height:var(--line-height)}button,input,textarea{font:inherit}button{cursor:pointer}.pwa-update-region{position:static;width:min(100%,720px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:var(--control-gap);gap:var(--control-gap);border-bottom:2px solid #9a6700;background:#FFF7D6;padding:10px var(--page-padding);overflow-wrap:anywhere}.pwa-update-region strong{min-width:0;font-size:var(--font-label)}.pwa-update-error{margin:4px 0 0;color:var(--danger);font-size:var(--font-label);font-weight:700}.pwa-update-button{min-height:56px;border:2px solid var(--primary);border-radius:var(--radius);background:var(--surface);color:var(--primary);padding:10px 16px;font-weight:900}.pwa-update-button:focus-visible{outline:4px solid #1D4ED8;outline-offset:2px}.pwa-update-button:disabled{cursor:wait;opacity:.7}@media (max-width:430px){.pwa-update-region{grid-template-columns:1fr}.pwa-update-button{width:100%}}.app-shell{min-height:100dvh;max-width:720px;margin:0 auto;padding:var(--page-padding)}.create-screen{padding-bottom:var(--submit-bar-reserve)}.app-header{display:flex;flex-direction:column;gap:4px;padding:2px 0 12px}.eyebrow{margin:0;color:var(--muted-text);font-size:var(--font-label);font-weight:800}h1{margin:0;font-size:30px}h1,h2{letter-spacing:0}h2{margin:0 0 12px;font-size:26px}.top-fixed-area{position:-webkit-sticky;position:sticky;top:0;z-index:30;margin:0 calc(var(--page-padding) * -1) var(--section-gap);border-bottom:1px solid var(--border);background:rgba(248,247,242,.98);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.top-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--control-gap);gap:var(--control-gap)}.top-status-area,.top-tabs{padding:8px var(--page-padding)}.top-status-area{display:flex;flex-direction:column;gap:8px}.shop-session-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:var(--control-gap);gap:var(--control-gap);min-height:var(--min-touch-target);padding:8px 10px 8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.shop-session-bar strong{min-width:0;color:var(--text);font-size:var(--font-label);overflow-wrap:anywhere}.shop-leave-button{min-width:0;min-height:44px;border:2px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--primary);padding:8px 10px;font-size:var(--font-label);font-weight:900}.status-banner,.sync-pill{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.pin-progress{margin:0;min-height:1.5em;color:var(--muted-text)}.pin-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.pin-keypad button{min-height:max(64px,var(--min-touch-target));border:2px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);font:inherit;font-size:max(24px,var(--font-button));font-weight:800}.pin-keypad button:focus-visible{outline:4px solid var(--primary);outline-offset:2px}.offline-trusted-banner{padding:12px 16px;border:2px solid;border-radius:12px;background:#fff4d6;color:#6b4500;font-weight:800}.sync-pill{min-height:var(--min-touch-target);display:flex;color:var(--primary)}.sync-pill,.sync-status-button{align-items:center;padding:10px 12px;font-size:var(--font-label);font-weight:900}.sync-status-button{width:calc(100% - (var(--page-padding) * 2));min-height:56px;margin:0 var(--page-padding) 8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:10px;gap:10px;border:2px solid var(--border);border-left-width:7px;border-radius:var(--radius);background:var(--surface);color:var(--text);text-align:left}.order-export-button:focus-visible,.sync-history-close:focus-visible,.sync-retry-button:focus-visible,.sync-status-button:focus-visible{outline:4px solid #1D4ED8;outline-offset:2px}.sync-status-complete{border-left-color:var(--success)}.sync-status-loading{border-left-color:var(--muted-text);background:var(--surface)}.sync-status-error{border-color:var(--danger);background:#FFF5F5}.sync-status-attention{border-color:#9A6700;background:#FFF7D6}.sync-status-offline{border-color:#8A4B08;background:#FDEBD0}.sync-status-symbol{display:grid;place-items:center;width:32px;height:32px;border:2px solid;border-radius:50%;font-size:21px;line-height:1}.sync-status-detail{color:var(--muted-text);font-size:max(14px,calc(var(--font-label) * .8))}.sync-status-error-message{margin:0 var(--page-padding) 8px;border:2px solid var(--danger);border-radius:var(--radius);background:#FFF5F5;padding:8px 12px;font-size:var(--font-label);font-weight:800}.sync-history-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background:rgba(15,23,42,.58);padding:12px}.sync-history-panel{width:min(100%,720px);max-height:min(90dvh,760px);overflow-y:auto;border:3px solid var(--text);border-radius:16px 16px 8px 8px;background:var(--background);padding:16px;box-shadow:0 -10px 30px rgba(15,23,42,.25)}.sync-history-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sync-history-header h2{margin-bottom:0}.sync-history-close,.sync-retry-button{min-height:56px;border:2px solid var(--primary);border-radius:var(--radius);background:var(--surface);color:var(--primary);padding:10px 14px;font-weight:900}.sync-history-help{margin:12px 0;color:var(--muted-text);font-size:var(--font-label);font-weight:800}.sync-history-error{margin:0 0 12px;border:2px solid var(--danger);border-radius:var(--radius);background:#FFF5F5;color:var(--danger);padding:10px 12px;font-size:var(--font-label);font-weight:900}.sync-history-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.sync-history-item{border:2px solid var(--border);border-left-width:7px;border-radius:var(--radius);background:var(--surface);padding:12px}.sync-history-item-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.sync-history-item p{margin:6px 0 0;color:var(--muted-text);font-size:var(--font-label);font-weight:700}.sync-history-state{flex:0 0 auto;border:2px solid;border-radius:999px;padding:3px 8px;font-size:var(--font-label);font-weight:900}.sync-history-pending,.sync-history-syncing{border-left-color:var(--warning)}.sync-history-synced{border-left-color:var(--success)}.sync-history-conflict,.sync-history-failed,.sync-history-quarantine{border-left-color:var(--danger);background:#FFF8F7}.sync-history-reason{color:var(--text)!important}.sync-retry-button{width:100%;margin-top:10px}.sync-retry-button:disabled{cursor:wait;opacity:.65}.order-export-box{margin:0 0 12px;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px}.order-export-box p{margin:0 0 10px;color:var(--text);font-size:var(--font-label);font-weight:800}.order-export-button{width:100%;min-height:56px;border:2px solid var(--primary);border-radius:var(--radius);background:var(--primary);color:#fff;padding:10px 14px;font-size:var(--font-button);font-weight:900}.order-export-button:disabled{cursor:wait;opacity:.65}.status-banner{padding:10px 12px;border-color:#E4C891;color:var(--text);font-size:var(--font-label);font-weight:800}.screen,.stack{gap:var(--section-gap)}.field,.screen,.stack{display:flex;flex-direction:column}.field{gap:8px;font-weight:800}.field label,.field span,.section-title{color:var(--text);font-size:var(--font-label);font-weight:900}.field-help{margin:-2px 0 0;color:var(--muted-text);font-size:var(--font-label);font-weight:800}input,textarea{width:100%;min-height:60px;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:14px var(--button-padding);font-size:var(--font-button)}.field input::placeholder{color:var(--muted-text);opacity:1}.file-input-hidden{display:none}textarea{min-height:112px;resize:vertical}.unit-input{display:grid;grid-template-columns:1fr 56px;align-items:stretch}.unit-input input{border-top-right-radius:0;border-bottom-right-radius:0}.unit-input span{display:grid;place-items:center;min-height:60px;border:2px solid var(--border);border-left:0;border-radius:0 var(--radius) var(--radius) 0;background:var(--background);color:var(--text);font-size:var(--font-button);font-weight:900}button:focus-visible,input:focus,textarea:focus{outline:3px solid rgba(47,133,90,.35);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.65}.quick-grid,.status-action-grid,.two-grid,.workflow-action-grid{display:grid;grid-gap:var(--control-gap);gap:var(--control-gap)}.quick-grid,.two-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-action-grid{grid-template-columns:1fr}.workflow-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.primary-button,.quantity-stepper button,.quick-select-button,.secondary-button,.stepper button,.tab-button{min-width:0;min-height:var(--min-touch-target);border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:12px;font-size:21px;font-weight:900;line-height:1.25;overflow-wrap:anywhere;white-space:normal}.quick-select-button,.tab-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.quick-select-button{min-height:var(--quick-button-height)}.quick-select-button.selected,.tab-button.active{border-color:var(--text);border-width:3px;background:#EAF4EE}.selection-label{color:var(--primary);font-size:var(--font-label);font-weight:900;line-height:1.1}.app-header,.badge,.date-filter,.date-range-heading,.empty-state,.error-box,.field,.field label,.field span,.field-help,.item-choice-group,.item-choice-label,.item-editor,.item-header,.item-heading,.kind-card,.kind-row,.metric,.metric span,.metric strong,.order-detail-row,.order-detail-row span,.order-detail-row strong,.order-main,.order-main p,.order-main span,.order-main strong,.order-photo-actions,.order-photo-thumb,.photo-preview,.photo-preview img,.section-title,.shop-session-bar,.shop-session-bar strong,.status-banner,.summary-box,.summary-box span,.summary-box strong,.sync-pill,.time-group,.time-group h2{min-width:0;overflow-wrap:anywhere}.quantity-stepper button:active,.quick-select-button:active,.secondary-button:active,.stepper button:active,.tab-button:active{transform:translateY(1px)}.primary-button{min-height:var(--primary-button-height);border-color:var(--primary);background:var(--primary);color:var(--primary-text);padding:14px var(--button-padding);font-size:var(--font-button)}.primary-button:active{background:var(--success)}.secondary-button{background:var(--surface);color:var(--primary)}.tab-button{min-height:var(--min-touch-target);padding:8px;font-size:var(--font-base)}.empty-state,.error-box,.item-editor,.order-card,.summary-box,.summary-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.item-editor{display:flex;flex-direction:column;gap:12px;padding:14px;border-left:6px solid var(--primary)}.item-heading{color:var(--primary);font-size:var(--font-label);font-weight:800}.item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--control-gap)}.item-choice-group{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--background)}.item-choice-label{color:var(--text);font-size:var(--font-label);font-weight:900}.item-delete-button{min-height:var(--min-touch-target);padding:8px 12px;color:var(--danger);font-size:var(--font-label)}.stepper{display:grid;grid-template-columns:72px 1fr 72px;align-items:center;grid-gap:var(--control-gap);gap:var(--control-gap)}.quantity-stepper strong,.stepper strong{min-height:var(--min-touch-target);display:grid;place-items:center;border:2px solid var(--border);border-radius:var(--radius);background:var(--background);font-size:var(--font-large)}.quantity-stepper{display:grid;grid-template-columns:96px 1fr 96px;align-items:center;grid-gap:var(--control-gap);gap:var(--control-gap)}.check-row{display:flex;align-items:center;gap:12px;min-height:var(--min-touch-target);font-weight:900}.check-row input{width:28px;min-height:28px}.photo-preview{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--control-gap);gap:var(--control-gap);padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--background)}.order-photo-thumb,.photo-preview img{display:block;width:100%;max-height:280px;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);object-fit:cover}.order-photo-thumb{max-height:220px}.order-photo-actions{gap:var(--control-gap);padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--background)}.order-photo-actions,.summary-box{display:flex;flex-direction:column}.summary-box{gap:6px;padding:14px;border:2px solid var(--text)}.summary-box>span{color:var(--muted-text);font-size:var(--font-label);font-weight:800}.summary-box strong{font-size:var(--font-button)}.fixed-submit-bar{position:fixed;right:0;bottom:env(safe-area-inset-bottom);left:0;z-index:20;display:flex;flex-direction:column;gap:8px;max-width:720px;max-height:var(--fixed-submit-bar-max-height);margin:0 auto;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:rgba(248,247,242,.98);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.fixed-submit-bar .summary-box{flex:1 1 auto;min-height:0;overflow-y:auto;padding:10px 12px}.fixed-submit-bar .summary-box strong{display:flex;flex-direction:column;gap:2px;font-size:var(--font-large);line-height:1.25}.fixed-submit-bar .summary-box strong span{display:block;color:inherit;font-size:inherit;overflow-wrap:anywhere}.fixed-submit-bar .primary-button{flex:0 0 auto;min-height:var(--primary-button-height)}.fixed-submit-bar .error-box{flex:0 0 auto;padding:10px 12px}.error-box{border-color:#E8B5B5;color:var(--danger);padding:14px;font-weight:900}.empty-state{padding:24px var(--button-padding);color:var(--muted-text);font-size:var(--font-large);text-align:center;font-weight:800}.order-card{display:flex;flex-direction:column;gap:12px;padding:14px;border-left:6px solid var(--text)}.order-list{display:grid;grid-template-columns:1fr}.date-filter{display:flex;flex-direction:column;gap:var(--section-gap)}.date-range-heading{margin:4px 0 0;font-size:var(--font-large)}.time-group{display:flex;flex-direction:column;gap:10px}.time-group h2{margin:0;font-size:28px}.time-group-list{display:grid;grid-template-columns:1fr;grid-gap:var(--section-gap);gap:var(--section-gap)}.order-card.picked-up{opacity:.72;border-left-color:var(--success)}.order-main{display:flex;flex-direction:column;gap:6px}.order-time{font-size:var(--font-button)}.order-date{color:var(--muted-text);font-size:var(--font-large);font-weight:900}.order-main p,.order-main span{margin:0;color:var(--muted-text);font-size:var(--font-label)}.order-detail-list{display:flex;flex-direction:column;gap:8px}.order-detail-row{display:grid;grid-template-columns:minmax(84px,max-content) minmax(0,1fr);grid-gap:8px;gap:8px;align-items:start}.order-detail-row span{color:var(--muted-text);font-size:var(--font-label);font-weight:900}.order-detail-row strong{font-size:var(--font-base)}.badge-row{display:flex;flex-wrap:wrap;gap:8px}.badge{border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;color:var(--muted-text);font-size:var(--font-label);font-weight:900}.badge.success{border-color:#BFD8C9;background:#EAF4EE;color:var(--success)}.summary-card{padding:var(--page-padding);border-left:6px solid var(--primary)}.summary-total{border-left-color:var(--text)}.kind-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--control-gap);gap:var(--control-gap);margin-bottom:12px}.kind-card{border:2px solid var(--border);border-radius:var(--radius);background:var(--background);padding:12px}.kind-card h3{margin:0 0 10px;font-size:var(--font-button);letter-spacing:0}.kind-list{display:flex;flex-direction:column;gap:8px}.kind-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;border-top:1px solid var(--border);padding-top:8px}.kind-empty,.kind-row span{color:var(--muted-text);font-size:var(--font-label);font-weight:800}.kind-row strong{font-size:var(--font-button)}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--control-gap);gap:var(--control-gap)}.metric{border:2px solid var(--border);border-radius:var(--radius);background:var(--background);padding:12px}.metric span{display:block;color:var(--muted-text);font-size:var(--font-label);font-weight:800}.metric strong{display:block;margin-top:4px;font-size:var(--font-large)}@media (max-width:430px){.date-filter .two-grid,.kind-summary,.status-action-grid,.summary-grid,.workflow-action-grid{grid-template-columns:1fr}.sync-status-button{grid-template-columns:auto minmax(0,1fr)}.sync-status-detail{display:none}.shop-leave-button,.shop-session-bar strong{font-size:min(var(--font-label),20px)}.sync-history-backdrop{padding:0}.sync-history-panel{max-height:94dvh;border-right:0;border-bottom:0;border-left:0;border-radius:16px 16px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.quantity-stepper{grid-template-columns:1fr}.fixed-submit-bar .summary-box{padding-top:4px;padding-bottom:4px}.fixed-submit-bar{gap:4px;padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.fixed-submit-bar .summary-box>span{display:none}.fixed-submit-bar .summary-box strong{font-size:min(var(--font-large),32px);line-height:1.1}.item-header{align-items:stretch;flex-direction:column}.kind-row{align-items:flex-start;flex-direction:column}.order-detail-row{grid-template-columns:1fr}}