@charset "UTF-8";

/*
  SIAVCE Glass Redesign v2
  Capa global de rediseño. No reemplaza el ribbon ni rutas existentes:
  solo normaliza visualmente layouts legacy, módulos y componentes Bootstrap.
*/

:root{
  --siavce-font:"Futura","Avenir Next","Trebuchet MS","Segoe UI",system-ui,-apple-system,sans-serif;
  --siavce-user-primary:var(--bgcolor,#123b67);
  --siavce-user-nav:var(--hovercolor,#0f2742);
  --siavce-v2-bg-0:color-mix(in srgb,var(--siavce-user-nav) 82%,#020617 18%);
  --siavce-v2-bg-1:color-mix(in srgb,var(--siavce-user-primary) 32%,#09111f 68%);
  --siavce-v2-accent:color-mix(in srgb,var(--siavce-user-primary) 74%,#8dd8ff 26%);
  --siavce-v2-accent-2:color-mix(in srgb,var(--siavce-user-nav) 64%,#60a5fa 36%);
  --siavce-v2-text:#f8fbff;
  --siavce-v2-muted:rgba(248,251,255,.74);
  --siavce-v2-faint:rgba(248,251,255,.52);
  --siavce-v2-card:rgba(255,255,255,.088);
  --siavce-v2-card-strong:rgba(255,255,255,.14);
  --siavce-v2-border:rgba(255,255,255,.145);
  --siavce-v2-border-soft:rgba(255,255,255,.09);
  --siavce-v2-radius-xl:28px;
  --siavce-v2-radius-lg:22px;
  --siavce-v2-radius-md:16px;
  --siavce-v2-shadow:0 24px 70px rgba(0,0,0,.30);
  --siavce-v2-shadow-soft:0 14px 35px rgba(0,0,0,.20);
  --siavce-v2-page-width:min(1500px,calc(100vw - 34px));
  --siavce-ribbon-real-height:64px;
}

html{
  min-height:100%;
  background:#020617;
}

body.siavce-bootstrap-glass,
body.siavce-redesign-total,
body.siavce-public-screen,
body.siavce-core-access{
  min-height:100vh;
  font-family:var(--siavce-font);
  color:var(--siavce-v2-text);
  background:
    radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--siavce-user-primary) 32%,transparent) 0,transparent 34%),
    radial-gradient(circle at 96% 10%,color-mix(in srgb,var(--siavce-user-nav) 34%,transparent) 0,transparent 32%),
    radial-gradient(circle at 50% 110%,rgba(125,211,252,.13) 0,transparent 36%),
    linear-gradient(145deg,var(--siavce-v2-bg-0),var(--siavce-v2-bg-1) 54%,#050914);
  background-attachment:fixed;
}

body.siavce-bootstrap-glass::before,
body.siavce-redesign-total::before,
body.siavce-public-screen::before,
body.siavce-core-access::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.88),rgba(0,0,0,.22));
}

body.siavce-bootstrap-glass a,
body.siavce-redesign-total a{
  text-decoration-color:color-mix(in srgb,var(--siavce-v2-accent) 58%,transparent);
}

body.siavce-bootstrap-glass h1,
body.siavce-bootstrap-glass h2,
body.siavce-bootstrap-glass h3,
body.siavce-bootstrap-glass h4,
body.siavce-bootstrap-glass h5,
body.siavce-bootstrap-glass h6,
body.siavce-public-screen h1,
body.siavce-public-screen h2,
body.siavce-public-screen h3{
  color:#fff;
  letter-spacing:-.035em;
}

body.siavce-bootstrap-glass p,
body.siavce-bootstrap-glass small,
body.siavce-bootstrap-glass .text-muted,
body.siavce-public-screen p,
body.siavce-public-screen small{
  color:var(--siavce-v2-muted) !important;
}

/* Mantener ribbon, pero compactarlo y volverlo glass/minimalista. */
.ribbon{
  inset:10px 12px auto 12px !important;
  border-radius:24px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.055)),
    linear-gradient(155deg,color-mix(in srgb,var(--siavce-user-nav) 72%,#06111f 28%),rgba(6,15,28,.94));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 48px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(24px) saturate(132%);
  -webkit-backdrop-filter:blur(24px) saturate(132%);
  overflow:hidden;
}

.ribbon-tabs{
  min-height:50px;
  gap:6px;
  padding:7px 10px 6px;
  scrollbar-color:rgba(255,255,255,.24) transparent;
}

.ribbon-tab{
  min-height:36px;
  padding:0 13px;
  border-radius:16px;
  color:rgba(255,255,255,.78);
  border:1px solid transparent;
  font-size:.88rem;
  font-weight:700;
  letter-spacing:-.015em;
}

.ribbon-tab:hover,
.ribbon-tab.active{
  color:#fff;
  background:linear-gradient(135deg,rgba(255,255,255,.17),rgba(255,255,255,.075));
  border-color:rgba(255,255,255,.15);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 24px rgba(0,0,0,.16);
}

.ribbon-tab.active{
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--siavce-v2-accent) 30%,rgba(255,255,255,.12)),rgba(255,255,255,.08));
}

.ribbon-tab.ms-auto{
  margin-left:auto !important;
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.09);
}

.ribbon-tab img.rounded-circle,
.ribbon-tab .siavce-avatar-round{
  width:30px !important;
  height:30px !important;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 6px 16px rgba(0,0,0,.18);
}

.ribbon-tools{
  gap:8px;
  padding-inline:10px;
  overflow-x:auto;
  scrollbar-width:thin;
}

.ribbon-tools.active{
  max-height:86px;
  padding:8px 10px 10px;
  border-top-color:rgba(255,255,255,.10);
}

.tool-group{
  align-items:stretch;
}

.tool-btn{
  min-width:88px;
  min-height:58px;
  padding:8px 10px;
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:none;
  color:rgba(255,255,255,.90) !important;
  font-size:.76rem;
  line-height:1.1;
}

.tool-btn:hover,
.tool-active .tool-btn{
  transform:translateY(-2px);
  background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.07));
  border-color:rgba(255,255,255,.22);
  box-shadow:0 12px 26px rgba(0,0,0,.18);
  color:#fff !important;
}

.tool-icon,
.iconosbar{
  width:23px;
  height:23px;
  filter:drop-shadow(0 5px 9px rgba(0,0,0,.18));
}

.badge-notif,
.ribbon .badge{
  box-shadow:0 0 0 1px rgba(255,255,255,.22),0 8px 18px rgba(0,0,0,.22);
}

/* Espaciado real del contenido bajo ribbon fijo. */
#siavceAppMain,
.siavce-app-main{
  width:100%;
  min-height:100vh;
  padding:calc(var(--siavce-ribbon-real-height,64px) + 24px) 0 34px !important;
}

body:not(.siavce-ribbon-open) #siavceAppMain,
body:not(.siavce-ribbon-open) .siavce-app-main{
  padding-top:calc(var(--siavce-ribbon-real-height,64px) + 18px) !important;
}

.siavce-page,
.siavce-page-shell,
.siavce-shell,
.siavce-legacy-main > .container,
.siavce-legacy-main > .container-fluid,
#siavceAppMain > .container,
#siavceAppMain > .container-fluid{
  width:var(--siavce-v2-page-width) !important;
  max-width:var(--siavce-v2-page-width) !important;
  margin-inline:auto !important;
}

.siavce-page-shell,
.siavce-shell,
.siavce-legacy-main{
  display:grid;
  gap:18px;
}

/* Paneles globales: conserva HTML existente y lo unifica visualmente. */
.siavce-panel,
.siavce-card,
.siavce-glass,
.glass-card,
.glass-container,
.portal-card,
.dash-panel,
.dash-card,
.marketing-card,
.support-card,
.ship-card,
.metric-card,
.product-panel,
.store-card,
.siavce-redesign-card,
.siavce-glass-section,
#siavceAppMain > .container:not(.siavce-no-panel),
#siavceAppMain > .container-fluid:not(.siavce-no-panel),
#siavceAppMain > section:not(.siavce-page-hero):not(.marketing-page-redesign):not(.marketing-shell),
#siavceAppMain > article,
#siavceAppMain > form,
body.siavce-bootstrap-glass .card:not(.dropdown-menu):not(.modal-content){
  background:
    linear-gradient(145deg,rgba(255,255,255,.125),rgba(255,255,255,.055)),
    linear-gradient(180deg,color-mix(in srgb,var(--siavce-user-primary) 10%,transparent),rgba(255,255,255,.03));
  border:1px solid var(--siavce-v2-border);
  border-radius:var(--siavce-v2-radius-lg);
  box-shadow:var(--siavce-v2-shadow-soft);
  backdrop-filter:blur(22px) saturate(128%);
  -webkit-backdrop-filter:blur(22px) saturate(128%);
  color:var(--siavce-v2-text);
}

