/* Pantallas de acceso: coherencia, contraste y controles táctiles. */
body { font-family: Inter, system-ui, -apple-system, sans-serif; padding-bottom: 48px; }
.login-card { box-shadow: 0 16px 48px rgba(0,0,0,.28); }
.login-card p.subtitle { font-size: 14px; line-height: 1.6; }
.login-card label { font-size: 14px; }
.login-card input { min-height: 46px; font-size: 16px; }
.tab-btn, .btn-submit { min-height: 44px; }
.cashier-chip .role, .back-link { color: #94a3b8 !important; }
:is(button,a,input,select):focus-visible { outline: 3px solid #7dd3fc; outline-offset: 3px; }
.links-footer { gap: 16px; flex-wrap: wrap; line-height: 1.5; }
@media (max-width: 480px) {
  .login-card { padding: 24px 20px; }
  .tab-btn { padding: 10px 6px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}


/* Accesos claros con la misma identidad de la web y el mostrador. */
body { background: #f3f6ef; color: #213c34; }
.login-card { background: #fff; border-color: #d4dfcd; border-radius: 18px; box-shadow: 0 16px 50px #213c3410; padding: 32px; }
.login-card h1 { color: #213c34; font-weight: 650; letter-spacing: -.5px; }
.login-card p, .login-card p.subtitle { color: #627268; }
.login-card label { color: #48604e; font-size: 13px; }
.login-card input { background: #fff; color: #213c34; border-color: #cdd9c9; border-radius: 8px; }
.login-card input:focus { border-color: #65977d; box-shadow: 0 0 0 3px #17645214; }
.tabs-header { background: #f1f5ed; border-color: #dce5d5; padding: 4px; }
.tab-btn { color: #637465; }
.tab-btn.active, .btn-submit { background: #176452; color: #fff; box-shadow: none; }
.btn-submit:hover { background: #104c3e; }
.logo { color: #176452; }
.logo span, .logo-badge { background: #eaf3e5; color: #246047; }
.cashier-chip { background: #f8faf5; border-color: #dce5d5; }
.cashier-chip:hover, .cashier-chip.selected { background: #eef5e7; border-color: #85a67b; }
.cashier-chip .name { color: #34533d; }
.cashier-chip .role, .back-link { color: #627268 !important; }
.pin-input-kiosk { background: #f8faf5 !important; border-color: #85a67b !important; color: #176452 !important; }
.num-btn { background: #f8faf5; border-color: #dce5d5; color: #34533d; min-height: 50px; box-shadow: 0 1px 2px #213c3408; }
.num-btn.action { background: #eef3e8; color: #627268; }
.num-btn:hover { background: #edf4e5; border-color: #a7be9d; }
.num-btn:active { background: #e2eddb; }
.kiosk-badge-terminal { background: #eaf3e5; color: #246047; border-color: #cbddc4; }
.links-footer { border-top-color: #e1e8dc; }
.links-footer a { color: #176452; }
.alert-error { background: #fff1ef; color: #a8342c; border-color: #f0c5bf; }
.alert-info { background: #edf4e5; color: #355c3d; border-color: #cbddc4; }
:is(button,a,input,select):focus-visible { outline-color: #b48439; }
@media(max-width:480px) { .login-card { padding: 26px 22px; } }

.tab-btn { color: #465b4a; }.tab-btn.active { color: #fff; }
.num-btn.action { color: #465b4a; }
:is(button,a,input,select):focus-visible { outline: 3px solid #8a591c; outline-offset: 3px; }
.btn-submit:disabled { background: #e5eae7; color: #53645d; opacity: 1; }
