/* ════════════════════════════════════════════════════════════════
   OPSYS — TEMAS
   ════════════════════════════════════════════════════════════════ */

/* v0.183: SCROLLBARS GLOBALES.
   Estilizados con variables del tema para que se vean integrados,
   no como scrollbars nativos del browser. Aplica a TODO. */
*::-webkit-scrollbar{
    width: 8px;
    height: 8px;
}
*::-webkit-scrollbar-track{
    background: transparent;
}
*::-webkit-scrollbar-thumb{
    background: var(--border);
    border-radius: 0;
    border: 1px solid var(--bg2);
}
*::-webkit-scrollbar-thumb:hover{
    background: var(--text);
}
*::-webkit-scrollbar-corner{
    background: transparent;
}
/* Firefox */
*{
    scrollbar-width: thin;
    scrollbar-color: var(--border) transparent;
}

/* ════════════════════════════════════════════════════════════════
   OPSYS — TEMAS (cont)
   data-theme controla la PALETA. data-mode controla DÍA/NOCHE.

   Temas:
     modern      — limpio y profesional (default)
     console     — terminal moderna
     crt-soft    — verde retro moderado
     crt-green   — verde retro intenso
     femme       — rosa/malva profesional
     stranger    — synthwave 80s magenta+cyan
     midnight    — casi negro con índigo (3 AM)
     solar       — naranja quemado / atardecer
     zen         — japonés minimalista, Inter, casi sin color
   ════════════════════════════════════════════════════════════════ */