#siavceAppMain > .container:not(.siavce-no-panel),
#siavceAppMain > .container-fluid:not(.siavce-no-panel),
#siavceAppMain > section:not(.siavce-page-hero):not(.marketing-page-redesign):not(.marketing-shell),
#siavceAppMain > article,
#siavceAppMain > form,
.siavce-glass-section{
  padding:20px;
}

.siavce-panel:hover,
.siavce-card:hover,
.glass-card:hover,
body.siavce-bootstrap-glass .card:hover,
.siavce-redesign-card:hover{
  border-color:color-mix(in srgb,var(--siavce-v2-accent) 28%,rgba(255,255,255,.16));
}

.siavce-page-hero{
  width:var(--siavce-v2-page-width);
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:end;
  padding:22px;
  border-radius:30px;
  background:
    radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--siavce-v2-accent) 28%,transparent),transparent 42%),
    linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.055));
  border:1px solid rgba(255,255,255,.15);
  box-shadow:var(--siavce-v2-shadow);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
}

.siavce-page-hero h1,
.siavce-page-hero h2{
  font-size:clamp(1.8rem,2.8vw,3rem);
  margin:0 0 8px;
}

.siavce-page-eyebrow,
.siavce-section-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:999px;
  color:#fff;
  background:color-mix(in srgb,var(--siavce-v2-accent) 34%,rgba(255,255,255,.09));
  border:1px solid rgba(255,255,255,.16);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.siavce-page-tools,
.siavce-actions-row,
.panel-title-row,
.cliente-section-head{
  gap:10px;
}

/* Formularios y controles. */
body.siavce-bootstrap-glass .form-control,
body.siavce-bootstrap-glass .form-select,
body.siavce-bootstrap-glass textarea,
body.siavce-core-access .form-control,
body.siavce-core-access .form-select,
body.siavce-core-access textarea{
  min-height:42px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.085);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}

body.siavce-bootstrap-glass .form-control:focus,
body.siavce-bootstrap-glass .form-select:focus,
body.siavce-bootstrap-glass textarea:focus,
body.siavce-core-access .form-control:focus,
body.siavce-core-access .form-select:focus,
body.siavce-core-access textarea:focus{
  border-color:color-mix(in srgb,var(--siavce-v2-accent) 62%,white 8%);
  background:rgba(255,255,255,.13);
  box-shadow:0 0 0 .22rem color-mix(in srgb,var(--siavce-v2-accent) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.08);
  color:#fff;
}

body.siavce-bootstrap-glass .form-control::placeholder,
body.siavce-core-access .form-control::placeholder{
  color:rgba(255,255,255,.46);
}

body.siavce-bootstrap-glass .form-label,
body.siavce-bootstrap-glass label,
body.siavce-core-access .form-label,
body.siavce-core-access label{
  color:rgba(255,255,255,.82);
  font-weight:800;
  letter-spacing:-.01em;
}

.input-group-text,
.input-group > span:not(.badge):not(.link):not(.rounded-pill):first-child{
  min-width:44px;
  display:inline-grid;
  place-items:center;
  border-radius:15px 0 0 15px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.10);
  color:#fff;
}

.form-check-input{
  background-color:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.24);
}

.form-check-input:checked{
  background-color:var(--siavce-v2-accent);
  border-color:var(--siavce-v2-accent);
}

.siavce-auto-form-grid,
form.siavce-auto-form-grid,
.siavce-filter-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:14px;
  align-items:end;
}

/* Botones. */
body.siavce-bootstrap-glass .btn,
body.siavce-core-access .btn,
.siavce-action-ready{
  min-height:38px;
  border-radius:15px;
  font-weight:850;
  letter-spacing:-.015em;
  border-width:1px;
  box-shadow:0 9px 20px rgba(0,0,0,.16);
}

body.siavce-bootstrap-glass .btn:hover,
body.siavce-core-access .btn:hover,
.siavce-action-ready:hover{
  transform:translateY(-1px);
  filter:saturate(1.08) brightness(1.04);
}

body.siavce-bootstrap-glass .btn-primary,
body.siavce-core-access .btn-primary,
.login-primary{
  background:linear-gradient(135deg,var(--siavce-v2-accent),color-mix(in srgb,var(--siavce-v2-accent-2) 72%,#60a5fa 28%)) !important;
  border-color:rgba(255,255,255,.14) !important;
  color:#fff !important;
}

body.siavce-bootstrap-glass .btn-success,
body.siavce-core-access .btn-success{
  background:linear-gradient(135deg,#16a34a,#22c55e) !important;
  border-color:rgba(255,255,255,.12) !important;
  color:#fff !important;
}

body.siavce-bootstrap-glass .btn-danger,
body.siavce-core-access .btn-danger{
  background:linear-gradient(135deg,#dc2626,#fb7185) !important;
  border-color:rgba(255,255,255,.12) !important;
  color:#fff !important;
}

body.siavce-bootstrap-glass .btn-secondary,
body.siavce-bootstrap-glass .btn-outline-light,
body.siavce-bootstrap-glass .btn-light,
body.siavce-core-access .btn-secondary,
body.siavce-core-access .btn-outline-light{
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.18) !important;
  color:#fff !important;
}

body.siavce-bootstrap-glass .btn-warning{
  color:#241404 !important;
  background:linear-gradient(135deg,#f59e0b,#facc15) !important;
  border-color:rgba(255,255,255,.14) !important;
}

/* Tablas. */
.table-responsive,
.siavce-table-wrap{
  overflow:auto;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}

body.siavce-bootstrap-glass .table,
body.siavce-bootstrap-glass table{
  --bs-table-bg:transparent;
  --bs-table-color:#fff;
  --bs-table-border-color:rgba(255,255,255,.09);
  color:#fff;
  margin-bottom:0;
  vertical-align:middle;
}

body.siavce-bootstrap-glass .table thead th,
body.siavce-bootstrap-glass table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08));
  color:rgba(255,255,255,.78);
  border-bottom:1px solid rgba(255,255,255,.12);
  font-size:.72rem;
  letter-spacing:.075em;
  text-transform:uppercase;
  white-space:nowrap;
}

body.siavce-bootstrap-glass .table tbody td,
body.siavce-bootstrap-glass table tbody td{
  background:rgba(255,255,255,.025);
  border-color:rgba(255,255,255,.075);
}

body.siavce-bootstrap-glass .table tbody tr:hover td,
body.siavce-bootstrap-glass table tbody tr:hover td{
  background:color-mix(in srgb,var(--siavce-v2-accent) 12%,rgba(255,255,255,.04));
}

/* Bootstrap/legacy components. */
body.siavce-bootstrap-glass .modal-content,
body.siavce-bootstrap-glass .dropdown-menu,
body.siavce-bootstrap-glass .offcanvas,
.notif-panel{
  background:rgba(8,16,29,.96);
  border:1px solid rgba(255,255,255,.15);
  border-radius:22px;
  color:#fff;
  box-shadow:var(--siavce-v2-shadow);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
}

body.siavce-bootstrap-glass .dropdown-item{
  color:rgba(255,255,255,.82);
  border-radius:12px;
}

body.siavce-bootstrap-glass .dropdown-item:hover{
  color:#fff;
  background:rgba(255,255,255,.10);
}

body.siavce-bootstrap-glass .modal-header,
body.siavce-bootstrap-glass .modal-footer{
  border-color:rgba(255,255,255,.09);
}

body.siavce-bootstrap-glass .alert{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.10);
  color:#fff;
}

body.siavce-bootstrap-glass .list-group-item{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.09);
  color:#fff;
}

body.siavce-bootstrap-glass .nav-tabs{
  border-color:rgba(255,255,255,.12);
  gap:8px;
}

body.siavce-bootstrap-glass .nav-tabs .nav-link{
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px 14px 0 0;
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.70);
  font-weight:800;
}

body.siavce-bootstrap-glass .nav-tabs .nav-link.active{
  background:rgba(255,255,255,.14);
  color:#fff;
  border-color:rgba(255,255,255,.18);
}

.badge,
body.siavce-bootstrap-glass .badge{
  font-weight:850;
  letter-spacing:-.01em;
}

/* Login/acceso. */
.siavce-login-layout{
  width:min(1380px,calc(100vw - 34px));
  gap:22px;
}

.siavce-login-welcome,
.siavce-login-card,
.siavce-access-card,
.login-status,
.login-container{
  border-radius:32px;
  background:
    radial-gradient(circle at top left,color-mix(in srgb,var(--siavce-v2-accent) 16%,transparent),transparent 42%),
    linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.055));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:var(--siavce-v2-shadow);
}

.siavce-login-module-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

.siavce-login-intro-card{
  margin-top:18px;
}

.login-logo img,
.siavce-login-brand img{
  box-shadow:0 16px 35px rgba(0,0,0,.20);
}

