:root{--bg:#f5f6f8;--panel:#fff;--line:#dfe3e8;--text:#1c2430;--muted:#667085;--brand:#1f4fd8;--brand-ink:#fff;--ok:#1a7f4b;--bad:#b42318;--warn:#b54708;--radius:8px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{color:var(--text);background:var(--bg);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0;font-size:20px}h2{margin:0 0 8px;font-size:15px}p{margin:0}small,.muted{color:var(--muted)}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;padding:7px 9px}textarea{resize:vertical;min-height:70px}label{color:var(--muted);gap:4px;font-size:12px;display:grid}label>input,label>select,label>textarea{color:var(--text);font-size:14px}button,.button{border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;padding:7px 12px;display:inline-block}button:hover,.button:hover{background:#f0f2f5;text-decoration:none}button.primary,.button.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}button.primary:hover,.button.primary:hover{filter:brightness(1.08);background:var(--brand)}button.link{color:var(--brand);background:0 0;border:0;padding:0}button:disabled{opacity:.6;cursor:default}.stack{gap:12px;display:grid}.row{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.row>label{flex:160px}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.alert{color:var(--bad);background:#fef3f2;border:1px solid #fecdca;border-radius:6px;padding:8px 10px}.badge{color:var(--muted);background:#eef1f5;border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.badge.won{color:var(--ok);background:#e7f6ee}.badge.lost{color:var(--bad);background:#fef3f2}.badge.late{color:var(--warn);background:#fff4e5}.login{place-items:center;min-height:100%;padding:24px;display:grid}.login .card{width:min(360px,100%)}.shell{grid-template-rows:auto 1fr;min-height:100%;display:grid}.topbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:18px;padding:10px 20px;display:flex}.topbar strong{font-size:15px}.topbar nav{flex-wrap:wrap;flex:1;gap:14px;display:flex}.topbar nav a{color:var(--text);padding:4px 2px}.page{align-content:start;gap:16px;min-width:0;padding:20px;display:grid}table{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 12px}th{color:var(--muted);background:#fafbfc;font-size:12px;font-weight:600}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;white-space:nowrap}.empty{text-align:center;color:var(--muted);padding:24px}.board{align-items:flex-start;gap:12px;padding-bottom:12px;display:flex;overflow-x:auto}.column{border-radius:var(--radius);background:#ebeef2;border:2px solid #0000;flex:0 0 250px;gap:8px;min-height:120px;padding:8px;display:grid}.column.over{border-color:var(--brand)}.column header{justify-content:space-between;gap:8px;padding:2px 4px;font-weight:600;display:flex}.column header small{font-weight:400}.kcard{background:var(--panel);border:1px solid var(--line);cursor:grab;border-radius:6px;gap:2px;padding:8px 10px;display:grid}.kcard.dragging{opacity:.4}.kcard a{color:var(--text);font-weight:600}.grid2{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (max-width:900px){.grid2{grid-template-columns:1fr}}.timeline{gap:10px;margin:0;padding:0;list-style:none;display:grid}.timeline li{border-left:3px solid var(--line);padding:2px 0 2px 10px}.timeline li.note{border-color:var(--brand)}.timeline li.stage{border-color:var(--ok)}.timeline .body{white-space:pre-wrap}.tasklist{gap:6px;margin:0;padding:0;list-style:none;display:grid}.tasklist li{align-items:baseline;gap:8px;display:flex}.tasklist li.done span{color:var(--muted);text-decoration:line-through}dl.fields{grid-template-columns:max-content 1fr;gap:4px 14px;margin:0;display:grid}dl.fields dt{color:var(--muted)}dl.fields dd{margin:0}dialog{border:1px solid var(--line);border-radius:var(--radius);width:min(420px,92vw);padding:18px}dialog::backdrop{background:#10182866}.dropbar{border-top:1px solid var(--line);z-index:20;background:#f5f6f8f5;gap:12px;padding:12px 20px;transition:transform .12s ease-out;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(110%)}.dropbar.visible{transform:none}.dropzone{text-align:center;border:2px dashed var(--line);border-radius:var(--radius);background:var(--panel);flex:1;padding:22px 12px;font-weight:600}.dropzone.won{color:var(--ok);border-color:#a6dcbf}.dropzone.lost{color:var(--bad);border-color:#fecdca}.dropzone.won.over{background:#e7f6ee;border-style:solid}.dropzone.lost.over{background:#fef3f2;border-style:solid}.chat{flex-direction:column;gap:8px;max-height:60vh;padding:4px;display:flex;overflow-y:auto}.bubble{background:#eef1f5;border-radius:10px;align-self:flex-start;gap:2px;max-width:78%;padding:8px 10px;display:grid}.bubble.outbound{background:#dcf2e3;align-self:flex-end}.bubble.failed{background:#fef3f2}.bubble .body{white-space:pre-wrap;overflow-wrap:anywhere}.notice{color:var(--ok);background:#e7f6ee;border:1px solid #a6dcbf;border-radius:6px;padding:8px 10px}code{overflow-wrap:anywhere;background:#eef1f5;border-radius:4px;padding:1px 5px}
