
:root{--bg:#07111f;--panel:#0c1a2f;--panel2:#101f36;--line:rgba(255,255,255,.09);--text:#eef5ff;--muted:#93a5bd;--blue:#3eabff;--violet:#7566ff;--green:#27d17f;--red:#ff6f7d;--amber:#ffc65c}
*{box-sizing:border-box}html{font-family:Inter,Arial,sans-serif;background:#06101c;color:var(--text)}body{margin:0;background:linear-gradient(180deg,#07111f,#06101c);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.admin-shell{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.admin-side{background:#07101c;border-right:1px solid var(--line);padding:24px 16px;position:sticky;top:0;height:100vh}.admin-brand{font-weight:800;font-size:20px;margin:0 8px 28px}.admin-brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.15em;margin-top:4px}.admin-menu{display:grid;gap:6px}.admin-menu a{padding:12px 14px;border-radius:12px;color:#b9c7d9;font-weight:700;font-size:14px}.admin-menu a:hover,.admin-menu a.active{background:rgba(74,164,255,.12);color:#fff}.admin-main{min-width:0}.admin-top{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(5,12,22,.85);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.admin-top strong{font-size:14px}.admin-content{padding:28px;max-width:1500px}.page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:24px}.page-head h1{margin:0;font-size:30px}.page-head p{margin:6px 0 0;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:12px;border:1px solid transparent;font-weight:800;cursor:pointer}.btn-primary{background:linear-gradient(135deg,#279cff,#7566ff);color:white}.btn-secondary{background:rgba(255,255,255,.05);border-color:var(--line);color:#eaf3ff}.btn-danger{background:rgba(255,89,104,.11);border-color:rgba(255,89,104,.25);color:#ffb2ba}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px}.stat span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.stat strong{display:block;font-size:30px;margin-top:8px}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:18px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:850px}.table th,.table td{text-align:left;padding:13px 11px;border-bottom:1px solid rgba(255,255,255,.065);font-size:13px}.table th{color:#91a5bf;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.muted{color:var(--muted)}.badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.06);font-size:11px;font-weight:800}.badge.recebido,.badge.aberto{color:#8bd4ff;background:rgba(58,173,255,.10)}.badge.em_analise,.badge.em_atendimento{color:#ffd27b;background:rgba(255,196,77,.10)}.badge.aprovado,.badge.concluido,.badge.operando{color:#8aebb1;background:rgba(39,209,127,.10)}.badge.rejeitado,.badge.cancelado{color:#ff9da7;background:rgba(255,89,104,.10)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-list{display:grid;grid-template-columns:180px 1fr;gap:10px 16px}.detail-list dt{color:var(--muted);font-size:12px}.detail-list dd{margin:0;font-weight:600;word-break:break-word}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:7px}.field-full{grid-column:1/-1}.field label{font-size:12px;color:#c9d6e7;font-weight:700}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border-radius:11px;border:1px solid var(--line);background:#091729;color:white;outline:none}.field textarea{min-height:100px;resize:vertical}.flash{padding:13px 15px;border-radius:12px;margin-bottom:18px;background:rgba(39,209,127,.10);border:1px solid rgba(39,209,127,.22);color:#9af0ba}.error{background:rgba(255,89,104,.10);border-color:rgba(255,89,104,.24);color:#ffb4bc}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(460px,100%);padding:30px;border-radius:22px;background:var(--panel);border:1px solid var(--line);box-shadow:0 30px 90px rgba(0,0,0,.35)}.login-card h1{margin-top:0}.login-card .field{margin-bottom:14px}.timeline{display:grid;gap:12px}.timeline-item{border-left:2px solid rgba(80,180,255,.35);padding:4px 0 4px 16px}.timeline-item small{color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.filters input,.filters select{padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#091729;color:white}.empty{padding:28px;text-align:center;color:var(--muted)}
@media(max-width:1000px){.admin-shell{grid-template-columns:1fr}.admin-side{position:relative;height:auto}.admin-menu{grid-template-columns:repeat(3,1fr)}.admin-top{position:relative}.stats{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}@media(max-width:620px){.admin-menu{grid-template-columns:1fr 1fr}.admin-content{padding:18px}.stats{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.detail-list{grid-template-columns:1fr}.admin-top{padding:0 16px}.page-head{align-items:flex-start;flex-direction:column}}

.bi-subnav{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 20px}.bi-subnav a{padding:9px 12px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-weight:700;font-size:12px}.bi-subnav a.active,.bi-subnav a:hover{background:rgba(58,173,255,.10);color:#fff;border-color:rgba(58,173,255,.24)}.bi-select{padding:10px 14px;background:#091729;color:#fff;border:1px solid var(--line);border-radius:12px}.bi-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat small{display:block;color:var(--muted);margin-top:8px;font-size:11px}.stat small.down{color:#ff9da7}.stat small.up{color:#8aebb1}.bi-big{font-size:28px;font-weight:800;margin:8px 0}.bi-progress{height:10px;background:#07111f;border-radius:999px;overflow:hidden}.bi-progress span{display:block;height:100%;background:linear-gradient(90deg,#22c7c7,#6c69ff);border-radius:999px}.bi-bars{display:grid;gap:10px}.bi-bar-row{display:grid;grid-template-columns:50px 1fr 120px;gap:10px;align-items:center;font-size:12px}.bi-bar-row>div{height:10px;border-radius:999px;background:#07111f;overflow:hidden}.bi-bar-row i{display:block;height:100%;background:#23b4d9;border-radius:999px}.bi-bar-row b{text-align:right}.bi-check{display:flex;align-items:center;gap:8px;color:var(--muted)}@media(max-width:900px){.bi-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.bi-stats{grid-template-columns:1fr}.bi-bar-row{grid-template-columns:45px 1fr}.bi-bar-row b{grid-column:2;text-align:left}.bi-subnav{overflow-x:auto;flex-wrap:nowrap}.bi-subnav a{white-space:nowrap}}


/* =========================================================
   V1.0.017 — Navegação do módulo BI
   Submenu lateral visual e responsivo
   ========================================================= */

.bi-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.bi-module-nav {
  position: sticky;
  top: 88px;
  background: #09172a;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 14px;
  min-width: 0;
}

.bi-module-nav-head {
  padding: 8px 10px 14px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  margin-bottom: 10px;
}

.bi-module-nav-head strong {
  display: block;
  font-size: 15px;
  margin-top: 4px;
}

.bi-module-nav-head small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.bi-module-kicker {
  color: #6fd3ff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bi-module-menu {
  display: grid;
  gap: 6px;
}

.bi-module-link {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 11px;
  border-radius: 12px;
  border: 1px solid transparent;
  color: #b9c8da;
  font-size: 13px;
  font-weight: 750;
  transition: .18s ease;
}

.bi-module-link:hover {
  color: #fff;
  background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.06);
}

.bi-module-link.active {
  color: #fff;
  background: linear-gradient(135deg, rgba(43,153,255,.18), rgba(77,102,255,.11));
  border-color: rgba(76,174,255,.25);
}

.bi-module-icon {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 9px;
  background: rgba(255,255,255,.05);
  color: #76d4ff;
  flex: 0 0 auto;
  font-size: 13px;
}

.bi-module-link.active .bi-module-icon {
  background: rgba(49,166,255,.16);
  color: #a9e7ff;
}

.bi-module-content {
  min-width: 0;
}

/* Remove visual do menu antigo caso algum cache/HTML residual permaneça */
.bi-subnav {
  display: none !important;
}

/* Em tablets, o submenu vira faixa de botões rolável */
@media (max-width: 1180px) {
  .bi-layout {
    grid-template-columns: 1fr;
  }

  .bi-module-nav {
    position: relative;
    top: auto;
  }

  .bi-module-nav-head {
    display: none;
  }

  .bi-module-menu {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: thin;
  }

  .bi-module-link {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 0 13px;
  }
}

/* No celular, botões em grade de 2 colunas */
@media (max-width: 620px) {
  .bi-module-nav {
    border-radius: 14px;
    padding: 10px;
  }

  .bi-module-menu {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }

  .bi-module-link {
    width: 100%;
    min-width: 0;
    justify-content: flex-start;
    white-space: normal;
    font-size: 12px;
  }

  .bi-module-icon {
    width: 26px;
    height: 26px;
  }
}


/* =========================================================
   V1.0.018 — Inteligência 360º de equipamentos
   ========================================================= */
.bi-kpi-grid {
  display:grid;
  gap:14px;
  margin-bottom:18px;
}
.bi-kpi-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.bi-kpi {
  min-width:0;
  padding:18px;
  border-radius:16px;
  background:var(--panel);
  border:1px solid var(--line);
}
.bi-kpi span {
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.bi-kpi strong {
  display:block;
  margin-top:8px;
  font-size:25px;
  letter-spacing:-.03em;
}
.bi-kpi small {
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
}
.btn-small { min-height:34px;padding:0 11px;font-size:12px; }
.equipment-hero {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.equipment-hero h2 { margin:4px 0 5px;font-size:26px; }
.equipment-month-filter label {
  display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:700;
}
.equipment-month-filter select {
  min-width:150px;padding:10px 12px;border-radius:10px;
  border:1px solid var(--line);background:#091729;color:#fff;
}
.equipment-evolution { display:grid;gap:12px; }
.equipment-evolution-row {
  display:grid;
  grid-template-columns:72px minmax(120px,1fr) 130px 90px;
  align-items:center;
  gap:12px;
  font-size:12px;
}
.equipment-evolution-track {
  height:10px;border-radius:999px;background:rgba(255,255,255,.055);overflow:hidden;
}
.equipment-evolution-bar {
  height:100%;border-radius:999px;background:linear-gradient(90deg,#299cff,#7566ff);
}
.equipment-evolution-row small { color:var(--muted);text-align:right; }
.page-head-actions { display:flex;gap:10px;flex-wrap:wrap; }

@media(max-width:1100px){
  .bi-kpi-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px){
  .bi-kpi-grid-4 { grid-template-columns:1fr; }
  .equipment-hero { align-items:flex-start;flex-direction:column; }
  .equipment-month-filter,.equipment-month-filter select { width:100%; }
  .equipment-evolution-row {
    grid-template-columns:65px minmax(80px,1fr);
    gap:8px;
  }
  .equipment-evolution-row strong,.equipment-evolution-row small {
    grid-column:2;
    text-align:left;
  }
  .equipment-table th:nth-child(5),
  .equipment-table td:nth-child(5),
  .equipment-table th:nth-child(6),
  .equipment-table td:nth-child(6) { display:none; }
}


/* =========================================================
   V1.0.019 — Importação assíncrona / arquivos grandes
   ========================================================= */
.bi-import-info-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;
}
.mini-progress{
  width:150px;max-width:100%;height:7px;border-radius:999px;
  overflow:hidden;background:rgba(255,255,255,.07);margin-bottom:5px;
}
.mini-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2aa5ff,#7a67ff);}
.bi-modal-backdrop[hidden]{display:none!important;}
.bi-modal-backdrop{
  position:fixed;inset:0;z-index:9999;background:rgba(1,7,16,.78);
  backdrop-filter:blur(7px);display:grid;place-items:center;padding:18px;
}
.bi-import-modal{
  width:min(920px,100%);max-height:calc(100vh - 36px);overflow:auto;
  background:#071426;border:1px solid rgba(255,255,255,.11);
  border-radius:22px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.42);
}
.bi-import-modal-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:18px;
}
.bi-import-modal-head h2{margin:4px 0 3px;font-size:24px;}
.bi-import-modal-head p{margin:0;color:var(--muted);}
.bi-modal-close{
  width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);color:#fff;font-size:26px;line-height:1;cursor:pointer;
}
.bi-import-requirements{
  margin-top:14px;padding:12px 14px;border-radius:12px;
  background:rgba(60,164,255,.07);border:1px solid rgba(60,164,255,.14);color:#bcd4ea;font-size:12px;
}
.bi-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap;}
.bi-import-stage{padding:16px;border-radius:16px;background:#0a1930;border:1px solid rgba(255,255,255,.07);}
.bi-import-stage>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;}
.bi-import-stage span{font-weight:800}.bi-import-stage strong{font-size:20px;}
.bi-progress-track{height:14px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden;}
.bi-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#18c8b1,#348fff,#826bff);transition:width .2s ease;}
.bi-import-stats{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;
}
.bi-import-stats>div{
  min-width:0;padding:12px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055);
}
.bi-import-stats span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800;letter-spacing:.05em;}
.bi-import-stats strong{display:block;margin-top:5px;font-size:15px;overflow-wrap:anywhere;}
.bi-import-log{
  margin-top:14px;min-height:80px;max-height:180px;overflow:auto;padding:12px;
  border-radius:12px;background:#030b15;border:1px solid rgba(255,255,255,.06);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#a9bad0;
}
.bi-import-log div{padding:4px 0;border-bottom:1px dashed rgba(255,255,255,.04);}
.bi-import-log .ok{color:#79e3bd}.bi-import-log .error{color:#ff9a9a}
body.bi-modal-open{overflow:hidden;}

@media(max-width:760px){
  .bi-import-info-grid{grid-template-columns:1fr;}
  .bi-import-modal{padding:15px;border-radius:17px;}
  .bi-import-modal-head h2{font-size:20px;}
  .bi-import-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .bi-modal-actions .btn{width:100%;}
}
@media(max-width:430px){
  .bi-import-stats{grid-template-columns:1fr;}
}


/* =========================================================
   V1.0.021 — Diagnóstico de comissão
   ========================================================= */
.commission-diagnostic-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px;
}
.commission-diagnostic-head h3{margin:5px 0 0}
.commission-rate-box{
  min-width:190px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.06);text-align:right
}
.commission-rate-box span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}
.commission-rate-box strong{display:block;margin-top:4px;font-size:22px}
.commission-diagnostic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.commission-diagnostic-grid>div{padding:14px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05)}
.commission-diagnostic-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}
.commission-diagnostic-grid strong{display:block;margin-top:6px;font-size:18px}
.commission-diagnostic-grid small{display:block;margin-top:4px;color:var(--muted)}
@media(max-width:760px){
  .commission-diagnostic-head{flex-direction:column}
  .commission-rate-box{width:100%;text-align:left}
  .commission-diagnostic-grid{grid-template-columns:1fr}
}


