@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--paper:#faf8f1;--ink:#233e32;--muted:#737c72;--line:#dfe2d6;--green:#315840;--yellow:#f3e8a4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif}header{max-width:1200px;margin:auto;padding:28px 32px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line)}a{color:inherit}.brand{text-decoration:none;font-weight:700;font-size:20px}.family{margin-left:auto;font-size:10px;letter-spacing:2px}main{max-width:1140px;margin:auto;padding:48px 24px}h1,h2{font-family:'Playfair Display',Georgia,serif}h1{font-size:clamp(40px,6vw,66px);line-height:1.1;letter-spacing:-2px;margin:15px 0 20px;font-weight:500}h2{font-size:25px;margin:0 0 16px;font-weight:500}p{line-height:1.7}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700}.muted{color:var(--muted);font-size:13px}.intro{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:40px}.intro>aside{max-width:285px;padding:24px;background:#e9eddf;border-radius:18px;border:1px solid #d8dfcc}.columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:34px}.section-title{display:flex;align-items:baseline;justify-content:space-between}.card,.panel{background:#fffefa;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:16px}.card h2{margin:12px 0 8px}.badge{font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:6px 10px;border-radius:20px;background:#f1ecd9}.votes{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 12px}button,.primary{font:inherit;cursor:pointer;border:1px solid #cfd8cb;border-radius:9px;padding:10px 13px;background:transparent;color:var(--ink);text-decoration:none;display:inline-block}button:hover{background:#edf0e5}button.selected{background:var(--green);color:white;border-color:var(--green)}button:disabled{opacity:.5;cursor:default}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#24422e}.panel .primary{width:100%}label{display:block;font-size:13px;font-weight:500;margin-bottom:16px}input,select,textarea{font:inherit;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);margin-top:8px}textarea{min-height:85px;resize:vertical}#confirmed{padding:24px;background:var(--yellow);border-radius:16px;margin-bottom:30px}#confirmed h2{margin:8px 0}#message:not(:empty){padding:14px;background:#f8e3d4;border-radius:10px;margin-bottom:24px}.empty{border:1px dashed #b9c6b2;border-radius:16px;padding:45px 25px;text-align:center}.empty b{font-family:Georgia,serif;font-size:24px}.history-row{padding:10px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:600}details{margin-top:28px}#settings{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:25px}fieldset{border:1px solid var(--line);border-radius:8px}fieldset label{display:flex;align-items:center;gap:8px;margin:8px}input[type=checkbox]{width:auto;margin:0}#pass{display:flex;align-items:end;gap:12px;margin-top:25px}#pass label{margin:0;flex:1}footer{text-align:center;color:var(--muted);font-size:12px;padding:35px}.person{font-size:25px;display:block;margin-top:8px}#login{max-width:650px;padding:40px 0}#login .primary{margin:15px 0}[hidden]{display:none!important}:focus-visible{outline:3px solid #c39b36;outline-offset:3px}@media(max-width:720px){header{padding:20px}.family{display:none}.intro{display:block}.intro>aside{max-width:none;margin-top:25px}.columns{grid-template-columns:1fr}main{padding-top:24px}#settings{grid-template-columns:1fr}h1{letter-spacing:-1px}.card,.panel{padding:20px}}

.week-planner{margin-bottom:36px}.calendar-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.calendar-toolbar h2{margin:0 auto 0 0;font-size:23px}.date-label{display:flex;align-items:center;gap:8px;margin:0;font-size:12px}.date-label input{width:auto;margin:0;padding:8px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-day{text-align:left;min-height:125px;padding:12px;background:#fffefa;display:flex;flex-direction:column;gap:8px}.calendar-day.selected{background:var(--green);color:white}.calendar-day strong{font-family:Georgia,serif;font-size:25px}.calendar-day span{font-size:12px;line-height:1.4;overflow-wrap:anywhere}.calendar-day small{font-size:10px;letter-spacing:1px}.calendar-day.today{border:2px solid #b49a43}.calendar-day[disabled]{opacity:1}@media(max-width:720px){.calendar{grid-template-columns:repeat(7,125px);overflow-x:auto;padding-bottom:8px}.calendar-toolbar h2{font-size:20px}.calendar-day{min-height:115px}}
