: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)}h1,h2,h3{font-family:Poppins,sans-serif}main{padding:16px;max-width:1100px;margin:0 auto}.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-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{background:var(--info-soft);color:var(--info)}.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:4px 8px;min-height:auto;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}.day-tabs-container::-webkit-scrollbar{display:none}.day-tabs{display:flex;gap:10px}.day-tab{min-width:60px;background:var(--surface);border:1px solid var(--rule);padding:10px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:13px;color:var(--ink-2);text-align:center}.day-tab:hover:not(:disabled){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)}.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)}.board{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.board li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:10px 14px}.board .who{flex:1 1 220px;display:flex;flex-direction:column}.board .who strong{font-size:14px}.board .who small{color:var(--ink-3);font-size:12px}.board .meal-qty{flex:1 1 140px;font-size:14px;display:flex;align-items:center;gap:6px}.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}.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)}.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}.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}.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}.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-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}}.labels-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.label-sheet{display:flex;flex-direction:column;gap:16px}.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;background-size:100% 100%;background-repeat:no-repeat;box-shadow:var(--shadow-sm);container-type:inline-size}.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-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}.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}@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;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-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}.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)}.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}.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>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)}.modal-danger{display:flex;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--rule)}.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) 12px 0;gap:10px}.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{.top-nav,.week-controls,.day-tabs-container,.labels-toolbar,.no-print{display:none!important}body,main{padding:0;background:#fff}@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{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}.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}}
