/* Logowanie i bramki linku (S2-A). Tylko 'self', bez inline. */
body.auth-page { background: var(--surface); }
.auth-split { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.auth-hero {
  position: relative; overflow: hidden; padding: 40px; color: #fff; display: flex; flex-direction: column; justify-content: flex-end;
  background: linear-gradient(135deg, #0F766E 0%, #134E4A 100%);
}
.auth-collage { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); gap: 10px; padding: 10px; opacity: .9; }
.auth-collage span { border-radius: 14px; }
.auth-collage span:nth-child(1) { background: linear-gradient(160deg, #5EEAD4, #0F766E); grid-row: span 2; }
.auth-collage span:nth-child(2) { background: linear-gradient(160deg, #FDE68A, #F59E0B); }
.auth-collage span:nth-child(3) { background: linear-gradient(160deg, #A5B4FC, #4F46E5); grid-row: span 2; }
.auth-collage span:nth-child(4) { background: linear-gradient(160deg, #FBCFE8, #DB2777); }
.auth-collage span:nth-child(5) { background: linear-gradient(160deg, #BAE6FD, #0284C7); }
.auth-collage span:nth-child(6) { background: linear-gradient(160deg, #BBF7D0, #16A34A); }
.auth-collage span:nth-child(7) { background: linear-gradient(160deg, #FED7AA, #EA580C); }
.auth-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(8,40,38,.88) 0%, rgba(8,40,38,.1) 60%); }
.auth-hero-text { position: relative; z-index: 1; max-width: 460px; }
.auth-hero-text h2 { font-size: 1.8rem; margin-bottom: 8px; }
.auth-hero-text p { margin: 0; color: rgba(255,255,255,.88); }
.auth-panel { display: grid; place-items: center; padding: 32px 20px; }
.auth-box { width: min(400px, 100%); }
.auth-brand { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 1.2rem; margin-bottom: 28px; }
.auth-brand .logo-mark { width: 36px; height: 36px; }
.auth-box h1 { margin-bottom: 4px; }
.auth-box .lead { color: var(--muted); margin-bottom: 20px; }
.auth-box .btn-primary { width: 100%; }
.pw-wrap { position: relative; }
.pw-wrap input { padding-right: 52px !important; }
.pw-toggle { position: absolute; right: 2px; top: 0; width: var(--tap); height: var(--tap); display: grid; place-items: center; border: 0; background: none; color: var(--muted); cursor: pointer; border-radius: var(--r-md); }
.pw-toggle:hover { color: var(--text); }
.gate-icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--accent-soft); color: var(--accent); margin-bottom: 14px; }
.gate-icon.is-warn { background: var(--warn-soft); color: #7A4B00; }
.gate-icon.is-bad { background: var(--danger-soft); color: var(--danger); }
.gate-card { text-align: center; }
.gate-card form { text-align: left; }
@media (max-width: 859px) {
  .auth-split { grid-template-columns: 1fr; }
  .auth-hero { min-height: 140px; padding: 20px; }
  .auth-collage { grid-template-rows: repeat(2, 1fr); }
  .auth-collage span:nth-child(n+5) { display: none; }
  .auth-collage span { grid-row: auto !important; }
  .auth-hero-text h2 { font-size: 1.3rem; margin: 0; }
  .auth-hero-text p { display: none; }
  .auth-panel { align-items: start; padding-top: 24px; }
}
.gate-card .btn-primary { width: 100%; }
