:root{--bg:#f5f6f8;--surface:#ffffff;--ink:#14213d;--muted:#5b6475;--line:#e2e5eb;--navy:#14213d;--navy-2:#1f3260;--gold:#c9a227;--good:#1e7b4f;--warn:#a8670b;--bad:#b3261e;--radius:10px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--navy-2);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.5rem;margin:0 0 4px}h2{font-size:1.05rem;margin:0 0 12px}.sub{color:var(--muted);margin:0 0 24px;font-size:.92rem}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.side{background:var(--navy);color:#dfe4ef;padding:20px 14px;display:flex;flex-direction:column;gap:4px}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 20px;color:#fff;font-weight:700;letter-spacing:.02em}.brand-mark{width:30px;height:30px;border-radius:7px;background:var(--gold);color:var(--navy);display:grid;place-items:center;font-weight:800;font-size:.8rem}.side a{color:#dfe4ef;padding:9px 10px;border-radius:7px;font-size:.93rem}.side a:hover{background:var(--navy-2);text-decoration:none}.side .spacer{flex:1 1}.side .who{font-size:.78rem;color:#9aa6c0;padding:8px 10px}.main{padding:32px 36px;max-width:1280px;width:100%}@media (max-width:800px){.shell{grid-template-columns:1fr}.side{flex-direction:row;flex-wrap:wrap;padding:10px}.brand{padding:4px 8px}.side .spacer,.side .who{display:none}.main{padding:20px 16px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.grid{display:grid;grid-gap:16px;gap:16px}.g4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.g2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.stack{flex-direction:column;gap:16px}.row,.stack{display:flex}.row{gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.kpi .label{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.kpi .value{font-size:1.6rem;font-weight:700;margin-top:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .hint{color:var(--muted);font-size:.82rem;margin-top:4px}.bar{height:10px;background:#e8ebf1;border-radius:99px;overflow:hidden;margin-top:10px}.bar>span{display:block;height:100%;background:var(--gold)}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px}td,th{border-bottom:1px solid var(--line)}td{padding:10px;vertical-align:top}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tr.reversed td{color:#9aa1ad;text-decoration:line-through}.table-wrap{overflow-x:auto}label{display:flex;flex-direction:column;gap:5px;font-size:.82rem;color:var(--muted);font-weight:600}input,select,textarea{font:inherit;color:var(--ink);padding:8px 10px;border:1px solid #cfd4dd;border-radius:7px;background:#fff;min-width:0}textarea{min-height:80px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;align-items:end}.btn,button{font:inherit;font-weight:600;font-size:.88rem;border:0;border-radius:7px;padding:9px 14px;background:var(--navy);color:#fff;cursor:pointer;display:inline-block}.btn:hover,button:hover{background:var(--navy-2);text-decoration:none}button.ghost{background:transparent;color:var(--navy-2);border:1px solid #cfd4dd}button.danger{background:transparent;color:var(--bad);border:1px solid #ecc5c2;padding:5px 10px;font-size:.8rem}.side button{background:transparent;color:#9aa6c0;padding:8px 10px;text-align:left;width:100%}.pill{display:inline-block;padding:2px 9px;border-radius:99px;font-size:.75rem;font-weight:600;background:#eef0f4;color:var(--muted)}.pill.good{background:#e3f3ea;color:var(--good)}.pill.warn{background:#fbf0dc;color:var(--warn)}.pill.bad{background:#fbe5e3;color:var(--bad)}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);grid-gap:12px;gap:12px;overflow-x:auto;padding-bottom:8px}.col{background:#eceff4;border-radius:var(--radius);padding:10px;min-height:120px}.col h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:4px 4px 10px;display:flex;justify-content:space-between}.deal{display:block;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:8px;color:var(--ink)}.deal:hover{border-color:var(--navy-2);text-decoration:none}.deal .name{font-weight:600;font-size:.9rem}.deal .meta{color:var(--muted);font-size:.78rem;margin-top:4px;display:flex;justify-content:space-between;gap:6px}.overdue{color:var(--bad);font-weight:600}.alert{padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.alert.error{background:#fbe5e3;color:var(--bad)}.alert.ok{background:#e3f3ea;color:var(--good)}.note{background:#fff8e1;border:1px solid #f0e0a8;color:#6b5300;padding:10px 14px;border-radius:8px;font-size:.85rem}.muted{color:var(--muted)}.small{font-size:.82rem}.timeline{list-style:none;padding:0;margin:0}.timeline li{padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}.timeline .when{color:var(--muted);font-size:.76rem}.auth{min-height:100vh;display:grid;place-items:center;background:var(--navy);padding:16px}.auth .card{width:100%;max-width:380px}