/* VAZ Admin UI - centralized dashboard theme */
:root {
  --vaz-primary: #0f7fff;
  --vaz-primary-hover: #2d91ff;
  --vaz-primary-soft: rgba(15, 127, 255, .14);
  --vaz-bg: #07111f;
  --vaz-bg-alt: #0a1627;
  --vaz-sidebar: #091426;
  --vaz-sidebar-start: #0b1930;
  --vaz-sidebar-end: #07111f;
  --vaz-sidebar-text: #b9c8dc;
  --vaz-sidebar-muted: #627996;
  --vaz-sidebar-divider: rgba(255,255,255,.08);
  --vaz-sidebar-border: rgba(255,255,255,.07);
  --vaz-surface: #0d1b2d;
  --vaz-surface-2: #102239;
  --vaz-surface-3: #142a45;
  --vaz-border: #203958;
  --vaz-border-soft: #172d48;
  --vaz-text: #f4f8ff;
  --vaz-text-soft: #c9d6e8;
  --vaz-muted: #8ea4c0;
  --vaz-success: #19c77b;
  --vaz-success-soft: rgba(25, 199, 123, .14);
  --vaz-warning: #f4a51c;
  --vaz-warning-soft: rgba(244, 165, 28, .14);
  --vaz-danger: #ff465b;
  --vaz-danger-soft: rgba(255, 70, 91, .14);
  --vaz-shadow: 0 18px 45px rgba(0,0,0,.22);
  --vaz-radius: 12px;
  --vaz-radius-sm: 8px;
  --vaz-sidebar-width: 220px;
  --vaz-topbar-height: 70px;
}

html[data-theme="light"] {
  --vaz-bg: #eef4fb;
  --vaz-bg-alt: #f6f9fd;
  --vaz-sidebar: #ffffff;
  --vaz-sidebar-start: #ffffff;
  --vaz-sidebar-end: #f5f9ff;
  --vaz-sidebar-text: #334b6a;
  --vaz-sidebar-muted: #8293a9;
  --vaz-sidebar-divider: #e1e9f4;
  --vaz-sidebar-border: #dce6f2;
  --vaz-surface: #ffffff;
  --vaz-surface-2: #f8fbff;
  --vaz-surface-3: #edf5ff;
  --vaz-border: #d7e2f0;
  --vaz-border-soft: #e7eef7;
  --vaz-text: #12213a;
  --vaz-text-soft: #344b69;
  --vaz-muted: #71849d;
  --vaz-shadow: 0 16px 38px rgba(25, 54, 93, .09);
}

html, body { min-height: 100%; }
body {
  background: var(--vaz-bg) !important;
  color: var(--vaz-text) !important;
  font-family: Inter, Montserrat, Arial, sans-serif !important;
  font-size: 14px;
}
a { color: var(--vaz-primary); }
a:hover { color: var(--vaz-primary-hover); }

