:root{--bg:#f6f5f2;--surface:#fff;--text:#1c1b1f;--text-muted:#6b6b6b;--border:#e2e0da;--accent:#1f7a4d;--accent-contrast:#fff;--danger:#dc2626;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--accent);text-decoration:none}.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;padding:.9rem 1.25rem;display:flex;position:sticky;top:0}.app-header .brand{color:var(--text);white-space:nowrap;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;display:flex}@media (width<=520px){.app-header{padding:.75rem}.brand-text{display:none}.brand-logo{width:30px;height:30px}.app-header nav{gap:.3rem}.app-header nav a{padding:.4rem .55rem;font-size:.9rem}.app-header nav a.icon-link{padding:.4rem}}.brand-logo{object-fit:contain;width:32px;height:32px}.app-header nav{align-items:center;gap:1rem;display:flex}.app-header nav a{color:var(--text-muted);border-radius:8px;padding:.4rem .7rem;font-weight:600}.app-header nav a.active{color:var(--accent-contrast);background:var(--accent)}.app-header nav a.icon-link{align-items:center;padding:.5rem;display:flex}.page{max-width:640px;margin:0 auto;padding:1.25rem 1rem 3rem}.page h1{margin-bottom:.75rem;font-size:1.4rem}.back-link{margin-bottom:.75rem;font-weight:600;display:inline-block}.landing{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2rem;min-height:calc(100vh - 64px);padding:2rem 1.25rem;display:flex}.landing-logo{background:#f5ede0;border-radius:24px;width:100%;max-width:360px;height:auto;padding:1.5rem;box-shadow:0 8px 24px #0000002e}.accepting-badge{border-radius:999px;align-items:center;gap:.4rem;margin:0;padding:.4rem .9rem;font-size:.85rem;font-weight:600;display:inline-flex}.accepting-badge:before{content:"";background:currentColor;border-radius:50%;width:.5rem;height:.5rem}.accepting-badge.on{color:#16a34a;background:#16a34a26}.accepting-badge.off{color:var(--danger);background:color-mix(in srgb, var(--danger) 15%, transparent)}.landing-cta{background:var(--accent);color:var(--accent-contrast);border-radius:999px;padding:1rem 2.5rem;font-size:1.1rem;font-weight:700;display:inline-block}.install-picker{flex-direction:column;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.install-picker-label{color:var(--text-muted);font-size:.85rem;font-weight:600}.install-picker-icons{gap:.75rem;display:flex}.install-picker-icons button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:12px;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem 1.1rem;font-size:.75rem;font-weight:600;display:flex}.install-picker-icons button.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.help-link{color:var(--text-muted);font-size:.85rem;font-weight:600}.install-instructions{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:360px;padding:1rem 1.25rem}.install-instructions-title{margin:0 0 .5rem;font-weight:700}.install-instructions ol{color:var(--text-muted);flex-direction:column;gap:.4rem;margin:0;padding-left:1.1rem;display:flex}.area-toggle{gap:.5rem;margin-bottom:.75rem;display:flex}.area-toggle button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;flex:1;padding:.6rem;font-weight:600}.area-toggle button.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.search-input,.order-form input,.order-form textarea,.order-form select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:10px;padding:.65rem .75rem;font-family:inherit;font-size:1rem}.search-input{margin-bottom:.5rem}.open-only{color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.business-grid{flex-direction:column;gap:.6rem;display:flex}.business-card{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:.85rem 1rem;display:block}.business-card-top{justify-content:space-between;align-items:center;font-weight:600;display:flex}.open-pill{border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:700}.open-pill.open{color:#166534;background:#dcfce7}.open-pill.closed{color:#6b7280;background:#f3f4f6}.business-meta{color:var(--text-muted);margin-top:.15rem;font-size:.85rem}.business-hours{margin-top:.35rem;font-size:.85rem}.business-closed-days{color:var(--danger);margin-top:.15rem;font-size:.8rem}.empty-state{color:var(--text-muted);text-align:center;padding:2rem 0}.last-order-link{text-align:center;margin-top:1.5rem}.warning-banner{color:#92400e;background:#fef3c7;border-radius:10px;margin-bottom:1rem;padding:.6rem .85rem;font-size:.9rem}.pickup-only-banner{color:#92400e;background:#fef3c7;border-radius:8px;margin:0;padding:.4rem .7rem;font-size:.85rem;font-weight:600}.blocked-banner{background:color-mix(in srgb, var(--danger) 12%, var(--surface));color:var(--danger);border:1px solid var(--danger);border-radius:10px;margin-bottom:1rem;padding:.6rem .85rem;font-size:.9rem;font-weight:600}.order-form{flex-direction:column;gap:.9rem;display:flex}.order-form label{flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;display:flex}.address-field{position:relative}.address-suggestions{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:10px;max-height:220px;margin:.25rem 0 0;padding:.35rem;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000026}.address-suggestions li+li{margin-top:.15rem}.address-suggestions button{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:6px;padding:.55rem .6rem;font-size:.9rem;font-weight:400;display:block}.address-suggestions button:hover{background:var(--bg)}.fee-estimate{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem}.order-direct-panel{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border:1px solid var(--accent);border-radius:12px;margin-bottom:1.25rem;padding:1rem}.order-direct-title{margin:0 0 .6rem;font-weight:700}.order-direct-actions{flex-wrap:wrap;gap:.6rem;margin-bottom:.6rem;display:flex}.order-direct-btn{background:var(--accent);color:var(--accent-contrast);border-radius:8px;padding:.6rem 1.1rem;font-weight:700;display:inline-block}.order-direct-btn.secondary{background:var(--surface);color:var(--accent);border:1px solid var(--accent)}.order-direct-panel .form-hint{margin:0}.menu-section{margin-top:1.5rem}.menu-section h2{margin-bottom:.25rem}.menu-items{flex-direction:column;gap:.9rem;margin-top:.75rem;display:flex}.menu-item{border-bottom:1px solid var(--border);padding-bottom:.9rem}.menu-item-top{justify-content:space-between;gap:1rem;font-size:1.05rem;display:flex}.menu-item-price{color:var(--text-muted);white-space:nowrap}.menu-item-desc{color:var(--text-muted);margin:.25rem 0 0}.menu-extras{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1rem}.menu-extras .form-hint{margin:0 0 .35rem}.payment-link-box{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem}.payment-link-box .form-hint{margin:0 0 .5rem}.order-form .payment-link-box .form-hint{margin-top:0}.payment-link-box .order-direct-btn{margin-bottom:.5rem;display:inline-block}.payment-link-box .form-hint:last-child{margin-bottom:0}.fee-note{color:var(--text-muted);margin-top:.2rem;font-size:.8rem}.form-error{color:var(--danger);font-weight:600}.form-hint{color:var(--text-muted);font-size:.85rem}.auto-distance{color:var(--text-muted);padding:.55rem 0}button{cursor:pointer;font-family:inherit}.order-form button[type=submit]{background:var(--accent);color:var(--accent-contrast);border:none;border-radius:10px;padding:.8rem;font-size:1rem;font-weight:700}.order-form button[type=submit]:disabled{opacity:.6}.primary-button{background:var(--accent);color:var(--accent-contrast);text-align:center;border:none;border-radius:10px;margin-bottom:1rem;padding:.8rem 1.25rem;font-size:1rem;font-weight:700;display:inline-block}.primary-button:disabled{opacity:.6}.status-timeline{flex-direction:column;gap:.5rem;margin:1.25rem 0;padding:0;list-style:none;display:flex}.status-timeline li{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:.5rem .85rem}.status-timeline li.done{color:var(--text);border-color:var(--accent);background:#ecfdf3;font-weight:600}.order-summary{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem}.order-summary p{margin:.35rem 0}.order-list{flex-direction:column;gap:.6rem;display:flex}.order-list-item{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:12px;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.owner-login{max-width:360px}.dashboard-header{justify-content:space-between;align-items:center;display:flex}.accepting-toggle{border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;padding:1rem;display:flex}.accepting-toggle strong{font-size:1rem}.accepting-toggle .form-hint{margin:.15rem 0 0}.accepting-toggle.on{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border-color:var(--accent)}.accepting-toggle.off{background:color-mix(in srgb, var(--danger) 10%, var(--surface));border-color:var(--danger)}.accepting-toggle button{border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast);white-space:nowrap;border-radius:8px;flex-shrink:0;padding:.6rem 1rem;font-weight:600}.accepting-toggle button.danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}.link-button{color:var(--accent);background:0 0;border:none;font-weight:600}.dispatch-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.35rem;padding:1rem;display:flex}.dispatch-card p{margin:0;font-size:.9rem}.assign-select{align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}.assign-select select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;flex:1;padding:.4rem .5rem;font-family:inherit;font-size:.85rem}.final-total-input{font-size:.85rem;font-weight:600;display:block}.final-total-controls{gap:.5rem;margin-top:.35rem;display:flex}.final-total-controls input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;flex:1;padding:.4rem .5rem;font-family:inherit;font-size:.85rem}.final-total-controls button{padding:.4rem .9rem;font-size:.85rem}.dispatch-card-top{justify-content:space-between;align-items:flex-start;display:flex}.dispatch-actions{gap:.6rem;margin-top:.6rem;display:flex}.dispatch-actions button{border:1px solid var(--border);background:var(--accent);color:var(--accent-contrast);border-radius:8px;flex:1;padding:.6rem;font-weight:600}.dispatch-actions button.danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}.message-section-title{margin:1.5rem 0 .5rem;font-size:1rem}.message-thread{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:.5rem;margin-top:.6rem;padding:.75rem;display:flex}.message-list{flex-direction:column;gap:.5rem;max-height:260px;padding-right:.25rem;display:flex;overflow-y:auto}.message-empty{color:var(--text-muted);margin:0;font-size:.85rem}.message-bubble{background:var(--bg);border-radius:12px;max-width:80%;padding:.5rem .75rem}.message-bubble p{white-space:pre-wrap;word-break:break-word;margin:0;font-size:.9rem}.message-bubble.mine{background:var(--accent);color:var(--accent-contrast);align-self:flex-end}.message-bubble.theirs{align-self:flex-start}.message-time{opacity:.7;margin-top:.2rem;font-size:.7rem;display:block}.message-form{gap:.5rem;display:flex}.message-form input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;flex:1;padding:.55rem .7rem;font-family:inherit;font-size:.9rem}.message-form button{background:var(--accent);color:var(--accent-contrast);border:none;border-radius:8px;padding:.55rem 1rem;font-weight:600}.message-form button:disabled{opacity:.5}.danger-zone{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.25rem}.danger-text{color:var(--danger)}.danger-zone-confirm{background:var(--surface);border:1px solid var(--danger);border-radius:12px;padding:1rem}.danger-zone-confirm p{margin:0 0 .75rem;font-size:.9rem}.admin-form{gap:1rem}.admin-field-label{margin:0 0 .5rem;font-weight:600}.admin-hours,.admin-closed-days,.admin-menu-section,.admin-menu-extras{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem}.admin-hours-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.admin-hours-row input[type=time]{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:.4rem .5rem;font-family:inherit}.admin-day-checkboxes{flex-wrap:wrap;gap:.75rem;display:flex}.admin-day-checkbox{align-items:center;gap:.3rem;font-size:.9rem;font-weight:400;display:flex}.admin-active-toggle{align-items:center;gap:.5rem;font-weight:600;display:flex}.admin-menu-section{flex-direction:column;gap:.6rem;display:flex}.admin-menu-item-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-menu-item-row input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:.45rem .6rem;font-family:inherit;font-size:.9rem}.admin-menu-item-name{flex:140px}.admin-menu-item-desc{flex:2 220px}.admin-menu-item-price{flex:0 110px}.admin-menu-section-actions{border-top:1px solid var(--border);padding-top:.5rem}@media (prefers-color-scheme:dark){:root{--bg:#14151a;--surface:#1d1f26;--text:#f2f1f5;--text-muted:#a1a0a8;--border:#2c2e37}.open-pill.open{color:#bbf7d0;background:#14532d}.open-pill.closed{color:#a1a0a8;background:#2c2e37}.status-timeline li.done{background:#14532d}}:root{--bg:#f5f6f1;--surface:#fff;--text:#20372c;--text-muted:#65736b;--border:#dce5dc;--accent:#216443;--accent-contrast:#fff;--card-shadow:0 4px 20px #193c260d;-webkit-font-smoothing:antialiased;font-family:Segoe UI,system-ui,sans-serif}body{line-height:1.55}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}:focus-visible{outline-offset:4px;outline:3px solid #66a985}h1,h2,h3{letter-spacing:-.025em;line-height:1.25}.app-header{background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);gap:.75rem;padding:.85rem max(1rem,50vw - 520px);box-shadow:0 2px 16px #193c2608}.app-header .brand{letter-spacing:-.035em}.brand-logo{border-radius:10px;width:38px;height:38px}.app-header nav{gap:.35rem}.app-header nav a{border-radius:12px;align-items:center;min-height:44px;display:inline-flex}.page{padding-top:2rem}.page h1{margin-top:0;margin-bottom:1.25rem;font-size:clamp(1.6rem,4vw,2rem)}.back-link{margin-bottom:1.25rem;font-size:.9rem}.landing{background:radial-gradient(ellipse at 50% 20%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 65%);gap:1.4rem;padding:2.5rem 1.25rem}.landing-logo{border-radius:30px;max-width:340px;box-shadow:0 16px 45px #1c3e271f}.landing-cta{min-width:220px;box-shadow:0 7px 20px #21644333}.accepting-badge{padding:.5rem 1rem;font-size:.82rem}.install-picker{margin-top:.75rem}.install-picker-label{margin:0}.install-picker-icons button{background:var(--surface);border-radius:16px;min-width:96px;min-height:76px}.install-instructions{box-shadow:var(--card-shadow);border-radius:18px}.help-link{text-underline-offset:4px;padding:.5rem 1rem;text-decoration:underline}.area-toggle{background:color-mix(in srgb, var(--accent) 7%, var(--surface));border-radius:16px;gap:.25rem;padding:.3rem}.area-toggle button{background:0 0;border:0;border-radius:12px;min-height:46px;font-weight:650}.area-toggle button.active{box-shadow:0 3px 8px #193c261f}.search-input,.order-form input,.order-form textarea,.order-form select{border-radius:13px;min-height:48px;padding:.85rem .95rem}input[type=checkbox]{accent-color:var(--accent)}.open-only{padding:.5rem 0;font-size:.9rem}.business-grid{gap:.85rem}.business-card{box-shadow:var(--card-shadow);border-radius:18px;padding:1.1rem 1.2rem}.business-card-top{align-items:flex-start;gap:.75rem}.business-name{font-size:1.05rem;line-height:1.4}.open-pill{flex-shrink:0;padding:.25rem .6rem;font-size:.7rem}.business-meta{margin-top:.3rem;font-size:.8rem;font-weight:600}.business-hours{margin-top:.65rem}.order-form{gap:1.15rem}.order-form label{gap:.5rem}.order-form textarea{resize:vertical;min-height:110px}.order-form .form-hint{margin-top:0}.order-direct-panel,.fee-estimate,.payment-link-box,.order-summary,.dispatch-card,.message-thread,.accepting-toggle,.admin-business-card,.admin-panel{box-shadow:var(--card-shadow);border-radius:18px;padding:1.2rem}.order-direct-actions{gap:.65rem}.order-direct-btn,.primary-button,.order-form button[type=submit],.landing-cta{border-radius:13px}.order-direct-btn{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.primary-button{margin-top:.25rem;margin-bottom:.75rem}.payment-link-box{flex-direction:column;align-items:flex-start;gap:.65rem;display:flex}.payment-link-box .form-hint,.payment-link-box .primary-button{margin:0}.status-timeline li{border-radius:14px;padding:.85rem 1rem}.recent-order,.order-list a{border-radius:14px}.dashboard-header{flex-wrap:wrap;align-items:center;gap:.75rem}.dashboard-header h1{margin-bottom:.5rem}.dispatch-actions{flex-wrap:wrap;gap:.6rem}.dispatch-actions button{border-radius:11px;min-height:44px}.message-bubble{border-radius:16px}.message-form{gap:.6rem}.message-form input{min-width:0}.empty-state{text-align:center;color:var(--text-muted);padding:2rem 1rem}@media (hover:hover){.business-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 25px #193c261a}.app-header nav a:not(.active):hover{background:color-mix(in srgb, var(--accent) 8%, var(--surface));color:var(--accent)}.landing-cta:hover,.primary-button:hover,.order-direct-btn:hover{filter:brightness(1.08)}}@media (prefers-reduced-motion:no-preference){.business-card,.landing-cta,.primary-button,.app-header nav a{transition:background .18s,box-shadow .18s,transform .18s}}@media (width<=520px){.app-header{gap:.5rem;padding:.65rem .75rem}.app-header nav{gap:.15rem}.app-header nav a{padding:.45rem .6rem;font-size:.85rem}.page{padding:1.5rem 1rem 3rem}.landing{gap:1.25rem;min-height:calc(100svh - 64px);padding-top:1.75rem}.landing-logo{max-width:290px}.accepting-toggle{flex-wrap:wrap}.order-direct-actions>a{flex:140px}.business-card{padding:1rem}}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111c17;--surface:#1b2922;--text:#eef4ef;--text-muted:#b0bfb5;--border:#35493d;--accent:#8ed4a9;--accent-contrast:#102b1c;--card-shadow:0 4px 20px #0000001a}}
