/* NexaOper 8.115.249 — bundle CSS gerado. Fontes efetivas: 42 de 57. */

/* === source: style.css === */
: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%}}


/* V8.115.157 — ícone + unificado e geometricamente centralizado em todos os botões */
button.btn-plus,.btn.btn-plus{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
}
.btn-plus-icon{
  position:relative !important;
  display:inline-block !important;
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  flex:0 0 14px !important;
  line-height:0 !important;
  align-self:center !important;
  transform:none !important;
}
.btn-plus-icon::before,.btn-plus-icon::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  background:currentColor !important;
  border-radius:999px !important;
  transform:translate(-50%,-50%) !important;
  pointer-events:none !important;
}
.btn-plus-icon::before{width:12px !important;height:2px !important}
.btn-plus-icon::after{width:2px !important;height:12px !important}
.btn-plus>span:not(.btn-plus-icon){
  display:inline-flex !important;
  align-items:center !important;
  line-height:1.15 !important;
}

/* V8.115.157 — técnicos/instaladores adicionais por empresa */
.company-extra-tech-field{padding:12px 14px;border:1px solid #dbe5f2;border-radius:13px;background:#f8fbff;display:grid!important;gap:7px!important}
.company-extra-tech-field>span{font-size:11px;font-weight:850;color:var(--text)}
.company-extra-tech-field input{max-width:220px;min-height:43px;font-weight:800}
.company-extra-tech-field small{font-size:10.5px;line-height:1.45;color:var(--muted);font-weight:600}
html[data-theme="dark"] .company-extra-tech-field{background:#101f33;border-color:#29405e}
@media(max-width:680px){.company-extra-tech-field input{max-width:none}}

/* === source: enterprise-pattern.css === */
/* NexaOper V8.115.107
   Central de Licenças — camada final de layout baseada no padrão visual do Painel da empresa.
   Este arquivo é carregado depois do style.css legado para eliminar conflitos históricos de layout. */

:root{
  --bg:#f4f7fd;
  --card:#fff;
  --text:#102848;
  --muted:#74829a;
  --line:#e4ebf5;
  --pri:#286cff;
  --ok:#18a06a;
  --warn:#a96b00;
  --bad:#c83c46;
  --central-shadow:0 10px 28px rgba(31,61,112,.055);
  --central-radius:20px;
}

html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#08111f;
  --card:#0f1b2d;
  --text:#e9f1ff;
  --muted:#9aaac0;
  --line:#25344b;
  --pri:#5b8fff;
  --ok:#36c98a;
  --warn:#e6bd68;
  --bad:#ef7078;
  --central-shadow:0 14px 36px rgba(0,0,0,.22);
}

html,body{
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:100%;
  margin:0;
  overflow-x:hidden !important;
}
body{
  background:linear-gradient(180deg,#f8faff 0,#f3f7fd 100%) !important;
  color:var(--text) !important;
}
html[data-theme="dark"] body{
  background:linear-gradient(180deg,#08111f,#0a1423) !important;
}
*{box-sizing:border-box}

/* ===== Estrutura principal — mesmo padrão do Painel da empresa ===== */
#app{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:100vh !important;
}
#app>aside{
  position:fixed !important;
  inset:0 auto 0 0 !important;
  z-index:70 !important;
  width:238px !important;
  min-width:238px !important;
  max-width:238px !important;
  height:100dvh !important;
  min-height:100vh !important;
  padding:16px 14px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  background:#fff !important;
  color:var(--text) !important;
  border-right:1px solid var(--line) !important;
  box-shadow:7px 0 26px rgba(31,61,112,.035) !important;
}
html[data-theme="dark"] #app>aside{
  background:#091321 !important;
  color:var(--text) !important;
  border-color:var(--line) !important;
  box-shadow:7px 0 26px rgba(0,0,0,.16) !important;
}

#app>aside .brand{
  width:100% !important;
  min-width:0 !important;
  padding:12px 12px 18px !important;
  overflow:visible !important;
}
#app>aside .brand .brand-wordmark{
  display:inline-flex !important;
  align-items:baseline !important;
  width:auto !important;
  max-width:100% !important;
  font-size:28px !important;
  line-height:.96 !important;
  letter-spacing:-.05em !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
#app>aside .brand .brand-wordmark>.brand-nexa,
#app>aside .brand .brand-wordmark>.brand-oper{
  display:inline !important;
  margin:0 !important;
  font-size:inherit !important;
  line-height:inherit !important;
}
#app>aside .brand>span{
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  margin-top:7px !important;
  color:#8592a6 !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
html[data-theme="dark"] #app>aside .brand>span{color:#9aaac0 !important}

#app>aside nav{
  display:grid !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
#app>aside nav button{
  width:100% !important;
  min-width:0 !important;
  min-height:50px !important;
  padding:0 15px !important;
  border:1px solid transparent !important;
  border-radius:16px !important;
  background:transparent !important;
  color:#51627c !important;
  text-align:left !important;
  font-size:14px !important;
  line-height:1.1 !important;
  font-weight:850 !important;
  letter-spacing:-.01em !important;
  box-shadow:none !important;
  transform:none !important;
}
#app>aside nav button.active,
#app>aside nav button.active:hover,
#app>aside nav button.active:focus-visible,
#app>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){
  #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;
    box-shadow:none !important;
    transform:none !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{
  background:linear-gradient(135deg,#3f7cff 0%,#2967f3 100%) !important;
  color:#fff !important;
  border-color:transparent !important;
}
#app>aside .logout{
  width:100% !important;
  min-height:42px !important;
  margin:auto 0 0 !important;
  padding:0 14px !important;
  border:1px solid #e5ebf4 !important;
  border-radius:13px !important;
  background:#f7f9fc !important;
  color:#41526e !important;
  box-shadow:none !important;
}
html[data-theme="dark"] #app>aside .logout{
  background:#101f33 !important;
  color:#edf4ff !important;
  border-color:var(--line) !important;
}

#app>main{
  display:block !important;
  width:calc(100% - 238px) !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:100vh !important;
  margin:0 0 0 238px !important;
  padding:0 !important;
  overflow:visible !important;
  background:transparent !important;
}
#app>main>header{
  position:sticky !important;
  top:0 !important;
  z-index:50 !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:74px !important;
  min-height:74px !important;
  margin:0 !important;
  padding:0 26px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  background:rgba(255,255,255,.94) !important;
  border-bottom:1px solid #e6edf7 !important;
  box-shadow:0 5px 18px rgba(31,61,112,.025) !important;
  backdrop-filter:blur(14px) !important;
}
html[data-theme="dark"] #app>main>header{
  background:rgba(15,27,45,.96) !important;
  border-color:var(--line) !important;
  box-shadow:0 5px 18px rgba(0,0,0,.10) !important;
}
#app>main>header>div:first-child{min-width:0 !important}
#app>main>header h2{
  margin:0 !important;
  color:var(--text) !important;
  font-size:18px !important;
  line-height:1.15 !important;
  letter-spacing:-.015em !important;
}
#app>main>header p{
  margin:4px 0 0 !important;
  color:var(--muted) !important;
  font-size:11px !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;
  border-radius:13px !important;
  white-space:nowrap !important;
}

/* Área de conteúdo = .page do Painel da empresa */
#app>main>section{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:26px !important;
}
#app>main>section.hidden{display:none !important}

/* ===== Design system dos cards ===== */
.card,
.kpi-card,
.system-status-card,
.settings-card,
.company-card,
.priority-item,
.status-summary-grid>div,
.tech-detail-grid>div,
.storage-main-grid>div,
.storage-breakdown-grid>div,
.saved-data-grid>div,
.device,
.profile-card{
  min-width:0 !important;
  background:#fff !important;
  color:var(--text) !important;
  border:1px solid #e4ebf5 !important;
  border-radius:20px !important;
  box-shadow:var(--central-shadow) !important;
  transform:none !important;
}
html[data-theme="dark"] .card,
html[data-theme="dark"] .kpi-card,
html[data-theme="dark"] .system-status-card,
html[data-theme="dark"] .settings-card,
html[data-theme="dark"] .company-card,
html[data-theme="dark"] .priority-item,
html[data-theme="dark"] .status-summary-grid>div,
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,
html[data-theme="dark"] .device,
html[data-theme="dark"] .profile-card{
  background:var(--card) !important;
  border-color:var(--line) !important;
  color:var(--text) !important;
}
.card{
  padding:20px !important;
  margin:0 0 18px !important;
}
@media(hover:hover) and (pointer:fine){
  .card:hover,
  .company-card:hover,
  .priority-item:hover{
    transform:none !important;
    border-color:#dce6f3 !important;
    box-shadow:0 12px 32px rgba(31,61,112,.07) !important;
  }
  html[data-theme="dark"] .card:hover,
  html[data-theme="dark"] .company-card:hover,
  html[data-theme="dark"] .priority-item:hover{
    border-color:#30445f !important;
    box-shadow:0 12px 32px rgba(0,0,0,.20) !important;
  }
}

/* ===== Dashboard ===== */
.dashboard-hero{
  width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr) !important;
  align-items:stretch !important;
  gap:18px !important;
  margin:0 0 18px !important;
  padding:22px !important;
  border:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  color:#fff !important;
  background:linear-gradient(135deg,#1c56d4 0%,#286cff 55%,#4c8dff 100%) !important;
  box-shadow:0 18px 42px rgba(40,108,255,.20) !important;
}
.hero-copy,.hero-highlight{min-width:0 !important}
.hero-copy h2{
  margin:8px 0 10px !important;
  font-size:28px !important;
  line-height:1.08 !important;
  color:#fff !important;
  overflow-wrap:anywhere !important;
}
.hero-copy p{
  margin:0 !important;
  max-width:720px !important;
  color:rgba(255,255,255,.88) !important;
  line-height:1.55 !important;
}
.hero-highlight{
  min-height:145px !important;
  padding:18px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.12) !important;
  box-shadow:none !important;
}
.hero-highlight small,.hero-highlight span{color:rgba(255,255,255,.85) !important}
.hero-highlight b{margin:4px 0 8px !important;font-size:32px !important;line-height:1.1 !important;color:#fff !important}
.hero-tag{max-width:100% !important;white-space:normal !important;overflow-wrap:anywhere !important}

.premium-kpis{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 0 18px !important;
}
.kpi-card{
  min-height:120px !important;
  padding:16px !important;
  display:grid !important;
  align-content:start !important;
  gap:6px !important;
}
.kpi-card b{font-size:30px !important;line-height:1 !important;color:#1859d1 !important}
html[data-theme="dark"] .kpi-card b{color:#76a1ff !important}
.kpi-label{color:#6d7b92 !important}
html[data-theme="dark"] .kpi-label{color:var(--muted) !important}

.dashboard-grid{
  width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr) !important;
  align-items:start !important;
  gap:18px !important;
  margin:0 0 18px !important;
}
.dashboard-grid>.card{margin-bottom:0 !important}
.dashboard-panel .titlebar{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:4px !important;
  margin-bottom:14px !important;
}
.priority-list:empty::before{
  content:"Nenhuma empresa requer atenção no momento.";
  display:block;
  padding:18px;
  border:1px dashed var(--line);
  border-radius:14px;
  color:var(--muted);
  font-size:12px;
  text-align:center;
}
.status-summary-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}
.status-summary-grid>div{padding:16px !important;box-shadow:none !important}
.company-cards-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
}
.company-card{
  width:100% !important;
  padding:14px !important;
  border-radius:16px !important;
  box-shadow:none !important;
}

/* ===== Cabeçalhos, tabelas e formulários ===== */
.titlebar,
.card-head{
  width:100% !important;
  min-width:0 !important;
  margin:0 0 14px !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
}
.titlebar>div,.card-head>div{min-width:0 !important}
.titlebar>div{display:grid !important;gap:4px !important}
.titlebar b,.card-head h3{color:var(--text) !important;line-height:1.25 !important}
.titlebar small,.card-head p{color:var(--muted) !important;line-height:1.4 !important}
.card-head input{width:min(100%,320px) !important;max-width:320px !important}

.table-wrap{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  border:1px solid #e7edf5 !important;
  border-radius:15px !important;
  background:#fff !important;
  box-shadow:none !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
}
html[data-theme="dark"] .table-wrap{background:var(--card) !important;border-color:var(--line) !important}
.table-wrap table{
  width:100% !important;
  min-width:760px !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  background:transparent !important;
}
th,td{padding:12px 11px !important;border-bottom:1px solid #edf1f7 !important;vertical-align:middle !important}
th{background:#f8faff !important;color:#6e7e96 !important;font-weight:850 !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 !important}
tbody tr:hover{background:#f8fbff !important}
html[data-theme="dark"] tbody tr:hover{background:#111f33 !important}

input,select,textarea{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:45px !important;
  padding:11px 12px !important;
  border:1px solid #e0e8f3 !important;
  border-radius:14px !important;
  background:#fff !important;
  color:var(--text) !important;
  outline:none !important;
}
input:focus,select:focus,textarea:focus{border-color:#79a5ff !important;box-shadow:0 0 0 4px rgba(40,108,255,.10) !important}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{
  background:#101f33 !important;
  border-color:var(--line) !important;
  color:var(--text) !important;
}
label{color:var(--text) !important}
html[data-theme="dark"] label{color:var(--muted) !important}

button{
  border-radius:13px !important;
  min-height:40px !important;
  box-shadow:none !important;
  transform:none !important;
}
.primary{
  background:linear-gradient(135deg,#3478ff,#1f5bea) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(40,108,255,.16) !important;
}
@media(hover:hover) and (pointer:fine){
  button:not(:disabled):hover{transform:none !important}
  .primary:not(:disabled):hover{filter:brightness(.97) !important;box-shadow:0 10px 23px rgba(40,108,255,.23) !important}
}
.theme-toggle{width:42px !important;height:42px !important;min-width:42px !important;max-width:42px !important;padding:0 !important}

/* ===== Configurações ===== */
.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;color:var(--muted) !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:82px !important;
  padding:15px !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  border-radius:16px !important;
  box-shadow:none !important;
}
.settings-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  align-items:start !important;
  gap:16px !important;
  margin-bottom:16px !important;
}
.settings-layout>.settings-card{margin-bottom:0 !important}
.settings-card{padding:18px !important;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{font-size:16px !important;line-height:1.2 !important}
.settings-card .titlebar small{display:block !important;margin:0 !important;color:var(--muted) !important;line-height:1.35 !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;gap:7px !important;min-width:0 !important}
.settings-password-guide{grid-column:1/-1 !important;margin:0 !important}
.settings-actions{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  margin-top:14px !important;
}
.security-note{
  margin-top:12px !important;
  padding:11px 12px !important;
  border:1px solid #dce6f3 !important;
  border-radius:12px !important;
  background:#f8fafc !important;
  color:#52627b !important;
  font-size:11px !important;
  line-height:1.45 !important;
}
html[data-theme="dark"] .security-note{background:#101f33 !important;border-color:var(--line) !important;color:#b7c8df !important}
.twofa-settings{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:16px !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 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;
}
.tech-detail-grid>div{min-width:0 !important;min-height:60px !important;padding:12px !important;border-radius:12px !important;box-shadow:none !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:1px solid #dce6f3 !important;
  border-radius:14px !important;
  background:#f8fafc !important;
  overflow:hidden !important;
}
html[data-theme="dark"] .backup-highlight{background:#101f33 !important;border-color:var(--line) !important}
.storage-main-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
.storage-breakdown-grid,.saved-data-grid{grid-template-columns:repeat(6,minmax(0,1fr)) !important}
.storage-main-grid,.storage-breakdown-grid,.saved-data-grid{display:grid !important;gap:10px !important}
.release-publish-grid{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr) !important;gap:14px !important}

/* ===== Modal ===== */
.modal{padding:14px !important}
.modal-card{
  width:min(680px,calc(100% - 28px)) !important;
  max-width:680px !important;
  max-height:calc(100dvh - 28px) !important;
  margin:auto !important;
  padding:18px !important;
  border:1px solid var(--line) !important;
  border-radius:25px !important;
  background:#fff !important;
  box-shadow:0 30px 85px rgba(17,41,83,.24) !important;
  overflow:auto !important;
}
html[data-theme="dark"] .modal-card{background:var(--card) !important;color:var(--text) !important}
.modal-actions{display:flex !important;justify-content:flex-end !important;gap:10px !important;flex-wrap:wrap !important}

/* ===== Breakpoints iguais à lógica do Painel da empresa ===== */
@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}
}

/* Mobile: mesma lógica do Painel — conteúdo 100%, sem sidebar ocupando largura. */
.mobile-aside-theme-toggle,.mobile-menu-toggle{display:none !important}
@media(max-width:900px){
  #app{display:block !important;width:100% !important;min-width:0 !important}
  #app>aside{
    position:sticky !important;
    inset:auto !important;
    top:0 !important;
    z-index:80 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !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) 42px 42px !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;
    background:var(--card) !important;
    border-right:0 !important;
    border-bottom:1px solid var(--line) !important;
    box-shadow:0 6px 18px rgba(31,61,112,.07) !important;
  }
  html[data-theme="dark"] #app>aside{background:#091321 !important;box-shadow:0 6px 18px rgba(0,0,0,.16) !important}
  #app>aside .brand{
    grid-area:brand !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 4px 0 2px !important;
    overflow:hidden !important;
  }
  #app>aside .brand .brand-wordmark{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    font-size:26px !important;
    line-height:.96 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  #app>aside .brand>span{
    margin-top:3px !important;
    font-size:10px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  #app>aside .mobile-aside-theme-toggle,
  #app>aside .mobile-menu-toggle{
    display:inline-flex !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    margin:0 !important;
    padding:0 !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid var(--line) !important;
    border-radius:13px !important;
    background:#fff !important;
    color:var(--text) !important;
    box-shadow:none !important;
  }
  html[data-theme="dark"] #app>aside .mobile-aside-theme-toggle,
  html[data-theme="dark"] #app>aside .mobile-menu-toggle{background:#101f33 !important;color:#e8f0fc !important}
  #app>aside .mobile-aside-theme-toggle{grid-area:theme !important}
  #app>aside .mobile-menu-toggle{grid-area:toggle !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;
    min-width:0 !important;
    min-height:44px !important;
    text-align:left !important;
    justify-content:flex-start !important;
  }
  #app>aside.mobile-menu-open .logout{
    grid-area:logout !important;
    display:block !important;
    width:100% !important;
    min-height:44px !important;
  }

  #app>main{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
  #app>main>header{
    position:static !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:62px !important;
    padding:10px 14px !important;
    gap:10px !important;
    flex-wrap:wrap !important;
    background:var(--card) !important;
    backdrop-filter:none !important;
  }
  #app>main>header>div:first-child{min-width:0 !important;flex:1 1 160px !important}
  #app>main>header .header-actions{width:100% !important;display:grid !important;grid-template-columns:1fr !important}
  #app>main>header .header-actions>.theme-toggle{display:none !important}
  #app>main>header .header-actions .primary{width:100% !important;max-width:none !important}
  #app>main>section{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:14px !important;
  }
  .premium-kpis{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .dashboard-hero,.dashboard-grid,.settings-layout,.release-publish-grid{grid-template-columns:1fr !important}
  .dashboard-hero{padding:18px !important;border-radius:20px !important}
  .hero-copy h2{font-size:24px !important}
  .hero-highlight{min-height:0 !important;padding:16px !important}
  .system-status-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .settings-form-grid,.tech-detail-grid{grid-template-columns:1fr !important}
  .tech-detail-grid .wide{grid-column:auto !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}
  .storage-main-grid,.storage-breakdown-grid,.saved-data-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .card{padding:14px !important;border-radius:15px !important}
  .settings-card{padding:16px !important}
  .modal{padding:8px !important}
  .modal-card{width:calc(100% - 16px) !important;max-height:calc(100dvh - 16px) !important;padding:14px !important}
}
@media(max-width:700px){
  #app>main>section{padding:10px !important}
  .card-head,.titlebar,.settings-hero{align-items:stretch !important;flex-direction:column !important;gap:10px !important}
  .card-head input{width:100% !important;max-width:none !important}
  .settings-hero button{width:100% !important}
}
@media(max-width:560px){
  #app>aside{grid-template-columns:minmax(0,1fr) 40px 40px !important;padding-left:10px !important;padding-right:10px !important;gap:7px !important}
  #app>aside .mobile-aside-theme-toggle,#app>aside .mobile-menu-toggle{width:40px !important;height:40px !important;min-width:40px !important;max-width:40px !important;min-height:40px !important;max-height:40px !important}
  #app>aside .brand .brand-wordmark{font-size:25px !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}
  .settings-card{padding:14px !important}
  .settings-actions,.twofa-settings .settings-actions,.modal-actions{display:grid !important;grid-template-columns:1fr !important}
  .settings-actions button,.twofa-settings .settings-actions button,.modal-actions button{width:100% !important}
}

/* Segurança extra contra estouro horizontal de conteúdo dinâmico */
main,main *{min-width:0}
img,video,canvas,svg{max-width:100%}
.path-value,.token-box,.credentials-box b,.delivery-box b,.device b,.company-meta b{overflow-wrap:anywhere;word-break:break-word}

/* V8.115.107 — prioridade correta entre Login e aplicação */
/* A camada visual final da V8.115.81 definiu #app com display:block !important.
   Como #app é mais específico que .hidden, a Central continuava visível por trás
   da tela de login quando a sessão expirava. Estes seletores restauram a regra
   funcional: somente uma das duas interfaces pode ficar visível por vez. */
#app.hidden,
#login.hidden,
.modal.hidden,
.global-login-loader.hidden{
  display:none !important;
}
#login:not(.hidden){
  display:grid !important;
  position:fixed !important;
  inset:0 !important;
  z-index:1000 !important;
  width:100% !important;
  min-height:100dvh !important;
}

/* V8.115.107 — hover estável e sem flash na Central (tema claro e escuro)
   Esta camada neutraliza regras legadas conflitantes que alternavam background,
   gradient, filter, transform e shadow ao mesmo tempo. */
button,
#app>aside nav button,
.theme-toggle,
.mobile-menu-toggle,
.mobile-aside-theme-toggle{
  transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease !important;
  transform:none !important;
  filter:none !important;
}
button:not(:disabled):active,
#app>aside nav button:not(:disabled):active{
  transform:none !important;
  filter:none !important;
}

/* Primários: mantém o mesmo gradiente em repouso/hover/foco/active. */
.primary,
.primary:hover,
.primary:focus-visible,
.primary:active,
button.primary,
button.primary:hover,
button.primary:focus-visible,
button.primary:active{
  background:linear-gradient(135deg,#3478ff 0%,#1f5bea 100%) !important;
  border-color:transparent !important;
  color:#fff !important;
  filter:none !important;
  transform:none !important;
}
@media(hover:hover) and (pointer:fine){
  .primary:not(:disabled):hover,
  button.primary:not(:disabled):hover{
    background:linear-gradient(135deg,#3478ff 0%,#1f5bea 100%) !important;
    border-color:transparent !important;
    color:#fff !important;
    filter:none !important;
    transform:none !important;
    box-shadow:0 8px 18px rgba(40,108,255,.20) !important;
  }
}

/* Secundários no tema claro: mudança discreta, sem troca brusca de propriedades. */
@media(hover:hover) and (pointer:fine){
  html[data-theme="light"] button:not(.primary):not(.danger):not(:disabled):hover,
  html:not([data-theme="dark"]) button:not(.primary):not(.danger):not(:disabled):hover{
    background-color:#f2f6fc !important;
    border-color:#c7d4e6 !important;
    color:#183155 !important;
    box-shadow:0 5px 12px rgba(31,61,112,.07) !important;
    filter:none !important;
    transform:none !important;
  }
}

/* Secundários no tema escuro. */
@media(hover:hover) and (pointer:fine){
  html[data-theme="dark"] button:not(.primary):not(.danger):not(:disabled):hover{
    background-color:#15263d !important;
    border-color:#36506f !important;
    color:#eef4ff !important;
    box-shadow:0 5px 12px rgba(0,0,0,.16) !important;
    filter:none !important;
    transform:none !important;
  }
}

/* Danger: mantém a cor base; apenas feedback suave de sombra/borda. */
.danger,
.danger:hover,
.danger:focus-visible,
.danger:active,
button.danger,
button.danger:hover,
button.danger:focus-visible,
button.danger:active{
  background:#d95353 !important;
  border-color:#d95353 !important;
  color:#fff !important;
  filter:none !important;
  transform:none !important;
}
@media(hover:hover) and (pointer:fine){
  .danger:not(:disabled):hover,
  button.danger:not(:disabled):hover{
    background:#d95353 !important;
    border-color:#e46c6c !important;
    box-shadow:0 6px 14px rgba(217,83,83,.18) !important;
  }
}

/* Navegação: item ativo nunca troca de tom ao passar o mouse. */
#app>aside nav button.active,
#app>aside nav button.active:hover,
#app>aside nav button.active:focus-visible,
#app>aside nav button.active:active{
  background:linear-gradient(135deg,#3478ff 0%,#1f5bea 100%) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
}
@media(hover:hover) and (pointer:fine){
  html[data-theme="light"] #app>aside nav button:not(.active):hover,
  html:not([data-theme="dark"]) #app>aside nav button:not(.active):hover{
    background-color:#eaf1fb !important;
    border-color:#d0dceb !important;
    color:#1d4f9f !important;
    box-shadow:none !important;
  }
  html[data-theme="dark"] #app>aside nav button:not(.active):hover{
    background-color:#172b45 !important;
    border-color:#36506f !important;
    color:#eef4ff !important;
    box-shadow:none !important;
  }
}

/* Botões de tema/menu e fechamento também sem salto visual. */
@media(hover:hover) and (pointer:fine){
  .theme-toggle:hover,
  .mobile-menu-toggle:hover,
  .mobile-aside-theme-toggle:hover,
  .modal-close-btn:hover{
    transform:none !important;
    filter:none !important;
  }
}

/* V8.115.107 — hover da Central igual ao Painel Administrativo de Operações
   Mantém feedback visual (elevação/sombra/realce), mas em uma única camada final
   para evitar o antigo efeito de flash causado por regras concorrentes. */
button,
.primary,
.danger,
#app>aside nav button,
.theme-toggle,
.mobile-menu-toggle,
.mobile-aside-theme-toggle,
.modal-close-btn{
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,color .12s ease,background-color .12s ease,filter .12s ease !important;
  will-change:transform !important;
}

