﻿:root{
  --isnev-blue:#0f6db4;
  --isnev-gray:#6b7280;
  --surface:#ffffff;
  --bg:#f3f4f6;

  /* Tema dinÃ¡mico por empresa */
  --company-primary:#0f6db4;
  --company-secondary:#111827;
  --company-primary-soft:rgba(15,109,180,.10);
  --company-secondary-soft:rgba(17,24,39,.08);
}

*{
  box-sizing:border-box;
}

html, body{
  margin:0;
  padding:0;
}

body.with-shell{
  background:var(--bg);
}

/* CABECERA SUPERIOR */
.isnev-shell{
  display:block;
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(8px);
  background:rgba(255,255,255,.92);
  border-bottom:1px solid #e5e7eb;
}

.isnev-shell-inner{
  max-width:1400px;
  margin:0 auto;
  padding:8px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.isnev-brand{
  display:flex;
  align-items:center;
  gap:10px;
}

.isnev-brand img{
  height:28px;
  opacity:.88;
}

.isnev-brand span{
  font:600 11px/1.2 Arial,sans-serif;
  color:#4b5563;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.company-chip{
  display:flex;
  align-items:center;
  gap:8px;
  color:#6b7280;
  font:600 11px Arial,sans-serif;
}

.company-chip img{
  height:24px;
  width:auto;
}

.page-wrap{
  padding-top:14px;
}

.hero-logo{
  width:min(340px,72vw);
  margin:0 auto 18px;
  display:block;
  filter:drop-shadow(0 14px 30px rgba(15,109,180,.14));
}

@keyframes heroFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-10px) scale(1.015)}
}

.hero-glow{
  position:relative;
}

.hero-glow::after{
  content:"";
  position:absolute;
  inset:auto 18% -12px 18%;
  height:26px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(15,109,180,.16), rgba(15,109,180,0));
  filter:blur(12px);
}

.role-card{
  transition:transform .18s ease, box-shadow .18s ease;
}

.role-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 28px rgba(0,0,0,.08);
}

/* ====== TEMA POR EMPRESA ====== */

.bg-company-gradient{
  background:linear-gradient(135deg, var(--company-secondary), var(--company-primary));
  color:#fff;
}

.bg-company-primary{
  background:var(--company-primary);
  color:#fff;
}

.bg-company-secondary{
  background:var(--company-secondary);
  color:#fff;
}

.bg-company-soft{
  background:var(--company-primary-soft);
}

.bg-company-secondary-soft{
  background:var(--company-secondary-soft);
}

.text-company{
  color:var(--company-primary);
}

.text-company-secondary{
  color:var(--company-secondary);
}

.border-company{
  border-color:var(--company-primary);
}

.border-company-secondary{
  border-color:var(--company-secondary);
}

.ring-company{
  box-shadow:0 0 0 2px var(--company-primary-soft);
}

/* Botones */
.btn-primary{
  background:var(--company-primary);
  color:#fff;
  border:1px solid transparent;
  transition:all .18s ease;
}

.btn-primary:hover{
  filter:brightness(.96);
  transform:translateY(-1px);
}

.btn-secondary{
  background:var(--company-secondary);
  color:#fff;
  border:1px solid transparent;
  transition:all .18s ease;
}

.btn-secondary:hover{
  filter:brightness(.96);
  transform:translateY(-1px);
}

.btn-outline-company{
  background:#fff;
  color:var(--company-primary);
  border:1px solid var(--company-primary);
  transition:all .18s ease;
}

.btn-outline-company:hover{
  background:var(--company-primary-soft);
}

.btn-soft-company{
  background:var(--company-primary-soft);
  color:var(--company-primary);
  border:1px solid transparent;
  transition:all .18s ease;
}

.btn-soft-company:hover{
  filter:brightness(.98);
}

/* Chips / badges */
.badge-company{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  background:var(--company-primary-soft);
  color:var(--company-primary);
  font-weight:600;
  font-size:11px;
}

.badge-company-secondary{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  background:var(--company-secondary-soft);
  color:var(--company-secondary);
  font-weight:600;
  font-size:11px;
}

/* Cards / headers Ãºtiles */
.card-company{
  border:1px solid rgba(0,0,0,.06);
  border-left:4px solid var(--company-primary);
  background:#fff;
}

.header-company{
  background:linear-gradient(135deg, var(--company-secondary), var(--company-primary));
  color:#fff;
}

.header-company-soft{
  background:var(--company-primary-soft);
  color:var(--company-secondary);
  border:1px solid rgba(0,0,0,.05);
}

/* Inputs con foco de empresa */
.input-company:focus,
.select-company:focus,
.textarea-company:focus{
  outline:none;
  border-color:var(--company-primary);
  box-shadow:0 0 0 3px var(--company-primary-soft);
}

/* Links */
.link-company{
  color:var(--company-primary);
  text-decoration:none;
}

.link-company:hover{
  text-decoration:underline;
}

/* Icon wrappers */
.icon-company{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--company-primary-soft);
  color:var(--company-primary);
  border:1px solid rgba(0,0,0,.05);
}

.icon-company-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--company-secondary-soft);
  color:var(--company-secondary);
  border:1px solid rgba(0,0,0,.05);
}

/* Scroll suave de paneles */
.scroll-company::-webkit-scrollbar{
  width:10px;
  height:10px;
}

.scroll-company::-webkit-scrollbar-thumb{
  background:rgba(0,0,0,.12);
  border-radius:999px;
}

.scroll-company::-webkit-scrollbar-track{
  background:transparent;
}

/* TABLET Y MÃ“VIL */
@media (max-width: 1024px){
  .isnev-shell{
    display:none;
  }

  .isnev-shell-inner{
    padding:8px 12px;
  }

  .isnev-brand img{
    height:24px;
  }

  .company-chip img{
    height:20px;
  }
}

/* Dashboard menu mÃ¡s compacto */
.module-menu-card {
  min-height: 48px;
}

