*{box-sizing:border-box}body{margin:0;background:#f5f7fa;color:#283447;font:17px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.public-shell{max-width:900px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0 26px;border-bottom:1px solid #dbe3ea}header img{display:block;width:150px;max-width:100%;height:auto}nav{display:flex;gap:20px;flex-wrap:wrap}a{color:#276b59;text-underline-offset:3px}a:focus-visible{outline:3px solid #c18b25;outline-offset:5px}main{padding:30px 0 40px}h1{font-size:clamp(2rem,6vw,2.8rem);line-height:1.2;letter-spacing:-.035em;margin:0 0 18px}h2{font-size:1.25rem;margin:32px 0 10px;line-height:1.4}p{margin:12px 0}li{margin:8px 0}ul{padding-left:24px}.intro{font-size:1.15rem}.muted,footer{color:#5d6b7e;font-size:.9rem}.note{background:#eaf2ef;border-left:4px solid #38765f;padding:16px 20px;border-radius:4px}footer{border-top:1px solid #dbe3ea;padding:20px 0}main a{overflow-wrap:anywhere}@media(max-width:520px){.public-shell{padding:18px}header{align-items:flex-start;flex-direction:column}nav{gap:16px}main{padding-top:24px}}
.card{background:#fff;border:1px solid #dbe3ea;border-radius:14px;padding:20px;margin:18px 0}.button,button{display:inline-block;background:#2d6858;color:#fff;border:0;border-radius:9px;padding:10px 16px;font:600 15px system-ui;text-decoration:none;cursor:pointer}.secondary{background:#edf2f5;color:#34475a}.booking-days{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.slot-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 20px}.slot-buttons label{border:1px solid #cbd5df;border-radius:9px;padding:8px 12px;background:#fff}input,textarea{display:block;width:100%;font:inherit;padding:10px 12px;border:1px solid #cbd5df;border-radius:8px;background:#fff;color:#253346;margin-top:6px}label{font-weight:600}form p{margin:14px 0}

/* Public answer forms: controls aligned with text, notes on their own line. */
label:has(>input[type=radio]),label:has(>input[type=checkbox]){display:flex;align-items:center;gap:.6rem;margin:.65rem 0;min-height:32px}
label>input[type=radio],label>input[type=checkbox]{display:block;flex:0 0 20px;width:20px;height:20px;margin:0;padding:0;vertical-align:middle}
label[for^="note_"]{display:block;clear:both;margin-top:1.1rem;margin-bottom:.35rem}
textarea[id^="note_"]{display:block;width:100%;box-sizing:border-box}

/* 2.4: compact rhythm, retain comfortable controls. */
.dashboard-grid{gap:16px}.dashboard-grid .card{padding:22px}.dashboard-item{padding:10px 0}.home-greeting{font-size:clamp(1.6rem,4vw,2.3rem);margin-bottom:22px}
@media(max-width:650px){.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .card{padding:18px}.card{border-radius:16px}h1{font-size:1.8rem}h2{font-size:1.3rem}}
.service-compact .card{padding:20px}.service-compact .card p{margin-block:10px}.service-compact h2{margin-block:10px}.service-compact table td,.service-compact table th{padding:10px 12px}

.recipe-heading{display:flex;align-items:start;gap:.5rem;justify-content:space-between}.recipe-share-link{padding:.25rem .5rem;font-size:1.25rem}

.feedback-entry{padding:18px 0;border-top:1px solid #dce5e8}.feedback-entry label{display:flex;gap:10px;align-items:flex-start}.feedback-entry input[type=checkbox]{flex:none;width:20px;height:20px}

/* Public Plaza entry: independent of the family dashboard. */
.identity-shell{max-width:820px}.identity-shell header{padding-bottom:18px}.identity-shell main{padding:32px 0}.identity-shell .eyebrow{font-size:.8rem;letter-spacing:.08em;font-weight:700;color:#476b60}.entry-login h2{margin-top:0}.entry-login .button{min-height:48px;padding:12px 28px;font-size:1rem}.entry-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px}.entry-options h2{margin-top:16px}@media(max-width:520px){.identity-shell header img{width:128px}.identity-shell main{padding-top:22px}.entry-login .button{display:block;text-align:center}}
