/* =====================================================================
   PANEL DEL TALLER — estilo "Glass" (prueba 6/11)
   Todo cuelga de body.gl (lo pone panel.js). Si se quitan panel.css y panel.js
   de index.html, el panel vuelve a ser exactamente como antes.
   ===================================================================== */

/* ---------- Temas (paletas) ---------- */
body.gl { --p-accent:#0A3C6E; --p-accent2:#1783C1; --p-l1:#1783C1; --p-l2:#7fb8e6; --p-l3:#CED4DA; --p-d1:#0A3C6E; --p-d2:#1783C1; --p-d3:#1F2E4A; --p-lightbg:#eef2f6; --p-darkbg:#070d18;
  --p-taller1:#1783C1; --p-taller2:#0A3C6E; --p-comercial1:#19a6a0; --p-comercial2:#0b6b77; --p-finanzas1:#e0a03a; --p-finanzas2:#b8671c; --p-ajustes1:#6c7a8c; --p-ajustes2:#343A40; }
body.gl[data-gl-tema=holst] { --p-accent:#223A5E; --p-accent2:#4D79A8; --p-l1:#9FC0E3; --p-l2:#D0E1F2; --p-l3:#6E9ECC; --p-d1:#223A5E; --p-d2:#355982; --p-d3:#4D79A8; --p-lightbg:#F3F8FD; --p-darkbg:#0a1422;
  --p-taller1:#6E9ECC; --p-taller2:#355982; --p-comercial1:#4D79A8; --p-comercial2:#223A5E; --p-finanzas1:#9FC0E3; --p-finanzas2:#4D79A8; --p-ajustes1:#355982; --p-ajustes2:#1a2c48; }
body.gl[data-gl-tema=violeta] { --p-accent:#3b2a63; --p-accent2:#7c5cf0; --p-l1:#a78bfa; --p-l2:#f0abfc; --p-l3:#ddd6fe; --p-d1:#3b1f6e; --p-d2:#6d28d9; --p-d3:#831843; --p-lightbg:#f3f1f9; --p-darkbg:#0d0818;
  --p-taller1:#8b6cf6; --p-taller2:#4b2f9a; --p-comercial1:#e24c8b; --p-comercial2:#9c2a64; --p-finanzas1:#f59e5b; --p-finanzas2:#c2582a; --p-ajustes1:#8b84a8; --p-ajustes2:#3b3552; }
body.gl[data-gl-tema=turquesa] { --p-accent:#0f4c5c; --p-accent2:#14b8a6; --p-l1:#5eead4; --p-l2:#a5f3fc; --p-l3:#cbd5e1; --p-d1:#134e4a; --p-d2:#0e7490; --p-d3:#1e293b; --p-lightbg:#eef6f6; --p-darkbg:#06121a;
  --p-taller1:#2dd4bf; --p-taller2:#0f766e; --p-comercial1:#38bdf8; --p-comercial2:#0369a1; --p-finanzas1:#a3e635; --p-finanzas2:#4d7c0f; --p-ajustes1:#94a3b8; --p-ajustes2:#334155; }
body.gl[data-gl-tema=atardecer] { --p-accent:#7c2d12; --p-accent2:#ea580c; --p-l1:#fdba74; --p-l2:#fda4af; --p-l3:#e7e5e4; --p-d1:#7c2d12; --p-d2:#9f1239; --p-d3:#292524; --p-lightbg:#f7f3ef; --p-darkbg:#120a08;
  --p-taller1:#fb923c; --p-taller2:#c2410c; --p-comercial1:#f43f5e; --p-comercial2:#9f1239; --p-finanzas1:#eab308; --p-finanzas2:#a16207; --p-ajustes1:#a8a29e; --p-ajustes2:#44403c; }
body.gl[data-gl-tema=grafito] { --p-accent:#1F2E4A; --p-accent2:#38bdf8; --p-l1:#CED4DA; --p-l2:#bae6fd; --p-l3:#e5e7eb; --p-d1:#1f2937; --p-d2:#0c4a6e; --p-d3:#111827; --p-lightbg:#f1f2f4; --p-darkbg:#0b0d10;
  --p-taller1:#38bdf8; --p-taller2:#0369a1; --p-comercial1:#64748b; --p-comercial2:#1e293b; --p-finanzas1:#94a3b8; --p-finanzas2:#334155; --p-ajustes1:#475569; --p-ajustes2:#0f172a; }

/* ---------- Modos: claro / oscuro / gris ---------- */
body.gl { --gl-font:'Outfit','Inter','Segoe UI',system-ui,sans-serif;
  --bg:var(--p-lightbg); --text:#13233a; --muted:#5b6b80; --line:rgba(255,255,255,.75); --line-strong:rgba(20,40,70,.18); --accent:var(--p-accent); --accent-2:var(--p-accent2);
  --glass:rgba(255,255,255,.58); --glass-2:rgba(255,255,255,.8); --glass-line:rgba(255,255,255,.9); --glass-shadow:0 10px 40px rgba(20,40,70,.10);
  --blob1:var(--p-l1); --blob2:var(--p-l2); --blob3:var(--p-l3); --blob-op:.42;
  --top-bg:rgba(255,255,255,.62); --top-text:#13233a; --chip:rgba(255,255,255,.65); --chip-text:var(--p-accent); --chip-line:rgba(20,40,70,.10);
  --side-bg:rgba(15,22,36,.94); --side-text:#e7eef7; --side-line:rgba(255,255,255,.08); --side-hover:rgba(255,255,255,.07); --side-active:rgba(255,255,255,.13);
  --drawer:rgba(255,255,255,.9); --row:rgba(255,255,255,.75); }
body.gl[data-gl-modo=oscuro] { --bg:var(--p-darkbg); --text:#eaf1fa; --muted:#8d9cb3; --line:rgba(255,255,255,.08); --line-strong:rgba(255,255,255,.18); --accent:var(--p-accent2);
  --glass:rgba(255,255,255,.05); --glass-2:rgba(255,255,255,.09); --glass-line:rgba(255,255,255,.10); --glass-shadow:0 10px 40px rgba(0,0,0,.45);
  --blob1:var(--p-d1); --blob2:var(--p-d2); --blob3:var(--p-d3); --blob-op:.55;
  --top-bg:rgba(8,12,20,.72); --top-text:#eaf1fa; --chip:rgba(255,255,255,.07); --chip-text:#dce8f5; --chip-line:rgba(255,255,255,.1);
  --side-bg:rgba(6,9,15,.94); --drawer:rgba(14,18,28,.92); --row:rgba(255,255,255,.05); }
body.gl[data-gl-modo=gris] { --bg:#3a3f45; --text:#f3f5f7; --muted:#b8c0c8; --line:rgba(255,255,255,.12); --line-strong:rgba(255,255,255,.25); --accent:#e9ecef;
  --glass:rgba(255,255,255,.08); --glass-2:rgba(255,255,255,.13); --glass-line:rgba(255,255,255,.16); --glass-shadow:0 10px 36px rgba(0,0,0,.3);
  --blob1:#6c757d; --blob2:var(--p-d2); --blob3:#8d99a6; --blob-op:.38;
  --top-bg:rgba(45,49,55,.78); --top-text:#f3f5f7; --chip:rgba(255,255,255,.09); --chip-text:#f1f3f5; --chip-line:rgba(255,255,255,.14);
  --side-bg:rgba(33,37,41,.95); --drawer:rgba(45,49,55,.93); --row:rgba(255,255,255,.07); }

/* El fondo con color solo en el panel principal; las otras pantallas quedan como siempre (etapa b) */
body.gl.gl-home { background:var(--bg) !important; transition:background-color .6s ease; }
.gl-blobs { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; opacity:0; transition:opacity .6s; }
body.gl.gl-home .gl-blobs { opacity:1; }
.gl-blobs i { position:absolute; border-radius:50%; filter:blur(80px); opacity:var(--blob-op); animation:glFloat 18s ease-in-out infinite alternate; transition:background-color 1s; }
.gl-blobs i:nth-child(1) { width:520px; height:520px; background:var(--blob1); top:-140px; left:10%; }
.gl-blobs i:nth-child(2) { width:460px; height:460px; background:var(--blob2); bottom:-160px; right:5%; animation-duration:22s; }
.gl-blobs i:nth-child(3) { width:380px; height:380px; background:var(--blob3); top:35%; left:45%; animation-duration:26s; }
@keyframes glFloat { to { transform:translate(60px,40px) scale(1.12); } }
body.gl #view-technical-app { position:relative; z-index:1; }

/* ---------- Barra superior ---------- */
body.gl #view-technical-app > header.gl-top { background:var(--top-bg) !important; color:var(--top-text) !important; backdrop-filter:blur(16px) saturate(1.4); -webkit-backdrop-filter:blur(16px) saturate(1.4); border-bottom:1px solid var(--line-strong); box-shadow:0 4px 24px rgba(0,0,0,.06) !important; }
/* la barra superior sigue el modo elegido en todas las pantallas */
header.gl-top > div { max-width:none !important; padding-left:1.25rem !important; padding-right:1.25rem !important; gap:.75rem !important; }
.gl-marca { display:flex; align-items:center; gap:.65rem; min-width:0; cursor:pointer; flex-shrink:0; }
.gl-logo { width:2.6rem; height:2.6rem; border-radius:.8rem; display:grid; place-items:center; overflow:hidden; flex:none; font-weight:800; font-size:.9rem; color:#fff;
  background:linear-gradient(135deg,var(--p-accent2),var(--p-accent)); box-shadow:0 6px 16px -6px var(--p-accent2); }
.gl-logo.con-img { background:#fff; padding:.2rem; }
.gl-logo img { width:100%; height:100%; object-fit:contain; }
.gl-marca b { display:block; font-family:var(--gl-font); font-size:1rem; font-weight:700; line-height:1.15; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:15rem; }
.gl-marca small { display:block; font-size:.7rem; opacity:.6; white-space:nowrap; }
.gl-atajos { display:flex; gap:.35rem; overflow-x:auto; scrollbar-width:none; min-width:0; flex:1; padding:.25rem .1rem; }
.gl-atajos::-webkit-scrollbar { display:none; }
.gl-sc { display:inline-flex; align-items:center; gap:.45rem; padding:.45rem .8rem; border-radius:999px; font-family:var(--gl-font); font-size:.8rem; font-weight:600; white-space:nowrap;
  background:var(--chip); color:var(--chip-text); border:1px solid var(--chip-line); transition:transform .2s, box-shadow .2s, background .2s; }
.gl-sc:hover { transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.12); }
.gl-sc.primero { background:var(--p-accent2); color:#fff; border-color:transparent; }
.gl-sc.editar { padding:.45rem .6rem; opacity:.75; }
.gl-modo-btn { display:inline-flex; align-items:center; gap:.45rem; height:2.25rem; padding:0 .8rem 0 .3rem; border-radius:999px; background:var(--chip); border:1px solid var(--chip-line); color:var(--chip-text); font-size:.75rem; font-weight:700; }
.gl-modo-btn .p { width:1.65rem; height:1.65rem; border-radius:50%; display:grid; place-items:center; background:var(--p-accent2); color:#fff; transition:transform .5s cubic-bezier(.34,1.56,.64,1); }
.gl-modo-btn.gira .p { transform:rotate(360deg); }
.gl-menu-btn { width:2.25rem; height:2.25rem; border-radius:.7rem; display:none; place-items:center; background:var(--chip); border:1px solid var(--chip-line); color:var(--chip-text); flex:none; }
/* botones existentes de la derecha, con el mismo aspecto */
body.gl header.gl-top .gl-der > button, body.gl header.gl-top .gl-der > div > button { background:var(--chip) !important; color:var(--chip-text) !important; border-color:var(--chip-line) !important; }
body.gl header.gl-top .gl-der > button.gl-salir { color:#e11d48 !important; }
body.gl[data-gl-modo=oscuro] header.gl-top .gl-der > button.gl-salir, body.gl[data-gl-modo=gris] header.gl-top .gl-der > button.gl-salir { color:#fda4af !important; }
@media (max-width:1100px) { .gl-marca small { display:none; } .gl-marca b { max-width:9rem; } .gl-modo-btn span.t { display:none; } .gl-modo-btn { padding:0 .3rem; } }
@media (max-width:1024px) { .gl-menu-btn { display:grid; } .gl-sc span, .gl-sc { font-size:.75rem; } .gl-sc { padding:.4rem .65rem; } }
@media (max-width:640px) { .gl-atajos { display:none; } }

/* ---------- Saludo ---------- */
body.gl #view-home { font-family:var(--gl-font); }
body.gl.gl-home #view-home h2#inicio-saludo { color:var(--text) !important; font-family:var(--gl-font); font-size:1.75rem; letter-spacing:-.02em; }
body.gl.gl-home #view-home #inicio-fecha { color:var(--muted) !important; }
.gl-saludo { display:flex; align-items:center; gap:1rem; }
.gl-dibujo { width:4.4rem; height:4.4rem; border-radius:1.35rem; display:grid; place-items:center; flex:none; cursor:pointer; position:relative; overflow:hidden;
  background:var(--glass); border:1px solid var(--glass-line); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:var(--glass-shadow); }
.gl-dibujo::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 40%,var(--halo),transparent 70%); opacity:.55; }
.gl-dibujo.manana { --halo:#fcd34d; } .gl-dibujo.tarde { --halo:#f0a868; } .gl-dibujo.noche { --halo:#818cf8; }
.gl-dibujo svg, .gl-dibujo .emo { position:relative; width:3.6rem; height:3.6rem; animation:glPop .7s cubic-bezier(.34,1.56,.64,1); }
.gl-dibujo .emo { font-size:2.6rem; display:grid; place-items:center; animation:glPop .7s cubic-bezier(.34,1.56,.64,1), glBob 3.5s ease-in-out .7s infinite; }
@keyframes glPop { from { opacity:0; transform:scale(.4) rotate(-25deg); } to { opacity:1; transform:none; } }
@keyframes glBob { 50% { transform:translateY(-4px) rotate(-3deg); } }
.g-sol .rayos { transform-box:fill-box; transform-origin:center; animation:glGira 14s linear infinite; }
.g-sol .nucleo { transform-box:fill-box; transform-origin:center; animation:glLatido 3s ease-in-out infinite; }
@keyframes glGira { to { transform:rotate(360deg); } }
@keyframes glLatido { 50% { transform:scale(1.08); } }
.g-cafe .vapor { animation:glVapor 2.6s ease-in-out infinite; opacity:0; }
.g-cafe .vapor:nth-of-type(2) { animation-delay:.8s; } .g-cafe .vapor:nth-of-type(3) { animation-delay:1.6s; }
@keyframes glVapor { 0% { opacity:0; transform:translateY(4px); } 40% { opacity:.9; } 100% { opacity:0; transform:translateY(-8px); } }
.g-luna .luna { transform-box:fill-box; transform-origin:center; animation:glMece 5s ease-in-out infinite; }
@keyframes glMece { 50% { transform:rotate(-10deg); } }
.g-luna .estrella { transform-box:fill-box; transform-origin:center; animation:glTitila 2s ease-in-out infinite; }
.g-luna .estrella:nth-of-type(2) { animation-delay:.6s; } .g-luna .estrella:nth-of-type(3) { animation-delay:1.2s; }
@keyframes glTitila { 50% { opacity:.25; transform:scale(.6); } }

/* ---------- Tablero de hoy y avisos: vidrio ---------- */
body.gl.gl-home #tablero-hoy button, body.gl.gl-home #tablero-hoy .bg-white, body.gl.gl-home #primeros-pasos .bg-white { background:var(--glass) !important; border-color:var(--glass-line) !important;
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:var(--glass-shadow) !important; border-radius:1.25rem !important; }
body.gl.gl-home #tablero-hoy button { transition:transform .3s cubic-bezier(.22,1,.36,1), background .3s; }
body.gl.gl-home #tablero-hoy button:hover { transform:translateY(-3px); background:var(--glass-2) !important; }
body.gl[data-gl-modo=oscuro].gl-home #view-home :is(.text-slate-900,.text-slate-800,.text-slate-700), body.gl[data-gl-modo=gris].gl-home #view-home :is(.text-slate-900,.text-slate-800,.text-slate-700) { color:var(--text) !important; }
body.gl[data-gl-modo=oscuro].gl-home #view-home :is(.text-slate-500,.text-slate-600,.text-slate-400), body.gl[data-gl-modo=gris].gl-home #view-home :is(.text-slate-500,.text-slate-600,.text-slate-400) { color:var(--muted) !important; }

/* ---------- Tarjetas de módulos ---------- */
body.gl #home-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr)); gap:1.1rem; }
body.gl #home-grid > .hidden, body.gl #home-grid > .gl-off { display:none !important; }
.gl-card { position:relative; text-align:left; cursor:pointer; display:flex; flex-direction:column; gap:.7rem; min-height:12.5rem; padding:1.25rem; overflow:hidden; border-radius:1.5rem;
  background:var(--glass); border:1px solid var(--glass-line); backdrop-filter:blur(18px) saturate(1.3); -webkit-backdrop-filter:blur(18px) saturate(1.3);
  box-shadow:var(--glass-shadow); color:var(--text); font-family:var(--gl-font);
  transition:transform .4s cubic-bezier(.22,1,.36,1), background .4s, box-shadow .4s; animation:glSube .6s cubic-bezier(.22,1,.36,1) both; animation-delay:calc(var(--i,0) * 45ms); }
@keyframes glSube { from { opacity:0; transform:translateY(18px) scale(.98); } to { opacity:1; transform:none; } }
.gl-card::before { content:""; position:absolute; inset:0; background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.22),transparent 45%); opacity:0; transition:opacity .3s; pointer-events:none; }
.gl-card:hover::before { opacity:1; }
.gl-card:hover { transform:translateY(-6px); background:var(--glass-2); }
.gl-card .fila { display:flex; align-items:flex-start; justify-content:space-between; }
.gl-ico { width:3.4rem; height:3.4rem; border-radius:1rem; display:grid; place-items:center; color:#fff; font-size:1.45rem; background:linear-gradient(135deg,var(--c1),var(--c2)); box-shadow:0 10px 22px -8px var(--c1); transition:transform .4s cubic-bezier(.34,1.56,.64,1); }
.gl-card:hover .gl-ico { transform:translateY(-3px) scale(1.06); }
.gl-emo { font-size:2.9rem; line-height:1; margin:-.25rem -.1rem 0 0; filter:drop-shadow(0 8px 12px rgba(0,0,0,.22)); animation:glBob 4s ease-in-out infinite; animation-delay:calc(var(--i,0) * -.4s); transition:transform .5s cubic-bezier(.34,1.56,.64,1); }
.gl-card:hover .gl-emo { animation:none; transform:rotate(10deg) scale(1.18); }
.gl-card h3 { font-size:1.07rem; font-weight:600; letter-spacing:-.01em; margin:0; color:var(--text); }
.gl-card p { font-size:.82rem; color:var(--muted); line-height:1.45; flex:1; margin:0; }
.gl-pie { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding-top:.75rem; border-top:1px solid var(--glass-line); }
.gl-pie .dato { font-size:.78rem; font-weight:600; color:var(--text); display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; }
.gl-pie .dato > span { background:none !important; color:inherit !important; padding:0 !important; font-size:inherit !important; }
.gl-pie .dato > span.gl-alerta { background:#f59e0b !important; color:#fff !important; padding:.15rem .55rem !important; border-radius:999px; }
.gl-pie .dato .gl-pro { font-size:.6rem; font-weight:900; letter-spacing:.08em; padding:.15rem .45rem; border-radius:999px; background:rgba(99,102,241,.15); color:#6366f1; }
.gl-ir { width:2rem; height:2rem; border-radius:50%; display:grid; place-items:center; background:var(--chip); border:1px solid var(--glass-line); color:var(--text); font-size:.75rem; transition:all .35s; flex:none; }
.gl-card:hover .gl-ir { background:var(--p-accent2); color:#fff; transform:translateX(3px); }
.g-taller { --c1:var(--p-taller1); --c2:var(--p-taller2); } .g-comercial { --c1:var(--p-comercial1); --c2:var(--p-comercial2); }
.g-finanzas { --c1:var(--p-finanzas1); --c2:var(--p-finanzas2); } .g-ajustes { --c1:var(--p-ajustes1); --c2:var(--p-ajustes2); }
.gl-card.gl-agregar { align-items:center; justify-content:center; text-align:center; gap:.6rem; border:2px dashed var(--line-strong); background:transparent; box-shadow:none; backdrop-filter:none; color:var(--muted); order:9999; }
.gl-card.gl-agregar .mas { width:3.4rem; height:3.4rem; border-radius:50%; display:grid; place-items:center; background:var(--chip); border:1px solid var(--glass-line); font-size:1.2rem; transition:transform .4s cubic-bezier(.34,1.56,.64,1); }
.gl-card.gl-agregar:hover { color:var(--text); background:var(--glass); }
.gl-card.gl-agregar:hover .mas { transform:rotate(90deg) scale(1.08); background:var(--p-accent2); color:#fff; }
.gl-card.gl-agregar b { font-size:.95rem; color:var(--text); }
.gl-card.gl-agregar small { font-size:.78rem; }
.gl-tit-mod { display:flex; align-items:center; justify-content:space-between; margin:.25rem .15rem -.35rem; font-family:var(--gl-font); }
.gl-tit-mod h4 { font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); font-weight:600; margin:0; }
.gl-tit-mod button { display:inline-flex; align-items:center; gap:.45rem; padding:.45rem .85rem; border-radius:999px; background:var(--chip); border:1px solid var(--chip-line); font-size:.78rem; font-weight:600; color:var(--text); }
@media (max-width:640px) { body.gl #home-grid { grid-template-columns:1fr 1fr; gap:.7rem; } .gl-card { min-height:9.5rem; padding:.9rem; gap:.45rem; border-radius:1.1rem; } .gl-card p { display:none; } .gl-ico { width:2.6rem; height:2.6rem; font-size:1.1rem; } .gl-emo { font-size:2rem; } .gl-card h3 { font-size:.92rem; } }

/* ---------- Barra lateral ---------- */
.gl-zona { position:fixed; left:0; top:0; bottom:0; width:14px; z-index:60; }
.gl-guia { position:fixed; left:4px; top:50%; width:4px; height:64px; margin-top:-32px; border-radius:4px; background:var(--p-accent2); opacity:.45; z-index:59; transition:opacity .3s, height .3s; pointer-events:none; }
.gl-zona:hover + .gl-guia { opacity:1; height:90px; }
body:not(.gl-app) .gl-zona, body:not(.gl-app) .gl-guia { display:none; }
.gl-lateral { position:fixed; left:0; top:0; bottom:0; width:17rem; z-index:70; display:flex; flex-direction:column; background:var(--side-bg); color:var(--side-text); border-right:1px solid var(--side-line);
  backdrop-filter:blur(22px) saturate(1.4); -webkit-backdrop-filter:blur(22px) saturate(1.4); box-shadow:20px 0 60px rgba(0,0,0,.35); font-family:var(--gl-font);
  transform:translateX(-104%); opacity:0; filter:blur(2px); transition:transform .55s cubic-bezier(.22,1,.36,1), opacity .4s ease, filter .4s ease; }
body.gl-menu .gl-lateral { transform:none; opacity:1; filter:none; }
.gl-velo { position:fixed; inset:0; z-index:65; background:rgba(5,10,20,.28); opacity:0; pointer-events:none; transition:opacity .45s; }
body.gl-menu .gl-velo { opacity:1; pointer-events:auto; }
.gl-lat-cab { display:flex; align-items:center; gap:.7rem; padding:1.3rem 1.2rem 1rem; }
.gl-lat-cab b { display:block; font-size:.95rem; } .gl-lat-cab small { font-size:.72rem; opacity:.6; }
.gl-lat-nav { flex:1; overflow-y:auto; padding:.25rem .75rem .75rem; }
.gl-lat-nav h6 { font-size:.65rem; letter-spacing:.14em; text-transform:uppercase; opacity:.45; font-weight:600; margin:1rem .6rem .35rem; }
.gl-item { width:100%; display:flex; align-items:center; gap:.75rem; padding:.55rem .65rem; border-radius:.65rem; font-size:.88rem; text-align:left; color:inherit; position:relative;
  opacity:0; transform:translateX(-14px); transition:background .2s, opacity .4s ease, transform .5s cubic-bezier(.22,1,.36,1); }
body.gl-menu .gl-item { opacity:1; transform:none; transition-delay:calc(var(--i) * 22ms + 80ms); }
.gl-item:hover { background:var(--side-hover); }
.gl-item.activo { background:var(--side-active); }
.gl-item.activo::before { content:""; position:absolute; left:-.75rem; top:.5rem; bottom:.5rem; width:3px; border-radius:3px; background:var(--p-accent2); }
.gl-item i { width:1.1rem; text-align:center; opacity:.85; }
.gl-item .oc { margin-left:auto; font-size:.62rem; opacity:.45; }
.gl-lat-pie { display:flex; gap:.5rem; padding:.85rem 1rem 1.1rem; border-top:1px solid var(--side-line); }
.gl-lat-pie button { flex:1; display:flex; align-items:center; justify-content:center; gap:.5rem; padding:.55rem; border-radius:.65rem; font-size:.8rem; background:var(--side-hover); color:inherit; }
.gl-lat-pie button:hover { background:var(--side-active); }
body.gl-fijo .gl-lat-pie .fijar { background:var(--p-accent2); color:#fff; }
body.gl-fijo.gl-app .gl-lateral { transform:none; opacity:1; filter:none; }
body.gl-fijo.gl-app .gl-item { opacity:1; transform:none; }
body.gl-fijo.gl-app #view-technical-app { padding-left:17rem; }
body.gl-fijo .gl-zona, body.gl-fijo .gl-guia { display:none; }
body.gl-fijo.gl-menu .gl-velo { opacity:0; pointer-events:none; }
@media (max-width:820px) { body.gl-fijo.gl-app #view-technical-app { padding-left:0; } }

/* ---------- Panel "Personalizar" ---------- */
.gl-velo2 { position:fixed; inset:0; z-index:84; background:rgba(5,10,20,.3); opacity:0; pointer-events:none; transition:opacity .4s; }
body.gl-perso .gl-velo2 { opacity:1; pointer-events:auto; }
.gl-cajon { position:fixed; top:12px; right:12px; bottom:12px; width:26rem; max-width:calc(100% - 24px); z-index:85; border-radius:1.5rem; display:flex; flex-direction:column; font-family:var(--gl-font); color:var(--text);
  background:var(--drawer); border:1px solid var(--glass-line); backdrop-filter:blur(26px) saturate(1.4); -webkit-backdrop-filter:blur(26px) saturate(1.4); box-shadow:0 30px 80px rgba(0,0,0,.35);
  transform:translateX(calc(100% + 30px)); transition:transform .55s cubic-bezier(.22,1,.36,1); }
body.gl-perso .gl-cajon { transform:none; }
.gl-cajon .cab { display:flex; align-items:center; gap:.75rem; padding:1.2rem 1.35rem .85rem; }
.gl-cajon .cab h3 { font-size:1.15rem; font-weight:600; margin:0; } .gl-cajon .cab p { font-size:.78rem; color:var(--muted); margin:0; }
.gl-cajon .cab .x { margin-left:auto; width:2.2rem; height:2.2rem; border-radius:50%; display:grid; place-items:center; background:var(--chip); border:1px solid var(--chip-line); color:var(--text); }
.gl-pest { display:flex; gap:.25rem; margin:0 1.35rem .6rem; padding:.25rem; border-radius:999px; background:var(--chip); border:1px solid var(--chip-line); }
.gl-pest button { flex:1; padding:.5rem .4rem; border-radius:999px; font-size:.78rem; font-weight:600; color:var(--muted); transition:all .3s; }
.gl-pest button.on { background:var(--p-accent2); color:#fff; }
.gl-cajon .cuerpo { flex:1; overflow-y:auto; padding:.35rem 1.35rem 1.1rem; }
.gl-hoja { display:none; } .gl-hoja.on { display:block; animation:glSube .4s cubic-bezier(.22,1,.36,1); }
.gl-ayuda { font-size:.78rem; color:var(--muted); margin:.25rem .1rem .75rem; line-height:1.45; }
.gl-lista { list-style:none; display:grid; gap:.4rem; margin:0; padding:0; }
.gl-fila { display:flex; align-items:center; gap:.6rem; padding:.5rem .6rem; border-radius:.9rem; background:var(--row); border:1px solid var(--glass-line); user-select:none; transition:opacity .2s, box-shadow .2s; }
.gl-fila.off { opacity:.5; } .gl-fila.arrastra { opacity:.35; }
.gl-fila.sobre-arriba { box-shadow:0 -3px 0 var(--p-accent2); } .gl-fila.sobre-abajo { box-shadow:0 3px 0 var(--p-accent2); }
.gl-fila .agarre { cursor:grab; color:var(--muted); padding:0 .2rem; }
.gl-fila .mi { width:2rem; height:2rem; border-radius:.6rem; display:grid; place-items:center; color:#fff; font-size:.8rem; background:linear-gradient(135deg,var(--c1),var(--c2)); }
.gl-fila .mn { flex:1; font-size:.88rem; font-weight:500; } .gl-fila .mn small { display:block; font-size:.68rem; color:var(--muted); font-weight:400; }
.gl-sw { position:relative; width:2.6rem; height:1.5rem; border-radius:999px; background:var(--line-strong); transition:background .3s; flex:none; }
.gl-sw::after { content:""; position:absolute; top:3px; left:3px; width:1.12rem; height:1.12rem; border-radius:50%; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.25); transition:transform .35s cubic-bezier(.34,1.56,.64,1); }
.gl-sw.on { background:var(--p-accent2); } .gl-sw.on::after { transform:translateX(1.1rem); }
.gl-cuenta { font-size:.75rem; font-weight:600; color:var(--muted); margin:.85rem .1rem 0; }
.gl-prev { display:flex; flex-wrap:wrap; gap:.35rem; padding:.75rem; border-radius:1rem; background:var(--row); border:1px dashed var(--line-strong); margin-bottom:.85rem; min-height:3.2rem; }
.gl-prev .gl-sc { pointer-events:none; }
.gl-elegir { display:flex; flex-wrap:wrap; gap:.45rem; }
.gl-elegir button { display:inline-flex; align-items:center; gap:.45rem; padding:.5rem .75rem; border-radius:999px; font-size:.8rem; font-weight:600; background:var(--row); border:1px solid var(--glass-line); color:var(--muted); transition:all .25s; }
.gl-elegir button.on { background:var(--p-accent2); color:#fff; border-color:transparent; }
.gl-temas { display:grid; gap:.6rem; }
.gl-temas button { display:flex; align-items:center; gap:.75rem; padding:.6rem .75rem; border-radius:1rem; background:var(--row); border:2px solid transparent; text-align:left; color:var(--text); transition:all .25s; }
.gl-temas button:hover { transform:translateX(3px); } .gl-temas button.on { border-color:var(--p-accent2); }
.gl-temas .pts { display:flex; } .gl-temas .pts i { width:1.35rem; height:1.35rem; border-radius:50%; margin-left:-.4rem; border:2px solid var(--bg); } .gl-temas .pts i:first-child { margin-left:0; }
.gl-temas b { font-size:.88rem; font-weight:600; flex:1; }
.gl-modos { display:flex; gap:.5rem; margin-top:1rem; }
.gl-modos button { flex:1; display:flex; flex-direction:column; align-items:center; gap:.35rem; padding:.75rem .5rem; border-radius:1rem; background:var(--row); border:2px solid transparent; font-size:.78rem; font-weight:600; color:var(--text); }
.gl-modos button.on { border-color:var(--p-accent2); }
.gl-modos i { font-size:1.15rem; }
.gl-cajon .pie { display:flex; gap:.5rem; padding:.85rem 1.35rem 1.2rem; border-top:1px solid var(--glass-line); }
.gl-cajon .pie button { flex:1; padding:.7rem; border-radius:999px; font-size:.85rem; font-weight:600; display:flex; align-items:center; justify-content:center; gap:.5rem; }
.gl-cajon .pie .sec { background:var(--chip); border:1px solid var(--chip-line); color:var(--text); }
.gl-cajon .pie .ok { background:var(--p-accent2); color:#fff; }
.gl-aviso { position:fixed; left:50%; top:5.2rem; transform:translate(-50%,-10px); opacity:0; z-index:90; padding:.6rem 1rem; border-radius:999px; background:var(--side-bg); color:var(--side-text); font-size:.8rem; font-weight:600; transition:all .35s; pointer-events:none; box-shadow:0 10px 30px rgba(0,0,0,.2); font-family:var(--gl-font); }
.gl-aviso.ver { opacity:1; transform:translate(-50%,0); }

/* Barra superior más limpia: "Ver portal web" y "Guía" pasan al menú lateral; Inicio queda como ícono */
body.gl header.gl-top .gl-der > .gl-sobra { display:none !important; }
body.gl header.gl-top .gl-der > .gl-inicio span { display:none !important; }
body.gl header.gl-top .gl-der > .gl-inicio { padding-left:.7rem !important; padding-right:.7rem !important; }
/* En modo oscuro y gris, los títulos de color del tablero se aclaran para que se lean */
body.gl[data-gl-modo=oscuro].gl-home #view-home :is([class*="text-emerald-"],[class*="text-orange-"],[class*="text-violet-"],[class*="text-sky-"],[class*="text-amber-"],[class*="text-rose-"]),
body.gl[data-gl-modo=gris].gl-home #view-home :is([class*="text-emerald-"],[class*="text-orange-"],[class*="text-violet-"],[class*="text-sky-"],[class*="text-amber-"],[class*="text-rose-"]) { filter:brightness(1.9) saturate(.85); }
/* Tarjetas de "funciones Pro" (plan Base): al final y con el mismo estilo */
body.gl #home-grid > .vitrina-pro { order:9000; border-radius:1.5rem; background:transparent; border:2px dashed var(--line-strong); color:var(--muted); height:auto; min-height:12.5rem; font-family:var(--gl-font); }
body.gl #home-grid > .vitrina-pro h3 { color:var(--text); }

/* =====================================================================
   ADMINISTRACIÓN EN MÓDULOS (admin-panel.js)
   ===================================================================== */
#view-admin.adm-ordenado { background:linear-gradient(180deg,#eef3f8,#f6f8fb) !important; font-family:'Outfit','Inter',sans-serif; }
#view-admin .adm-oculta { display:none !important; }
#view-admin .adm-tit { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:.4rem; margin-top:.4rem; }
#view-admin .adm-tit h2 { font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:#64748b; font-weight:700; }
#view-admin .adm-tit p { font-size:.75rem; color:#94a3b8; }
.adm-modulos { display:grid; grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr)); gap:.9rem; }
.adm-mod { position:relative; text-align:left; display:flex; flex-direction:column; gap:.35rem; padding:1rem 1.05rem 1.05rem; border-radius:1.25rem; background:rgba(255,255,255,.85); border:1px solid #e2e8f0; box-shadow:0 6px 20px rgba(15,23,42,.06);
  transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s, border-color .25s; animation:glSube .5s cubic-bezier(.22,1,.36,1) both; }
.adm-mod:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(15,23,42,.12); }
.adm-mod.on { border-color:var(--c1); box-shadow:0 0 0 3px color-mix(in srgb,var(--c1) 25%,transparent), 0 16px 34px rgba(15,23,42,.12); }
.adm-ico { width:2.7rem; height:2.7rem; border-radius:.85rem; display:grid; place-items:center; color:#fff; font-size:1.1rem; background:linear-gradient(135deg,var(--c1),var(--c2)); box-shadow:0 8px 18px -8px var(--c1); margin-bottom:.25rem; }
.adm-mod b { font-size:.98rem; color:#0f172a; font-weight:600; }
.adm-mod small { font-size:.74rem; color:#64748b; line-height:1.35; }
.adm-mod em { font-style:normal; font-size:.72rem; font-weight:700; color:#475569; margin-top:.2rem; }
.adm-mod em.alerta { color:#e11d48; }
.adm-num { position:absolute; top:.7rem; right:.75rem; min-width:1.6rem; height:1.6rem; padding:0 .45rem; border-radius:999px; background:#e11d48; color:#fff; font-size:.8rem; font-weight:800; display:grid; place-items:center; box-shadow:0 6px 14px -4px #e11d48; animation:admLatido 2s ease-in-out infinite; }
@keyframes admLatido { 50% { transform:scale(1.12); } }
#view-admin #adm-host > details, #view-admin #adm-host > section { border-radius:1.25rem; }
#view-admin #adm-host > details > summary { pointer-events:none; }
#view-admin #adm-host > details > summary .fa-chevron-right { display:none; }

/* =====================================================================
   CONFIGURACIÓN DEL TALLER: pantalla amplia con menú de secciones
   ===================================================================== */
body.gl #modal-config.gl-cfg { background:rgba(10,18,32,.45); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); padding:1rem; }
body.gl #modal-config.gl-cfg > div { max-width:78rem; width:100%; min-height:0; margin:1rem 0; border-radius:1.5rem; display:flex; flex-direction:column; font-family:var(--gl-font); overflow:hidden; }
body.gl #modal-config.gl-cfg > div > div:first-child { background:linear-gradient(135deg,var(--p-accent),var(--p-accent2)) !important; border-radius:0; padding:1rem 1.5rem; }
body.gl #modal-config.gl-cfg > div > div:nth-child(2) { display:grid; grid-template-columns:16.5rem minmax(0,1fr); grid-auto-rows:min-content; column-gap:2rem; row-gap:0; padding:1.5rem 1.75rem 1.25rem; align-content:start; }
body.gl #modal-config.gl-cfg > div > div:nth-child(2) > * { grid-column:2; margin:0 0 1.1rem !important; }
body.gl #modal-config.gl-cfg > div > div:nth-child(2) > *:last-child { margin-bottom:0 !important; }
body.gl #modal-config.gl-cfg .gl-cfg-menu { grid-column:1 !important; grid-row:1 / span 20; margin:0 !important; align-self:start; position:sticky; top:1rem; display:flex !important; flex-direction:column; flex-wrap:nowrap !important; gap:.25rem !important;
  background:#f8fafc !important; border:1px solid #e2e8f0; border-radius:1.1rem !important; padding:.6rem !important; }
.gl-cfg-menu-tit { font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:#94a3b8; font-weight:700; margin:.35rem .6rem .4rem; }
body.gl #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab] { flex:none !important; display:flex; align-items:center; gap:.7rem; text-align:left; padding:.6rem .7rem !important; border-radius:.8rem !important; background:transparent !important; box-shadow:none !important; color:#334155 !important; transition:background .2s, transform .2s; }
body.gl #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab]:hover { background:#eef2f7 !important; transform:translateX(2px); }
body.gl #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab].on { background:#fff !important; box-shadow:0 4px 14px rgba(15,23,42,.08) !important; color:#0f172a !important; }
body.gl #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab] > i { width:2rem; height:2rem; border-radius:.6rem; display:grid; place-items:center; flex:none; background:#e2e8f0; color:#475569; font-size:.85rem; transition:all .25s; }
body.gl #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab].on > i { background:linear-gradient(135deg,var(--p-accent2),var(--p-accent)); color:#fff; box-shadow:0 6px 14px -6px var(--p-accent2); }
body.gl #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab] b { display:block; font-size:.88rem; font-weight:600; }
body.gl #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab] small { display:block; font-size:.7rem; color:#94a3b8; font-weight:400; line-height:1.2; }
.gl-cfg-cab { padding-bottom:.9rem; border-bottom:1px solid #eef2f7; }
.gl-cfg-cab .paso { font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--p-accent2); }
.gl-cfg-cab h4 { font-size:1.45rem; font-weight:700; color:#0f172a; margin:.15rem 0 .1rem; letter-spacing:-.01em; }
.gl-cfg-cab h4 i { color:var(--p-accent2); margin-right:.3rem; }
.gl-cfg-cab p { font-size:.85rem; color:#64748b; }
.gl-cfg-pasos { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0 .25rem; border-top:1px dashed #e2e8f0; }
.gl-cfg-pasos button { display:inline-flex; align-items:center; gap:.7rem; padding:.65rem 1rem; border-radius:1rem; border:1px solid #e2e8f0; background:#fff; color:#0f172a; font-weight:600; font-size:.9rem; text-align:left; transition:all .25s; }
.gl-cfg-pasos button small { display:block; font-size:.68rem; color:#94a3b8; font-weight:600; text-transform:uppercase; letter-spacing:.05em; }
.gl-cfg-pasos button.sig { background:linear-gradient(135deg,var(--p-accent2),var(--p-accent)); color:#fff; border-color:transparent; text-align:right; }
.gl-cfg-pasos button.sig small { color:rgba(255,255,255,.75); }
.gl-cfg-pasos button:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(15,23,42,.12); }
.gl-cfg-pasos .puntos { display:flex; gap:.35rem; }
.gl-cfg-pasos .puntos i { width:.45rem; height:.45rem; border-radius:999px; background:#cbd5e1; transition:all .3s; }
.gl-cfg-pasos .puntos i.on { width:1.4rem; background:var(--p-accent2); }
@media (max-width:820px) {
  body.gl #modal-config.gl-cfg > div > div:nth-child(2) { grid-template-columns:1fr; padding:1rem; }
  body.gl #modal-config.gl-cfg > div > div:nth-child(2) > * { grid-column:1; }
  body.gl #modal-config.gl-cfg .gl-cfg-menu { grid-row:auto; position:static; flex-direction:row !important; overflow-x:auto; }
  body.gl #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab] small, .gl-cfg-menu-tit { display:none; }
  .gl-cfg-pasos .puntos { display:none; }
}
/* Submenú de Configuración en la barra lateral */
.gl-cfg-item .flecha { margin-left:auto; font-size:.7rem; transition:transform .3s; }
.gl-cfg-item.abierto .flecha { transform:rotate(180deg); }
.gl-sub { display:grid; grid-template-rows:0fr; transition:grid-template-rows .4s cubic-bezier(.22,1,.36,1); margin-left:1.35rem; border-left:1px solid var(--side-line); padding-left:.4rem; }
.gl-sub > * { overflow:hidden; }
.gl-sub { overflow:hidden; max-height:0; transition:max-height .45s cubic-bezier(.22,1,.36,1); display:block; }
.gl-sub.abierto { max-height:30rem; }
.gl-subitem { width:100%; display:flex; align-items:center; gap:.6rem; padding:.42rem .6rem; border-radius:.55rem; font-size:.82rem; color:inherit; opacity:.8; text-align:left; }
.gl-subitem:hover { background:var(--side-hover); opacity:1; }
.gl-subitem.activo { background:var(--side-active); opacity:1; }
.gl-subitem i { width:1rem; text-align:center; font-size:.78rem; opacity:.8; }

/* =====================================================================
   TEMA EN EL RESTO DE LAS PANTALLAS (Buscar orden, Caja, Venta directa, Contabilidad...)
   Solo cambia el fondo: los recuadros siguen blancos para que se lea igual que siempre.
   En modo oscuro o gris estas pantallas usan el fondo claro del tema (el oscuro completo es la etapa siguiente).
   ===================================================================== */
body.gl.gl-app:not(.gl-home) { background:var(--bg) !important; transition:background-color .6s ease; }
body.gl.gl-app .gl-blobs { opacity:1; }
body.gl.gl-app:not(.gl-home) .gl-blobs i { opacity:.28; }
body.gl[data-gl-modo=oscuro].gl-app:not(.gl-home) .gl-blobs i, body.gl[data-gl-modo=gris].gl-app:not(.gl-home) .gl-blobs i { opacity:.35; }
/* Recuadros blancos con un poco más de aire y sombra suave */
body.gl.gl-app:not(.gl-home) main > section > .bg-white,
body.gl.gl-app:not(.gl-home) main > section > div > .bg-white { border-color:rgba(255,255,255,.9) !important; box-shadow:0 10px 30px rgba(20,40,70,.08) !important; border-radius:1.25rem !important; }
body.gl.gl-app:not(.gl-home) main section h2 { font-family:var(--gl-font); letter-spacing:-.01em; }

/* Ventanas (Ingresar orden, cobrar, etc.): fondo difuminado y encabezado con los colores del tema */
body.gl [id^="modal-"].fixed { background:rgba(10,18,32,.45) !important; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
body.gl [id^="modal-"].fixed > div > div.bg-slate-900:first-child { background:linear-gradient(135deg,var(--p-accent),var(--p-accent2)) !important; }
body.gl [id^="modal-"].fixed > div.bg-white { border-radius:1.5rem; box-shadow:0 30px 80px rgba(0,0,0,.3) !important; font-family:var(--gl-font); }
/* Ingresar orden: selector "Equipo en taller / Visita" y bloques con el color del tema */
body.gl #modal-new-order [data-order-type] { transition:all .25s; }
body.gl #modal-new-order [data-order-type].bg-white { background:linear-gradient(135deg,var(--p-accent2),var(--p-accent)) !important; color:#fff !important; box-shadow:0 6px 16px -6px var(--p-accent2) !important; }
body.gl #modal-new-order form > div > .flex > h4, body.gl #modal-new-order form h4 { color:var(--p-accent) !important; }
body.gl #modal-new-order button[type="submit"] { background:linear-gradient(135deg,var(--p-accent2),var(--p-accent)) !important; }

/* =====================================================================
   AGENDA DE VISITAS CON CALENDARIO (agenda.js)
   ===================================================================== */
#ag-calendario { margin-bottom:1.25rem; font-family:'Outfit','Inter',sans-serif; }
.ag-cal { background:#fff; border:1px solid #e2e8f0; border-radius:1.4rem; padding:1.15rem 1.25rem 1rem; box-shadow:0 10px 30px rgba(20,40,70,.08); }
.ag-cab { display:flex; align-items:center; justify-content:space-between; gap:.75rem; flex-wrap:wrap; margin-bottom:.8rem; }
.ag-cab h3 { font-size:1.35rem; font-weight:700; color:#0f172a; letter-spacing:-.01em; }
.ag-cab p { font-size:.8rem; color:#64748b; }
.ag-nav { display:flex; gap:.35rem; }
.ag-nav button { min-width:2.3rem; height:2.3rem; padding:0 .8rem; border-radius:.75rem; border:1px solid #e2e8f0; background:#f8fafc; color:#334155; font-size:.82rem; font-weight:600; }
.ag-nav button:hover { background:#eef2f7; }
.ag-aviso { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; padding:.6rem .8rem; border-radius:.9rem; background:#f0f9ff; border:1px solid #bae6fd; color:#075985; font-size:.8rem; margin-bottom:.75rem; }
.ag-aviso.pausa { background:#fff7ed; border-color:#fed7aa; color:#9a3412; }
.ag-aviso button { margin-left:auto; font-weight:700; text-decoration:underline; }
.ag-grilla { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.4rem; }
.ag-sem { text-align:center; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#94a3b8; padding:.2rem 0; }
.ag-dia { position:relative; min-height:5rem; border-radius:.9rem; padding:.45rem .5rem; text-align:left; display:flex; flex-direction:column; gap:.15rem; border:1px solid #e2e8f0; background:#fff; transition:transform .2s, box-shadow .2s, border-color .2s; }
.ag-dia:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(15,23,42,.08); }
.ag-dia .num { font-size:.95rem; font-weight:700; color:#0f172a; }
.ag-dia .cant { font-size:.7rem; font-weight:700; color:#fff; background:var(--p-accent2,#0284c7); border-radius:999px; padding:.05rem .45rem; align-self:flex-start; }
.ag-dia .est { font-size:.66rem; color:#64748b; margin-top:auto; }
.ag-dia.trabaja { background:linear-gradient(180deg,#f0fdf4,#fff); border-color:#bbf7d0; }
.ag-dia.trabaja .est { color:#15803d; }
.ag-dia.libre { background:#f8fafc; }
.ag-dia.libre .num { color:#94a3b8; }
.ag-dia.bloq { background:repeating-linear-gradient(135deg,#fff7ed,#fff7ed 6px,#ffedd5 6px,#ffedd5 12px); border-color:#fed7aa; }
.ag-dia.bloq .est { color:#c2410c; font-weight:600; }
.ag-dia.lleno { background:linear-gradient(180deg,#fff1f2,#fff); border-color:#fecdd3; }
.ag-dia.lleno .est { color:#e11d48; font-weight:700; }
.ag-dia.pasado { opacity:.55; }
.ag-dia.hoy { box-shadow:0 0 0 2px var(--p-accent2,#0284c7); }
.ag-dia.hoy .num::after { content:" · hoy"; font-size:.65rem; font-weight:700; color:var(--p-accent2,#0284c7); }
.ag-dia.elegido { box-shadow:0 0 0 3px var(--p-accent,#0369a1), 0 10px 22px rgba(15,23,42,.12); transform:translateY(-2px); }
.ag-ref { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem 1rem; margin-top:.85rem; font-size:.72rem; color:#64748b; }
.ag-ref i { display:inline-block; width:.75rem; height:.75rem; border-radius:.25rem; margin-right:.3rem; vertical-align:-1px; border:1px solid #cbd5e1; }
.ag-ref i.t { background:#dcfce7; border-color:#86efac; } .ag-ref i.l { background:#f1f5f9; } .ag-ref i.b { background:#ffedd5; border-color:#fdba74; } .ag-ref i.c { background:#ffe4e6; border-color:#fda4af; }
.ag-ref button { margin-left:auto; padding:.45rem .8rem; border-radius:999px; background:#0f172a; color:#fff; font-weight:600; font-size:.75rem; }
.ag-dia-box { margin-top:1rem; background:#fff; border:1px solid #e2e8f0; border-radius:1.25rem; padding:1rem 1.15rem; box-shadow:0 10px 30px rgba(20,40,70,.06); animation:glSube .4s cubic-bezier(.22,1,.36,1); }
.ag-dia-cab { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.6rem; }
.ag-dia-cab h4 { font-size:1.05rem; font-weight:700; color:#0f172a; }
.ag-dia-cab button { font-size:.78rem; font-weight:600; color:var(--p-accent2,#0284c7); }
.ag-visita { display:flex; align-items:center; gap:1rem; padding:.7rem 0; border-top:1px solid #f1f5f9; }
.ag-visita .hora { font-size:1.35rem; font-weight:800; color:#0f172a; min-width:4.5rem; }
.ag-visita .hora small { display:block; font-size:.66rem; font-weight:600; color:#94a3b8; }
.ag-visita .info { flex:1; min-width:0; display:flex; flex-direction:column; }
.ag-visita .info b { color:#0f172a; } .ag-visita .info span { font-size:.82rem; color:#475569; } .ag-visita .info small { font-size:.72rem; color:#94a3b8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ag-visita .acc { display:flex; gap:.4rem; }
.ag-visita .acc button { padding:.45rem .8rem; border-radius:.7rem; background:#f1f5f9; font-size:.75rem; font-weight:700; color:#334155; }
.ag-nada { font-size:.85rem; color:#64748b; padding:.5rem 0; }
.ag-nada button { font-weight:700; color:var(--p-accent2,#0284c7); text-decoration:underline; }
@media (max-width:640px) { .ag-dia { min-height:3.4rem; padding:.3rem; } .ag-dia .est { display:none; } .ag-dia .cant { font-size:.6rem; padding:0 .3rem; } .ag-visita { flex-wrap:wrap; } }

/* =====================================================================
   MODO OSCURO Y GRIS EN TODAS LAS PANTALLAS (7/11)
   Se "traducen" los colores claros de siempre (blanco, grises) a los del modo elegido.
   Los recuadros quedan como tarjetas, solo que oscuras o grises. Al imprimir no se aplica.
   ===================================================================== */
@media screen {

  body.gl[data-gl-modo=oscuro].gl-app { --sf:#111a2b; --sf2:#0c1422; --sf3:#1a2539; --ln:rgba(255,255,255,.09); --tx:#e8eef7; --mu:#94a3b8; color-scheme:dark; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main, [id^="modal-"]) .bg-white, body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main, [id^="modal-"]) [class*="bg-white/"] { background-color:var(--sf) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main, [id^="modal-"]) :is(.bg-slate-50,.bg-slate-100,.bg-gray-50,.bg-gray-100,.bg-slate-200) { background-color:var(--sf2) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main, [id^="modal-"]) :is([class*="bg-sky-50"],[class*="bg-emerald-50"],[class*="bg-amber-50"],[class*="bg-rose-50"],[class*="bg-violet-50"],[class*="bg-orange-50"],[class*="bg-indigo-50"],[class*="bg-blue-50"],[class*="bg-green-50"],[class*="bg-red-50"],[class*="bg-yellow-50"],[class*="bg-teal-50"],[class*="bg-purple-50"],[class*="bg-pink-50"],[class*="bg-cyan-50"],[class*="bg-lime-50"],[class*="bg-fuchsia-50"],[class*="bg-sky-100"],[class*="bg-emerald-100"],[class*="bg-amber-100"],[class*="bg-rose-100"],[class*="bg-violet-100"],[class*="bg-orange-100"],[class*="bg-indigo-100"],[class*="bg-blue-100"],[class*="bg-green-100"],[class*="bg-red-100"],[class*="bg-yellow-100"]) { background-color:rgba(255,255,255,.07) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main, [id^="modal-"]) :is(.text-slate-900,.text-slate-800,.text-slate-700,.text-gray-900,.text-gray-800,.text-gray-700,.text-black) { color:var(--tx) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main, [id^="modal-"]) :is(.text-slate-600,.text-slate-500,.text-slate-400,.text-gray-600,.text-gray-500,.text-gray-400) { color:var(--mu) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main, [id^="modal-"]) :is([class*="text-sky-7"],[class*="text-sky-8"],[class*="text-emerald-7"],[class*="text-emerald-8"],[class*="text-amber-7"],[class*="text-amber-8"],[class*="text-rose-7"],[class*="text-rose-6"],[class*="text-violet-7"],[class*="text-orange-7"],[class*="text-indigo-7"],[class*="text-blue-7"],[class*="text-green-7"],[class*="text-red-7"],[class*="text-red-6"],[class*="text-teal-7"],[class*="text-sky-6"],[class*="text-emerald-6"],[class*="text-violet-6"]) { filter:brightness(1.75) saturate(.9); }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main, [id^="modal-"]) :is([class*="border-slate"],[class*="border-gray"],.border,.border-t,.border-b,.border-l,.border-r,.border-2) { border-color:var(--ln) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main, [id^="modal-"]) :is([class*="divide-slate"],[class*="divide-gray"],.divide-y) > * + * { border-color:var(--ln) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main, [id^="modal-"]) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea) { background-color:var(--sf2) !important; color:var(--tx) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main, [id^="modal-"]) :is(input,textarea)::placeholder { color:var(--mu) !important; opacity:.8; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main, [id^="modal-"]) :is([class*="hover:bg-slate"],[class*="hover:bg-white"],[class*="hover:bg-gray"]):hover { background-color:var(--sf3) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main, [id^="modal-"]) tr:hover > td { background-color:rgba(255,255,255,.03); }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main, [id^="modal-"]) .shadow-sm, body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main, [id^="modal-"]) .shadow { box-shadow:0 8px 24px rgba(0,0,0,.25) !important; }
  body.gl[data-gl-modo=oscuro].gl-app #view-technical-app main > section > .bg-white, body.gl[data-gl-modo=oscuro].gl-app #view-technical-app main > section > div > .bg-white { border-color:var(--ln) !important; box-shadow:0 10px 30px rgba(0,0,0,.28) !important; }
  body.gl[data-gl-modo=oscuro].gl-app [id^="modal-"].fixed > div.bg-white { background:var(--sf) !important; color:var(--tx); }
  /* Pantallas nuevas (agenda, configuración) */
  body.gl[data-gl-modo=oscuro].gl-app :is(.ag-cal,.ag-dia-box) { background:var(--sf) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .ag-cab h3, body.gl[data-gl-modo=oscuro].gl-app .ag-dia .num, body.gl[data-gl-modo=oscuro].gl-app .ag-dia-cab h4, body.gl[data-gl-modo=oscuro].gl-app .ag-visita .hora, body.gl[data-gl-modo=oscuro].gl-app .ag-visita .info b { color:var(--tx) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .ag-dia { background:var(--sf2) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .ag-dia.trabaja { background:linear-gradient(180deg,rgba(34,197,94,.14),var(--sf2)) !important; border-color:rgba(34,197,94,.35) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .ag-dia.trabaja .est { color:#86efac; }
  body.gl[data-gl-modo=oscuro].gl-app .ag-dia.bloq { background:repeating-linear-gradient(135deg,rgba(251,146,60,.14),rgba(251,146,60,.14) 6px,rgba(251,146,60,.06) 6px,rgba(251,146,60,.06) 12px) !important; border-color:rgba(251,146,60,.35) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .ag-dia.lleno { background:linear-gradient(180deg,rgba(244,63,94,.16),var(--sf2)) !important; border-color:rgba(244,63,94,.4) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .ag-nav button, body.gl[data-gl-modo=oscuro].gl-app .ag-visita .acc button { background:var(--sf2) !important; border-color:var(--ln) !important; color:var(--tx) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .ag-visita { border-color:var(--ln) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .ag-aviso { background:rgba(56,189,248,.1) !important; border-color:rgba(56,189,248,.3) !important; color:#bae6fd !important; }
  body.gl[data-gl-modo=oscuro].gl-app #modal-config.gl-cfg .gl-cfg-menu { background:var(--sf2) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=oscuro].gl-app #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab] { color:var(--tx) !important; }
  body.gl[data-gl-modo=oscuro].gl-app #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab]:hover { background:var(--sf3) !important; }
  body.gl[data-gl-modo=oscuro].gl-app #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab].on { background:var(--sf3) !important; }
  body.gl[data-gl-modo=oscuro].gl-app #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab] > i { background:var(--sf3); color:var(--mu); }
  body.gl[data-gl-modo=oscuro].gl-app .gl-cfg-cab { border-color:var(--ln); } body.gl[data-gl-modo=oscuro].gl-app .gl-cfg-cab h4 { color:var(--tx); } body.gl[data-gl-modo=oscuro].gl-app .gl-cfg-cab p { color:var(--mu); }
  body.gl[data-gl-modo=oscuro].gl-app .gl-cfg-pasos { border-color:var(--ln); } body.gl[data-gl-modo=oscuro].gl-app .gl-cfg-pasos button:not(.sig) { background:var(--sf2); border-color:var(--ln); color:var(--tx); }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-dias label, body.gl[data-gl-modo=oscuro].gl-app .mtj-turno select, body.gl[data-gl-modo=oscuro].gl-app .mtj-turno input[type=date], body.gl[data-gl-modo=oscuro].gl-app .mtj-turno input[type=text] { background:var(--sf2) !important; color:var(--tx) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-turno .mtj-sub2, body.gl[data-gl-modo=oscuro].gl-app .mtj-sw, body.gl[data-gl-modo=oscuro].gl-app .mtj-turno-grid label { color:var(--tx) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-bloq-lista span { background:var(--sf2); border-color:var(--ln); color:var(--tx); }

  body.gl[data-gl-modo=gris].gl-app { --sf:#4a5058; --sf2:#41464d; --sf3:#565c65; --ln:rgba(255,255,255,.12); --tx:#f3f5f7; --mu:#c3c9d0; color-scheme:dark; }
  body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main, [id^="modal-"]) .bg-white, body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main, [id^="modal-"]) [class*="bg-white/"] { background-color:var(--sf) !important; }
  body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main, [id^="modal-"]) :is(.bg-slate-50,.bg-slate-100,.bg-gray-50,.bg-gray-100,.bg-slate-200) { background-color:var(--sf2) !important; }
  body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main, [id^="modal-"]) :is([class*="bg-sky-50"],[class*="bg-emerald-50"],[class*="bg-amber-50"],[class*="bg-rose-50"],[class*="bg-violet-50"],[class*="bg-orange-50"],[class*="bg-indigo-50"],[class*="bg-blue-50"],[class*="bg-green-50"],[class*="bg-red-50"],[class*="bg-yellow-50"],[class*="bg-teal-50"],[class*="bg-purple-50"],[class*="bg-pink-50"],[class*="bg-cyan-50"],[class*="bg-lime-50"],[class*="bg-fuchsia-50"],[class*="bg-sky-100"],[class*="bg-emerald-100"],[class*="bg-amber-100"],[class*="bg-rose-100"],[class*="bg-violet-100"],[class*="bg-orange-100"],[class*="bg-indigo-100"],[class*="bg-blue-100"],[class*="bg-green-100"],[class*="bg-red-100"],[class*="bg-yellow-100"]) { background-color:rgba(255,255,255,.07) !important; }
  body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main, [id^="modal-"]) :is(.text-slate-900,.text-slate-800,.text-slate-700,.text-gray-900,.text-gray-800,.text-gray-700,.text-black) { color:var(--tx) !important; }
  body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main, [id^="modal-"]) :is(.text-slate-600,.text-slate-500,.text-slate-400,.text-gray-600,.text-gray-500,.text-gray-400) { color:var(--mu) !important; }
  body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main, [id^="modal-"]) :is([class*="text-sky-7"],[class*="text-sky-8"],[class*="text-emerald-7"],[class*="text-emerald-8"],[class*="text-amber-7"],[class*="text-amber-8"],[class*="text-rose-7"],[class*="text-rose-6"],[class*="text-violet-7"],[class*="text-orange-7"],[class*="text-indigo-7"],[class*="text-blue-7"],[class*="text-green-7"],[class*="text-red-7"],[class*="text-red-6"],[class*="text-teal-7"],[class*="text-sky-6"],[class*="text-emerald-6"],[class*="text-violet-6"]) { filter:brightness(1.75) saturate(.9); }
  body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main, [id^="modal-"]) :is([class*="border-slate"],[class*="border-gray"],.border,.border-t,.border-b,.border-l,.border-r,.border-2) { border-color:var(--ln) !important; }
  body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main, [id^="modal-"]) :is([class*="divide-slate"],[class*="divide-gray"],.divide-y) > * + * { border-color:var(--ln) !important; }
  body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main, [id^="modal-"]) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea) { background-color:var(--sf2) !important; color:var(--tx) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main, [id^="modal-"]) :is(input,textarea)::placeholder { color:var(--mu) !important; opacity:.8; }
  body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main, [id^="modal-"]) :is([class*="hover:bg-slate"],[class*="hover:bg-white"],[class*="hover:bg-gray"]):hover { background-color:var(--sf3) !important; }
  body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main, [id^="modal-"]) tr:hover > td { background-color:rgba(255,255,255,.03); }
  body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main, [id^="modal-"]) .shadow-sm, body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main, [id^="modal-"]) .shadow { box-shadow:0 8px 24px rgba(0,0,0,.25) !important; }
  body.gl[data-gl-modo=gris].gl-app #view-technical-app main > section > .bg-white, body.gl[data-gl-modo=gris].gl-app #view-technical-app main > section > div > .bg-white { border-color:var(--ln) !important; box-shadow:0 10px 30px rgba(0,0,0,.28) !important; }
  body.gl[data-gl-modo=gris].gl-app [id^="modal-"].fixed > div.bg-white { background:var(--sf) !important; color:var(--tx); }
  /* Pantallas nuevas (agenda, configuración) */
  body.gl[data-gl-modo=gris].gl-app :is(.ag-cal,.ag-dia-box) { background:var(--sf) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=gris].gl-app .ag-cab h3, body.gl[data-gl-modo=gris].gl-app .ag-dia .num, body.gl[data-gl-modo=gris].gl-app .ag-dia-cab h4, body.gl[data-gl-modo=gris].gl-app .ag-visita .hora, body.gl[data-gl-modo=gris].gl-app .ag-visita .info b { color:var(--tx) !important; }
  body.gl[data-gl-modo=gris].gl-app .ag-dia { background:var(--sf2) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=gris].gl-app .ag-dia.trabaja { background:linear-gradient(180deg,rgba(34,197,94,.14),var(--sf2)) !important; border-color:rgba(34,197,94,.35) !important; }
  body.gl[data-gl-modo=gris].gl-app .ag-dia.trabaja .est { color:#86efac; }
  body.gl[data-gl-modo=gris].gl-app .ag-dia.bloq { background:repeating-linear-gradient(135deg,rgba(251,146,60,.14),rgba(251,146,60,.14) 6px,rgba(251,146,60,.06) 6px,rgba(251,146,60,.06) 12px) !important; border-color:rgba(251,146,60,.35) !important; }
  body.gl[data-gl-modo=gris].gl-app .ag-dia.lleno { background:linear-gradient(180deg,rgba(244,63,94,.16),var(--sf2)) !important; border-color:rgba(244,63,94,.4) !important; }
  body.gl[data-gl-modo=gris].gl-app .ag-nav button, body.gl[data-gl-modo=gris].gl-app .ag-visita .acc button { background:var(--sf2) !important; border-color:var(--ln) !important; color:var(--tx) !important; }
  body.gl[data-gl-modo=gris].gl-app .ag-visita { border-color:var(--ln) !important; }
  body.gl[data-gl-modo=gris].gl-app .ag-aviso { background:rgba(56,189,248,.1) !important; border-color:rgba(56,189,248,.3) !important; color:#bae6fd !important; }
  body.gl[data-gl-modo=gris].gl-app #modal-config.gl-cfg .gl-cfg-menu { background:var(--sf2) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=gris].gl-app #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab] { color:var(--tx) !important; }
  body.gl[data-gl-modo=gris].gl-app #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab]:hover { background:var(--sf3) !important; }
  body.gl[data-gl-modo=gris].gl-app #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab].on { background:var(--sf3) !important; }
  body.gl[data-gl-modo=gris].gl-app #modal-config.gl-cfg .gl-cfg-menu [data-cfg-tab] > i { background:var(--sf3); color:var(--mu); }
  body.gl[data-gl-modo=gris].gl-app .gl-cfg-cab { border-color:var(--ln); } body.gl[data-gl-modo=gris].gl-app .gl-cfg-cab h4 { color:var(--tx); } body.gl[data-gl-modo=gris].gl-app .gl-cfg-cab p { color:var(--mu); }
  body.gl[data-gl-modo=gris].gl-app .gl-cfg-pasos { border-color:var(--ln); } body.gl[data-gl-modo=gris].gl-app .gl-cfg-pasos button:not(.sig) { background:var(--sf2); border-color:var(--ln); color:var(--tx); }
  body.gl[data-gl-modo=gris].gl-app .mtj-dias label, body.gl[data-gl-modo=gris].gl-app .mtj-turno select, body.gl[data-gl-modo=gris].gl-app .mtj-turno input[type=date], body.gl[data-gl-modo=gris].gl-app .mtj-turno input[type=text] { background:var(--sf2) !important; color:var(--tx) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=gris].gl-app .mtj-turno .mtj-sub2, body.gl[data-gl-modo=gris].gl-app .mtj-sw, body.gl[data-gl-modo=gris].gl-app .mtj-turno-grid label { color:var(--tx) !important; }
  body.gl[data-gl-modo=gris].gl-app .mtj-bloq-lista span { background:var(--sf2); border-color:var(--ln); color:var(--tx); }
}
@media screen {
  body.gl[data-gl-modo=oscuro] #modal-new-order form h4, body.gl[data-gl-modo=gris] #modal-new-order form h4, body.gl[data-gl-modo=oscuro] #modal-new-order form > div > .flex > h4, body.gl[data-gl-modo=gris] #modal-new-order form > div > .flex > h4 { color:color-mix(in srgb,var(--p-accent2) 55%,#fff) !important; }
  .gl-tit-mod h4 small { font-size:.72rem; letter-spacing:0; text-transform:none; font-weight:600; opacity:.8; }
}

/* Dibujito de cada módulo: grande, centrado y difuminado de fondo (7/11) */
.gl-card > :not(.gl-emo) { position:relative; z-index:1; }
.gl-card .fila { justify-content:flex-start; }
.gl-card .gl-emo { position:absolute; z-index:0; left:50%; top:50%; font-size:7.5rem; line-height:1; margin:0; pointer-events:none;
  transform:translate(-50%,-50%) rotate(-8deg); filter:blur(3px) saturate(1.1); opacity:.2; animation:glFlota 6s ease-in-out infinite; animation-delay:calc(var(--i,0) * -.5s);
  transition:opacity .5s, filter .5s, transform .6s cubic-bezier(.34,1.56,.64,1); }
@keyframes glFlota { 50% { transform:translate(-50%,-54%) rotate(-4deg); } }
.gl-card:hover .gl-emo { animation:none; opacity:.32; filter:blur(1.5px); transform:translate(-50%,-50%) rotate(0deg) scale(1.08); }
body.gl[data-gl-modo=oscuro] .gl-card .gl-emo, body.gl[data-gl-modo=gris] .gl-card .gl-emo { opacity:.16; }
body.gl[data-gl-modo=oscuro] .gl-card:hover .gl-emo, body.gl[data-gl-modo=gris] .gl-card:hover .gl-emo { opacity:.26; }
@media (max-width:640px) { .gl-card .gl-emo { font-size:5rem; } }

/* "Mirá acá": marca la parte exacta que hay que completar en los Primeros pasos (guia.js) */
.gl-foco { position:fixed; z-index:96; pointer-events:none; border-radius:1rem; box-shadow:0 0 0 9999px rgba(8,15,28,.5); transition:all .35s cubic-bezier(.22,1,.36,1); }
.gl-foco::before { content:""; position:absolute; inset:-4px; border-radius:inherit; border:3px solid var(--p-accent2,#0ea5e9); box-shadow:0 0 0 0 rgba(14,165,233,.6); animation:glFoco 1.2s ease-out 4; }
.gl-foco::after { content:""; position:absolute; inset:-4px; border-radius:inherit; border:3px solid #fbbf24; opacity:.0; animation:glFocoDestello .6s ease-in-out 6 alternate; }
@keyframes glFoco { 0% { box-shadow:0 0 0 0 rgba(14,165,233,.65); } 100% { box-shadow:0 0 0 18px rgba(14,165,233,0); } }
@keyframes glFocoDestello { to { opacity:1; } }
.gl-foco-cartel { position:fixed; z-index:97; max-width:20rem; padding:.7rem .9rem; border-radius:.9rem; background:#0f172a; color:#fff; font:600 .85rem/1.35 'Outfit','Inter',sans-serif; box-shadow:0 16px 40px rgba(0,0,0,.35); animation:glSube .4s cubic-bezier(.22,1,.36,1); }
.gl-foco-cartel b { color:#fbbf24; }
.gl-foco-cartel::after { content:""; position:absolute; left:1.5rem; border:8px solid transparent; }
.gl-foco-cartel.arriba::after { bottom:-16px; border-top-color:#0f172a; }
.gl-foco-cartel.abajo::after { top:-16px; border-bottom-color:#0f172a; }
.gl-foco-cartel button { display:block; margin-top:.45rem; font-size:.72rem; font-weight:600; color:#94a3b8; text-decoration:underline; pointer-events:auto; }


/* ===== 7/11: textos de color legibles en oscuro y gris (ej. "Durante la prueba podés sumar…") ===== */
@media screen {
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main,[id^="modal-"]) :is([class*="text-"][class*="-800"],[class*="text-"][class*="-900"],[class*="text-"][class*="-950"]):not(.text-slate-800):not(.text-slate-900):not(.text-gray-800):not(.text-gray-900),
  body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main,[id^="modal-"]) :is([class*="text-"][class*="-800"],[class*="text-"][class*="-900"],[class*="text-"][class*="-950"]):not(.text-slate-800):not(.text-slate-900):not(.text-gray-800):not(.text-gray-900) { color:#f1f5f9 !important; filter:none; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main,[id^="modal-"]) :is([class*="border-indigo"],[class*="border-sky"],[class*="border-emerald"],[class*="border-amber"],[class*="border-rose"],[class*="border-violet"],[class*="border-orange"]),
  body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main,[id^="modal-"]) :is([class*="border-indigo"],[class*="border-sky"],[class*="border-emerald"],[class*="border-amber"],[class*="border-rose"],[class*="border-violet"],[class*="border-orange"]) { border-color:rgba(255,255,255,.18) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main,[id^="modal-"]) [class*="bg-indigo-50"], body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main,[id^="modal-"]) [class*="bg-indigo-50"] { background-color:rgba(129,140,248,.16) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main,[id^="modal-"]) [class*="bg-sky-50"], body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main,[id^="modal-"]) [class*="bg-sky-50"] { background-color:rgba(56,189,248,.14) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main,[id^="modal-"]) [class*="bg-emerald-50"], body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main,[id^="modal-"]) [class*="bg-emerald-50"] { background-color:rgba(52,211,153,.14) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main,[id^="modal-"]) [class*="bg-amber-50"], body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main,[id^="modal-"]) [class*="bg-amber-50"] { background-color:rgba(251,191,36,.14) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(#view-technical-app main,[id^="modal-"]) [class*="bg-rose-50"], body.gl[data-gl-modo=gris].gl-app :is(#view-technical-app main,[id^="modal-"]) [class*="bg-rose-50"] { background-color:rgba(251,113,133,.14) !important; }
}

/* ===== 7/11: pantallas táctiles (celular y tablet): el menú se abre solo con el botón ☰ ===== */
@media (hover:none), (pointer:coarse) {
  .gl-zona, .gl-guia { display:none !important; }
  .gl-menu-btn { display:grid !important; }
}

/* ===== 7/11: calendario de la Agenda en celular ===== */
@media (max-width:640px) {
  .ag-grilla { gap:.25rem; }
  .ag-dia { min-height:3.1rem; padding:.3rem; align-items:center; text-align:center; }
  .ag-dia .num { font-size:.85rem; }
  .ag-dia.hoy .num::after { content:""; }
  .ag-dia .cant { font-size:0; width:1.15rem; height:1.15rem; padding:0; border-radius:50%; display:grid; place-items:center; align-self:center; }
  .ag-dia .cant::before { content:attr(data-n); font-size:.65rem; }
  .ag-cab h3 { font-size:1.1rem; }
}

/* ===== 7/11: Primeros pasos achicados ===== */
.gl-pasos-mini { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem 1rem; padding:.7rem 1rem; border-radius:1.1rem; background:var(--glass,#fff); border:1px solid var(--glass-line,#e2e8f0); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:var(--glass-shadow); font-family:var(--gl-font,'Inter',sans-serif); color:var(--text,#0f172a); animation:glSube .45s cubic-bezier(.22,1,.36,1); }
.gl-pasos-mini .ic { width:2.1rem; height:2.1rem; border-radius:.7rem; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,var(--p-accent2,#0ea5e9),var(--p-accent,#0369a1)); flex:none; }
.gl-pasos-mini .tx { flex:1; min-width:12rem; }
.gl-pasos-mini .tx b { display:block; font-size:.9rem; }
.gl-pasos-mini .tx small { font-size:.75rem; color:var(--muted,#64748b); }
.gl-pasos-mini .barra { height:.35rem; border-radius:999px; background:rgba(148,163,184,.25); overflow:hidden; margin-top:.35rem; max-width:14rem; }
.gl-pasos-mini .barra i { display:block; height:100%; border-radius:999px; background:var(--p-accent2,#0ea5e9); }
.gl-pasos-mini .seguir { padding:.5rem .9rem; border-radius:999px; background:var(--p-accent2,#0ea5e9); color:#fff; font-size:.8rem; font-weight:700; }
.gl-pasos-mini .no { font-size:.75rem; font-weight:600; color:var(--muted,#64748b); text-decoration:underline; }

.mtj-turno-nota { display:grid; gap:.25rem; font-size:.75rem; font-weight:600; color:#475569; }
/* ===== 7/11: "Mi tarjeta" y el resto de Configuración en modo oscuro y gris ===== */
@media screen {
  body.gl[data-gl-modo=oscuro].gl-app :is(.mtj-panel,.mtj-cuenta,.mtj-ayuda,.mtj-vence,.mtj-checks label,.mtj-turno-nota,.mtj-color-libre) { color:var(--mu) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(.mtj-tit,.mtj-sub,.mtj-bloque-cab,.mtj-modal-caja h4,.mtj-resena p,.mtj-turno .mtj-sub2) { color:var(--tx) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(.mtj-caja,.mtj-foto,.mtj-resena,.mtj-modal-caja) { background:var(--sf) !important; border-color:var(--ln) !important; color:var(--tx); }
  body.gl[data-gl-modo=oscuro].gl-app :is(.mtj-bloque,.mtj-vacio) { background:var(--sf2) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-pie { background:var(--sf) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=oscuro].gl-app :is(.mtj-acciones button,.mtj-borrar,.mtj-btn-sec,.mtj-disponibles button,.mtj-auto) { background:var(--sf2) !important; border-color:var(--ln) !important; color:var(--tx) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-disponibles button:hover:not(:disabled) { background:var(--sf3) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-disponibles .mtj-pronto small, body.gl[data-gl-modo=oscuro].gl-app .mtj-fecha { background:var(--sf3) !important; color:var(--mu) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-num { background:var(--p-accent2) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-color { border-color:var(--sf) !important; box-shadow:0 0 0 1px var(--ln); }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-color.on { box-shadow:0 0 0 2px #fff; }
  body.gl[data-gl-modo=oscuro].gl-app :is(.mtj-panel input[type=text],.mtj-panel input[type=date],.mtj-panel input:not([type]),.mtj-panel textarea,.mtj-panel select) { background:var(--sf2) !important; color:var(--tx) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-estado { color:#4ade80; } body.gl[data-gl-modo=oscuro].gl-app .mtj-estado.pendiente { color:#fbbf24; }
  body.gl[data-gl-modo=oscuro].gl-app :is(.mtj-sumar,.mtj-foto-acc label,.mtj-foto-acc button.mtj-link,.mtj-foto-msg,.mtj-bloque-cab > i,.mtj-disponibles button i) { color:#7dd3fc !important; }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-subir { background:var(--sf3) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-turno-resumen { background:rgba(56,189,248,.12) !important; border-color:rgba(56,189,248,.3) !important; color:#bae6fd !important; }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-sw.pausa { background:rgba(251,146,60,.12) !important; border-color:rgba(251,146,60,.35) !important; color:#fdba74 !important; }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-dias label:has(input:checked) { background:var(--p-accent2) !important; border-color:var(--p-accent2) !important; color:#fff !important; }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-bloq-alta label { color:var(--mu) !important; }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-bloq-lista button { background:var(--sf3); color:var(--tx); }
  body.gl[data-gl-modo=oscuro].gl-app .mtj-resena .oculta { background:rgba(244,63,94,.18); color:#fda4af; }
  body.gl[data-gl-modo=oscuro].gl-app #modal-config [data-cfg-panel] :is(.border-dashed) { border-color:var(--ln) !important; }
  body.gl[data-gl-modo=gris].gl-app :is(.mtj-panel,.mtj-cuenta,.mtj-ayuda,.mtj-vence,.mtj-checks label,.mtj-turno-nota,.mtj-color-libre) { color:var(--mu) !important; }
  body.gl[data-gl-modo=gris].gl-app :is(.mtj-tit,.mtj-sub,.mtj-bloque-cab,.mtj-modal-caja h4,.mtj-resena p,.mtj-turno .mtj-sub2) { color:var(--tx) !important; }
  body.gl[data-gl-modo=gris].gl-app :is(.mtj-caja,.mtj-foto,.mtj-resena,.mtj-modal-caja) { background:var(--sf) !important; border-color:var(--ln) !important; color:var(--tx); }
  body.gl[data-gl-modo=gris].gl-app :is(.mtj-bloque,.mtj-vacio) { background:var(--sf2) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=gris].gl-app .mtj-pie { background:var(--sf) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=gris].gl-app :is(.mtj-acciones button,.mtj-borrar,.mtj-btn-sec,.mtj-disponibles button,.mtj-auto) { background:var(--sf2) !important; border-color:var(--ln) !important; color:var(--tx) !important; }
  body.gl[data-gl-modo=gris].gl-app .mtj-disponibles button:hover:not(:disabled) { background:var(--sf3) !important; }
  body.gl[data-gl-modo=gris].gl-app .mtj-disponibles .mtj-pronto small, body.gl[data-gl-modo=gris].gl-app .mtj-fecha { background:var(--sf3) !important; color:var(--mu) !important; }
  body.gl[data-gl-modo=gris].gl-app .mtj-num { background:var(--p-accent2) !important; }
  body.gl[data-gl-modo=gris].gl-app .mtj-color { border-color:var(--sf) !important; box-shadow:0 0 0 1px var(--ln); }
  body.gl[data-gl-modo=gris].gl-app .mtj-color.on { box-shadow:0 0 0 2px #fff; }
  body.gl[data-gl-modo=gris].gl-app :is(.mtj-panel input[type=text],.mtj-panel input[type=date],.mtj-panel input:not([type]),.mtj-panel textarea,.mtj-panel select) { background:var(--sf2) !important; color:var(--tx) !important; border-color:var(--ln) !important; }
  body.gl[data-gl-modo=gris].gl-app .mtj-estado { color:#4ade80; } body.gl[data-gl-modo=gris].gl-app .mtj-estado.pendiente { color:#fbbf24; }
  body.gl[data-gl-modo=gris].gl-app :is(.mtj-sumar,.mtj-foto-acc label,.mtj-foto-acc button.mtj-link,.mtj-foto-msg,.mtj-bloque-cab > i,.mtj-disponibles button i) { color:#7dd3fc !important; }
  body.gl[data-gl-modo=gris].gl-app .mtj-subir { background:var(--sf3) !important; }
  body.gl[data-gl-modo=gris].gl-app .mtj-turno-resumen { background:rgba(56,189,248,.12) !important; border-color:rgba(56,189,248,.3) !important; color:#bae6fd !important; }
  body.gl[data-gl-modo=gris].gl-app .mtj-sw.pausa { background:rgba(251,146,60,.12) !important; border-color:rgba(251,146,60,.35) !important; color:#fdba74 !important; }
  body.gl[data-gl-modo=gris].gl-app .mtj-dias label:has(input:checked) { background:var(--p-accent2) !important; border-color:var(--p-accent2) !important; color:#fff !important; }
  body.gl[data-gl-modo=gris].gl-app .mtj-bloq-alta label { color:var(--mu) !important; }
  body.gl[data-gl-modo=gris].gl-app .mtj-bloq-lista button { background:var(--sf3); color:var(--tx); }
  body.gl[data-gl-modo=gris].gl-app .mtj-resena .oculta { background:rgba(244,63,94,.18); color:#fda4af; }
  body.gl[data-gl-modo=gris].gl-app #modal-config [data-cfg-panel] :is(.border-dashed) { border-color:var(--ln) !important; }
}

/* ===== 7/11: cobro en dólares ===== */
.rb-usd { display:grid; gap:.25rem; }
.rb-usd-seg { display:grid; grid-template-columns:1fr 1fr; gap:.4rem; }
.rb-usd-seg button { padding:.6rem; border-radius:.75rem; border:1px solid #e2e8f0; background:#fff; color:#334155; font-size:.75rem; font-weight:700; transition:.15s; }
.rb-usd-seg button.on { border:2px solid #059669; background:#ecfdf5; color:#065f46; }
.rb-usd-det { margin-top:.5rem; display:grid; gap:.5rem; background:#f0fdf4; border:1px solid #bbf7d0; border-radius:1rem; padding:.75rem; }
.rb-usd-det.hidden { display:none; }
.rb-usd-campos { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.rb-usd-campos label { display:grid; gap:.2rem; font-size:.7rem; font-weight:700; color:#065f46; }
.rb-usd-campos input { width:100%; border:1px solid #86efac; border-radius:.6rem; padding:.55rem .6rem; font-size:.95rem; font-weight:800; text-align:right; background:#fff; color:#0f172a; }
.rb-usd-info, .rb-usd-eq { font-size:.72rem; color:#166534; margin:0; }
.rb-usd-info button { color:#0369a1; font-weight:700; text-decoration:underline; }
.rb-usd-dif { color:#b45309; }
.rb-usd-aviso { font-size:.72rem; background:#fffbeb; border:1px solid #fde68a; color:#92400e; border-radius:.75rem; padding:.6rem .75rem; margin:0; }
@media screen {
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-usd-seg button { background:var(--sf2); border-color:var(--ln); color:var(--tx); }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-usd-seg button.on { background:rgba(16,185,129,.18); border-color:#34d399; color:#a7f3d0; }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-usd-det { background:rgba(16,185,129,.10); border-color:rgba(52,211,153,.35); }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app :is(.rb-usd-campos label,.rb-usd-info,.rb-usd-eq) { color:#a7f3d0; }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-usd-campos input { background:var(--sf2); color:var(--tx); border-color:rgba(52,211,153,.45); }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-usd-info button { color:#7dd3fc; }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-usd-dif { color:#fcd34d; }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-usd-aviso { background:rgba(251,191,36,.12); border-color:rgba(251,191,36,.35); color:#fde68a; }
}

/* ===== 7/11: cajas por empleado ===== */
.rb-cj-badge { display:inline-block; font-size:.65rem; font-weight:800; padding:.2rem .55rem; border-radius:999px; white-space:nowrap; border:1px solid transparent; }
.rb-cj-gris { background:#f1f5f9; color:#475569; border-color:#e2e8f0; }
.rb-cj-verde { background:#dcfce7; color:#166534; border-color:#bbf7d0; }
.rb-cj-azul { background:#e0f2fe; color:#075985; border-color:#bae6fd; }
.rb-cj-rojo { background:#ffe4e6; color:#9f1239; border-color:#fecdd3; }
.rb-cj-amarillo { background:#fef3c7; color:#92400e; border-color:#fde68a; }
.rb-cj-barra { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; background:#fff; border:1px solid #e2e8f0; border-radius:1rem; padding:.7rem 1rem; box-shadow:0 1px 2px rgba(15,23,42,.05); }
.rb-cj-barra > i { width:2.2rem; height:2.2rem; border-radius:999px; display:grid; place-items:center; background:#e2e8f0; color:#334155; flex:0 0 auto; }
.rb-cj-barra[data-estado=abierta] > i { background:#dcfce7; color:#166534; }
.rb-cj-barra[data-estado=sin-abrir] > i { background:#fef3c7; color:#92400e; }
.rb-cj-barra-txt { flex:1; min-width:12rem; font-size:.85rem; color:#1e293b; }
.rb-cj-barra-txt small { display:block; font-size:.72rem; color:#64748b; margin-top:.15rem; }
.rb-cj-barra-btn { font-size:.75rem; font-weight:800; padding:.55rem .9rem; border-radius:.75rem; background:#0f172a; color:#fff; white-space:nowrap; }
.rb-cj-barra[data-estado=sin-abrir] .rb-cj-barra-btn { background:#059669; }
@media screen {
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-cj-barra { background:var(--sf); border-color:var(--ln); }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-cj-barra-txt { color:var(--tx); }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-cj-barra-txt small { color:var(--mu); }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-cj-barra > i { background:var(--sf3); color:var(--tx); }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-cj-barra-btn { background:var(--sf3); }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-cj-gris { background:var(--sf3); color:var(--mu); border-color:var(--ln); }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-cj-verde { background:rgba(34,197,94,.15); color:#86efac; border-color:rgba(34,197,94,.35); }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-cj-azul { background:rgba(56,189,248,.15); color:#7dd3fc; border-color:rgba(56,189,248,.35); }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-cj-rojo { background:rgba(244,63,94,.15); color:#fda4af; border-color:rgba(244,63,94,.35); }
  body.gl:is([data-gl-modo=oscuro],[data-gl-modo=gris]).gl-app .rb-cj-amarillo { background:rgba(251,191,36,.15); color:#fcd34d; border-color:rgba(251,191,36,.35); }
}