.module-menu-name {
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  word-break: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.scroll-company {
  scrollbar-width: thin;
}

@media (min-width: 1280px) {
  .module-menu-card {
    min-height: 46px;
  }
}


/* ===============================
   ESCALA VISUAL UNIFICADA MÃ“DULOS
   Referencia base: Limpiezas
================================ */
.ui-compact-page,
.ui-compact-page *{
  font-family: Arial, Helvetica, sans-serif;
}

.ui-compact-page{
  background:#f8fafc;
  color:#0f172a;
}

.ui-compact-page main{
  padding:8px 10px !important;
}

.ui-compact-page .module-surface,
.ui-compact-page main > section,
.ui-compact-page main > article,
.ui-compact-page main > .grid,
.ui-compact-page main > .space-y-2,
.ui-compact-page main > .space-y-3,
.ui-compact-page main > .space-y-4{
  max-width:1280px;
  margin-left:auto;
  margin-right:auto;
}

.ui-compact-page h1,
.ui-compact-page h2,
.ui-compact-page h3{
  letter-spacing:-.02em;
  color:#0f172a;
}

.ui-compact-page .text-3xl{font-size:1.35rem !important; line-height:1.08 !important;}
.ui-compact-page .text-2xl{font-size:1.15rem !important; line-height:1.12 !important;}
.ui-compact-page .text-xl{font-size:1rem !important; line-height:1.18 !important;}
.ui-compact-page .text-lg{font-size:.9rem !important; line-height:1.15 !important;}
.ui-compact-page .text-sm{font-size:.68rem !important;}
.ui-compact-page .text-xs{font-size:.7rem !important;}

.ui-compact-page p.inline-flex,
.ui-compact-page .inline-flex.rounded-full{
  padding:.36rem .68rem !important;
  border-radius:999px !important;
  font-size:.68rem !important;
  font-weight:700 !important;
  margin-bottom:.35rem !important;
}

.ui-compact-page label,
.ui-compact-page .block.font-semibold,
.ui-compact-page .block.font-bold{
  font-size:.74rem !important;
  font-weight:700 !important;
  color:#0f172a;
}

.ui-compact-page input,
.ui-compact-page select,
.ui-compact-page textarea{
  font-size:.8rem !important;
  line-height:1.3 !important;
  padding:.58rem .72rem !important;
  border-radius:.8rem !important;
  border-color:#cbd5e1 !important;
}

.ui-compact-page textarea{
  min-height:90px;
}

.ui-compact-page button,
.ui-compact-page a.inline-flex,
.ui-compact-page a.rounded-2xl,
.ui-compact-page a.rounded-lg,
.ui-compact-page .btn-primary,
.ui-compact-page .btn-secondary{
  font-size:.95rem !important;
  line-height:1.15 !important;
}

.ui-compact-page button.rounded-2xl,
.ui-compact-page a.rounded-2xl{
  padding:.56rem .78rem !important;
}

.ui-compact-page button.rounded-lg,
.ui-compact-page a.rounded-lg{
  padding:.5rem .72rem !important;
}

.ui-compact-page .rounded-3xl{border-radius:.9rem !important;}
.ui-compact-page .rounded-2xl{border-radius:.9rem !important;}
.ui-compact-page .rounded-xl{border-radius:.75rem !important;}

.ui-compact-page table{font-size:.68rem !important;}
.ui-compact-page th{font-size:.7rem !important; font-weight:800 !important; letter-spacing:.005em;}
.ui-compact-page td{font-size:.78rem !important;}

.ui-compact-page .metric-card .text-3xl,
.ui-compact-page .metric-card .text-2xl,
.ui-compact-page .text-3xl.font-black,
.ui-compact-page .text-2xl.font-black{
  letter-spacing:-.03em;
}

.ui-compact-page .status-compact,
.ui-compact-page #msgOk,
.ui-compact-page #msgErr,
.ui-compact-page #statusBox,
.ui-compact-page #emptyBox{
  font-size:.74rem !important;
}

@media (max-width: 900px){
  .ui-compact-page main{padding:8px !important;}
  .ui-compact-page .text-3xl{font-size:1.18rem !important;}
  .ui-compact-page .text-2xl{font-size:1rem !important;}
}

/* Dashboard compacto + fullscreen manual */
#moduleFrame{width:100%;height:100%;border:0;display:block;}
.module-fullscreen #modulesAside{display:none !important;}
.module-fullscreen #dashboardGrid{grid-template-columns:1fr !important;}
.module-fullscreen #showMenuBtn{display:inline-flex !important;}
.module-fullscreen > .h-screen > header.shrink-0{display:none !important;}
.module-fullscreen > .h-screen > main{padding:0 !important;}
.module-fullscreen #dashboardGrid{height:100dvh !important;min-height:100dvh !important;gap:0 !important;}
.module-fullscreen .dashboard-module-shell{
  border-radius:0 !important;
  border-left:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}
.module-fullscreen .dashboard-module-header{
  border-radius:0 !important;
  padding:8px 12px !important;
}


/* ===== Dashboard responsive ===== */
@media (max-width: 1279px){
  body[data-no-topbar="true"]{
    overflow:auto;
  }

  .dashboard-aside{
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    width:min(88vw, 340px);
    max-width:340px;
    z-index:60;
    border-radius:0 24px 24px 0 !important;
    transform:translateX(-105%);
    transition:transform .24s ease;
  }

  body.menu-open .dashboard-aside{
    transform:translateX(0);
  }

  body.menu-open::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(15, 23, 42, .45);
    z-index:55;
  }

  body.module-fullscreen #modulesAside{
    display:flex !important;
  }
}


/* ===== Mejoras mÃ³vil/tablet fase 2 ===== */
@media (max-width: 768px){
  html, body{height:auto; min-height:100%;}

  body[data-no-topbar="true"]{
    min-height:100dvh;
  }

  .header-company{
    padding:14px !important;
    border-radius:20px !important;
  }

  #dashboardGrid{
    gap:12px !important;
  }

  #modulesAside{
    width:min(92vw, 360px);
    max-width:360px;
  }

  #moduleTitle{
    font-size:.92rem !important;
    line-height:1.2 !important;
  }

  #modulePath{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  #moduleFrame{
    min-height:calc(100dvh - 210px);
  }

  .ui-compact-page main,
  body:not([data-no-topbar="false"]) main{
    padding:12px !important;
  }

  .ui-compact-page section,
  .ui-compact-page article{
    padding:16px !important;
    border-radius:18px !important;
  }

  .ui-compact-page .grid{
    gap:14px !important;
  }

  .ui-compact-page h1{
    font-size:1.2rem !important;
    line-height:1.15 !important;
  }

  .ui-compact-page h2{
    font-size:1rem !important;
    line-height:1.2 !important;
  }

  .ui-compact-page input,
  .ui-compact-page select,
  .ui-compact-page textarea,
  .ui-compact-page button{
    min-height:44px;
  }

  .ui-compact-page table{
    min-width:680px;
  }

  .ui-compact-page .overflow-x-auto{
    -webkit-overflow-scrolling:touch;
  }
}

