/*
 * Tema POSNet — alineado con la paleta "orbital" y tipografía de eml_siga_net
 */
:root {
  --orbital-primary: #2563eb;
  --orbital-primary-2: #0ea5e9;
  --orbital-success: #16a34a;
  --orbital-success-2: #38f9d7;
  --orbital-info: #0ea5e9;
  --orbital-info-2: #38bdf8;
  --orbital-danger: #dc2626;
  --orbital-danger-2: #f5576c;
  --orbital-warning: #f59e0b;
  --orbital-warning-2: #fbbf24;
  --orbital-dark: #0f172a;
  --orbital-bg: #eef2f7;
  --orbital-card-radius: 0.5rem;
  --orbital-transition: all 0.2s ease-in-out;

--bs-primary: var(--orbital-primary);
  --bs-info: var(--orbital-info);
  --bs-success: var(--orbital-success);
  --bs-danger: var(--orbital-danger);
  --bs-warning: var(--orbital-warning);

  /* alias cortos usados por componentes (POS y tema) */
  --primary: #0ea5e9;
  --primary-rgb: 14,165,233;
  --primary-strong: #2563eb;
  --success: #16a34a;
  --danger: #dc2626;
  --warning: #f59e0b;
  --info: #0ea5e9;
  --dark: #0f172a;
  --muted: #64748b;
  --pa: #e3eaf0;
  --paper: #ffffff;
  --bs-body-bg: #eef2f7;
  --bs-border-color: #e3eaf0;
  --bs-link-color: var(--primary);
  --radius: 0.6rem;
  --radius-lg: 1rem;
  --radius-pill: 100px;
  --shadow-soft: 0 1px 2px rgba(16,42,67,0.06), 0 1px 3px rgba(16,42,67,0.08);
  --shadow-lift: 0 1.25rem 2.5rem rgba(15,23,42,0.16);
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body,
html {
  height: 100%;
  font-family: "Poppins", sans-serif;
  font-size: 11pt;
  line-height: 1.5em;
  font-weight: 400;
  background: var(--orbital-bg);
}

body {
  -ms-overflow-x: hidden;
  overflow-x: hidden;
  overflow-y: auto;
}

b,
strong {
  font-weight: bold;
}

.code,
code,
pre {
  font-family: "JetBrains Mono", monospace;
  font-size: 9pt;
}

.mono {
  font-family: "JetBrains Mono", monospace;
}

/* ===== NAVBAR (orbital) ===== */
.navbar-orbital {
  background: linear-gradient(135deg, #1d4ed8, #0ea5e9);
}
.navbar-orbital .navbar-brand,
.navbar-orbital .nav-link {
  color: #fff;
}
.navbar-orbital .navbar-brand:hover,
.navbar-orbital .nav-link:hover {
  color: #fff;
  opacity: 0.9;
}
.navbar-orbital .navbar-nav .nav-link.active {
  background: var(--orbital-warning);
  color: #333;
  border-radius: 0.5rem;
  border: 1px solid #333;
  font-weight: bold;
}
.navbar-orbital .nav-item>.nav-link:not(.btn) {
  border-radius: .5rem;
  padding: .5rem .75rem;
}
.navbar-orbital .nav-link.btn-outline-light {
  border-color: rgba(255,255,255,.6);
}
.navbar-orbital .dropdown-menu {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.5rem;
  box-shadow: 0 0.375rem 1.25rem rgba(0, 0, 0, 0.15);
  min-width: 0;
  max-width: 90vw;
  max-height: calc(100dvh - 5rem);
  overflow-x: hidden;
  overflow-y: auto;
  word-break: break-word;
  font-size: 0.95rem;
  padding: 0.375rem 0rem;
}
.navbar-orbital .dropdown-menu .dropdown-item {
  color: #1f2937;
  font-size: 0.9rem;
  padding: 0.45rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.navbar-orbital .dropdown-menu .dropdown-item:hover,
.navbar-orbital .dropdown-menu .dropdown-item:focus {
  background: #eef2f7;
  color: #111827;
}

/* ===== MENÚ SECUNDARIO (module-nav) ===== */
.module-nav {
	background: #fff;
	border-bottom: 1px solid var(--pa);
	margin-bottom: .75rem;
}
.module-nav .nav {
	flex-wrap: wrap;
}
.module-nav .nav-link {
	color: #42526b;
	white-space: nowrap;
	padding: .4rem .8rem;
	border-radius: .5rem;
	display: inline-flex;
	align-items: center;
	gap: .375rem;
	font-weight: 600;
}
.module-nav .nav-link:hover,
.module-nav .nav-link:focus {
	color: var(--primary);
	background: #eef6ff;
}
.module-nav .nav-link.active {
	color: #fff;
	background: linear-gradient(135deg, var(--orbital-primary), var(--orbital-primary-2));
	box-shadow: 0 .125rem .375rem rgba(29,78,216,.28);
}
.module-nav .dropdown-menu-dark .dropdown-item {
	color: rgba(255, 255, 255, 0.78);
}
.module-nav .dropdown-menu-dark .dropdown-item:hover,
.module-nav .dropdown-menu-dark .dropdown-item:focus {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}
.module-nav .btn-group .dropdown-menu {
	margin-top: .4rem;
}
.module-nav .dropdown-header {
	padding: .4rem 1rem .25rem;
}

/* ===== TABLES ===== */
.table td,
.table th {
  font-size: 11pt;
  vertical-align: middle;
}
.table .dropdown-item {
  font-size: 11pt;
}

/* ===== STAT CARDS (orbital gradients) ===== */
.card-stat {
  border: none;
  border-radius: var(--orbital-card-radius);
  transition: var(--orbital-transition);
}
.card-stat:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}
.card-stat .card-body {
  padding: 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.card-stat-icon {
  font-size: 2rem;
  opacity: 0.5;
  line-height: 1;
}
.card-stat-value {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.2;
}
.card-stat-label {
  font-size: 0.75rem;
  opacity: 0.75;
}
.card-stat-primary {
  background: linear-gradient(135deg, #1d4ed8, #0ea5e9);
  color: #fff;
}
.card-stat-success {
  background: linear-gradient(135deg, #16a34a, #22c55e);
  color: #fff;
}
.card-stat-info {
  background: linear-gradient(135deg, #0284c7, #38bdf8);
  color: #fff;
}
.card-stat-danger {
  background: linear-gradient(135deg, #dc2626, #f87171);
  color: #fff;
}
.card-stat-warning {
  background: linear-gradient(135deg, #d97706, #fbbf24);
  color: #fff;
}

/* ===== TABLE CARD ===== */
.card-table {
  border: none;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  border-radius: var(--orbital-card-radius);
}
.card-table > .card-header {
  background: #fff;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.card-table > .card-header h5 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}
.card-table > .card-body {
  padding: 0;
}

/* ===== PAGE HEADER ===== */
.page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.page-header h4 {
  margin: 0;
  font-weight: 600;
}

/* ===== DROPDOWN / INPUT GROUP ===== */
.input-group-text {
  font-weight: 600;
  font-size: 11pt;
}

/* ===== CLOCK ===== */
#clock {
  font-family: "Poppins", monospace;
  letter-spacing: 0.05em;
}

/* Ajustes Bootstrap 5 por defecto del app */
.navbar {
  padding: 8px;
}
.card-sm > div {
  padding: 8px;
}
.card .row {
  padding-bottom: 4px;
}

/* POS touch: catalogo */ .pos-cat-chip{font-size:.85rem;border:1px solid #dee2e6;background:#fff;color:#495057;}
.pos-cat-chip.active{background:var(--primary);border-color:var(--primary);color:#fff;}
.pos-card:hover,.pos-card:focus{border-color:var(--primary)!important;background:#e8faff!important;box-shadow:0 2px 6px rgba(14,165,233,.25);}

/* POS touch: tiles de catalogo */ .pos-touch-cat{border-color:#d7e3ec!important;}
.pos-touch-cat .pos-cat-chip{font-size:1rem;padding:.45rem .9rem;border-radius:1.5rem;}
.pos-cat-grid>.col-6{max-width:100%;}
.pos-tile{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;height:100%;text-align:left;border:1px solid #dfe7ef;border-radius:.75rem;padding:.7rem .8rem;background:#fff;color:#1f2733;transition:transform .08s ease, box-shadow .08s ease, border-color .08s ease;min-height:7.5rem;}
.pos-tile:hover,.pos-tile:active{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 6px 16px rgba(14,165,233,.28);}
.pos-tile-icon{font-size:1.5rem;line-height:1;color:var(--primary);}
.pos-tile-name{font-weight:600;font-size:1.05rem;line-height:1.15;color:#111827;}
.pos-tile-code{font-size:.78rem;color:#8a96a6;}
.pos-tile-price{font-weight:700;font-size:1.25rem;color:var(--success);margin-top:auto;}
#pos-catalog .col-6{padding-right:.5rem;padding-left:.5rem;}

/* ===== POS shell moderno ===== */
.pos-shell .pos-card{background:#fff;border:1px solid #e3e9ef;border-radius:.75rem;box-shadow:0 1px 3px rgba(16,42,67,.06);height:100%;}
.pos-card-head{display:flex;align-items:center;gap:.5rem;font-weight:700;color:#0f172a;padding:.65rem .9rem;border-bottom:1px solid #eef2f6;margin-bottom:.75rem;background:linear-gradient(180deg,#fafcfe,#f3f7fb);border-radius:.75rem .75rem 0 0;}
.pos-card-head i{color:var(--primary);font-size:1.05rem;}
.pos-client{background:#f6fafd;border:1px dashed #cfddea;border-radius:.5rem;padding:.45rem .7rem;}
.pos-client #cname{font-weight:700;color:#0f172a;}
.pos-resumen{background:#fbfcfe;border:1px solid #e6edf4;border-radius:.6rem;padding:.7rem .9rem;margin-bottom:.9rem;}
.pos-resumen>div{font-size:.98rem;padding:.12rem 0;color:#334155;}
.pos-resumen hr{border-top:2px dashed #ccd7e3;opacity:1;}
.pos-total{font-size:2.3rem;line-height:1.1;font-weight:800;color:var(--success);}
.pos-side .pos-card-head{color:#0f172a;}
.pos-cart{table-layout:fixed;}
#table_pro{margin-bottom:0;}
#table_pro .col_1{display:none;}
@media(max-width:991.98px){.pos-shell .pos-card{height:auto;}}

/* ===== POS una sola pantalla ===== */
.pos-app{height:calc(100vh - 9.5rem);display:flex;gap:1rem;overflow:hidden;align-items:stretch;}
.pos-left{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;}
.pos-topbar{display:flex;gap:.5rem;align-items:stretch;margin-bottom:.6rem;}
.pos-topbar .input-group-main{flex:0 1 auto;}
.pos-topbar .input-group{flex:1 1 auto;}
.pos-topbar .form-control.form-control-lg{height:2.75rem;}
.pos-catset{display:flex;gap:.35rem;flex-wrap:nowrap;overflow-x:auto;margin-bottom:.6rem;padding-bottom:.2rem;}
.pos-grid{flex:1 1 auto;overflow:auto;padding-right:.25rem;}
.pos-grid-empty{display:none;color:#8a94a3;text-align:center;padding:2rem 1rem;font-size:.95rem;align-items:center;flex-direction:column;gap:.4rem;}
.pos-grid-empty:only-child{display:flex;}
.pos-cat-grid{min-height:0;}
.pos-right{flex:0 0 24rem;width:24rem;display:flex;flex-direction:column;background:#fff;border:1px solid #e2edf4;border-radius:.9rem;box-shadow:0 2px 10px rgba(15,42,67,.1);overflow:hidden;}
.pos-right-head{padding:.7rem .8rem;border-bottom:1px solid #eef3f7;background:linear-gradient(180deg,#fbfdfe,#f2f7fb);}
.pos-navtabs{flex:0 0 auto;display:flex;border-bottom:1px solid #e6edf4;background:#fff;padding:0 .4rem;}
.pos-navtabs .nav-link{flex:1;text-align:center;border:none;border-bottom:3px solid transparent;border-radius:0;font-weight:600;color:#5b6472;padding:.55rem .3rem;}
.pos-navtabs .nav-link.active{color:var(--primary);border-bottom-color:var(--primary);background:transparent;}
.pos-tabs-content{flex:1 1 auto;overflow:auto;padding:.65rem .6rem;}
.pos-resumen{flex:0 0 auto;margin:0 .75rem .5rem;padding:.6rem .7rem;background:#fbfcfe;border:1px solid #e6edf3;border-radius:.6rem;}
.pos-resumen>div:not(:last-child){font-size:.94rem;padding:.1rem 0;color:#334155;}
.pos-total{font-size:2rem;line-height:1.02;font-weight:800;color:var(--success);}
.pos-paybar{padding:.7rem .8rem;border-top:1px solid #e6edf3;background:#fff;}
.pos-paybar .btn{width:100%;}
.pos-finalizar{font-size:1.15rem;padding:.85rem;font-weight:600;}
.pos-cart{font-size:.86rem;table-layout:fixed;}
.empty-cart{cursor:default;}
@media(max-width:991.98px){.pos-app{flex-direction:column;height:auto;overflow:visible;} .pos-right,.pos-right-less{width:100%;flex:1 0 auto;height:26rem;}}

/* ===== POS split dos columnas ===== */
.pos-pane-title{display:flex;align-items:center;gap:.45rem;font-weight:700;color:#0f172a;font-size:1rem;margin-bottom:.5rem;letter-spacing:.2px;}
.pos-pane-title i{color:var(--primary);font-size:1.05rem;}
.pos-left .pos-pane-title{margin-bottom:.55rem;}
.pos-right-head .pos-pane-title{margin-bottom:.55rem;}

/* ===== POS carrito despejado ===== */
.pos-right{flex-basis:26rem;width:26rem;}
.pos-cart thead th{font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;color:#64748b;padding:.3rem .35rem;white-space:nowrap;background:#f8fafc;}
.pos-cart td{padding:.32rem .3rem;font-size:.88rem;vertical-align:middle;}
#table_pro thead th:nth-child(3),
#table_pro thead th:nth-child(4),
#table_pro thead th:nth-child(5),
#table_pro thead th:nth-child(10),
#table_pro thead th:nth-child(11),
#table_pro tbody td:nth-child(3),
#table_pro tbody td:nth-child(4),
#table_pro tbody td:nth-child(5),
#table_pro tbody td:nth-child(10),
#table_pro tbody td:nth-child(11){display:none;}
#table_pro td.col_0{width:1.6rem;padding-right:.1rem;}
#table_pro td.col_0 i{font-size:1rem;}
#table_pro td.col_6 input,
#table_pro td.col_7 input{width:100%;min-width:0;text-align:right;}
#table_pro td.col_6 input.cant{min-width:0;}
#table_pro td.col_8{font-weight:700;color:#0f172a;text-align:right;}
#table_pro textarea{min-height:1.4rem;resize:none;}

/* ============================================================================
   THEME MODERNO GLOBAL
   ========================================================================== */
:root{color-scheme:light;}

/* --- Scrollbars --- */
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:#c7d2de;border-radius:8px;border:2px solid transparent;background-clip:content-box;}
::-webkit-scrollbar-thumb:hover{background:#9fb0c3;background-clip:content-box;}

/* --- Botones --- */
.btn{border-radius:.45rem;transition:all .16s ease;}
.btn:focus-visible,.btn:active:focus{box-shadow:0 0 0 .2rem rgba(var(--primary-rgb),.22);}
.btn-primary{box-shadow:0 .25rem .5rem rgba(var(--primary-rgb),.22);}
.btn-primary:hover{box-shadow:0 .4rem .7rem rgba(var(--primary-rgb),.3);transform:translateY(-1px);}
.btn-success{box-shadow:0 .25rem .5rem rgba(22,163,74,.22);}
.btn-danger{box-shadow:0 .25rem .5rem rgba(220,38,38,.18);}
.btn-lg{border-radius:.6rem;}
.btn-group>.btn{border-radius:.45rem;}

/* --- Formularios --- */
.form-control,.form-select{border-color:#dbe3ea;border-radius:.5rem;transition:border-color .15s ease, box-shadow .15s ease;}
.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(var(--primary-rgb),.16);}
.form-control-sm,.form-select-sm{border-radius:.4rem;}
.input-group-text{border-color:#e0e7ee;background:#f6f9fc;color:#475569;}
.form-check-input:checked{background-color:var(--primary);border-color:var(--primary);}

/* --- Cards --- */
.card{background:#fff;border:1px solid var(--pa);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);}
.card-header{background:#fff;border-bottom:1px solid var(--pa);border-top-left-radius:calc(var(--radius-lg) - 1px);border-top-right-radius:calc(var(--radius-lg) - 1px);}
.card-footer{background:#fff;border-top:1px solid var(--pa);}

/* --- Tablas --- */
.table>:not(caption)>*>*{padding:.55rem .65rem;}
.table thead th{font-weight:700;color:#334155;background:linear-gradient(180deg,#fbfdff,#f3f7fb);border-bottom:2px solid var(--pa);white-space:nowrap;}
.table tbody td{border-bottom:1px solid #eef2f6;}
.table-hover tbody tr{transition:background .12s ease;}
.table-hover tbody tr:hover{background:#f2f7fb;}
.table-bordered,.table-bordered td,.table-bordered th{border-color:var(--pa);}

/* --- Badges / Alerts --- */
.badge{border-radius:var(--radius-pill);font-weight:600;padding:.35em .7em;}
.alert{border-radius:var(--radius-lg);border:0;}

/* --- Modales --- */
.modal-dialog{border-radius:1rem;}
.modal-content{border:0;border-radius:1rem;box-shadow:var(--shadow-lift);}
.modal-header{border-bottom:1px solid var(--pa);border-radius:1rem 1rem 0 0;}
.modal-footer{border-top:1px solid var(--pa);border-radius:0 0 1rem 1rem;}
.modal-title{font-weight:700;}

/* --- Navbar / menu --- */
.navbar-orbital{box-shadow:0 1px 6px rgba(15,23,42,.14);}
.module-nav{box-shadow:0 1px 4px rgba(15,23,42,.08);}

/* --- Enlaces / utilidades --- */
.text-muted{color:#64748b!important;}
a{transition:color .12s ease;}
.page-header h4{letter-spacing:-.01em;}

/* ============================================================================
   MODERNIZACIÓN DE COMPONENTES LEGACY (Bootstrap 3/4) — capa global
   Re-hace visualmente patrones antiguos sin tocar el markup de cada módulo.
   ========================================================================== */

/* --- Badges legacy (badge-secondary, badge-primary, badge-info, badge-warning,
     badge-success, badge-danger, label-*, tag) -> pills modernos --- */
.badge,.label{
  display:inline-block;
  font-weight:600;
  line-height:1;
  padding:.45em .7em;
  border-radius:100px;
  color:#fff;
  vertical-align:middle;
}

/* --- Utilitario: rellenar botones legacy --- */
.btn-block{display:block;width:100%;}
.btn-group-justified{display:flex;}
.btn-group-justified>.btn,.btn-group-justified>.btn-group{flex:1 1 auto;border-radius:0;}
.btn-group-justified>.btn:first-child{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem;}
.btn-group-justified>.btn:last-child{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;}

/* --- Input-group legacy: prepend/append re-ordenados --- */
.input-group-prepend,.input-group-append{display:flex;align-items:center;}
.input-group>.input-group-prepend>.input-group-text,
.input-group>.input-group-append>.input-group-text{border-radius:.5rem;}
.input-group>.input-group-prepend{margin-right:-1px;}
.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0;}
.input-group>.input-group-append>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0;}

/* --- Campos con clases de ancho antiguas --- */
.input-medium{width:180px;}
.input-large{width:260px;}
.input-sm{width:120px;}

/* --- Thumbnails -> cards --- */
.thumbnail{display:block;padding:.75rem;margin-bottom:1rem;background:#fff;border:1px solid var(--pa);border-radius:var(--radius);box-shadow:var(--shadow-soft);}
.thumbnail .caption{color:inherit;}

/* --- Well (caja de contexto legacy) --- */
.well{min-height:1rem;padding:1.25rem;margin-bottom:1rem;background:linear-gradient(180deg,#fbfdff,#f3f7fb);border:1px solid var(--pa);border-radius:var(--radius);box-shadow:var(--shadow-soft);}
.well-sm{padding:.75rem;}
.well-lg{padding:2rem;}

/* --- Paneles legacy (Bootstrap 3 .panel) --- */
.panel{margin-bottom:1rem;background:#fff;border:1px solid var(--pa);border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:hidden;}
.panel-heading{padding:.75rem 1.1rem;background:linear-gradient(180deg,#fbfdff,#f3f7fb);border-bottom:1px solid var(--pa);font-weight:700;color:#0f172a;}
.panel-body{padding:1.1rem;}
.panel-footer{padding:.75rem 1.1rem;border-top:1px solid var(--pa);background:#fbfdff;}
.panel-title{font-weight:700;letter-spacing:-.01em;}

/* --- Navegación por pestañas legacy --- */
.nav-tabs{border-bottom:1px solid var(--pa);}
.nav-tabs .nav-item{margin-bottom:-1px;}
.nav-tabs .nav-link{border:0;border-bottom:3px solid transparent;border-radius:0;color:#5b6472;font-weight:600;padding:.6rem 1rem;}
.nav-tabs .nav-link:hover{color:var(--primary);}
.nav-tabs .nav-link.active{color:var(--primary);border-bottom-color:var(--primary);background:transparent;}
.nav-pills .nav-link{border-radius:var(--radius-pill);font-weight:600;}
.nav-pills .nav-link.active{background:var(--primary);}

/* --- Paginación legacy -> pills --- */
.pagination{flex-wrap:wrap;gap:.25rem;}
.pagination>li{display:inline-block;}
.pagination>li>a,.pagination>li>span,.page-link{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;height:2.2rem;padding:0 .6rem;border:1px solid var(--pa);background:#fff;color:var(--primary);border-radius:var(--radius)!important;font-weight:600;text-decoration:none;margin:0;}
.pagination>li>a:hover,.pagination>li>span:hover{background:#eef7ff;border-color:var(--primary);}
.pagination>.active>a,.pagination>.active>span{background:var(--primary);border-color:var(--primary);color:#fff;}
.pagination>.disabled>span{color:#9aa6b4;background:#f4f7fa;cursor:not-allowed;}

/* --- Tablas legacy: compactas / rayadas --- */
.table-condensed>thead>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th{padding:.4rem .5rem;}
.table-striped>tbody>tr:nth-of-type(odd)>*{background-color:#f8fafc;}
.table>tbody>tr:hover{background:#f2f7fb;}
.table>tbody tr:hover>th.cloud{
  cursor:help;
}

/* --- Navegación antigua .navbar form --- */
.navbar-form{display:flex;gap:.5rem;margin:.5rem 0;}
.navbar-form .form-control{margin:0;}
.navbar-right,.pull-right{margin-left:auto;}
.navbar .form-control{margin:.25rem 0;}

/* --- Dormir legacy helper --- */
.caret{display:inline-block;width:0;height:0;margin-left:.25em;vertical-align:middle;border-top:.3em solid;border-right:.2em solid transparent;border-left:.2em solid transparent;opacity:.65;}

/* --- Alertas heredadas .alert-warning/.alert- vs .alert --- */
.alert-heading{font-weight:700;color:#0f172a;}
.alert h1,.alert h2,.alert h3,.alert h4,.alert h5{color:inherit;font-weight:700;}

/* --- Header de página heredado --- */
.page-header{border-bottom:1px solid var(--pa);padding-bottom:.6rem;margin-bottom:1rem;}

/* --- select/textarea --- */
textarea{resize:vertical;}

/* ===== LOGIN ===== */
.login-wrap{min-height:100vh;background:linear-gradient(135deg,#0f172a 0%,#2563eb 55%,#0ea5e9 100%);}
.login-wrap .card{border-radius:1rem;}
