:root{--bg:#f3f6fb;--card:#fff;--text:#16233a;--muted:#68758b;--line:#dde4ee;--pri:#2363eb;--ok:#198754;--warn:#b77900;--bad:#c93434}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#0f1a2e,#183a79)}.login-card{width:min(410px,100%);background:#fff;border-radius:22px;padding:28px;box-shadow:0 24px 70px #0005}.logo{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#eaf1ff;color:var(--pri);font-weight:950}.login h1{margin:15px 0 5px}.login p{color:var(--muted)}label{display:grid;gap:6px;font-size:12px;font-weight:800;margin:14px 0}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:#fff;color:var(--text)}button{border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:#fff;color:var(--text);font-weight:800;cursor:pointer}.primary{background:var(--pri);border-color:var(--pri);color:#fff}.danger{background:#d93636;border-color:#d93636;color:#fff}.login .primary{width:100%;margin-top:8px}.login small{display:block;text-align:center;color:var(--muted);margin-top:20px}#app{min-height:100vh;display:grid;grid-template-columns:230px 1fr}aside{background:#101a2d;color:#fff;padding:20px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{padding:8px 10px 22px}.brand span{display:block;color:#9eabc0;font-size:12px;margin-top:4px}nav{display:grid;gap:7px}nav button{border:0;background:transparent;color:#b9c4d6;text-align:left;padding:11px 12px}nav button.active,nav button:hover{background:#1c2c48;color:#fff}.logout{margin-top:auto;background:#fff;color:#20304c}main{min-width:0;padding:0 24px;display:flex;flex-direction:column}header{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:15px}header h2{margin:0}header p{margin:3px 0 0;color:var(--muted);font-size:12px}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.kpis>div,.card{background:#fff;border:1px solid var(--line);border-radius:16px}.kpis>div{padding:17px}.kpis b{font-size:26px;display:block}.kpis span{color:var(--muted);font-size:12px}.kpis .ok b{color:var(--ok)}.kpis .warn b{color:var(--warn)}.kpis .bad b{color:var(--bad)}.card{padding:16px}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.card-head h3{margin:0}.card-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.card-head input{max-width:320px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:11px 9px;border-bottom:1px solid #edf1f6;text-align:left;vertical-align:middle}th{color:#66758a;font-size:11px}.pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:999px;font-weight:850;font-size:10px}.pill.active{background:#e9f7ef;color:#167143}.pill.warning{background:#fff5d9;color:#966400}.pill.expired,.pill.suspended{background:#ffe9e9;color:#aa2222}.actions{display:flex;gap:5px;flex-wrap:wrap}.actions button{padding:6px 8px;font-size:10px}.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:15px}.backdrop{position:absolute;inset:0;background:#0b1324aa}.modal-card{position:relative;background:#fff;width:min(610px,100%);max-height:90vh;overflow:auto;border-radius:18px;padding:18px;box-shadow:0 30px 80px #0005}.modal-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px}.modal-head h3{margin:0}.modal-head button{width:34px;height:34px;padding:0;font-size:20px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.full{grid-column:1/-1}.token-box{padding:12px;border-radius:12px;background:#eef4ff;color:#143b86;font-family:ui-monospace,Consolas,monospace;word-break:break-all;margin:12px 0}.device{padding:10px;border:1px solid var(--line);border-radius:10px;margin:7px 0}.device small{color:var(--muted)}#toast{position:fixed;right:18px;top:18px;z-index:99}.toast{background:#15243d;color:#fff;border-radius:10px;padding:11px 14px;margin-bottom:8px;box-shadow:0 12px 30px #0003}footer{text-align:center;color:var(--muted);font-size:11px;margin-top:auto;padding:28px 10px 18px}@media(max-width:900px){aside{position:static;height:auto;flex-direction:row;align-items:center;overflow:auto}aside .brand{padding:0 10px}aside nav{display:flex}.logout{margin:0 0 0 auto}.kpis{grid-template-columns:repeat(2,1fr)}main{padding:0 12px}.grid{grid-template-columns:1fr}}
.form-section{border:1px solid var(--line);border-radius:14px;padding:14px;margin:0 0 12px}
.form-section h4{margin:0 0 10px}.form-section p,.hint{color:var(--muted);font-size:12px;margin:0 0 10px}
.admin-credentials{background:#f5f8ff;border-color:#cfe0ff}
.credentials-box,.delivery-box{display:grid;gap:6px;padding:13px;border:1px solid var(--line);border-radius:12px;margin:10px 0;background:#f8fafc}
.credentials-box small,.delivery-box small{color:var(--muted);font-size:11px}.credentials-box b{font-family:ui-monospace,Consolas,monospace;font-size:14px}
.optional{color:var(--muted);font-weight:500;font-size:10px}
.delivery-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

/* V8.2 Dashboard comercial */
.dashboard-hero{display:grid;grid-template-columns:1.6fr .9fr;gap:18px;margin-bottom:18px;padding:22px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#163d95 0%,#2458d3 45%,#3b82f6 100%);box-shadow:0 18px 40px rgba(37,99,235,.18)}
.hero-copy h2{margin:8px 0 10px;font-size:28px;line-height:1.05}
.hero-copy p{margin:0;max-width:620px;color:rgba(255,255,255,.88)}
.hero-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.14);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.hero-highlight{align-self:stretch;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:18px;display:flex;flex-direction:column;justify-content:center}
.hero-highlight small,.hero-highlight span{color:rgba(255,255,255,.85)}
.hero-highlight b{font-size:32px;line-height:1.1;margin:4px 0 8px}
.premium-kpis{grid-template-columns:repeat(6,1fr);margin-bottom:18px}
.kpi-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;gap:6px;box-shadow:0 10px 25px rgba(15,23,42,.04)}
.kpi-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#6d7b92}
.kpi-card b{font-size:30px;line-height:1}
.kpi-card small{color:var(--muted)}
.kpi-success{background:linear-gradient(180deg,#ffffff 0,#f2fff9 100%)}
.kpi-warn{background:linear-gradient(180deg,#ffffff 0,#fffaf0 100%)}
.kpi-danger{background:linear-gradient(180deg,#ffffff 0,#fff3f2 100%)}
.dashboard-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;margin-bottom:18px}
.dashboard-panel{padding:18px;border-radius:20px;box-shadow:0 12px 30px rgba(15,23,42,.05)}
.titlebar{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}
.titlebar small{color:var(--muted)}
.priority-list{display:grid;gap:10px}
.priority-item{width:100%;text-align:left;border:1px solid var(--line);background:#fff;padding:14px;border-radius:16px;display:flex;justify-content:space-between;gap:16px;cursor:pointer;transition:.2s ease}
.priority-item:hover,.company-card:hover,.clickable-row:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.08)}
.priority-item.expired{border-left:5px solid #ef4444}
.priority-item.expiring{border-left:5px solid #f59e0b}
.priority-item.suspended{border-left:5px solid #94a3b8}
.priority-item b{display:block;margin-bottom:4px}
.priority-item small,.priority-item span{color:var(--muted)}
.priority-side{display:grid;justify-items:end;gap:8px}
.status-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.status-summary-grid > div{padding:16px;border-radius:16px;border:1px solid var(--line);background:#f8fafc;display:grid;gap:5px}
.status-summary-grid span{font-size:12px;color:var(--muted)}
.status-summary-grid b{font-size:28px}
.mini-legend{display:grid;gap:8px;margin-top:16px}
.mini-legend span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}
.dot{width:10px;height:10px;border-radius:999px;display:inline-block}
.dot.ok{background:#22c55e}.dot.warn{background:#f59e0b}.dot.danger{background:#ef4444}.dot.muted{background:#94a3b8}
.company-cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.company-card{width:100%;text-align:left;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid var(--line);display:grid;gap:10px;cursor:pointer;transition:.2s ease}
.company-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.company-card-top b{display:block;margin-bottom:2px;font-size:14px;line-height:1.22}
.company-card-top small{color:var(--muted);font-size:11px}
.company-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.company-meta span{font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#718198}
.company-meta b{font-size:12px;line-height:1.2}
.company-footer{display:flex;justify-content:space-between;gap:8px;align-items:center;padding-top:2px}
.company-footer small{color:var(--muted);font-size:11px}
.linkish{font-weight:800;color:var(--pri);font-size:12px}
.company-card.active{border-top:4px solid #22c55e}
.company-card.expiring{border-top:4px solid #f59e0b}
.company-card.expired{border-top:4px solid #ef4444}
.company-card.suspended{border-top:4px solid #94a3b8}
.empty-state{padding:18px;border:1px dashed var(--line);border-radius:14px;background:#fafcff;color:var(--muted);text-align:center}
.clickable-row{cursor:pointer}
.company-profile-modal{display:grid;gap:16px}
.profile-banner{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:16px;border-radius:18px;color:#fff}
.profile-banner.active{background:linear-gradient(135deg,#0f766e,#14b8a6)}
.profile-banner.expiring{background:linear-gradient(135deg,#b45309,#f59e0b)}
.profile-banner.expired{background:linear-gradient(135deg,#b91c1c,#ef4444)}
.profile-banner.suspended{background:linear-gradient(135deg,#475569,#94a3b8)}
.profile-banner small,.profile-banner span{color:rgba(255,255,255,.88)}
.profile-banner b{display:block;font-size:22px;margin:2px 0 5px}
.profile-banner-right{display:grid;justify-items:end;gap:8px}
.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.profile-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;display:grid;gap:4px}
.profile-card small{color:var(--muted)}
.profile-card b{font-size:14px}
.profile-notes{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.profile-notes > div{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.profile-notes small{display:block;color:var(--muted);margin-bottom:6px}
.profile-notes p{margin:0;line-height:1.5}
.profile-actions{display:flex;flex-wrap:wrap;gap:8px}
.profile-actions button{min-width:120px}
@media(max-width:1450px){.company-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1200px){.premium-kpis{grid-template-columns:repeat(3,1fr)}.company-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.dashboard-hero,.dashboard-grid,.profile-notes{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.premium-kpis,.company-cards-grid,.profile-grid,.status-summary-grid{grid-template-columns:1fr}.dashboard-hero{padding:18px}.hero-copy h2{font-size:24px}}

/* V8.3 - modais de confirmação profissionais */
.confirm-modal-content{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:14px 2px 4px;
}
.confirm-modal-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-size:21px;
  font-weight:950;
}
.confirm-modal-icon.primary{
  background:#eaf1ff;
  color:#2363eb;
}
.confirm-modal-icon.warning{
  background:#fff4d6;
  color:#a66a00;
}
.confirm-modal-icon.danger{
  background:#ffe8e8;
  color:#c93434;
}
.confirm-modal-title{
  display:block;
  font-size:15px;
  margin:2px 0 6px;
}
.confirm-modal-content p{
  margin:0;
  color:var(--muted);
  line-height:1.5;
  font-size:13px;
}
.modal-actions button{
  min-width:100px;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.modal-actions button:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(15,23,42,.08);
}

/* V8.4 - renovação personalizada */
.renew-modal{
  display:grid;
  gap:16px;
  padding-top:4px;
}
.renew-company{
  display:grid;
  gap:4px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#f8fafc;
}
.renew-company small,
.renew-company span{
  color:var(--muted);
  font-size:11px;
}
.renew-company b{
  font-size:16px;
}
.renew-field{
  margin:0!important;
}
.renew-field input{
  font-size:18px;
  font-weight:800;
  min-height:48px;
}
.renew-presets{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.renew-presets button{
  min-height:40px;
  background:#f7f9fd;
}
.renew-presets button:hover{
  border-color:var(--pri);
  color:var(--pri);
  background:#eef4ff;
}
.renew-info{
  display:grid;
  gap:5px;
  padding:12px;
  border-radius:12px;
  background:#eef4ff;
  color:#48607f;
  font-size:11px;
  line-height:1.4;
}
@media(max-width:520px){
  .renew-presets{grid-template-columns:repeat(2,1fr)}
}

.version-tag{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef4ff;color:#2458d3;font-size:11px;font-weight:800}

/* V8.7 - alinhamento geral e controle de dispositivos */
.modal-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;min-height:44px!important}
.modal-head h3{margin:0!important;flex:1!important;min-width:0!important;line-height:1.25!important}
.modal-close-btn{position:relative!important;flex:0 0 36px!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;margin:0!important;border-radius:10px!important;display:grid!important;place-items:center!important;line-height:1!important;font-size:0!important}
.modal-close-btn span{font-size:0!important}
.modal-close-btn::before{content:"×";position:absolute;inset:0;display:grid;place-items:center;font:400 22px/1 Arial,sans-serif;transform:translateY(-1px)}
.modal-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important}
.modal-actions button{min-height:40px!important;min-width:96px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.card-head,.titlebar{align-items:center!important}
.actions{align-items:center!important}.actions button{display:inline-flex;align-items:center;justify-content:center;min-height:32px}
.grid>label{align-content:start}.approval-toggle{align-self:end}.switch-line{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--muted);min-height:43px}.switch-line input{width:18px;height:18px;flex:0 0 auto}
.device-policy-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.device-policy-summary>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;display:grid;gap:4px}.device-policy-summary small{color:var(--muted)}
.device-list{display:grid;gap:10px}.device-card{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}.device-card.pending{border-left:4px solid #f59e0b}.device-card.active{border-left:4px solid #22c55e}.device-card.revoked{border-left:4px solid #94a3b8;opacity:.8}.device-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.device-card-head b,.device-card-head small{display:block}.device-card-head small{margin-top:4px;color:var(--muted)}
.device-status{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}.device-status.active{background:#e9f7ef;color:#167143}.device-status.pending{background:#fff5d9;color:#966400}.device-status.revoked{background:#eef1f5;color:#64748b}
.device-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:12px 0}.device-details span{min-width:0}.device-details small{display:block;color:var(--muted);font-size:10px}.device-details b{display:block;font-size:11px;word-break:break-word}.device-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.danger-soft{background:#fff1f1!important;border-color:#f3bcbc!important;color:#b42318!important}.device-modal-footer{display:flex;justify-content:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.device-edit-form{display:grid;gap:5px}
@media(max-width:760px){.device-policy-summary{grid-template-columns:1fr 1fr}.device-details{grid-template-columns:1fr}.device-card-head{align-items:flex-start}}
@media(max-width:480px){.device-policy-summary{grid-template-columns:1fr}.device-actions button,.device-modal-footer button{width:100%}}

/* V8.10 - Configurações e diagnóstico da Central */
.settings-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;margin-bottom:16px;background:linear-gradient(135deg,#f7faff,#eef4ff);border-color:#d8e5ff}.settings-hero h3{font-size:22px;margin:8px 0 5px}.settings-hero p{margin:0;color:var(--muted)}.settings-tag{background:#dce9ff!important;color:#2458d3!important}
.system-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.system-status-card{display:flex;align-items:center;gap:12px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 20px rgba(15,23,42,.04)}.system-status-card>div{display:grid;gap:3px;min-width:0}.system-status-card small,.system-status-card span{color:var(--muted);font-size:11px}.system-status-card b{font-size:14px}.status-led{width:13px;height:13px;border-radius:999px;flex:0 0 13px;background:#cbd5e1;box-shadow:0 0 0 5px rgba(148,163,184,.13)}.status-led.ok{background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}.status-led.danger{background:#ef4444;box-shadow:0 0 0 5px rgba(239,68,68,.12)}
.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.settings-card{padding:18px}.settings-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-actions{display:flex;justify-content:flex-end;margin-top:14px}.security-note{margin-top:12px;padding:11px 12px;border-radius:11px;background:#fff7e6;color:#7b5b16;font-size:11px;border:1px solid #f2ddb0}
.tech-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tech-detail-grid>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;display:grid;gap:4px;min-width:0}.tech-detail-grid .wide{grid-column:1/-1}.tech-detail-grid small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.tech-detail-grid b{font-size:12px;word-break:break-word}.path-value{font-family:ui-monospace,Consolas,monospace;font-size:11px!important}
.backup-highlight{display:grid;gap:4px;padding:14px;margin-bottom:12px;border-radius:14px;background:linear-gradient(135deg,#eef8f2,#f8fffb);border:1px solid #d4ecdD}.backup-highlight small,.backup-highlight span{color:var(--muted);font-size:11px}.backup-highlight b{font-size:14px}
.saved-data-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.saved-data-grid>div{padding:14px;border-radius:14px;background:#f8fafc;border:1px solid var(--line);display:grid;gap:5px}.saved-data-grid span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.035em}.saved-data-grid b{font-size:24px}.last-write-row{display:flex;gap:8px;align-items:center;margin-top:13px;padding-top:13px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.last-write-row b{color:var(--text)}
@media(max-width:1150px){.system-status-grid{grid-template-columns:1fr 1fr}.saved-data-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.settings-layout{grid-template-columns:1fr}.settings-hero{align-items:stretch;flex-direction:column}.settings-form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.system-status-grid,.saved-data-grid,.tech-detail-grid{grid-template-columns:1fr}.tech-detail-grid .wide{grid-column:auto}.settings-actions button,.settings-hero button{width:100%}.last-write-row{align-items:flex-start;flex-direction:column}}


/* V8.15 — interação e modais padronizados */
/* Elementos de conteúdo não "saltam" ao passar o mouse. */
.priority-item:hover,
.company-card:hover,
.clickable-row:hover{
  transform:none!important;
  box-shadow:none!important;
}
/* Na tabela, a linha muda de cor suavemente para indicar onde o mouse está. */
.table-wrap .clickable-row:hover{background:#f5f8ff!important}
.table-wrap .clickable-row:hover td{color:#1d2b49}

/* Hover fica reservado aos controles clicáveis. */
button{
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
@media(hover:hover) and (pointer:fine){
  button:not(:disabled):hover{
    transform:translateY(-1px);
    border-color:#b9c9e5;
    background:#f5f8fd;
    box-shadow:0 7px 16px rgba(15,35,70,.09);
  }
  button.primary:not(:disabled):hover{
    background:#174fd0!important;
    border-color:#174fd0!important;
    color:#fff!important;
    box-shadow:0 9px 20px rgba(35,99,235,.22)!important;
  }
  button.danger:not(:disabled):hover{
    background:#bd2727!important;
    border-color:#bd2727!important;
    color:#fff!important;
    box-shadow:0 9px 20px rgba(217,54,54,.20)!important;
  }
  nav button:not(:disabled):hover{
    transform:none!important;
    box-shadow:none!important;
    background:#1c2c48!important;
    color:#fff!important;
  }
}
button:active:not(:disabled){transform:translateY(0) scale(.985)!important;box-shadow:none!important}
button:disabled{opacity:.55;cursor:not-allowed}

/* Modal central: mais respiro no topo e padrão único. */
.modal{padding:24px!important}
.modal-card{
  width:min(680px,100%)!important;
  max-height:min(88vh,820px)!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:22px!important;
  border:1px solid #e2e8f0!important;
  box-shadow:0 28px 90px rgba(8,20,45,.28)!important;
}
.modal-head{
  min-height:78px!important;
  padding:20px 22px 18px!important;
  margin:0!important;
  border-bottom:1px solid var(--line)!important;
  background:#fff!important;
  align-items:center!important;
}
.modal-head h3{
  font-size:22px!important;
  line-height:1.25!important;
  margin:0!important;
}
.modal-close-btn{
  flex:0 0 42px!important;
  width:42px!important;height:42px!important;
  min-width:42px!important;min-height:42px!important;
  border-radius:12px!important;
  border:1px solid var(--line)!important;
  background:#f8fafc!important;
  color:var(--text)!important;
}
.modal-close-btn::before{font-size:24px!important;transform:none!important}
@media(hover:hover) and (pointer:fine){
  .modal-close-btn:hover{
    transform:none!important;
    background:#eef3f9!important;
    border-color:#cbd6e6!important;
    box-shadow:none!important;
  }
}
#modalBody{
  padding:20px 22px 8px!important;
  overflow:auto!important;
  max-height:calc(88vh - 164px)!important;
}
.modal-actions{
  margin:0!important;
  padding:16px 22px 20px!important;
  border-top:1px solid var(--line)!important;
  background:#fff!important;
  gap:10px!important;
}
.modal-actions button{min-height:42px!important;padding:9px 15px!important}

/* Modal de dispositivos e cards internos */
.device{padding:14px!important;border-radius:13px!important;margin:10px 0!important}
.profile-grid,.status-summary-grid{gap:14px!important}
.profile-card{padding:16px!important}

@media(max-width:680px){
  .modal{padding:10px!important;align-items:end!important}
  .modal-card{width:100%!important;max-height:92vh!important;border-radius:20px 20px 0 0!important}
  .modal-head{min-height:68px!important;padding:16px 16px 14px!important}
  .modal-head h3{font-size:19px!important}
  #modalBody{padding:16px 16px 6px!important;max-height:calc(92vh - 148px)!important}
  .modal-actions{padding:14px 16px 16px!important}
}


/* V8.16 — cards de empresas mais compactos */
.dashboard-panel .titlebar{margin-bottom:12px}
.dashboard-panel .titlebar b{font-size:14px}
.dashboard-panel .titlebar small{font-size:11px}
.company-card .pill{padding:5px 8px;font-size:10px}

/* V8.20 — destaque suave nas linhas da tabela de empresas */
.table-wrap tbody tr.clickable-row td{transition:background-color .16s ease,color .16s ease}

/* V8.22 - loader global de login */
.global-login-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:rgba(10,20,38,.46);backdrop-filter:blur(3px)}
.login-loader-card{width:min(330px,calc(100% - 34px));background:#fff;border:1px solid #dfe7f3;border-radius:18px;padding:24px;display:grid;justify-items:center;gap:9px;text-align:center;box-shadow:0 24px 70px rgba(8,20,44,.22)}
.login-loader-card b{font-size:15px}.login-loader-card span{font-size:12px;color:var(--muted);line-height:1.4}
.login-spinner{width:40px;height:40px;border:4px solid #e5ecf8;border-top-color:var(--pri);border-radius:50%;animation:loginSpin .75s linear infinite}
@keyframes loginSpin{to{transform:rotate(360deg)}}

.device-section-title{margin:18px 0 7px;font-size:13px}.device-section-note{margin:-2px 0 10px;color:var(--muted);font-size:11px}.device-card.suspended{border-left:4px solid #f59e0b}.device-card.blocked{border-left:4px solid #ef4444}

/* V8.38 - atualização centralizada das empresas */
.release-manager{margin-top:18px;padding:18px;border-radius:20px}
.release-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.release-kpis>div{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;display:grid;gap:4px}
.release-kpis span{font-size:10px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.release-kpis b{font-size:20px}
.release-publish-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}
.release-publish-grid label{display:grid;gap:6px;font-weight:750;font-size:12px}
.release-publish-grid .wide{grid-column:1/-1}
.release-check{display:flex!important;grid-column:1/-1;align-items:center;gap:8px!important}
.release-check input{width:auto}
.release-actions{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}
.release-devices-table{margin-top:14px}
.release-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850}
.release-status.ok{background:#e8f7ee;color:#167143}.release-status.pending{background:#fff3d7;color:#966400}
@media(max-width:800px){.release-kpis,.release-publish-grid{grid-template-columns:1fr}.release-publish-grid .wide,.release-check{grid-column:auto}}

/* V8.49 - modais da Central centralizados */
.modal,
.dialog,
.confirm-modal,
.global-login-loader{
  align-items:center !important;
  justify-items:center !important;
  place-items:center !important;
}
.modal-box,
.dialog-box,
.confirm-modal-box,
.login-loader-card{
  margin:auto !important;
}

/* V8.59 - versão detectada automaticamente do ZIP */
#releaseNewVersion[readonly]{
  background:#f7f9fc;
  cursor:default;
}
#releaseDetectedHint{
  display:block;
  margin-top:4px;
  font-size:10px;
  line-height:1.35;
}


/* V8.65 - alertas de segurança por empresa */
.company-security-alert{display:flex;align-items:center;gap:7px;padding:8px 9px;border-radius:10px;background:#fff1f2;border:1px solid #fecdd3;color:#b42318;font-size:10px}
.company-security-alert span,.security-alert-icon{display:grid;place-items:center;flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:#dc2626;color:#fff;font-weight:900}
.security-alert-panel{display:grid;gap:12px;padding:14px;border:1px solid #fecaca;border-radius:16px;background:#fff7f7}
.security-alert-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.security-alert-heading>div{display:flex;align-items:center;gap:10px}
.security-alert-heading b{display:block;color:#991b1b;font-size:13px}.security-alert-heading small{display:block;color:#7f1d1d;margin-top:2px;font-size:10px}
.security-alert-heading button,.security-ack-btn{border:1px solid #fecaca;background:#fff;color:#b42318;border-radius:10px;padding:8px 10px;font-size:10px;font-weight:800}
.security-alert-list{display:grid;gap:9px}
.security-alert-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:12px;background:#fff;border:1px solid #fee2e2}
.security-alert-item-main{display:grid;gap:3px;min-width:0}.security-alert-item-main>b{font-size:12px;color:#991b1b}.security-alert-item-main span{font-size:11px;color:#334155}.security-alert-item-main small{font-size:9px;color:#64748b}.security-alert-item-main .security-lock{color:#b45309;font-weight:700}
@media(max-width:680px){.security-alert-heading,.security-alert-item{align-items:stretch;flex-direction:column}.security-alert-heading button,.security-ack-btn{width:100%}}

/* V8.66 - liberação remota do bloqueio de login */
.security-alert-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.security-unlock-btn{background:#fff!important;border-color:#f0b94d!important;color:#855900!important;font-weight:800!important}
.security-unlock-btn:hover{background:#fff8e8!important}

/* V8.67 - abas no cadastro da empresa + histórico de logins */
.company-profile-tabs{display:flex;gap:8px;margin:16px 0 14px;padding:4px;background:#f4f7fb;border:1px solid #e1e8f1;border-radius:14px}
.company-profile-tab{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 14px;border:0!important;border-radius:10px!important;background:transparent!important;color:#66758f!important;font-weight:800!important;box-shadow:none!important}
.company-profile-tab:hover{background:#fff!important;color:#1c2a45!important}
.company-profile-tab.active{background:#fff!important;color:#2458d3!important;box-shadow:0 2px 8px rgba(15,23,42,.08)!important}
.profile-tab-alert-count{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#d92d20;color:#fff;font-size:10px;font-weight:900}
.company-profile-tab-panel.hidden{display:none!important}
.profile-security-inline{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:14px;padding:11px 13px;border:1px solid #ffd4d0;border-radius:13px;background:#fff5f4;cursor:pointer}
.profile-security-inline>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fee4e2;color:#b42318;font-weight:900}
.profile-security-inline div{display:grid;gap:2px}.profile-security-inline b{font-size:12px}.profile-security-inline small{color:#7b6470;font-size:10px}.profile-security-inline strong{font-size:11px;color:#b42318}
.login-attempts-head h3{margin:2px 0 3px;font-size:17px}.login-attempts-head p{margin:0 0 14px;color:#718096;font-size:12px}
.login-attempts-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}
.login-attempts-summary>div{display:grid;gap:4px;padding:11px 12px;border:1px solid #e1e8f1;border-radius:12px;background:#f8fafc}.login-attempts-summary small{font-size:9px;color:#718096;text-transform:uppercase;font-weight:800}.login-attempts-summary b{font-size:14px}
.login-attempts-toolbar{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin:0 0 12px}
.login-attempts-list{display:grid;gap:10px;max-height:430px;overflow:auto;padding-right:2px}
.login-attempt-row{padding:13px;border:1px solid #e1e8f1;border-radius:14px;background:#fff}.login-attempt-row.open{border-color:#ffd0cc;background:#fffafa}.login-attempt-row.checked{background:#f9fbfd}
.login-attempt-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px}.login-attempt-top>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.login-attempt-top b{font-size:12px}
.login-attempt-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase}.login-attempt-status.danger{background:#fee4e2;color:#b42318}.login-attempt-status.ok{background:#eaf8f0;color:#167046}
.login-attempt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.login-attempt-grid>div{display:grid;gap:3px;padding:8px 9px;border-radius:10px;background:#f6f8fb}.login-attempt-grid small{font-size:8px;color:#718096;text-transform:uppercase;font-weight:800}.login-attempt-grid strong{font-size:10px;word-break:break-word}
.login-attempt-reviewed{margin-top:9px;padding-top:8px;border-top:1px solid #e7edf5;color:#718096;font-size:9px}
.login-attempts-empty{display:grid;place-items:center;text-align:center;gap:7px;padding:32px 18px;border:1px dashed #ced8e6;border-radius:14px;background:#fafcff}.login-attempts-empty-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#eaf8f0;color:#167046;font-weight:900}.login-attempts-empty span{max-width:420px;color:#718096;font-size:11px;line-height:1.45}
@media(max-width:700px){.login-attempts-summary{grid-template-columns:1fr 1fr}.login-attempt-grid{grid-template-columns:1fr 1fr}}


/* V8.71 - mais espaçamento no cadastro da empresa e navegação interna */
.modal-card{
  padding:22px !important;
}
.modal-head{
  padding-bottom:14px !important;
  margin-bottom:18px !important;
}
.company-profile-modal{
  gap:20px !important;
}
.profile-banner{
  margin-bottom:2px !important;
}
.company-profile-tabs{
  margin:0 0 18px !important;
}
.company-profile-tab-panel{
  display:grid;
  gap:18px;
}
.company-profile-tab-panel.hidden{display:none !important}
.profile-grid{
  gap:14px !important;
}
.profile-notes{
  gap:14px !important;
}
.profile-actions{
  gap:10px !important;
  margin-top:2px !important;
  padding-top:16px !important;
  border-top:1px solid var(--line);
}
.modal-actions{
  margin-top:22px !important;
  padding-top:16px !important;
  border-top:1px solid var(--line);
}
.company-return-btn{
  margin-right:auto !important;
  border-color:#bfd1f7 !important;
  color:#2458d3 !important;
  background:#f5f8ff !important;
}
.company-return-btn:hover{
  background:#eaf1ff !important;
}
@media(max-width:680px){
  .modal-card{padding:18px !important}
  .company-profile-modal{gap:16px !important}
  .profile-actions button{min-width:0 !important;flex:1 1 140px}
  .modal-actions{gap:8px !important;flex-wrap:wrap !important}
  .company-return-btn{width:100%;margin-right:0 !important;order:-1}
}


/* V8.71 - rodapé fixo nos modais da Central */
.modal{
  padding:18px !important;
}
.modal-card{
  width:min(700px,calc(100% - 24px)) !important;
  max-height:min(90vh,860px) !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
.modal-head{
  flex:0 0 auto;
  padding:20px 22px 16px !important;
  margin:0 !important;
}
#modalBody{
  flex:1 1 auto;
  min-height:0 !important;
  max-height:none !important;
  overflow:auto !important;
  padding:18px 22px 12px !important;
}
#modalBody > *:last-child{
  margin-bottom:0 !important;
}
.modal-actions{
  flex:0 0 auto;
  position:sticky;
  bottom:0;
  z-index:2;
  margin:0 !important;
  padding:16px 22px 22px !important;
  border-top:1px solid var(--line) !important;
  background:#fff !important;
  box-shadow:0 -10px 24px rgba(15,23,42,.04);
}
.company-create,
.company-profile-modal,
.security-alert-panel,
.login-attempts-list{
  padding-bottom:4px;
}
.form-section:last-child,
.profile-actions:last-child,
.profile-notes:last-child,
.login-attempts-list:last-child{
  margin-bottom:0 !important;
}
@media(max-width:680px){
  .modal{
    padding:10px !important;
  }
  .modal-card{
    width:100% !important;
    max-height:92vh !important;
    border-radius:20px !important;
  }
  .modal-head{
    padding:16px 16px 14px !important;
  }
  #modalBody{
    padding:16px 16px 10px !important;
  }
  .modal-actions{
    padding:14px 16px calc(18px + env(safe-area-inset-bottom)) !important;
  }
  .modal-actions button{
    flex:1 1 140px;
  }
}


/* V8.71 - padrão definitivo de modais da Central */
body.modal-open{overflow:hidden !important}
.modal{
  position:fixed !important;
  inset:0 !important;
  z-index:20000 !important;
  display:grid !important;
  place-items:center !important;
  padding:clamp(12px,3vh,28px) !important;
  overflow:hidden !important;
}
.modal.hidden{display:none !important}
.backdrop{position:absolute !important;inset:0 !important;background:rgba(10,19,36,.58) !important;backdrop-filter:blur(4px)}
.modal-card{
  position:relative !important;
  z-index:1 !important;
  width:min(720px,calc(100vw - 28px)) !important;
  max-height:min(90dvh,880px) !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  border:1px solid #dfe6f0 !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 30px 90px rgba(8,20,45,.30) !important;
}
.modal-head{
  position:relative !important;
  flex:0 0 auto !important;
  min-height:72px !important;
  margin:0 !important;
  padding:16px 20px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 42px !important;
  gap:14px !important;
  align-items:center !important;
  border-bottom:1px solid var(--line) !important;
  background:#fff !important;
}
.modal-head h3{margin:0 !important;font-size:21px !important;line-height:1.25 !important;min-width:0 !important}
.modal-close-btn{
  appearance:none !important;-webkit-appearance:none !important;
  width:42px !important;height:42px !important;min-width:42px !important;min-height:42px !important;
  margin:0 !important;padding:0 !important;display:grid !important;place-items:center !important;
  border:1px solid #dbe3ef !important;border-radius:12px !important;background:#f8fafc !important;color:#17233a !important;
  line-height:1 !important;font-size:0 !important;box-shadow:none !important;transform:none !important;
}
.modal-close-btn::before{content:"×" !important;position:static !important;font:400 24px/1 Arial,sans-serif !important;transform:none !important}
.modal-close-btn span{display:none !important}
#modalBody{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:auto !important;
  overscroll-behavior:contain !important;
  padding:20px !important;
  scrollbar-gutter:stable;
}
.modal-actions{
  position:relative !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:16px 20px max(20px,env(safe-area-inset-bottom)) !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  border-top:1px solid var(--line) !important;
  background:#fff !important;
  box-shadow:0 -8px 24px rgba(15,23,42,.035) !important;
}
.modal-actions button{min-width:104px !important;min-height:42px !important;margin:0 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important}
.company-return-btn{margin-right:auto !important}
.confirm-modal-content{padding:4px 0 !important}
.login-loader-card{border-radius:20px !important;padding:26px !important}
@media(max-width:680px){
  .modal{padding:10px !important;place-items:center !important}
  .modal-card{width:calc(100vw - 20px) !important;max-height:calc(100dvh - 20px) !important;border-radius:20px !important}
  .modal-head{min-height:64px !important;padding:12px 14px !important;grid-template-columns:minmax(0,1fr) 40px !important}
  .modal-head h3{font-size:18px !important}
  .modal-close-btn{width:40px !important;height:40px !important;min-width:40px !important;min-height:40px !important}
  #modalBody{padding:16px 14px !important}
  .modal-actions{padding:12px 14px calc(16px + env(safe-area-inset-bottom)) !important;gap:8px !important}
  .modal-actions button{flex:1 1 132px !important;min-width:0 !important}
  .company-return-btn{flex-basis:100% !important;order:-1 !important;margin-right:0 !important}
}


/* V8.74 - monitor de armazenamento do servidor */
.storage-monitor-card{margin-top:16px}
.storage-health{display:grid;gap:5px;padding:13px 14px;margin:0 0 14px;border-radius:14px;border:1px solid var(--line);background:#f8fafc}
.storage-health>div{display:flex;align-items:center;gap:8px}.storage-health small{color:var(--muted);line-height:1.4}.storage-health-dot{width:11px;height:11px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}
.storage-health.warning{background:#fffaf0;border-color:#f7dca3}.storage-health.warning .storage-health-dot{background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.13)}.storage-health.warning b{color:#8a5b00}
.storage-health.critical{background:#fff5f5;border-color:#fecaca}.storage-health.critical .storage-health-dot{background:#ef4444;box-shadow:0 0 0 5px rgba(239,68,68,.12)}.storage-health.critical b{color:#b42318}
.storage-main-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.storage-main-grid>div{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.storage-main-grid small{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.storage-main-grid b{font-size:19px}
.storage-progress{height:12px;margin:13px 0 15px;border-radius:999px;background:#e9eef6;overflow:hidden}.storage-progress span{display:block;width:0;height:100%;border-radius:inherit;background:#22c55e;transition:width .3s ease}.storage-progress span[data-level="warning"]{background:#f59e0b}.storage-progress span[data-level="critical"]{background:#ef4444}
.storage-breakdown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.storage-breakdown-grid>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.storage-breakdown-grid span{color:var(--muted);font-size:11px}.storage-breakdown-grid b{font-size:12px;white-space:nowrap}
.storage-threshold-note{margin-top:12px;padding:10px 12px;border-radius:11px;background:#f7f9fc;color:#64748b;font-size:10px;line-height:1.5}
@media(max-width:800px){.storage-main-grid{grid-template-columns:1fr 1fr}.storage-breakdown-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.storage-main-grid,.storage-breakdown-grid{grid-template-columns:1fr}.storage-main-grid>div,.storage-breakdown-grid>div{min-height:54px}}


/* V8.91 - avisos sempre acima dos modais */
#toast{
  position:fixed !important;
  z-index:60000 !important;
  pointer-events:none !important;
}
#toast .toast{
  position:relative !important;
  z-index:60001 !important;
  pointer-events:auto !important;
}


/* V8.91 - módulos liberados por empresa */
.company-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.company-feature-option{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;margin:0!important;padding:12px;border:1px solid var(--line);border-radius:13px;background:#f8fafc;cursor:pointer}
.company-feature-option input{width:18px;height:18px;margin:2px 0 0;flex:0 0 auto}
.company-feature-option span{display:grid;gap:3px}.company-feature-option b{font-size:12px}.company-feature-option small{font-size:10px;color:var(--muted);line-height:1.35;font-weight:500}
.company-features-section>p{margin:0 0 10px;color:var(--muted);font-size:11px}
@media(max-width:620px){.company-feature-grid{grid-template-columns:1fr}}

.profile-feature-summary{display:grid;gap:5px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#f8fafc}.profile-feature-summary small{color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.profile-feature-summary b{font-size:11px;line-height:1.5}


/* V8.91 - ações principais da empresa logo abaixo das abas */
.profile-actions-top{
  margin:-4px 0 4px !important;
  padding:0 0 16px !important;
  border-top:0 !important;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:8px !important;
  flex-wrap:wrap;
}
.profile-actions-top button{min-width:112px;min-height:40px}
@media(max-width:680px){
  .profile-actions-top{display:grid;grid-template-columns:1fr 1fr;gap:8px !important}
  .profile-actions-top button{width:100%;min-width:0}
}

#releaseTargetCompanies{min-height:130px;padding:8px}#releaseTargetCompanies option{padding:7px 8px;border-radius:7px}

/* V8.115 - alinhamento dos campos de publicação de atualização */
.release-publish-grid{
  align-items:start;
}
.release-publish-grid > label{
  align-content:start;
  align-self:start;
  margin:0;
  min-width:0;
}
.release-publish-grid > label > input,
.release-publish-grid > label > select,
.release-publish-grid > label > textarea{
  margin:0;
}
.release-publish-grid #releaseNewVersion{
  min-height:42px;
}

/* V8.115 - 2FA, limite de PCs e proteção por localidade */
.twofa-settings{margin-top:16px;padding-top:16px;border-top:1px solid var(--border,#e5e7eb);display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.twofa-settings>div:first-child{display:flex;flex-direction:column;gap:4px}.twofa-settings small,.twofa-settings span{color:var(--muted,#64748b)}.mono-secret{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all;user-select:all}.company-create textarea{min-height:88px}.device-policy-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}


/* V8.115.20 - orientação visual de login e senha */
.credential-guide{display:grid;gap:6px;margin-top:8px;padding:10px 11px;border:1px solid var(--line,#dce4ef);border-radius:11px;background:#f8fafc}.credential-guide.compact{padding:8px 10px}.credential-rule{display:flex;align-items:flex-start;gap:7px;color:#8a5b00;font-size:10px;line-height:1.35;font-weight:700}.credential-rule.pending{color:var(--muted,#64748b)}.credential-rule.met{color:#15803d}.credential-rule-icon{display:grid;place-items:center;width:16px;height:16px;min-width:16px;border-radius:50%;border:1px solid currentColor;font-size:10px;line-height:1}.credential-rule.met .credential-rule-icon{background:#dcfce7;border-color:#86efac}.credential-kind-list{display:flex;gap:5px;flex-wrap:wrap;padding-left:23px}.credential-kind-list span{padding:3px 6px;border-radius:999px;background:#eef2f7;color:#748197;font-size:9px;font-weight:800}.credential-kind-list span.met{background:#dcfce7;color:#15803d}.credential-valid{border-color:#86c99a!important;box-shadow:0 0 0 3px rgba(34,197,94,.08)!important}.credential-incomplete{border-color:#e6bd67!important;box-shadow:0 0 0 3px rgba(245,158,11,.07)!important}.settings-password-guide{grid-column:1/-1;margin-top:-3px}

/* V8.115.20 - rótulo opcional alinhado no campo de senha da empresa */
.field-label-line{display:flex;align-items:baseline;gap:6px;min-width:0;line-height:1.25}
.field-label-line .optional{display:inline;white-space:nowrap;margin:0}

.admin-access-state{display:inline-flex;width:max-content;margin-top:4px;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:850}.admin-access-state.active{background:#e9f7ef;color:#167143}.admin-access-state.removed{background:#ffe9e9;color:#aa2222}

/* NexaOper Design System — V8.115.30 */
:root{
  --bg:#f4f7fd;
  --card:#fff;
  --text:#0e2345;
  --muted:#71809a;
  --line:#e4ebf5;
  --pri:#286cff;
  --ok:#18a06a;
  --warn:#a66b00;
  --bad:#c93434;
}
body{background:linear-gradient(180deg,#f8faff,#f3f7fd);color:var(--text)}
.brand-nexa{color:#0d2b58}.brand-oper{color:var(--pri)}
.brand-wordmark{font-weight:950;letter-spacing:-.045em;line-height:1;white-space:nowrap}
.login{
  background:
    radial-gradient(circle at 50% 4%,rgba(50,112,255,.15),transparent 29%),
    linear-gradient(180deg,#f8faff,#edf4fc);
}
.login-card{border:1px solid #dfe7f3;border-radius:30px;padding:32px;box-shadow:0 28px 75px rgba(31,61,112,.13)}
.login .brand-wordmark{font-size:33px;margin:0 0 12px}
.login p{line-height:1.55;margin:0 0 20px}
input,select,textarea{border-color:#e0e8f3;border-radius:14px;min-height:45px;background:#fff;outline:none}
input:focus,select:focus,textarea:focus{border-color:#79a5ff;box-shadow:0 0 0 4px rgba(40,108,255,.10)}
button{border-radius:13px;min-height:39px;border-color:#e1e8f3;color:#183155}
.primary{background:linear-gradient(135deg,#3478ff,#1f5bea);border-color:transparent;box-shadow:0 8px 20px rgba(40,108,255,.16)}
#app{grid-template-columns:258px 1fr}
aside{
  background:#fff;color:var(--text);padding:21px 16px;border-right:1px solid #e4ebf5;
  box-shadow:7px 0 26px rgba(31,61,112,.035);
}
aside .brand{padding:10px 12px 25px}.brand .brand-wordmark{font-size:25px}.brand>span{color:#8592a6;font-weight:700;margin-top:7px}
nav{gap:7px}nav button{color:#51627d;border-radius:13px;padding:12px 13px;font-weight:800}
nav button:hover{background:#f4f7fc;color:#1a4fae}
nav button.active{background:linear-gradient(135deg,#3478ff,#1f5bea);color:#fff;box-shadow:0 9px 22px rgba(40,108,255,.18)}
.logout{background:#f7f9fc;color:#41526e;border-color:#e5ebf4}
main{padding:0 27px;background:transparent}
header{min-height:82px;background:rgba(255,255,255,.78);margin:0 -27px 22px;padding:0 27px;border-bottom:1px solid #e6edf7;backdrop-filter:blur(14px);position:sticky;top:0;z-index:8}
header h2{font-size:20px;color:#102848;letter-spacing:-.02em}
.card,.kpi-card,.system-status-card,.company-card,.priority-item,.profile-card,.status-summary-grid>div{
  border-color:#e4ebf5!important;border-radius:20px!important;box-shadow:0 10px 28px rgba(31,61,112,.055)!important;
}
.card{padding:20px}
.dashboard-hero{border-radius:25px;background:linear-gradient(135deg,#1c56d4 0%,#286cff 55%,#4c8dff 100%);box-shadow:0 18px 42px rgba(40,108,255,.20)}
.hero-highlight{border-radius:20px}
.kpi-card{padding:18px}.kpi-card b{color:#154fae}
.kpi-success b{color:#14855a}.kpi-warn b{color:#946100}.kpi-danger b{color:#b52d2d}
.table-wrap{border:1px solid #e7edf5;border-radius:15px;background:#fff}
table{border-collapse:separate;border-spacing:0}th{background:#f8faff;color:#6e7e96;font-weight:850}th,td{border-bottom-color:#edf1f7;padding:12px 10px}tbody tr:hover{background:#f8fbff}
.modal-card{border-radius:25px;border:1px solid #e4ebf5;box-shadow:0 30px 85px rgba(17,41,83,.24)}
.backdrop{background:rgba(11,28,58,.48);backdrop-filter:blur(5px)}
.settings-hero{border-radius:24px!important;background:linear-gradient(135deg,#f6f9ff,#edf4ff)!important;box-shadow:0 12px 30px rgba(31,61,112,.06)!important}
.settings-card,.form-section,.credentials-box,.delivery-box,.device-card{border-color:#e4ebf5!important;border-radius:18px!important}
.toast{border-radius:14px;box-shadow:0 16px 38px rgba(17,41,83,.18)}
@media(max-width:900px){
  #app{grid-template-columns:1fr}
  aside{background:#fff;border-bottom:1px solid #e4ebf5;box-shadow:0 5px 20px rgba(31,61,112,.05)}
  aside nav button{background:#f4f7fc;color:#41526e}
  aside nav button.active{color:#fff}
  main{padding:0 14px}
  header{margin:0 -14px 18px;padding:0 14px;position:static}
}

/* NexaOper V8.115.20 — tema global e botões sem flash */
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.theme-toggle-floating{position:fixed;right:18px;top:18px;z-index:120;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:9px 13px;font-size:11px;font-weight:850;box-shadow:0 8px 24px rgba(31,61,112,.10)}
button,nav button{transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,color .12s ease!important}
.primary,.primary:hover,.primary:focus-visible,.primary:active{background:linear-gradient(135deg,#3478ff,#1f5bea)!important;border-color:transparent!important;color:#fff!important}
nav button.active,nav button.active:hover,nav button.active:focus-visible,nav button.active:active{background:linear-gradient(135deg,#3478ff,#1f5bea)!important;color:#fff!important}
@media(hover:hover) and (pointer:fine){.primary:not(:disabled):hover{filter:brightness(.97);box-shadow:0 10px 23px rgba(40,108,255,.23)!important}nav button.active:hover{filter:brightness(.98)}}

html[data-theme="dark"]{color-scheme:dark;--bg:#08111f;--card:#0f1b2d;--text:#e9f1ff;--muted:#9aaac0;--line:#25344b;--pri:#5b8fff;--ok:#36c98a;--warn:#e4ad49;--bad:#df5555}
html[data-theme="dark"] body{background:linear-gradient(180deg,#08111f,#0a1423);color:var(--text)}
html[data-theme="dark"] .login{background:radial-gradient(circle at 50% 4%,rgba(79,134,255,.16),transparent 30%),linear-gradient(160deg,#091522,#08101d)!important}
html[data-theme="dark"] .login-card,html[data-theme="dark"] .card,html[data-theme="dark"] .kpis>div,html[data-theme="dark"] .modal-card,
html[data-theme="dark"] .settings-card,html[data-theme="dark"] .system-status-card,html[data-theme="dark"] .company-card,html[data-theme="dark"] .priority-item,
html[data-theme="dark"] .profile-card,html[data-theme="dark"] .status-summary-grid>div,html[data-theme="dark"] .storage-breakdown-grid>div,
html[data-theme="dark"] .storage-main-grid>div,html[data-theme="dark"] .saved-data-grid>div,html[data-theme="dark"] .tech-detail-grid>div{background:var(--card)!important;border-color:var(--line)!important;color:var(--text)!important}
html[data-theme="dark"] aside{background:#091321!important;border-color:var(--line)!important;box-shadow:7px 0 26px rgba(0,0,0,.16)}
html[data-theme="dark"] main{background:transparent!important}
html[data-theme="dark"] header{background:rgba(15,27,45,.90)!important;border-color:var(--line)!important}
html[data-theme="dark"] .brand-nexa,html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3{color:#edf4ff!important}html[data-theme="dark"] .brand-oper{color:#6a9aff!important}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] button:not(.primary):not(.danger),html[data-theme="dark"] .logout{background:#101f33!important;border-color:var(--line)!important;color:var(--text)!important}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#72849d}
html[data-theme="dark"] .muted,html[data-theme="dark"] label,html[data-theme="dark"] header p,html[data-theme="dark"] .brand>span{color:var(--muted)!important}
html[data-theme="dark"] .table-wrap,html[data-theme="dark"] table{background:var(--card)!important;border-color:var(--line)!important}
html[data-theme="dark"] th{background:#0c1728!important;color:#9cadc4!important;border-color:#223149!important}html[data-theme="dark"] td{border-color:#203049!important;color:#dce7f7}html[data-theme="dark"] tbody tr:hover{background:#111f33!important}
html[data-theme="dark"] .modal .backdrop,html[data-theme="dark"] .backdrop{background:rgba(0,0,0,.68)!important}
html[data-theme="dark"] .company-feature-option,html[data-theme="dark"] .profile-feature-summary,html[data-theme="dark"] .credential-guide,html[data-theme="dark"] .storage-threshold-note{background:#0c192a!important;border-color:var(--line)!important;color:var(--text)!important}
html[data-theme="dark"] .token-box{background:#142a49!important;color:#a8c4ff!important}
html[data-theme="dark"] .theme-toggle-floating{background:#101f33;border-color:var(--line);color:var(--text);box-shadow:0 8px 24px rgba(0,0,0,.25)}
@media(max-width:900px){.header-actions{margin-left:auto;flex-wrap:nowrap}.header-actions .theme-toggle-label{display:none}.theme-toggle{min-width:42px}.theme-toggle-floating .theme-toggle-label{display:none}.theme-toggle-floating{width:42px;height:42px;padding:0}}
/* V8.115.20 — cobertura adicional do tema escuro na Central */
html[data-theme="dark"] .credentials-box,html[data-theme="dark"] .delivery-box,html[data-theme="dark"] .priority-item,
html[data-theme="dark"] .status-summary-grid>div,html[data-theme="dark"] .company-card,html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .profile-card,html[data-theme="dark"] .profile-notes>div,html[data-theme="dark"] .renew-company,
html[data-theme="dark"] .device-policy-summary>div,html[data-theme="dark"] .device-card,html[data-theme="dark"] .security-note,
html[data-theme="dark"] .release-kpis>div,html[data-theme="dark"] #releaseNewVersion[readonly],html[data-theme="dark"] .company-security-alert,
html[data-theme="dark"] .security-alert-panel,html[data-theme="dark"] .security-alert-heading button,html[data-theme="dark"] .security-ack-btn,
html[data-theme="dark"] .security-alert-item,html[data-theme="dark"] .company-profile-tab,html[data-theme="dark"] .profile-security-inline,
html[data-theme="dark"] .login-attempts-summary>div,html[data-theme="dark"] .login-attempt-row,html[data-theme="dark"] .login-attempts-empty,
html[data-theme="dark"] .modal-head,html[data-theme="dark"] .modal-actions,html[data-theme="dark"] .modal-close-btn,
html[data-theme="dark"] .storage-health{background:#101f33!important;border-color:var(--line)!important;color:var(--text)!important}
html[data-theme="dark"] .company-profile-tab.active{background:#17325a!important;color:#dce9ff!important;box-shadow:none!important}
html[data-theme="dark"] .company-profile-tab:hover{background:#13243b!important;color:#dce9ff!important}
html[data-theme="dark"] .device-status.pending,html[data-theme="dark"] .release-status.pending,html[data-theme="dark"] .storage-health.warning{background:#332815!important;color:#e7c57a!important;border-color:#5d4824!important}
html[data-theme="dark"] .storage-health.critical,html[data-theme="dark"] .company-security-alert,html[data-theme="dark"] .security-alert-panel,html[data-theme="dark"] .profile-security-inline{background:#361b24!important;color:#ffb0ba!important;border-color:#68404a!important}
html[data-theme="dark"] .danger-soft,html[data-theme="dark"] .security-unlock-btn{background:#2d1d24!important;border-color:#714650!important;color:#ffc1c8!important}
html[data-theme="dark"] .login-attempt-row.open{background:#2a1920!important;border-color:#68404a!important}
html[data-theme="dark"] .login-attempt-row.checked{background:#101c2d!important}
html[data-theme="dark"] .login-loader-card{background:#0f1b2d!important;border-color:var(--line)!important;color:var(--text)!important}


/* NexaOper V8.115.20 — contraste integral da Central e wordmark em destaque */
aside .brand .brand-wordmark{display:inline-flex;align-items:baseline;font-size:32px!important;line-height:.98!important;letter-spacing:-.055em!important}
aside .brand>span{display:block;margin-top:9px!important;font-size:13px!important;line-height:1.25}
@media(max-width:900px){aside .brand .brand-wordmark{font-size:29px!important}aside .brand>span{font-size:12px!important}}
html[data-theme="dark"] .form-section,html[data-theme="dark"] .company-create .form-section,html[data-theme="dark"] .company-features-section,
html[data-theme="dark"] .company-create,html[data-theme="dark"] .approval-toggle,html[data-theme="dark"] .company-profile-tabs{background:#0f1b2d!important;border-color:#25344b!important;color:#e9f1ff!important}
html[data-theme="dark"] .form-section h4,html[data-theme="dark"] .form-section b,html[data-theme="dark"] .company-create h4{color:#f0f5ff!important}
html[data-theme="dark"] .form-section p,html[data-theme="dark"] .form-section .hint,html[data-theme="dark"] .company-create p{color:#9cadc4!important}
html[data-theme="dark"] .credential-guide{background:#0c192a!important;border-color:#2a3c55!important}
html[data-theme="dark"] .credential-rule.pending{color:#9cadc4!important}
html[data-theme="dark"] .credential-rule.met{color:#43d28e!important}
html[data-theme="dark"] .credential-rule.met .credential-rule-icon{background:#103b29!important;border-color:#3fc887!important;color:#8df0bb!important}
html[data-theme="dark"] .credential-kind-list span{background:#14243a!important;color:#9cadc4!important}
html[data-theme="dark"] .credential-kind-list span.met{background:#103b29!important;color:#8df0bb!important}
html[data-theme="dark"] .credential-valid{border-color:#318d62!important;box-shadow:0 0 0 3px rgba(54,201,138,.12)!important}
html[data-theme="dark"] .credential-incomplete{border-color:#9b7434!important;box-shadow:0 0 0 3px rgba(228,173,73,.10)!important}
html[data-theme="dark"] .company-profile-tabs{padding:5px!important;box-shadow:inset 0 0 0 1px rgba(91,143,255,.03)}
html[data-theme="dark"] .company-profile-tab{background:#101f33!important;border:1px solid #2b3d57!important;color:#cbd8eb!important}
html[data-theme="dark"] .company-profile-tab.active{background:linear-gradient(135deg,#245fcf,#1b4daa)!important;border-color:#4b7fdc!important;color:#fff!important}
html[data-theme="dark"] .company-profile-tab:hover{background:#142945!important;color:#e4edfb!important}
html[data-theme="dark"] .device-status,html[data-theme="dark"] .release-status,html[data-theme="dark"] .admin-access-state,html[data-theme="dark"] .optional,html[data-theme="dark"] .status{border-color:#32445f}
html[data-theme="dark"] .admin-access-state.active{background:#103225!important;color:#8fe0b8!important}
html[data-theme="dark"] .admin-access-state.removed{background:#361b24!important;color:#ffb1bc!important}
html[data-theme="dark"] .modal-card,html[data-theme="dark"] .modal-body,html[data-theme="dark"] .modal-head,html[data-theme="dark"] .modal-actions{background:#0f1b2d!important;color:#e9f1ff!important;border-color:#25344b!important}

html[data-theme="dark"] .settings-hero{
  background:linear-gradient(135deg,#102038,#12294a)!important;
  border:1px solid #29405e!important;
  color:#e9f1ff!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .settings-hero h2,
html[data-theme="dark"] .settings-hero h3{color:#f0f5ff!important}
html[data-theme="dark"] .settings-hero p{color:#9cadc4!important}
html[data-theme="dark"] .login-attempt-grid>div{
  background:#13233a!important;border:1px solid #293c57!important;color:#e9f1ff!important;
}
html[data-theme="dark"] .login-attempt-grid small{color:#9cadc4!important}
html[data-theme="dark"] .login-attempt-grid strong{color:#e9f1ff!important}
html[data-theme="dark"] .storage-progress{background:#1b2a40!important}
html[data-theme="dark"] .storage-breakdown-grid>div{background:#101f33!important;border-color:#25344b!important;color:#e9f1ff!important}


/* V8.115.21 — ajustes finais da Central: contraste, backup e interação */
.login .brand-wordmark{font-size:38px !important}
aside .brand .brand-wordmark{display:inline-flex;align-items:baseline;font-size:40px !important;line-height:.96 !important;letter-spacing:-.058em !important}
@media(max-width:900px){aside .brand .brand-wordmark{font-size:34px !important}}

aside nav button,
.company-profile-tab,
.actions button,
.header-actions button,
.settings-hero button{
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
aside nav button.active{
  background:linear-gradient(135deg,#3478ff 0%,#1f5bea 100%) !important;
  color:#fff !important;
  border-radius:18px !important;
  box-shadow:0 10px 24px rgba(37,99,235,.22) !important;
}
@media(hover:hover) and (pointer:fine){
  aside nav button:hover{
    background:#eef4ff !important;
    color:#184fd0 !important;
    transform:translateX(4px);
    box-shadow:0 8px 18px rgba(31,94,255,.10) !important;
  }
}
html[data-theme="dark"] aside nav button{
  border:1px solid transparent !important;
}
html[data-theme="dark"] aside nav button.active{
  background:linear-gradient(135deg,#245fcf 0%,#1b4daa 100%) !important;
  color:#fff !important;
  border-color:#4c7fdd !important;
  box-shadow:0 12px 26px rgba(13,55,140,.28) !important;
}
@media(hover:hover) and (pointer:fine){
  html[data-theme="dark"] aside nav button:hover{
    background:#16304f !important;
    color:#edf4ff !important;
    border-color:#4c7fdd !important;
    box-shadow:0 9px 20px rgba(13,55,140,.22) !important;
  }
}

.backup-highlight small{color:#7a8aa1 !important}
.backup-highlight b{color:#14354f !important}
.backup-highlight span{color:#576981 !important}
html[data-theme="dark"] .backup-highlight{
  background:#10233a !important;
  border-color:#29405e !important;
  box-shadow:inset 0 0 0 1px rgba(91,143,255,.05) !important;
}
html[data-theme="dark"] .backup-highlight small{color:#9cadc4 !important}
html[data-theme="dark"] .backup-highlight b{color:#f0f5ff !important}
html[data-theme="dark"] .backup-highlight span{color:#c7d5e8 !important}

html[data-theme="dark"] .kpi-label,
html[data-theme="dark"] .card-head h3,
html[data-theme="dark"] .titlebar b,
html[data-theme="dark"] .company-card-top b,
html[data-theme="dark"] .saved-data-grid b,
html[data-theme="dark"] .system-status-card b,
html[data-theme="dark"] .tech-detail-grid b,
html[data-theme="dark"] .last-write-row b,
html[data-theme="dark"] .renew-company b,
html[data-theme="dark"] .modal-head h3{
  color:#f0f5ff !important;
}
html[data-theme="dark"] .kpi-card small,
html[data-theme="dark"] .company-card-top small,
html[data-theme="dark"] .company-footer small,
html[data-theme="dark"] .saved-data-grid span,
html[data-theme="dark"] .system-status-card small,
html[data-theme="dark"] .system-status-card span,
html[data-theme="dark"] .tech-detail-grid small,
html[data-theme="dark"] .last-write-row,
html[data-theme="dark"] .card-head p,
html[data-theme="dark"] .titlebar small{
  color:#9cadc4 !important;
}


/* V8.115.22 — ajuste fino da sidebar da Central */
aside .brand{padding:14px 14px 26px !important;width:100%}
aside .brand .brand-wordmark{
  display:inline-flex !important;
  align-items:baseline !important;
  font-size:48px !important;
  line-height:.92 !important;
  letter-spacing:-.065em !important;
}
aside .brand>span{
  display:block !important;
  margin-top:12px !important;
  font-size:15px !important;
  font-weight:800 !important;
}
@media(max-width:900px){
  aside .brand .brand-wordmark{font-size:42px !important}
  
}

aside nav button{
  background:transparent !important;
  color:#51627c !important;
  border:1px solid transparent !important;
  border-radius:22px !important;
  box-shadow:none !important;
  transform:none !important;
}
aside nav button.active,
aside nav button.active:hover,
aside nav button.active:focus-visible,
aside nav button.active:active{
  background:linear-gradient(135deg,#3f7cff 0%,#2967f3 100%) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 12px 24px rgba(41,103,243,.18) !important;
  transform:none !important;
}
@media(hover:hover) and (pointer:fine){
  
}



html[data-theme="dark"] aside .brand>span{color:#a6b6cc !important}
html[data-theme="dark"] aside nav button{
  background:#102038 !important;
  color:#d6e1f3 !important;
  border:1px solid #243857 !important;
  box-shadow:none !important;
}
html[data-theme="dark"] aside nav button.active,
html[data-theme="dark"] aside nav button.active:hover,
html[data-theme="dark"] aside nav button.active:focus-visible,
html[data-theme="dark"] aside nav button.active:active{
  background:linear-gradient(135deg,#3f7cff 0%,#2967f3 100%) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 12px 24px rgba(41,103,243,.26) !important;
  transform:none !important;
}
@media(hover:hover) and (pointer:fine){
  html[data-theme="dark"] aside nav button:hover{
    background:rgba(63,124,255,.14) !important;
    color:#f4f8ff !important;
    border-color:rgba(106,154,255,.26) !important;
    box-shadow:none !important;
    transform:none !important;
  }
}


/* V8.115.23 — hover suave nas ações da lista de empresas */
.actions button{
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease !important;
}
@media(hover:hover) and (pointer:fine){
  .actions button:not(.primary):not(.danger):hover{
    background:rgba(52,120,255,.08) !important;
    border-color:rgba(52,120,255,.16) !important;
    color:#264e9e !important;
    box-shadow:none !important;
    transform:none !important;
  }
  .actions button.primary:hover{
    filter:none !important;
    background:linear-gradient(135deg,#3f7cff 0%,#2967f3 100%) !important;
    border-color:transparent !important;
    color:#fff !important;
    box-shadow:0 10px 22px rgba(41,103,243,.18) !important;
    transform:none !important;
  }
  .actions button.danger:hover{
    background:#db3b3b !important;
    border-color:#db3b3b !important;
    color:#fff !important;
    box-shadow:none !important;
    transform:none !important;
  }
}
html[data-theme="dark"] .actions button{
  background:#102038 !important;
  border-color:#243857 !important;
  color:#d6e1f3 !important;
}
@media(hover:hover) and (pointer:fine){
  html[data-theme="dark"] .actions button:not(.primary):not(.danger):hover{
    background:rgba(63,124,255,.14) !important;
    border-color:rgba(106,154,255,.28) !important;
    color:#f4f8ff !important;
    box-shadow:none !important;
    transform:none !important;
  }
  html[data-theme="dark"] .actions button.primary:hover{
    background:linear-gradient(135deg,#3f7cff 0%,#2967f3 100%) !important;
    border-color:transparent !important;
    color:#fff !important;
    box-shadow:0 10px 22px rgba(41,103,243,.26) !important;
    transform:none !important;
  }
  html[data-theme="dark"] .actions button.danger:hover{
    background:#e04444 !important;
    border-color:#e04444 !important;
    color:#fff !important;
    box-shadow:none !important;
    transform:none !important;
  }
}


/* V8.115.28 — sidebar da Central alinhada ao padrão do tema claro */
aside .brand{
  padding:18px 16px 28px !important;
  width:100%;
}
aside .brand .brand-wordmark{
  display:inline-flex !important;
  align-items:baseline !important;
  font-size:50px !important;
  line-height:.92 !important;
  letter-spacing:-.065em !important;
}
aside .brand > span{
  display:block !important;
  margin-top:12px !important;
  font-size:15px !important;
  font-weight:800 !important;
}
@media(max-width:900px){
  aside .brand .brand-wordmark{font-size:44px !important}
  aside .brand>span{font-size:14px !important}
}

aside nav{
  display:grid !important;
  gap:14px !important;
}
aside nav button{
  width:100% !important;
  min-height:96px !important;
  padding:0 24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  border-radius:32px !important;
  font-size:24px !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
  text-align:left !important;
  background:transparent !important;
  color:#51627c !important;
  border:1px solid transparent !important;
  box-shadow:none !important;
  transform:none !important;
}
aside nav button.active,
aside nav button.active:hover,
aside nav button.active:focus-visible,
aside nav button.active:active{
  background:linear-gradient(135deg,#3f7cff 0%,#2967f3 100%) !important;
  color:#ffffff !important;
  border-color:transparent !important;
  box-shadow:0 12px 24px rgba(41,103,243,.18) !important;
  transform:none !important;
}
@media(hover:hover) and (pointer:fine){
  aside nav button:hover{
    background:rgba(52,120,255,.08) !important;
    color:#264e9e !important;
    border-color:rgba(52,120,255,.14) !important;
    box-shadow:none !important;
    transform:none !important;
  }
}

html[data-theme="dark"] aside nav{
  gap:14px !important;
}
html[data-theme="dark"] aside nav button{
  background:#10233d !important;
  color:#f2f6fd !important;
  border:1px solid #223a5d !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02) !important;
}
html[data-theme="dark"] aside nav button.active,
html[data-theme="dark"] aside nav button.active:hover,
html[data-theme="dark"] aside nav button.active:focus-visible,
html[data-theme="dark"] aside nav button.active:active{
  background:linear-gradient(135deg,#3f7cff 0%,#2967f3 100%) !important;
  color:#ffffff !important;
  border-color:transparent !important;
  box-shadow:0 14px 26px rgba(41,103,243,.26) !important;
}
@media(hover:hover) and (pointer:fine){
  html[data-theme="dark"] aside nav button:hover{
    background:rgba(63,124,255,.14) !important;
    color:#ffffff !important;
    border-color:rgba(106,154,255,.26) !important;
    box-shadow:none !important;
    transform:none !important;
  }
}


/* V8.115.29 — hover das ações de Empresas igual ao padrão claro da Auditoria */
.table-wrap .actions button{
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease !important;
}
@media(hover:hover) and (pointer:fine){
  .table-wrap .actions button:not(.primary):not(.danger):hover{
    background:#eef4ff !important;
    border-color:#cfe0ff !important;
    color:#1f4fc4 !important;
    box-shadow:0 6px 14px rgba(31,79,196,.10) !important;
    transform:none !important;
  }
  .table-wrap .actions button.primary:hover{
    background:linear-gradient(135deg,#4b84ff 0%,#2f6af1 100%) !important;
    border-color:transparent !important;
    color:#fff !important;
    box-shadow:0 8px 18px rgba(47,106,241,.18) !important;
    transform:none !important;
  }
  .table-wrap .actions button.danger:hover{
    background:#e24a4a !important;
    border-color:#e24a4a !important;
    color:#fff !important;
    box-shadow:0 8px 16px rgba(226,74,74,.16) !important;
    transform:none !important;
  }
}
html[data-theme="dark"] .table-wrap .actions button{
  background:#10233d !important;
  border-color:#223a5d !important;
  color:#e7eefb !important;
}
@media(hover:hover) and (pointer:fine){
  html[data-theme="dark"] .table-wrap .actions button:not(.primary):not(.danger):hover{
    background:#1a3354 !important;
    border-color:#6a9aff !important;
    color:#ffffff !important;
    box-shadow:0 8px 18px rgba(43,92,204,.20) !important;
    transform:none !important;
  }
  html[data-theme="dark"] .table-wrap .actions button.primary:hover{
    background:linear-gradient(135deg,#4b84ff 0%,#2f6af1 100%) !important;
    border-color:transparent !important;
    color:#fff !important;
    box-shadow:0 10px 20px rgba(47,106,241,.24) !important;
    transform:none !important;
  }
  html[data-theme="dark"] .table-wrap .actions button.danger:hover{
    background:#e24a4a !important;
    border-color:#e24a4a !important;
    color:#fff !important;
    box-shadow:0 10px 18px rgba(226,74,74,.20) !important;
    transform:none !important;
  }
}


/* V8.115.31 — hover mais perceptível em Empresas cadastradas */
@media(hover:hover) and (pointer:fine){
  .company-card{
    transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease !important;
  }
  .company-card:hover{
    background:#f8fbff !important;
    border-color:#cfe0ff !important;
    box-shadow:0 10px 22px rgba(41,103,243,.10) !important;
    transform:translateY(-1px) !important;
  }
  .company-card:hover .linkish{
    color:#1f57d8 !important;
  }
  html[data-theme="dark"] .company-card:hover{
    background:#152844 !important;
    border-color:#5d84d1 !important;
    box-shadow:0 12px 24px rgba(34,86,196,.22) !important;
    transform:translateY(-1px) !important;
  }
  html[data-theme="dark"] .company-card:hover .company-card-top b,
  html[data-theme="dark"] .company-card:hover .linkish{
    color:#ffffff !important;
  }
  html[data-theme="dark"] .company-card:hover small,
  html[data-theme="dark"] .company-card:hover span:not(.pill){
    color:#cfe0ff !important;
  }
}


/* V8.115.33 — Empresas no tema escuro com mesmo padrão visual do tema claro */
#page-companies .table-wrap{
  border-radius:20px !important;
}
#page-companies .table-wrap table{
  border-collapse:separate !important;
  border-spacing:0 !important;
}
#page-companies .table-wrap tbody tr{
  transition:background-color .18s ease, box-shadow .18s ease !important;
}
@media(hover:hover) and (pointer:fine){
  #page-companies .table-wrap tbody tr.clickable-row:hover{
    background:#f8fbff !important;
  }
}
html[data-theme="dark"] #page-companies .table-wrap{
  background:#0d1a2d !important;
  border:1px solid #223149 !important;
}
html[data-theme="dark"] #page-companies .table-wrap table{
  background:transparent !important;
}
html[data-theme="dark"] #page-companies .table-wrap thead th{
  background:#0c1728 !important;
  color:#9cadc4 !important;
  border-bottom:1px solid #223149 !important;
}
html[data-theme="dark"] #page-companies .table-wrap tbody td{
  background:transparent !important;
  color:#e6eefc !important;
  border-bottom:1px solid #203049 !important;
}
html[data-theme="dark"] #page-companies .table-wrap tbody td small{
  color:#a8b8cf !important;
}
@media(hover:hover) and (pointer:fine){
  html[data-theme="dark"] #page-companies .table-wrap tbody tr.clickable-row:hover{
    background:rgba(255,255,255,.045) !important;
    box-shadow:inset 0 0 0 1px rgba(114,159,255,.10) !important;
  }
  html[data-theme="dark"] #page-companies .table-wrap tbody tr.clickable-row:hover td{
    color:#f3f7ff !important;
  }
  html[data-theme="dark"] #page-companies .table-wrap tbody tr.clickable-row:hover td small{
    color:#c7d6eb !important;
  }
}
html[data-theme="dark"] #page-companies .table-wrap .actions button{
  background:#10233d !important;
  border:1px solid #223a5d !important;
  color:#eef4ff !important;
  box-shadow:none !important;
}
html[data-theme="dark"] #page-companies .table-wrap .actions button.primary,
html[data-theme="dark"] #page-companies .table-wrap .actions button.primary:hover,
html[data-theme="dark"] #page-companies .table-wrap .actions button.primary:focus-visible,
html[data-theme="dark"] #page-companies .table-wrap .actions button.primary:active{
  background:linear-gradient(135deg,#3f7cff 0%,#2967f3 100%) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 10px 20px rgba(41,103,243,.22) !important;
}
html[data-theme="dark"] #page-companies .table-wrap .actions button.danger,
html[data-theme="dark"] #page-companies .table-wrap .actions button.danger:hover,
html[data-theme="dark"] #page-companies .table-wrap .actions button.danger:focus-visible,
html[data-theme="dark"] #page-companies .table-wrap .actions button.danger:active{
  background:#de4a4a !important;
  border-color:#de4a4a !important;
  color:#fff !important;
  box-shadow:0 10px 18px rgba(222,74,74,.20) !important;
}
@media(hover:hover) and (pointer:fine){
  html[data-theme="dark"] #page-companies .table-wrap .actions button:not(.primary):not(.danger):hover{
    background:rgba(255,255,255,.08) !important;
    border-color:rgba(114,159,255,.28) !important;
    color:#ffffff !important;
    box-shadow:0 8px 16px rgba(13,41,86,.18) !important;
  }
}


/* V8.115.34 — central com sidebar no tamanho correto e marca maior */
aside .brand{
  padding:16px 16px 22px !important;
}
aside .brand .brand-wordmark{
  display:inline-flex !important;
  align-items:baseline !important;
  font-size:38px !important;
  line-height:.94 !important;
  letter-spacing:-.06em !important;
}
aside .brand > span{
  display:block !important;
  margin-top:10px !important;
  font-size:14px !important;
  font-weight:800 !important;
}
aside nav{
  gap:12px !important;
}
aside nav button{
  min-height:74px !important;
  padding:0 22px !important;
  border-radius:24px !important;
  font-size:18px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
}
html[data-theme="dark"] aside nav button.active,
html[data-theme="dark"] aside nav button.active:hover,
html[data-theme="dark"] aside nav button.active:focus-visible,
html[data-theme="dark"] aside nav button.active:active{
  background:linear-gradient(135deg,#3f7cff 0%,#2967f3 100%) !important;
  color:#ffffff !important;
  border-color:transparent !important;
  box-shadow:0 12px 22px rgba(41,103,243,.24) !important;
}
@media(max-width:900px){
  aside .brand{
    padding:10px 12px 14px !important;
  }
  aside .brand .brand-wordmark{
    font-size:34px !important;
  }
  aside .brand > span{
    font-size:13px !important;
  }
  aside nav button{
    min-height:62px !important;
    font-size:17px !important;
    border-radius:20px !important;
    padding:0 18px !important;
  }
}


/* V8.115.36 — sidebar compacta e unificada Central/Administração */
@media(min-width:901px){
  #app{grid-template-columns:238px 1fr !important}
  aside{
    width:238px !important;
    padding:16px 14px !important;
  }
  aside .brand{
    padding:12px 12px 18px !important;
  }
  aside .brand .brand-wordmark{
    display:inline-flex !important;
    align-items:baseline !important;
    font-size:28px !important;
    line-height:.96 !important;
    letter-spacing:-.05em !important;
  }
  aside .brand > span{
    display:block !important;
    margin-top:7px !important;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
  }
  aside nav{
    display:grid !important;
    gap:8px !important;
  }
  aside nav button{
    width:100% !important;
    min-height:50px !important;
    padding:0 15px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    border-radius:16px !important;
    font-size:14px !important;
    line-height:1.1 !important;
    font-weight:850 !important;
    letter-spacing:-.01em !important;
    background:transparent !important;
    color:#51627c !important;
    border:1px solid transparent !important;
    box-shadow:none !important;
    transform:none !important;
  }
  aside nav button.active,
  aside nav button.active:hover,
  aside nav button.active:focus-visible,
  aside nav button.active:active{
    background:linear-gradient(135deg,#3f7cff 0%,#2967f3 100%) !important;
    color:#fff !important;
    border-color:transparent !important;
    box-shadow:0 8px 18px rgba(41,103,243,.16) !important;
    transform:none !important;
  }
  @media(hover:hover) and (pointer:fine){
    aside nav button:not(.active):hover{
      background:rgba(52,120,255,.075) !important;
      color:#264e9e !important;
      border-color:rgba(52,120,255,.12) !important;
      box-shadow:none !important;
      transform:none !important;
    }
  }
  html[data-theme="dark"] aside nav button{
    background:#10233d !important;
    color:#edf4ff !important;
    border-color:#223a5d !important;
    box-shadow:none !important;
  }
  html[data-theme="dark"] aside nav button.active,
  html[data-theme="dark"] aside nav button.active:hover,
  html[data-theme="dark"] aside nav button.active:focus-visible,
  html[data-theme="dark"] aside nav button.active:active{
    background:linear-gradient(135deg,#3f7cff 0%,#2967f3 100%) !important;
    color:#fff !important;
    border-color:transparent !important;
    box-shadow:0 9px 20px rgba(41,103,243,.22) !important;
  }
  @media(hover:hover) and (pointer:fine){
    html[data-theme="dark"] aside nav button:not(.active):hover{
      background:rgba(91,143,255,.13) !important;
      color:#fff !important;
      border-color:rgba(106,154,255,.26) !important;
      box-shadow:none !important;
      transform:none !important;
    }
  }
}


/* V8.115.37 — Central alinhada exatamente ao padrão visual da Administração */
#app{
  grid-template-columns:238px 1fr !important;
}
aside{
  width:238px !important;
  padding:16px 14px !important;
}
aside .brand{
  padding:12px 12px 18px !important;
  width:100% !important;
}
aside .brand .brand-wordmark{
  display:inline-flex !important;
  align-items:baseline !important;
  font-size:28px !important;
  line-height:.96 !important;
  letter-spacing:-.05em !important;
  white-space:nowrap !important;
}
aside .brand > span{
  display:block !important;
  margin-top:7px !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}
aside nav{
  display:grid !important;
  gap:8px !important;
}
aside nav button{
  width:100% !important;
  min-height:50px !important;
  padding:0 15px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  border-radius:16px !important;
  font-size:14px !important;
  line-height:1.1 !important;
  font-weight:850 !important;
  letter-spacing:-.01em !important;
  text-align:left !important;
  background:transparent !important;
  color:#51627c !important;
  border:1px solid transparent !important;
  box-shadow:none !important;
  transform:none !important;
}
aside nav button.active,
aside nav button.active:hover,
aside nav button.active:focus-visible,
aside nav button.active:active{
  background:linear-gradient(135deg,#3f7cff 0%,#2967f3 100%) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 8px 18px rgba(41,103,243,.16) !important;
  transform:none !important;
}
@media(hover:hover) and (pointer:fine){
  aside nav button:not(.active):hover{
    background:rgba(52,120,255,.075) !important;
    color:#264e9e !important;
    border-color:rgba(52,120,255,.12) !important;
    box-shadow:none !important;
    transform:none !important;
  }
}
html[data-theme="dark"] aside .brand .brand-wordmark{color:#f3f7ff !important}
html[data-theme="dark"] aside .brand .brand-oper{color:#6a9aff !important}
html[data-theme="dark"] aside .brand > span{color:#a6b6cc !important}
html[data-theme="dark"] aside nav button{
  background:#10233d !important;
  color:#edf4ff !important;
  border-color:#223a5d !important;
  box-shadow:none !important;
}
html[data-theme="dark"] aside nav button.active,
html[data-theme="dark"] aside nav button.active:hover,
html[data-theme="dark"] aside nav button.active:focus-visible,
html[data-theme="dark"] aside nav button.active:active{
  background:linear-gradient(135deg,#3f7cff 0%,#2967f3 100%) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 9px 20px rgba(41,103,243,.22) !important;
}
@media(hover:hover) and (pointer:fine){
  html[data-theme="dark"] aside nav button:not(.active):hover{
    background:rgba(91,143,255,.13) !important;
    color:#fff !important;
    border-color:rgba(106,154,255,.26) !important;
    box-shadow:none !important;
    transform:none !important;
  }
}
@media(max-width:900px){
  
  aside{width:auto !important;padding:16px 14px !important}
  aside .brand .brand-wordmark{font-size:28px !important}
  aside .brand > span{font-size:11px !important}
  aside nav button{min-height:50px !important;font-size:14px !important;border-radius:16px !important}
}


/* V8.115.38 — correção final do modo escuro da Central */
#app > aside{
  width:238px !important;
  padding:16px 14px !important;
  background:linear-gradient(180deg,#081426 0%,#07162c 100%) !important;
}
#app > aside .brand{
  padding:12px 12px 18px !important;
}
#app > aside .brand .brand-wordmark{
  display:inline-flex !important;
  align-items:baseline !important;
  font-size:34px !important;
  line-height:.94 !important;
  letter-spacing:-.06em !important;
  white-space:nowrap !important;
}
#app > aside .brand > span{
  display:block !important;
  margin-top:8px !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}
#app > aside nav{
  display:grid !important;
  gap:8px !important;
}
#app > aside nav > button{
  width:100% !important;
  min-height:50px !important;
  padding:0 16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  border-radius:16px !important;
  font-size:14px !important;
  line-height:1.1 !important;
  font-weight:850 !important;
  letter-spacing:-.01em !important;
  text-align:left !important;
  border:1px solid transparent !important;
  box-shadow:none !important;
  transform:none !important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease !important;
}
html[data-theme="light"] #app > aside .brand .brand-wordmark{color:#12284f !important}
html[data-theme="light"] #app > aside .brand .brand-oper{color:#2967f3 !important}
html[data-theme="light"] #app > aside .brand > span{color:#7d8da5 !important}
html[data-theme="light"] #app > aside nav > button{
  background:transparent !important;
  color:#51627c !important;
}
html[data-theme="light"] #app > aside nav > button.active,
html[data-theme="light"] #app > aside nav > button.active:hover,
html[data-theme="light"] #app > aside nav > button.active:focus-visible,
html[data-theme="light"] #app > aside nav > button.active:active{
  background:linear-gradient(135deg,#4a84ff 0%,#2f69f3 100%) !important;
  color:#ffffff !important;
  border-color:transparent !important;
  box-shadow:0 8px 18px rgba(41,103,243,.16) !important;
}
@media(hover:hover) and (pointer:fine){
  
}
html[data-theme="dark"] #app > aside .brand .brand-wordmark{color:#f5f8ff !important}



html[data-theme="dark"] #app > aside nav > button.active,
html[data-theme="dark"] #app > aside nav > button.active:hover,
html[data-theme="dark"] #app > aside nav > button.active:focus-visible,
html[data-theme="dark"] #app > aside nav > button.active:active{
  background:linear-gradient(135deg,#4a84ff 0%,#2f69f3 100%) !important;
  color:#ffffff !important;
  border-color:transparent !important;
  box-shadow:0 10px 20px rgba(41,103,243,.24) !important;
}
@media(hover:hover) and (pointer:fine){
  html[data-theme="dark"] #app > aside nav > button:not(.active):hover{
    background:rgba(91,143,255,.14) !important;
    color:#ffffff !important;
    border-color:rgba(106,154,255,.28) !important;
  }
}
@media(max-width:900px){
  #app{grid-template-columns:1fr !important}
  #app > aside{width:auto !important}
  #app > aside .brand .brand-wordmark{font-size:34px !important}
  #app > aside .brand > span{font-size:12px !important}
}


/* V8.115.39 — tema claro da sidebar da Central + marca NexaOper maior */
#app > aside{
  width:238px !important;
  padding:16px 14px !important;
  border-right:1px solid #e4ebf5 !important;
}
#app > aside .brand .brand-wordmark{
  font-size:40px !important;
  line-height:.94 !important;
  letter-spacing:-.06em !important;
}
#app > aside .brand > span{
  margin-top:9px !important;
  font-size:12px !important;
}

/* Tema claro: sidebar realmente clara */
html[data-theme="light"] #app > aside{
  background:#ffffff !important;
  color:#12284f !important;
  border-right-color:#e4ebf5 !important;
  box-shadow:7px 0 26px rgba(31,61,112,.035) !important;
}
html[data-theme="light"] #app > aside .brand .brand-wordmark,
html[data-theme="light"] #app > aside .brand .brand-nexa{
  color:#12284f !important;
}
html[data-theme="light"] #app > aside .brand .brand-oper{
  color:#2967f3 !important;
}
html[data-theme="light"] #app > aside .brand > span{
  color:#7d8da5 !important;
}
html[data-theme="light"] #app > aside nav > button{
  background:transparent !important;
  color:#51627c !important;
  border-color:transparent !important;
}
html[data-theme="light"] #app > aside nav > button.active,
html[data-theme="light"] #app > aside nav > button.active:hover,
html[data-theme="light"] #app > aside nav > button.active:focus-visible,
html[data-theme="light"] #app > aside nav > button.active:active{
  background:linear-gradient(135deg,#4a84ff 0%,#2f69f3 100%) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 8px 18px rgba(41,103,243,.16) !important;
}
@media(hover:hover) and (pointer:fine){
  html[data-theme="light"] #app > aside nav > button:not(.active):hover{
    background:rgba(52,120,255,.075) !important;
    color:#264e9e !important;
    border-color:rgba(52,120,255,.12) !important;
  }
}
html[data-theme="light"] #app > aside .logout{
  background:#f7f9fc !important;
  color:#41526e !important;
  border-color:#e5ebf4 !important;
}

/* Tema escuro: mantém fundo escuro e estado ativo fixo */
html[data-theme="dark"] #app > aside{
  background:linear-gradient(180deg,#081426 0%,#07162c 100%) !important;
  color:#edf4ff !important;
  border-right-color:#223a5d !important;
  box-shadow:7px 0 26px rgba(0,0,0,.16) !important;
}
html[data-theme="dark"] #app > aside .brand .brand-wordmark,
html[data-theme="dark"] #app > aside .brand .brand-nexa{
  color:#f5f8ff !important;
}
html[data-theme="dark"] #app > aside .brand .brand-oper{color:#6d9eff !important}
html[data-theme="dark"] #app > aside .brand > span{color:#aebbd0 !important}
html[data-theme="dark"] #app > aside nav > button{
  background:#10233d !important;
  color:#edf4ff !important;
  border-color:#223a5d !important;
}
html[data-theme="dark"] #app > aside nav > button.active,
html[data-theme="dark"] #app > aside nav > button.active:hover,
html[data-theme="dark"] #app > aside nav > button.active:focus-visible,
html[data-theme="dark"] #app > aside nav > button.active:active{
  background:linear-gradient(135deg,#4a84ff 0%,#2f69f3 100%) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 10px 20px rgba(41,103,243,.24) !important;
}
@media(hover:hover) and (pointer:fine){
  html[data-theme="dark"] #app > aside nav > button:not(.active):hover{
    background:rgba(91,143,255,.14) !important;
    color:#fff !important;
    border-color:rgba(106,154,255,.28) !important;
  }
}
html[data-theme="dark"] #app > aside .logout{
  background:#10233d !important;
  color:#edf4ff !important;
  border-color:#223a5d !important;
}
@media(max-width:900px){
  #app > aside .brand .brand-wordmark{font-size:36px !important}
}


/* V8.115.41 — tamanho definitivo da marca NexaOper na Central */

@media(max-width:900px){
  
}


/* V8.115.42 — correção real do tamanho visível da marca NexaOper */
#app > aside .brand .brand-wordmark{
  font-size:28px !important;
  display:inline-flex !important;
  align-items:baseline !important;
  line-height:.96 !important;
  white-space:nowrap !important;
}
#app > aside .brand .brand-wordmark > .brand-nexa,
#app > aside .brand .brand-wordmark > .brand-oper{
  display:inline !important;
  font-size:inherit !important;
  line-height:inherit !important;
  margin:0 !important;
  padding:0 !important;
  font-weight:inherit !important;
  letter-spacing:inherit !important;
}
html[data-theme="light"] #app > aside .brand .brand-wordmark > .brand-nexa{color:#12284f !important}
html[data-theme="light"] #app > aside .brand .brand-wordmark > .brand-oper{color:#2967f3 !important}
html[data-theme="dark"] #app > aside .brand .brand-wordmark > .brand-nexa{color:#f5f8ff !important}
html[data-theme="dark"] #app > aside .brand .brand-wordmark > .brand-oper{color:#6d9eff !important}
@media(max-width:900px){
  #app > aside .brand .brand-wordmark{font-size:28px !important}
}

/* V8.115.43 — seletor de tema somente com ícones em todo o projeto */
.theme-toggle{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  flex:0 0 42px!important;
  padding:0!important;
  gap:0!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.theme-toggle svg{
  width:18px!important;
  height:18px!important;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
/* No claro, a lua indica a ação de entrar no escuro; no escuro, o sol indica voltar ao claro. */
.theme-toggle .theme-sun{display:none!important}
.theme-toggle .theme-moon{display:block!important}
html[data-theme="dark"] .theme-toggle .theme-moon{display:none!important}
html[data-theme="dark"] .theme-toggle .theme-sun{display:block!important}
.theme-toggle-floating{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  flex-basis:44px!important;
  padding:0!important;
  border-radius:50%!important;
}
@media(hover:hover) and (pointer:fine){
  .theme-toggle:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(31,61,112,.15)!important}
  html[data-theme="dark"] .theme-toggle:hover{box-shadow:0 10px 24px rgba(0,0,0,.28)!important}
}

/* V8.115.45 — responsividade definitiva da Central de Licenças
   Corrige o recorte no celular sem limitar a área útil no desktop. */
html,body{
  width:100%;
  min-width:0;
  max-width:none;
}
body{overflow-x:hidden}
img,video,canvas{max-width:100%;height:auto}

#app{
  width:100%;
  max-width:none;
  min-width:0;
  grid-template-columns:238px minmax(0,1fr) !important;
}
#app>aside{
  width:238px !important;
  min-width:238px;
  max-width:238px;
}
main{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  padding:0 clamp(18px,2.2vw,32px) !important;
  overflow:visible;
}
main>header{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 0 22px !important;
  padding:14px 0 12px !important;
  position:sticky !important;
  top:0;
}
main>section,
.card,
.dashboard-hero,
.dashboard-grid,
.settings-layout,
.release-publish-grid,
.profile-card,
.hero-copy,
.hero-highlight,
.header-actions,
.card-head>*{
  min-width:0;
  max-width:100%;
}
.dashboard-hero,
.dashboard-grid,
.card,
.kpis,
.premium-kpis,
.company-cards-grid{
  width:100%;
}
.hero-tag{
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
}
.table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto !important;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
}
.table-wrap table{min-width:680px}
.card-head input{width:min(100%,320px)}

@media(max-width:900px){
  #app{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
  }
  #app>aside{
    position:sticky !important;
    top:0 !important;
    z-index:60 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    padding:calc(10px + env(safe-area-inset-top)) 12px 10px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:"brand logout" "nav nav" !important;
    align-items:center !important;
    gap:8px 10px !important;
    overflow:visible !important;
    border-right:0 !important;
    border-bottom:1px solid var(--line) !important;
  }
  #app>aside .brand{
    grid-area:brand;
    width:auto !important;
    min-width:0 !important;
    padding:0 !important;
  }
  #app>aside .brand .brand-wordmark{font-size:28px !important}
  #app>aside .brand>span{
    margin-top:3px !important;
    font-size:10px !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  #app>aside nav{
    grid-area:nav !important;
    display:flex !important;
    gap:7px !important;
    width:100% !important;
    min-width:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:2px 0 3px !important;
    scrollbar-width:none;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
  #app>aside nav::-webkit-scrollbar{display:none}
  #app>aside nav>button{
    width:auto !important;
    max-width:none !important;
    flex:0 0 auto !important;
    min-width:max-content !important;
    min-height:42px !important;
    padding:0 13px !important;
    white-space:nowrap !important;
    border-radius:12px !important;
  }
  #app>aside .logout{
    grid-area:logout !important;
    margin:0 !important;
    min-width:64px !important;
    min-height:40px !important;
    padding:0 12px !important;
  }

  main{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    padding:0 14px !important;
  }
  main>header{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 16px !important;
    padding:12px 0 10px !important;
    position:static !important;
    gap:10px !important;
  }
  .dashboard-hero,
  .dashboard-grid,
  .profile-notes,
  .settings-layout,
  .release-publish-grid{
    grid-template-columns:1fr !important;
  }
  .kpis,.premium-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .modal{padding:12px !important;align-items:center !important}
  .modal-card{
    width:min(100%,680px) !important;
    max-height:calc(100dvh - 24px) !important;
  }
  #toast{
    left:12px !important;
    right:12px !important;
    top:calc(12px + env(safe-area-inset-top)) !important;
  }
  #toast .toast{width:100% !important;max-width:none !important}
}

@media(max-width:640px){
  #app>aside{
    padding-left:10px !important;
    padding-right:10px !important;
  }
  #app>aside nav{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    overflow:visible !important;
    gap:7px !important;
  }
  #app>aside nav>button{
    width:100% !important;
    min-width:0 !important;
    justify-content:center !important;
    text-align:center !important;
    padding:0 8px !important;
  }

  main{padding:0 10px !important}
  main>header{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:stretch !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 0 16px !important;
    padding:12px 0 10px !important;
  }
  main>header>div:first-child{min-width:0}
  main>header h2{
    margin:0 !important;
    font-size:20px !important;
    line-height:1.2 !important;
  }
  main>header p{
    margin:4px 0 0 !important;
    overflow-wrap:anywhere;
  }
  .header-actions{
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) !important;
    align-items:center !important;
    justify-content:stretch !important;
    width:100% !important;
    max-width:100% !important;
    gap:8px !important;
    margin:0 !important;
  }
  .header-actions .theme-toggle{
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    margin:0 !important;
  }
  .header-actions .primary{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:42px !important;
    padding:0 12px !important;
    font-size:11px !important;
    white-space:nowrap !important;
    margin:0 !important;
  }

  .dashboard-hero{
    width:100% !important;
    padding:16px !important;
    border-radius:18px !important;
    overflow:hidden;
  }
  .dashboard-hero h2{
    font-size:22px !important;
    overflow-wrap:anywhere;
  }
  .hero-highlight{padding:14px !important}
  .card{
    width:100% !important;
    padding:13px !important;
    border-radius:15px !important;
  }
  .card-head,
  .settings-hero,
  .security-alert-heading,
  .security-alert-item,
  .last-write-row{
    align-items:stretch !important;
    flex-direction:column !important;
  }
  .card-head input{
    width:100% !important;
    max-width:none !important;
  }
  .profile-actions,
  .profile-actions-top,
  .release-actions,
  .security-alert-actions,
  .login-attempts-toolbar{
    width:100% !important;
  }
  .profile-actions button,
  .profile-actions-top button,
  .release-actions button,
  .security-alert-actions button,
  .login-attempts-toolbar button{
    flex:1 1 140px !important;
  }
  .system-status-grid,
  .saved-data-grid,
  .storage-main-grid,
  .storage-breakdown-grid,
  .tech-detail-grid,
  .login-attempts-summary,
  .login-attempt-grid,
  .profile-grid,
  .status-summary-grid,
  .company-cards-grid,
  .company-feature-grid,
  .device-policy-summary,
  .device-details,
  .settings-form-grid{
    grid-template-columns:1fr !important;
  }
  .tech-detail-grid .wide{grid-column:auto !important}
  .table-wrap{
    margin-left:0 !important;
    margin-right:0 !important;
    border-radius:12px !important;
  }
  .modal{padding:8px !important}
  .modal-card{
    width:100% !important;
    max-height:calc(100dvh - 16px) !important;
    border-radius:16px !important;
    padding:14px !important;
  }
  .modal-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .modal-actions button{
    width:100% !important;
    min-width:0 !important;
  }
}

@media(max-width:420px){
  #app>aside .brand .brand-wordmark{font-size:28px !important}
  #app>aside .logout{min-width:58px !important;font-size:11px !important}
  .kpis,.premium-kpis{grid-template-columns:1fr !important}
  .modal-actions{grid-template-columns:1fr !important}
}

@media(max-width:340px){
  #app>aside nav{grid-template-columns:1fr !important}
  .header-actions{grid-template-columns:40px minmax(0,1fr) !important}
  .header-actions .theme-toggle{
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:40px !important;
  }
}

/* V8.115.107 — checkbox próprio com altura travada e sem deformação */
input[type="checkbox"]{
  -webkit-appearance:none !important;
  appearance:none !important;
  box-sizing:border-box !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  min-height:18px !important;
  max-height:18px !important;
  flex:0 0 18px !important;
  display:inline-block !important;
  align-self:center !important;
  margin:0 !important;
  padding:0 !important;
  border:1.5px solid #93a4bb !important;
  border-radius:5px !important;
  background-color:#fff !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-size:12px 12px !important;
  box-shadow:none !important;
  outline:none !important;
  cursor:pointer;
  vertical-align:middle !important;
  -webkit-tap-highlight-color:transparent;
}
input[type="checkbox"]:checked{
  border-color:var(--pri) !important;
  background-color:var(--pri) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.2 6.5 11.3 12.8 4.9' fill='none' stroke='white' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
input[type="checkbox"]:indeterminate{
  border-color:var(--pri) !important;
  background-color:var(--pri) !important;
  background-image:linear-gradient(#fff,#fff) !important;
  background-size:9px 2px !important;
}
input[type="checkbox"]:focus{outline:none !important;box-shadow:none !important}
input[type="checkbox"]:focus-visible{outline:none !important;box-shadow:0 0 0 2px rgba(47,107,255,.14) !important}
html[data-theme="dark"] input[type="checkbox"]{border-color:#526783 !important;background-color:#0d1a2c !important}
html[data-theme="dark"] input[type="checkbox"]:checked,
html[data-theme="dark"] input[type="checkbox"]:indeterminate{border-color:#4f83ff !important;background-color:#3478ff !important}

/* V8.115.107 — barra de menu compacta da Central no celular */
.mobile-menu-toggle{display:none}
@media(max-width:900px){
  #app>aside{
    grid-template-columns:minmax(0,1fr) 44px !important;
    grid-template-areas:"brand toggle" "nav nav" "logout logout" !important;
    gap:8px 10px !important;
  }
  #app>aside .brand{grid-area:brand !important}
  #app>aside .mobile-menu-toggle{
    grid-area:toggle !important;
    display:inline-flex !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    padding:0 !important;
    margin:0 !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:4px !important;
    border:1px solid var(--line) !important;
    border-radius:13px !important;
    background:var(--card) !important;
    color:var(--text) !important;
    box-shadow:none !important;
  }
  #app>aside .mobile-menu-toggle span{
    display:block;
    width:18px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    transition:transform .18s ease,opacity .18s ease;
  }
  #app>aside.mobile-menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  #app>aside.mobile-menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}
  #app>aside.mobile-menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  
  #app>aside.mobile-menu-open nav{
    grid-area:nav !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    width:100% !important;
    padding:8px 0 0 !important;
    overflow:visible !important;
  }
  #app>aside.mobile-menu-open nav>button{
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    justify-content:flex-start !important;
    text-align:left !important;
    padding:0 14px !important;
    border-radius:12px !important;
  }
  #app>aside.mobile-menu-open .logout{
    grid-area:logout !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    margin:0 !important;
  }
}
html[data-theme="dark"] #app>aside .mobile-menu-toggle{
  background:#101f33 !important;
  border-color:var(--line) !important;
  color:#e8f0fc !important;
}


/* V8.115.107 — Central usa --pri; checkbox marcado deve ficar azul e exibir o ✓ branco */
input[type="checkbox"]:checked{
  border-color:var(--pri,#286cff) !important;
  background-color:var(--pri,#286cff) !important;
}
input[type="checkbox"]:indeterminate{
  border-color:var(--pri,#286cff) !important;
  background-color:var(--pri,#286cff) !important;
}

/* V8.115.107 — tema ao lado do menu hambúrguer na Central mobile */
.mobile-aside-theme-toggle{display:none}
@media(max-width:900px){
  #app>aside{
    grid-template-columns:minmax(0,1fr) 44px 44px !important;
    grid-template-areas:"brand theme toggle" "nav nav nav" "logout logout logout" !important;
    align-items:center !important;
  }
  #app>aside .mobile-aside-theme-toggle{
    grid-area:theme !important;
    display:inline-flex !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    max-width:44px !important;
    max-height:44px !important;
    padding:0 !important;
    margin:0 !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid var(--line) !important;
    border-radius:13px !important;
    background:var(--card) !important;
    color:var(--text) !important;
    box-shadow:none !important;
  }
  #app>aside .mobile-aside-theme-toggle svg{
    width:18px !important;
    height:18px !important;
  }
  #app>aside .mobile-menu-toggle{grid-area:toggle !important}
  
  
  main>header .header-actions .primary{
    grid-column:1 !important;
    width:100% !important;
  }
}
html[data-theme="dark"] #app>aside .mobile-aside-theme-toggle{
  background:#101f33 !important;
  border-color:var(--line) !important;
  color:#e8f0fc !important;
}
@media(max-width:340px){
  #app>aside{
    grid-template-columns:minmax(0,1fr) 40px 40px !important;
  }
  #app>aside .mobile-aside-theme-toggle,
  #app>aside .mobile-menu-toggle{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    max-width:40px !important;
    max-height:40px !important;
  }
}

/* V8.115.107 — impedir duplicidade do ícone de tema na Central */
@media(min-width:901px){
  #app>aside .mobile-aside-theme-toggle,
  #app>aside .mobile-menu-toggle{
    display:none !important;
  }
  main>header .header-actions>.theme-toggle{
    display:inline-flex !important;
  }
}
@media(max-width:900px){
  #app>aside .mobile-aside-theme-toggle,
  #app>aside .mobile-menu-toggle{
    display:inline-flex !important;
  }
  main>header .header-actions>.theme-toggle{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
    width:0 !important;
    min-width:0 !important;
    max-width:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    overflow:hidden !important;
  }
  main>header .header-actions{
    grid-template-columns:minmax(0,1fr) !important;
  }
}

/* V8.115.107 — central com laterais estáveis e card de acesso alinhado */
body{
  overflow-x:hidden;
}
#app{
  width:100% !important;
  min-width:0 !important;
  align-items:start !important;
}
#app>aside{
  width:210px !important;
  min-width:210px !important;
  max-width:210px !important;
  overflow:hidden !important;
  border-right:1px solid rgba(112,138,180,.18) !important;
}
main{
  overflow-x:hidden !important;
}
main>section,
.card,
.settings-card,
.settings-hero,
.system-status-grid,
.settings-layout{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.settings-layout{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) !important;
  align-items:start !important;
}
.settings-card{
  overflow:hidden !important;
}
.settings-card .titlebar{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:16px !important;
}
.settings-card .titlebar > div{
  display:grid !important;
  gap:4px !important;
  min-width:0 !important;
}
.settings-card .titlebar b{
  display:block !important;
  font-size:16px !important;
  line-height:1.2 !important;
}
.settings-card .titlebar small{
  display:block !important;
  margin:0 !important;
  line-height:1.35 !important;
  color:var(--muted) !important;
}
.settings-form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:start !important;
}
.settings-form-grid > label{
  margin:0 !important;
  min-width:0 !important;
}
.settings-password-guide{
  grid-column:1 / -1 !important;
  margin:0 !important;
}
.settings-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  justify-content:flex-end !important;
  align-items:center !important;
}
.twofa-settings{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:14px !important;
  margin-top:16px !important;
  padding-top:16px !important;
  border-top:1px solid var(--line) !important;
}
.twofa-settings > div:first-child{
  display:grid !important;
  gap:4px !important;
  min-width:0 !important;
}
.twofa-settings b,
.twofa-settings small,
.twofa-settings span{
  display:block !important;
  margin:0 !important;
}
.twofa-settings .settings-actions{
  margin-top:0 !important;
}
@media(max-width:1200px){
  .settings-layout{
    grid-template-columns:1fr !important;
  }
}

/* V8.115.107 — correção definitiva do corte de layout da Central no PC e celular */
html,body{
  max-width:100%;
  overflow-x:hidden;
}
#app{
  display:grid !important;
  grid-template-columns:210px minmax(0,1fr) !important;
  width:100% !important;
  max-width:100vw !important;
  min-width:0 !important;
  align-items:start !important;
}
#app>aside{
  width:210px !important;
  min-width:210px !important;
  max-width:210px !important;
  box-sizing:border-box !important;
}
main,
main>header,
main>section,
.dashboard-hero,
.dashboard-grid,
.settings-hero,
.system-status-grid,
.settings-layout,
.card,
.table-wrap{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.dashboard-hero{
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr) !important;
  overflow:hidden !important;
}

.settings-card .titlebar > div small{
  margin-top:2px !important;
}
.settings-form-grid label{
  gap:7px !important;
}
@media(max-width:1200px){
  .dashboard-hero{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:900px){
  #app{
    display:block !important;
    grid-template-columns:1fr !important;
    max-width:100% !important;
  }
  #app>aside{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 44px 44px !important;
    grid-template-areas:"brand theme toggle" "nav nav nav" "logout logout logout" !important;
    align-items:center !important;
  }
  #app>aside .brand{
    width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    padding-right:6px !important;
  }
  #app>aside .brand .brand-wordmark{
    display:block !important;
    font-size:28px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  #app>aside .brand>span{
    display:block !important;
    max-width:100% !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  main{
    width:100% !important;
    max-width:100% !important;
    padding:0 14px !important;
  }
  main>header,
  main>section,
  .dashboard-hero,
  .card,
  .system-status-grid,
  .settings-layout{
    width:100% !important;
    max-width:100% !important;
  }
}
@media(max-width:420px){
  #app>aside{
    grid-template-columns:minmax(0,1fr) 42px 42px !important;
  }
  #app>aside .brand .brand-wordmark{
    font-size:25px !important;
  }
}

/* V8.115.107 — garantir marca final da Central em 28px sem perder o ajuste do layout */


/* V8.115.107 — normalização final do design system da Central de Licenças */
html,body{
  width:100%;
  max-width:100%;
  min-height:100%;
  overflow-x:hidden !important;
}
body{
  background:var(--bg) !important;
}
#app{
  display:grid !important;
  grid-template-columns:210px minmax(0,1fr) !important;
  width:100% !important;
  max-width:100vw !important;
  min-height:100vh !important;
  min-width:0 !important;
  align-items:start !important;
}
#app>aside{
  position:sticky !important;
  top:0 !important;
  width:210px !important;
  min-width:210px !important;
  max-width:210px !important;
  height:100vh !important;
  padding:18px 12px !important;
  overflow:hidden !important;
  border-right:1px solid var(--line) !important;
  box-shadow:none !important;
}
#app>aside .brand{
  width:100% !important;
  min-width:0 !important;
  padding:8px 10px 22px !important;
  overflow:hidden !important;
}
#app>aside .brand .brand-wordmark{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  font-size:28px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#app>aside .brand>span{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin-top:6px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#app>aside nav{
  width:100% !important;
  min-width:0 !important;
  display:grid !important;
  gap:8px !important;
}
#app>aside nav button,
#app>aside .logout{
  width:100% !important;
  min-width:0 !important;
  min-height:46px !important;
  padding:0 14px !important;
  border-radius:13px !important;
  box-sizing:border-box !important;
}
#app>aside nav button{
  text-align:left !important;
}
main{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  padding:0 clamp(18px,2vw,30px) 24px !important;
  overflow:visible !important;
}
main>header{
  position:sticky !important;
  top:0 !important;
  z-index:40 !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  min-height:82px !important;
  margin:0 0 22px !important;
  padding:14px 0 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  border-bottom:1px solid var(--line) !important;
  backdrop-filter:blur(12px);
}
main>header>div:first-child{
  min-width:0 !important;
}
main>header h2{
  margin:0 !important;
  font-size:22px !important;
  line-height:1.15 !important;
}
main>header p{
  margin:4px 0 0 !important;
}
.header-actions{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:9px !important;
  min-width:0 !important;
}
.header-actions .primary{
  min-height:42px !important;
  padding:0 16px !important;
  white-space:nowrap !important;
}
main>section,
.card,
.dashboard-hero,
.dashboard-grid,
.kpis,
.premium-kpis,
.company-cards-grid,
.settings-hero,
.system-status-grid,
.settings-layout,
.release-publish-grid,
.storage-main-grid,
.storage-breakdown-grid,
.saved-data-grid{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.card,
.kpi-card,
.system-status-card,
.settings-card{
  border:1px solid var(--line) !important;
  border-radius:18px !important;
  box-shadow:none !important;
}
.card{
  padding:18px !important;
}
button,
input,
select,
textarea{
  box-sizing:border-box !important;
}
button{
  min-height:40px;
}
input,
select,
textarea{
  min-width:0 !important;
  max-width:100% !important;
}

/* Dashboard */
.dashboard-hero{
  display:grid !important;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr) !important;
  gap:20px !important;
  padding:24px !important;
  margin-bottom:18px !important;
  overflow:hidden !important;
}
.hero-copy,
.hero-highlight{
  min-width:0 !important;
}
.hero-copy h2{
  margin:10px 0 8px !important;
  font-size:28px !important;
  line-height:1.12 !important;
  overflow-wrap:anywhere;
}
.hero-copy p{
  margin:0 !important;
  line-height:1.55 !important;
}
.hero-highlight{
  min-height:150px !important;
  padding:20px !important;
}
.premium-kpis{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-bottom:18px !important;
}
.kpi-card{
  min-height:126px !important;
  padding:16px !important;
  align-content:start !important;
}
.dashboard-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr) !important;
  gap:16px !important;
  margin-bottom:16px !important;
}
.dashboard-panel{
  min-width:0 !important;
  margin-bottom:16px !important;
}
.dashboard-panel .titlebar{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:4px !important;
  margin-bottom:14px !important;
}
.dashboard-panel .titlebar>b{
  font-size:15px !important;
  line-height:1.25 !important;
}
.dashboard-panel .titlebar>small{
  display:block !important;
  margin:0 !important;
  line-height:1.4 !important;
}
.company-cards-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
}

/* Cabeçalhos e cartões internos */
.titlebar,
.card-head{
  width:100% !important;
  min-width:0 !important;
}
.titlebar{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:14px !important;
}
.titlebar>div{
  min-width:0 !important;
  display:grid !important;
  gap:4px !important;
}
.titlebar b{
  line-height:1.25 !important;
}
.titlebar small{
  display:block !important;
  margin:0 !important;
  line-height:1.4 !important;
}
.card-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  flex-wrap:wrap !important;
}
.card-head>*{
  min-width:0 !important;
}
.table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  border-radius:13px !important;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}
.table-wrap table{
  width:100% !important;
  min-width:680px !important;
}
th,td{
  vertical-align:middle !important;
}
.actions{
  align-items:center !important;
}

/* Configurações da Central */
#page-settings{
  padding-bottom:8px !important;
}
.settings-hero{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:20px !important;
  margin-bottom:16px !important;
}
.settings-hero>div{
  min-width:0 !important;
}
.settings-hero h3{
  margin:8px 0 5px !important;
  font-size:22px !important;
  line-height:1.2 !important;
}
.settings-hero p{
  margin:0 !important;
  line-height:1.5 !important;
}
.system-status-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-bottom:16px !important;
}
.system-status-card{
  min-height:90px !important;
  padding:14px !important;
  align-items:center !important;
}
.system-status-card>div{
  min-width:0 !important;
}
.settings-layout{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:stretch !important;
  gap:16px !important;
  margin-bottom:16px !important;
}
.settings-card{
  height:100% !important;
  min-width:0 !important;
  padding:20px !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
.settings-card .titlebar{
  flex:0 0 auto !important;
  margin-bottom:16px !important;
}
.settings-card .titlebar>div{
  display:grid !important;
  gap:4px !important;
}
.settings-card .titlebar b{
  display:block !important;
  font-size:16px !important;
  line-height:1.25 !important;
}
.settings-card .titlebar small{
  display:block !important;
  margin:0 !important;
  line-height:1.4 !important;
}
.settings-form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:start !important;
  gap:14px !important;
  width:100% !important;
  min-width:0 !important;
}
.settings-form-grid>label{
  min-width:0 !important;
  margin:0 !important;
  display:grid !important;
  gap:7px !important;
}
.settings-form-grid>label input{
  min-height:44px !important;
}
.credential-guide:empty,
.credential-guide.compact:empty,
#masterUsernameRules:empty{
  display:none !important;
}
.settings-password-guide{
  grid-column:1/-1 !important;
  margin:0 !important;
}
.settings-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:9px !important;
  flex-wrap:wrap !important;
  width:100% !important;
  margin-top:14px !important;
}
.settings-actions button{
  min-height:42px !important;
}
.security-note{
  width:100% !important;
  margin-top:14px !important;
  padding:11px 12px !important;
  border-radius:12px !important;
  line-height:1.45 !important;
}
.twofa-settings{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:16px !important;
  width:100% !important;
  margin-top:16px !important;
  padding-top:16px !important;
  border-top:1px solid var(--line) !important;
}
.twofa-settings>div:first-child{
  min-width:0 !important;
  display:grid !important;
  gap:4px !important;
}
.twofa-settings small,
.twofa-settings b,
.twofa-settings span{
  display:block !important;
  margin:0 !important;
  line-height:1.35 !important;
}
.twofa-settings .settings-actions{
  width:auto !important;
  margin:0 !important;
  flex-wrap:nowrap !important;
}
.tech-detail-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  width:100% !important;
  min-width:0 !important;
}
.tech-detail-grid>div{
  min-width:0 !important;
  min-height:60px !important;
  padding:12px !important;
  border-radius:12px !important;
}
.tech-detail-grid .wide{
  grid-column:1/-1 !important;
}
.tech-detail-grid b,
.path-value,
.backup-highlight b,
.backup-highlight span{
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}
.path-value{
  line-height:1.45 !important;
}
.backup-highlight{
  width:100% !important;
  min-width:0 !important;
  padding:14px !important;
  margin-bottom:12px !important;
  border-radius:14px !important;
  overflow:hidden !important;
}
.storage-monitor-card,
.release-manager{
  margin-bottom:16px !important;
}
.storage-main-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
}
.storage-breakdown-grid,
.saved-data-grid{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:10px !important;
}
.storage-main-grid>div,
.storage-breakdown-grid>div,
.saved-data-grid>div{
  min-width:0 !important;
  border-radius:13px !important;
}
.release-publish-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(300px,.7fr) !important;
  gap:14px !important;
}
.release-actions{
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
}

/* Modal e login */
.login-card{
  width:min(420px,100%) !important;
  max-width:100% !important;
}
.modal{
  padding:14px !important;
}
.modal-card{
  width:min(680px,100%) !important;
  max-width:100% !important;
  max-height:calc(100dvh - 28px) !important;
  border-radius:18px !important;
  overflow:auto !important;
}
.modal-head,
.modal-actions{
  width:100% !important;
}
.modal-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  flex-wrap:wrap !important;
}

/* Tema escuro: manter todos os painéis no mesmo padrão */
html[data-theme="dark"] main>header{
  background:rgba(8,17,31,.92) !important;
  border-color:var(--line) !important;
}
html[data-theme="dark"] .settings-card,
html[data-theme="dark"] .system-status-card,
html[data-theme="dark"] .card,
html[data-theme="dark"] .kpi-card,
html[data-theme="dark"] .tech-detail-grid>div,
html[data-theme="dark"] .storage-main-grid>div,
html[data-theme="dark"] .storage-breakdown-grid>div,
html[data-theme="dark"] .saved-data-grid>div{
  background:var(--card) !important;
  border-color:var(--line) !important;
  color:var(--text) !important;
}
html[data-theme="dark"] .security-note{
  background:#2d2617 !important;
  border-color:#5d4824 !important;
  color:#e9cc8d !important;
}
html[data-theme="dark"] .backup-highlight{
  background:#101f33 !important;
  border-color:var(--line) !important;
  color:var(--text) !important;
}

/* Breakpoints globais da Central */
@media(max-width:1500px){
  .premium-kpis{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .company-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .saved-data-grid,.storage-breakdown-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media(max-width:1200px){
  .dashboard-hero,
  .dashboard-grid,
  .settings-layout,
  .release-publish-grid{
    grid-template-columns:1fr !important;
  }
  .system-status-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .company-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .storage-main-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:900px){
  #app{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-height:100vh !important;
  }
  #app>aside{
    position:sticky !important;
    top:0 !important;
    z-index:80 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    padding:calc(10px + env(safe-area-inset-top)) 12px 10px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 44px 44px !important;
    grid-template-areas:"brand theme toggle" "nav nav nav" "logout logout logout" !important;
    align-items:center !important;
    gap:8px 10px !important;
    overflow:visible !important;
    border-right:0 !important;
    border-bottom:1px solid var(--line) !important;
  }
  #app>aside .brand{
    grid-area:brand !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 6px 0 0 !important;
  }
  #app>aside .brand .brand-wordmark{
    font-size:28px !important;
    line-height:1 !important;
  }
  #app>aside .brand>span{
    margin-top:4px !important;
    font-size:10px !important;
  }
  #app>aside nav,
  #app>aside .logout{
    display:none !important;
  }
  #app>aside.mobile-menu-open nav{
    grid-area:nav !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    width:100% !important;
    padding-top:8px !important;
  }
  #app>aside.mobile-menu-open nav button{
    width:100% !important;
    text-align:left !important;
  }
  #app>aside.mobile-menu-open .logout{
    grid-area:logout !important;
    display:block !important;
    width:100% !important;
  }
  main{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:0 12px 20px !important;
  }
  main>header{
    position:static !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:0 0 16px !important;
    padding:14px 0 12px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:stretch !important;
    gap:12px !important;
    backdrop-filter:none !important;
  }
  .header-actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  main>header .header-actions>.theme-toggle{
    display:none !important;
  }
  .header-actions .primary{
    width:100% !important;
    max-width:none !important;
    min-height:44px !important;
  }
  .dashboard-hero{
    grid-template-columns:1fr !important;
    gap:14px !important;
    padding:18px !important;
    border-radius:20px !important;
  }
  .hero-copy h2{font-size:24px !important}
  .hero-highlight{min-height:0 !important;padding:16px !important}
  .premium-kpis{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .company-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .settings-hero{
    align-items:stretch !important;
    flex-direction:column !important;
  }
  .settings-hero button{width:100% !important}
  .settings-layout{grid-template-columns:1fr !important}
  .settings-form-grid{grid-template-columns:1fr !important}
  .settings-password-guide{grid-column:auto !important}
  .twofa-settings{
    grid-template-columns:1fr !important;
    align-items:stretch !important;
  }
  .twofa-settings .settings-actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
  }
  .twofa-settings .settings-actions button{width:100% !important}
  .tech-detail-grid{grid-template-columns:1fr !important}
  .tech-detail-grid .wide{grid-column:auto !important}
  .storage-main-grid,
  .storage-breakdown-grid,
  .saved-data-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .card{padding:15px !important;border-radius:16px !important}
  .settings-card{padding:16px !important}
  .modal{padding:8px !important}
  .modal-card{max-height:calc(100dvh - 16px) !important;padding:14px !important}
}
@media(max-width:560px){
  #app>aside{
    grid-template-columns:minmax(0,1fr) 42px 42px !important;
    gap:7px !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }
  #app>aside .mobile-aside-theme-toggle,
  #app>aside .mobile-menu-toggle{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    max-width:42px !important;
    max-height:42px !important;
  }
  #app>aside .brand .brand-wordmark{font-size:26px !important}
  main{padding:0 10px 18px !important}
  main>header h2{font-size:20px !important}
  .premium-kpis,
  .company-cards-grid,
  .system-status-grid,
  .storage-main-grid,
  .storage-breakdown-grid,
  .saved-data-grid,
  .status-summary-grid{
    grid-template-columns:1fr !important;
  }
  .dashboard-hero{padding:16px !important}
  .hero-copy h2{font-size:22px !important}
  .card,.settings-card{padding:14px !important}
  .settings-card .titlebar{
    align-items:stretch !important;
    flex-direction:column !important;
  }
  .settings-card .titlebar button{width:100% !important}
  .settings-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .settings-actions button{width:100% !important}
  .twofa-settings .settings-actions{grid-template-columns:1fr !important}
  .modal-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .modal-actions button{width:100% !important}
}
@media(max-width:360px){
  #app>aside{
    grid-template-columns:minmax(0,1fr) 40px 40px !important;
  }
  #app>aside .mobile-aside-theme-toggle,
  #app>aside .mobile-menu-toggle{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    max-width:40px !important;
    max-height:40px !important;
  }
  #app>aside .brand .brand-wordmark{font-size:24px !important}
}

/* V8.115.107 — tamanho final da marca preservado */
#app > aside .brand .brand-wordmark{
  font-size:28px !important;
}


/* V8.115.119 — dashboard da Central mais equilibrado e sem aparência quebrada */
.dashboard-grid{
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr) !important;
  align-items:stretch !important;
  gap:18px !important;
}
.dashboard-grid > .dashboard-panel{
  height:100% !important;
  min-height:290px !important;
  display:flex !important;
  flex-direction:column !important;
}
.dashboard-grid > .dashboard-panel:first-child{
  justify-content:flex-start !important;
}
.priority-list{
  flex:1 1 auto !important;
  display:grid !important;
  align-content:start !important;
  gap:12px !important;
  min-height:0 !important;
}
.priority-list .empty-state{
  flex:1 1 auto !important;
  min-height:188px !important;
  display:grid !important;
  place-items:center !important;
  align-content:center !important;
  text-align:center !important;
  padding:28px 24px !important;
  border:1px dashed #d8e3f4 !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#fbfcff 0%,#f5f8fe 100%) !important;
  color:#6f7e96 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}
.status-summary-grid{
  gap:14px !important;
}
.status-summary-grid > div{
  min-height:118px !important;
  align-content:start !important;
}
.mini-legend{
  margin-top:18px !important;
  padding-top:14px !important;
  border-top:1px solid var(--line) !important;
}
@media(max-width:1120px){
  .dashboard-grid{
    grid-template-columns:minmax(0,1fr) minmax(290px,.88fr) !important;
  }
}
@media(max-width:900px){
  .dashboard-grid{
    grid-template-columns:1fr !important;
  }
  .dashboard-grid > .dashboard-panel{
    min-height:auto !important;
  }
  .priority-list .empty-state{
    min-height:150px !important;
  }
}
html[data-theme="dark"] .priority-list .empty-state{
  background:linear-gradient(180deg,#122033 0%,#0f1a2b 100%) !important;
  border-color:#2b4061 !important;
  color:#9fb0c8 !important;
}


/* V8.115.120 — painel superior da Central alinhado com Distribuição por status */
.dashboard-grid{
  align-items:stretch !important;
}
.dashboard-grid > .dashboard-panel{
  display:grid !important;
  min-height:320px !important;
  height:100% !important;
}
.dashboard-grid > .dashboard-panel:first-child{
  grid-template-rows:auto minmax(0,1fr) !important;
}
.dashboard-grid > .dashboard-panel:last-child{
  grid-template-rows:auto auto minmax(0,1fr) !important;
}
.dashboard-grid > .dashboard-panel .titlebar{
  margin-bottom:16px !important;
}
.priority-list{
  height:100% !important;
  min-height:0 !important;
}
.priority-list .empty-state{
  height:100% !important;
  min-height:228px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
.status-summary-grid{
  align-self:start !important;
}
.mini-legend{
  margin-top:auto !important;
}
@media(max-width:900px){
  .dashboard-grid > .dashboard-panel{
    min-height:auto !important;
    height:auto !important;
  }
  .priority-list .empty-state{
    min-height:154px !important;
    height:auto !important;
  }
  .mini-legend{
    margin-top:18px !important;
  }
}


/* V8.115.123 — planos comerciais e cobrança por técnico adicional */
.commercial-plans-card{padding:18px!important;margin-bottom:16px!important}
.commercial-plans-card .titlebar{align-items:center!important}
.commercial-plans-card .titlebar>div{display:grid;gap:4px;min-width:0}
.commercial-plans-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.commercial-plan-editor{min-width:0;padding:14px;border:1px solid var(--line);border-radius:16px;background:#f8fafc;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.commercial-plan-editor-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px}
.commercial-plan-editor-head input{font-size:15px!important;font-weight:850!important;min-width:0}
.commercial-plan-editor-head span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#eef3fb;padding:5px 7px;border-radius:999px}
.commercial-plan-editor label{display:grid;gap:5px;font-size:10px;color:var(--muted);min-width:0}
.commercial-plan-editor label.full{grid-column:1/-1}
.commercial-plan-editor input{width:100%;min-width:0}
.commercial-plan-note{margin-top:12px;padding:12px 14px;border:1px solid #d7e5ff;background:#f5f9ff;border-radius:14px;display:grid;gap:4px}
.commercial-plan-note b{font-size:12px;color:#2458d3}.commercial-plan-note span{font-size:11px;line-height:1.45;color:var(--muted)}
.billing-preview{padding:12px 14px;border:1px solid #d7e5ff;background:#f5f9ff;border-radius:13px;display:grid;gap:4px}
.billing-preview b{font-size:17px;color:#1859d1}.billing-preview span{font-size:10.5px;color:var(--muted)}
.commercial-company-section select{width:100%;min-height:43px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);padding:0 10px}
html[data-theme="dark"] .commercial-plan-editor{background:#0f1d30;border-color:var(--line)}
html[data-theme="dark"] .commercial-plan-editor-head span{background:#172a45;color:#9fb1cc}
html[data-theme="dark"] .commercial-plan-note,html[data-theme="dark"] .billing-preview{background:#10213a;border-color:#284c7f}
html[data-theme="dark"] .commercial-company-section select{background:#0c1727;border-color:var(--line);color:var(--text)}
@media(max-width:1250px){.commercial-plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.commercial-plans-grid{grid-template-columns:1fr}.commercial-plans-card .titlebar{align-items:stretch!important}.commercial-plans-card .titlebar button{width:100%}}

/* V8.115.123 — configuração de Pix */
.payment-settings-card{margin-bottom:16px!important}.payment-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.payment-settings-grid label{display:grid;gap:6px}.payment-settings-grid .payment-wide{grid-column:1/-1}.payment-settings-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:14px}.payment-settings-card .version-tag.ok{background:#e9f8ef;color:#167046}@media(max-width:720px){.payment-settings-grid{grid-template-columns:1fr}.payment-settings-grid .payment-wide{grid-column:auto}.payment-settings-actions button{width:100%}}

/* V8.115.123 — preços comerciais globais */
.commercial-global-note{
  padding:12px 14px;
  border:1px solid #d7e4fb;
  border-radius:13px;
  background:#f6f9ff;
  color:#5e6f89;
  font-size:11.5px;
  line-height:1.5;
}
.commercial-global-note b{color:#244d9d}
html[data-theme="dark"] .commercial-global-note{
  background:#111f34;
  border-color:#294467;
  color:#9fb1ca;
}
html[data-theme="dark"] .commercial-global-note b{color:#83a9ff}

/* V8.115.123 — valores personalizados por empresa */
.company-custom-pricing{padding:13px;border:1px solid #cfdcf3;border-radius:14px;background:#fbfdff}
.company-custom-pricing.hidden{display:none!important}
.company-custom-pricing>.grid{margin:0!important}
.company-custom-pricing input{width:100%;min-width:0}
html[data-theme="dark"] .company-custom-pricing{background:#0f1c2f;border-color:#294467}


/* V8.115.123 — dois gateways Pix: Asaas + Mercado Pago */
.payment-main-settings{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr);gap:12px;align-items:end;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.payment-main-settings>label{display:grid;gap:6px}.payment-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.payment-provider-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;gap:14px}.payment-provider-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.payment-provider-head>div{display:grid;gap:4px;min-width:0}.payment-provider-head small{color:var(--muted);font-size:11px;line-height:1.45}.payment-provider-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.payment-provider-help{padding:11px 12px;border-radius:12px;background:#f5f8ff;border:1px solid #dbe6fb;color:var(--muted);font-size:10.5px;line-height:1.5}.payment-provider-card .version-tag.ok{background:#e9f8ef;color:#167046}html[data-theme="dark"] .payment-main-settings,html[data-theme="dark"] .payment-provider-card{background:#101f33;border-color:var(--line)}html[data-theme="dark"] .payment-provider-help{background:#10213a;border-color:#284c7f}@media(max-width:980px){.payment-provider-grid{grid-template-columns:1fr}}@media(max-width:720px){.payment-main-settings{grid-template-columns:1fr}.payment-provider-actions button{width:100%}}