/* =========================================================
   V1.0.022 — Auditoria por transação
   ========================================================= */
.audit-filter-grid{
  display:grid!important;
  grid-template-columns:150px minmax(240px,1.5fr) minmax(180px,1fr) 180px 180px auto;
  align-items:end;
  gap:10px!important;
}
.audit-filter-grid label{display:grid;gap:6px;min-width:0}
.audit-filter-grid label>span{font-size:10px;text-transform:uppercase;font-weight:800;color:var(--muted);letter-spacing:.04em}
.audit-filter-grid select,.audit-filter-grid input{width:100%}
.audit-filter-action{display:flex}
.audit-company-name{font-size:17px!important;line-height:1.25}
.transaction-audit-card{border-color:rgba(54,162,255,.22)}
.transaction-audit-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.transaction-audit-head h2{margin:4px 0 4px;font-size:22px}
.transaction-audit-head p{margin:0;color:var(--muted)}
.transaction-value-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}
.transaction-value-grid>div{padding:14px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055)}
.transaction-value-grid span{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}
.transaction-value-grid strong{display:block;margin-top:5px;font-size:19px}
.transaction-value-grid .audit-warning{border-color:rgba(255,175,67,.28);background:rgba(255,175,67,.06)}
.transaction-value-grid .audit-ok{border-color:rgba(82,211,159,.22);background:rgba(82,211,159,.045)}
.audit-detail-grid{margin-top:4px}
.audit-panel{padding:16px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(255,255,255,.022)}
.audit-panel h3{margin-top:0}
.audit-formula{margin-top:16px;padding:15px;border-radius:14px;background:#07111f;border:1px solid rgba(65,170,255,.16)}
.audit-formula span{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}
.audit-formula strong{display:block;margin-top:6px;font-size:17px;overflow-wrap:anywhere}
.audit-formula small{display:block;margin-top:7px;color:var(--muted)}
.audit-raw{margin-top:16px;border-top:1px solid rgba(255,255,255,.07);padding-top:14px}
.audit-raw summary{cursor:pointer;font-weight:800;color:#c6d6e8}
.audit-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.audit-list-head h3{margin:0 0 3px}
.audit-selected-row{background:rgba(52,151,255,.07)!important}
.audit-transactions-table td,.audit-transactions-table th{white-space:nowrap}
@media(max-width:1250px){
  .audit-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .audit-filter-action .btn{width:100%}
  .transaction-value-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .audit-filter-grid{grid-template-columns:1fr}
  .transaction-audit-head{flex-direction:column}
  .transaction-value-grid{grid-template-columns:1fr 1fr}
  .audit-list-head{flex-direction:column}
}
@media(max-width:430px){
  .transaction-value-grid{grid-template-columns:1fr}
}


/* =========================================================
   V1.0.025 — Monitoramento de terminais / performance
   ========================================================= */
.data-freshness{display:grid;gap:2px;text-align:right;padding:10px 13px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}
.data-freshness span,.data-freshness small{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}
.data-freshness strong{font-size:15px}
.terminal-alert{margin-bottom:16px;padding:12px 14px;border-radius:12px;background:rgba(64,159,255,.07);border:1px solid rgba(64,159,255,.15);color:#c8d7e8;font-size:12px}
.terminal-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}
.terminal-kpi-good{border-color:rgba(73,211,154,.20)!important;background:rgba(73,211,154,.04)!important}
.terminal-kpi-warn{border-color:rgba(255,171,64,.22)!important;background:rgba(255,171,64,.05)!important}
.terminal-filter-grid{display:grid;grid-template-columns:150px minmax(220px,1.3fr) 170px 150px 140px minmax(180px,1fr) auto;gap:10px;align-items:end}
.terminal-filter-grid label{display:grid;gap:6px;min-width:0}
.terminal-filter-grid label>span,.company-performance-toolbar span{font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.04em;color:var(--muted)}
.terminal-filter-grid input,.terminal-filter-grid select{width:100%}
.terminal-company-link{display:inline-block;margin-top:3px;font-size:11px;color:#69c8ff}
.terminal-status{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}
.terminal-status.active{background:rgba(55,208,143,.10);color:#72e4b5;border:1px solid rgba(55,208,143,.18)}
.terminal-status.inactive{background:rgba(255,164,67,.10);color:#ffc078;border:1px solid rgba(255,164,67,.20)}
.terminal-monitor-table th,.terminal-monitor-table td,.terminal-performance-table th,.terminal-performance-table td{white-space:nowrap}
.company-performance-toolbar{display:flex;align-items:end;gap:24px;flex-wrap:wrap}
.company-performance-toolbar form label,.company-performance-toolbar>div{display:grid;gap:5px}
.company-performance-toolbar select{min-width:170px}
.company-kpis{margin-top:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.metric-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.055)}
.metric-row:last-child{border-bottom:0}
.metric-row span{font-weight:750}
.metric-row strong{text-align:right}
.metric-row small{grid-column:1 / -1;color:var(--muted)}
.daily-bars{display:grid;gap:10px}
.daily-bar-row{display:grid;grid-template-columns:55px minmax(120px,1fr) 130px 80px;align-items:center;gap:10px}
.daily-bar-track{height:10px;border-radius:999px;background:rgba(255,255,255,.055);overflow:hidden}
.daily-bar-track>div{height:100%;border-radius:inherit;background:linear-gradient(90deg,#21cbb2,#3b91ff,#7767ff)}
.daily-bar-row small{color:var(--muted);text-align:right}
.terminal-recent-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.terminal-recent-head h3{margin:4px 0 3px}
.terminal-recent-head p{margin:0}
.terminal-recent-head select{min-width:120px}
.terminal-detail-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.terminal-last-activity{font-size:18px!important}

@media(max-width:1350px){
 .terminal-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .terminal-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .terminal-filter-grid .btn{width:100%}
}
@media(max-width:900px){
 .grid-3{grid-template-columns:1fr}
 .terminal-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .data-freshness{text-align:left;width:100%}
}
@media(max-width:700px){
 .terminal-kpi-grid{grid-template-columns:1fr 1fr}
 .terminal-filter-grid{grid-template-columns:1fr}
 .terminal-recent-head{flex-direction:column}
 .terminal-recent-head form,.terminal-recent-head select{width:100%}
 .daily-bar-row{grid-template-columns:45px minmax(70px,1fr)}
 .daily-bar-row strong,.daily-bar-row small{grid-column:2;text-align:left}
}
@media(max-width:430px){
 .terminal-kpi-grid,.terminal-detail-kpis{grid-template-columns:1fr}
}


/* =========================================================
   V1.0.026 — Parceiros e comissão de indicação
   ========================================================= */
.partner-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.partner-kpi-money{border-color:rgba(80,205,154,.20)!important;background:rgba(80,205,154,.045)!important}
.partner-main-grid{align-items:start}.partner-create-card,.partner-help-card{min-height:100%}
.partner-check{display:flex!important;align-items:center;gap:9px}.partner-check input{width:auto}
.partner-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:8px;margin:18px 0}
.partner-flow div{display:grid;place-items:center;gap:5px;text-align:center;padding:12px 8px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055)}
.partner-flow div strong{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:rgba(47,151,255,.15);color:#69c8ff}.partner-flow div span{font-size:11px;font-weight:800}.partner-flow b{color:var(--muted)}
.partner-month-form{display:flex;margin:16px 0}.partner-month-form label{display:grid;gap:6px}.partner-month-form span,.partner-commission-filter span{font-size:10px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.partner-status{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;font-size:10px;font-weight:900}.partner-status.active{background:rgba(55,208,143,.10);color:#72e4b5;border:1px solid rgba(55,208,143,.18)}.partner-status.inactive{background:rgba(255,255,255,.05);color:var(--muted);border:1px solid rgba(255,255,255,.08)}
.partner-table th,.partner-table td{white-space:nowrap}.partner-detail-grid{align-items:start}.partner-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.partner-card-head h3{margin:3px 0}.partner-card-head form{display:flex}
.partner-link-edit{display:grid;grid-template-columns:95px 160px 135px 135px 80px minmax(150px,1fr) auto;gap:7px;align-items:center}.partner-link-edit input,.partner-link-edit select{min-width:0;width:100%}.partner-mini-check{display:flex;align-items:center;gap:4px;font-size:11px}.partner-mini-check input{width:auto}.partner-close-link{display:inline-block;margin-top:6px}
.partner-commission-filter{display:grid;grid-template-columns:180px minmax(240px,1fr) auto;gap:10px;align-items:end}.partner-commission-filter label{display:grid;gap:6px}
.partner-rule-note{margin-top:16px;padding:13px 15px;border-radius:12px;background:rgba(61,158,255,.07);border:1px solid rgba(61,158,255,.15);color:#c8d7e8;font-size:12px}
@media(max-width:1100px){.partner-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-flow{grid-template-columns:1fr}.partner-flow b{display:none}.partner-link-edit{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-commission-filter{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.partner-kpi-grid{grid-template-columns:1fr}.partner-commission-filter{grid-template-columns:1fr}.partner-commission-filter .btn{width:100%}.partner-link-edit{grid-template-columns:1fr}.partner-card-head{flex-direction:column}}

.partner-month-rule-note{margin:0 0 16px;padding:11px 13px;border-radius:12px;border:1px solid rgba(68,168,255,.16);background:rgba(68,168,255,.06);color:#cfe0f1;font-size:12px}


/* =========================================================
   V1.0.030 — Gestão de aluguéis
   ========================================================= */
.rental-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.rental-actions-grid{align-items:stretch}
.rental-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rental-form input[type=file]{flex:1;min-width:240px}
.rental-manual-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;align-items:end}
.rental-manual-grid label,.rental-filter-grid label{display:grid;gap:6px}
.rental-manual-grid label>span,.rental-filter-grid label>span{font-size:10px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.rental-manual-grid .rental-wide{grid-column:1 / span 3}
.rental-import-preview{border-color:rgba(57,166,255,.19)}
.rental-match-table select{min-width:270px;max-width:360px}
.rental-review-row{background:rgba(255,178,58,.065)!important}
.rental-import-footer{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:14px}
.rental-sync-option{display:flex!important;align-items:center;gap:8px;color:var(--muted)}
.rental-filter-grid{display:grid;grid-template-columns:150px minmax(240px,1.5fr) 170px 190px auto;gap:10px;align-items:end}
.rental-management-table th,.rental-management-table td{white-space:nowrap}
.rental-no-movement{background:rgba(255,174,65,.045)!important}
.rental-row-actions{display:flex;gap:7px;align-items:center}
.rental-row-actions form{margin:0}
@media(max-width:1100px){
 .rental-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rental-manual-grid{grid-template-columns:1fr 1fr}
 .rental-manual-grid .rental-wide{grid-column:1 / -1}
 .rental-filter-grid{grid-template-columns:1fr 1fr}
 .rental-filter-grid .btn{width:100%}
}
@media(max-width:700px){
 .rental-kpis,.rental-manual-grid,.rental-filter-grid{grid-template-columns:1fr}
 .rental-manual-grid .rental-wide{grid-column:auto}
 .rental-import-footer{flex-direction:column;align-items:stretch}
 .rental-form{display:grid}
}

/* V1.0.032 — Gestão de aluguéis por competência */
.inline-form{display:inline-flex;margin:0}
.rental-upload-help{display:block;margin-top:9px;line-height:1.45}
.rental-import-footer-stack{align-items:flex-end}
.rental-import-options{display:grid;gap:10px;max-width:860px}
.rental-progress-modal[hidden]{display:none!important}
.rental-progress-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:20px}
.rental-progress-modal .bi-modal-backdrop{position:absolute;inset:0;background:rgba(2,8,18,.76);backdrop-filter:blur(8px)}
.rental-progress-card{position:relative;width:min(680px,94vw);padding:24px;border-radius:20px;background:#0b1b31;border:1px solid rgba(119,169,229,.2);box-shadow:0 30px 90px rgba(0,0,0,.45)}
.rental-progress-card h2{margin:5px 0 4px;font-size:24px}
.rental-progress-card p{margin:0;color:var(--muted)}
.rental-progress-track{height:14px;background:#061120;border:1px solid rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin:22px 0 10px}
.rental-progress-track>div{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#2fc9be,#3c91ff,#7a63ff);transition:width .2s ease}
.rental-progress-track>div.processing{width:84%!important;animation:rentalPulse 1.25s ease-in-out infinite alternate}
@keyframes rentalPulse{from{opacity:.55}to{opacity:1}}
.rental-progress-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:12px;color:var(--muted)}
.rental-progress-meta strong{color:#eaf4ff;font-size:14px}
.rental-progress-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:20px 0}
.rental-progress-steps>div{display:grid;justify-items:center;gap:7px;text-align:center;color:#73869d;font-size:11px}
.rental-progress-steps b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#0e2743;border:1px solid rgba(92,170,255,.2)}
.rental-progress-steps>div.active{color:#cfe9ff}
.rental-progress-steps>div.active b{background:#17649a;color:white;box-shadow:0 0 0 5px rgba(45,170,255,.08)}
.rental-progress-steps>div.done{color:#63d6ae}
.rental-progress-steps>div.done b{background:rgba(44,190,136,.14);border-color:rgba(44,190,136,.34)}
.rental-progress-result{min-height:22px;font-size:13px}
.rental-progress-result.success{color:#6ee0b6}.rental-progress-result.error{color:#ff949f}
#rentalProgressClose{margin-top:14px}
@media(max-width:700px){
 .rental-progress-meta{grid-template-columns:1fr}
 .rental-progress-steps{grid-template-columns:1fr 1fr}
}

/* V1.0.033 — vínculo inteligente de aluguel */
.rental-learning-banner{margin:14px 0;padding:12px 14px;border-radius:12px;background:rgba(48,173,255,.065);border:1px solid rgba(48,173,255,.18);color:#d4e6f7;font-size:12px;line-height:1.5}
.rental-match-method{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;background:rgba(255,255,255,.055);color:#aebfd2;font-size:10px;font-weight:850;white-space:nowrap}
.rental-match-method.trusted{background:rgba(45,201,147,.1);border:1px solid rgba(45,201,147,.2);color:#75e3b9}
.rental-company-picker{position:relative;min-width:330px}
.rental-company-input-wrap{position:relative}
.rental-company-search-input{width:100%;padding-right:34px!important}
.rental-company-clear{position:absolute;top:50%;right:7px;transform:translateY(-50%);width:25px;height:25px;border:0;border-radius:7px;background:rgba(255,255,255,.06);color:#b8c8d8;cursor:pointer;font-size:17px;line-height:1}
.rental-company-clear:hover{background:rgba(255,255,255,.12);color:white}
.rental-company-results{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 5px);max-height:290px;overflow:auto;padding:6px;border-radius:12px;background:#0a1728;border:1px solid rgba(94,162,230,.24);box-shadow:0 18px 50px rgba(0,0,0,.45)}
.rental-company-result{width:100%;display:grid;gap:3px;text-align:left;padding:10px 11px;border:0;border-radius:9px;background:transparent;color:#e6f0fa;cursor:pointer}
.rental-company-result:hover,.rental-company-result:focus{background:#173863;outline:0}
.rental-company-result span{font-weight:800}.rental-company-result small{color:#8da4bb}
.rental-company-loading,.rental-company-empty{padding:12px;color:#91a6bb;font-size:12px}
.rental-company-selected{display:block;margin-top:5px;color:#7f96ad;white-space:normal}
.rental-company-picker.has-selection .rental-company-selected{color:#67d8ad}
.rental-match-table td:last-child{min-width:350px}
@media(max-width:700px){.rental-company-picker{min-width:260px}.rental-match-table td:last-child{min-width:280px}}


/* =========================================================
   V1.0.034 — limpeza com preservação de vínculos + revisão pendente
   ========================================================= */
.rental-memory-status{
  margin-top:10px;
  padding:9px 11px;
  border:1px solid rgba(71,199,164,.18);
  border-radius:10px;
  background:rgba(71,199,164,.055);
  color:#a9c5bd;
  font-size:11px;
}
.rental-memory-status strong{color:#69ddb8;font-size:14px}
.rental-preview-badges{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.rental-badge-ok{background:rgba(45,201,147,.12)!important;color:#73dfba!important}
.rental-badge-pending{background:rgba(255,174,65,.13)!important;color:#ffc276!important}
.rental-pending-alert,
.rental-all-linked{
  margin:12px 0 14px;
  padding:12px 14px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  font-size:12px;
}
.rental-pending-alert{
  border:1px solid rgba(255,174,65,.2);
  background:rgba(255,174,65,.06);
  color:#e9d4b2;
}
.rental-pending-alert label{display:flex;align-items:center;gap:7px;white-space:nowrap}
.rental-pending-alert span{color:#bba88e}
.rental-all-linked{
  border:1px solid rgba(45,201,147,.2);
  background:rgba(45,201,147,.06);
  color:#aee1ce;
}
.rental-ignore-row{
  display:flex!important;
  align-items:center;
  gap:6px;
  margin-top:7px;
  color:#8196aa;
  font-size:10px;
  cursor:pointer;
}
.rental-unresolved-pulse{
  animation:rentalUnresolvedPulse .55s ease-in-out 3 alternate;
}
@keyframes rentalUnresolvedPulse{
  from{box-shadow:inset 0 0 0 1px rgba(255,104,118,.1)}
  to{box-shadow:inset 0 0 0 2px rgba(255,104,118,.7);background:rgba(255,104,118,.08)}
}
@media(max-width:700px){
  .rental-pending-alert,.rental-all-linked{align-items:flex-start;flex-direction:column}
  .rental-preview-badges{justify-content:flex-start}
}


/* =========================================================
   V1.0.035 — aluguéis por competência + limpeza completa
   ========================================================= */
.btn-danger-soft{
  border:1px solid rgba(255,104,118,.28);
  background:rgba(255,104,118,.09);
  color:#ffb1ba;
  border-radius:10px;
  padding:10px 14px;
  font-weight:800;
  cursor:pointer;
}
.btn-danger-soft:hover{background:rgba(255,104,118,.16);color:#ffd2d7}
.rental-import-form{
  display:grid;
  grid-template-columns:minmax(160px,210px) minmax(260px,1fr) auto;
  gap:10px;
  align-items:end;
}
.rental-import-form label{display:grid;gap:6px}
.rental-import-form label>span{
  font-size:10px;
  text-transform:uppercase;
  font-weight:850;
  color:var(--muted);
}
.rental-import-form select,
.rental-import-form input[type=file]{
  width:100%;
}
.rental-history-card{overflow:hidden}
.rental-history-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.rental-history-month{
  display:grid;
  gap:6px;
  padding:13px;
  border-radius:12px;
  border:1px solid rgba(107,157,211,.14);
  background:rgba(255,255,255,.018);
  color:#c9d7e6;
  text-decoration:none;
}
.rental-history-month:hover{border-color:rgba(78,164,255,.35);background:rgba(78,164,255,.055)}
.rental-history-month.active{
  border-color:rgba(66,184,255,.4);
  background:rgba(66,184,255,.075);
  box-shadow:inset 0 0 0 1px rgba(66,184,255,.08);
}
.rental-history-month>strong{font-size:14px;color:#eff7ff}
.rental-history-month span{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#8198af;
  font-size:11px;
}
.rental-history-month span b{color:#dce9f6;font-weight:850}
@media(max-width:1050px){
  .rental-import-form{grid-template-columns:1fr 1fr}
  .rental-import-form .btn{grid-column:1/-1;width:100%}
  .rental-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .rental-import-form,.rental-history-grid{grid-template-columns:1fr}
}


/* V1.0.036 — Exportação de tarifas por Documento EC */
.rental-tariff-export-card{
  display:grid;
  grid-template-columns:minmax(260px,1.3fr) minmax(390px,1fr);
  gap:18px;
  align-items:center;
}
.rental-tariff-export-copy h3{margin:4px 0 6px}
.rental-tariff-export-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.rental-tariff-export-stats>div{
  display:grid;gap:5px;padding:11px;
  border:1px solid rgba(119,169,229,.13);
  border-radius:11px;background:rgba(255,255,255,.018);
}
.rental-tariff-export-stats span{
  text-transform:uppercase;color:#8198af;font-size:9px;font-weight:850;
}
.rental-tariff-export-stats strong{font-size:16px;color:#ecf5ff}
.rental-tariff-export-stats strong.ok{color:#6fe0b7}
.rental-tariff-export-stats strong.warn{color:#ffc16d}
.rental-tariff-warning,.rental-tariff-ready{
  grid-column:1/-1;padding:10px 12px;border-radius:10px;font-size:11px;
}
.rental-tariff-warning{
  border:1px solid rgba(255,174,65,.2);
  background:rgba(255,174,65,.06);
  color:#e9d4b2;
  display:flex;gap:8px;flex-wrap:wrap;
}
.rental-tariff-ready{
  border:1px solid rgba(45,201,147,.2);
  background:rgba(45,201,147,.06);
  color:#9fe0c8;
}
.rental-document-form{display:flex;gap:6px;align-items:center;min-width:230px}
.rental-document-form input{min-width:135px;width:150px}
@media(max-width:1050px){
  .rental-tariff-export-card{grid-template-columns:1fr}
}
@media(max-width:700px){
  .rental-tariff-export-stats{grid-template-columns:1fr 1fr}
}
