/* GENERADO por 5 herramientas/generar-tema-teal.py desde golfito-lujo.css — NO SE EDITA A MANO.
   Es la misma hoja con la tinta cambiada por teal (18 colores traducidos); cada regla
   traducida lleva su gemela oscura para lo que va sobre la foto ([data-pz-foto]). Lo que
   el teal necesita de más va a mano en su archivo de ajustes. */
/* ═══════════════════════════════════════════════════════════════════════════
   GOLFITO · Cotizaciones — LA LÍNEA DE LUJO (2026-09-22)
   ───────────────────────────────────────────────────────────────────────────
   La misma casa que ARIA, CIMA, CEPAS y VIVERO: tinta, Marcellus y Figtree, sin negrita,
   pastillas, velo de foto de 0 a 45 % y una sola sombra. Las fotos son de Golfito y del
   Golfo Dulce, con el lugar comprobado en sus datos.
   TODO VA ACOTADO A LA APP (#main-app, el aviso y el modal): la vista del cliente y el PDF
   (#print-view-overlay) son PAPEL y no se tocan.
   ES REVERSIBLE: se borran sus <link>/<script> en index.html.
   ═══════════════════════════════════════════════════════════════════════════ */
:root{ --g-tinta:#046477; --g-hondo:#03505f; --g-hoja:#005565; --g-deep:#006d82; --g-teal:#006D82; --g-salvia:#7D9B5B; --g-crema:#EADFCE;
  --g-crema70:rgba(234,223,206,.70); --g-filete:rgba(234,223,206,.16); --g-filete-s:rgba(234,223,206,.09);
  --g-glare:Marcellus, 'PP Fragment Glare', Georgia, serif; --g-sans:Figtree, 'PP Fragment Sans', Inter, system-ui, sans-serif;
  --g-sombra:0 30px 70px -18px rgba(4,100,119,.62); }
:root[data-pz-foto]{--g-tinta:#1A2633;--g-hondo:#141D27;--g-hoja:#222E3A;--g-deep:#005565;--g-sombra:0 30px 70px -18px rgba(26,38,51,.62)}

/* ── 1 · Suelo y letra ───────────────────────────────────────────────────── */
body{ background:var(--g-tinta) !important; }
#main-app, #main-app .glf-page, #main-app > main{ background:var(--g-tinta) !important; color:var(--g-crema); font-family:var(--g-sans) !important; }
#main-app *, #confirmation-modal *, #toast *{ font-weight:400 !important; font-style:normal !important; }
#main-app h1, #main-app h2, #main-app h3, #main-app .font-display, #confirmation-modal h3{ font-family:var(--g-glare) !important; letter-spacing:.01em !important; }
#main-app *{ scrollbar-color:rgba(234,223,206,.18) transparent; }
#main-app ::-webkit-scrollbar-thumb{ background:rgba(234,223,206,.18); }

/* ── 2 · El login: el sol que se pone sobre la bahía de Golfito (el resto lo pone prisma-login.css) ── */
#login-screen{ background-image:linear-gradient(180deg, rgba(26,38,51,.18) 0%, rgba(26,38,51,.18) 45%, rgba(26,38,51,.45) 100%),
  url('https://images.unsplash.com/photo-1602190629358-31a50de315e4?q=85&w=2400&auto=format&fit=crop') !important;   /* atardecer en la playa del Pacífico Sur, Unsplash, libre; nítida al 100 % */
  background-size:cover !important; background-position:center 60% !important; }
#login-screen .gol-demo{ display:none !important; }   /* el botón temporal de vista previa: fuera del login */

/* ── 3 · El riel (el mismo de VIVERO) ────────────────────────────────────── */
#main-sidebar.bg-ruta-insignia{ background:var(--g-hondo) !important; background-image:none !important; animation:none !important;
  border-right:1px solid rgba(234,223,206,.10) !important; box-shadow:none !important; }
#main-sidebar > div:first-child{ padding:2rem 1.2rem 1.1rem !important; border-bottom-color:rgba(234,223,206,.10) !important; }
#main-sidebar > div:first-child > .absolute{ display:none; }
#main-sidebar > div:first-child > img:not(.gol-logo){ display:none !important; }
#main-sidebar .gol-logo{ display:block; height:36px; width:auto; margin:0 auto .85rem; }
#main-sidebar h2{ font-family:var(--g-sans) !important; font-size:.66rem !important; letter-spacing:.3em !important; text-transform:uppercase; color:var(--g-crema70) !important; }
#main-sidebar .user-glass-pill{ background:rgba(234,223,206,.06) !important; border:1px solid var(--g-filete) !important; backdrop-filter:none !important; margin-top:1rem !important; }
#main-sidebar .user-glass-pill .rounded-full.bg-tnaqua\/30{ background:var(--g-deep) !important; border-color:transparent !important; }
#display-user-name{ color:var(--g-crema) !important; }
#main-sidebar nav{ padding:1rem .8rem !important; gap:2px !important; scrollbar-width:none; }
#main-sidebar nav::-webkit-scrollbar{ display:none; }
#main-sidebar .sidebar-section-label{ display:none !important; }
#main-sidebar .gol-grupo{ display:flex; align-items:center; gap:.7rem; padding:.2rem .95rem .6rem; font-size:.6rem; letter-spacing:.26em; text-transform:uppercase; color:rgba(234,223,206,.62); }
#main-sidebar .gol-grupo:not(:first-child){ padding-top:1.2rem; }
#main-sidebar .gol-grupo::after{ content:""; flex:1; height:1px; background:linear-gradient(90deg, rgba(234,223,206,.16), transparent); }
#main-sidebar .sidebar-link{ border-radius:99px !important; padding:.55rem .95rem !important; margin:0 !important; color:var(--g-crema70) !important; box-shadow:none !important;
  transition:background-color 120ms linear, color 120ms linear !important; }
#main-sidebar .sidebar-link .material-icons-outlined{ color:var(--g-crema70); margin-right:.85rem !important; }
#main-sidebar .sidebar-link > span:last-child{ font-size:.84rem !important; letter-spacing:.01em !important; }
#main-sidebar .sidebar-link:hover{ background:rgba(234,223,206,.06) !important; color:var(--g-crema) !important; }
#main-sidebar .sidebar-link.active{ background:linear-gradient(90deg, rgba(0,109,130,.42), rgba(0,109,130,.10)) !important; color:#FFFFFF !important;
  box-shadow:inset 0 0 0 1px rgba(234,223,206,.10) !important; }
#main-sidebar .sidebar-link.active .material-icons-outlined, #main-sidebar .sidebar-link:hover .material-icons-outlined{ color:#FFFFFF; }
#main-sidebar > div:last-child{ background:transparent !important; backdrop-filter:none !important; border-top-color:rgba(234,223,206,.10) !important; }
#main-sidebar > div:last-child p{ color:rgba(234,223,206,.55) !important; }
#mobile-menu-toggle{ background:rgba(4,100,119,.45) !important; background-image:none !important; animation:none !important; border:1px solid rgba(255,255,255,.28) !important;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); box-shadow:none !important; }
#mobile-menu-toggle[data-pz-foto]{background:rgba(26,38,51,.45) !important}