/* Módulos principales: no cambia estructura, solo da consistencia. */
body.siavce-view-dashboard .dash-shell,
body.siavce-view-clientes .clientes-shell,
body.siavce-view-productos .products-page-shell,
body.siavce-view-marketing .marketing-shell,
body.siavce-view-marketing_chats .marketing-chat-shell,
body.siavce-view-citascalendario .siavce-page-shell,
body.siavce-view-ajustesuser .ajustes-page-shell,
body.siavce-view-seg_usuarios .usuarios-shell,
body.siavce-view-tickets .support-dashboard,
body.siavce-view-yo .yo-shell,
body.siavce-view-mipanel2 .panel2-shell{
  width:var(--siavce-v2-page-width) !important;
  max-width:var(--siavce-v2-page-width) !important;
  margin-inline:auto !important;
  gap:18px;
}

body.siavce-view-dashboard .dash-hero,
body.siavce-view-dashboard .impact-card,
body.siavce-view-dashboard .module-card,
body.siavce-view-dashboard .client-card,
body.siavce-view-clientes .cliente-card,
body.siavce-view-clientes .cliente-section,
body.siavce-view-productos .product-card,
body.siavce-view-productos .inventory-card,
body.siavce-view-marketing .marketing-hero-card,
body.siavce-view-marketing_chats .chat-card,
body.siavce-view-citascalendario .calendar-card,
body.siavce-view-ajustesuser .settings-card,
body.siavce-view-seg_usuarios .user-card,
body.siavce-view-tickets .support-card,
body.siavce-view-tienda .store-card,
body.siavce-view-tienda_admin .store-card{
  border-radius:var(--siavce-v2-radius-lg);
  border:1px solid var(--siavce-v2-border);
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.052));
  box-shadow:var(--siavce-v2-shadow-soft);
}

body.siavce-view-marketing .marketing-composer-layout,
body.siavce-view-marketing_chats .marketing-chat-grid,
body.siavce-view-citascalendario .calendar-layout,
body.siavce-view-dashboard .content-grid,
body.siavce-view-dashboard .charts-grid,
body.siavce-view-clientes .cliente-grid-2{
  gap:18px;
}

body.siavce-view-marketing_chats .marketing-chat-shell,
body.siavce-view-chat_interno .siavce-chat-app{
  min-height:calc(100vh - var(--siavce-ribbon-real-height,64px) - 68px);
}

body.siavce-view-citascalendario .calendar-grid,
body.siavce-view-citascalendario .calendar-board{
  border-radius:22px;
  overflow:hidden;
}

/* Notificaciones flotantes. */
.notif-bubble{
  right:18px;
  bottom:18px;
}

.notif-toggle{
  width:54px;
  height:54px;
  background:linear-gradient(135deg,#ef4444,#fb7185);
  box-shadow:0 16px 36px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.15);
}

.notif-item{
  border-bottom:1px solid rgba(255,255,255,.09);
}

.siavce-chat-widget__toggle{
  box-shadow:0 16px 36px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.14);
}

/* Compatibilidad con páginas públicas de tienda/seguimiento. */
.store-public-page .wrap,
.store-legal-page .wrap,
.store-product-page .wrap,
.shipment-tracking-page .wrap,
.support-ticket-public .wrap{
  width:min(1240px,calc(100vw - 28px));
}

.store-public-page .card,
.store-legal-page .card,
.shipment-tracking-page .card,
.support-ticket-public .card{
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.055));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:var(--siavce-v2-shadow-soft);
}

/* Detalles de acabado. */
hr{
  border-color:rgba(255,255,255,.12);
  opacity:1;
}

::-webkit-scrollbar{
  width:10px;
  height:10px;
}

::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04);
}

::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.22);
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
}

::-webkit-scrollbar-thumb:hover{
  background:rgba(255,255,255,.32);
  background-clip:padding-box;
}

.siavce-footer-version{
  width:max-content;
  left:50%;
  transform:translateX(-50%);
  bottom:5px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.18);
  backdrop-filter:blur(12px);
}

@media (max-width:1200px){
  :root{
    --siavce-v2-page-width:min(100vw - 24px,100%);
  }

  .siavce-page-hero{
    grid-template-columns:1fr;
  }
}

@media (max-width:992px){
  .ribbon{
    inset:8px 8px auto 8px !important;
    border-radius:20px;
  }

  .ribbon-tools.active{
    max-height:146px;
  }

  .siavce-login-layout,
  .siavce-login-module-grid,
  .siavce-grid-2,
  .siavce-grid-3{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:768px){
  :root{
    --siavce-v2-page-width:min(100vw - 18px,100%);
  }

  .ribbon-tabs{
    min-height:46px;
    padding:6px 7px;
  }

  .ribbon-tab{
    min-height:34px;
    padding:0 10px;
    font-size:.80rem;
  }

  .tool-btn{
    min-width:78px;
    min-height:52px;
    font-size:.70rem;
  }

  #siavceAppMain,
  .siavce-app-main{
    padding-inline:0 !important;
  }

  .siavce-page-hero,
  #siavceAppMain > .container:not(.siavce-no-panel),
  #siavceAppMain > .container-fluid:not(.siavce-no-panel),
  #siavceAppMain > section:not(.siavce-page-hero):not(.marketing-page-redesign):not(.marketing-shell),
  #siavceAppMain > article,
  #siavceAppMain > form,
  .siavce-glass-section{
    padding:16px;
    border-radius:22px;
  }

  .notif-bubble{
    right:12px;
    bottom:12px;
  }
}

/* ===== SIAVCE Glass Redesign v3: reparación de grillas Bootstrap =====
   La capa anterior podía convertir filas Bootstrap en CSS Grid. Eso hacía que
   inputs, selects, botones y cards quedaran comprimidos en páginas con formularios
   reales como tickets, usuarios, ajustes, soporte y mi cuenta. */
body.siavce-bootstrap-glass .row.siavce-auto-form-grid,
body.siavce-bootstrap-glass form.row.siavce-auto-form-grid{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:0 !important;
  align-items:flex-start !important;
  margin-right:calc(-.5 * var(--bs-gutter-x,1.5rem)) !important;
  margin-left:calc(-.5 * var(--bs-gutter-x,1.5rem)) !important;
}

body.siavce-bootstrap-glass .row.siavce-auto-form-grid > *,
body.siavce-bootstrap-glass form.row.siavce-auto-form-grid > *{
  min-width:0 !important;
  padding-right:calc(var(--bs-gutter-x,1.5rem) * .5) !important;
  padding-left:calc(var(--bs-gutter-x,1.5rem) * .5) !important;
  margin-top:var(--bs-gutter-y,0) !important;
}

body.siavce-bootstrap-glass .ticket-shell,
body.siavce-bootstrap-glass .support-dashboard,
body.siavce-bootstrap-glass .usuarios-shell,
body.siavce-bootstrap-glass .ajustes-page-shell,
body.siavce-bootstrap-glass .settings-shell,
body.siavce-bootstrap-glass .conn-shell,
body.siavce-bootstrap-glass .yo-shell{
  min-width:0;
}

body.siavce-view-ticket_formulario .ticket-shell,
body.siavce-view-ticket_reporte #siavceAppMain > .container-fluid,
body.siavce-view-soporte_servicios #siavceAppMain > .container-fluid,
body.siavce-view-seg_usuarios .usuarios-shell,
body.siavce-view-yo .yo-shell,
body.siavce-view-ajustes_conexiones .conn-shell,
body.siavce-view-ajustes_clientes_campos #siavceAppMain > .container-fluid,
body.siavce-view-ajustes_modulos #siavceAppMain > .container-fluid{
  width:min(1500px,calc(100vw - 34px)) !important;
  max-width:min(1500px,calc(100vw - 34px)) !important;
  margin-inline:auto !important;
}

body.siavce-view-ticket_formulario .glass-card > form.row,
body.siavce-view-ticket_reporte form.row,
body.siavce-view-soporte_servicios form.row,
body.siavce-view-seg_usuarios form .row,
body.siavce-view-ajustesuser form.row,
body.siavce-view-yo form.row,
body.siavce-view-yo .row,
body.siavce-view-ajustes_conexiones form.row,
body.siavce-view-ajustes_clientes_campos form .row{
  display:flex !important;
  flex-wrap:wrap !important;
}

body.siavce-view-ticket_formulario .glass-card > form.row > [class*="col-"],
body.siavce-view-ticket_reporte form.row > [class*="col-"],
body.siavce-view-soporte_servicios form.row > [class*="col-"],
body.siavce-view-seg_usuarios form .row > [class*="col-"],
body.siavce-view-ajustesuser form.row > [class*="col-"],
body.siavce-view-yo form.row > [class*="col-"],
body.siavce-view-yo .row > [class*="col-"],
body.siavce-view-ajustes_conexiones form.row > [class*="col-"],
body.siavce-view-ajustes_clientes_campos form .row > [class*="col-"]{
  min-width:0 !important;
}

