/* ==========================================================================
   Tema oscuro mate — Bitácora RPAS
   Reemplaza por completo assets/theme-dark.css
   ========================================================================== */
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css");
/* -------- Paleta base -------- */
:root{
  --bg:#0b172a;
  --panel:#0f1b33;
  --panel-2:#0b1324;
  --border:#1d2b4a;
  --border-soft:#233457;
  --txt:#e6edf7;
  --muted:#9fb0d6;
  --muted-2:#7f93bf;
  --accent:#4967ff;         /* más mate que #335fff */
  --accent-2:#384fcc;       /* tono de hover */
  --success:#16a34a;
  --warning:#eab308;
  --danger:#ef4444;
  --chip:#2a3c66;
  --shadow:0 14px 32px rgba(0,0,0,.35);
}

/* -------- Lienzo -------- */
html,body{
  background:var(--bg)!important;
  color:var(--txt)!important;
}

/* -------- Enlaces -------- */
a,.link,.link-light{
  color:#cbd5ff;
  text-decoration:none;
}
a:hover{ color:#a9bfff; }

/* -------- Topbar / Navbar -------- */
.navbar-dark,.topbar{
  background:#0a1426!important;
  color:#cbd5ff!important;
}
.navbar-dark .navbar-brand{ color:#cbd5ff!important; }

/* -------- Cards -------- */
.card-dark{
  background:var(--panel)!important;
  border:1px solid var(--border)!important;
  color:var(--txt)!important;
  border-radius:14px!important;


}
.card-dark .card-title{ font-weight:700; }

/* -------- Texto secundario -------- */
.text-muted{ color:var(--muted)!important; }

/* -------- Scroll suave en contenedores listados -------- */
.scrollbox{ max-height: clamp(160px, 32vh, 320px); overflow:auto; padding-right:.25rem; }
.scrollbox::-webkit-scrollbar{ width:8px; }
.scrollbox::-webkit-scrollbar-thumb{ background:#263b66; border-radius:6px; }

/* -------- Botón PDF ico -------- */
.btn-pdf{
  border:1px solid #7fa0ff; background:transparent; color:#cbd5ff;
  border-radius:10px; padding:.25rem .55rem; display:inline-flex; align-items:center; gap:.35rem;
}
.btn-pdf svg{ width:16px; height:16px; }

/* -------- Formularios -------- */
.form-control, .form-select, .form-control:disabled, .form-select:disabled{
  background:#0e1a31; border-color:#223455; color:var(--txt);
}
.form-control:focus, .form-select:focus, .form-control-btn:hover, .form-select-btn:hover{
  background:#0e1a31; border-color:var(--accent); color:var(--txt);

}
.form-control::placeholder{ color:var(--muted); opacity:1; } /* visible en oscuro */
.input-group-text{ background:var(--panel-2); border-color:var(--border-soft); color:var(--muted); }

/* -------- Badges y estados -------- */
.badge-locked{ background:#334155; border:1px solid #475569 }
.certified-row{ background: rgba(45, 236, 179, .12)!important; }
.pilot-name{ font-style:italic; opacity:.75; }

/* -------- Tabla oscura -------- */
.table-dark{ color:var(--txt); }
.table-dark thead th{
  background:var(--panel-2)!important;
  border-bottom:1px solid var(--border)!important;
  color:var(--muted);
}
.table-dark tbody tr{ border-color:var(--border-soft); }
.table-dark tbody tr:hover{ background:#0d1830; }

/* -------- Paginación -------- */
.pagination .page-link{
  background:transparent; border:1px solid var(--border-soft); color:var(--muted);
}
.pagination .page-link:hover{
  background:#152349; color:#cbd5ff; border-color:#2b3f6f;
}
.pagination .page-item.active .page-link{
  background:#1a2a54; border-color:#2b3f6f; color:#cbd5ff;
}
.pagination .page-item.disabled .page-link{ color:#576b98; }

/* -------- Nav Tabs -------- */
.nav-tabs{ border-bottom:1px solid var(--border); }
.nav-tabs .nav-link{
  color:var(--muted); border:1px solid transparent; background:transparent;
}
.nav-tabs .nav-link:hover{
  border-color:var(--border); color:#cbd5ff; background:#0e1a31;
}
.nav-tabs .nav-link.active{
  color:#cbd5ff; background:#132144; border-color:var(--border);
}

/* -------- Dropdown oscuro -------- */
.dropdown-menu-dark{
  --bs-dropdown-bg:#111d36;
  --bs-dropdown-link-color:#e6edf7;
  --bs-dropdown-link-hover-bg:#1a2b52;
  --bs-dropdown-link-hover-color:#b9c6ea;
  --bs-dropdown-link-active-bg:#223a6b;
  --bs-dropdown-border-color:#2a3f6c;
  border-color:var(--bs-dropdown-border-color);
}

/* -------- Botones (evitar “blanco activo”) --------
   Usamos variables Bootstrap por botón para forzar fondos mates en :hover/:active */
.btn { border-radius:.6rem; }

/* Primario (mate) */
.btn-primary{
  --bs-btn-color:#fff;
  --bs-btn-bg:var(--accent);
  --bs-btn-border-color:var(--accent);
  --bs-btn-hover-bg:var(--accent-2);
  --bs-btn-hover-border-color:var(--accent-2);
  --bs-btn-active-bg:#2b3fa2;              /* nada de blanco */
  --bs-btn-active-border-color:#2b3fa2;
  --bs-btn-disabled-bg:#2c3f7a;
  --bs-btn-disabled-border-color:#2c3f7a;
}

/* Secundario sobrio */
.btn-secondary{
  --bs-btn-color:#e6edf7;
  --bs-btn-bg:#26385f;
  --bs-btn-border-color:#2d467b;
  --bs-btn-hover-bg:#213156;
  --bs-btn-hover-border-color:#365899;
  --bs-btn-active-bg:#1a2746;
  --bs-btn-active-border-color:#2e4d86;
}

/* Success mate */
.btn-success{
  --bs-btn-color:#06130b;
  --bs-btn-bg:var(--success);
  --bs-btn-border-color:var(--success);
  --bs-btn-hover-bg:#15803d;
  --bs-btn-hover-border-color:#15803d;
  --bs-btn-active-bg:#166534;
  --bs-btn-active-border-color:#166534;
}

/* Danger mate */
.btn-danger{
  --bs-btn-color:#fff;
  --bs-btn-bg:#dc3c3c;
  --bs-btn-border-color:#dc3c3c;
  --bs-btn-hover-bg:#c13232;
  --bs-btn-hover-border-color:#c13232;
  --bs-btn-active-bg:#a42828;
  --bs-btn-active-border-color:#a42828;
}

/* Outline claro (sin “flash” blanco) */
.btn-outline-light{
  --bs-btn-color:#e6edf7;
  --bs-btn-border-color:#6b7db3;
  --bs-btn-hover-color:#cbd5ff;
  --bs-btn-hover-bg:#1b2a4a;
  --bs-btn-hover-border-color:#7d92cc;
  --bs-btn-active-color:#cbd5ff;
  --bs-btn-active-bg:#243a68;
  --bs-btn-active-border-color:#7d92cc;
  --bs-btn-disabled-color:#8aa0d0;
  --bs-btn-disabled-border-color:#3b4e7e;
}

/* Botón menú compacto (hamburguesa) */
.btn-menu{
  --bs-btn-color:#e6edf7;
  --bs-btn-border-color:#6b7db3;
  --bs-btn-hover-color:#cbd5ff;
  --bs-btn-hover-bg:#1b2a4a;
  --bs-btn-hover-border-color:#7d92cc;
  --bs-btn-active-color:#cbd5ff;
  --bs-btn-active-bg:#243a68;
  --bs-btn-active-border-color:#7d92cc;
  --bs-btn-focus-shadow-rgb:73,103,255;
  background:transparent;
  border:1px solid var(--bs-btn-border-color);
  color:var(--bs-btn-color);
}

/* Tamaño XS opcional */
.btn-xs { padding:.15rem .45rem; font-size:.75rem; line-height:1.2; border-radius:.5rem; }

/* -------- Chips / Pills -------- */
.chip{
  border:1px solid var(--border-soft);
  background:var(--chip);
  color:#cbd5ff;
  border-radius:999px;
  padding:.15rem .55rem;
  font-size:.75rem;
}

/* -------- Alerts -------- */
.alert{ border:1px solid var(--border); color:var(--txt); }
.alert-info{ background:#0e1f3b; border-color:#243a66; color:#cfe1ff; }
.alert-success{ background:#0f2c1c; border-color:#1f5d3a; color:#d5f5df; }
.alert-warning{ background:#2a250f; border-color:#5c4a16; color:#f3e3b0; }
.alert-danger{ background:#34181a; border-color:#6a2a2e; color:#ffd3d6; }

/* -------- Modal -------- */
.modal-content{ background:var(--panel); color:var(--txt); border:1px solid var(--border); }
.modal-header,.modal-footer{ border-color:var(--border); }

/* -------- Helpers diversos -------- */
.equal{ display:flex; flex-direction:column; height:100%; }
.row-eq > [class*="col-"]{ display:flex; }
.icon-lock{ opacity:.9 }

/* -------- FAB (PWA) oculto por defecto -------- */
.fab-nav{ display:none !important; }
.is-standalone .fab-nav{
  position: fixed; left:0; right:0; bottom:1rem;
  display:flex !important; justify-content:center; gap:.75rem;
  z-index:1050; pointer-events:none;
}
.is-standalone .fab-nav .btn{
  pointer-events:auto; border-radius:50%;
  width:48px; height:48px; display:flex; align-items:center; justify-content:center;
  font-size:1.25rem; padding:0; }

/* -------- Estados deshabilitados consistentes -------- */
:disabled, .disabled{
  opacity:.55!important;
}

/* -------- Interacciones sutiles (sin brillos) -------- */
.btn:hover{ filter:none; }           /* sin brillo */
.btn:active{ transform: translateY(0); } /* sin “pop” excesivo */

/* -------- Tablas clickables (orden cliente opcional) -------- */
th .sort-caret{ opacity:.6; margin-left:.25rem; font-size:.8em; }
th:hover .sort-caret{ opacity:1; }

/* -------- Ajuste placeholders de selects en iOS -------- */
select:invalid{ color:var(--muted); }

/* === Tabs claros en tema oscuro (inactivas con contorno) === */
.nav-tabs { border-bottom: 1px solid var(--border); gap:.35rem; }
.nav-tabs .nav-link{
  color:#b8c4e3;
  background:#0e1a31;
  border:1px solid #2a3f6c;
  border-bottom-color:#2a3f6c;
  border-radius:.6rem;
}
.nav-tabs .nav-link:hover{
  color:#d3ddf8;
  background:#13203a;
  border-color:#395793;
}
.nav-tabs .nav-link.active{
  color:#e6edf7;
  background:#142244;
  border-color:#4462b7;

}

/* === Placeholders legibles === */
.form-control::placeholder{ color:#a7b5d4; opacity:1; }
.form-select{ color:#e6edf7; }

/* === Botones mate y sin “volverse blancos” al hacer click === */
.btn{
  --btn-bg:#1a2b52; --btn-bd:#2a3f6c; --btn-tx:#e6edf7;
  background:var(--btn-bg); border-color:var(--btn-bd); color:var(--btn-tx);
}
.btn:hover{ background:#20335f; border-color:#3b5895; color:#dfe7ff; }
.btn:active, .btn:focus{
  background:#243a68; border-color:#3b5895; color:#cbd5ff;
}

/* Variantes principales, sin saturación excesiva */
.btn-primary{
  --btn-bg:#2b4bd6; --btn-bd:#2b4bd6; --btn-tx:#eef2ff;
}
.btn-outline-light{
  background:transparent; color:#e6edf7; border-color:#6b7db3;
}
.btn-outline-light:hover{ background:#1b2a4a; border-color:#7d92cc; }

/* === Perfil: mejor lectura en móvil (espaciados compactos) === */
@media (max-width: 576px){
  .card-dark{ padding:1rem !important; }
  .form-label{ margin-bottom:.25rem; font-size:.95rem; }
  .form-control, .form-select{ min-height:42px; font-size:.95rem; }
}

/* Botones pill pequeños (por si los usas en Admin) */
.btn-pill{ border-radius:999px; padding:.35rem .8rem; }
.btn-soft{
  background:#0f1c36; border-color:#263b66; color:#cfe0ff;
}
.btn-soft:hover{ background:#132443; border-color:#335ea3; color:#e6eeff; }

/* -------- Logo en header -------- */
.logo-drone{
  height:34px; width:auto;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.45));
}
.logo-text{
  font-family:'Orbitron','Rajdhani','Segoe UI',sans-serif; /* estilo futurista similar al logo */
  font-weight:600;
  letter-spacing:1px;
  font-size:1.1rem;
  color:#cbd5ff;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
}
.navbar-brand:hover .logo-text{
  color:#ffffff;
}
/* === Tabs claros en tema oscuro (inactivas con contorno) === */
.nav-tabs { border-bottom: 1px solid var(--border); gap:.35rem; }
.nav-tabs .nav-link{
  color:#b8c4e3;
  background:#0e1a31;
  border:1px solid #2a3f6c;
  border-bottom-color:#2a3f6c;
  border-radius:.6rem;
}
.nav-tabs .nav-link:hover{
  color:#d3ddf8;
  background:#13203a;
  border-color:#395793;
}
.nav-tabs .nav-link.active{
  color:#e6edf7;
  background:#142244;
  border-color:#4462b7;

}

/* === Placeholders legibles === */
.form-control::placeholder{ color:#a7b5d4; opacity:1; }
.form-select{ color:#e6edf7; }

/* === Botones mate y sin “volverse blancos” al hacer click === */
.btn{
  --btn-bg:#1a2b52; --btn-bd:#2a3f6c; --btn-tx:#e6edf7;
  background:var(--btn-bg); border-color:var(--btn-bd); color:var(--btn-tx);
}
.btn:hover{ background:#20335f; border-color:#3b5895; color:#dfe7ff; }
.btn:active, .btn:focus{
  background:#243a68; border-color:#3b5895; color:#cbd5ff;
}

/* Variantes principales, sin saturación excesiva */
.btn-primary{
  --btn-bg:#2b4bd6; --btn-bd:#2b4bd6; --btn-tx:#eef2ff;
}
.btn-outline-light{
  background:transparent; color:#e6edf7; border-color:#6b7db3;
}
.btn-outline-light:hover{ background:#1b2a4a; border-color:#7d92cc; }

/* === Perfil: mejor lectura en móvil (espaciados compactos) === */
@media (max-width: 576px){
  .card-dark{ padding:1rem !important; }
  .form-label{ margin-bottom:.25rem; font-size:.95rem; }
  .form-control, .form-select{ min-height:42px; font-size:.95rem; }
}

/* Botones pill pequeños (por si los usas en Admin) */
.btn-pill{ border-radius:999px; padding:.35rem .8rem; }
.btn-soft{
  background:#0f1c36; border-color:#263b66; color:#cfe0ff;
}
.btn-soft:hover{ background:#132443; border-color:#335ea3; color:#e6eeff; }

/* === File inputs oscuros y mates === */
input[type="file"].form-control,
.form-control[type="file"]{
  background:#0e1a31;
  color:#e6edf7;
  border:1px solid #223455;
  border-radius:.5rem;
}

/* Botón “Seleccionar archivo” (WebKit/Blink + Firefox) */
.form-control[type="file"]::-webkit-file-upload-button,
input[type="file"]::-webkit-file-upload-button,
.form-control[type="file"]::file-selector-button,
input[type="file"]::file-selector-button{
  background:#1a2b52;
  color:#e6edf7;
  border:1px solid #2a3f6c;
  border-radius:.5rem;
  padding:.35rem .75rem;
  margin-right:.6rem;
  transition:background .15s ease, border-color .15s ease, transform .03s ease;
}

/* Hover/active/focus (mate, sin “blancos”) */
.form-control[type="file"]::-webkit-file-upload-button:hover,
input[type="file"]::-webkit-file-upload-button:hover,
.form-control[type="file"]::file-selector-button:hover,
input[type="file"]::file-selector-button:hover{
  background:#223a6b;
  border-color:#365a9b;
}

.form-control[type="file"]::-webkit-file-upload-button:active,
input[type="file"]::-webkit-file-upload-button:active,
.form-control[type="file"]::file-selector-button:active,
input[type="file"]::file-selector-button:active{
  background:#243a68;
  border-color:#4a6fb3;
  transform:scale(.99);
}

/* Focus ring coherente con tu acento */
.form-control[type="file"]:focus{
  background:#0e1a31;
  color:#e6edf7;
  border-color:#335fff;

}

/* Texto del nombre de archivo (placeholder/valor) */
.form-control[type="file"]{ 
  /* Safari pone el nombre muy oscuro – forzamos contraste */
  color:#cfe1ff;
}
/* Tabs oscuros estilo Bootstrap */
.admin-tabs .nav-link {
  background: transparent;
  border: 1px solid transparent;
  border-bottom: none;
  color: var(--muted);
  font-weight: 500;
  margin-right: .25rem;
  border-radius: .5rem .5rem 0 0;
  transition: all .15s ease;
}

.admin-tabs .nav-link:hover {
  color: var(--txt);
  background: #111d36;
  border-color: #223455 #223455 transparent;
}

.admin-tabs .nav-link.active {
  color: var(--txt);
  background: var(--panel);
  border: 1px solid #223455;
  border-bottom: none;
}

.admin-tabs {
  border-bottom: 1px solid #223455;
}

.break-row {
  background: rgba(255, 193, 7, 0.08) !important; /* amarillo muy tenue */
}

.tiny-text {
  font-size: .6rem;
}

/* Tablas más compactas en toda la app */
.table, .table-sm {
  font-size: 0.85rem;        /* reduce tamaño de fuente */
}

.table-sm td, .table-sm th,
.table td, .table th {
  padding: 0.35rem 0.5rem;   /* reduce espacio interno */
}

/* Base button */
.form-control-btn {
  display: inline-block;
  font-size: 1rem;
  font-weight: 500;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  border: 1px solid #0f1b33;
  background-color: #0f1b33;
  color: #fff;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

/* Hover */
.form-control-btn:hover {
  background-color: #16284d; /* tono más claro */
  border-color: #16284d;
}

/* Active (cuando se presiona) */
.form-control-btn:active {
  background-color: #0a1426; /* tono más oscuro */
  border-color: #0a1426;
  transform: scale(0.97);
}

/* Focus (cuando está seleccionado con tab) */
.form-control-btn:focus {
  outline: none;

}

/* Disabled (inactivo) */
.form-control-btn:disabled,
.form-control-btn.disabled {
  background-color: #4a5673;
  border-color: #4a5673;
  color: #c9cdd6;
  cursor: not-allowed;
  opacity: 0.7;
}

/* Variantes adicionales */

/* Versión bordeado (outline) */
.form-control-btn-outline {
  background-color: transparent;
  border: 2px solid #0f1b33;
  color: #0f1b33;
}

.form-control-btn-outline:hover {
  background-color: #0f1b33;
  color: #fff;
}

/* Versión más clara */
.form-control-btn-light {
  background-color: #1a2a4d;
  border-color: #1a2a4d;
  color: #fff;
}

.form-control-btn-light:hover {
  background-color: #24375f;
  border-color: #24375f;
}

/* Versión con gradiente */
.form-control-btn-gradient {
  background: linear-gradient(135deg, #0f1b33, #24375f);
  border: none;
  color: #fff;
}

.form-control-btn-gradient:hover {
  background: linear-gradient(135deg, #16284d, #304777);
}

/* ==== FIX oscuro definitivo para botones de archivo en file inputs ==== */

/* 1) Variables Bootstrap a oscuro (evita “flash” blanco por defaults) */
:root{
  --bs-body-bg: var(--bg);
  --bs-body-color: var(--txt);
  --bs-border-color: var(--border);
  --bs-secondary-bg: #223a6b;  /* usado por :hover de Bootstrap */
  --bs-tertiary-bg: #1b283f;   /* usado por botón interno de file input */
  color-scheme: dark;          /* pista para UA */
}

/* 2) Botón interno (WebKit + estándar) con máxima prioridad */
input[type="file"].form-control::-webkit-file-upload-button,
.form-control[type="file"]::-webkit-file-upload-button,
input[type="file"].form-control::file-selector-button,
.form-control[type="file"]::file-selector-button{
  -webkit-appearance: none;
  appearance: none;
  background:#1a2b52 !important;
  color:#e6edf7 !important;
  border:1px solid #2a3f6c !important;
  border-radius:.5rem;
  padding:.35rem .75rem;
  margin-right:.6rem;
  transition: background .15s ease, border-color .15s ease, transform .03s ease;
}

/* Hover – gana a las reglas de Bootstrap por especificidad y !important */
input[type="file"].form-control:hover::-webkit-file-upload-button,
.form-control[type="file"]:hover::-webkit-file-upload-button,
input[type="file"].form-control:hover::file-selector-button,
.form-control[type="file"]:hover::file-selector-button,
input[type="file"].form-control::-webkit-file-upload-button:hover,
.form-control[type="file"]::-webkit-file-upload-button:hover,
input[type="file"].form-control::file-selector-button:hover,
.form-control[type="file"]::file-selector-button:hover{
  background:#223a6b !important;
  border-color:#365a9b !important;
}

/* Active/Pressed */
input[type="file"].form-control:active::-webkit-file-upload-button,
.form-control[type="file"]:active::-webkit-file-upload-button,
input[type="file"].form-control:active::file-selector-button,
.form-control[type="file"]:active::file-selector-button,
input[type="file"].form-control::-webkit-file-upload-button:active,
.form-control[type="file"]::-webkit-file-upload-button:active,
input[type="file"].form-control::file-selector-button:active,
.form-control[type="file"]::file-selector-button:active{
  background:#243a68 !important;
  border-color:#4a6fb3 !important;
  transform: scale(.99);
}

/* Focus visible consistente con tu acento */
input[type="file"].form-control:focus{
  background:#0e1a31;
  color:#e6edf7;
  border-color:#335fff !important;

}

/* Safari: evita invertir colores del texto dentro del input */
input[type="file"].form-control {
  -webkit-text-fill-color: #cfe1ff;
}

    .badge-locked{background:#334155;border:1px solid #475569}
    .icon-lock{opacity:.9}
	/* Tamaño extra-pequeño para botones */
.btn-xs {
  padding: .15rem .4rem;
  font-size: .75rem;
  line-height: 1.2;
  border-radius: .5rem; /* por si no quieres pill completo */
}
  /* XS para que no se vean enormes */
  .btn-xs{ padding:.15rem .5rem; font-size:.75rem; line-height:1.2; border-radius:.75rem; }

  /* Mini tabla para acciones: 3 columnas x 2 filas */
  .actions-table{ border-collapse:separate; border-spacing:.4rem .35rem; } /* separación horizontal/vertical */
  .actions-table td{ padding:0; white-space:nowrap; }

  /* Misma base de ancho para que alineen perfecto */
  .actions-table .btn{ min-width:7rem; text-align:center; }
  @media (max-width: 576px){
    /* En móvil puedes bajar el ancho mínimo si prefieres */
    .actions-table .btn{ min-width:6.2rem; }
  }
  
  /* ─── Formulario compacto global ──────────────────────────────────────────── */
.form-tight{ --fs:.95rem; align-items: center; }
.form-tight .form-label{ margin-bottom:.25rem; font-size:.6rem; color:#cbd5e1; align-items: center;}
.form-tight .form-control,
.form-tight .form-select{ height:38px; padding:.30rem .55rem; line-height:1.1; font-size:var(--fs); }
.form-tight textarea.form-control{min-height:70px;padding:.4rem .55rem}
.form-tight input[type="number"]{-moz-appearance:textfield}
.form-tight input[type="number"]::-webkit-outer-spin-button,
.form-tight input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.form-tight.row,.form-tight .row{ --bs-gutter-y:.5rem; --bs-gutter-x:.5rem; }
.form-tight .btn{padding:.35rem .6rem}
.card.card-dark.form-wrap{padding:1.25rem!important}
/* Modal CRAMEX con mismo look */
#cramexModal .form-control,#cramexModal .form-select{
  background:#0f172a;color:#e2e8f0;border-color:#334155;height:38px;padding:.3rem .55rem
}
#cramexModal .form-control::placeholder{color:#94a3b8}

/* Campos de fecha: centrado horizontal y vertical */
.form-tight input[type="date"]{ text-align:center; font-variant-numeric:tabular-nums; height:38px; padding:.25rem .5rem; }
.form-tight input[type="date"]::-webkit-datetime-edit{ text-align:center; }
.form-tight input[type="date"]::-webkit-date-and-time-value{ text-align:center; }
/* Centrado vertical del input de fecha */
.form-tight input[type="date"] {
  height: 38px;               /* consistente con tus otros inputs */
  padding: .25rem .5rem;      /* reduce padding superior/inferior */
  line-height: 1.2;           /* fuerza el texto al centro */
  display: flex;
  align-items: center;        /* centra el contenido vertical */
}

/* Safari/iOS: asegura que la parte editable quede centrada */
.form-tight input[type="date"]::-webkit-datetime-edit {
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
}
/* Día/Mes/Año autollenados y centrados */
#f_dia,#f_mes,#f_anio{ text-align:center; }

/* HH/MM monoespaciados y compactos */
.time2{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  font-variant-numeric:tabular-nums;text-align:center;letter-spacing:.5px;
  height:38px;padding:.30rem .55rem;
}
.time2::-webkit-outer-spin-button,.time2::-webkit-inner-spin-button{ -webkit-appearance:none;margin:0 }
.time2[type="number"]{ -moz-appearance:textfield }
  