:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#e6eaf3;background:#0b101a}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}.sidebar{width:256px;flex-shrink:0;background:#111826;border-right:1px solid #222d3e;padding:29px 17px;display:flex;flex-direction:column;gap:25px}.brand{display:flex;align-items:center;gap:12px;padding:0 10px}.brand b{font-size:15px;letter-spacing:.08em}.brand em{font-style:normal;color:#fb7639}.brand small,.sidebar-bottom small{display:block;color:#8190aa;font-size:10px;letter-spacing:.16em;margin-top:5px}.logo{display:grid;place-items:center;background:linear-gradient(135deg,#ef612d,#ff9c49);color:white;width:42px;height:42px;border-radius:13px;font-size:21px;font-weight:900}.logo span{font-size:12px}.menu-label{font-size:10px;letter-spacing:.15em;color:#697993;padding-left:13px;margin:15px 0 -10px}nav{display:grid;gap:5px}nav button{background:transparent;border:0;color:#92a0b8;border-radius:10px;text-align:left;padding:13px 14px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:12px}nav button.active,nav button:hover{background:#242e3c;color:#fff}nav button.active{box-shadow:inset 3px 0 #fc7b40}nav button span{font-size:18px}.sidebar-bottom{margin-top:auto;border-top:1px solid #263142;padding:20px 8px 0;display:flex;align-items:center;gap:10px;font-size:12px}.avatar,.user-dot{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#2f4760;color:#d6eeff;font-weight:bold}.main{padding:37px 48px;flex:1;min-width:0;max-width:1600px;margin:0 auto;align-self:flex-start}header{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:35px}.eyebrow{font-size:11px;letter-spacing:.12em;color:#8390aa;font-weight:700}.eyebrow span{color:#ef844d}h1{font-size:29px;margin:12px 0 6px;letter-spacing:-.04em}.subtitle{color:#8190a6;font-size:13px;margin:0}.header-actions{display:flex;gap:20px;align-items:center}.demo-pill{border:1px solid #315548;background:#142820;color:#5bd9a6;border-radius:40px;padding:9px 14px;font-size:10px;font-weight:800;letter-spacing:.06em}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card,.panel{background:#151e2d;border:1px solid #263246;border-radius:15px;padding:23px}.card .label{font-size:12px;color:#99a8c0}.metric{font-size:31px;font-weight:800;letter-spacing:-.04em;margin:14px 0 10px}.trend{font-size:11px;color:#64d9a9}.icon-box{float:right;background:#273447;border-radius:11px;padding:10px;color:#ff8b58}.lower{display:grid;grid-template-columns:1.5fr 1fr;gap:17px;margin-top:20px}.panel h2{font-size:16px;margin:0 0 7px}.panel p{color:#8a9bb3;font-size:12px}.bars{height:215px;display:flex;align-items:end;gap:13px;padding:28px 0 10px;border-bottom:1px solid #344058}.bar{flex:1;border-radius:6px 6px 0 0;background:linear-gradient(0deg,#b84324,#ff9953);min-height:15px}.axis{display:flex;justify-content:space-between;color:#8b9ab2;font-size:10px;margin-top:12px}.activity{display:grid;gap:17px;margin-top:25px}.activity-item{display:flex;gap:11px;align-items:start;font-size:12px}.activity-item i{width:9px;height:9px;background:#ff8745;border-radius:50%;flex-shrink:0;margin-top:4px}.activity-item strong{display:block}.activity-item small{display:block;color:#8e9db4;margin-top:5px}table{border-collapse:collapse;width:100%;margin-top:20px;text-align:left;font-size:12px}th{color:#8191a9;font-weight:500;padding:13px 8px;border-bottom:1px solid #2f3a4d}td{padding:16px 8px;border-bottom:1px solid #293346}td:last-child{text-align:right}.status{padding:6px 11px;border-radius:20px;color:#67d9b0;background:#183b35;font-size:11px}.empty{margin-top:18px;padding:18px;border:1px dashed #3b4657;border-radius:12px;color:#91a0b4;font-size:12px}footer{color:#677790;font-size:10px;margin-top:40px;text-align:center}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.lower{grid-template-columns:1fr}.main{padding:24px}}@media(max-width:640px){body{display:block}.sidebar{width:100%;padding:15px}.brand{margin-bottom:2px}.menu-label,.sidebar-bottom{display:none}nav{display:flex;overflow-x:auto}nav button{white-space:nowrap}.main{padding:23px 16px}.cards{grid-template-columns:1fr 1fr}.card{padding:15px}.metric{font-size:24px}.demo-pill{display:none}h1{font-size:25px}}
/* ===== A4-2: formularios, botoes, estados e mensagens (mesma identidade FIREWALL ONE) ===== */
.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px}
.role-label{display:flex;align-items:center;gap:8px;font-size:11px;color:#8b9ab2;letter-spacing:.06em}
select,input[type=text],input[type=number],input:not([type]){background:#0f1623;border:1px solid #2c384c;color:#e6eaf3;border-radius:9px;padding:9px 11px;font:inherit;font-size:13px;min-width:0;width:100%}
.role-label select{width:auto}
select:focus,input:focus,.btn:focus-visible,nav button:focus-visible,.link:focus-visible{outline:2px solid #fc7b40;outline-offset:1px}
.btn{font:inherit;font-size:13px;border-radius:9px;padding:10px 16px;border:1px solid #2f3b4f;background:#1b2536;color:#dbe3f1;cursor:pointer;white-space:nowrap}
.btn.sm{padding:7px 11px;font-size:12px}
.btn.primary{background:linear-gradient(135deg,#ef612d,#ff9c49);border-color:#ef612d;color:#fff;font-weight:700}
.btn.ghost:hover{background:#242e3c}
.btn.danger{background:#2b1b20;border-color:#6a2c33;color:#ff9aa4}
.btn:disabled{opacity:.45;cursor:not-allowed}
.lower .panel+.panel{margin-top:0}
.panel+.panel,.notice+.lower,.cards+.notice,.alert+.panel,.alert+.cards{margin-top:18px}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.panel h2 small,.panel h3 small{color:#8190a6;font-weight:500;font-size:12px;margin-left:6px}
.panel h3{font-size:13px;margin:22px 0 4px;color:#cfd8e8}
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:14px 0 6px}
.toolbar .field{min-width:150px;flex:1 1 150px}
.field{display:grid;gap:6px;align-content:start;font-size:12px;color:#99a8c0}
.field small{color:#7384a0;font-size:11px}
.field.has-error input,.field.has-error select{border-color:#d9534f}
.field-error{font-style:normal;color:#ff9aa4;font-size:11px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:12px}
.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}
.inline-form{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
.inline-form input,.inline-form select{width:190px}
.item-form{margin-top:10px;border-top:1px dashed #33405a;padding-top:6px}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap table{min-width:560px}
td.acoes{white-space:nowrap}
td.acoes .btn{margin-left:6px}
.status{white-space:nowrap}
.st-inativo,.st-recusada,.st-cancelada{color:#ff9aa4;background:#3a1f26}
.st-prospecto,.st-rascunho,.st-pendente,.st-aberta{color:#b9c5db;background:#2a3446}
.st-enviada,.st-em_negociacao,.st-em_acompanhamento,.st-atribuida,.st-em_andamento{color:#ffc58f;background:#3d2a1b}
.alert{border-radius:12px;padding:13px 16px;font-size:13px;border:1px solid}
.alert.ok{background:#142820;border-color:#2c5a45;color:#8be7c1}
.alert.erro{background:#2b1b20;border-color:#6a2c33;color:#ffb3bb}
.alert.info{background:#162235;border-color:#2c4468;color:#a9c6ee}
.alert ul{margin:8px 0 0;padding-left:18px}
.notice{margin:18px 0;padding:13px 16px;border:1px solid #3b4657;border-left:3px solid #fc7b40;border-radius:10px;background:#131b29;color:#a4b3c9;font-size:12px}
.dl{display:grid;grid-template-columns:150px 1fr;gap:9px 16px;font-size:13px;margin:16px 0}
.dl dt{color:#8a9bb3}.dl dd{margin:0;color:#e6eaf3;min-width:0;overflow-wrap:anywhere}
.link{color:#ff9953;cursor:pointer;text-decoration:underline;margin-right:8px}
code{background:#0f1623;border:1px solid #2c384c;padding:1px 6px;border-radius:6px;font-size:11px;color:#ffb27a}
.timeline{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:14px}
.timeline li{display:flex;gap:11px;align-items:start;font-size:12px}
.timeline i{width:9px;height:9px;background:#ff8745;border-radius:50%;flex-shrink:0;margin-top:4px}
.timeline strong{display:block}
.timeline small{display:block;color:#8e9db4;margin-top:4px;overflow-wrap:anywhere}
.bar-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;min-width:0}
.bar-col .bar{flex:none;width:100%}
.bar-n{text-align:center;font-size:12px;font-weight:700;color:#ffb27a;margin-bottom:5px}
.axis span{flex:1;text-align:center;min-width:0;overflow-wrap:anywhere}
@media(max-width:1050px){.dl{grid-template-columns:120px 1fr}}
@media(max-width:640px){
  .header-actions{justify-content:flex-start}
  .role-label{font-size:10px}
  .toolbar .field{flex:1 1 100%}
  .toolbar .btn{flex:1 1 40%}
  .inline-form{width:100%}.inline-form input,.inline-form select{flex:1 1 140px;width:auto}
  .dl{grid-template-columns:1fr;gap:2px}.dl dt{margin-top:8px}
  .axis{font-size:8px}
  header{flex-direction:column;align-items:flex-start}
  .panel,.card{padding:16px}
}

/* ===== A4-3: estoque, contratos, comissoes e jornada (mesma identidade FIREWALL ONE) ===== */
.cards-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}
.cards-2nd{margin-top:16px}
.lower-b{margin-top:17px}
.bars-sm{height:150px}
.muted{color:#7384a0}
.sub{display:block;color:#7f8fa8;font-size:11px;margin-top:3px}
td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.own{padding:5px 10px;border-radius:20px;font-size:11px;white-space:nowrap;border:1px solid}
.own-firewall{color:#ffb27a;background:#3d2a1b;border-color:#6a4426}
.own-boa_comodato{color:#9cc8ff;background:#162b45;border-color:#2c4f7a}
.st-disponivel,.st-instalado,.st-liberado_simulado,.st-ativo,.st-lancado{color:#67d9b0;background:#183b35}
.st-reservado,.st-entregue,.st-em_revisao,.st-aprovado,.st-suspenso{color:#ffc58f;background:#3d2a1b}
.st-devolvido,.st-rascunho,.st-pendente{color:#b9c5db;background:#2a3446}
.st-baixado,.st-bloqueado,.st-estornado,.st-cancelado,.st-encerrado{color:#ff9aa4;background:#3a1f26}
.abas{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #263246;margin:6px 0 18px}
.aba{font:inherit;font-size:13px;background:transparent;border:0;border-bottom:2px solid transparent;color:#92a0b8;padding:10px 14px;cursor:pointer}
.aba:hover{color:#fff}
.aba.ativa{color:#fff;border-bottom-color:#fc7b40}
.aba:focus-visible{outline:2px solid #fc7b40;outline-offset:1px}
.contas{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:16px 0}
.conta{background:#101827;border:1px solid #263246;border-top:3px solid #3b4657;border-radius:12px;padding:16px}
.conta h3{margin:0 0 4px;font-size:13px}
.conta .dl{grid-template-columns:1fr auto;margin:10px 0;font-size:12px}
.conta .dl dd{text-align:right}
.conta small{color:#7f8fa8;font-size:11px}
.conta-boa{border-top-color:#4a8fe0}
.conta-fw{border-top-color:#fc7b40}
.conta-com{border-top-color:#2fc79a}
.conta-vend{border-top-color:#a58bff}
.verif{list-style:none;padding:0;margin:10px 0;display:grid;gap:7px;font-size:12px}
.verif .ok{color:#8be7c1}.verif .falha{color:#ff9aa4}
.bloqueios{margin:8px 0 0;padding-left:18px;font-size:12px}
.transicoes{display:grid;gap:10px;margin-top:14px}
.regras{color:#a4b3c9;font-size:12px;line-height:1.7;padding-left:20px}
.etapas{list-style:none;margin:16px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.etapa{display:flex;gap:10px;align-items:flex-start;background:#101827;border:1px solid #263246;border-radius:12px;padding:12px;font-size:12px;min-width:0}
.etapa.tem{border-color:#34506a}
.etapa.vazia{opacity:.6;border-style:dashed}
.etapa-n{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#273447;color:#ff8b58;font-weight:800;font-size:11px}
.etapa strong{display:block;margin-bottom:6px}
.etapa-item{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:5px}
.etapa-item small{flex-basis:100%;color:#8e9db4}
.etapa-item .status{padding:3px 8px;font-size:10px}
.jornada{margin-top:18px}
@media(max-width:1050px){.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){
  .cards-3{grid-template-columns:1fr}
  .aba{padding:9px 10px;font-size:12px}
  .etapas{grid-template-columns:1fr}
  .contas{grid-template-columns:1fr}
  .bars-sm{gap:7px}
}
.contas{grid-template-columns:repeat(2,minmax(0,1fr))}
.alert+.alert,.alert+.cards-3,.alert+.abas,.alert+.notice{margin-top:12px}
.subtitle{max-width:600px}
@media(max-width:640px){.contas{grid-template-columns:1fr}}

/* ===== A4-4: polimento de tabelas em larguras menores (botao de acao nao fica cortado) ===== */
@media(max-width:1050px){th,td{padding-left:6px;padding-right:6px}td.acoes .btn{margin-left:4px}.table-wrap table{min-width:0}}
@media(max-width:640px){th,td{padding:10px 4px;font-size:11px}.table-wrap table{min-width:460px}td.acoes .btn{padding:6px 9px}}