body.siavce-view-ticket_formulario .ticket-hero,
body.siavce-view-ticket_formulario .glass-card,
body.siavce-view-ticket_reporte .ticket-detail-hero,
body.siavce-view-ticket_reporte .mod-card,
body.siavce-view-soporte_servicios .mod-card,
body.siavce-view-seg_usuarios .siavce-panel-card,
body.siavce-view-yo .yo-card,
body.siavce-view-ajustesuser .glass-card,
body.siavce-view-ajustesuser .admin-card,
body.siavce-view-ajustes_conexiones .conn-card,
body.siavce-view-ajustes_clientes_campos .field-row,
body.siavce-view-ajustes_modulos .module-card{
  overflow:visible;
}

body.siavce-view-ticket_formulario .side-card,
body.siavce-view-ticket_formulario .form-section,
body.siavce-view-soporte_servicios .mod-card,
body.siavce-view-ticket_reporte .mod-card{
  height:auto !important;
}

body.siavce-view-ticket_reporte .support-progress-card,
body.siavce-view-ticket_reporte .mod-card,
body.siavce-view-soporte_servicios .mod-card{
  border-radius:22px !important;
}

body.siavce-view-seg_usuarios #adreg.form-control,
body.siavce-view-seg_usuarios #adreg{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding:18px !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.06) !important;
}

body.siavce-view-seg_usuarios #adreg .row{
  width:100%;
  margin-inline:0;
}

body.siavce-view-seg_usuarios #busca{
  flex:1 1 230px;
  max-width:100%;
}

body.siavce-view-seg_usuarios .usuarios-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr)) !important;
  gap:16px !important;
}

body.siavce-view-ajustesuser #ajustesnotis .form-check,
body.siavce-view-ajustesuser #ajustesnotis .form-switch,
body.siavce-view-ajustesuser #ajustesmodulos .form-check,
body.siavce-view-ajustesuser #ajustescampos .form-check{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-height:32px;
}

body.siavce-view-ajustesuser #ajustesnotis .form-check-input,
body.siavce-view-ajustesuser #ajustesmodulos .form-check-input,
body.siavce-view-ajustesuser #ajustescampos .form-check-input{
  flex:0 0 auto;
  margin:0 !important;
}

body.siavce-view-ajustesuser #ajustesnotis .form-check-label,
body.siavce-view-ajustesuser #ajustesmodulos .form-check-label,
body.siavce-view-ajustesuser #ajustescampos .form-check-label{
  flex:1 1 auto;
  min-width:0;
  line-height:1.25;
}

body.siavce-view-ajustesuser #ajustescampos .field-row .row,
body.siavce-view-ajustes_clientes_campos .field-row .row{
  align-items:start;
}

body.siavce-view-ajustesuser #ajustescampos .field-row textarea,
body.siavce-view-ajustes_clientes_campos .field-row textarea{
  min-height:86px;
}

body.siavce-view-yo .yo-grid,
body.siavce-view-yo .yo-info-grid{
  display:grid !important;
  gap:18px !important;
}

body.siavce-view-yo .yo-grid{
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  align-items:start;
}

body.siavce-view-yo .yo-info-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}

body.siavce-view-yo .yo-grid > [class*="col-"],
body.siavce-view-yo .yo-info-grid > [class*="col-"]{
  width:auto !important;
  max-width:none !important;
  padding:0 !important;
}

body.siavce-view-yo .siavce-hidden{
  display:none !important;
}

body.siavce-view-yo .profile-header{
  min-height:260px;
  border-radius:24px;
  overflow:hidden;
}

body.siavce-view-yo .cover-photo{
  width:100%;
  min-height:260px;
  object-fit:cover;
  display:block;
}

body.siavce-view-yo .profile-picture{
  width:126px;
  height:126px;
  object-fit:cover;
}

@media (max-width:992px){
  body.siavce-view-yo .yo-grid{
    grid-template-columns:1fr;
  }

  body.siavce-view-ticket_formulario .progress-flow{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:768px){
  body.siavce-view-ticket_formulario .progress-flow,
  body.siavce-view-yo .yo-info-grid,
  body.siavce-view-seg_usuarios .usuarios-grid{
    grid-template-columns:1fr !important;
  }
}

/* ===== SIAVCE Glass v4: reparación de formularios legacy y fondos puntuales ===== */
body.siavce-view-formulario_agregar_cliente .nuevo-cliente-page,
body.siavce-view-formulario_agregar_cita .cita-page,
body.siavce-view-herramientas .herramientas-page,
body.siavce-view-chat_interno .chat-shell{
  min-height:calc(100vh - var(--siavce-ribbon-real-height,64px)) !important;
  padding:clamp(18px,2.4vw,34px) !important;
  background:transparent !important;
}

body.siavce-view-formulario_agregar_cliente #siavceAppMain > .nuevo-cliente-page,
body.siavce-view-formulario_agregar_cita #siavceAppMain > .cita-page,
body.siavce-view-herramientas #siavceAppMain > .herramientas-page{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}

body.siavce-view-formulario_agregar_cliente .nuevo-cliente-page .container-fluid,
body.siavce-view-formulario_agregar_cita .cita-page .container,
body.siavce-view-herramientas .herramientas-page .container-fluid{
  width:min(1520px,calc(100vw - 36px)) !important;
  max-width:min(1520px,calc(100vw - 36px)) !important;
  margin-inline:auto !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body.siavce-view-formulario_agregar_cliente .glass-form-card,
body.siavce-view-formulario_agregar_cita .cita-page .glass-card,
body.siavce-view-herramientas .herramientas-page .glass-card{
  width:100% !important;
  max-width:100% !important;
  padding:clamp(20px,2.2vw,34px) !important;
  overflow:visible !important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.125),rgba(255,255,255,.055)),
    linear-gradient(180deg,color-mix(in srgb,var(--siavce-user-primary) 10%,transparent),rgba(255,255,255,.03)) !important;
  border:1px solid var(--siavce-v2-border) !important;
  border-radius:var(--siavce-v2-radius-xl) !important;
  box-shadow:var(--siavce-v2-shadow) !important;
  backdrop-filter:blur(22px) saturate(128%) !important;
  -webkit-backdrop-filter:blur(22px) saturate(128%) !important;
}

body.siavce-view-formulario_agregar_cliente .glass-form-card > form,
body.siavce-view-formulario_agregar_cita .form-glass,
body.siavce-view-ajustes_clientes_campos form.cfg-card,
body.siavce-view-ajustesuser #ajustescampos form.cfg-card{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
}

body.siavce-view-formulario_agregar_cliente .glass-form-card > form > .mb-5,
body.siavce-view-formulario_agregar_cita .form-glass > .row,
body.siavce-view-ajustes_clientes_campos form.cfg-card > .field-row,
body.siavce-view-ajustesuser #ajustescampos form.cfg-card > .field-row{
  width:100% !important;
  max-width:100% !important;
}

body.siavce-view-formulario_agregar_cliente .section-title,
body.siavce-view-formulario_agregar_cita .header-section h2{
  text-align:left !important;
  margin-bottom:14px !important;
  font-size:clamp(1.18rem,1.55vw,1.6rem) !important;
  line-height:1.15 !important;
  text-shadow:none !important;
}

body.siavce-view-formulario_agregar_cliente .section-card,
body.siavce-view-formulario_agregar_cliente .mb-5 > .row,
body.siavce-view-formulario_agregar_cita .form-glass > .row,
body.siavce-view-ajustes_clientes_campos .field-row .row,
body.siavce-view-ajustesuser #ajustescampos .field-row .row{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  gap:0 !important;
  margin-right:calc(-.5 * var(--bs-gutter-x,1.5rem)) !important;
  margin-left:calc(-.5 * var(--bs-gutter-x,1.5rem)) !important;
}

body.siavce-view-formulario_agregar_cliente .section-card > [class*="col-"],
body.siavce-view-formulario_agregar_cliente .mb-5 > .row > [class*="col-"],
body.siavce-view-formulario_agregar_cita .form-glass > .row > [class*="col-"],
body.siavce-view-ajustes_clientes_campos .field-row .row > [class*="col-"],
body.siavce-view-ajustesuser #ajustescampos .field-row .row > [class*="col-"]{
  min-width:0 !important;
  padding-right:calc(var(--bs-gutter-x,1.5rem) * .5) !important;
  padding-left:calc(var(--bs-gutter-x,1.5rem) * .5) !important;
}

body.siavce-view-formulario_agregar_cliente .section-card{
  margin:0 !important;
  padding:18px !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.13) !important;
}

body.siavce-view-formulario_agregar_cliente .form-label,
body.siavce-view-formulario_agregar_cita .form-label,
body.siavce-view-ajustes_clientes_campos .form-label,
body.siavce-view-ajustesuser #ajustescampos .form-label{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  line-height:1.22 !important;
}

body.siavce-view-formulario_agregar_cliente .form-control,
body.siavce-view-formulario_agregar_cliente .form-select,
body.siavce-view-formulario_agregar_cita .form-control,
body.siavce-view-formulario_agregar_cita .form-select,
body.siavce-view-ajustes_clientes_campos .form-control,
body.siavce-view-ajustes_clientes_campos .form-select,
body.siavce-view-ajustesuser #ajustescampos .form-control,
body.siavce-view-ajustesuser #ajustescampos .form-select{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
}

