/* 2026-06-21
   /opt/pasarela-kda/web/css/estilos.css
   Tema DNNS Mantis Green con variables; conmutador claro/oscuro por data-tema. */

:root {
    --mantis: #69c350;
    --mantis-osc: #4f9c3b;
    --radio: 16px;
}
html[data-tema="oscuro"] {
    --fondo: #0f1411;
    --tarjeta: #171d19;
    --texto: #e8efe9;
    --tenue: #9bb0a2;
    --borde: #2a332d;
    --campo: #11160f;
}
html[data-tema="claro"] {
    --fondo: #f3f6f2;
    --tarjeta: #ffffff;
    --texto: #1a241d;
    --tenue: #5d6e62;
    --borde: #d9e2da;
    --campo: #f7faf6;
}

* { box-sizing: border-box; }
body {
    margin: 0; min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    background: var(--fondo); color: var(--texto);
    font-family: 'IBM Plex Sans', system-ui, sans-serif;
    transition: background .2s, color .2s;
}

.controles { position: fixed; top: 16px; right: 16px; display: flex; gap: 8px; }
.control {
    background: var(--tarjeta); color: var(--texto);
    border: 1px solid var(--borde); border-radius: 50%;
    width: 40px; height: 40px; font-size: 14px; font-weight: 600; cursor: pointer;
}

.tarjeta {
    background: var(--tarjeta); border: 1px solid var(--borde);
    border-radius: var(--radio); padding: 32px 28px;
    width: 380px; max-width: 92vw;
    box-shadow: 0 10px 40px rgba(0,0,0,.18);
}

h1 { font-family: 'Fraunces', serif; font-weight: 600; font-size: 1.6rem; margin: 0 0 4px; }
.sub { color: var(--tenue); margin: 0 0 20px; font-size: .92rem; }

.cotizacion {
    background: var(--campo); border: 1px solid var(--borde); border-radius: 10px;
    padding: 10px 14px; font-family: 'IBM Plex Mono', monospace;
    color: var(--mantis); text-align: center; margin-bottom: 20px;
}

label { display: block; font-size: .85rem; color: var(--tenue); margin-bottom: 6px; }
.fila { display: flex; align-items: center; gap: 8px; }
input {
    flex: 1; background: var(--campo); border: 1px solid var(--borde);
    border-radius: 10px; padding: 12px 14px; color: var(--texto);
    font-size: 1.1rem; font-family: 'IBM Plex Mono', monospace;
}
input:focus { outline: 2px solid var(--mantis); border-color: var(--mantis); }
.moneda { color: var(--tenue); font-size: 1.2rem; }

.importe { font-family: 'IBM Plex Mono', monospace; color: var(--tenue);
    text-align: center; margin: 10px 0 22px; }

button.primario {
    width: 100%; padding: 14px; border: none; border-radius: 12px;
    background: var(--mantis); color: #05210a; font-weight: 600; font-size: 1rem;
    cursor: pointer; transition: background .15s;
}
button.primario:hover { background: var(--mantis-osc); }
button.primario:disabled { opacity: .5; cursor: not-allowed; }

button.secundario {
    width: 100%; padding: 13px; margin-top: 10px; border-radius: 12px;
    background: transparent; color: var(--mantis); font-weight: 600; font-size: .95rem;
    border: 1px solid var(--mantis); cursor: pointer; transition: background .15s, color .15s;
}
button.secundario:hover { background: var(--mantis); color: #05210a; }
button.secundario.oculto { display: none; }

.aviso { background: var(--campo); border: 1px solid var(--borde); border-radius: 10px;
    padding: 10px 14px; font-size: .85rem; color: var(--tenue); margin-bottom: 14px; }
.progreso { margin-top: 16px; font-size: .9rem; color: var(--tenue); text-align: center; }
.cuenta { display: block; margin-top: 18px; font-family: 'IBM Plex Mono', monospace;
    font-size: .72rem; color: var(--tenue); text-align: center; word-break: break-all; }

.oculto { display: none; }