@media (max-width: 640px){
  body.h-screen,
  body .h-screen{
    height:auto !important;
    min-height:100dvh;
  }

  header.shrink-0.p-3.pb-0{
    padding:12px 12px 0 !important;
  }

  #dashboardGrid > section{
    border-radius:20px !important;
  }

  .header-company .text-2xl{
    font-size:1.35rem !important;
  }

  .header-company .w-20{
    width:56px !important;
  }

  #toggleMenuBtn,
  #fullscreenBtn,
  #showMenuBtn,
  #zoomOutBtn,
  #zoomInBtn{
    min-height:40px;
  }

  #zoomLabel{
    min-width:48px !important;
  }

  #moduleFrame{
    min-height:calc(100dvh - 240px);
  }
}


/* ===== Dashboard mÃ³vil: solo cabecera principal ===== */
.mobile-dashboard-bar{display:none !important;}

@media (max-width: 768px){
  body[data-no-topbar="true"] > div > header.shrink-0{
    display:block !important;
    position:sticky;
    top:0;
    z-index:55;
    background:transparent;
    padding:10px 10px 0 !important;
  }

  body[data-no-topbar="true"] main{
    padding:10px !important;
  }

  .header-company{
    border-radius:18px !important;
    padding:10px 12px !important;
  }

  .header-company > div{
    gap:10px !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
  }

  .header-company > div > div:first-child{
    gap:10px !important;
    min-width:0;
    flex:1 1 auto;
  }

  .header-company .w-20{
    width:42px !important;
  }

  .header-company p.text-xs.text-white\/70,
  .header-company #role-text,
  .header-company #zoomOutBtn,
  .header-company #zoomInBtn,
  .header-company #zoomLabel,
  .header-company #role-badge{
    display:none !important;
  }

  .header-company .text-2xl{
    font-size:1rem !important;
    line-height:1.2 !important;
    margin:0 !important;
  }

  .header-company a,
  .header-company button{
    min-height:42px;
  }

  .header-company > div > div:last-child{
    display:flex;
    align-items:center;
    gap:8px !important;
    flex-wrap:nowrap !important;
    margin-left:auto;
  }

  #toggleMenuBtn{
    min-width:42px;
    width:42px;
    height:42px;
    padding:0 !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    font-size:22px !important;
    line-height:1;
  }

  .dashboard-module-header,
  #showMenuBtn,
  #fullscreenBtn,
  #modulePath,
  .mobile-dashboard-bar,
  #mobileMenuBtn{
    display:none !important;
  }

  #dashboardGrid{
    height:auto !important;
    min-height:calc(100dvh - 82px);
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  #dashboardGrid > section,
  #dashboardGrid > aside{
    border-radius:18px !important;
  }

  #moduleFrame{
    min-height:calc(100dvh - 118px) !important;
  }
}

@media (max-width: 640px){
  #moduleFrame{
    min-height:calc(100dvh - 110px) !important;
  }
}

/* Login mÃ³vil: mantener logo + selector idioma visible */
@media (max-width: 768px){
  body:not([data-no-topbar="true"]) main{
    padding:14px !important;
  }

  body:not([data-no-topbar="true"]) main > section{
    max-width:560px !important;
  }

  body:not([data-no-topbar="true"]) main > section > div.grid{
    display:block !important;
  }

  body:not([data-no-topbar="true"]) main > section > div.grid > div:first-child{
    display:block !important;
    padding:18px 18px 8px !important;
    border-right:0 !important;
    border-bottom:1px solid #e5e7eb !important;
    min-height:auto !important;
  }

  .login-hero-logo-wrap{
    margin-bottom:10px !important;
  }

  .login-hero-logo{
    width:min(220px, 58vw) !important;
  }

  body:not([data-no-topbar="true"]) main > section > div.grid > div:first-child h1{
    font-size:1.4rem !important;
    margin-bottom:10px !important;
  }

  body:not([data-no-topbar="true"]) main > section > div.grid > div:first-child p{
    font-size:.92rem !important;
  }

  #isnev-login-lang{
    display:block !important;
  }
}


/* ===== Ajustes solicitados fase 5 ===== */
@media (max-width: 768px){
  .mobile-menu-icon-btn,
  #toggleMenuBtn{
    min-width:44px;
    width:44px;
    height:44px;
    padding:0 !important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:22px !important;
    line-height:1;
  }

  .dashboard-module-header{
    display:none !important;
  }

  #dashboardGrid{
    min-height:calc(100dvh - 84px) !important;
  }

  #moduleFrame{
    min-height:calc(100dvh - 104px) !important;
  }
}

/* Superadmin mÃ³vil con menÃº oculto */
.superadmin-mobile-bar{display:none;}