body.siavce-view-formulario_agregar_cita .header-section .d-flex{
  align-items:center !important;
}

body.siavce-view-formulario_agregar_cita .btn-glass,
body.siavce-view-formulario_agregar_cita .btn-success-glass{
  white-space:nowrap !important;
  min-width:130px !important;
}

body.siavce-view-formulario_agregar_cita .btn-success-glass{
  width:100% !important;
  background:linear-gradient(135deg,#22c55e,#10b981) !important;
  color:#052e1b !important;
  border:0 !important;
}

body.siavce-view-formulario_agregar_cita .hidden{
  display:none !important;
}

body.siavce-view-ajustes_clientes_campos .cfg-grid,
body.siavce-view-ajustesuser #ajustescampos .cfg-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:16px !important;
}

body.siavce-view-ajustes_clientes_campos .cfg-card,
body.siavce-view-ajustesuser #ajustescampos .cfg-card{
  padding:clamp(16px,1.8vw,24px) !important;
  border-radius:24px !important;
}

body.siavce-view-ajustes_clientes_campos .field-row,
body.siavce-view-ajustesuser #ajustescampos .field-row{
  margin-bottom:14px !important;
  padding:16px !important;
  border-radius:18px !important;
  background:rgba(2,6,23,.20) !important;
  border:1px solid rgba(255,255,255,.10) !important;
}

body.siavce-view-ajustes_clientes_campos .field-row .col-md-1,
body.siavce-view-ajustesuser #ajustescampos .field-row .col-md-1{
  flex:0 0 110px !important;
  max-width:110px !important;
}

body.siavce-view-ajustes_clientes_campos .field-row .col-md-2,
body.siavce-view-ajustesuser #ajustescampos .field-row .col-md-2{
  flex:1 1 170px !important;
  max-width:none !important;
}

body.siavce-view-ajustes_clientes_campos .field-row .col-md-3,
body.siavce-view-ajustesuser #ajustescampos .field-row .col-md-3{
  flex:1.2 1 220px !important;
  max-width:none !important;
}

body.siavce-view-ajustes_clientes_campos .field-row .col-md-4,
body.siavce-view-ajustesuser #ajustescampos .field-row .col-md-4{
  flex:1.4 1 260px !important;
  max-width:none !important;
}

body.siavce-view-ajustes_clientes_campos .field-row .col-12,
body.siavce-view-ajustesuser #ajustescampos .field-row .col-12{
  flex:0 0 100% !important;
  max-width:100% !important;
}

body.siavce-view-ajustes_clientes_campos .field-row label:has(input[type="checkbox"]),
body.siavce-view-ajustesuser #ajustescampos .field-row label:has(input[type="checkbox"]){
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  width:auto !important;
  white-space:nowrap !important;
}

body.siavce-view-herramientas{
  background:
    radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--siavce-user-primary) 24%,transparent) 0,transparent 34%),
    radial-gradient(circle at 96% 10%,color-mix(in srgb,var(--siavce-user-nav) 25%,transparent) 0,transparent 32%),
    linear-gradient(145deg,var(--siavce-v2-bg-0),var(--siavce-v2-bg-1) 54%,#050914) !important;
  background-attachment:fixed !important;
}

body.siavce-view-herramientas .table-responsive-custom{
  max-height:none !important;
  overflow:auto !important;
  border-radius:0 0 24px 24px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-top:0 !important;
}

body.siavce-view-herramientas .table-custom th{
  background:rgba(8,17,31,.78) !important;
}

body.siavce-view-herramientas .modal-backdrop.show{
  opacity:.38 !important;
  backdrop-filter:blur(2px) !important;
}

body.siavce-view-herramientas .modal-glass .modal-content,
body.siavce-view-herramientas .modal-content{
  background:
    linear-gradient(145deg,rgba(31,45,64,.96),rgba(13,24,39,.96)) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:24px !important;
  box-shadow:0 26px 80px rgba(0,0,0,.50) !important;
  backdrop-filter:blur(18px) saturate(126%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(126%) !important;
}

body.siavce-view-herramientas .modal-dialog{
  margin-top:calc(var(--siavce-ribbon-real-height,64px) + 22px) !important;
}

body.siavce-view-herramientas .modal-glass .form-control,
body.siavce-view-herramientas .modal-glass .form-select{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.18) !important;
  color:#fff !important;
}

body.siavce-view-mipanel2{
  background:
    radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--siavce-user-primary) 25%,transparent) 0,transparent 34%),
    radial-gradient(circle at 92% 18%,color-mix(in srgb,var(--siavce-user-nav) 28%,transparent) 0,transparent 36%),
    linear-gradient(145deg,var(--siavce-v2-bg-0),var(--siavce-v2-bg-1) 56%,#050914) !important;
  background-attachment:fixed !important;
}

body.siavce-view-mipanel2::before{
  background:
    linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px) !important;
  background-size:44px 44px !important;
  opacity:.55 !important;
}

body.siavce-view-mipanel2 .panel2-shell{
  width:min(1500px,calc(100vw - 36px)) !important;
  max-width:min(1500px,calc(100vw - 36px)) !important;
}

body.siavce-view-mipanel2 .panel2-card,
body.siavce-view-mipanel2 .panel2-hero{
  background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.045)) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  box-shadow:var(--siavce-v2-shadow-soft) !important;
}

@media (max-width:992px){
  body.siavce-view-formulario_agregar_cliente .glass-form-card,
  body.siavce-view-formulario_agregar_cita .cita-page .glass-card{
    padding:18px !important;
  }

  body.siavce-view-ajustes_clientes_campos .field-row .col-md-1,
  body.siavce-view-ajustes_clientes_campos .field-row .col-md-2,
  body.siavce-view-ajustes_clientes_campos .field-row .col-md-3,
  body.siavce-view-ajustes_clientes_campos .field-row .col-md-4,
  body.siavce-view-ajustesuser #ajustescampos .field-row .col-md-1,
  body.siavce-view-ajustesuser #ajustescampos .field-row .col-md-2,
  body.siavce-view-ajustesuser #ajustescampos .field-row .col-md-3,
  body.siavce-view-ajustesuser #ajustescampos .field-row .col-md-4{
    flex:0 0 100% !important;
    max-width:100% !important;
  }
}

/* =========================================================
   V5 - reparación de modales bloqueados en Caja Chica y Herramientas
   Mantiene Bootstrap funcional: el backdrop queda abajo y el modal siempre recibe eventos.
   ========================================================= */
body.siavce-bootstrap-glass .modal,
body.siavce-redesign-total .modal{
  --bs-modal-zindex:22000;
  position:fixed !important;
  inset:0 !important;
  z-index:22000 !important;
  pointer-events:none;
}

body.siavce-bootstrap-glass .modal.show,
body.siavce-redesign-total .modal.show{
  display:block !important;
  pointer-events:auto !important;
}

body.siavce-bootstrap-glass .modal .modal-dialog,
body.siavce-redesign-total .modal .modal-dialog{
  position:relative !important;
  z-index:22002 !important;
  pointer-events:auto !important;
}

body.siavce-bootstrap-glass .modal .modal-content,
body.siavce-redesign-total .modal .modal-content{
  position:relative !important;
  z-index:22003 !important;
  pointer-events:auto !important;
}

body.siavce-bootstrap-glass .modal-backdrop,
body.siavce-redesign-total .modal-backdrop{
  --bs-backdrop-zindex:21980;
  z-index:21980 !important;
  background:#020817 !important;
}

body.siavce-bootstrap-glass .modal-backdrop.show,
body.siavce-redesign-total .modal-backdrop.show{
  opacity:.42 !important;
}

body.siavce-view-herramientas .modal,
body.siavce-view-caja_chica .modal{
  background:transparent !important;
}

body.siavce-view-herramientas .modal.show,
body.siavce-view-caja_chica .modal.show{
  background:rgba(2,8,23,.30) !important;
}

body.siavce-view-herramientas .modal-glass .modal-content,
body.siavce-view-herramientas .modal-content,
body.siavce-view-caja_chica .modal-glass .modal-content,
body.siavce-view-caja_chica .modal-content{
  background:
    radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--siavce-user-primary) 18%,transparent) 0,transparent 35%),
    linear-gradient(145deg,rgba(39,57,78,.97),rgba(15,27,43,.97)) !important;
  color:#f8fafc !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:24px !important;
  box-shadow:0 28px 90px rgba(0,0,0,.56) !important;
}

body.siavce-view-herramientas .modal-header,
body.siavce-view-herramientas .modal-footer,
body.siavce-view-caja_chica .modal-header,
body.siavce-view-caja_chica .modal-footer{
  background:transparent !important;
  border-color:rgba(255,255,255,.10) !important;
}

body.siavce-view-herramientas .modal input,
body.siavce-view-herramientas .modal select,
body.siavce-view-herramientas .modal textarea,
body.siavce-view-caja_chica .modal input,
body.siavce-view-caja_chica .modal select,
body.siavce-view-caja_chica .modal textarea{
  pointer-events:auto !important;
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.20) !important;
  color:#fff !important;
}

