:root{--brand: #1d4a5a;--brand-ink: #123441;--accent: #c2672b;--bg: #f5f3ef;--card: #ffffff;--ink: #1d2327;--muted: #5d6a70;--line: #e2ded6;--good: #2f7d4f;--good-bg: #e6f2ea;--miss: #8a5a14;--miss-bg: #f8eedc;--danger: #b3261e;--radius: 12px;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:var(--brand)}h1{font-size:1.75rem;margin:0;letter-spacing:-.01em}h2{font-size:1.15rem;margin:0 0 1rem}h3{font-size:1rem;margin:0 0 .5rem}h4{font-size:.98rem;margin:0}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--card);border-bottom:1px solid var(--line)}.topbar-inner{max-width:980px;margin:0 auto;padding:.75rem 16px;display:flex;align-items:center;gap:1.5rem}.brand{text-decoration:none;color:var(--ink)}.logo{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.1rem}.nav{display:flex;gap:1rem}.nav a{text-decoration:none;color:var(--muted);font-weight:500;padding:.25rem 0;border-bottom:2px solid transparent}.nav a.active{color:var(--ink);border-bottom-color:var(--accent)}.who{margin-left:auto;display:flex;align-items:center;gap:.75rem;font-size:.9rem}.who-name{color:var(--muted)}.main{flex:1;width:100%;max-width:980px;margin:0 auto;padding:2rem 16px 3rem}.footer{text-align:center;color:var(--muted);font-size:.85rem;padding:1.5rem 16px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.eyebrow{margin:0 0 .25rem;color:var(--accent);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem}.card.empty{text-align:center;padding:3rem 1.5rem}.table-card{padding:0;overflow-x:auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.25rem}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;display:flex;flex-direction:column}.stat-label{font-size:.8rem;color:var(--muted);font-weight:500}.stat-value{font-size:1.9rem;font-weight:700;color:var(--brand-ink);line-height:1.2;margin:.15rem 0}.stat-sub{font-size:.82rem;color:var(--muted)}.chart{margin:0}.chart svg{width:100%;height:auto;display:block}.chart .grid{stroke:var(--line);stroke-width:1}.chart .tick{fill:var(--muted);font-size:12px}.chart .value{fill:var(--brand-ink);font-size:13px;font-weight:600}.chart .line{fill:none;stroke:var(--brand);stroke-width:2.5;stroke-linejoin:round}.chart .area{fill:var(--brand);opacity:.08}.chart .dot{fill:var(--card);stroke:var(--brand);stroke-width:2.5}.chart .fix-line{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 4;opacity:.6}.chart .fix-mark{fill:var(--accent);cursor:help}.chart figcaption{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.82rem;color:var(--muted);margin-top:.5rem}.legend-line{display:inline-block;width:18px;height:3px;background:var(--brand);border-radius:2px}.legend-fix{display:inline-block;width:9px;height:9px;background:var(--accent);transform:rotate(45deg);margin-left:.9rem}.task-section{margin-bottom:1.5rem}.task-section:last-child{margin-bottom:0}.task-section h3{display:flex;align-items:center;gap:.5rem}.count{background:var(--bg);color:var(--muted);border-radius:999px;padding:0 .55rem;font-size:.78rem;font-weight:600}.section-toggle{font:inherit;font-weight:600;color:var(--ink);text-decoration:none;padding:0}.tasks{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.task{border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem}.task.is-done{background:#faf9f6}.task.is-done h4{color:var(--muted)}.task-head{display:flex;gap:.8rem;align-items:flex-start}.task-main{flex:1;min-width:0}.task-main p{margin:.25rem 0 0}.task-details{color:var(--ink);font-size:.92rem}.task-meta{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}.owner{font-weight:600}.owner-kestrel{color:var(--brand)}.owner-client{color:var(--accent)}.task-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.75rem}.status{flex-shrink:0;font-size:.72rem;font-weight:600;border-radius:999px;padding:.15rem .55rem;white-space:nowrap;margin-top:1px}.status-todo{background:var(--bg);color:var(--muted)}.status-in_progress{background:#e4eef2;color:var(--brand)}.status-done{background:var(--good-bg);color:var(--good)}.note-form{margin-top:.75rem;display:grid;gap:.5rem}.note-form label{display:grid;gap:.3rem;font-size:.85rem;font-weight:500}.log{list-style:none;margin:.75rem 0 0;padding:.75rem 0 0;border-top:1px dashed var(--line);display:grid;gap:.55rem;font-size:.85rem}.log li{display:grid;grid-template-columns:9.5rem 1fr;column-gap:.75rem}.log-when{color:var(--muted)}.log-what{display:flex;gap:.5rem;flex-wrap:wrap}.log-who{color:var(--muted)}.log-who.who-kestrel{color:var(--brand)}.log-note{grid-column:2;color:var(--ink);font-style:italic}.admin-controls{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.admin-controls label{display:grid;gap:.2rem;font-size:.78rem;color:var(--muted);font-weight:500}.report-list{list-style:none;margin:0;padding:0}.report-list li{display:flex;align-items:center;gap:1rem;border-top:1px solid var(--line)}.report-list li:first-child{border-top:0}.report-list a:first-child{flex:1;display:grid;grid-template-columns:10rem 10rem 1fr;gap:1rem;padding:.8rem 0;text-decoration:none;color:var(--ink)}.report-list a:first-child:hover .report-month{text-decoration:underline}.report-month{font-weight:600;color:var(--brand)}.report-score{font-weight:500}.report-summary{color:var(--muted);font-size:.9rem}.big-number{font-size:1.5rem;font-weight:700;color:var(--brand-ink);margin:0 0 .5rem}.question{margin-bottom:1.5rem}.question:last-child{margin-bottom:0}.answer{border-left:3px solid var(--line);padding:.4rem 0 .4rem 1rem;margin:.6rem 0}.answer.named{border-left-color:var(--good)}.answer-head{display:flex;align-items:center;gap:.6rem;margin:0}.answer-text{margin:.3rem 0}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th{text-align:left;font-size:.78rem;color:var(--muted);font-weight:600;padding:.75rem 1rem;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:.75rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}.table tr:last-child td{border-bottom:0}.table .num{text-align:right}.table tr.overdue td:first-child{color:var(--danger);font-weight:600}.pill{font-size:.75rem;font-weight:600;border-radius:999px;padding:.1rem .55rem}.pill-good{background:var(--good-bg);color:var(--good)}.pill-miss{background:var(--miss-bg);color:var(--miss)}.form{display:grid;gap:1rem}.form label,.settings-grid label{display:grid;gap:.35rem;font-weight:500;font-size:.9rem}.label{display:block;font-weight:500;font-size:.9rem;margin-bottom:.35rem}input,select,textarea{font:inherit;font-size:.95rem;padding:.55rem .7rem;border:1px solid #cfc9be;border-radius:8px;background:#fff;color:var(--ink);width:100%}select{width:auto}.admin-controls input,.admin-controls select{font-size:.85rem;padding:.35rem .5rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}.btn{font:inherit;font-weight:600;font-size:.92rem;border-radius:8px;padding:.55rem 1rem;border:1px solid #cfc9be;background:#fff;color:var(--ink);cursor:pointer;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--brand)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-ink)}.btn.ghost{border-color:transparent;background:transparent;color:var(--muted)}.btn.ghost:hover{color:var(--ink)}.btn.small{font-size:.82rem;padding:.35rem .75rem}.btn:disabled{opacity:.6;cursor:default}.link{background:none;border:0;padding:0;color:var(--brand);cursor:pointer;font:inherit;text-decoration:underline}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.inline-form{grid-template-columns:2fr 1fr 1fr auto;align-items:end}.inline-form .hint,.inline-form .error{grid-column:1 / -1;margin:0}.settings-grid{display:grid;grid-template-columns:1fr 2fr;gap:2rem}.plain{list-style:none;padding:0;margin:0 0 .75rem;font-size:.9rem}.muted{color:var(--muted)}.small{font-size:.82rem}.hint{color:var(--muted);font-size:.8rem;font-weight:400;margin:.25rem 0 0}.error{color:var(--danger)}.empty-line{margin:0;font-size:.9rem}.center-screen{min-height:100vh;display:grid;place-items:center;padding:16px}.auth-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:2rem}.auth-card h1{font-size:1.3rem;margin-bottom:1.25rem}.auth-logo{margin-bottom:1.5rem}.auth-foot{margin:1.25rem 0 0;font-size:.9rem;text-align:center}.spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite;margin:3rem auto}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 720px){.stats,.settings-grid,.inline-form{grid-template-columns:1fr}.report-list a:first-child{grid-template-columns:1fr;gap:.1rem}.log li{grid-template-columns:1fr}.log-note{grid-column:1}.who-name{display:none}.chart .tick{font-size:22px}.chart .value{font-size:24px}.chart .line{stroke-width:4}.main{padding-top:1.25rem}}
