:root{
  --brand-primary:#D7191E;
  --brand-primary-hover:#8C0505;
  --brand-accent:#F58C1E;
  --brand-secondary:#911E5F;
  --grad:linear-gradient(135deg,#911E5F 0%,#D7191E 50%,#F58C1E 100%);
  --text:#111418;
  --text-2:#5B6470;
  --border:#E5E7EB;
  --bg:#F7F7F8;
  --surface:#FFFFFF;
  --ok:#1FAE6F;
  --info:#2563EB;
}
*{box-sizing:border-box}
html,body{overscroll-behavior-y:contain}
body{margin:0;font-family:Inter,'Segoe UI',sans-serif;color:var(--text);background:var(--bg)}
.hidden{display:none!important}
h2{font-family:Quicksand,sans-serif;font-weight:700;font-size:18px;margin:0 0 12px}
label{display:block;font-size:13px;color:var(--text-2);margin:12px 0 4px;font-weight:500}
input,select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;
  font-family:Inter,sans-serif;font-size:14px;background:#fff}
input:focus,select:focus{outline:none;border-color:var(--brand-primary)}

.btn-primary{background:var(--brand-primary);color:#fff;border:none;border-radius:10px;
  padding:12px 18px;font-family:Quicksand,sans-serif;font-weight:700;font-size:15px;
  letter-spacing:.5px;cursor:pointer;transition:background .15s}
.btn-primary:hover{background:var(--brand-primary-hover)}
.btn-primary.full{width:100%;margin-top:14px}
.btn-primary:disabled{opacity:.6;cursor:wait}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff;
  border-radius:8px;padding:6px 14px;cursor:pointer;font-weight:600}
.err{color:var(--brand-primary-hover);font-size:13px;min-height:18px;margin:8px 0 0}
.pwd-wrap{position:relative}
.pwd-wrap input{width:100%;padding-right:42px}
.pwd-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);cursor:pointer;
  opacity:.45;font-size:18px;user-select:none}
.pwd-eye.on{opacity:1}
.forgot-link{display:block;text-align:center;margin-top:12px;font-size:13px;color:var(--brand-primary);cursor:pointer}
#forgot-box{margin-top:10px;border-top:1px dashed var(--border);padding-top:12px}

/* LOGIN */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:var(--grad);padding:20px}
.login-card{background:#fff;border-radius:18px;padding:34px 30px;width:360px;
  box-shadow:0 24px 60px rgba(0,0,0,.25)}
.login-logo{height:64px;display:block;margin:0 auto 4px}
.login-sub{text-align:center;color:var(--text-2);font-size:13px;margin:0 0 18px}
.remember{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2);margin-top:14px}
.remember input{width:auto}
.terms{display:block;text-align:center;margin-top:16px;font-size:12px;color:var(--brand-secondary);
  text-decoration:none}
