:root{color:#17221f;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-width:320px}button,input,select,textarea{font:inherit}a{color:inherit}.auth-shell{background:#f4f1ea;grid-template-columns:minmax(20rem,.95fr) minmax(28rem,1.05fr);min-height:100svh;display:grid}.auth-story{color:#f8f3e7;background:radial-gradient(circle at 0 100%,#8c263961,#0000 38rem),radial-gradient(circle at 100% 0,#25447961,#0000 34rem),#0d3029;flex-direction:column;justify-content:space-between;min-height:100%;padding:clamp(2rem,5vw,5rem);display:flex}.planner-brand{align-items:center;gap:.8rem;font-family:Georgia,serif;font-size:1.15rem;text-decoration:none;display:inline-flex}.planner-mark{color:#c8a959;letter-spacing:.08em;border:1px solid #c8a959;border-radius:50%;place-items:center;width:2.7rem;height:2.7rem;font-family:Georgia,serif;font-size:.78rem;display:grid}.auth-copy{max-width:39rem;margin:8rem 0}.planner-eyebrow{color:#9d823e;letter-spacing:.2em;text-transform:uppercase;margin:0 0 .8rem;font-size:.67rem;font-weight:750}.auth-story .planner-eyebrow{color:#d9bd72}.auth-copy h1{letter-spacing:-.05em;max-width:34rem;margin:0;font-family:Georgia,serif;font-size:clamp(3rem,5.6vw,5.9rem);font-weight:400;line-height:.98}.auth-copy>p:last-child{color:#c5d0cb;max-width:31rem;font-family:Georgia,serif;font-size:1.15rem;line-height:1.65}.auth-footnote{color:#8eaaa1;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.68rem}.auth-card{background:#fffdfa;border:1px solid #ded8cb;border-radius:1rem;align-self:center;width:min(100% - 3rem,30rem);margin:3rem auto;padding:clamp(2rem,5vw,3.5rem);box-shadow:0 2rem 6rem #17221f17}.auth-card h2{letter-spacing:-.035em;margin:0;font-family:Georgia,serif;font-size:2.35rem;font-weight:400}.auth-help{color:#68716d;margin:.7rem 0 2rem;line-height:1.6}.passkey-button,.magic-form button,.secondary-button{cursor:pointer;border:0;border-radius:.55rem;width:100%;padding:.9rem 1rem;font-weight:720}.passkey-button{color:#fff;background:#153b33;justify-content:center;align-items:center;gap:.7rem;display:flex}.passkey-icon{font-size:1.4rem;line-height:1}.or-rule{color:#8d918e;text-transform:uppercase;align-items:center;gap:.8rem;margin:1.5rem 0;font-size:.7rem;display:flex}.or-rule:before,.or-rule:after{content:"";background:#e3dfd6;flex:1;height:1px}.magic-form{gap:.55rem;display:grid}.magic-form label{color:#525d59;font-size:.72rem;font-weight:720}.magic-form input{background:#fff;border:1px solid #cfcabe;border-radius:.55rem;outline:none;width:100%;padding:.87rem .9rem}.magic-form input:focus{border-color:#718f83;box-shadow:0 0 0 3px #3467561f}.magic-form button{color:#153b33;background:#dfc77f;margin-top:.25rem}button:disabled{cursor:wait;opacity:.65}.security-note,.auth-notice{color:#7d827f;text-align:center;margin:1.2rem 0 0;font-size:.75rem;line-height:1.5}.auth-notice{color:#7f2638}.loading-note{color:#6f7773}.planner-app{background:#f4f1ea;grid-template-columns:15rem 1fr;min-height:100svh;display:grid}.sidebar{color:#eff5f2;background:#12352e;flex-direction:column;height:100svh;padding:1.5rem 1.25rem;display:flex;position:sticky;top:0}.sidebar nav{gap:.24rem;margin-top:3rem;display:grid}.sidebar nav a{color:#aebeb8;border-radius:.45rem;padding:.68rem .8rem;font-size:.84rem;text-decoration:none}.sidebar nav a:hover,.sidebar nav .active{color:#fff;background:#ffffff14}.sidebar-person{border-top:1px solid #ffffff1a;align-items:center;gap:.7rem;margin-top:auto;padding:.8rem;display:flex}.avatar{color:#12352e;background:#dfc77f;border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:.72rem;font-weight:800;display:grid}.sidebar-person strong,.sidebar-person small{display:block}.sidebar-person strong{font-size:.78rem}.sidebar-person small{color:#91a69e;margin-top:.12rem;font-size:.65rem}.dashboard{width:min(100%,86rem);padding:clamp(2rem,5vw,4.5rem)}.dashboard-header{justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.dashboard-header h1{letter-spacing:-.045em;margin:0;font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,4.8rem);font-weight:400}.dashboard-header>div>p:last-child{color:#65706b}.secondary-button{color:#29463e;background:#fffdfa;border:1px solid #b8b5aa;width:auto}.dashboard-notice{color:#76273a;background:#f8e8ea;border-left:3px solid #a32841;padding:.7rem 1rem;font-size:.84rem}.status-strip{background:#fffdfa;border:1px solid #dcd7cb;border-radius:.8rem;grid-template-columns:repeat(4,1fr);margin:3rem 0;display:grid}.status-strip div{border-right:1px solid #e5e0d6;padding:1.35rem}.status-strip div:last-child{border:0}.status-strip strong,.status-strip span{display:block}.status-strip strong{font-family:Georgia,serif;font-size:1.35rem;font-weight:400}.status-strip span{color:#79817d;letter-spacing:.07em;text-transform:uppercase;margin-top:.3rem;font-size:.68rem}.section-heading{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.4rem;display:flex}.section-heading h2{margin:0;font-family:Georgia,serif;font-size:2.2rem;font-weight:400}.prototype-label,.coming-soon{color:#878c89;letter-spacing:.08em;text-transform:uppercase;font-size:.65rem}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.module-card{background:#fffdfa;border:1px solid #dcd7cb;border-radius:.75rem;min-height:11rem;padding:1.4rem;box-shadow:0 .9rem 2rem #1a2b250a}.module-dot{border-radius:50%;width:.58rem;height:.58rem;display:block}.module-dot.green{background:#2c725f}.module-dot.blue{background:#315a97}.module-dot.gold{background:#c19e46}.module-dot.red{background:#a72c45}.module-card h3{margin:1.2rem 0 .4rem;font-family:Georgia,serif;font-size:1.45rem;font-weight:400}.module-card p{color:#717975;min-height:2.5rem;margin:0 0 1.3rem;font-size:.83rem;line-height:1.5}.guest-admin{max-width:100rem}.admin-columns{grid-template-columns:minmax(18rem,.75fr) minmax(26rem,1.25fr);align-items:start;gap:1rem;display:grid}.admin-card,.issued-card,.household-card{background:#fffdfa;border:1px solid #dcd7cb;border-radius:.75rem;padding:1.4rem;box-shadow:0 .9rem 2rem #1a2b250a}.admin-card{gap:1rem;display:grid}.admin-card h2,.issued-card h2,.household-section h2{margin:0;font-family:Georgia,serif;font-size:2rem;font-weight:400}.admin-card label,.issued-card label{color:#53605b;gap:.4rem;font-size:.72rem;font-weight:700;display:grid}.admin-card input,.admin-card textarea,.issued-card input{color:#17221f;background:#fff;border:1px solid #cdc8bc;border-radius:.5rem;outline:none;width:100%;padding:.72rem;font-weight:400}.admin-card input:focus,.admin-card textarea:focus{border-color:#718f83;box-shadow:0 0 0 3px #3467561f}.admin-card>button:not(.secondary-button){color:#fff;cursor:pointer;background:#153b33;border:0;border-radius:.5rem;padding:.82rem 1rem;font-weight:720}.admin-card fieldset{border:0;gap:.7rem;margin:0;padding:0;display:grid}.admin-card legend{color:#53605b;margin-bottom:.7rem;font-size:.72rem;font-weight:700}.check-label{align-items:center;gap:.5rem!important;display:flex!important}.check-label input{width:auto}.person-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.6rem;display:grid}.remove-button,.text-button{color:#8a2b3e;cursor:pointer;text-underline-offset:.2rem;background:0 0;border:0;padding:.25rem;font-size:.72rem;text-decoration:underline}.issued-card{background:#fff9e9;border-color:#c5ac65;grid-template-columns:1fr minmax(9rem,.5fr) minmax(18rem,1.5fr) auto;align-items:end;gap:1rem;margin:1.5rem 0;display:grid}.issued-card .secondary-button{align-self:end}.household-section{margin-top:3rem}.household-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.household-card header h3{margin:0;font-family:Georgia,serif;font-size:1.5rem;font-weight:400}.household-card header p{color:#7a817d;margin:.35rem 0 1rem;font-size:.75rem}.household-card ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.household-card li,.invitation-list>div{border-bottom:1px solid #ece8df;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;display:flex}.household-card li strong,.household-card li small{display:block}.household-card li small,.invitation-list{color:#808783;font-size:.68rem}.invitation-list{margin-top:1rem}.planner-error{text-align:center;place-content:center;justify-items:center;min-height:100svh;padding:2rem;display:grid}.planner-error h1{margin-bottom:0;font-family:Georgia,serif;font-size:3rem;font-weight:400}.planner-error p{color:#68716d}@media (width<=64rem){.module-grid,.household-grid{grid-template-columns:repeat(2,1fr)}.admin-columns{grid-template-columns:1fr}.issued-card{grid-template-columns:1fr 1fr}.status-strip{grid-template-columns:repeat(2,1fr)}.status-strip div:nth-child(2){border-right:0}.status-strip div:nth-child(-n+2){border-bottom:1px solid #e5e0d6}}@media (width<=48rem){.auth-shell{grid-template-columns:1fr}.auth-story{min-height:20rem;padding:1.5rem}.auth-copy{margin:4rem 0 1rem}.auth-copy h1{font-size:3rem}.auth-footnote{display:none}.auth-card{margin:2rem auto}.planner-app{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar nav,.sidebar-person{display:none}.dashboard-header{flex-direction:column;align-items:stretch}.secondary-button{width:100%}}@media (width<=34rem){.dashboard{padding:1.2rem}.module-grid,.status-strip,.household-grid,.issued-card{grid-template-columns:1fr}.status-strip div{border-bottom:1px solid #e5e0d6;border-right:0}.status-strip div:nth-child(2){border-bottom:1px solid #e5e0d6}.section-heading{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.admin-card select,.planner-response select,.planner-response textarea{color:#17221f;background:#fff;border:1px solid #cdc8bc;border-radius:.5rem;outline:none;width:100%;padding:.72rem;font-weight:400}.deadline-card{grid-template-columns:minmax(18rem,1fr) minmax(15rem,.7fr) auto;align-items:end;margin-bottom:1rem;display:grid}.deadline-card p{color:#717975;margin-bottom:0;font-size:.8rem;line-height:1.5}.field-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.household-form{grid-column:1/-1}.household-form .person-row{grid-template-columns:minmax(12rem,1fr) auto auto auto}.meal-admin-list,.people-admin-list,.response-editor-list{gap:.55rem;display:grid}.meal-admin-list>div{border-top:1px solid #ece8df;justify-content:space-between;align-items:center;gap:1rem;padding-top:.65rem;display:flex}.meal-admin-list strong,.meal-admin-list small,.people-admin-list strong,.people-admin-list small{display:block}.meal-admin-list small,.people-admin-list small{color:#808783;margin-top:.2rem;font-size:.68rem}.issued-card{grid-template-columns:minmax(16rem,.9fr) minmax(18rem,1.2fr) auto auto;align-items:center}.issued-card p{color:#6f756f;font-size:.78rem;line-height:1.5}.issued-fields,.issued-actions{gap:.65rem;display:grid}.issued-qr{background:#fff;border:1px solid #d8c584;place-items:center;padding:.55rem;display:grid}.issued-actions .secondary-button{width:100%}.household-card>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.completion-chip{color:#6d746f;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#f6f3ed;border:1px solid #d5d0c5;border-radius:999px;padding:.35rem .55rem;font-size:.62rem;font-weight:750}.completion-chip.complete{color:#245d4e;background:#eaf3f0;border-color:#9ab8ad}.completion-chip.partial{color:#795f19;background:#fff7df;border-color:#d4bd78}.people-admin-list>details{border-top:1px solid #ece8df;padding:.7rem 0}.people-admin-list summary{cursor:pointer}.people-admin-list summary::marker{color:#8d7450}.people-admin-list summary>span{margin-left:.35rem;display:inline-block}.inactive-person{opacity:.6}.person-admin-actions{background:#f5f2eb;border-radius:.55rem;justify-content:space-between;align-items:center;gap:1rem;margin:.8rem 0;padding:.75rem;display:flex}.event-eligibility-list{border:1px solid #e2ddd3;border-radius:.55rem;flex-wrap:wrap;gap:.55rem 1rem;margin:0 0 .8rem;padding:.75rem;display:flex}.event-eligibility-list legend{color:#606963;padding:0 .3rem;font-size:.68rem;font-weight:750}.planner-response{background:#fbfaf7;border:1px solid #e2ddd3;border-radius:.6rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:.85rem;display:grid}.planner-response>strong{grid-column:1/-1;font-family:Georgia,serif;font-weight:400}.planner-response label{color:#606963;gap:.35rem;font-size:.68rem;font-weight:700;display:grid}.planner-response .secondary-button{align-self:end}@media (width<=64rem){.deadline-card,.issued-card{grid-template-columns:1fr 1fr}}@media (width<=42rem){.deadline-card,.issued-card,.field-pair,.planner-response{grid-template-columns:1fr}.household-form .person-row{grid-template-columns:1fr auto auto}.household-form .person-row .remove-button{grid-column:1/-1;justify-self:start}.planner-response>strong{grid-column:1}}@media print{body *{visibility:hidden}.issued-card,.issued-card *{visibility:visible}.issued-card{width:100%;min-height:100vh;box-shadow:none;border:0;grid-template-columns:1fr auto;align-content:center;display:grid;position:absolute;inset:0}.issued-fields,.issued-actions{grid-column:1/-1}.issued-actions{display:none}}