/* ── 4 · La cabecera de cada vista: una foto de Golfito, empotrada como en CIMA ── */
.gol-cab{ position:relative; isolation:isolate; overflow:hidden; min-height:232px; margin:-2rem -2rem 2rem !important;
  padding:2.2rem 2.25rem 1.7rem !important; align-items:flex-end !important; border:0; border-radius:0; background:var(--g-hondo); gap:1.2rem 1.5rem !important; }
/* dos capas de foto que se funden una en la otra; la activa además se acerca muy despacio */
.gol-cab__foto{ position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center; opacity:0; transform:scale(1.06);
  transition:opacity 1.6s cubic-bezier(.22,.9,.24,1), transform 10s linear; }
.gol-cab__foto.activa{ opacity:1; transform:scale(1); }
.gol-cab__velo{ position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg, rgba(26,38,51,.45) 0%, rgba(26,38,51,.12) 38%, rgba(26,38,51,0) 45%, rgba(26,38,51,.45) 100%); }
.gol-cab > div:first-of-type{ align-self:flex-end; }
.gol-cab__ceja{ display:block; margin-bottom:.7rem; font-family:var(--g-sans); font-size:.66rem; letter-spacing:.26em; text-transform:uppercase; color:rgba(255,255,255,.80); }
.gol-cab h1{ font-size:2.9rem !important; line-height:1.05 !important; color:#FFFFFF !important; letter-spacing:-.005em !important; text-wrap:balance; }
.gol-cab h1 + p, .gol-cab p{ margin-top:.55rem !important; font-size:.9rem !important; line-height:1.45 !important; letter-spacing:.01em !important; text-transform:none !important;
  color:rgba(255,255,255,.80) !important; max-width:62ch; }
.gol-cab button, .gol-cab select, .gol-cab a.px-4{ border-radius:99px !important; background:rgba(4,100,119,.45) !important; color:#FFFFFF !important;
  border:1px solid rgba(255,255,255,.28) !important; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); box-shadow:none !important; }
