:root{color:#231f20;--ink:#231f20;--muted:#706a64;--paper:#fffaf2;--line:#ddd4c8;--brand:#8b1f24;--brand-2:#245f73;--ok:#24704f;--shadow:0 18px 45px #3b2d221a;background:#f3f0ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(180deg, #8b1f2412, transparent 240px), var(--bg,#f3f0ea);min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;border:0}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:.75rem .85rem}textarea{resize:vertical}label{color:var(--muted);gap:.35rem;font-size:.85rem;font-weight:700;display:grid}.page{min-height:100vh}.login-shell{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{border:1px solid var(--line);background:var(--paper);width:min(420px,100%);box-shadow:var(--shadow);border-radius:10px;padding:1.5rem}.brand,.user-pill,.weekbar,.tabs,.panel,.day-card,.summary-card{border:1px solid var(--line);background:#fffaf2eb;box-shadow:0 10px 28px #3a2f250f}.brand-mark{background:var(--brand);color:#fffaf2;letter-spacing:0;border-radius:50%;place-items:center;width:3rem;height:3rem;font-weight:900;display:inline-grid}.login-card .brand-mark{margin-bottom:1rem}.eyebrow{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .25rem;font-size:.78rem;font-weight:900}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.5rem;font-size:clamp(1.8rem,4vw,3rem);line-height:1}h2{margin-bottom:.35rem;font-size:1rem}.muted{color:var(--muted)}.form-alert,.toast{color:#72400d;background:#fff0d6;border-radius:8px;padding:.75rem .85rem}form{gap:.9rem;display:grid}form button,.primary,.primary-button{background:var(--brand);color:#fff;border-radius:8px;padding:.78rem 1rem;font-weight:800}.ghost,.ghost-button,.week-actions a,.tabs button,.summary-title button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:.65rem .85rem;font-weight:800}.ghost{width:100%;margin-top:.85rem}.app-shell{width:min(1180px,100% - 2rem);margin:0 auto;padding:1rem 0 3rem}.topbar,.weekbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.topbar{padding:.5rem 0 1rem}.brand{border-radius:10px;align-items:center;gap:.8rem;padding:.7rem;display:flex}.brand small,.user-pill small{color:var(--muted);display:block}.user-pill{border-radius:999px;align-items:center;gap:.8rem;padding:.55rem .7rem .55rem 1rem;display:flex}.user-pill a{background:#efe7dc;border-radius:999px;padding:.45rem .7rem;font-weight:800}.weekbar{border-radius:10px;padding:1rem}.week-actions,.tabs{flex-wrap:wrap;gap:.55rem;display:flex}.week-actions .active,.tabs .active{background:var(--brand-2);color:#fff}.tabs{border-radius:10px;margin:1rem 0;padding:.6rem}.day-grid,.summary-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.day-card,.summary-card,.panel{border-radius:10px;padding:1rem}.day-card>header,.summary-card>header,.panel-heading{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.day-card header p,.summary-card header p,.panel-heading p{color:var(--muted);margin:0}.service-block,.summary-service,.detail-list section{border-top:1px solid var(--line);margin-top:.9rem;padding-top:.9rem}.service-head p{min-height:2.6rem;color:var(--muted)}.slot-row{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.slot-row form{display:block}.slot-row button{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;padding:.75rem .2rem;font-weight:900}.slot-row button.selected{background:var(--ok);color:#fff;border-color:#0000}.slot-row form:first-child button.selected{background:var(--brand-2)}.summary-title,.counter-row,.metrics,.person-row,.table-row,.user-form,.publish-form{gap:.7rem;display:grid}.summary-title{grid-template-columns:1fr auto;align-items:center}.counter-row{grid-template-columns:repeat(3,1fr)}.counter-row span,.metrics span{color:var(--muted);background:#f1ece3;border-radius:8px;gap:.15rem;padding:.75rem;display:grid}.counter-row strong,.metrics strong{color:var(--ink);font-size:1.25rem}.diet-line{color:var(--brand);font-weight:800}.panel{margin-top:1rem}.narrow{max-width:640px}.metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:1rem}.publish-form,.user-form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;margin-bottom:1rem}.menu-editor,.table,.detail-list{gap:.75rem;display:grid}.menu-form,.table-row,.person-row{background:#fff;border-radius:8px;padding:.75rem}.menu-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.table-row{grid-template-columns:1.3fr 1fr .8fr 1fr auto auto auto;align-items:center}.person-row{grid-template-columns:1fr 1fr auto 1fr minmax(180px,240px);align-items:center}.person-row form{grid-template-columns:1fr auto;gap:.45rem;display:grid}.check{align-items:center;gap:.45rem;display:flex}.check input{width:auto}.pwa-install-banner{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem;display:flex;position:fixed;bottom:1rem;left:1rem;right:1rem}.pwa-install-copy,.pwa-install-actions{align-items:center;gap:.75rem;display:flex}.pwa-install-copy img{width:42px;height:42px}@media (width<=760px){.app-shell{width:min(100% - 1rem,1180px)}.topbar,.weekbar,.pwa-install-banner{flex-direction:column;align-items:stretch}.user-pill,.brand{border-radius:10px}.table-row,.person-row,.menu-form{grid-template-columns:1fr}}
