/* =====================================================================
   FACTURACION ELECTRONICA CON LA IMAGEN DE LEXTRIB WORKSPACE (antes fullFacturacion)
   Capa final sobre AdminLTE de screen/index2_ff/index3_ff/index4_ff/index5_ff/index6_ff y los modulos de
   modulos/fullfacturacion (se carga al final del <head>, por eso muchas reglas llevan !important: el codigo anterior
   pone colores en atributos style). Mismo lenguaje que workspace.css del Balcon: superficies claras, menu lateral
   claro (sin barra oscura ni despliegue al pasar el mouse), tipografia Geist, iconos Fluent, azul/amarillo LEXTRIB.
   No cambia ids, nombres de campos ni funciones.
   ===================================================================== */
:root {
  --lxf-fuente: "Geist", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --lxf-p: #0f6cbd;          /* azul LEXTRIB (botones principales, seleccion, foco) */
  --lxf-p2: #0b57a4;
  --lxf-marca: #12274e;      /* azul marino del logotipo */
  --lxf-acento: #f5b400;     /* amarillo de la L */
  --lxf-fondo: #f5f6f8;
  --lxf-sup: #ffffff;
  --lxf-linea: #e7eaef;
  --lxf-linea2: #d9dee6;
  --lxf-txt: #161b26;
  --lxf-txt2: #5b6474;
  --lxf-txt3: #8a92a1;
  --lxf-sel: #e8f1fb;
  --lxf-sel-txt: #0b4f8c;
  --lxf-hover: rgb(15 23 42 / .045);
  --lxf-sombra-1: 0 1px 2px rgb(16 24 40 / .05);
  --lxf-sombra-2: 0 1px 2px rgb(16 24 40 / .04), 0 4px 12px -2px rgb(16 24 40 / .08);
  --lxf-sombra-3: 0 2px 6px rgb(16 24 40 / .05), 0 18px 48px -12px rgb(16 24 40 / .22);
  --lxf-radio: 10px;
}
html body { font-family: var(--lxf-fuente) !important; color: var(--lxf-txt); -webkit-font-smoothing: antialiased; }
body, .content-wrapper, .content-wrapper > .content {
  background:
    radial-gradient(1100px 420px at 12% -8%, rgb(15 108 189 / .07), transparent 70%),
    radial-gradient(900px 380px at 100% -10%, rgb(245 180 0 / .06), transparent 70%),
    var(--lxf-fondo) !important;
}
a { color: var(--lxf-p); }
svg.lxf-ico { flex: 0 0 auto; }

