/* Pantalla de acceso, logotipo provisional y estados de sesión (fase 1). */
body.sin-sesion .app-shell,
body.sin-sesion .toast { display: none; }

.pantalla-acceso {
  min-height: 100vh; display: grid; place-items: center; padding: 16px;
  background: var(--canvas);
}
.pantalla-acceso[hidden] { display: none; }
.acceso-caja {
  width: min(420px, 100%); background: #fff; border: 1px solid var(--line); border-top: 3px solid #6e2532;
  border-radius: 8px; padding: 32px 28px; box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 14px;
}
.acceso-marca { border-bottom: 1px solid #6e2532; padding-bottom: 10px; display: flex; justify-content: space-between; align-items: baseline; }
.acceso-marca strong { letter-spacing: .16em; font-weight: 600; }
.acceso-marca span { color: #6e2532; font-size: .62rem; letter-spacing: .1em; font-weight: 600; }
.acceso-caja h1 { font-weight: 300; font-size: 1.5rem; margin: 6px 0 0; }
.acceso-caja p { color: var(--muted); font-size: .85rem; margin: 0; }
.acceso-caja .primary-btn { height: 44px; font-size: .85rem; }
.acceso-error { color: #6e2532; background: #f3e5e8; padding: 8px 10px; border-radius: 4px; font-size: .75rem; }
.acceso-error[hidden] { display: none; }
.acceso-pie { color: #8b7f81; font-size: .68rem; text-align: center; margin-top: 8px; }

.logo-texto { display: block; font-size: 1.55rem; letter-spacing: .06em; color: #131313; font-weight: 300; line-height: 1; }
.logo-texto b { color: #6e2532; font-weight: 700; }
.logo-texto small { display: block; font-size: .5rem; letter-spacing: .26em; color: #686266; margin-top: 6px; font-weight: 600; }

.sync.ok > span { background: #2e7d4f; box-shadow: 0 0 0 4px #e3f1e8; }
.sync.aviso > span { background: #b97511; box-shadow: 0 0 0 4px #fff2d8; }
.sync.error > span { background: #bd4a44; box-shadow: 0 0 0 4px #fae9e7; }
.user-card:hover { background: #f2e7e9; }