body.siavce-view-herramientas .modal input::placeholder,
body.siavce-view-herramientas .modal textarea::placeholder,
body.siavce-view-caja_chica .modal input::placeholder,
body.siavce-view-caja_chica .modal textarea::placeholder{
  color:rgba(255,255,255,.55) !important;
}

body.siavce-view-herramientas .modal button,
body.siavce-view-herramientas .modal a,
body.siavce-view-caja_chica .modal button,
body.siavce-view-caja_chica .modal a{
  pointer-events:auto !important;
}

/* El modal de monto inicial venía marcado con una clase legacy que lo pintaba negro como backdrop. */
#modalMontoMes[data-siavce-class~="sx-95837871"],
#modalMontoMes.sx-95837871{
  background:rgba(2,8,23,.30) !important;
}

/* Evita que otros paneles fijos/flotantes queden por encima de Bootstrap cuando hay modal abierto. */
body.modal-open .ribbon,
body.modal-open .notif-bubble{
  z-index:1000 !important;
}

/* =========================================================
   V6 - Login profesional usando recursos/img/empresa/fondolog/fondolog.jpg
   Solo afecta index.php / sesión pública.
   ========================================================= */
body.siavce-view-index.siavce-login-v6{
  min-height:100vh;
  overflow-x:hidden;
  color:#f8fbff;
  background:
    linear-gradient(120deg,rgba(3,7,18,.86),rgba(8,22,39,.72) 42%,rgba(3,7,18,.88)),
    var(--siavce-login-bg),
    radial-gradient(circle at 20% 12%,color-mix(in srgb,var(--siavce-user-primary) 34%,transparent),transparent 36%),
    linear-gradient(145deg,#050b16,#071628 54%,#020617) !important;
  background-size:cover,cover,cover,cover !important;
  background-position:center,center,center,center !important;
  background-attachment:fixed,fixed,fixed,fixed !important;
}

body.siavce-view-index.siavce-login-v6::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 18%,rgba(96,165,250,.24),transparent 28%),
    radial-gradient(circle at 86% 76%,rgba(34,197,94,.13),transparent 26%),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:auto,auto,46px 46px,46px 46px;
  mask-image:none;
  opacity:.82;
}

body.siavce-view-index.siavce-login-v6::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(2,6,23,.72),rgba(2,6,23,.38) 46%,rgba(2,6,23,.78));
}

.siavce-login-v6-shell{
  position:relative;
  z-index:1;
  width:min(1260px,calc(100vw - 40px));
  min-height:100vh;
  margin-inline:auto;
  padding:clamp(26px,4vw,56px) 0;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(380px,.62fr);
  gap:clamp(20px,3vw,42px);
  align-items:center;
}

.siavce-login-v6-hero,
.siavce-login-v6-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(circle at 0% 0%,rgba(96,165,250,.18),transparent 40%),
    linear-gradient(145deg,rgba(15,31,53,.78),rgba(10,18,32,.62));
  box-shadow:0 34px 95px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(24px) saturate(132%);
  -webkit-backdrop-filter:blur(24px) saturate(132%);
}

.siavce-login-v6-hero::before,
.siavce-login-v6-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(120deg,rgba(255,255,255,.14),transparent 26%,rgba(255,255,255,.04) 58%,transparent);
  opacity:.75;
}

.siavce-login-v6-hero{
  min-height:650px;
  border-radius:34px;
  padding:clamp(28px,4vw,54px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.siavce-login-v6-card{
  border-radius:32px;
  padding:clamp(24px,3vw,36px);
}

.siavce-login-v6-hero > *,
.siavce-login-v6-card > *{
  position:relative;
  z-index:1;
}

.siavce-login-v6-brand-row{
  display:flex;
  align-items:flex-start;
  gap:18px;
  max-width:760px;
}

.siavce-login-v6-logo-wrap,
.siavce-login-v6-card-head img,
.siavce-login-v6-session-avatar{
  display:inline-grid;
  place-items:center;
  width:72px;
  height:72px;
  border-radius:22px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 34px rgba(0,0,0,.30);
  object-fit:cover;
}

.siavce-login-v6-logo-wrap img,
.siavce-login-v6-card-head img{
  width:100%;
  height:100%;
  border-radius:inherit;
  object-fit:cover;
}

.siavce-login-v6-eyebrow{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:6px 10px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(59,130,246,.86),rgba(34,197,94,.78));
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.03em;
  box-shadow:0 10px 22px rgba(0,0,0,.22);
}

.siavce-login-v6-hero h1{
  margin:12px 0 0;
  max-width:760px;
  color:#fff;
  font-size:clamp(2.25rem,4.8vw,5rem);
  line-height:.95;
  letter-spacing:-.065em;
}

.siavce-login-v6-lead{
  max-width:720px;
  margin:28px 0 0;
  color:rgba(248,251,255,.82) !important;
  font-size:clamp(1rem,1.5vw,1.28rem);
  line-height:1.55;
}

.siavce-login-v6-highlight{
  max-width:760px;
  margin-top:30px;
  display:flex;
  gap:15px;
  align-items:flex-start;
  padding:18px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.055));
  border:1px solid rgba(255,255,255,.15);
}

.siavce-login-v6-highlight i{
  width:42px;
  height:42px;
  display:inline-grid;
  place-items:center;
  flex:0 0 42px;
  border-radius:16px;
  background:rgba(59,130,246,.22);
  color:#dbeafe;
  font-size:1.45rem;
}

.siavce-login-v6-highlight strong,
.siavce-login-v6-highlight span{
  display:block;
}

.siavce-login-v6-highlight strong{
  color:#fff;
  font-size:1.02rem;
  margin-bottom:2px;
}

.siavce-login-v6-highlight span{
  color:rgba(248,251,255,.72);
  line-height:1.45;
}

.siavce-login-v6-module-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:30px;
}

.siavce-login-v6-module-grid article{
  min-height:132px;
  padding:17px;
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.siavce-login-v6-module-grid i{
  color:#e0f2fe;
  font-size:1.65rem;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.25));
}

.siavce-login-v6-module-grid strong,
.siavce-login-v6-module-grid span{
  display:block;
}

.siavce-login-v6-module-grid strong{
  margin-top:14px;
  color:#fff;
  font-size:1.03rem;
}

.siavce-login-v6-module-grid span{
  margin-top:4px;
  color:rgba(248,251,255,.68);
  font-size:.86rem;
  line-height:1.35;
}

.siavce-login-v6-card-head{
  text-align:center;
  margin-bottom:26px;
}

.siavce-login-v6-card-head img{
  margin-inline:auto;
  margin-bottom:14px;
}

.siavce-login-v6-card-head h2{
  margin:12px 0 7px;
  color:#fff;
  font-size:clamp(1.7rem,2.3vw,2.25rem);
  letter-spacing:-.055em;
}

.siavce-login-v6-card-head p{
  max-width:320px;
  margin:0 auto;
  color:rgba(248,251,255,.70) !important;
  line-height:1.45;
}

.siavce-login-v6-form{
  display:grid;
  gap:16px;
}

.siavce-login-v6-field .form-label,
.siavce-login-v6-recovery .form-label{
  margin-bottom:7px;
  color:rgba(248,251,255,.86) !important;
  font-size:.86rem;
}

.siavce-login-v6 .input-group{
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  width:100%;
}

.siavce-login-v6 .input-group-text{
  min-width:48px;
  border-radius:17px 0 0 17px !important;
  background:rgba(255,255,255,.11) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#fff !important;
}

.siavce-login-v6 .input-group .form-control{
  min-width:0;
  border-left:0 !important;
  border-radius:0 17px 17px 0 !important;
  background:rgba(255,255,255,.105) !important;
}

.siavce-login-v6 .input-group .form-control:focus{
  position:relative;
  z-index:2;
}

.siavce-login-v6 .input-group .siavce-login-v6-eye{
  min-width:48px;
  border-radius:0 17px 17px 0 !important;
  border-left:0 !important;
  box-shadow:none !important;
}

.siavce-login-v6 .input-group .siavce-login-v6-eye + *,
.siavce-login-v6 .input-group .form-control:has(+ .siavce-login-v6-eye){
  border-radius:0 !important;
}

.siavce-login-v6-options{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:2px;
}

.siavce-login-v6-options span{
  color:rgba(248,251,255,.78);
  font-weight:700;
  font-size:.88rem;
}

.siavce-login-v6-link{
  border:0;
  background:transparent;
  color:#dbeafe;
  font-weight:900;
  padding:0;
}

.siavce-login-v6-link:hover{
  color:#fff;
  text-decoration:underline;
}

.siavce-login-v6-submit,
.siavce-login-v6-create{
  min-height:48px !important;
  border-radius:18px !important;
}

.siavce-login-v6-recovery{
  margin-top:14px;
  padding:14px;
  border-radius:20px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
}