.gol-cab button[data-pz-foto], .gol-cab select[data-pz-foto], .gol-cab a.px-4[data-pz-foto]{background:rgba(26,38,51,.45) !important}
.gol-cab button:hover{ border-color:#FFFFFF !important; }
.gol-cab .glf-btn-primary{ background:var(--g-deep) !important; border-color:var(--g-deep) !important; }
.gol-cab input{ border-radius:99px !important; background:rgba(4,100,119,.55) !important; color:#FFFFFF !important; border:1px solid rgba(255,255,255,.28) !important; }
.gol-cab input[data-pz-foto]{background:rgba(26,38,51,.55) !important}
.gol-cab input::placeholder{ color:rgba(255,255,255,.7) !important; }
.gol-cab .material-icons-outlined{ color:inherit !important; }

/* ── 5 · Las piezas de la app, en tinta ─────────────────────────────────── */
#main-app .glf-card, #main-app .glf-table-wrap, #main-app .glf-stat, #main-app .glf-kpi, #main-app .glf-dia-card{
  background:var(--g-hoja) !important; border:1px solid var(--g-filete) !important; border-radius:14px !important; box-shadow:none !important; }
#main-app .glf-card:hover{ box-shadow:none !important; }
#main-app .glf-kpi:hover{ transform:none !important; border-color:rgba(234,223,206,.34) !important; }
#main-app .glf-section-label, #main-app .glf-stat-label, #main-app .glf-kpi label{ color:var(--g-crema70) !important; opacity:1 !important; letter-spacing:.18em !important; }
html #main-app .glf-stat-value{ color:#FFFFFF !important; font-weight:300 !important; font-size:1.6rem !important; }
html #main-app .glf-kpi input{ font-family:var(--g-sans) !important; color:#FFFFFF !important; font-weight:300 !important; }
#main-app .glf-table th{ background:#26323E !important; color:var(--g-crema70) !important; letter-spacing:.16em !important; border-bottom:1px solid var(--g-filete) !important; }
#main-app .glf-table td{ color:var(--g-crema) !important; border-bottom:1px solid var(--g-filete-s) !important; background:transparent !important; }
#main-app .glf-table tbody tr:nth-child(even) td{ background:rgba(234,223,206,.025) !important; }
#main-app .glf-table tr:hover td{ background:rgba(234,223,206,.05) !important; }
#main-app .glf-input, #main-app select.glf-input{ background:rgba(234,223,206,.05) !important; border:1px solid var(--g-filete) !important; color:var(--g-crema) !important; border-radius:9px !important; }
#main-app .glf-input:hover{ border-color:rgba(234,223,206,.34) !important; }
#main-app .glf-input:focus{ border-color:var(--g-teal) !important; box-shadow:0 0 0 3px rgba(0,109,130,.25) !important; background:rgba(234,223,206,.07) !important; }
#main-app .glf-input[readonly]{ background:rgba(0,109,130,.16) !important; border-color:transparent !important; color:#FFFFFF !important; }
#main-app .glf-input:disabled{ opacity:.55 !important; }
#main-app .glf-input::placeholder{ color:rgba(234,223,206,.45) !important; }
#main-app select option{ background:#005565; color:#EADFCE; }
#main-app select option[data-pz-foto]{background:#222E3A}
#main-app .glf-pill{ border-radius:99px !important; letter-spacing:.12em !important; }
#main-app .glf-pill-cotizacion{ background:rgba(234,223,206,.10) !important; color:var(--g-crema) !important; }
#main-app .glf-pill-ganada{ background:rgba(125,155,91,.38) !important; color:var(--g-crema) !important; }
#main-app .glf-pill-reservado{ background:rgba(0,109,130,.42) !important; color:var(--g-crema) !important; }
#main-app .glf-pill-facturada{ background:var(--g-deep) !important; color:#FFFFFF !important; }
#main-app .glf-btn-primary{ background:var(--g-deep) !important; color:#FFFFFF !important; border-radius:99px !important; }
#main-app .glf-btn-primary:hover{ background:var(--g-teal) !important; }
#main-app .glf-tab{ color:var(--g-crema70) !important; }
#main-app .glf-tab:hover{ color:var(--g-crema) !important; background:rgba(234,223,206,.06) !important; }
#main-app .glf-tab.active{ background:var(--g-deep) !important; color:#FFFFFF !important; box-shadow:none !important; }
#main-app .glf-config.plegado .glf-tab.active{ background:transparent !important; color:var(--g-crema70) !important; }
#main-app .glf-config__barra{ background:transparent !important; border-bottom-color:var(--g-filete) !important; }
#main-app .glf-config__toggle{ color:var(--g-crema70) !important; }
#main-app .glf-config__toggle:hover{ color:#FFFFFF !important; background:rgba(234,223,206,.06) !important; }
#main-app .glf-dia-header{ background:rgba(0,109,130,.16) !important; }
/* los colores sueltos de Tailwind dentro de la app */
#main-app .text-slate-900, #main-app .text-slate-800{ color:#FFFFFF !important; }
#main-app .text-slate-700, #main-app .text-slate-600{ color:var(--g-crema) !important; }
#main-app .text-slate-500, #main-app .text-slate-400, #main-app .text-slate-300, #main-app .text-gray-400, #main-app .text-gray-500{ color:var(--g-crema70) !important; }
#main-app .text-tnteal, #main-app .text-tntealdeep{ color:var(--g-crema) !important; }
#main-app .bg-white{ background-color:var(--g-hoja) !important; }
#main-app .bg-slate-50, #main-app [class*="bg-slate-50/"]{ background-color:rgba(234,223,206,.03) !important; }
#main-app .bg-slate-100{ background-color:rgba(234,223,206,.07) !important; color:var(--g-crema) !important; }
#main-app .hover\:bg-slate-100:hover, #main-app .hover\:bg-slate-200:hover, #main-app .hover\:bg-white:hover{ background-color:rgba(234,223,206,.10) !important; }
#main-app .border-slate-100, #main-app .border-slate-200{ border-color:var(--g-filete) !important; }
#main-app .bg-tnteal, #main-app .bg-tntealdeep{ background-color:var(--g-deep) !important; }
#main-app .rounded-xl:is(button, a){ border-radius:99px !important; }
#main-app .shadow-sm, #main-app .shadow, #main-app .shadow-md, #main-app .shadow-lg{ box-shadow:none !important; }
/* el modal de confirmación y el aviso */
.modal-container{ background:rgba(3,80,95,.78) !important; }
.modal-container[data-pz-foto]{background:rgba(20,29,39,.78) !important}
#confirmation-modal > div{ background:var(--g-hoja) !important; border:1px solid var(--g-filete) !important; border-radius:14px !important; box-shadow:var(--g-sombra) !important; color:var(--g-crema) !important; }
#confirmation-modal .bg-ruta-insignia, #confirmation-modal [class*="bg-slate-50"]{ background:transparent !important; background-image:none !important; animation:none !important; }
#confirmation-modal .text-slate-700, #confirmation-modal .text-slate-500{ color:var(--g-crema) !important; }
#toast{ border-radius:99px !important; box-shadow:var(--g-sombra) !important; }
#loader{ background:rgba(3,80,95,.94) !important; }
#loader[data-pz-foto]{background:rgba(20,29,39,.94) !important}

/* ── 5b · Que nada se apriete: las cifras se acomodan solas y la búsqueda baja de línea ── */
#view-lista .grid.grid-cols-2{ display:grid !important; grid-template-columns:repeat(auto-fit, minmax(118px, 1fr)) !important; }
/* la lista cabe sin deslizar de lado en escritorio: la tabla se ajusta al ancho y el texto baja de línea */
#view-lista .glf-table{ min-width:0 !important; table-layout:auto; }
#view-lista .glf-table th{ letter-spacing:.12em !important; white-space:nowrap; }
#view-lista .glf-table td{ white-space:normal; }
#main-app .glf-stat{ min-width:0; }
#main-app .glf-stat-label{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gol-cab{ flex-wrap:wrap !important; }
.gol-cab > div:last-child:not(:first-of-type){ flex:1 1 320px; justify-content:flex-end; max-width:100%; }
.gol-cab > div:last-child .relative{ min-width:0; flex:1 1 220px; }

/* ── 6 · El celular ──────────────────────────────────────────────────────── */
@media (max-width:767px){
  .gol-cab{ min-height:200px; padding:4.2rem 1.1rem 1.2rem !important; margin:-1rem -1rem 1.3rem !important; align-items:stretch !important; justify-content:flex-end !important; }
  .gol-cab > div{ width:100%; justify-content:flex-start !important; }
  /* en columna, la regla de ancho de la búsqueda (flex 320px) se volvía ALTO: aquí no crece */
  .gol-cab > div:last-child:not(:first-of-type){ flex:0 0 auto !important; }
  .gol-cab{ min-height:0 !important; padding-bottom:1.1rem !important; gap:.9rem !important; }
  .gol-cab h1{ font-size:2rem !important; }
  .gol-cab h1 + p, .gol-cab p{ font-size:.82rem !important; }
  #view-lista .grid.grid-cols-2{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
  #view-lista .grid.grid-cols-2 > :last-child:nth-child(odd){ grid-column:1 / -1; }
  /* las tablas, fichas de dos columnas */
  #main-app .glf-table-wrap{ overflow:visible !important; border:0 !important; background:transparent !important; }
  #main-app table.gol-fichas{ min-width:0 !important; width:100% !important; }
  #main-app table.gol-fichas thead{ display:none; }
  #main-app table.gol-fichas, #main-app table.gol-fichas tbody{ display:block; }
  #main-app table.gol-fichas tr{ display:grid; grid-template-columns:1fr 1fr; gap:.7rem .9rem; margin:0 0 .7rem; padding:1rem 1.05rem;
    background:var(--g-hoja); border:1px solid var(--g-filete); border-radius:14px; }
  #main-app table.gol-fichas td{ display:block; padding:0 !important; border:0 !important; background:transparent !important; min-width:0; overflow-wrap:anywhere; }
  #main-app table.gol-fichas td::before{ content:attr(data-rotulo); display:block; margin-bottom:.25rem; font-size:.56rem; letter-spacing:.18em; text-transform:uppercase; color:var(--g-crema70); }
  #main-app table.gol-fichas td:first-child{ grid-column:1 / -1; font-size:.98rem; }
  #main-app table.gol-fichas td[data-rotulo=""]{ grid-column:1 / -1; }
  #main-app table.gol-fichas td[data-rotulo=""]::before{ display:none; }
  #main-app table.gol-fichas td[colspan]{ grid-column:1 / -1; text-align:center; }
  #main-app table.gol-fichas td[colspan]::before{ display:none; }
  #main-app table.gol-fichas .glf-input{ width:100% !important; }
  body:not(.toursys-active) #main-app table.gol-fichas td.toursys-column{ display:none !important; }
  body.toursys-active #main-app table.gol-fichas td.precio-final-column{ display:none !important; }
  #mobile-menu-toggle{ top:1rem !important; left:1rem !important; right:auto !important; width:42px !important; height:42px !important; }
  #main-sidebar > div:first-child{ padding-top:4.6rem !important; }
}
@media (prefers-reduced-motion:reduce){ .gol-cab__foto{ transition:none !important; transform:none !important; } }

/* El riel, pieza por pieza como el de VIVERO (el modelo): el nombre en versalitas finas, el
   ícono de la persona en blanco dentro de su círculo, y el pie en crema tenue. */
#main-app #main-sidebar h2, #main-app #main-sidebar h2.font-display{ font-family:Figtree, 'PP Fragment Sans', Inter, system-ui, sans-serif !important; font-size:.66rem !important;
  letter-spacing:.3em !important; text-transform:uppercase !important; color:rgba(234,223,206,.70) !important; }
#main-sidebar .user-glass-pill .rounded-full .material-icons-outlined{ color:#FFFFFF !important; }
#main-sidebar > div:last-child p{ color:rgba(234,223,206,.55) !important; letter-spacing:.3em !important; }
#main-sidebar > div:last-child p + p{ letter-spacing:.02em !important; text-transform:none !important; }

/* ── 5c · La barra de totales del editor ─────────────────────────────────────
   Los montos son campos de sólo lectura TRANSPARENTES: la regla general de sólo lectura les
   ponía un fondo teal y se veían como franjas cortadas. Acá, sin fondo ni filete, en cifra
   grande y blanca; la raya de degradado de arriba, fuera; los íconos en su círculo tenue. */
#main-app .glf-input.\!bg-transparent, #main-app .glf-input.\!bg-transparent[readonly]{ background:transparent !important; border:0 !important;
  box-shadow:none !important; width:100% !important; padding:0 !important; }
