:root{--bg: #f4f7f5;--card: #ffffff;--text: #1c2b26;--muted: #5d6f68;--accent: #2e7d6b;--accent-text: #ffffff;--border: #d5ded9;--error: #a3261b;--notice-bg: #e3f1ec;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #131a17;--card: #1c2622;--text: #e6efeb;--muted: #9db0a8;--accent: #58b39d;--accent-text: #0c1512;--border: #2f3d37;--error: #ff9a8f;--notice-bg: #1f332c}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,sans-serif}main{max-width:40rem;margin:0 auto;padding:1rem 1rem 4rem}main.narrow{max-width:24rem;padding-top:3rem}header{display:flex;justify-content:space-between;align-items:baseline}h1{font-size:1.4rem;margin:0 0 1rem}h2{font-size:1.1rem;margin:2rem 0 .25rem}h3{font-size:1rem;margin:1rem 0 .25rem}p{margin:.4rem 0}label{display:block;margin:.75rem 0;font-weight:600}input,select,textarea{display:block;width:100%;margin-top:.25rem;padding:.6rem;font:inherit;color:inherit;background:var(--card);border:1px solid var(--border);border-radius:.5rem}label.check{display:flex;align-items:center;gap:.6rem;font-weight:400;margin:.5rem 0;min-height:2rem}label.check input{width:1.2rem;height:1.2rem;margin:0;flex:none}button{font:inherit;padding:.65rem 1rem;border-radius:.5rem;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;min-height:2.75rem}button:disabled{opacity:.6;cursor:default}button.secondary,nav button{background:transparent;color:var(--accent)}button.link{background:none;border:none;color:var(--accent);padding:.4rem .5rem;min-height:0;text-decoration:underline}nav{display:flex;gap:.5rem;margin-bottom:1rem}nav button{flex:1}nav button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.card{background:var(--card);border:1px solid var(--border);border-radius:.75rem;padding:.9rem 1rem;margin:.75rem 0}.card h3{margin-top:0}.row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.picker{max-height:16rem;overflow-y:auto;border:1px solid var(--border);border-radius:.5rem;padding:.25rem .75rem;margin:.5rem 0}.picker.days{display:flex;flex-wrap:wrap;gap:0 1rem;max-height:none}.inline{display:flex;gap:.5rem;align-items:center;margin:.75rem 0}.inline input{margin:0}.inline button{flex:none}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--error)}.notice{background:var(--notice-bg);padding:.6rem .8rem;border-radius:.5rem}