:root{
    /* r62: IBM Plex como tipografía base global (texto + mono).
       Aplica a todo lo que use var(--font), var(--font-modern), var(--font-mono):
       UI, inputs, textareas, PDFs, correos, etc. Conserva fallbacks robustos
       para que si Plex no carga, el sistema use la siguiente disponible. */
    --font-modern: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'IBM Plex Mono', 'SF Mono', 'Courier New', Menlo, Consolas, monospace;
    --font-inter: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ─── MODERN ──────────────────────────────────────────────────── */
[data-theme="modern"][data-mode="noche"]{
    --bg:#0D1117; --bg2:#161B22; --bg3:#1F2937;
    --border:#30363D; --turq:#9ED6DF; --green:#8FBD4A;
    --red:#E5746A; --yellow:#F0C040; --dim:#8B949E;
    --text:#C9D1D9; --text2:#8B949E;
    --font: var(--font-modern);
    --scanlines: none; --text-glow: none;
}
[data-theme="modern"][data-mode="dia"]{
    --bg:#F6F8FA; --bg2:#FFFFFF; --bg3:#EAF0F6;
    --border:#D0D7DE; --turq:#2A7A8C; --green:#4A7C20;
    --red:#C0392B; --yellow:#B7860B; --dim:#57606A;
    --text:#24292F; --text2:#57606A;
    --font: var(--font-modern);
    --scanlines: none; --text-glow: none;
}

/* ─── CONSOLE ─────────────────────────────────────────────────── */
[data-theme="console"][data-mode="noche"]{
    --bg:#0D1117; --bg2:#161B22; --bg3:#1F2937;
    --border:#30363D; --turq:#9ED6DF; --green:#8FBD4A;
    --red:#E5746A; --yellow:#F0C040; --dim:#8B949E;
    --text:#C9D1D9; --text2:#8B949E;
    --font: var(--font-mono);
    --scanlines: none; --text-glow: none;
}
[data-theme="console"][data-mode="dia"]{
    --bg:#F6F8FA; --bg2:#FFFFFF; --bg3:#EAF0F6;
    --border:#D0D7DE; --turq:#2A7A8C; --green:#4A7C20;
    --red:#C0392B; --yellow:#B7860B; --dim:#57606A;
    --text:#24292F; --text2:#57606A;
    --font: var(--font-mono);
    --scanlines: none; --text-glow: none;
}

/* ─── CRT VERDE INTENSO ───────────────────────────────────────── */
[data-theme="crt-green"][data-mode="noche"]{
    --bg:#031003; --bg2:#082008; --bg3:#0e2a0e;
    --border:#4eff4e; --turq:#7eff7e; --green:#9aff9a;
    --red:#ff6e6e; --yellow:#ffe066; --dim:#5fff5f;
    --text:#9aff9a; --text2:#7eff7e;
    --font: var(--font-mono);
    --scanlines: repeating-linear-gradient(0deg, transparent 0, transparent 1px, rgba(0,0,0,.10) 2px, rgba(0,0,0,.10) 3px);
    --text-glow: 0 0 3px rgba(126,255,126,.55), 0 0 8px rgba(126,255,126,.18);
}
[data-theme="crt-green"][data-mode="dia"]{
    --bg:#e8ffe8; --bg2:#d4ffd4; --bg3:#c0f0c0;
    --border:#1a7a1a; --turq:#0e5a0e; --green:#1a7a1a;
    --red:#a02020; --yellow:#a06a00; --dim:#3a7a3a;
    --text:#0a3a0a; --text2:#1e5a1e;
    --font: var(--font-mono);
    --scanlines: none; --text-glow: none;
}

/* ─── CRT VERDE SUAVE ─────────────────────────────────────────── */
[data-theme="crt-soft"][data-mode="noche"]{
    --bg:#0d1814; --bg2:#142420; --bg3:#1c302a;
    --border:#3a6a55; --turq:#7fcfa6; --green:#a4d99a;
    --red:#d8857c; --yellow:#e0c870; --dim:#6e9785;
    --text:#bcdac8; --text2:#8eb29c;
    --font: var(--font-mono);
    --scanlines: repeating-linear-gradient(0deg, transparent 0, transparent 1px, rgba(0,0,0,.06) 2px, rgba(0,0,0,.06) 3px);
    --text-glow: 0 0 2px rgba(164,217,154,.25);
}
[data-theme="crt-soft"][data-mode="dia"]{
    --bg:#f0f5ee; --bg2:#ffffff; --bg3:#e3eedd;
    --border:#a8c2a0; --turq:#3a7a5a; --green:#4a7c20;
    --red:#a83a2c; --yellow:#7a6020; --dim:#6a7a65;
    --text:#1f3a26; --text2:#4a5a45;
    --font: var(--font-mono);
    --scanlines: none; --text-glow: none;
}

/* ─── FEMME ───────────────────────────────────────────────────── */
[data-theme="femme"][data-mode="noche"]{
    --bg:#1f1421; --bg2:#2c1c30; --bg3:#3a2440;
    --border:#5e3a5f; --turq:#f4b6d2; --green:#c9a0dc;
    --red:#ff8aa8; --yellow:#f5d77c; --dim:#a07ba0;
    --text:#f3dfea; --text2:#c8a3c2;
    --font: var(--font-modern);
    --scanlines: none; --text-glow: none;
}
[data-theme="femme"][data-mode="dia"]{
    --bg:#fdf5f8; --bg2:#ffffff; --bg3:#fbe8ef;
    --border:#e8c2d4; --turq:#b8517c; --green:#7a4a8c;
    --red:#c63a5f; --yellow:#a8740a; --dim:#8c6a7a;
    --text:#3d1f2b; --text2:#6a3d4f;
    --font: var(--font-modern);
    --scanlines: none; --text-glow: none;
}

/* ─── STRANGER (synthwave 80s) ────────────────────────────────── */
[data-theme="stranger"][data-mode="noche"]{
    --bg:#0f0524; --bg2:#1a0a38; --bg3:#28104e;
    --border:#4a1e74; --turq:#ff4fd8; --green:#4ff0ff;
    --red:#ff5577; --yellow:#ffd24f; --dim:#9070c0;
    --text:#f0c8ff; --text2:#c098e8;
    --font: var(--font-mono);
    --scanlines: repeating-linear-gradient(0deg, transparent 0, transparent 1px, rgba(0,0,0,.05) 2px, rgba(0,0,0,.05) 3px);
    --text-glow: 0 0 3px rgba(255,79,216,.5), 0 0 8px rgba(79,240,255,.2);
}
[data-theme="stranger"][data-mode="dia"]{
    --bg:#fbeefa; --bg2:#ffffff; --bg3:#f3e0f5;
    --border:#d4a8db; --turq:#a8228c; --green:#1f7a8c;
    --red:#c3304f; --yellow:#8a6020; --dim:#8a6a90;
    --text:#28113a; --text2:#5a3a6a;
    --font: var(--font-mono);
    --scanlines: none; --text-glow: none;
}

/* ─── MIDNIGHT (3 AM, índigo profundo con acentos vivos) ──────── */
[data-theme="midnight"][data-mode="noche"]{
    --bg:#0a0a18; --bg2:#13132a; --bg3:#1d1d3e;
    --border:#2d2d55; --turq:#8b9cff; --green:#7ce2c0;
    --red:#ff5470; --yellow:#ffc857; --dim:#6f74a8;
    --text:#d4daff; --text2:#9aa0d4;
    --font: var(--font-modern);
    --scanlines: none; --text-glow: none;
    --accent:#ff3860;
}
[data-theme="midnight"][data-mode="dia"]{
    --bg:#f0f0fa; --bg2:#ffffff; --bg3:#e4e4f3;
    --border:#a8a8c8; --turq:#2d3b9e; --green:#1e7a5a;
    --red:#a02238; --yellow:#7a5a10; --dim:#5a6080;
    --text:#0e1030; --text2:#2a2d50;
    --font: var(--font-modern);
    --scanlines: none; --text-glow: none;
    --accent:#a02238;
}
/* Cursor pixelado crimson SOLO en midnight */
[data-theme="midnight"]{
    cursor: url('../assets/cursor-midnight.png') 0 0, default;
}
[data-theme="midnight"] a,
[data-theme="midnight"] button,
[data-theme="midnight"] .ibtn,
[data-theme="midnight"] [onclick],
[data-theme="midnight"] .s-item,
[data-theme="midnight"] .tab-btn,
[data-theme="midnight"] .etapa-step,
[data-theme="midnight"] [role="button"]{
    cursor: url('../assets/cursor-midnight-pointer.png') 2 0, pointer;
}
[data-theme="midnight"] input,
[data-theme="midnight"] textarea,
[data-theme="midnight"] select{
    cursor: text;
}

/* ─── SOLAR (naranja atardecer) ───────────────────────────────── */
[data-theme="solar"][data-mode="noche"]{
    --bg:#1a0d05; --bg2:#28160a; --bg3:#3a2010;
    --border:#5a3015; --turq:#f08a3c; --green:#d4b048;
    --red:#e85540; --yellow:#f5c660; --dim:#a87858;
    --text:#f0d4b0; --text2:#c8a070;
    --font: var(--font-modern);
    --scanlines: none; --text-glow: none;
}
[data-theme="solar"][data-mode="dia"]{
    --bg:#fdf3e3; --bg2:#fffaf0; --bg3:#f8e3c4;
    --border:#d4ac75; --turq:#a85020; --green:#7a5a18; 
    --red:#b8341e; --yellow:#8a5a10; --dim:#90704a;
    --text:#3a1e0a; --text2:#5a3a18;
    --font: var(--font-modern);
    --scanlines: none; --text-glow: none;
}

/* ─── ZEN (japonés minimalista, Inter) ────────────────────────── */
[data-theme="zen"][data-mode="dia"]{
    --bg:#ffffff; --bg2:#fafafa; --bg3:#f0f0f0;
    --border:#e5e5e5; --turq:#1a1a1a; --green:#3a3a3a;
    --red:#b22222; --yellow:#8a6a00; --dim:#a0a0a0;
    --text:#1a1a1a; --text2:#5a5a5a;
    --font: var(--font-inter);
    --scanlines: none; --text-glow: none;
}
[data-theme="zen"][data-mode="noche"]{
    --bg:#1a1a1a; --bg2:#242424; --bg3:#2e2e2e;
    --border:#3a3a3a; --turq:#e5e5e5; --green:#c5c5c5;
    --red:#d87878; --yellow:#dec880; --dim:#787878;
    --text:#e5e5e5; --text2:#a0a0a0;
    --font: var(--font-inter);
    --scanlines: none; --text-glow: none;
}

/* ─── GAMEBOY (DMG-01, LCD verde militar auténtica) ───────────── */
[data-theme="gameboy"][data-mode="dia"]{
    --bg:#8b9442; --bg2:#9aa353; --bg3:#7a8338;
    --border:#0b0b0b; --turq:#0b0b0b; --green:#0b0b0b;
    --red:#3a0e0e; --yellow:#3a2a08; --dim:#1f2510;
    --text:#0b0b0b; --text2:#1f2510;
    --font: var(--font-mono);
    --scanlines: none; --text-glow: none;
}
[data-theme="gameboy"][data-mode="noche"]{
    /* Game Boy Pocket — pantalla más apagada */
    --bg:#6e7836; --bg2:#7d8744; --bg3:#5d6a2d;
    --border:#0b0b0b; --turq:#0b0b0b; --green:#0b0b0b;
    --red:#3a0e0e; --yellow:#3a2a08; --dim:#1d2210;
    --text:#0b0b0b; --text2:#1d2210;
    --font: var(--font-mono);
    --scanlines: none; --text-glow: none;
}

/* Placeholders y texto débil */
[data-theme="gameboy"] ::placeholder{ color:rgba(11,11,11,.55) !important; font-weight:600 }
[data-theme="gameboy"] .dim,
[data-theme="gameboy"] [style*="color:var(--dim)"]{ color:var(--text2) !important; opacity:.85 }

/* GAMEBOY: todo en negro/verde oscuro, sin colores diferenciados */
[data-theme="gameboy"]{
    image-rendering: pixelated;
}
[data-theme="gameboy"] body{
    font-weight: 700;
}
/* Botones: estilo "presionado" pixelado en lugar de gradientes/opacos */
[data-theme="gameboy"] .ibtn,
[data-theme="gameboy"] button:not(.mo-x):not(.tc-pv-btn):not(.tab-btn):not(.etapa-step):not(.pq-tog):not(.cd-trip-btn):not(.pro-mini-pin):not(.pro-mini-close):not(.pro-card-pin):not(.pro-card-act):not(.mlr-chip-x):not(.cf-tg):not(.cf-est-btn){
    background: transparent !important;
    color: var(--text) !important;
    border: 2px solid var(--text) !important;
    border-radius: 0 !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    box-shadow: 2px 2px 0 var(--text) !important;
    transition: none !important;
}
[data-theme="gameboy"] .ibtn:hover,
[data-theme="gameboy"] button:not(.mo-x):not(.tc-pv-btn):not(.tab-btn):not(.etapa-step):not(.pq-tog):not(.cd-trip-btn):not(.pro-mini-pin):not(.pro-mini-close):not(.pro-card-pin):not(.pro-card-act):not(.mlr-chip-x):not(.cf-tg):not(.cf-est-btn):hover{
    background: var(--text) !important;
    color: var(--bg) !important;
    box-shadow: none !important;
    transform: translate(2px, 2px);
}
[data-theme="gameboy"] .ibtn:active,
[data-theme="gameboy"] button:not(.mo-x):not(.tc-pv-btn):not(.tab-btn):not(.etapa-step):not(.pq-tog):not(.cd-trip-btn):not(.pro-mini-pin):not(.pro-mini-close):not(.pro-card-pin):not(.pro-card-act):not(.mlr-chip-x):not(.cf-tg):not(.cf-est-btn):active{
    transform: translate(2px, 2px);
    box-shadow: none !important;
}
[data-theme="gameboy"] .ibtn.primary,
[data-theme="gameboy"] .btn.primary,
[data-theme="gameboy"] button.primary{
    background: var(--text) !important;
    color: var(--bg) !important;
}
[data-theme="gameboy"] .ibtn.primary:hover,
[data-theme="gameboy"] .btn.primary:hover,
[data-theme="gameboy"] button.primary:hover{
    background: var(--bg) !important;
    color: var(--text) !important;
}
[data-theme="gameboy"] .ibtn.danger{
    border-color: var(--text) !important;
    background: transparent !important;
}
/* Inputs en Game Boy también pixelados */
[data-theme="gameboy"] .ibtn,
[data-theme="gameboy"] .fc,
[data-theme="gameboy"] input,
[data-theme="gameboy"] select,
[data-theme="gameboy"] textarea,
[data-theme="gameboy"] .badge{
    border-radius: 0 !important;
    border-width: 2px !important;
}
/* Grid de píxeles LCD encima para el efecto auténtico */
[data-theme="gameboy"] body::before{
    content:'';
    position:fixed;top:0;left:0;right:0;bottom:0;
    background:
        repeating-linear-gradient(0deg,   transparent 0, transparent 3px, rgba(15,56,15,.04) 4px, rgba(15,56,15,.04) 4px),
        repeating-linear-gradient(90deg,  transparent 0, transparent 3px, rgba(15,56,15,.04) 4px, rgba(15,56,15,.04) 4px);
    pointer-events:none;
    z-index:9990;
}

/* ────────────────────────────────────────────────────────────── */
[data-theme="crt-green"] .crt-glow,
[data-theme="crt-soft"] .crt-glow,
[data-theme="stranger"] .crt-glow{
    text-shadow: var(--text-glow);
}

/* ════════════════════════════════════════════════════════════════
   Selector visual de temas (modal)
   ════════════════════════════════════════════════════════════════ */
.theme-grid{
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap:12px;
}
.theme-card{
    border:2px solid var(--border);
    border-radius:6px;
    padding:14px;
    cursor:pointer;
    transition: border-color .15s, transform .15s;
    background:var(--bg2);
}
.theme-card:hover{ transform: translateY(-2px); }
.theme-card.active{
    border-color: var(--turq);
    box-shadow: 0 0 0 2px rgba(143,205,194,.3);
}
.theme-card .tc-name{
    font-weight:bold;
    font-size:12px;
    letter-spacing:.1em;
    text-transform:uppercase;
    margin-bottom:4px;
}
.theme-card .tc-desc{
    font-size:10px;
    color:var(--dim);
    text-transform:none;
    margin-bottom:10px;
    line-height:1.4;
}
.theme-card .tc-preview{
    height:80px;
    border-radius:4px;
    border:1px solid rgba(0,0,0,.15);
    padding:8px;
    font-size:10px;
    overflow:hidden;
    position:relative;
}
.tc-preview .pv-h{ font-size:9px; letter-spacing:.15em; margin-bottom:4px; }
.tc-preview .pv-b{ font-size:10px; line-height:1.3; }
.tc-preview .pv-btn{ display:inline-block;padding:2px 6px;font-size:8px;letter-spacing:.1em;margin-top:5px; }

/* PREVIEW por tema (colores hardcoded) */
.tc-pv-modern-noche{ background:#0D1117; color:#C9D1D9; font-family: var(--font-modern); }
.tc-pv-modern-noche .pv-h{ color:#9ED6DF; }
.tc-pv-modern-noche .pv-btn{ background:#9ED6DF; color:#0D1117; }
.tc-pv-modern-dia{ background:#F6F8FA; color:#24292F; font-family: var(--font-modern); }
.tc-pv-modern-dia .pv-h{ color:#2A7A8C; }
.tc-pv-modern-dia .pv-btn{ background:#2A7A8C; color:#fff; }

.tc-pv-console-noche{ background:#0D1117; color:#C9D1D9; font-family: var(--font-mono); }
.tc-pv-console-noche .pv-h{ color:#9ED6DF; }
.tc-pv-console-noche .pv-btn{ border:1px solid #9ED6DF; color:#9ED6DF; }
.tc-pv-console-dia{ background:#F6F8FA; color:#24292F; font-family: var(--font-mono); }
.tc-pv-console-dia .pv-h{ color:#2A7A8C; }
.tc-pv-console-dia .pv-btn{ border:1px solid #2A7A8C; color:#2A7A8C; }

.tc-pv-crt-green-noche{ background:#031003; color:#9aff9a; font-family: var(--font-mono); text-shadow: 0 0 3px rgba(126,255,126,.55); }
.tc-pv-crt-green-noche .pv-h{ color:#7eff7e; }
.tc-pv-crt-green-noche .pv-btn{ border:1px solid #5fff5f; color:#9aff9a; }
.tc-pv-crt-green-dia{ background:#e8ffe8; color:#0a3a0a; font-family: var(--font-mono); }
.tc-pv-crt-green-dia .pv-h{ color:#1a7a1a; }
.tc-pv-crt-green-dia .pv-btn{ border:1px solid #1a7a1a; color:#0e5a0e; }

.tc-pv-crt-soft-noche{ background:#0d1814; color:#bcdac8; font-family: var(--font-mono); }
.tc-pv-crt-soft-noche .pv-h{ color:#7fcfa6; }
.tc-pv-crt-soft-noche .pv-btn{ border:1px solid #7fcfa6; color:#bcdac8; }
.tc-pv-crt-soft-dia{ background:#f0f5ee; color:#1f3a26; font-family: var(--font-mono); }
.tc-pv-crt-soft-dia .pv-h{ color:#3a7a5a; }
.tc-pv-crt-soft-dia .pv-btn{ border:1px solid #3a7a5a; color:#3a7a5a; }

.tc-pv-femme-noche{ background:#1f1421; color:#f3dfea; font-family: var(--font-modern); }
.tc-pv-femme-noche .pv-h{ color:#f4b6d2; }
.tc-pv-femme-noche .pv-btn{ background:#f4b6d2; color:#1f1421; }
.tc-pv-femme-dia{ background:#fdf5f8; color:#3d1f2b; font-family: var(--font-modern); }
.tc-pv-femme-dia .pv-h{ color:#b8517c; }
.tc-pv-femme-dia .pv-btn{ background:#b8517c; color:#fff; }

.tc-pv-stranger-noche{ background:#0f0524; color:#f0c8ff; font-family: var(--font-mono); text-shadow: 0 0 3px rgba(255,79,216,.5); }
.tc-pv-stranger-noche .pv-h{ color:#ff4fd8; }
.tc-pv-stranger-noche .pv-btn{ border:1px solid #4ff0ff; color:#4ff0ff; }
.tc-pv-stranger-dia{ background:#fbeefa; color:#28113a; font-family: var(--font-mono); }
.tc-pv-stranger-dia .pv-h{ color:#a8228c; }
.tc-pv-stranger-dia .pv-btn{ border:1px solid #1f7a8c; color:#1f7a8c; }

.tc-pv-midnight-noche{ background:#050510; color:#a8acd4; font-family: var(--font-modern); }
.tc-pv-midnight-noche .pv-h{ color:#7c80c8; }
.tc-pv-midnight-noche .pv-btn{ background:#7c80c8; color:#050510; }
.tc-pv-midnight-dia{ background:#eaeaf5; color:#1f2040; font-family: var(--font-modern); }
.tc-pv-midnight-dia .pv-h{ color:#3a3f7a; }
.tc-pv-midnight-dia .pv-btn{ background:#3a3f7a; color:#fff; }

.tc-pv-solar-noche{ background:#1a0d05; color:#f0d4b0; font-family: var(--font-modern); }
.tc-pv-solar-noche .pv-h{ color:#f08a3c; }
.tc-pv-solar-noche .pv-btn{ background:#f08a3c; color:#1a0d05; }
.tc-pv-solar-dia{ background:#fdf3e3; color:#3a1e0a; font-family: var(--font-modern); }
.tc-pv-solar-dia .pv-h{ color:#a85020; }
.tc-pv-solar-dia .pv-btn{ background:#a85020; color:#fff; }

.tc-pv-zen-dia{ background:#ffffff; color:#1a1a1a; font-family: var(--font-inter); }
.tc-pv-zen-dia .pv-h{ color:#1a1a1a; font-weight:500; letter-spacing:0; text-transform:none; }
.tc-pv-zen-dia .pv-btn{ background:#1a1a1a; color:#fff; font-weight:500; letter-spacing:.05em; }
.tc-pv-zen-noche{ background:#1a1a1a; color:#e5e5e5; font-family: var(--font-inter); }
.tc-pv-zen-noche .pv-h{ color:#e5e5e5; font-weight:500; letter-spacing:0; text-transform:none; }
.tc-pv-zen-noche .pv-btn{ background:#e5e5e5; color:#1a1a1a; font-weight:500; letter-spacing:.05em; }

.tc-pv-gameboy-dia{ background:#8b9442; color:#0b0b0b; font-family: var(--font-mono); font-weight:700; }
.tc-pv-gameboy-dia .pv-h{ color:#0b0b0b; }
.tc-pv-gameboy-dia .pv-btn{ background:#0b0b0b; color:#8b9442; border-radius:0; font-weight:700; }
.tc-pv-gameboy-noche{ background:#6e7836; color:#0b0b0b; font-family: var(--font-mono); font-weight:700; }
.tc-pv-gameboy-noche .pv-h{ color:#0b0b0b; }
.tc-pv-gameboy-noche .pv-btn{ background:#0b0b0b; color:#6e7836; border-radius:0; font-weight:700; }

/* ZEN: quitar uppercase/letter-spacing global de OPSYS para feel limpio */
[data-theme="zen"] body{
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 400;
}
[data-theme="zen"] .flbl,
[data-theme="zen"] .ibtn,
[data-theme="zen"] .badge,
[data-theme="zen"] .stat-lbl,
[data-theme="zen"] .stat-sub{
    text-transform: none !important;
    letter-spacing: .02em !important;
    font-weight: 500;
}

/* ════════════════════════════════════════════════════════════
   GAMEBOY THEME — ESTÉTICA DEDICADA PROMAILER
   Solo verde militar y negro. Sin gradientes. Pixel-art feel.
   ════════════════════════════════════════════════════════════ */

/* Modal asignar a deal: caja con borde grueso negro estilo cartucho */
[data-theme="gameboy"] #mo-mlr-asignar .mo-box{
    border: 3px solid var(--text) !important;
    border-radius: 0 !important;
    box-shadow: 6px 6px 0 var(--text) !important;
    background: var(--bg) !important;
}

/* Inputs en modal asignar: cuadrados, negros, sin radius */
[data-theme="gameboy"] .mlr-asig-search,
[data-theme="gameboy"] .mlr-asig-list{
    border: 2px solid var(--text) !important;
    border-radius: 0 !important;
    background: var(--bg2) !important;
    color: var(--text) !important;
}

/* Cada fila del modal: borde inferior negro pixel-art */
[data-theme="gameboy"] .mlr-asig-row{
    border-bottom: 2px solid var(--text) !important;
    background: var(--bg2) !important;
}
[data-theme="gameboy"] .mlr-asig-row:hover{
    background: var(--text) !important;
    color: var(--bg) !important;
}
[data-theme="gameboy"] .mlr-asig-row:hover .mlr-asig-row-tit,
[data-theme="gameboy"] .mlr-asig-row:hover .mlr-asig-row-meta,
[data-theme="gameboy"] .mlr-asig-row:hover .mlr-asig-etapa{
    color: var(--bg) !important;
}

/* Folio del deal: cuadrado negro, texto verde militar = como pantalla DMG */
[data-theme="gameboy"] .mlr-asig-row-folio,
[data-theme="gameboy"] .mlr-th-deal-badge,
[data-theme="gameboy"] .mlr-deal-pill{
    background: var(--text) !important;
    color: var(--bg) !important;
    border: 2px solid var(--text) !important;
    border-radius: 0 !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    letter-spacing: .08em;
}
[data-theme="gameboy"] .mlr-asig-row:hover .mlr-asig-row-folio{
    background: var(--bg) !important;
    color: var(--text) !important;
}

/* Etapas con prefijo simbólico (no colores) */
[data-theme="gameboy"] .mlr-asig-etapa{
    font-weight: 900 !important;
    color: var(--text) !important;
    letter-spacing: .1em;
}
[data-theme="gameboy"] .mlr-asig-etapa.etapa-abierto::before{ content: "> "; }
[data-theme="gameboy"] .mlr-asig-etapa.etapa-ganado::before{ content: "[OK] "; }
[data-theme="gameboy"] .mlr-asig-etapa.etapa-perdido::before{ content: "[X] "; opacity: .5; }
[data-theme="gameboy"] .mlr-asig-etapa.etapa-perdido{ opacity: .55; }

/* "YA ASIGNADO" en gameboy */
[data-theme="gameboy"] .mlr-asig-ya{
    color: var(--text) !important;
    font-size: 10px;
    margin-left: 6px;
    font-weight: 900;
    letter-spacing: .1em;
}
[data-theme="gameboy"] .mlr-asig-ya::before{ content: "[OK] "; }
[data-theme="gameboy"] .mlr-asig-ya i{ display: none; }
[data-theme="gameboy"] .mlr-asig-row.asignado{
    opacity: .45 !important;
    background: var(--bg3) !important;
}

/* Banner de sugerencia: cuadrado, alto contraste */
[data-theme="gameboy"] .mlr-suggest{
    background: var(--bg2) !important;
    border: 3px solid var(--text) !important;
    border-radius: 0 !important;
    box-shadow: 4px 4px 0 var(--text) !important;
}
[data-theme="gameboy"] .mlr-suggest-txt{
    font-weight: 700;
    color: var(--text) !important;
}
[data-theme="gameboy"] .mlr-suggest-txt b{ color: var(--text) !important; text-decoration: underline; }

/* Thread con deal asignado: barra negra gruesa lateral */
[data-theme="gameboy"] .mlr-thread.has-deal{
    border-left: 5px solid var(--text) !important;
    padding-left: 9px !important;
}

/* Toggle VER TODO en gameboy */
[data-theme="gameboy"] .mlr-toggle-todo{
    border: 2px solid var(--text) !important;
    border-radius: 0 !important;
    background: var(--bg2) !important;
    color: var(--text) !important;
    font-weight: 700;
}
[data-theme="gameboy"] .mlr-toggle-todo:has(input:checked){
    background: var(--text) !important;
    color: var(--bg) !important;
}

/* Botón REDACTAR de mailer: cuadrado pixel-art */
[data-theme="gameboy"] .mlr-compose-btn{
    border-radius: 0 !important;
    border: 3px solid var(--text) !important;
    box-shadow: 4px 4px 0 var(--text) !important;
    background: var(--text) !important;
    color: var(--bg) !important;
    text-transform: uppercase;
    letter-spacing: .12em;
}
[data-theme="gameboy"] .mlr-compose-btn:hover{
    background: var(--bg) !important;
    color: var(--text) !important;
}

/* Folder activo: invertido alto contraste */
[data-theme="gameboy"] .mlr-fold-item.active{
    background: var(--text) !important;
    color: var(--bg) !important;
    border-left: 5px solid var(--text) !important;
}
[data-theme="gameboy"] .mlr-fold-item.active i{ color: var(--bg) !important; }
[data-theme="gameboy"] .mlr-fold-item .mlr-fold-cnt{
    background: var(--bg) !important;
    color: var(--text) !important;
    border: 1px solid var(--text);
    border-radius: 0 !important;
}
[data-theme="gameboy"] .mlr-fold-item.active .mlr-fold-cnt{
    background: var(--bg) !important;
    color: var(--text) !important;
}

/* Pills de deals asignados en thread abierto */
[data-theme="gameboy"] .mlr-deal-pill{
    border-radius: 0 !important;
}
[data-theme="gameboy"] .mlr-deal-pill-x{
    color: var(--bg) !important;
}
[data-theme="gameboy"] .mlr-deal-pill-x:hover{
    transform: scale(1.3) !important;
}



/* ══════════════════════════════════════════════════
   MIDNIGHT — botones con fondo de acento: texto blanco
   El fondo --turq en midnight es #8b9cff (azul-lila).
   color:#0D1117 da bajo contraste → override a #fff.
   ══════════════════════════════════════════════════ */
/* ─── NOCHE: fondos oscuros, texto blanco ─────────────── */
[data-theme="midnight"][data-mode="noche"] .ibtn.primary,
[data-theme="midnight"][data-mode="noche"] .ibtn.primary i,
[data-theme="midnight"][data-mode="noche"] .ibtn.success,
[data-theme="midnight"][data-mode="noche"] .ibtn.success i {
    color: #ffffff !important;
}
[data-theme="midnight"][data-mode="noche"] .s-item.active,
[data-theme="midnight"][data-mode="noche"] .s-item.active .s-lbl,
[data-theme="midnight"][data-mode="noche"] .s-item.active i {
    color: #ffffff !important;
}
[data-theme="midnight"][data-mode="noche"] .tab-btn.active,
[data-theme="midnight"][data-mode="noche"] .tab-btn.active i {
    color: #ffffff !important;
    background: var(--turq) !important;
    border-bottom-color: var(--turq) !important;
}
[data-theme="midnight"][data-mode="noche"] .s-cnt {
    color: #ffffff !important;
}

/* ─── DÍA: fondos claros, texto OSCURO (no blanco) ─────── */
/* En midnight día --turq es #2d3b9e (azul oscuro). Texto debe ser blanco SOLO cuando el fondo es var(--turq) sólido. Para fondos translúcidos sobre blanco, usar el azul oscuro. */
[data-theme="midnight"][data-mode="dia"] .ibtn.primary,
[data-theme="midnight"][data-mode="dia"] .ibtn.primary i,
[data-theme="midnight"][data-mode="dia"] .ibtn.success,
[data-theme="midnight"][data-mode="dia"] .ibtn.success i {
    color: #ffffff !important;
}
/* Sidebar item activo en DÍA: texto del color de acento, no blanco */
[data-theme="midnight"][data-mode="dia"] .s-item.active,
[data-theme="midnight"][data-mode="dia"] .s-item.active .s-lbl,
[data-theme="midnight"][data-mode="dia"] .s-item.active i {
    color: var(--turq) !important; /* #2d3b9e azul oscuro sobre fondo casi blanco */
    background: rgba(45, 59, 158, 0.08) !important;
    border-left-color: var(--turq) !important;
}
[data-theme="midnight"][data-mode="dia"] .tab-btn.active,
[data-theme="midnight"][data-mode="dia"] .tab-btn.active i {
    color: #ffffff !important;
    background: var(--turq) !important;
    border-bottom-color: var(--turq) !important;
}
/* Badges en día: texto claro sobre fondo oscuro */
[data-theme="midnight"][data-mode="dia"] .s-cnt {
    color: #ffffff !important;
}
/* Header de sección del sidebar (ambos modos) */
[data-theme="midnight"] .s-sec {
    color: var(--text) !important;
}

/* ══════════════════════════════════════════════════
   GAMEBOY — sidebar active: texto negro sobre fondo
   claro es invisible. Usar fondo negro con texto verde.
   ══════════════════════════════════════════════════ */
[data-theme="gameboy"] .s-item.active {
    background: #0b0b0b !important;
    color: #8b9442 !important;
    border-left-color: #8b9442 !important;
}
[data-theme="gameboy"] .s-item.active .s-lbl,
[data-theme="gameboy"] .s-item.active i {
    color: #8b9442 !important;
}
[data-theme="gameboy"] .s-item:hover {
    background: #5d6a2d !important;
    color: #0b0b0b !important;
}
