:root{--paper:#f8f5ef;--ink:#2f332c;--muted:#72796d;--line:#e5e6dc;--accent:#b94f36;--accent-pale:#f9e8df;--sage:#54705b;--sage-pale:#e8eee3;--yellow:#f3e8c6;--white:#fffefa;--font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:var(--font);font-size:14px;background:#eaece3}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:transparent}button:disabled{opacity:.45;cursor:default}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b8904e;outline-offset:3px}input,textarea,select{border:1px solid #d9ddd1;border-radius:12px;background:var(--white);padding:12px;max-width:100%}input[type=checkbox]{accent-color:var(--sage);width:20px;height:20px}input[type=number]{width:87px}label{display:block}.workspace{max-width:1160px;margin:auto;padding:48px 60px;display:flex;align-items:center;justify-content:space-between;gap:65px;min-height:100dvh}.review-rail{max-width:405px;flex:1}.wordmark{font-weight:650;font-size:21px;letter-spacing:-.8px;display:flex;align-items:center;gap:10px}.brand-mark{background:var(--accent);color:white;width:35px;height:35px;border-radius:12px;display:inline-grid;place-items:center;font-weight:500;font-size:23px}.eyebrow{display:block;font-size:10px;letter-spacing:2px;font-weight:750;color:var(--sage);margin:48px 0 17px}.review-rail h1{font-family:Georgia,serif;font-size:42px;line-height:1.14;letter-spacing:-1.2px;font-weight:500;margin:0}.review-rail>p{font-size:15px;line-height:1.7;color:var(--muted);max-width:330px;margin:22px 0 28px}.review-nav{border-top:1px solid #d6dace}.review-nav button{display:flex;align-items:center;text-align:left;gap:16px;width:100%;padding:16px 0;border-bottom:1px solid #d6dace}.review-nav b{font-size:10px;font-weight:650;color:var(--sage)}.review-nav span:nth-child(2){flex:1;font-weight:600;font-size:13px}.review-nav small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:5px}.rail-note{font-size:12px;margin-top:28px}.rail-note p{font-size:11px;color:var(--muted);line-height:1.6;padding-left:14px;max-width:330px}.dot{display:inline-block;width:6px;height:6px;background:var(--sage);border-radius:50%;margin-right:6px}.text-button{color:var(--accent);padding:8px 0;font-weight:650;font-size:12px;min-height:40px}.device-wrap{width:414px;flex-shrink:0}.device{height:min(856px,calc(100dvh - 90px));min-height:650px;border:8px solid #3d4339;border-radius:42px;background:var(--paper);position:relative;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 28px 65px #34423022,0 0 0 1px #ffffff80}.preview-strip{display:flex;align-items:center;justify-content:space-between;padding:9px 20px 4px;font-size:8px;letter-spacing:1.3px;color:var(--muted);flex-shrink:0}.preview-strip button{font-size:10px;color:var(--sage);letter-spacing:0;padding:5px}.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 21px 16px;flex-shrink:0}.app-header .wordmark{font-size:17px}.app-header .brand-mark{height:29px;width:29px;font-size:20px;border-radius:9px}.role-toggle{background:#eeeee5;padding:4px;border-radius:30px;display:flex}.role-toggle button{padding:7px 10px;font-size:10px;min-height:30px;border-radius:20px;color:var(--muted)}.role-toggle .active{background:var(--white);color:var(--ink);box-shadow:0 1px 3px #0000000c}#screen{overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#d8ddce transparent;padding:7px 21px 22px;overscroll-behavior:contain}.page-eyebrow{font-size:10px;font-weight:650;color:var(--sage);letter-spacing:1.2px;text-transform:uppercase;display:flex;align-items:center;gap:7px;margin:3px 0 10px}.page-title{font-family:Georgia,"Songti SC",serif;font-size:32px;font-weight:500;line-height:1.05;letter-spacing:-.8px;margin:0 0 9px}.subtitle{color:var(--muted);font-size:12px;line-height:1.55;margin:0 0 19px}.date-bar{display:flex;gap:8px;margin:18px 0 13px}.date-bar label{flex:1;min-width:0;font-size:9px;font-weight:650;color:var(--muted)}.date-bar input,.date-bar select{width:100%;padding:9px 8px;font-size:11px;margin-top:4px;min-height:37px;background:transparent}.chips{display:flex;gap:6px;overflow:auto;scrollbar-width:none;margin:0 -21px 18px;padding:0 21px}.chip{white-space:nowrap;min-height:34px;padding:9px 13px;border:1px solid var(--line);border-radius:20px;font-size:10px;color:var(--muted)}.chip.active{background:var(--ink);border-color:var(--ink);color:var(--white)}.section-line{display:flex;justify-content:space-between;align-items:center;margin:17px 0 11px}.section-line h3{font-size:13px;margin:0;font-weight:650}.section-line small{color:var(--muted);font-size:10px}.dish-card{background:var(--white);border:1px solid #e8e7dd;border-radius:20px;overflow:hidden;margin-bottom:13px}.dish-art{height:134px;background:#edeadd;position:relative;display:grid;place-items:center;overflow:hidden}.dish-art.beef{background:#e6e9dd}.dish-art.spinach{background:#e5ecdf}.dish-art svg{height:133px;width:270px;filter:drop-shadow(0 5px 5px #43402214)}.art-label{position:absolute;top:11px;left:13px;font-size:8px;letter-spacing:.6px;background:#fffdf4d9;border-radius:5px;padding:5px 7px;font-weight:650}.dish-info{padding:14px 15px}.dish-head{display:flex;justify-content:space-between;gap:8px;align-items:start}.dish-info h3{font-size:18px;letter-spacing:1px;margin:0 0 5px;font-weight:650}.dish-info p{font-size:11px;margin:0;color:var(--muted)}.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:var(--sage)}.icon-button svg{width:16px;height:16px}.dish-foot{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.meta{font-size:10px;color:var(--muted);line-height:1.6}.primary,.secondary,.danger-button{border-radius:12px;padding:13px 16px;min-height:45px;font-size:12px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary{background:var(--accent);color:var(--white)}.secondary{background:var(--sage-pale);color:var(--sage)}.danger-button{background:#f8e5dc;color:#a04731}.primary.small,.secondary.small{padding:10px 13px;min-height:36px;font-size:10px}.full{width:100%}.bottom-nav{display:flex;gap:3px;justify-content:space-around;flex-shrink:0;padding:9px 13px 12px;border-top:1px solid var(--line);background:var(--paper)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:63px;padding:5px 8px;color:#93998a;font-size:9px;position:relative}.bottom-nav svg{width:20px;height:20px}.bottom-nav button.active{color:var(--accent)}.bottom-nav .nav-dot{position:absolute;top:0;right:14px;min-width:14px;height:14px;background:var(--accent);color:white;border:2px solid var(--paper);border-radius:10px;font-size:8px;display:grid;place-items:center}.device-caption{font-size:10px;color:var(--muted);text-align:center;margin:13px 0 0;letter-spacing:.1px}.panel{border:1px solid var(--line);background:var(--white);border-radius:16px;padding:15px;margin:12px 0}.panel.sage{background:var(--sage-pale);border-color:#dde5d6}.panel.peach{background:var(--accent-pale);border-color:#f1d7c8}.panel p{font-size:11px;line-height:1.6;color:var(--muted);margin:5px 0 0}.panel b{font-size:12px}.split{display:flex;align-items:center;justify-content:space-between;gap:10px}.badge{font-size:9px;border-radius:20px;background:var(--sage-pale);color:var(--sage);display:inline-block;padding:5px 8px;font-weight:650}.badge.pending{background:var(--yellow);color:#8d712a}.badge.declined{background:#eee9e4;color:#8b766b}.meal-card{padding:15px;border-radius:17px;background:var(--white);border:1px solid var(--line);margin-bottom:13px}.meal-card h3{font-size:17px;margin:12px 0 5px}.meal-card p{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 13px}.actions{display:flex;gap:8px;margin-top:14px}.actions>*{flex:1}.checkline{display:flex;gap:9px;align-items:center;font-size:11px;min-height:40px;line-height:1.5}.checkline input{flex-shrink:0}.divider{border:0;border-top:1px solid var(--line);margin:14px 0}.empty{text-align:center;padding:36px 16px 40px;color:var(--muted);font-size:12px;line-height:1.65}.empty .empty-mark{font-family:Georgia,serif;font-size:42px;color:var(--sage);margin-bottom:15px}.tabs{display:flex;background:#eeeee5;border-radius:12px;padding:4px;margin:17px 0;gap:3px}.tabs button{flex:1;font-size:11px;padding:11px 5px;border-radius:9px;min-height:37px;color:var(--muted)}.tabs .active{background:var(--white);box-shadow:0 2px 3px #00000005;color:var(--ink);font-weight:650}.shop-summary{display:flex;gap:8px;align-items:center;margin:17px 0 13px;font-size:11px;color:var(--muted)}.progress-track{flex:1;height:4px;background:#e0e4d7;border-radius:4px;overflow:hidden}.progress-track span{display:block;background:var(--sage);height:100%}.voice-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:45px;width:100%;border-radius:12px;background:var(--sage-pale);color:var(--sage);font-size:12px;font-weight:650;margin:10px 0}.voice-button svg{width:15px;height:15px}.shopping-row{display:flex;gap:11px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);touch-action:pan-y;user-select:none;transition:opacity .12s}.shop-check{border:1.5px solid #b9c4af;width:25px;height:25px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:13px;color:var(--sage)}.shopping-row.bought .shop-check{background:var(--sage-pale)}.shopping-row.bought .shop-name{text-decoration:line-through;color:#8b9184}.shop-copy{flex:1;min-width:0}.shop-name{font-size:12px;font-weight:600;line-height:1.45}.shop-qty{font-size:11px;color:var(--muted);margin-top:4px}.shopping-row .more{font-size:20px;color:var(--muted);min-width:34px;min-height:40px}.aisle-label{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:var(--sage);margin:24px 0 2px;font-weight:700;display:flex;justify-content:space-between}.subtle{font-size:10px;color:var(--muted);line-height:1.6}.stock-banner{background:#eeeede;border-radius:12px;padding:11px 13px;margin:16px 0;display:flex;align-items:center;gap:9px;font-size:10px;color:var(--sage)}.stock-banner svg{width:19px;height:19px}.modal-backdrop{position:absolute;inset:0;background:#28302565;z-index:20;display:flex;align-items:end}.sheet{border-radius:24px 24px 0 0;background:var(--paper);width:100%;max-height:94%;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -8px 25px #00000015;animation:slide .18s ease-out}.sheet-top{display:flex;align-items:center;gap:10px;padding:19px 20px 11px}.sheet-top h2{font-family:Georgia,"Songti SC",serif;font-size:25px;font-weight:500;letter-spacing:-.4px;flex:1;margin:0}.close-button{width:36px;height:36px;border-radius:50%;background:#eaece2;font-size:19px}.sheet-body{padding:0 20px 22px;overflow:auto;flex:1;scrollbar-width:thin}.sheet-footer{padding:13px 20px 18px;border-top:1px solid var(--line);background:var(--paper);flex-shrink:0}.sheet .subtitle{margin:2px 0 15px}.field{margin:15px 0;font-size:11px;font-weight:600}.field>input,.field>select,.field>textarea{display:block;margin-top:7px;width:100%;font-weight:400}.field-grid{display:flex;gap:10px}.field-grid>*{flex:1;min-width:0}.stepper{display:flex;gap:23px;align-items:center;justify-content:center;margin:20px 0}.stepper button{width:43px;height:43px;border-radius:50%;border:1px solid #cbd2c1;font-size:23px}.stepper b{font-size:29px;min-width:30px;text-align:center}.portion-head{display:grid;grid-template-columns:1fr 54px 65px 65px;gap:5px;font-size:9px;color:var(--muted);padding:12px 0;border-bottom:1px solid var(--line)}.portion-row{border-bottom:1px solid var(--line);padding:14px 0}.portion-values{display:grid;grid-template-columns:1fr 54px 65px 65px;gap:5px;align-items:center}.portion-name{font-size:11px;line-height:1.5}.portion-row small{font-size:9px;color:var(--muted)}.portion-row .value-button{font-size:11px;padding:10px 0;text-align:left;color:var(--muted);line-height:1.5;min-height:43px}.portion-row .suggested{color:var(--accent)}.portion-row input[type=number]{width:63px;padding:11px 7px;font-size:11px}.portion-row .checkline{justify-content:end;font-size:9px;min-height:28px;color:var(--sage)}.portion-row .checkline input{width:16px;height:16px}.text-link{color:var(--accent);font-size:11px;min-height:40px;padding:8px 0}.recipe-line{display:flex;justify-content:space-between;align-items:start;gap:15px;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.6}.recipe-line>span:last-child{white-space:nowrap;color:var(--muted)}.method-line{display:flex;gap:11px;padding:14px 0;border-bottom:1px solid var(--line)}.number{border-radius:50%;background:#e9ecdf;color:var(--sage);width:25px;height:25px;display:grid;place-items:center;font-size:10px;flex-shrink:0}.method-line p{margin:0 0 5px;font-size:12px;line-height:1.65}.method-line small{color:var(--muted);font-size:10px}.edit-ingredient{padding:12px 0;border-bottom:1px solid var(--line)}.edit-ingredient strong{font-size:11px;font-weight:600}.edit-ingredient .field-grid{margin-top:7px}.edit-ingredient input,.edit-ingredient select{font-size:11px;width:100%;padding:10px 7px}.step-card{padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:var(--white);margin:10px 0}.step-card.running{border-color:var(--sage);background:#f0f3e9}.step-card.done{opacity:.6}.step-card h4{font-size:12px;line-height:1.7;font-weight:550;margin:9px 0}.step-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:9px;color:var(--muted)}.step-top .dish-dot{width:5px;height:5px;border-radius:50%;display:inline-block;background:var(--accent);margin-right:4px}.step-top .dish-dot.beef{background:var(--sage)}.step-top .dish-dot.spinach{background:#9d9e50}.step-controls{display:flex;gap:8px;align-items:center}.step-controls .primary,.step-controls .secondary{min-height:32px;padding:9px 12px;font-size:10px}.step-controls .text-link{font-size:10px;margin-left:auto;min-height:32px}.timeline-wrap{overflow:auto;margin:18px -6px;padding:0 6px 13px;scrollbar-width:thin}.timeline{min-width:530px;position:relative;padding-top:26px}.time-axis{display:flex;position:absolute;left:0;right:0;top:0;justify-content:space-between;color:var(--muted);font-size:9px}.time-lane{height:73px;border-top:1px dashed #d6dccc;position:relative;padding-top:5px}.time-lane>b{font-size:10px;position:relative;z-index:1;display:inline-block;background:var(--paper);padding-right:6px}.time-block{position:absolute;top:27px;height:30px;border-radius:6px;background:var(--accent);color:#fff;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:10px 5px;min-width:3px;border:1px solid #ffffff90}.time-block.beef{background:var(--sage)}.time-block.spinach{background:#96964e}.time-block.passive{background:repeating-linear-gradient(45deg,#d9e3d2,#d9e3d2 4px,#c8d8c0 4px,#c8d8c0 7px);color:#334d36;border-color:#9bb28e}.time-block.selected{outline:2px solid var(--ink);outline-offset:2px}.legend{display:flex;gap:14px;font-size:9px;color:var(--muted)}.legend i{width:10px;height:7px;display:inline-block;background:var(--sage);margin-right:4px;border-radius:2px}.legend i.passive{background:repeating-linear-gradient(45deg,#d9e3d2,#d9e3d2 2px,#a9bda0 2px,#a9bda0 4px)}.metric-row{display:flex;gap:9px;margin:18px 0}.metric{flex:1;background:#efeee4;border-radius:13px;padding:13px}.metric>b{display:block;font-family:Georgia,serif;font-weight:400;font-size:24px}.metric>span{font-size:9px;color:var(--muted);display:block;margin-top:5px}#toast{position:absolute;bottom:84px;left:14px;right:14px;z-index:35;pointer-events:none}#toast:empty{display:none}.toast-inner{display:flex;gap:10px;align-items:center;justify-content:space-between;pointer-events:auto;background:var(--ink);color:white;border-radius:12px;padding:13px 15px;box-shadow:0 5px 20px #00000020;font-size:11px;line-height:1.5}.toast-inner button{color:#e7c49f;font-weight:650;min-height:32px;font-size:11px}.review-guide li{font-size:12px;color:var(--muted);line-height:1.7;padding:5px 0}.review-guide ol{padding-left:20px}.review-guide b{color:var(--ink)}.note-text{width:100%;height:110px;font-size:12px;line-height:1.7}.sample-command{width:100%;border:1px solid var(--line);background:var(--white);border-radius:12px;margin-bottom:9px;padding:14px;text-align:left;font-size:12px;line-height:1.6}.sample-command span{font-size:10px;color:var(--muted);display:block;margin-top:5px}.voice-symbol{width:55px;height:55px;display:grid;place-items:center;border-radius:50%;background:var(--sage-pale);color:var(--sage);margin:12px auto 18px}.voice-symbol svg{width:22px;height:22px}.inline-error{color:#9d402b;background:#f6e7dc;border-radius:10px;padding:10px;font-size:11px;line-height:1.6}.review-question{font-family:Georgia,serif;font-size:19px;font-weight:400;margin:20px 0 12px}.tiny-label{font-size:9px;font-weight:650;color:var(--sage);letter-spacing:.8px;text-transform:uppercase}.role-hint{font-size:10px;color:var(--muted);margin:12px 0}.welcome-strip{background:var(--sage-pale);border-radius:14px;padding:14px 15px;margin-bottom:18px;font-size:11px;color:var(--sage);display:flex;align-items:center;justify-content:space-between}.welcome-strip button{color:var(--sage);font-weight:650;text-decoration:underline;font-size:10px}.selected-row{background:var(--sage-pale);padding:12px;border-radius:11px;margin:10px 0;font-size:12px}.import-table{font-size:11px;border-collapse:collapse;width:100%;margin:15px 0}.import-table th,.import-table td{padding:11px 4px;text-align:left;border-bottom:1px solid var(--line)}
button svg{width:17px;height:17px;vertical-align:middle;flex-shrink:0}
@keyframes slide{from{transform:translateY(25px);opacity:.5}to{transform:translateY(0);opacity:1}}
@media(min-width:1600px){.device{height:850px}.workspace{padding-top:50px;padding-bottom:50px}}
@media(max-width:850px){.workspace{gap:30px;padding:25px}.review-rail{max-width:300px}.review-rail h1{font-size:33px}.device-wrap{width:395px}.device{min-height:650px}.eyebrow{margin-top:32px}.review-rail>p{font-size:13px}}
@media(max-width:650px){body{background:var(--paper)}.workspace{display:block;padding:0;min-height:0}.review-rail,.device-caption{display:none}.device-wrap{width:100%;max-width:480px;margin:auto}.device{height:100dvh;min-height:0;border:none;border-radius:0;box-shadow:none}.preview-strip{padding-top:max(8px,env(safe-area-inset-top));font-size:8px}.bottom-nav{padding-bottom:max(12px,env(safe-area-inset-bottom))}.sheet-footer{padding-bottom:max(18px,env(safe-area-inset-bottom))}.dish-art{height:142px}.dish-art svg{height:142px}.app-header{padding-top:12px;padding-bottom:15px}.page-title{font-size:33px}#toast{bottom:90px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Screen design 02 */
:root{--blue:#286ba4;--done:#3e7852;--todo:#b84e46;--clean:#3f75a7}
.date-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%;max-width:100%}.date-bar label{display:block;min-width:0;max-width:100%;overflow:hidden}.date-bar input,.date-bar select{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-inline-size:0;min-height:43px;font-size:13px;line-height:1.3;margin-top:7px;padding:11px 8px;background:var(--white)}.date-bar input[type=date]{appearance:none;-webkit-appearance:none;max-inline-size:100%;text-align:left}.date-bar input::-webkit-date-and-time-value{text-align:left;min-width:0}.ingredient-needed{color:var(--blue)!important}.dish-art{position:relative}.dish-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-control{position:absolute;right:11px;bottom:10px;z-index:1;background:#fffef3ed;backdrop-filter:blur(8px);font-size:10px;padding:9px 12px;border-radius:20px;color:var(--sage);min-height:35px;box-shadow:0 1px 6px #00000013}.dish-info .core-ingredients{margin-top:10px;font-size:10px;line-height:1.7;color:#69765e}.dish-info .order-count{font-size:10px;margin-top:6px;color:var(--muted)}.dish-foot b{font-weight:650;font-size:14px;color:var(--ink)}.fridge-hero{width:100%;display:flex;align-items:center;gap:13px;background:var(--sage);color:var(--white);border-radius:17px;padding:19px 17px;min-height:80px;text-align:left;margin:19px 0 0}.fridge-hero>svg{width:29px;height:29px;stroke-width:1.3}.fridge-hero>span{flex:1;font-size:16px;font-weight:600}.fridge-hero small{display:block;font-size:10px;font-weight:400;opacity:.85;margin-top:7px}.stock-banner{margin:9px 0 5px;text-align:left;min-height:49px;font-size:10px;line-height:1.6}.stock-banner span{flex:1}.stock-banner b{font-size:18px;font-weight:400}.capacity-time{background:var(--sage-pale);border-radius:17px;padding:24px;text-align:center;margin:20px 0 13px}.capacity-time>b{display:block;font-family:Georgia,serif;font-size:55px;font-weight:400;color:var(--sage);line-height:1}.capacity-time>span{display:block;font-size:12px;margin-top:10px;color:var(--sage)}.staple-row{border-bottom:1px solid var(--line);padding:13px 0}.staple-row .checkline{flex:1;font-size:12px;min-width:0}.staple-row .checkline small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.staple-row .secondary{font-weight:500;margin-top:9px}.share-preview{font:11px/1.7 var(--font);white-space:pre-wrap;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--white)}.cook-meal-grid{display:grid;grid-template-columns:1fr;gap:9px}.cook-meal{display:flex;gap:9px;align-items:start;padding:13px 14px;border:1px solid var(--line);background:var(--white);border-radius:14px}.cook-meal>div{flex:1;min-width:0}.cook-meal b{font-size:13px}.cook-meal small{display:block;font-size:9px;color:var(--muted);margin-top:6px;line-height:1.5}.serve-time{font-size:12px;color:var(--accent);font-weight:650;display:block;margin-top:9px}.serve-time.is-ready{color:var(--done)}.appliance-preview{padding:17px 0 8px}.appliance-preview p{display:flex;flex-wrap:wrap;gap:7px;font-size:10px;margin:10px 0}.appliance-preview p>span{padding:8px;background:#eeeede;border-radius:9px;display:inline-flex;align-items:center;gap:5px}.appliance-preview svg{width:14px;height:14px}.start-cooking{font-size:15px;min-height:51px;margin:12px 0}.cooking-started{display:flex;align-items:center;gap:5px;font-size:11px;padding:15px 0;color:var(--sage)}.cooking-started>span:last-child{margin-left:auto;color:var(--muted);font-size:10px}.timeline-pane,.steps-pane{display:none}.timeline-pane.mobile-active,.steps-pane.mobile-active{display:block}.desktop-pane-title{display:none}.legend{flex-wrap:wrap;gap:9px;font-size:9px;line-height:1.6;margin:8px 0}.legend i.green{background:var(--done)}.legend i.red{background:var(--todo)}.legend i.blue{background:var(--clean)}.time-lane{height:95px}.time-lane>b{font-size:10px;font-weight:600}.timeline{margin-right:130px}.time-block.todo-red{background:var(--todo);color:#fff}.time-block.finished-green{background:var(--done);color:#fff}.time-block.cleanup-blue{background:var(--clean);color:#fff}.time-block.todo-red.passive{background:repeating-linear-gradient(45deg,#b84e46,#b84e46 5px,#c76a62 5px,#c76a62 9px);border-color:#a7423b}.time-block.finished-green.passive{background:repeating-linear-gradient(45deg,#3e7852,#3e7852 5px,#5b8c6b 5px,#5b8c6b 9px)}.ready-marker{position:absolute;top:58px;height:30px;border-left:1px dashed currentColor;font-size:9px;white-space:nowrap;color:var(--todo);min-width:2px;max-width:120px}.ready-marker.finished-green{color:var(--done)}.ready-marker i{font-style:normal;position:absolute;left:-5px;top:-7px;font-size:10px}.ready-marker span{display:block;background:var(--paper);margin:7px 0 0 6px;font-weight:650;font-size:9px;padding-right:5px}.time-axis span{width:0;white-space:nowrap;display:flex;justify-content:center;font-size:8px}.time-axis span:first-child{justify-content:start}.step-card.cleanup{border-color:#b7cee2;background:#eef4f8}.step-card.cleanup .step-top{color:var(--clean)}.step-card.done{opacity:1;border-color:#b6ceb6;background:#edf3e9}.step-card.done .step-top{color:var(--done)}.step-card h4{font-size:13px}.sheet{max-width:470px;margin-left:auto;margin-right:auto}.text-link svg{width:16px;height:16px}.recipe-line span{line-height:1.7}.timeline-wrap{scroll-padding:15px}.cooking-overview .section-line{margin-top:0}.cooking-tabs{position:sticky;top:-8px;z-index:3;border:1px solid var(--line);box-shadow:0 4px 12px #f8f5ef80}.sheet input[type=text],.sheet textarea{font-size:14px}#toast{bottom:78px;left:10px;right:10px}.toast-inner{max-width:420px;margin:auto;min-height:50px;font-size:11px}.toast-inner button{min-width:44px}
@media(min-width:1050px){body.cooking-workspace .workspace{max-width:1320px;justify-content:center;padding:35px 40px}body.cooking-workspace .review-rail{display:none}body.cooking-workspace .device-wrap{width:min(1120px,calc(100vw - 80px))}body.cooking-workspace .device{height:calc(100dvh - 85px);border-width:5px;border-radius:28px;min-height:650px}body.cooking-workspace .app-header{padding-left:28px;padding-right:28px}body.cooking-workspace #screen{padding:15px 28px 25px}body.cooking-workspace .cooking-overview{max-width:100%}body.cooking-workspace .cook-meal-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}body.cooking-workspace .cooking-columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:25px;align-items:start}body.cooking-workspace .timeline-pane,body.cooking-workspace .steps-pane{display:block;min-width:0}body.cooking-workspace .desktop-pane-title{display:block;font-size:15px;font-weight:650;margin:16px 0}body.cooking-workspace .timeline-pane{position:sticky;top:0}body.cooking-workspace .cooking-tabs{display:none}body.cooking-workspace .voice-button{max-width:360px}body.cooking-workspace .bottom-nav{padding:8px max(100px,25%) 12px}body.cooking-workspace .sheet{max-height:94%}body.cooking-workspace .preview-strip{padding-left:28px;padding-right:28px}}
@media(max-width:650px){.date-bar input,.date-bar select{font-size:14px;padding:11px 7px}.sheet input[type=text],.sheet textarea{font-size:16px}.sheet{max-width:none}.cook-meal .icon-button{width:32px;height:32px}.page-title{font-size:31px}.core-ingredients{max-width:100%}#toast{bottom:calc(78px + env(safe-area-inset-bottom))}}
/* Screen design 03: direct insertion and touch dragging */
.reorder-help{display:flex;align-items:center;gap:8px;justify-content:space-between;background:var(--sage-pale);color:var(--sage);border-radius:12px;padding:12px 13px;font-size:11px;line-height:1.6;margin-top:10px}.reorder-help button{font-size:11px;font-weight:650;min-height:35px;flex-shrink:0}.drag-handle{display:grid;place-items:center;width:35px;height:38px;flex-shrink:0;touch-action:none;cursor:grab;color:var(--sage);background:#e8eddf;border-radius:9px;font-size:25px;line-height:1;user-select:none}.drag-handle:active{cursor:grabbing}.step-top>span:first-of-type{flex:1}.step-top>span:last-of-type{text-align:right;line-height:1.7}.step-card.chosen-step{outline:2px solid var(--sage);outline-offset:1px}.order-slot{height:12px;position:relative;display:grid;place-items:center;transition:height .12s}.insert-step{visibility:hidden;font-size:10px;font-weight:650;color:var(--sage);width:100%;min-height:33px;border:1px dashed #9eaf93;border-radius:9px;background:#eef3e7}.picking-position .order-slot{height:42px}.picking-position .insert-step{visibility:visible}.dragging-steps .order-slot{height:17px;transition:none}.dragging-steps .order-slot.drag-target{height:30px;background:var(--sage-pale);border:2px dashed var(--sage);border-radius:9px}.dragging-steps .order-slot.drag-target:after{content:'Insert here';font-size:10px;color:var(--sage);font-weight:650;position:absolute}.drag-source{opacity:.4;outline:1px dashed var(--sage)}.dragging-steps{user-select:none}.step-list>.step-card{margin:0}.duration-component{display:block;min-width:0;flex:1;font-size:10px;color:var(--muted)}.duration-component input{display:block;width:100%!important;margin-top:5px}.capacity-time>b{font-size:40px;white-space:nowrap}.capacity-time>span{margin-top:13px}
/* Screen design 04: date controls, meal summary and clear approval actions */
.calendar-trigger{display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;min-width:0;min-height:43px;margin-top:7px;padding:10px 9px;background:var(--white);border:1px solid #d9ddd1;border-radius:12px;font-size:12px;font-weight:400;text-align:left}.calendar-trigger span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-trigger span:last-child{color:var(--sage);font-size:19px}.calendar-heading{display:flex;justify-content:space-between;align-items:center;margin:9px 0 16px}.calendar-heading b{font-size:15px;font-weight:650}.calendar-heading button{width:43px;height:43px;background:var(--sage-pale);color:var(--sage);border-radius:50%;font-size:26px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-weekdays span{text-align:center;font-size:10px;color:var(--muted);padding:7px 0 12px}.calendar-day{height:43px;min-width:0;border-radius:10px;background:#fffdf6;font-size:13px;border:1px solid transparent}.calendar-day.outside-month{color:#969d8c;background:transparent}.calendar-day.today-date{border-color:var(--sage);font-weight:700}.calendar-day.selected-date{background:var(--sage);color:white}.calendar-day.past-date,.calendar-day:disabled{background:#e9eae4;color:#b1b5a9;border-color:transparent;opacity:1;cursor:not-allowed}.calendar-day.past-date:hover{background:#e9eae4}.meal-time-summary{margin:7px 0 19px;padding:20px 19px;border-radius:17px;border:1px solid #c6d7bc;background:#e5efdc;color:var(--sage)}.meal-time-summary>span{font-size:11px;font-weight:600}.meal-time-summary>b{display:block;font-family:Georgia,serif;font-size:39px;line-height:1.2;font-weight:400;margin:9px 0}.meal-time-summary>p{font-size:11px;line-height:1.6;margin:0}.delete-request{color:#a24a35;font-size:11px}.accept-all-row{display:block;margin:16px 0 3px}.accept-all-row>span{display:block;margin-bottom:8px}.accept-all-suggestions{width:100%;min-height:53px;padding:15px 14px;background:var(--sage);color:#fffefa;font-size:16px;font-weight:700;border-radius:13px;box-shadow:0 3px 10px #405f3320}.step-card.has-move-handle{position:relative;padding-left:60px}.step-card.has-move-handle .drag-handle{position:absolute;left:9px;top:10px;width:42px;height:44px;font-size:25px;background:#e2ead9;border:1px solid #c9d6bf}.step-card.has-move-handle .step-top{min-height:23px}.step-card:not(.has-move-handle) .step-top{min-height:23px}
/* Screen design 05 */
.menu-ingredient{color:#242721!important}.planner-menu .dish-info .core-ingredients{color:#242721}.step-card.has-move-handle{padding-left:14px;padding-right:58px}.step-card.has-move-handle .drag-handle{left:auto;right:8px;top:8px;width:42px;height:42px;background:transparent;border:0;color:#8b9481;font-size:27px;border-radius:10px;box-shadow:none}.step-card.has-move-handle .drag-handle:hover,.step-card.has-move-handle .drag-handle:focus-visible{background:var(--sage-pale);color:var(--sage)}.cook-meal-actions{display:flex;flex-direction:column;gap:7px;flex-shrink:0}.cook-meal-actions .icon-button:first-child{color:var(--sage);background:var(--sage-pale);border-color:#d0dcc7}.meal-info-ingredients{margin-top:22px;border-top:1px solid var(--line);padding-top:12px}.meal-info-ingredients>summary{cursor:pointer;font-size:12px;font-weight:650;padding:10px 0;color:var(--sage)}
/* Screen design 06 */
.approved-meal-group{padding-top:8px;margin-bottom:27px}.agenda-date{position:sticky;top:-8px;z-index:4;background:var(--paper);border-bottom:1px solid #cdd4c5;padding:14px 0 10px;font-size:14px;font-weight:750;color:var(--sage)}.approved-meal-group>.section-line h3{font-size:18px}.approved-meal-group .meal-time-summary{margin:5px 0 14px}
.fridge-item{border-bottom:1px solid var(--line);padding:18px 0}.fridge-item>b{font-size:14px;line-height:1.5}.fridge-item .subtle{margin:7px 0}.fridge-item .actions{margin-top:10px}.fridge-item .secondary{min-height:45px}.fridge-item:has([data-action=fridge-clear]) [data-action=fridge-all]{box-shadow:inset 0 0 0 1px #b1bea8}
.recipe-paste-panel{background:#eeeee4;border:1px solid #d8dece;border-radius:15px;padding:15px;margin:5px 0 23px}.recipe-paste-panel h3{font-size:15px;line-height:1.4;margin:0 0 7px}.recipe-paste-panel .actions{flex-wrap:wrap}.recipe-paste-panel .actions button{font-size:11px;padding:12px 9px;min-width:115px}.recipe-paste-panel textarea{width:100%;font-size:14px;line-height:1.6;resize:vertical}.edit-ingredient .recipe-check{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-top:8px;min-height:36px;width:fit-content;max-width:100%}.edit-ingredient .recipe-check input[type=checkbox]{width:20px;min-width:20px;max-width:20px;flex:0 0 20px;height:20px;padding:0;margin:0}.edit-ingredient .recipe-check span{font-size:12px;line-height:1.5;flex:0 1 auto}
.voice-order-note{padding:11px 13px;border-radius:10px;background:#eeeede;font-size:11px;color:var(--sage);line-height:1.6;margin:12px 0}.numbered-step-heading{display:flex;gap:10px;align-items:flex-start}.step-number{background:var(--ink);color:white;min-width:30px;height:30px;border-radius:9px;padding:0 5px;display:grid;place-items:center;font-size:14px;font-weight:750;flex-shrink:0}.numbered-step-heading>div{min-width:0;flex:1}.step-card .step-dish-name{font-size:17px;font-weight:750;line-height:1.45;letter-spacing:.2px;margin:0;overflow-wrap:anywhere}.numbered-step-heading small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.step-duration{font-size:10px;line-height:1.6;text-align:right;color:var(--muted);flex-shrink:0}.numbered-step h4{font-size:13px;line-height:1.75;margin:13px 0}.numbered-step .step-controls{margin-top:12px}.step-action{border-radius:11px;min-height:42px;padding:10px 17px;font-size:12px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:6px}.step-action.available{color:#fff;background:#b6473d;box-shadow:0 2px 5px #a0443018}.step-action.blocked,.step-action.blocked:disabled{opacity:1;color:#858982;background:#e6e8e0;box-shadow:none;cursor:not-allowed}.step-action.finished,.step-action.finished:disabled{opacity:1;color:white;background:#3e7852}.numbered-step.current-step{border-color:#b6473d;box-shadow:0 0 0 1px #b6473d33}.step-card.numbered-step.done{background:#eceee8;border-color:#d7dcd0;opacity:1;box-shadow:none}.numbered-step.done h3,.numbered-step.done h4,.numbered-step.done .subtle,.numbered-step.done .step-duration,.numbered-step.done .numbered-step-heading small{color:#848a7c}.numbered-step.done .step-number{background:#d3d8cc;color:#737b6d}.numbered-step.done h4{opacity:.8}.step-card.numbered-step{scroll-margin:65px 0 20px}
.legend i.grey{background:#c5cbbd}.time-block.number-only{height:25px;min-height:25px;padding:0 3px;font-size:12px;line-height:23px;font-weight:750;border:1px solid #ffffffb3;display:grid;place-items:center;overflow:visible;white-space:normal;scroll-margin:12px}.time-block.number-only.state-done{background:#d7dbd0;color:#7c8474;border-color:#c4ccbb;opacity:.8}.numbered-lane>b{font-size:12px;font-weight:700}.numbered-lane .ready-marker{font-size:9px}.numbered-lane .time-block:focus-visible{z-index:3}.timeline-wrap{scroll-behavior:smooth}.numbered-step .step-controls .badge{font-size:10px}
@media(min-width:1050px){body.cooking-workspace .step-card .step-dish-name{font-size:18px}body.cooking-workspace .steps-pane{scroll-padding-top:70px}}
@media(prefers-reduced-motion:reduce){.timeline-wrap{scroll-behavior:auto}}
/* Screen design 07 */
.recipe-row-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-2px 0 11px}.recipe-row-heading>b{font-size:12px;color:var(--sage)}.recipe-row-actions{display:flex;align-items:center;gap:5px}.delete-recipe-row{font-size:10px;min-height:36px;padding:8px 6px;color:#a94339;text-decoration:underline;text-underline-offset:3px}.recipe-drag-handle{touch-action:none;user-select:none;cursor:grab;font-size:27px;line-height:1;min-width:40px;min-height:40px;border-radius:8px;color:#818d78;padding:4px}.recipe-drag-handle:active{cursor:grabbing;background:var(--sage-pale)}.recipe-step-editor{scroll-margin:12px}.recipe-step-editor.recipe-dragging{opacity:.5}.recipe-step-editor.recipe-drop-before{box-shadow:0 -4px 0 var(--sage)}.recipe-step-editor.recipe-drop-after{box-shadow:0 4px 0 var(--sage)}.recipe-move-position{display:flex;gap:9px;align-items:center;font-size:11px;padding:10px;background:var(--sage-pale);border-radius:9px;margin-bottom:10px}.recipe-move-position select{margin-left:auto;padding:9px;min-height:40px;max-width:135px}.fridge-item .stock-selected{background:var(--sage);color:white;box-shadow:inset 0 0 0 1px var(--sage)}.fridge-finish{font-size:15px;min-height:49px}.fridge-footer-note{text-align:center;font-size:10px;margin:8px 0 0}.step-action.finished{cursor:pointer}.step-action.finished:hover{background:#326644}

.pool-search-hero{width:100%;padding:17px;text-align:left;background:var(--sage-pale);color:var(--sage);border:1px solid #d5dfcf;border-radius:15px;font-size:14px;font-weight:700;margin:5px 0 12px}.pool-search-hero span{font-size:10px;font-weight:400;display:block;margin-top:6px}.pool-from-editor{margin-bottom:17px}.pool-search{display:flex;align-items:flex-end;gap:8px;margin:8px 0}.pool-search .field{flex:1;min-width:0;margin:0}.pool-search input{font-size:16px;min-height:45px}.pool-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:5px 0 12px}.pool-admin,.pool-access{padding:14px;background:#e8eee3;border-radius:12px;margin:12px 0}.pool-admin>b{font-size:13px}.pool-admin>span{display:block;font-size:11px;line-height:1.5;margin:8px 0 12px;color:var(--sage)}.pool-recipe-card{border:1px solid var(--line);background:var(--white);border-radius:15px;padding:15px;margin:12px 0}.pool-recipe-card h3{font-size:19px;margin:0 0 7px}.pool-recipe-card>p{font-size:12px;margin:8px 0;line-height:1.6}.pool-recipe-card>.primary{margin-top:10px}.pool-recipe-card .pool-tools{margin-bottom:0}.pool-guide{padding-left:22px;font-size:13px;line-height:1.8}.pool-guide li{padding:8px 0 12px 4px}
