:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#26362c;background:#f7f8f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9dbd9c;outline-offset:2px}button:disabled,select:disabled{opacity:.55;cursor:not-allowed}.layout{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid #e5e9df;padding:32px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand,.auth-brand,.mobile-brand{font-size:27px;font-weight:750;letter-spacing:-1.5px;color:#263c2b}.mark{color:#63856b;font-size:29px;margin-right:7px}.brand-dot{color:#87a487}.sidebar-label{font-size:10px;font-weight:800;letter-spacing:.14em;color:#9da99e;margin:56px 11px 14px}.sidebar nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;text-align:left;padding:13px 12px;border-radius:8px;color:#748177;font-weight:600;display:flex;gap:14px;align-items:center}.nav-item.active{background:#edf3e9;color:#315a39}.nav-icon{font-size:19px;width:22px;text-align:center}.side-bottom{margin-top:auto;display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;font-size:13px}.avatar{display:grid;place-items:center;width:36px;height:36px;background:#dfeadc;color:#416449;border-radius:50%;font-weight:700}.side-bottom small{display:block;color:#9aa49b;margin-top:3px}.signout{grid-column:2;background:none;border:0;padding:0;text-align:left;font-size:12px;color:#728a75}.main{width:min(1210px,100%);padding:54px 56px 70px;margin:0 auto}.mobile-brand{display:none}.page-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;border-bottom:1px solid #e0e5db;padding-bottom:31px;margin-bottom:42px}.page-header h1{font-family:Georgia,serif;font-weight:500;font-size:42px;letter-spacing:-1.5px;margin:0 0 9px;color:#24372a}.page-header p,.section-heading p,.toolbar p{margin:0;color:#89948a;font-size:14px;line-height:1.5}.header-actions{display:flex;gap:10px;flex-wrap:wrap}.primary,.secondary{border-radius:7px;padding:12px 16px;font-size:13px;font-weight:700;min-height:44px;white-space:nowrap}.primary{background:#426a4a;border:1px solid #426a4a;color:white}.primary:hover{background:#34583c}.primary span{margin-left:14px}.secondary{background:#fff;border:1px solid #dfe6db;color:#47644c}.secondary:hover{background:#f1f6ee}.section-heading,.toolbar{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:19px}.section-heading h2,.toolbar h2,.house-grid h2{font-family:Georgia,serif;font-weight:500;font-size:24px;margin:0 0 7px}.text-button{background:none;border:0;padding:5px 0;color:#557b5d;font-weight:700;font-size:13px}.day-list{background:#fff;border:1px solid #e5eae1;border-radius:10px;overflow:hidden}.day-row{display:grid;grid-template-columns:125px minmax(0,1fr) 125px;gap:22px;align-items:center;padding:18px 22px;border-bottom:1px solid #edf0ea}.day-row:last-child{border-bottom:0}.day-label span{display:block;font-weight:700;font-size:14px;color:#314539}.day-label strong{display:block;font-size:12px;color:#9ba79b;margin-top:4px;font-weight:500}.day-label small{display:block;color:#809c7d;margin-top:5px}.day-controls{display:grid;grid-template-columns:1fr 1.5fr;gap:12px}.day-controls label,form label,.guest-field{display:grid;gap:6px;color:#89958a;font-size:11px;letter-spacing:.02em;font-weight:700}select,input:not([type=checkbox]){width:100%;border:1px solid #e1e7df;border-radius:6px;background:#fbfcfa;color:#364b3b;padding:10px 11px;min-height:42px;font-size:13px;font-weight:500}input[type=checkbox]{accent-color:#537b5a;width:17px;height:17px}.day-attendance{text-align:right}.people-count{display:block;font-size:13px;font-weight:700;color:#617a66;margin-bottom:7px}.review-alert{grid-column:2/4;color:#896122;background:#fbf4e5;border-radius:5px;padding:10px;font-size:12px}.footnote{font-size:12px;color:#9aa69a;margin:20px 2px}.recipe-list,.shopping-list,.members{background:#fff;border:1px solid #e5eae1;border-radius:9px;overflow:hidden}.recipe-row{width:100%;border:0;border-bottom:1px solid #edf0ea;background:white;text-align:left;display:flex;align-items:center;gap:15px;padding:14px 19px;color:inherit}.recipe-row:hover{background:#f8fbf7}.recipe-row[hidden]{display:none}.recipe-initial{width:40px;height:40px;display:grid;place-items:center;background:#edf3e9;color:#66896a;border-radius:7px;font-family:Georgia,serif;font-size:19px}.recipe-title{flex:1}.recipe-title strong,.recipe-title small{display:block}.recipe-title strong{font-size:14px}.recipe-title small,.recipe-cooks{font-size:12px;color:#98a498;margin-top:5px}.arrow{font-size:19px;color:#78947b}.search-label{width:230px}.shopping-layout,.house-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:35px}.shopping-row{display:flex;align-items:center;gap:13px;padding:15px 18px;border-bottom:1px solid #edf0ea;font-size:14px}.shopping-row:last-child{border-bottom:0}.shopping-row>span,.manual-item{flex:1}.shopping-row strong{font-size:13px;color:#748a77;font-weight:600}.shopping-row input:checked+span{text-decoration:line-through;color:#9da99d}.manual-item{display:flex;gap:13px;align-items:center}.count{font-size:12px;color:#9aa69a}.shopping-note,.account-panel{padding:24px;background:#edf3e9;border-radius:9px;height:max-content}.shopping-note h3{font-family:Georgia,serif;font-size:22px;font-weight:500;margin:15px 0 9px}.shopping-note p,.account-panel p{color:#819083;font-size:13px;line-height:1.6}.note-icon{color:#769a79;font-size:28px}.add-item{display:flex;gap:10px;margin-top:16px}.alert{background:#fbf4e5;color:#805e28;border-radius:8px;padding:15px 18px;margin-bottom:24px;font-size:13px}.alert p{margin:5px 0 0;line-height:1.5}.member{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #edf0ea;font-size:14px}.member strong{flex:1}.account-panel form{display:grid;gap:14px;margin-top:20px}.account-panel label{color:#6b7c6d}.empty{padding:22px;color:#99a599;font-size:14px}.modal-backdrop{position:fixed;inset:0;background:#23372ba3;display:flex;align-items:center;justify-content:center;padding:20px;z-index:5}.modal{background:#fff;border-radius:12px;width:min(680px,100%);max-height:90vh;overflow:auto;padding:28px;box-shadow:0 20px 80px #1a2d1d30}.modal-top{display:flex;justify-content:space-between;gap:20px}.modal-top h2{font:500 28px Georgia,serif;margin:0}.modal-top p,.modal-hint{font-size:13px;color:#929e92;margin:8px 0 22px}.close,.remove{border:0;background:none;color:#93a294;font-size:24px;line-height:1}.attendance-list label{display:flex;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0ea;font-size:14px}.attendance-list label span:first-child{flex:1}.guest-field{margin-top:22px;max-width:150px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:25px}.modal-footer span{margin-right:auto;font-size:13px;color:#718573}.form-grid{display:grid;grid-template-columns:1fr 140px;gap:15px}.modal fieldset{border:0;padding:0;margin:24px 0}.modal legend,.ingredient-heading h3{font-size:13px;font-weight:700;color:#536959}.cook-checks{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}.cook-checks label{display:flex;align-items:center;gap:5px;font-size:13px;color:#65776a}.ingredient-heading{display:flex;align-items:center;justify-content:space-between}.ingredient-row{display:grid;grid-template-columns:2fr .7fr 1fr 25px;gap:8px;margin:8px 0}.ingredient-review{grid-column:1/-1;color:#a0702b}.auth-wrap{min-height:100vh;padding:35px;display:flex;flex-direction:column;align-items:center}.auth-brand{align-self:flex-start}.auth-card{margin:auto;width:min(420px,100%);background:white;border:1px solid #e5eae1;border-radius:12px;padding:34px}.auth-art{font:27px/1.25 Georgia,serif;color:#719174;margin-bottom:28px}.auth-art em{color:#a6b9a2}.auth-card h1{font:500 30px Georgia,serif;margin:0 0 8px}.auth-card p{font-size:13px;color:#93a094;line-height:1.6}.auth-card form{display:grid;gap:15px;margin-top:24px}.wide{width:100%;margin-top:8px}.fine{font-size:11px!important}.loading{padding:40px;color:#758878}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#notice{position:fixed;bottom:20px;right:20px;background:#294631;color:white;padding:13px 18px;border-radius:7px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10}#notice.show{opacity:1}@media(max-width:800px){.layout{display:block}.sidebar{height:auto;position:static;padding:0;border:0;background:transparent}.brand,.sidebar-label,.side-bottom{display:none}.sidebar nav{display:flex;position:fixed;z-index:4;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5eae1;justify-content:space-around;padding:5px}.nav-item{display:grid;justify-items:center;gap:2px;font-size:10px;padding:7px 13px}.nav-icon{font-size:17px}.main{padding:24px 20px 100px}.mobile-brand{display:block;font-size:22px;margin-bottom:30px}.page-header{display:block;margin-bottom:30px;padding-bottom:24px}.page-header h1{font-size:34px}.header-actions{margin-top:20px}.day-row{grid-template-columns:1fr auto;gap:12px;padding:17px}.day-controls{grid-column:1/-1;grid-row:2;grid-template-columns:1fr 1.25fr}.day-attendance{grid-column:2;grid-row:1}.review-alert{grid-column:1/-1}.shopping-layout,.house-grid{grid-template-columns:1fr}.shopping-note{display:none}.recipe-cooks{display:none}.toolbar{align-items:start;flex-direction:column}.search-label{width:100%}.section-heading{align-items:start}.text-button{white-space:nowrap}.auth-wrap{padding:25px}.form-grid{grid-template-columns:1fr 100px}.ingredient-row{grid-template-columns:1.5fr .7fr .8fr 20px}.modal{padding:20px}.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:12px 12px 0 0;max-height:92vh}.side-bottom{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.mobile-signout{margin-top:20px}
.password-form{border-top:1px solid #d9e5d6;padding-top:18px}.password-form h3{font:500 20px Georgia,serif;margin:0}
.recipe-help{margin:12px 0 16px;color:#778b7c;font-size:13px;line-height:1.5}.field-help{font-size:11px;color:#87958a}.ingredient-row{align-items:end}.ingredient-row label{font-size:11px;color:#718477}.ingredient-row .remove{height:42px}.custom-unit{grid-column:3/4}.ingredient-row .ingredient-review{grid-column:1/-1}@media(max-width:480px){.ingredient-row{grid-template-columns:minmax(0,1fr) 78px 28px;gap:8px;padding-bottom:14px;border-bottom:1px solid #edf0ea}.ingredient-row label:first-child{grid-column:1/2}.ingredient-row label:nth-child(2){grid-column:2/3}.ingredient-row label:nth-child(3){grid-column:1/3;grid-row:2}.ingredient-row .remove{grid-column:3;grid-row:1}.ingredient-row .custom-unit{grid-column:1/3;grid-row:3}}
.delete-link{margin-right:auto;background:none;border:0;color:#ad4940;font-size:13px;font-weight:700;padding:10px 0}.danger{border-radius:7px;padding:12px 16px;min-height:44px;border:1px solid #a74940;background:#a74940;color:#fff;font-size:13px;font-weight:700}.danger:hover{background:#8d3932}
