:root{font:15px/1.5 system-ui,sans-serif;color:#192927;background:#f3f6f4;--line:#dce5df;--muted:#50655d;--accent:#17684e;--paper:#fff}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr)}aside{background:#142d27;color:#fff;padding:28px 16px;display:flex;flex-direction:column;gap:36px}a{color:var(--accent)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:white;font-size:17px;font-weight:750;padding:0 6px}.brand span{background:#d9f5d8;color:#143829;border-radius:12px;padding:9px 11px}.brand small{display:block;font-weight:400;color:#bad1c4;font-size:12px}nav{display:grid;gap:7px}nav a{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:9px;color:#cfdfd6;text-decoration:none}nav a[aria-current=page],nav a:hover{color:#fff;background:#285043}.nav-icon{width:20px;display:inline-block;text-align:center}.sidefoot{margin-top:auto;color:#bcd3c6;font-size:12px;padding:0 8px}.dot{display:inline-block;width:7px;height:7px;background:#a6e6a8;border-radius:50%;margin-right:5px}main{width:100%;max-width:1450px;margin:auto auto auto 0;padding:35px clamp(16px,4vw,56px)}header{padding:27px 28px;background:#dceee3;border:1px solid #d0e5d8;border-radius:17px;margin-bottom:22px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;color:#2f6450}h1{font-size:clamp(27px,4vw,40px);letter-spacing:-.045em;line-height:1.14;margin:8px 0 9px}p{margin:0;color:var(--muted)}.toolbar,#filters,.actions,footer{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.toolbar{justify-content:space-between;margin-bottom:14px}.week{font-weight:700;padding:0 4px}button,.button,select,input,textarea{font:inherit;color:inherit;background:white;border:1px solid var(--line);border-radius:8px;padding:7px 11px}button,.button{cursor:pointer}button:hover,.button:hover{border-color:#86a696}.primary{background:var(--accent);border-color:var(--accent);color:white;font-weight:700}.primary:hover{background:#10503c}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin-bottom:14px}.stat{background:var(--paper);border:1px solid var(--line);padding:11px 14px;border-radius:10px;color:var(--muted);font-size:13px}.stat b{display:block;color:#193d31;font-size:23px;line-height:1.2}.table{overflow:auto;background:white;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th,td{padding:11px 13px;vertical-align:top;border-bottom:1px solid #e7ece8}th{background:#eaf1ec;color:#35574a;font-size:12px;white-space:nowrap}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f9fbfa}td small{display:block;color:var(--muted);margin-top:3px;white-space:pre-line}td:last-child{white-space:nowrap}.tag{display:inline-block;font-size:12px;background:#ecf0ee;padding:3px 8px;border-radius:7px}.tag.good{background:#dff2e6;color:#21533a}.tag.work{background:#fff0d2;color:#68480a}.rowbtn{padding:4px 8px;font-size:13px}.empty{padding:36px 16px;text-align:center;color:var(--muted)}footer{margin-top:18px;color:var(--muted);font-size:12px}footer span{margin-right:auto}#notice{margin-top:8px}dialog{width:min(540px,calc(100% - 24px));border:1px solid var(--line);border-radius:15px;padding:24px;color:inherit}dialog::backdrop{background:#102e26a0}h2{margin:0 0 14px;font-size:23px}#fields{display:grid;gap:9px}#fields label{display:grid;gap:4px;font-size:13px;font-weight:650}#fields input,#fields select,#fields textarea{width:100%;font-weight:400}.actions{justify-content:flex-end;margin-top:18px}@media(max-width:720px){body{display:block}aside{gap:10px;padding:12px}nav{display:flex;flex-wrap:wrap;gap:3px}nav a{padding:7px;font-size:13px}.sidefoot{display:none}main{padding-top:15px}header{padding:18px}th,td{padding:9px}table{min-width:650px}}

.toolbar-actions,#plan-view{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
#plan-view button[aria-pressed=true]{background:#dceee3;border-color:#8caf9f;color:#194a39;font-weight:700}
.summary:empty{display:none}
.day-list{display:grid;gap:14px}
.day-card{display:grid;grid-template-columns:minmax(130px,.68fr) minmax(0,1.75fr) minmax(0,1fr);gap:clamp(14px,2.3vw,30px);padding:clamp(16px,2.5vw,30px);border:1px solid var(--line);border-radius:15px;background:var(--paper)}
.day-info h2{font-size:clamp(18px,1.6vw,24px);line-height:1.2;margin:0 0 7px}
.day-info time{color:var(--muted)}
.day-done{display:flex;align-items:center;gap:8px;margin-top:19px;color:var(--muted);cursor:pointer}
.day-done input{width:17px;height:17px;margin:0;accent-color:var(--accent)}
.day-field{display:grid;gap:7px;align-content:start;min-width:0;color:var(--muted);font-weight:700}
.day-field textarea{width:100%;min-height:152px;resize:vertical;color:#192927;font-weight:400;line-height:1.55}
.day-field textarea:focus{outline:2px solid #80ad9a;outline-offset:1px}
.day-complete{border-color:#96bda7}
.day-status{display:block;margin-top:8px;color:var(--muted)}
@media(max-width:950px){.day-card{grid-template-columns:1.55fr 1fr}.day-info{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.day-info h2,.day-done,.day-status{margin:0}}
@media(max-width:560px){.day-card{grid-template-columns:1fr}.day-field textarea{min-height:110px}}
