/* ========================================================================== AUTH.CSS ========================================================================== */
/* ========================================================================== AUTH LAYOUT & FORMS ========================================================================== */
.z-auth-page {
  min-height: 100vh; display: flex;
  flex-direction: column; align-items: stretch;
  padding: 0; --z-auth-action-bg: linear-gradient(135deg, var(--btn-start), var(--btn-end));
  --z-auth-action-border: rgba(37, 99, 235, 0.22); --z-auth-action-text: var(--btn-text);
}
.z-auth-wrap {
  width: min(1240px, 100%); margin: 0 auto;
  flex: 1; display: flex;
  flex-direction: column; justify-content: flex-start;
  padding: 20px 14px 88px;
}
.z-auth-main {
  display: grid; grid-template-columns: 1fr minmax(380px, 560px) 1fr;
  gap: 18px; align-items: stretch;
  width: 100%;
}
.z-auth-card, .z-auth-seo-card {
  position: relative; padding: 20px;
  overflow: hidden; border: 1px solid var(--border);
  border-radius: 26px;
}
.z-auth-main .z-auth-card,
.z-auth-titlebar h2 { margin: 0; }
.z-auth-card::before, .z-auth-card h2, .z-auth-seo-card h2 { position: relative; margin: 0 0 12px; color: var(--text-strong); }
.z-auth-login-heading { display: block; margin: 0 0 12px; text-align: center; color: var(--text-strong); }
.z-auth-grid { display: grid; gap: 12px; }
.z-auth-row { display: grid; gap: 7px; }
.z-auth-row label { font-weight: 800; color: var(--text-strong); font-size: var(--fs-body); }
.z-auth-row-inline-field { gap: 0; }
.z-auth-row input, .z-auth-row select {
  width: 100%; min-height: 48px;
  padding: 11px 12px; border-radius: 16px;
  border: 1px solid var(--border); background: var(--panel-strong);
  color: var(--text); font-size: var(--fs-body);
}
.z-auth-card section[data-auth-view="login"] .z-auth-grid,
.z-auth-card section[data-auth-view="register"] .z-auth-grid,
.z-auth-card section[data-auth-view="recover"] .z-auth-grid {
  gap: 10px;
}
.z-auth-card section[data-auth-view="login"] .z-auth-row,
.z-auth-card section[data-auth-view="register"] .z-auth-row-register,
.z-auth-card section[data-auth-view="recover"] .z-auth-row {
  gap: 0;
}
.z-auth-actions { display: grid; gap: 10px; margin-top: 12px; }
.z-auth-actions .btn { width: 100%; font-size: var(--fs-body); }
.z-auth-actions-wrap { flex-wrap: wrap; gap: 10px; }
.z-auth-row-stack-gap { margin-top: 10px; }
/* ========================================================================== AUTH BRANDING & LANGUAGE CONTROLS ========================================================================== */
.z-auth-seo-card .seo-small{ display: none; }
.z-auth-brand {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 12px;
  text-align: center;
}
.z-auth-brand img { width: 40px; height: 40px; border-radius: 14px; box-shadow: var(--shadow-sm); }
.z-auth-brand h1 {
  margin: 0; line-height: 1.1;
  text-align: center; color: var(--text-strong);
  font-size: var(--fs-title);
}
.z-auth-lang {
  display: flex; justify-content: flex-end;
  align-items: center; gap: 8px;
  position: relative; margin-bottom: 12px;
}
/* ========================================================================== AUTH FOOTER ========================================================================== */
.z-auth-foot {
  position: fixed; left: 0;
  right: 0; bottom: 0;
  display: flex; justify-content: center;
  flex-wrap: wrap; gap: 14px;
  padding: 12px 10px; background: rgba(255,255,255,0.9);
  border-top: 1px solid var(--border); backdrop-filter: blur(16px);
  box-shadow: 0 -8px 24px rgba(15,23,42,0.08);
  z-index: 40; font-size: var(--fs-footer);
}
:root.dark .z-auth-foot { background: rgba(15,23,42,0.9); }
.z-auth-foot a { text-decoration: none; opacity: .92; }
/* ========================================================================== AUTH SEO CONTENT ========================================================================== */
:root.dark .z-auth-card::before, :root.dark .z-auth-seo-card::before { background: radial-gradient(circle at top right, rgba(56,189,248,0.12), transparent 36%); }
.z-auth-seo-list {
  position: relative; margin: 0;
  padding-inline-start: 18px; display: grid;
  gap: 8px;
}
.z-auth-seo-list li { line-height: 1.6; opacity: 0.92; font-size: var(--fs-body); }
.z-auth-seo-para {
  line-height: 1.6; opacity: 0.92;
  position: relative; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 3;
  -webkit-box-orient: vertical; overflow: hidden;
  font-size: var(--fs-body);
}
.z-auth-seo-card .seo-large, .z-auth-msg.is-show{ display: block; }

