:root{--bg: #f6f7f9;--card: #ffffff;--line: #e3e6ea;--ink: #1c2126;--muted: #6b7480;--brand: #00824a;--ok: #1a9d52;--ok-bg: #e7f6ed;--warn: #b97400;--warn-bg: #fdf2dd;--bad: #c0362c;--bad-bg: #fbe9e7}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}button{cursor:pointer;font:inherit;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 12px}button:hover{border-color:#c7ccd2}button:disabled{opacity:.5;cursor:default}button.danger{background:var(--bad);color:#fff;border-color:var(--bad)}button.ok{background:var(--ok);color:#fff;border-color:var(--ok)}button.bad{background:var(--bad);color:#fff;border-color:var(--bad)}button.ghost{background:transparent}.muted{color:var(--muted)}.error{color:var(--bad)}.login{max-width:340px;margin:12vh auto;background:var(--card);padding:24px;border:1px solid var(--line);border-radius:12px}.login h1{font-size:1.2rem;margin-top:0}.login input{display:block;width:100%;padding:10px;margin:8px 0;border:1px solid var(--line);border-radius:8px}.login button{width:100%;background:var(--brand);color:#fff;border-color:var(--brand);padding:10px}.topbar{display:flex;gap:16px;align-items:center;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{font-weight:700}.brand .role{margin-left:8px;font-size:.7rem;background:var(--brand);color:#fff;padding:2px 8px;border-radius:999px;text-transform:uppercase}.brand .role.demo{background:var(--warn)}.tabs{display:flex;gap:6px}.tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.controls{margin-left:auto;display:flex;gap:8px;align-items:center}.controls input{padding:6px 8px;border:1px solid var(--line);border-radius:8px}main{padding:16px;max-width:1100px;margin:0 auto}.board-head{display:flex;align-items:center;gap:16px;margin-bottom:12px}.completion .pct{font-size:2rem;font-weight:800;color:var(--brand)}.completion .muted{margin-left:8px}.badge.locked{background:var(--ink);color:#fff;padding:6px 12px;border-radius:999px;font-size:.8rem}.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center}.kpi .num{display:block;font-size:1.5rem;font-weight:700}.kpi .lbl{font-size:.75rem;color:var(--muted);text-transform:uppercase}.tone-missing .num{color:var(--bad)}.tone-flagged .num{color:var(--warn)}.tone-done .num{color:var(--ok)}.region h3{margin:18px 0 8px;font-size:1rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.cell{border:1px solid var(--line);border-left-width:5px;border-radius:8px;padding:8px 10px;background:var(--card);display:flex;flex-direction:column;gap:2px}.cell strong{font-size:.85rem}.cell small{color:var(--muted);font-size:.72rem}.cell button{margin-top:6px;font-size:.75rem;padding:3px 8px}.cell.ok{border-left-color:var(--ok);background:var(--ok-bg)}.cell.warn{border-left-color:var(--warn);background:var(--warn-bg)}.cell.bad{border-left-color:var(--bad);background:var(--bad-bg)}.cell.muted{border-left-color:#c7ccd2}.triage{list-style:none;padding:0}.triage li{display:flex;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px;margin:8px 0}.triage .t-meta{display:flex;gap:8px;align-items:center;min-width:220px}.triage .flag{background:var(--warn-bg);color:var(--warn);padding:2px 8px;border-radius:999px;font-size:.78rem}.triage input{flex:1;padding:6px 8px;border:1px solid var(--line);border-radius:8px}.triage .t-actions{display:flex;gap:6px}table.roster{width:100%;border-collapse:collapse;background:var(--card)}table.roster th,table.roster td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}table.roster select{padding:5px 8px;border:1px solid var(--line);border-radius:8px}
