:root{--bg:#f7f5ef;--paper:#fff;--ink:#24271f;--muted:#797b72;--line:#e7e3d9;--green:#244e3b;--orange:#df784b;--soft:#efede6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:DM Sans,Arial,sans-serif}button,input,textarea,select{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:11px;padding:10px 14px;font-weight:600}.primary{background:var(--green)!important;border-color:var(--green)!important;color:#fff!important}.shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.shell>aside{position:sticky;top:0;height:100vh;background:#fcfbf7;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column}.wordmark{display:flex;gap:12px;align-items:center;font:700 19px Playfair Display,serif;padding:0 8px 28px}.wordmark span,.login .logo{width:37px;height:37px;display:grid;place-items:center;background:var(--green);color:#fff;border-radius:12px 12px 12px 4px}.shell aside nav{display:grid;gap:4px}.shell aside nav button{border:0;background:transparent;text-align:left;color:var(--muted);padding:11px 12px}.shell aside nav button i{font-style:normal;display:inline-block;width:28px}.shell aside nav button.active{background:#e9eee9;color:var(--green)}.profile{margin-top:auto;display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:20px 7px 0}.profile>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#d8ba8c;font-size:12px;font-weight:800}.profile div{display:grid;font-size:13px}.profile small{color:var(--muted)}.workspace{padding:38px 4.2vw 100px;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.page-head small,.dialog>small,.matches>small{color:var(--orange);letter-spacing:.16em;font-weight:800;font-size:10px}.page-head h1,.dialog h1{font:700 clamp(36px,4.5vw,56px)/1 "Playfair Display",serif;margin:9px 0 0;letter-spacing:-.03em}.head-actions{display:flex;gap:8px}.searchbar{height:58px;border:1px solid var(--line);border-radius:16px;background:var(--paper);display:flex;align-items:center;gap:12px;padding:0 18px;box-shadow:0 10px 30px #3e38260d}.searchbar span{font-size:25px}.searchbar input{border:0;outline:0;width:100%;font-size:15px}.filters{display:flex;gap:8px;margin:18px 0 28px;overflow:auto}.filters button{white-space:nowrap;border-radius:999px}.filters button.active,.tabs button.active{background:var(--green);color:#fff}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;cursor:pointer;transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:0 16px 30px #29211514}.cover{height:190px;position:relative;display:grid;place-items:center;background:linear-gradient(140deg,#d09c58,#754a28);overflow:hidden}.cover.c1{background:linear-gradient(140deg,#dd7457,#902f27)}.cover.c2{background:linear-gradient(140deg,#9bab73,#3d593f)}.cover.c3{background:linear-gradient(140deg,#df9b62,#a7462f)}.cover.c4{background:linear-gradient(140deg,#d9ad54,#76612e)}.cover.c5{background:linear-gradient(140deg,#b7b48a,#5b7359)}.cover>span{font-size:72px}.cover img,.recipe-art img{width:100%;height:100%;object-fit:cover}.cover em{position:absolute;left:12px;bottom:12px;background:#fffffff0;color:#34352f;border-radius:999px;padding:6px 9px;font:700 10px DM Sans;font-style:normal}.fav{position:absolute;right:12px;top:12px;border:0;background:#fffffff0;width:36px;height:36px;border-radius:50%;padding:0;font-size:20px}.fav.on{color:#c94a43}.card-copy{padding:17px}.card-copy>small{color:var(--muted);font-size:11px}.card h3{font:700 19px/1.25 Playfair Display;margin:8px 0 18px}.card-copy>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;font-size:11px;color:var(--muted);text-transform:uppercase}.card-copy b{color:#d99131}.empty{text-align:center;border:1px dashed var(--line);background:var(--paper);padding:70px 20px;border-radius:20px}.empty>span{font-size:40px}.empty h2{font:700 25px Playfair Display;margin:12px 0 5px}.empty p{color:var(--muted)}.modal{position:fixed;inset:0;background:#24271f9c;z-index:50;padding:30px;display:grid;place-items:center;overflow:auto}.dialog{position:relative;background:var(--bg);width:min(960px,100%);max-height:calc(100vh - 60px);overflow:auto;border-radius:24px;padding:34px}.x{position:absolute;right:18px;top:18px;border-radius:50%;font-size:20px;width:38px;height:38px;padding:0}.recipe{width:min(1120px,100%);padding:0}.recipe>.x{z-index:2}.recipe-hero{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--paper)}.recipe-art{min-height:360px;display:grid;place-items:center;background:linear-gradient(135deg,#d6a858,#795835);font-size:100px}.recipe-hero>div:last-child{padding:46px}.recipe-hero h1{font:700 45px/1.05 Playfair Display;margin:10px 0}.recipe-hero p{color:var(--muted);line-height:1.6}.metrics{display:flex;gap:26px;margin:26px 0}.metrics span{display:grid;color:var(--muted);font-size:10px;text-transform:uppercase}.metrics b{font-size:18px;color:var(--ink)}.recipe-actions{display:flex;gap:8px}.recipe-body{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;padding:42px}.recipe-body h2,.repeater h2{font:700 24px Playfair Display}.serve{display:flex;justify-content:space-between;align-items:center}.serve label{font-size:11px;color:var(--muted)}.serve button{border:0;padding:4px 8px}.serve b{padding:0 6px}.ingredients{list-style:none;padding:0}.ingredients li{padding:10px 0;border-bottom:1px solid var(--line);line-height:1.5}.ingredients li>b{display:inline-block;min-width:70px}.ingredients em{font-style:normal;font-size:9px;background:#e7eee7;color:var(--green);padding:3px 6px;border-radius:999px;margin-left:7px}.taglist{display:flex;gap:7px;flex-wrap:wrap}.taglist span{padding:7px 9px;background:var(--soft);border-radius:8px;font-size:11px}.steps{list-style:none;padding:0}.steps li{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:13px;border-radius:12px;cursor:pointer}.steps li:hover{background:var(--paper)}.steps li>b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff}.steps li.done{opacity:.5;text-decoration:line-through}.steps li button{display:block;margin-top:8px;font-size:11px}.note{padding:16px;border-left:3px solid var(--orange);background:#f3e9df;display:grid;gap:5px}.recipe details{margin-top:18px}.recipe pre{white-space:pre-wrap;background:var(--paper);padding:15px;font:12px/1.5 monospace}.cooked{margin-top:20px}.cooking .recipe-hero,.cooking .recipe-body>section:first-child,.cooking .recipe-actions button:not(.primary){display:none}.cooking .recipe-body{display:block;font-size:19px;max-width:760px;margin:auto}.cooking .steps li{padding:22px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:24px 0}.form-grid .wide{grid-column:span 4}.dialog label{display:grid;gap:6px;font-size:12px;font-weight:600;margin:12px 0}.dialog input,.dialog textarea,.dialog select,.quick-add input,.pantry-form input{border:1px solid var(--line);border-radius:10px;padding:11px;background:var(--paper);color:var(--ink)}.dialog textarea{resize:vertical}.repeater>div{display:flex;justify-content:space-between}.repeater label{display:flex;align-items:center}.repeater label>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--soft)}.repeater input{flex:1}.repeater label button{border:0;background:transparent}.dialog footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.tabs{display:flex;gap:7px;margin:22px 0}.import-master{text-align:center;background:var(--paper);padding:35px;border-radius:18px}.import-master>span{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:auto;background:var(--green);color:#fff;font:700 28px Playfair Display}.success,.warning,.preview{margin:16px 0;padding:15px;border-radius:12px;background:#e5f0e5;color:#245436}.warning{background:#fff1d7;color:#74530c}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.collection-grid article{background:var(--paper);border:1px solid var(--line);padding:16px;border-radius:18px}.collection-art{height:140px;border-radius:13px;background:#315d47;color:#fff;display:grid;place-items:center;font-size:50px}.collection-grid h2{font:700 22px Playfair Display;margin-bottom:5px}.collection-grid p{color:var(--muted);font-size:13px}.collection-grid article>b{font-size:11px}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}.week>article{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:11px;min-width:0}.week>article.today{border:2px solid var(--orange)}.week article>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.week header small{color:var(--muted)}.week header b{font:700 26px Playfair Display}.meal{width:100%;min-height:84px;padding:8px;margin:5px 0;text-align:left;border-style:dashed;color:var(--muted)}.meal small,.meal span{display:block;text-transform:capitalize}.meal span{font-size:11px;margin-top:5px}.meal.filled{border-style:solid;background:#e7eee8;color:var(--green)}.tip{margin-top:25px;padding:16px 20px;border-left:3px solid var(--orange);background:var(--paper)}.tip p{margin-bottom:0;color:var(--muted)}.quick-add{display:flex;gap:8px;max-width:700px;margin-bottom:25px}.quick-add input{flex:1}.list-board{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.list-board>section{background:var(--paper);padding:20px;border-radius:16px;border:1px solid var(--line)}.list-board h2{font:700 21px Playfair Display;border-bottom:1px solid var(--line);padding-bottom:10px}.list-board h2 span{float:right;font:12px DM Sans;background:var(--soft);padding:3px 7px;border-radius:999px}.list-board label{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.list-board label>span{flex:1}.list-board label>small{color:var(--muted)}.list-board label button{border:0}.list-board .checked{text-decoration:line-through;opacity:.5}.pantry-layout{display:grid;grid-template-columns:1fr 310px;gap:20px}.pantry-form{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.pantry-form input{width:150px}.pantry-table,.matches{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px}.pantry-table>header,.pantry-table>div{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;padding:11px;border-bottom:1px solid var(--line)}.pantry-table header{color:var(--muted);font-size:10px;text-transform:uppercase}.soon{color:#c7513c}.matches h2{font:700 24px Playfair Display}.matches div{display:grid;padding:10px 0;border-bottom:1px solid var(--line)}.matches span{color:var(--muted);font-size:11px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stats article{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px;display:grid}.stats small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.stats b{font:700 42px Playfair Display;margin-top:8px}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.insight-grid section,.settings section{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px}.insight-grid h2,.settings h2{font:700 23px Playfair Display}.rank{display:grid;grid-template-columns:30px 1fr auto;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.rank>small{color:var(--muted)}.settings{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.settings p{color:var(--muted);line-height:1.6}.button{text-decoration:none;display:inline-block}.badge{display:inline-block;padding:6px 9px;border-radius:999px;background:#e7eee8;color:var(--green);font-size:11px;font-weight:800}.login,.loader{min-height:100vh;display:grid;place-items:center}.login form{width:min(410px,calc(100% - 32px));background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:36px;box-shadow:0 20px 60px #29211517}.login .logo{margin:auto}.login h1{text-align:center;font:700 38px Playfair Display;margin-bottom:5px}.login p{text-align:center;color:var(--muted)}.login label{display:grid;gap:6px;font-size:12px;font-weight:600;margin:16px 0}.login input{padding:12px;border:1px solid var(--line);border-radius:10px}.login .primary{width:100%}.error{color:#a5342e;background:#f8dfdc;padding:10px;border-radius:8px}.bottom-nav{display:none}@media(max-width:1050px){.grid,.collection-grid{grid-template-columns:repeat(2,1fr)}.week{grid-template-columns:repeat(4,1fr)}.recipe-hero{grid-template-columns:1fr}.recipe-art{min-height:260px}.recipe-body,.pantry-layout{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.shell{display:block}.shell>aside{display:none}.workspace{padding:24px 15px 95px}.page-head{align-items:flex-start}.page-head h1{font-size:37px}.page-head>button,.head-actions button:first-child{display:none}.grid,.collection-grid,.list-board,.insight-grid,.settings{grid-template-columns:1fr}.cover{height:220px}.modal{padding:0}.dialog{min-height:100vh;max-height:none;border-radius:0;padding:25px 17px}.recipe-hero>div:last-child{padding:25px 18px}.recipe-hero h1{font-size:36px}.recipe-body{padding:25px 18px;gap:20px}.metrics{gap:14px;flex-wrap:wrap}.form-grid{grid-template-columns:1fr 1fr}.form-grid .wide{grid-column:span 2}.week{display:flex;overflow:auto}.week>article{min-width:170px}.pantry-table{overflow:auto}.pantry-table>header,.pantry-table>div{min-width:600px}.stats{grid-template-columns:1fr 1fr}.bottom-nav{position:fixed;display:flex;bottom:0;left:0;right:0;height:70px;background:var(--paper);border-top:1px solid var(--line);z-index:40;justify-content:space-around}.bottom-nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted);padding:10px 4px}.bottom-nav button.active{color:var(--green)}.bottom-nav small{font-size:8px}}@media print{.shell>aside,.bottom-nav,.page-head,.recipe-actions,.x{display:none!important}.shell{display:block}.workspace{padding:0}.modal{position:static;background:#fff;padding:0}.dialog{max-height:none}.recipe-body{display:grid!important}}.shell>aside{background:var(--sidebar,#fcfbf7)}.searchbar input{background:transparent;color:var(--ink)}.theme-toggle{min-width:34px;padding:7px!important}.theme-choice{display:flex;gap:8px}.theme-choice button.selected{background:var(--green);border-color:var(--green);color:#fff}.guest-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.guest-controls>label{display:flex!important;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px!important}.generate-choice{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important}.generate-choice input{width:auto}.ai-image{display:flex;align-items:center;gap:12px}.ai-image small{flex:1}.preview details{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:10px}.preview summary{cursor:pointer;font-weight:700}html[data-theme=dark]{color-scheme:dark;--bg:#151a17;--paper:#202722;--sidebar:#1a211d;--ink:#f1eee5;--muted:#aaa99f;--line:#36413a;--green:#5fa37f;--orange:#ef936b;--soft:#29322c}html[data-theme=dark] .shell aside nav button.active{background:#29372f;color:#8cc6a4}html[data-theme=dark] .profile>span,html[data-theme=dark] .user-list article>span{background:#594b36;color:#f5e8d3}html[data-theme=dark] .public-banner{background:#1e3227;border-color:#31513f;color:#9cd3b4}html[data-theme=dark] .badge,html[data-theme=dark] .badge.public{background:#293b31;color:#9cd3b4}html[data-theme=dark] .note{background:#382d25}html[data-theme=dark] .warning{background:#46391d;color:#ffd987}html[data-theme=dark] .success,html[data-theme=dark] .preview{background:#233b2b;color:#b2dfc1}html[data-theme=dark] .error{background:#4b2928;color:#ffc1bc}html[data-theme=dark] .meal.filled{background:#293b31;color:#9cd3b4}html[data-theme=dark] input,html[data-theme=dark] textarea,html[data-theme=dark] select{background:var(--paper);color:var(--ink)}button,.button,.card,.settings section,.meal-calendar>article{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}button:hover,.button:hover{border-color:color-mix(in srgb,var(--green) 45%,var(--line))}.card,.settings section,.insight-grid section,.list-board>section,.pantry-table,.matches{box-shadow:0 8px 28px #1d251d0a}.score-picker{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}.score-picker button{padding:8px 4px}.score-picker button.selected,.view-tabs button.active{background:var(--green);border-color:var(--green);color:#fff}.planner-toolbar,.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.planner-toolbar>div{display:flex;align-items:center;gap:8px}.view-tabs{display:flex;gap:5px}.view-tabs button{text-transform:capitalize}.export-menu a{padding:7px 8px;border-radius:8px;color:var(--green);font-weight:800;text-decoration:none}.slot-settings{margin:0 0 18px;padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.slot-settings summary{cursor:pointer;font-weight:800}.slot-settings>div{display:grid;grid-template-columns:28px 1fr auto auto auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.slot-settings>div input[type=text],.slot-settings>div>input{padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink)}.slot-settings label{display:flex;gap:6px;align-items:center;font-size:12px}.drag-handle{cursor:grab;color:var(--muted)}.meal-calendar{display:grid;gap:9px}.meal-calendar.month,.meal-calendar.week{grid-template-columns:repeat(7,minmax(0,1fr))}.meal-calendar.day{grid-template-columns:minmax(280px,560px)}.meal-calendar>article{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:10px}.meal-calendar>article.today{border:2px solid var(--orange)}.meal-calendar>article.outside{opacity:.48}.meal-calendar article>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.meal-calendar header small{color:var(--muted)}.meal-calendar header b{font:700 24px Playfair Display}.meal-calendar .meal{min-height:56px;margin:3px 0}.meal-calendar.month .meal{min-height:48px;padding:6px}.meal-calendar.month .meal small{font-size:8px}.meal-calendar.month .meal span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expanded-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 22px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.expanded-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.expanded-form input,.expanded-form select,.expanded-form textarea,.list-toolbar select{min-width:0;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink)}.expanded-form .wide{grid-column:1/-1}.expanded-form footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.rich-list article{display:grid;grid-template-columns:48px auto 1fr auto auto auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.rich-list article>img,.item-placeholder{width:46px;height:46px;border-radius:10px;object-fit:cover;display:grid;place-items:center;background:var(--soft)}.rich-list article>div{display:grid}.rich-list article small{color:var(--muted)}.rich-list article p{margin:5px 0;font-size:12px}.rich-list article a,.pantry-cards a{font-size:11px;color:var(--green)}.priority{font-style:normal;font-size:9px;text-transform:uppercase}.priority.p3{padding:4px 6px;border-radius:999px;background:#f8dfdc;color:#a5342e}.pantry-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pantry-cards article{display:grid;grid-template-columns:62px 1fr auto auto;gap:12px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.pantry-cards article>img,.pantry-cards article>span{width:62px;height:62px;object-fit:cover;border-radius:11px;background:var(--soft);display:grid;place-items:center}.pantry-cards h3{margin:3px 0;font:700 18px Playfair Display}.pantry-cards p{margin:4px 0;color:var(--muted);font-size:11px}.pantry-cards .low-stock{border-color:var(--orange)}.backup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.backup-grid .button{text-align:center}.install-help{padding:10px 13px;border-left:3px solid var(--green);background:var(--soft)}.public-banner{display:flex;align-items:center;gap:14px;margin:-10px 0 28px;padding:13px 16px;border:1px solid #d9e3da;border-radius:14px;background:#edf4ee;color:var(--green)}.public-banner span{font-weight:800;white-space:nowrap}.public-banner p{flex:1;margin:0;font-size:13px}.public-banner button{background:var(--green);border-color:var(--green);color:#fff}.profile{position:relative}.profile>button{margin-left:auto;padding:7px 9px;font-size:11px}.browse-button{width:100%;margin-top:9px}.loader.inline{min-height:280px}.filter-row{display:flex;align-items:center;gap:14px;margin:18px 0 28px}.filter-row .filters{flex:1;margin:0}.filter-row>select{border:1px solid var(--line);border-radius:999px;background:var(--paper);padding:10px 14px;color:var(--ink)}.taglist button.selected{background:var(--green);color:#fff}.editor-photo{display:flex;align-items:center;gap:14px}.editor-photo img{width:180px;height:110px;object-fit:cover;border-radius:13px}.form-grid label small{color:var(--muted);font-weight:400}.cook-toolbar{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:14px 22px;background:#1e4937;color:#fff}.cook-toolbar>div{display:grid;text-align:center}.cook-toolbar span{font-size:11px;opacity:.75}.cook-toolbar strong{padding:8px 12px;border-radius:999px;background:#fff;color:var(--green)}.cook-controls{display:flex;justify-content:space-between;gap:12px;margin:20px 0}.cooking .steps li:not(.current){display:none}.cooking .steps li.current{display:grid;min-height:210px;align-items:start;background:var(--paper);font-size:clamp(20px,3vw,30px);line-height:1.5}.cooking .steps li.current>b{width:46px;height:46px}.cooking .recipe-body>section:last-child h2{display:none}.settings-v2 section{min-width:0}.settings-v2 form{display:grid;gap:10px}.settings-v2 label{display:grid;gap:6px;font-size:12px;font-weight:700}.settings-v2 input,.settings-v2 select{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.settings-v2 .wide-setting{grid-column:1/-1}.setting-heading{display:flex;align-items:flex-start;gap:22px}.setting-heading>div{flex:1}.switch{display:inline-flex!important;position:relative;width:54px;height:30px;flex:0 0 auto}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;background:#bbb;border-radius:999px;transition:.2s}.switch span:before{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 2px 5px #0002}.switch input:checked+span{background:var(--green)}.switch input:checked+span:before{transform:translate(24px)}.status-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.badge.public{background:#e4f3e7}.add-user{grid-template-columns:1fr 1.25fr 1.5fr .8fr auto!important;align-items:end}.user-list{display:grid;margin-top:18px;border-top:1px solid var(--line)}.user-list article{display:grid;grid-template-columns:38px 1fr auto auto auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.user-list article>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#d8ba8c;font-size:11px;font-weight:800}.user-list article>div{display:grid}.user-list small{color:var(--muted)}.user-list label{display:flex;align-items:center;gap:5px}.user-list label input{width:auto}.danger{color:#a5342e;border-color:#e4bbb7}.mini-status{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:12px}.mini-status span{color:var(--muted)}.floating-message{position:fixed;right:24px;top:24px;z-index:80;box-shadow:0 12px 35px #0002}.bottom-nav{overflow-x:auto;justify-content:flex-start!important;padding:0 4px}.bottom-nav button{min-width:72px;flex:1}.bottom-nav button>span{font-size:17px}@media(max-width:1050px){.add-user{grid-template-columns:1fr 1fr!important}.add-user button{grid-column:1/-1}.user-list article{grid-template-columns:38px 1fr auto}.user-list article>button{grid-column:auto}.user-list article>label{grid-column:3}.meal-calendar.month{grid-template-columns:repeat(4,minmax(0,1fr))}.expanded-form{grid-template-columns:repeat(2,1fr)}.pantry-cards{grid-template-columns:1fr}}@media(max-width:720px){.public-banner{align-items:flex-start;flex-wrap:wrap;margin:0 0 20px}.public-banner p{flex-basis:100%;order:3}.filter-row{align-items:stretch;flex-direction:column}.filter-row>select{align-self:flex-start}.head-actions button{display:inline-block!important;padding:9px}.page-head{gap:12px}.page-head h1{font-size:34px}.cook-toolbar{grid-template-columns:auto 1fr;padding:11px}.cook-toolbar strong{grid-column:1/-1;text-align:center}.cooking .dialog.recipe{padding:0}.cooking .recipe-body{padding:18px}.cooking .steps li.current{font-size:22px}.settings-v2 .wide-setting{grid-column:auto}.setting-heading{gap:12px}.add-user{grid-template-columns:1fr!important}.add-user button{grid-column:auto}.user-list article{grid-template-columns:36px 1fr}.user-list article>label,.user-list article>button{grid-column:2}.editor-photo{align-items:flex-start;flex-direction:column}.editor-photo img{width:100%;height:190px}.bottom-nav button{min-width:68px}}@media(max-width:720px){.guest-controls{grid-template-columns:1fr}.ai-image{align-items:flex-start;flex-direction:column}.theme-toggle{display:inline-block!important}.score-picker{grid-template-columns:repeat(5,1fr)}.planner-toolbar,.list-toolbar{align-items:stretch;flex-direction:column}.planner-toolbar>div{justify-content:center;flex-wrap:wrap}.meal-calendar.month,.meal-calendar.week{display:flex;overflow-x:auto}.meal-calendar>article{min-width:230px}.slot-settings>div{grid-template-columns:24px 1fr auto}.slot-settings>div>button{grid-row:2}.expanded-form{grid-template-columns:1fr}.expanded-form .wide,.expanded-form footer{grid-column:1}.rich-list article{grid-template-columns:46px auto 1fr}.rich-list article>button,.rich-list article>em{grid-column:auto}.pantry-cards article{grid-template-columns:54px 1fr}.pantry-cards article>button{grid-column:2}.backup-grid{grid-template-columns:1fr}}@media print{.public-banner,.cook-toolbar,.cook-controls{display:none!important}}