#main-app #sub-total-sin-impuestos, #main-app #impuestos{ font-size:1.35rem !important; color:#FFFFFF !important; font-weight:300 !important; }
#main-app #total-con-impuestos{ font-size:1.75rem !important; color:#FFFFFF !important; font-weight:300 !important; }
#main-app .glf-card > .absolute.h-1.bg-ruta-insignia{ display:none !important; }
#main-app .glf-card .w-9.h-9.rounded-xl, #main-app .glf-card .w-10.h-10.rounded-xl{ border-radius:99px !important; background:rgba(234,223,206,.07) !important; color:var(--g-crema) !important; }
#main-app .glf-card .w-10.h-10.rounded-xl{ background:var(--g-deep) !important; color:#FFFFFF !important; }

/* La flecha que pliega el panel de configuración, SIEMPRE a la vista: pegada a la derecha de la
   barra aunque las pestañas se deslicen en el celular (Luis: «no puede estar al final del scroll»). */
#main-app .glf-config__toggle{ position:sticky !important; right:0; z-index:2; margin-left:auto;
  background:var(--g-hoja) !important; box-shadow:-14px 0 14px -4px var(--g-hoja) !important; }
#main-app .glf-config__toggle:hover{ background:#0b6576 !important; }
#main-app .glf-config__toggle:hover[data-pz-foto]{background:#2A3541 !important}

/* «Volver a la lista»: una píldora de vidrio con chevrón fino y su palabra, no un círculo con flecha. */
#main-app .gol-cab button.gol-volver{ display:inline-flex !important; align-items:center; gap:.2rem; height:34px; padding:0 .95rem 0 .55rem !important;
  border-radius:99px !important; background:rgba(4,100,119,.40) !important; border:1px solid rgba(255,255,255,.30) !important; color:#FFFFFF !important;
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); font-size:.72rem !important; letter-spacing:.14em; text-transform:uppercase;
  transition:background-color 120ms linear, border-color 120ms linear; }
#main-app .gol-cab button.gol-volver[data-pz-foto]{background:rgba(26,38,51,.40) !important}
#main-app .gol-cab button.gol-volver:hover{ background:var(--g-deep) !important; border-color:var(--g-deep) !important; }
#main-app .gol-cab button.gol-volver .material-icons-outlined{ font-size:20px !important; }
/* en el editor: el título solo arriba, a la izquierda; abajo una fila con «‹ Cotizaciones» a la
   izquierda y los otros botones a la derecha, todos a la misma altura */
.gol-cab.gol-cab--editor{ flex-direction:column !important; align-items:stretch !important; justify-content:flex-end !important; flex-wrap:nowrap !important; }
.gol-cab.gol-cab--editor > div:first-of-type{ width:100%; }
.gol-cab.gol-cab--editor > div:last-child{ width:100%; display:flex !important; align-items:center !important; justify-content:flex-end !important; flex:0 0 auto !important; gap:.5rem !important; }
.gol-cab.gol-cab--editor > div:last-child > .gol-volver{ margin-right:auto !important; height:40px !important; }

/* ── 7 · Las tablas del editor, como un libro contable (Luis: «más suave, más luxury») ─────
   Sin una caja por campo: cada campo es una línea fina que se enciende al escribir; las filas se
   separan con un filete apenas visible; los encabezados, en versalitas discretas; el precio
   final, una cifra limpia. Se ajusta al ancho y sólo se desliza de lado si de verdad no cabe. */
#view-editor .glf-table-wrap, #view-config .glf-table-wrap{ background:transparent !important; border:0 !important; border-radius:0 !important; }
#view-editor .glf-table, #view-config .glf-table{ min-width:980px !important; border-collapse:separate !important; border-spacing:0 !important; }
#view-editor .glf-table th, #view-config .glf-table th{ background:transparent !important; border-bottom:1px solid var(--g-filete) !important; padding:0 .55rem .65rem !important;
  font-size:.6rem !important; letter-spacing:.14em !important; color:rgba(234,223,206,.55) !important; text-align:left !important; }
#view-editor .glf-table td, #view-config .glf-table td{ padding:.35rem .55rem !important; border-bottom:1px solid rgba(234,223,206,.06) !important; background:transparent !important; }
#view-editor .glf-table tbody tr:nth-child(even) td, #view-config .glf-table tbody tr:nth-child(even) td{ background:transparent !important; }
#view-editor .glf-table tbody tr:hover td, #view-config .glf-table tbody tr:hover td{ background:rgba(234,223,206,.03) !important; }
#view-editor .glf-table .glf-input, #view-config .glf-table .glf-input, #view-editor .glf-table select.glf-input, #view-config .glf-table select.glf-input{ background:transparent !important; border:0 !important;
  border-bottom:1px solid rgba(234,223,206,.14) !important; border-radius:0 !important; padding:.45rem .1rem !important; height:36px; font-size:.84rem !important;
  color:var(--g-crema) !important; box-shadow:none !important; transition:border-color 120ms linear, background-color 120ms linear; }
#view-editor .glf-table .glf-input:hover, #view-config .glf-table .glf-input:hover{ border-bottom-color:rgba(234,223,206,.34) !important; }
#view-editor .glf-table .glf-input:focus, #view-config .glf-table .glf-input:focus{ border-bottom-color:#006D82 !important; background:rgba(0,109,130,.08) !important; }
#view-editor .glf-table .glf-input[readonly], #view-config .glf-table .glf-input[readonly]{ background:transparent !important; border-bottom-color:transparent !important; color:#FFFFFF !important;
  font-size:.92rem !important; font-variant-numeric:tabular-nums; }
#view-editor .glf-table select.glf-input, #view-config .glf-table select.glf-input{ -webkit-appearance:none; appearance:none; padding-right:1.4rem !important;
  background-image:linear-gradient(45deg, transparent 50%, rgba(234,223,206,.6) 50%), linear-gradient(135deg, rgba(234,223,206,.6) 50%, transparent 50%) !important;
  background-position:calc(100% - 9px) 16px, calc(100% - 5px) 16px !important; background-size:4px 4px, 4px 4px !important; background-repeat:no-repeat !important; }
#main-app input[type=datetime-local], #main-app input[type=date]{ color-scheme:dark; }
#main-app input[type=number]{ -moz-appearance:textfield; }
#main-app input[type=number]::-webkit-inner-spin-button, #main-app input[type=number]::-webkit-outer-spin-button{ -webkit-appearance:none; margin:0; }
#view-editor .glf-table td:last-child button, #view-config .glf-table td:last-child button{ color:rgba(234,223,206,.45) !important; border-radius:99px !important; }
#view-editor .glf-table td:last-child button:hover, #view-config .glf-table td:last-child button:hover{ color:#EADFCE !important; background:rgba(179,38,30,.30) !important; }
/* la tarjeta que envuelve la tabla, más aire y sin marco duro */
#view-editor .glf-card.p-4{ padding:1.4rem 1.5rem 1.2rem !important; }

/* ── 8 · La lista, más lujosa (Luis) ─────────────────────────────────────────
   Las cifras: tarjetas tenues, el rótulo entero, un punto con el color de cada estado en vez
   de íconos de colores sueltos, y el número grande y fino. La tabla: como un libro, igual que
   la del editor; el título en Marcellus y el cliente suave debajo; las fechas cortas. */
