@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.inline{display:inline}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.flex-col{flex-direction:column}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--background:#f4f8fc;--surface:#fff;--surface-secondary:#eaf3fb;--text-primary:#183149;--text-muted:#657789;--brand:#2568a8;--brand-dark:#173b5f;--brand-hover:#285b82;--brand-soft:#dcecff;--highlight-blue:#8fd3ff;--accent-warm:#efb65b;--border:#d8e4ef;--danger:#a43a36;--success:#26705b;--warning-background:#fff8e5;--radius-card:20px;--radius-control:12px;--shadow-card:0 14px 32px #1e4f7717}*{box-sizing:border-box}html{background:var(--background)}body{background:var(--background);color:var(--text-primary);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--highlight-blue);outline-offset:2px}a{color:inherit;text-decoration:none}button{color:inherit}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.login-form,.demo-login{gap:14px;display:grid}.login-form [role=status]{color:var(--brand);font-size:14px}.login-error,.login-form [role=alert]{background:#fff3f3;border:1px solid #efb6b6;border-radius:12px;padding:12px 14px;font-size:14px;color:#8d2727!important}.login-separator{color:var(--text-muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:18px 0;font-size:13px;display:grid}.login-separator:before,.login-separator:after{content:"";background:var(--border);height:1px}.privacy-note{color:var(--text-muted);margin-top:28px;line-height:1.5;display:block}.print-page{color:#172b3d;width:min(1120px,100% - 40px);margin:32px auto}.print-toolbar{justify-content:flex-end;gap:10px;margin-bottom:28px;display:flex}.print-page header{border-bottom:2px solid #173b5f;padding-bottom:18px}.print-page header h1{margin-bottom:4px}.print-page table{border-collapse:collapse;width:100%;margin-top:24px}.print-page th,.print-page td{text-align:left;border-bottom:1px solid #ccd7df;padding:12px 10px}.label-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px;display:grid}.basket-label{break-inside:avoid;border:2px solid #173b5f;border-radius:12px;min-height:220px;padding:24px}.basket-label h2{margin:28px 0 12px;font-size:32px}.basket-label p,.basket-label small{color:#4e6273}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:40;background:var(--brand-dark);color:#fff;flex-direction:column;gap:24px;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:11px;padding:0 4px;display:flex}.brand-lockup>span:last-child{display:grid}.brand-lockup strong{letter-spacing:-.02em;font-size:19px}.brand-lockup small{color:#bdd5e6;margin-top:2px;font-size:11px}.brand-mark{background:var(--brand);border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.brand-mark svg{width:23px}.sidebar-nav{gap:7px;display:grid}.sidebar-nav a{color:#c8ddeb;border-radius:12px;align-items:center;gap:12px;min-height:46px;padding:10px 12px;font-size:14px;font-weight:650;display:flex}.sidebar-nav a:hover,.sidebar-nav a.active{background:var(--brand-hover);color:#fff}.sidebar-nav svg{width:21px}.sidebar-note{background:#204c70;border:1px solid #3b6a8d;border-radius:16px;margin-top:auto;padding:16px}.sidebar-note strong{font-size:13px;display:block}.sidebar-note p{color:#c8ddeb;margin:6px 0 12px;font-size:12px;line-height:1.45}.sidebar-note a{color:#204c70;background:#fff;border-radius:10px;place-items:center;min-height:40px;padding:8px 10px;font-size:12px;font-weight:800;display:grid}.drawer-close,.menu-button,.scrim{display:none}.workspace{min-width:0}.topbar{z-index:30;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f8fced;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:10px 28px;display:flex;position:sticky;top:0}.topbar-title{align-items:center;gap:12px;display:flex}.topbar h1{margin:0;font-size:20px}.topbar p{color:var(--text-muted);margin:3px 0 0;font-size:12px}.topbar-actions{align-items:center;gap:10px;display:flex}.cycle-selector{border:1px solid var(--border);background:#fff;border-radius:999px;align-items:center;gap:7px;min-height:44px;padding:8px 13px;font-size:13px;font-weight:750;display:flex}.cycle-selector svg{width:16px}.avatar{background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-size:13px;font-weight:850;display:grid}.page-container{max-width:1500px;margin:0 auto;padding:28px}.page-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.eyebrow{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:850}.page-head h2{letter-spacing:-.035em;margin:5px 0 4px;font-size:clamp(26px,3vw,32px)}.page-head p{max-width:680px;color:var(--text-muted);margin:0;line-height:1.5}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.button{border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:9px 14px;font-size:14px;font-weight:800;display:inline-flex}.button svg{width:18px}.button.primary{border-color:var(--brand);background:var(--brand);color:#fff}.button.primary:hover{background:var(--brand-hover)}.button.secondary:hover{background:var(--surface-secondary)}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.metric-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;min-width:0;padding:18px;box-shadow:0 6px 18px #1e4f7709}.metric-card>div{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.metric-card svg{background:var(--surface-secondary);width:34px;height:34px;color:var(--brand);border-radius:11px;padding:8px}.metric-card strong{letter-spacing:-.03em;margin-top:10px;font-size:27px;display:block}.metric-card small{color:var(--text-muted)}.metric-warm{background:var(--warning-background)}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);gap:18px;display:grid}.panel{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:74px;padding:16px 20px;display:flex}.panel-head h3,.setting-card h3{margin:0;font-size:17px}.panel-head p,.setting-head p{color:var(--text-muted);margin:3px 0 0;font-size:13px}.panel-body{padding:20px}.progress-track{background:#e4edf5;border-radius:999px;height:9px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--brand);height:100%;display:block}.stage-list{gap:10px;margin-top:18px;display:grid}.stage-row{border:1px solid var(--border);border-radius:14px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;display:grid}.stage-row>span:nth-child(2){display:grid}.stage-row small{color:var(--text-muted);margin-top:2px}.stage-icon{background:var(--surface-secondary);border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.stage-icon svg{width:18px}.stage-icon.done{color:var(--success);background:#e4f4ee}.badge{width:fit-content;color:var(--brand);white-space:nowrap;background:#e9f2fa;border-radius:999px;justify-content:center;align-items:center;padding:6px 9px;font-size:11px;font-weight:800;display:inline-flex}.badge-warm{color:#8d4d19;background:#fff1df}.badge-gray{color:#5a6770;background:#eef2f5}.badge-green{color:var(--success);background:#e5f4ee}.badge-red{color:var(--danger);background:#fde9e7}.attention-list{gap:2px;padding:12px 18px 18px;display:grid}.attention-list>div{border-bottom:1px solid var(--border);grid-template-columns:42px 1fr auto;align-items:center;gap:11px;padding:12px 0;display:grid}.attention-list>div:last-child{border:0}.attention-list>div>span:nth-child(2){display:grid}.attention-list small{color:var(--text-muted);margin-top:2px}.attention-icon{background:var(--surface-secondary);width:40px;height:40px;color:var(--brand);border-radius:13px;place-items:center;display:grid}.attention-icon svg{width:19px}.household-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:18px;display:grid}.household-directory{position:sticky;top:100px}.directory-body{padding:12px}.search-field{flex:1;min-width:220px;display:block;position:relative}.search-field svg{width:18px;color:var(--text-muted);position:absolute;top:12px;left:13px}.search-field input{border:1px solid var(--border);border-radius:var(--radius-control);width:100%;min-height:44px;color:var(--text-primary);background:#fff;padding:9px 12px 9px 40px}.household-list{max-height:680px;margin-top:8px;overflow:auto}.household-list>button{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:15px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:68px;padding:10px;display:grid}.household-list>button:hover,.household-list>button.active{background:#eef5fb;border-color:#d7e5f0}.household-list>button>span:nth-child(2){min-width:0;display:grid}.household-list small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.person-avatar{background:var(--brand-soft);width:42px;height:42px;color:var(--brand);border-radius:14px;flex:none;place-items:center;font-size:12px;font-style:normal;font-weight:900;display:grid}.household-detail{padding:22px}.profile-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:18px;display:flex}.profile-head>.button{display:none}.profile-person{gap:14px;display:flex}.profile-person h3{margin:6px 0 3px;font-size:22px}.profile-person p{color:var(--text-muted);margin:0}.profile-avatar{background:var(--brand);color:#fff;border-radius:18px;flex:none;place-items:center;width:58px;height:58px;font-size:17px;font-weight:900;display:grid}.info-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0;display:grid}.info-grid>div{border:1px solid var(--border);background:#f7fafc;border-radius:14px;padding:13px}.info-grid span,.summary-grid span,.shopping-stat>span{color:var(--text-muted);margin-bottom:4px;font-size:12px;display:block}.note-card{background:#fff8ef;border:1px solid #f1ddc3;border-radius:14px;padding:14px;font-size:13px}.note-card p{margin:5px 0;line-height:1.45}.note-card small{color:#805832}.request-head{justify-content:space-between;align-items:center;gap:14px;margin:20px 0 12px;display:flex}.request-head h3{margin:0;font-size:17px}.request-head p{color:var(--text-muted);margin:3px 0 0;font-size:12px}.save-state{color:var(--brand);font-size:12px;font-weight:800}.request-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.request-product{border:1px solid var(--border);border-radius:16px;grid-template-columns:72px minmax(0,1fr);gap:10px;min-width:0;padding:12px;display:grid}.request-product>div:last-child{min-width:0}.request-product small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 9px;font-size:11px;display:block;overflow:hidden}.product-brand{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:11px;font-weight:850;display:block;overflow:hidden}.product-thumb,.mini-thumb{color:var(--brand);background:#fff;border-radius:14px;place-items:center;display:grid;overflow:hidden}.product-thumb{border:1px solid var(--border);width:72px;height:72px;position:relative}.product-thumb svg{width:25px}.request-product-image{object-fit:contain;width:100%;height:100%;padding:8px}.quantity-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.stepper,.compact-stepper{border:1px solid var(--border);border-radius:11px;align-items:center;display:flex;overflow:hidden}.stepper button,.compact-stepper button{cursor:pointer;background:#f2f7fb;border:0;place-items:center;width:44px;height:44px;display:grid}.stepper button:disabled{cursor:not-allowed;opacity:.45}.stepper button svg,.compact-stepper button svg{width:16px}.stepper>span{text-align:center;min-width:34px;font-size:13px;font-weight:850}.basket-total{color:#fff;background:#1e527c;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding:16px;display:flex}.basket-total>span{display:grid}.basket-total small{color:#c9deed}.basket-total>strong{font-size:23px}.sticky-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.sticky-actions .secondary{display:none}.toolbar{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.toolbar select,.fulfilment-card select,.setting-card input,.setting-card textarea{border:1px solid var(--border);border-radius:var(--radius-control);min-height:44px;color:var(--text-primary);background:#fff;padding:9px 12px}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.catalog-card{border:1px solid var(--border);background:#fff;border-radius:18px;overflow:hidden}.catalog-image{aspect-ratio:1;color:var(--brand);background:#fff;place-items:center;display:grid;position:relative;overflow:hidden}.catalog-product-image{object-fit:contain;width:100%;height:100%;padding:12px}.catalog-image svg{stroke-width:1.3px;width:54px;height:54px}.catalog-card>div:last-child{padding:14px}.catalog-card .product-brand{margin-top:10px}.catalog-card h3{margin:4px 0 3px;font-size:16px}.catalog-card p{color:var(--text-muted);margin:0;font-size:13px}.catalog-card-foot{justify-content:space-between;align-items:center;margin-top:13px;display:flex}.catalog-card-foot button{background:#f2f6f9;border:0;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.catalog-card-foot button svg{width:19px}.summary-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;display:grid}.summary-grid>div{border:1px solid var(--border);background:#fff;border-radius:16px;padding:15px}.summary-grid strong{font-size:22px}.confirmed-note{color:var(--success);background:#e5f4ee;border-radius:13px;align-items:center;gap:10px;margin-bottom:14px;padding:11px 13px;display:flex}.confirmed-note svg{width:20px}.confirmed-note span{display:grid}.confirmed-note small{color:#4d7468}.shopping-list,.fulfilment-list{gap:10px;display:grid}.shopping-row{border:1px solid var(--border);background:#fff;border-radius:16px;grid-template-columns:minmax(240px,2fr) repeat(4,minmax(90px,.55fr)) auto;align-items:center;gap:12px;padding:13px 15px;display:grid}.shopping-product{align-items:center;gap:11px;min-width:0;display:flex}.shopping-product>span:last-child{min-width:0;display:grid}.shopping-product small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mini-thumb{flex:none;width:42px;height:42px}.mini-thumb svg{width:20px}.shopping-stat{min-width:0}.compact-stepper button{width:36px;height:36px}.compact-stepper strong{text-align:center;min-width:28px}.warning-text{color:#9b571f}.success-text{color:var(--success)}.compact-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.route-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.route-card{border:1px solid var(--border);background:#fff;border-radius:17px;padding:16px}.route-card h3{margin:12px 0 4px}.route-card p{color:var(--text-muted);margin:0;font-size:13px}.route-card>div{justify-content:space-between;align-items:center;gap:10px;margin-top:16px;font-size:12px;display:flex}.avatar-stack{display:flex}.avatar-stack i{background:var(--brand-soft);width:30px;height:30px;color:var(--brand);border:2px solid #fff;border-radius:50%;place-items:center;margin-left:-7px;font-size:10px;font-style:normal;font-weight:850;display:grid}.avatar-stack i:first-child{margin-left:0}.fulfilment-card{border:1px solid var(--border);background:#fff;border-radius:16px;grid-template-columns:minmax(240px,1.5fr) .65fr .75fr .85fr;align-items:center;gap:14px;padding:14px;display:grid}.fulfilment-meta{color:var(--text-muted);font-size:12px;display:grid}.fulfilment-card label{color:var(--text-muted);gap:5px;font-size:11px;display:grid}.settings-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.setting-card{border:1px solid var(--border);background:#fff;border-radius:18px;padding:20px}.setting-card>label{gap:6px;margin-top:14px;font-size:13px;font-weight:750;display:grid}.toggle-row{border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:15px;width:100%;min-height:66px;padding:10px 0;display:flex}.toggle-row>span:first-child{display:grid}.toggle-row small{color:var(--text-muted);margin-top:3px}.toggle-row i{background:#ccd8e2;border-radius:999px;flex:none;width:46px;height:26px;padding:3px}.toggle-row i span{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;display:block}.toggle-row i.on{background:var(--brand)}.toggle-row i.on span{transform:translate(20px)}.access-card{grid-column:1/-1}.setting-head{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:10px;display:flex}.member-row{border-top:1px solid var(--border);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;display:grid}.member-row>span:nth-child(2){display:grid}.member-row small{color:var(--text-muted)}.access-approval-form{grid-template-columns:minmax(220px,1fr) minmax(150px,.4fr) auto;align-items:end;gap:12px;margin:18px 0;display:grid}.access-approval-form label{gap:6px;font-size:12px;font-weight:750;display:grid}.access-error{color:#8d2727;background:#fff3f3;border:1px solid #efb6b6;border-radius:12px;margin:12px 0;padding:12px 14px}.access-list{display:grid}.access-row{border-top:1px solid var(--border);grid-template-columns:42px minmax(180px,1fr) auto minmax(150px,.45fr) auto;align-items:center;gap:12px;padding:14px 0;display:grid}.access-person{min-width:0;display:grid}.access-person small{color:var(--text-muted);overflow-wrap:anywhere}.access-person>span{color:var(--text-muted);margin-top:4px;font-size:11px}.access-role select{width:100%}.access-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.access-actions .button{min-height:36px;padding:7px 10px;font-size:12px}.button.ghost-danger{color:#a23636;background:0 0;border:0}.button.danger{color:#fff;background:#a23636;border-color:#a23636}.access-empty{color:var(--text-muted);padding:22px 0}.empty-state{min-height:260px;color:var(--text-muted);text-align:center;align-content:center;place-items:center;gap:8px;padding:30px;display:grid}.empty-state svg{width:46px;height:46px;color:var(--brand)}.empty-state p{margin:0}.mobile-nav{display:none}.login-page{background:var(--background);grid-template-columns:minmax(0,1.05fr) minmax(440px,.75fr);min-height:100vh;display:grid}.login-brand{background:var(--brand-dark);color:#fff;flex-direction:column;justify-content:space-between;padding:clamp(32px,7vw,92px);display:flex;position:relative;overflow:hidden}.login-brand:after{content:"";background:var(--highlight-blue);opacity:.85;border-radius:50%;width:420px;height:420px;position:absolute;top:-180px;right:-150px}.login-brand .brand-lockup,.login-copy{z-index:1;position:relative}.login-copy{max-width:620px}.login-copy h1{letter-spacing:-.055em;margin:12px 0;font-size:clamp(38px,6vw,66px);line-height:1.02}.login-copy p{color:#c8ddeb;max-width:540px;font-size:18px;line-height:1.6}.login-form-wrap{place-items:center;padding:28px;display:grid}.login-card{border:1px solid var(--border);width:min(100%,440px);box-shadow:var(--shadow-card);background:#fff;border-radius:24px;padding:30px}.login-card h2{margin:0 0 7px;font-size:28px}.login-card>p{color:var(--text-muted);margin:0 0 24px;line-height:1.5}.login-card label{gap:7px;margin-bottom:14px;font-size:13px;font-weight:800;display:grid}.login-card input{border:1px solid var(--border);border-radius:12px;min-height:48px;padding:10px 12px;font-size:16px}.login-card .button{width:100%}.form-message{background:var(--surface-secondary);color:var(--brand-dark);border-radius:11px;margin-top:14px;padding:11px;font-size:13px}.sheet-backdrop{z-index:80;background:#0e263a85;justify-content:flex-end;display:flex;position:fixed;inset:0}.editor-sheet{background:#fff;width:min(100%,560px);height:100%;overflow:auto;box-shadow:-20px 0 60px #0f2c423d}.editor-sheet>header{z-index:2;border-bottom:1px solid var(--border);background:#fffffff7;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;display:flex;position:sticky;top:0}.editor-sheet h2{margin:4px 0 0}.editor-sheet header>button{border:1px solid var(--border);background:#fff;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.editor-sheet form{gap:17px;padding:24px;display:grid}.editor-sheet label{gap:7px;font-size:13px;font-weight:800;display:grid}.editor-sheet input,.editor-sheet select,.editor-sheet textarea{border:1px solid var(--border);width:100%;min-height:46px;color:var(--text-primary);background:#fff;border-radius:11px;padding:10px 12px;font-size:16px}.editor-sheet textarea{resize:vertical;min-height:90px}.form-pair{grid-template-columns:1fr 1fr;gap:14px;display:grid}.editor-sheet footer{background:#fff;justify-content:flex-end;gap:10px;padding-top:12px;display:flex;position:sticky;bottom:0}.form-error{color:var(--danger);background:#fff0ee;border-radius:10px;padding:12px}.form-help{color:var(--text-muted);line-height:1.5}.check-row{align-items:center;grid-template-columns:44px 1fr!important}.check-row input{width:22px;min-height:22px}.image-picker img{object-fit:cover;border-radius:12px;width:100%;max-height:220px}.image-picker small{color:var(--text-muted);font-weight:500}.shopping-funds-panel{box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#fff 0%,#f4fafc 100%);border:1px solid #c7dce8;border-radius:18px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px;margin:20px 0;padding:22px;display:grid}.funds-heading{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.funds-heading h2,.recent-payments h2{margin:4px 0;font-size:20px}.funds-heading p{color:var(--text-muted);margin:0;font-size:13px}.funds-icon{background:var(--brand);color:#fff;border-radius:14px;flex:none;place-items:center;width:48px;height:48px;display:grid}.funds-balance{border-left:1px solid var(--border);border-right:1px solid var(--border);gap:28px;padding:0 24px;display:flex}.funds-balance span,.checkout-summary span,.voucher-bank-summary span{gap:3px;display:grid}.funds-balance small,.checkout-summary small,.voucher-bank-summary small,.recent-payments small{color:var(--text-muted);font-size:11px;font-weight:700}.funds-balance strong{font-size:20px}.funds-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.recent-payments{gap:10px;margin:0 0 20px;display:grid}.recent-payments article{border:1px solid var(--border);background:#fff;border-radius:14px;grid-template-columns:minmax(180px,1fr) repeat(2,minmax(90px,.35fr)) auto;align-items:center;gap:18px;padding:15px 18px;display:grid}.recent-payments article>div,.recent-payments article>span{gap:3px;display:grid}.recent-payments .badge{text-transform:capitalize}.voucher-sheet{width:min(720px,100%)}.voucher-sheet-body{gap:24px;padding:24px;display:grid;overflow-y:auto}.voucher-sheet-body>section{border-top:1px solid var(--border);gap:12px;padding-top:20px;display:grid}.voucher-sheet-body h3{margin:0}.voucher-bank-summary{grid-template-columns:1.5fr repeat(4,1fr);gap:12px;display:grid}.voucher-bank-summary span{background:var(--surface-secondary);border-radius:12px;padding:14px}.voucher-bank-summary strong{font-size:19px}.voucher-table{border:1px solid var(--border);border-radius:13px;overflow:hidden}.voucher-table>div{border-bottom:1px solid var(--border);grid-template-columns:100px 1fr 130px auto;align-items:center;gap:12px;padding:13px 15px;display:grid}.voucher-table>div:last-child{border-bottom:0}.voucher-table span{color:var(--text-muted);font-size:13px}.voucher-import-form,.checkout-form{gap:14px!important;padding:0!important;display:grid!important}.voucher-import-form label,.checkout-form label{gap:7px;font-size:13px;font-weight:800;display:grid}.voucher-import-form input,.voucher-import-form select,.voucher-import-form textarea,.checkout-form input{border:1px solid var(--border);width:100%;min-height:46px;color:var(--text-primary);background:#fff;border-radius:11px;padding:10px 12px;font-size:16px}.voucher-import-form textarea{resize:vertical}.voucher-import-form>small,.checkout-footer>small,.muted-copy{color:var(--text-muted);line-height:1.5}.success-message{color:var(--success);background:#edf9f2;border-radius:10px;padding:12px}.review-list{gap:10px;display:grid}.review-list article{background:#fffaf0;border:1px solid #f0d59e;border-radius:13px;grid-template-columns:24px minmax(0,1fr);gap:12px;padding:14px;display:grid}.review-list article>svg{color:var(--warning)}.review-list article>div{gap:4px;display:grid}.review-list article>div:last-child{flex-wrap:wrap;grid-column:2;gap:7px;display:flex}.review-list small{color:var(--text-muted)}.checkout-summary{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.checkout-summary span{background:var(--surface-secondary);border-radius:12px;padding:14px}.checkout-summary strong{font-size:18px}.voucher-dispenser{text-align:center;background:linear-gradient(145deg,#f5fbfd,#fff);border:1px solid #b8d5e4;border-radius:18px;align-content:center;place-items:center;gap:12px;min-height:330px;padding:28px;display:grid}.voucher-dispenser>svg{width:46px;height:46px;color:var(--brand)}.voucher-dispenser h3{margin:0;font-size:22px}.voucher-dispenser>strong{color:var(--brand-dark);font-size:36px}.voucher-dispenser .button{margin-top:8px}.opened-note{color:var(--success);align-items:center;gap:5px;font-size:13px;font-weight:800;display:flex}.voucher-navigation,.checkout-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.checkout-footer{border-top:1px solid var(--border);padding-top:16px}.danger-button{color:var(--danger)}.money-input{border:1px solid var(--border);border-radius:11px;grid-template-columns:44px minmax(0,1fr);align-items:center;display:grid;overflow:hidden}.money-input b{background:var(--surface-secondary);place-items:center;height:100%;display:grid}.money-input input{border:0;border-radius:0}.recommendation{border:1px solid var(--border);border-radius:14px;gap:10px;margin-top:6px;padding:18px;display:grid}.recommendation h3{margin-bottom:5px}.recommendation>div{justify-content:space-between;gap:16px;display:flex}.recommendation>div:last-of-type{border-top:1px solid var(--border);padding-top:10px}.recommendation .button{margin-top:8px}@media (max-width:1180px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.request-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shopping-row{grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(85px,.6fr)) auto}.shopping-row .shopping-stat:nth-of-type(4){display:none}.shopping-funds-panel{grid-template-columns:minmax(0,1fr) auto}.funds-actions{grid-column:1/-1;justify-content:flex-start}}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{width:276px;transition:transform .2s;position:fixed;left:0;transform:translate(-105%);box-shadow:20px 0 50px #112f4840}.sidebar-open{transform:translate(0)}.drawer-close{color:#fff;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:18px;right:12px}.scrim{z-index:35;background:#0f25376b;border:0;display:block;position:fixed;inset:0}.menu-button{border:1px solid var(--border);background:#fff;border-radius:11px;place-items:center;width:44px;height:44px;display:grid}.page-container{padding:20px 20px 96px}.household-layout{grid-template-columns:1fr}.household-directory{position:static}.household-list{max-height:330px}.catalog-grid,.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fulfilment-card{grid-template-columns:minmax(220px,1fr) .6fr .8fr .9fr;overflow-x:auto}.mobile-nav{z-index:32;min-height:72px;padding:7px max(8px, env(safe-area-inset-right)) max(7px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border-top:1px solid var(--border);background:#fffffff7;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #1e4f7714}.mobile-nav a{min-width:0;color:var(--text-muted);align-content:center;place-items:center;gap:3px;font-size:10px;font-weight:750;display:grid}.mobile-nav a.active{color:var(--brand)}.mobile-nav svg{width:21px}}@media (max-width:640px){.topbar{min-height:66px;padding:8px 14px}.topbar p,.cycle-selector{display:none}.topbar h1{font-size:17px}.page-container{padding:16px 14px 92px}.page-head{flex-direction:column;align-items:flex-start;gap:14px}.page-head p{font-size:14px}.page-actions{justify-content:flex-start;width:100%}.page-actions .button{flex:1}.metrics-grid,.compact-metrics,.summary-grid,.route-grid,.settings-grid{grid-template-columns:1fr}.metric-card{padding:16px}.stage-row{grid-template-columns:40px minmax(0,1fr)}.stage-row>.badge{grid-column:2}.household-directory{box-shadow:none}.household-list{max-height:none}.household-detail{padding:16px}.profile-head{flex-direction:column}.profile-head .button{width:100%}.profile-head>.button{display:none}.form-pair{grid-template-columns:1fr}.editor-sheet{width:100%}.info-grid,.request-grid,.catalog-grid{grid-template-columns:1fr}.request-product{grid-template-columns:64px minmax(0,1fr)}.product-thumb{width:64px;height:64px}.basket-total{z-index:5;position:sticky;bottom:72px}.sticky-actions{flex-direction:column-reverse}.sticky-actions .button{width:100%}.shopping-row{grid-template-columns:1fr 1fr;gap:14px}.shopping-product{grid-column:1/-1}.shopping-row .shopping-stat:nth-of-type(4){display:block}.shopping-row>.badge{place-self:end}.compact-stepper{width:fit-content}.compact-stepper button{width:44px;height:44px}input,select,textarea{font-size:16px}.fulfilment-card{grid-template-columns:1fr 1fr;overflow:visible}.fulfilment-card .shopping-product{grid-column:1/-1}.fulfilment-meta{grid-column:1/-1;grid-template-columns:1fr 1fr}.access-card{grid-column:auto}.setting-head{flex-direction:column}.setting-head .button{width:100%}.access-approval-form{grid-template-columns:1fr}.access-row{grid-template-columns:42px minmax(0,1fr) auto;align-items:start}.access-role,.access-actions{grid-column:2/-1;width:100%}.access-actions{justify-content:flex-start}.access-actions .button{min-height:44px}.shopping-funds-panel{grid-template-columns:1fr;padding:18px}.funds-balance{border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0}.funds-actions,.funds-actions .button{width:100%}.funds-actions .button{justify-content:center}.recent-payments article{grid-template-columns:1fr 1fr}.recent-payments article>div{grid-column:1/-1}.voucher-bank-summary{grid-template-columns:repeat(2,1fr)}.voucher-bank-summary span:first-child{grid-column:1/-1}.voucher-table>div{grid-template-columns:1fr 1fr}.checkout-summary{grid-template-columns:1fr}.voucher-dispenser{min-height:290px;padding:20px}.voucher-navigation,.checkout-footer{flex-direction:column;align-items:stretch}.voucher-navigation .button,.checkout-footer .button{justify-content:center;width:100%}.login-page{grid-template-columns:1fr}.login-brand{min-height:300px;padding:28px}.login-copy h1{font-size:42px}.login-copy p{font-size:15px}.login-form-wrap{padding:18px}.login-card{padding:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.sidebar,.topbar,.mobile-nav,.page-head .page-actions,.print-toolbar,.button{display:none!important}.app-shell{display:block}.page-container{max-width:none;padding:0}body{background:#fff}.panel,.shopping-row,.fulfilment-card{break-inside:avoid;box-shadow:none}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
