:root{--fondo:#f6f7f9;--superficie:#fff;--borde:#e3e6ea;--texto:#1a1d21;--texto-suave:#666e78;--acento:#2f6fed;--acento-texto:#fff;--error:#c0392b;--exito:#1e8e5a;--radio:12px;--sombra:0 1px 2px #1018280f, 0 4px 12px #1018280d}@media (prefers-color-scheme:dark){:root{--fondo:#14161a;--superficie:#1c1f24;--borde:#2b3038;--texto:#e8eaed;--texto-suave:#9aa3ad;--acento:#5b8dff;--acento-texto:#0d1117;--error:#ff7a6b;--exito:#4bd39b;--sombra:0 1px 2px #0006}}*{box-sizing:border-box}body{background:var(--fondo);color:var(--texto);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:var(--acento)}.contenedor{max-width:1040px;margin:0 auto;padding:0 1rem 3rem}.cabecera{border-bottom:1px solid var(--borde);background:var(--superficie)}.cabecera>div{flex-wrap:wrap;align-items:center;gap:1rem;max-width:1040px;margin:0 auto;padding:.85rem 1rem;display:flex}.marca{letter-spacing:-.01em;color:var(--texto);margin-right:auto;font-weight:650;text-decoration:none}.cabecera nav{align-items:center;gap:1rem;display:flex}.cabecera nav a,.enlace-boton{color:var(--texto-suave);font-size:.925rem;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.925rem;text-decoration:none}.cabecera nav a:hover,.enlace-boton:hover{color:var(--texto)}.correo-sesion{color:var(--texto-suave);font-size:.925rem}h1{letter-spacing:-.02em;margin:2rem 0 .25rem;font-size:1.6rem}h2{letter-spacing:-.01em;margin:2rem 0 .75rem;font-size:1.15rem}.subtitulo{color:var(--texto-suave);margin:0 0 1.5rem}.cuadricula{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);color:inherit;flex-direction:column;gap:.4rem;min-height:148px;padding:1.1rem;text-decoration:none;display:flex}a.tarjeta:hover{border-color:var(--acento);transform:translateY(-1px)}a.tarjeta{transition:border-color .15s,transform .15s}.tarjeta.inactiva{opacity:.62}.tarjeta .nombre{font-weight:600}.tarjeta .descripcion{color:var(--texto-suave);flex:1;font-size:.9rem}.etiqueta{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--borde);color:var(--texto-suave);border-radius:999px;align-self:flex-start;padding:.15rem .5rem;font-size:.72rem;font-weight:600}.etiqueta.abierta{color:var(--exito);border-color:currentColor}.etiqueta.prueba{color:var(--acento);border-color:currentColor}.panel{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);padding:1.5rem}.panel-estrecho{max-width:400px;margin:3rem auto}label{margin-bottom:.3rem;font-size:.875rem;font-weight:550;display:block}input,select{border:1px solid var(--borde);background:var(--fondo);width:100%;color:var(--texto);font:inherit;border-radius:8px;padding:.6rem .7rem;font-size:1rem}input:focus,select:focus{outline:2px solid var(--acento);outline-offset:-1px}.campo{margin-bottom:1rem}button,.boton{background:var(--acento);color:var(--acento-texto);font:inherit;cursor:pointer;text-align:center;border:1px solid #0000;border-radius:8px;padding:.6rem 1rem;font-weight:550;text-decoration:none;display:inline-block}button:hover{filter:brightness(1.08)}button.ancho{width:100%}button.secundario{color:var(--texto);border-color:var(--borde);background:0 0}button.peligro{color:var(--error);border-color:var(--borde);background:0 0}.aviso{border:1px solid;border-radius:8px;margin-bottom:1rem;padding:.7rem .85rem;font-size:.9rem}.aviso.error{color:var(--error)}.aviso.exito{color:var(--exito)}.pie-formulario{color:var(--texto-suave);text-align:center;margin:1rem 0 0;font-size:.9rem}.usuario{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);margin-bottom:1rem;padding:1.1rem}.usuario header{flex-wrap:wrap;align-items:baseline;gap:.6rem;margin-bottom:.75rem;display:flex}.usuario header .correo{font-weight:600}.accesos{color:var(--texto-suave);margin:0 0 .75rem;padding:0;font-size:.9rem;list-style:none}.accesos li+li{margin-top:.2rem}.fila-acciones{border-top:1px solid var(--borde);flex-wrap:wrap;align-items:flex-end;gap:.5rem;padding-top:.75rem;display:flex}.fila-acciones .campo{margin:0}.fila-acciones select,.fila-acciones input{width:auto;min-width:8rem}.fila-acciones input[type=number]{min-width:5.5rem}.enlace-generado{width:100%;margin-top:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;display:block}@media (max-width:560px){.fila-acciones{flex-direction:column;align-items:stretch}.fila-acciones select,.fila-acciones input,.fila-acciones button{width:100%}}
