*{box-sizing:border-box}body{margin:0;background:#f7f7f2;color:#243d35;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{border:1px solid #dbe3dc;border-radius:12px;padding:11px 16px;background:white;color:inherit}button:hover{background:#edf2eb}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #dc9d44}button.primary{background:#314d45;color:white;border:0;font-weight:650;padding:15px 21px}.brand{font-size:25px;font-weight:750;letter-spacing:-1px}header{display:flex;justify-content:space-between;align-items:center;padding:26px 5%;border-bottom:1px solid #dfe5dc;background:#fffef9}header small{font-size:9px;letter-spacing:2px;margin-left:35px}.actions{display:flex;gap:8px}main{max-width:1500px;padding:35px 4%;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#788778}h1{font-size:clamp(30px,4vw,48px);letter-spacing:-2px;line-height:1.12;margin:14px 0}h1 em{font-family:Georgia,serif;font-weight:400;color:#6d846e}nav{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 30px}.filter{border:2px solid transparent;opacity:.55}.filter.active{opacity:1;border-color:var(--c);background:var(--bg)}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);margin-right:8px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.toolbar h2{font-size:18px}.toolbar button{padding:8px 13px}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.day{background:#fffefa;border:1px solid #e0e5da;border-radius:18px;min-height:330px;padding:12px 8px}.day.today{border-color:#70886d}.dayHead{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#6f7e70;margin-bottom:15px}.dayHead strong{display:block;font-size:25px;color:#314d45;margin-top:4px}.day.today .dayHead strong{color:#bb7336}.event{display:block;width:100%;text-align:left;border:0;border-left:3px solid var(--c);border-radius:10px;background:var(--bg);padding:11px 8px;margin-bottom:8px;overflow-wrap:anywhere}.event:hover{filter:brightness(.97);background:var(--bg)}.event strong{display:block;font-size:13px;line-height:1.4;margin:5px 0}.event small{font-size:10px;display:block;line-height:1.5;color:#425447}.empty{font-size:12px;color:#8c968a;padding:12px 4px}.month .day{min-height:150px}.month .dayHead strong{font-size:18px}.oneDay{max-width:650px;margin:auto}.oneDay .day{min-height:320px}.oneDay .event strong{font-size:16px}footer{text-align:center;font-size:11px;color:#7e897b;padding:30px 0}dialog{border:0;border-radius:22px;padding:24px;max-width:530px;width:calc(100% - 24px);box-shadow:0 20px 100px #203a3544;color:#243d35}dialog::backdrop{background:#20382f77;backdrop-filter:blur(3px)}.dialogHead,.dialogFoot{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialogHead h2{font-size:22px}.dialogHead button{border:0}label{display:block;font-size:13px;font-weight:600;margin:13px 0}input:not([type=checkbox]),select,textarea{display:block;width:100%;padding:11px;border:1px solid #d7dfd5;background:#fbfcf8;border-radius:10px;color:#243d35;margin-top:6px}fieldset{border:1px solid #d7dfd5;border-radius:10px;margin:15px 0}legend{font-size:12px}#personChecks{display:flex;gap:12px;flex-wrap:wrap}#personChecks label{margin:5px 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex;align-items:center;gap:9px}small{color:#6e7c6e}.danger{color:#a23a3a}.error{color:#aa3030}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#314d45;color:white;padding:12px 20px;border-radius:12px;display:none;z-index:10}.auth{max-width:440px;margin:10vh auto;background:white;border-radius:25px;padding:35px}.auth h1{font-size:34px}.holidayRow{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:8px}#seriesNote{font-size:12px;color:#8c662f}@media(max-width:900px){.week{grid-template-columns:repeat(2,minmax(0,1fr))}.month{grid-template-columns:repeat(3,minmax(0,1fr))}.day{min-height:180px}}@media(max-width:560px){header{padding:18px}.brand{font-size:22px}header small{display:none}.actions button{font-size:11px;padding:8px}main{padding:24px 14px}.intro{display:block}.intro .primary{margin-top:10px}.toolbar{flex-wrap:wrap}.toolbar h2{order:3;width:100%;margin:6px 0}.week,.month{grid-template-columns:1fr}.day{min-height:120px}.dayHead strong{display:inline;margin-left:8px}.filter{padding:9px 12px}.two{gap:8px}.dialogFoot{flex-wrap:wrap}}
.passwordField{display:flex;align-items:stretch;gap:6px;margin-top:6px}.passwordField input{flex:1;min-width:0;margin-top:0!important}.passwordToggle{flex:0 0 46px;padding:8px;font-size:20px;line-height:1;border-radius:10px}

.day.weekend{background:#edf2fa;border-color:#d5deed}.day.weekend .dayHead{color:#526b91}.day.outsideMonth{opacity:.55}

.day.freeDay:not(.weekend){background:#fff1cf;border-color:#e9cc85}.day.freeDay:not(.weekend) .dayHead{color:#916722}.day.freeDay:not(.weekend) .dayHead strong{color:#78551b}