.siavce-login-v6-divider{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:18px 0;
  color:rgba(248,251,255,.58);
  font-weight:900;
}

.siavce-login-v6-divider::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:1px;
  background:rgba(255,255,255,.13);
}

.siavce-login-v6-divider span{
  position:relative;
  z-index:1;
  padding:0 12px;
  background:rgba(13,25,43,.94);
}

.siavce-login-v6-session{
  grid-template-columns:minmax(360px,520px);
  justify-content:center;
}

.siavce-login-v6-session-card{
  width:min(520px,100%);
  margin-inline:auto;
}

.siavce-login-v6-session-avatar{
  margin:0 auto 16px;
  border-radius:28px;
}

.siavce-login-v6-session-actions{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:22px;
}

@media (max-width:1180px){
  .siavce-login-v6-shell{
    grid-template-columns:1fr;
    width:min(860px,calc(100vw - 32px));
  }

  .siavce-login-v6-hero{
    min-height:auto;
  }

  .siavce-login-v6-module-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:620px){
  .siavce-login-v6-shell{
    width:min(100vw - 20px,100%);
    padding:16px 0;
  }

  .siavce-login-v6-hero,
  .siavce-login-v6-card{
    border-radius:24px;
    padding:20px;
  }

  .siavce-login-v6-brand-row{
    flex-direction:column;
  }

  .siavce-login-v6-module-grid{
    grid-template-columns:1fr;
  }

  .siavce-login-v6-options{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* =========================================================
   V7 - Login/index: fondo real fondolog, inputs limpios y sin crear cuenta.
   Esta capa no usa input-group de Bootstrap para evitar que reglas legacy partan
   usuario/contraseña en columnas angostas.
   ========================================================= */
body.siavce-view-index.siavce-login-v7{
  min-height:100vh !important;
  overflow-x:hidden !important;
  color:#f8fbff !important;
  background-color:#020817 !important;
  background-image:
    linear-gradient(90deg,rgba(2,6,23,.84) 0%,rgba(5,17,34,.60) 44%,rgba(2,6,23,.88) 100%),
    radial-gradient(circle at 18% 12%,rgba(96,165,250,.24),transparent 34%),
    radial-gradient(circle at 78% 84%,rgba(34,197,94,.16),transparent 30%),
    url("../img/empresa/fondolog/fondolog.jpg") !important;
  background-size:cover,auto,auto,cover !important;
  background-position:center,center,center,center !important;
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat !important;
  background-attachment:fixed,fixed,fixed,fixed !important;
}

body.siavce-view-index.siavce-login-v7::before{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  opacity:.22 !important;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) !important;
  background-size:54px 54px,54px 54px !important;
}

body.siavce-view-index.siavce-login-v7::after{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:linear-gradient(180deg,rgba(2,6,23,.10),rgba(2,6,23,.34)) !important;
}

.siavce-login-v6-divider,
.siavce-login-v6-create{
  display:none !important;
}

.siavce-login-v7-shell{
  position:relative !important;
  z-index:1 !important;
  width:min(1220px,calc(100vw - 42px)) !important;
  min-height:100vh !important;
  margin-inline:auto !important;
  padding:clamp(28px,4.5vw,62px) 0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.06fr) minmax(360px,.56fr) !important;
  align-items:center !important;
  gap:clamp(22px,3.2vw,48px) !important;
}

.siavce-login-v7-panel{
  position:relative !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:
    radial-gradient(circle at 0% 0%,rgba(96,165,250,.20),transparent 38%),
    linear-gradient(145deg,rgba(16,31,53,.78),rgba(6,13,25,.62)) !important;
  box-shadow:0 34px 95px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.13) !important;
  backdrop-filter:blur(22px) saturate(132%) !important;
  -webkit-backdrop-filter:blur(22px) saturate(132%) !important;
}

.siavce-login-v7-panel::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:linear-gradient(125deg,rgba(255,255,255,.16),transparent 28%,rgba(255,255,255,.035) 62%,transparent) !important;
  opacity:.78 !important;
}

.siavce-login-v7-panel > *{
  position:relative !important;
  z-index:1 !important;
}

.siavce-login-v7-info{
  min-height:620px !important;
  border-radius:34px !important;
  padding:clamp(30px,4vw,54px) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
}

.siavce-login-v7-card{
  border-radius:32px !important;
  padding:clamp(24px,3vw,36px) !important;
}

.siavce-login-v7-brand{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}

.siavce-login-v7-logo-mini,
.siavce-login-v7-card-logo,
.siavce-login-v7-session-avatar{
  flex:0 0 auto !important;
  width:68px !important;
  height:68px !important;
  max-width:68px !important;
  max-height:68px !important;
  border-radius:20px !important;
  padding:0 !important;
  object-fit:cover !important;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.30) !important;
}

.siavce-login-v7-logo-mini{
  display:inline-grid !important;
  place-items:center !important;
  overflow:hidden !important;
}

.siavce-login-v7-logo-mini img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:cover !important;
  border-radius:inherit !important;
}

.siavce-login-v7-badge{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:100% !important;
  padding:6px 11px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,rgba(59,130,246,.92),rgba(34,197,94,.84)) !important;
  color:#fff !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.03em !important;
  box-shadow:0 10px 22px rgba(0,0,0,.25) !important;
}

.siavce-login-v7-titleblock h1{
  max-width:720px !important;
  margin:28px 0 0 !important;
  color:#fff !important;
  font-size:clamp(2.45rem,4.9vw,5.1rem) !important;
  line-height:.94 !important;
  letter-spacing:-.065em !important;
  text-wrap:balance !important;
}

.siavce-login-v7-titleblock p{
  max-width:720px !important;
  margin:24px 0 0 !important;
  color:rgba(248,251,255,.82) !important;
  font-size:clamp(1rem,1.42vw,1.24rem) !important;
  line-height:1.55 !important;
}

.siavce-login-v7-feature{
  margin-top:30px !important;
  display:flex !important;
  gap:15px !important;
  align-items:flex-start !important;
  padding:18px !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.06)) !important;
  border:1px solid rgba(255,255,255,.15) !important;
}

.siavce-login-v7-feature i{
  width:42px !important;
  height:42px !important;
  display:inline-grid !important;
  place-items:center !important;
  flex:0 0 42px !important;
  border-radius:16px !important;
  background:rgba(59,130,246,.24) !important;
  color:#dbeafe !important;
  font-size:1.45rem !important;
}

.siavce-login-v7-feature strong,
.siavce-login-v7-feature span{
  display:block !important;
}

.siavce-login-v7-feature strong{
  color:#fff !important;
  font-size:1.02rem !important;
  margin-bottom:2px !important;
}

.siavce-login-v7-feature span{
  color:rgba(248,251,255,.72) !important;
  line-height:1.45 !important;
}

.siavce-login-v7-modules{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:30px !important;
}

.siavce-login-v7-modules article{
  min-height:126px !important;
  padding:17px !important;
  border-radius:23px !important;
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.045)) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.siavce-login-v7-modules i{
  color:#e0f2fe !important;
  font-size:1.55rem !important;
}

.siavce-login-v7-modules strong,
.siavce-login-v7-modules span{
  display:block !important;
}

.siavce-login-v7-modules strong{
  margin-top:12px !important;
  color:#fff !important;
  font-size:1.02rem !important;
}

.siavce-login-v7-modules span{
  margin-top:4px !important;
  color:rgba(248,251,255,.70) !important;
  font-size:.86rem !important;
  line-height:1.35 !important;
}

.siavce-login-v7-card-head{
  text-align:center !important;
  margin-bottom:24px !important;
}

.siavce-login-v7-card-logo{
  display:block !important;
  margin:0 auto 14px !important;
}

.siavce-login-v7-card-head h2{
  margin:12px 0 7px !important;
  color:#fff !important;
  font-size:clamp(1.7rem,2.2vw,2.2rem) !important;
  letter-spacing:-.055em !important;
}

.siavce-login-v7-card-head p{
  max-width:320px !important;
  margin:0 auto !important;
  color:rgba(248,251,255,.72) !important;
  line-height:1.45 !important;
}

.siavce-login-v7-form{
  display:grid !important;
  gap:16px !important;
}

.siavce-login-v7-field,
.siavce-login-v7-recovery{
  min-width:0 !important;
}

.siavce-login-v7-field label,
.siavce-login-v7-recovery label{
  display:block !important;
  margin:0 0 7px !important;
  color:rgba(248,251,255,.88) !important;
  font-size:.86rem !important;
  font-weight:900 !important;
  letter-spacing:-.01em !important;
}

.siavce-login-v7-control{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  min-height:50px !important;
  border-radius:17px !important;
  background:rgba(255,255,255,.105) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
  overflow:hidden !important;
}