/* Mesmo comportamento-base dos botões do Painel: leve elevação e sombra. */
@media(hover:hover) and (pointer:fine){
  button:not(:disabled):hover,
  .primary:not(:disabled):hover,
  .danger:not(:disabled):hover,
  .theme-toggle:not(:disabled):hover,
  .mobile-menu-toggle:not(:disabled):hover,
  .mobile-aside-theme-toggle:not(:disabled):hover,
  .modal-close-btn:not(:disabled):hover{
    transform:translateY(-1px) !important;
    box-shadow:0 7px 16px rgba(15,23,42,.10) !important;
  }

  /* Primário: mesmo gradiente do Painel, com realce sutil. */
  button.primary:not(:disabled):hover,
  .primary:not(:disabled):hover{
    background:linear-gradient(135deg,#3478ff 0%,#1f5bea 100%) !important;
    border-color:transparent !important;
    color:#fff !important;
    filter:brightness(.97) !important;
    box-shadow:0 10px 23px rgba(40,108,255,.23) !important;
  }

  /* Perigo: mantém identidade vermelha e ganha o mesmo feedback de profundidade. */
  button.danger:not(:disabled):hover,
  .danger:not(:disabled):hover{
    filter:brightness(.96) !important;
    box-shadow:0 9px 20px rgba(220,38,38,.18) !important;
  }

  /* Secundários — tema claro, no mesmo padrão do Painel. */
  html[data-theme="light"] button:not(.primary):not(.danger):not(:disabled):hover,
  html:not([data-theme="dark"]) button:not(.primary):not(.danger):not(:disabled):hover{
    background:#f4f7fc !important;
    border-color:#cfd9e8 !important;
    color:#1a4fae !important;
    filter:brightness(1.01) !important;
  }

  /* Secundários — tema escuro, equivalente ao Painel. */
  html[data-theme="dark"] button:not(.primary):not(.danger):not(:disabled):hover{
    background:#16304f !important;
    border-color:#446d9f !important;
    color:#edf4ff !important;
    filter:brightness(1.02) !important;
    box-shadow:0 7px 16px rgba(0,0,0,.18) !important;
  }

  /* Navegação não se move: o Painel usa apenas mudança suave de fundo/cor. */
  #app>aside nav button:not(.active):hover{
    transform:none !important;
    box-shadow:none !important;
  }
  html[data-theme="light"] #app>aside nav button:not(.active):hover,
  html:not([data-theme="dark"]) #app>aside nav button:not(.active):hover{
    background:rgba(52,120,255,.08) !important;
    color:#264e9e !important;
    border-color:rgba(52,120,255,.14) !important;
    filter:none !important;
  }
  html[data-theme="dark"] #app>aside nav button:not(.active):hover{
    background:rgba(63,124,255,.14) !important;
    color:#fff !important;
    border-color:rgba(106,154,255,.26) !important;
    filter:none !important;
  }

  /* Item ativo permanece azul e ganha somente o realce suave do Painel. */
  #app>aside nav button.active:hover{
    background:linear-gradient(135deg,#3478ff 0%,#1f5bea 100%) !important;
    color:#fff !important;
    border-color:transparent !important;
    transform:none !important;
    filter:brightness(.98) !important;
    box-shadow:0 10px 23px rgba(40,108,255,.20) !important;
  }
}

/* Clique igual ao Painel: pequena compressão, sem troca brusca de cor. */
button:not(:disabled):active,
.primary:not(:disabled):active,
.danger:not(:disabled):active,
.theme-toggle:not(:disabled):active,
.mobile-menu-toggle:not(:disabled):active,
.mobile-aside-theme-toggle:not(:disabled):active,
.modal-close-btn:not(:disabled):active{
  transform:translateY(0) scale(.985) !important;
  box-shadow:none !important;
}
#app>aside nav button:not(:disabled):active{
  transform:none !important;
}

/* V8.115.107 — movimento perceptível dos botões no hover, no padrão do Painel
   A versão anterior tinha a elevação muito discreta e alguns seletores da Central
   neutralizavam o transform. Esta camada final mantém o hover suave e sem flash,
   mas deixa o deslocamento visual claramente perceptível. */
button,
.primary,
.danger,
.theme-toggle,
.mobile-menu-toggle,
.mobile-aside-theme-toggle,
.modal-close-btn{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,color .18s ease,background-color .18s ease,filter .18s ease !important;
  transform-origin:center !important;
}
@media(hover:hover) and (pointer:fine){
  button:not(:disabled):not(.mobile-menu-toggle):hover,
  .primary:not(:disabled):hover,
  .danger:not(:disabled):hover,
  .theme-toggle:not(:disabled):hover,
  .mobile-aside-theme-toggle:not(:disabled):hover,
  .modal-close-btn:not(:disabled):hover{
    transform:translateY(-2px) !important;
    box-shadow:0 9px 20px rgba(15,23,42,.14) !important;
  }
  button.primary:not(:disabled):hover,
  .primary:not(:disabled):hover{
    box-shadow:0 11px 24px rgba(40,108,255,.26) !important;
  }
  button.danger:not(:disabled):hover,
  .danger:not(:disabled):hover{
    box-shadow:0 10px 22px rgba(220,38,38,.20) !important;
  }
  html[data-theme="dark"] button:not(:disabled):not(.primary):not(.danger):not(.mobile-menu-toggle):hover{
    box-shadow:0 9px 20px rgba(0,0,0,.24) !important;
  }
  /* Navegação continua sem pular de posição, igual ao Painel. */
  #app>aside nav button:hover{
    transform:none !important;
  }
}
button:not(:disabled):active,
.primary:not(:disabled):active,
.danger:not(:disabled):active,
.theme-toggle:not(:disabled):active,
.mobile-aside-theme-toggle:not(:disabled):active,
.modal-close-btn:not(:disabled):active{
  transform:translateY(0) scale(.985) !important;
  transition-duration:.08s !important;
}

/* V8.115.107 — ações somente no Resumo e Remover administrador vermelho nos dois temas */
.profile-actions-top.hidden{
  display:none !important;
}

/* O botão de remoção é uma ação destrutiva e mantém identidade vermelha
   tanto no tema claro quanto no escuro, inclusive durante o hover. */
button.danger-soft,
.danger-soft{
  background:#fff1f1 !important;
  border-color:#f0aaaa !important;
  color:#b42318 !important;
}
html[data-theme="dark"] button.danger-soft,
html[data-theme="dark"] .danger-soft{
  background:#3a1b22 !important;
  border-color:#7a3a47 !important;
  color:#ff9aa8 !important;
}
@media(hover:hover) and (pointer:fine){
  button.danger-soft:not(:disabled):hover,
  .danger-soft:not(:disabled):hover{
    background:#ffe7e7 !important;
    border-color:#e98787 !important;
    color:#a51f17 !important;
    filter:none !important;
    transform:translateY(-2px) !important;
    box-shadow:0 10px 22px rgba(180,35,24,.18) !important;
  }
  html[data-theme="dark"] button.danger-soft:not(:disabled):hover,
  html[data-theme="dark"] .danger-soft:not(:disabled):hover{
    background:#4a2029 !important;
    border-color:#a34d5d !important;
    color:#ffb1bb !important;
    filter:none !important;
    box-shadow:0 10px 22px rgba(180,35,24,.24) !important;
  }
}
button.danger-soft:not(:disabled):active,
.danger-soft:not(:disabled):active{
  transform:translateY(0) scale(.985) !important;
}