/* ---------------- Pantallas de ingreso (index2_ff, index4_ff, index5_ff) ---------------- */
body.login-page { height: auto !important; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px 16px; }
body.login-page .login-box { width: 100%; max-width: 400px; border: 0 !important; }
body.login-page .login-box > .card, body.login-page .card { background: transparent; box-shadow: none !important; border: 0 !important; margin-bottom: 0; }
body.login-page .login-box .card-body, body.login-page .login-card-body {
  background: var(--lxf-sup) !important; border: 1px solid var(--lxf-linea); border-radius: 16px; padding: 26px 26px 18px !important;
  box-shadow: var(--lxf-sombra-3);
}
body.login-page .card-header { display: none !important; }
.lxf-cabecera { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0 0 18px; text-align: center; }
.lxf-logo { width: 190px; height: auto; }
.lxf-producto { font-size: 13.5px; font-weight: 600; color: var(--lxf-txt2); letter-spacing: .01em; }
.lxf-chip { display: inline-block; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 999px; background: #fff4d1; color: #7a5600; border: 1px solid #f7d77a; }
.lxf-titulo { font-size: 15px; font-weight: 600; color: var(--lxf-txt); text-align: center; margin: 0 0 4px; }
.lxf-sub { font-size: 13px; color: var(--lxf-txt2); text-align: center; margin: 0 0 6px; }
.lxf-aviso {
  display: flex; gap: 10px; align-items: flex-start; width: 100%; max-width: 400px; margin: 0 0 14px; padding: 12px 14px;
  border-radius: 12px; font-size: 13px; line-height: 1.45; color: #3b3220;
  background: linear-gradient(135deg, #fff8e1, #fffdf6); border: 1px solid #f3dc8f; box-shadow: var(--lxf-sombra-1);
}
.lxf-aviso a { font-weight: 600; }
.lxf-pie { text-align: center; font-size: 12px; color: var(--lxf-txt3); margin-top: 14px; }
body.login-page .form-control {
  height: 42px; border-radius: var(--lxf-radio) !important; border: 1px solid var(--lxf-linea2) !important; font-size: 14px;
  box-shadow: none !important; transition: border-color .15s, box-shadow .15s;
}
body.login-page .form-control:focus { border-color: var(--lxf-p) !important; box-shadow: 0 0 0 3px rgb(15 108 189 / .15) !important; }
body.login-page .input-group-text { background: #f3f5f8 !important; color: var(--lxf-txt2) !important; border-color: var(--lxf-linea2) !important; border-radius: 0 var(--lxf-radio) var(--lxf-radio) 0 !important; }
body.login-page .input-group > .form-control:not(:last-child) { border-radius: var(--lxf-radio) 0 0 var(--lxf-radio) !important; }
body.login-page .btn-block { width: 100% !important; }
body.login-page .alert { border-radius: var(--lxf-radio); font-size: 13px; }
.main-footer { display: none; }

/* ---------------- Botones (todas las pantallas) ---------------- */
.btn { border-radius: var(--lxf-radio) !important; font-weight: 500; }
.btn-primary, .btn-success.edicion, .btn-success[type=submit], .bg-gradient-success.btn {
  background: linear-gradient(180deg, #1678cc, var(--lxf-p)) !important; border-color: var(--lxf-p2) !important; color: #fff !important;
  box-shadow: 0 1px 2px rgb(16 24 40 / .12), inset 0 1px 0 rgb(255 255 255 / .18);
}
.btn-primary:hover, .btn-success.edicion:hover, .btn-success[type=submit]:hover { background: var(--lxf-p2) !important; }
.btn-outline-primary { color: var(--lxf-p) !important; border-color: var(--lxf-linea2) !important; background: #fff !important; }
.btn-outline-primary:hover { background: var(--lxf-sel) !important; }
.btn-warning, .btn-mw.btn-warning { background: #fff !important; color: var(--lxf-txt) !important; border: 1px solid var(--lxf-linea2) !important; }
.btn-danger.controlmodificar, .btn-mw.btn-danger { background: #fff !important; color: var(--lxf-p) !important; border: 1px solid #b9d4ef !important; }
.btn-info, .btn-mw.btn-info { background: #fff8e1 !important; color: #6b4b00 !important; border: 1px solid #f3dc8f !important; }
.btn-imprimir, .btn-mw.btn-imprimir { background: #fff !important; color: var(--lxf-p) !important; border: 1px dashed #9cc3ea !important; }

/* ---------------- Panel (index3_ff): barra superior clara ---------------- */
.main-header.navbar, nav.main-header {
  background: rgb(255 255 255 / .92) !important; color: var(--lxf-txt) !important; border-bottom: 1px solid var(--lxf-linea) !important;
  box-shadow: none !important; backdrop-filter: saturate(1.4) blur(8px);
}
.main-header .nav-link, .main-header .navbar-nav .nav-link, .main-header a, .main-header b, .main-header span, .main-header i { color: var(--lxf-txt) !important; }
.main-header .nav-link:hover { background: var(--lxf-hover); border-radius: 8px; }
.main-header .navbar-badge { background: var(--lxf-acento) !important; color: #3b2a00 !important; }

/* Menu lateral claro */
.main-sidebar, .main-sidebar.sidebar-dark-primary, aside.main-sidebar {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%) !important; border-right: 1px solid var(--lxf-linea) !important;
  box-shadow: none !important;
}
.main-sidebar > div[align=center], .main-sidebar .brand-link {
  background: #ffffff !important; border-bottom: 1px solid var(--lxf-linea) !important; height: 57px !important;
  display: flex !important; align-items: center; justify-content: flex-start; padding: 0 16px !important; width: 100% !important;
}
.main-sidebar .brand-link img.brand-image, .main-sidebar .brand-link img {
  content: url("img/lextrib_marca.png"); width: 150px !important; height: auto !important; max-height: 34px; margin: 0 !important;
  box-shadow: none !important; border-radius: 0 !important; float: none !important;
}
.main-sidebar .sidebar { padding: 6px 10px 16px; }
.main-sidebar .user-panel { border-bottom: 1px solid var(--lxf-linea) !important; }
.main-sidebar .user-panel .info a { color: var(--lxf-txt) !important; font-weight: 600; font-size: 13px; text-transform: none !important; }
.nav-sidebar .nav-item > .nav-link, [class*="sidebar-dark-"] .nav-sidebar > .nav-item > .nav-link {
  color: var(--lxf-txt) !important; border-radius: 10px !important; margin: 1px 0 !important; padding: 8px 10px !important;
  display: flex !important; align-items: center; gap: 10px; background: transparent !important; box-shadow: none !important; font-size: 14px;
}
.nav-sidebar .nav-link p { margin: 0 !important; flex: 1 1 auto; display: flex; align-items: center; justify-content: space-between; white-space: normal; line-height: 1.25; }
.nav-sidebar .nav-item > .nav-link:hover { background: var(--lxf-hover) !important; }
.nav-sidebar .nav-link.active, .sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active, .nav-sidebar .nav-treeview .nav-link.active {
  background: var(--lxf-sel) !important; color: var(--lxf-sel-txt) !important; font-weight: 600; box-shadow: inset 3px 0 0 var(--lxf-p) !important;
}
[class*="sidebar-dark-"] .nav-sidebar > .nav-item.menu-open > .nav-link { background: transparent !important; color: var(--lxf-txt) !important; font-weight: 600; }
.nav-sidebar .nav-treeview, [class*="sidebar-dark-"] .nav-sidebar > .nav-item > .nav-treeview {
  background: transparent !important; border-radius: 0 !important; padding: 2px 0 6px 12px !important; margin: 0 0 0 9px !important;
  border-left: 1px solid var(--lxf-linea) !important;
}
.nav-sidebar .nav-treeview .nav-link { font-size: 13.5px; color: #2b3342 !important; }
.nav-sidebar .nav-icon, .nav-sidebar svg.nav-icon { width: 20px !important; height: 20px !important; margin: 0 !important; font-size: 15px !important; color: var(--lxf-txt2) !important; flex: 0 0 20px; }
.nav-sidebar .nav-link .right { color: var(--lxf-txt3) !important; position: static !important; margin-left: 6px; }
.nav-sidebar .nav-header { color: var(--lxf-txt3) !important; font-size: 11px !important; letter-spacing: .06em; padding: 12px 10px 4px !important; }

/* Contenido y pestanas del modo iframe */
.content-wrapper { border-left: 0 !important; }
.content-wrapper.iframe-mode .nav.navbar, .content-wrapper.iframe-mode .navbar { background: var(--lxf-sup) !important; border-bottom: 1px solid var(--lxf-linea) !important; }
.content-wrapper.iframe-mode .navbar-nav .nav-link, .navbar-light .navbar-nav .nav-link { color: var(--lxf-txt2) !important; border-radius: 8px 8px 0 0; }
.navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .show > .nav-link, .content-wrapper.iframe-mode .navbar-nav .nav-link.active {
  background: var(--lxf-sup) !important; color: var(--lxf-sel-txt) !important; font-weight: 600; box-shadow: inset 0 -2px 0 var(--lxf-p) !important;
}
.content-wrapper.iframe-mode .nav-item.dropdown > .nav-link.bg-danger, .content-wrapper.iframe-mode .btn-danger,
.content-wrapper.iframe-mode .nav-link.bg-danger { background: #fff !important; color: #b42318 !important; border: 1px solid #f3c4bf !important; border-radius: 8px !important; }
.content-wrapper.iframe-mode .nav-link[data-widget], .content-wrapper.iframe-mode .bg-light.nav-link, .content-wrapper.iframe-mode a.bg-primary {
  background: #fff !important; color: var(--lxf-txt2) !important; border: 1px solid var(--lxf-linea) !important; border-radius: 8px !important;
}

/* ---------------- Modulos: tarjetas, formularios y grillas ---------------- */
.card { border-radius: 14px !important; border: 1px solid var(--lxf-linea) !important; box-shadow: var(--lxf-sombra-2) !important; overflow: hidden; }
.card-header { border-bottom: 1px solid var(--lxf-linea) !important; }
.small-box, .info-box { border-radius: 14px !important; box-shadow: var(--lxf-sombra-2) !important; }
.bg-info, .card-info:not(.card-outline) > .card-header { background: linear-gradient(135deg, #1678cc, var(--lxf-marca)) !important; color: #fff !important; }
.bg-warning, .card-warning:not(.card-outline) > .card-header { background: linear-gradient(135deg, #ffd34d, var(--lxf-acento)) !important; color: #2a1f00 !important; }
.bg-success, .card-success:not(.card-outline) > .card-header { background: linear-gradient(135deg, #2f9e5c, #1f7a45) !important; color: #fff !important; }
.text-info { color: var(--lxf-p) !important; }
.text-warning { color: #b57f00 !important; }

/* Boton "Crear ..." del encabezado de la grilla (div.neo-table-header-row-filter con colores en style) */
.neo-table-header-row-filter.controlnuevo, .neo-table-header-row-filter[style*="#0078d4"] {
  background: linear-gradient(180deg, #1678cc, var(--lxf-p)) !important; color: #fff !important; border-radius: var(--lxf-radio) !important;
  padding: 9px 16px !important; font-weight: 600; box-shadow: 0 1px 2px rgb(16 24 40 / .12), 0 6px 16px -8px rgb(15 108 189 / .6) !important;
  display: inline-flex !important; align-items: center; gap: 8px; cursor: pointer; border: 0 !important;
}
.neo-table-header-row-filter.controlnuevo i { color: #fff !important; }
.neo-table-header-row { background: transparent !important; border: 0 !important; }
.neo-table-header-row-navigation select, .neo-table-header-row-navigation .form-control { border-radius: 8px !important; }
#migrilla, #grillalista > table, table#neo-table1_grid {
  background: var(--lxf-sup); border-radius: 14px !important; box-shadow: var(--lxf-sombra-2) !important; border: 1px solid var(--lxf-linea) !important;
}
.neo-table-title-row, tr.neo-table-title-row > td, td.neo-table-title-row {
  background: #f6f8fb !important; background-image: none !important; color: var(--lxf-txt2) !important; font-weight: 600 !important;
  font-size: 11.5px !important; letter-spacing: .04em; text-transform: uppercase; border: 0 !important; border-bottom: 1px solid var(--lxf-linea) !important; padding: 9px 8px !important;
}
.cl_grilla_celda:hover td, .clfilagrillaclass:hover td { background: #f7faff !important; }
.cl_grilla_celda td, .clfilagrillaclass td { border-bottom: 1px solid #f0f2f5 !important; }
.cl_grilla_celda_td a, .clfilagrillaclass a { color: var(--lxf-p) !important; font-weight: 500; text-decoration: none !important; }
.btn-group > .btn-default, .btn-default { background: #fff !important; border: 1px solid var(--lxf-linea2) !important; color: var(--lxf-txt) !important; }
.btn-default:hover { background: var(--lxf-sel) !important; }

#divformulario > table, #divformulario table[width="889"], #divformulario > .container {
  background: var(--lxf-sup); border: 1px solid var(--lxf-linea); border-radius: 14px; box-shadow: var(--lxf-sombra-2); border-collapse: separate;
  padding: 6px 10px 14px; margin-top: 10px; max-width: 1100px; width: 100% !important;
}
#divformulario td { padding: 6px 8px; font-size: 13.5px; color: var(--lxf-txt2); vertical-align: middle; }
fieldset.clopciones { border: 0 !important; padding: 0 !important; margin: 0 0 6px !important; }
fieldset.clopciones legend { display: none; }
fieldset.clopciones .grupos { display: flex; gap: 8px; flex-wrap: wrap; }
.form-control, input.texto, select.control, #divformulario select, #divformulario input[type=text] {
  border-radius: 8px !important; border: 1px solid var(--lxf-linea2) !important; box-shadow: none !important; font-size: 13.5px;
}
.form-control:focus, input.texto:focus, select.control:focus { border-color: var(--lxf-p) !important; box-shadow: 0 0 0 3px rgb(15 108 189 / .14) !important; }
.form-control:disabled, input.texto:disabled, select.control:disabled { background: #f7f8fa !important; color: var(--lxf-txt) !important; }
.boton_tienda.bg-info { background: linear-gradient(135deg, #eef5fd, #fffaf0) !important; color: var(--lxf-txt) !important; border: 1px solid #cfe1f5 !important; border-radius: 14px !important; padding: 14px 16px !important; font-size: 14px !important; }

/* Dialogos jQuery UI */
.ui-dialog { border-radius: 16px !important; border: 1px solid var(--lxf-linea) !important; box-shadow: var(--lxf-sombra-3) !important; padding: 0 !important; overflow: hidden; font-family: var(--lxf-fuente) !important; }
.ui-dialog .ui-dialog-titlebar { background: #fff !important; border: 0 !important; border-bottom: 1px solid var(--lxf-linea) !important; border-radius: 0 !important; color: var(--lxf-txt) !important; font-weight: 600; padding: 12px 16px !important; }
.ui-dialog .ui-dialog-buttonpane { border-top: 1px solid var(--lxf-linea) !important; }
.ui-dialog .ui-dialog-buttonpane button { border-radius: var(--lxf-radio) !important; background: var(--lxf-p) !important; color: #fff !important; border: 0 !important; padding: 7px 16px !important; }
.ui-widget-overlay { background: rgb(15 23 42 / .35) !important; opacity: 1 !important; }

/* Resultado del alta (ff_responder) */
.lxf-resultado { background: var(--lxf-sup); border: 1px solid #cfe1f5; border-radius: 14px; box-shadow: var(--lxf-sombra-2); padding: 16px 18px; margin: 10px 0 14px; max-width: 1100px; position: relative; }
.lxf-resultado .lxf-cerrar { position: absolute; top: 10px; right: 12px; border: 0; background: transparent; font-size: 20px; color: var(--lxf-txt3); cursor: pointer; }
.lxf-resultado textarea { border-radius: 8px; border: 1px solid var(--lxf-linea2); padding: 8px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }

/* ---------------- Asistente de alta de empresa (modulos/fullfacturacion/empresas/template.php) ---------------- */
.ffw-pasos { display: none; gap: 6px; flex-wrap: wrap; margin: 6px 0 4px; max-width: 1100px; }
#divformulario.ffw-activo .ffw-pasos { display: flex; }
.ffw-paso { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--lxf-linea); color: var(--lxf-txt2); font-size: 13px; font-weight: 500; }
.ffw-paso b { display: inline-flex; width: 22px; height: 22px; border-radius: 50%; align-items: center; justify-content: center; background: #eef1f5; color: var(--lxf-txt2); font-size: 12px; }
.ffw-paso.actual { border-color: #9cc3ea; background: var(--lxf-sel); color: var(--lxf-sel-txt); font-weight: 600; }
.ffw-paso.actual b { background: var(--lxf-p); color: #fff; }
.ffw-paso.hecho b { background: var(--lxf-acento); color: #2a1f00; }
.ffw-nav { display: none; gap: 8px; justify-content: flex-end; max-width: 1100px; margin: 12px 0 4px; }
#divformulario.ffw-activo .ffw-nav { display: flex; }
#divformulario.ffw-activo .clopciones input[type=submit] { display: none !important; }
.ffw-alerta { display: none; max-width: 1100px; margin: 8px 0; padding: 10px 12px; border-radius: 10px; background: #fef3f2; border: 1px solid #f3c4bf; color: #912018; font-size: 13px; }
.ffw-resumen { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.ffw-resumen > div { background: #f8fafc; border: 1px solid var(--lxf-linea); border-radius: 12px; padding: 10px 12px; font-size: 13px; color: var(--lxf-txt2); }
.ffw-resumen b { display: block; color: var(--lxf-txt); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 4px; }
input.ffw-error, select.ffw-error { border-color: #d92d20 !important; box-shadow: 0 0 0 3px rgb(217 45 32 / .12) !important; }

/* ---------------- Pagina publica de distribuidores (index6_ff) ---------------- */
.lxd { max-width: 1100px; margin: 0 auto; padding: 0 16px 40px; }
.lxd-barra { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 0; flex-wrap: wrap; }
.lxd-barra nav { display: flex; gap: 6px; flex-wrap: wrap; }
.lxd-barra nav a { padding: 8px 12px; border-radius: 10px; color: var(--lxf-txt2); text-decoration: none; font-size: 14px; }
.lxd-barra nav a:hover { background: var(--lxf-hover); }
.lxd-barra nav a.lxd-prim { background: var(--lxf-p); color: #fff; }
.lxd-hero { border-radius: 20px; padding: 36px 32px; color: #fff; box-shadow: var(--lxf-sombra-3);
  background: radial-gradient(600px 240px at 90% 0%, rgb(245 180 0 / .35), transparent 70%), linear-gradient(135deg, #1678cc, var(--lxf-marca)); }
.lxd-hero h1 { font-size: 34px; font-weight: 700; margin: 0 0 10px; }
.lxd-hero ul { margin: 12px 0 20px; padding-left: 20px; line-height: 1.8; }
.lxd-hero .btn { background: var(--lxf-acento) !important; color: #2a1f00 !important; border: 0 !important; font-weight: 600; padding: 10px 18px; }
.lxd-sec { margin-top: 28px; }
.lxd-sec h2 { font-size: 22px; font-weight: 700; color: var(--lxf-txt); margin: 0 0 12px; }
.lxd-tarjetas { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.lxd-tarjeta { background: #fff; border: 1px solid var(--lxf-linea); border-radius: 16px; padding: 20px; box-shadow: var(--lxf-sombra-2); text-align: center; }
.lxd-precio { font-size: 28px; font-weight: 700; color: var(--lxf-marca); }
.lxd-tarjeta .btn { margin-top: 12px; background: var(--lxf-p) !important; color: #fff !important; }
.lxd-pie { margin-top: 36px; color: var(--lxf-txt3); font-size: 13px; text-align: center; }

@media (max-width: 768px) {
  .lxd-hero { padding: 26px 20px; }
  .lxd-hero h1 { font-size: 26px; }
  #divformulario td { display: block; width: auto !important; }
  #divformulario tr { display: block; }
}

/* Ajustes 2026-11-06: en el asistente solo quedan sus botones; botones de la pagina publica sin Bootstrap */
#divformulario.ffw-activo input#accion2[type=submit], #divformulario.ffw-activo .clopciones input[type=submit] { display: none !important; }
fieldset.clopciones > legend { display: none !important; }
.lxd .btn { display: inline-block; padding: 9px 16px; border-radius: 10px; text-decoration: none !important; font-weight: 600; font-size: 14px; }
.lxd .btn:hover { filter: brightness(.96); }

/* Aviso del cambio de imagen (estilo del aviso SAGA del Balcon) */
.lxf-aviso { align-items: flex-start; }
.lxf-aviso-l { width: 34px; height: 34px; border-radius: 9px; background: var(--lxf-acento); color: #0f172a; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 18px; flex: 0 0 auto; }
.lxf-aviso-t { flex: 1 1 auto; }
.lxf-aviso-ok { margin-top: 8px; border: 1px solid #e5c766; background: #fff; color: #5b4300; border-radius: 8px; padding: 4px 12px; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.lxf-aviso-ok:hover { background: #fff4d1; }
.lxf-aviso-flota { position: fixed; left: 16px; bottom: 16px; z-index: 1040; max-width: 380px; box-shadow: var(--lxf-sombra-3); }
@media (max-width: 600px) { .lxf-aviso-flota { left: 8px; right: 8px; max-width: none; bottom: 8px; } }

/* Doble acceso en el ingreso: usuarios del sistema / clientes */
.lxf-acceso { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin: 0 0 14px; background: #f1f4f8; border-radius: 12px; }
.lxf-acceso button { border: 0; background: transparent; border-radius: 9px; padding: 8px 6px; font-size: 13px; font-weight: 600; color: var(--lxf-txt2); cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px; }
.lxf-acceso button.on { background: #fff; color: var(--lxf-sel-txt); box-shadow: var(--lxf-sombra-1); }
.lxf-clientes { display: none; font-size: 13.5px; color: var(--lxf-txt2); line-height: 1.5; }
.lxf-clientes .lxf-ficha { background: #f8fafc; border: 1px solid var(--lxf-linea); border-radius: 12px; padding: 12px 14px; margin: 10px 0; }
.lxf-clientes ul { margin: 6px 0 0; padding-left: 18px; }

/* Ingreso dividido (index2_ff con la estructura del ingreso del Balcon, wizard_registro.css) */
body.lxf-auth .bl-auth-marca .lxf-aviso { margin: 22px 0 0; max-width: 520px; color: #3b3220; }
body.lxf-auth .bl-auth-emblem-box { background: transparent !important; box-shadow: none !important; }
body.lxf-auth .lxf-ficha { background: #f8fafc; border: 1px solid var(--lxf-linea); border-radius: 12px; padding: 12px 14px; margin: 10px 0; font-size: 13.5px; color: var(--lxf-txt2); line-height: 1.5; }
body.lxf-auth .lxf-ficha ul { margin: 6px 0 0; padding-left: 18px; }
body.lxf-auth .lxf-entrar { width: 100%; margin-top: 10px; border: 0; border-radius: 12px; padding: 12px 16px; font-weight: 600; font-size: 15px; cursor: pointer;
  color: #fff !important; background: linear-gradient(180deg, #1678cc, var(--lxf-p)) !important; box-shadow: 0 1px 2px rgb(16 24 40 / .12), 0 8px 18px -10px rgb(15 108 189 / .7); }
body.lxf-auth .lxf-entrar:hover { background: var(--lxf-p2) !important; }
body.lxf-auth .bl-input input.error { border-color: #d92d20 !important; }
body.lxf-auth label.error { display: block; font-size: 12px; color: #b42318; margin-top: 4px; }
body.lxf-auth #mensaje .alert { border-radius: 10px; font-size: 13px; }
body.lxf-auth #mmovil select { width: 100%; height: 42px; border-radius: 10px; border: 1px solid var(--lxf-linea2); padding: 0 10px; margin-bottom: 10px; }
body.lxf-auth .lxf-pie { margin-top: 18px; }
/* Celular: primero el formulario y la presentacion reducida debajo */
@media (max-width: 991.98px) {
  body.lxf-auth .bl-auth-main { order: -1; }
  body.lxf-auth .bl-auth-marca .lxf-aviso { max-width: none; }
}
/* El aviso ocupa todo el ancho de la cuadricula del bloque central y conserva su texto oscuro sobre fondo claro */
body.lxf-auth .bl-auth-marca-centro .lxf-aviso { grid-column: 1 / -1; text-shadow: none; }
body.lxf-auth .bl-auth-marca .lxf-aviso, body.lxf-auth .bl-auth-marca .lxf-aviso b, body.lxf-auth .bl-auth-marca .lxf-aviso div { color: #3b3220 !important; }
body.lxf-auth .bl-auth-marca .lxf-aviso a { color: #0b57a4 !important; }
body.lxf-auth .bl-auth-marca .lxf-aviso .lxf-aviso-l { color: #0f172a !important; }

/* Ingreso compacto (pedido del administrador 2026-11-06): entra completo en 1366x768 y 1280x720 sin desplazar.
   Mismo estilo del Balcon, menos aire vertical. Prefijo largo para ganar a wizard_registro.css. */
body.bl-auth.lxf-auth:not(.bl-en-registro) { min-height: 100vh; }
body.bl-auth.lxf-auth:not(.bl-en-registro) .bl-auth-main { padding: 14px 24px; align-items: center; }
body.bl-auth.lxf-auth:not(.bl-en-registro) .bl-auth-caja { padding: 20px 28px 14px; max-width: 420px; }
body.bl-auth.lxf-auth .bl-auth-card-header { padding: 0 0 10px; margin: 0 0 12px; gap: 2px; }
body.bl-auth.lxf-auth .bl-auth-card-logo { display: block; height: 30px; width: auto; max-height: 30px; margin: 0 auto 4px; }
body.bl-auth.lxf-auth .bl-auth-card-title { font-size: .98rem; margin: 0; }
body.bl-auth.lxf-auth .bl-auth-card-badge { font-size: .72rem; margin: 2px 0 0; padding: 0; }
body.bl-auth.lxf-auth .bl-auth-tabs { margin: 0 0 12px; padding: 3px; }
body.bl-auth.lxf-auth .bl-auth-tab { padding: 7px 8px; font-size: .8rem; white-space: nowrap; }
body.bl-auth.lxf-auth .bl-auth-vista h2 { font-size: 1.08rem; margin: 0 0 2px; }
body.bl-auth.lxf-auth .bl-auth-sub { margin: 0 0 10px; font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.bl-auth.lxf-auth [data-lxf-panel="clientes"] .bl-auth-sub { white-space: normal; }
body.bl-auth.lxf-auth .bl-campo { margin: 0 0 9px; }
body.bl-auth.lxf-auth .bl-campo-label { font-size: .78rem; margin: 0 0 3px; }
body.bl-auth.lxf-auth .bl-input input { height: 40px; padding-top: 0; padding-bottom: 0; font-size: .9rem; }
body.bl-auth.lxf-auth .bl-auth-fila { margin: 2px 0 6px; font-size: .8rem; }
body.bl-auth.lxf-auth .lxf-entrar { padding: 10px 16px; font-size: 14.5px; margin-top: 4px; }
body.bl-auth.lxf-auth .lxf-pie { margin-top: 10px; font-size: 11.5px; }
body.bl-auth.lxf-auth .lxf-ficha { padding: 9px 12px; margin: 7px 0; font-size: 12.8px; }
body.bl-auth.lxf-auth #mmovil select { height: 40px; margin-bottom: 6px; }
/* Presentacion: tarjetas de modulos y aviso mas compactos */
body.bl-auth.lxf-auth:not(.bl-en-registro) .bl-auth-marca { padding: 22px 40px; }
body.bl-auth.lxf-auth:not(.bl-en-registro) .bl-auth-marca-centro { margin: clamp(16px, 4vh, 40px) 0 0; }
body.bl-auth.lxf-auth:not(.bl-en-registro) .bl-auth-features { margin-top: 14px; gap: 6px; }
body.bl-auth.lxf-auth:not(.bl-en-registro) .bl-auth-feat-item { padding: 7px 12px; }
body.bl-auth.lxf-auth:not(.bl-en-registro) .bl-auth-feat-icon-box { width: 28px; height: 28px; font-size: 12px; }
body.bl-auth.lxf-auth:not(.bl-en-registro) .bl-auth-feat-txt span { font-size: .72rem; }
body.bl-auth.lxf-auth .bl-auth-marca .lxf-aviso { margin-top: 14px; padding: 10px 12px; font-size: 12.5px; gap: 10px; }
body.bl-auth.lxf-auth .bl-auth-marca .lxf-aviso-l { width: 28px; height: 28px; font-size: 15px; border-radius: 8px; }
body.bl-auth.lxf-auth .bl-auth-marca .lxf-aviso-ok { margin-top: 6px; padding: 3px 10px; font-size: 12px; }
body.bl-auth.lxf-auth:not(.bl-en-registro) .bl-auth-marca-pie { margin-top: 16px; padding-top: 12px; }
/* Pantallas bajas (720 px o menos): un poco mas apretado */
@media (min-width: 992px) and (max-height: 740px) {
  body.bl-auth.lxf-auth:not(.bl-en-registro) .bl-auth-caja { padding: 16px 26px 10px; }
  body.bl-auth.lxf-auth .bl-auth-card-header { padding-bottom: 8px; margin-bottom: 10px; }
  body.bl-auth.lxf-auth .bl-campo { margin-bottom: 7px; }
  body.bl-auth.lxf-auth .bl-input input { height: 38px; }
  body.bl-auth.lxf-auth:not(.bl-en-registro) .bl-auth-feat-txt span { display: none; }
}
/* Celular: formulario primero y compacto */
@media (max-width: 991.98px) {
  body.bl-auth.lxf-auth:not(.bl-en-registro) .bl-auth-main { padding: 12px 12px 16px; }
  body.bl-auth.lxf-auth:not(.bl-en-registro) .bl-auth-caja { padding: 16px 18px 10px; }
  body.bl-auth.lxf-auth:not(.bl-en-registro) .bl-auth-marca { padding: 16px 18px; }
}
