:root{--ink:#082b35;--muted:#586f76;--paper:#f3f6f7;--line:#d9e3e7;--gold:#f5c451;--aqua:#087c74;--red:#a53324}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}header{max-width:1140px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:24px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:850;text-decoration:none}.brand b{display:grid;place-items:center;background:var(--ink);color:var(--gold);width:42px;height:42px;border-radius:14px;font-size:25px}header>span{color:var(--muted);font-size:14px}main{max-width:1100px;margin:20px auto 80px;padding:0 20px}h1{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.045em;line-height:1.06;margin:10px 0 20px}h2{font-size:1.4rem;letter-spacing:-.02em;margin:0 0 12px}h3{font-size:1.05rem;margin:15px 0 8px}p{margin:0 0 17px}.muted,small{color:var(--muted)}small{font-size:14px}.hero{max-width:730px;margin:65px auto;background:var(--ink);color:white;border-radius:28px;padding:46px}.hero h1{font-size:clamp(3rem,8vw,5.5rem)}.hero p{color:#d0e3e7;font-size:19px;max-width:520px}.hero .steps{margin-top:30px;color:#d0e3e7;font-size:16px}.narrow{max-width:680px;margin:35px auto}.card{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;margin:0 0 20px;box-shadow:0 7px 24px #082b3505}.dark{background:var(--ink);color:white}.dark small{color:#bcd4db}.grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:22px;align-items:start}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.top{margin:25px 0}.eyebrow{font-size:15px;color:var(--aqua);font-weight:750}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}button,.button{font:inherit;min-height:48px;padding:11px 18px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}button:hover,.button:hover{border-color:var(--aqua)}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--gold);border-color:var(--gold);color:var(--ink)}.secondary{background:var(--ink);border-color:var(--ink);color:white}.danger{color:var(--red)}label{display:block;margin:17px 0 7px;font-weight:700}input,textarea,select{font:inherit;background:white;color:var(--ink);border:1px solid #afc3cb;border-radius:11px;padding:12px;min-height:48px;width:100%}input[type=checkbox]{width:22px;min-height:22px;height:22px;accent-color:var(--aqua)}.check{display:flex;align-items:center;gap:12px;font-weight:500}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}textarea{min-height:190px;resize:vertical}.notice{padding:14px 17px;border-radius:12px;background:#e2f3ef;margin-bottom:20px}.warning{background:#fff2cd;color:#714d00}.error{background:#ffebe8;color:#8a281d}.options{display:grid;grid-template-columns:1fr;gap:8px}.option{justify-content:start;text-align:left;font-weight:600}.option.selected{background:var(--ink);color:white;border-color:var(--ink);box-shadow:inset 5px 0 var(--gold)}.tag{border-radius:30px;padding:5px 10px;background:#e2f3ef;color:#076359;font-size:14px;font-weight:750;display:inline-block}.tag.warn{background:#fff1c6;color:#755000}.tag.gray{background:#edf1f3;color:#526970}.line{border-top:1px solid var(--line);padding:16px 0}.line:first-child{border-top:0}.line:last-child{padding-bottom:0}.meta{color:var(--muted);font-size:14px;margin:5px 0 0}.big{font-size:1.4rem;font-weight:800}.tabs{display:flex;gap:8px;margin:15px 0 22px;flex-wrap:wrap}.tabs button.active{background:var(--ink);color:white}.compact{min-height:40px;padding:7px 12px;font-size:14px}.spacer{margin-top:24px}.date{max-width:340px}.links{overflow-wrap:anywhere}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.stats>div{padding:17px;border:1px solid var(--line);background:white;border-radius:16px}.stats strong{display:block;font-size:25px}.instructions{font-size:14px;color:var(--muted)}details{border-top:1px solid var(--line);padding:15px 0}summary{cursor:pointer;font-weight:700}#message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:14px 20px;border-radius:12px;box-shadow:0 5px 30px #0002;max-width:90vw;display:none;z-index:20}#message.show{display:block}dialog{max-width:560px;width:92%;padding:28px;border:0;border-radius:20px}dialog::backdrop{background:#082b3580}dialog button{margin-top:15px}:focus-visible{outline:3px solid var(--aqua);outline-offset:3px}.empty{padding:20px;color:var(--muted)}
.week-scroll{overflow-x:auto}.weeks{width:100%;border-collapse:collapse;margin:20px 0}.weeks th,.weeks td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:center}.weeks th:first-child{text-align:left}.weeks thead{background:#edf4f5}.weeks tbody th{font-weight:500}.weeks input{width:26px;height:26px;min-height:26px;cursor:pointer}.weeks .current{background:#fff8e6}.datebutton{border:0;background:transparent;padding:3px;min-height:40px;text-align:left;justify-content:start}.export-dialog{max-width:650px}.export-dialog img{width:100%;display:block;border:1px solid var(--line)}
@media(max-width:760px){header{padding:17px}header>span{display:none}main{padding:0 14px;margin-top:5px}.hero{margin:28px 0;padding:30px 24px}.grid,.two{grid-template-columns:1fr}.card{padding:19px}.stats{gap:7px}.stats>div{padding:12px}.stats small{font-size:13px}.actions button{flex:1}.top h1{font-size:2.2rem}.date{max-width:100%}.narrow{margin-top:20px}.weeks th,.weeks td{padding:9px 4px;font-size:14px}.datebutton{font-size:14px}.weeks th:first-child{width:34%}}