/* V8.115.107 — alinhamento dos botões em Alertas de segurança */
.login-attempts-toolbar{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(260px,1fr)) !important;
  justify-content:start !important;
  align-items:stretch !important;
  gap:14px !important;
  margin:0 0 18px !important;
}
.login-attempts-toolbar button{
  width:100% !important;
  min-height:54px !important;
  margin:0 !important;
  padding:0 22px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
.login-attempt-row{
  display:grid !important;
  gap:14px !important;
}
.login-attempt-top{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:16px !important;
  margin-bottom:0 !important;
}
.login-attempt-top > div:first-child{
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
}
.security-ack-btn{
  min-width:146px !important;
  min-height:48px !important;
  padding:0 20px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:center !important;
  white-space:nowrap !important;
}
@media(max-width:980px){
  .login-attempts-toolbar{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:680px){
  .login-attempt-top{
    grid-template-columns:1fr !important;
    align-items:stretch !important;
  }
  .security-ack-btn,
  .login-attempts-toolbar button{
    width:100% !important;
  }
}

/* V8.115.107 — provisionamento automático de empresas */
.profile-card.deployment-card{gap:6px;align-content:start}
.profile-card.deployment-card a,.deployment-delivery a{color:var(--pri);font-size:12px;font-weight:750;text-decoration:none;overflow-wrap:anywhere}
.profile-card.deployment-card a:hover,.deployment-delivery a:hover{text-decoration:underline}
.profile-card.deployment-card button{margin-top:3px;width:max-content;max-width:100%;min-height:34px;padding:7px 10px;font-size:11px}
.deployment-delivery{margin:12px 0;padding:12px 14px;display:grid;gap:5px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.deployment-delivery>small{font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.deployment-delivery>span{font-size:11px;line-height:1.45;color:var(--muted)}
.deployment-delivery.ready{border-left:3px solid #32a66a}
.deployment-delivery.failed{border-left:3px solid #dc5c68}
html[data-theme="dark"] .deployment-delivery{background:#101f33}
@media(max-width:680px){.profile-card.deployment-card button{width:100%}.deployment-delivery{padding:11px 12px}}

/* V8.115.107 — aviso de atualização no próximo login */
.release-login-notice{
  padding:12px 14px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:var(--soft)!important;
}
.release-login-notice-head{display:flex;align-items:center;gap:9px;min-height:24px}
.release-login-notice-head input{width:17px!important;height:17px!important;min-width:17px!important;margin:0!important;accent-color:var(--pri)}
.release-login-notice-head b{font-size:12px;line-height:1.35}
.release-login-notice>small{margin-left:26px;line-height:1.45}
@media(max-width:680px){.release-login-notice>small{margin-left:0}}

/* V8.115.109 — botão Sair da Central de Licenças idêntico ao Painel da Empresa */
#app>aside .logout{
  width:100% !important;
  min-width:0 !important;
  min-height:40px !important;
  margin:auto 0 0 !important;
  padding:10px 14px !important;
  border:1px solid #e5ebf4 !important;
  border-radius:13px !important;
  background:#f7f9fc !important;
  color:#41526e !important;
  font-weight:850 !important;
  cursor:pointer !important;
  box-sizing:border-box !important;
  box-shadow:none !important;
  filter:none !important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease,filter .16s ease !important;
}
html[data-theme="dark"] #app>aside .logout{
  background:#101f33 !important;
  border-color:#25344b !important;
  color:#e9f1ff !important;
}
@media(hover:hover) and (pointer:fine){
  html[data-theme="light"] #app>aside .logout:not(:disabled):hover,
  html:not([data-theme="dark"]) #app>aside .logout:not(:disabled):hover{
    background:#f8fafc !important;
    border-color:#cfd6e2 !important;
    color:#41526e !important;
    transform:translateY(-1px) !important;
    box-shadow:0 7px 16px rgba(15,23,42,.10) !important;
    filter:brightness(1.02) !important;
  }
  html[data-theme="dark"] #app>aside .logout:not(:disabled):hover{
    background:#101f33 !important;
    border-color:#25344b !important;
    color:#e9f1ff !important;
    transform:translateY(-1px) !important;
    box-shadow:0 7px 16px rgba(15,23,42,.10) !important;
    filter:brightness(1.02) !important;
  }
}
#app>aside .logout:not(:disabled):active{
  transform:translateY(0) scale(.985) !important;
  box-shadow:none !important;
}

/* === source: release-166.css === */
/* NexaOper V8.115.188 — consolidação visual preservada da V8.115.129; release de hardening de Financeiro, Monitoramento e Privacidade */
#page-payments,#page-monitoring,#page-privacy{min-width:0}
.payments-hero,.monitor-hero,.privacy-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;margin-bottom:16px;background:linear-gradient(135deg,#f7faff,#eef4ff);border-color:#d8e5ff}
.payments-hero h3,.monitor-hero h3,.privacy-hero h3{font-size:23px;margin:8px 0 5px}.payments-hero p,.monitor-hero p,.privacy-hero p{margin:0;color:var(--muted)}
.finance-kpis,.monitor-kpis,.privacy-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.finance-kpi,.monitor-card,.privacy-kpis>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 8px 20px rgba(15,23,42,.04);display:grid;gap:7px;min-width:0}
.finance-kpi span,.monitor-card>span,.privacy-kpis span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.035em}.finance-kpi b,.monitor-card>b,.privacy-kpis b{font-size:25px;line-height:1.1}.finance-kpi small,.monitor-card small{color:var(--muted)}
.finance-kpi.success{border-left:4px solid #22c55e}.finance-kpi.warning{border-left:4px solid #f59e0b}.finance-kpi.overdue{border-left:4px solid #ef4444}
.payments-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:16px;margin-bottom:16px}.payments-grid>.card{margin:0;min-width:0}
.payment-reminders{display:grid;gap:9px}.payment-reminder{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#f9fbff}.payment-reminder>div{display:grid;gap:3px;min-width:0}.payment-reminder span,.payment-reminder small{font-size:11px;color:var(--muted)}.payment-reminder.danger{border-left:4px solid #ef4444}.payment-reminder.warning{border-left:4px solid #f59e0b}.payment-reminder.info{border-left:4px solid #3b82f6}.payment-reminder.blocked{border-left:4px solid #64748b}
.gateway-summary{display:grid;gap:14px}.gateway-active{padding:18px;border:1px solid var(--line);border-radius:15px;background:#f8faff;display:grid;gap:5px}.gateway-active small,.gateway-active span{color:var(--muted)}.gateway-active b{font-size:22px}.gateway-pills{display:flex;flex-wrap:wrap;gap:8px}.gateway-pills span{padding:7px 10px;border-radius:999px;border:1px solid var(--line);font-size:11px;font-weight:800}.gateway-pills .ok{background:#eaf8f0;color:#167046;border-color:#ccebd9}.gateway-pills .muted{background:#f3f5f8;color:#708096}
.payment-history-card{margin-top:16px}.payment-history-card .titlebar input{max-width:300px}.payment-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}.payment-status.paid{background:#eaf8f0;color:#167046}.payment-status.pending{background:#fff6db;color:#946200}.payment-status.overdue,.payment-status.error{background:#ffecec;color:#b42318}.payment-status.refunded,.payment-status.cancelled{background:#eef1f5;color:#64748b}
.plan-module-editor{border-top:1px solid var(--line);padding-top:11px;margin-top:3px}.plan-module-editor>small{display:block;font-weight:850;margin-bottom:8px}.plan-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.plan-module-grid label{display:flex;align-items:center;gap:7px;padding:7px 8px;border:1px solid var(--line);border-radius:10px;background:#f9fbff;font-size:10.5px}.plan-module-grid input{width:16px;height:16px;accent-color:var(--pri)}
.company-features-section.plan-linked .company-feature-grid{opacity:.7}.company-features-section select{max-width:360px;margin-bottom:7px}
.live-indicator{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eaf8f0;color:#167046;font-size:11px;font-weight:850;white-space:nowrap}.live-indicator i{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}
.monitor-card.ok{border-top:3px solid #22c55e}.monitor-card.warning{border-top:3px solid #f59e0b}.monitor-card.critical{border-top:3px solid #ef4444}.metric-bar{height:7px;background:#eef2f7;border-radius:999px;overflow:hidden}.metric-bar i{display:block;width:0;height:100%;background:currentColor;border-radius:inherit;transition:width .35s ease}.monitor-card.ok .metric-bar{color:#22c55e}.monitor-card.warning .metric-bar{color:#f59e0b}.monitor-card.critical .metric-bar{color:#ef4444}
.network-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.network-totals>div{padding:13px;border:1px solid var(--line);border-radius:13px;background:#f8fafc;display:grid;gap:4px}.network-totals span{font-size:10px;color:var(--muted);text-transform:uppercase}.network-totals b{font-size:15px}.interface-list{display:grid;gap:7px;margin-top:12px}.interface-list>div{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:#f8fafc;border:1px solid var(--line);font-size:11px}.interface-list span{color:var(--muted)}
.system-alerts{display:grid;gap:8px}.system-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:12px}.system-alert>div{display:grid;gap:2px}.system-alert span,.system-alert small{font-size:10.5px;color:var(--muted)}.system-alert.warning{border-left:4px solid #f59e0b}.system-alert.critical{border-left:4px solid #ef4444}
.privacy-docs{display:flex;gap:9px;flex-wrap:wrap}.privacy-docs span{padding:9px 11px;background:#f6f9ff;border:1px solid #dfe8f8;border-radius:11px;font-size:11px;font-weight:800;color:#3b567e}
html[data-theme="dark"] .payments-hero,html[data-theme="dark"] .monitor-hero,html[data-theme="dark"] .privacy-hero{background:linear-gradient(135deg,#101f33,#0d192a)!important;border-color:#2b3d57!important}
html[data-theme="dark"] .finance-kpi,html[data-theme="dark"] .monitor-card,html[data-theme="dark"] .privacy-kpis>div{background:#0f1b2d!important;border-color:#25344b!important;color:#e9f1ff!important}
html[data-theme="dark"] .payment-reminder,html[data-theme="dark"] .gateway-active,html[data-theme="dark"] .plan-module-grid label,html[data-theme="dark"] .network-totals>div,html[data-theme="dark"] .interface-list>div,html[data-theme="dark"] .privacy-docs span{background:#101f33!important;border-color:#29405e!important;color:#dbe7f7!important}
html[data-theme="dark"] .gateway-pills .ok{background:#103225!important;border-color:#276747!important;color:#8fe0b8!important}html[data-theme="dark"] .gateway-pills .muted{background:#172437!important;border-color:#2b3d57!important;color:#9cadc4!important}
html[data-theme="dark"] .metric-bar{background:#26364d!important}html[data-theme="dark"] .payment-status.paid{background:#103225;color:#8fe0b8}html[data-theme="dark"] .payment-status.pending{background:#332815;color:#f0ce83}html[data-theme="dark"] .payment-status.overdue,html[data-theme="dark"] .payment-status.error{background:#361b24;color:#ffb1bc}html[data-theme="dark"] .payment-status.refunded,html[data-theme="dark"] .payment-status.cancelled{background:#172437;color:#aebbd0}
@media(max-width:1100px){.finance-kpis,.monitor-kpis,.privacy-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.payments-grid{grid-template-columns:1fr}.plan-module-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.payments-hero,.monitor-hero,.privacy-hero{align-items:stretch;flex-direction:column}.finance-kpis,.monitor-kpis,.privacy-kpis,.network-totals{grid-template-columns:1fr}.payment-history-card .titlebar{align-items:stretch!important}.payment-history-card .titlebar input{max-width:none;width:100%}.plan-module-grid{grid-template-columns:1fr}.payment-reminder{align-items:flex-start;flex-direction:column}.live-indicator{align-self:flex-start}}

/* Operação do servidor, backup completo e exclusão LGPD */
.monitor-ops-grid{align-items:stretch}.service-health-grid,.backup-monitor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.backup-monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-health-grid>div,.backup-monitor-grid>div{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#f8fafc;min-width:0}.service-health-grid span,.backup-monitor-grid span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.service-health-grid b,.backup-monitor-grid b{font-size:14px;overflow-wrap:anywhere}.service-problems{display:grid;gap:7px;margin-top:12px}.service-problems>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;font-size:11px}.service-problems span{color:var(--muted)}.service-ok{background:#eaf8f0;border-color:#ccebd9!important;color:#167046;padding:10px 12px!important}.privacy-actions{flex-wrap:wrap!important}.privacy-erasure-warning{padding:13px;border-radius:12px;background:#fff1f1;border:1px solid #f3bcbc;color:#8e2020;margin-bottom:12px}.privacy-erasure-warning p{margin:5px 0 0;line-height:1.45;color:#a13a3a;font-size:12px}
html[data-theme="dark"] .service-health-grid>div,html[data-theme="dark"] .backup-monitor-grid>div,html[data-theme="dark"] .service-problems>div{background:#101f33!important;border-color:#29405e!important;color:#dbe7f7!important}html[data-theme="dark"] .service-ok{background:#103225!important;border-color:#276747!important;color:#8fe0b8!important}html[data-theme="dark"] .privacy-erasure-warning{background:#361b24!important;border-color:#74424e!important;color:#ffb1bc!important}html[data-theme="dark"] .privacy-erasure-warning p{color:#e6a0aa!important}
@media(max-width:700px){.service-health-grid,.backup-monitor-grid{grid-template-columns:1fr}.service-problems>div{align-items:flex-start;flex-direction:column}}


/* V8.115.129 — ajustes solicitados na Central */
.payment-main-settings>label.switch-line{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  align-self:end;
  gap:10px!important;
  min-height:44px;
  padding:0 2px;
}
.payment-main-settings>label.switch-line input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  min-width:18px;
  margin:0!important;
  flex:0 0 18px;
}
.payment-main-settings>label.switch-line span{
  display:block;
  line-height:1.25;
  margin:0;
}
.backup-command-help{
  margin-top:12px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8fafc;
  display:grid;
  gap:5px;
}
.backup-command-help b{font-size:11px}.backup-command-help span{font-size:10.5px;color:var(--muted);line-height:1.5}.backup-command-help code{font-weight:800;color:var(--ink)}
html[data-theme="dark"] .backup-command-help{background:#101f33!important;border-color:#29405e!important;color:#dbe7f7!important}
html[data-theme="dark"] .backup-command-help code{color:#e9f1ff!important}


/* V8.115.129 — refinamentos visuais finais da Central */
 .finance-kpi.overdue{
  border-left:4px solid #ef4444 !important;
  background:#fff !important;
  border-top-color:var(--line) !important;
  border-right-color:var(--line) !important;
  border-bottom-color:var(--line) !important;
  box-shadow:0 8px 20px rgba(15,23,42,.04) !important;
}
.finance-kpi.overdue span{color:var(--muted) !important}
.finance-kpi.overdue b{color:#b42318 !important;font-size:25px !important}
.finance-kpi.overdue small{color:var(--muted) !important;font-weight:600 !important}

.monitor-card[data-metric="network"] b{
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
  line-height:1.15;
  font-size:clamp(20px,2vw,28px) !important;
}
.monitor-card[data-metric="network"] small{font-size:12px !important}

#priorityCompanies{
  width:100% !important;
  min-width:0 !important;
}
.priority-list{
  width:100% !important;
  align-content:stretch !important;
}
.priority-list .empty-state,
.priority-empty-state{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:250px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  padding:34px 28px !important;
  margin:0 !important;
  border:1px dashed #d8e3f4 !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#fbfcff 0%,#f4f8ff 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
  text-align:center !important;
  color:#70819b !important;
}
.priority-empty-state strong,
.priority-list .empty-state strong{
  color:#274061 !important;
  font-size:22px !important;
  line-height:1.2 !important;
}
.priority-empty-state small,
.priority-list .empty-state small{
  max-width:560px !important;
  color:#7c8ca2 !important;
  font-size:14px !important;
  line-height:1.6 !important;
}
.priority-item{align-items:center !important;min-height:92px !important}
.priority-side{align-items:flex-end !important;gap:8px !important}

html[data-theme="dark"]  .finance-kpi.overdue{
  background:#0f1b2d !important;
  border-color:#25344b !important;
  border-left-color:#ef4444 !important;
  box-shadow:0 8px 20px rgba(0,0,0,.18) !important;
}
html[data-theme="dark"] .finance-kpi.overdue span{color:#9fb0c8 !important}
html[data-theme="dark"] .finance-kpi.overdue b{color:#ff8f8f !important;font-size:25px !important}
html[data-theme="dark"] .finance-kpi.overdue small{color:#9fb0c8 !important;font-weight:600 !important}
html[data-theme="dark"] .priority-list .empty-state,
html[data-theme="dark"] .priority-empty-state{
  background:linear-gradient(180deg,#122033 0%,#0f1a2b 100%) !important;
  border-color:#2c4366 !important;
  color:#9fb0c8 !important;
}
html[data-theme="dark"] .priority-empty-state strong,
html[data-theme="dark"] .priority-list .empty-state strong{color:#edf4ff !important}
html[data-theme="dark"] .priority-empty-state small,
html[data-theme="dark"] .priority-list .empty-state small{color:#a8b7cc !important}

@media(max-width:1100px){
  .priority-list .empty-state,
  .priority-empty-state{min-height:210px !important}
}
@media(max-width:700px){
  .monitor-card[data-metric="network"] b{font-size:22px !important}
  .priority-list .empty-state,
  .priority-empty-state{
    min-height:170px !important;
    padding:24px 18px !important;
  }
  .priority-empty-state strong,
  .priority-list .empty-state strong{font-size:18px !important}
  .priority-empty-state small,
  .priority-list .empty-state small{font-size:13px !important}
}


/* V8.115.129 — card de vencidos no mesmo padrão visual dos demais */
 .finance-kpi.overdue{min-height:unset;}


/* V8.115.129 — primeira cobrança + renovação automática */
.payment-automation-card{margin:14px 0 16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f8fbff;display:grid;gap:13px}
.payment-automation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.payment-automation-head>div{display:grid;gap:4px}.payment-automation-head small{color:var(--muted);line-height:1.45}
.payment-automation-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(220px,.55fr);gap:12px;align-items:stretch}
.payment-automation-grid .switch-line{margin:0!important;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff;display:flex!important;align-items:flex-start!important;gap:10px!important;min-height:78px}
.payment-automation-grid .switch-line input{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:2px 0 0!important;flex:0 0 18px!important}
.payment-automation-grid .switch-line>span{display:grid;gap:3px;min-width:0}.payment-automation-grid .switch-line b{font-size:12px}.payment-automation-grid .switch-line small{font-size:10.5px;color:var(--muted);line-height:1.4;font-weight:500}
.payment-renewal-days{margin:0!important;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#fff;display:grid!important;grid-template-columns:1fr 74px;align-items:center;gap:5px 9px!important;font-size:11px!important}.payment-renewal-days input{grid-column:2;grid-row:1/3;min-height:42px!important;text-align:center;padding:8px!important}.payment-renewal-days small{color:var(--muted);font-weight:500}
.payment-automation-note{padding:10px 12px;border-radius:11px;background:#eef4ff;color:#49617f;font-size:10.5px;line-height:1.45}
html[data-theme="dark"] .payment-automation-card{background:#0f1b2d!important;border-color:#25344b!important}html[data-theme="dark"] .payment-automation-grid .switch-line,html[data-theme="dark"] .payment-renewal-days{background:#101f33!important;border-color:#29405e!important}html[data-theme="dark"] .payment-automation-note{background:#10233a!important;color:#b7c8df!important}
@media(max-width:1050px){.payment-automation-grid{grid-template-columns:1fr 1fr}.payment-renewal-days{grid-column:1/-1}}
@media(max-width:700px){.payment-automation-head{flex-direction:column}.payment-automation-grid{grid-template-columns:1fr}.payment-renewal-days{grid-column:auto}}


/* V8.115.134 — diagnóstico, banco e backups concentrados em Monitoramento */
.monitor-data-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 12px;padding:0 2px}.monitor-data-heading>div{display:grid;gap:4px}.monitor-data-heading h3{margin:0;font-size:17px}.monitor-data-heading p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.45}.monitor-data-heading .hero-tag{width:max-content}.monitoring-status-grid{margin-bottom:14px}.monitor-data-grid{margin-top:14px}.monitor-saved-data{min-width:0}
@media(max-width:700px){.monitor-data-heading{align-items:stretch;flex-direction:column}.monitor-data-heading button{width:100%}.monitor-data-grid{grid-template-columns:1fr}}

/* V8.115.134 — visão consolidada de backups e armazenamento por empresa */
.company-backup-monitor{margin:14px 0 18px;overflow:hidden}
.company-backup-titlebar{gap:18px;align-items:flex-start}
.company-backup-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.company-backup-actions .muted{font-size:10.5px}
.company-backup-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:13px 0}
.backup-kpi{display:grid;gap:4px;min-height:88px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fbfdff;border-left-width:4px}
.backup-kpi span{font-size:10.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.02em}.backup-kpi b{font-size:24px;line-height:1.05}.backup-kpi small{font-size:10.5px;color:var(--muted);line-height:1.35}
.backup-kpi.ok{border-left-color:#22a06b}.backup-kpi.warning{border-left-color:#e5a11b}.backup-kpi.danger{border-left-color:#e14b4b}.backup-kpi.neutral{border-left-color:#5d7dd8}
.monitor-policy-note{margin:0 0 13px;padding:10px 12px;border-radius:12px;background:#f4f7fc;border:1px solid var(--line);color:#60728c;font-size:10.5px;line-height:1.5}
.company-backup-table-wrap{margin-top:4px}.company-backup-table{min-width:1000px}.company-backup-table td{vertical-align:middle}.company-backup-table td:first-child{min-width:185px}.company-backup-table td:first-child b,.company-backup-table td:first-child small{display:block}.company-backup-table td:first-child small{margin-top:3px;color:var(--muted);font-size:9.5px;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.backup-row.warning td:first-child{box-shadow:inset 3px 0 0 #e5a11b}.backup-row.danger td:first-child{box-shadow:inset 3px 0 0 #e14b4b}.backup-row.ok td:first-child{box-shadow:inset 3px 0 0 #22a06b}
.backup-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:5px 8px;border-radius:999px;font-size:9.5px;font-weight:800;white-space:nowrap}.backup-status-pill.ok{background:#e7f7f0;color:#15714e}.backup-status-pill.warning{background:#fff5db;color:#8a5d00}.backup-status-pill.danger{background:#ffe9e9;color:#a52929}
html[data-theme="dark"] .backup-kpi{background:#101f33!important;border-color:#29405e!important}html[data-theme="dark"] .monitor-policy-note{background:#0f1b2d!important;border-color:#25344b!important;color:#a8b7cc!important}html[data-theme="dark"] .backup-status-pill.ok{background:#123428;color:#78d9ac}html[data-theme="dark"] .backup-status-pill.warning{background:#352a10;color:#f6c75a}html[data-theme="dark"] .backup-status-pill.danger{background:#3a1c21;color:#ff9797}
@media(max-width:1100px){.company-backup-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.company-backup-titlebar{flex-direction:column}.company-backup-actions{width:100%;justify-content:space-between}.company-backup-kpis{grid-template-columns:1fr 1fr}.backup-kpi{min-height:80px;padding:11px}.backup-kpi b{font-size:21px}}
@media(max-width:430px){.company-backup-kpis{grid-template-columns:1fr}}


/* V8.115.137 — Monitoramento de empresas clicável, filtros e detalhe operacional */
.company-backup-kpis .backup-kpi.danger{
  background:#fff8f8 !important;
  color:var(--text) !important;
  border-color:#f1d7d7 !important;
  border-left-color:#d84a4a !important;
  box-shadow:0 1px 2px rgba(163,35,35,.025);
}
.company-backup-kpis .backup-kpi.danger span,.company-backup-kpis .backup-kpi.danger small{color:#946060 !important}
.company-backup-kpis .backup-kpi.danger b{color:#922f35 !important}
.company-backup-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.34fr) minmax(180px,.4fr);gap:10px;margin:0 0 12px;align-items:end}
.company-backup-toolbar label{display:grid;gap:5px;margin:0}.company-backup-toolbar label>span{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;color:var(--muted)}
.company-backup-toolbar input,.company-backup-toolbar select{min-height:38px}
.company-backup-table .backup-row{cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease}.company-backup-table .backup-row:hover{background:#f7faff}.company-backup-table .backup-row:focus{outline:2px solid rgba(72,112,190,.38);outline-offset:-2px}.company-backup-table .backup-row td{position:relative}
.company-backup-table .backup-company-cell{padding-right:28px}.backup-row-open{display:block;margin-top:5px;color:#5273a8;font-size:9px;font-weight:800}.backup-row-chevron{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:18px;color:#8ca0bc;font-weight:400}
.company-monitor-detail{display:grid;gap:14px}.company-monitor-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#f8fbff}.company-monitor-detail-head>div{display:grid;gap:4px;min-width:0}.company-monitor-detail-head b{font-size:16px}.company-monitor-detail-head small{color:var(--muted);word-break:break-word}.company-monitor-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.company-monitor-detail-card{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.company-monitor-detail-card small{color:var(--muted);font-size:9.5px}.company-monitor-detail-card b{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.company-monitor-detail-card.warning{border-color:#efd9a6;background:#fffaf0}.company-monitor-detail-card.danger{border-color:#efcccc;background:#fff7f7;color:var(--text)}
.company-monitor-backups{display:grid;gap:8px}.company-monitor-backups>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.company-monitor-backups-list{display:grid;gap:7px}.company-monitor-backup-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:#fbfdff}.company-monitor-backup-item b{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-monitor-backup-item span,.company-monitor-backup-item small{font-size:9.5px;color:var(--muted);white-space:nowrap}.company-monitor-empty{padding:13px;border:1px dashed var(--line);border-radius:11px;color:var(--muted);font-size:10.5px;text-align:center}.company-monitor-hint{padding:10px 12px;border-radius:11px;background:#f4f7fc;color:#60728c;font-size:10px;line-height:1.45}
.company-monitor-modal-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.company-monitor-modal-actions .spacer{flex:1}.company-monitor-modal-actions button{min-height:36px}
html[data-theme="dark"] .company-backup-kpis .backup-kpi.danger{background:#241719 !important;border-color:#4c2a30 !important;border-left-color:#e65a62 !important;color:#f2f6fc !important}html[data-theme="dark"] .company-backup-kpis .backup-kpi.danger span,html[data-theme="dark"] .company-backup-kpis .backup-kpi.danger small{color:#d5a4aa !important}html[data-theme="dark"] .company-backup-kpis .backup-kpi.danger b{color:#ff9aa1 !important}
html[data-theme="dark"] .company-backup-table .backup-row:hover{background:#0f1c2e}html[data-theme="dark"] .company-monitor-detail-head,html[data-theme="dark"] .company-monitor-detail-card,html[data-theme="dark"] .company-monitor-backup-item{background:#101f33;border-color:#29405e}html[data-theme="dark"] .company-monitor-detail-card.warning{background:#2b2415;border-color:#5c4923}html[data-theme="dark"] .company-monitor-detail-card.danger{background:#2d191c;border-color:#5d3036;color:#edf4ff}html[data-theme="dark"] .company-monitor-hint{background:#0f1b2d;color:#a8b7cc}
@media(max-width:900px){.company-backup-toolbar{grid-template-columns:1fr 1fr}.company-backup-search{grid-column:1/-1}.company-monitor-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.company-backup-toolbar{grid-template-columns:1fr}.company-backup-search{grid-column:auto}.company-monitor-detail-head{flex-direction:column}.company-monitor-detail-grid{grid-template-columns:1fr}.company-monitor-backup-item{grid-template-columns:1fr auto}.company-monitor-backup-item small{grid-column:1/-1}.company-monitor-modal-actions{display:grid;grid-template-columns:1fr}.company-monitor-modal-actions .spacer{display:none}}


/* V8.115.141 — Monitoramento: card crítico no mesmo padrão visual dos demais KPIs */
.company-backup-kpis .backup-kpi.critical,
.company-backup-kpis .backup-kpi.critical:hover,
.company-backup-kpis .backup-kpi.critical:focus,
.company-backup-kpis .backup-kpi.critical:active{
  background:#fbfdff !important;
  color:var(--text) !important;
  border:1px solid var(--line) !important;
  border-left:4px solid #e14b4b !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
  transition:none !important;
}
.company-backup-kpis .backup-kpi.critical span,
.company-backup-kpis .backup-kpi.critical small{
  color:var(--muted) !important;
}
.company-backup-kpis .backup-kpi.critical b{
  color:var(--text) !important;
}
html[data-theme="dark"] .company-backup-kpis .backup-kpi.critical,
html[data-theme="dark"] .company-backup-kpis .backup-kpi.critical:hover,
html[data-theme="dark"] .company-backup-kpis .backup-kpi.critical:focus,
html[data-theme="dark"] .company-backup-kpis .backup-kpi.critical:active{
  background:#101f33 !important;
  color:#eef4ff !important;
  border-color:#29405e !important;
  border-left-color:#e65a62 !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
}
html[data-theme="dark"] .company-backup-kpis .backup-kpi.critical span,
html[data-theme="dark"] .company-backup-kpis .backup-kpi.critical small{color:#a8b7cc !important}
html[data-theme="dark"] .company-backup-kpis .backup-kpi.critical b{color:#eef4ff !important}

/* V8.115.141 - ajuste seguro do prazo da licença */
.license-adjust-mode{display:grid;gap:4px;padding:12px 14px;border-radius:12px;border:1px solid #cfe0ff;background:#f7faff;color:#24466f}
.license-adjust-mode.remove{border-color:#f2c7c7;background:#fffafa;color:#963d3d}
.license-adjust-mode span{font-size:11px;line-height:1.4;color:var(--muted)}
.license-adjust-reason input{font-size:13px!important;font-weight:650!important}
.license-adjust-preview{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--soft,#f8fafc)}
.license-adjust-preview span{font-size:11px;color:var(--muted)}.license-adjust-preview b{font-size:14px}.license-adjust-preview small{width:100%;color:var(--muted)}
.license-adjust-preview.critical{border-color:#efb8b8;background:#fff8f8}.license-adjust-preview.critical b,.license-adjust-preview.critical small{color:#b42318}
.renew-info.license-adjust-warning{background:#fff8ee;color:#815925;border:1px solid #f1d6ad}
html[data-theme="dark"] .license-adjust-mode{background:#14243a;border-color:#28476f;color:#d9e8ff}
html[data-theme="dark"] .license-adjust-mode.remove{background:#2d1b22;border-color:#61313c;color:#ffc1c8}
html[data-theme="dark"] .license-adjust-preview{background:#101c2c;border-color:#2a3a50}
html[data-theme="dark"] .license-adjust-preview.critical{background:#2d1b22;border-color:#61313c}
html[data-theme="dark"] .renew-info.license-adjust-warning{background:#302619;border-color:#6b512b;color:#f1d7a9}


/* V8.115.141 — governança: aceite versionado e confirmação reforçada */
.terms-acceptance-card .terms-company-doc{display:block;margin-top:3px;color:var(--muted);font-size:10px}.terms-version-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf3fb;color:#496784;font-size:10px;font-weight:800}.terms-ok{display:inline-flex;align-items:center;gap:5px;color:#238a5d;font-weight:850;font-size:11px}.terms-check{display:flex!important;align-items:flex-start!important;gap:9px!important;padding:10px 12px;border:1px solid #ead8d8;border-radius:11px;background:#fffafb}.terms-check input{width:17px!important;height:17px!important;min-height:0!important;flex:0 0 auto;margin-top:1px}.terms-check span{font-size:11px;line-height:1.45}.privacy-erasure-warning strong{color:#b4232c}html[data-theme="dark"] .terms-version-pill{background:#162942;color:#b8c9df}html[data-theme="dark"] .terms-check{background:#231b20;border-color:#50313b}


/* V8.115.160 — Monitoramento gratuito de segurança */
.security-monitor-panel{margin-top:16px;margin-bottom:16px}.security-monitor-titlebar{align-items:center}.security-monitor-state{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:8px;row-gap:2px;text-align:right}.security-monitor-state small{grid-column:1/3;color:var(--muted);font-size:10px}.security-dot{width:10px;height:10px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 5px rgba(148,163,184,.12)}.security-dot.ok{background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}.security-dot.warning{background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.12)}.security-dot.critical{background:#ef4444;box-shadow:0 0 0 5px rgba(239,68,68,.12)}
.security-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.security-kpi{padding:13px;border:1px solid var(--line);border-radius:13px;background:#f8fafc;display:grid;gap:4px;min-width:0}.security-kpi span{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:850}.security-kpi b{font-size:21px;line-height:1.1}.security-kpi small{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.security-last-event{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;margin-bottom:12px}.security-last-event b{font-size:11px;white-space:nowrap}.security-last-event span{font-size:11px;color:var(--muted)}.security-last-event.warning{border-left:4px solid #f59e0b}.security-last-event.critical{border-left:4px solid #ef4444}
.security-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.security-detail-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;min-width:0}.security-detail-head{display:grid;gap:2px;margin-bottom:9px}.security-detail-head b{font-size:12px}.security-detail-head small{font-size:10px;color:var(--muted)}.security-event-list{display:grid;gap:6px;max-height:250px;overflow:auto}.security-event-row{display:grid;gap:2px;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;min-width:0}.security-event-row b{font-size:10.5px;overflow-wrap:anywhere}.security-event-row span{font-size:9.8px;color:var(--muted);overflow-wrap:anywhere}.security-event-row.warning{border-left:3px solid #f59e0b}.security-event-row.danger{border-left:3px solid #ef4444}
.security-event-row.scanner-alert{
  border-left:3px solid #ef4444 !important;
  background:#f8fafc !important;
  color:var(--text) !important;
  box-shadow:none !important;
  transform:none !important;
}
.security-event-row.scanner-alert:hover,
.security-event-row.scanner-alert:focus-within{
  background:#f8fafc !important;
  border-color:var(--line) !important;
  border-left-color:#ef4444 !important;
  color:var(--text) !important;
  box-shadow:none !important;
  transform:none !important;
}
html[data-theme="dark"] .security-event-row.scanner-alert,
html[data-theme="dark"] .security-event-row.scanner-alert:hover,
html[data-theme="dark"] .security-event-row.scanner-alert:focus-within{
  background:#101f33 !important;
  border-color:#29405e !important;
  border-left-color:#ef4444 !important;
  color:#dbe7f7 !important;
  box-shadow:none !important;
  transform:none !important;
}
.security-event-row.scanner-alert b{color:inherit !important}
.security-event-row.scanner-alert span{color:var(--muted) !important}
html[data-theme="dark"] .security-event-row.scanner-alert span{color:#9fb0c8 !important}.security-note-free{margin-top:12px}
html[data-theme="dark"] .security-kpi,html[data-theme="dark"] .security-last-event,html[data-theme="dark"] .security-detail-card,html[data-theme="dark"] .security-event-row{background:#101f33!important;border-color:#29405e!important;color:#dbe7f7!important}
@media(max-width:1100px){.security-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.security-monitor-titlebar{align-items:flex-start!important}.security-monitor-state{text-align:left}.security-kpis,.security-detail-grid{grid-template-columns:1fr}.security-last-event{align-items:flex-start;flex-direction:column}.security-last-event b{white-space:normal}}

/* V8.115.160 — card Vencidos no mesmo padrão visual dos demais, sem hover vermelho */
.finance-kpi.overdue{
  background:#fff !important;
  color:var(--text) !important;
  transition:none !important;
}
.finance-kpi.overdue:hover,.finance-kpi.overdue:focus-within{
  background:#fff !important;
  box-shadow:0 8px 20px rgba(15,23,42,.04) !important;
  transform:none !important;
}
html[data-theme="dark"] .finance-kpi.overdue:hover,
html[data-theme="dark"] .finance-kpi.overdue:focus-within{
  background:#0f1b2d !important;
  box-shadow:0 8px 20px rgba(0,0,0,.18) !important;
  transform:none !important;
}

/* V8.115.160 — IPs suspeitos sem fundo/hover vermelho */
.security-event-row.ip-alert{
  border-left:3px solid #ef4444 !important;
  background:#f8fafc !important;
  color:var(--text) !important;
  box-shadow:none !important;
  transform:none !important;
}
.security-event-row.ip-alert:hover,
.security-event-row.ip-alert:focus-within{
  background:#f8fafc !important;
  border-color:var(--line) !important;
  border-left-color:#ef4444 !important;
  color:var(--text) !important;
  box-shadow:none !important;
  transform:none !important;
}
html[data-theme="dark"] .security-event-row.ip-alert,
html[data-theme="dark"] .security-event-row.ip-alert:hover,
html[data-theme="dark"] .security-event-row.ip-alert:focus-within{
  background:#101f33 !important;
  border-color:#29405e !important;
  border-left-color:#ef4444 !important;
  color:#dbe7f7 !important;
  box-shadow:none !important;
  transform:none !important;
}
.security-event-row.ip-alert b{color:inherit !important}
.security-event-row.ip-alert span{color:var(--muted) !important}
html[data-theme="dark"] .security-event-row.ip-alert span{color:#9fb0c8 !important}

/* V8.115.160 — hardening de recuperação, assinatura, credenciais e Docker socket */

/* === source: release-189.css === */
/* NexaOper V8.115.167 — consolidação visual preservada da V8.115.129; release de hardening de Financeiro, Monitoramento e Privacidade */
#page-payments,#page-monitoring,#page-privacy{min-width:0}
.payments-hero,.monitor-hero,.privacy-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;margin-bottom:16px;background:linear-gradient(135deg,#f7faff,#eef4ff);border-color:#d8e5ff}
.payments-hero h3,.monitor-hero h3,.privacy-hero h3{font-size:23px;margin:8px 0 5px}.payments-hero p,.monitor-hero p,.privacy-hero p{margin:0;color:var(--muted)}
.finance-kpis,.monitor-kpis,.privacy-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.finance-kpi,.monitor-card,.privacy-kpis>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 8px 20px rgba(15,23,42,.04);display:grid;gap:7px;min-width:0}
.finance-kpi span,.monitor-card>span,.privacy-kpis span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.035em}.finance-kpi b,.monitor-card>b,.privacy-kpis b{font-size:25px;line-height:1.1}.finance-kpi small,.monitor-card small{color:var(--muted)}
.finance-kpi.success{border-left:4px solid #22c55e}.finance-kpi.warning{border-left:4px solid #f59e0b}.finance-kpi.overdue{border-left:4px solid #ef4444}
.payments-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:16px;margin-bottom:16px}.payments-grid>.card{margin:0;min-width:0}
.payment-reminders{display:grid;gap:9px}.payment-reminder{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#f9fbff}.payment-reminder>div{display:grid;gap:3px;min-width:0}.payment-reminder span,.payment-reminder small{font-size:11px;color:var(--muted)}.payment-reminder.danger{border-left:4px solid #ef4444}.payment-reminder.warning{border-left:4px solid #f59e0b}.payment-reminder.info{border-left:4px solid #3b82f6}.payment-reminder.blocked{border-left:4px solid #64748b}
.gateway-summary{display:grid;gap:14px}.gateway-active{padding:18px;border:1px solid var(--line);border-radius:15px;background:#f8faff;display:grid;gap:5px}.gateway-active small,.gateway-active span{color:var(--muted)}.gateway-active b{font-size:22px}.gateway-pills{display:flex;flex-wrap:wrap;gap:8px}.gateway-pills span{padding:7px 10px;border-radius:999px;border:1px solid var(--line);font-size:11px;font-weight:800}.gateway-pills .ok{background:#eaf8f0;color:#167046;border-color:#ccebd9}.gateway-pills .muted{background:#f3f5f8;color:#708096}
.payment-history-card{margin-top:16px}.payment-history-card .titlebar input{max-width:300px}.payment-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}.payment-status.paid{background:#eaf8f0;color:#167046}.payment-status.pending{background:#fff6db;color:#946200}.payment-status.overdue,.payment-status.error{background:#ffecec;color:#b42318}.payment-status.refunded,.payment-status.cancelled{background:#eef1f5;color:#64748b}
.plan-module-editor{border-top:1px solid var(--line);padding-top:11px;margin-top:3px}.plan-module-editor>small{display:block;font-weight:850;margin-bottom:8px}.plan-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.plan-module-grid label{display:flex;align-items:center;gap:7px;padding:7px 8px;border:1px solid var(--line);border-radius:10px;background:#f9fbff;font-size:10.5px}.plan-module-grid input{width:16px;height:16px;accent-color:var(--pri)}
.company-features-section.plan-linked .company-feature-grid{opacity:.7}.company-features-section select{max-width:360px;margin-bottom:7px}
.live-indicator{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eaf8f0;color:#167046;font-size:11px;font-weight:850;white-space:nowrap}.live-indicator i{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}
.monitor-card.ok{border-top:3px solid #22c55e}.monitor-card.warning{border-top:3px solid #f59e0b}.monitor-card.critical{border-top:3px solid #ef4444}.metric-bar{height:7px;background:#eef2f7;border-radius:999px;overflow:hidden}.metric-bar i{display:block;width:0;height:100%;background:currentColor;border-radius:inherit;transition:width .35s ease}.monitor-card.ok .metric-bar{color:#22c55e}.monitor-card.warning .metric-bar{color:#f59e0b}.monitor-card.critical .metric-bar{color:#ef4444}
.network-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.network-totals>div{padding:13px;border:1px solid var(--line);border-radius:13px;background:#f8fafc;display:grid;gap:4px}.network-totals span{font-size:10px;color:var(--muted);text-transform:uppercase}.network-totals b{font-size:15px}.interface-list{display:grid;gap:7px;margin-top:12px}.interface-list>div{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:#f8fafc;border:1px solid var(--line);font-size:11px}.interface-list span{color:var(--muted)}
.system-alerts{display:grid;gap:8px}.system-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:12px}.system-alert>div{display:grid;gap:2px}.system-alert span,.system-alert small{font-size:10.5px;color:var(--muted)}.system-alert.warning{border-left:4px solid #f59e0b}.system-alert.critical{border-left:4px solid #ef4444}
.privacy-docs{display:flex;gap:9px;flex-wrap:wrap}.privacy-docs span{padding:9px 11px;background:#f6f9ff;border:1px solid #dfe8f8;border-radius:11px;font-size:11px;font-weight:800;color:#3b567e}
html[data-theme="dark"] .payments-hero,html[data-theme="dark"] .monitor-hero,html[data-theme="dark"] .privacy-hero{background:linear-gradient(135deg,#101f33,#0d192a)!important;border-color:#2b3d57!important}
html[data-theme="dark"] .finance-kpi,html[data-theme="dark"] .monitor-card,html[data-theme="dark"] .privacy-kpis>div{background:#0f1b2d!important;border-color:#25344b!important;color:#e9f1ff!important}
html[data-theme="dark"] .payment-reminder,html[data-theme="dark"] .gateway-active,html[data-theme="dark"] .plan-module-grid label,html[data-theme="dark"] .network-totals>div,html[data-theme="dark"] .interface-list>div,html[data-theme="dark"] .privacy-docs span{background:#101f33!important;border-color:#29405e!important;color:#dbe7f7!important}
html[data-theme="dark"] .gateway-pills .ok{background:#103225!important;border-color:#276747!important;color:#8fe0b8!important}html[data-theme="dark"] .gateway-pills .muted{background:#172437!important;border-color:#2b3d57!important;color:#9cadc4!important}
html[data-theme="dark"] .metric-bar{background:#26364d!important}html[data-theme="dark"] .payment-status.paid{background:#103225;color:#8fe0b8}html[data-theme="dark"] .payment-status.pending{background:#332815;color:#f0ce83}html[data-theme="dark"] .payment-status.overdue,html[data-theme="dark"] .payment-status.error{background:#361b24;color:#ffb1bc}html[data-theme="dark"] .payment-status.refunded,html[data-theme="dark"] .payment-status.cancelled{background:#172437;color:#aebbd0}
@media(max-width:1100px){.finance-kpis,.monitor-kpis,.privacy-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.payments-grid{grid-template-columns:1fr}.plan-module-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.payments-hero,.monitor-hero,.privacy-hero{align-items:stretch;flex-direction:column}.finance-kpis,.monitor-kpis,.privacy-kpis,.network-totals{grid-template-columns:1fr}.payment-history-card .titlebar{align-items:stretch!important}.payment-history-card .titlebar input{max-width:none;width:100%}.plan-module-grid{grid-template-columns:1fr}.payment-reminder{align-items:flex-start;flex-direction:column}.live-indicator{align-self:flex-start}}

/* Operação do servidor, backup completo e exclusão LGPD */
.monitor-ops-grid{align-items:stretch}.service-health-grid,.backup-monitor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.backup-monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-health-grid>div,.backup-monitor-grid>div{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#f8fafc;min-width:0}.service-health-grid span,.backup-monitor-grid span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.service-health-grid b,.backup-monitor-grid b{font-size:14px;overflow-wrap:anywhere}.service-problems{display:grid;gap:7px;margin-top:12px}.service-problems>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;font-size:11px}.service-problems span{color:var(--muted)}.service-ok{background:#eaf8f0;border-color:#ccebd9!important;color:#167046;padding:10px 12px!important}.privacy-actions{flex-wrap:wrap!important}.privacy-erasure-warning{padding:13px;border-radius:12px;background:#fff1f1;border:1px solid #f3bcbc;color:#8e2020;margin-bottom:12px}.privacy-erasure-warning p{margin:5px 0 0;line-height:1.45;color:#a13a3a;font-size:12px}
html[data-theme="dark"] .service-health-grid>div,html[data-theme="dark"] .backup-monitor-grid>div,html[data-theme="dark"] .service-problems>div{background:#101f33!important;border-color:#29405e!important;color:#dbe7f7!important}html[data-theme="dark"] .service-ok{background:#103225!important;border-color:#276747!important;color:#8fe0b8!important}html[data-theme="dark"] .privacy-erasure-warning{background:#361b24!important;border-color:#74424e!important;color:#ffb1bc!important}html[data-theme="dark"] .privacy-erasure-warning p{color:#e6a0aa!important}
@media(max-width:700px){.service-health-grid,.backup-monitor-grid{grid-template-columns:1fr}.service-problems>div{align-items:flex-start;flex-direction:column}}


/* V8.115.129 — ajustes solicitados na Central */
.payment-main-settings>label.switch-line{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  align-self:end;
  gap:10px!important;
  min-height:44px;
  padding:0 2px;
}
.payment-main-settings>label.switch-line input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  min-width:18px;
  margin:0!important;
  flex:0 0 18px;
}
.payment-main-settings>label.switch-line span{
  display:block;
  line-height:1.25;
  margin:0;
}
.backup-command-help{
  margin-top:12px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8fafc;
  display:grid;
  gap:5px;
}
.backup-command-help b{font-size:11px}.backup-command-help span{font-size:10.5px;color:var(--muted);line-height:1.5}.backup-command-help code{font-weight:800;color:var(--ink)}
html[data-theme="dark"] .backup-command-help{background:#101f33!important;border-color:#29405e!important;color:#dbe7f7!important}
html[data-theme="dark"] .backup-command-help code{color:#e9f1ff!important}


/* V8.115.129 — refinamentos visuais finais da Central */
 .finance-kpi.overdue{
  border-left:4px solid #ef4444 !important;
  background:#fff !important;
  border-top-color:var(--line) !important;
  border-right-color:var(--line) !important;
  border-bottom-color:var(--line) !important;
  box-shadow:0 8px 20px rgba(15,23,42,.04) !important;
}
.finance-kpi.overdue span{color:var(--muted) !important}
.finance-kpi.overdue b{color:#b42318 !important;font-size:25px !important}
.finance-kpi.overdue small{color:var(--muted) !important;font-weight:600 !important}

.monitor-card[data-metric="network"] b{
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
  line-height:1.15;
  font-size:clamp(20px,2vw,28px) !important;
}
.monitor-card[data-metric="network"] small{font-size:12px !important}

#priorityCompanies{
  width:100% !important;
  min-width:0 !important;
}
.priority-list{
  width:100% !important;
  align-content:stretch !important;
}
.priority-list .empty-state,
.priority-empty-state{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:250px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  padding:34px 28px !important;
  margin:0 !important;
  border:1px dashed #d8e3f4 !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#fbfcff 0%,#f4f8ff 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
  text-align:center !important;
  color:#70819b !important;
}
.priority-empty-state strong,
.priority-list .empty-state strong{
  color:#274061 !important;
  font-size:22px !important;
  line-height:1.2 !important;
}
.priority-empty-state small,
.priority-list .empty-state small{
  max-width:560px !important;
  color:#7c8ca2 !important;
  font-size:14px !important;
  line-height:1.6 !important;
}
.priority-item{align-items:center !important;min-height:92px !important}
.priority-side{align-items:flex-end !important;gap:8px !important}

html[data-theme="dark"]  .finance-kpi.overdue{
  background:#0f1b2d !important;
  border-color:#25344b !important;
  border-left-color:#ef4444 !important;
  box-shadow:0 8px 20px rgba(0,0,0,.18) !important;
}
html[data-theme="dark"] .finance-kpi.overdue span{color:#9fb0c8 !important}
html[data-theme="dark"] .finance-kpi.overdue b{color:#ff8f8f !important;font-size:25px !important}
html[data-theme="dark"] .finance-kpi.overdue small{color:#9fb0c8 !important;font-weight:600 !important}
html[data-theme="dark"] .priority-list .empty-state,
html[data-theme="dark"] .priority-empty-state{
  background:linear-gradient(180deg,#122033 0%,#0f1a2b 100%) !important;
  border-color:#2c4366 !important;
  color:#9fb0c8 !important;
}
html[data-theme="dark"] .priority-empty-state strong,
html[data-theme="dark"] .priority-list .empty-state strong{color:#edf4ff !important}
html[data-theme="dark"] .priority-empty-state small,
html[data-theme="dark"] .priority-list .empty-state small{color:#a8b7cc !important}

@media(max-width:1100px){
  .priority-list .empty-state,
  .priority-empty-state{min-height:210px !important}
}
@media(max-width:700px){
  .monitor-card[data-metric="network"] b{font-size:22px !important}
  .priority-list .empty-state,
  .priority-empty-state{
    min-height:170px !important;
    padding:24px 18px !important;
  }
  .priority-empty-state strong,
  .priority-list .empty-state strong{font-size:18px !important}
  .priority-empty-state small,
  .priority-list .empty-state small{font-size:13px !important}
}


/* V8.115.129 — card de vencidos no mesmo padrão visual dos demais */
 .finance-kpi.overdue{min-height:unset;}


/* V8.115.129 — primeira cobrança + renovação automática */
.payment-automation-card{margin:14px 0 16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f8fbff;display:grid;gap:13px}
.payment-automation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.payment-automation-head>div{display:grid;gap:4px}.payment-automation-head small{color:var(--muted);line-height:1.45}
.payment-automation-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(220px,.55fr);gap:12px;align-items:stretch}
.payment-automation-grid .switch-line{margin:0!important;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff;display:flex!important;align-items:flex-start!important;gap:10px!important;min-height:78px}
.payment-automation-grid .switch-line input{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:2px 0 0!important;flex:0 0 18px!important}
.payment-automation-grid .switch-line>span{display:grid;gap:3px;min-width:0}.payment-automation-grid .switch-line b{font-size:12px}.payment-automation-grid .switch-line small{font-size:10.5px;color:var(--muted);line-height:1.4;font-weight:500}
.payment-renewal-days{margin:0!important;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#fff;display:grid!important;grid-template-columns:1fr 74px;align-items:center;gap:5px 9px!important;font-size:11px!important}.payment-renewal-days input{grid-column:2;grid-row:1/3;min-height:42px!important;text-align:center;padding:8px!important}.payment-renewal-days small{color:var(--muted);font-weight:500}
.payment-automation-note{padding:10px 12px;border-radius:11px;background:#eef4ff;color:#49617f;font-size:10.5px;line-height:1.45}
html[data-theme="dark"] .payment-automation-card{background:#0f1b2d!important;border-color:#25344b!important}html[data-theme="dark"] .payment-automation-grid .switch-line,html[data-theme="dark"] .payment-renewal-days{background:#101f33!important;border-color:#29405e!important}html[data-theme="dark"] .payment-automation-note{background:#10233a!important;color:#b7c8df!important}
@media(max-width:1050px){.payment-automation-grid{grid-template-columns:1fr 1fr}.payment-renewal-days{grid-column:1/-1}}
@media(max-width:700px){.payment-automation-head{flex-direction:column}.payment-automation-grid{grid-template-columns:1fr}.payment-renewal-days{grid-column:auto}}


/* V8.115.134 — diagnóstico, banco e backups concentrados em Monitoramento */
.monitor-data-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 12px;padding:0 2px}.monitor-data-heading>div{display:grid;gap:4px}.monitor-data-heading h3{margin:0;font-size:17px}.monitor-data-heading p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.45}.monitor-data-heading .hero-tag{width:max-content}.monitoring-status-grid{margin-bottom:14px}.monitor-data-grid{margin-top:14px}.monitor-saved-data{min-width:0}
@media(max-width:700px){.monitor-data-heading{align-items:stretch;flex-direction:column}.monitor-data-heading button{width:100%}.monitor-data-grid{grid-template-columns:1fr}}

/* V8.115.134 — visão consolidada de backups e armazenamento por empresa */
.company-backup-monitor{margin:14px 0 18px;overflow:hidden}
.company-backup-titlebar{gap:18px;align-items:flex-start}
.company-backup-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.company-backup-actions .muted{font-size:10.5px}
.company-backup-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:13px 0}
.backup-kpi{display:grid;gap:4px;min-height:88px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fbfdff;border-left-width:4px}
.backup-kpi span{font-size:10.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.02em}.backup-kpi b{font-size:24px;line-height:1.05}.backup-kpi small{font-size:10.5px;color:var(--muted);line-height:1.35}
.backup-kpi.ok{border-left-color:#22a06b}.backup-kpi.warning{border-left-color:#e5a11b}.backup-kpi.danger{border-left-color:#e14b4b}.backup-kpi.neutral{border-left-color:#5d7dd8}
.monitor-policy-note{margin:0 0 13px;padding:10px 12px;border-radius:12px;background:#f4f7fc;border:1px solid var(--line);color:#60728c;font-size:10.5px;line-height:1.5}
.company-backup-table-wrap{margin-top:4px}.company-backup-table{min-width:1000px}.company-backup-table td{vertical-align:middle}.company-backup-table td:first-child{min-width:185px}.company-backup-table td:first-child b,.company-backup-table td:first-child small{display:block}.company-backup-table td:first-child small{margin-top:3px;color:var(--muted);font-size:9.5px;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.backup-row.warning td:first-child{box-shadow:inset 3px 0 0 #e5a11b}.backup-row.danger td:first-child{box-shadow:inset 3px 0 0 #e14b4b}.backup-row.ok td:first-child{box-shadow:inset 3px 0 0 #22a06b}
.backup-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:5px 8px;border-radius:999px;font-size:9.5px;font-weight:800;white-space:nowrap}.backup-status-pill.ok{background:#e7f7f0;color:#15714e}.backup-status-pill.warning{background:#fff5db;color:#8a5d00}.backup-status-pill.danger{background:#ffe9e9;color:#a52929}
html[data-theme="dark"] .backup-kpi{background:#101f33!important;border-color:#29405e!important}html[data-theme="dark"] .monitor-policy-note{background:#0f1b2d!important;border-color:#25344b!important;color:#a8b7cc!important}html[data-theme="dark"] .backup-status-pill.ok{background:#123428;color:#78d9ac}html[data-theme="dark"] .backup-status-pill.warning{background:#352a10;color:#f6c75a}html[data-theme="dark"] .backup-status-pill.danger{background:#3a1c21;color:#ff9797}
@media(max-width:1100px){.company-backup-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.company-backup-titlebar{flex-direction:column}.company-backup-actions{width:100%;justify-content:space-between}.company-backup-kpis{grid-template-columns:1fr 1fr}.backup-kpi{min-height:80px;padding:11px}.backup-kpi b{font-size:21px}}
@media(max-width:430px){.company-backup-kpis{grid-template-columns:1fr}}


/* V8.115.137 — Monitoramento de empresas clicável, filtros e detalhe operacional */
.company-backup-kpis .backup-kpi.danger{
  background:#fff8f8 !important;
  color:var(--text) !important;
  border-color:#f1d7d7 !important;
  border-left-color:#d84a4a !important;
  box-shadow:0 1px 2px rgba(163,35,35,.025);
}
.company-backup-kpis .backup-kpi.danger span,.company-backup-kpis .backup-kpi.danger small{color:#946060 !important}
.company-backup-kpis .backup-kpi.danger b{color:#922f35 !important}
.company-backup-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.34fr) minmax(180px,.4fr);gap:10px;margin:0 0 12px;align-items:end}
.company-backup-toolbar label{display:grid;gap:5px;margin:0}.company-backup-toolbar label>span{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;color:var(--muted)}
.company-backup-toolbar input,.company-backup-toolbar select{min-height:38px}
.company-backup-table .backup-row{cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease}.company-backup-table .backup-row:hover{background:#f7faff}.company-backup-table .backup-row:focus{outline:2px solid rgba(72,112,190,.38);outline-offset:-2px}.company-backup-table .backup-row td{position:relative}
.company-backup-table .backup-company-cell{padding-right:28px}.backup-row-open{display:block;margin-top:5px;color:#5273a8;font-size:9px;font-weight:800}.backup-row-chevron{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:18px;color:#8ca0bc;font-weight:400}
.company-monitor-detail{display:grid;gap:14px}.company-monitor-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#f8fbff}.company-monitor-detail-head>div{display:grid;gap:4px;min-width:0}.company-monitor-detail-head b{font-size:16px}.company-monitor-detail-head small{color:var(--muted);word-break:break-word}.company-monitor-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.company-monitor-detail-card{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.company-monitor-detail-card small{color:var(--muted);font-size:9.5px}.company-monitor-detail-card b{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.company-monitor-detail-card.warning{border-color:#efd9a6;background:#fffaf0}.company-monitor-detail-card.danger{border-color:#efcccc;background:#fff7f7;color:var(--text)}
.company-monitor-backups{display:grid;gap:8px}.company-monitor-backups>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.company-monitor-backups-list{display:grid;gap:7px}.company-monitor-backup-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:#fbfdff}.company-monitor-backup-item b{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-monitor-backup-item span,.company-monitor-backup-item small{font-size:9.5px;color:var(--muted);white-space:nowrap}.company-monitor-empty{padding:13px;border:1px dashed var(--line);border-radius:11px;color:var(--muted);font-size:10.5px;text-align:center}.company-monitor-hint{padding:10px 12px;border-radius:11px;background:#f4f7fc;color:#60728c;font-size:10px;line-height:1.45}
.company-monitor-modal-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.company-monitor-modal-actions .spacer{flex:1}.company-monitor-modal-actions button{min-height:36px}
html[data-theme="dark"] .company-backup-kpis .backup-kpi.danger{background:#241719 !important;border-color:#4c2a30 !important;border-left-color:#e65a62 !important;color:#f2f6fc !important}html[data-theme="dark"] .company-backup-kpis .backup-kpi.danger span,html[data-theme="dark"] .company-backup-kpis .backup-kpi.danger small{color:#d5a4aa !important}html[data-theme="dark"] .company-backup-kpis .backup-kpi.danger b{color:#ff9aa1 !important}
html[data-theme="dark"] .company-backup-table .backup-row:hover{background:#0f1c2e}html[data-theme="dark"] .company-monitor-detail-head,html[data-theme="dark"] .company-monitor-detail-card,html[data-theme="dark"] .company-monitor-backup-item{background:#101f33;border-color:#29405e}html[data-theme="dark"] .company-monitor-detail-card.warning{background:#2b2415;border-color:#5c4923}html[data-theme="dark"] .company-monitor-detail-card.danger{background:#2d191c;border-color:#5d3036;color:#edf4ff}html[data-theme="dark"] .company-monitor-hint{background:#0f1b2d;color:#a8b7cc}
@media(max-width:900px){.company-backup-toolbar{grid-template-columns:1fr 1fr}.company-backup-search{grid-column:1/-1}.company-monitor-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.company-backup-toolbar{grid-template-columns:1fr}.company-backup-search{grid-column:auto}.company-monitor-detail-head{flex-direction:column}.company-monitor-detail-grid{grid-template-columns:1fr}.company-monitor-backup-item{grid-template-columns:1fr auto}.company-monitor-backup-item small{grid-column:1/-1}.company-monitor-modal-actions{display:grid;grid-template-columns:1fr}.company-monitor-modal-actions .spacer{display:none}}


/* V8.115.141 — Monitoramento: card crítico no mesmo padrão visual dos demais KPIs */
.company-backup-kpis .backup-kpi.critical,
.company-backup-kpis .backup-kpi.critical:hover,
.company-backup-kpis .backup-kpi.critical:focus,
.company-backup-kpis .backup-kpi.critical:active{
  background:#fbfdff !important;
  color:var(--text) !important;
  border:1px solid var(--line) !important;
  border-left:4px solid #e14b4b !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
  transition:none !important;
}
.company-backup-kpis .backup-kpi.critical span,
.company-backup-kpis .backup-kpi.critical small{
  color:var(--muted) !important;
}
.company-backup-kpis .backup-kpi.critical b{
  color:var(--text) !important;
}
html[data-theme="dark"] .company-backup-kpis .backup-kpi.critical,
html[data-theme="dark"] .company-backup-kpis .backup-kpi.critical:hover,
html[data-theme="dark"] .company-backup-kpis .backup-kpi.critical:focus,
html[data-theme="dark"] .company-backup-kpis .backup-kpi.critical:active{
  background:#101f33 !important;
  color:#eef4ff !important;
  border-color:#29405e !important;
  border-left-color:#e65a62 !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
}
html[data-theme="dark"] .company-backup-kpis .backup-kpi.critical span,
html[data-theme="dark"] .company-backup-kpis .backup-kpi.critical small{color:#a8b7cc !important}
html[data-theme="dark"] .company-backup-kpis .backup-kpi.critical b{color:#eef4ff !important}

/* V8.115.141 - ajuste seguro do prazo da licença */
.license-adjust-mode{display:grid;gap:4px;padding:12px 14px;border-radius:12px;border:1px solid #cfe0ff;background:#f7faff;color:#24466f}
.license-adjust-mode.remove{border-color:#f2c7c7;background:#fffafa;color:#963d3d}
.license-adjust-mode span{font-size:11px;line-height:1.4;color:var(--muted)}
.license-adjust-reason input{font-size:13px!important;font-weight:650!important}
.license-adjust-preview{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--soft,#f8fafc)}
.license-adjust-preview span{font-size:11px;color:var(--muted)}.license-adjust-preview b{font-size:14px}.license-adjust-preview small{width:100%;color:var(--muted)}
.license-adjust-preview.critical{border-color:#efb8b8;background:#fff8f8}.license-adjust-preview.critical b,.license-adjust-preview.critical small{color:#b42318}
.renew-info.license-adjust-warning{background:#fff8ee;color:#815925;border:1px solid #f1d6ad}
html[data-theme="dark"] .license-adjust-mode{background:#14243a;border-color:#28476f;color:#d9e8ff}
html[data-theme="dark"] .license-adjust-mode.remove{background:#2d1b22;border-color:#61313c;color:#ffc1c8}
html[data-theme="dark"] .license-adjust-preview{background:#101c2c;border-color:#2a3a50}
html[data-theme="dark"] .license-adjust-preview.critical{background:#2d1b22;border-color:#61313c}
html[data-theme="dark"] .renew-info.license-adjust-warning{background:#302619;border-color:#6b512b;color:#f1d7a9}


/* V8.115.141 — governança: aceite versionado e confirmação reforçada */
.terms-acceptance-card .terms-company-doc{display:block;margin-top:3px;color:var(--muted);font-size:10px}.terms-version-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf3fb;color:#496784;font-size:10px;font-weight:800}.terms-ok{display:inline-flex;align-items:center;gap:5px;color:#238a5d;font-weight:850;font-size:11px}.terms-check{display:flex!important;align-items:flex-start!important;gap:9px!important;padding:10px 12px;border:1px solid #ead8d8;border-radius:11px;background:#fffafb}.terms-check input{width:17px!important;height:17px!important;min-height:0!important;flex:0 0 auto;margin-top:1px}.terms-check span{font-size:11px;line-height:1.45}.privacy-erasure-warning strong{color:#b4232c}html[data-theme="dark"] .terms-version-pill{background:#162942;color:#b8c9df}html[data-theme="dark"] .terms-check{background:#231b20;border-color:#50313b}


/* V8.115.160 — Monitoramento gratuito de segurança */
.security-monitor-panel{margin-top:16px;margin-bottom:16px}.security-monitor-titlebar{align-items:center}.security-monitor-state{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:8px;row-gap:2px;text-align:right}.security-monitor-state small{grid-column:1/3;color:var(--muted);font-size:10px}.security-dot{width:10px;height:10px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 5px rgba(148,163,184,.12)}.security-dot.ok{background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}.security-dot.warning{background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.12)}.security-dot.critical{background:#ef4444;box-shadow:0 0 0 5px rgba(239,68,68,.12)}
.security-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.security-kpi{padding:13px;border:1px solid var(--line);border-radius:13px;background:#f8fafc;display:grid;gap:4px;min-width:0}.security-kpi span{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:850}.security-kpi b{font-size:21px;line-height:1.1}.security-kpi small{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.security-last-event{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;margin-bottom:12px}.security-last-event b{font-size:11px;white-space:nowrap}.security-last-event span{font-size:11px;color:var(--muted)}.security-last-event.warning{border-left:4px solid #f59e0b}.security-last-event.critical{border-left:4px solid #ef4444}
.security-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.security-detail-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;min-width:0}.security-detail-head{display:grid;gap:2px;margin-bottom:9px}.security-detail-head b{font-size:12px}.security-detail-head small{font-size:10px;color:var(--muted)}.security-event-list{display:grid;gap:6px;max-height:250px;overflow:auto}.security-event-row{display:grid;gap:2px;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;min-width:0}.security-event-row b{font-size:10.5px;overflow-wrap:anywhere}.security-event-row span{font-size:9.8px;color:var(--muted);overflow-wrap:anywhere}.security-event-row.warning{border-left:3px solid #f59e0b}.security-event-row.danger{border-left:3px solid #ef4444}
.security-event-row.scanner-alert{
  border-left:3px solid #ef4444 !important;
  background:#f8fafc !important;
  color:var(--text) !important;
  box-shadow:none !important;
  transform:none !important;
}
.security-event-row.scanner-alert:hover,
.security-event-row.scanner-alert:focus-within{
  background:#f8fafc !important;
  border-color:var(--line) !important;
  border-left-color:#ef4444 !important;
  color:var(--text) !important;
  box-shadow:none !important;
  transform:none !important;
}
html[data-theme="dark"] .security-event-row.scanner-alert,
html[data-theme="dark"] .security-event-row.scanner-alert:hover,
html[data-theme="dark"] .security-event-row.scanner-alert:focus-within{
  background:#101f33 !important;
  border-color:#29405e !important;
  border-left-color:#ef4444 !important;
  color:#dbe7f7 !important;
  box-shadow:none !important;
  transform:none !important;
}
.security-event-row.scanner-alert b{color:inherit !important}
.security-event-row.scanner-alert span{color:var(--muted) !important}
html[data-theme="dark"] .security-event-row.scanner-alert span{color:#9fb0c8 !important}.security-note-free{margin-top:12px}
html[data-theme="dark"] .security-kpi,html[data-theme="dark"] .security-last-event,html[data-theme="dark"] .security-detail-card,html[data-theme="dark"] .security-event-row{background:#101f33!important;border-color:#29405e!important;color:#dbe7f7!important}
@media(max-width:1100px){.security-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.security-monitor-titlebar{align-items:flex-start!important}.security-monitor-state{text-align:left}.security-kpis,.security-detail-grid{grid-template-columns:1fr}.security-last-event{align-items:flex-start;flex-direction:column}.security-last-event b{white-space:normal}}

/* V8.115.160 — card Vencidos no mesmo padrão visual dos demais, sem hover vermelho */
.finance-kpi.overdue{
  background:#fff !important;
  color:var(--text) !important;
  transition:none !important;
}
.finance-kpi.overdue:hover,.finance-kpi.overdue:focus-within{
  background:#fff !important;
  box-shadow:0 8px 20px rgba(15,23,42,.04) !important;
  transform:none !important;
}
html[data-theme="dark"] .finance-kpi.overdue:hover,
html[data-theme="dark"] .finance-kpi.overdue:focus-within{
  background:#0f1b2d !important;
  box-shadow:0 8px 20px rgba(0,0,0,.18) !important;
  transform:none !important;
}

/* V8.115.160 — IPs suspeitos sem fundo/hover vermelho */
.security-event-row.ip-alert{
  border-left:3px solid #ef4444 !important;
  background:#f8fafc !important;
  color:var(--text) !important;
  box-shadow:none !important;
  transform:none !important;
}
.security-event-row.ip-alert:hover,
.security-event-row.ip-alert:focus-within{
  background:#f8fafc !important;
  border-color:var(--line) !important;
  border-left-color:#ef4444 !important;
  color:var(--text) !important;
  box-shadow:none !important;
  transform:none !important;
}
html[data-theme="dark"] .security-event-row.ip-alert,
html[data-theme="dark"] .security-event-row.ip-alert:hover,
html[data-theme="dark"] .security-event-row.ip-alert:focus-within{
  background:#101f33 !important;
  border-color:#29405e !important;
  border-left-color:#ef4444 !important;
  color:#dbe7f7 !important;
  box-shadow:none !important;
  transform:none !important;
}
.security-event-row.ip-alert b{color:inherit !important}
.security-event-row.ip-alert span{color:var(--muted) !important}
html[data-theme="dark"] .security-event-row.ip-alert span{color:#9fb0c8 !important}

/* V8.115.160 — hardening de recuperação, assinatura, credenciais e Docker socket */


/* NexaOper V8.115.167 — organização profissional das ações da empresa na Central */

/* Modal da empresa: ações divididas por finalidade, sem botões soltos. */
.company-action-center.profile-actions-top{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  margin:-4px 0 4px !important;
  padding:0 0 16px !important;
  border-top:0 !important;
  border-bottom:1px solid var(--line) !important;
}
.company-action-center.profile-actions-top.hidden{display:none !important}
.company-action-group{
  display:grid;
  grid-template-columns:148px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#f9fbff;
  min-width:0;
}
.company-action-group-title{
  display:grid;
  gap:3px;
  min-width:0;
}
.company-action-group-title b{
  font-size:12px;
  line-height:1.2;
  color:var(--text);
}
.company-action-group-title small{
  color:var(--muted);
  font-size:9.5px;
  line-height:1.35;
}
.company-action-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  min-width:0;
}
.company-action-center .company-action-btn{
  width:100% !important;
  min-width:0 !important;
  min-height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  padding:9px 11px !important;
  border-radius:10px !important;
  line-height:1.15 !important;
  text-align:center !important;
  white-space:normal !important;
}
.company-action-span-2{grid-column:span 2}

/* Azul suave para ações administrativas reversíveis. */
button.primary-soft,
.primary-soft{
  background:#f3f7ff !important;
  border-color:#c9d9fb !important;
  color:#2459c6 !important;
}
/* Âmbar para suspensão: chama atenção sem parecer exclusão definitiva. */
button.warning-soft,
.warning-soft{
  background:#fff8e8 !important;
  border-color:#efd398 !important;
  color:#8a5a00 !important;
}
@media(hover:hover) and (pointer:fine){
  button.primary-soft:not(:disabled):hover,
  .primary-soft:not(:disabled):hover{
    background:#eaf1ff !important;
    border-color:#aec6f6 !important;
    color:#194cae !important;
    box-shadow:0 8px 18px rgba(36,89,198,.12) !important;
  }
  button.warning-soft:not(:disabled):hover,
  .warning-soft:not(:disabled):hover{
    background:#fff2d2 !important;
    border-color:#e6c36e !important;
    color:#744900 !important;
    box-shadow:0 8px 18px rgba(138,90,0,.12) !important;
  }
}

/* Tema escuro mantém a mesma hierarquia visual. */
html[data-theme="dark"] .company-action-group{
  background:#101f33 !important;
  border-color:#29405e !important;
}
html[data-theme="dark"] button.primary-soft,
html[data-theme="dark"] .primary-soft{
  background:#132744 !important;
  border-color:#315482 !important;
  color:#a9c8ff !important;
}
html[data-theme="dark"] button.warning-soft,
html[data-theme="dark"] .warning-soft{
  background:#302817 !important;
  border-color:#6b5426 !important;
  color:#f1ce7b !important;
}
@media(hover:hover) and (pointer:fine){
  html[data-theme="dark"] button.primary-soft:not(:disabled):hover,
  html[data-theme="dark"] .primary-soft:not(:disabled):hover{
    background:#183256 !important;
    border-color:#426da7 !important;
    color:#c4d9ff !important;
  }
  html[data-theme="dark"] button.warning-soft:not(:disabled):hover,
  html[data-theme="dark"] .warning-soft:not(:disabled):hover{
    background:#3a3019 !important;
    border-color:#86672a !important;
    color:#ffe09a !important;
  }
}

/* Tabela Empresas: os botões passam a formar uma grade regular em vez de uma nuvem de ações. */
#page-companies .table-wrap .actions{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(82px,1fr)) !important;
  gap:6px !important;
  min-width:276px;
  align-items:stretch !important;
}
#page-companies .table-wrap .actions button{
  width:100% !important;
  min-width:0 !important;
  min-height:34px !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

/* Demais grupos de ação da Central seguem altura e espaçamento consistentes. */
.release-actions,
.security-alert-actions,
.company-backup-actions{
  gap:8px !important;
}
.release-actions button,
.security-alert-actions button,
.company-backup-actions button{
  min-height:40px;
}

@media(max-width:760px){
  .company-action-group{
    grid-template-columns:1fr;
    gap:9px;
    padding:12px;
  }
  .company-action-group-title{
    padding-bottom:8px;
    border-bottom:1px solid var(--line);
  }
  .company-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .company-action-span-2{grid-column:span 1}
}
@media(max-width:470px){
  .company-action-grid{grid-template-columns:1fr}
  .company-action-center .company-action-btn{min-height:44px !important}
}
/* NexaOper V8.115.188 — ações essenciais na listagem e cores consistentes no tema escuro */

/* A listagem de empresas exibe somente as três ações usadas no dia a dia. */
#page-companies .table-wrap .company-list-main-actions{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(92px,1fr)) !important;
  gap:7px !important;
  min-width:306px !important;
  align-items:stretch !important;
}
#page-companies .table-wrap .company-list-main-actions .company-list-main-btn{
  min-height:36px !important;
  padding:8px 10px !important;
  border-radius:10px !important;
  white-space:normal !important;
  line-height:1.15 !important;
}

/*
  No modal, o tema escuro mantém a MESMA linguagem de cores do tema claro.
  O fundo geral continua escuro; as ações preservam azul, vermelho suave,
  âmbar e azul suave para evitar que todas virem botões escuros iguais.
*/
html[data-theme="dark"] .company-action-center .company-action-btn:not(.primary):not(.danger):not(.primary-soft):not(.danger-soft):not(.warning-soft){
  background:#ffffff !important;
  border-color:#d9e3f2 !important;
  color:#18345d !important;
  box-shadow:none !important;
}
html[data-theme="dark"] .company-action-center .company-action-btn.primary,
html[data-theme="dark"] .company-action-center .company-action-btn.primary:hover,
html[data-theme="dark"] .company-action-center .company-action-btn.primary:focus-visible,
html[data-theme="dark"] .company-action-center .company-action-btn.primary:active{
  background:#2f6ff4 !important;
  border-color:#2f6ff4 !important;
  color:#ffffff !important;
}
html[data-theme="dark"] .company-action-center .company-action-btn.primary-soft,
html[data-theme="dark"] .company-action-center .company-action-btn.primary-soft:hover,
html[data-theme="dark"] .company-action-center .company-action-btn.primary-soft:focus-visible,
html[data-theme="dark"] .company-action-center .company-action-btn.primary-soft:active{
  background:#f3f7ff !important;
  border-color:#c9d9fb !important;
  color:#2459c6 !important;
}
html[data-theme="dark"] .company-action-center .company-action-btn.danger-soft,
html[data-theme="dark"] .company-action-center .company-action-btn.danger-soft:hover,
html[data-theme="dark"] .company-action-center .company-action-btn.danger-soft:focus-visible,
html[data-theme="dark"] .company-action-center .company-action-btn.danger-soft:active{
  background:#fff1f1 !important;
  border-color:#f3bcbc !important;
  color:#b42318 !important;
}
html[data-theme="dark"] .company-action-center .company-action-btn.warning-soft,
html[data-theme="dark"] .company-action-center .company-action-btn.warning-soft:hover,
html[data-theme="dark"] .company-action-center .company-action-btn.warning-soft:focus-visible,
html[data-theme="dark"] .company-action-center .company-action-btn.warning-soft:active{
  background:#fff8e8 !important;
  border-color:#efd398 !important;
  color:#8a5a00 !important;
}
html[data-theme="dark"] .company-action-center .company-action-btn.danger,
html[data-theme="dark"] .company-action-center .company-action-btn.danger:hover,
html[data-theme="dark"] .company-action-center .company-action-btn.danger:focus-visible,
html[data-theme="dark"] .company-action-center .company-action-btn.danger:active{
  background:#e34848 !important;
  border-color:#e34848 !important;
  color:#ffffff !important;
}

@media(hover:hover) and (pointer:fine){
  html[data-theme="dark"] .company-action-center .company-action-btn:not(.primary):not(.danger):not(.primary-soft):not(.danger-soft):not(.warning-soft):hover{
    background:#f3f7fd !important;
    border-color:#bdcde3 !important;
    color:#102f5c !important;
  }
}

@media(max-width:1100px){
  #page-companies .table-wrap .company-list-main-actions{
    grid-template-columns:1fr !important;
    min-width:128px !important;
  }
}

/* NexaOper V8.115.188 — release de identidade visual do app; mantém CSS cumulativo da V8.115.168 */

/* NexaOper V8.115.188 — contadores personalizados e Material removido configurável no formulário */

/* NexaOper V8.115.188 — preservação integral dos campos da O.S. até o Telegram. */

/* NexaOper V8.115.188 — importação estável de fotos Android/PWA sem referência temporária do picker. */


/* NexaOper V8.115.188 — responsividade completa da Central de Licenças */
html,body{max-width:100%;overflow-x:hidden}
#app,#app>main,#app>main>section{min-width:0;max-width:100%}
#app input,#app select,#app textarea,#app button{max-width:100%}
.table-wrap,.company-backup-table-wrap,.release-devices-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.modal-card{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}
@media(max-width:900px){
  #app{display:block!important;width:100%!important;min-height:100dvh!important}
  #app>aside{position:sticky!important;top:0!important;left:auto!important;width:100%!important;height:auto!important;min-height:64px!important;z-index:80!important;padding:10px 12px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-areas:"brand theme toggle" "nav nav nav"!important;align-items:center!important;gap:8px!important;border-right:0!important;border-bottom:1px solid var(--line)!important;box-shadow:0 6px 20px rgba(24,40,72,.08)!important}
  #app>aside .brand{grid-area:brand!important;min-width:0!important;padding:0!important;margin:0!important}
  #app>aside .brand .brand-wordmark{font-size:28px!important;line-height:1!important;white-space:nowrap!important}
  #app>aside .brand>span{font-size:10px!important;margin-top:2px!important}
  #app>aside .mobile-aside-theme-toggle{grid-area:theme!important;margin:0!important}
  #app>aside .mobile-menu-toggle{grid-area:toggle!important;margin:0!important}
  #app>aside nav{grid-area:nav!important;position:static!important;width:100%!important;max-height:0!important;overflow:hidden!important;display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:0!important;margin:0!important;opacity:0!important;transition:max-height .2s ease,opacity .15s ease,padding .2s ease!important}
  #app>aside.mobile-menu-open nav{max-height:70dvh!important;overflow:auto!important;opacity:1!important;padding:6px 0 2px!important}
  #app>aside nav button{width:100%!important;min-height:44px!important;text-align:left!important;justify-content:flex-start!important;padding:0 14px!important}
  #app>aside .logout{position:static!important;grid-column:1/-1!important;width:100%!important;display:none!important;margin:0!important;min-height:44px!important}
  #app>aside.mobile-menu-open .logout{display:flex!important}
  #app>main{width:100%!important;margin:0!important;padding:0!important}
  #app>main>header{position:sticky!important;top:64px!important;z-index:45!important;min-height:58px!important;height:auto!important;padding:9px 12px!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important}
  #app>main>header>div:first-child{min-width:0!important;flex:1 1 145px!important}
  #app>main>header h2{font-size:18px!important;line-height:1.2!important;margin:0!important}
  #app>main>header #clock{font-size:10px!important;margin:2px 0 0!important;white-space:normal!important}
  .header-actions{margin-left:auto!important;gap:7px!important;flex:0 1 auto!important;flex-wrap:wrap!important;justify-content:flex-end!important}
  .header-actions>.theme-toggle{display:none!important}
  .header-actions .btn-plus{min-height:40px!important;padding:8px 11px!important;font-size:12px!important}
  #app>main>section{padding:12px!important;width:100%!important}
  #app>main>footer{padding:16px 12px!important;text-align:center!important}
  .dashboard-grid,.kpis,.finance-kpis,.monitor-kpis,.privacy-kpis,.payments-grid,.payment-provider-grid,.payment-automation-grid,.commercial-plans-grid,.monitor-ops-grid,.monitor-data-grid,.security-kpis,.security-detail-grid,.service-health-grid,.monitoring-status-grid,.backup-monitor-grid,.company-backup-kpis,.status-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .settings-layout,.settings-form-grid,.payment-settings-grid,.release-publish-grid,.saved-data-grid,.system-status-grid,.tech-detail-grid{grid-template-columns:1fr!important}
  .card,.dashboard-hero,.payments-hero,.monitor-hero,.privacy-hero{max-width:100%!important;min-width:0!important}
  .titlebar,.card-head,.settings-hero,.payment-provider-head,.payment-automation-head,.monitor-data-heading,.company-backup-titlebar,.company-backup-toolbar,.security-detail-head{min-width:0!important;flex-wrap:wrap!important;align-items:flex-start!important}
  .titlebar>*,.card-head>*,.settings-hero>*,.company-backup-toolbar>*{min-width:0!important;max-width:100%!important}
  .settings-actions,.payment-settings-actions,.payment-provider-actions,.company-backup-actions,.release-actions,.modal-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .settings-actions button,.payment-settings-actions button,.payment-provider-actions button,.company-backup-actions button{flex:1 1 150px!important}
  .table-wrap table,.company-backup-table{min-width:680px!important}
}
@media(max-width:600px){
  #app>aside{grid-template-columns:minmax(0,1fr) 42px 42px!important;padding:9px 10px!important}
  #app>aside .brand .brand-wordmark{font-size:26px!important}
  #app>main>header{top:62px!important;padding:8px 10px!important}
  #app>main>section{padding:10px!important}
  .dashboard-grid,.kpis,.finance-kpis,.monitor-kpis,.privacy-kpis,.payments-grid,.payment-provider-grid,.payment-automation-grid,.commercial-plans-grid,.monitor-ops-grid,.monitor-data-grid,.security-kpis,.security-detail-grid,.service-health-grid,.monitoring-status-grid,.backup-monitor-grid,.company-backup-kpis,.status-summary-grid{grid-template-columns:1fr!important}
  .dashboard-hero,.payments-hero,.monitor-hero,.privacy-hero{padding:15px!important;flex-direction:column!important;align-items:stretch!important}
  .card{padding:14px!important}
  .header-actions{width:100%!important;justify-content:stretch!important;margin-left:0!important}
  .header-actions .btn-plus{width:100%!important}
  .modal{padding:8px!important;align-items:flex-start!important}
  .modal-card{width:100%!important;max-width:100%!important;margin:0!important;border-radius:16px!important;max-height:calc(100dvh - 16px)!important}
  .modal-actions button{flex:1 1 100%!important;width:100%!important}
  .settings-actions button,.payment-settings-actions button,.payment-provider-actions button,.company-backup-actions button{flex-basis:100%!important;width:100%!important}
}
@media(max-width:380px){
  #app>aside .brand .brand-wordmark{font-size:23px!important}
  #app>aside .brand>span{font-size:9px!important}
  #app>main>header h2{font-size:16px!important}
}
/* NexaOper V8.115.188 — camada responsiva consolidada da Central de Licenças.
   Esta folha é autoritativa no mobile para neutralizar regras legadas conflitantes. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
#app,#app>main,#app>main>section{min-width:0;max-width:100%}
#app img,#app svg,#app canvas,#app video{max-width:100%}
#app input,#app select,#app textarea{max-width:100%}
.table-wrap,.company-backup-table-wrap,.release-devices-table{width:100%;max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.card,.dashboard-panel,.dashboard-hero,.payments-hero,.monitor-hero,.privacy-hero{min-width:0;max-width:100%}
.modal{overflow-y:auto;overscroll-behavior:contain}
.modal-card{max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;overflow:auto!important}

@media(max-width:900px){
  #app{display:block!important;width:100%!important;min-height:100dvh!important}
  #app>aside{
    position:sticky!important;top:0!important;left:auto!important;z-index:90!important;
    width:100%!important;height:auto!important;min-height:64px!important;
    padding:calc(9px + env(safe-area-inset-top)) 12px 9px!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!important;border-right:0!important;border-bottom:1px solid var(--line)!important;
    box-shadow:0 6px 20px rgba(24,40,72,.08)!important;
  }
  html[data-theme="light"] #app>aside{background:#fff!important;color:#12284f!important;border-bottom-color:#e4ebf5!important}
  html[data-theme="dark"] #app>aside{background:#0b1728!important;color:#edf4ff!important;border-bottom-color:#253a57!important}
  #app>aside .brand{grid-area:brand!important;min-width:0!important;width:auto!important;padding:0!important;margin:0!important}
  #app>aside .brand .brand-wordmark{font-size:27px!important;line-height:1!important;white-space:nowrap!important}
  #app>aside .brand>span{font-size:10px!important;line-height:1.2!important;margin-top:3px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #app>aside .mobile-aside-theme-toggle,#app>aside .mobile-menu-toggle{
    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-radius:13px!important;box-shadow:none!important
  }
  #app>aside .mobile-aside-theme-toggle{grid-area:theme!important}
  #app>aside .mobile-menu-toggle{grid-area:toggle!important}
  html[data-theme="light"] #app>aside .mobile-aside-theme-toggle,
  html[data-theme="light"] #app>aside .mobile-menu-toggle{background:#f7f9fc!important;border:1px solid #dde5f0!important;color:#17345e!important}
  html[data-theme="dark"] #app>aside .mobile-aside-theme-toggle,
  html[data-theme="dark"] #app>aside .mobile-menu-toggle{background:#13243a!important;border:1px solid #2b405d!important;color:#e8f0fc!important}
  #app>aside nav{
    grid-area:nav!important;position:static!important;width:100%!important;max-height:0!important;overflow:hidden!important;
    display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:0!important;margin:0!important;opacity:0!important;
    pointer-events:none!important;transition:max-height .2s ease,opacity .15s ease,padding .2s ease!important
  }
  #app>aside.mobile-menu-open nav{max-height:68dvh!important;overflow-y:auto!important;opacity:1!important;pointer-events:auto!important;padding:6px 0 1px!important}
  #app>aside nav>button{width:100%!important;min-width:0!important;min-height:44px!important;text-align:left!important;justify-content:flex-start!important;padding:0 14px!important;border-radius:12px!important}
  #app>aside .logout{grid-area:logout!important;position:static!important;width:100%!important;min-height:44px!important;margin:0!important;display:none!important}
  #app>aside.mobile-menu-open .logout{display:flex!important;align-items:center!important;justify-content:center!important}

  #app>main{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;min-width:0!important}
  #app>main>header{
    position:static!important;top:auto!important;z-index:auto!important;width:100%!important;min-height:0!important;height:auto!important;
    padding:14px 12px 8px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex-wrap:wrap!important
  }
  #app>main>header>div:first-child{min-width:0!important;flex:1 1 160px!important}
  #app>main>header h2{font-size:20px!important;line-height:1.2!important;margin:0!important;overflow-wrap:anywhere!important}
  #app>main>header #clock{font-size:10px!important;margin:3px 0 0!important;white-space:normal!important}
  .header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;margin-left:auto!important;min-width:0!important;max-width:100%!important}
  .header-actions>.theme-toggle{display:none!important;visibility:hidden!important;pointer-events:none!important}
  .header-actions .btn-plus{min-height:42px!important;padding:8px 12px!important;font-size:12px!important;white-space:nowrap!important}

  #app>main>section{width:100%!important;max-width:100%!important;padding:10px 12px 14px!important;min-width:0!important}
  #app>main>footer{padding:18px 12px!important;text-align:center!important}
  .dashboard-grid,.payments-grid{grid-template-columns:1fr!important}
  .kpis,.premium-kpis,.finance-kpis,.monitor-kpis,.privacy-kpis,.commercial-plans-grid,.payment-provider-grid,.payment-automation-grid,.monitor-ops-grid,.monitor-data-grid,.security-kpis,.security-detail-grid,.service-health-grid,.monitoring-status-grid,.backup-monitor-grid,.company-backup-kpis,.status-summary-grid,.company-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .settings-layout,.settings-form-grid,.payment-settings-grid,.release-publish-grid,.saved-data-grid,.system-status-grid,.tech-detail-grid,.network-totals,.profile-grid,.company-feature-grid,.device-details{grid-template-columns:1fr!important}
  .titlebar,.card-head,.settings-hero,.payment-provider-head,.payment-automation-head,.monitor-data-heading,.company-backup-titlebar,.company-backup-toolbar,.security-detail-head,.profile-actions,.profile-actions-top{min-width:0!important;max-width:100%!important;flex-wrap:wrap!important;align-items:flex-start!important;gap:9px!important}
  .titlebar>*,.card-head>*,.settings-hero>*,.company-backup-toolbar>*{min-width:0!important;max-width:100%!important}
  .card-head input,.titlebar input{width:100%!important;max-width:none!important}
  .settings-actions,.payment-settings-actions,.payment-provider-actions,.company-backup-actions,.release-actions,.modal-actions,.profile-actions,.profile-actions-top{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .settings-actions button,.payment-settings-actions button,.payment-provider-actions button,.company-backup-actions button,.profile-actions button,.profile-actions-top button{flex:1 1 150px!important;min-height:42px!important}
  .table-wrap table,.company-backup-table,.release-devices-table{min-width:680px!important}
  .modal{padding:10px!important;align-items:flex-start!important;place-items:start center!important}
  .modal-card{width:min(720px,100%)!important;margin:0 auto!important;border-radius:18px!important}
}

@media(max-width:600px){
  #app>aside{grid-template-columns:minmax(0,1fr) 42px 42px!important;padding:calc(8px + env(safe-area-inset-top)) 10px 8px!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:25px!important}
  #app>main>header{padding:12px 10px 7px!important;align-items:stretch!important}
  #app>main>header>div:first-child{flex-basis:100%!important}
  .header-actions{width:100%!important;margin-left:0!important;justify-content:stretch!important}
  .header-actions .btn-plus{width:100%!important}
  #app>main>section{padding:9px 10px 13px!important}
  .kpis,.premium-kpis,.finance-kpis,.monitor-kpis,.privacy-kpis,.commercial-plans-grid,.payment-provider-grid,.payment-automation-grid,.monitor-ops-grid,.monitor-data-grid,.security-kpis,.security-detail-grid,.service-health-grid,.monitoring-status-grid,.backup-monitor-grid,.company-backup-kpis,.status-summary-grid,.company-cards-grid{grid-template-columns:1fr!important}
  .dashboard-hero,.payments-hero,.monitor-hero,.privacy-hero{padding:15px!important;flex-direction:column!important;align-items:stretch!important}
  .card{padding:14px!important;border-radius:15px!important}
  .modal{padding:8px!important}
  .modal-card{width:100%!important;max-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!important;width:100%!important}
  .modal-actions button,.settings-actions button,.payment-settings-actions button,.payment-provider-actions button,.company-backup-actions button,.profile-actions button,.profile-actions-top button{width:100%!important;flex-basis:100%!important}
  #app input:not([type="checkbox"]):not([type="radio"]),#app select,#app textarea{font-size:16px!important}
}

@media(max-width:360px){
  #app>aside{grid-template-columns:minmax(0,1fr) 40px 40px!important;gap:6px!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:23px!important}
  #app>aside .brand>span{font-size:9px!important}
  #app>main>header h2{font-size:18px!important}
}

/* NexaOper V8.115.188 — release funcional: MAC alfanumérico e descrição da O.S.; mantém responsividade consolidada da 176. */

/* NexaOper V8.115.188 — release de compatibilidade; sem alterações funcionais na Central. */

/* NexaOper V8.115.188 — migração de plano recalcula técnicos adicionais pelo plano de destino. */

/* NexaOper V8.115.188 — compatibilidade da Central; release funcional focada em Empresa/Mobile. */

/* NexaOper V8.115.188 — release funcional de edição de O.S.; Central sem alteração visual. */

/* NexaOper V8.115.188 — controles compactos de tema/menu em todo o projeto. */

/* Padrão visual da referência: botão ~38x38 e glifo 17-18px. */
.theme-toggle,
.theme-toggle-floating{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  max-width:38px!important;
  max-height:38px!important;
  flex:0 0 38px!important;
  padding:0!important;
}
.theme-toggle svg,
.theme-toggle-floating svg{
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  min-height:17px!important;
  max-width:17px!important;
  max-height:17px!important;
  transform:none!important;
  stroke-width:1.9!important;
}

@media(max-width:900px){
  #app>aside{
    grid-template-columns:minmax(0,1fr) 38px 38px!important;
    gap:7px!important;
  }
  #app>aside .mobile-aside-theme-toggle,
  #app>aside .mobile-menu-toggle{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    max-width:38px!important;
    max-height:38px!important;
    border-radius:12px!important;
    padding:0!important;
  }
  #app>aside .mobile-aside-theme-toggle svg{
    width:17px!important;
    height:17px!important;
    min-width:17px!important;
    min-height:17px!important;
    max-width:17px!important;
    max-height:17px!important;
    transform:none!important;
    stroke-width:1.9!important;
  }
  #app>aside .mobile-menu-toggle{
    gap:4px!important;
  }
  #app>aside .mobile-menu-toggle span{
    width:17px!important;
    height:2px!important;
  }
}
@media(max-width:360px){
  #app>aside{
    grid-template-columns:minmax(0,1fr) 38px 38px!important;
  }
  #app>aside .mobile-aside-theme-toggle,
  #app>aside .mobile-menu-toggle{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    max-width:38px!important;
    max-height:38px!important;
  }
}

/* NexaOper V8.115.188 — compatibilidade da Central; release funcional focada na separação CONECT APC/UPC na Empresa/Mobile. */

/* NexaOper V8.115.188 — exclusão persistente de Campos atuais; sem alteração visual adicional. */

/* NexaOper V8.115.189 — Central sem alteração adicional; camada herdada para compatibilidade. */

/* === source: release-190.css === */
/* NexaOper V8.115.190 — promoções controladas de pagamento antecipado */
.payment-promo-card{margin:14px 0;padding:15px;border:1px solid var(--line);border-radius:15px;background:#f8fbff;display:grid;gap:13px}
.payment-promo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.payment-promo-option{display:grid;gap:12px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}
.payment-promo-discount{display:grid;gap:6px;font-size:10px;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.025em}
.payment-promo-discount>div{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:6px}.payment-promo-discount input{min-width:0}.payment-promo-discount>div>span{height:39px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#f4f7fb;font-weight:900;color:var(--text)}
html[data-theme="dark"] .payment-promo-card,html[data-theme="dark"] .payment-promo-option{background:#101f33!important;border-color:#29405e!important;color:#dbe7f7!important}html[data-theme="dark"] .payment-promo-option{background:#0f1b2d!important}html[data-theme="dark"] .payment-promo-discount>div>span{background:#172437!important;border-color:#2b3d57!important;color:#e9f1ff!important}
@media(max-width:900px){.payment-promo-grid{grid-template-columns:1fr}}

/* Contrato visual preservado do Financeiro: checkbox Pix alinhado. */
.payment-main-settings>label.switch-line{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  align-self:end;
  gap:10px!important;
  min-height:44px;
  padding:0 2px;
}
.payment-main-settings>label.switch-line input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px;margin:0!important;flex:0 0 18px}
.payment-main-settings>label.switch-line span{display:block;line-height:1.25;margin:0}

/* === source: release-191.css === */
/* NexaOper V8.115.191 — promoção em rascunho + publicação global explícita */
.payment-promo-publish{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px dashed var(--line);border-radius:13px;background:#fff}
.payment-promo-publish>div{display:grid;gap:4px}.payment-promo-publish b{font-size:12px}.payment-promo-publish small{font-size:10px;line-height:1.45;color:var(--muted);max-width:720px}.payment-promo-publish button{min-width:225px}
html[data-theme="dark"] .payment-promo-publish{background:#0f1b2d!important;border-color:#355071!important}
@media(max-width:760px){.payment-promo-publish{align-items:stretch;flex-direction:column}.payment-promo-publish button{width:100%;min-width:0}}

/* Contrato visual preservado: checkbox Pix alinhado na release corrente. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px;padding:0 2px}
.payment-main-settings>label.switch-line input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px;margin:0!important;flex:0 0 18px}
.payment-main-settings>label.switch-line span{display:block;line-height:1.25;margin:0}

/* === source: release-192.css === */
/* V8.115.192 — mantém o contrato visual da Central; mudança funcional desta release está nos cards de planos da Empresa. */
/* NexaOper V8.115.192 — promoção em rascunho + publicação global explícita */
.payment-promo-publish{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px dashed var(--line);border-radius:13px;background:#fff}
.payment-promo-publish>div{display:grid;gap:4px}.payment-promo-publish b{font-size:12px}.payment-promo-publish small{font-size:10px;line-height:1.45;color:var(--muted);max-width:720px}.payment-promo-publish button{min-width:225px}
html[data-theme="dark"] .payment-promo-publish{background:#0f1b2d!important;border-color:#355071!important}
@media(max-width:760px){.payment-promo-publish{align-items:stretch;flex-direction:column}.payment-promo-publish button{width:100%;min-width:0}}

/* Contrato visual preservado: checkbox Pix alinhado na release corrente. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px;padding:0 2px}
.payment-main-settings>label.switch-line input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px;margin:0!important;flex:0 0 18px}
.payment-main-settings>label.switch-line span{display:block;line-height:1.25;margin:0}

/* === source: release-193.css === */
/* V8.115.193 — promoções com validade automática + Central > Avisos */
.payment-promo-period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.payment-promo-period-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700}
.payment-promo-period-grid input{min-height:44px}
.payment-promo-period-grid small{font-weight:500;color:var(--muted)}
.notices-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.notices-hero h3{margin:5px 0 7px;font-size:25px}
.notices-hero p{margin:0;color:var(--muted);max-width:820px;line-height:1.55}
.notice-editor-card,.notice-list-card{margin-bottom:18px}
.notice-editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px;align-items:end}
.notice-editor-grid>label{display:flex;flex-direction:column;gap:7px;font-weight:700}
.notice-editor-grid>label small{color:var(--muted);font-weight:500;line-height:1.35}
.notice-editor-grid .notice-message-field{grid-column:span 4}
.notice-editor-grid textarea{resize:vertical;min-height:120px}
.notice-editor-grid .notice-active-switch{align-self:stretch;justify-content:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--soft)}
.notice-editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:15px;border-top:1px solid var(--border)}
.company-notices-list{display:grid;gap:10px;margin-top:14px}
.company-notice-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:15px;border:1px solid var(--border);border-radius:15px;background:var(--card)}
.company-notice-row.promotion{border-color:color-mix(in srgb,#22c55e 42%,var(--border));background:color-mix(in srgb,#22c55e 6%,var(--card))}
.company-notice-main{min-width:0;flex:1}.company-notice-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:7px}.company-notice-head b{font-size:15px}
.company-notice-main p{margin:0 0 8px;white-space:pre-wrap;line-height:1.5;color:var(--text)}.company-notice-main>small{color:var(--muted)}
.notice-kind,.notice-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800}
.notice-kind{background:var(--soft);border:1px solid var(--border)}.company-notice-row.promotion .notice-kind{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.32);color:#16a34a}
.notice-status.active{background:rgba(34,197,94,.12);color:#16a34a}.notice-status.scheduled{background:rgba(59,130,246,.12);color:#3b82f6}.notice-status.expired,.notice-status.inactive{background:var(--soft);color:var(--muted)}
.company-notice-actions{display:flex;gap:8px;flex:0 0 auto}.company-notice-actions .danger{color:#dc2626}
@media(max-width:900px){.notice-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notice-editor-grid .notice-message-field{grid-column:span 2}.notices-hero,.company-notice-row{flex-direction:column}.company-notice-actions{width:100%}.company-notice-actions button{flex:1}}
@media(max-width:620px){.payment-promo-period-grid,.notice-editor-grid{grid-template-columns:1fr}.notice-editor-grid .notice-message-field{grid-column:auto}}
/* Mantém o contrato visual consolidado dos controles de pagamento na camada atual. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px;padding:0 2px}

/* === source: release-194.css === */
/* V8.115.194 — camada atual da Central; preserva os controles consolidados de pagamento */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px;padding:0 2px}

/* === source: release-195.css === */
/* NexaOper V8.115.195 — acabamento visual final da Central */
:root{
  --nexa-control-h:44px;
  --nexa-radius-sm:12px;
  --nexa-radius-md:16px;
  --nexa-radius-lg:20px;
  --nexa-space-1:6px;
  --nexa-space-2:10px;
  --nexa-space-3:14px;
  --nexa-space-4:18px;
}
html{font-size:16px;scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.45}
h1,h2,h3,h4{line-height:1.2}
header h2{font-size:20px!important;font-weight:900!important}
header p,.card-head p,.titlebar small,.hint{font-size:12px!important;line-height:1.5!important}
.card-head h3,.titlebar h3,.titlebar b{font-size:16px!important;line-height:1.3!important}
.card,.dashboard-panel,.settings-card{padding:20px!important}
.card,.kpi-card,.system-status-card,.company-card,.settings-card,.form-section{border-radius:18px!important}
.card:hover,.kpi-card:hover,.system-status-card:hover,.settings-card:hover{transform:none!important}
button,.btn,input,select{min-height:var(--nexa-control-h)!important}
button,.btn{padding:9px 13px;font-size:12px;line-height:1.2}
input,select,textarea{padding:10px 12px;font-size:13px;line-height:1.35}
textarea{min-height:108px}
label{font-size:12px;line-height:1.35}
button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(40,108,255,.22)!important;outline-offset:2px!important}
.actions{gap:7px!important}
.actions button{min-height:36px!important;padding:7px 10px!important;font-size:10.5px!important}
.pill,.version-tag,.status-pill{font-size:10.5px!important;line-height:1.15!important}
.table-wrap{overflow:auto;overscroll-behavior-inline:contain}
table{font-size:12.5px!important}
th{font-size:11px!important;letter-spacing:.015em}
th,td{padding:12px 11px!important;line-height:1.35}
tbody tr:hover{background:#f8fbff!important}
.modal-card{padding:20px!important}
.modal-head{min-height:44px;gap:12px}
.modal-head h3{font-size:18px!important;line-height:1.25!important}
.modal-head button{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:0!important}
.modal-actions{gap:8px!important;flex-wrap:wrap}
.modal-actions button{min-width:100px}
.toast{font-size:12px;line-height:1.4}
/* Menu: estado ativo forte, hover discreto e sem deslocamento lateral. */
aside nav button{min-height:44px!important}
aside nav button:hover{transform:none!important}
/* Controles compactos do cabeçalho seguem o mesmo padrão da Empresa. */
.header-actions .theme-toggle,.header-actions .icon-btn,.header-actions button[aria-label*="tema" i]{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:0!important;border-radius:12px!important}
.header-actions .theme-toggle svg,.header-actions .icon-btn svg{width:17px!important;height:17px!important}
/* Evita textos pequenos demais em cards operacionais. */
.company-card-top b,.priority-item b{font-size:13px!important}
.company-card-top small,.company-footer small,.priority-item small,.priority-item span{font-size:11px!important;line-height:1.4!important}
.company-meta span{font-size:10px!important}.company-meta b{font-size:12px!important}
/* Melhor adaptação em notebook e celular. */
@media(max-width:1180px){main{padding-left:20px!important;padding-right:20px!important}.company-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){main{padding:0 12px!important}header{min-height:68px!important;padding:10px 12px!important}.card,.dashboard-panel,.settings-card{padding:16px!important}.company-cards-grid{grid-template-columns:1fr!important}.modal-card{padding:16px!important}.header-actions{gap:7px!important}}
@media(max-width:560px){header{align-items:flex-start!important;flex-wrap:wrap!important}header h2{font-size:18px!important}.kpis,.premium-kpis{grid-template-columns:1fr 1fr!important}.modal-actions button{flex:1 1 100%;width:100%}.actions button{min-height:38px!important}}
html[data-theme="dark"] tbody tr:hover{background:#111f33!important}
html[data-theme="dark"] button:focus-visible,html[data-theme="dark"] .btn:focus-visible,html[data-theme="dark"] input:focus-visible,html[data-theme="dark"] select:focus-visible,html[data-theme="dark"] textarea:focus-visible{outline-color:rgba(91,143,255,.32)!important}
/* Compatibilidade visual consolidada: alinhamento do switch Pix no patch atual. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* === source: release-196.css === */
/* NexaOper V8.115.196 — correções finais de dashboard e alinhamento */

/* Empresas em destaque: cards compactos, legíveis e sem esticar verticalmente. */
.dashboard-grid > .dashboard-panel:first-child{
  align-content:start!important;
  min-height:0!important;
}
#priorityCompanies.priority-list,
.priority-list{
  display:flex!important;
  flex-direction:column!important;
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  align-content:initial!important;
  align-items:stretch!important;
  gap:10px!important;
}
.priority-item{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  width:100%!important;
  height:auto!important;
  min-height:74px!important;
  padding:13px 15px!important;
  border-radius:15px!important;
  text-align:left!important;
  overflow:hidden!important;
}
.priority-item>div:first-child{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
}
.priority-item>div:first-child b{
  margin:0!important;
  font-size:13.5px!important;
  line-height:1.25!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.priority-item>div:first-child small{
  font-size:10.5px!important;
  line-height:1.3!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.priority-side{
  display:grid!important;
  justify-items:end!important;
  align-content:center!important;
  gap:5px!important;
  min-width:max-content!important;
}
.priority-side .pill,
.priority-side .status-pill{
  margin:0!important;
  white-space:nowrap!important;
}
.priority-side>span{
  font-size:10.5px!important;
  font-weight:750!important;
  white-space:nowrap!important;
}
.priority-item.expiring{background:linear-gradient(90deg,#fffaf0 0%,#fff 42%)!important}
.priority-item.expired{background:linear-gradient(90deg,#fff6f6 0%,#fff 42%)!important}
.priority-item.suspended{background:linear-gradient(90deg,#f8fafc 0%,#fff 42%)!important}
html[data-theme="dark"] .priority-item.expiring{background:linear-gradient(90deg,#2b2415 0%,var(--card) 42%)!important}
html[data-theme="dark"] .priority-item.expired{background:linear-gradient(90deg,#2d191c 0%,var(--card) 42%)!important}
html[data-theme="dark"] .priority-item.suspended{background:linear-gradient(90deg,#182333 0%,var(--card) 42%)!important}

/* Com uma única empresa em atenção, o painel continua compacto e não cria um bloco gigante. */
.dashboard-grid > .dashboard-panel:first-child .titlebar{margin-bottom:12px!important}
.dashboard-grid > .dashboard-panel:first-child:has(.priority-item){min-height:auto!important;height:auto!important}

@media(max-width:620px){
  .priority-item{grid-template-columns:1fr!important;gap:9px!important;min-height:0!important;padding:12px!important}
  .priority-side{grid-template-columns:auto auto!important;justify-content:space-between!important;justify-items:start!important;width:100%!important}
  .priority-side>span{justify-self:end!important}
}

/* Compatibilidade: mantém o alinhamento do switch Pix exigido pelo layout financeiro atual. */
.payment-main-settings>label.switch-line{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  align-self:end!important;
  gap:10px!important;
  min-height:44px!important;
  padding:0 2px!important;
}

/* === source: release-197.css === */
/* NexaOper V8.115.197 — release marker. Navegação alterada somente no Mobile/PWA. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* === source: release-198.css === */
/* NexaOper V8.115.198 — alinhamentos de Avisos e Dashboard */

/* Avisos: datas, destino e publicação na mesma linha/altura visual. */
.notice-editor-grid{
  align-items:start!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.notice-editor-grid>label:not(.notice-message-field):not(.notice-active-switch){
  align-self:start!important;
}
.notice-editor-grid>label:not(.notice-message-field):not(.notice-active-switch)>input,
.notice-editor-grid>label:not(.notice-message-field):not(.notice-active-switch)>select{
  min-height:56px!important;
  height:56px!important;
}
.notice-editor-grid .notice-active-switch{
  align-self:start!important;
  min-height:56px!important;
  height:56px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:start!important;
  gap:11px!important;
  padding:0 14px!important;
  margin-top:26px!important;
  border:1px solid var(--border)!important;
  border-radius:14px!important;
  background:var(--soft)!important;
  text-align:left!important;
}
.notice-editor-grid .notice-active-switch>input{
  margin:0!important;
  align-self:center!important;
  justify-self:center!important;
}
.notice-editor-grid .notice-active-switch>span{
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
  align-content:center!important;
}
.notice-editor-grid .notice-active-switch>span b{
  display:block!important;
  line-height:1.18!important;
}
.notice-editor-grid .notice-active-switch>span small{
  display:block!important;
  margin:0!important;
  line-height:1.22!important;
  white-space:normal!important;
}
.notice-editor-actions{
  align-items:center!important;
  min-height:56px!important;
}
.notice-editor-actions button{min-height:46px!important}

/* Empresas em destaque: o item continua compacto, mas o painel branco acompanha
   exatamente a altura da coluna Distribuição por status. */
.dashboard-grid{align-items:stretch!important}
.dashboard-grid>.dashboard-panel{
  align-self:stretch!important;
  height:100%!important;
}
.dashboard-grid>.dashboard-panel:first-child,
.dashboard-grid>.dashboard-panel:first-child:has(.priority-item){
  min-height:320px!important;
  height:100%!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  align-content:stretch!important;
}
.dashboard-grid>.dashboard-panel:first-child .priority-list{
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
  align-content:start!important;
}
.dashboard-grid>.dashboard-panel:first-child .priority-item{
  max-width:100%!important;
}

@media(max-width:900px){
  .dashboard-grid>.dashboard-panel:first-child,
  .dashboard-grid>.dashboard-panel:first-child:has(.priority-item){
    min-height:auto!important;
    height:auto!important;
  }
}
@media(max-width:760px){
  .notice-editor-grid{grid-template-columns:1fr 1fr!important}
  .notice-editor-grid .notice-message-field{grid-column:1/-1!important}
  .notice-editor-grid .notice-active-switch{margin-top:0!important;height:auto!important;min-height:56px!important}
}
@media(max-width:620px){
  .notice-editor-grid{grid-template-columns:1fr!important}
  .notice-editor-grid .notice-message-field{grid-column:auto!important}
}

/* Compatibilidade visual do financeiro: switch Pix alinhado na camada atual. */
.payment-main-settings>label.switch-line{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  align-self:end!important;
  gap:10px!important;
  min-height:44px!important;
  padding:0 2px!important;
}

/* === source: release-200.css === */
/* NexaOper V8.115.200 — marcador de release; sem alteração visual adicional na Central. */
/* Compatibilidade visual do financeiro exigida pela bateria de regressão. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* V8.115.200: release universal AWS / Oracle / Hostinger / VPS genérico; sem mudança visual adicional. */

/* === source: release-201.css === */
/* NexaOper V8.115.201 — link amigável por empresa */
.company-link-editor{display:flex!important;flex-direction:column;gap:7px}.company-link-editor input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.company-link-editor small{color:var(--muted,#718096);line-height:1.4}.company-link-preview{display:block;max-width:100%;overflow-wrap:anywhere;color:var(--primary,#2563eb);font-size:13px;font-weight:800}.deployment-card a,.deployment-delivery a{overflow-wrap:anywhere}
/* NexaOper V8.115.201 — marcador de release; sem alteração visual adicional na Central. */
/* Compatibilidade visual do financeiro exigida pela bateria de regressão. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* V8.115.200: release universal AWS / Oracle / Hostinger / VPS genérico; sem mudança visual adicional. */

/* === source: release-202.css === */
/* NexaOper V8.115.204 — correções de segurança, criação e links */
.security-monitor-state{display:grid!important;grid-template-columns:12px auto!important;grid-template-areas:"dot state" ". updated"!important;align-items:center!important;justify-content:end!important;column-gap:9px!important;row-gap:3px!important;text-align:right!important}
.security-monitor-state>.security-dot{grid-area:dot!important;align-self:center!important;margin:0!important}
.security-monitor-state>b{grid-area:state!important;line-height:1.2!important}
.security-monitor-state>small{grid-area:updated!important;grid-column:auto!important;line-height:1.25!important;text-align:right!important}
.deployment-access-links{display:grid;gap:7px;margin-top:3px;width:100%}
.deployment-access-links a{display:grid;gap:2px;padding:7px 8px;border:1px solid var(--line);border-radius:9px;text-decoration:none;background:rgba(37,99,235,.035)}
.deployment-access-links a span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.035em;color:var(--muted)}
.deployment-access-links a strong{font-size:10.5px;color:var(--primary);overflow-wrap:anywhere}
.created-access-links{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:7px 0}
.created-access-links>div{display:grid;gap:4px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.created-access-links span{font-size:10px;font-weight:850;color:var(--muted);text-transform:uppercase}
.created-access-links a{font-size:11px;font-weight:800;overflow-wrap:anywhere;text-decoration:none;color:var(--primary)}
.created-access-links a.disabled-link{pointer-events:none;color:var(--muted)}
@media(max-width:680px){.created-access-links{grid-template-columns:1fr}.security-monitor-state{min-width:max-content}}
/* Compatibilidade do financeiro: o CSS da release corrente preserva o alinhamento do seletor Pix. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* === source: release-204.css === */
/* NexaOper V8.115.204 — hover escuro e estados de backup sem falso vermelho */
/* O tema escuro prevalece também nas tabelas clicáveis do Dashboard. */
@media(hover:hover) and (pointer:fine){
  html[data-theme="dark"] #page-dashboard .table-wrap tbody tr.clickable-row:hover,
  html[data-theme="dark"] #page-companies .table-wrap tbody tr.clickable-row:hover{
    background:#111f33!important;
    box-shadow:inset 0 0 0 1px rgba(114,159,255,.10)!important;
  }
  html[data-theme="dark"] #page-dashboard .table-wrap tbody tr.clickable-row:hover td,
  html[data-theme="dark"] #page-companies .table-wrap tbody tr.clickable-row:hover td{
    color:#f3f7ff!important;
    background:transparent!important;
  }
  html[data-theme="dark"] #page-dashboard .table-wrap tbody tr.clickable-row:hover td small,
  html[data-theme="dark"] #page-companies .table-wrap tbody tr.clickable-row:hover td small{
    color:#c7d6eb!important;
  }
}
/* Estados da tabela de backup são namespaced para não colidir com a classe global .danger de botões. */
.company-backup-table .backup-row{background:transparent!important;color:var(--text)!important}
.company-backup-table .backup-row.backup-state-warning td:first-child{box-shadow:inset 3px 0 0 #e5a11b!important}
.company-backup-table .backup-row.backup-state-danger td:first-child{box-shadow:inset 3px 0 0 #e14b4b!important}
.company-backup-table .backup-row.backup-state-ok td:first-child{box-shadow:inset 3px 0 0 #22a06b!important}
@media(hover:hover) and (pointer:fine){
  .company-backup-table .backup-row:hover{background:#f7faff!important}
  html[data-theme="dark"] .company-backup-table .backup-row:hover{background:#111f33!important}
  html[data-theme="dark"] .company-backup-table .backup-row:hover td{background:transparent!important;color:#f3f7ff!important}
  html[data-theme="dark"] .company-backup-table .backup-row:hover td small{color:#c7d6eb!important}
}

/* Compatibilidade consolidada do financeiro. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}
/* NexaOper V8.115.204 — acesso online e links Admin/Mobile */
.deployment-card{align-content:start!important;gap:7px!important}
.deployment-card .deployment-access-links{margin-top:2px!important}
.deployment-card .deployment-access-links a{min-width:0!important}
.deployment-card .deployment-access-links a strong{display:block!important;line-height:1.35!important}
.deployment-card .deployment-link-pending{opacity:.82}
.deployment-card .deployment-error-detail{display:block;width:100%;padding:7px 8px;border:1px solid rgba(220,38,38,.18);border-radius:9px;background:rgba(220,38,38,.055);color:#a12424;font-size:9.5px;line-height:1.35;overflow-wrap:anywhere}
html[data-theme="dark"] .deployment-card .deployment-access-links a{background:#102039!important;border-color:#28415f!important}
html[data-theme="dark"] .deployment-card .deployment-access-links a span{color:#9fb0c8!important}
html[data-theme="dark"] .deployment-card .deployment-access-links a strong{color:#8eb4ff!important}
html[data-theme="dark"] .deployment-card .deployment-error-detail{background:rgba(239,68,68,.08)!important;border-color:rgba(248,113,113,.22)!important;color:#ffb0b0!important}

/* === source: release-210.css === */
/* NexaOper V8.115.210 — hover escuro e estados de backup sem falso vermelho */
/* O tema escuro prevalece também nas tabelas clicáveis do Dashboard. */
@media(hover:hover) and (pointer:fine){
  html[data-theme="dark"] #page-dashboard .table-wrap tbody tr.clickable-row:hover,
  html[data-theme="dark"] #page-companies .table-wrap tbody tr.clickable-row:hover{
    background:#111f33!important;
    box-shadow:inset 0 0 0 1px rgba(114,159,255,.10)!important;
  }
  html[data-theme="dark"] #page-dashboard .table-wrap tbody tr.clickable-row:hover td,
  html[data-theme="dark"] #page-companies .table-wrap tbody tr.clickable-row:hover td{
    color:#f3f7ff!important;
    background:transparent!important;
  }
  html[data-theme="dark"] #page-dashboard .table-wrap tbody tr.clickable-row:hover td small,
  html[data-theme="dark"] #page-companies .table-wrap tbody tr.clickable-row:hover td small{
    color:#c7d6eb!important;
  }
}
/* Estados da tabela de backup são namespaced para não colidir com a classe global .danger de botões. */
.company-backup-table .backup-row{background:transparent!important;color:var(--text)!important}
.company-backup-table .backup-row.backup-state-warning td:first-child{box-shadow:inset 3px 0 0 #e5a11b!important}
.company-backup-table .backup-row.backup-state-danger td:first-child{box-shadow:inset 3px 0 0 #e14b4b!important}
.company-backup-table .backup-row.backup-state-ok td:first-child{box-shadow:inset 3px 0 0 #22a06b!important}
@media(hover:hover) and (pointer:fine){
  .company-backup-table .backup-row:hover{background:#f7faff!important}
  html[data-theme="dark"] .company-backup-table .backup-row:hover{background:#111f33!important}
  html[data-theme="dark"] .company-backup-table .backup-row:hover td{background:transparent!important;color:#f3f7ff!important}
  html[data-theme="dark"] .company-backup-table .backup-row:hover td small{color:#c7d6eb!important}
}

/* Compatibilidade consolidada do financeiro. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}
/* NexaOper V8.115.210 — acesso online e links Admin/Mobile */
.deployment-card{align-content:start!important;gap:7px!important}
.deployment-card .deployment-access-links{margin-top:2px!important}
.deployment-card .deployment-access-links a{min-width:0!important}
.deployment-card .deployment-access-links a strong{display:block!important;line-height:1.35!important}
.deployment-card .deployment-link-pending{opacity:.82}
.deployment-card .deployment-error-detail{display:block;width:100%;padding:7px 8px;border:1px solid rgba(220,38,38,.18);border-radius:9px;background:rgba(220,38,38,.055);color:#a12424;font-size:9.5px;line-height:1.35;overflow-wrap:anywhere}
html[data-theme="dark"] .deployment-card .deployment-access-links a{background:#102039!important;border-color:#28415f!important}
html[data-theme="dark"] .deployment-card .deployment-access-links a span{color:#9fb0c8!important}
html[data-theme="dark"] .deployment-card .deployment-access-links a strong{color:#8eb4ff!important}
html[data-theme="dark"] .deployment-card .deployment-error-detail{background:rgba(239,68,68,.08)!important;border-color:rgba(248,113,113,.22)!important;color:#ffb0b0!important}

/* === source: release-211.css === */
/* NexaOper V8.115.211 — card de acesso online + tolerância visual a provisionamento transitório */
.profile-grid{align-items:start!important}
.profile-grid>.profile-card{align-content:start!important;justify-content:start!important}

.deployment-card-v211{
  display:grid!important;
  gap:12px!important;
  padding:16px!important;
  min-height:0!important;
}
.deployment-card-v211 .deployment-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}
.deployment-card-v211 .deployment-card-head>div{display:grid;gap:5px;min-width:0}
.deployment-card-v211 .deployment-card-head small{font-size:11px!important}
.deployment-card-v211 .deployment-card-head b{font-size:15px!important;line-height:1.25!important}
.deployment-status-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  min-height:27px;
  padding:5px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  font-size:10px;
  font-weight:850;
  white-space:nowrap;
  background:var(--soft);
  color:var(--muted);
}
.deployment-status-pill i{width:7px;height:7px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.12)}
.deployment-status-pill.ready{color:#167448;background:rgba(34,160,107,.08);border-color:rgba(34,160,107,.18)}
.deployment-status-pill.ready i{background:#22a06b;box-shadow:0 0 0 3px rgba(34,160,107,.13)}
.deployment-status-pill.provisioning{color:#966308;background:rgba(229,161,27,.09);border-color:rgba(229,161,27,.20)}
.deployment-status-pill.provisioning i{background:#e5a11b;box-shadow:0 0 0 3px rgba(229,161,27,.13)}
.deployment-status-pill.failed{color:#b03b43;background:rgba(225,75,75,.07);border-color:rgba(225,75,75,.18)}
.deployment-status-pill.failed i{background:#e14b4b;box-shadow:0 0 0 3px rgba(225,75,75,.12)}

.deployment-domain{
  display:grid;
  gap:4px;
  min-width:0;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(37,99,235,.025);
}
.deployment-domain span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.deployment-domain strong{display:block;min-width:0;font-size:11px;line-height:1.35;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.deployment-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}
.deployment-action{
  display:grid;
  gap:9px;
  min-width:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--soft);
}
.deployment-action-copy{display:grid;gap:2px;min-width:0}
.deployment-action-copy span{font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.deployment-action-copy b{font-size:11px!important;line-height:1.3!important;color:var(--text)}
.deployment-action-buttons{display:flex;align-items:center;gap:6px;min-width:0}
.deployment-card-v211 .deployment-action-buttons button,
.deployment-card-v211 .deployment-action-buttons a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:1 1 0;
  width:auto!important;
  min-width:0!important;
  min-height:31px!important;
  margin:0!important;
  padding:6px 8px!important;
  border-radius:9px!important;
  font-size:9.5px!important;
  font-weight:800!important;
  text-decoration:none!important;
  line-height:1!important;
}
.deployment-copy-btn{border:1px solid var(--line)!important;background:var(--card)!important;color:var(--text)!important}
.deployment-open-btn{border:1px solid rgba(37,99,235,.18)!important;background:rgba(37,99,235,.07)!important;color:var(--pri)!important}

.deployment-state-message{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--soft);
}
.deployment-state-message span{font-size:10px;line-height:1.4;color:var(--muted)}
.deployment-state-message.ready{border-color:rgba(34,160,107,.16);background:rgba(34,160,107,.045)}
.deployment-state-message.provisioning{border-color:rgba(229,161,27,.19);background:rgba(229,161,27,.055)}
.deployment-state-message.failed{border-color:rgba(225,75,75,.18);background:rgba(225,75,75,.045)}
.deployment-card-v211 .deployment-retry-btn{
  flex:0 0 auto;
  width:auto!important;
  min-height:31px!important;
  margin:0!important;
  padding:6px 10px!important;
  border-radius:9px!important;
  font-size:9.5px!important;
  white-space:nowrap;
}

html[data-theme="dark"] .deployment-domain{background:#0f1c2e!important;border-color:#29405c!important}
html[data-theme="dark"] .deployment-action{background:#0f1c2e!important;border-color:#29405c!important}
html[data-theme="dark"] .deployment-copy-btn{background:#13243a!important;border-color:#304965!important;color:#eef5ff!important}
html[data-theme="dark"] .deployment-open-btn{background:rgba(69,119,255,.12)!important;border-color:rgba(126,164,255,.24)!important;color:#9fc0ff!important}
html[data-theme="dark"] .deployment-status-pill.ready{color:#90e0b7!important;background:rgba(34,160,107,.11)!important;border-color:rgba(73,193,135,.23)!important}
html[data-theme="dark"] .deployment-status-pill.provisioning{color:#ffd487!important;background:rgba(229,161,27,.10)!important;border-color:rgba(245,184,62,.24)!important}
html[data-theme="dark"] .deployment-status-pill.failed{color:#ffb0b0!important;background:rgba(225,75,75,.09)!important;border-color:rgba(248,113,113,.23)!important}
html[data-theme="dark"] .deployment-state-message.ready{background:rgba(34,160,107,.07)!important;border-color:rgba(73,193,135,.18)!important}
html[data-theme="dark"] .deployment-state-message.provisioning{background:rgba(229,161,27,.07)!important;border-color:rgba(245,184,62,.20)!important}
html[data-theme="dark"] .deployment-state-message.failed{background:rgba(225,75,75,.07)!important;border-color:rgba(248,113,113,.20)!important}

@media(max-width:900px){.deployment-actions-grid{grid-template-columns:1fr}}
@media(max-width:680px){
  .deployment-card-v211 .deployment-card-head{align-items:center}
  .deployment-state-message{align-items:stretch;flex-direction:column}
  .deployment-card-v211 .deployment-retry-btn{width:100%!important}
}

/* Compatibilidade consolidada do financeiro mantida na folha da release atual. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* === source: release-212.css === */
/* NexaOper V8.115.212 — herda ajustes visuais V211; fallback DNS não altera layout */
.profile-grid{align-items:start!important}
.profile-grid>.profile-card{align-content:start!important;justify-content:start!important}

.deployment-card-v211{
  display:grid!important;
  gap:12px!important;
  padding:16px!important;
  min-height:0!important;
}
.deployment-card-v211 .deployment-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}
.deployment-card-v211 .deployment-card-head>div{display:grid;gap:5px;min-width:0}
.deployment-card-v211 .deployment-card-head small{font-size:11px!important}
.deployment-card-v211 .deployment-card-head b{font-size:15px!important;line-height:1.25!important}
.deployment-status-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  min-height:27px;
  padding:5px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  font-size:10px;
  font-weight:850;
  white-space:nowrap;
  background:var(--soft);
  color:var(--muted);
}
.deployment-status-pill i{width:7px;height:7px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.12)}
.deployment-status-pill.ready{color:#167448;background:rgba(34,160,107,.08);border-color:rgba(34,160,107,.18)}
.deployment-status-pill.ready i{background:#22a06b;box-shadow:0 0 0 3px rgba(34,160,107,.13)}
.deployment-status-pill.provisioning{color:#966308;background:rgba(229,161,27,.09);border-color:rgba(229,161,27,.20)}
.deployment-status-pill.provisioning i{background:#e5a11b;box-shadow:0 0 0 3px rgba(229,161,27,.13)}
.deployment-status-pill.failed{color:#b03b43;background:rgba(225,75,75,.07);border-color:rgba(225,75,75,.18)}
.deployment-status-pill.failed i{background:#e14b4b;box-shadow:0 0 0 3px rgba(225,75,75,.12)}

.deployment-domain{
  display:grid;
  gap:4px;
  min-width:0;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(37,99,235,.025);
}
.deployment-domain span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.deployment-domain strong{display:block;min-width:0;font-size:11px;line-height:1.35;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.deployment-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}
.deployment-action{
  display:grid;
  gap:9px;
  min-width:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--soft);
}
.deployment-action-copy{display:grid;gap:2px;min-width:0}
.deployment-action-copy span{font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.deployment-action-copy b{font-size:11px!important;line-height:1.3!important;color:var(--text)}
.deployment-action-buttons{display:flex;align-items:center;gap:6px;min-width:0}
.deployment-card-v211 .deployment-action-buttons button,
.deployment-card-v211 .deployment-action-buttons a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:1 1 0;
  width:auto!important;
  min-width:0!important;
  min-height:31px!important;
  margin:0!important;
  padding:6px 8px!important;
  border-radius:9px!important;
  font-size:9.5px!important;
  font-weight:800!important;
  text-decoration:none!important;
  line-height:1!important;
}
.deployment-copy-btn{border:1px solid var(--line)!important;background:var(--card)!important;color:var(--text)!important}
.deployment-open-btn{border:1px solid rgba(37,99,235,.18)!important;background:rgba(37,99,235,.07)!important;color:var(--pri)!important}

.deployment-state-message{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--soft);
}
.deployment-state-message span{font-size:10px;line-height:1.4;color:var(--muted)}
.deployment-state-message.ready{border-color:rgba(34,160,107,.16);background:rgba(34,160,107,.045)}
.deployment-state-message.provisioning{border-color:rgba(229,161,27,.19);background:rgba(229,161,27,.055)}
.deployment-state-message.failed{border-color:rgba(225,75,75,.18);background:rgba(225,75,75,.045)}
.deployment-card-v211 .deployment-retry-btn{
  flex:0 0 auto;
  width:auto!important;
  min-height:31px!important;
  margin:0!important;
  padding:6px 10px!important;
  border-radius:9px!important;
  font-size:9.5px!important;
  white-space:nowrap;
}

html[data-theme="dark"] .deployment-domain{background:#0f1c2e!important;border-color:#29405c!important}
html[data-theme="dark"] .deployment-action{background:#0f1c2e!important;border-color:#29405c!important}
html[data-theme="dark"] .deployment-copy-btn{background:#13243a!important;border-color:#304965!important;color:#eef5ff!important}
html[data-theme="dark"] .deployment-open-btn{background:rgba(69,119,255,.12)!important;border-color:rgba(126,164,255,.24)!important;color:#9fc0ff!important}
html[data-theme="dark"] .deployment-status-pill.ready{color:#90e0b7!important;background:rgba(34,160,107,.11)!important;border-color:rgba(73,193,135,.23)!important}
html[data-theme="dark"] .deployment-status-pill.provisioning{color:#ffd487!important;background:rgba(229,161,27,.10)!important;border-color:rgba(245,184,62,.24)!important}
html[data-theme="dark"] .deployment-status-pill.failed{color:#ffb0b0!important;background:rgba(225,75,75,.09)!important;border-color:rgba(248,113,113,.23)!important}
html[data-theme="dark"] .deployment-state-message.ready{background:rgba(34,160,107,.07)!important;border-color:rgba(73,193,135,.18)!important}
html[data-theme="dark"] .deployment-state-message.provisioning{background:rgba(229,161,27,.07)!important;border-color:rgba(245,184,62,.20)!important}
html[data-theme="dark"] .deployment-state-message.failed{background:rgba(225,75,75,.07)!important;border-color:rgba(248,113,113,.20)!important}

@media(max-width:900px){.deployment-actions-grid{grid-template-columns:1fr}}
@media(max-width:680px){
  .deployment-card-v211 .deployment-card-head{align-items:center}
  .deployment-state-message{align-items:stretch;flex-direction:column}
  .deployment-card-v211 .deployment-retry-btn{width:100%!important}
}

/* Compatibilidade consolidada do financeiro mantida na folha da release atual. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* === source: release-213.css === */
/* NexaOper V8.115.213 — perfil da empresa, provisionamento resiliente e exclusão com frase de confirmação */

/* O acesso online não deve disputar uma coluna estreita com os cards simples. */
.profile-grid>.deployment-card-v213{
  grid-column:1 / -1!important;
  width:100%!important;
}
.deployment-card-v213{
  display:grid!important;
  grid-template-columns:minmax(150px,.78fr) minmax(180px,1fr) minmax(300px,1.55fr)!important;
  grid-template-areas:
    "head domain actions"
    "state state state"!important;
  align-items:stretch!important;
  gap:12px!important;
  padding:15px!important;
}
.deployment-card-v213 .deployment-card-head{grid-area:head;min-height:100%;align-items:flex-start!important}
.deployment-card-v213 .deployment-domain{grid-area:domain;min-height:100%;align-content:center}
.deployment-card-v213 .deployment-actions-grid{grid-area:actions;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch}
.deployment-card-v213 .deployment-state-message{grid-area:state;min-height:48px}
.deployment-card-v213 .deployment-action{height:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px}
.deployment-card-v213 .deployment-action-copy{align-content:center}
.deployment-card-v213 .deployment-action-copy b{font-size:12px!important}
.deployment-card-v213 .deployment-action-buttons{flex:0 0 auto}
.deployment-card-v213 .deployment-action-buttons button,
.deployment-card-v213 .deployment-action-buttons a{
  min-width:62px!important;
  min-height:34px!important;
  padding:7px 10px!important;
  font-size:10.5px!important;
  white-space:nowrap!important;
}
.deployment-repair-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:0 0 auto;flex-wrap:wrap}
.deployment-card-v213 .deployment-retry-btn,
.deployment-card-v213 .deployment-rotate-btn{
  width:auto!important;
  min-width:106px!important;
  min-height:34px!important;
  margin:0!important;
  padding:7px 11px!important;
  border-radius:9px!important;
  font-size:10.5px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.deployment-card-v213 .deployment-rotate-btn{
  border:1px solid var(--line)!important;
  background:var(--card)!important;
  color:var(--text)!important;
}
html[data-theme="dark"] .deployment-card-v213 .deployment-rotate-btn{background:#13243a!important;border-color:#304965!important;color:#eef5ff!important}

/* Confirmação forte para exclusão de empresa. */
.confirm-modal-content.confirm-modal-typed{padding:4px 0 2px!important}
.confirm-modal-copy{min-width:0}
.confirm-typed-field{display:grid;gap:7px;margin-top:15px}
.confirm-typed-field input{
  width:100%!important;
  min-height:46px!important;
  margin:0!important;
  border:1px solid #f0b4b4!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--text)!important;
  font-weight:800!important;
  letter-spacing:.02em;
}
.confirm-typed-field input:focus{
  border-color:#e15a5a!important;
  box-shadow:0 0 0 3px rgba(225,75,75,.11)!important;
}
.confirm-typed-field small{font-size:11px;line-height:1.35;color:var(--muted)}
.modal-actions #confirmOkBtn:disabled{opacity:.38!important;filter:saturate(.55);box-shadow:none!important;transform:none!important}
html[data-theme="dark"] .confirm-typed-field input{background:#0f1c2e!important;border-color:#67383d!important;color:#f5f8ff!important}
html[data-theme="dark"] .confirm-typed-field input:focus{border-color:#d66067!important;box-shadow:0 0 0 3px rgba(225,75,75,.12)!important}

@media(max-width:1100px){
  .deployment-card-v213{
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;
    grid-template-areas:
      "head domain"
      "actions actions"
      "state state"!important;
  }
  .deployment-card-v213 .deployment-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .deployment-card-v213{
    grid-template-columns:1fr!important;
    grid-template-areas:"head" "domain" "actions" "state"!important;
  }
  .deployment-card-v213 .deployment-actions-grid{grid-template-columns:1fr!important}
  .deployment-card-v213 .deployment-action{grid-template-columns:minmax(0,1fr) auto!important}
  .deployment-card-v213 .deployment-state-message{align-items:stretch!important;flex-direction:column!important}
  .deployment-repair-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .deployment-card-v213 .deployment-retry-btn,
  .deployment-card-v213 .deployment-rotate-btn{width:100%!important;min-width:0!important}
}
@media(max-width:480px){
  .deployment-card-v213 .deployment-card-head{align-items:flex-start!important;flex-direction:column}
  .deployment-card-v213 .deployment-action{grid-template-columns:1fr!important}
  .deployment-card-v213 .deployment-action-buttons{width:100%}
  .deployment-card-v213 .deployment-action-buttons button,
  .deployment-card-v213 .deployment-action-buttons a{flex:1 1 0!important}
  .deployment-repair-actions{grid-template-columns:1fr}
  .confirm-modal-content.confirm-modal-typed{grid-template-columns:42px minmax(0,1fr);gap:11px}
  .confirm-modal-content.confirm-modal-typed .confirm-modal-icon{width:42px;height:42px;border-radius:12px}
}

/* Compatibilidade consolidada do financeiro da release atual. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* === source: release-214.css === */
/* NexaOper V8.115.215 — card de acesso online mais limpo e fallback HTTP quando o HTTPS ainda estiver pendente */
.profile-grid>.deployment-card-v214{grid-column:1 / -1!important;width:100%!important}
.deployment-card-v214{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  grid-template-areas:
    "head domain"
    "actions actions"
    "state state"!important;
  gap:12px!important;
  align-items:stretch!important;
  padding:15px!important;
}
.deployment-card-v214 .deployment-card-head{grid-area:head;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.deployment-card-v214 .deployment-domain{grid-area:domain;min-width:0;align-content:center}
.deployment-card-v214 .deployment-domain strong{display:block;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;word-break:break-word}
.deployment-card-v214 .deployment-actions-grid{grid-area:actions;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.deployment-card-v214 .deployment-action{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);min-width:0}
.deployment-card-v214 .deployment-action-copy{min-width:0}
.deployment-card-v214 .deployment-action-copy span{display:block;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.deployment-card-v214 .deployment-action-copy b{display:block;font-size:13px;line-height:1.35;color:var(--text)}
.deployment-card-v214 .deployment-action-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.deployment-card-v214 .deployment-action-buttons button,
.deployment-card-v214 .deployment-action-buttons a{min-width:84px!important;min-height:36px!important;padding:8px 12px!important;font-size:11px!important;white-space:nowrap!important}
.deployment-card-v214 .deployment-state-message{grid-area:state;min-height:48px;align-items:flex-start!important}
.deployment-http-hint{display:block;margin-top:4px;font-size:11px;line-height:1.35;color:var(--muted)}
.deployment-repair-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;flex:0 0 auto}
.deployment-card-v214 .deployment-retry-btn,.deployment-card-v214 .deployment-rotate-btn{width:auto!important;min-width:120px!important;min-height:36px!important;padding:8px 12px!important;font-size:11px!important;font-weight:850!important;white-space:nowrap!important}
.deployment-card-v214 .deployment-rotate-btn{border:1px solid var(--line)!important;background:var(--card)!important;color:var(--text)!important}
html[data-theme="dark"] .deployment-card-v214 .deployment-rotate-btn{background:#13243a!important;border-color:#304965!important;color:#eef5ff!important}
@media(max-width:980px){
  .deployment-card-v214{grid-template-columns:1fr!important;grid-template-areas:"head" "domain" "actions" "state"!important}
}
@media(max-width:760px){
  .deployment-card-v214 .deployment-actions-grid{grid-template-columns:1fr!important}
  .deployment-card-v214 .deployment-action{grid-template-columns:1fr!important}
  .deployment-card-v214 .deployment-action-buttons{justify-content:stretch;width:100%}
  .deployment-card-v214 .deployment-action-buttons button,.deployment-card-v214 .deployment-action-buttons a{flex:1 1 0!important}
  .deployment-repair-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .deployment-card-v214 .deployment-retry-btn,.deployment-card-v214 .deployment-rotate-btn{width:100%!important;min-width:0!important}
}
@media(max-width:520px){
  .deployment-card-v214 .deployment-card-head{flex-direction:column}
  .deployment-repair-actions{grid-template-columns:1fr}
}

/* === source: release-215.css === */
/* NexaOper V8.115.215 — acesso temporário HTTP enquanto certificado de sslip.io/nip.io está pendente */
.deployment-http-hint{max-width:480px}
.deployment-card-v214.provisioning .deployment-open-btn{min-width:142px!important}
@media(max-width:760px){.deployment-card-v214.provisioning .deployment-open-btn{min-width:0!important}}

/* === source: release-216.css === */
/* NexaOper V8.115.216 — botões do card de acesso online mais compactos */
.deployment-card-v214 .deployment-action{grid-template-columns:minmax(0,1.25fr) auto!important;gap:8px!important;padding:10px 11px!important}
.deployment-card-v214 .deployment-action-copy b{font-size:12px!important;line-height:1.28!important}
.deployment-card-v214 .deployment-action-buttons{gap:6px!important;flex-wrap:nowrap!important}
.deployment-card-v214 .deployment-action-buttons button,
.deployment-card-v214 .deployment-action-buttons a{min-width:68px!important;min-height:33px!important;padding:6px 9px!important;font-size:10.5px!important;line-height:1!important}
.deployment-card-v214.ready .deployment-open-btn,
.deployment-card-v214.ready .deployment-copy-btn{min-width:68px!important}
.deployment-card-v214.provisioning .deployment-open-btn{min-width:118px!important}
@media(max-width:980px){
  .deployment-card-v214 .deployment-action{grid-template-columns:minmax(0,1fr) auto!important}
}
@media(max-width:760px){
  .deployment-card-v214 .deployment-action-buttons{flex-wrap:wrap!important}
  .deployment-card-v214 .deployment-action-buttons button,
  .deployment-card-v214 .deployment-action-buttons a{flex:1 1 0!important;min-width:0!important}
  .deployment-card-v214.provisioning .deployment-open-btn{min-width:0!important}
}

/* === source: release-217.css === */
/* NexaOper V8.115.217 — modo sem domínio próprio: HTTP via IP/sslip.io */
.deployment-card-v214.ready .deployment-http-hint{color:var(--muted);font-weight:650}
.deployment-card-v214.ready .deployment-open-btn{min-width:68px!important}
/* Compatibilidade consolidada do financeiro na release atual. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* === source: release-218.css === */
/* NexaOper V8.115.218 — reorganização completa do modal real de Empresa */
#modal.company-profile-mode .modal-card{
  width:min(1080px,calc(100vw - 32px))!important;
  max-height:min(94vh,940px)!important;
}
#modal.company-profile-mode #modalBody{padding:18px 22px 16px!important}
#modal.company-profile-mode .company-profile-modal{gap:16px!important}
#modal.company-profile-mode .company-profile-tab-panel{gap:14px!important}
#modal.company-profile-mode .profile-grid.company-profile-info-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
#modal.company-profile-mode .profile-info-card{
  min-width:0!important;
  min-height:112px!important;
  height:100%!important;
  padding:16px!important;
  border-radius:14px!important;
  align-content:start!important;
  gap:6px!important;
  overflow:hidden!important;
}
#modal.company-profile-mode .profile-info-card small{font-size:11px!important;line-height:1.25!important}
#modal.company-profile-mode .profile-info-card b{font-size:14px!important;line-height:1.35!important;overflow-wrap:anywhere!important}
#modal.company-profile-mode .profile-info-card>span:not(.admin-access-state){font-size:12px!important;line-height:1.45!important;overflow-wrap:anywhere!important}
#modal.company-profile-mode .profile-info-card-notes>span{font-weight:500!important;color:var(--text)!important}
#modal.company-profile-mode .deployment-card-v214{
  grid-column:1 / -1!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(220px,.8fr) minmax(250px,1fr)!important;
  grid-template-areas:"head domain" "actions actions" "state state"!important;
  gap:12px!important;
  padding:16px!important;
  min-width:0!important;
}
#modal.company-profile-mode .deployment-card-v214 .deployment-card-head{grid-area:head!important;min-width:0!important}
#modal.company-profile-mode .deployment-card-v214 .deployment-domain{grid-area:domain!important;min-width:0!important}
#modal.company-profile-mode .deployment-card-v214 .deployment-actions-grid{grid-area:actions!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;min-width:0!important}
#modal.company-profile-mode .deployment-card-v214 .deployment-state-message{grid-area:state!important;min-width:0!important}
#modal.company-profile-mode .deployment-card-v214 .deployment-action{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  min-width:0!important;
  padding:12px!important;
}
#modal.company-profile-mode .deployment-card-v214 .deployment-action-copy{min-width:0!important}
#modal.company-profile-mode .deployment-card-v214 .deployment-action-copy b{white-space:normal!important;overflow-wrap:anywhere!important;font-size:13px!important}
#modal.company-profile-mode .deployment-card-v214 .deployment-action-buttons{display:flex!important;gap:7px!important;flex-wrap:nowrap!important;min-width:0!important}
#modal.company-profile-mode .deployment-card-v214 .deployment-action-buttons button,
#modal.company-profile-mode .deployment-card-v214 .deployment-action-buttons a{
  flex:0 0 auto!important;
  min-width:70px!important;
  width:auto!important;
  min-height:34px!important;
  padding:7px 10px!important;
  font-size:10.5px!important;
  white-space:nowrap!important;
}
#modal.company-profile-mode .deployment-card-v214 .deployment-open-btn{min-width:72px!important}
#modal.company-profile-mode .deployment-domain strong{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important}
#modal.company-profile-mode .deployment-repair-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
#modal.company-profile-mode .profile-actions-top{margin:0!important;padding-top:0!important;border-top:0!important}
#modal.company-profile-mode .company-action-center{gap:12px!important}
#modal.company-profile-mode .company-action-group{min-width:0!important}

@media(max-width:900px){
  #modal.company-profile-mode .modal-card{width:min(760px,calc(100vw - 24px))!important}
  #modal.company-profile-mode .profile-grid.company-profile-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #modal.company-profile-mode .deployment-card-v214{grid-template-columns:1fr!important;grid-template-areas:"head" "domain" "actions" "state"!important}
}
@media(max-width:680px){
  #modal.company-profile-mode{padding:8px!important;align-items:end!important}
  #modal.company-profile-mode .modal-card{width:100%!important;max-height:96dvh!important;border-radius:20px 20px 0 0!important}
  #modal.company-profile-mode #modalBody{padding:14px 14px 8px!important}
  #modal.company-profile-mode .profile-grid.company-profile-info-grid{grid-template-columns:1fr!important;gap:10px!important}
  #modal.company-profile-mode .profile-info-card{min-height:0!important;padding:14px!important}
  #modal.company-profile-mode .deployment-card-v214{padding:14px!important;gap:10px!important}
  #modal.company-profile-mode .deployment-card-v214 .deployment-actions-grid{grid-template-columns:1fr!important;gap:9px!important}
  #modal.company-profile-mode .deployment-card-v214 .deployment-action{grid-template-columns:minmax(0,1fr) auto!important;padding:10px!important}
  #modal.company-profile-mode .deployment-card-v214 .deployment-action-buttons{flex-wrap:wrap!important;justify-content:flex-end!important}
  #modal.company-profile-mode .deployment-card-v214 .deployment-action-buttons button,
  #modal.company-profile-mode .deployment-card-v214 .deployment-action-buttons a{min-width:66px!important;padding:7px 9px!important}
  #modal.company-profile-mode .deployment-repair-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  #modal.company-profile-mode .deployment-retry-btn,
  #modal.company-profile-mode .deployment-rotate-btn{width:100%!important;min-width:0!important}
}
@media(max-width:430px){
  #modal.company-profile-mode .deployment-card-v214 .deployment-action{grid-template-columns:1fr!important}
  #modal.company-profile-mode .deployment-card-v214 .deployment-action-buttons{width:100%!important}
  #modal.company-profile-mode .deployment-card-v214 .deployment-action-buttons button,
  #modal.company-profile-mode .deployment-card-v214 .deployment-action-buttons a{flex:1 1 0!important;text-align:center!important}
  #modal.company-profile-mode .deployment-repair-actions{grid-template-columns:1fr!important}
}

/* Compatibilidade consolidada do financeiro na release atual. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* V8.115.218 — alinhamento final de TODOS os cards do modal da Empresa. */
#modal.company-profile-mode .profile-banner{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  min-width:0!important;
  padding:16px 18px!important;
}
#modal.company-profile-mode .profile-banner>div:first-child{min-width:0!important}
#modal.company-profile-mode .profile-banner b,
#modal.company-profile-mode .profile-banner span{overflow-wrap:anywhere!important}
#modal.company-profile-mode .company-profile-tabs{margin:0!important;width:100%!important}
#modal.company-profile-mode .company-action-center.profile-actions-top{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
#modal.company-profile-mode .company-action-group{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:10px!important;
  height:100%!important;
  min-width:0!important;
  padding:14px!important;
}
#modal.company-profile-mode .company-action-group-title{min-height:42px!important;align-content:start!important}
#modal.company-profile-mode .company-action-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  margin-top:auto!important;
}
#modal.company-profile-mode .company-action-center .company-action-btn{
  min-height:40px!important;
  padding:8px 10px!important;
  font-size:11px!important;
}
#modal.company-profile-mode .profile-feature-summary{
  margin:0!important;
  min-width:0!important;
  padding:14px 16px!important;
  border-radius:14px!important;
}
#modal.company-profile-mode .profile-security-inline{margin:0!important;min-width:0!important}

@media(max-width:900px){
  #modal.company-profile-mode .company-action-center.profile-actions-top{grid-template-columns:1fr!important}
  #modal.company-profile-mode .company-action-group{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;align-items:center!important}
  #modal.company-profile-mode .company-action-group-title{min-height:0!important}
  #modal.company-profile-mode .company-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:0!important}
}
@media(max-width:680px){
  #modal.company-profile-mode .profile-banner{grid-template-columns:1fr!important;padding:14px!important}
  #modal.company-profile-mode .profile-banner-right{justify-content:flex-start!important}
  #modal.company-profile-mode .company-action-group{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  #modal.company-profile-mode .company-action-grid{grid-template-columns:1fr!important;width:100%!important}
}

/* === source: release-220.css === */
/* NexaOper V8.115.229 — correção crítica de Admin/Mobile temporários.
   O layout do modal permanece na release-218; esta camada mantém os contratos
   visuais atuais e o alinhamento do checkbox comercial exigido pela bateria. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* === source: release-223.css === */
/* NexaOper V8.115.229 — consolidação do modal real de Empresa + restauração da publicação V199. */
#modal.company-profile-mode .modal-card{width:min(1080px,calc(100vw - 32px))!important}
#modal.company-profile-mode .company-profile-info-grid{align-items:stretch!important}
#modal.company-profile-mode .profile-info-card{height:100%!important;min-width:0!important}
#modal.company-profile-mode .deployment-card-v214{min-width:0!important;width:100%!important}
#modal.company-profile-mode .deployment-action{min-width:0!important}
#modal.company-profile-mode .deployment-action-copy{min-width:0!important}
#modal.company-profile-mode .deployment-action-buttons{flex:0 0 auto!important}
#modal.company-profile-mode .deployment-action-buttons button,
#modal.company-profile-mode .deployment-action-buttons a{width:auto!important;max-width:100%!important}
@media(max-width:680px){
  #modal.company-profile-mode .modal-card{width:100%!important}
  #modal.company-profile-mode .deployment-action-buttons{width:100%!important}
}

/* Compatibilidade consolidada do financeiro na camada da release atual. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* === source: release-226.css === */
/* NexaOper V8.115.229 — mantém a consolidação visual da V8.115.223. */
/* NexaOper V8.115.229 — consolidação do modal real de Empresa + restauração da publicação V199. */
#modal.company-profile-mode .modal-card{width:min(1080px,calc(100vw - 32px))!important}
#modal.company-profile-mode .company-profile-info-grid{align-items:stretch!important}
#modal.company-profile-mode .profile-info-card{height:100%!important;min-width:0!important}
#modal.company-profile-mode .deployment-card-v214{min-width:0!important;width:100%!important}
#modal.company-profile-mode .deployment-action{min-width:0!important}
#modal.company-profile-mode .deployment-action-copy{min-width:0!important}
#modal.company-profile-mode .deployment-action-buttons{flex:0 0 auto!important}
#modal.company-profile-mode .deployment-action-buttons button,
#modal.company-profile-mode .deployment-action-buttons a{width:auto!important;max-width:100%!important}
@media(max-width:680px){
  #modal.company-profile-mode .modal-card{width:100%!important}
  #modal.company-profile-mode .deployment-action-buttons{width:100%!important}
}

/* Compatibilidade consolidada do financeiro na camada da release atual. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* === source: release-227.css === */
/* NexaOper V8.115.229 — publicação de empresas restaurada à V8.115.199.
   O layout consolidado do modal de Empresa permanece definido em release-218/223/226. */
/* Reafirma correções visuais herdadas para a folha da versão corrente. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* === source: release-230.css === */
/* NexaOper V8.115.229 — mantém o modal de Empresa alinhado da V227; correção desta release é de publicação/Caddy. */
/* NexaOper V8.115.229 — publicação de empresas restaurada à V8.115.199.
   O layout consolidado do modal de Empresa permanece definido em release-218/223/226. */
/* Reafirma correções visuais herdadas para a folha da versão corrente. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* V8.115.232: release visual cumulativa; sem nova mudança de layout. */

/* === source: release-231.css === */
/* NexaOper V8.115.232 — upstream de empresas por IPv4 interno validado; layout do modal preservado. */
/* NexaOper V8.115.229 — mantém o modal de Empresa alinhado da V227; correção desta release é de publicação/Caddy. */
/* NexaOper V8.115.229 — publicação de empresas restaurada à V8.115.199.
   O layout consolidado do modal de Empresa permanece definido em release-218/223/226. */
/* Reafirma correções visuais herdadas para a folha da versão corrente. */
.payment-main-settings>label.switch-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;align-self:end;gap:10px!important;min-height:44px!important;padding:0 2px!important}

/* V8.115.232: release visual cumulativa; sem nova mudança de layout. */

/* === source: release-234.css === */
/* V8.115.234 — sistema global de ícones NexaOper */
.ui-icon{width:17px;height:17px;display:inline-grid;place-items:center;flex:0 0 17px;color:currentColor;opacity:.9;vertical-align:-3px}
.ui-icon svg{width:100%;height:100%;display:block}
.ui-iconized:is(button,a){display:inline-flex;align-items:center;justify-content:center;gap:8px}
aside nav .ui-iconized{justify-content:flex-start;gap:11px}
aside nav .ui-icon{width:18px;height:18px;flex-basis:18px;color:var(--primary,#477df5)}
.titlebar>b.ui-iconized,.page-head h1.ui-iconized,.form-title h2.ui-iconized,.card-title.ui-iconized,.section-title.ui-iconized,.settings-section-title.ui-iconized{display:inline-flex;align-items:center;gap:8px}
.kpi-label.ui-iconized{display:inline-flex;align-items:center;gap:6px}
.field>label.ui-iconized,.login-card>label.ui-iconized{display:flex;align-items:center;gap:7px}
.field>label.ui-iconized>.ui-icon,.login-card>label.ui-iconized>.ui-icon{color:var(--primary,#477df5)}
@media(max-width:700px){.ui-icon{width:16px;height:16px;flex-basis:16px}aside nav .ui-icon{width:17px;height:17px;flex-basis:17px}}

/* === source: release-235.css === */
/* V8.115.235 — criação acompanhada e ícones sem duplicidade */
.deployment-progress-card{display:grid!important;gap:11px!important;padding:14px!important}
.deployment-progress-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px}.deployment-progress-head>div{display:grid;gap:2px}.deployment-progress-head small{color:var(--muted);font-size:10px}.deployment-progress-head b{font-size:12px}.deployment-progress-head strong{font-size:11px;color:var(--primary)}
.deployment-spinner{width:30px;height:30px;border-radius:50%;border:3px solid color-mix(in srgb,var(--primary) 18%,transparent);border-top-color:var(--primary);animation:nexaProvisionSpin .9s linear infinite}.deployment-progress-card.ready .deployment-spinner,.deployment-progress-card.failed .deployment-spinner,.deployment-progress-card.not_configured .deployment-spinner{animation:none;border-color:color-mix(in srgb,var(--primary) 28%,transparent)}
.deployment-progress-track{height:7px;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,var(--card));overflow:hidden}.deployment-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#62a0ff);transition:width .35s ease}
.created-access-links:not(.ready-links) a{pointer-events:none;opacity:.65;text-decoration:none!important}.created-access-links.ready-links a{pointer-events:auto;opacity:1}
#copyActivationPackage:disabled{opacity:.62;cursor:wait;filter:saturate(.55)}
@keyframes nexaProvisionSpin{to{transform:rotate(360deg)}}
@media(max-width:620px){.deployment-progress-head{grid-template-columns:30px minmax(0,1fr) auto}.deployment-spinner{width:27px;height:27px}}

/* === source: release-236.css === */
/* V8.115.249 — criação acompanhada e ícones sem duplicidade */
.deployment-progress-card{display:grid!important;gap:11px!important;padding:14px!important}
.deployment-progress-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px}.deployment-progress-head>div{display:grid;gap:2px}.deployment-progress-head small{color:var(--muted);font-size:10px}.deployment-progress-head b{font-size:12px}.deployment-progress-head strong{font-size:11px;color:var(--primary)}
.deployment-spinner{width:30px;height:30px;border-radius:50%;border:3px solid color-mix(in srgb,var(--primary) 18%,transparent);border-top-color:var(--primary);animation:nexaProvisionSpin .9s linear infinite}.deployment-progress-card.ready .deployment-spinner,.deployment-progress-card.failed .deployment-spinner,.deployment-progress-card.not_configured .deployment-spinner{animation:none;border-color:color-mix(in srgb,var(--primary) 28%,transparent)}
.deployment-progress-track{height:7px;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,var(--card));overflow:hidden}.deployment-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#62a0ff);transition:width .35s ease}
.created-access-links:not(.ready-links) a{pointer-events:none;opacity:.65;text-decoration:none!important}.created-access-links.ready-links a{pointer-events:auto;opacity:1}
#copyActivationPackage:disabled{opacity:.62;cursor:wait;filter:saturate(.55)}
@keyframes nexaProvisionSpin{to{transform:rotate(360deg)}}
@media(max-width:620px){.deployment-progress-head{grid-template-columns:30px minmax(0,1fr) auto}.deployment-spinner{width:27px;height:27px}}

/* V8.115.249: readiness real pelo Caddy; sem alterações visuais adicionais. */

/* === source: release-238.css === */
/* NexaOper V8.115.249 — os ícones seguem exatamente a cor do texto. */
.ui-icon,
aside nav .ui-icon,
.field>label.ui-iconized>.ui-icon,
.login-card>label.ui-iconized>.ui-icon{color:currentColor!important}
aside nav button.ui-iconized{color:inherit}
aside nav button.active.ui-iconized,aside nav button[aria-current="page"].ui-iconized{color:#fff!important}

/* === source: release-240.css === */
/* NexaOper V8.115.249 — card de acesso online mais limpo, compacto e profissional. */
.deployment-card-v240{display:grid!important;grid-template-columns:1fr!important;grid-template-areas:none!important;gap:12px!important;padding:16px!important;border-radius:18px!important;background:var(--card)!important;box-shadow:0 10px 28px rgba(31,61,112,.06)!important;min-width:0!important}
.deployment-card-v240 .deployment-card-head,.deployment-card-v240 .deployment-domain,.deployment-card-v240 .deployment-actions-grid,.deployment-card-v240 .deployment-state-message{grid-area:auto!important;min-width:0!important}
.deployment-card-v240 .deployment-card-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;padding:0!important}
.deployment-card-v240 .deployment-card-head>div{display:grid!important;gap:3px!important;min-width:0!important}
.deployment-card-v240 .deployment-card-head small{font-size:10px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:var(--muted)!important}
.deployment-card-v240 .deployment-card-head b{font-size:16px!important;line-height:1.25!important;color:var(--text)!important}
.deployment-card-v240 .deployment-http-hint{display:block!important;margin-top:2px!important;font-size:10px!important;line-height:1.35!important;color:var(--muted)!important}
.deployment-card-v240 .deployment-status-pill{flex:0 0 auto!important;min-height:28px!important;padding:6px 10px!important;border-radius:999px!important;font-size:10px!important;font-weight:850!important;white-space:nowrap!important}

.deployment-card-v240 .deployment-domain{display:grid!important;gap:4px!important;padding:11px 13px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:color-mix(in srgb,var(--card) 88%,var(--primary) 12%)!important}
.deployment-card-v240 .deployment-domain span{font-size:9px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:var(--muted)!important}
.deployment-card-v240 .deployment-domain strong{font-size:12px!important;line-height:1.35!important;color:var(--text)!important;overflow-wrap:anywhere!important}

.deployment-card-v240 .deployment-actions-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.deployment-card-v240 .deployment-action{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:11px 12px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:var(--card)!important;min-width:0!important;box-shadow:none!important}
.deployment-card-v240 .deployment-action-copy{display:grid!important;gap:2px!important;min-width:0!important}
.deployment-card-v240 .deployment-action-copy span{font-size:9px!important;font-weight:800!important;color:var(--muted)!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.deployment-card-v240 .deployment-action-copy b{font-size:12px!important;line-height:1.3!important;color:var(--text)!important}
.deployment-card-v240 .deployment-action-buttons{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex-wrap:nowrap!important;flex:0 0 auto!important}
.deployment-card-v240 .deployment-action-buttons button,.deployment-card-v240 .deployment-action-buttons a{width:auto!important;min-width:66px!important;min-height:32px!important;height:32px!important;padding:0 10px!important;border-radius:9px!important;font-size:10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important}

.deployment-card-v240 .deployment-state-message{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-height:0!important;padding:10px 12px!important;border-radius:11px!important;font-size:10.5px!important;line-height:1.4!important}
.deployment-card-v240 .deployment-state-message>span{min-width:0!important;flex:1 1 auto!important}
.deployment-card-v240 .deployment-repair-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex:0 0 auto!important}
.deployment-card-v240 .deployment-retry-btn,.deployment-card-v240 .deployment-rotate-btn{min-width:104px!important;min-height:32px!important;height:32px!important;padding:0 10px!important;border-radius:9px!important;font-size:10px!important}

html[data-theme="dark"] .deployment-card-v240{background:#0f1b2d!important;border-color:#25364d!important;box-shadow:0 12px 30px rgba(0,0,0,.14)!important}
html[data-theme="dark"] .deployment-card-v240 .deployment-domain{background:#111f31!important;border-color:#2a3d58!important}
html[data-theme="dark"] .deployment-card-v240 .deployment-action{background:#111f31!important;border-color:#2a3d58!important}

@media(max-width:760px){
  .deployment-card-v240{padding:13px!important;gap:9px!important}
  .deployment-card-v240 .deployment-actions-grid{grid-template-columns:1fr!important}
  .deployment-card-v240 .deployment-action{padding:10px!important}
  .deployment-card-v240 .deployment-state-message{align-items:stretch!important;flex-direction:column!important}
  .deployment-card-v240 .deployment-repair-actions{width:100%!important}
  .deployment-card-v240 .deployment-retry-btn,.deployment-card-v240 .deployment-rotate-btn{width:100%!important}
}
@media(max-width:430px){
  .deployment-card-v240 .deployment-card-head{align-items:flex-start!important}
  .deployment-card-v240 .deployment-action{align-items:flex-start!important;flex-direction:column!important}
  .deployment-card-v240 .deployment-action-buttons{width:100%!important}
  .deployment-card-v240 .deployment-action-buttons button,.deployment-card-v240 .deployment-action-buttons a{flex:1 1 0!important}
}

/* === source: release-241.css === */
/* NexaOper V8.115.249 — ações da empresa compactas + criação HTTP imediata em domínio temporário. */
#modal.company-profile-mode .company-action-center.profile-actions-top{gap:10px!important}
#modal.company-profile-mode .company-action-group{
  padding:13px!important;border-radius:15px!important;gap:10px!important;background:var(--card)!important;
  box-shadow:0 5px 16px rgba(31,61,112,.035)!important
}
#modal.company-profile-mode .company-action-group-title{min-height:0!important;display:grid!important;gap:3px!important;margin:0!important}
#modal.company-profile-mode .company-action-group-title b{font-size:14px!important;line-height:1.2!important;font-weight:900!important;color:var(--text)!important}
#modal.company-profile-mode .company-action-group-title small{font-size:10.5px!important;line-height:1.35!important;color:var(--muted)!important}
#modal.company-profile-mode .company-action-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-top:auto!important}
#modal.company-profile-mode .company-action-group:not(.company-action-group-admin) .company-action-grid>.company-action-btn:nth-child(3){grid-column:1/-1!important}
#modal.company-profile-mode .company-action-center .company-action-btn{
  min-height:34px!important;height:34px!important;padding:0 9px!important;border-radius:9px!important;
  font-size:11.5px!important;font-weight:850!important;line-height:1!important;white-space:nowrap!important
}
#modal.company-profile-mode .company-action-btn .ui-icon,#modal.company-profile-mode .company-action-btn .btn-plus-icon{width:15px!important;height:15px!important;flex:0 0 15px!important}
html[data-theme="dark"] #modal.company-profile-mode .company-action-group{background:#0f1b2d!important;border-color:#2a3d58!important;box-shadow:0 6px 18px rgba(0,0,0,.12)!important}
@media(max-width:900px){
 #modal.company-profile-mode .company-action-group{display:grid!important;grid-template-columns:145px minmax(0,1fr)!important;align-items:center!important}
 #modal.company-profile-mode .company-action-grid{margin-top:0!important}
}
@media(max-width:680px){
 #modal.company-profile-mode .company-action-group{display:flex!important;flex-direction:column!important;align-items:stretch!important}
 #modal.company-profile-mode .company-action-grid{grid-template-columns:1fr 1fr!important;width:100%!important}
 #modal.company-profile-mode .company-action-center .company-action-btn{white-space:normal!important;height:auto!important;min-height:36px!important;padding:7px 8px!important}
}

/* === source: release-243.css === */
/* NexaOper V8.115.249 — progresso de criação alinhado + acabamento de exclusão. */
#createdCompanyDeployment.deployment-progress-card{
  --creation-indent:44px;
  gap:10px!important;
  padding:15px 16px!important;
}
#createdCompanyDeployment .deployment-progress-head{
  grid-template-columns:32px minmax(0,1fr) 42px!important;
  gap:12px!important;
  align-items:center!important;
}
#createdCompanyDeployment .deployment-spinner{
  width:28px!important;
  height:28px!important;
  border-width:3px!important;
  justify-self:center!important;
}
#createdCompanyDeployment .deployment-progress-head>div{
  min-width:0!important;
  gap:3px!important;
  align-self:center!important;
}
#createdCompanyDeployment .deployment-progress-head small{
  font-size:10.5px!important;
  line-height:1.25!important;
}
#createdCompanyDeployment .deployment-progress-head b{
  font-size:12.5px!important;
  line-height:1.3!important;
}
#createdCompanyDeployment .deployment-progress-head strong{
  min-width:42px!important;
  text-align:right!important;
  font-size:11.5px!important;
  line-height:1!important;
}
#createdCompanyDeployment .deployment-progress-track{
  margin-left:var(--creation-indent)!important;
  width:calc(100% - var(--creation-indent))!important;
}
#createdCompanyDeployment #createdDeploymentStatus{
  display:block!important;
  margin:0!important;
  padding-left:var(--creation-indent)!important;
  color:var(--muted)!important;
  font-size:10.8px!important;
  line-height:1.45!important;
  min-height:16px!important;
}
#createdCompanyDeployment .created-access-links{
  margin:2px 0 0!important;
  gap:9px!important;
  align-items:stretch!important;
}
#createdCompanyDeployment .created-access-links>div{
  min-width:0!important;
  padding:10px 11px!important;
  align-content:start!important;
}
#createdCompanyDeployment .created-access-links span{
  line-height:1.2!important;
}
#createdCompanyDeployment .created-access-links a{
  line-height:1.35!important;
  min-height:30px!important;
  display:flex!important;
  align-items:center!important;
}
#createdCompanyDeployment #createdDeploymentRetry{
  justify-self:start!important;
  min-height:34px!important;
}
@media(max-width:620px){
  #createdCompanyDeployment.deployment-progress-card{--creation-indent:39px;padding:13px!important}
  #createdCompanyDeployment .deployment-progress-head{grid-template-columns:27px minmax(0,1fr) 38px!important;gap:10px!important}
  #createdCompanyDeployment .deployment-spinner{width:24px!important;height:24px!important}
  #createdCompanyDeployment .created-access-links{grid-template-columns:1fr!important}
}

/* === source: release-244.css === */
/* NexaOper V8.115.249 — Dashboard da Central sem estouro horizontal + criação dinâmica confiável. */

/* O conteúdo principal nunca pode aumentar a largura da coluna do CSS Grid. */
main{
  min-width:0!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
#page-dashboard{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
}
#page-dashboard>*{
  min-width:0!important;
  max-width:100%!important;
}

/* Hero: ambas as colunas podem encolher sem empurrar a página para a direita. */
#page-dashboard .dashboard-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  gap:18px!important;
  overflow:hidden!important;
}
#page-dashboard .hero-copy,
#page-dashboard .hero-highlight{
  min-width:0!important;
  max-width:100%!important;
}
#page-dashboard .hero-copy p,
#page-dashboard .hero-highlight>*{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}
#page-dashboard .hero-highlight b{
  font-size:clamp(24px,2.2vw,38px)!important;
  line-height:1.05!important;
  white-space:normal!important;
}

/* KPIs: minmax(0,1fr) impede o Ticket mensal de alargar todo o dashboard. */
#page-dashboard .premium-kpis{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  gap:12px!important;
}
#page-dashboard .premium-kpis>div{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
#page-dashboard .premium-kpis b{
  min-width:0!important;
  max-width:100%!important;
  font-size:clamp(22px,1.75vw,30px)!important;
  line-height:1.05!important;
  overflow-wrap:anywhere!important;
}
#page-dashboard #kMrr{
  font-size:clamp(19px,1.55vw,28px)!important;
  white-space:nowrap!important;
}
#page-dashboard .kpi-label,
#page-dashboard .premium-kpis small{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}

/* Painéis inferiores respeitam rigorosamente a largura disponível. */
#page-dashboard .dashboard-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  gap:18px!important;
}
#page-dashboard .dashboard-grid>.dashboard-panel,
#page-dashboard .status-summary-grid>div,
#page-dashboard .priority-list,
#page-dashboard .priority-empty-state{
  min-width:0!important;
  max-width:100%!important;
}
#page-dashboard .status-summary-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:100%!important;
  min-width:0!important;
}
#page-dashboard .mini-legend{
  min-width:0!important;
  max-width:100%!important;
}

@media(max-width:1450px){
  #page-dashboard .premium-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #page-dashboard #kMrr{font-size:24px!important}
}
@media(max-width:1050px){
  #page-dashboard .dashboard-hero,
  #page-dashboard .dashboard-grid{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  #page-dashboard .premium-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #page-dashboard .dashboard-hero{padding:16px!important;gap:12px!important}
  #page-dashboard .dashboard-grid{gap:12px!important}
}
@media(max-width:470px){
  #page-dashboard .premium-kpis,
  #page-dashboard .status-summary-grid{grid-template-columns:1fr!important}
}

/* === source: release-245.css === */
/* NexaOper V8.115.249 — alinhamento final da criação de empresa e login da Central. */

/* ===== Criação de empresa: progresso e links perfeitamente alinhados ===== */
#createdCompanyDeployment.deployment-progress-card{
  padding:16px!important;
  gap:12px!important;
  border-radius:16px!important;
}
#createdCompanyDeployment .deployment-progress-head{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) 52px!important;
  align-items:center!important;
  column-gap:12px!important;
  min-height:48px!important;
}
#createdCompanyDeployment .deployment-spinner{
  width:27px!important;
  height:27px!important;
  border-width:3px!important;
  margin:0!important;
  justify-self:center!important;
  align-self:center!important;
}
#createdCompanyDeployment .deployment-progress-head>div{
  display:grid!important;
  grid-template-rows:auto auto!important;
  align-content:center!important;
  gap:3px!important;
  min-width:0!important;
  margin:0!important;
}
#createdCompanyDeployment .deployment-progress-head small,
#createdCompanyDeployment .deployment-progress-head b,
#createdCompanyDeployment .deployment-progress-head strong{
  margin:0!important;
  padding:0!important;
}
#createdCompanyDeployment .deployment-progress-head small{
  font-size:10.5px!important;
  line-height:1.25!important;
  color:var(--muted)!important;
}
#createdCompanyDeployment .deployment-progress-head b{
  font-size:13px!important;
  line-height:1.28!important;
  min-height:17px!important;
  display:flex!important;
  align-items:center!important;
}
#createdCompanyDeployment .deployment-progress-head strong{
  width:52px!important;
  min-width:52px!important;
  text-align:right!important;
  align-self:center!important;
  font-size:12px!important;
  line-height:1!important;
  color:var(--text)!important;
}
#createdCompanyDeployment .deployment-progress-track{
  width:100%!important;
  margin:0!important;
  height:7px!important;
}
#createdCompanyDeployment #createdDeploymentStatus{
  display:block!important;
  margin:0!important;
  padding:0!important;
  min-height:17px!important;
  font-size:10.8px!important;
  line-height:1.45!important;
  color:var(--muted)!important;
}
#createdCompanyDeployment .created-access-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0!important;
  align-items:stretch!important;
}
#createdCompanyDeployment .created-access-links>div{
  display:grid!important;
  grid-template-rows:auto minmax(34px,auto)!important;
  align-content:start!important;
  gap:7px!important;
  min-width:0!important;
  min-height:82px!important;
  padding:11px 12px!important;
  border-radius:12px!important;
}
#createdCompanyDeployment .created-access-links span{
  display:block!important;
  margin:0!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:850!important;
}
#createdCompanyDeployment .created-access-links a{
  display:flex!important;
  align-items:flex-start!important;
  min-width:0!important;
  min-height:34px!important;
  margin:0!important;
  font-size:11px!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
#createdCompanyDeployment #createdDeploymentRetry{
  justify-self:start!important;
  min-height:36px!important;
  margin:0!important;
}

/* ===== Login da Central: label em cima, input alinhado e 2FA sem quebrar ===== */
#login.login{
  padding:clamp(16px,3vw,32px)!important;
}
#login .login-card{
  width:min(520px,100%)!important;
  max-width:520px!important;
  padding:34px 36px!important;
  border-radius:28px!important;
}
#login .login-card>.brand-wordmark{
  margin:0 0 10px!important;
  line-height:1!important;
}
#login .login-card>p{
  margin:0 0 22px!important;
  line-height:1.5!important;
}
#login #loginMsg:empty{display:none!important}
#login #loginMsg p{
  margin:0 0 16px!important;
  padding:10px 12px!important;
  border-radius:10px!important;
  background:color-mix(in srgb,#dc2626 8%,transparent)!important;
  font-size:12px!important;
  line-height:1.4!important;
}
#login .login-field{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:8px!important;
  margin:0 0 14px!important;
  width:100%!important;
}
#login .login-field-label{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-style:normal!important;
  font-weight:850!important;
  color:var(--text)!important;
}
#login .login-field-label .ui-icon{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
  color:currentColor!important;
  margin:0!important;
}
#login .login-field-label em{
  margin-left:2px!important;
  font-size:10px!important;
  font-weight:600!important;
  font-style:normal!important;
  color:var(--muted)!important;
}
#login .login-field input{
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 14px!important;
  border-radius:13px!important;
}
#login .login-submit{
  width:100%!important;
  min-height:48px!important;
  margin:4px 0 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#login .login-card>small{
  margin-top:22px!important;
}

@media(max-width:620px){
  #createdCompanyDeployment.deployment-progress-card{padding:13px!important}
  #createdCompanyDeployment .deployment-progress-head{grid-template-columns:26px minmax(0,1fr) 44px!important;column-gap:9px!important}
  #createdCompanyDeployment .deployment-spinner{width:23px!important;height:23px!important}
  #createdCompanyDeployment .deployment-progress-head strong{width:44px!important;min-width:44px!important}
  #createdCompanyDeployment .created-access-links{grid-template-columns:1fr!important}
  #createdCompanyDeployment .created-access-links>div{min-height:70px!important}
  #login .login-card{padding:27px 22px!important;border-radius:22px!important}
}

/* === source: release-247.css === */
/* NexaOper V8.115.249 — indicação de acesso HTTPS seguro. */
.deployment-http-hint.secure{color:var(--ok,#198754)!important;font-weight:750!important}
html[data-theme="dark"] .deployment-http-hint.secure{color:#86deb1!important}
