.account-shell{max-width:1100px;margin:48px auto 72px;padding:0 24px;font-family:Inter,Arial,sans-serif}.account-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:start}.account-intro{padding:34px 0}.account-kicker{display:inline-block;color:#86efac;letter-spacing:.16em;font-size:.76rem;font-weight:800;text-transform:uppercase;margin-bottom:20px}.account-intro h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.15;margin:0 0 20px;color:#f8fafc}.account-intro h1 em{font-style:normal;color:#4ade80}.account-intro p{color:#cbd5e1;max-width:420px}.account-steps{list-style:none;margin-top:30px;display:grid;gap:18px;counter-reset:account}.account-steps li{display:flex;gap:14px;align-items:center;color:#cbd5e1}.account-steps li:before{counter-increment:account;content:counter(account);border:1px solid #24654b;background:#11392c;color:#86efac;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex:none;font-weight:700}.account-card{background:#111e32;border:1px solid #2c4054;border-radius:22px;padding:30px;box-shadow:0 18px 48px #0003;min-width:0}.account-card h2{font-size:1.45rem;color:#f1f5f9;margin:0 0 10px}.account-card p{color:#cbd5e1}.account-form{display:grid;gap:18px;margin-top:22px}.account-form label{display:grid;gap:7px;font-weight:600;font-size:.92rem}.account-form input:not([type=checkbox]){width:100%;min-width:0;border:1px solid #52647a;border-radius:10px;background:#091423;color:#f8fafc;padding:13px 14px;font:inherit}.account-form input:focus-visible,.account-button:focus-visible,.account-card a:focus-visible{outline:3px solid #86efac;outline-offset:3px}.account-form label.account-check{display:flex;align-items:flex-start;gap:12px;font-size:.85rem;font-weight:400;line-height:1.55}.account-check input{width:19px;height:19px;flex:none;margin-top:3px;accent-color:#22c55e}.account-button{display:inline-block;border:0;border-radius:11px;background:#4ade80;color:#042414;padding:13px 22px;font:700 .95rem Inter,Arial,sans-serif;text-align:center;text-decoration:none;cursor:pointer}.account-button:hover{background:#86efac}.account-button.secondary{background:#20374b;color:#e2e8f0;border:1px solid #486176}.account-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:20px;font-size:.88rem}.account-links a,.account-card a:not(.account-button),.account-shell>a{color:#86efac}.account-notice{padding:14px 18px;border:1px solid #346e55;border-radius:12px;background:#113325;color:#d1fae5;margin-bottom:22px;overflow-wrap:anywhere}.account-notice.error{background:#3b1723;border-color:#a45265;color:#ffe4e6}.account-fine{font-size:.8rem;color:#a9b9cc!important;margin-top:14px}.account-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:22px}.account-orders{grid-column:1/-1}.account-table-wrap{overflow:auto}.account-table{border-collapse:collapse;width:100%;font-size:.88rem}.account-table th,.account-table td{text-align:left;padding:13px 10px;border-bottom:1px solid #34465a;white-space:nowrap}.account-table th{color:#a6bccd}.account-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:24px}.account-toolbar h1{font-size:2rem}.account-bar{display:flex;gap:14px;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding:12px 5%;background:#112b2a;color:#dcfce7;font:500 .9rem Inter,Arial,sans-serif}.account-bar a{color:#a7f3d0}.account-bar form{margin:0}.account-bar button{border:1px solid #6aaf89;color:#dcfce7;background:transparent;border-radius:8px;padding:6px 10px;cursor:pointer}.account-bar span{margin-right:auto}.account-readonly{opacity:.8}button:disabled{opacity:.6;cursor:wait}@media(max-width:760px){.account-shell{margin:22px auto 42px;padding:0 16px}.account-grid,.account-dashboard{grid-template-columns:1fr;gap:22px}.account-intro{padding:4px}.account-intro h1{font-size:2.05rem}.account-steps{display:none}.account-card{padding:23px 19px;border-radius:17px}.account-toolbar h1{font-size:1.7rem}.account-bar{font-size:.82rem;padding:10px 16px}.account-orders{grid-column:auto}.account-shell .account-button{min-height:46px}}

footer a{color:#86efac} .account-card h2:not(:first-child){margin-top:24px}

.google-form{margin:0 0 18px}.google-button{width:100%;padding:13px 20px;border:1px solid #747775;border-radius:8px;background:#fff;color:#1f1f1f;font:600 .95rem Arial,sans-serif;cursor:pointer;min-height:46px}.google-button:hover{background:#eef3f8}.google-button:focus-visible{outline:3px solid #86efac;outline-offset:3px}.google-button:disabled{cursor:not-allowed}

/*
 * El candado de cambiar la contraseña, en la barra de la cuenta.
 *
 * Se ve como un enlace mas de la barra, con el icono delante. No se standout ni
 * parpadea: si queda medio escondido, nadie lo mira, y de eso se trata.
 *
 * El icono va dentro de un span con aria-hidden, porque el candado ya lo dice el
 * texto que viene al lado. Sin eso, un lector de pantalla lee "cerrojo seguridad"
 * dos veces.
 */
.account-bar-lock {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.account-bar-lock span {
    font-size: 0.95em;
    line-height: 1;
    filter: grayscale(0.3);
}

.account-bar-lock:hover span {
    filter: none;
}

/* En movil la barra ya se apila, asi que el candado baja con ella. No hace falta
   nada mas aqui, y es lo que evita que se corte o que se salga de la pantalla. */
@media (max-width: 620px) {
    .account-bar-lock {
        order: -1;
    }
}

/*
 * LA PANTALLA DE ENTRAR
 *
 * Antes era un <h2> y un <p> suelto, y el formulario debajo. Los dos textos se
 * parecian mucho: un titulo y un texto normal, sin nada que dijera cual era el
 * importante. Y el titulo ocupa la primera linea de la tarjeta, que es donde el ojo
 * entra, para decir "Entra", que no es una informacion: es lo que ya estas leyendo.
 *
 * Aqui el orden es el contrario, y es el que se lee mejor:
 *
 *   1. El kicker, que es pequeno, verde y de mayusculas. Dice "Inicia sesion" y lo
 *      primero que se ve. Es la accion, y por eso va la primera: es lo que la
 *      persona ha venido a hacer a esta pagina.
 *   2. El subtitulo, que explica que se ve al entrar. Esto es lo util: el titulo
 *      anterior no decia nada, y lo primero que pregunta alguien que vuelve es
 *      "que veo si entro".
 *   3. Los campos.
 *
 * EL KICKER, POR QUE SE REUSA .account-kicker Y NO SE CREA UNO NUEVO
 *
 * .account-kicker ya existe, en la columna izquierda de esta misma pantalla, y es
 * exactamente lo mismo: una palabra en verde, en mayusculas, con las letras
 * separadas, antes de un texto largo. Reusarlo es lo que hace que las dos columnas
 * de la pagina se lean como una sola cosa.
 *
 * Lo que si cambia es el margen. En la columna izquierda va con 20 px de margen
 * debajo, porque ahi separa el kicker de un <h1> gigante. Aqui va con 8, porque
 * debajo hay un <p> de una linea y 20 px de aire entre dos frases cortas se ven
 * como un corte.
 *
 * EL GRADIENTE DE FONDO
 *
 * La tarjeta de la derecha ya era oscura y plana. Se le anade un degradado
 * verdoso muy flojo en la esquina de arriba izquierda, que es por donde entra la
 * luz en una pantalla con brillo. No se nota si no lo buscas, y es lo que hace que
 * la tarjeta deje de parecer un rectangulo pegado.
 *
 * Con dos capas y no con una: la primera es el degradado, y la segunda es un plano
 * del mismo color de fondo, que va DEBAJO. Sin el plano, el degradado se
 * transparentaria y se veria lo que hay detras de la tarjeta, que es el fondo de la
 * pagina.
 *
 * LOS CAMPOS
 *
 * El fondo del campo pasa de #091423 a #0b1a2b, que es un azul un poco menos
 * negro. Con el fondo nuevo de la tarjeta, un campo casi negro parece un agujero
 * en la pantalla en vez de un sitio donde escribir.
 *
 * Y el placeholder va en un gris mas claro (#7d90a6) que el #52647a de antes. El
 * color anterior era el mismo del borde del campo, y con un borde y un texto del
 * mismo color no se distinguia si el campo estaba vacio o no.
 *
 * LA LETRA PEQUEÑA DEL FINAL
 *
 * .account-fine ya existia, pero con "import" y !important, que es como se
 * pisa cualquier cosa. Se deja como estaba y no se toca: ya funciona, y rehacer
 * algo que funciona para dejarle un hueco donde escribir es perder tiempo.
 */

.account-login-header {
    display: grid;
    gap: 6px;
    margin-bottom: 4px;
}

/*
 * EL TITULO Y EL TEXTO DE DEBAJO
 *
 * El titulo va con el estilo del kicker: pequeno, verde y en mayusculas, como el de
 * la columna de la izquierda. Con eso, las dos columnas de la pagina se leen como
 * una sola cosa.
 *
 * POR QUE ESTA REGLA EMPIEZA POR .account-card Y NO POR .account-login-title
 *
 * Porque .account-card h2, que esta en la hoja de arriba, pone el color y el
 * tamano de los titulos de tarjeta, y gana. No es que se escribiera antes: es que
 * tiene mas especificidad. ".account-card h2" es una clase y un tipo, y vale mas
 * que ".account-kicker", que es solo una clase. Con el selector corto, el titulo
 * salia en el color y el tamano de los otros titulos de tarjeta, en vez del del
 * kicker.
 *
 * Repetir .account-card delante no es un truco para forzar que gane: es que el
 * estilo que se quiere cambiar es el de DENTRO de la tarjeta, y para cambiar algo
 * de dentro hay que ganarle a la regla de dentro.
 *
 * Y el texto de debajo va MAS PEQUENO que el titulo, al reves de lo normal.
 *
 * Lo normal en una pantalla es: titulo grande, texto debajo mas pequeno. Aqui al
 * reves, y ha pasado de verdad: con el titulo a 0.78 rem y el texto a 0.94, el
 * titulo salia mas pequeno que lo que tenia debajo. El ojo lee eso como que la
 * frase larga es lo importante y el titulo es una etiqueta, que es justo lo
 * contrario: el texto largo es el que explica, y el titulo es el que dice donde
 * estas.
 *
 * Por eso el titulo se queda un poco por encima (0.86) y el texto baja (0.8), y en
 * un gris mas apagado que el de la tarjeta. Con eso el orden se lee bien: primero
 * donde estas, despues que pasa aqui.
 */
.account-card .account-login-title {
    margin: 0 0 5px;
    font-size: 0.86rem;
    color: #86efac;
}

.account-login-header p {
    margin: 0;
    color: #9fb3c6;
    font-size: 0.8rem;
    line-height: 1.5;
}

/*
 * LA TARJETA DEL LOGIN
 *
 * Con una clase propia en el HTML, .account-card-login, y NO con :has().
 *
 * :has() es mas comodo, porque no hay que tocar la vista, pero solo funciona
 * desde 2023. En un navegador que no lo tenga, la regla no se aplica y no pasa
 * nada: la tarjeta sigue teniendo su fondo plano. Que es exactamente lo que
 * quiere este sitio: el degradado es una mejora, no lo que hace que la pantalla
 * se pueda usar. Con una clase, en cambio, hay que acordarse de ponerla, y si
 * alguien anade otra pantalla de entrada y se le olvida, la nueva sale con el
 * fondo plano sin que nadie sepa por que.
 *
 * El degradado va con dos capas y no con una: la primera es el degradado, y la
 * segunda es un plano del mismo color de fondo, que va DEBAJO. Sin el plano, el
 * degradado se transparentaria y se veria el fondo de la pagina a traves de la
 * tarjeta.
 */
.account-card-login {
    background:
        linear-gradient(155deg, rgba(34, 197, 94, 0.07), rgba(34, 197, 94, 0) 46%),
        #111e32;
}

/* Los campos del login, con el fondo un poco menos negro que antes. */
.account-login-header ~ .account-form input:not([type="checkbox"]) {
    background: #0b1a2b;
}

.account-login-header ~ .account-form input::placeholder {
    color: #7d90a6;
    opacity: 1;
}

/*
 * El boton de entrar, un poco mas alto que el resto de botones de la cuenta.
 *
 * Es la accion principal de esta pantalla, y en una pantalla donde solo hay un
 * boton, ese boton tiene que ser el que se ve primero. 15 px de mas en los
 * lados lo hacen un poco mas ancho que los campos, que es como se marca un boton
 * principal sin necesitar un color distinto: ya lo tiene.
 */
.account-login-header ~ .account-form .account-button {
    padding: 15px 22px;
    margin-top: 4px;
    box-shadow: 0 8px 22px rgba(74, 222, 128, 0.16);
}

.account-login-header ~ .account-form .account-button:hover {
    box-shadow: 0 10px 28px rgba(74, 222, 128, 0.24);
}