.siavce-login-v7-control:focus-within{
  border-color:rgba(147,197,253,.72) !important;
  background:rgba(255,255,255,.14) !important;
  box-shadow:0 0 0 .22rem rgba(59,130,246,.18),inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.siavce-login-v7-control > i{
  flex:0 0 50px !important;
  width:50px !important;
  height:50px !important;
  display:grid !important;
  place-items:center !important;
  color:rgba(248,251,255,.72) !important;
  font-size:1.15rem !important;
  border-right:1px solid rgba(255,255,255,.12) !important;
}

.siavce-login-v7-control input{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:block !important;
  flex:1 1 auto !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:50px !important;
  min-height:50px !important;
  margin:0 !important;
  padding:0 16px !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  color:#fff !important;
  font-size:.96rem !important;
  font-weight:700 !important;
  line-height:50px !important;
  box-shadow:none !important;
}

.siavce-login-v7-control input::placeholder{
  color:rgba(248,251,255,.45) !important;
}

.siavce-login-v7-control-password input{
  padding-right:54px !important;
}

.siavce-login-v7-eye{
  position:absolute !important;
  right:6px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  border:0 !important;
  border-radius:13px !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  box-shadow:none !important;
  cursor:pointer !important;
}

.siavce-login-v7-eye:hover{
  background:rgba(255,255,255,.16) !important;
}

.siavce-login-v7-options{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:12px !important;
  margin-top:2px !important;
}

.siavce-login-v7-check{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 !important;
  color:rgba(248,251,255,.78) !important;
  font-size:.88rem !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

.siavce-login-v7-check input{
  width:16px !important;
  height:16px !important;
  margin:0 !important;
  accent-color:#22c55e !important;
}

.siavce-login-v7-link{
  border:0 !important;
  background:transparent !important;
  color:#dbeafe !important;
  font-weight:900 !important;
  padding:0 !important;
  cursor:pointer !important;
}

.siavce-login-v7-link:hover{
  color:#fff !important;
  text-decoration:underline !important;
}

.siavce-login-v7-submit,
.siavce-login-v7-secondary,
.siavce-login-v7-recovery-submit{
  width:100% !important;
  min-height:50px !important;
  border:0 !important;
  border-radius:17px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  text-decoration:none !important;
  font-weight:900 !important;
  letter-spacing:-.01em !important;
  cursor:pointer !important;
}

.siavce-login-v7-submit{
  margin-top:2px !important;
  color:#fff !important;
  background:linear-gradient(135deg,rgba(59,130,246,.96),rgba(37,99,235,.92)) !important;
  box-shadow:0 15px 32px rgba(37,99,235,.24) !important;
}

.siavce-login-v7-submit:hover{
  filter:brightness(1.08) !important;
}

.siavce-login-v7-secondary{
  color:#fff !important;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.14) !important;
}

.siavce-login-v7-recovery{
  margin-top:16px !important;
  padding:15px !important;
  border-radius:21px !important;
  background:rgba(255,255,255,.075) !important;
  border:1px solid rgba(255,255,255,.13) !important;
}

.siavce-login-v7-recovery-submit{
  margin-top:10px !important;
  color:#fff !important;
  background:linear-gradient(135deg,rgba(34,197,94,.95),rgba(16,185,129,.90)) !important;
}

.siavce-login-v7-session{
  grid-template-columns:minmax(340px,520px) !important;
  justify-content:center !important;
}

.siavce-login-v7-session-card{
  text-align:center !important;
  border-radius:32px !important;
  padding:34px !important;
}

.siavce-login-v7-session-avatar{
  display:block !important;
  margin:0 auto 16px !important;
  width:104px !important;
  height:104px !important;
  max-width:104px !important;
  max-height:104px !important;
  border-radius:28px !important;
}

.siavce-login-v7-session-card h1{
  color:#fff !important;
  margin:14px 0 8px !important;
}

.siavce-login-v7-session-card p{
  color:rgba(248,251,255,.75) !important;
}

.siavce-login-v7-session-actions{
  display:flex !important;
  gap:10px !important;
  margin-top:22px !important;
}

@media (max-width:1180px){
  .siavce-login-v7-shell{
    grid-template-columns:1fr !important;
    width:min(860px,calc(100vw - 32px)) !important;
  }
  .siavce-login-v7-info{
    min-height:auto !important;
  }
  .siavce-login-v7-modules{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:620px){
  .siavce-login-v7-shell{
    width:min(100vw - 20px,100%) !important;
    padding:16px 0 !important;
  }
  .siavce-login-v7-info,
  .siavce-login-v7-card,
  .siavce-login-v7-session-card{
    border-radius:24px !important;
    padding:20px !important;
  }
  .siavce-login-v7-titleblock h1{
    font-size:2.2rem !important;
  }
  .siavce-login-v7-modules{
    grid-template-columns:1fr !important;
  }
  .siavce-login-v7-options,
  .siavce-login-v7-session-actions{
    align-items:stretch !important;
    flex-direction:column !important;
  }
}


/* =========================================================
   V8 - Login/index: tipografía más compacta, paleta SCD y
   fondo fondolog desde variable inline del index.
   ========================================================= */
body.siavce-view-index.siavce-login-v7{
  --scd-dark:#202124;
  --scd-panel:#171b20;
  --scd-blue:#3b6ff5;
  --scd-green:#6fc85f;
  --scd-red:#ce3a3a;
  background-color:var(--scd-dark) !important;
  background-image:
    linear-gradient(90deg,rgba(32,33,36,.88) 0%,rgba(17,24,39,.68) 44%,rgba(32,33,36,.92) 100%),
    radial-gradient(circle at 14% 18%,rgba(59,111,245,.28),transparent 34%),
    radial-gradient(circle at 82% 16%,rgba(111,200,95,.18),transparent 30%),
    radial-gradient(circle at 78% 84%,rgba(206,58,58,.16),transparent 32%),
    var(--siavce-login-bg-image,url("../img/empresa/fondolog/fondolog.jpg")) !important;
  background-size:cover,auto,auto,auto,cover !important;
  background-position:center,center,center,center,center !important;
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat !important;
  background-attachment:fixed,fixed,fixed,fixed,fixed !important;
}

body.siavce-view-index.siavce-login-v7::before{
  opacity:.12 !important;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px) !important;
  background-size:72px 72px,72px 72px !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-panel{
  background:
    radial-gradient(circle at 0% 0%,rgba(59,111,245,.18),transparent 34%),
    radial-gradient(circle at 100% 0%,rgba(111,200,95,.12),transparent 28%),
    linear-gradient(145deg,rgba(32,33,36,.78),rgba(9,15,25,.66)) !important;
  border-color:rgba(255,255,255,.16) !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-badge{
  background:linear-gradient(135deg,var(--scd-blue),var(--scd-green)) !important;
  font-size:.66rem !important;
  padding:5px 10px !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-titleblock h1{
  max-width:660px !important;
  font-size:clamp(2.05rem,3.45vw,3.75rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.05em !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-titleblock p{
  max-width:660px !important;
  font-size:clamp(.95rem,1.08vw,1.08rem) !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-card-head h2{
  font-size:clamp(1.45rem,1.75vw,1.85rem) !important;
  letter-spacing:-.035em !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-card-head p,
body.siavce-view-index.siavce-login-v7 .siavce-login-v7-feature span,
body.siavce-view-index.siavce-login-v7 .siavce-login-v7-modules span{
  font-size:.84rem !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-info{
  min-height:560px !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-card{
  max-width:410px !important;
  justify-self:center !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-card-head > img.siavce-login-v7-card-logo{
  width:min(188px,72%) !important;
  height:auto !important;
  max-width:188px !important;
  max-height:116px !important;
  object-fit:contain !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-logo-mini{
  background:rgba(32,33,36,.68) !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-logo-mini img{
  object-fit:contain !important;
  padding:6px !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-feature i,
body.siavce-view-index.siavce-login-v7 .siavce-login-v7-submit{
  background:linear-gradient(135deg,var(--scd-blue),#2f5fd4) !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-recovery-submit{
  background:linear-gradient(135deg,var(--scd-green),#24a95d) !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-link:hover,
body.siavce-view-index.siavce-login-v7 .siavce-login-v7-control:focus-within > i{
  color:#fff !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-control:focus-within{
  border-color:rgba(59,111,245,.72) !important;
  box-shadow:0 0 0 .22rem rgba(59,111,245,.18),0 0 0 .33rem rgba(111,200,95,.08),inset 0 1px 0 rgba(255,255,255,.10) !important;
}

body.siavce-view-index.siavce-login-v7 .siavce-login-v7-modules article:nth-child(1) i{ color:var(--scd-blue) !important; }
body.siavce-view-index.siavce-login-v7 .siavce-login-v7-modules article:nth-child(2) i{ color:var(--scd-green) !important; }
body.siavce-view-index.siavce-login-v7 .siavce-login-v7-modules article:nth-child(3) i{ color:var(--scd-red) !important; }
body.siavce-view-index.siavce-login-v7 .siavce-login-v7-modules article:nth-child(4) i{ color:#d1d5db !important; }

@media (max-width:620px){
  body.siavce-view-index.siavce-login-v7 .siavce-login-v7-titleblock h1{
    font-size:2rem !important;
  }
}