#view-lista .glf-stat{ background:rgba(234,223,206,.035) !important; border:1px solid rgba(234,223,206,.10) !important; padding:1.05rem 1.15rem 1.1rem !important; }
#view-lista .glf-stat-label{ letter-spacing:.14em !important; font-size:.62rem !important; overflow:visible !important; text-overflow:clip !important; }
#view-lista .glf-stat .material-icons-outlined{ display:inline-block !important; font-size:0 !important; width:8px; height:8px; border-radius:99px; background:rgba(234,223,206,.35); flex:none; }
#view-lista .glf-stat:nth-child(3) .material-icons-outlined{ background:#7D9B5B; }
#view-lista .glf-stat:nth-child(4) .material-icons-outlined{ background:#006D82; }
#view-lista .glf-stat:nth-child(5) .material-icons-outlined{ background:#EADFCE; }
html #view-lista .glf-stat-value{ color:#FFFFFF !important; font-size:2rem !important; margin-top:.35rem !important; letter-spacing:-.01em; }
#view-lista .glf-table-wrap{ background:transparent !important; border:0 !important; border-radius:0 !important; overflow-x:auto; }
#view-lista .glf-table th{ background:transparent !important; border-bottom:1px solid var(--g-filete) !important; padding:0 .8rem .7rem !important;
  font-size:.6rem !important; letter-spacing:.14em !important; color:rgba(234,223,206,.55) !important; }
#view-lista .glf-table td{ padding:1rem .8rem !important; border-bottom:1px solid rgba(234,223,206,.06) !important; background:transparent !important; vertical-align:middle; }
#view-lista .glf-table tbody tr:nth-child(even) td{ background:transparent !important; }
#view-lista .glf-table tbody tr:hover td{ background:rgba(234,223,206,.03) !important; }
#view-lista .glf-table td:first-child > div:first-child{ font-family:var(--g-glare) !important; font-size:1.02rem !important; color:#FFFFFF !important; letter-spacing:.01em; }
#view-lista .glf-table td:first-child > div + div{ font-size:.72rem !important; color:rgba(234,223,206,.55) !important; margin-top:.15rem; }
#view-lista .glf-table td.gol-fecha{ white-space:nowrap !important; color:var(--g-crema) !important; font-size:.8rem !important; }
#view-lista .glf-table td:nth-child(6){ color:#FFFFFF !important; font-size:.95rem !important; font-variant-numeric:tabular-nums; white-space:nowrap; }
#view-lista .glf-table td:nth-child(7){ color:rgba(234,223,206,.55) !important; font-size:.74rem !important; white-space:nowrap; }
#view-lista .glf-table td:last-child button{ color:rgba(234,223,206,.45) !important; border-radius:99px !important; }
#view-lista .glf-table td:last-child button:hover{ color:#FFFFFF !important; background:rgba(234,223,206,.08) !important; }
#view-lista .glf-stat:first-child .material-icons-outlined{ display:none !important; }   /* el total no es un estado: sin punto */
/* en pantallas medianas, la lista cabe sin deslizar: fuera Pasajeros y Actualizado (están en la cotización) */
@media (min-width:768px) and (max-width:1199px){
  #view-lista .glf-table th:nth-child(3), #view-lista .glf-table td:nth-child(3),
  #view-lista .glf-table th:nth-child(7), #view-lista .glf-table td:nth-child(7){ display:none !important; }
}
/* las acciones de cada fila: tres círculos iguales, íconos del mismo trazo y tamaño */
#view-lista .glf-table td:last-child{ white-space:nowrap; }
#view-lista .glf-table td:last-child button{ display:inline-flex !important; align-items:center; justify-content:center; width:32px; height:32px;
  padding:0 !important; margin:0 1px; vertical-align:middle; }
#view-lista .glf-table td:last-child button .material-icons-outlined{ font-size:18px !important; line-height:1 !important; width:18px; height:18px; }
#view-lista .glf-table td:last-child button[title="Eliminar"]:hover{ background:rgba(179,38,30,.30) !important; }

/* la tabla de configuración: casillas en deep, campos deshabilitados tenues, acciones de trazo */
#view-config .glf-table input[type=checkbox]{ width:16px; height:16px; accent-color:#006d82; cursor:pointer; }
#view-config .glf-table input[type=checkbox][data-pz-foto]{accent-color:#005565}
#view-config .glf-table input[type=checkbox]:disabled{ opacity:.35; cursor:not-allowed; }
#view-config .glf-table .glf-input:disabled{ opacity:.4 !important; }
#view-config .glf-table td:last-child button{ display:inline-flex !important; align-items:center; justify-content:center; width:32px; height:32px; padding:0 !important;
  border-radius:99px !important; color:rgba(234,223,206,.45) !important; }
#view-config .glf-table td:last-child button:hover{ color:#EADFCE !important; background:rgba(179,38,30,.30) !important; }
#view-config .glf-table td:last-child .material-icons-outlined{ font-size:18px !important; }
#view-config > p, #view-config .text-slate-500{ max-width:75ch; line-height:1.6 !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   LA VISTA DEL CLIENTE: EL MARCO, DE LA CASA (Luis, 2026-09-22)
   ───────────────────────────────────────────────────────────────────────────
   «El diseño nuevo en su marco —el panel Filtros del documento y la barra de arriba—; esto es
   una copia de la app 1. El documento sigue siendo papel.»
   Y así queda: EL PAPEL NO SE TOCA. Lo que cambia es todo lo que lo rodea, que venía heredado
   de la app vieja —azul marino, grises de sistema, negritas— y no se parecía a ninguna otra
   pantalla del ecosistema.
     · La barra de arriba pasa a ser tinta con vidrio, el título en Marcellus y los botones como
       pastillas de contorno; sólo «Descargar PDF» va lleno, porque es la acción que se busca.
     · El panel de filtros deja el gris de sistema: fondo de tinta, rótulos en versalitas crema
       y cada menú hundido en su propia caja, como los campos de CIMA.
     · El botón de volver a abrir el panel y el de cerrarlo, con el mismo canto de la casa.
   El papel del documento —su blanco, su letra, sus márgenes— queda exactamente igual, que es
   lo que Luis pidió: lo que se imprime no cambia.
   ═══════════════════════════════════════════════════════════════════════════ */

/* LA BARRA DE ARRIBA */
#print-view-overlay > .no-print:first-child{
  background:linear-gradient(180deg, rgba(18,28,38,.96), rgba(13,21,29,.96)) !important;
  -webkit-backdrop-filter:blur(20px) saturate(1.1); backdrop-filter:blur(20px) saturate(1.1);
  border-bottom:1px solid rgba(234,223,206,.14) !important;
  box-shadow:0 18px 40px -26px rgba(6,12,18,.9) !important;
  padding:.85rem 1.15rem !important; }
#print-view-overlay > .no-print:first-child .font-bold{
  font-family:Marcellus, 'PP Fragment Glare', Georgia, serif !important;
  font-weight:400 !important; font-size:1.02rem !important; letter-spacing:.1em !important;
  color:#FFFFFF !important; }
