:root{
  --bg:#f5f6fa; --surface:#fff; --ink:#151a2d; --muted:#6a7189; --line:#e3e6ef;
  --brand:#2f5bea; --brand-ink:#fff; --danger:#d4402b;
  --lead:#8a93ad; --contacted:#3e8ed0; --proposal:#7a5af5; --negotiation:#e3912b; --won:#1f9d63; --lost:#c4515b;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{--bg:#10131c;--surface:#181c28;--ink:#e9ecf5;--muted:#9aa1b8;--line:#2a3041;--brand:#5b7ff2;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 "Inter","Hiragino Sans","Yu Gothic",system-ui,sans-serif}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.muted{color:var(--muted)}.small{font-size:12px}

.top{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 18px;background:var(--surface);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:17px;color:var(--ink);text-decoration:none}
.brand small{font-weight:600;color:var(--muted);font-size:12px}
.logo{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--brand),#7a5af5)}
.tabs{display:flex;gap:4px;background:var(--bg);padding:3px;border-radius:9px;overflow-x:auto;max-width:100%}
.tab{white-space:nowrap;border:0;background:transparent;padding:6px 12px;border-radius:7px;cursor:pointer;font-weight:600;color:var(--muted)}
.tab[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
#q{flex:1 1 220px;min-width:0;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.tools{display:flex;flex-wrap:wrap;gap:6px}
.btn{border:1px solid var(--brand);background:var(--brand);color:var(--brand-ink);padding:7px 12px;border-radius:9px;font-weight:600;cursor:pointer;white-space:nowrap}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--muted)}
.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}
.file{position:relative;overflow:hidden}.file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.linkbtn{background:none;border:0;color:#9fc0ff;font-weight:700;cursor:pointer;margin-left:10px}

main{padding:16px 18px 40px}
.hint{margin:0 0 12px;color:var(--muted);font-size:13px}
.board{display:grid;grid-template-columns:repeat(6,minmax(210px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}
.col{background:var(--surface);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-height:300px;border-top:3px solid var(--c,var(--lead))}
.col header{display:flex;justify-content:space-between;align-items:baseline;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:13px}
.col.over{outline:2px dashed var(--brand);outline-offset:-4px}
.drop{display:grid;gap:8px;padding:10px;align-content:start;flex:1}
.empty{color:var(--muted);text-align:center;font-size:12px;border:1px dashed var(--line);border-radius:8px;padding:18px 6px;margin:0}
.card{display:grid;gap:3px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:9px 10px;cursor:grab}
.card:hover{border-color:var(--muted)}
.card.dragging{opacity:.45}
.card .row{display:flex;justify-content:space-between;align-items:center}
.val{font-weight:700;font-variant-numeric:tabular-nums}
.move select{padding:2px 4px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.st-lead{--c:var(--lead)}.st-contacted{--c:var(--contacted)}.st-proposal{--c:var(--proposal)}.st-negotiation{--c:var(--negotiation)}.st-won{--c:var(--won)}.st-lost{--c:var(--lost)}

.dash{display:grid;gap:14px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:grid;gap:2px}
.kpi b{font-size:24px;font-variant-numeric:tabular-nums}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}
.panel h2{margin:0 0 12px;font-size:15px}
.bars{display:grid;gap:10px}
.bar{display:grid;grid-template-columns:140px 1fr 150px;gap:10px;align-items:center}
.track{height:12px;background:var(--bg);border-radius:6px;overflow:hidden}
.fill{display:block;height:100%;background:var(--c);border-radius:6px;transition:width .4s}
.num{text-align:right;font-variant-numeric:tabular-nums}
.tablewrap{overflow-x:auto;padding:0}
table{width:100%;border-collapse:collapse;min-width:760px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
th{font-size:12px;color:var(--muted);font-weight:600}
tbody tr{cursor:pointer}tbody tr:hover{background:var(--bg)}
.pill{display:inline-block;padding:1px 8px;border-radius:99px;font-size:12px;font-weight:600;color:#fff;background:var(--c)}

dialog{border:0;border-radius:14px;padding:0;width:min(560px,94vw);background:var(--surface);color:var(--ink);box-shadow:0 30px 80px -20px rgba(0,0,0,.5)}
dialog::backdrop{background:rgba(10,14,30,.45)}
.dform{display:grid;gap:10px;padding:20px}
.dform h2{margin:0 0 4px;font-size:18px}
.dform label{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}
.dform input,.dform select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font-size:14px;font-weight:400}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.err{color:var(--danger);margin:0;min-height:0;font-size:13px}
.act h3{margin:6px 0;font-size:14px}
.noteRow{display:flex;gap:6px}.noteRow input{flex:1}
.act ol{list-style:none;margin:8px 0 0;padding:0;max-height:160px;overflow:auto;display:grid;gap:4px;font-size:13px}
.actions{display:flex;gap:8px;align-items:center;margin-top:6px}.sp{flex:1}
#toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#151a2d;color:#fff;padding:10px 16px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.3);z-index:20}
.foot{padding:0 18px 24px;color:var(--muted);font-size:12px}.foot a{color:inherit}
@media (max-width:700px){.top{padding:10px 12px}.tools .btn{padding:6px 9px;font-size:13px}main{padding:12px}.bar{grid-template-columns:80px 1fr;}.bar .num{grid-column:1/-1;text-align:left}.two{grid-template-columns:1fr}}
