:root {
  --primary-color: #0f766e;
  --primary-hover: #115e59;
  --bg-primary: #fff;
  --bg-secondary: #f1f5f9;
  --bg-tertiary: #e8eef5;
  --page-background: #f7f9fc;
  --floating-surface: var(--bg-primary);
  --text-primary: #172033;
  --text-secondary: #405168;
  --text-tertiary: #52627a;
  --text-quaternary: #627084;
  --border-color: #cbd5e1;
  color-scheme: light;
}

:root:not([data-theme="white"]):not([data-theme="dark"]) {
  --bg-primary: #fffcf7;
  --bg-secondary: #f4efe6;
  --bg-tertiary: #eae3d7;
  --page-background: #f6f1e8;
  --text-primary: #292722;
  --text-secondary: #514b43;
  --text-tertiary: #655d53;
  --text-quaternary: #70655a;
  --border-color: #d5cbbd;
}

[data-theme="dark"] {
  --bg-primary: #080e1b;
  --bg-secondary: #0d1525;
  --text-primary: #f1f5f9;
  --text-secondary: #a8b7cd;
  --border-color: rgba(148, 163, 184, .22);
  --primary-color: #2dd4bf;
  --primary-hover: #5eead4;
  --bg-tertiary: #182236;
  --text-tertiary: #b5c3d6;
  --text-quaternary: #a4b4c8;
  color-scheme: dark;
}

[class*="LoginPage-module__container___"] {
  background-image: radial-gradient(ellipse at 12% 18%, rgba(13, 148, 136, .12), transparent 55%), radial-gradient(ellipse at 90% 85%, rgba(99, 102, 241, .12), transparent 60%);
}

[class*="LoginPage-module__brandPanel___"] {
  background: linear-gradient(145deg, #071321, #111b32);
  padding: clamp(24px, 4vw, 56px);
}

[class*="LoginPage-module__brandWord___"] {
  font-size: clamp(48px, 8.5vw, 112px);
  line-height: 1.05;
  letter-spacing: -.04em;
}

[class*="LoginPage-module__formPanel___"] {
  background: transparent;
  gap: 16px;
  min-width: 0;
  padding: clamp(20px, 4vw, 48px);
}

[class*="LoginPage-module__formPanel___"] > .card,
[class*="LoginPage-module__formCard___"] {
  border-radius: 18px;
  border: 1px solid var(--border-color);
  box-shadow: 0 14px 40px rgba(0, 0, 0, .12);
}

[class*="LoginPage-module__formPanel___"] > service-navigation {
  width: 100%;
  max-width: 560px;
  margin: 8px auto 0;
}

.btn-primary {
  background: linear-gradient(135deg, #0f766e, #0e7490);
  border-color: transparent;
  color: #fff;
}

.btn-primary:not(:disabled):hover {
  background: linear-gradient(135deg, #115e59, #155e75);
}

.btn:focus-visible,
.input:focus-visible {
  outline: 2px solid var(--primary-color);
  outline-offset: 3px;
}

.main-content > service-navigation {
  width: 100%;
  margin: 8px auto 0;
}

input::placeholder, textarea::placeholder {
  color: var(--text-tertiary);
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  [class*="LoginPage-module__brandWord___"] {
    animation: none;
    opacity: .9;
  }
}