/* los botones: pastillas de contorno */
#print-view-overlay > .no-print:first-child button{
  border-radius:999px !important; letter-spacing:.1em !important; text-transform:uppercase !important;
  font-size:.62rem !important; font-weight:500 !important;
  transition:background-color .35s ease, border-color .35s ease, color .35s ease !important; }
#print-view-overlay #pv-print-btn{
  background:transparent !important; border:1px solid rgba(234,223,206,.28) !important;
  color:rgba(255,255,255,.88) !important; padding:.5rem 1rem !important; }
#print-view-overlay #pv-print-btn:hover{
  background:rgba(234,223,206,.10) !important; border-color:rgba(234,223,206,.55) !important; color:#FFFFFF !important; }
#print-view-overlay #pv-pdf-btn{
  background:#006D82 !important; border:1px solid #006D82 !important; color:#FFFFFF !important;
  padding:.5rem 1.1rem !important; box-shadow:0 12px 26px -14px rgba(0,109,130,.9) !important; }
#print-view-overlay #pv-pdf-btn:hover{ background:#00566A !important; border-color:#00566A !important; }
/* la flecha de volver */
#print-view-overlay > .no-print:first-child > div:first-child > button{
  border:1px solid rgba(234,223,206,.18) !important; border-radius:999px !important;
  width:2.1rem; height:2.1rem; display:grid; place-items:center; }
#print-view-overlay > .no-print:first-child > div:first-child > button:hover{
  background:rgba(234,223,206,.12) !important; border-color:rgba(234,223,206,.5) !important; }

/* EL PANEL DE FILTROS */
#pv-filtros-panel{
  background:#101A24 !important;
  border-right:1px solid rgba(234,223,206,.12) !important; }
#pv-filtros-panel > div:first-child{
  background:linear-gradient(180deg, rgba(18,28,38,.98), rgba(16,26,36,.98)) !important;
  border-bottom:1px solid rgba(234,223,206,.12) !important; box-shadow:none !important;
  padding:1rem 1.1rem !important; }
#pv-filtros-panel > div:first-child p{
  font-family:Figtree, system-ui, sans-serif !important;
  font-size:.58rem !important; letter-spacing:.24em !important; font-weight:500 !important;
  color:rgba(234,223,206,.72) !important; }
#pv-filtros-panel > div:first-child button{
  border:1px solid rgba(234,223,206,.2) !important; background:transparent !important; }
#pv-filtros-panel > div:first-child button:hover{ background:rgba(234,223,206,.12) !important; }

/* los rótulos de cada filtro */
#pv-filtros-panel label{
  font-family:Figtree, system-ui, sans-serif !important;
  font-size:.54rem !important; letter-spacing:.2em !important; font-weight:500 !important;
  color:rgba(234,223,206,.6) !important; }
/* cada menú, hundido en su caja, como los campos de CIMA */
#pv-filtros-panel select{
  background:rgba(8,14,20,.75) !important;
  border:1px solid rgba(234,223,206,.16) !important; border-radius:10px !important;
  color:rgba(255,255,255,.92) !important; font-weight:400 !important;
  font-size:.78rem !important; letter-spacing:.01em !important;
  padding:.62rem .75rem !important; box-shadow:none !important;
  transition:border-color .3s ease, background-color .3s ease !important; }
#pv-filtros-panel select:hover{ border-color:rgba(234,223,206,.34) !important; }
#pv-filtros-panel select:focus{
  border-color:#006D82 !important; outline:none !important;
  box-shadow:0 0 0 3px rgba(0,109,130,.28) !important; }
#pv-filtros-panel option{ background:#101A24; color:#FFFFFF; }

/* el botón que vuelve a abrir el panel */
#pv-panel-reopen-btn{
  background:rgba(16,26,36,.92) !important; color:rgba(255,255,255,.9) !important;
  border:1px solid rgba(234,223,206,.22) !important; border-radius:999px !important;
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  box-shadow:0 16px 34px -18px rgba(6,12,18,.9) !important; }
#pv-panel-reopen-btn:hover{ background:rgba(22,34,46,.96) !important; border-color:rgba(234,223,206,.5) !important; }

/* el fondo donde descansa el papel: tinta, para que la hoja se vea como hoja */
#print-view-overlay{ background:#0D151D !important; }
#print-view-overlay .flex-grow{ background:#0D151D !important; }

/* ── EL DOCUMENTO SE PUEDE REESCRIBIR ─────────────────────────────────────────────────────
   Los campos editables se anuncian en voz baja: al pasar por encima, un fondo apenas teal y
   un subrayado punteado; al escribir, el contorno de la casa. En el papel impreso no queda
   ni rastro —antes de imprimir se apagan— y el cursor dice que ahi se escribe. */
#print-view [data-editable]{
  border-radius:4px; padding:0 2px; margin:0 -2px; cursor:text;
  transition:background-color .25s ease, box-shadow .25s ease; }
#print-view [data-editable]:hover{
  background:rgba(0,109,130,.07);
  box-shadow:inset 0 -1px 0 rgba(0,109,130,.35); }
#print-view [data-editable]:focus{
  outline:none; background:rgba(0,109,130,.10);
  box-shadow:0 0 0 2px rgba(0,109,130,.35); }
#print-view [data-editable]:empty::before{
  content:attr(data-vacio); color:#9aa5ad; }
/* al imprimir o exportar, el papel no lleva marcas */
#print-view.glf-sin-edicion [data-editable]{
  background:none !important; box-shadow:none !important; cursor:default; }
@media print{
  #print-view [data-editable]{ background:none !important; box-shadow:none !important; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   LA BARRA DE TEXTO, COMO LA DE ARIA (Luis, 2026-09-23, segunda vuelta)
   ───────────────────────────────────────────────────────────────────────────
   La primera versión puso CADA ícono en su propia pastilla y le agregó rótulos de texto
   («Celda», «Tabla»): eso no es la barra de ARIA, es otra cosa — mucho ruido y demasiado
   grande, tanto que no cabía en una fila.
   La de ARIA es UNA SOLA PÍLDORA flotante, larga y de canto entero, y por dentro los íconos
   van SUELTOS: sin contorno, sin fondo, finos y espaciados, con un filete de un píxel
   separando los grupos. Sólo tienen pastilla propia los dos controles que no son íconos —la
   tipografía y los puntos— y el de restaurar, que cierra la fila con su aro.
   ═══════════════════════════════════════════════════════════════════════════ */
#pv-toolbar{
  display:flex; align-items:center; flex-wrap:nowrap; gap:2px; flex:none;
  margin:.7rem .9rem .1rem; padding:.3rem .5rem;
  background:#16222E;
  border:1px solid rgba(234,223,206,.13);
  border-radius:999px;
  box-shadow:0 18px 40px -26px rgba(6,12,18,.95);
  color:#EADFCE;
  overflow-x:auto; -webkit-overflow-scrolling:touch; }
#pv-toolbar::-webkit-scrollbar{ height:0; }

#pv-toolbar .pv-tb-sep{
  width:1px; height:17px; background:rgba(234,223,206,.14); margin:0 .35rem; flex:none; }

/* LOS ÍCONOS, SUELTOS: ni borde ni fondo hasta que se pasa por encima */
#pv-toolbar .pv-tb-btn{
  -webkit-appearance:none; appearance:none;
  display:inline-flex; align-items:center; justify-content:center;
  width:27px; height:27px; padding:0; margin:0; flex:none;
  background:transparent; border:0; border-radius:999px;
  color:rgba(234,223,206,.86); cursor:pointer; outline:none;
  transition:background-color .18s ease, color .18s ease; }
