:root{font-family:Inter,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fafafa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--green-500: #22c55e;--green-600: #16a34a;--paper-000: #ffffff;--paper-050: #fafafa;--paper-100: #f9fafb;--paper-150: #f5f5f5;--paper-200: #f3f4f6;--line-200: #eeeeee;--line-300: #e5e7eb;--line-400: #dddddd;--surface: var(--paper-000);--surface-app: var(--paper-050);--surface-control: var(--paper-100);--surface-panel: var(--paper-150);--surface-border: var(--line-200);--surface-border-strong: var(--line-300);--input-border: var(--line-400);--text-strong: #000000;--text-body: #213547;--text-secondary: #555555;--text-tertiary: #666666;--text-quiet: #999999;--delivery: #0ea5e9;--danger: #ef4444;--danger-soft-bg: #fee2e2;--danger-soft-fg: #dc2626;--success-soft-bg: #dcfce7;--success-soft-fg: #16a34a;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs: .72rem;--text-sm: .8rem;--text-base: .9rem;--text-lg: 1.1rem;--text-xl: 1.35rem;--radius-sm: 6px;--radius-md: 8px;--radius-pill: 999px;--status-pending: #f59e0b;--status-approved: #a855f7;--status-preparing: #f97316;--status-ready: #3b82f6;--status-on-the-way: #06b6d4;--status-delivered: #22c55e;--status-picked-up: #22c55e;--status-completed: #22c55e;--status-rejected: #ef4444;--status-cancelled: #6b7280;--pay-cash: #d97706;--pay-paid: #16a34a;--pay-unpaid: #f59e0b;--pay-failed: #ef4444}a{font-weight:500;color:#22c55e;text-decoration:inherit}a:hover{color:#16a34a}body{margin:0;min-width:320px;min-height:100vh}.layout-root{display:flex;min-height:100vh}.layout-nav{width:200px;padding:1rem;border-right:1px solid var(--surface-border);display:flex;flex-direction:column;background:var(--surface);flex-shrink:0}.nav-brand{margin-bottom:1rem}.nav-link{display:block;padding:.5rem 0;color:var(--text-tertiary);font-weight:400;text-decoration:none;font-size:1rem}.nav-link:hover{color:var(--text-strong)}.nav-link.active{color:var(--text-strong);font-weight:600}.nav-link-sm{font-size:var(--text-base)}.nav-management-toggle.active{color:var(--text-strong);font-weight:600}.nav-admin-divider{border-top:1px solid var(--surface-border);margin:.75rem 0}.presence-panel{margin:.5rem 0 .75rem;padding:.6rem .75rem;background:var(--surface-panel);border-radius:var(--radius-md);font-size:var(--text-xs)}.presence-status{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.presence-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--presence-dot, var(--green-500))}.presence-dot-header{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--presence-dot, var(--green-500))}.presence-label{color:var(--text-secondary);font-weight:500}.presence-btn{display:block;width:100%;padding:.3rem 0;border:none;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;font-size:.75rem;font-family:inherit}.presence-btn+.presence-btn{margin-top:.3rem}.presence-btn-pause{background:var(--danger-soft-bg);color:var(--danger-soft-fg)}.presence-btn-resume{background:var(--success-soft-bg);color:var(--success-soft-fg)}.nav-uid{margin-bottom:.5rem}.nav-uid-label{font-size:.7rem;color:#ccc;margin-bottom:.15rem}.nav-uid-value{font-size:.7rem;color:#bbb;font-family:var(--font-mono);cursor:pointer;word-break:break-all}.sign-out-btn{padding:.5rem 0;background:none;border:none;color:var(--text-quiet);font-size:var(--text-sm);cursor:pointer;text-align:left;font-family:inherit}.sign-out-btn:hover{color:var(--text-tertiary)}.layout-main{flex:1;padding:1.5rem;min-width:0}.layout-mobile-header{display:none}.layout-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:999;opacity:0;pointer-events:none;transition:opacity .22s ease}.layout-overlay.open{opacity:1;pointer-events:auto}.hamburger-btn{background:none;border:none;font-size:1.4rem;cursor:pointer;padding:.25rem .4rem;color:#333;line-height:1}.nav-close-btn{display:none;background:none;border:none;font-size:1.1rem;cursor:pointer;padding:.2rem .4rem;color:#999;margin-left:auto;margin-bottom:.25rem}.nav-management{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #eee}.nav-management-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 0;background:none;border:none;cursor:pointer;font:inherit;font-size:.9rem;text-align:left;color:var(--text-tertiary);font-weight:500}.nav-management-chevron{display:inline-block;font-size:.75rem;color:#999;transition:transform .15s ease}.nav-management-chevron.open{transform:rotate(180deg)}.nav-management-items{padding-left:.75rem;border-left:2px solid #f0f0f0;margin-left:.15rem}.nav-management-items a{font-size:.9rem}@media (max-width: 640px){.layout-root{flex-direction:column}.layout-nav{position:fixed;top:0;left:-240px;height:100vh;width:220px;z-index:1000;transition:left .22s ease;overflow-y:auto;padding:.75rem 1rem 1rem;box-shadow:none}.layout-nav.open{left:0;box-shadow:4px 0 20px #00000026}.layout-overlay{display:block}.layout-mobile-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;border-bottom:1px solid #eee;background:#fff;position:sticky;top:0;z-index:100}.layout-main{padding:1rem}.nav-close-btn{display:block}}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .25s}button:hover{border-color:#22c55e}button:focus,button:focus-visible{outline:2px solid #22c55e;outline-offset:2px}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.confirm-dialog{background:#fff;color:#213547;border-radius:10px;padding:1.25rem;max-width:360px;width:100%;box-shadow:0 12px 32px #00000040}.confirm-dialog-title{margin:0 0 .5rem;font-weight:600;font-size:.9rem;color:#666}.confirm-dialog-message{margin:0 0 1.25rem;font-size:1rem}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}.confirm-dialog-confirm{background-color:#d33;color:#fff;border-color:#d33}.confirm-dialog-confirm:hover{border-color:#a00}.badge-pill{display:inline-block;font-size:var(--text-sm);font-weight:600;color:var(--badge-color);background:color-mix(in srgb,var(--badge-color) 13%,transparent);padding:.2rem .6rem;border-radius:var(--radius-pill);line-height:1.5;white-space:nowrap}.status-badge[data-status=pending]{--badge-color: var(--status-pending)}.status-badge[data-status=approved]{--badge-color: var(--status-approved)}.status-badge[data-status=preparing]{--badge-color: var(--status-preparing)}.status-badge[data-status=ready]{--badge-color: var(--status-ready)}.status-badge[data-status=on_the_way]{--badge-color: var(--status-on-the-way)}.status-badge[data-status=picked_up]{--badge-color: var(--status-picked-up)}.status-badge[data-status=delivered]{--badge-color: var(--status-delivered)}.status-badge[data-status=completed]{--badge-color: var(--status-completed)}.status-badge[data-status=rejected]{--badge-color: var(--status-rejected)}.status-badge[data-status=cancelled]{--badge-color: var(--status-cancelled)}.payment-badge[data-kind=cash]{--badge-color: var(--pay-cash)}.payment-badge[data-kind=paid]{--badge-color: var(--pay-paid)}.payment-badge[data-kind=unpaid]{--badge-color: var(--pay-unpaid)}.payment-badge[data-kind=failed]{--badge-color: var(--pay-failed)}.delivery-pill{background:color-mix(in srgb,var(--delivery) 13%,transparent);color:var(--delivery);padding:.1rem .5rem;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:700;letter-spacing:.02em}.orders-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.orders-header h2{margin:0;font-size:var(--text-xl);color:var(--text-strong);font-weight:700}.orders-phone-scope{margin:0;font-size:var(--text-xs);color:var(--text-tertiary);flex-basis:100%}.orders-empty{color:var(--text-quiet);margin:0 0 1rem}.orders-filter-wrap{position:relative;display:inline-block}.orders-filter,.orders-date-input{font:inherit;font-size:var(--text-sm);color:var(--text-secondary);background:var(--surface-control);border:1px solid var(--surface-border-strong);border-radius:var(--radius-sm);outline:none}.orders-filter{padding:.35rem 2rem .35rem .6rem;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.orders-filter:focus,.orders-date-input:focus{border-color:var(--green-500)}.orders-filter-chevron{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);pointer-events:none;font-size:.6rem;color:var(--text-quiet)}.orders-date-range{display:flex;align-items:center;gap:.5rem;font-size:var(--text-sm);color:var(--text-secondary);flex-wrap:wrap}.orders-date-range label{display:flex;align-items:center;gap:.3rem}.orders-date-input{padding:.3rem .5rem}.orders-table-wrap{overflow-x:auto}.orders-table{width:100%;border-collapse:collapse;min-width:640px}.orders-table thead tr{text-align:left;border-bottom:2px solid var(--surface-border)}.orders-table th{padding:.5rem;font-size:var(--text-sm);color:var(--text-tertiary);font-weight:600}.orders-table td{padding:.75rem .5rem;font-size:var(--text-base);vertical-align:top}.orders-row{border-bottom:1px solid var(--paper-200);cursor:pointer;transition:background .2s ease}.orders-row:hover{background:var(--paper-100)}.orders-row:focus-visible{outline:2px solid var(--green-500);outline-offset:-2px}.orders-id{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-tertiary);text-decoration:none;font-weight:500}.orders-id:hover{color:var(--green-600)}.orders-customer-name{font-weight:600;color:var(--text-strong);text-decoration:none}.orders-customer-name:hover{color:var(--green-600)}.orders-customer-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.orders-phone{font-size:var(--text-sm);color:var(--text-quiet)}.orders-address{font-size:var(--text-xs);color:var(--delivery);margin-top:.1rem}.orders-items{color:var(--text-secondary)}.orders-total{font-weight:600;color:var(--text-strong)}.orders-fee{font-size:var(--text-xs);color:var(--text-quiet);font-weight:400}.orders-time{color:var(--text-tertiary);font-size:var(--text-sm)}.order-detail{max-width:480px}.order-detail-loading{padding:1rem;color:var(--text-tertiary)}.order-detail-back{font-size:var(--text-base);color:var(--text-tertiary);text-decoration:none;font-weight:500}.order-detail-back:hover{color:var(--green-600)}.order-detail-wrong-line{color:var(--text-tertiary);margin-top:1rem}.order-detail-title-row{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;margin-bottom:.1rem;flex-wrap:wrap}.order-detail-title-row h2{margin:0;font-size:var(--text-xl);color:var(--text-strong);font-weight:700}.order-detail-id{color:var(--text-quiet);margin:0;font-family:var(--font-mono);font-size:var(--text-sm)}.order-detail-phone{color:var(--text-quiet);margin:.1rem 0 0}.order-detail-phone.spaced{margin-bottom:1.5rem}.order-detail-address{color:var(--delivery);font-size:var(--text-base);margin:.5rem 0 1.5rem;display:flex;align-items:flex-start;gap:.25rem}.order-detail-table{width:100%;border-collapse:collapse;margin:1.25rem 0 1rem}.order-detail-table thead tr{text-align:left;border-bottom:2px solid var(--surface-border)}.order-detail-table th{padding:.4rem 0;font-size:var(--text-sm);color:var(--text-tertiary);font-weight:600}.order-detail-table th.qty{padding:.4rem;text-align:center}.order-detail-table th.price{padding:.4rem;text-align:right}.order-detail-table tbody tr{border-bottom:1px solid var(--paper-200)}.order-detail-table td{padding:.5rem 0;color:var(--text-body);font-size:var(--text-base)}.order-detail-table td.qty{padding:.5rem;text-align:center;color:var(--text-secondary)}.order-detail-table td.price{padding:.5rem;text-align:right}.order-detail-fee{font-size:var(--text-sm);color:var(--text-quiet);text-align:right;margin:.25rem 0 0}.order-detail-total{font-weight:700;font-size:var(--text-lg);text-align:right;color:var(--text-strong);margin:.25rem 0 0}.order-detail-note{color:var(--text-secondary);background:var(--surface-app);padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:var(--text-base)}.order-detail-ordered-at{color:var(--text-quiet);font-size:var(--text-sm)}.order-detail-status-row{display:flex;align-items:center;gap:.6rem;margin:1rem 0;flex-wrap:wrap}.order-detail-status-label{font-size:var(--text-sm);color:var(--text-tertiary)}.order-detail-settlement{margin-top:.25rem}.order-detail-settlement-meta{color:var(--text-quiet);font-size:var(--text-sm);margin:.4rem 0 0}.order-detail-settlement-line{font-size:var(--text-sm);margin:.2rem 0 0}.order-detail-settlement-line.ok{color:var(--pay-paid)}.order-detail-settlement-line.muted{color:var(--status-cancelled)}.order-detail-settlement-line.warn{color:var(--pay-cash)}.order-detail-settlement-line.quiet{color:var(--text-quiet);font-size:var(--text-sm)}.order-detail-eta{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;font-size:var(--text-sm);color:var(--text-tertiary);flex-wrap:wrap}.order-detail-eta-input{width:64px;padding:.35rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--input-border);font:inherit;font-size:var(--text-sm);outline:none;background:var(--surface);color:var(--text-body)}.order-detail-eta-input:focus{border-color:var(--green-500)}.order-detail-actions{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.order-action-btn{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.5rem;color:#fff;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:.95rem;font-family:inherit;transition:background .2s,opacity .2s,transform .2s}.order-action-btn:disabled{opacity:.6;cursor:default}.order-action-btn[data-variant=primary]{background:var(--text-strong)}.order-action-btn[data-variant=primary]:hover:not(:disabled){background:#222}.order-action-btn[data-variant=danger]{background:var(--danger)}.order-action-btn[data-variant=danger]:hover:not(:disabled){background:#dc2626}.order-action-btn[data-tone=preparing]{background:var(--status-preparing)}.order-action-btn[data-tone=ready]{background:var(--status-ready)}.order-action-btn[data-tone=on_the_way]{background:var(--status-on-the-way)}.order-action-btn[data-tone=delivered]{background:var(--status-delivered)}.order-detail-error{color:var(--danger);font-size:var(--text-sm);margin-top:.5rem}