@media (max-width: 1024px){
  .superadmin-mobile-bar{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    position:sticky;
    top:0;
    z-index:70;
    padding:10px 12px;
    background:#ffffff;
    border-bottom:1px solid #e5e7eb;
  }

  .superadmin-mobile-title{
    flex:1;
    min-width:0;
    font-weight:800;
    font-size:1rem;
    color:#0f172a;
    text-align:center;
  }

  .superadmin-mobile-menu-btn,
  .superadmin-mobile-logout{
    min-width:44px;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    text-decoration:none;
    font-weight:700;
  }

  .superadmin-mobile-menu-btn{
    border:0;
    background:#0f172a;
    color:#fff;
    font-size:22px;
    line-height:1;
    padding:0;
  }

  .superadmin-mobile-logout{
    background:#f1f5f9;
    color:#0f172a;
    padding:0 12px;
    font-size:.78rem;
    white-space:nowrap;
  }


  body.superadmin-page,
  body.superadmin-page .h-screen,
  body.superadmin-page main{
    height:auto !important;
    min-height:100dvh !important;
  }

  body.superadmin-page,
  body.superadmin-page main,
  body.superadmin-page .flex-1.min-h-0.overflow-hidden,
  body.superadmin-page section.overflow-auto{
    overflow:visible !important;
  }

  body.superadmin-page section.overflow-auto{
    -webkit-overflow-scrolling:touch;
  }

  .superadmin-layout{
    height:calc(100dvh - 65px) !important;
    overflow:hidden !important;
  }

  .superadmin-sidebar{
    position:fixed !important;
    inset:65px auto 0 0;
    width:min(86vw, 320px) !important;
    max-width:320px !important;
    z-index:80;
    transform:translateX(-105%) !important;
    transition:transform .22s ease;
    box-shadow:0 20px 40px rgba(0,0,0,.28);
    overflow-y:auto !important;
  }

  body.superadmin-menu-open .superadmin-sidebar{
    transform:translateX(0) !important;
  }

  body.superadmin-menu-open::before{
    content:"";
    position:fixed;
    inset:65px 0 0 0;
    background:rgba(15,23,42,.45);
    z-index:75;
  }
}


/* ===== Ajustes mÃ³vil fase 7 ===== */
@media (max-width: 768px){
  /* Login: que entre sin scroll y mantenga logo + idioma */
  body:not([data-no-topbar="true"]){
    min-height:100dvh;
    overflow:hidden;
  }

  body:not([data-no-topbar="true"]) main{
    min-height:100dvh !important;
    padding:10px !important;
    align-items:center !important;
  }

  body:not([data-no-topbar="true"]) main > section{
    max-width:460px !important;
    border-radius:22px !important;
  }

  body:not([data-no-topbar="true"]) main > section > div.grid > div:first-child{
    padding:14px 16px 8px !important;
  }

  body:not([data-no-topbar="true"]) main > section > div.grid > div:last-child{
    padding:12px !important;
  }

  .login-hero-logo{
    width:min(170px, 46vw) !important;
  }

  body:not([data-no-topbar="true"]) main > section > div.grid > div:first-child h1{
    font-size:1.15rem !important;
    line-height:1.1 !important;
    margin-bottom:8px !important;
  }

  body:not([data-no-topbar="true"]) main > section > div.grid > div:first-child p{
    font-size:.82rem !important;
    line-height:1.35 !important;
  }

  #isnev-login-lang{
    margin-bottom:10px !important;
  }

  #isnev-login-lang .isnev-lang-btn{
    min-height:34px !important;
    padding:.3rem .65rem !important;
    font-size:.72rem !important;
  }

  body:not([data-no-topbar="true"]) #login-form{
    gap:12px !important;
  }

  body:not([data-no-topbar="true"]) #login-form label{
    margin-bottom:6px !important;
  }

  body:not([data-no-topbar="true"]) #login-form input{
    min-height:42px !important;
    padding:.68rem .85rem !important;
  }

  body:not([data-no-topbar="true"]) #login-form button[type="submit"]{
    min-height:44px !important;
    padding:.75rem 1rem !important;
  }

  body:not([data-no-topbar="true"]) .mt-6.rounded-2xl{
    margin-top:12px !important;
    padding:10px 12px !important;
    font-size:.78rem !important;
  }

  /* Empresa dashboard: dejar solo cabecera principal compacta y sin tÃ­tulo que solape */
  .header-company h1{
    display:none !important;
  }

  .header-company #company-name{
    max-width:120px;
    display:inline-block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    vertical-align:bottom;
  }

  .header-company a[href="index.html"],
  .header-company #toggleMenuBtn{
    min-height:40px !important;
  }

  /* Registrar incidencia: primera vista ajustada */
  body.ui-compact-page main{
    padding:8px !important;
  }

  #empresaVista{
    font-size:.85rem !important;
  }

  body.ui-compact-page main > section.max-w-3xl,
  body.ui-compact-page main > section.bg-white{
    padding:14px !important;
    border-radius:18px !important;
  }

  .ui-compact-page .mb-6{
    margin-bottom:12px !important;
  }

  .ui-compact-page .gap-5{
    gap:12px !important;
  }

  .ui-compact-page textarea{
    min-height:84px !important;
  }

  #sendBtn,
  .ui-compact-page a[href="dashboard.html"]{
    min-width:0 !important;
    flex:1 1 100% !important;
  }

  /* GestiÃ³n de usuarios mÃ¡s compacta */
  body.ui-compact-page main > section.grid{
    gap:12px !important;
  }

  #searchInput{
    min-width:0 !important;
    width:100% !important;
  }

  .ui-compact-page table.w-full.min-w-\[1080px\]{
    min-width:760px !important;
  }

  /* VIA T / TFT mÃ¡s equilibrado en mÃ³vil */
  .ui-compact-page .max-w-6xl{
    max-width:100% !important;
  }

  .ui-compact-page .p-6,
  .ui-compact-page .md\:p-5,
  .ui-compact-page .md\:p-6{
    padding:14px !important;
  }

  .ui-compact-page .mb-5{
    margin-bottom:12px !important;
  }

  .ui-compact-page .px-4.py-3,
  .ui-compact-page .px-4.py-2\.5,
  .ui-compact-page .px-4.py-2{
    padding:.62rem .8rem !important;
  }

  .ui-compact-page .table-wrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  .ui-compact-page .table-wrap table{
    min-width:820px;
  }
}