#pv-toolbar .pv-tb-btn .material-icons-outlined{ font-size:15px; line-height:1; }
#pv-toolbar .pv-tb-btn:hover{ background:rgba(234,223,206,.12); color:#FFFFFF; }
#pv-toolbar .pv-tb-btn--on{ background:#006D82; color:#FFFFFF; }
#pv-toolbar .pv-tb-btn--borrar:hover{ background:rgba(179,38,30,.3); color:#FFFFFF; }
/* el de restaurar cierra la fila con su aro */
#pv-toolbar .pv-tb-btn--aro{
  border:1px solid rgba(234,223,206,.22); width:27px; height:27px; margin-left:.15rem; }
#pv-toolbar .pv-tb-btn--aro:hover{ border-color:rgba(234,223,206,.5); }

/* LOS DOS QUE NO SON ÍCONOS: tipografía y puntos, en su pastilla */
#pv-toolbar .pv-tb-select,
#pv-toolbar .pv-tb-num{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  display:inline-flex; align-items:center; flex:none;
  height:27px; margin:0; padding:0 .7rem;
  background:rgba(234,223,206,.05); color:#EADFCE;
  border:1px solid rgba(234,223,206,.16); border-radius:999px;
  font-family:Figtree, system-ui, sans-serif; font-size:.7rem; line-height:1;
  cursor:pointer; outline:none; box-shadow:none;
  transition:border-color .2s ease, background-color .2s ease; }
#pv-toolbar .pv-tb-select:hover, #pv-toolbar .pv-tb-num:hover{
  background:rgba(234,223,206,.11); border-color:rgba(234,223,206,.4); }
#pv-toolbar .pv-tb-select{
  padding-right:1.5rem; max-width:120px; text-align:left;
  background-image:linear-gradient(45deg, transparent 50%, rgba(234,223,206,.7) 50%),
                   linear-gradient(135deg, rgba(234,223,206,.7) 50%, transparent 50%);
  background-position:calc(100% - 13px) 12px, calc(100% - 9px) 12px;
  background-size:4px 4px, 4px 4px; background-repeat:no-repeat; }
#pv-toolbar .pv-tb-select option{ background:#101A24; color:#FFFFFF; }
#pv-toolbar .pv-tb-num{ padding:0 .5rem; gap:.2rem; }
#pv-toolbar .pv-tb-num input{
  -webkit-appearance:none; -moz-appearance:textfield; appearance:none;
  width:24px; background:transparent; border:0; color:#EADFCE;
  font-family:inherit; font-size:.7rem; text-align:right; outline:none; padding:0; }
#pv-toolbar .pv-tb-num input::-webkit-outer-spin-button,
#pv-toolbar .pv-tb-num input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
#pv-toolbar .pv-tb-num i{ font-style:normal; font-size:.55rem; color:rgba(234,223,206,.5); }

/* los colores: el ícono a la vista, el selector del sistema invisible debajo */
#pv-toolbar .pv-tb-color{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  width:27px; height:27px; flex:none; border-radius:999px; overflow:hidden;
  color:rgba(234,223,206,.86); cursor:pointer;
  transition:background-color .18s ease, color .18s ease; }
#pv-toolbar .pv-tb-color:hover{ background:rgba(234,223,206,.12); color:#FFFFFF; }
#pv-toolbar .pv-tb-color .material-icons-outlined{ font-size:15px; pointer-events:none; }
#pv-toolbar .pv-tb-color input[type="color"]{
  position:absolute; inset:0; width:100%; height:100%;
  opacity:0; border:0; padding:0; margin:0; cursor:pointer;
  -webkit-appearance:none; appearance:none; background:transparent; }

#pv-toolbar .pv-tb-etq{ display:none; }
#pv-toolbar .pv-tb-estado{
  margin-left:auto; padding:0 .6rem; flex:none;
  font-family:Figtree, system-ui, sans-serif;
  font-size:.52rem; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(125,155,91,.95); white-space:nowrap; }

/* el documento mientras se edita */
#pv-editable{ min-height:100%; }
#pv-editable:focus{ outline:none; }
#print-view:not(.glf-sin-edicion) #pv-editable{ cursor:text; }
@media print{ #pv-toolbar{ display:none !important; } }

/* la flecha de volver: cuadrada, centrada y sin el margen que la corría */
.pv-volver{
  width:2.1rem; height:2.1rem; display:inline-flex !important; align-items:center; justify-content:center;
  border-radius:999px; border:1px solid rgba(234,223,206,.18); background:transparent;
  margin:0 !important; padding:0 !important; flex:none;
  transition:background-color .25s ease, border-color .25s ease; }
.pv-volver:hover{ background:rgba(234,223,206,.12); border-color:rgba(234,223,206,.5); }
.pv-volver .material-icons-outlined{ font-size:18px; line-height:1; }

@media (max-width:900px){
  #pv-toolbar{ margin:.5rem .6rem .2rem; }
  #pv-toolbar .pv-tb-estado{ display:none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   LA BARRA DE BÚSQUEDA DE LA LISTA (Luis, 2026-09-23)
   ───────────────────────────────────────────────────────────────────────────
   «En ese rediseño de Golfito, esta barra y ese botón hay que subirlo, y esa barra debe ser
   más luxury.»
   Las dos cosas tenían el mismo origen. La barra venía del diseño viejo —caja blanca con
   filete gris, `border-slate-200 bg-white`— y sobre la fotografía de la cabecera se leía como
   un recorte pegado encima. Y quedaba baja porque la columna del título tiene dos renglones
   (el nombre y la línea de permisos) mientras la de la búsqueda tiene uno: al centrarse
   verticalmente, la barra caía al nivel del segundo renglón y se salía de la franja.
   Ahora la fila se alinea ARRIBA, así la barra nace a la altura del título; y se viste con el
   mismo vidrio hundido que llevan los botones sobre foto en todo el ecosistema.
   ═══════════════════════════════════════════════════════════════════════════ */
.glf-cab-lista{ align-items:flex-start !important; }
@media (min-width:768px){
  .glf-cab-lista{ align-items:flex-start !important; }
  /* LA BARRA SUBE HASTA LA LÍNEA DEL TÍTULO (Luis, dos veces: «hay que subirlo» y después «la
     barra me gusta más pero sigue estando al ras, debés subirla un poco»).
     Los 2 px de la primera versión no alcanzaban porque el desfase real es otro: la columna del
     título mide 105 px —el nombre y la línea de permisos— y la de la búsqueda 42, así que al
     alinearse arriba la barra igual quedaba colgando del borde de la franja. Se la sube 34 px,
     que es lo que hay entre el borde inferior de la franja y donde apoya el título, medido en
     pantalla. Así la barra queda DENTRO de la fotografía y no al ras de su canto. */
  /* CUIDADO CON CUÁNTO SUBE. Con -34px la barra se montó ENCIMA de la línea de permisos y la
     dejó detrás (Luis: «quedó un texto detrás»). El problema es que las dos columnas comparten
     el alto de la franja: subir la barra sin más la mete en el renglón del texto.
     Se sube lo que se puede sin pisar a nadie —12px, medido— y el resto del aire se gana
     apretando el espacio que la cabecera deja debajo del título. */
  .glf-cab-lista > div:last-child{ margin-top:-12px !important; }
  /* la línea de permisos se recoge un poco para hacerle sitio a la barra */
  .glf-cab-lista > div:first-of-type p{ margin-top:.15rem !important; margin-bottom:0 !important; }
}
/* En el celular la cabecera se apila y la barra va debajo, como siempre: ahí no hay canto del
   que despegarse. */
@media (max-width:767px){
  .glf-cab-lista > div:last-child{ margin-top:0 !important; }
}

/* EL VIDRIO. Mismo tratamiento que los botones sobre fotografía: tinta hundida con un filete
   de crema. Sobre el follaje se lee sin depender de la imagen, y no compite con el título. */
.glf-cab-lista #lista-search{
  background:rgba(13,23,32,.45) !important;
  border:1px solid rgba(234,223,206,.24) !important;
  color:#FFFFFF !important;
  border-radius:999px !important;
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  box-shadow:0 10px 26px -18px rgba(6,12,18,.8) !important;
  transition:border-color .25s ease, background-color .25s ease !important; }
.glf-cab-lista #lista-search::placeholder{ color:rgba(234,223,206,.62) !important; }
.glf-cab-lista #lista-search:focus{
  background:rgba(13,23,32,.62) !important;
  border-color:rgba(234,223,206,.5) !important; outline:none !important; }
