/* Auth visual overlay: persistent tablist scope covers sign-in and registration. No form or application logic changes. */
@font-face {
  font-family: 'Konsensus Signin';
  src: url('/fonts/SchibstedGrotesk.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
.min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) {
  --background: 42 28% 93%;
  --foreground: 164 39% 6%;
  --card: 0 0% 100%;
  --card-foreground: 164 39% 6%;
  --primary: 166 85% 27%;
  --primary-foreground: 0 0% 100%;
  --secondary: 40 23% 97%;
  --secondary-foreground: 164 39% 6%;
  --muted: 40 23% 97%;
  --muted-foreground: 162 13% 30%;
  --accent: 140 12% 91%;
  --accent-foreground: 165 83% 20%;
  --border: 165 41% 7% / 0.12;
  --input: 165 41% 7% / 0.17;
  --ring: 166 85% 27%;
  background: #f2efe8;
  color: #0a1714;
  font-family: 'Konsensus Signin', ui-sans-serif, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) :is(h1,h2,h3) {
  font-family: inherit;
  letter-spacing: -0.035em;
}
.min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) [role='tabpanel'] h2 {
  font-size: 32px;
  line-height: 1.2;
}
.min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) :is(input, button[role="combobox"]) {
  background: #fbf9f5;
  border-radius: 14px;
  font-size: 16px;
}
.min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) button[type='submit'] {
  border-radius: 999px;
  font-weight: 600;
}
.min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) [role='tablist'] {
  border-radius: 999px;
  background: #e7ece6;
}
.min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) [role='tab'] {
  border-radius: 999px;
}
.min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) [role='tab'][data-state='active'] {
  background: #fbf9f5;
  color: #06624f;
}
.min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) .bg-gradient-hero {
  --primary-foreground: 164 39% 6%;
  overflow: hidden;
  background: radial-gradient(ellipse at 80% 20%, #f8f7ef 0%, transparent 65%), linear-gradient(145deg, #e7ece3, #dce9df);
}

.min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) .bg-gradient-hero img {
  filter: brightness(0);
  opacity: .85;
}
.min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) .bg-gradient-hero::before {
  content: '';
  position: absolute;
  width: 520px;
  height: 520px;
  left: 40%;
  top: 5%;
  border: 1px solid rgb(8 124 98 / .09);
  border-radius: 50%;
  box-shadow: 0 0 0 65px rgb(255 255 255 / .14), 0 0 0 130px rgb(255 255 255 / .12);
  pointer-events: none;
}
.min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) .bg-gradient-hero .rounded-xl {
  background: rgb(251 249 245 / .65);
  border-color: rgb(10 23 20 / .12);
  border-radius: 20px;
}
.min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) :is(input, button, a) {
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) input:focus-visible {
  box-shadow: 0 0 0 3px rgb(8 124 98 / .12);
}
@media (hover: hover) {
  .min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) button[type='submit']:hover { background: #096b57; }
  .min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) [role='tab']:hover { background: rgb(251 249 245 / .65); }
}
@media (prefers-reduced-motion: no-preference) {
  .min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) [role='tabpanel'][data-state='active'] { animation: konsensus-auth-enter 320ms ease-out both; }
  .min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) .bg-gradient-hero::before { animation: konsensus-auth-drift 16s ease-in-out infinite alternate; }
}
@keyframes konsensus-auth-enter {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes konsensus-auth-drift {
  from { transform: translate(0, 0); }
  to { transform: translate(-12px, 18px); }
}
@media (prefers-reduced-motion: reduce) {
  .min-h-screen.flex:has([role="tab"][aria-controls$="-content-register"]) :is(input, button, a) { transition: none; }
}