/* ===== Ajustes mÃ³vil fase 8 ===== */
@media (max-width: 768px){
  /* Login: que entre completo sin cortar abajo */
  body:not([data-no-topbar="true"]){
    min-height:100svh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  body:not([data-no-topbar="true"]) main{
    min-height:100svh !important;
    padding:6px !important;
  }

  body:not([data-no-topbar="true"]) main > section{
    max-width:430px !important;
    border-radius:18px !important;
  }

  body:not([data-no-topbar="true"]) main > section > div.grid > div:first-child{
    padding:10px 12px 6px !important;
  }

  body:not([data-no-topbar="true"]) main > section > div.grid > div:last-child,
  body:not([data-no-topbar="true"]) .bg-white.rounded-2xl{
    padding:10px !important;
  }

  .login-hero-logo-wrap{margin-bottom:6px !important;}
  .login-hero-logo{width:min(135px, 38vw) !important;}

  body:not([data-no-topbar="true"]) main > section > div.grid > div:first-child h1{
    font-size:1rem !important;
    margin-bottom:4px !important;
  }

  body:not([data-no-topbar="true"]) main > section > div.grid > div:first-child p{
    font-size:.74rem !important;
    line-height:1.25 !important;
  }

  #isnev-login-lang{margin-bottom:8px !important;}
  #isnev-login-lang .isnev-lang-btn{min-height:30px !important; font-size:.68rem !important;}
  body:not([data-no-topbar="true"]) #login-form{gap:8px !important;}
  body:not([data-no-topbar="true"]) #login-form label{font-size:.75rem !important; margin-bottom:4px !important;}
  body:not([data-no-topbar="true"]) #login-form input{min-height:38px !important; padding:.58rem .75rem !important;}
  body:not([data-no-topbar="true"]) #login-form button[type="submit"]{min-height:40px !important; padding:.6rem .9rem !important;}
  body:not([data-no-topbar="true"]) #login-form .text-right a{font-size:.74rem !important;}
  body:not([data-no-topbar="true"]) .mt-6.rounded-2xl{display:none !important;}

  /* VIA T / TFT: selector y hoja mÃ¡s compactos */
  body.ui-compact-page #selectorView .mb-6{margin-bottom:10px !important;}
  body.ui-compact-page #selectorView .gap-4{gap:10px !important;}
  body.ui-compact-page #selectorView .md\:grid-cols-4{grid-template-columns:1fr !important;}
  body.ui-compact-page #selectorView h1{font-size:1.05rem !important;}
  body.ui-compact-page #selectorView p.text-slate-500.mt-1,
  body.ui-compact-page #selectorView .bg-slate-50.border .text-xs{font-size:.7rem !important;}

  #appView .mb-5{margin-bottom:10px !important;}
  #appView .border.border-slate-300.rounded-3xl{border-radius:14px !important;}
  #appView .border-b.border-slate-300.px-4.py-2{padding:6px 8px !important;}
  #appView #tituloHoja{font-size:.92rem !important; line-height:1.15 !important;}
  #appView .font-black.text-base{font-size:.82rem !important;}
  #appView #fechaVisible,
  #appView #deposito1,
  #appView #deposito2,
  #appView #operario{font-size:.75rem !important; min-height:34px !important; padding:.38rem .55rem !important;}
  #appView .grid.grid-cols-1.md\:grid-cols-3{gap:8px !important; padding:8px !important;}
  #appView .flex.flex-wrap.gap-3.mt-4.no-print{gap:8px !important; margin-top:10px !important;}
  #appView .flex.flex-wrap.gap-3.mt-4.no-print button{padding:.52rem .72rem !important; font-size:.8rem !important;}
  #appView table{font-size:10px !important;}
  #appView thead th{font-size:10px !important; padding:4px 3px !important;}
  #appView th, #appView td{padding:3px !important;}
  #appView .cell-input{height:24px !important; min-width:44px !important; font-size:10px !important; padding:2px 4px !important;}
  #appView .cell-check{width:14px !important; height:14px !important;}
  #appView .deleteBtn{padding:.28rem .45rem !important; font-size:.65rem !important;}

  /* Registrar incidencia: primera pantalla sin tanta altura */
  body.ui-compact-page main > section.max-w-3xl{
    max-width:100% !important;
  }

  body.ui-compact-page main > section.max-w-3xl > div:first-child{
    margin-bottom:10px !important;
    gap:8px !important;
  }

  body.ui-compact-page main > section.max-w-3xl > div:first-child p.text-slate-500{display:none !important;}
  body.ui-compact-page main > section.max-w-3xl > div:first-child .bg-slate-50.border{padding:8px 10px !important;}
  body.ui-compact-page main > section.max-w-3xl .grid.md\:grid-cols-2{gap:10px !important;}
  body.ui-compact-page main > section.max-w-3xl textarea#problema{min-height:64px !important;}
  body.ui-compact-page main > section.max-w-3xl .md\:col-span-2.flex.gap-3.flex-wrap{gap:8px !important;}
  body.ui-compact-page main > section.max-w-3xl .md\:col-span-2.flex.gap-3.flex-wrap > *{
    min-width:0 !important;
    min-height:40px !important;
    padding:.6rem .8rem !important;
  }

  /* GestiÃ³n de usuarios: un punto mÃ¡s compacta */
  body.ui-compact-page main > section:first-child{padding:12px !important; margin-bottom:10px !important;}
  body.ui-compact-page main > section:first-child h1{font-size:1.02rem !important;}
  body.ui-compact-page main > section:first-child p.text-slate-500{font-size:.72rem !important; line-height:1.25 !important;}
  body.ui-compact-page main > section.grid > article{padding:12px !important;}
  body.ui-compact-page main > section.grid h2{font-size:.98rem !important;}
  body.ui-compact-page main > section.grid label{font-size:.7rem !important;}
  body.ui-compact-page main > section.grid input,
  body.ui-compact-page main > section.grid select,
  body.ui-compact-page main > section.grid button{min-height:38px !important; font-size:.76rem !important;}
  #searchInput{padding:.55rem .7rem !important;}
  .ui-compact-page table.w-full.min-w-\[1080px\]{min-width:680px !important;}
  .ui-compact-page th{font-size:.66rem !important;}
  .ui-compact-page td{font-size:.72rem !important;}
}

@media (max-width: 768px) and (max-height: 780px){
  body:not([data-no-topbar="true"]) main{padding:4px !important;}
  .login-hero-logo{width:min(120px, 34vw) !important;}
  body:not([data-no-topbar="true"]) main > section > div.grid > div:first-child p{display:none !important;}
}


/* =========================================
   AJUSTES MÃ“VIL ESPECÃFICOS POR PÃGINA
   Encapsulados para no romper escritorio
========================================= */
@media (max-width: 768px) {

  /* 1) LOGIN */
  body.login-page {
    height: 100dvh;
    overflow: hidden;
  }

  body.login-page main {
    min-height: 100dvh !important;
    height: 100dvh !important;
    padding: 8px !important;
    display: flex;
    align-items: center !important;
    justify-content: center !important;
  }

  body.login-page main > section {
    width: 100%;
    max-width: 420px !important;
    max-height: calc(100dvh - 16px);
    overflow: hidden;
    border-radius: 18px !important;
  }

  body.login-page main > section > div.grid {
    display: block !important;
  }

  body.login-page main > section > div.grid > div:first-child {
    padding: 10px 12px 6px !important;
    border-right: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    min-height: auto !important;
  }

  body.login-page main > section > div.grid > div:last-child {
    padding: 10px !important;
  }

  body.login-page .bg-white.rounded-2xl {
    padding: 10px !important;
    border-radius: 16px !important;
  }

  body.login-page .login-hero-logo-wrap {
    margin-bottom: 6px !important;
  }

  body.login-page .login-hero-logo {
    width: min(130px, 36vw) !important;
    max-width: 130px !important;
  }

  body.login-page main > section > div.grid > div:first-child h1 {
    font-size: 1rem !important;
    line-height: 1.08 !important;
    margin-bottom: 4px !important;
  }

  body.login-page main > section > div.grid > div:first-child p {
    font-size: 0.74rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0 !important;
  }

  body.login-page #isnev-login-lang {
    margin-bottom: 8px !important;
  }

  body.login-page #isnev-login-lang .isnev-lang-btn {
    min-height: 30px !important;
    font-size: 0.68rem !important;
    padding: 0.28rem 0.55rem !important;
  }

  body.login-page #login-form {
    gap: 8px !important;
  }

  body.login-page #login-form label {
    font-size: 0.74rem !important;
    margin-bottom: 4px !important;
  }

  body.login-page #login-form input {
    min-height: 38px !important;
    padding: 0.56rem 0.72rem !important;
    font-size: 0.84rem !important;
  }

  body.login-page #login-form button[type="submit"] {
    min-height: 40px !important;
    padding: 0.6rem 0.85rem !important;
    font-size: 0.88rem !important;
  }

  body.login-page #login-form .text-right a {
    font-size: 0.73rem !important;
  }

  body.login-page #login-error {
    min-height: 16px !important;
    font-size: 0.72rem !important;
    margin: 0 !important;
  }

  body.login-page .mt-6.rounded-2xl {
    display: none !important;
  }

  body.login-page #modalReset > div {
    max-width: 340px !important;
    padding: 18px !important;
    border-radius: 16px !important;
  }

  body.login-page #modalReset h2 {
    font-size: 1rem !important;
  }

  body.login-page #modalReset p {
    font-size: 0.78rem !important;
  }

  body.login-page #modalReset input,
  body.login-page #modalReset button {
    min-height: 40px !important;
  }

  /* 2) VIA T / TFT */
  body.viat-page main {
    padding: 10px !important;
  }

  body.viat-page .max-w-7xl,
  body.viat-page .max-w-6xl {
    max-width: 100% !important;
  }

  body.viat-page #selectorView .bg-white.rounded-3xl,
  body.viat-page #appView .bg-white.rounded-3xl,
  body.viat-page #appView .print-card {
    border-radius: 18px !important;
  }

  body.viat-page #selectorView .p-6,
  body.viat-page #appView .p-6,
  body.viat-page #appView .p-5,
  body.viat-page #appView .md\:p-5,
  body.viat-page #appView .md\:p-6 {
    padding: 12px !important;
  }

  body.viat-page #selectorView h1 {
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 4px !important;
  }

  body.viat-page #selectorView p.text-slate-500.mt-1 {
    font-size: 0.74rem !important;
    line-height: 1.25 !important;
    margin-top: 2px !important;
  }

  body.viat-page #selectorView .mb-6 {
    margin-bottom: 10px !important;
  }

  body.viat-page #selectorView .gap-4 {
    gap: 10px !important;
  }

  body.viat-page #selectorView .md\:grid-cols-4 {
    grid-template-columns: 1fr !important;
  }

  body.viat-page #selectorView select,
  body.viat-page #selectorView input,
  body.viat-page #selectorView button {
    min-height: 40px !important;
    padding: 0.58rem 0.75rem !important;
    font-size: 0.84rem !important;
    border-radius: 14px !important;
  }

  body.viat-page #selectorView .homeTabBtn,
  body.viat-page #appView .tabBtn,
  body.viat-page #appView #volverBtn {
    min-height: 38px !important;
    padding: 0.5rem 0.72rem !important;
    font-size: 0.78rem !important;
    border-radius: 14px !important;
  }

  body.viat-page #appView #tituloHoja {
    font-size: 0.9rem !important;
    line-height: 1.15 !important;
  }

  body.viat-page #appView .font-black.text-base {
    font-size: 0.8rem !important;
  }

  body.viat-page #appView .border-b.border-slate-300.px-4.py-2 {
    padding: 6px 8px !important;
  }

  body.viat-page #appView .grid.grid-cols-1.md\:grid-cols-3 {
    gap: 8px !important;
    padding: 8px !important;
  }

  body.viat-page #appView label {
    font-size: 0.68rem !important;
    margin-bottom: 3px !important;
  }

  body.viat-page #appView #fechaVisible,
  body.viat-page #appView #deposito1,
  body.viat-page #appView #deposito2,
  body.viat-page #appView #operario {
    min-height: 34px !important;
    padding: 0.38rem 0.55rem !important;
    font-size: 0.75rem !important;
  }

  body.viat-page #appView .flex.flex-wrap.gap-3.mt-4.no-print {
    gap: 8px !important;
    margin-top: 10px !important;
  }

  body.viat-page #appView .flex.flex-wrap.gap-3.mt-4.no-print button {
    flex: 1 1 calc(50% - 8px);
    min-height: 38px !important;
    padding: 0.5rem 0.7rem !important;
    font-size: 0.76rem !important;
    border-radius: 14px !important;
  }

  body.viat-page #appView .table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.viat-page #appView .table-wrap table {
    min-width: 760px !important;
  }

  body.viat-page #appView table {
    font-size: 10px !important;
  }

  body.viat-page #appView thead th {
    font-size: 10px !important;
    padding: 4px 3px !important;
  }

  body.viat-page #appView th,
  body.viat-page #appView td {
    padding: 3px !important;
  }

  body.viat-page #appView .cell-input {
    height: 24px !important;
    min-width: 44px !important;
    font-size: 10px !important;
    padding: 2px 4px !important;
  }

  body.viat-page #appView .cell-check {
    width: 14px !important;
    height: 14px !important;
  }

  body.viat-page #appView .deleteBtn {
    padding: 0.28rem 0.45rem !important;
    font-size: 0.65rem !important;
  }

  /* 3) REGISTRAR INCIDENCIA */
  body.incidencia-page main {
    padding: 10px !important;
  }

  body.incidencia-page main > section.max-w-3xl {
    max-width: 100% !important;
    padding: 12px !important;
    border-radius: 18px !important;
  }

  body.incidencia-page main > section.max-w-3xl > div:first-child {
    margin-bottom: 10px !important;
    gap: 8px !important;
    align-items: stretch !important;
  }

  body.incidencia-page main > section.max-w-3xl > div:first-child p.inline-flex {
    margin-bottom: 6px !important;
    padding: 0.38rem 0.7rem !important;
    font-size: 0.7rem !important;
  }

  body.incidencia-page main > section.max-w-3xl > div:first-child h1 {
    font-size: 1rem !important;
    line-height: 1.15 !important;
    margin-bottom: 4px !important;
  }

  body.incidencia-page main > section.max-w-3xl > div:first-child p.text-slate-500 {
    font-size: 0.72rem !important;
    line-height: 1.22 !important;
    margin: 0 !important;
  }

  body.incidencia-page main > section.max-w-3xl > div:first-child .bg-slate-50.border {
    width: 100% !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
  }

  body.incidencia-page main > section.max-w-3xl .grid.md\:grid-cols-2 {
    gap: 10px !important;
  }

  body.incidencia-page main > section.max-w-3xl label {
    font-size: 0.7rem !important;
    margin-bottom: 4px !important;
  }

  body.incidencia-page main > section.max-w-3xl input,
  body.incidencia-page main > section.max-w-3xl select,
  body.incidencia-page main > section.max-w-3xl textarea,
  body.incidencia-page main > section.max-w-3xl button,
  body.incidencia-page main > section.max-w-3xl a[href="dashboard.html"] {
    min-height: 40px !important;
    padding: 0.58rem 0.78rem !important;
    font-size: 0.8rem !important;
  }

  body.incidencia-page main > section.max-w-3xl textarea#problema {
    min-height: 72px !important;
  }

  body.incidencia-page main > section.max-w-3xl .md\:col-span-2.flex.gap-3.flex-wrap {
    gap: 8px !important;
  }

  body.incidencia-page main > section.max-w-3xl .md\:col-span-2.flex.gap-3.flex-wrap > * {
    flex: 1 1 100%;
    min-width: 0 !important;
    border-radius: 14px !important;
  }

  body.incidencia-page #msgOk,
  body.incidencia-page #msgErr {
    margin-top: 10px !important;
    padding: 10px !important;
    font-size: 0.74rem !important;
  }

  /* 4) GESTIÃ“N DE USUARIOS */
  body.usuarios-page main {
    padding: 10px !important;
  }

  body.usuarios-page main > section:first-child {
    padding: 12px !important;
    margin-bottom: 10px !important;
    border-radius: 18px !important;
  }

  body.usuarios-page main > section:first-child p.inline-flex {
    padding: 0.38rem 0.7rem !important;
    font-size: 0.7rem !important;
    margin-bottom: 6px !important;
  }

  body.usuarios-page main > section:first-child h1 {
    font-size: 1rem !important;
    line-height: 1.14 !important;
    margin-bottom: 4px !important;
  }

  body.usuarios-page main > section:first-child p.text-slate-500 {
    font-size: 0.72rem !important;
    line-height: 1.22 !important;
  }

  body.usuarios-page #companyBox,
  body.usuarios-page main > section:first-child .text-xs {
    font-size: 0.72rem !important;
  }

  body.usuarios-page main > section.grid {
    gap: 10px !important;
    grid-template-columns: 1fr !important;
  }

  body.usuarios-page main > section.grid > article {
    padding: 12px !important;
    border-radius: 18px !important;
  }

  body.usuarios-page main > section.grid h2 {
    font-size: 0.98rem !important;
    line-height: 1.15 !important;
    margin-bottom: 10px !important;
  }

  body.usuarios-page main > section.grid label {
    font-size: 0.7rem !important;
    margin-bottom: 4px !important;
  }

  body.usuarios-page main > section.grid input,
  body.usuarios-page main > section.grid select,
  body.usuarios-page main > section.grid button {
    min-height: 38px !important;
    padding: 0.52rem 0.72rem !important;
    font-size: 0.78rem !important;
  }

  body.usuarios-page #searchInput {
    min-width: 0 !important;
    width: 100% !important;
  }

  body.usuarios-page #loadingUsers,
  body.usuarios-page #emptyState,
  body.usuarios-page #formSuccess,
  body.usuarios-page #formError {
    padding: 10px !important;
    font-size: 0.74rem !important;
    border-radius: 14px !important;
  }

  body.usuarios-page .overflow-x-auto {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.usuarios-page table.w-full.min-w-\[1080px\] {
    min-width: 720px !important;
  }

  body.usuarios-page th {
    font-size: 0.66rem !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  body.usuarios-page td {
    font-size: 0.72rem !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  body.usuarios-page .inline-flex.px-3.py-1.rounded-full,
  body.usuarios-page .inline-flex.px-3.py-1\.5.rounded-full {
    font-size: 0.64rem !important;
    padding: 0.22rem 0.5rem !important;
  }

  body.usuarios-page .rounded-2xl,
  body.usuarios-page .rounded-xl {
    border-radius: 14px !important;
  }
}

@media (max-width: 768px) and (max-height: 780px) {
  body.login-page main {
    padding: 4px !important;
  }

  body.login-page .login-hero-logo {
    width: min(118px, 34vw) !important;
  }

  body.login-page main > section > div.grid > div:first-child p {
    display: none !important;
  }
}


/* ===== Ajustes adicionales mÃ³vil rev2 ===== */
@media (max-width: 768px) {
  body.usuarios-page .overflow-x-auto,
  body.usuarios-page .table-wrap,
  body.viat-page .overflow-x-auto,
  body.viat-page .table-wrap { overflow-x: hidden !important; }
  body.usuarios-page table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; font-size: 11px !important; }
  body.usuarios-page th, body.usuarios-page td { padding: 6px 4px !important; white-space: normal !important; word-break: break-word !important; }
  body.viat-page .table-wrap table { min-width: 0 !important; width: 100% !important; table-layout: fixed !important; font-size: 11px !important; }
  body.viat-page .table-wrap th, body.viat-page .table-wrap td { padding: 5px 4px !important; white-space: normal !important; word-break: break-word !important; }
  body.viat-page .cell-input { min-width: 0 !important; width: 100% !important; padding: 0.32rem 0.4rem !important; font-size: 11px !important; }
  body.viat-page .cell-check { transform: scale(.9); }
}
@media print {
  body.viat-page .print-card { width: 190mm !important; max-width: 190mm !important; transform: scale(0.94); transform-origin: top center; }
  body.viat-page .table-wrap table { width: 100% !important; table-layout: fixed !important; font-size: 9px !important; }
  body.viat-page .table-wrap th, body.viat-page .table-wrap td { padding: 3px 2px !important; }
  body.viat-page .cell-input { font-size: 9px !important; padding: 2px 3px !important; }
}


/* BotÃ³n discreto para incidencias de plataforma */
.isnev-report-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:36px !important;
  padding:6px 10px !important;
  border-radius:12px;
  border:1px solid rgba(148,163,184,.45);
  background:rgba(255,255,255,.9);
  color:#475569 !important;
  text-decoration:none;
  font:600 12px/1 Arial,sans-serif !important;
  box-shadow:none !important;
  white-space:nowrap;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease;
}
.isnev-report-link:hover{
  background:#f8fafc;
  border-color:rgba(100,116,139,.45);
  color:#0f172a !important;
}
.isnev-report-link--shell{
  min-height:34px !important;
  padding:6px 10px !important;
  border-radius:10px;
  background:#fff;
}
.header-company .isnev-report-link{
  min-height:34px !important;
  padding:6px 10px !important;
}
.mobile-dashboard-bar .isnev-report-link{
  min-height:34px !important;
  padding:6px 10px !important;
  font-size:12px !important;
}


