:root{color:#4a3526;font-synthesis:none;text-rendering:optimizelegibility;background:#f8f3eb;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,Arial,sans-serif}*{box-sizing:border-box}html{background:#f8f3eb;min-width:320px}body{background:linear-gradient(#fbf7f1 0%,#f6efe6 100%);min-width:320px;min-height:100dvh;margin:0}body,button,input,select,textarea{font-family:inherit}button{color:#fff;cursor:pointer;touch-action:manipulation;background:#8b5e3c;border:none;border-radius:12px;min-height:46px;padding:12px 20px;font-size:16px}@media (hover:hover){button:hover:not(:disabled){filter:brightness(.94)}}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #d7a56c}button:disabled{cursor:not-allowed;opacity:.58}input,select,textarea{color:#3f2d22;background:#fff;border:1px solid #cfc1b5;border-radius:11px;width:100%;min-height:48px;padding:12px 13px;font-size:16px;display:block}textarea{resize:vertical;min-height:110px}::placeholder{color:#a49386}p{line-height:1.65}:root{--admin-brown:#54392b;--admin-green:#315f37;--admin-green-light:#e8f3e9;--admin-cream:#f8f2e9;--admin-border:#ded3c8;--admin-danger:#9a302d}.admin-login-page,.admin-layout{min-height:100vh;color:var(--admin-brown);background:var(--admin-cream)}.admin-login-page{padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));place-items:center;display:grid}.admin-login-card{border:1px solid var(--admin-border);background:#fff;border-radius:18px;width:min(100%,440px);padding:28px;box-shadow:0 14px 36px #54392b1f}.admin-login-card h1,.admin-header h1,.admin-content h2,.admin-content h3{color:var(--admin-brown);margin-top:6px}.admin-eyebrow{color:var(--admin-green);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:13px;font-weight:800}.admin-primary-button,.admin-logout-button,.admin-secondary-link,.admin-customer-link{touch-action:manipulation;border-radius:10px;justify-content:center;align-items:center;min-height:46px;font-size:16px;font-weight:750;text-decoration:none}.admin-primary-button{color:#14361f;background:#06c755;border:0;width:100%;margin-top:20px;display:flex}.admin-customer-link{color:var(--admin-green);margin-top:12px;display:flex}.admin-status{align-items:center;gap:8px;display:flex}.admin-password-form{gap:4px;margin-top:20px;display:grid}.admin-password-form .admin-primary-button{margin-top:12px}.admin-layout{padding-bottom:max(28px, env(safe-area-inset-bottom))}.admin-header{padding:max(20px, env(safe-area-inset-top)) clamp(18px, 4vw, 48px) 20px;border-bottom:1px solid var(--admin-border);background:#fff;justify-content:space-between;align-items:center;gap:20px;display:flex}.admin-header h1{margin-bottom:3px;font-size:clamp(24px,4vw,32px)}.admin-account{color:#725f52;margin:0;font-size:14px}.admin-logout-button{border:1px solid var(--admin-border);color:var(--admin-brown);background:#fff;flex:none;padding:9px 18px}.admin-navigation{border-bottom:1px solid var(--admin-border);scrollbar-width:thin;background:#fff;gap:8px;padding:12px clamp(18px,4vw,48px);display:flex;overflow-x:auto}.admin-navigation a{color:#675347;border-radius:10px;flex:none;align-items:center;min-height:44px;padding:9px 14px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.admin-navigation a.active{background:var(--admin-green-light);color:var(--admin-green)}.admin-content,.admin-layout>.admin-alert{width:min(1120px,100% - 36px);margin-left:auto;margin-right:auto}.admin-publication-panel{border:1px solid var(--admin-border);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;width:min(1120px,100% - 36px);margin:18px auto 0;padding:16px 18px;display:flex}.admin-publication-panel p{margin:5px 0 0}.admin-publication-panel button{background:var(--admin-green);color:#fff;cursor:pointer;border:0;border-radius:10px;min-height:46px;padding:8px 18px;font-size:16px;font-weight:700}.admin-publication-panel button:disabled{opacity:.55;cursor:not-allowed}.admin-publication-error{color:var(--admin-danger)}.admin-publication-success{color:var(--admin-green)}@media (width<=650px){.admin-publication-panel{flex-direction:column;align-items:stretch}}.admin-content{padding-top:28px}.admin-page-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.admin-page-heading h2{margin-bottom:0;font-size:clamp(24px,4vw,34px)}.admin-page-description{color:#725f52;max-width:720px;margin:12px 0 24px}.admin-phase-badge{background:var(--admin-green-light);min-height:28px;color:var(--admin-green);border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:800;display:inline-flex}.admin-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-dashboard-card{border:1px solid var(--admin-border);min-height:180px;color:inherit;background:#fff;border-radius:16px;padding:20px;text-decoration:none;transition:border-color .16s,transform .16s}.admin-dashboard-card:hover{border-color:#83ad88;transform:translateY(-2px)}.admin-dashboard-card p{color:#725f52}.admin-card-action{color:var(--admin-green);font-weight:800}.admin-placeholder{border:1px solid var(--admin-border);background:#fff;border-radius:16px;max-width:720px;padding:24px}.admin-alert{border-radius:10px;margin-top:16px;padding:12px 14px}.admin-alert.error{color:var(--admin-danger);background:#fff1f0;border:1px solid #e2aaa8}.admin-alert.warning{color:#765716;background:#fff7df;border:1px solid #e3c381}.admin-alert.info{background:var(--admin-green-light);color:var(--admin-green);border:1px solid #aac5ae}.admin-alert.success{color:#28572e;background:#edf8ef;border:1px solid #91bf98}.admin-secondary-link{border:1px solid var(--admin-border);color:var(--admin-green);margin-top:18px;padding:9px 16px;display:inline-flex}.admin-primary-button:focus-visible,.admin-primary-action:focus-visible,.admin-secondary-button:focus-visible,.admin-danger-button:focus-visible,.admin-remove-size-button:focus-visible,.admin-logout-button:focus-visible,.admin-navigation a:focus-visible,.admin-dashboard-card:focus-visible,.admin-secondary-link:focus-visible,.admin-customer-link:focus-visible{outline-offset:2px;outline:3px solid #d7a56c}.admin-product-toolbar,.admin-product-card-actions,.admin-form-actions,.admin-confirm-panel>div{flex-wrap:wrap;gap:10px;display:flex}.admin-product-toolbar{margin-bottom:16px}.admin-primary-action,.admin-secondary-button,.admin-danger-button,.admin-remove-size-button{touch-action:manipulation;border-radius:10px;min-height:44px;padding:9px 15px;font-size:16px;font-weight:750}.admin-primary-action{border:1px solid var(--admin-green);background:var(--admin-green);color:#fff}.admin-secondary-button{border:1px solid var(--admin-border);color:var(--admin-green);background:#fff}.admin-danger-button,.admin-remove-size-button{color:var(--admin-danger);background:#fff5f4;border:1px solid #d49b98}.admin-primary-action:disabled,.admin-secondary-button:disabled,.admin-danger-button:disabled,.admin-remove-size-button:disabled{cursor:not-allowed;opacity:.55}.admin-feedback:empty{display:none}.admin-confirm-panel{background:#fff9e9;border:1px solid #e3c381;border-radius:12px;margin:16px 0;padding:16px}.admin-confirm-panel p{margin-top:0;font-weight:700}.admin-products-layout{grid-template-columns:minmax(280px,.8fr) minmax(420px,1.5fr);align-items:start;gap:18px;display:grid}.admin-product-list,.admin-product-editor,.admin-product-empty-editor{border:1px solid var(--admin-border);background:#fff;border-radius:16px}.admin-product-editor-slot{min-width:0;scroll-margin-top:16px}.admin-product-list{gap:12px;max-height:calc(100vh - 240px);padding:14px;display:grid;overflow-y:auto}.admin-product-list-heading,.admin-product-card-heading,.admin-product-editor-heading,.admin-editor-section-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.admin-product-list-heading h3,.admin-product-editor-heading h3,.admin-editor-section h4{margin:0}.admin-product-list-heading>span,.admin-order-label{color:#725f52;font-size:13px}.admin-product-card{background:#fbf8f4;border:2px solid #0000;border-radius:12px;padding:15px}.admin-product-card.selected{background:#f2f8f3;border-color:#6f9d75}.admin-product-card h4{margin:10px 0 2px;font-size:18px}.admin-status-badge,.admin-unsaved-badge{border-radius:999px;align-items:center;min-height:28px;margin-right:6px;padding:4px 9px;font-size:12px;font-weight:800;display:inline-flex}.admin-status-badge.active{color:#28572e;background:#e1f2e4}.admin-status-badge.inactive{color:#66584f;background:#eee9e4}.admin-status-badge.campaign,.admin-unsaved-badge{color:#78570f;background:#fff0cf}.admin-product-id,.admin-product-meta,.admin-product-sizes{color:#725f52;font-size:14px}.admin-product-id{margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.admin-product-card-actions{margin-top:12px}.admin-archived-products{border-top:1px solid var(--admin-border);gap:12px;margin-top:4px;padding-top:14px;display:grid}.admin-archived-products-toggle{border:1px solid var(--admin-border);color:#4f433b;width:100%;min-height:48px;font:inherit;text-align:left;cursor:pointer;background:#f5f1ed;border-radius:12px;justify-content:space-between;align-items:center;padding:11px 13px;font-weight:800;display:flex}.admin-archived-products-toggle:hover:not(:disabled){background:#eee8e2;border-color:#a78f7e}.admin-archived-products-toggle:focus-visible{outline-offset:2px;outline:3px solid #6f9d7559}.admin-archived-products-list{gap:12px;display:grid}.admin-archived-products-description{color:#725f52;margin:0;font-size:13px;line-height:1.6}.admin-product-empty-editor,.admin-loading-panel{padding:28px}.admin-product-editor{padding:clamp(18px,3vw,28px)}.admin-product-editor-heading{margin-bottom:20px}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-field,.admin-size-row label,.admin-flavor-row label{color:var(--admin-brown);align-content:start;gap:7px;font-weight:750;display:grid}.admin-field.wide{grid-column:1/-1}.admin-field input,.admin-field textarea,.admin-field select,.admin-size-row input,.admin-flavor-row input{box-sizing:border-box;color:#3f3028;width:100%;min-height:46px;font:inherit;background:#fff;border:1px solid #cbbbaf;border-radius:10px;font-size:16px}.admin-field input,.admin-field select,.admin-size-row input,.admin-flavor-row input{padding:9px 11px}.admin-field textarea{resize:vertical;min-height:96px;padding:11px}.admin-field input:focus-visible,.admin-field textarea:focus-visible,.admin-field select:focus-visible,.admin-size-row input:focus-visible,.admin-flavor-row input:focus-visible,.admin-checkbox-row input:focus-visible{outline-offset:2px;outline:3px solid #d7a56c}.admin-field small,.admin-checkbox-row small{color:#725f52;font-size:13px;font-weight:500}.admin-field-error{margin:4px 0;font-size:14px;color:var(--admin-danger)!important;font-weight:700!important}.admin-checkbox-row{border:1px solid var(--admin-border);background:#fbf8f4;border-radius:12px;align-items:flex-start;gap:12px;margin-top:20px;padding:14px;display:flex}.admin-checkbox-row.compact{margin-top:0}.admin-checkbox-row input{flex:none;width:22px;height:22px;margin:1px 0 0}.admin-checkbox-row span{gap:4px;display:grid}.admin-editor-section{border-top:1px solid var(--admin-border);margin-top:22px;padding-top:20px}.admin-editor-section-heading p{color:#725f52;margin:4px 0 0;font-size:14px}.admin-size-list{gap:10px;margin-top:14px;display:grid}.admin-size-row{background:#f7f3ee;border-radius:12px;grid-template-columns:minmax(120px,1fr) minmax(120px,.8fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.admin-form-actions{z-index:2;border-top:1px solid var(--admin-border);background:#fffffff5;margin:24px -8px -8px;padding:12px 8px 8px;position:sticky;bottom:0}.admin-flavor-editor{gap:14px;margin-top:16px;display:grid}.admin-flavor-heading{margin-top:4px}.admin-flavor-list{gap:10px;display:grid}.admin-campaign-relations{gap:10px;margin-top:14px;display:grid}.admin-campaign-relations>div{background:#f7f3ee;border-radius:12px;padding:12px}.admin-campaign-relations p{color:#725f52;overflow-wrap:anywhere;margin:5px 0 0}.admin-flavor-row{background:#f7f3ee;border-radius:12px;grid-template-columns:minmax(160px,1fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.admin-settings-form,.admin-calendar,.admin-date-editor,.admin-date-editor-slot{border:1px solid var(--admin-border);background:#fff;border-radius:16px}.admin-settings-form,.admin-date-editor{padding:20px}.admin-weekday-fieldset{border:1px solid var(--admin-border);border-radius:14px;margin:24px 0 0;padding:16px}.admin-weekday-fieldset legend{padding:0 6px;font-weight:800}.admin-weekday-fieldset>p{color:#705c50;margin:0 0 12px}.admin-weekday-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.admin-calendar-toolbar{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:18px 0;display:grid}.admin-calendar-toolbar h3{text-align:center;margin:0}.admin-dates-layout{grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);align-items:start;gap:18px;display:grid}.admin-calendar{padding:12px;overflow:hidden}.admin-calendar-weekdays,.admin-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.admin-calendar-weekdays{color:#78665a;text-align:center;margin-bottom:7px;font-size:.82rem;font-weight:700}.admin-calendar-day,.admin-calendar-empty{border-radius:10px;min-width:0;min-height:86px}.admin-calendar-day{color:var(--admin-brown);text-align:left;cursor:pointer;background:#fff;border:1px solid #e4dbd2;flex-direction:column;align-items:flex-start;gap:3px;padding:8px;display:flex}.admin-calendar-day:hover,.admin-calendar-day:focus-visible{border-color:var(--admin-green)}.admin-calendar-day.special{background:#fff8e8;border-color:#d4b770}.admin-calendar-day.closed{color:#7a4846;background:#f4eeee}.admin-calendar-day.selected{border-color:var(--admin-green);outline:3px solid #315f3747}.admin-calendar-date{font-size:1rem;font-weight:850}.admin-calendar-state,.admin-calendar-campaign,.admin-calendar-limit{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.7rem;line-height:1.25;overflow:hidden}.admin-calendar-campaign{color:#795c13;font-weight:750}.admin-date-editor-slot{min-height:220px;position:sticky;top:12px}.admin-date-editor-slot .admin-product-empty-editor{border:0}.admin-date-editor{border:0;gap:16px;display:grid}.admin-date-editor .admin-form-actions,.admin-settings-form .admin-form-actions{margin:8px 0 0;position:static}.admin-order-operations-grid{grid-template-columns:minmax(480px,1.45fr) minmax(280px,.65fr);align-items:start;gap:18px;display:grid}.admin-order-fields{border:0;min-width:0;margin:0;padding:0}.admin-order-cancel-card{border:1px solid var(--admin-border);background:#fff;border-radius:16px;gap:16px;padding:22px;display:grid;position:sticky;top:12px}.admin-order-cancel-card h3,.admin-order-cancel-card p{margin:0}.admin-order-cancel-card>p:not(.admin-eyebrow){color:#725f52}.admin-force-panel{color:#62400f;background:#fff7e8;border:2px solid #c68148;border-radius:14px;margin-top:22px;padding:18px}.admin-force-panel h4{margin:0 0 12px;font-size:1.08rem}.admin-force-panel ul{gap:8px;margin:0;padding-left:22px;display:grid}.admin-order-preview{background:#ffffffb8;border-radius:10px;gap:8px;margin:16px 0 0;padding:14px;display:grid}.admin-order-preview>div{grid-template-columns:80px 1fr;gap:10px;display:grid}.admin-order-preview dt{font-weight:800}.admin-order-preview dd{margin:0}.admin-form-actions.static{background:0 0;border:0;margin:16px 0 0;padding:0;position:static}.admin-week-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-week-toolbar .admin-secondary-link{color:var(--admin-green);border:1px solid var(--admin-border);background:#fff;padding:10px 14px;display:inline-flex}.admin-week-range{margin:24px 0 16px;font-size:clamp(17px,3vw,22px)}.admin-week-refresh-status{border-left:3px solid var(--admin-green);background:var(--admin-green-light);color:var(--admin-green);overflow-wrap:anywhere;margin:0 0 16px;padding:12px 14px;font-size:14px}.admin-week-refresh-status p{margin:4px 0}.admin-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;gap:10px;display:grid}.admin-week-day{border:1px solid var(--admin-border);overflow-wrap:anywhere;background:#fff;border-radius:12px;min-width:0}.admin-week-day.is-today{border:2px solid var(--admin-green)}.admin-week-day-heading{border-bottom:1px solid var(--admin-border);background:var(--admin-green-light);border-radius:11px 11px 0 0;padding:12px 10px}.admin-week-day-heading h4{margin:0;font-size:15px}.admin-week-day-heading h4 a{color:inherit;text-underline-offset:3px;-webkit-text-decoration:underline #315f3759;text-decoration:underline #315f3759}.admin-week-today,.admin-week-day-flags,.admin-week-capacity small{font-size:13px}.admin-week-day-flags{flex-wrap:wrap;gap:6px;display:flex}.admin-week-day-flags span{background:#fff;border-radius:4px;padding:2px 6px}.admin-week-capacity{flex-wrap:wrap;align-items:baseline;gap:6px;margin:10px 0 6px;font-size:21px;font-weight:800;display:flex}.admin-week-capacity.over-capacity{color:var(--admin-danger)}.admin-week-orders{margin:0;padding:8px;list-style:none}.admin-week-order{border-left:3px solid var(--admin-green);background:#fbf7f1;border-radius:4px;padding:10px 8px;font-size:15px}.admin-week-order+.admin-week-order{margin-top:10px}.admin-week-order p{margin:5px 0}.admin-week-order-time{font-size:18px}.admin-week-order.is-picked-up{color:#6c655e;background:#f3f2ef;border-left-color:#a7a29b}.admin-week-picked-up{margin-top:8px;font-weight:700;display:block}.admin-week-empty,.admin-week-footnote{color:#725f52;padding:12px 10px;font-size:14px}.admin-month-legend{color:#655449;flex-wrap:wrap;gap:8px;margin:0 0 12px;font-size:13px;display:flex}.admin-month-legend span{border:1px solid var(--admin-border);background:#fff;border-radius:999px;padding:4px 8px}.admin-month-legend .status-near{background:#fff3d4}.admin-month-legend .status-normal{background:#f5fbf6}.admin-month-legend .status-full{background:#f9dfda}.admin-month-legend .status-over{color:var(--admin-danger);background:#f9d4cf;border-color:#c77c72}.admin-month-legend .is-closed{background:#eeeae6}.admin-month-calendar{border:1px solid var(--admin-border);background:#fff;border-radius:16px;padding:12px;overflow:hidden}.admin-month-weekdays,.admin-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.admin-month-weekdays{color:#78665a;text-align:center;margin-bottom:7px;font-size:13px;font-weight:800}.admin-month-day,.admin-month-empty{border-radius:10px;min-width:0;min-height:116px}.admin-month-day{overflow-wrap:anywhere;color:inherit;background:#fff;border:1px solid #e4dbd2;flex-direction:column;gap:6px;padding:9px;text-decoration:none;display:flex}.admin-month-day header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;display:flex}.admin-month-day time{font-size:16px;font-weight:850}.admin-month-day>strong{font-size:clamp(18px,2.3vw,26px);line-height:1}.admin-month-state{color:#6f6056;font-size:12px}.admin-month-day.status-normal{background:#f5fbf6}.admin-month-day.status-near{background:#fff8e8;border-color:#d7b15c}.admin-month-day.status-full{background:#fff0ed;border-color:#c9897e}.admin-month-day.status-over{border:2px solid var(--admin-danger);background:#fde4df}.admin-month-day.status-over>strong{color:var(--admin-danger)}.admin-month-day.is-closed{color:#675d56;background-image:linear-gradient(#705e5214,#705e5214)}.admin-month-day.is-today{border-color:var(--admin-green);outline:3px solid #315f3747}.admin-month-flags{flex-wrap:wrap;gap:4px;margin-top:auto;display:flex}.admin-month-flags span{color:#795c13;text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:4px;max-width:100%;padding:2px 5px;font-size:11px;font-weight:750;overflow:hidden}.admin-month-flags span:first-child{color:#704a47}.admin-daily-refreshing{border-left:3px solid var(--admin-green);background:var(--admin-green-light);color:var(--admin-green);margin:0 0 12px;padding:10px 12px;font-size:14px}.admin-daily-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.admin-daily-summary>div{border:1px solid var(--admin-border);background:#fff;border-radius:12px;gap:6px;min-width:0;padding:14px;display:grid}.admin-daily-summary span{color:#725f52;font-size:13px}.admin-daily-summary strong{overflow-wrap:anywhere;font-size:clamp(18px,3vw,25px)}.admin-daily-summary strong.over-capacity{color:var(--admin-danger)}.admin-daily-orders-list{gap:16px;display:grid}.admin-daily-order-card{border:1px solid var(--admin-border);border-left:5px solid var(--admin-green);overflow-wrap:anywhere;background:#fff;border-radius:14px;min-width:0;padding:18px}.admin-daily-order-card.status-picked_up{background:#f7f7f4;border-left-color:#8a948b}.admin-daily-order-card.status-cancelled{color:#6c625d;background:#f6f1ef;border-left-color:#b49d98}.admin-daily-order-heading{border-bottom:1px solid var(--admin-border);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.admin-daily-order-heading h3,.admin-daily-order-heading p{margin:5px 0 0}.admin-daily-pickup-time{color:var(--admin-green);font-size:24px}.admin-daily-status{background:var(--admin-green-light);color:var(--admin-green);border-radius:999px;flex:none;padding:6px 10px;font-size:13px;font-weight:850}.admin-daily-status.status-picked_up{color:#526157;background:#e7ebe7}.admin-daily-status.status-cancelled{color:#754e49;background:#eadfdb}.admin-daily-order-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.admin-daily-order-details>div{min-width:0}.admin-daily-order-details dt{color:#725f52;margin-bottom:3px;font-size:12px;font-weight:750}.admin-daily-order-details dd{overflow-wrap:anywhere;margin:0;font-size:15px}.admin-daily-note{background:#fbf7f1;border-radius:9px;padding:12px}.admin-daily-note p{white-space:pre-wrap;margin:6px 0 0}.admin-daily-order-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.admin-daily-order-actions .admin-primary-action{width:auto}.admin-daily-terminal-state{color:#6c625d;margin:16px 0 0;font-weight:750}.admin-daily-cancel-confirm{margin-top:14px}@media (width<=1000px){.admin-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.admin-week-grid{grid-template-columns:1fr}.admin-week-order{font-size:16px}}.admin-force-final-confirmation{border-top:1px solid #d8ad6a;margin-top:16px;padding-top:14px}.admin-force-final-confirmation p{margin:0;font-weight:850}@media (width<=640px){.admin-header{align-items:flex-start}.admin-dashboard-grid{grid-template-columns:1fr}.admin-login-card,.admin-placeholder{padding:20px}.admin-products-layout,.admin-form-grid,.admin-dates-layout,.admin-order-operations-grid,.admin-daily-summary,.admin-daily-order-details{grid-template-columns:1fr}.admin-daily-order-card{padding:14px}.admin-daily-order-heading{gap:10px}.admin-daily-order-actions{grid-template-columns:1fr;display:grid}.admin-daily-order-actions .admin-primary-action,.admin-daily-order-actions .admin-danger-button{width:100%}.admin-settings-form,.admin-date-editor{padding:16px}.admin-calendar,.admin-month-calendar{padding:6px}.admin-month-weekdays,.admin-month-grid{gap:2px}.admin-month-day,.admin-month-empty{min-height:86px}.admin-month-day{gap:3px;padding:5px 3px}.admin-month-day time{font-size:14px}.admin-month-day>strong{font-size:15px}.admin-month-state,.admin-month-flags span{font-size:9px}.admin-month-flags,.admin-calendar-weekdays,.admin-calendar-grid{gap:2px}.admin-calendar-day{min-height:74px;padding:5px}.admin-calendar-state,.admin-calendar-campaign,.admin-calendar-limit{font-size:.61rem}.admin-date-editor-slot,.admin-order-cancel-card{position:static}.admin-product-list{max-height:none}.admin-field.wide{grid-column:auto}.admin-size-row{grid-template-columns:1fr 1fr}.admin-flavor-row{grid-template-columns:1fr}.admin-remove-size-button,.admin-flavor-row .admin-remove-size-button{grid-column:1/-1}}@media (width>=641px) and (width<=900px){.admin-products-layout,.admin-dates-layout,.admin-order-operations-grid{grid-template-columns:1fr}.admin-product-list{max-height:none}.admin-date-editor-slot,.admin-order-cancel-card{position:static}}@media (prefers-reduced-motion:reduce){.admin-dashboard-card{transition:none}}@font-face{font-family:GH Mincho;src:url(/assets/gh-mincho-Do_CZIxC.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap}:is(html:has(.customer-app),body:has(.customer-app)){background:#f6f2ed}.app-shell.customer-app{--paper:#f6f2ed;--surface:#fcfaf7;--tint:#ede7df;--ink:#2b1f16;--ink-soft:#55483d;--muted:#786c61;--line:#e2dbd0;--line-control:#948778;--brick:#8e463a;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-base:15px;--text-input:16px;--text-fact:17px;--text-title:20px;--text-heading:27px;--text-name:40px;--track-1:.05em;--track-2:.1em;--track-3:.18em;--track-4:.36em;--gutter:28px;--column:600px;--radius:8px;--bar-height:48px;--row-height:56px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--font-body:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", Arial, sans-serif;--font-serif:"GH Mincho", "Noto Serif TC", "Songti TC", "PMingLiU", Georgia, serif}@media (width<=480px){.app-shell.customer-app{--gutter:22px}}@keyframes gh-fade{0%{opacity:0}to{opacity:1}}@keyframes gh-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0,0)}}@keyframes gh-settle{0%{opacity:0;letter-spacing:.52em}to{opacity:1;letter-spacing:var(--track-4)}}@keyframes gh-draw-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes gh-sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes gh-bar-in{0%{transform:translateY(100%)}to{transform:translate(0,0)}}.app-shell.customer-app{background:var(--paper);width:100%;max-width:none;min-height:100dvh;color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;padding:0;line-height:1.75;position:relative}@supports (overflow:clip){.app-shell.customer-app{overflow-x:clip}}.customer-app ::selection{background:var(--ink);color:var(--surface)}.customer-app .customer-column{width:min(100%, var(--column));padding:0 var(--gutter);margin:0 auto}.customer-app h1,.customer-app h2,.customer-app h3{color:var(--ink);font-family:var(--font-serif);margin:0;font-weight:500}.customer-app h2{font-size:var(--text-heading);letter-spacing:var(--track-2);text-wrap:balance;line-height:1.45}.customer-app h3{font-size:var(--text-title);letter-spacing:var(--track-1);line-height:1.5}.customer-app .phrase{display:inline-block}.customer-app .visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.customer-app .ellipsis{letter-spacing:0}.customer-app p{line-height:inherit;margin:0}.customer-app a{color:inherit;-webkit-tap-highlight-color:transparent}.customer-app hr{border:0;border-top:1px solid var(--line);margin:0}.customer-app :focus-visible{outline:2px solid var(--ink);outline-offset:3px}.customer-app [tabindex="-1"]:focus,.customer-app [tabindex="-1"]:focus-visible{outline:none}.customer-app .num,.customer-app .price{font-family:var(--font-serif);font-variant-numeric:lining-nums tabular-nums;letter-spacing:var(--track-1)}.customer-app .currency{margin-right:1px;font-size:.78em}.customer-app .dateline{word-spacing:-.12em}.customer-app .order-section{padding-top:64px}.customer-app [data-order-step]{scroll-margin-top:calc(var(--bar-height) - 16px)}.customer-app .section-heading{margin-bottom:32px}.customer-app .section-index{color:var(--muted);font-family:var(--font-serif);font-size:var(--text-xs);font-variant-numeric:lining-nums;letter-spacing:var(--track-3);align-items:center;gap:16px;margin-bottom:24px;line-height:1;display:flex}.customer-app .section-index:after{content:"";background:var(--line);transform-origin:0;flex:1;height:1px}.customer-app .section-intro{color:var(--muted);font-size:var(--text-md);margin-top:8px}.customer-app button{min-height:48px;box-shadow:none;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;margin:0;padding:0}.customer-app button:hover:not(:disabled){filter:none}.customer-app button:disabled{cursor:not-allowed;opacity:.5}.customer-app .primary-button,.customer-app .secondary-button,.customer-app .install-button,.customer-app .line-action-link{border:1px solid var(--ink);border-radius:var(--radius);min-height:52px;font-size:var(--text-base);letter-spacing:var(--track-3);text-align:center;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-weight:500;line-height:1.2;text-decoration:none;transition:background-color .3s,border-color .3s,color .3s,opacity .3s;display:inline-flex}.customer-app .primary-button,.customer-app .line-action-link.primary{background:var(--ink);color:var(--surface)}.customer-app .secondary-button,.customer-app .install-button,.customer-app .line-action-link.secondary{border-color:var(--line-control);color:var(--ink);background:0 0;font-weight:400}.customer-app .primary-button:active:not(:disabled),.customer-app .line-action-link.primary:active:not(:disabled){opacity:.82}.customer-app .secondary-button:active:not(:disabled),.customer-app .line-action-link.secondary:active{background:var(--tint)}.customer-app .button-arrow{transition:transform .4s var(--ease-out);display:inline-block}@media (hover:hover){.customer-app .primary-button:hover:not(:disabled),.customer-app .line-action-link.primary:hover:not(:disabled){background:#3d2e22;border-color:#3d2e22}.customer-app .secondary-button:hover:not(:disabled),.customer-app .install-button:hover,.customer-app .line-action-link.secondary:hover{border-color:var(--ink)}.customer-app .section-link:hover .button-arrow.next,.customer-app .primary-button:hover .button-arrow.next{transform:translate(4px)}.customer-app .secondary-button:hover .button-arrow.back{transform:translate(-4px)}}.customer-app .button-row{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:12px;margin-top:32px;display:grid}.customer-app .button-row.is-single{grid-template-columns:minmax(0,1fr)}.customer-app .button-row.is-single .primary-button{white-space:normal}.customer-app .button-row.is-single .secondary-button:disabled{display:none}.customer-app .full-width{width:100%;margin:0}.customer-app .install-button{width:100%;margin:24px 0 0}.customer-app .text-button,.customer-app .text-link{min-height:44px;color:var(--ink);font-size:var(--text-md);letter-spacing:var(--track-1);text-decoration:underline;-webkit-text-decoration-color:var(--line-control);text-decoration-color:var(--line-control);text-underline-offset:6px;border-radius:4px;margin:0 -6px;padding:11px 6px;font-weight:400;line-height:22px;text-decoration-thickness:1px;transition:text-decoration-color .3s;display:inline-block}.customer-app .text-button:focus-visible,.customer-app .text-link:focus-visible{outline-offset:-3px}.customer-app .link-arrow{margin-left:8px;text-decoration:none;display:inline-block}@media (hover:hover){.customer-app .text-button:hover,.customer-app .text-link:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}}.customer-app .form-field{margin:0 0 24px}.customer-app .form-field label,.customer-app legend,.customer-app .field-label{color:var(--ink);font-size:var(--text-md);letter-spacing:var(--track-1);margin:0 0 8px;padding:0;font-weight:500;line-height:1.6;display:block}.customer-app .optional{color:var(--muted);font-size:var(--text-xs);margin-left:8px;font-weight:400}.customer-app input:not([type=radio]),.customer-app textarea{border:1px solid var(--line-control);border-radius:var(--radius);background:var(--surface);width:100%;min-width:0;max-width:100%;min-height:52px;box-shadow:none;color:var(--ink);font:inherit;font-size:var(--text-input);appearance:none;margin:0;padding:12px 16px;line-height:1.6;transition:border-color .25s,box-shadow .25s;display:block}.customer-app textarea{resize:none;min-height:120px}.customer-app input:not([type=radio]):focus-visible,.customer-app textarea:focus-visible{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px #2b1f161a}.customer-app ::placeholder{color:var(--muted);opacity:1}.customer-app input:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 1000px var(--surface) inset}.customer-app [aria-invalid=true]{border-color:var(--brick)}.customer-app .field-message{font-size:var(--text-sm);margin:12px 0 0}.customer-app .field-message.error{color:var(--brick)}.customer-app .field-message.status{color:var(--muted)}.customer-app .identity-prompt{border-top:1px solid var(--line-control);color:var(--ink-soft);font-size:var(--text-md);margin-top:24px;padding-top:12px;line-height:1.7}.customer-app .network-banner,.customer-app .inline-alert{border:0;border-top:1px solid var(--line-control);color:var(--ink-soft);font-size:var(--text-md);background:0 0;border-radius:0;margin:24px 0 0;padding:12px 0 0;line-height:1.7}.customer-app .network-banner{border-top:0;border-bottom:1px solid var(--line-control);padding-bottom:12px}.customer-app .inline-alert.error-message{border-top-color:var(--brick);color:var(--brick)}.customer-app .form-field>.inline-alert,.customer-app .pickup-times>.inline-alert,.customer-app .field-alert{border-top:0;margin-top:8px;padding-top:0}.customer-app .alert-link{min-height:0;color:inherit;line-height:inherit;margin:0 0 0 8px;padding:0;text-decoration-color:currentColor;display:inline;position:relative}.customer-app .alert-link:after{content:"";position:absolute;inset:-12px -8px}.customer-app .loading-line{background:var(--line);height:1px;display:block;position:relative;overflow:hidden}.customer-app .loading-line:after{content:"";background:var(--ink);width:40%;animation:gh-sweep 1.8s var(--ease-in-out) infinite;position:absolute;inset:0}.customer-app .loading-note{color:var(--muted);font-size:var(--text-md)}.customer-app .loading-note+.loading-line{margin-top:12px}.customer-app .submitting-note{text-align:center;margin-top:24px}.customer-app .reveal{opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transform:translateY(8px)}.customer-app .reveal[data-revealed]{opacity:1;transform:none}.customer-app .reveal .section-index:after{transition:transform .8s var(--ease-out) .1s;transform:scaleX(0)}.customer-app .reveal[data-revealed] .section-index:after{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.customer-app *,.customer-app :before,.customer-app :after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.customer-app .reveal{opacity:1;transform:none}}.customer-app .cover{width:min(100%, var(--column));padding:calc(28px + env(safe-area-inset-top)) var(--gutter) 0;text-align:center;margin:0 auto}.customer-app .brand-name{color:var(--ink);letter-spacing:var(--track-4);text-indent:var(--track-4);margin:0;font-size:11px;font-weight:500;line-height:1.4}.customer-app .cover h1{font-size:var(--text-name);letter-spacing:var(--track-4);text-indent:var(--track-4);margin:16px 0 0;font-weight:400;line-height:1.3}.customer-app .app-subtitle{color:var(--muted);font-size:var(--text-xs);letter-spacing:var(--track-4);text-indent:var(--track-4);margin:12px 0 0;line-height:1.4}.customer-app .cover-rule,.customer-app .axis-rule{background:var(--line-control);transform-origin:top;width:1px;height:16px;margin:16px auto 0;display:block}.customer-app .cover-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0 0;display:grid}.customer-app .cover-facts>div{padding:12px 4px}.customer-app .cover-facts>div+div{border-left:1px solid var(--line)}.customer-app .cover-facts dt{color:var(--muted);font-size:var(--text-xs);letter-spacing:var(--track-3);text-indent:var(--track-3);line-height:1.4}.customer-app .cover-facts dd{font-family:var(--font-serif);font-size:var(--text-md);font-variant-numeric:lining-nums;letter-spacing:var(--track-1);white-space:nowrap;word-spacing:-.12em;margin:4px 0 0;font-weight:500;line-height:1.6}.customer-app .cover-facts dd.is-pending{color:var(--muted);font-weight:400}@media (width<=359px){.customer-app .cover-facts dt{letter-spacing:var(--track-2);text-indent:var(--track-2)}.customer-app .cover-facts dd{font-size:var(--text-sm);letter-spacing:0}}.customer-app .cover.compact h1{font-size:var(--text-heading);margin-top:12px}.customer-app .cover.compact .app-subtitle,.customer-app .cover.compact .cover-rule,.customer-app .cover.compact .cover-facts{display:none}.customer-app:not(.is-ready) .cover>*{opacity:0}.customer-app.is-ready .brand-name{animation:.9s both gh-fade}.customer-app.is-ready .cover h1{animation:gh-settle 1.2s var(--ease-out) 50ms both}.customer-app.is-ready .app-subtitle{animation:.9s .3s both gh-fade}.customer-app.is-ready .cover-rule{animation:gh-draw-y .8s var(--ease-out) .45s both}.customer-app.is-ready .cover-facts{animation:gh-fade-up .8s var(--ease-out) .55s both}.customer-app .order-progress{z-index:30;padding:env(safe-area-inset-top) 0 0;border:0;border-bottom:1px solid var(--line);background:var(--paper);box-shadow:none;border-radius:0;margin:24px 0 0;display:block;position:sticky;top:0}.customer-app .order-progress-track{width:min(100%, var(--column));height:var(--bar-height);padding:0 var(--gutter);grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid}.customer-app .progress-step{min-width:0;color:var(--muted);font-size:var(--text-sm);letter-spacing:var(--track-3);justify-content:center;align-items:stretch;font-weight:400;display:flex;position:relative}.customer-app .progress-step:not(:last-child):after{content:"";border-top:1px solid var(--line-control);opacity:.5;width:16px;position:absolute;top:50%;right:-8px}.customer-app .progress-step a,.customer-app .progress-step>span{color:inherit;text-indent:var(--track-3);border:0;align-items:center;padding:0 4px;text-decoration:none;transition:color .4s;display:flex;position:relative}.customer-app .progress-step a{border-radius:4px}.customer-app .progress-step a:focus-visible{outline-offset:-4px}.customer-app .progress-step a:after,.customer-app .progress-step>span:after{content:"";background:var(--ink);height:1px;transition:transform .5s var(--ease-out);position:absolute;bottom:-1px;left:4px;right:4px;transform:scaleX(0)}.customer-app .progress-step.current{color:var(--ink);font-weight:500}.customer-app .progress-step.current a:after,.customer-app .progress-step.current>span:after{transform:scaleX(1)}@media (hover:hover){.customer-app .progress-step a:hover{color:var(--ink)}}.customer-app .line-identity-confirmed{color:var(--muted);font-size:var(--text-sm);letter-spacing:var(--track-1);overflow-wrap:anywhere;text-align:left;background:0 0;margin:24px 0 0;padding:0}.customer-app .line-identity-confirmed+.cake-selector.order-section{padding-top:24px}.customer-app .customer-footer{width:min(100%, var(--column));padding:0 var(--gutter) calc(48px + env(safe-area-inset-bottom));text-align:center;margin:96px auto 0}.customer-app .customer-footer .axis-rule{height:24px;margin:0 auto 24px}.customer-app .footer-brand{font-family:var(--font-serif);font-size:var(--text-title);letter-spacing:var(--track-4);text-indent:var(--track-4);line-height:1.4}.customer-app .footer-name{letter-spacing:var(--track-4);text-indent:var(--track-4);margin-top:8px;font-size:11px}.customer-app .footer-note{color:var(--muted);font-size:var(--text-xs);margin-top:24px;line-height:1.8}.customer-app .footer-link{margin-top:4px}.customer-app .footer-link .text-link{font-size:var(--text-sm)}.customer-app .cake-selector.order-section{padding-top:40px}.customer-app .cake-list{gap:48px;display:grid}.customer-app .cake-card{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:relative}.customer-app .cake-meta{color:var(--muted);font-size:var(--text-sm);letter-spacing:var(--track-1);flex-wrap:wrap;align-items:baseline;gap:0 16px;margin-top:4px;display:flex}.customer-app .cake-category{margin:0}.customer-app .cake-from{color:var(--ink-soft)}.customer-app .cake-from .price{font-size:var(--text-md)}.customer-app .cake-description,.customer-app .cake-flavor-note{color:var(--ink-soft);font-size:var(--text-md);overflow-wrap:anywhere;text-wrap:pretty;white-space:pre-line;margin-top:12px;line-height:1.9}.customer-app .cake-flavor-note{color:var(--muted);font-size:var(--text-sm)}.customer-app .campaign-info{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:12px;display:flex}.customer-app .campaign-label{border:1px solid var(--line-control);height:24px;color:var(--ink-soft);font-size:var(--text-xs);letter-spacing:var(--track-3);text-indent:var(--track-3);background:0 0;border-radius:4px;align-items:center;padding:0 8px;font-weight:400;display:inline-flex}.customer-app .campaign-note,.customer-app .campaign-warning,.customer-app .campaign-available{color:var(--muted);font-size:var(--text-sm);margin:0;font-weight:400}.customer-app .campaign-warning{color:var(--brick)}.customer-app .cake-option-groups{gap:24px;margin-top:24px;display:grid}.customer-app .cake-option-title{color:var(--ink);font-size:var(--text-md);letter-spacing:var(--track-1);margin:0 0 8px;font-weight:500;line-height:1.6}.customer-app .cake-flavor-options{border:0;border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.customer-app .cake-size-options{border:0;border-top:1px solid var(--line);gap:0;margin-top:24px;display:grid}.customer-app .cake-option-group .cake-size-options{margin-top:0}.customer-app .cake-flavor-button,.customer-app .cake-size-button{width:100%;min-height:var(--row-height);border:0;border-bottom:1px solid var(--line);color:var(--ink);font-size:var(--text-base);text-align:left;background:0 0;border-radius:0;justify-content:flex-start;align-items:center;gap:12px;padding:0;font-weight:400;transition:background-color .35s,box-shadow .35s;display:flex;position:relative}.customer-app .cake-flavor-button:nth-child(odd){padding-right:16px}.customer-app .cake-flavor-button:nth-child(2n){padding-left:16px}.customer-app .cake-flavor-button:last-child:nth-child(odd){grid-column:1/-1;padding-right:0}.customer-app .cake-option-hint{min-height:var(--row-height);border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--text-md);align-items:center;margin:0;display:flex}.customer-app .flavor-name,.customer-app .size-name{font-family:var(--font-serif);font-size:var(--text-fact);font-variant-numeric:lining-nums;letter-spacing:var(--track-1);font-weight:500}.customer-app .size-price{font-size:var(--text-fact);white-space:nowrap;margin:0 0 0 auto}.customer-app .size-radio{border:1px solid var(--line-control);border-radius:50%;flex:none;width:18px;height:18px;transition:border-color .35s;position:relative}.customer-app .size-radio:after{content:"";background:var(--ink);transition:transform .4s var(--ease-out);border-radius:50%;position:absolute;inset:4px;transform:scale(0)}@media (hover:hover){.customer-app .cake-flavor-button:hover:not(.selected) .size-radio,.customer-app .cake-size-button:hover:not(.selected) .size-radio{border-color:var(--ink)}}.customer-app .cake-flavor-button.selected,.customer-app .cake-size-button.selected{z-index:1;min-height:calc(var(--row-height) + 1px);border-radius:var(--radius);background:var(--tint);box-shadow:inset 0 0 0 1px var(--ink);border-bottom:0;outline:none;margin-top:-1px;padding-bottom:1px}.customer-app .cake-size-button.selected,.customer-app .cake-flavor-button.selected:last-child:nth-child(odd){width:calc(100% + 24px);margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.customer-app .cake-flavor-button.selected:nth-child(odd){width:calc(100% + 12px);margin-left:-12px;padding-left:12px}.customer-app .cake-flavor-button.selected:nth-child(2n){width:calc(100% + 12px);margin-right:-12px;padding-right:12px}.customer-app .selected .size-radio{border-color:var(--ink)}.customer-app .selected .size-radio:after{transform:scale(1)}.customer-app .cake-flavor-button:focus-visible,.customer-app .cake-size-button:focus-visible{z-index:2;outline:none}.customer-app .cake-flavor-button:focus-visible:after,.customer-app .cake-size-button:focus-visible:after{content:"";border-radius:var(--radius);outline:2px solid var(--ink);outline-offset:2px;pointer-events:none;position:absolute;inset:-1px -12px 0}.customer-app .cake-flavor-button:nth-child(odd):not(:last-child):focus-visible:after{right:0}.customer-app .cake-flavor-button:nth-child(2n):focus-visible:after{left:0}.customer-app .cake-flavor-button.selected:focus-visible:after,.customer-app .cake-size-button.selected:focus-visible:after{inset:0}.customer-app .selected-summary{z-index:20;margin:32px calc(var(--gutter) * -1) 0;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line-control);background:var(--surface);animation:gh-bar-in .45s var(--ease-out) both;align-items:center;gap:16px;display:flex;position:sticky;bottom:0}@supports (overflow:clip){.customer-app .selected-summary{background:0 0;border-top:0}.customer-app .selected-summary:before{content:"";z-index:-1;border-top:1px solid var(--line-control);background:var(--surface);position:absolute;inset:0 -100vw}}.customer-app .selected-summary-detail{flex:1;gap:0;min-width:0;margin:0;display:grid}.customer-app .selected-label{color:var(--muted);font-size:var(--text-xs);letter-spacing:var(--track-3);margin:0;line-height:1.6}.customer-app .selected-name{font-family:var(--font-serif);font-size:var(--text-base);letter-spacing:var(--track-1);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1.6;overflow:hidden}.customer-app .selected-price{color:var(--ink-soft);font-family:var(--font-serif);font-size:var(--text-md);font-variant-numeric:lining-nums tabular-nums;letter-spacing:var(--track-1);flex-wrap:wrap;gap:0 12px;line-height:1.6;display:flex}.customer-app .selected-summary .section-link{min-height:48px;font-size:var(--text-md);flex:none;padding:0 16px}.customer-app .loading-state{min-height:0;display:block}.customer-app .empty-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink-soft);font-family:var(--font-serif);font-size:var(--text-fact);letter-spacing:var(--track-1);padding:24px 0}.customer-app .order-form-section{margin:0}.customer-app #pickup-details{border-top:0;margin-top:0}.customer-app .customer-date-picker{margin-bottom:0}.customer-app .customer-date-picker .date-trigger{border:1px solid var(--line-control);border-radius:var(--radius);background:var(--surface);width:100%;min-height:56px;color:var(--ink);font-size:var(--text-input);text-align:left;justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;display:flex}.customer-app .date-trigger-value{min-width:0;font-family:var(--font-serif);font-size:var(--text-fact);font-variant-numeric:lining-nums;letter-spacing:var(--track-1);font-weight:500;line-height:1.5}.customer-app .date-trigger-placeholder{color:var(--muted)}.customer-app .date-trigger-icon{width:16px;height:16px;color:var(--ink-soft);transition:transform .5s var(--ease-out);flex:none;place-items:center;display:grid}.customer-app .date-trigger-icon svg{stroke-width:1.2px;width:14px;height:14px}.customer-app .date-trigger[aria-expanded=true] .date-trigger-icon{transform:rotate(180deg)}.customer-app .customer-date-picker .date-help{color:var(--muted);font-size:var(--text-sm);margin:8px 0 0;line-height:1.7}.customer-app .pickup-calendar{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);animation:gh-fade-up .5s var(--ease-out) both;background:0 0;border-radius:0;margin-top:16px;padding:8px 0}.customer-app .calendar-toolbar{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;margin:0 -18px 4px;display:grid}.customer-app .calendar-toolbar h3{font-size:var(--text-fact);font-variant-numeric:lining-nums;letter-spacing:var(--track-2);text-align:center;text-indent:var(--track-2);word-spacing:-.12em;margin:0;font-weight:500;line-height:1.4}.customer-app .calendar-toolbar button{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--ink-soft);background:0 0;border-radius:50%;place-items:center;padding:0;transition:background-color .3s,color .3s;display:grid}.customer-app .calendar-toolbar button svg{stroke-width:1.2px;width:14px;height:14px}.customer-app .calendar-toolbar button:active{background:var(--tint)}@media (hover:hover){.customer-app .calendar-toolbar button:hover{background:var(--tint);color:var(--ink)}}.customer-app .calendar-weekdays,.customer-app .calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.customer-app .calendar-weekdays{border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);text-align:center;padding:8px 0}.customer-app .calendar-days{padding-top:8px}.customer-app .calendar-day{border-radius:var(--radius);min-height:56px;color:var(--ink);font-size:var(--text-md);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:2px 0;display:flex}.customer-app .calendar-day .day-number{width:32px;height:32px;font-family:var(--font-serif);font-size:var(--text-fact);font-variant-numeric:lining-nums;border-radius:50%;place-items:center;font-weight:500;line-height:1;transition:background-color .35s,box-shadow .35s;display:grid}.customer-app .calendar-day small{color:inherit;font-size:var(--text-xs);white-space:nowrap;line-height:1.4}.customer-app .calendar-day[data-state=AVAILABLE]:not([data-campaign]) small,.customer-app .calendar-day[data-state=PENDING] small{visibility:hidden}.customer-app .calendar-day[data-campaign] small{color:var(--ink-soft)}.customer-app .calendar-day:disabled{color:var(--muted);cursor:not-allowed;opacity:1}.customer-app .calendar-day[data-state=CLOSED],.customer-app .calendar-day[data-state=FULL],.customer-app .calendar-day[data-state=TOO_SOON],.customer-app .calendar-day[data-state=UNAVAILABLE]{color:var(--brick)}.customer-app .calendar-day:disabled .day-number{opacity:.55;font-weight:400}.customer-app .calendar-day:disabled small{opacity:.85}.customer-app .calendar-day.is-today .day-number{box-shadow:inset 0 0 0 1px var(--line-control)}@media (hover:hover){.customer-app .calendar-day:not(:disabled):not(.selected):hover .day-number{background:var(--tint)}}.customer-app .calendar-day:not(:disabled):active .day-number{background:var(--tint)}.customer-app .calendar-day.selected .day-number{background:var(--tint);box-shadow:inset 0 0 0 1px var(--ink)}.customer-app .calendar-status{margin:8px 0 0}.customer-app .calendar-legend{border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-sm);flex-wrap:wrap;gap:0 16px;margin:8px 0 0;padding-top:12px;display:flex}.customer-app .calendar-legend b{color:var(--brick);margin-right:4px;font-weight:400}.customer-app .calendar-legend .legend-campaign b{color:var(--ink-soft)}.customer-app .pickup-calendar .field-message.error{margin:12px 0 0}.customer-app .calendar-actions{justify-content:space-between;gap:12px;margin:4px 0 0;display:flex}.customer-app .calendar-actions button{min-height:44px;color:var(--ink-soft);font-size:var(--text-sm);letter-spacing:var(--track-1);text-decoration:underline;-webkit-text-decoration-color:var(--line-control);text-decoration-color:var(--line-control);text-underline-offset:6px;background:0 0;border:0;border-radius:4px;margin:0 -6px;padding:0 6px;text-decoration-thickness:1px;transition:text-decoration-color .3s}.customer-app .calendar-actions button:focus-visible{outline-offset:-3px}@media (hover:hover){.customer-app .calendar-actions button:hover:not(:disabled){-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}}@media (width<=374px){.customer-app .calendar-weekdays,.customer-app .calendar-days{margin-left:-6px;margin-right:-6px}.customer-app .calendar-weekdays{background:linear-gradient(var(--line), var(--line)) 6px 100% / calc(100% - 12px) 1px no-repeat;border-bottom:0;padding-bottom:9px}}@media (width<=359px){.customer-app .calendar-weekdays,.customer-app .calendar-days{margin-right:calc(var(--gutter) * -1);margin-left:calc(var(--gutter) * -1);gap:1px}.customer-app .calendar-weekdays{background-position:var(--gutter) 100%;background-size:calc(100% - 2 * var(--gutter)) 1px}}.customer-app .pickup-times{border:0;min-width:0;margin:32px 0 0;padding:0}.customer-app .time-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 8px;padding:8px 0;display:grid}.customer-app .time-row{border-radius:var(--radius);cursor:pointer;min-height:48px;font-family:var(--font-serif);font-size:var(--text-fact);font-variant-numeric:lining-nums tabular-nums;letter-spacing:var(--track-1);border:0;place-items:center;padding:0;font-weight:500;transition:background-color .35s,box-shadow .35s;display:grid;position:relative}.customer-app .time-row input[type=radio]{cursor:pointer;opacity:0;width:100%;height:100%;min-height:0;margin:0;padding:0;display:block;position:absolute;inset:0}.customer-app .time-row.selected{background:var(--tint);box-shadow:inset 0 0 0 1px var(--ink)}.customer-app .time-row:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:3px}@media (hover:hover){.customer-app .time-row:not(.selected):hover{background:var(--tint)}}.customer-app .time-row:not(.selected):active{background:var(--tint)}@media (width<=359px){.customer-app .time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.customer-app .summary-card,.customer-app .success-card{box-shadow:none;text-align:left;background:0 0;border:0;border-radius:0;margin:0;padding:48px 0 0}.customer-app .slip{border-top:1px solid var(--line);animation:gh-fade-up .6s var(--ease-out) .1s both}.customer-app .summary-card .button-row{animation:.6s .25s both gh-fade}.customer-app .receipt{border-bottom:1px solid var(--line);margin:0;padding:12px 0}.customer-app .receipt>div{grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:16px;padding:4px 0;display:grid}.customer-app .receipt dt{color:var(--muted);font-size:var(--text-sm);letter-spacing:var(--track-1);line-height:28px}.customer-app .receipt dd{font-size:var(--text-base);overflow-wrap:anywhere;text-align:left;white-space:pre-wrap;justify-content:flex-end;margin:0;line-height:28px;display:flex}.customer-app .receipt .receipt-fact dd{font-family:var(--font-serif);font-size:var(--text-fact);font-variant-numeric:lining-nums tabular-nums;letter-spacing:var(--track-1);white-space:normal;font-weight:500}.customer-app .receipt.receipt-total{border-top:1px solid var(--ink);border-bottom:0;margin-top:-1px;padding:16px 0 0}.customer-app .receipt.receipt-total>div{align-items:center}.customer-app .receipt.receipt-total dd{font-size:var(--text-heading);line-height:1.3}.customer-app .summary-card .inline-alert{margin-top:32px}.customer-app .success-card{padding-top:40px}.customer-app .success-intro{text-align:center}.customer-app .success-intro h2{letter-spacing:var(--track-3);text-indent:var(--track-3);animation:gh-fade-up .7s var(--ease-out) both}.customer-app .success-lead{color:var(--muted);font-size:var(--text-base);margin-top:8px;animation:.7s .15s both gh-fade}.customer-app .success-order-number{border-top:1px solid var(--line);text-align:center;animation:gh-fade-up .7s var(--ease-out) .3s both;margin:32px 0 24px;padding:16px 0 0}.customer-app .success-order-number h3{color:var(--muted);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--track-3);text-indent:var(--track-3);margin:0;font-weight:400}.customer-app .order-id{font-family:var(--font-serif);font-size:var(--text-title);font-variant-numeric:lining-nums;letter-spacing:var(--track-1);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:0 0;border-radius:0;margin:4px 0 0;padding:0;font-weight:500;line-height:1.6}.customer-app .order-copy{color:var(--ink-soft);font-size:var(--text-sm)}.customer-app .success-card .slip{animation-delay:.4s}.customer-app .success-notice{color:var(--muted);font-size:var(--text-sm);background:0 0;border:0;border-radius:0;margin:32px 0 0;padding:0;line-height:1.85}.customer-app .success-notice strong{color:var(--ink);font-size:var(--text-md);margin-bottom:4px;font-weight:500;display:block}.customer-app .success-closing{font-family:var(--font-serif);font-size:var(--text-fact);letter-spacing:var(--track-4);text-align:center;text-indent:var(--track-4);margin-top:48px}.customer-app .line-identity-card{border:0;border-bottom:1px solid var(--line);box-shadow:none;text-align:center;animation:gh-fade-up .6s var(--ease-out) .2s both;background:0 0;border-radius:0;flex-direction:column;margin:0;padding:32px 0 28px;display:flex}.customer-app .gate h2{font-size:var(--text-title);letter-spacing:var(--track-2);line-height:1.55}.customer-app .gate>p{color:var(--ink-soft);font-size:var(--text-md);text-wrap:balance;margin-top:8px;line-height:1.8}.customer-app .gate-actions{gap:12px;margin-top:20px;display:grid}.customer-app .line-action-link{width:100%;margin:0}.customer-app .gate>.line-entry-hint{color:var(--muted);font-size:var(--text-sm);margin-top:12px}.customer-app .gate>.gate-note{color:var(--muted);font-size:var(--text-sm);margin-top:4px}.customer-app .gate .inline-alert{text-align:left;margin-top:20px}.customer-app .gate .loading-line{width:72px;margin:20px auto 0}.customer-app .line-identity-card+.cake-selector.order-section,.customer-app .line-identity-card+.summary-card{padding-top:40px}.customer-app .line-entry-qr{display:none}@media (width>=600px){.customer-app .line-entry-qr{margin-top:24px;display:block}.customer-app .line-entry-qr img{border:1px solid var(--line);background:var(--surface);border-radius:0;width:160px;height:160px;margin:0 auto;padding:0;display:block}.customer-app .line-entry-qr p{color:var(--muted);font-size:var(--text-sm);letter-spacing:var(--track-1);margin:16px 0 0}.customer-app .gate-actions,.customer-app .gate>.line-entry-hint{order:1}.customer-app .gate-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,420px);margin-left:auto;margin-right:auto}.app-shell.customer-app{--gutter:32px;--column:624px;--bar-height:56px}.customer-app .cover{padding-top:56px}.customer-app .cover h1{font-size:48px}.customer-app .cover.compact{padding-top:48px}.customer-app .cover.compact h1{font-size:var(--text-heading)}.customer-app .cover-rule{height:24px;margin-top:24px}.customer-app .cover-facts{margin-top:24px}.customer-app .cover-facts>div{padding:16px 4px}.customer-app .order-progress{margin-top:40px}.customer-app .order-section{padding-top:96px}.customer-app .cake-selector.order-section{padding-top:64px}.customer-app .line-identity-card{padding-top:48px;padding-bottom:40px}.customer-app .line-identity-card+.cake-selector.order-section,.customer-app .line-identity-card+.summary-card{padding-top:56px}.customer-app .line-identity-confirmed+.cake-selector.order-section{padding-top:32px}.customer-app .gate-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-app .gate-actions>:only-child{grid-column:1/-1;justify-self:center;width:min(100%,320px)}.customer-app .summary-card{padding-top:64px}.customer-app .success-card{padding-top:56px}.customer-app .customer-footer{padding-bottom:64px}}#root{width:100%}h2{margin:28px 0 16px;font-size:24px;line-height:1.3}h3{margin:18px 0 8px}hr{border:none;border-top:1px solid #dfd5ca;margin:28px 0}.spinner{border:3px solid #dccabd;border-top-color:#7a4b2f;border-radius:50%;flex:none;width:24px;height:24px;animation:.8s linear infinite spin;display:inline-block}.spinner.small{vertical-align:-3px;border-width:2px;width:16px;height:16px;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.8s}}