.trial-cta{margin-top:18px;padding:16px;border-radius:12px;background:linear-gradient(135deg,#FFF3F3,#FFF8F0);
  border:1px dashed var(--brand-primary);text-align:center}
.trial-title{font-family:Quicksand,sans-serif;font-weight:700;font-size:16px;color:var(--brand-primary)}
.trial-sub{font-size:13px;color:var(--text-2);margin:4px 0 12px}
.btn-outline.full{width:100%}

/* APP */
.topbar{display:flex;align-items:center;gap:14px;padding:0 20px;height:60px;background:var(--grad)}
.topbar-logo{height:38px}
.topbar-title{font-family:Quicksand,sans-serif;font-weight:600;color:#fff;font-size:20px}
.spacer{flex:1}
.who{color:#fff;font-size:13px;opacity:.95}
.usermenu{position:relative}
.user-icon{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.6);
  background:rgba(255,255,255,.15);cursor:pointer;display:flex;align-items:center;justify-content:center}
.user-icon:hover{background:rgba(255,255,255,.28)}
.user-pop{position:absolute;top:46px;right:0;z-index:30;background:#fff;border:1px solid var(--border);
  border-radius:12px;box-shadow:0 12px 28px rgba(0,0,0,.18);padding:14px;min-width:180px}
.who-name{font-family:Quicksand,sans-serif;font-weight:700;font-size:15px;color:var(--text)}
.who-role{font-size:12px;color:var(--text-2);margin-bottom:10px}
.user-pop .btn-ghost{border-color:var(--brand-primary);color:var(--brand-primary);width:100%;margin-top:6px}
.pwd-modal{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;padding:20px}
.pwd-card{background:#fff;border-radius:16px;padding:24px;width:340px;max-width:100%;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.pwd-card h3{font-family:Quicksand,sans-serif;margin:0 0 12px}
/* link do número do pedido + janela com todos os dados */
.ped-link{color:var(--brand-primary);font-size:11px;cursor:pointer;text-decoration:underline;font-weight:600}
.ped-card{width:480px;max-width:100%;max-height:85vh;display:flex;flex-direction:column}
.ped-head{display:flex;align-items:center;justify-content:space-between}
.ped-head h3{margin:0}
.ped-x{cursor:pointer;font-size:18px;color:var(--text-2);padding:4px 8px}
.ped-body{overflow-y:auto;margin-top:8px}
.ped-row{display:flex;gap:12px;padding:7px 2px;border-bottom:1px solid var(--border);font-size:14px}
.ped-row:last-child{border-bottom:none}
.ped-k{flex:0 0 42%;color:var(--text-2);font-weight:500}
.ped-v{flex:1;word-break:break-word}
.ped-grp-h{font-weight:700;color:var(--brand-primary);font-size:13px;margin:4px 0 2px}
.ped-sep{height:1px;background:var(--border);margin:14px 0}
/* montagem manual de cargas (polígono) */
#rt-result{position:relative}
.manual-ctrl{background:#FFF7F7;border:1px solid #F3C6C6;border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:13px}
.manual-help{color:var(--text-2);line-height:1.4}
.manual-pool{margin-top:6px;font-weight:600;color:var(--brand-primary-hover)}
.manual-toggle{display:flex;align-items:center;gap:6px;margin-top:8px;font-weight:500;cursor:pointer}
.manual-toggle input{width:auto}
.mpool-box{margin-top:10px;border-top:1px solid #F0D5D5;padding-top:8px}
.mpool-head{display:flex;align-items:center;justify-content:space-between;font-size:13px}
.mpool-fbtn{background:#fff;border:1px solid var(--border);border-radius:8px;padding:4px 10px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-2)}
.mpool-fbtn.on{border-color:var(--brand-primary);color:var(--brand-primary)}
.mpool-filters{margin:8px 0;display:grid;grid-template-columns:1fr;gap:8px}
.mpool-f{display:flex;flex-direction:column;font-size:11px;color:var(--text-2)}
.mpool-f input{font-size:12px;padding:4px 6px;border:1px solid var(--border);border-radius:5px}
.mpool-filters #mpool-clear{grid-column:1/-1;font-size:12px;padding:5px}
/* período (datas) */
.mpf-date{display:flex;gap:4px}
.mpf-date input{flex:1;min-width:0}
/* multi-seleção (texto): chips + digitação + dropdown */
.ms{position:relative}
.ms-ctrl{display:flex;flex-wrap:wrap;align-items:center;gap:3px;border:1px solid var(--border);border-radius:5px;padding:2px 4px;background:#fff;min-height:26px;cursor:text}
.ms-chip{display:inline-flex;align-items:center;gap:3px;background:#FCEFEF;color:var(--brand-primary-hover);border:1px solid #F3C9C9;border-radius:10px;padding:0 4px 0 6px;font-size:11px;font-weight:600}
.ms-chip i{cursor:pointer;font-style:normal;font-size:13px;line-height:1}
.ms-inp{border:none!important;outline:none;flex:1;min-width:60px;font-size:12px;padding:2px!important}
.ms-drop{position:absolute;top:100%;left:0;right:0;z-index:30;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.12);max-height:180px;overflow:auto;margin-top:2px}
.ms-opt{padding:5px 8px;font-size:12px;cursor:pointer;color:var(--text)}
.ms-opt:hover{background:var(--bg)}
.ms-opt.on{color:var(--brand-primary);font-weight:600}
.ms-opt.ms-all{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);color:var(--text)}
/* painel flutuante de opções (usado na tabela de seleção de pedidos, p/ não ser cortado pelo scroll) */
.ms-float{position:fixed;z-index:1000;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.16);max-height:240px;overflow:auto}
.ms-cell{min-width:90px}
.ms-cell .ms-inp{min-width:40px}
.ms-empty{padding:6px 8px;font-size:11px;color:var(--text-2)}
.mpool-list{max-height:300px;overflow-y:auto;margin-top:6px}
.mpool-item{padding:6px 8px;border-bottom:1px solid var(--border);font-size:13px;cursor:pointer;border-radius:6px}
.mpool-item:hover{background:#FBEDED}
.mpool-item.sel{background:#FCEFEF;box-shadow:inset 3px 0 0 var(--brand-primary)}
.stops li{position:relative}
.stop-rm{margin-left:auto;align-self:center;background:none;border:1px solid var(--border);color:var(--text-2);
  width:24px;height:24px;border-radius:6px;cursor:pointer;font-size:12px;line-height:1;flex:none}
.stop-rm:hover{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}
.rt-unr-toggle{display:flex;align-items:center;gap:6px;margin:10px 0 4px;font-size:13px;font-weight:500;cursor:pointer}
.rt-unr-toggle input{width:auto}
.mpool-key{color:var(--text-2);font-size:11px}
.mpool-sub{color:var(--text-2);font-size:11px;margin-top:2px}
.manual-panel{position:absolute;top:14px;right:14px;z-index:6;width:260px;background:#fff;border-radius:12px;
  box-shadow:0 8px 28px rgba(0,0,0,.22);padding:14px}
.manual-panel .mp-head{font-size:14px;margin-bottom:10px}
.manual-panel .mp-lbl{display:block;font-size:12px;color:var(--text-2);margin:0 0 4px}
.manual-panel select{width:100%;margin-bottom:12px}
.manual-panel .mp-actions{display:flex;gap:8px;justify-content:flex-end}
.pwd-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
.imp-kpis{display:flex;gap:10px;margin:6px 0 12px}
.imp-kpi{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px;text-align:center}
.imp-kpi b{display:block;font-family:Quicksand,sans-serif;font-size:22px}
.imp-kpi span{font-size:11px;color:var(--text-2)}
.imp-kpi.ok b{color:var(--ok)} .imp-kpi.warn b{color:var(--brand-accent)} .imp-kpi.err b{color:var(--brand-primary)}
#import-result h4{margin:12px 0 6px;font-family:Quicksand,sans-serif;font-size:14px}
.imp-list{max-height:180px;overflow:auto;font-size:13px;background:var(--bg);border:1px solid var(--border);
  border-radius:8px;padding:8px 10px}
.imp-list.err{color:var(--brand-primary-hover)}
.imp-list div{padding:2px 0}
.org-badge{background:rgba(255,255,255,.18);color:#fff;border-radius:20px;padding:4px 12px;
  font-size:13px;font-weight:600}
.org-badge .trocar{color:#fff;text-decoration:underline;cursor:pointer;margin-left:8px;
  font-weight:500;opacity:.9}
.org-chooser{overflow-y:auto;padding:34px 28px;background:var(--bg)}
.org-search{max-width:480px;margin:0 0 22px;font-size:15px;padding:12px 14px}
.topbar-logo{cursor:pointer}
.view{height:calc(100vh - 60px)}
.layout{display:flex}

/* MENU INICIAL */
.home{overflow-y:auto;padding:34px 28px;background:var(--bg)}
.home-title{font-family:Quicksand,sans-serif;font-weight:700;font-size:26px;margin:0 0 4px}
.home-sub{color:var(--text-2);margin:0 0 26px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;max-width:1000px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;
  cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.10);border-color:var(--brand-primary)}
.card-icon{font-size:30px;margin-bottom:10px}
.card-label{font-family:Quicksand,sans-serif;font-weight:700;font-size:17px;margin-bottom:4px}
.card-desc{font-size:13px;color:var(--text-2)}
.card-primary{background:var(--grad);border:none;color:#fff}
.card-primary .card-desc{color:rgba(255,255,255,.92)}
.center{text-align:center}

/* BOTÃO INÍCIO */
.btn-back{background:none;border:none;color:var(--brand-primary);font-weight:600;cursor:pointer;
  padding:0;margin-bottom:10px;font-size:14px}
.btn-back:hover{color:var(--brand-primary-hover)}

/* LISTAGENS */
.list-view{overflow-y:auto;padding:24px 28px;background:var(--bg)}
.list-view h2{font-size:22px}
.count{background:var(--brand-primary);color:#fff;border-radius:20px;font-family:Inter;font-size:13px;
  font-weight:600;padding:2px 10px;margin-left:8px;vertical-align:middle}
.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow-x:auto;max-width:1000px;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;font-size:14px}
thead th{background:var(--bg);text-align:left;padding:11px 14px;font-weight:600;color:var(--text-2);
  border-bottom:1px solid var(--border);white-space:nowrap}
thead th.sortable{cursor:pointer;user-select:none}
thead th.sortable:hover{color:var(--brand-primary)}
tbody td{padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}
.list-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.imp-group{position:relative}
.imp-group .btn-outline,.list-actions>.btn-outline{padding:7px 12px;font-size:13px}
.modelo-pop{position:absolute;top:42px;right:0;z-index:30;background:#fff;border:1px solid var(--border);
  border-radius:10px;box-shadow:0 10px 24px rgba(0,0,0,.15);padding:6px;display:flex;flex-direction:column;min-width:170px}
.modelo-pop button{background:none;border:none;text-align:left;padding:9px 12px;border-radius:8px;cursor:pointer;font-size:14px}
.modelo-pop button:hover{background:#FBEDED}
.btn-cols{color:var(--brand-primary);border-color:var(--brand-primary);padding:7px 12px;font-size:13px}
.col-pop{display:flex;flex-wrap:wrap;gap:8px 18px;background:var(--surface);border:1px solid var(--border);
  border-radius:10px;padding:12px 14px;margin:10px 0;max-width:1000px}
.col-pop label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);margin:0;font-weight:500}
.col-pop input{width:auto}
tbody tr:last-child td{border-bottom:none}
.doc-row td{padding-top:0;border-bottom:1px solid var(--border)}
.chip{color:#fff;border-radius:12px;padding:2px 9px;font-size:12px;font-weight:600}
.muted{color:var(--text-2)}
.note-cad{font-size:12px;margin-top:14px}
.lo-id{flex:1}
.lo-map,.lo-wpp{background:none;border:none;font-size:20px;cursor:pointer;padding:4px;display:flex;align-items:center}
.lo-more{background:none;border:none;font-size:22px;cursor:pointer;padding:4px 8px;color:var(--text-2);line-height:1}
.lo-menu{padding:0 12px 8px;display:flex;flex-direction:column;align-items:stretch;gap:6px}
.lo-menu button{background:#fff;border:1px solid var(--border);color:var(--text);
  border-radius:8px;padding:7px 12px;font-size:13px;cursor:pointer;font-weight:600;text-align:left}
.lo-menu button:hover{background:var(--bg)}
.lo-menu .lo-del{background:#FCEBEB;border-color:#F3C9C9;color:var(--brand-primary-hover)}
.map-modal{position:fixed;inset:0;z-index:100;background:#fff;display:flex;flex-direction:column}
.map-modal-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;
  background:var(--grad);color:#fff;font-family:Quicksand,sans-serif;font-weight:600}
.map-modal-btn{background:rgba(255,255,255,.2);border:none;color:#fff;border-radius:8px;
  padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;margin-right:8px}
.map-modal-close{background:rgba(255,255,255,.2);border:none;color:#fff;width:34px;height:34px;
  border-radius:50%;font-size:16px;cursor:pointer}
#map-modal-map{flex:1}
.info-i{cursor:pointer;color:var(--info);font-weight:700;margin-left:6px;user-select:none}
.info-pop{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;background:#fff;
  border:1px solid var(--border);border-radius:12px;padding:14px 16px;font-size:14px;
  color:var(--text);box-shadow:0 14px 34px rgba(0,0,0,.22)}
.info-pop::after{content:" (toque para fechar)";color:var(--text-2);font-size:12px}
.list-head{display:flex;align-items:center;justify-content:space-between;max-width:1000px;gap:12px}
.btn-novo{padding:8px 16px;font-size:14px}
tr.clickable{cursor:pointer}
tr.clickable:hover td{background:#FBEDED}

/* FORMULÁRIO */
.form{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px;
  max-width:620px;display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}
.form-row{display:flex;flex-direction:column;gap:4px;margin:0}
.form-row span{font-size:12px;color:var(--text-2);font-weight:500}
.form-row input[type=checkbox]{width:20px;height:20px}
.form-row input:disabled{background:#F1F2F4;color:var(--text-2);cursor:not-allowed}
.wa-row{display:flex;gap:6px;align-items:center}
.wa-row input{flex:1}
.wa-contato{flex:none;background:#E6F8EC;border:1px solid #B7E4C7;border-radius:8px;padding:4px 8px;cursor:pointer;line-height:0;display:inline-flex;align-items:center}
.wa-contato:hover{background:#D4F2DE}
.form-actions{display:flex;align-items:center;gap:14px;margin:18px 0;max-width:620px}
.form-msg{font-size:14px;color:var(--ok);font-weight:600}
.req{color:#D7191E;font-weight:700}

/* CAMPO RICO DE ENDEREÇO (RF-00b) */
.addr-h{font-family:Quicksand,sans-serif;font-size:15px;margin:20px 0 8px;color:var(--text)}
.addr-block{background:var(--surface);border:1px solid var(--border);border-radius:12px;
  padding:16px 18px;max-width:620px}
.addr-search-row{position:relative;display:flex;flex-direction:column;gap:4px;margin-bottom:14px}
.addr-search-row span{font-size:12px;color:var(--text-2);font-weight:600}
.addr-search-row input{width:100%;border-color:var(--brand-primary)}
.addr-sugg{position:absolute;top:100%;left:0;right:0;z-index:20;background:#fff;
  border:1px solid var(--border);border-top:none;border-radius:0 0 10px 10px;
  box-shadow:0 10px 24px rgba(0,0,0,.12);max-height:240px;overflow-y:auto}
.addr-sugg .sugg{padding:9px 12px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--border)}
.addr-sugg .sugg:hover{background:#FBEDED}
.addr-sugg .sugg-info{padding:9px 12px;font-size:13px;color:var(--text-2)}
.addr-grid{border:none;padding:0;border-radius:0}
#form-map{height:260px;border-radius:10px;margin:6px 0;border:1px solid var(--border);z-index:1}
.panel{width:380px;background:var(--surface);border-right:1px solid var(--border);
  padding:20px;overflow-y:auto}
#map{flex:1}

/* ASSISTENTE DE ROTEIRIZAÇÃO */
.rt-view{overflow-y:auto;padding:20px 24px;background:var(--bg)}
.rt-view .btn-back{display:inline-block}
.rt-step{max-width:1000px}
.rt-nav{display:flex;gap:10px;margin:18px 0;justify-content:flex-end;flex-wrap:wrap}
.btn-outline{background:#fff;border:1px solid var(--brand-primary);color:var(--brand-primary);
  border-radius:10px;padding:11px 18px;font-family:Quicksand,sans-serif;font-weight:700;font-size:15px;cursor:pointer}
.btn-outline:hover{background:#FBEDED}
.rt-empty{color:var(--brand-primary-hover);background:#FCEBEB;border:1px solid #F3C9C9;
  border-radius:10px;padding:10px 12px;font-size:13px;margin:8px 0}
.table-wrap input[type=checkbox]{width:20px;height:20px;accent-color:var(--brand-primary);pointer-events:none}
#rt-all,#rtv-all{pointer-events:auto;cursor:pointer}
/* grade de seleção de pedidos: altura limitada à tela, com rolagem interna */
#rt-orders .table-wrap{max-height:52vh;overflow:auto}
#rt-orders tfoot .rt-total td{position:sticky;bottom:0;z-index:2}
/* roteirização usa a largura toda da tela */
#rt-step1, #rt-step2{max-width:none}
#rt-step1 .table-wrap, #rt-step2 .table-wrap{max-width:none}
#rt-result.layout{height:calc(100vh - 120px);display:flex}

/* grade bonita (assistente + listagens) */
.table-wrap.grid{box-shadow:0 4px 16px rgba(0,0,0,.06)}
.table-wrap.grid table{font-size:14px}
.table-wrap.grid thead th{background:#F4F5F7;color:var(--text-2);font-weight:600;
  font-size:12px;text-transform:uppercase;letter-spacing:.4px;
  border-bottom:2px solid var(--border);padding:11px 14px;position:sticky;top:0}
.table-wrap.grid thead th.ck,.table-wrap.grid td.ck{width:44px;text-align:center;padding-left:0;padding-right:0}
.table-wrap.grid thead tr.rt-filter th{top:37px;padding:5px 8px;background:#FCFCFD;text-transform:none;
  letter-spacing:0;border-bottom:1px solid var(--border)}
.table-wrap.grid thead tr.rt-filter input{width:100%;min-width:70px;box-sizing:border-box;font-size:12px;
  padding:4px 6px;border:1px solid var(--border);border-radius:4px;font-weight:400}
.table-wrap.grid tbody td{padding:11px 14px}
.table-wrap.grid tbody tr.rt-row{cursor:pointer}
.table-wrap.grid tbody tr:nth-child(even) td{background:#FAFAFB}
.table-wrap.grid tbody tr.rt-row:hover td{background:#FBEDED}
.table-wrap.grid tbody tr.sel td{background:#FCEFEF}
.table-wrap.grid tbody tr.sel td:first-child{box-shadow:inset 3px 0 0 var(--brand-primary)}
.table-wrap.grid tfoot .rt-total td{font-weight:700;background:#FFF3F3;color:var(--brand-primary-hover);
  border-top:2px solid var(--brand-primary);white-space:nowrap;padding:11px 14px}

/* RASTREAMENTO */
.tracking-view{overflow-y:auto;padding:18px 16px;background:var(--bg)}
.track-filter{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:12px 0}
.track-filter label{margin:0 0 4px}
.track-filter input{width:auto}
#track-map{height:60vh;min-height:340px;border:1px solid var(--border);border-radius:12px;margin-top:10px}
.track-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--text-2);margin:8px 0}
.track-legend .lg{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:middle;margin-right:3px}
.track-legend .lg-green{background:#1FAE6F}
.track-legend .lg-blue{background:#2563EB}
.track-legend .lg-red{background:#D7191E}
.track-legend button{margin-left:auto}
#track-list .rt-row{cursor:pointer}

/* APP DO MOTORISTA */
.driver-view{overflow-y:auto;padding:18px 16px;background:var(--bg)}
.driver-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:6px 0 14px}
.driver-bar label{margin:0 0 4px}
.driver-bar input[type=date]{width:auto}
.btn-track.on,#btn-track.on{background:var(--ok);border-color:var(--ok);color:#fff}
.track-status{background:#E8F7EF;border:1px solid #B7E6CC;color:#0E7B4E;border-radius:10px;
  padding:10px 12px;font-size:13px;margin-bottom:12px;font-weight:600}
.dload{background:#fff;border:1px solid var(--border);border-radius:14px;margin-bottom:14px;overflow:hidden;
  box-shadow:0 4px 16px rgba(0,0,0,.06)}
.dload-head{background:var(--bg);padding:12px 14px;font-family:Quicksand,sans-serif;font-weight:700;
  border-bottom:1px solid var(--border)}
.dstop{padding:12px 14px;border-bottom:1px solid var(--border)}
.dstop:last-child{border-bottom:none}
.dstop-top{display:flex;gap:10px;align-items:flex-start}
.dstop-top .seq{background:var(--brand-primary);color:#fff;width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-weight:700;flex:none;font-size:13px}
.dstop-top>div{flex:1}
.dmap{font-size:22px;text-decoration:none;flex:none}
.dnote{color:var(--brand-accent);font-size:13px;margin:8px 0 0 36px}
.dstop-acts{display:flex;gap:8px;margin:10px 0 0 36px}
.dstop-acts .btn-primary,.dstop-acts .btn-outline{padding:8px 14px;font-size:14px}
.dstatus{margin:10px 0 0 36px;font-weight:700;font-size:14px}
.dstatus.ok{color:var(--ok)} .dstatus.no{color:var(--brand-primary)}

.status{font-size:13px;color:var(--text-2);margin-top:12px;min-height:18px}
.summary{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.rt-num{flex-basis:100%;font-family:Quicksand,sans-serif;font-size:15px;color:var(--text-2)}
.rt-num b{color:var(--brand-primary);font-size:17px}
.kpi{flex:1;min-width:90px;background:var(--bg);border:1px solid var(--border);border-radius:12px;
  padding:10px 12px}
.kpi b{font-family:Quicksand,sans-serif;font-size:20px;display:block;color:var(--brand-primary)}
.kpi span{font-size:11px;color:var(--text-2);text-transform:uppercase;letter-spacing:.4px}

.btn-del-rt{width:100%;background:#FCEBEB;border:1px solid #F3C9C9;color:var(--brand-primary-hover);
  border-radius:10px;padding:9px;font-size:13px;font-weight:600;cursor:pointer;margin-bottom:12px}
.btn-del-rt:hover{background:#F9DADA}
.rt-filter-lbl{display:block;font-size:12px;color:var(--text-2);font-weight:500;margin:0 0 4px}
.rt-filter{width:100%;margin-bottom:14px}
.lo-card{border:1px solid var(--border);border-radius:12px;margin-bottom:12px;overflow:hidden;transition:box-shadow .25s,border-color .25s}
.lo-card.lo-hl{border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(215,25,30,.35)}
.lo-head{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer}
.dot{width:14px;height:14px;border-radius:50%;flex:none}
.lo-head .lo-num{font-family:Quicksand,sans-serif;font-weight:700;font-size:13px;color:var(--brand-primary)}
.lo-head .veh{font-weight:600;font-size:14px}
.lo-head .drv{font-size:12px;color:var(--text-2)}
.lo-head .drv-edit,.lo-head .veh-edit{color:var(--brand-primary);text-decoration:underline;cursor:pointer;font-weight:600;margin-left:4px;font-size:11px}
.lo-head .drv-edit:hover,.lo-head .veh-edit:hover{color:var(--brand-primary-hover)}
.panel-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.org-tokens-sec{margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}
.org-tokens-sec h3{margin:0 0 4px}
.org-tokens-sec code{background:var(--bg);padding:1px 5px;border-radius:4px;font-size:12px}
.tok-list{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.tok-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:8px;padding:8px 12px}
.tok-st{font-size:11px;font-weight:700;padding:1px 7px;border-radius:20px}
.tok-st.on{background:#E6F4EA;color:#137333}
.tok-st.off{background:#FCEBEB;color:var(--brand-primary-hover)}
.tok-new-box{background:#FFF8E6;border:1px solid #F3D58A;border-radius:8px;padding:10px 12px;margin-bottom:10px}
.tok-val{display:flex;align-items:center;gap:8px;margin-top:6px}
.tok-val code{flex:1;word-break:break-all;background:#fff;border:1px solid var(--border)}
.org-st{font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;vertical-align:middle}
.org-st.on{background:#E6F4EA;color:#137333}
.org-st.pend{background:#FFF3CD;color:#8A6D00}
.card-pending{border-color:#F3D58A;background:#FFFCF3}
.btn-gear{background:none;border:none;font-size:20px;cursor:pointer;padding:4px 6px;line-height:1;border-radius:8px}
.btn-gear:hover{background:var(--bg)}
.lo-metrics{font-size:12px;color:var(--text-2);padding:0 12px 10px}
.lo-metrics b{color:var(--text)}
.stops{list-style:none;margin:0;padding:0 12px 10px;border-top:1px solid var(--border)}
.stops li{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:13px}
.drag-h{cursor:grab;color:#b0b6bf;font-size:16px;line-height:1.2;align-self:center;user-select:none;letter-spacing:-2px}
.drag-h:active{cursor:grabbing}
.stops li[draggable="true"]{transition:background .1s}
.stops li.dragging{opacity:.45;background:var(--bg)}
.stops li[draggable="true"]:hover{background:#FAFAFB}
.seq{background:var(--brand-primary);color:#fff;width:22px;height:22px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none}
.note{display:block;color:var(--brand-accent);font-size:11px}
.eta{display:block;color:var(--info);font-size:11px;font-weight:600}
.lo-end{padding:6px 12px;background:#F4F5F7;font-size:13px;border-top:1px solid var(--border)}
.lo-release{display:block;width:calc(100% - 24px);margin:8px 12px;background:#E6F4EA;border:1px solid #B7E4C7;color:#137333;border-radius:8px;padding:8px;font-weight:600;cursor:pointer;font-size:13px}
.lo-release:hover{background:#D4F2DE}
.lo-release.reabrir{background:#FFF8E6;border-color:#F3D58A;color:#8A6D00}
.lo-release.reabrir:hover{background:#FCEFC9}
.lo-rel-badge{font-size:10px;font-weight:700;background:#E6F4EA;color:#137333;border-radius:20px;padding:1px 7px;margin-left:4px;vertical-align:middle}
.lo-card.released{opacity:.72}
.lo-card.released .lo-num{color:#137333}

.unrouted{margin-top:8px}
.unrouted h3{font-family:Quicksand,sans-serif;font-size:14px;color:var(--brand-primary-hover);margin:14px 0 6px}
.unrouted .item{font-size:12px;background:#FCEBEB;border:1px solid #F3C9C9;border-radius:8px;
  padding:7px 10px;margin-bottom:6px}
.unrouted .item b{color:var(--brand-primary-hover)}
.unrouted .item.clk{cursor:pointer}
.unrouted .item.clk:hover{background:#FAD9D9}
.unrouted .zoom-hint{color:var(--brand-primary);font-size:11px;font-weight:600;white-space:nowrap}

.apilink{margin-top:22px;font-size:12px;color:var(--text-2);border-top:1px dashed var(--border);padding-top:12px}
.apilink a{color:var(--brand-primary)}

/* marcadores numerados no mapa */
.poi{border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:13px;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.depot-poi{background:#111418;border-radius:6px;width:30px;height:30px;display:flex;
  align-items:center;justify-content:center;color:#fff;font-size:16px;border:2px solid #fff;
  box-shadow:0 1px 4px rgba(0,0,0,.4)}

.tl-drv{color:var(--brand-primary);text-decoration:underline;cursor:pointer;font-weight:600;font-size:11px;margin-left:4px;white-space:nowrap}
.tl-drv:hover{color:var(--brand-primary-hover)}
/* veículo modelo */
.rtv-mod{font-size:10px;font-weight:700;background:#EEE9F5;color:#911E5F;border-radius:10px;padding:1px 7px;vertical-align:middle}
.rtv-qty{width:70px;padding:4px 6px;font-size:13px}
.veh-mod{font-size:11px;font-weight:700;color:#8A6D00;background:#FFF3CD;border-radius:8px;padding:1px 6px}
/* status da roteirização na lista */
.rt-st{font-size:12px;font-weight:600;padding:1px 8px;border-radius:20px;background:var(--bg);color:var(--text-2)}
.rt-st.done{background:#E6F4EA;color:#137333}

.table-wrap.grid tr.rt-row{user-select:none}
/* app do motorista: botão e modal de rota macro */
.dload-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dload-map{background:#fff;border:1px solid var(--brand-primary);color:var(--brand-primary);border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.dload-map:hover{background:#FCEFEF}
.droute-card{background:#fff;border-radius:14px;width:96vw;height:90vh;max-width:1100px;display:flex;flex-direction:column;overflow:hidden}
.droute-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}
.droute-head b{flex:1;font-family:Quicksand,sans-serif;font-size:15px}
.droute-head .btn-outline{padding:6px 12px;font-size:13px}
.droute-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-2);padding:8px 14px}
.droute-legend .lg{display:inline-block;width:11px;height:11px;border-radius:50%;vertical-align:middle;margin-right:3px}
.droute-legend .lg-green{background:#1FAE6F}.droute-legend .lg-blue{background:#2563EB}.droute-legend .lg-red{background:#D7191E}
#droute-map{flex:1;min-height:300px}

/* ===== Menu lateral (drawer) ===== */
.hamburger{display:flex;flex-direction:column;justify-content:center;gap:4px;
  width:38px;height:38px;border:none;border-radius:9px;background:rgba(255,255,255,.12);
  cursor:pointer;padding:0 9px}
.hamburger:hover{background:rgba(255,255,255,.22)}
.hamburger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px}
.hamburger.hidden{display:none}

.sidebar{position:fixed;top:0;left:0;bottom:0;width:286px;max-width:84vw;
  background:var(--surface);box-shadow:0 0 40px rgba(17,20,24,.25);
  transform:translateX(-100%);transition:transform .22s ease;z-index:200;
  display:flex;flex-direction:column}
.sidebar.open{transform:translateX(0)}
.sidebar-head{flex:0 0 auto;height:60px;display:flex;align-items:center;gap:10px;
  padding:0 14px;background:var(--grad);color:#fff}
.sidebar-head .sidebar-logo{height:28px}
.sidebar-head span{font-family:Quicksand,sans-serif;font-weight:700;font-size:16px;flex:1}
.sidebar-close{background:none;border:none;color:#fff;font-size:26px;line-height:1;
  cursor:pointer;width:36px;height:36px;border-radius:9px;transition:background .15s}
.sidebar-close:hover{background:rgba(255,255,255,.18)}
.sidebar-nav{flex:1 1 auto;overflow-y:auto;padding:10px 10px 24px}
.side-group{margin-bottom:6px}
.side-group-title{font-family:Quicksand,sans-serif;font-weight:700;font-size:11px;
  text-transform:uppercase;letter-spacing:.6px;color:#6B7280;padding:14px 12px 6px}
.side-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;
  font-family:Quicksand,sans-serif;font-weight:600;font-size:13.5px;color:var(--text);
  cursor:pointer;white-space:nowrap}
.side-item:hover{background:#FCEFEF;color:var(--brand-primary-hover)}
.side-item .si-ico{width:20px;text-align:center}
.sidebar-backdrop{position:fixed;inset:0;background:rgba(17,20,24,.38);opacity:0;
  visibility:hidden;transition:opacity .2s;z-index:150}
.sidebar-backdrop.open{opacity:1;visibility:visible}

/* ===== Ícones de linha (menu lateral, monocromáticos) ===== */
.side-item .si-ico{width:20px;height:20px;display:inline-flex;align-items:center;
  justify-content:center;color:#6B7280;flex:0 0 auto}
.side-item:hover .si-ico{color:var(--brand-primary-hover)}
.si-svg{display:block}

/* ===== Tela de Integrações ===== */
.integr-wrap{max-width:1040px;margin:0 auto;padding:6px 4px 30px}
.integr-title{font-family:Quicksand,sans-serif;font-weight:700;font-size:24px;
  color:var(--text);margin:6px 0 2px}
.integr-sub{color:#6B7280;font-size:13.5px;margin:0 0 14px}
.integr-section-title{font-family:Quicksand,sans-serif;font-weight:700;font-size:11px;
  text-transform:uppercase;letter-spacing:.6px;color:#6B7280;margin:18px 0 10px}
.integr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:16px}
.integr-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;
  padding:16px;cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}
.integr-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.08);
  border-color:var(--brand-primary)}
.integr-logo{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;
  justify-content:center;font-family:Quicksand,sans-serif;font-weight:700;font-size:17px;
  margin-bottom:12px;letter-spacing:.3px}
.integr-name{font-family:Quicksand,sans-serif;font-weight:700;font-size:15px;
  color:var(--text);margin-bottom:4px}
.integr-desc{color:#6B7280;font-size:12.5px;line-height:1.4}
.integr-status{margin-top:10px;font-size:11.5px;color:#9AA1AC;font-weight:600}

/* ===== Menu lateral estilo acordeão (referência CintraTec) ===== */
.sidebar-nav{display:flex;flex-direction:column}
.side-top{font-weight:700}
.side-group{margin-bottom:2px}
.side-group-head{display:flex;align-items:center;gap:10px;width:100%;
  padding:10px 12px;border:none;background:none;cursor:pointer;border-radius:9px;
  font-family:Quicksand,sans-serif;font-weight:700;font-size:13.5px;color:var(--text);text-align:left}
.side-group-head:hover{background:#FCEFEF;color:var(--brand-primary-hover)}
.side-group-head .sg-label{flex:1}
.sg-chev{margin-left:auto;color:#9AA1AC;font-size:18px;line-height:1;
  transition:transform .2s ease}
.side-group.open .sg-chev{transform:rotate(90deg)}
.side-group-items{overflow:hidden;max-height:0;transition:max-height .22s ease}
.side-group.open .side-group-items{max-height:520px}
.side-item.sub{padding-left:32px;font-weight:600;font-size:13px}
.side-item .sg-label{flex:1}
/* item ativo */
.side-item.active{background:#FCEFEF;color:var(--brand-primary-hover)}
.side-item.active .si-ico{color:var(--brand-primary-hover)}
.side-group-head.has-active{color:var(--brand-primary-hover)}
.side-group-head.has-active .si-ico{color:var(--brand-primary-hover)}
/* rodapé */
.sidebar-foot{margin-top:auto;padding-top:8px;border-top:1px solid var(--border)}
.side-logout{color:var(--brand-primary);font-weight:700}
.side-logout .si-ico{color:var(--brand-primary)}
.side-logout:hover{background:#FCEFEF}

/* logo real dentro do tile do card de integração */
.integr-logo{width:auto;height:56px;background:#F3F5F7;padding:8px;justify-content:center}
.integr-img{max-height:32px;max-width:90%;width:auto;object-fit:contain;display:block}

/* ===== Menu como trilha lateral fixa + pin + expandir no hover (desktop) ===== */
.sidebar-pin{background:none;border:none;color:#fff;cursor:pointer;width:32px;height:32px;
  border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .15s}
.sidebar-pin:hover{background:rgba(255,255,255,.18)}
.sidebar-pin svg{transform:rotate(42deg);transition:transform .2s ease}
body.nav-pinned .sidebar-pin svg{transform:rotate(0)}

@media (min-width:901px){
  .hamburger{display:none !important}
  .sidebar-backdrop{display:none !important}
  .sidebar-close{display:none}
  /* trilha sempre visível; largura conforme estado */
  .sidebar{transform:none;width:66px;transition:width .2s ease}
  body.nav-pinned .sidebar,
  .sidebar:hover{width:286px}
  .sidebar-head{padding:0 12px}
  /* conteúdo ao lado da trilha (overlay no hover quando não fixado) */
  #app{padding-left:66px;transition:padding-left .2s ease}
  body.nav-pinned #app{padding-left:286px}
  /* rótulos: escondidos no rail, visíveis quando expandido (fixado ou hover) */
  .sidebar .sg-label{display:none}
  body.nav-pinned .sidebar .sg-label,
  .sidebar:hover .sg-label{display:inline}
  .sidebar .sg-chev{display:none}
  body.nav-pinned .sidebar .sg-chev,
  .sidebar:hover .sg-chev{display:inline}
  /* rail: só cabeçalhos de grupo (ícones); subitens aparecem ao expandir */
  .sidebar .side-group-items{display:none}
  body.nav-pinned .sidebar .side-group-items,
  .sidebar:hover .side-group-items{display:block}
  /* rail: centralizar ícones; expandido: alinhar à esquerda */
  .sidebar .side-item,
  .sidebar .side-group-head{justify-content:center}
  body.nav-pinned .sidebar .side-item,
  body.nav-pinned .sidebar .side-group-head,
  .sidebar:hover .side-item,
  .sidebar:hover .side-group-head{justify-content:flex-start}
  .sidebar .side-item.sub{padding-left:12px}
  body.nav-pinned .sidebar .side-item.sub,
  .sidebar:hover .side-item.sub{padding-left:32px}
  /* cabeçalho no rail: logo centralizado */
  .sidebar:not(:hover):not(.x) .sidebar-head{justify-content:center}
  body.nav-pinned .sidebar-head{justify-content:flex-start}
}
@media (min-width:901px){
  .sidebar{box-shadow:2px 0 14px rgba(17,20,24,.07)}
}

/* Logo do menu: "D" no recolhido, wordmark completa no expandido */
.sidebar-head .logo-d{display:none;height:30px;width:auto}
@media (min-width:901px){
  .sidebar .logo-full{display:none}
  .sidebar .logo-d{display:block}
  body.nav-pinned .sidebar .logo-full,
  .sidebar:hover .logo-full{display:block}
  body.nav-pinned .sidebar .logo-d,
  .sidebar:hover .logo-d{display:none}
}

/* ===== Wizard de integração (Sankhya) ===== */
.snk-modal{position:fixed;inset:0;z-index:300;background:rgba(17,20,24,.5);
  display:flex;align-items:center;justify-content:center;padding:20px}
.snk-modal.hidden{display:none}
.snk-card{background:var(--surface);border-radius:16px;width:620px;max-width:100%;
  max-height:92vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.snk-head{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}
.snk-logo{height:24px}
.snk-title{font-family:Quicksand,sans-serif;font-weight:700;font-size:18px;flex:1;color:var(--text)}
.snk-x{background:#F1F3F5;border:none;width:34px;height:34px;border-radius:50%;font-size:20px;
  cursor:pointer;color:#6B7280}
.snk-x:hover{background:#E6E9ED}
.snk-steps{display:flex;gap:14px;padding:14px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.snk-step{display:flex;align-items:center;gap:6px;font-family:Quicksand,sans-serif;
  font-weight:700;font-size:12.5px;color:#9AA1AC}
.snk-step.on{color:var(--brand-primary)}
.snk-step.done{color:var(--ok)}
.snk-stepn{width:22px;height:22px;border-radius:50%;background:#EEF0F3;display:inline-flex;
  align-items:center;justify-content:center;font-size:12px}
.snk-step.on .snk-stepn{background:var(--brand-primary);color:#fff}
.snk-step.done .snk-stepn{background:var(--ok);color:#fff}
.snk-body{padding:18px 20px;min-height:210px}
.snk-foot{display:flex;justify-content:space-between;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}
.snk-foot-r{display:flex;gap:8px}
.snk-tabs{display:flex;gap:6px;background:#F1F3F5;border-radius:10px;padding:4px;margin-bottom:6px}
.snk-tab{flex:1;border:none;background:none;padding:9px;border-radius:8px;cursor:pointer;
  font-family:Quicksand,sans-serif;font-weight:700;font-size:13px;color:#6B7280}
.snk-tab.on{background:#fff;color:var(--brand-primary);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.snk-l{display:block;font-weight:700;font-size:12.5px;margin:12px 0 5px;color:var(--text)}
.snk-h{font-weight:400;color:#9AA1AC;font-size:11.5px}
.snk-i{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#fff}
.snk-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.snk-note{font-size:11.5px;color:#9AA1AC;margin-top:10px;line-height:1.4}
.snk-desc{font-size:13px;color:#444;margin:0 0 10px;line-height:1.4}
.snk-sql{width:100%;min-height:150px;font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:12.5px;padding:12px;border:1px solid var(--border);border-radius:8px;white-space:pre;overflow:auto}
.snk-reset{margin-top:8px;background:none;border:none;color:var(--brand-primary);font-weight:600;font-size:12.5px;cursor:pointer}
.snk-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px;min-height:24px}
.snk-chip{background:#FCEFEF;color:var(--brand-primary-hover);border:1px solid #F3C9C9;
  border-radius:20px;padding:3px 6px 3px 10px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:5px}
.snk-chip i{cursor:pointer;font-style:normal;font-size:14px}
.snk-addtop{display:flex;gap:8px}
.snk-addtop .snk-i{flex:1}

/* Grades usam a largura toda do monitor (remove o teto de 1000px nas listas) */
.list-view .table-wrap,
.list-view .list-head,
.list-view .col-pop{max-width:none}
/* lista alta + muitas colunas: vira área de rolagem (x e y) com cabeçalho fixo,
   pra a barra de rolagem horizontal ficar SEMPRE visível (não no fim das 688 linhas) */
.list-view .table-wrap{max-height:calc(100vh - 240px);overflow:auto}
.list-view .table-wrap thead th{position:sticky;top:0;z-index:3;background:#F4F5F7}

/* Link de ajuda abaixo do X-Token (wizard) */
.snk-help{display:inline-block;margin:6px 0 0;font-size:12.5px;font-weight:700;
  color:var(--brand-primary);text-decoration:none}
.snk-help:hover{color:var(--brand-primary-hover);text-decoration:underline}

/* Botão executar + grade de resultado no wizard */
.snk-runbar{display:flex;align-items:center;gap:14px;margin-top:8px}
.snk-runbar .snk-run{padding:8px 16px;font-size:13px}
.snk-result{margin-top:12px}
.snk-rmsg{color:var(--muted);font-size:13px;padding:6px 2px}
.snk-rerr{background:#FCEBEB;border:1px solid #F3C9C9;color:var(--brand-primary-hover);
  border-radius:8px;padding:10px 12px;font-size:13px}
.snk-rinfo{color:var(--ok);font-weight:700;font-size:12.5px;margin-bottom:6px}
.snk-rwrap{border:1px solid var(--border);border-radius:8px;overflow:auto;max-height:300px}
.snk-rtable{width:100%;border-collapse:collapse;font-size:12.5px}
.snk-rtable thead th{position:sticky;top:0;background:#F4F5F7;color:var(--text-2,#6B7280);
  text-align:left;padding:8px 10px;font-weight:700;white-space:nowrap;border-bottom:1px solid var(--border)}
.snk-rtable tbody td{padding:7px 10px;border-bottom:1px solid #F0F1F3;white-space:nowrap}
.snk-rtable tbody tr:nth-child(even) td{background:#FAFAFB}

/* Cards de conexões configuradas (ações Configurar/Excluir) */
.conn-card{display:flex;flex-direction:column}
.conn-actions{display:flex;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.conn-btn{flex:1;border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 8px;
  font-size:12.5px;font-weight:700;cursor:pointer;color:var(--text)}
.conn-btn:hover{background:var(--bg)}
.conn-edit:hover{border-color:var(--brand-primary);color:var(--brand-primary)}
.conn-del{color:var(--brand-primary-hover)}
.conn-del:hover{background:#FCEBEB;border-color:#F3C9C9}

/* campo do wizard em estado de erro (ex.: nome obrigatório) */
.snk-i-err{border-color:var(--brand-primary) !important;box-shadow:0 0 0 2px #FCEFEF}

/* Menu Importar (ícone do conector) + coluna de seleção na grade de importação */
#imp-pop button{display:flex;align-items:center;gap:8px;white-space:nowrap}
.imp-ico{height:16px;width:auto;max-width:54px;object-fit:contain}
.snk-rtable th.ck,.snk-rtable td.ck{width:38px;text-align:center;padding-left:0;padding-right:0}
.snk-rtable .imp-ck,#imp-all{width:17px;height:17px;accent-color:var(--brand-primary);cursor:pointer}

/* Sem organização ativa (seletor de org): esconde a trilha do menu */
body.no-nav .sidebar,
body.no-nav .sidebar-backdrop,
body.no-nav .hamburger{display:none !important}
body.no-nav #app{padding-left:0 !important}

/* Aviso do método de autenticação (OAuth) no wizard */
.snk-method{background:#EEFBF4;border:1px solid #BDEBD3;color:#0c6b43;border-radius:8px;
  padding:9px 12px;font-size:12.5px;font-weight:600;margin:12px 0 4px}
/* Aviso: "aqui só define a base; importar é depois no cadastro" */
.snk-info{background:#EEF4FF;border:1px solid #C5D8F7;color:#1c3d6e;border-radius:8px;
  padding:10px 12px;font-size:12.5px;line-height:1.45;margin:0 0 12px}
.snk-info b{color:#13294d}
/* Abas Novos x Atualização no modal de importação */
.imp-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin:0 0 10px}
.imp-tab{appearance:none;background:none;border:none;border-bottom:2px solid transparent;
  padding:8px 12px;margin-bottom:-1px;font-size:13px;font-weight:600;color:#6B7280;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px}
.imp-tab:hover{color:#374151}
.imp-tab.active{color:var(--primary,#1565C0);border-bottom-color:var(--primary,#1565C0)}
.imp-badge{display:inline-block;min-width:18px;text-align:center;background:#E5E7EB;color:#374151;
  border-radius:9px;padding:0 6px;font-size:11px;font-weight:700}
.imp-tab.active .imp-badge{background:var(--primary,#1565C0);color:#fff}
.imp-note{font-size:12px;line-height:1.45;color:#444;background:#F7F8FA;border:1px solid var(--border);
  border-radius:8px;padding:8px 11px;margin:0 0 10px}
.imp-note.warn{background:#FFF7E8;border-color:#F3D9A6;color:#7a5500}
.btn-warn{background:#E8920C !important;border-color:#E8920C !important;color:#fff !important}
.btn-warn:hover{background:#cf8109 !important}

/* Painel "Ver campos do nosso cadastro" no wizard */
.snk-campos{margin:0 0 12px;border:1px solid var(--border);border-radius:8px;padding:0 12px;background:#FAFAFB}
.snk-campos summary{cursor:pointer;font-weight:700;font-size:12.5px;color:var(--brand-primary);padding:9px 0;list-style:none}
.snk-campos summary::-webkit-details-marker{display:none}
.snk-campos summary::before{content:"▸ ";color:#9AA1AC}
.snk-campos[open] summary::before{content:"▾ "}
.snk-campos-t{width:100%;border-collapse:collapse;font-size:12.5px;margin:4px 0 8px}
.snk-campos-t th{text-align:left;color:#6B7280;font-weight:700;padding:5px 8px;border-bottom:1px solid var(--border)}
.snk-campos-t td{padding:6px 8px;border-bottom:1px solid #EEF0F3;vertical-align:top}
.snk-col{color:#9AA1AC;font-weight:400}
.snk-req{color:var(--brand-primary-hover);font-weight:700}
.snk-opt{color:#6B7280}

/* Botão Excluir no formulário de cadastro */
.btn-del-cad{background:#FCEBEB;border:1px solid #F3C9C9;color:var(--brand-primary-hover);
  border-radius:10px;padding:10px 18px;font-size:15px;font-weight:700;cursor:pointer}
.btn-del-cad:hover{background:#F8D7D7}

/* Status "Disponível" (verde) nos cards de integração */
.integr-status.ok{color:var(--ok);font-weight:700}

/* Exclusão em lote na grade de pedidos (destrava o clique no checkbox) */
.table-wrap th.ck,.table-wrap td.ck{width:40px;text-align:center;padding-left:0;padding-right:0}
.table-wrap .bulk-ck,.table-wrap #bulk-all{pointer-events:auto;width:18px;height:18px;cursor:pointer}

/* ===== CIOT (tela embarcada no sistema de rotas) ===== */
#view-ciot{padding:14px 28px 40px;overflow-y:auto}
.ciot-wrap{max-width:1100px}
.ciot-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin:0 0 16px}
.ciot-tab{background:none;border:none;border-bottom:2px solid transparent;padding:9px 15px;font-size:14px;font-weight:600;color:#6b7280;cursor:pointer}
.ciot-tab.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}
.ciot-wrap fieldset{border:1px solid var(--border);border-radius:8px;margin:0 0 14px;padding:14px;background:#fff}
.ciot-wrap legend{font-weight:600;color:var(--brand-primary);padding:0 6px}
.ciot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ciot-grid label{display:flex;flex-direction:column;font-size:12.5px;color:#444;gap:3px}
.ciot-acwrap{position:relative}
.ciot-ac{position:absolute;top:100%;left:0;right:0;z-index:50;background:#fff;border:1px solid var(--border);
  border-radius:6px;box-shadow:0 8px 22px rgba(0,0,0,.15);max-height:260px;overflow:auto;display:none;margin-top:2px}
.ciot-ac.open{display:block}
.ciot-ac .opt{padding:7px 10px;font-size:12px;cursor:pointer;border-bottom:1px solid #f1f1f3;line-height:1.35}
.ciot-ac .opt:last-child{border-bottom:none}
.ciot-ac .opt:hover{background:#f5f7fa}
.ciot-ac .opt b{color:var(--brand-primary)}
.ciot-grid input{padding:7px;border:1px solid var(--border);border-radius:6px;font-size:13.5px}
.ciot-chk{flex-direction:row !important;align-items:center;gap:6px;align-self:end}
.ciot-modo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:6px 0 4px}
.ciot-modo .btn-primary{margin-left:auto}
.btn-warn{background:#E8920C !important;border-color:#E8920C !important;color:#fff !important}
.ciot-big{font-size:19px;font-weight:700}
.ciot-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:14px;margin:8px 0}
.ciot-kv b{color:#333}
.ciot-pre{background:#0d1117;color:#c9d1d9;padding:11px;border-radius:8px;overflow:auto;font-size:11.5px;max-height:320px}
.ciot-wrap details{margin:8px 0}
.ciot-wrap summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--brand-primary)}
.ciot-tbl{width:100%;border-collapse:collapse;background:#fff;font-size:13px}
.ciot-tbl th,.ciot-tbl td{border:1px solid var(--border);padding:7px 9px;text-align:left}
.ciot-tbl th{background:#f0f3f7}
.ciot-badge{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700}
.ciot-badge.good{background:#e6f4ea;color:#1e7e34}
.ciot-badge.bad{background:#fdecea;color:#b02a37}
.ciot-badge.draft{background:#eef0f3;color:#5b6470}

/* ===== Abas das telas abertas (dentro da barra do topo, estilo cartório) ===== */
.topbar .tabbar{display:flex;align-items:flex-end;gap:3px;flex:1;height:100%;min-width:0;
  margin-left:10px;overflow-x:auto;overflow-y:hidden}
.topbar .tab{display:flex;align-items:center;gap:8px;padding:7px 13px;align-self:flex-end;
  border-radius:8px 8px 0 0;background:rgba(255,255,255,.18);color:#fff;font-size:13px;font-weight:600;
  cursor:pointer;white-space:nowrap;line-height:1;max-width:220px}
.topbar .tab .tab-lbl{overflow:hidden;text-overflow:ellipsis}
.topbar .tab:hover{background:rgba(255,255,255,.30)}
.topbar .tab.active{background:#fff;color:var(--brand-primary)}
.topbar .tab-home{padding:7px 11px;font-size:15px}
.topbar .tab-x{font-size:13px;opacity:.85;border-radius:50%;width:16px;height:16px;flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center}
.topbar .tab-x:hover{background:rgba(0,0,0,.18)}
.topbar .tab.active .tab-x:hover{background:#f0d5d5}
.ciot-wrap .lnk{color:var(--brand-primary);cursor:pointer;text-decoration:underline;font-size:12.5px}
.ciot-wrap .card{cursor:default;background:#fff;border:1px solid var(--border);border-left:5px solid #ccc;border-radius:8px;padding:14px;margin:12px 0;display:block;box-shadow:none}
.ciot-wrap .card:hover{transform:none;box-shadow:none}
.ciot-wrap .card.ok{border-left-color:#1e7e34}
.ciot-wrap .card.err{border-left-color:#b02a37}

/* CIOT — barra de ações da lista + filtros */
.ciot-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 14px}
.ciot-bar .btn-primary{margin-left:auto}
.ciot-h2{margin:0;font-size:18px}
.ciot-filtros{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
#view-ciot .ciot-filtros select,#view-ciot .ciot-filtros input{width:auto;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px}
#view-ciot .ciot-filtros #f_busca{width:260px;max-width:48vw}
#view-ciot .ciot-filtros input[type=date]{width:170px}
.ciot-filtros .btn-primary{padding:8px 16px;font-size:13px}
.ciot-filtros .f-lbl{font-size:12px;color:var(--text-2)}
.ciot-filtros #f_limpar{font-size:12.5px}
/* filtro de status multi-seleção (dropdown de checkboxes) */
.ciot-statusf{position:relative;display:inline-block}
#view-ciot .ciot-statusf-btn{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:#fff;color:var(--text);cursor:pointer;white-space:nowrap}
.ciot-statusf-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:60;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.16);padding:8px;min-width:190px}
.ciot-statusf-pop label{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;font-size:13px;color:var(--text);cursor:pointer;white-space:nowrap}
.ciot-statusf-pop label:hover{background:#f5f7fa}
/* spinner de "Emitindo…" no botão */
.btn-spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;border-radius:50%;vertical-align:-2px;margin-right:4px;animation:dux-spin .7s linear infinite}
@keyframes dux-spin{to{transform:rotate(360deg)}}
.btn-loading{cursor:progress;opacity:.9}
/* lista de erros de emissão do CIOT */
.ciot-erro-item{padding:10px 4px;border-bottom:1px solid #f1f1f3}
.ciot-erro-dh{font-size:11.5px;color:var(--text-2)}
.ciot-erro-msg{font-size:13.5px;color:#b02a37;margin-top:2px;white-space:pre-wrap}
.ciot-erro-item details{margin-top:6px}
.ciot-erro-item summary{font-size:12px;color:var(--brand-primary);cursor:pointer}
.ciot-erro-det{background:#0d1117;color:#c9d1d9;padding:8px;border-radius:6px;font-size:11px;max-height:220px;overflow:auto;white-space:pre-wrap;margin-top:6px}
.ciot-acoes{white-space:nowrap;display:flex;gap:2px;align-items:center}
.ciot-ico{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;border-radius:7px;
  cursor:pointer;line-height:1;color:var(--text-2);user-select:none}
.ciot-ico:hover{background:#eef2f6;color:var(--text)}
.ciot-ico sup{font-size:9px;font-weight:700;color:inherit;margin-left:1px}
.lnk-bad{color:#b02a37 !important}

/* CIOT — partes (CNPJ-first) */
.ciot-col2{grid-column:span 2}
.ciot-hint{grid-column:1/-1;font-size:11.5px;color:var(--text-2);min-height:14px;margin-top:-2px}

/* CIOT — indicador do emissor (provedor plugável) */
.ciot-emissor{display:inline-flex;align-items:center;gap:6px;margin-left:14px;font-size:12.5px;color:var(--text-2)}
.ciot-emissor select{width:auto;padding:5px 8px;border:1px solid var(--border);border-radius:8px;font-size:12.5px}

/* CIOT — veículos (linhas: placa, eixos, RNTRC, remover) */
.veic-head{display:grid;grid-template-columns:1fr 110px 1fr 34px;gap:10px;font-size:11.5px;color:var(--text-2);font-weight:600;margin:2px 0 4px}
.veic-row{display:grid;grid-template-columns:1fr 110px 1fr 34px;gap:10px;align-items:center;margin-bottom:8px}
.veic-row input{padding:8px;border:1px solid var(--border);border-radius:8px;font-size:13.5px;width:100%}
.v-del{height:36px;border:1px solid var(--border);background:#fff;border-radius:8px;cursor:pointer;color:#b02a37;font-size:18px;line-height:1}
.v-del:hover{background:#fdecea}

/* CIOT — partes (grid 6 col) e seções repetíveis (viagens, parcelas, frac) */
.ciot-party,.viag-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.ciot-party label,.viag-grid label{display:flex;flex-direction:column;font-size:12.5px;color:#444;gap:3px;margin:0}
.ciot-party input,.viag-grid input{padding:8px;border:1px solid var(--border);border-radius:8px;font-size:13.5px;width:100%}
.sp1{grid-column:span 1}.sp2{grid-column:span 2}.sp3{grid-column:span 3}.sp4{grid-column:span 4}.sp6{grid-column:1/-1}
.ciot-grid select{padding:8px 10px;font-size:13.5px}
.viag-row,.parc-row{border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:10px;background:#fff}
.viag-head,.parc-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:10px}
.vg-del,.pc-del,.fr-del{border:1px solid var(--border);background:#fff;border-radius:8px;cursor:pointer;color:#b02a37;font-size:12.5px;padding:4px 12px}
.frac-row{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.frac-row .fr-doc{flex:1;padding:8px;border:1px solid var(--border);border-radius:8px;font-size:13.5px}

/* ============ CIOT — acabamento visual do formulário ============ */
.ciot-wrap{max-width:1340px}
#view-ciot fieldset{border:1px solid var(--border);border-radius:14px;padding:18px 20px 16px;margin:0 0 16px;background:var(--surface);box-shadow:0 1px 2px rgba(16,20,24,.05)}
#view-ciot legend{font-family:Quicksand,sans-serif;font-weight:700;font-size:13.5px;color:var(--brand-primary);padding:0 8px;text-transform:none}
#view-ciot legend .f-lbl{font-family:Inter,sans-serif;font-weight:500;color:var(--text-2)}
#view-ciot label{font-size:12px;color:var(--text-2);font-weight:500;margin:0;white-space:nowrap}
#view-ciot .req{color:var(--brand-primary);font-weight:700;margin-left:2px}
#view-ciot .veic-head .req,#view-ciot .parc-head-cols .req{margin-left:1px}
#view-ciot input,#view-ciot select{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:9px;font-size:13.5px;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s}
#view-ciot input:focus,#view-ciot select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(215,25,30,.12)}
#view-ciot input::placeholder{color:#aab0b8}
.ciot-grid,.ciot-party,.viag-grid{gap:12px}
.ciot-grid label,.ciot-party label,.viag-grid label{display:block;gap:4px}
.ciot-grid label>input,.ciot-grid label>select,.ciot-grid label>.ciot-money,.ciot-party label>input,.ciot-party label>select,.viag-grid label>input,.viag-grid label>select{display:block;margin-top:4px}
/* indicadores do frete (3 flags juntas, em chips) */
.ciot-flags{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px;padding-top:12px;border-top:1px dashed var(--border)}
.ciot-flags-lbl{font-size:12px;color:var(--text-2);font-weight:600}
.ciot-flags label{display:flex;flex-direction:row !important;align-items:center;gap:8px;background:#F7F8FA;border:1px solid var(--border);border-radius:999px;padding:7px 14px;font-size:13px;color:var(--text);cursor:pointer;transition:border-color .15s,background .15s}
.ciot-flags label:hover{border-color:var(--brand-primary);background:#fff}
.ciot-flags input{width:auto !important;accent-color:var(--brand-primary)}
#view-ciot .ciot-chk{display:flex;flex-direction:row !important;align-items:center;gap:8px;align-self:end;font-size:13px;color:var(--text)}
#view-ciot .ciot-chk input{width:auto !important;accent-color:var(--brand-primary)}
/* cards repetíveis */
.viag-row,.parc-row{border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:12px;background:#FBFBFC}
.viag-head,.parc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.viag-head b,.parc-head b{font-family:Quicksand,sans-serif;font-size:13px;color:var(--text)}
.veic-row input,.frac-row .fr-doc{padding:9px 11px;border-radius:9px}
#view-ciot .btn-outline{padding:8px 14px;font-size:13px;border-radius:9px}
#view-ciot .ciot-hint{color:var(--text-2);font-size:11.5px}
.ciot-modo{margin-top:8px}
.ciot-modo .btn-primary{padding:13px 26px;font-size:15px;border-radius:10px}
#view-ciot .ciot-bar h2{font-family:Quicksand,sans-serif}
#view-ciot input[type=hidden]{display:none}

/* CIOT — tipo de operação em rádios (chips), igual ao grupo de flags */
.ciot-radios{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:2px}
.ciot-radios label{display:flex;flex-direction:row !important;align-items:center;gap:7px;background:#F7F8FA;border:1px solid var(--border);border-radius:999px;padding:7px 14px;font-size:13px;color:var(--text);cursor:pointer;margin:0}
.ciot-radios label:hover{border-color:var(--brand-primary);background:#fff}
.ciot-radios input{width:auto !important;accent-color:var(--brand-primary)}
/* CIOT — lat/long automáticos (readonly, visual suave) */
.vg-auto{background:#F4F5F7 !important;color:var(--text-2);cursor:default}

/* CIOT — parcelas em GRADE compacta (linha por parcela) */
.parc-head-cols,.parc-row{display:grid;grid-template-columns:26px 1.5fr 2.6fr 1.3fr 1fr 104px 30px;gap:8px;align-items:center}
.parc-soma{font-size:12.5px;font-weight:600;margin:8px 2px 0}
.parc-soma.ok{color:#1a7a3a}
.parc-soma.bad{color:var(--brand-primary)}
#view-ciot .ciot-money{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:9px;background:#fff;overflow:hidden}
#view-ciot .ciot-money:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(215,25,30,.12)}
#view-ciot .ciot-money-pre{display:flex;align-items:center;padding:0 10px;color:var(--text-2);font-size:13px;font-weight:600;background:#f3f4f6;border-right:1px solid var(--border)}
#view-ciot .ciot-money input{border:none !important;box-shadow:none !important;border-radius:0}
.parc-head-cols{font-size:11px;color:var(--text-2);font-weight:600;margin-bottom:6px;padding:0 2px}

/* CIOT — botões de fonte (Depósito/Empresa, Cliente) por grupo + modal de seleção */
.ciot-fonte-bar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
#view-ciot .ciot-fonte{padding:6px 12px;font-size:12.5px;border-radius:8px}
.ciot-pick-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;align-items:center;justify-content:center}
.ciot-pick-box{background:#fff;border-radius:14px;width:560px;max-width:92vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(0,0,0,.3);overflow:hidden}
.ciot-pick-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--border);font-family:Quicksand,sans-serif;color:var(--brand-primary)}
.ciot-pick-q{margin:16px 22px 10px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;font-size:13.5px}
.ciot-pick-q:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(215,25,30,.12)}
.ciot-pick-list{overflow:auto;padding:4px 14px 18px}
.ciot-pick-opt{padding:10px 12px;border-radius:8px;cursor:pointer;font-size:13.5px;border-bottom:1px solid #f1f1f3}
.ciot-pick-opt:hover{background:#f5f7fa}
.parc-row{border:none !important;background:transparent !important;padding:0 !important;margin-bottom:8px !important}
.parc-n{font-size:12px;color:var(--text-2);text-align:center}
.parc-row select,.parc-row input{padding:8px;border:1px solid var(--border);border-radius:8px;font-size:13px;width:100%}
.pc-bankwrap{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:6px}
.pc-del{border:1px solid var(--border);background:#fff;border-radius:8px;cursor:pointer;color:#b02a37;font-size:16px;height:36px;padding:0}
.pc-del:hover{background:#fdecea}

/* ===== Checkboxes de opção como SLIDER (toggle liga/desliga) ===== */
input[type="checkbox"]{
  -webkit-appearance:none !important;appearance:none !important;box-sizing:border-box;position:relative;
  width:38px !important;height:21px !important;min-width:38px;border-radius:999px !important;
  background:#aab2bf !important;border:none !important;cursor:pointer;margin:0;padding:0 !important;flex:0 0 auto;
  vertical-align:middle;transition:background .15s;box-shadow:inset 0 0 0 1px rgba(16,20,24,.22) !important}
input[type="checkbox"]::before{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;
  border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.4);transition:left .15s}
input[type="checkbox"]:checked{background:var(--brand-primary,#D7191E) !important;box-shadow:none !important}
input[type="checkbox"]:checked::before{left:19px}
input[type="checkbox"]:focus{outline:none !important}
input[type="checkbox"]:focus:not(:checked){box-shadow:inset 0 0 0 1px rgba(16,20,24,.22) !important}
input[type="checkbox"]:disabled{opacity:.55;cursor:default}
/* grades de seleção continuam checkbox normal (slider deixaria pesado/desalinhado) */
.table-wrap input[type="checkbox"],.snk-rtable .imp-ck,#imp-all,.snk-topck,#snk-topall{
  -webkit-appearance:auto !important;appearance:auto !important;width:18px !important;height:18px !important;
  min-width:0;border-radius:3px;background:none;accent-color:var(--brand-primary)}
.table-wrap input[type="checkbox"]::before,.snk-rtable .imp-ck::before,#imp-all::before{content:none}