/* =========================================================
   FIX MÓVIL 1: encabezado y menú como versión buena
   ========================================================= */
.mobile-menu-actions{display:none;}
.mobile-menu-action-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:12px 14px;border-radius:16px;font-size:.92rem;font-weight:800;text-decoration:none;border:1px solid #dbe5f0;background:#fff;color:#0f172a;}
.mobile-menu-logout-link{background:#0f172a !important;color:#fff !important;border-color:#0f172a !important;}

@media (max-width: 768px){
  body,body[data-no-topbar="true"]{overflow:hidden !important;}
  body > div.h-screen.flex.flex-col.overflow-hidden > header{display:block !important;flex:0 0 auto !important;padding:8px 8px 0 8px !important;position:relative !important;z-index:40 !important;}
  .header-company{display:block !important;width:100% !important;max-width:none !important;min-height:86px !important;margin:0 !important;padding:14px 14px !important;border-radius:22px !important;overflow:hidden !important;}
  .header-company > div{width:100% !important;height:100% !important;display:flex !important;align-items:center !important;justify-content:flex-start !important;gap:12px !important;flex-wrap:nowrap !important;}
  .header-company > div > div:last-child{order:1 !important;flex:0 0 auto !important;display:flex !important;align-items:center !important;gap:0 !important;margin:0 !important;min-width:0 !important;}
  .header-company > div > div:first-child{order:2 !important;flex:0 0 auto !important;display:flex !important;align-items:center !important;gap:0 !important;min-width:0 !important;}
  .header-company > div > div:first-child > div:last-child{display:none !important;}
  .header-company > div > div:first-child > div:first-child{display:inline-flex !important;align-items:center !important;justify-content:center !important;height:46px !important;min-width:72px !important;padding:6px 10px !important;margin-left:12px !important;border-radius:18px !important;background:#fff !important;box-shadow:0 8px 18px rgba(15,23,42,.12) !important;}
  .header-company #company-logo,.header-company img#company-logo,.header-company .w-20{width:54px !important;max-width:54px !important;height:auto !important;object-fit:contain !important;}
  .header-company #toggleMenuBtn{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:58px !important;height:58px !important;min-width:58px !important;padding:0 !important;border-radius:20px !important;background:#fff !important;color:#0f172a !important;font-size:30px !important;line-height:1 !important;font-weight:900 !important;box-shadow:0 8px 18px rgba(15,23,42,.12) !important;}
  .header-company #zoomOutBtn,.header-company #zoomInBtn,.header-company #zoomLabel,.header-company #role-badge,.header-company #company-name,.header-company #toggleMenuBtn + div,.header-company a.isnev-report-link,.header-company a[href="index.html"],.header-company > div > div:last-child > div.flex.items-center.gap-1\.5,.header-company > div > div:last-child > div.px-3,.header-company > div > div:last-child > a{display:none !important;}
  .header-company #toggleMenuBtn{display:inline-flex !important;}
  .mobile-dashboard-bar{display:none !important;}
  main.flex-1{padding:12px 8px 8px 8px !important;min-height:0 !important;}
  #dashboardGrid{position:relative !important;display:block !important;height:100% !important;overflow:hidden !important;}
  #modulesAside{display:flex !important;position:fixed !important;left:8px !important;top:8px !important;bottom:8px !important;width:min(430px, calc(100vw - 28px)) !important;max-width:calc(100vw - 28px) !important;z-index:60 !important;border-radius:22px !important;overflow:hidden !important;transform:translateX(-112%) !important;transition:transform .22s ease !important;}
  body.menu-open #modulesAside,#modulesAside.mobile-open,#modulesAside.open{transform:translateX(0) !important;}
  .dashboard-aside .mobile-menu-actions,#modulesAside .mobile-menu-actions{display:flex !important;flex-direction:column !important;gap:10px !important;padding:10px 12px 12px !important;background:rgba(255,255,255,.96) !important;}
  #modulesAside .mobile-menu-actions .isnev-report-link{min-height:44px !important;justify-content:center !important;}
}
