
:root{--bg:#f5f1e8;--card:#fffdf8;--green:#223128;--sage:#6f8f72;--sage2:#dce6d9;--ink:#27302b;--muted:#727872;--line:#e6e0d4;--danger:#a74d43;--warn:#9a6b18}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}a{color:#496c50;text-decoration:none}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--green);color:#fff;padding:28px 18px;position:sticky;top:0;height:100vh}.brand{font:700 27px Georgia,serif;margin:0 12px 28px}.nav a{display:block;color:#e9eee9;padding:11px 13px;border-radius:13px;margin:4px 0}.nav a.active,.nav a:hover{background:#35483d;color:#fff}.main{padding:30px;max-width:1500px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:24px;flex-wrap:wrap}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--sage);font-size:11px;font-weight:800}.page-title,.section-title{font-family:Georgia,serif}.page-title{font-size:38px;margin:3px 0}.section-title{font-size:23px;margin:4px 0 16px}.muted{color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 4px 16px rgba(42,52,44,.04)}.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.span2{grid-column:span 2}.btn{border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:12px;color:var(--ink);cursor:pointer;display:inline-block;font-weight:650}.btn:hover{filter:brightness(.98)}.btn-primary{background:var(--sage);color:white;border-color:var(--sage)}.btn-danger{color:var(--danger)}.btn-sm{padding:7px 10px;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.form-label{display:block;font-size:13px;font-weight:700;margin:0 0 6px}.form-control,.form-select,textarea{width:100%;border:1px solid #d7d2c8;background:white;padding:10px 11px;border-radius:11px;font:inherit;color:inherit}.field{margin-bottom:14px}.row{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.c3{grid-column:span 3}.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}.c7{grid-column:span 7}.c8{grid-column:span 8}.c12{grid-column:span 12}.list-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.pill{display:inline-block;background:var(--sage2);padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.pill.warn{background:#f7e7bf;color:#77500b}.pill.danger{background:#f3d7d3;color:#7d302a}.upcoming-dinner{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.upcoming-dinner-title{min-width:0;overflow-wrap:anywhere}.upcoming-dinner-status{flex:0 0 auto;white-space:nowrap}.metric{font:700 31px Georgia,serif}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:11px 9px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.flash{padding:12px 15px;background:#dcebd9;border-radius:13px;margin-bottom:18px}.flash.error{background:#f3d7d3}.calendar-shell{margin-top:4px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px;padding:0 8px 7px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.calendar-weekdays>div{padding:0 4px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px}.day{min-height:154px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;flex-direction:column;transition:border-color .15s ease,box-shadow .15s ease}.day.has-dinners{border-color:#ddd6c8}.day.is-today{border-color:#afc1ad;box-shadow:0 0 0 1px #dce6d9 inset}.calendar-pad{background:transparent;border-color:transparent;box-shadow:none;pointer-events:none}.calendar-date-row{display:flex;align-items:center;gap:7px;min-height:25px;margin-bottom:8px}.calendar-date-number{font:700 19px Georgia,serif;line-height:1}.calendar-date-weekday{display:none;color:var(--muted);font-size:12px;font-weight:700}.calendar-today{margin-left:auto;background:var(--sage2);border-radius:999px;padding:3px 7px;font-size:11px;font-weight:800;color:#49634d}.calendar-day-body{flex:1;min-width:0}.calendar-meal-link{display:block}.calendar-add{align-self:flex-start;margin-top:9px;font-size:12px;font-weight:750;color:#627968;opacity:.72}.calendar-add:hover{opacity:1;color:#3f6047}.calendar-nav-btn span{display:inline}.meal-chip{background:#e5ecdf;border:1px solid transparent;border-radius:12px;padding:9px;margin-top:7px;color:var(--ink)}.meal-chip .meal-meta{color:var(--muted);font-size:13px;margin-top:2px}.meal-chip.status-cooked{background:#edf0eb;border-color:#d5dbd3;border-left:3px solid #8b9a8f;box-shadow:none}.meal-chip.status-cooked strong{color:#526057}.meal-chip.status-cooked .meal-meta{color:#69746d}.meal-chip.status-skipped{background:#eceae5;border-color:#ddd8cf;opacity:.82}.meal-chip.status-bought{background:#dce8d9;border-color:#cadcc6}.meal-chip.has-missing{background:#f6f0e2;border-color:#e4d9c0;border-left:3px solid #c2aa76;box-shadow:none}.meal-chip.has-missing strong{color:#4f4a40}.meal-chip.has-missing .meal-meta{color:#746e62}.ingredient-warning{display:inline-block;margin-top:7px;padding:3px 7px;border-radius:7px;background:#eee5d2;color:#756541;font-size:12px;font-weight:700}.day.empty{opacity:.75}.check-card{display:block;cursor:pointer}.check-card input{margin-right:8px}.check-inline{display:flex;align-items:center;gap:8px;white-space:nowrap;min-height:43px}.check-inline input{flex:0 0 auto;margin:0}.check-control{display:flex;align-items:center;gap:9px;width:100%;min-height:43px;border:1px solid #d7d2c8;background:#fff;padding:10px 11px;border-radius:11px;font:inherit;color:inherit;cursor:pointer}.check-control input{flex:0 0 auto;margin:0}.check-control span{min-width:0}.price-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;align-items:end}.kpi{padding:18px}.bar{height:10px;border-radius:10px;background:#e8e4dc;overflow:hidden}.bar>i{display:block;height:100%;background:var(--sage)}.mobile-menu{display:none}@media(max-width:950px){.app{display:block}.sidebar{height:auto;position:static;padding:14px}.brand{margin:0 8px 10px}.nav{display:flex;overflow:auto;gap:4px}.nav a{white-space:nowrap}.main{padding:18px}.g2,.g3,.g4{grid-template-columns:1fr}.span2{grid-column:auto}.calendar-weekdays{display:none}.calendar{grid-template-columns:1fr;gap:9px}.calendar-pad{display:none}.day{min-height:auto;padding:14px}.calendar-date-row{margin-bottom:7px}.calendar-date-weekday{display:inline}.calendar-add{opacity:1}.row{display:block}.row>*{margin-bottom:12px}.price-row{grid-template-columns:1fr}.page-title{font-size:31px}}@media print{.sidebar,.no-print{display:none}.app{display:block}.main{padding:0}.card{box-shadow:none}}

.quick-pantry-item{display:flex;align-items:center;justify-content:space-between;gap:12px}
.quick-pantry-info{min-width:0;flex:1}
.quick-pantry-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
@media(max-width:560px){.quick-pantry-item{align-items:flex-start}.quick-pantry-actions{margin-left:8px}}

.input-with-suffix{display:flex;align-items:stretch;max-width:360px}.input-with-suffix .form-control{border-top-right-radius:0;border-bottom-right-radius:0}.field-suffix{display:flex;align-items:center;padding:0 14px;border:1px solid var(--line,#d8d3c8);border-left:0;border-radius:0 8px 8px 0;background:#f5f1e8;font-weight:700;white-space:nowrap}
.household-stack{display:grid;gap:22px}.invite-link-row{display:grid;gap:7px;margin-top:14px}.card-divider{height:1px;background:var(--line);margin:24px 0}.store-actions{margin-top:10px}.device-group{border-top:1px solid var(--line)}.device-group:first-of-type{margin-top:8px}.device-group summary{cursor:pointer;list-style:none;padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.device-group summary::-webkit-details-marker{display:none}.device-group-toggle{white-space:nowrap}.device-group-body{padding:0 0 8px 14px;border-left:2px solid var(--line)}.device-admin-actions{margin:0 0 8px}.device-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding:11px 0}@media(max-width:560px){.device-group summary,.device-row{align-items:flex-start}.device-row{flex-direction:column}.device-group-toggle{font-size:13px}}

/* Public entry flow — v11.9 */
.entry-page{min-height:100vh;background:linear-gradient(180deg,#f5f1e8 0%,#f8f5ee 58%,#f1ede3 100%)}
.entry-shell{width:min(1120px,calc(100% - 36px));margin:0 auto;padding:34px 0 64px}
.entry-brand{display:inline-flex;align-items:center;gap:11px;color:var(--green);font:700 24px Georgia,serif;margin-bottom:46px}
.entry-mark{width:38px;height:38px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center;font:700 20px Georgia,serif;box-shadow:0 5px 14px rgba(34,49,40,.12)}
.entry-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:58px;align-items:center;padding:24px 0 44px}
.entry-copy h1{font:700 clamp(44px,6vw,72px)/1.02 Georgia,serif;letter-spacing:-.035em;margin:10px 0 20px;max-width:760px;color:var(--green)}
.entry-copy>p{font-size:19px;line-height:1.65;max-width:680px;margin:0 0 26px;color:#4e5852}
.entry-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.entry-actions .btn{padding:12px 17px}
.entry-note{display:flex;gap:11px;align-items:flex-start;margin-top:28px;max-width:620px;color:var(--muted);font-size:14px}.entry-note-dot{width:8px;height:8px;border-radius:50%;background:var(--sage);margin-top:6px;flex:0 0 auto}
.entry-panel{background:rgba(255,253,248,.92);border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:0 18px 50px rgba(42,52,44,.08)}
.entry-panel h2{font:700 28px Georgia,serif;margin:4px 0 10px;color:var(--green)}.entry-panel>p{color:var(--muted);margin:0 0 22px}
.entry-list{display:grid;gap:0;margin-top:8px}.entry-list-item{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.entry-list-item:first-child{border-top:0}.entry-list-num{width:28px;height:28px;border-radius:9px;background:var(--sage2);display:grid;place-items:center;font-weight:800;font-size:12px;color:#496c50}.entry-list-item strong{display:block;margin-bottom:2px}.entry-list-item span{color:var(--muted);font-size:14px}
.entry-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.entry-feature{padding:20px 2px;border-top:1px solid #d8d2c6}.entry-feature h3{font:700 19px Georgia,serif;margin:0 0 7px;color:var(--green)}.entry-feature p{margin:0;color:var(--muted)}
.entry-form-shell{width:min(980px,calc(100% - 36px));margin:0 auto;padding:34px 0 64px}.entry-form-shell .entry-brand{margin-bottom:34px}
.entry-form-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(380px,1fr);gap:54px;align-items:start}.entry-form-intro{padding:34px 0}.entry-form-intro h1{font:700 clamp(38px,5vw,56px)/1.06 Georgia,serif;letter-spacing:-.025em;color:var(--green);margin:8px 0 16px}.entry-form-intro p{font-size:17px;line-height:1.6;color:#59625c;max-width:440px}
.entry-form-card{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:0 18px 50px rgba(42,52,44,.07)}.entry-form-card h2{font:700 25px Georgia,serif;margin:3px 0 7px}.entry-form-card .field{margin-bottom:18px}.entry-form-card .form-control{padding:12px 13px}.entry-form-card .btn-primary{width:100%;text-align:center;padding:12px 16px;margin-top:4px}.entry-back{display:inline-block;margin-top:18px;font-size:14px}.entry-help{font-size:13px;color:var(--muted);margin:8px 0 0;line-height:1.5}.entry-security{border-top:1px solid var(--line);margin-top:22px;padding-top:18px;color:var(--muted);font-size:13px;line-height:1.55}
@media(max-width:780px){.entry-shell,.entry-form-shell{width:min(100% - 28px,680px);padding-top:20px}.entry-brand{margin-bottom:26px}.entry-hero,.entry-form-layout{grid-template-columns:1fr;gap:24px;padding-top:4px}.entry-copy h1{font-size:clamp(40px,12vw,58px)}.entry-copy>p{font-size:17px}.entry-panel{padding:22px}.entry-features{grid-template-columns:1fr}.entry-form-intro{padding:8px 0 0}.entry-form-intro p{font-size:16px}.entry-form-card{padding:22px}}
.device-self-access{margin:4px 0 12px;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:#fff}.device-self-access>strong{display:block;margin-bottom:4px}.device-self-access p{margin:6px 0 10px}.device-self-access .actions{margin-top:10px}

/* Price browser + price community — v11.15 */
.price-kpis,.community-price-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.community-price-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.price-kpi{display:flex;flex-direction:column;gap:5px;padding:16px 18px}.price-kpi strong{font:700 28px Georgia,serif;color:var(--green)}
.price-toolbar{display:flex;align-items:end;gap:16px;justify-content:space-between;margin-bottom:18px}.price-search{flex:1;max-width:660px}.price-manual-entry{position:relative}.price-manual-entry>summary{list-style:none;cursor:pointer}.price-manual-entry>summary::-webkit-details-marker{display:none}.price-manual-entry[open] .price-manual-form{display:grid}.price-manual-form{position:absolute;right:0;top:calc(100% + 9px);z-index:20;width:min(650px,calc(100vw - 50px));grid-template-columns:1.5fr 1fr .7fr 1fr auto;gap:9px;align-items:end;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 45px rgba(42,52,44,.12)}.price-manual-form .field{margin:0}.price-manual-form .btn{min-height:43px}
.price-category-stack{display:grid;gap:13px}.price-category{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}.price-category>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;font:700 20px Georgia,serif;color:var(--green)}.price-category>summary::-webkit-details-marker{display:none}.price-category-count{font:700 12px system-ui,sans-serif;color:var(--muted);letter-spacing:.02em}.price-category[open]>summary{border-bottom:1px solid var(--line)}.price-product-list{display:grid}.price-product{border-top:1px solid var(--line)}.price-product:first-child{border-top:0}.price-product>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(340px,1fr) 20px;gap:16px;align-items:center;padding:13px 18px}.price-product>summary::-webkit-details-marker{display:none}.price-product>summary:hover{background:#faf8f2}.price-product-main{display:flex;flex-direction:column;min-width:0}.price-product-main strong{overflow-wrap:anywhere}.price-product-main .muted{font-size:12px;margin-top:2px}.price-product-summary{display:flex;justify-content:flex-end;gap:22px;min-width:0}.price-summary-item{display:grid;text-align:right;min-width:100px}.price-summary-item small,.price-store-values small{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.price-summary-item strong{font-size:16px}.price-summary-item span{font-size:11px;color:var(--muted);white-space:nowrap}.price-summary-local strong{color:#576c58}.price-chevron{font-size:20px;color:var(--muted);transition:transform .15s ease}.price-product[open] .price-chevron{transform:rotate(180deg)}.price-product-detail{padding:0 18px 15px;background:#fbfaf6}.price-store-list{border-top:1px solid var(--line)}.price-store-row{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(300px,1.25fr);gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.price-store-name{display:flex;flex-direction:column}.price-store-name span{font-size:12px;margin-top:2px}.price-store-values{display:flex;justify-content:flex-end;gap:24px}.price-store-values>div{display:grid;min-width:100px;text-align:right}.price-store-values>div>span{font-size:11px;color:var(--muted)}.price-store-values .price-local-newer{padding-left:13px;border-left:2px solid #b7c8b5}.price-store-values .price-local-newer strong{color:#4f6c54}.price-product-actions{padding-top:12px;font-size:13px}.price-empty-search{text-align:center;padding:24px}
.community-price-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:14px}.community-price-intro>div{max-width:760px}.community-price-intro p{color:var(--muted);line-height:1.55;margin-bottom:0}.community-activity{margin-top:16px}.community-section-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:8px}.community-section-head p{margin:0}.community-activity-list{display:grid}.community-activity-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.community-activity-row:first-child{border-top:0}.community-activity-row>div:first-child{display:flex;flex-direction:column}.community-activity-row>div:first-child span{font-size:12px;color:var(--muted);margin-top:2px}.community-activity-event{display:grid;grid-template-columns:minmax(130px,auto) 80px 80px;gap:14px;align-items:center;text-align:right}.community-activity-event>span{font-size:12px;color:var(--muted)}.community-activity-event small{color:var(--muted)}.community-explainer{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-top:16px}.community-explainer p{margin:4px 0 0;max-width:760px}
@media(max-width:950px){.price-kpis,.community-price-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.price-manual-form{grid-template-columns:1fr 1fr}.price-product>summary{grid-template-columns:1fr auto}.price-product-summary{grid-column:1/-1;justify-content:flex-start}.price-chevron{grid-column:2;grid-row:1}.price-summary-item{text-align:left}.price-store-row{grid-template-columns:1fr}.price-store-values{justify-content:flex-start}.price-store-values>div{text-align:left}.community-price-intro,.community-explainer{align-items:flex-start;flex-direction:column}.community-activity-event{grid-template-columns:1fr 70px 80px}}
@media(max-width:620px){.price-kpis,.community-price-kpis{grid-template-columns:1fr 1fr}.price-toolbar{align-items:stretch;flex-direction:column}.price-search{max-width:none}.price-manual-entry>summary{display:block;text-align:center}.price-manual-form{position:static;width:100%;margin-top:9px;grid-template-columns:1fr;box-shadow:none}.price-product>summary{padding:13px 14px}.price-product-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px}.price-summary-item{min-width:0}.price-summary-item span{white-space:normal}.price-product-detail{padding:0 14px 14px}.price-store-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.price-store-values>div{min-width:0}.price-store-values .price-local-newer{padding-left:9px}.community-section-head{align-items:flex-start;flex-direction:column}.community-activity-row{grid-template-columns:1fr}.community-activity-event{grid-template-columns:1fr auto auto;text-align:left}.community-activity-event strong,.community-activity-event small{text-align:right}}

/* v11.23 — navigation aligned with the public welcome identity */
.brand-lockup{display:flex!important;align-items:center;gap:11px;text-decoration:none!important;color:inherit!important;margin:2px 0 20px}
.brand-mark{width:38px;height:38px;border-radius:12px;background:#0f5d32;color:#fff;display:inline-grid;place-items:center;font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:700;line-height:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.brand-name{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:700;letter-spacing:-.02em;color:#173d2a}
.nav{gap:3px}
.nav a{border-radius:10px;padding:9px 11px;font-weight:600;transition:background .12s ease,color .12s ease}
.nav a:hover{background:rgba(15,93,50,.055)}
.nav a.active{background:#e6efe8;color:#164d2e;box-shadow:none}
@media(max-width:800px){.brand-lockup{margin:0 12px 10px}.brand-mark{width:34px;height:34px;border-radius:10px;font-size:21px}.brand-name{font-size:23px}}

/* v11.24 — welcome.php is the visual source of truth */
.sidebar{background:linear-gradient(180deg,#f5f1e8 0%,#f1ede3 100%);color:var(--ink);border-right:1px solid var(--line);padding:30px 18px}
.sidebar .app-brand{display:inline-flex!important;align-items:center;gap:11px;color:var(--green)!important;font:700 24px Georgia,serif!important;margin:0 11px 28px!important;text-decoration:none!important}
.sidebar .app-brand .entry-mark{width:38px;height:38px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center;font:700 20px Georgia,serif;box-shadow:0 5px 14px rgba(34,49,40,.12)}
.sidebar .nav{display:block}
.sidebar .nav a{display:block;color:#536059;background:transparent;padding:10px 12px;border-radius:11px;margin:2px 0;font-weight:650;box-shadow:none}
.sidebar .nav a:hover{background:rgba(255,253,248,.72);color:var(--green)}
.sidebar .nav a.active{background:rgba(255,253,248,.98);color:var(--green);box-shadow:inset 0 0 0 1px var(--line)}
/* Neutralize the abandoned v11.23 lockup rules. */
.brand-lockup,.brand-mark,.brand-name{display:none!important}

.system-admin-page{background:linear-gradient(180deg,#f5f1e8 0%,#f8f5ee 58%,#f1ede3 100%)}
.system-admin-page .main{background:transparent}
.system-admin-page .admin-hero{padding:8px 0 24px;border-bottom:1px solid #d8d2c6;margin-bottom:16px}
.system-admin-page .admin-hero .page-title{color:var(--green);letter-spacing:-.025em}
.system-admin-page .admin-lead{font-size:15px;line-height:1.6;max-width:760px}
.system-admin-page .admin-jump{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.system-admin-page .admin-jump a{background:rgba(255,253,248,.82);border:1px solid var(--line);border-radius:999px;padding:7px 11px;color:#536059;font-size:13px;font-weight:700}
.system-admin-page .admin-jump a:hover{background:#fffdf8;color:var(--green)}
.system-admin-page .card{background:rgba(255,253,248,.93);border:1px solid var(--line);border-radius:24px;box-shadow:0 10px 30px rgba(42,52,44,.055)}
.system-admin-page .section-title{color:var(--green)}
.system-admin-page code{background:#eee9df;border-radius:6px;padding:2px 5px}
@media(max-width:800px){.sidebar{background:#f5f1e8;border-right:0;border-bottom:1px solid var(--line)}.sidebar .app-brand{margin:0 12px 12px!important}.system-admin-page .admin-jump{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}}

/* v11.26 — mobile app shell + shopping family resolution */
.shopping-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}
.shopping-item-main{min-width:0;flex:1}.shopping-item-price{white-space:nowrap}
.family-resolution{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}
.family-choice-form{display:flex;gap:7px;align-items:center}.family-choice-form .form-select{width:auto;max-width:360px;padding:7px 34px 7px 9px}

@media(max-width:950px){
 body{overflow-x:hidden}
 .app{display:block;min-width:0}
 .sidebar{position:sticky!important;top:0!important;z-index:100;height:auto!important;padding:10px 12px 8px!important;border-right:0!important;border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(42,52,44,.055)}
 .sidebar .app-brand{margin:0 5px 8px!important;font-size:20px!important;gap:8px}
 .sidebar .app-brand .entry-mark{width:31px;height:31px;border-radius:9px;font-size:17px;box-shadow:none}
 .sidebar .nav{display:flex!important;gap:4px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;padding:0 1px 2px}
 .sidebar .nav::-webkit-scrollbar{display:none}
 .sidebar .nav a{flex:0 0 auto;white-space:nowrap;padding:7px 10px;margin:0;font-size:13px;border-radius:9px}
 .main{padding:16px 14px 28px;max-width:100%;overflow:hidden}
 .card{padding:17px;border-radius:18px}
 .topbar{gap:12px;margin-bottom:18px;align-items:flex-start}
 .topbar .actions{width:100%}
 .page-title{font-size:30px;line-height:1.08}
 .section-title{font-size:21px}
 .btn{min-height:42px}
 .table-wrap{margin-inline:-17px;padding-inline:17px}
 .system-admin-page .sidebar form{display:none}
}
@media(max-width:560px){
 .main{padding:13px 10px 24px}
 .card{padding:15px;border-radius:17px}
 .grid{gap:11px}
 .actions{gap:7px}.actions .btn{flex:1 1 auto;text-align:center}
 .shopping-item{gap:10px;flex-wrap:wrap}
 .shopping-item>.pill,.shopping-item-price{margin-left:auto}
 .shopping-item-main{flex-basis:100%}
 .family-resolution{align-items:stretch}
 .family-resolution>.pill{width:max-content;max-width:100%}
 .family-choice-form{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto}
 .family-choice-form .form-select{width:100%;max-width:none}
 .price-kpis,.community-price-kpis{grid-template-columns:1fr}
 .entry-shell,.entry-form-shell{width:min(100% - 24px,1120px)}
}

/* v11.28 — mobile calendar focus + human numeric display */
.calendar-mobile-tools{display:none}
@media(max-width:950px){
 .calendar-mobile-tools{display:flex;justify-content:flex-end;margin:-6px 0 10px}
 .day.is-today{scroll-margin-top:118px}
}

/* Middag v11.40: friendly HTTP error pages */
.middag-error-layout{align-items:center;min-height:min(560px,70vh)}
.middag-error-layout .entry-form-intro h1{margin:.3rem 0 .8rem}
.middag-error-layout .entry-actions{margin-top:26px}
.middag-error-card{display:flex;min-height:260px;flex-direction:column;justify-content:center}
.middag-error-code{font:700 clamp(72px,14vw,132px)/.9 Georgia,serif;color:var(--green);letter-spacing:-.06em;margin:12px 0 22px}
@media(max-width:780px){.middag-error-layout{min-height:auto}.middag-error-card{min-height:190px}.middag-error-code{font-size:76px}}
