:root{--nav:#102725;--nav2:#173a36;--bg:#f5f6f4;--card:#fff;--fg:#141a18;--mu:#61706b;--li:#e2e6e3;--ac:#0f766e;--ac2:#e6f4f1;--warn:#b45309;--warn2:#fff4e5;--bad:#b91c1c;--bad2:#fdecec;--ok:#15803d;--ok2:#e7f6ec}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit;color:inherit}
.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}
.side{background:var(--nav);color:#dfe8e5;display:flex;flex-direction:column;padding:22px 16px;position:sticky;top:0;height:100vh}
.brand{color:#fff;font-weight:800;font-size:22px;letter-spacing:-.02em;text-decoration:none;margin-bottom:26px}.brand span{color:#7fd4c5}
.side nav{display:flex;flex-direction:column;gap:4px}.side nav a{color:#c9d6d2;text-decoration:none;padding:9px 10px;border-radius:6px;display:flex;justify-content:space-between;align-items:center}
.side nav a.active,.side nav a:hover{background:var(--nav2);color:#fff}.side-foot{margin-top:auto;font-size:12px;color:#9fb3ad}
.led-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.led{width:9px;height:9px;border-radius:50%;background:#7a8a86}.led.ok{background:#3ecf8e}.led.bad{background:#f87171}
.link{background:none;border:0;color:#9fb3ad;padding:0;cursor:pointer;text-decoration:underline}
main{padding:28px 32px 60px;max-width:1240px;width:100%}
.head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;flex-wrap:wrap}
.head h1{margin:0 0 4px;font-size:26px;letter-spacing:-.02em}.head p{margin:0;color:var(--mu);max-width:640px}
.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
h2.sub{font-size:17px;margin:26px 0 10px}
.btn{border:1px solid var(--li);background:var(--card);border-radius:8px;padding:9px 14px;cursor:pointer;font-weight:600}
.btn.primary{background:var(--ac);border-color:var(--ac);color:#fff}.btn.primary:hover{background:#0b5f59}.btn.ghost{background:transparent}.btn.small{padding:6px 10px;font-size:13px}
.btn.big{padding:12px 20px;font-size:15px}.btn:disabled{opacity:.55;cursor:default}.btn.danger{color:var(--bad);border-color:#f3c2c2}
.select,.input{border:1px solid var(--li);border-radius:8px;padding:8px 10px;background:#fff;min-width:150px}.input.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}
.count{background:#7fd4c5;color:#0a2a26;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}
.banner{border-radius:8px;padding:10px 14px;margin-bottom:14px;background:var(--warn2);color:var(--warn);border:1px solid #f6dcbf}.banner.danger{background:var(--bad2);color:var(--bad);border-color:#f3c2c2}.banner.ok{background:var(--ok2);color:var(--ok);border-color:#bfe6cc}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--li);border-radius:12px;padding:20px}
.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.card-head h2{margin:0;font-size:19px}.card-head small{color:var(--mu);display:block;font-weight:400}
.badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;background:#eef1ef;color:var(--mu)}.badge.ok{background:var(--ok2);color:var(--ok)}.badge.warn{background:var(--warn2);color:var(--warn)}.badge.bad{background:var(--bad2);color:var(--bad)}.badge.ac{background:var(--ac2);color:var(--ac)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.kpi{border-top:2px solid var(--fg);padding-top:8px}.kpi b{display:block;font-size:26px;letter-spacing:-.02em;line-height:1.1}.kpi span{color:var(--mu);font-size:12px}
.kpi.warn{border-color:var(--warn)}.kpi.bad{border-color:var(--bad)}.kpi.ac{border-color:var(--ac)}
.spark{width:100%;height:56px;display:block;margin:6px 0 2px}.spark-label{display:flex;justify-content:space-between;font-size:11px;color:var(--mu);margin-bottom:10px}
.iter-line{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--li);padding-top:12px;margin-top:4px;flex-wrap:wrap}.iter-line p{margin:0;color:var(--mu);font-size:13px}
.deploy-line{color:var(--mu);font-size:13px;margin-bottom:12px}.deploy-line a{color:var(--ac)}
.panel{background:var(--card);border:1px solid var(--li);border-radius:12px;padding:16px 18px;margin-bottom:14px}
.progress{height:8px;background:#eef1ef;border-radius:999px;overflow:hidden;margin:8px 0}.progress i{display:block;height:100%;background:var(--ac);transition:width .4s}
.events{list-style:none;padding:0;margin:8px 0 0;color:var(--mu);font-size:13px}.events li{padding:2px 0}
.cand{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.cand h3{margin:0 0 6px;font-size:17px}.cand p{margin:0 0 4px}.cand .chk{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:13px}.cand .chk b{font-size:18px;display:block}
.list-head{display:flex;justify-content:space-between;align-items:center;margin:22px 0 10px;flex-wrap:wrap;gap:10px}.list-head h2{margin:0;font-size:17px}
.filters{display:flex;gap:6px;flex-wrap:wrap}.filters button{border:1px solid var(--li);background:#fff;border-radius:999px;padding:5px 11px;cursor:pointer;font-size:13px}.filters button.on{background:var(--fg);color:#fff;border-color:var(--fg)}
.errors{display:flex;flex-direction:column;gap:8px}
.err{background:var(--card);border:1px solid var(--li);border-radius:10px;padding:12px 14px}.err summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:10px 1fr auto;gap:12px;align-items:start}.err summary::-webkit-details-marker{display:none}
.dot{width:10px;height:10px;border-radius:50%;background:#c9d1cd;margin-top:6px}.dot.high{background:var(--bad)}.dot.medium{background:var(--warn)}
.err .q{color:var(--mu);font-size:12px;margin-bottom:3px}.err .t{font-size:14px}.err .t b{font-weight:600}.arrow{color:var(--mu)}.err .exp{color:var(--ac);font-weight:600}
.err .body{border-top:1px solid var(--li);margin-top:10px;padding-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px}.err .body p{margin:0 0 6px}.err .body span{color:var(--mu)}
.audio{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px}.audio audio{height:34px;max-width:100%}
.doubts,.leads{display:flex;flex-direction:column;gap:12px}
.doubt{background:var(--card);border:1px solid var(--li);border-radius:12px;padding:16px 18px;display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
.doubt .q{font-size:12px;color:var(--mu)}.doubt .said{font-size:16px;margin:4px 0 8px}.doubt .why{background:var(--warn2);color:var(--warn);border-radius:8px;padding:8px 10px;font-size:13px;margin-top:8px}
.doubt form{display:flex;flex-direction:column;gap:8px}.doubt form label{display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--mu)}
.bounds{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bounds input{width:90px;min-width:0}
.lead{background:var(--card);border:1px solid var(--li);border-radius:10px;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.lead .turns{font-size:13px;color:var(--mu);margin-top:6px}
.providers{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:14px}
.provider{background:var(--card);border:1px solid var(--li);border-radius:12px;padding:14px 16px}.provider h3{margin:0 0 6px;font-size:15px;display:flex;justify-content:space-between;align-items:center}.provider p{margin:0;color:var(--mu);font-size:13px}
.settings .row{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--li)}.settings .row small{display:block;color:var(--mu)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.grid3 label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--mu)}
.right{display:flex;justify-content:flex-end;gap:8px}.mu{color:var(--mu)}
.empty{color:var(--mu);padding:26px;text-align:center;background:var(--card);border:1px dashed var(--li);border-radius:12px}
.modal{border:0;border-radius:14px;padding:22px 24px;width:min(720px,94vw);box-shadow:0 20px 60px rgba(0,0,0,.25)}.modal::backdrop{background:rgba(16,39,37,.55)}.modal h2{margin:0 0 6px}.modal label{display:flex;flex-direction:column;gap:4px;margin:10px 0;font-size:13px;color:var(--mu)}
.toasts{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;z-index:50}.toast{background:var(--fg);color:#fff;padding:10px 14px;border-radius:8px;font-size:13px;max-width:360px}.toast.err{background:var(--bad)}
@media (max-width:900px){.shell{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center}.side nav{flex-direction:row;flex-wrap:wrap}.side-foot{margin:0 0 0 auto}main{padding:18px 16px}.kpis{grid-template-columns:repeat(2,1fr)}.doubt,.err .body,.cand{grid-template-columns:1fr}.grid3{grid-template-columns:1fr}}
