:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:#f2f2f7;--color-surface:#fff;--color-surface-secondary:#f7f7fa;--color-surface-tertiary:#eeeef2;--color-text-primary:#1c1c1e;--color-text-secondary:#636366;--color-text-tertiary:#6e6e73;--color-text-inverse:#fff;--color-accent:#06c;--color-primary-fill:#06c;--color-accent-hover:#005ab8;--color-accent-pressed:#004f9f;--color-accent-soft:#eaf4ff;--color-success:#008932;--color-success-soft:#eaf8ee;--color-warning:#b54708;--color-warning-soft:#fff4e5;--color-danger:#d70015;--color-danger-soft:#fff0f1;--color-neutral-status:#545458;--color-neutral-status-soft:#f2f2f7;--color-separator:#3c3c432e;--color-separator-strong:#3c3c434d;--color-scrim:#0000004d;--color-focus:#06c;--font-system:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--text-11:.6875rem;--text-12:.75rem;--text-13:.8125rem;--text-15:.9375rem;--text-16:1rem;--text-17:1.0625rem;--text-20:1.25rem;--text-22:1.375rem;--text-28:1.75rem;--space-1:4px;--space-2:6px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:32px;--space-9:40px;--space-10:48px;--radius-small:8px;--radius-control:12px;--radius-card:16px;--radius-large:20px;--radius-sheet:24px;--radius-round:999px;--shadow-subtle:0 1px 2px #0000000a,0 4px 14px #0000000a;--shadow-floating:0 8px 30px #0000001a;--shadow-modal:0 20px 60px #0000002e;--control-height-compact:44px;--control-height-standard:48px;--control-height-primary:50px;--control-icon-target:44px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--motion-fast:.12s;--motion-standard:.18s;--motion-sheet:.24s;--ease-standard:cubic-bezier(.2,.8,.2,1);--z-base:0;--z-sticky:100;--z-sheet:800;--z-dialog:1000;--z-orientation-guard:2000;--admin-max-width:1440px;--bp-mobile:640px;--bp-tablet:900px;--bp-desktop:1180px}:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:#000;--color-surface:#1c1c1e;--color-surface-secondary:#2c2c2e;--color-surface-tertiary:#3a3a3c;--color-text-primary:#f5f5f7;--color-text-secondary:#d1d1d6;--color-text-tertiary:#aeaeb2;--color-accent:#2997ff;--color-accent-hover:#409cff;--color-accent-pressed:#0a84ff;--color-accent-soft:#2997ff29;--color-success:#63e67a;--color-success-soft:#34c75929;--color-warning:#ffb45c;--color-warning-soft:#ff9f0a29;--color-danger:#ff6961;--color-danger-soft:#ff453a29;--color-neutral-status:#c7c7cc;--color-neutral-status-soft:#2c2c2e;--color-separator:#545458a6;--color-separator-strong:#636366d1;--color-scrim:#0000008f;--color-focus:#2997ff}*{box-sizing:border-box}html,body{width:100%;min-height:100%;font-family:var(--font-system);color:var(--color-text-primary);background:var(--color-canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}body:has(>.family-root){overscroll-behavior:none;height:100dvh;overflow:hidden}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:var(--control-height-compact);padding:var(--space-3) var(--space-5);border-radius:var(--radius-control);color:inherit;justify-content:center;align-items:center;gap:var(--space-3);transition:background var(--motion-fast),transform var(--motion-fast);background:0 0;border:0;font-weight:600;display:inline-flex}button:active:not(:disabled){transform:scale(.985)}button:disabled{opacity:.5;cursor:default}button:hover:not(:disabled){background:var(--color-surface-tertiary)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:var(--color-accent);text-decoration:none}h1,h2,h3,p{margin:0}h2{font-size:var(--text-20);line-height:1.25}h3{font-size:var(--text-17)}p{line-height:1.45}.primary{background:var(--color-primary-fill);color:var(--color-text-inverse)}.primary:hover:not(:disabled){background:var(--color-accent-hover)}.secondary{background:var(--color-surface-tertiary)}.danger{color:var(--color-danger)}.text-button{color:var(--color-accent)}.wide{width:100%}.icon-button{width:44px;min-width:44px;padding:0}.actions{gap:var(--space-4);margin-top:var(--space-6);display:flex}.actions>button{flex:1}.secondary-text,small{color:var(--color-text-secondary)}.error{color:var(--color-danger);font-size:var(--text-15);margin:var(--space-3) 0}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}input,select,textarea{border:1px solid var(--color-separator-strong);border-radius:var(--radius-control);background:var(--color-surface-secondary);width:100%;min-width:0;color:var(--color-text-primary);padding:var(--space-4);min-height:44px;font-size:var(--text-16)}textarea{resize:vertical;min-height:112px}.field{gap:var(--space-3);margin-bottom:var(--space-5);flex-direction:column;min-width:0;display:flex}.field>span{font-size:var(--text-13);color:var(--color-text-secondary);font-weight:500}.field small{font-size:var(--text-13)}.empty{text-align:center;padding:var(--space-7);gap:var(--space-5);margin:auto;display:grid}.empty h1{font-size:var(--text-22)}.family-root{height:100%;container-type:size}.family-shell{width:100%;max-width:480px;height:100dvh;padding:max(16px,var(--safe-top)) max(16px,var(--safe-right)) max(16px,var(--safe-bottom)) max(16px,var(--safe-left));gap:var(--space-5);background:var(--color-canvas);touch-action:manipulation;overscroll-behavior:none;flex-direction:column;margin:auto;display:flex;overflow:hidden}.meal-header{gap:var(--space-4);flex-shrink:0;grid-template-columns:60px minmax(0,1fr);align-items:center;min-height:72px;display:grid}.meal-logo{object-fit:cover;border-radius:var(--radius-control);background:var(--color-surface);width:60px;height:60px}.placeholder{font-size:var(--text-28);color:var(--color-text-secondary);place-items:center;font-weight:700;display:grid}.meal-heading{min-width:0}.meal-heading h1{font-size:var(--text-17);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:600;line-height:22px;display:-webkit-box;overflow:hidden}.meal-heading h1 a{display:inline}.meal-heading h1 svg{margin-left:var(--space-2);vertical-align:middle}.meal-heading p{font-size:var(--text-13);color:var(--color-text-secondary);line-height:18px}.grouped{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-subtle);overflow:hidden}.identity-card{flex-shrink:0}.identity-row{min-height:48px;padding:0 var(--space-5);align-items:center;gap:var(--space-3);display:flex;position:relative}.identity-row+.identity-row:before,.category-row:before,.notes-row:before{content:"";top:0;left:var(--space-5);background:var(--color-separator);height:1px;position:absolute;right:0}.identity-row strong{font-size:var(--text-15);font-weight:600}.picker{min-width:0;color:var(--color-text-secondary);flex:1;align-items:center;display:flex}.picker select{appearance:none;text-align:right;padding:var(--space-3) var(--space-1);font-size:var(--text-16);cursor:pointer;text-overflow:ellipsis;background:0 0;border:0;height:48px}.picker select:focus-visible{outline-offset:-4px}.picker svg{flex-shrink:0}.order-region{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.order-card{flex-direction:column;flex:1;min-height:400px;display:flex}.no-dinner-row{padding:var(--space-4) var(--space-5);min-height:52px;font-size:var(--text-15);border-radius:0;flex:.9;justify-content:flex-start}.no-dinner-row svg{color:var(--color-text-secondary);stroke-width:1.5px}.category-row{align-items:center;gap:var(--space-3);padding:0 var(--space-4) 0 var(--space-5);flex:1;min-height:48px;display:flex;position:relative}.category-info{text-align:left;min-width:0;padding:var(--space-2) 0;border-radius:0;flex-direction:column;flex:1;align-self:stretch;align-items:flex-start;gap:0}.category-info strong{font-size:var(--text-15);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.category-summary{font-size:var(--text-13);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;width:100%;font-weight:400;line-height:18px;display:block;overflow:hidden}.quantity-badge{background:var(--color-surface-tertiary);border-radius:var(--radius-control);width:38px;min-width:38px;height:34px;font-size:var(--text-15);font-variant-numeric:tabular-nums;place-items:center;font-weight:500;display:grid}.add-button{border-radius:var(--radius-round);color:#fff;background:var(--color-primary-fill);border:5px solid var(--color-surface);width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.add-button:hover:not(:disabled){background:var(--color-accent-hover)}.notes-row{text-align:left;padding:var(--space-3) var(--space-5);min-height:52px;font-size:var(--text-15);border-radius:0;flex:1;justify-content:flex-start;position:relative}.notes-row>span:first-child{flex:1;min-width:0}.notes-row>svg{color:var(--color-text-secondary);flex-shrink:0}.edited-dot{background:var(--color-accent);border-radius:var(--radius-round);flex-shrink:0;width:8px;height:8px}.family-footer{gap:var(--space-3);flex-shrink:0;display:grid}.review-button{width:100%;min-height:50px;font-size:var(--text-17)}.meal-info-link{min-height:44px;font-size:var(--text-13);color:var(--color-accent);flex-shrink:0}.orientation-guard{display:none}.modal{padding:var(--space-6);border-radius:var(--radius-large);background:var(--color-surface);color:var(--color-text-primary);width:min(340px,100vw - 32px);max-height:85dvh;box-shadow:var(--shadow-modal);overscroll-behavior:contain;animation:appear var(--motion-standard) var(--ease-standard);border:0;overflow:auto}.modal::backdrop{background:var(--color-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.modal-body>p{margin-bottom:var(--space-4)}.modal.sheet{border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;width:min(480px,100vw);max-height:70dvh;padding-bottom:max(20px,var(--safe-bottom));animation:sheet-in var(--motion-sheet) var(--ease-standard);margin:auto auto 0}.stepper{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.stepper output{font-size:var(--text-17);font-variant-numeric:tabular-nums;font-weight:600}.item-edit{padding:var(--space-4) 0;border-bottom:1px solid var(--color-separator);gap:var(--space-3);display:grid}.item-edit>.danger{justify-self:start}.receipt>div{padding:var(--space-4) 0;border-bottom:1px solid var(--color-separator)}.receipt-heading{font-size:var(--text-15);justify-content:space-between;display:flex}.receipt p{font-size:var(--text-15);color:var(--color-text-secondary);justify-content:space-between;gap:var(--space-3);margin-top:var(--space-2);display:flex}.receipt p.preserve-lines{display:block}.success-content{text-align:center;padding:var(--space-5) 0}.success-content>svg{color:var(--color-success);margin-bottom:var(--space-4)}.success-content h3{margin-bottom:var(--space-4)}.status{align-items:center;gap:var(--space-1);font-size:var(--text-13);white-space:nowrap;font-weight:600;display:inline-flex}.ordered{color:var(--color-success)}.missing{color:var(--color-warning)}.no-dinner{color:var(--color-neutral-status)}@media (min-height:800px){.family-shell{padding-top:max(24px,var(--safe-top));padding-bottom:max(24px,var(--safe-bottom));gap:var(--space-6)}.meal-header{grid-template-columns:68px minmax(0,1fr);min-height:84px}.meal-logo{width:68px;height:68px}.meal-heading h1{font-size:var(--text-20);line-height:25px}.meal-heading p{font-size:var(--text-15);line-height:20px}.category-info strong,.notes-row,.no-dinner-row,.identity-row strong{font-size:var(--text-17)}.identity-row{min-height:50px}.review-button{min-height:52px}}@media (max-height:740px){.family-shell{gap:var(--space-4)}.category-summary{display:none}.order-card{min-height:392px}}@media (orientation:landscape) and (max-height:600px) and (hover:none){body:has(>.family-root) .orientation-guard{z-index:var(--z-orientation-guard);background:var(--color-canvas);justify-content:center;align-items:center;gap:var(--space-5);flex-direction:column;display:flex;position:fixed;inset:0}body:has(>.family-root) .family-shell{visibility:hidden}}@keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}button:active:not(:disabled){transform:none}}.login-page{min-height:100dvh;padding:var(--space-5);place-content:center;display:grid}.login-card{background:var(--color-surface);width:min(350px,100vw - 32px);padding:var(--space-8);border-radius:var(--radius-large);box-shadow:var(--shadow-subtle)}.login-card h1{font-size:var(--text-22);margin-bottom:var(--space-7)}.admin-toolbar{z-index:var(--z-sticky);min-height:64px;padding:var(--space-3) var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-5);border-bottom:1px solid var(--color-separator);background:var(--color-surface);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);display:flex;position:sticky;top:0}.product-name{align-items:center;gap:var(--space-4);display:flex}.product-name>svg{color:var(--color-text-secondary)}.segments{padding:var(--space-1);gap:var(--space-1);background:var(--color-surface-tertiary);border-radius:var(--radius-control);display:inline-flex}.segments button{min-height:36px;padding:var(--space-2) var(--space-6);font-size:var(--text-15);border-radius:var(--radius-small);font-weight:500}.segments button[aria-pressed=true]{background:var(--color-surface);box-shadow:var(--shadow-subtle);color:var(--color-text-primary)}.logout{font-size:var(--text-13);color:var(--color-text-secondary)}.admin-workspace{width:min(calc(100% - 48px),var(--admin-max-width));padding:var(--space-8) 0 var(--space-10);margin:auto}.page-heading{justify-content:space-between;align-items:center;gap:var(--space-5);margin-bottom:var(--space-7);display:flex}.page-heading h1{font-size:var(--text-28);line-height:34px}.page-heading p{color:var(--color-text-secondary);margin-top:var(--space-2);font-size:var(--text-15)}.planner-grid{gap:var(--space-7);grid-template-columns:minmax(0,1fr) 390px;align-items:start;display:grid}.planner-editor{gap:var(--space-5);min-width:0;display:grid}.admin-card{padding:var(--space-6);background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-subtle);min-width:0}.section-heading{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.section-heading h2{align-items:center;gap:var(--space-3);display:flex}.section-heading h3{overflow-wrap:anywhere;min-width:0}.section-hint{font-size:var(--text-13);color:var(--color-text-secondary);margin:0 0 var(--space-5)}.form-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.inline-actions{gap:var(--space-3);margin:-8px 0 var(--space-5);flex-wrap:wrap;display:flex}.inline-actions button{padding-inline:var(--space-3)}.publication-status{text-transform:capitalize;font-size:var(--text-13);background:var(--color-surface-tertiary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-round);font-weight:500}.publication-status.published{color:var(--color-success);background:var(--color-success-soft)}.meal-selector-bar{align-items:center;gap:var(--space-4);display:flex}.meal-selector-bar>.field{flex:1;margin:0}.meal-selector-bar>button{align-self:end}.participant-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.check-label{align-items:center;gap:var(--space-3);min-height:44px;font-size:var(--text-15);cursor:pointer;display:flex}.check-label input{width:20px;height:20px;min-height:20px;accent-color:var(--color-primary-fill);flex-shrink:0}.category-builder{border:1px solid var(--color-separator);border-radius:var(--radius-control);padding:var(--space-5);margin-bottom:var(--space-5)}.compact-actions{gap:0;display:flex}.compact-actions button{width:36px;min-width:36px}.option-editor{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.option-editor>span{font-size:var(--text-13);color:var(--color-text-secondary)}.option-editor input{flex:1;min-width:0}.option-editor button{width:32px;min-width:32px}.add-category{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.add-category select{width:150px}.publish-bar{bottom:var(--space-5);z-index:10;padding:var(--space-5);border:1px solid var(--color-separator);background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-floating);position:sticky}.publish-actions{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;display:flex}.save-message{gap:var(--space-3);color:var(--color-success);font-size:var(--text-15);margin-bottom:var(--space-4);align-items:center;display:flex}.preview-panel{padding:var(--space-5);flex-direction:column;align-items:center;min-width:0;display:flex;position:sticky;top:88px}.preview-panel h2{font-size:var(--text-17)}.preview-presets{margin-bottom:var(--space-5)}.preview-presets button{padding-inline:var(--space-4);font-size:var(--text-13)}.preview-fit{flex-shrink:0;position:relative}.preview-fit iframe{border:1px solid var(--color-separator-strong);border-radius:var(--radius-large);transform-origin:0 0;box-shadow:var(--shadow-subtle);background:var(--color-canvas)}.preview-caption{font-size:var(--text-13);color:var(--color-text-secondary);text-align:center;margin-top:var(--space-5)}.logo-uploader{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.logo-uploader>img{object-fit:cover;border-radius:var(--radius-control);width:80px;height:80px}.logo-uploader>div{min-width:0}.logo-uploader small{margin-top:var(--space-3);font-size:var(--text-13);display:block}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.crop-stage{border:2px solid var(--color-separator-strong);width:280px;max-width:100%;height:280px;margin:0 auto var(--space-5);touch-action:none;background:var(--color-canvas);cursor:move;position:relative;overflow:hidden}.crop-stage img{pointer-events:none;max-width:none;position:absolute}.member-list{margin-bottom:var(--space-6)}.member-row{text-align:left;border-bottom:1px solid var(--color-separator);border-radius:0;justify-content:space-between;width:100%;padding-inline:0;display:flex}.member-row small{font-size:var(--text-12)}.orders-selector{align-items:end;gap:var(--space-5);margin-bottom:var(--space-5);display:flex}.orders-selector .field{flex:1;margin:0}.response-summary{gap:var(--space-5);margin:var(--space-5) 0;grid-template-columns:repeat(3,1fr);display:grid}.response-summary>div{padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-control);justify-content:space-between;align-items:center;display:flex}.response-summary strong{font-size:var(--text-22);font-variant-numeric:tabular-nums}.orders-segments{margin-bottom:var(--space-5)}.person-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.person-card h2{font-size:var(--text-17)}.person-card>button{margin-top:var(--space-4);padding-inline:0}.person-item{justify-content:space-between;gap:var(--space-4);font-size:var(--text-15);margin:var(--space-3) 0;display:flex}.person-item strong{font-variant-numeric:tabular-nums;white-space:nowrap}.person-notes{margin-top:var(--space-5);font-size:var(--text-13)}.person-notes p{margin-top:var(--space-2);color:var(--color-text-secondary)}.total-category{padding:var(--space-5) 0;border-bottom:1px solid var(--color-separator)}.total-category:first-child{padding-top:0}.total-category h2{font-size:var(--text-17);margin-bottom:var(--space-4)}.totals-card{max-width:800px}.admin-order-overlay{background:var(--color-canvas);z-index:300;position:fixed;inset:0;overflow:hidden}.admin-order-title{display:none}.admin-order-overlay .family-shell{height:100dvh}@media (min-width:1440px){.planner-grid{grid-template-columns:minmax(560px,1fr) 420px}}@media (max-width:1179px){.planner-grid{grid-template-columns:minmax(0,1fr) 350px}.preview-panel{padding:0}.person-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:1fr 1fr}}@media (max-width:899px){.planner-grid{grid-template-columns:minmax(0,1fr)}.preview-panel{padding:var(--space-5) 0;order:2;position:static}.admin-workspace{width:calc(100% - 32px)}.admin-toolbar{padding-inline:var(--space-5)}.person-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:639px){.admin-toolbar{gap:var(--space-3);flex-wrap:wrap}.product-name{font-size:var(--text-15)}.product-name>svg{display:none}.admin-toolbar .segments{order:3;width:100%}.admin-toolbar .segments button{flex:1}.logout span{display:none}.page-heading{flex-wrap:wrap;align-items:flex-start}.page-heading h1{font-size:var(--text-22)}.admin-workspace{padding-top:var(--space-6)}.admin-card{padding:var(--space-5)}.form-grid,.form-grid.three{grid-template-columns:minmax(0,1fr);gap:0}.participant-grid{grid-template-columns:1fr 1fr}.category-builder{padding:var(--space-4)}.section-heading{gap:var(--space-3)}.section-heading h2{font-size:var(--text-17)}.option-editor{flex-wrap:wrap}.option-editor input{flex-basis:65%}.option-editor>span{display:none}.option-editor button{flex:1}.meal-selector-bar{flex-wrap:wrap}.meal-selector-bar>.field{flex-basis:100%}.publish-actions>button{white-space:nowrap;padding-inline:var(--space-3);font-size:var(--text-13);flex:1}.response-summary{gap:var(--space-3)}.response-summary>div{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);flex-direction:column}.person-grid{grid-template-columns:minmax(0,1fr)}.orders-selector{flex-wrap:wrap}.orders-selector .field{flex-basis:100%}.preview-fit{max-width:100%}}.preview-fit{border-radius:var(--radius-card);overflow:hidden}.theme-toggle{color:var(--color-text-secondary);flex-shrink:0}.meal-header{grid-template-columns:60px minmax(0,1fr) 44px}.login-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.login-heading h1{margin-bottom:0}.empty .theme-toggle{margin-bottom:16px}@media (min-height:800px){.meal-header{grid-template-columns:68px minmax(0,1fr) 44px}}
