.management-shell{max-width:930px;margin:auto;padding:18px 16px 70px}
/* App bar: brand and household settings on top, every section below. It wraps rather than scrolls so nothing hides off screen. */
.app-bar{display:grid;gap:10px;padding:4px 0 18px}
.app-bar-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}
.app-brand{font:700 1.15rem Georgia,"Palatino Linotype",serif;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--farm-barn,#963f30);padding:6px 2px;border-radius:8px}
.app-utility{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.app-utility a,.app-utility .nav-logout button{min-height:40px;display:inline-grid;place-items:center;padding:0 14px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--farm-muted,#627a76);font:600 .92rem system-ui,sans-serif;text-decoration:none;cursor:pointer;box-shadow:none}
.app-utility a:hover,.app-utility .nav-logout button:hover{color:var(--farm-ink,#173b3b);border-color:var(--farm-rule,#becdc4)}
.app-utility a[aria-current=page]{color:var(--farm-ink,#173b3b);border-color:var(--farm-rule,#becdc4);background:var(--t-card,rgba(255,250,237,.9))}
.app-utility .nav-logout{margin:0}
.management-nav{display:flex;flex-wrap:wrap;gap:4px;padding:5px;border:1px solid var(--t-card-border,var(--farm-rule,#d7c5a4));border-radius:16px;background:var(--t-card,rgba(255,250,237,.92));box-shadow:0 6px 18px rgba(40,34,24,.08)}
.management-nav a{flex:1 1 auto;min-height:46px;display:grid;place-items:center;padding:0 12px;border:0;border-radius:11px;background:transparent;color:var(--farm-ink,#173b3b);font:600 .95rem system-ui,sans-serif;text-decoration:none;white-space:nowrap;box-shadow:none;transition:background-color .15s,color .15s}
.management-nav a:hover{background:var(--farm-sage-light,#e5e9d8);color:var(--farm-ink,#173b3b)}
.management-nav a[aria-current=page]{background:var(--t-button-hover,var(--farm-sage,#5d6b4b));color:var(--t-button-hover-ink,#fff);font-weight:700}
/* A strong ring shows where the remote is, on TVs and keyboards alike. */
.app-bar a:focus-visible,.app-bar button:focus-visible{outline:3px solid var(--farm-wheat,#d8ab6d);outline-offset:2px;position:relative;z-index:1}
.page-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:16px 0 24px}
.page-heading h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.1;margin:8px 0}
.page-heading p,.intro,.hint{color:#627a76;line-height:1.4}
.primary-link,.primary-button{display:inline-grid;place-items:center;min-height:50px;padding:10px 18px;background:#c76f47;border:0;border-radius:12px;color:white;text-decoration:none;font:700 1rem system-ui;cursor:pointer}
.primary-button{width:100%;margin-top:8px}
.secondary-button{display:inline-grid;place-items:center;min-height:48px;padding:10px 16px;background:#e4eee5;border:0;border-radius:12px;color:#173b3b;font:700 1rem system-ui;cursor:pointer}
.mobile-card{background:#fffefa;border:1px solid #e2e7dd;border-radius:20px;padding:20px;margin:16px 0;box-shadow:0 8px 24px #1933370b}
.mobile-card h2{font-size:1.5rem;margin-bottom:12px}
.mobile-card p{line-height:1.4}
.stack-form{display:grid;gap:14px}
.stack-form label{display:grid;gap:6px;font-weight:700}
.stack-form input,.stack-form select,.stack-form textarea,.planner-meal input,.planner-meal select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #becdc4;border-radius:10px;background:white;color:#173b3b;font:1rem system-ui}
.stack-form textarea{min-height:80px;resize:vertical}
.stack-form .check-label{display:flex;align-items:center;gap:10px}.check-label input{width:25px;min-height:25px}
.month-actions{display:flex;gap:8px;justify-content:space-between;margin:12px 0;overflow-x:auto}.month-actions a{min-height:44px;display:grid;place-items:center;padding:6px 12px;border-radius:10px;background:#e6ede7;text-align:center;text-decoration:none;font-weight:700;white-space:nowrap}
.month-title{margin:22px 0 12px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekday{text-align:center;color:#658078;padding:5px 0}.month-day{min-height:75px;padding:8px 5px;border-radius:9px;background:#fffefa;border:1px solid #e2e7dd;text-decoration:none;overflow:hidden}.month-day b{display:block}.month-day span{font-size:.7rem;color:#a65b38}.month-day.outside{opacity:.4}.month-day.selected{outline:3px solid #ba704c}.month-day.today{background:#e6efe4}
.list-row{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-top:1px solid #e1e8df}.list-row p{margin-top:5px;color:#627a76}.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row-actions a,.row-actions button{min-height:42px;padding:8px 12px;border:0;border-radius:9px;background:#e5eee7;color:#173b3b;font:700 .9rem system-ui;text-decoration:none;cursor:pointer}.row-actions form{margin:0}.row-actions button[type=submit]{background:#f9e5df;color:#9b432b}
.recipe-card{display:flex;justify-content:space-between;gap:15px;align-items:center}.recipe-card h2{margin:5px 0}.recipe-card small{display:block;margin-top:9px;color:#627a76}
.ingredient-row{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:8px;border-top:1px solid #e1e8df;padding:14px 0}.ingredient-row .row-actions{grid-column:1/-1}
.planner-day h2{margin-bottom:15px}.planner-meal{display:grid;grid-template-columns:100px 1.2fr 1.2fr 1fr 68px;align-items:center;gap:8px;padding:9px 0;border-top:1px solid #e1e8df}.planner-meal button{min-height:48px;border:0;border-radius:10px;background:#173b3b;color:white;font-weight:700;cursor:pointer}
.shopping-item{width:100%;display:flex;align-items:center;gap:12px;text-align:left;min-height:68px;padding:11px;border:1px solid #dfebdc;border-radius:12px;background:#f8fbf6;color:#183236;margin:8px 0;font:1rem system-ui;cursor:pointer}.shopping-item>span:first-child{font-size:1.5rem;color:#b86d43}.shopping-item>span:nth-child(2){display:grid;gap:2px;flex:1}.shopping-item small{color:#617670}.shopping-item em{font-size:.8rem;color:#a75e3b}.shopping-item.already-have,.shopping-item.purchased{background:#e5eee5;color:#5c7465}.shopping-item.purchased b{text-decoration:line-through}.shopping-item.already-have em{color:#3b7b52}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:700px){.management-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.management-nav a{padding:0 6px;font-size:.9rem}.app-brand{font-size:1rem}.planner-meal{grid-template-columns:1fr 1fr}.planner-meal strong{grid-column:1/-1}.planner-meal select{grid-column:1/-1}.planner-meal input[name=notes]{grid-column:1/-1}.planner-meal button{grid-column:1/-1}.ingredient-row{grid-template-columns:1fr 1fr}.ingredient-row input:first-child{grid-column:1/-1}.ingredient-row input:last-of-type{grid-column:1/-1}.month-day{min-height:60px}.month-day span{font-size:.62rem}.recipe-card{display:block}.recipe-card .row-actions{margin-top:14px}}
.setup-kid{display:grid;gap:12px;margin:0 0 16px;padding:14px;border:1px solid #becdc4;border-radius:12px}
.setup-kid legend{padding:0 6px;font-weight:700}
.setup-hint{margin:0;font-size:.9rem;opacity:.8}
.setup-logins code,.setup-form code{font-size:1rem}
.event-source{font-size:.85rem;opacity:.7;white-space:nowrap}
.google-calendars{display:grid;gap:8px}
