/* Acceso privado: mismo material y logotipo del Atelier claro, sin datos de clientes. */
:root { color-scheme: light; --paper: #f8f6f1; --ink: #302820; --muted: #685c4d; --edge: #cfc4b5; --focus: #8b663f; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; font-size: 16px; line-height: 1.5; }
::selection { background: #d9bd93; color: var(--ink); }
.access { width: min(100%, 400px); margin: clamp(28px, 10vh, 100px) auto 32px; padding: 0 24px max(24px, env(safe-area-inset-bottom)); }
.access-brand { display: block; width: 240px; max-width: 100%; height: auto; margin-bottom: 34px; }
h1 { font-size: 27px; font-weight: 650; line-height: 1.2; margin: 0 0 28px; letter-spacing: -.025em; }
.field { margin-bottom: 20px; }
label { display: block; margin-bottom: 7px; font-weight: 550; }
input[type=text], input[type=password] { width: 100%; min-height: 48px; padding: 11px 12px; background: #fff; border: 1px solid var(--edge); border-radius: 10px; font: inherit; color: var(--ink); caret-color: var(--focus); }
input[readonly] { background: #eee9df; }
.password-field { position: relative; }
.password-field input { padding-right: 86px; }
.show-password { position: absolute; inset: 2px 2px 2px auto; min-width: 78px; min-height: 44px; border: 0; border-radius: 8px; color: #705333; background: transparent; font: inherit; font-size: 14px; font-weight: 550; cursor: pointer; }
.field-help, .access-help { color: var(--muted); font-size: 14px; line-height: 1.5; margin: 8px 0 0; }
.access-help { margin-top: 22px; }
.remember { display: flex; align-items: center; gap: 10px; min-height: 44px; margin: 2px 0 16px; font-weight: 400; cursor: pointer; }
.remember input { width: 20px; height: 20px; margin: 0; accent-color: #705333; flex-shrink: 0; }
.submit { width: 100%; min-height: 48px; padding: 12px 16px; background: #39291c; color: #fff8ec; font: inherit; font-weight: 600; border: 0; border-radius: 12px; cursor: pointer; transition: background-color 140ms ease-out, transform 140ms ease-out; }
.submit:active { transform: scale(.98); }
.submit:disabled { opacity: .7; cursor: wait; }
.access-error { margin: -6px 0 24px; color: #8a2424; font-size: 15px; }
:is(input, button):focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
@media (hover: hover) { .submit:hover { background: #55402d; } .show-password:hover { background: #eee9df; } }
@media (max-width: 360px) { .access { padding-left: 20px; padding-right: 20px; } h1 { font-size: 25px; } }
@media (prefers-reduced-motion: reduce) { .submit { transition: none; } .submit:active { transform: none; } }
