:root{color-scheme:light;--bg:#ffffff;--ink:#253a30;--muted:#727b71;--line:#dfe3d9;--green:#326548;--cell:13px;--gap:4px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer;background:transparent;border:1px solid var(--line);border-radius:5px;padding:6px 9px}button:disabled{cursor:default;opacity:.35}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:3px}[hidden]{display:none!important}
.page{max-width:1016px;padding:40px 36px;margin:auto}h1{font-size:22px;font-weight:550;line-height:1.3;margin:0}.section-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.date-controls{display:flex;gap:8px;align-items:center}.date-controls input{border:0;background:transparent;font-size:12px;width:112px}.date-controls button{font-size:12px}
.checklist{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.check-row{display:flex;align-items:center;gap:12px;cursor:pointer;border-bottom:1px solid var(--line);padding:16px 0;font-size:14px}.check-row input{appearance:none;display:grid;place-content:center;width:23px;height:23px;flex-shrink:0;margin:0;border:1px solid #bac7b6;border-radius:5px;background:transparent;cursor:pointer}.check-row input:checked{background:var(--green);border-color:var(--green)}.check-row input:checked:after{content:'✓';color:white;font-size:15px}.save-bar{display:flex;justify-content:space-between;gap:16px;padding:15px 0 24px;font-size:12px;color:var(--muted)}#save-status[data-error="true"]{color:#a24231}
.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin-bottom:28px}.stats>div{padding:0 28px;border-left:1px solid var(--line)}.stats>div:first-child{padding-left:0;border:0}.stat-label{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}.stats strong{font-size:32px;line-height:1;font-weight:500;font-variant-numeric:tabular-nums}
.year-nav{display:flex;align-items:center;gap:14px;justify-content:flex-end;font-size:13px;margin-bottom:18px}.calendar-scroll{overflow-x:auto;padding:3px 3px 9px;margin:0 -3px}.calendar-layout{display:flex;gap:13px;min-width:max-content}.calendar{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,var(--cell));grid-auto-columns:var(--cell);gap:var(--gap)}.month-labels{height:22px;position:relative;font-size:10px;color:var(--muted)}.month-labels span{position:absolute}.week-labels{width:25px;padding-top:40px;font-size:9px;color:var(--muted);display:flex;flex-direction:column;gap:23px}.day,.legend i{background:#e7eade;border:1px solid #dfe3d7;border-radius:3px}.day{width:var(--cell);height:var(--cell);padding:0}.day:hover{outline:1px solid var(--green);outline-offset:2px}.day.selected{outline:2px solid var(--ink);outline-offset:2px}.day.today{border-color:var(--ink)}.day:disabled{opacity:.35}.day.blank{visibility:hidden}[data-level="1"]{background:#d5e3c7;border-color:#ccddbe}[data-level="2"]{background:#b9d2a6;border-color:#b2cc9c}[data-level="3"]{background:#95bb83;border-color:#8db37b}[data-level="4"]{background:#71a36b;border-color:#699b63}[data-level="5"]{background:#508653;border-color:#487e4b}[data-level="6"]{background:#285b40;border-color:#285b40}.calendar-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font-size:11px;color:var(--muted);gap:14px}.legend{display:flex;align-items:center;gap:4px;white-space:nowrap}.legend span:first-child{margin-right:3px}.legend span:last-child{margin-left:5px}.legend i{display:block;width:11px;height:11px;border-radius:2px}
#auth-form{display:flex;align-items:center;gap:10px;margin:0 0 24px;font-size:12px}#auth-form input{min-width:0;flex:1;padding:8px;border:1px solid var(--line);border-radius:5px;background:white}#auth-form button{white-space:nowrap}
@media(max-width:600px){.page{padding:24px 20px}.section-top{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:14px}h1{font-size:20px}.checklist{grid-template-columns:1fr}.check-row{padding:14px 0}.stats>div{padding:0 15px}.stat-label{font-size:11px}.stats strong{font-size:28px}.save-bar{font-size:11px}.calendar-footer{font-size:10px}}
