:root{--bg:#f1f0ea;--surface:#fff;--ink:#20242b;--ink-muted:#62666f;--ink-faint:#9a9a90;--border:#dedcd2;--border-strong:#c7c4b6;--accent:#c98a2c;--todo:#62666f;--todo-bg:#e7e6e1;--progress:#2f6fa8;--progress-bg:#e5eff7;--blocked:#b7452f;--blocked-bg:#fbeae6;--done:#4f7a52;--done-bg:#eaf1ea;--accent-bg:#fbf0dd}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:32px 24px 80px}.wrap{max-width:1080px;margin:0 auto}h1{font-size:24px;margin:0 0 4px}.sub{color:var(--ink-muted);font-size:13px;margin-bottom:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}input,select,textarea{font-size:14px;padding:8px 10px;border:1px solid var(--border);width:100%}button,input,select,textarea{border-radius:8px;background:var(--surface);color:var(--ink)}button{font-weight:600;font-size:13px;cursor:pointer;border:1px solid var(--border-strong);padding:9px 16px}button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.navbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.navbar a{margin-right:14px;color:var(--ink-muted);text-decoration:none;font-size:13px}.navbar a.active{color:var(--ink);font-weight:600}.task-row{display:grid;grid-template-columns:1fr 120px 130px 140px 90px;grid-gap:12px;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);align-items:center}.task-row:last-child{border-bottom:none}.task-row.is-overdue{background:var(--blocked-bg)}.task-row.is-due-today,.task-row.is-overdue{margin:0 -12px;padding:12px;border-radius:8px}.task-row.is-due-today{background:var(--accent-bg)}.deadline-overdue{color:var(--blocked);font-weight:700}.deadline-today{color:var(--accent);font-weight:700}.badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;display:inline-block}.badge.st-Not-started{background:var(--todo-bg);color:var(--todo)}.badge.st-In-progress{background:var(--progress-bg);color:var(--progress)}.badge.st-Blocked,.badge.st-Waiting{background:var(--blocked-bg);color:var(--blocked)}.badge.st-Under-review{background:var(--accent-bg);color:var(--accent)}.badge.st-Done{background:var(--done-bg);color:var(--done)}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--ink-muted);margin-bottom:4px}.error{color:var(--blocked);font-size:13px;margin-top:8px}.counts-table{width:100%;border-collapse:collapse;margin-top:14px;font-size:13px}.counts-table th{text-align:center;padding:8px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);border-bottom:1px solid var(--border)}.counts-table th:first-child{text-align:left}.counts-table td{padding:10px;text-align:center;border-bottom:1px solid var(--border)}.counts-table tr:last-child td{border-bottom:none}.counts-table tr:hover td{background:#fafaf7}.counts-table td:first-child{text-align:left}.counts-row-link{color:var(--ink);font-weight:600;text-decoration:none}.counts-row-link:hover{color:var(--accent)}.count-pill{display:inline-block;min-width:26px;padding:3px 9px;border-radius:20px;font-weight:700;font-size:12px;text-decoration:none}.count-pill.st-Not-started{background:var(--todo-bg);color:var(--todo)}.count-pill.st-In-progress{background:var(--progress-bg);color:var(--progress)}.count-pill.st-Waiting{background:var(--blocked-bg);color:var(--blocked)}.count-pill.st-Under-review{background:var(--accent-bg);color:var(--accent)}.count-pill.st-Done{background:var(--done-bg);color:var(--done)}.count-zero{color:var(--ink-faint)}.count-total{font-weight:700;color:var(--ink);font-size:14px}.insights-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-bottom:16px}.insights-grid>.card{margin-bottom:0}@media (max-width:800px){.insights-grid{grid-template-columns:1fr}}.modal-bg{position:fixed;inset:0;background:rgba(32,36,43,.4);display:flex;align-items:center;justify-content:center}.modal{background:var(--surface);border-radius:12px;padding:24px;width:420px;max-width:92vw}.row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.muted{color:var(--ink-muted);font-size:13px}