.glf-cab-lista .material-icons-outlined{ color:rgba(234,223,206,.7) !important; }

/* EL BOTÓN «NUEVA»: pastilla de teal, que es la acción de la casa, con su letra blanca. */
.glf-cab-lista .glf-btn-primary{
  background:#006D82 !important;
  border:1px solid rgba(234,223,206,.28) !important;
  color:#FFFFFF !important;
  border-radius:999px !important;
  box-shadow:0 12px 28px -18px rgba(6,12,18,.9) !important; }
.glf-cab-lista .glf-btn-primary:hover{ background:#00596B !important; }
.glf-cab-lista .glf-btn-primary .material-icons-outlined{ color:#FFFFFF !important; }

/* ── LA BARRA DE TÍTULOS, FIJA (Luis, 2026-09-23) ────────────────────────────────────────────
   «Esa barra de títulos debe ser fija.» Al recorrer una lista larga uno deja de saber qué
   columna está mirando; el encabezado quieto lo resuelve. Va en los dos temas, con el color
   del lienzo de cada uno para que tape las filas que pasan por debajo sin verse como una
   franja pintada. */
#main-app .glf-table thead th{
  position:sticky !important; top:0 !important; z-index:3 !important;
  background:var(--g-tinta) !important; }

/* ── LA LISTA DE USUARIOS, EN EL LENGUAJE DE LA CASA (Luis, 2026-09-23) ──────────────────────
   «Esta lista no se ajusta a la temática PRISMA.» Tenía razón: venía con un verde azulado
   —rgb(15,46,44)— que no está en el libro, y los nombres en un gris de sistema (#e5e7eb).
   Ninguna hoja la alcanzaba porque el desplegable se dibuja con los colores ESCRITOS EN LÍNEA,
   en el atributo `style`, y eso sólo se pisa con !important.
   Queda como cualquier panel flotante del ecosistema: tinta con su filete de crema, los nombres
   en crema y el que se señala en teal. Va en los DOS temas, porque en los dos estaba mal. */
#tn-imp-dd{
  background:#046477 !important;
  border:1px solid rgba(234,223,206,.16) !important;
  border-radius:14px !important;
  box-shadow:0 30px 70px -28px rgba(6,12,18,.95) !important; }
#tn-imp-dd[data-pz-foto]{background:#1A2633 !important}
#tn-imp-dd > div{
  color:rgba(234,223,206,.86) !important;
  border-radius:999px !important;
  transition:background-color .18s ease, color .18s ease !important; }
#tn-imp-dd > div:hover{
  background:rgba(0,109,130,.28) !important;
  color:#FFFFFF !important; }
/* el que está activo, con el teal de la casa */
#tn-imp-dd > div[aria-selected="true"], #tn-imp-dd > div.activo{
  background:#006D82 !important; color:#FFFFFF !important; }

/* ── EL REALCE DE «VISTA CLIENTE», EN LOS DOS TEMAS (Luis, 2026-09-23) ───────────────────────
   «En modo oscuro, cuando me pongo encima, no cambia de color; pero en claro cambia a otro
   colorcito. Quiero que en oscuro sea igual a como es ahorita en claro.»
   Tenía sólo un cambio de filete y nada de relleno, así que el gesto se perdía. Se le da el
   mismo realce en ambos temas: la tinta un punto más clara, que es lo que él aprobó viéndolo.
   No lleva `[data-tema]` a propósito: es el mismo en los dos. */
#main-app .gol-cab button:not(.gol-volver):not(.glf-btn-primary):hover{
  background-color:#2A3743 !important;
  border-color:rgba(234,223,206,.34) !important; }

/* ── LA FLECHA QUE PLIEGA LAS PESTAÑAS ───────────────────────────────────────────────────────
   «Esa flechita, cuando pongo el mouse encima, no debe cambiar a color blanco, debe mantenerse
   en color oscuro.» Es `#glf-config-toggle`, la que abre y cierra Info General / Comisiones /
   Desglose / Calc. Base — distinta de la que colapsa el menú, que fue la que corregí primero
   por error. Su hover se queda en tinta y sólo se le nota el fondo. */
#glf-config-toggle:hover,
#glf-config-toggle:hover *{
  color:rgba(4,100,119,.85) !important; }
#glf-config-toggle:hover[data-pz-foto], #glf-config-toggle:hover *[data-pz-foto]{color:rgba(26,38,51,.85) !important}
#glf-config-toggle:hover{
  background-color:rgba(4,100,119,.06) !important; }
#glf-config-toggle:hover[data-pz-foto]{background-color:rgba(26,38,51,.06) !important}

/* ── EL ENCABEZADO DE LAS TABLAS DE DENTRO DE UNA TARJETA (Luis, 2026-09-23) ─────────────────
   «Esta tabla tiene una barra de títulos que no me gusta; quiero que sea igual a la tabla de
   cotizaciones de afuera, respetando el modo claro y el oscuro.»
   Medidas las dos, ya eran idénticas en color, cuerpo, filete y espaciado: la diferencia no
   estaba en el encabezado sino en DÓNDE vive cada tabla. El encabezado va fijo, así que
   necesita un fondo para tapar las filas que pasan por debajo, y ese fondo era el del LIENZO.
   En la lista funciona, porque la tabla se apoya en el lienzo y el encabezado desaparece contra
   él. Pero la del editor vive dentro de una `.glf-card` —rgb(34,46,58) en oscuro, blanca en
   claro—, así que el mismo color se recortaba encima como una franja pegada.
   La regla es la misma de siempre: el encabezado toma el color de SU superficie, no el de la
   página. Así las dos tablas se ven igual aunque estén en sitios distintos. */
#main-app .glf-card .glf-table thead th{
  background:#005565 !important; }
#main-app .glf-card .glf-table thead th[data-pz-foto]{background:#222E3A !important}