/* Shell */
html,
body,
.wrapper,
.wrapper.wrapper-full-page { background: var(--vaz-bg) !important; }
.wrapper { min-height:100vh; }
.main-panel {
  background: linear-gradient(145deg, var(--vaz-bg) 0%, var(--vaz-bg-alt) 100%) !important;
  min-height: 100vh;
  width: calc(100% - var(--vaz-sidebar-width)) !important;
  margin-left: var(--vaz-sidebar-width) !important;
  float: none !important;
  transition: width .25s ease, margin .25s ease;
}
.main-panel > .content {
  margin-top: 0 !important;
  padding: 92px 20px 28px !important;
  min-height: calc(100vh - 70px);
  background: linear-gradient(145deg, var(--vaz-bg) 0%, var(--vaz-bg-alt) 100%) !important;
}
.main-panel .content,
.main-panel > .content,
.main-panel > div.content {
  background: linear-gradient(145deg, var(--vaz-bg) 0%, var(--vaz-bg-alt) 100%) !important;
}
html[data-theme="light"] .main-panel,
html[data-theme="light"] .main-panel .content,
html[data-theme="light"] .main-panel > .content {
  background: linear-gradient(145deg, #eef4fb 0%, #f6f9fd 100%) !important;
}
.panel-header {
  display: none !important;
}
.sidebar-mini .main-panel {
  width: calc(100% - var(--vaz-sidebar-width)) !important;
  margin-left: var(--vaz-sidebar-width) !important;
}

/* Sidebar */
.sidebar,
.sidebar-mini .sidebar {
  width: var(--vaz-sidebar-width) !important;
  background: linear-gradient(180deg, var(--vaz-sidebar-start) 0%, var(--vaz-sidebar-end) 100%) !important;
  box-shadow: inset -1px 0 0 rgba(255,255,255,.025) !important;
  border-right: 1px solid var(--vaz-sidebar-border) !important;
  z-index: 1040;
}
.sidebar:before,
.sidebar:after { display: none !important; }
.sidebar .logo {
  height: 70px;
  padding: 16px 20px !important;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--vaz-sidebar-border) !important;
}
.sidebar .logo:after { display: none !important; }
.sidebar .logo .simple-text {
  width: 100%;
  padding: 0 !important;
  display: flex;
  align-items: center;
}
.sidebar .logo img { width: 78px !important; max-height: 40px; padding: 0 !important; transition: filter .2s ease, opacity .2s ease; }
html[data-theme="light"] .sidebar .logo img { filter: invert(1); }
html[data-theme="light"] .sidebar,
html[data-theme="light"] .sidebar-mini .sidebar {
  box-shadow: 8px 0 28px rgba(25,54,93,.06) !important;
}
html[data-theme="light"] .sidebar .nav li > a:hover {
  background: #edf5ff !important;
  color: var(--vaz-primary) !important;
}
html[data-theme="light"] .sidebar .nav li.active > a,
html[data-theme="light"] .sidebar .nav li.active > a:not([data-toggle="collapse"]) {
  color:#fff !important;
}
.sidebar .navbar-minimize { display: none !important; }
.sidebar .sidebar-wrapper,
.sidebar-mini .sidebar .sidebar-wrapper {
  width: var(--vaz-sidebar-width) !important;
  height: calc(100vh - 78px) !important;
  padding: 14px 10px 88px;
  overflow-x: hidden;
}
.sidebar .user { display: none !important; }
.sidebar .nav { margin-top: 0 !important; }
.sidebar .nav li > a,
.sidebar-mini .sidebar .nav li > a {
  width: auto !important;
  min-height: 45px;
  margin: 4px 0 !important;
  padding: 11px 13px !important;
  border-radius: 9px !important;
  display: flex !important;
  align-items: center;
  color: var(--vaz-sidebar-text) !important;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.sidebar .nav li > a:hover {
  background: rgba(15,127,255,.10) !important;
  color: var(--vaz-primary) !important;
  transform: translateX(2px);
}
.sidebar .nav li.active > a,
.sidebar .nav li.active > a:not([data-toggle="collapse"]) {
  background: linear-gradient(135deg, var(--vaz-primary), #0870e6) !important;
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(15,127,255,.24) !important;
}
.sidebar .nav li > a i,
.sidebar-mini .sidebar .nav li > a i {
  width: 24px !important;
  min-width: 24px;
  margin: 0 10px 0 0 !important;
  font-size: 17px !important;
  color: inherit !important;
  text-align: center;
}
.sidebar .nav li > a p,
.sidebar .nav li > a .sidebar-normal,
.sidebar-mini .sidebar .nav li > a p,
.sidebar-mini .sidebar .nav li > a .sidebar-normal {
  opacity: 1 !important;
  transform: none !important;
  width: auto !important;
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  white-space: normal !important;
}
.sidebar .sidebar-mini-icon {
  width: 24px !important;
  min-width: 24px;
  margin: 0 10px 0 0 !important;
  color: inherit !important;
  font-size: 10px !important;
  font-weight: 700;
}
.sidebar .nav .vaz-nav-divider {
  height: 1px;
  margin: 14px 6px;
  background: var(--vaz-sidebar-divider);
}
.sidebar .nav .vaz-nav-label {
  padding: 8px 13px 5px;
  color: var(--vaz-sidebar-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sidebar .vaz-logout {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 14px;
}
.sidebar .vaz-logout a { color: var(--vaz-sidebar-text) !important; }
.sidebar .vaz-logout a:hover { color: var(--vaz-danger) !important; background: rgba(255,70,91,.10) !important; }

/* Topbar */
.navbar.vaz-topbar {
  position: fixed !important;
  top: 0;
  right: 0;
  left: var(--vaz-sidebar-width);
  width: auto;
  height: var(--vaz-topbar-height);
  min-height: var(--vaz-topbar-height) !important;
  padding: 0 24px !important;
  margin: 0 !important;
  background: rgba(9, 20, 38, .96) !important;
  border-bottom: 1px solid var(--vaz-border-soft);
  box-shadow: 0 8px 30px rgba(0,0,0,.08);
  backdrop-filter: blur(12px);
  z-index: 1030;
}
html[data-theme="light"] .navbar.vaz-topbar { background: rgba(255,255,255,.94) !important; }
.navbar.vaz-topbar .container-fluid { padding: 0 !important; }
.navbar.vaz-topbar .navbar-wrapper { display:flex; align-items:center; min-width:0; }
.navbar.vaz-topbar .navbar-brand {
  color: var(--vaz-text) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  padding: 0 !important;
  margin: 0 !important;
  text-transform: none !important;
  white-space: nowrap;
}
.vaz-topbar-actions { display:flex; align-items:center; gap: 10px; }
.vaz-theme-toggle,
.vaz-topbar-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid var(--vaz-border) !important;
  background: var(--vaz-surface-2) !important;
  color: var(--vaz-text-soft) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: .18s ease;
}
.vaz-theme-toggle:hover,
.vaz-topbar-icon:hover { border-color: var(--vaz-primary) !important; color: var(--vaz-primary) !important; }
.vaz-theme-toggle .fa-sun { display:none; }
html[data-theme="light"] .vaz-theme-toggle .fa-sun { display:inline-block; }
html[data-theme="light"] .vaz-theme-toggle .fa-moon { display:none; }
.vaz-account-toggle {
  display:flex !important;
  align-items:center;
  gap:9px;
  padding: 5px 7px 5px 5px !important;
  color: var(--vaz-text) !important;
  border-radius: 10px;
}
.vaz-account-toggle:hover { background: var(--vaz-surface-2); }
.vaz-user-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background: var(--vaz-surface-3);
  border:1px solid var(--vaz-border);
  color: var(--vaz-primary);
}
.vaz-user-avatar img { width:100%; height:100%; object-fit:cover; }
.vaz-user-name { color:var(--vaz-text-soft); font-size:12px; max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.navbar .dropdown-menu {
  background: var(--vaz-surface) !important;
  border: 1px solid var(--vaz-border) !important;
  border-radius: 10px !important;
  box-shadow: var(--vaz-shadow) !important;
  padding: 7px !important;
}
.navbar .dropdown-menu .dropdown-item {
  color: var(--vaz-text-soft) !important;
  border-radius: 7px;
  padding: 9px 11px !important;
  font-size: 12px;
}
.navbar .dropdown-menu .dropdown-item:hover { background: var(--vaz-surface-2) !important; color:var(--vaz-text) !important; }

/* Generic surfaces */
.card {
  background: var(--vaz-surface) !important;
  color: var(--vaz-text) !important;
  border: 1px solid var(--vaz-border-soft) !important;
  border-radius: var(--vaz-radius) !important;
  box-shadow: var(--vaz-shadow) !important;
}
.card .card-header,
.card .card-body,
.card .card-footer { background: transparent !important; color: inherit !important; }
.card .card-header { padding: 20px 20px 10px !important; }
.card .card-body { padding: 18px 20px 22px !important; }
.card-title,
h1,h2,h3,h4,h5,h6 { color: var(--vaz-text) !important; }
.card-title { font-weight: 700 !important; }
.text-muted { color: var(--vaz-muted) !important; }

/* Page header */
.vaz-page-card { margin-bottom: 16px !important; }
.vaz-page-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom: 18px;
}
.vaz-page-head h4 { margin:0 0 4px !important; font-size: 24px !important; }
.vaz-page-subtitle { margin:0; color:var(--vaz-muted); font-size:13px; }
.vaz-page-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }

/* Metric cards */
.vaz-metrics { margin-left:-7px; margin-right:-7px; }
.vaz-metrics > [class*="col-"] { padding-left:7px; padding-right:7px; }
.vaz-metric {
  min-height: 98px;
  border-radius: 10px;
  border: 1px solid var(--vaz-border);
  padding: 16px 18px;
  display:flex;
  align-items:center;
  gap:14px;
  background: var(--vaz-surface-2);
}
.vaz-metric--warning { background: linear-gradient(135deg, rgba(244,165,28,.10), rgba(244,165,28,.035)); border-color: rgba(244,165,28,.18); }
.vaz-metric--success { background: linear-gradient(135deg, rgba(25,199,123,.12), rgba(25,199,123,.035)); border-color: rgba(25,199,123,.18); }
.vaz-metric--neutral { background: linear-gradient(135deg, rgba(15,127,255,.10), rgba(15,127,255,.035)); border-color: rgba(15,127,255,.18); }
.vaz-metric-icon {
  width:48px; height:48px; min-width:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px;
}
.vaz-metric--warning .vaz-metric-icon { color:var(--vaz-warning); background:var(--vaz-warning-soft); border:1px solid rgba(244,165,28,.22); }
.vaz-metric--success .vaz-metric-icon { color:var(--vaz-success); background:var(--vaz-success-soft); border:1px solid rgba(25,199,123,.22); }
.vaz-metric--neutral .vaz-metric-icon { color:#67aaff; background:var(--vaz-primary-soft); border:1px solid rgba(15,127,255,.22); }
.vaz-metric-copy { min-width:0; flex:1; }
.vaz-metric-label { color:var(--vaz-text-soft); font-size:12px; font-weight:600; margin-bottom:3px; }
.vaz-metric-value { color:var(--vaz-text); font-size:21px; line-height:1.1; font-weight:700; letter-spacing:-.02em; }
.vaz-metric-count { margin-left:auto; text-align:right; color:var(--vaz-muted); font-size:11px; line-height:1.35; }
.vaz-metric-count strong { display:block; color:var(--vaz-text-soft); font-size:16px; }

/* Buttons */
.btn,
.btn.btn-round {
  border-radius: 8px !important;
  padding: 9px 14px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}
.btn-primary {
  background: var(--vaz-primary) !important;
  border-color: var(--vaz-primary) !important;
  color:#fff !important;
}
.btn-primary:hover { background: var(--vaz-primary-hover) !important; border-color: var(--vaz-primary-hover) !important; }
.btn-secondary,
.btn-default {
  background: var(--vaz-surface-2) !important;
  border-color: var(--vaz-border) !important;
  color: var(--vaz-text-soft) !important;
}
.btn-success { background: var(--vaz-success) !important; border-color: var(--vaz-success) !important; color:#06291b !important; }
.btn-danger { background: var(--vaz-danger) !important; border-color: var(--vaz-danger) !important; color:#fff !important; }
.btn-outline-primary {
  color: var(--vaz-primary) !important;
  background: transparent !important;
  border: 1px solid var(--vaz-primary) !important;
}
.btn-outline-primary:hover { color:#fff !important; background:var(--vaz-primary) !important; }
.btn-icon,
.btn.btn-icon.btn-sm {
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  padding:0 !important;
  border-radius:7px !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
}
.vaz-action-edit { background:#08172a !important; color:#c8d8eb !important; border:1px solid #213c5e !important; }
.vaz-action-pdf { background:var(--vaz-primary) !important; color:#fff !important; border:1px solid var(--vaz-primary) !important; }
.vaz-action-delete { background:var(--vaz-danger) !important; color:#fff !important; border:1px solid var(--vaz-danger) !important; }
.main-panel .btn.vaz-action-edit:hover,
.main-panel .btn.vaz-action-edit:focus { background:#102947 !important; border-color:#315b88 !important; color:#ffffff !important; }
.main-panel .btn.vaz-action-pdf:hover,
.main-panel .btn.vaz-action-pdf:focus { background:var(--vaz-primary-hover) !important; border-color:var(--vaz-primary-hover) !important; color:#ffffff !important; }
.main-panel .btn.vaz-action-delete:hover,
.main-panel .btn.vaz-action-delete:focus { background:#ff5d70 !important; border-color:#ff5d70 !important; color:#ffffff !important; }
.main-panel .btn.vaz-action-edit:hover i,
.main-panel .btn.vaz-action-edit:focus i,
.main-panel .btn.vaz-action-pdf:hover i,
.main-panel .btn.vaz-action-pdf:focus i,
.main-panel .btn.vaz-action-delete:hover i,
.main-panel .btn.vaz-action-delete:focus i { color:#ffffff !important; }

/* Tooltips de acciones */
.tooltip { z-index: 1100 !important; }
.tooltip .tooltip-inner {
  background:#f5f8fc !important;
  color:#0d1b2d !important;
  border:1px solid #d6e1ee !important;
  box-shadow:0 8px 22px rgba(0,0,0,.18) !important;
  border-radius:6px !important;
  font-size:11px !important;
  font-weight:600 !important;
  padding:6px 9px !important;
}
html:not([data-theme="light"]) .tooltip .tooltip-inner {
  background:#172a43 !important;
  color:#ffffff !important;
  border-color:#294866 !important;
}
.tooltip.bs-tooltip-top .arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before { border-top-color:#f5f8fc !important; }
.tooltip.bs-tooltip-bottom .arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before { border-bottom-color:#f5f8fc !important; }
.tooltip.bs-tooltip-left .arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before { border-left-color:#f5f8fc !important; }
.tooltip.bs-tooltip-right .arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before { border-right-color:#f5f8fc !important; }
html:not([data-theme="light"]) .tooltip.bs-tooltip-top .arrow::before,
html:not([data-theme="light"]) .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before { border-top-color:#172a43 !important; }
html:not([data-theme="light"]) .tooltip.bs-tooltip-bottom .arrow::before,
html:not([data-theme="light"]) .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before { border-bottom-color:#172a43 !important; }
html:not([data-theme="light"]) .tooltip.bs-tooltip-left .arrow::before,
html:not([data-theme="light"]) .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before { border-left-color:#172a43 !important; }
html:not([data-theme="light"]) .tooltip.bs-tooltip-right .arrow::before,
html:not([data-theme="light"]) .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before { border-right-color:#172a43 !important; }

/* Forms */
.form-control,
.bootstrap-select > .dropdown-toggle,
select.form-control,
textarea.form-control,
input.form-control {
  background: var(--vaz-surface-2) !important;
  border: 1px solid var(--vaz-border) !important;
  color: var(--vaz-text) !important;
  border-radius: 8px !important;
  min-height: 40px;
  box-shadow: none !important;
}
.form-control::placeholder { color: var(--vaz-muted) !important; opacity:1; }
.form-control:focus,
.bootstrap-select.show > .dropdown-toggle {
  border-color: var(--vaz-primary) !important;
  box-shadow: 0 0 0 3px rgba(15,127,255,.12) !important;
  color: var(--vaz-text) !important;
}
label,
.formulario label { color:var(--vaz-text-soft) !important; font-weight:600; }
.bootstrap-select .dropdown-menu,
.bootstrap-select .dropdown-menu.inner {
  background:var(--vaz-surface) !important;
  border-color:var(--vaz-border) !important;
}
.bootstrap-select .dropdown-item { color:var(--vaz-text-soft) !important; }
.bootstrap-select .dropdown-item:hover,
.bootstrap-select .dropdown-item.active { background:var(--vaz-surface-3) !important; color:var(--vaz-text) !important; }

/* DataTables */
.vaz-table-card .card-body { padding-top: 12px !important; }
.dataTables_wrapper { color:var(--vaz-text-soft) !important; }
.dataTables_wrapper .row:first-child { align-items:center; margin-bottom:12px; }
.dataTables_wrapper .row:first-child > div { padding-left:0; padding-right:0; }
.dataTables_length label,
.dataTables_filter label,
.dataTables_info { color: var(--vaz-muted) !important; font-size:12px; font-weight:500 !important; }
.dataTables_length select {
  min-width:70px;
  height:38px;
  margin:0 7px;
  border-radius:8px;
  background:var(--vaz-surface-2) !important;
  color:var(--vaz-text) !important;
  border:1px solid var(--vaz-border) !important;
}
div.dataTables_filter > label > input,
div.dataTables_filter input {
  width:240px !important;
  height:38px !important;
  margin-left:0 !important;
  padding:8px 12px 8px 34px !important;
  border:1px solid var(--vaz-border) !important;
  border-radius:8px !important;
  color:var(--vaz-text) !important;
  background-color:var(--vaz-surface-2) !important;
  background-image: linear-gradient(transparent,transparent), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%238ea4c0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:10px center !important;
}
div.dataTables_filter > label > input::placeholder { color:var(--vaz-muted) !important; }
.table,
table.dataTable {
  width:100% !important;
  margin:0 !important;
  color:var(--vaz-text-soft) !important;
  background:transparent !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  border:1px solid var(--vaz-border) !important;
  border-radius:9px;
  overflow:hidden;
}
.table thead th,
table.dataTable thead th {
  background:var(--vaz-surface-2) !important;
  color:var(--vaz-text-soft) !important;
  border-top:0 !important;
  border-bottom:1px solid var(--vaz-border) !important;
  border-right:1px solid var(--vaz-border-soft) !important;
  padding:11px 10px !important;
  font-size:11px !important;
  font-weight:700 !important;
  text-transform:none !important;
  white-space:nowrap;
}
.table tbody td,
table.dataTable tbody td {
  background:rgba(9,22,39,.36) !important;
  color:var(--vaz-text-soft) !important;
  border-top:0 !important;
  border-bottom:1px solid var(--vaz-border-soft) !important;
  border-right:1px solid var(--vaz-border-soft) !important;
  padding:9px 10px !important;
  vertical-align:middle !important;
  font-size:11.5px !important;
  line-height:1.45 !important;
}
html[data-theme="light"] .table tbody td,
html[data-theme="light"] table.dataTable tbody td { background:#fff !important; }
.table-striped tbody tr:nth-of-type(odd) td,
table.dataTable.stripe tbody tr.odd td { background:rgba(16,34,57,.50) !important; }
html[data-theme="light"] .table-striped tbody tr:nth-of-type(odd) td,
html[data-theme="light"] table.dataTable.stripe tbody tr.odd td { background:#f8fbff !important; }
.table tbody tr:hover td,
table.dataTable tbody tr:hover td { background:rgba(15,127,255,.10) !important; }
.table tfoot { display:none; }
.table .text-right { white-space:nowrap; }
.dataTables_wrapper .dataTables_paginate { padding-top:14px !important; }
.dataTables_wrapper .pagination { margin:0 !important; gap:3px; justify-content:flex-end; }
.dataTables_wrapper .page-item .page-link,
.dataTables_wrapper .paginate_button .page-link {
  min-width:34px;
  height:34px;
  border-radius:7px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--vaz-surface-2) !important;
  color:var(--vaz-muted) !important;
  border:1px solid var(--vaz-border) !important;
  margin:0 !important;
  font-size:11px;
}
.dataTables_wrapper .page-item.active .page-link,
.dataTables_wrapper .paginate_button.active .page-link {
  background:var(--vaz-primary) !important;
  border-color:var(--vaz-primary) !important;
  color:#fff !important;
}
.dataTables_wrapper .page-item.disabled .page-link { opacity:.48; }
.vaz-table-footer {
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:12px;
}
.vaz-delete-selected { margin:0 !important; }

/* Editable status pill */
.seleccionarestadocotizacion {
  min-width:125px;
  height:31px;
  border-radius:7px !important;
  padding:4px 26px 4px 9px !important;
  font-size:11px;
  font-weight:600;
  outline:none;
  border:1px solid var(--vaz-border);
  color:var(--vaz-text-soft);
  background:var(--vaz-surface-2);
}
.seleccionarestadocotizacion.status-waiting { color:#ffd27a; background:rgba(244,165,28,.16); border-color:rgba(244,165,28,.24); }
.seleccionarestadocotizacion.status-accepted { color:#6ff0b2; background:rgba(25,199,123,.16); border-color:rgba(25,199,123,.24); }
.seleccionarestadocotizacion.status-expired { color:#aebfd4; background:rgba(142,164,192,.12); border-color:rgba(142,164,192,.20); }
.seleccionarestadocotizacion.status-draft { color:#83baff; background:rgba(15,127,255,.15); border-color:rgba(15,127,255,.24); }

/* Loader */
.datatable-loading {
  min-height:260px !important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:var(--vaz-muted);
}
.datatable-spinner {
  width:42px !important;
  height:42px !important;
  border:3px solid rgba(15,127,255,.18) !important;
  border-top-color:var(--vaz-primary) !important;
  border-radius:50%;
  animation:datatable-spin .75s linear infinite;
}
.datatable-loading-text { color:var(--vaz-muted) !important; font-size:12px !important; }
@keyframes datatable-spin { to { transform:rotate(360deg); } }

/* Alerts + modal */
.alert { border-radius:9px !important; border:1px solid var(--vaz-border) !important; }
.alert-success { background:var(--vaz-success-soft) !important; color:#7df3bd !important; border-color:rgba(25,199,123,.25) !important; }
.alert-danger { background:var(--vaz-danger-soft) !important; color:#ff9aa7 !important; border-color:rgba(255,70,91,.25) !important; }
.swal2-popup { background:var(--vaz-surface) !important; color:var(--vaz-text) !important; border:1px solid var(--vaz-border); border-radius:12px !important; }
.swal2-title, .swal2-content { color:var(--vaz-text) !important; }

/* Legacy helpers that used white/light backgrounds */
.bg-light, .formulario div.bg-light { background:var(--vaz-surface-2) !important; color:var(--vaz-text) !important; }
.text-dark { color:var(--vaz-text) !important; }
hr { border-color:var(--vaz-border-soft) !important; }

.footer { display:none !important; }

/* Responsive */
@media (max-width: 991px) {
  :root { --vaz-sidebar-width: 230px; }
  .main-panel,
  .sidebar-mini .main-panel { width:100% !important; margin-left:0 !important; }
  .navbar.vaz-topbar { left:0; padding:0 14px !important; }
  .sidebar,
  .sidebar-mini .sidebar { transform:translate3d(-230px,0,0); }
  .nav-open .sidebar,
  .nav-open .sidebar-mini .sidebar { transform:translate3d(0,0,0); }
  .main-panel > .content { padding:86px 12px 22px !important; }
  .navbar.vaz-topbar .navbar-brand { font-size:16px !important; }
  .vaz-user-name { display:none; }
  .vaz-page-head { flex-direction:column; }
  .vaz-page-actions { width:100%; justify-content:flex-start; }
  .vaz-metric { margin-bottom:10px; }
  div.dataTables_filter > label > input,
  div.dataTables_filter input { width:100% !important; }
  .dataTables_filter { width:100%; margin-top:8px; }
  .vaz-table-card .card-body { overflow-x:auto; }
}

@media (max-width: 575px) {
  .vaz-page-head h4 { font-size:20px !important; }
  .vaz-page-actions .btn { width:100%; }
  .vaz-metric-value { font-size:18px; }
  .vaz-metric-count { display:none; }
  .card .card-header { padding:16px 14px 8px !important; }
  .card .card-body { padding:14px !important; }
}

/* Especificaciones */
.vaz-spec-badge {
  display:inline-block;
  max-width:100%;
  padding:6px 9px;
  border-radius:7px;
  color:#fff;
  background:color-mix(in srgb, var(--vaz-spec-color) 28%, var(--vaz-surface-2));
  border:1px solid color-mix(in srgb, var(--vaz-spec-color) 50%, transparent);
  font-size:11px;
  line-height:1.35;
  white-space:normal;
}
.vaz-spec-image-wrap {
  width:38px;
  height:38px;
  border-radius:8px;
  border:1px solid var(--vaz-border);
  background:var(--vaz-surface-2);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.vaz-spec-image { max-width:28px; max-height:28px; object-fit:contain; }

/* Login */
.login-page .wrapper,
.login-page .wrapper-full-page,
.login-page .full-page,
.vaz-login-page {
  min-height:100vh !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(15,127,255,.13), transparent 30%),
    radial-gradient(circle at 84% 70%, rgba(15,127,255,.08), transparent 28%),
    linear-gradient(145deg, #07111f 0%, #0b1728 100%) !important;
}
.login-page .navbar { display:none !important; }
.vaz-login-page {
  margin:0 !important;
  padding:32px 18px !important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.vaz-login-shell {
  width:100%;
  max-width:920px;
  min-height:520px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  border:1px solid #1b3552;
  border-radius:18px;
  overflow:hidden;
  background:rgba(10,24,42,.78);
  box-shadow:0 30px 80px rgba(0,0,0,.34);
  backdrop-filter:blur(12px);
}
.vaz-login-brand {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;

    background-image: url('https://cotizar.vazhost.cl/now/img/bglogin-vaz.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.vaz-login-brand::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.50);
}

.vaz-login-brand img {
    position: relative;
    z-index: 1;
}
/* Logo */
.vaz-login-brand img {
    display: block;
    width: 120px;
    max-width: 65%;
    height: auto;
    position: relative;
    z-index: 2;
}
.vaz-login-brand h1 { color:#fff !important; font-size:32px; margin:0 0 10px; }
.vaz-login-brand p { color:#8ea4c0; font-size:14px; margin:0; }
.vaz-login-card {
  padding:52px 46px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:rgba(10,22,38,.70);
}
.vaz-login-card-head { margin-bottom:28px; }
.vaz-login-card-head h2 { font-size:25px; margin:0 0 7px; font-weight: 900; }
.vaz-login-card-head p { margin:0; color:var(--vaz-muted); font-size:13px; }
.vaz-login-card .form-group { margin-bottom:18px; }
.vaz-login-card label { display:block; margin-bottom:7px; font-size:12px; }
.vaz-input-icon { position:relative; }
.vaz-input-icon > i {
  position:absolute;
  left:13px;
  top:50%;
  transform:translateY(-50%);
  color:var(--vaz-muted);
  z-index:2;
}
.vaz-input-icon .form-control { padding-left:40px !important; height:44px; }
.vaz-login-options { display:flex; align-items:center; margin:2px 0 20px; }
.vaz-check-label { display:flex !important; align-items:center; gap:8px; margin:0 !important; cursor:pointer; }
.vaz-check-label input { accent-color:var(--vaz-primary); }
.vaz-login-submit { height:44px; font-size:13px !important; }
@media (max-width: 767px) {
  .vaz-login-shell { grid-template-columns:1fr; max-width:460px; }
  .vaz-login-brand { display:none; }
  .vaz-login-card { padding:38px 24px; }
}

/* Neutraliza estilos locales heredados en vistas antiguas */
.main-panel .card { background:var(--vaz-surface) !important; }
.main-panel .author,
.main-panel .titulo,
.main-panel .campos { color:var(--vaz-text) !important; }
.main-panel .btn-primary:hover,
.main-panel .btn-primary:focus,
.main-panel .btn-primary:active {
  background:var(--vaz-primary-hover) !important;
  border-color:var(--vaz-primary-hover) !important;
  color:#fff !important;
}
.main-panel .btn-danger:hover,
.main-panel .btn-danger:focus,
.main-panel .btn-danger:active {
  background:#ff5d70 !important;
  border-color:#ff5d70 !important;
  color:#fff !important;
}

/* Ajustes específicos del modo claro */
html[data-theme="light"] .vaz-action-edit {
  background:#eef4fb !important;
  color:#203955 !important;
  border-color:#d2deec !important;
}
html[data-theme="light"] .main-panel .btn.vaz-action-edit:hover,
html[data-theme="light"] .main-panel .btn.vaz-action-edit:focus {
  background:#dfeeff !important;
  color:#0f5fbd !important;
  border-color:#a9cdf8 !important;
}
html[data-theme="light"] .main-panel .btn.vaz-action-edit:hover i,
html[data-theme="light"] .main-panel .btn.vaz-action-edit:focus i { color:#0f5fbd !important; }

/* =========================================================
   VAZ - compatibilidad de formularios Cotización create/edit
   Corrige sidebar-mini, botones heredados y selector de estado
   ========================================================= */

/* Las vistas antiguas create/edit usan sidebar-mini. En el tema VAZ
   el sidebar debe permanecer siempre expandido, igual que en el Home. */
.sidebar-mini .sidebar .logo a.logo-normal,
.sidebar-mini .sidebar:hover .logo a.logo-normal,
.sidebar-mini .sidebar .logo .simple-text,
.sidebar-mini .sidebar:hover .logo .simple-text {
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-transform: none !important;
  -moz-transform: none !important;
  -o-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
}
.sidebar-mini .sidebar:hover,
.sidebar-mini .sidebar:hover .sidebar-wrapper {
  width: var(--vaz-sidebar-width) !important;
}

/* En las vistas antiguas btn-success se usa para acciones principales
   (Examinar, Agregar, Crear y Actualizar). Se unifica al azul VAZ. */
.btn-success,
.main-panel .btn-success,
.fileinput .btn-success {
  background: var(--vaz-primary) !important;
  border-color: var(--vaz-primary) !important;
  color: #fff !important;
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled).active,
.main-panel .btn-success:hover,
.main-panel .btn-success:focus,
.main-panel .btn-success:active,
.fileinput .btn-success:hover,
.fileinput .btn-success:focus {
  background: var(--vaz-primary-hover) !important;
  border-color: var(--vaz-primary-hover) !important;
  color: #fff !important;
  box-shadow: 0 0 0 3px rgba(15,127,255,.12) !important;
}

/* Selector de estado: contraste alto tanto cerrado como al desplegarse. */
.seleccionarestadocotizacion {
  color-scheme: dark;
  font-weight: 600 !important;
}
.seleccionarestadocotizacion option {
  background: #0d1b2d !important;
  color: #f4f8ff !important;
}
.seleccionarestadocotizacion.status-waiting {
  color: #ffd477 !important;
  background: #30240e !important;
  border-color: #705218 !important;
}
.seleccionarestadocotizacion.status-accepted {
  color: #72efb4 !important;
  background: #0b3428 !important;
  border-color: #176448 !important;
}
.seleccionarestadocotizacion.status-expired {
  color: #d1dcea !important;
  background: #1b2a3d !important;
  border-color: #3b5069 !important;
}
.seleccionarestadocotizacion.status-draft {
  color: #8cc4ff !important;
  background: #102e52 !important;
  border-color: #245b91 !important;
}

html[data-theme="light"] .seleccionarestadocotizacion {
  color-scheme: light;
}
html[data-theme="light"] .seleccionarestadocotizacion option {
  background: #ffffff !important;
  color: #17243a !important;
}
html[data-theme="light"] .seleccionarestadocotizacion.status-waiting {
  color: #875400 !important;
  background: #fff4d7 !important;
  border-color: #efcf79 !important;
}
html[data-theme="light"] .seleccionarestadocotizacion.status-accepted {
  color: #087449 !important;
  background: #ddf8ec !important;
  border-color: #9be1c3 !important;
}
html[data-theme="light"] .seleccionarestadocotizacion.status-expired {
  color: #52657d !important;
  background: #eef3f8 !important;
  border-color: #cbd7e4 !important;
}
html[data-theme="light"] .seleccionarestadocotizacion.status-draft {
  color: #0f63bd !important;
  background: #e5f1ff !important;
  border-color: #aed1fb !important;
}


/* =========================================================
   VAZ - selector de Especificaciones en Cotización create/edit
   Grilla responsive, amplia y compatible con dark/light
   ========================================================= */
.vaz-spec-section-title {
  color: var(--vaz-text) !important;
  padding: 18px 20px 10px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  background: transparent !important;
}
.vaz-spec-picker-card {
  background: var(--vaz-surface) !important;
  border: 1px solid var(--vaz-border) !important;
  border-radius: 12px !important;
  padding: 18px !important;
}
.vaz-spec-picker-row { margin: 0 !important; }
.vaz-spec-picker-row > [class*="col-"] { padding-left: 7px !important; padding-right: 7px !important; }
.vaz-spec-picker { margin-bottom: 0 !important; position: relative; }
.vaz-spec-lang-select,
.vaz-spec-lang-select .b,
.vaz-spec-lang-select .btn-select {
  width: 100% !important;
  max-width: none !important;
}
.vaz-spec-lang-select .btn-select {
  min-height: 48px !important;
  height: auto !important;
  margin-top: 0 !important;
  padding: 9px 13px !important;
  display: flex !important;
  align-items: center !important;
  border-radius: 9px !important;
  background: var(--vaz-input-bg) !important;
  border: 1px solid var(--vaz-border) !important;
  color: var(--vaz-text) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}
.vaz-spec-lang-select .btn-select:hover,
.vaz-spec-lang-select .btn-select:focus {
  background: var(--vaz-input-bg) !important;
  border-color: var(--vaz-primary) !important;
  box-shadow: 0 0 0 3px rgba(15,127,255,.12) !important;
}
.vaz-spec-lang-select .btn-select li,
.vaz-spec-lang-select .btn-select:hover li {
  width: 100% !important;
  float: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--vaz-text) !important;
}
.vaz-spec-lang-select .btn-select img {
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
  flex: 0 0 28px !important;
  margin: 0 !important;
}
.vaz-spec-lang-select .btn-select span {
  margin: 0 !important;
  color: var(--vaz-text) !important;
  font-weight: 600 !important;
}
.vaz-spec-lang-select .b {
  display: none;
  margin-top: 8px !important;
  padding: 10px !important;
  background: var(--vaz-surface) !important;
  border: 1px solid var(--vaz-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.24) !important;
  overflow: hidden !important;
}
.vaz-spec-lang-select #a {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: 500px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 2px !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
}
.vaz-spec-lang-select #a .buscador {
  grid-column: 1 / -1 !important;
  list-style: none !important;
  padding: 0 0 4px !important;
  margin: 0 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 5 !important;
  background: var(--vaz-surface) !important;
}
.vaz-spec-lang-select .buscarlistado {
  width: 100% !important;
  height: 44px !important;
  padding: 0 14px !important;
  border-radius: 9px !important;
  border: 1px solid var(--vaz-border) !important;
  background: var(--vaz-input-bg) !important;
  color: var(--vaz-text) !important;
  outline: none !important;
  box-shadow: none !important;
}
.vaz-spec-lang-select .buscarlistado::placeholder { color: var(--vaz-muted) !important; }
.vaz-spec-lang-select .buscarlistado:focus {
  border-color: var(--vaz-primary) !important;
  box-shadow: 0 0 0 3px rgba(15,127,255,.12) !important;
}
.vaz-spec-lang-select #a li.todosli {
  list-style: none !important;
  min-height: 92px !important;
  padding: 12px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  border: 1px solid var(--vaz-border) !important;
  border-radius: 10px !important;
  background: var(--vaz-surface-2) !important;
  color: var(--vaz-text) !important;
  cursor: pointer !important;
  transition: transform .15s ease, border-color .15s ease, background .15s ease, box-shadow .15s ease !important;
}
.vaz-spec-lang-select #a li.todosli:hover {
  background: rgba(15,127,255,.10) !important;
  border-color: rgba(15,127,255,.70) !important;
  color: var(--vaz-text) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.12) !important;
}
.vaz-spec-lang-select #a li.todosli .vaz-spec-icon {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  border-radius: 9px !important;
  background: rgba(15,127,255,.10) !important;
  border: 1px solid rgba(15,127,255,.20) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.vaz-spec-lang-select #a li.todosli img {
  width: 26px !important;
  height: 26px !important;
  object-fit: contain !important;
  margin: 0 !important;
}
.vaz-spec-lang-select #a li.todosli .vaz-spec-copy {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}
.vaz-spec-lang-select #a li.todosli span { margin: 0 !important; }
.vaz-spec-lang-select #a li.todosli .vaz-spec-name {
  display: block !important;
  color: var(--vaz-text) !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}
.vaz-spec-lang-select #a li.todosli .vaz-spec-desc {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  color: var(--vaz-muted) !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}
.vaz-spec-lang-select #a li.todosli:hover .vaz-spec-name { color: #8fc5ff !important; }
.vaz-spec-lang-select #a li.todosli:hover .vaz-spec-desc { color: var(--vaz-text-soft) !important; }
.vaz-spec-add-col {
  display: flex !important;
  align-items: flex-start !important;
}
.vaz-spec-add-btn {
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  border-radius: 9px !important;
}
html[data-theme="light"] .vaz-spec-picker-card,
html[data-theme="light"] .vaz-spec-lang-select .b,
html[data-theme="light"] .vaz-spec-lang-select #a .buscador {
  background: #ffffff !important;
}
html[data-theme="light"] .vaz-spec-lang-select #a li.todosli {
  background: #f8fbff !important;
}
html[data-theme="light"] .vaz-spec-lang-select #a li.todosli:hover {
  background: #edf6ff !important;
  color: #17243a !important;
}
html[data-theme="light"] .vaz-spec-lang-select #a li.todosli:hover .vaz-spec-name {
  color: #0f63bd !important;
}
html[data-theme="light"] .vaz-spec-lang-select #a li.todosli:hover .vaz-spec-desc {
  color: #52657d !important;
}
@media (min-width: 1500px) {
  .vaz-spec-lang-select #a { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 1100px) {
  .vaz-spec-lang-select #a { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .vaz-spec-add-col { margin-top: 10px !important; }
}
@media (max-width: 700px) {
  .vaz-spec-picker-card { padding: 12px !important; }
  .vaz-spec-lang-select #a { grid-template-columns: 1fr !important; max-height: 420px !important; }
}

/* PDF preview modal */
.vaz-pdf-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
}
.vaz-pdf-modal.is-open { display: flex; }
.vaz-pdf-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 8, 18, .82);
  backdrop-filter: blur(7px);
}
.vaz-pdf-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(1280px, 96vw);
  height: min(900px, 94vh);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--vaz-surface);
  border: 1px solid var(--vaz-border);
  border-radius: 16px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .48);
}
.vaz-pdf-modal__header {
  flex: 0 0 auto;
  min-height: 88px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid var(--vaz-border-soft);
  background: var(--vaz-surface-2);
}
.vaz-pdf-modal__eyebrow {
  display: block;
  margin-bottom: 3px;
  color: var(--vaz-primary);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.vaz-pdf-modal__header h3 {
  margin: 0;
  color: var(--vaz-text);
  font-size: 20px;
  font-weight: 800;
}
.vaz-pdf-modal__header p {
  margin: 4px 0 0;
  color: var(--vaz-muted);
  font-size: 12px;
}
.vaz-pdf-modal__close {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--vaz-border);
  border-radius: 10px;
  background: var(--vaz-surface-3);
  color: var(--vaz-text-soft);
  cursor: pointer;
  transition: .18s ease;
}
.vaz-pdf-modal__close:hover {
  border-color: var(--vaz-primary);
  background: var(--vaz-primary-soft);
  color: var(--vaz-primary);
}
.vaz-pdf-modal__viewer {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  padding: 14px;
  background: var(--vaz-bg-alt);
}
.vaz-pdf-modal__viewer iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 1px solid var(--vaz-border);
  border-radius: 10px;
  background: #fff;
  transition: opacity .18s ease;
}
.vaz-pdf-modal__loading {
  position: absolute;
  inset: 14px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--vaz-border);
  border-radius: 10px;
  background: var(--vaz-surface);
  color: var(--vaz-text);
  text-align: center;
  transition: opacity .18s ease, visibility .18s ease;
}
.vaz-pdf-modal__loading.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.vaz-pdf-modal__loading small { color: var(--vaz-muted); }
.vaz-pdf-spinner {
  width: 42px;
  height: 42px;
  margin-bottom: 5px;
  border: 3px solid var(--vaz-border);
  border-top-color: var(--vaz-primary);
  border-radius: 50%;
  animation: vazPdfSpin .75s linear infinite;
}
@keyframes vazPdfSpin { to { transform: rotate(360deg); } }
.vaz-pdf-modal__footer {
  flex: 0 0 auto;
  min-height: 72px;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  border-top: 1px solid var(--vaz-border-soft);
  background: var(--vaz-surface-2);
}
.vaz-pdf-modal__footer .btn {
  min-height: 42px;
  margin: 0 !important;
  padding: 10px 16px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 9px !important;
  box-shadow: none !important;
  font-weight: 700;
  text-transform: none !important;
}
.vaz-pdf-secondary {
  border: 1px solid var(--vaz-border) !important;
  background: transparent !important;
  color: var(--vaz-text-soft) !important;
}
.vaz-pdf-secondary:hover {
  border-color: var(--vaz-primary) !important;
  background: var(--vaz-primary-soft) !important;
  color: var(--vaz-primary) !important;
}
.vaz-pdf-edit {
  border: 1px solid var(--vaz-primary) !important;
  background: transparent !important;
  color: var(--vaz-primary) !important;
}
.vaz-pdf-edit:hover {
  background: var(--vaz-primary-soft) !important;
  color: var(--vaz-primary-hover) !important;
}
.vaz-pdf-download {
  border: 1px solid var(--vaz-primary) !important;
  background: var(--vaz-primary) !important;
  color: #fff !important;
}
.vaz-pdf-download:hover {
  border-color: var(--vaz-primary-hover) !important;
  background: var(--vaz-primary-hover) !important;
  color: #fff !important;
}
/* Accion de subida Nextcloud; independiente de la previsualizacion PDF. */
.vaz-pdf-upload {
  border: 1px solid var(--vaz-primary) !important;
  background: var(--vaz-primary-soft) !important;
  color: var(--vaz-primary) !important;
}
.vaz-pdf-upload:hover:not(:disabled) {
  background: var(--vaz-primary) !important;
  color: #fff !important;
}
.vaz-pdf-upload:disabled { opacity: .65; cursor: wait; }
.vaz-pdf-upload-status {
  flex: 0 0 100%;
  text-align: right;
  font-size: 12px;
  line-height: 1.5;
  color: var(--vaz-text-soft);
}
.vaz-pdf-upload-status.is-hidden { display: none; }
.vaz-pdf-upload-status.is-success { color: #27a86d; }
.vaz-pdf-upload-status.is-error { color: #ef6464; }
body.vaz-pdf-modal-open { overflow: hidden !important; }
html[data-theme="light"] .vaz-pdf-modal__backdrop { background: rgba(20, 36, 58, .48); }
@media (max-width: 767px) {
  .vaz-pdf-modal { padding: 8px; }
  .vaz-pdf-modal__dialog { width: 100%; height: 96vh; border-radius: 12px; }
  .vaz-pdf-modal__header { padding: 14px; min-height: 78px; }
  .vaz-pdf-modal__header h3 { font-size: 16px; }
  .vaz-pdf-modal__header p { display: none; }
  .vaz-pdf-modal__viewer { padding: 8px; }
  .vaz-pdf-modal__loading { inset: 8px; }
  .vaz-pdf-modal__footer { padding: 10px; flex-wrap: wrap; }
  .vaz-pdf-modal__footer .btn { flex: 1 1 140px; }
}



/* Descripción de cotización: ancho completo y área de escritura amplia */
.vaz-description-textarea {
  width: 100% !important;
  min-height: 180px !important;
  line-height: 1.6 !important;
  resize: vertical !important;
}
.vaz-spec-lang-select #a li.todosli[style*="display: none"],
.vaz-spec-lang-select #a li.todosli[style*="display:none"] {
    display: none !important;
}