/* ========================================================================== AUTH PRIMARY ACTIONS ========================================================================== */
.z-auth-page .z-auth-google-top {
  background: var(--z-auth-action-bg) !important; color: var(--z-auth-action-text) !important;
  border-color: var(--z-auth-action-border) !important; box-shadow: var(--btn-shadow) !important;
  display: inline-flex; align-items: center;
  justify-content: center; gap: 8px;
}
.z-auth-page #btnGuest {
  background: linear-gradient(135deg, #b91c1c, #991b1b) !important;
  color: #fff !important;
  border-color: rgba(153, 27, 27, 0.36) !important;
  box-shadow: var(--btn-shadow) !important;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
}
.z-auth-page .z-auth-google-top:hover, .z-auth-page #btnGuest:hover { filter: brightness(1.03); }
.z-auth-page .z-auth-google-top .btn-ico, .z-auth-page #btnGuest .btn-ico { filter: none; }
.z-auth-titlebar {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 10px;
  margin: 0 0 12px;
}
.z-auth-titlebar h2 { width: 100%; text-align: center; }
.z-auth-google-top { padding: 9px 12px; font-size: var(--fs-body); border-radius: 14px; white-space: nowrap; justify-self: center; }
.z-auth-google-top .btn-ico { width: 16px; height: 16px; }
#btnGuest { justify-content: center; padding: 13px 14px; font-size: var(--fs-body); }
.btn.guest { padding: 15px 14px; justify-content: center; text-align: center; font-size: var(--fs-body); }
.btn.guest .btn-ico { width: 18px; height: 18px; }
/* ========================================================================== AUTH FEEDBACK & SUPPORT LINKS ========================================================================== */
.z-auth-msg {
  display: none; margin: 12px 0;
  padding: 12px 14px; border-radius: 16px;
  border: 1px solid var(--border); background: rgba(255,255,255,0.56);
  box-shadow: var(--shadow-sm); font-size: var(--fs-body);
}
:root.dark .z-auth-msg { background: rgba(19,29,50,0.78); }

.z-auth-msg.is-error { border-color: rgba(220, 38, 38, 0.34); color: var(--danger); }
.z-auth-msg.is-ok { border-color: rgba(15, 159, 110, 0.34); color: var(--ok); }
.z-auth-links {
  display: flex; justify-content: space-between;
  gap: 10px; flex-wrap: wrap;
  margin-top: 10px; font-size: var(--fs-body);
}
.z-auth-links a {
  color: #1e3a8a; opacity: 0.9;
  text-decoration: none; cursor: pointer;
  font-weight: 800; font-size: var(--fs-body);
}
.z-auth-links a:hover { text-decoration: underline; }
html.dark .z-auth-links a { color: #1e3a8a; }
.z-auth-foot a { color: #1e3a8a; font-weight: 800; }
html.dark .z-auth-foot a { color: #1e3a8a; font-weight: 800; }
html.dark .z-auth-card, html.dark .z-auth-seo-card {
  color: var(--text);
  background: linear-gradient(180deg, rgba(19,29,50,0.96), rgba(15,23,42,0.98));
  border-color: rgba(148,163,184,0.2);
}
/* ========================================================================== AUTH DARK THEME HARMONIZATION ========================================================================== */
html.dark .z-auth-page, html.dark .z-auth-wrap, html.dark .z-auth-main, html.dark .z-auth-foot { color: var(--text); }
html.dark .z-auth-row input, html.dark .z-auth-row select {
  background: rgba(15,23,42,0.78); border-color: rgba(148,163,184,0.2);
  color: var(--text);
}
