:root{--bg:#0b1020;--panel:#121a30;--panel2:#18223d;--line:#26345a;--tx:#e8ecf8;--mut:#93a0c4;--pri:#4f8cff;--ok:#2ecc8f;--warn:#f5b942;--bad:#ff6b6b}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--tx);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}a{color:var(--pri);text-decoration:none}h1{font-size:22px;margin:0 0 4px}h2{font-size:16px;margin:0 0 10px}.shell{display:flex;min-height:100vh}.side{width:210px;background:var(--panel);border-right:1px solid var(--line);padding:18px 12px;position:-webkit-sticky;position:sticky;top:0;height:100vh;flex:none}.brand{font-weight:700;font-size:17px;margin-bottom:18px}.brand span{color:var(--pri)}.side a,.side button.lnk{display:block;padding:9px 10px;border-radius:8px;color:var(--tx);margin-bottom:2px;background:none;border:0;width:100%;text-align:left;font:inherit;cursor:pointer}.side a:hover,.side button.lnk:hover{background:var(--panel2)}.side .soon{color:var(--mut);padding:9px 10px;font-size:13px}.main{flex:1 1;padding:22px;min-width:0}.sub{color:var(--mut);margin:0 0 16px}.btn{background:var(--pri);color:#fff;border:0;border-radius:8px;padding:9px 14px;font:inherit;cursor:pointer}.btn.sec{background:var(--panel2);border:1px solid var(--line)}.btn.bad{background:var(--bad)}.btn:disabled{opacity:.5}input,select,textarea{background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--tx);padding:9px 10px;font:inherit;width:100%}label{display:block;font-size:13px;color:var(--mut);margin:10px 0 4px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.grid2{grid-template-columns:1fr 1fr;grid-gap:12px}.grid2,.grid3{display:grid;gap:12px}.grid3{grid-template-columns:repeat(3,1fr);grid-gap:12px}.stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 14px}.stat b{font-size:18px;display:block}.stat small{color:var(--mut)}.board{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));grid-gap:12px;gap:12px;align-items:start;overflow-x:auto;padding-bottom:10px}.col{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;min-height:260px}.col.over{outline:2px dashed var(--pri)}.col h3{margin:2px 4px;font-size:15px;display:flex;justify-content:space-between}.col small{color:var(--mut);display:block;margin:0 4px 10px}.lead{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px;cursor:-webkit-grab;cursor:grab}.lead:active{cursor:-webkit-grabbing;cursor:grabbing}.lead .nm{font-weight:600}.lead .meta{color:var(--mut);font-size:13px;margin:2px 0 6px}.lead .opp{font-size:13px;margin-bottom:6px}.row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.row.sb{justify-content:space-between}.badge{display:inline-block;border-radius:20px;padding:2px 9px;font-size:12px;font-weight:600;background:#223;color:var(--tx)}.s-alta{background:rgba(46,204,143,.2);color:var(--ok)}.s-media{background:rgba(245,185,66,.2);color:var(--warn)}.s-baixa,.s-rev{background:rgba(147,160,196,.2);color:var(--mut)}.warn{color:var(--warn)}.bad{color:var(--bad)}.ok{color:var(--ok)}.mut{color:var(--mut)}.lead select{font-size:12px;padding:4px 6px;width:auto}.lead .mini{font-size:12px;padding:4px 8px}.lost{margin-top:14px}.lost.over{outline:2px dashed var(--bad)}.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal .card{width:100%;max-width:480px;max-height:90vh;overflow:auto}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;flex-wrap:wrap}.tabs button{background:none;border:0;color:var(--mut);padding:9px 12px;font:inherit;cursor:pointer;border-bottom:2px solid transparent}.tabs button.on{color:var(--tx);border-color:var(--pri)}.tl{border-left:2px solid var(--line);padding-left:12px;margin:0 0 12px 4px}.tl small{color:var(--mut)}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:8px;border-bottom:1px solid var(--line);font-size:14px}th{color:var(--mut);font-weight:500}.err{color:var(--bad);margin:8px 0}.toast{position:fixed;bottom:18px;right:18px;background:var(--panel2);border:1px solid var(--line);padding:10px 14px;border-radius:10px;z-index:60}@media(max-width:800px){.shell{flex-direction:column}.side{width:100%;height:auto;position:static;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.brand{margin:0 10px 0 0}.main{padding:14px}.grid2,.grid3{grid-template-columns:1fr}.board{grid-template-columns:repeat(4,82vw)}}.radar{width:230px;height:230px;border-radius:50%;margin:10px auto;position:relative;background:radial-gradient(circle,#10172b 0 30%,transparent 31%),repeating-radial-gradient(circle,transparent 0 38px,var(--line) 39px 40px);border:1px solid var(--line);overflow:hidden}.radar:after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(79,140,255,.55),transparent 28%);animation:sweep 2.4s linear infinite}.radar.done:after{animation:none;background:none}.radar i{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;border-radius:50%;background:var(--warn);z-index:2}@keyframes sweep{to{transform:rotate(1turn)}}.bar{height:6px;border-radius:6px;background:var(--panel2);overflow:hidden}.bar>div{height:100%;background:var(--pri);transition:width .4s}.steps li{list-style:none;margin:8px 0;display:flex;gap:10px;align-items:flex-start}.steps{padding:0;margin:0}.dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);flex:none;margin-top:2px}.dot.on{background:radial-gradient(circle,var(--pri) 0 35%,transparent 40%)}.dot.ok,.dot.on{border-color:var(--pri)}.dot.ok{background:var(--pri)}.two{display:grid;grid-template-columns:2fr 1fr;grid-gap:14px;gap:14px;align-items:start}@media(max-width:900px){.two{grid-template-columns:1fr}}.modal .card.wide{max-width:900px}.approach{display:block;width:100%;text-align:left;background:var(--panel2);border:1px solid var(--line);color:var(--tx);border-radius:10px;padding:10px;margin-bottom:8px;cursor:pointer;font:inherit}.approach.on{border-color:var(--pri);background:#1a2850}.approach small{display:block;color:var(--mut)}.nums{display:grid;grid-template-columns:repeat(10,1fr);grid-gap:6px;gap:6px}.nums button{background:var(--panel2);border:1px solid var(--line);color:var(--tx);border-radius:8px;padding:10px 0;cursor:pointer;font:inherit}.nums button.on{background:var(--pri);border-color:var(--pri)}