:root{--bg: #f0f2f5;--nav-bg: #111827;--surface: #fff;--surface-2: #f8fafc;--ink: #1f2937;--ink-2: #6b7280;--ink-3: #9ca3af;--rule: #e5e7eb;--teal: #1c9983;--teal-hover: #157967;--teal-soft: #f0fdf4;--ember: #e53e3e;--ember-soft: #fff5f5;--amber: #b45309;--amber-soft: #fef3c7;--amber-rule: #fde68a;--info: #1e40af;--info-soft: #dbeafe;--info-rule: #bfdbfe;--veg-green: #2ecc71;--veg-green-soft: #eafaf1;--radius: 12px;--radius-sm: 6px;--radius-pill: 9999px;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .18)}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom);overflow-x:hidden}h1,h2,h3{font-family:Poppins,sans-serif}main{padding:16px;max-width:1100px;margin:0 auto;overflow-x:hidden}.day-card{transition:transform .2s ease}.day-card.dragging{transition:none}.muted{color:var(--ink-2)}.boot{display:grid;place-items:center;min-height:100dvh}.hint{font-size:13px;color:var(--ink-3);margin:0 0 10px}.count{font-size:12px;font-weight:600;color:var(--ink-2);background:var(--surface-2);border-radius:var(--radius-pill);padding:1px 9px}.error{background:var(--ember-soft);color:var(--ember);padding:10px 12px;border-radius:var(--radius-sm);margin:12px 0 0}.ok{color:var(--teal);font-size:14px}button,input,select,textarea{font:inherit}button{border:1px solid var(--teal);background:var(--teal);color:#fff;border-radius:var(--radius-sm);font-weight:700;padding:9px 16px;min-height:40px;cursor:pointer;transition:filter .15s,transform .15s}button:hover:not(:disabled){filter:brightness(.93);transform:translateY(-1px)}button:disabled{opacity:.55;cursor:default;transform:none}button.link{border:none;background:none;color:var(--teal);font-weight:500;padding:0;min-height:auto;text-decoration:underline}button.link:hover:not(:disabled){filter:none;transform:none;color:var(--teal-hover)}button.secondary{background:var(--surface);color:var(--ink);border-color:var(--rule)}button.danger{background:var(--ember);border-color:var(--ember)}.btn-icon{width:40px;height:40px;min-height:40px;padding:0;background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-weight:400}.btn-icon:hover:not(:disabled){background:var(--teal);color:#fff;border-color:var(--teal);filter:none;transform:none}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;border:1px solid var(--rule);border-radius:var(--radius-sm);padding:9px 10px;min-height:40px;background:var(--surface);color:var(--ink)}input,select,textarea{accent-color:var(--teal)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #1c99831f}input[type=checkbox],input[type=radio]{width:16px;height:16px;min-height:16px;flex:none;cursor:pointer}.badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 9px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink-2);border:1px solid transparent}.badge-tier-basic{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.badge-tier-premium{background:var(--info-soft);color:var(--info);border-color:var(--info-rule)}.badge-tier-vip{background:var(--amber-soft);color:var(--amber);border-color:var(--amber-rule)}.badge-status-draft{background:var(--surface-2);color:var(--ink-2)}.badge-status-confirmed{background:var(--info-soft);color:var(--info)}.badge-status-sent{background:var(--teal-soft);color:var(--teal)}.badge-reviewed{background:var(--teal-soft);color:var(--teal);border-color:var(--teal)}.badge-drift{background:var(--amber-soft);color:var(--amber);border-color:var(--amber-rule);margin-left:6px}.badge-blocked{background:var(--ember-soft);color:var(--ember);margin-left:6px}.badge-warning{background:var(--amber-soft);color:var(--amber);border-color:var(--amber-rule);margin-left:6px}.badge-type-bug{background:var(--ember-soft);color:var(--ember)}.badge-type-feature,.badge-day-mon{background:var(--info-soft);color:var(--info)}.badge-day-tue{background:var(--teal-soft);color:var(--teal)}.badge-day-wed{background:var(--amber-soft);color:var(--amber);border-color:var(--amber-rule)}.badge-day-thu{background:var(--veg-green-soft);color:var(--veg-green)}.badge-day-fri{background:var(--ember-soft);color:var(--ember)}.badge-featured{background:#fef9c3;color:#a16207;border-color:#fde68a}.login{display:grid;place-items:center;min-height:100dvh;padding:20px}.login form{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:6px}.login h1{margin:0;font-size:26px;letter-spacing:-.02em}.login p{margin:0 0 12px}.login label{font-size:13px;color:var(--ink-2);margin-top:10px}.login button{margin-top:18px}.login .reset{margin-top:12px;text-align:center;font-size:13px}.top-nav{position:sticky;top:0;z-index:100;min-height:60px;display:flex;align-items:center;gap:16px;padding:0 16px;padding-top:env(safe-area-inset-top);background:var(--nav-bg);box-shadow:0 2px 8px #0003}.nav-brand{font:700 16px/1 Poppins,sans-serif;color:#fff;letter-spacing:.02em;white-space:nowrap}.nav-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.tab-pager{display:none}.activity-bell{position:relative}.activity-bell-toggle{background:none;border:none;cursor:pointer;font-size:20px;padding:0;width:36px;height:36px;min-height:36px;display:flex;align-items:center;justify-content:center;line-height:1;color:#9ca3af;position:relative}.activity-bell-toggle:hover{color:#fff}.activity-bell-badge{position:absolute;top:2px;right:2px;background:var(--ember);color:#fff;font-size:10px;font-weight:700;line-height:1;border-radius:999px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 4px}.activity-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:340px;max-height:420px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 12px 32px #0000002e;overflow:hidden;display:flex;flex-direction:column;z-index:200;text-align:left}.activity-dropdown-header{display:flex;justify-content:space-between;align-items:baseline;padding:12px 14px;border-bottom:1px solid var(--rule);font-weight:700;color:var(--ink);font-size:14px}.activity-dropdown-list{list-style:none;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain}.activity-dropdown-list li{padding:10px 14px;border-bottom:1px solid var(--rule)}.activity-dropdown-list li:last-child{border-bottom:none}.activity-entry-time{font-size:11px;color:var(--ink-3)}.activity-entry-company{color:var(--teal);font-weight:600;margin-right:6px}.activity-entry-details{color:var(--ink-2);font-size:13px;margin-top:2px}.activity-entry-badge-neutral{background:var(--info-soft);color:var(--info)}.activity-entry-badge-negative{background:var(--ember-soft);color:var(--ember)}.activity-dropdown-push-btn{background:none;border:none;cursor:pointer;font-size:16px;padding:2px 4px;min-height:auto;color:var(--ink-3)}.activity-dropdown-push-btn:hover{color:var(--teal)}.invoice-reminder-banner{position:sticky;top:calc(60px + env(safe-area-inset-top));z-index:90;background:var(--info-soft);color:var(--info);border-bottom:1px solid var(--info-rule);display:flex;align-items:center;font-size:13px;font-weight:600;padding:8px 16px}.invoice-reminder-message{flex:1;text-align:center}.invoice-reminder-dismiss{border:none;background:none;min-height:auto;margin-left:12px;color:var(--info);text-decoration:none;font-weight:700;font-size:16px;line-height:1;padding:2px 4px;cursor:pointer}.invoice-reminder-dismiss:hover{opacity:.7}.nav-actions>button.link{color:#9ca3af;white-space:nowrap}.nav-actions>button.link:hover{color:#fff}.tabs{display:flex;height:100%;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{border:none;background:none;border-radius:0;border-bottom:3px solid transparent;color:#9ca3af;padding:0 14px;min-height:auto;height:100%;white-space:nowrap;font-weight:600;font-size:13px;display:flex;align-items:center;gap:5px}.tabs button:hover:not(:disabled){filter:none;transform:none;color:#fff;background:#ffffff0f}.tabs button.on{color:var(--teal);border-bottom-color:var(--teal)}.week-controls{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px 16px 0}.week-display{text-align:center;line-height:1.3}.week-display h2{margin:0;font-size:22px}.week-display p{margin:2px 0 0;font-size:13px;color:var(--ink-2)}.day-tabs-container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;overflow-x:auto;padding:16px;scrollbar-width:none;max-width:1100px;margin:0 auto;scroll-snap-type:x proximity}.day-tabs-container::-webkit-scrollbar{display:none}.planning-week-controls,.planning-day-tabs-container{margin-left:-16px;margin-right:-16px}.day-tabs{display:flex;gap:10px}.day-tab{min-width:60px;background:var(--surface);border:1px solid var(--rule);padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:13px;color:var(--ink-2);text-align:center;scroll-snap-align:start}.day-tab small{display:block;font-weight:500;font-size:11px;color:var(--ink-3)}.day-tab:hover:not(:disabled):not(.active){background:var(--teal-soft);border-color:var(--teal);color:var(--teal);filter:none;transform:none}.day-tab.active{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 4px 10px #1c998333;transform:translateY(-1px)}.day-tab.active small{color:#ffffffbf}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:20px}.stat-box{background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius);padding:18px;text-align:center}.stat-box:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.stat-count{font-size:38px;font-weight:700;font-family:Poppins,sans-serif;color:var(--teal)}.stat-label{font-size:13px;color:var(--ink-2);margin-top:4px}.stat-box.small .stat-count{font-size:22px;color:var(--ink)}.dietary-flags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.badge-veg{background:var(--veg-green-soft);color:var(--veg-green)}.badge-dietary{background:var(--amber-soft);color:var(--amber);border-color:var(--amber-rule)}.cook-board-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:14px 20px;margin-bottom:16px}.cook-board-header h2{margin:0;font-size:15px;font-family:Poppins,sans-serif;letter-spacing:.02em}.cook-board-header-toggles{display:flex;flex-wrap:wrap;gap:10px}.view-toggle{display:inline-flex;background:var(--surface-2);padding:4px;border-radius:var(--radius-sm)}.view-toggle button{background:transparent;color:var(--ink-2);border:none;box-shadow:none;padding:6px 16px;min-height:auto;font-size:13px;font-weight:600}.view-toggle button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.stat-box.expanded-group{text-align:left}.expanded-group-header{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:700;color:var(--ink);font-size:14px;margin-bottom:8px}.expanded-group-total{color:var(--teal);font-family:Poppins,sans-serif}.expanded-group-list{list-style:none;margin:0;padding:0}.expanded-group-list li{font-size:12.5px;color:var(--ink-2);padding:5px 0;border-top:1px solid var(--rule)}.expanded-group-list li:first-child{border-top:none}.expanded-group-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.expanded-group-sub{color:var(--ink-3);text-align:right;white-space:nowrap}.expanded-group-detail-link{font-size:12px;padding:0}.expanded-group-list .dietary-flags{margin-top:3px}.expanded-variations-container{display:flex;flex-direction:column;gap:8px;margin-top:4px}.expanded-variation-block{background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:8px 10px}.expanded-variation-header{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ink);margin-bottom:6px;padding-bottom:4px;border-bottom:1px dashed var(--rule)}.expanded-variation-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.expanded-variation-flags{display:inline-flex;gap:4px}.expanded-variation-meta{display:flex;align-items:center;gap:6px}.expanded-variation-block .expanded-group-list li:first-child{border-top:none}.cook-meal-groups-container{display:flex;flex-direction:column;gap:0;width:100%}.cook-meal-group-item{display:flex;flex-direction:column;width:100%}.cook-meal-divider{border:none;border-top:1px solid var(--rule);margin:20px 0;width:100%}.cook-meal-type-row{display:flex;flex-direction:column;gap:10px;width:100%}.cook-meal-type-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:4px 0 8px}.cook-meal-type-title-wrap{display:flex;align-items:center;gap:12px}.cook-meal-type-name{font-size:18px;font-weight:700;color:var(--teal);font-family:Poppins,sans-serif}.cook-meal-type-total-badge{font-size:12.5px;font-weight:600;color:var(--ink-2);background:var(--surface);border:1px solid var(--rule);padding:3px 10px;border-radius:999px}.cook-all-btn{font-size:12.5px;padding:5px 12px;min-height:auto;font-weight:600}.cook-variations-horizontal-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:16px;align-items:stretch;width:100%}.cook-variation-card{flex:1 1 260px;max-width:380px;min-width:230px;background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.cook-variation-card:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.cook-variation-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.cook-variation-title{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.35;flex:1}.cook-variation-qty{font-size:16px;font-weight:700;color:var(--teal);font-family:Poppins,sans-serif;flex:none}.cook-variation-card-photo-wrap{width:100%;height:90px;border-radius:var(--radius-sm);overflow:hidden;margin:2px 0 4px;background:var(--surface-2);border:1px solid var(--rule)}.cook-variation-card-photo{width:100%;height:100%;object-fit:cover}.cook-variation-assignees{list-style:none;margin:auto 0 0;padding:8px 0 0;display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--rule)}.cook-variation-assignees li{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;color:var(--ink-2);gap:6px}.assignee-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignee-company{font-size:11.5px;color:var(--ink-3);flex:none}.cook-variation-card-footer{display:flex;justify-content:flex-end;padding-top:4px}.cook-variation-modal-body{display:flex;flex-direction:column;gap:16px}.cook-variation-recipe-section{background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:12px 14px}.cook-variation-recipe-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.cook-variation-recipe-header h4{margin:0;font-size:13.5px;color:var(--ink)}.cook-variation-portions-section{display:flex;flex-direction:column;gap:8px}.cook-variation-portions-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.cook-variation-settings-section{display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:14px}.temp-selection-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cook-variation-photo-section{display:flex;flex-direction:column;gap:8px;margin-top:4px;padding-top:12px;border-top:1px dashed var(--rule)}.cook-variation-photo-preview{display:flex;align-items:center;gap:14px}.cook-variation-photo-preview img{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-sm);border:2px solid var(--teal)}.cook-variation-photo-existing{display:flex;align-items:center;gap:14px}.cook-variation-photo-existing img{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--rule)}.cook-variation-photo-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.cook-photo-badge{font-size:12px;font-weight:600;color:var(--teal)}.cook-status-row{background:var(--surface-2);border-radius:var(--radius);padding:16px 20px;margin-bottom:16px}.cook-status-row-title{margin:0 0 12px;font-size:13px;font-weight:700;color:var(--ink-2)}.cook-status-row .stats-grid{margin-bottom:0}.stat-box.clickable{cursor:pointer}.stat-note-indicator{font-size:11px;color:var(--ink-3);margin-top:6px}.cook-progress{margin-top:8px;background:var(--rule);border-radius:4px;height:5px;overflow:hidden}.cook-progress-fill{background:var(--teal);height:100%;border-radius:4px}.cook-progress-caption{font-size:11px;color:var(--ink-3);margin-top:4px}.cook-checklist-group{margin-bottom:16px}.cook-checklist-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:700;color:var(--teal);font-size:14px}.cook-checklist-group .select-all{font-size:12px;font-weight:400;color:var(--ink-2);display:flex;align-items:center;gap:5px;cursor:pointer}.cook-checklist-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--rule);border-radius:var(--radius-sm);margin-bottom:5px;font-size:13px;cursor:pointer}.recipe-cluster{background:var(--surface-2);border-radius:var(--radius-sm);padding:10px 12px 4px;margin-bottom:8px}.recipe-cluster-header{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px}.recipe-cluster-full-text{white-space:pre-wrap;font-size:12.5px;color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);padding:8px 10px;margin:0 0 8px}.recipe-cluster-header-actions{display:flex;align-items:center;gap:10px}.recipe-cluster-header-actions button.link{font-size:12px}.cook-checklist-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.cook-checklist-actions-buttons{display:flex;flex-wrap:wrap;gap:10px}.cook-count-label{font-size:13px;color:var(--ink-2)}.temp-radio-group{display:flex;gap:16px}.batch-meal-group{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.batch-meal-group-header{display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--teal);font-size:14px}.batch-photo-row{display:flex}.batch-photo-preview{display:flex;align-items:center;gap:10px}.batch-photo-preview img{width:56px;height:56px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--rule)}.batch-photo-locked-thumb{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--rule);margin-top:4px}.description-preview{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.description-preview li{font-size:13px;padding:6px 10px;background:var(--surface);border-left:3px solid var(--teal);border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;align-items:center;gap:6px}.temp-chip{font-size:10px;font-weight:700;text-transform:uppercase;background:var(--surface-2);color:var(--ink-2);padding:1px 7px;border-radius:var(--radius-pill)}.lock-hint{font-size:13px;color:var(--amber);background:var(--amber-soft);padding:8px 12px;border-radius:var(--radius-sm);margin:0 0 12px}.field-hint{display:block;font-size:11px;color:var(--amber);margin-top:-2px}.day-toggle{display:flex;align-items:center;gap:6px;font-size:13px}.mini-week-nav{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);flex:1 1 220px}.mini-week-nav .btn-icon{width:30px;height:30px;min-height:30px}.cards.planning-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;align-items:start}.plan-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 18px;display:flex;flex-direction:column;min-height:260px}.plan-card.draft{box-shadow:0 0 6px 1px #1e40af80,0 0 14px 3px #1e40af47,0 0 24px 6px #1e40af1f}.plan-card.confirmed{box-shadow:0 0 6px 1px #1c998380,0 0 14px 3px #1c998347,0 0 24px 6px #1c99831f}.plan-card.expandable{cursor:pointer}.planning-group-divider{border:none;border-top:1px solid var(--rule);margin:24px 0 0}.planning-group-label{margin:10px 0 14px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3)}.plan-card .card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plan-card .meal-name{font-family:Poppins,sans-serif;font-weight:600;font-size:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plan-card-status{margin-left:auto;display:flex;align-items:center}.plan-card .company-line{font-size:13px;color:var(--ink-2);margin-top:8px}.plan-card .card-links{display:flex;gap:14px;margin-top:6px}.plan-card .card-links button.link{font-size:12px}.plan-textarea{width:100%;flex:1;min-height:90px;margin-top:12px;border:1px solid var(--rule);border-radius:var(--radius-sm);padding:10px 12px;font-family:inherit;font-size:13.5px;resize:vertical;background:var(--surface);color:var(--ink)}.plan-textarea[readonly]{background:var(--surface-2);color:var(--ink-2);cursor:default}.recipe-card-expanded{margin-top:12px;padding-top:12px;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:14px}.recipe-card-expanded .modal-actions{border-top:none;padding:0}.recipe-card-expanded .meal-detail-photos img{width:88px;height:88px}.btn-confirm{font-weight:700;font-size:13px;color:#fff;background:var(--info);border:none;border-radius:var(--radius-pill);padding:6px 14px;cursor:pointer;white-space:nowrap}.btn-confirm:hover{background:#16348c}.confirmed-chip{font-size:12px;font-weight:600;color:var(--teal);white-space:nowrap}.temp-and-generate-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.temp-and-generate-row button{border-radius:var(--radius-pill)}.full-recipe-label-row{display:flex;align-items:flex-end;gap:12px}.full-recipe-label-row label{flex:1}.full-recipe-textarea{min-height:220px;margin-top:14px}.full-recipe-attachment{margin-top:14px}.attachment-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.attachment-actions{display:flex;align-items:center;gap:14px}.featured-toggle{margin-top:10px}.attachment-replace-label{font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;background:none;border:none;padding:0;white-space:nowrap}.attachment-replace-label:hover:not(:disabled){color:var(--teal);text-decoration:underline}.attachment-picker-label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);font-weight:700;font-size:13px;padding:9px 16px;min-height:40px}.attachment-picker-label:hover{border-color:var(--teal);color:var(--teal)}.attachment-photo-link{display:block;line-height:0}.attachment-photo-preview{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--rule)}.meal-detail-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.meal-detail-header .meal-name{font-family:Poppins,sans-serif;font-weight:600;font-size:17px;display:flex;align-items:center;gap:8px}.meal-detail-section{margin-bottom:18px}.meal-detail-section h4{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3);display:flex;align-items:center;gap:8px}.meal-detail-full-recipe{white-space:pre-wrap}.meal-detail-avg-rating{background:var(--amber-soft);color:var(--amber);border-color:var(--amber-rule);text-transform:none}.meal-detail-photos{display:flex;flex-wrap:wrap;gap:10px}.meal-detail-photos img{width:140px;height:140px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--rule)}.meal-detail-ratings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.meal-detail-ratings li{border-bottom:1px solid var(--rule);padding-bottom:8px;font-size:13px}.meal-detail-ratings li:last-child{border-bottom:none;padding-bottom:0}.logistics-content{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.company-group{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 16px}.company-group.delivered{opacity:.55}.company-title{border-bottom:2px solid var(--teal);padding-bottom:8px;margin-bottom:12px;display:flex;flex-direction:column;gap:6px}.company-name{font-size:16px;font-weight:700}.expected{font-size:13px;color:var(--teal);font-weight:600}.delivered-pill{background:var(--teal-soft);color:var(--teal);font-size:12px;font-weight:700;padding:3px 9px;border-radius:var(--radius-pill)}.company-stats{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.company-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.company-stats button{min-height:30px;padding:4px 12px;font-size:12px}.delivery-roster{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:2px}.roster-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;font-size:13px;padding:5px 0;border-bottom:1px dashed var(--rule)}.roster-row:last-child{border-bottom:none}.roster-row-clickable{cursor:pointer}.roster-row-clickable:hover{background:var(--surface-2)}.roster-name{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--ink)}.roster-name .dietary-flags{margin-top:0}.roster-meal{color:var(--ink-2);flex:none}.delivery-date-line{text-align:center;margin:0 0 16px}.delivery-summary{background:var(--surface-2);border-radius:var(--radius-sm);padding:14px 16px;display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.delivery-summary-title{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin:0 0 4px}.delivery-summary-row{display:flex;justify-content:space-between;font-size:14px;color:var(--ink-2)}.delivery-summary-qty{font-weight:600;color:var(--ink)}.delivery-summary-total{border-top:1px dashed var(--rule);margin-top:4px;padding-top:8px;font-weight:700;color:var(--ink)}.delivery-summary-total .delivery-summary-qty{color:var(--teal)}.icon-button{flex:none;width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--rule);border-radius:var(--radius-sm);color:var(--ink-3)}.icon-button:hover{border-color:var(--ember);color:var(--ember)}@media(max-width:1024px){.logistics-content{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.logistics-content{grid-template-columns:1fr;gap:16px}}.label-sheet{position:absolute!important;left:-99999px!important;top:0!important;width:287mm!important;height:200mm!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.delivery-print-sheet{position:absolute!important;left:-99999px!important;top:0!important;width:190mm!important;height:auto!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.print-page{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.print-label{position:relative;aspect-ratio:3 / 2;border-radius:6px;overflow:hidden;box-shadow:var(--shadow-sm);container-type:inline-size}.lbl-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0}.print-label-empty{background:none;box-shadow:none}.lbl-company-text{position:absolute;top:1%;left:52%;width:44%;height:17%;display:flex;align-items:center;justify-content:center;gap:4px;font-family:Oswald,sans-serif;font-weight:800;color:#fff;letter-spacing:1px;text-transform:uppercase;font-size:3cqw}.lbl-company-text .for-word,.lbl-company-text .team-word{opacity:.9;font-size:2cqw}.lbl-company-text .comp-name{font-size:3.1cqw}.lbl-emp{position:absolute;top:15.5%;left:52%;width:42%;display:flex;justify-content:center;font-family:Oswald,sans-serif;font-weight:700;color:#3b9787;letter-spacing:.5px;font-size:3.1cqw}.lbl-day{position:absolute;top:21%;left:52%;width:42%;height:6%;display:flex;align-items:center;justify-content:center;font-family:Oswald,sans-serif;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:1.5px;font-size:2.4cqw}.lbl-desc{position:absolute;top:27%;left:52%;width:42%;height:32%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Oswald,sans-serif;color:#1a1a1a;text-align:center;line-height:1.25;padding:0 2%}.lbl-desc-main{font-weight:800;font-size:3.5cqw}.lbl-desc-flags{font-weight:600;font-size:1.7cqw;line-height:1.15;color:var(--veg-green)}.lbl-mealtype{position:absolute;top:58%;left:52%;width:42%;height:10%;display:flex;align-items:center;justify-content:center;font-family:Oswald,sans-serif;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:1.5px;font-size:2.4cqw}.lbl-temp{position:absolute;top:63%;left:52%;width:42%;height:18%;display:flex;align-items:center;justify-content:center;font-family:Oswald,sans-serif;font-weight:800;color:#1a1a1a;text-transform:uppercase;letter-spacing:1px;font-size:2.8cqw}.lbl-date{position:absolute;top:82%;left:58%;width:42%;height:13%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:Oswald,sans-serif;font-weight:600;color:#1a1a1a;text-align:center;line-height:1.5;font-size:1.9cqw}.notice-warn{background:var(--amber-soft);border:1px solid var(--amber-rule);border-radius:var(--radius-sm);padding:12px 14px;color:var(--amber);margin-bottom:14px}.notice-warn p{margin:4px 0;color:var(--ink-2)}.missing-meal-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.missing-meal-list .link{color:var(--teal);text-decoration:underline;font-weight:600}.meal-note-editor{display:flex;gap:8px;margin-top:6px}.meal-note-editor input[type=text]{flex:1 1 auto;min-height:36px;padding:4px 8px}.meal-note-editor select{flex:none;min-height:36px}.time-on-labels{background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:14px}.time-on-labels>legend{font-weight:700;font-size:13px;color:var(--ink);padding:0;margin-bottom:8px}.time-on-labels label{flex-direction:row!important;align-items:center;gap:8px}.time-on-labels input[type=time]{min-height:32px;width:auto}.btn-modal-gray{background:#6b7280;color:#fff}.btn-modal-blue{background:#0ea5e9;color:#fff}.btn-modal-purple{background:#7c3aed;color:#fff}.btn-modal-black{background:#0f172a;color:#fff}.modal-box.xwide{max-width:900px}.custom-print-groups{display:flex;flex-direction:column;gap:12px;max-height:50vh;overflow-y:auto}.custom-print-groups .card{padding:12px 14px;flex-shrink:0}.custom-print-groups h4{margin:0 0 8px;font-size:13px}.custom-print-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px;border-top:1px dashed var(--rule)}.custom-print-row:first-of-type{border-top:none}.custom-print-row span:nth-child(2){flex:1 1 auto}.cl-columns{display:flex;gap:0;margin:-20px}.cl-form{flex:0 0 42%;padding:20px;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:14px}.cl-form h4,.cl-queue-header h4{margin:0;font-size:14px;font-family:Poppins,sans-serif;color:var(--teal)}.cl-form label{font-size:11px;font-weight:700;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}.cl-temp-choice{display:flex;gap:20px;font-size:13px;font-weight:400;text-transform:none;letter-spacing:normal}.cl-temp-choice label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:400;text-transform:none;letter-spacing:normal;color:var(--ink);cursor:pointer}.cl-qty-names{display:flex;flex-wrap:wrap;gap:10px}.cl-qty-names>div:first-child{flex:0 0 80px}.cl-qty-names>div:last-child{flex:1 1 auto}.cl-qty-names input[type=number]{text-align:center}.cl-queue{flex:1 1 58%;padding:20px;background:var(--surface-2);display:flex;flex-direction:column;min-width:0}.cl-queue-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.cl-queue-list{flex:1;min-height:220px;overflow-y:auto;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);padding:10px;display:flex;flex-direction:column;gap:8px}.cl-queue-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--ink-3);text-align:center;padding:20px;gap:4px}.cl-queue-empty .icon{font-size:32px}.cl-queue-item{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid var(--rule);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px}.cl-sheet-estimate{margin-top:10px;font-size:11px;color:var(--ink-3);text-align:right;font-weight:500}.cl-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:14px -20px -20px;padding:14px 20px;background:var(--surface-2);border-top:1px solid var(--rule)}.cl-footer .prod-time{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.cl-footer .prod-time input{width:auto;min-height:32px;padding:4px 8px}.cl-footer-actions,.daily-prep-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.daily-prep-actions .btn-print{background:#f6c05a;color:#fff;border:none;border-radius:8px;font-family:Poppins,sans-serif;font-weight:700}.daily-prep-actions .btn-shopping-list{background:#16a34a;color:#fff;border:none;border-radius:8px;font-family:Poppins,sans-serif;font-weight:700}@media(max-width:700px){.cl-columns{flex-direction:column}.cl-form{border-right:none;border-bottom:1px solid var(--rule);flex:none}.cl-queue{flex:none}}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:start}.card{grid-column:span 1;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.card.wide{grid-column:span 2}.card-header{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:14px 20px;background:var(--surface-2);border-bottom:1px solid var(--rule);font:700 13px/1.3 Poppins,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2)}.card-header.static{cursor:default}.card-header-right{margin-left:auto;display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:normal;font-weight:400;font-family:Inter,sans-serif}.card-body{padding:20px}.admin-add-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:14px;margin-bottom:16px}.admin-add-row label{flex:1 1 160px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink-2)}.admin-add-row button{flex:none}.ledger-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.toggle-chip{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--rule);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;min-height:auto;cursor:pointer}.toggle-chip.active{background:var(--info-soft);color:var(--info);border-color:var(--info-rule)}.table-scroll{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.admin-table th,.admin-table td{padding:10px 12px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:middle}.admin-table thead th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}.admin-table tbody tr:hover{background:var(--surface-2)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tr.inactive{opacity:.55}.companies-table tbody tr{cursor:pointer}.pending-dot{display:inline-block;width:8px;height:8px;margin-left:8px;border-radius:50%;background:var(--ember);vertical-align:middle}.tier-request-pending{background:var(--teal-soft);border-color:var(--teal)}.tier-request-pending .admin-list-main small{color:var(--ink-3)}.ledger-totals-row td{font-weight:700;border-top:2px solid var(--ink);border-bottom:none}.admin-table input:not([type=checkbox]):not([type=radio]){min-height:34px;padding:4px 8px}.shopping-list-category-row td{background:var(--surface-2);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}.shopping-list-item-label{display:flex;align-items:center;gap:10px;cursor:pointer}.shopping-list-regenerate-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.shopping-list-regenerate-row .hint{margin:0;color:var(--amber)}.billing-title{margin:0;font-size:20px}.billing-actions{display:flex;gap:10px;flex-wrap:wrap}.btn-billing-invoices{background:#6366f1;border-color:#6366f1}.btn-billing-service{background:#f59e0b;border-color:#f59e0b}.text-right{text-align:right}.ledger-company{color:var(--teal);font-weight:600}.ledger-balance{font-weight:600}.ledger-balance.owed{color:var(--ember)}.ledger-balance.settled{color:var(--teal)}.ledger-table th,.ledger-table td{padding:8px 10px;white-space:nowrap}.ledger-table th:first-child,.ledger-table td:first-child{white-space:normal}.billing-toolbar{margin-bottom:12px}.invoice-lines{list-style:none;margin:0;padding:0;font-size:13px;color:var(--ink-2)}.invoice-lines li{padding:4px 0;border-bottom:1px dashed var(--rule)}.invoice-lines li:last-child{border-bottom:none}.admin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.admin-list>li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:10px 14px}.admin-list>li.inactive{opacity:.55}.admin-list-main{display:flex;flex-direction:column}.admin-list-main small{color:var(--ink-3);font-size:12px}.admin-row-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-row-actions input{flex:1 1 180px;min-height:40px}.btn-view-as{background:var(--teal);color:#fff;border:none;border-radius:var(--radius-pill);padding:6px 16px;font-size:13px;font-weight:600;min-height:auto}.btn-view-as:hover:not(:disabled){background:var(--teal-hover);color:#fff;filter:none;transform:none}.stars-static{color:var(--amber);font-size:16px;letter-spacing:1px;white-space:nowrap;flex:none}.modal-backdrop{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px;z-index:2000}.modal-box{width:100%;max-width:420px;max-height:90vh;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-lg)}.modal-box.wide{max-width:480px}.modal-box.full{max-width:100%;width:100%;height:100%;max-height:100%;overflow:hidden;display:flex;flex-direction:column}.modal-box.full .modal-body{padding:0;flex:1;min-height:0}.view-as-frame{display:block;width:100%;height:100%;border:none}.modal-box>header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--rule);position:sticky;top:0;background:var(--surface)}.modal-box>header h3{margin:0;font-size:18px;font-family:Poppins,sans-serif}.modal-subtitle{margin:4px 0 0;font-size:13px;color:var(--ink-3)}.modal-body{padding:20px}.modal-body p{margin:0}.modal-form{display:flex;flex-direction:column;gap:14px}.modal-form fieldset{border:1px solid var(--rule);border-radius:var(--radius-sm);padding:12px;margin:0;display:flex;flex-direction:column;gap:10px}.modal-form legend{font-size:12px;font-weight:600;color:var(--ink-2);padding:0 4px}.modal-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink-2)}.modal-footer,.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--rule)}.modal-body>.modal-actions{border-top:none;padding:16px 0 0}.modal-footer button,.modal-actions button{border-radius:var(--radius-pill)}.company-modal-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:14px;border-top:1px solid var(--rule)}.company-modal-actions-left,.company-modal-actions-right{display:flex;flex-wrap:wrap;gap:10px}.company-modal-actions button{border-radius:var(--radius-pill)}.admin-pin-reveal{font-size:24px;letter-spacing:.08em;font-family:Poppins,sans-serif}.alert-box{max-width:380px;text-align:center}.alert-box .modal-body{display:flex;flex-direction:column;align-items:center;gap:4px}.alert-icon{font-size:40px}.alert-actions{justify-content:center;width:100%}.alert-actions button{flex:1 1 auto}@media(max-width:700px){.admin-grid{grid-template-columns:1fr}.card.wide{grid-column:span 1}.top-nav{padding:env(safe-area-inset-top) 8px 0;gap:3px}.nav-brand{font-size:14px}.day-tabs-container{gap:5px;padding:12px}.day-tab{font-size:12px;padding:8px 6px;min-width:48px}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.tabs{display:none}.nav-actions>button.link{display:none}.tab-pager{display:block;position:relative}.tab-pager-toggle{display:block;position:relative;background:none;border:none;color:#fff;width:160px;min-height:40px;padding:0;overflow:hidden;cursor:pointer}.tab-pager-toggle:hover:not(:disabled){background:var(--teal-hover);color:#fff}.tab-pager-track{display:flex;gap:24px;transition:transform .2s ease}.tab-pager-track.dragging{transition:none}.tab-pager-slot{flex:0 0 auto;display:flex;align-items:center;min-height:40px;font-size:13px;font-weight:600;white-space:nowrap}.nav-menu-panel{display:none;position:absolute;top:calc(100% + 12px);right:0;left:auto;flex-direction:column;width:240px;max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;background:var(--nav-bg);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:1000}.nav-menu-panel.open{display:flex}.nav-menu-panel button{width:100%;justify-content:flex-start;text-align:left;background:none;border:none;color:#9ca3af;font-weight:600;font-size:14px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.nav-menu-panel button.on{color:var(--teal);background:#1c99831f}.nav-menu-signout{color:#f87171!important;border-bottom:none!important}.activity-dropdown{position:fixed;top:calc(64px + env(safe-area-inset-top));left:12px;right:12px;width:auto;max-width:none}.cl-columns{flex-direction:column}.cl-form{flex:1 1 auto;border-right:none;border-bottom:1px solid var(--rule)}.cl-queue{flex:1 1 auto}}@media print{html,body,main{overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;height:auto!important;min-height:auto!important;max-height:none!important;padding:0!important;margin:0!important;background:#fff!important}.top-nav,.week-controls,.day-tabs-container,.labels-toolbar,.no-print,.driver-mode-fullscreen-main{display:none!important}.label-sheet{display:flex!important;flex-direction:column!important;position:static!important;width:287mm!important;height:auto!important;overflow:visible!important;opacity:1!important;gap:0!important}@page{size:A4 landscape;margin:5mm}.print-page{width:287mm;height:200mm;grid-template-rows:repeat(3,auto);gap:.5mm;align-content:center;page-break-after:always}.print-page:last-child{page-break-after:auto}.print-label,.print-page{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}@page delivery-page{size:A4 portrait;margin:5mm}.delivery-print-sheet{display:block!important;position:static!important;width:190mm!important;height:auto!important;overflow:visible!important;opacity:1!important;page:delivery-page}}.delivery-print-sheet{width:190mm;margin:0 auto;font-family:Inter,sans-serif;color:#000}.dp-header{text-align:center;margin-bottom:8mm;border-bottom:2px solid #000;padding-bottom:4mm}.dp-header h2{font-family:Poppins,sans-serif;font-size:20pt;margin:0}.dp-company{margin-bottom:6mm;border:1px solid #ccc;padding:5mm;border-radius:3mm;break-inside:avoid;page-break-inside:avoid}.dp-top{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px dashed #ccc;margin-bottom:4mm;padding-bottom:3mm}.dp-info{flex:1 1 auto}.dp-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:14pt;font-weight:700;margin-bottom:2mm;border-bottom:1px solid #eee;padding-bottom:2mm}.dp-stats{font-size:12pt;font-weight:400}.dp-contact{font-size:9pt;color:#4b5563;line-height:1.5;display:grid;grid-template-columns:1fr 1fr;gap:2mm}.dp-qr-box{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;width:22mm}.dp-qr-box .qr-code{width:20mm;height:20mm}.dp-qr-label{font-size:6.5pt;text-align:center;margin-top:2px;font-weight:700;color:var(--teal)}.dp-meal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 10px;margin-top:6px}.dp-meal-card{border:1px solid #e2e8f0;border-radius:6px;padding:3px 8px}.dp-meal-card.veg{border-color:#bbf7d0;background:#f0fdf4}.dp-meal-row{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:9.5pt;font-weight:600}.dp-meal-recipients{font-size:8pt;color:#64748b;margin-top:1px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.btn-driver-charcoal{background:#1e293b!important;color:#fff!important;border:1px solid #334155!important;font-weight:600;transition:background .15s ease,border-color .15s ease}.btn-driver-charcoal:hover{background:#0f172a!important;border-color:#475569!important}.driver-mode-fullscreen-main{height:100vh;height:100dvh;max-height:100dvh;width:100%;background:#0b0f17;color:#f8fafc;padding:0;box-sizing:border-box;overflow:hidden}.phone-driver-root{display:flex;flex-direction:column;gap:12px;max-width:500px;margin:0 auto;padding-top:max(32px,calc(env(safe-area-inset-top,0px) + 12px));padding-bottom:max(20px,calc(env(safe-area-inset-bottom,0px) + 12px));padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px));height:100vh;height:100dvh;max-height:100dvh;box-sizing:border-box;overflow:hidden;overscroll-behavior:none;-webkit-touch-callout:none;justify-content:space-between}.phone-driver-header{display:flex;align-items:center;gap:12px;flex:0 0 auto}.phone-driver-exit-btn{flex:0 0 auto;width:44px;height:44px;padding:0;font-size:14px;font-weight:700;background:#1e293b!important;color:#e2e8f0!important;border:1px solid #334155!important;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.phone-driver-exit-btn:hover{background:#334155!important;color:#fff!important}.phone-driver-title-group{flex:1 1 auto;display:flex;flex-direction:column;gap:4px}.phone-driver-stop-counter{font-size:12px;font-weight:700;letter-spacing:.5px;color:#94a3b8;display:flex;align-items:center;justify-content:space-between}.phone-driver-stop-counter strong{color:#f8fafc;font-size:14px}.phone-driver-pending-pill{font-size:11px;font-weight:600;background:#1e293b;color:#38bdf8;padding:2px 8px;border-radius:20px;border:1px solid #334155}.phone-progress-track{width:100%;height:5px;background:#1e293b;border-radius:4px;overflow:hidden}.phone-progress-fill{height:100%;background:linear-gradient(90deg,#38bdf8,#10b981);border-radius:4px;transition:width .3s ease}.phone-optimize-toast{flex:0 0 auto;background:#0c1a2e;border:1px solid #0284c7;border-radius:10px;padding:6px 12px;color:#7dd3fc;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:8px;animation:fadeIn .2s ease}.phone-optimize-toast.success{border-color:#10b981;background:#06281e;color:#6ee7b7}.phone-optimize-toast-content{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.phone-optimize-toast-icon{font-size:14px;flex-shrink:0}.phone-optimize-toast-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.phone-optimize-toast-text strong{color:#38bdf8;font-weight:700}.phone-optimize-toast-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.phone-btn-optimize-use{background:#0284c7!important;color:#fff!important;border:none!important;border-radius:6px!important;padding:3px 9px!important;font-size:11.5px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.04em!important;cursor:pointer!important;transition:background .15s ease,transform .1s ease!important;min-height:unset!important;line-height:1.2!important;box-shadow:0 1px 4px #0284c766}.phone-btn-optimize-use:hover,.phone-btn-optimize-use:active{background:#0369a1!important;transform:scale(.96)}.toast-dismiss-btn{background:transparent!important;border:none!important;color:#7dd3fc!important;font-size:12px;padding:2px 4px;min-height:auto;cursor:pointer;display:flex;align-items:center}.toast-dismiss-btn:hover{color:#fff!important}.phone-stops-and-dest-wrap{display:flex;flex-direction:column;gap:0;flex:0 0 auto;position:relative}.phone-stops-strip{display:flex;gap:6px;overflow-x:auto;padding:2px 0 0;scrollbar-width:none;flex:0 0 auto;position:relative;z-index:3}.phone-stops-strip::-webkit-scrollbar{display:none}.phone-stop-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 16px;border-radius:10px;background:#1e293b;border:1.5px solid #334155;color:#cbd5e1;font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-x;transition:all .15s ease}.phone-stop-pill:hover{background:#273549;border-color:#475569}.phone-stop-pill.active{background:#0284c7;color:#fff;border-color:#38bdf8;border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-shadow:0 0 10px #38bdf859}.phone-stop-pill.delivered{background:#064e3b;border-color:#059669;color:#a7f3d0}.phone-stop-pill.active.delivered{background:#059669;border-color:#34d399;color:#fff}.phone-stop-pill-icon{display:flex;align-items:center;font-size:12px;font-weight:700}.phone-stop-pill-name{max-width:130px;overflow:hidden;text-overflow:ellipsis}.phone-stop-pill.holding{position:relative;overflow:hidden;border-color:#38bdf8!important;box-shadow:0 0 14px #38bdf899!important}.phone-stop-pill.holding:after{content:"";position:absolute;left:0;bottom:0;height:3px;background:#38bdf8;width:0%;animation:tabHoldCharge 1s linear forwards}@keyframes tabHoldCharge{0%{width:0%}to{width:100%}}.phone-liquid-bridge-wrap{position:relative;height:14px;margin-top:-2px;margin-bottom:-2px;z-index:2;pointer-events:none;overflow:visible;flex:0 0 auto}.phone-liquid-bridge-svg{width:100%;height:100%;display:block;overflow:visible}.phone-liquid-bridge-svg path{transition:d .28s cubic-bezier(.2,.8,.2,1)}.phone-card{background:#151d2a;border:1px solid #283548;border-radius:18px;padding:14px 16px;box-shadow:0 4px 16px #0000004d;display:flex;flex-direction:column;gap:10px}.phone-section-header{display:flex;justify-content:space-between;align-items:center}.phone-section-label{font-size:10px;font-weight:800;letter-spacing:1px;color:#64748b;text-transform:uppercase}.phone-hero-card{-webkit-user-select:none;user-select:none;touch-action:pan-y;cursor:grab;flex:0 0 auto;position:relative;z-index:1}.phone-hero-card.swiping{cursor:grabbing}.phone-hero-card.delivered{border-color:#059669;background:#08241b}.phone-dest-meta-bar{display:flex;justify-content:space-between;align-items:center;min-height:24px}.phone-dest-type-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#94a3b8;background:#0c121c;border:1px solid #283548;padding:2px 8px;border-radius:8px}.phone-dest-type-pill svg{color:#38bdf8}.phone-status-pill.delivered{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#34d399;background:#064e3b;padding:2px 8px;border-radius:20px;border:1px solid #059669;width:fit-content}.phone-address-box{background:#0c121c;border:1px solid #222d3d;border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:8px}.phone-address-text{font-size:13.5px;font-weight:600;color:#f1f5f9;line-height:1.35;display:flex;align-items:center;gap:6px}.phone-address-text svg{flex-shrink:0;color:#38bdf8}.phone-proximity-row{display:flex;align-items:center}.phone-proximity-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:3px 8px;border-radius:8px}.phone-proximity-badge.in-range{background:#064e3b;color:#6ee7b7;border:1px solid #059669}.phone-proximity-badge.out-of-range{background:#451a03;color:#fcd34d;border:1px solid #b45309}.phone-proximity-badge.locating{background:#082f49;color:#7dd3fc;border:1px solid #0284c7}.phone-proximity-badge.muted{background:#1e293b;color:#94a3b8;border:1px solid #334155}.pulse-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.pulse-dot.green{background:#10b981;box-shadow:0 0 #10b981b3;animation:pulse-green 1.8s infinite}.pulse-dot.amber{background:#f59e0b}.phone-nav-grid{display:grid;grid-template-columns:1fr;gap:8px}.phone-nav-grid.two-col{grid-template-columns:1fr 1fr}.phone-btn-nav{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;min-height:52px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff!important;text-decoration:none;font-size:15px;font-weight:800;border-radius:12px;box-shadow:0 2px 8px #2563eb59;transition:all .15s ease}.phone-btn-nav:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px)}.phone-btn-multi-nav{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;min-height:52px;background:#1e293b;color:#93c5fd!important;border:1.5px solid #3b82f666;border-radius:12px;text-decoration:none;font-size:15px;font-weight:700;transition:all .15s ease}.phone-btn-multi-nav:hover{background:#273549;border-color:#3b82f6;color:#fff!important}.phone-no-address-warn{text-align:center;font-size:12px;color:#94a3b8;padding:8px;background:#0c121c;border-radius:8px}.phone-contact-row{display:flex;flex-direction:column}.phone-btn-call{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;min-height:46px;background:#1e293b;color:#38bdf8!important;border:1px solid #334155;border-radius:12px;text-decoration:none;font-size:14px;font-weight:700;transition:background .15s ease}.phone-btn-call:hover{background:#273549}.phone-contact-name{font-size:12px;color:#94a3b8}.phone-package-card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}.phone-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:0 0 auto}.phone-metric-tile{background:#0c121c;border:1.5px solid #222d3d;border-radius:14px;padding:12px 16px;min-height:56px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px}.phone-metric-tile.bags{border-color:#0369a1;background:linear-gradient(180deg,#082f49,#0c121c)}.phone-metric-tile.meals{border-color:#7e22ce;background:linear-gradient(180deg,#3b0764,#0c121c)}.phone-metric-icon{display:flex;align-items:center}.phone-metric-num{font-size:26px;font-weight:900;line-height:1;color:#fff}.phone-metric-label{font-size:11px;font-weight:800;letter-spacing:.8px;color:#94a3b8}.phone-metric-tile.bags .phone-metric-num{color:#38bdf8}.phone-metric-tile.meals .phone-metric-num{color:#c084fc}.phone-meal-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1 1 auto;min-height:0;scrollbar-width:thin}.phone-meal-item{background:#0c121c;border:1px solid #283548;border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:4px;flex:0 0 auto}.phone-meal-item.veg{border-color:#059669;background:#064e3b1c}.phone-meal-item-header{display:flex;justify-content:space-between;align-items:center}.phone-meal-name{font-size:14px;font-weight:700;color:#f8fafc}.phone-meal-qty{font-size:15px;font-weight:900;color:#38bdf8}.phone-meal-recipients{font-size:11px;color:#94a3b8}.phone-bottom-bar{flex:0 0 auto;margin-top:auto;padding-top:6px;display:flex;flex-direction:column;gap:8px}.phone-btn-deliver{width:100%;height:64px;min-height:64px;font-size:18px;font-weight:900;letter-spacing:.5px;background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 16px #05966973;transition:all .15s ease}.phone-btn-deliver:hover:not(:disabled){background:linear-gradient(135deg,#047857,#065f46);transform:translateY(-1px)}.phone-btn-deliver:disabled{opacity:.6;cursor:not-allowed;transform:none}.phone-delivered-banner{width:100%;height:58px;min-height:58px;background:#064e3b;border:1.5px solid #059669;border-radius:14px;color:#a7f3d0;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px}.phone-error-notice{color:#f87171;font-size:12px;text-align:center}.driver-mode-fullscreen-main .modal-backdrop{background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.driver-mode-fullscreen-main .modal-box{background:#151d2a;border:1.5px solid #283548;color:#f8fafc;box-shadow:0 24px 60px #000000bf;border-radius:20px}.driver-mode-fullscreen-main .modal-box>header{background:#151d2a;border-bottom:1px solid #283548;padding:16px 20px}.driver-mode-fullscreen-main .modal-box>header h3{color:#fff!important;font-size:19px;font-weight:800;margin:0}.driver-mode-fullscreen-main .modal-box>header button.link{color:#94a3b8;font-size:20px;text-decoration:none;padding:4px;min-height:auto;line-height:1}.driver-mode-fullscreen-main .modal-box>header button.link:hover{color:#fff}.phone-modal-content{display:flex;flex-direction:column;gap:16px}.phone-modal-lead{font-size:16px;line-height:1.45;margin:0;color:#f8fafc!important}.phone-modal-lead strong{color:#38bdf8;font-weight:700}.phone-modal-hint{font-size:13px;color:#94a3b8!important;margin:0;line-height:1.45}.phone-summary-box{background:#0c121c;border:1.5px solid #283548;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px;color:#f8fafc}.phone-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:#cbd5e1}.phone-summary-row strong{color:#fff;font-size:16px}.phone-summary-divider{border-top:1px solid #283548;margin:4px 0}.phone-summary-meal-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#94a3b8}.phone-summary-meal-row strong{color:#38bdf8;font-weight:700}.phone-modal-actions{display:flex;gap:12px;margin-top:6px}.phone-btn-primary{flex:1 1 auto;min-height:52px;font-size:16px;font-weight:800;background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:14px;cursor:pointer;box-shadow:0 4px 14px #05966966;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.phone-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#047857,#065f46);transform:translateY(-1px)}.phone-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.phone-btn-secondary{flex:1 1 auto;min-height:52px;font-size:16px;font-weight:700;background:#1e293b;color:#f8fafc;border:1.5px solid #334155;border-radius:14px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.phone-btn-secondary:hover{background:#273549;border-color:#475569}.driver-mode-fullscreen-main .error{background:#450a0a;color:#fca5a5;border:1px solid #7f1d1d;border-radius:10px}.driver-mode-fullscreen-main .delivery-roster{background:#0c121c;border:1.5px solid #283548;border-radius:14px;padding:12px 16px;margin:0;list-style:none;display:flex;flex-direction:column;gap:8px}.driver-mode-fullscreen-main .roster-row{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#f8fafc;padding:8px 0;border-bottom:1px solid #1e293b;font-size:14px}.driver-mode-fullscreen-main .roster-row:last-child{border-bottom:none}.driver-mode-fullscreen-main .roster-name{color:#f8fafc;font-weight:600}.driver-mode-fullscreen-main .roster-meal{color:#94a3b8;font-size:13px}.phone-complete-card{background:#151d2a;border:1px solid #283548;border-radius:24px;padding:48px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;box-shadow:0 4px 24px #0006}.phone-complete-icon{font-size:64px}.phone-complete-card h3{margin:0;font-size:24px;font-weight:800;color:#fff}.phone-complete-card p{margin:0;font-size:15px;color:#94a3b8;max-width:320px;line-height:1.5}.phone-muted-notice{text-align:center;color:#94a3b8;padding:40px 16px}.phone-reorder-list{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto;padding-right:4px;margin:10px 0 14px}.phone-reorder-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#1e293b;border:1.5px solid #334155;border-radius:14px;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.phone-reorder-item:hover:not(.delivered){background:#273549;border-color:#475569}.phone-reorder-item:active:not(.delivered){cursor:grabbing;transform:scale(.99)}.phone-reorder-item.dragged{opacity:.28!important;border:2px dashed #38bdf8!important;background:#38bdf814!important}.phone-reorder-item.active{border-color:#0284c7;background:#15253b}.phone-reorder-item.delivered{opacity:.6;background:#0d221c;border-color:#059669;cursor:default}.phone-reorder-gap{display:flex;align-items:center;justify-content:center;gap:12px;height:46px;margin:4px 0;padding:0 16px;background:#38bdf814;border:2px dashed #38bdf8;border-radius:12px;animation:gapExpand .2s cubic-bezier(.2,.8,.2,1) forwards;box-shadow:0 0 16px #38bdf840}@keyframes gapExpand{0%{height:0px;margin:0;opacity:0;transform:scaleY(.3)}to{height:46px;margin:4px 0;opacity:1;transform:scaleY(1)}}.phone-reorder-gap-line{flex:1;height:1.5px;background:linear-gradient(90deg,transparent,#38bdf8,transparent)}.phone-reorder-gap-badge{font-size:11.5px;font-weight:800;color:#38bdf8;letter-spacing:.6px;text-transform:uppercase}.phone-reorder-floating-card{position:fixed;top:0;left:0;pointer-events:none;z-index:100000;will-change:transform;display:flex;align-items:center;gap:12px;padding:12px 16px;min-width:250px;max-width:85vw;background:#1e293b;border:2px solid #38bdf8;border-radius:12px;box-shadow:0 18px 40px #000c,0 0 28px #38bdf8b3;transform:scale(1.05) rotate(1.5deg);color:#fff}.phone-reorder-floating-badge{margin-left:auto;font-size:11px;font-weight:800;background:#0284c7;color:#fff;padding:4px 8px;border-radius:6px;letter-spacing:.4px}.phone-reorder-info{display:flex;align-items:center;gap:12px;min-width:0;flex:1;width:100%}.phone-reorder-num{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#334155;color:#f1f5f9;font-size:13px;font-weight:800;flex-shrink:0}.phone-reorder-item.active .phone-reorder-num{background:#0284c7}.phone-reorder-text{display:flex;flex-direction:column;min-width:0;flex:1}.phone-reorder-name{font-size:15.5px;font-weight:700;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.phone-reorder-meta{font-size:12.5px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.phone-reorder-actions{display:flex;flex-direction:column;gap:10px;margin-top:14px}.phone-reorder-actions button{flex:1}.phone-reorder-distance-badge{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600;margin-bottom:12px;animation:fadeIn .2s ease}.phone-reorder-distance-badge.warning{background:#f59e0b1f;border:1px solid rgba(245,158,11,.35);color:#fbbf24}.phone-reorder-distance-badge.optimal{background:#10b9811f;border:1px solid rgba(16,185,129,.35);color:#34d399}.phone-reorder-item.pinned{border-color:#38bdf880!important;background:#0c4a6e33!important}.phone-reorder-num.pinned{background:#0284c7!important;color:#fff!important;font-size:13px!important}.phone-reorder-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.phone-reorder-pinned-tag{font-size:10.5px;font-weight:700;padding:2px 6px;border-radius:4px;background:#38bdf82e;color:#38bdf8;border:1px solid rgba(56,189,248,.3);text-transform:uppercase;letter-spacing:.04em}.phone-reorder-pin-btn{background:transparent!important;border:1px solid #334155!important;color:#94a3b8!important;border-radius:8px!important;width:36px!important;height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;flex-shrink:0!important;padding:0!important;margin-left:8px!important;min-height:unset!important;transition:all .15s ease!important}.phone-reorder-pin-btn:hover{border-color:#38bdf8!important;color:#38bdf8!important;background:#38bdf814!important}.phone-reorder-pin-btn.pinned{background:#0284c7!important;border-color:#38bdf8!important;color:#fff!important;box-shadow:0 0 8px #38bdf866!important}.phone-btn-optimize-modal{width:100%;background:#0284c7!important;color:#fff!important;font-size:14px!important;font-weight:700!important;padding:10px 16px!important;border-radius:8px!important;border:none!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;cursor:pointer!important;transition:background .15s ease!important}.phone-btn-optimize-modal:hover:not(:disabled){background:#0369a1!important}.phone-btn-optimize-modal:disabled{opacity:.5;cursor:not-allowed}.phone-reorder-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
