:root{--bg:#f4f6f3;--surface:#fbfcfa;--surface-strong:#ffffff;--text:#1f2720;--muted:#687164;--line:#d7ded3;--accent:#2f6b3f;--accent-strong:#214f2e;--danger:#a33b2f;--warning:#9a6a18;--complete:#43735d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.auth-page{display:grid;min-height:100svh;place-items:center;padding:24px}.auth-panel{width:min(420px,100%);background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;padding:28px}.auth-panel h1,.page-title h1{margin:0;font-size:30px;line-height:1.1}.auth-panel p,.page-title p{margin:8px 0 0;color:var(--muted)}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100svh}.sidebar{background:#223326;color:#f8f2e7;padding:22px 16px}.brand{display:grid;grid-gap:4px;gap:4px;margin-bottom:26px}.brand strong{font-size:20px}.brand span,.user-line{color:#c8d4c2;font-size:13px}.nav{display:grid;grid-gap:6px;gap:6px}.logout-button,.nav a{border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer;display:block;padding:10px 12px;text-align:left;width:100%}.logout-button:hover,.nav a:hover{background:rgba(255,255,255,.1)}.main{padding:28px}.topbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:26px;gap:18px}.page-title{display:grid;grid-gap:4px;gap:4px}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.segmented-control{background:#eef4ec;border:1px solid #d7e2d3;border-radius:8px;display:inline-flex;gap:4px;margin-bottom:14px;padding:4px}.segmented-control button{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--muted);cursor:pointer;display:inline-flex;gap:6px;min-height:32px;padding:6px 10px}.segmented-control button.active{background:#ffffff;color:var(--accent-strong);box-shadow:0 1px 2px rgba(44,61,43,.12)}.segmented-control span{color:inherit;font-size:12px}.form-collapse .segmented-control{margin-bottom:0}.tab-shell{display:grid;grid-gap:14px;gap:14px}.tab-list{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px}.tab-list button{align-items:center;background:transparent;border:0;border-bottom:3px solid transparent;color:var(--muted);cursor:pointer;display:inline-flex;gap:6px;min-height:42px;padding:9px 12px}.tab-list button.active{border-bottom-color:var(--accent);color:var(--accent-strong);font-weight:700}.tab-list span{background:#eef4ec;border-radius:999px;color:inherit;font-size:12px;line-height:1;padding:4px 6px}.tab-panel{min-width:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px}.grid{display:grid;grid-gap:16px;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(5,minmax(120px,1fr))}.metric{border-left:3px solid var(--accent);padding:8px 10px}.metric span{color:var(--muted);display:block;font-size:12px}.metric strong{display:block;font-size:28px;margin-top:4px}.section-title{align-items:center;display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.section-title h2{font-size:18px;margin:0}.collapsible-panel>summary,.form-collapse>summary{align-items:center;cursor:pointer;display:flex;gap:12px;justify-content:space-between;list-style:none}.collapsible-panel>summary::-webkit-details-marker,.form-collapse>summary::-webkit-details-marker{display:none}.collapsible-panel .section-heading{font-size:18px;font-weight:700}.collapse-indicator{color:var(--accent-strong);font-size:13px;white-space:nowrap}.collapsible-panel[open]>summary,.form-collapse[open]>summary{margin-bottom:14px}.collapsible-panel[open] .collapse-indicator,.form-collapse[open] .collapse-indicator{font-size:0}.collapsible-panel[open] .collapse-indicator:after,.form-collapse[open] .collapse-indicator:after{content:"Свернуть";font-size:13px}.form-collapse{background:#eef4ec;border:1px solid #d7e2d3;border-radius:8px;margin-bottom:16px;padding:10px}.form-collapse>summary span:first-child{font-weight:700}.list{grid-gap:8px;gap:8px}.list,.row{display:grid}.row{align-items:center;background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.row-title{font-weight:700}.row-meta{color:var(--muted);font-size:13px;margin-top:4px}.clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.task-description{display:grid;grid-gap:10px;gap:10px;line-height:1.55}.task-description p{margin:0}.badge{border-radius:999px;display:inline-flex;font-size:12px;line-height:1;padding:5px 8px;white-space:nowrap}.badge.pending{background:#e8efe4;color:var(--accent-strong)}.badge.completed{background:#dcefe5;color:var(--complete)}.badge.skipped{background:#ece7dc;color:var(--muted)}.badge.overdue{background:#f4dfd9;color:var(--danger)}.badge.postponed{background:#f2e7cb;color:var(--warning)}.form-grid{display:grid;grid-gap:12px;gap:12px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;grid-gap:6px;gap:6px}.field label{color:var(--muted);font-size:12px}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{background:#ffffff;border:1px solid var(--line);border-radius:6px;color:var(--text);min-height:40px;padding:9px 10px;width:100%}.checkbox-row input[type=checkbox],.checkbox-row input[type=radio],.field input[type=checkbox],.field input[type=radio]{accent-color:var(--accent);flex:0 0 auto;height:16px;margin:0;width:16px}.field textarea{min-height:78px;resize:vertical}.checkbox-row{align-items:center;display:flex;gap:8px}.check-list{display:grid;grid-gap:6px;gap:6px}.field-hint{color:var(--muted);margin:-2px 0 2px}.field-hint,.hint-list{font-size:12px;line-height:1.35}.hint-list{background:#eef4ec;border:1px solid #d7e2d3;border-radius:8px;color:#3f5b42;display:grid;grid-gap:4px;gap:4px;padding:10px}.button{align-items:center;background:var(--accent);border:1px solid var(--accent);border-radius:6px;color:white;cursor:pointer;display:inline-flex;min-height:38px;padding:8px 12px}.button.secondary{background:transparent;color:var(--accent-strong)}.button.danger{background:transparent;border-color:#d9b5ad;color:var(--danger)}.button:disabled{cursor:wait;opacity:.65}.empty{color:var(--muted);padding:14px 0}.mt-16{margin-top:16px}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.form-grid.two,.grid.two,.metrics{grid-template-columns:1fr}.main{padding:18px}.row{grid-template-columns:1fr}}