/* 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;
}
