:root { color-scheme: light; font-family: system-ui, sans-serif; background: #edf4f5; color: #16343b; }
* { box-sizing: border-box; }
body { min-height: 100vh; margin: 0; display: grid; place-items: center; padding: 1rem; }
.acceso { width: min(100%, 420px); padding: 2rem; background: #fff; border: 1px solid #d6e4e6; border-radius: 18px; box-shadow: 0 16px 42px #12363b1a; }
h1 { margin: 0 0 .35rem; font-size: 1.65rem; }
p { margin: .3rem 0 1.3rem; color: #4a686d; }
form { display: grid; gap: 1rem; }
label { display: grid; gap: .35rem; font-weight: 600; }
input { width: 100%; min-height: 44px; padding: .65rem .8rem; font: inherit; border: 1px solid #a7bdc1; border-radius: 9px; }
input:focus-visible, button:focus-visible { outline: 3px solid #44abb9; outline-offset: 2px; }
button { min-height: 46px; font: inherit; font-weight: 700; color: #fff; background: #176a78; border: 0; border-radius: 9px; cursor: pointer; }
button:hover { background: #125a66; }
.error { padding: .75rem; border-radius: 9px; background: #fff0ed; color: #8d2920; }
