
/* ============ ERROR PAGES ============ */
.unauthorized, .not-found, .welcome, .page-error {
  background: #000000 !important;
  background-image: none !important;
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem !important;
  color: #f5f5f7 !important;
  position: relative;
}
.unauthorized::before, .not-found::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 800px 500px at 50% 30%, rgba(41,151,255,0.06) 0%, transparent 70%);
  pointer-events: none;
}

/* Hide cartoon SVG illustration */
.unauthorized svg, .not-found svg, .welcome svg,
.unauthorized .v-image, .not-found .v-image { display: none !important; }

.unauthorized .v-application [class*="display-"],
.unauthorized .v-application .headline,
.unauthorized .v-application .title,
.not-found .v-application .headline,
.unauthorized h1, .not-found h1 {
  font-family: 'Inter Tight', -apple-system, sans-serif !important;
  font-size: 2.5rem !important;
  font-weight: 600 !important;
  color: #f5f5f7 !important;
  letter-spacing: -0.025em !important;
  text-align: center;
  margin: 0 0 1rem !important;
  line-height: 1.1 !important;
  position: relative;
  z-index: 1;
}
.unauthorized .v-application [class*="body-"],
.unauthorized .v-application [class*="subtitle-"],
.not-found .v-application [class*="body-"],
.unauthorized p, .not-found p {
  font-size: 1.0625rem !important;
  color: #86868b !important;
  text-align: center;
  margin: 0 0 2.5rem !important;
  position: relative;
  z-index: 1;
}

.unauthorized .v-btn, .not-found .v-btn, .welcome .v-btn {
  background: #0071e3 !important;
  background-color: #0071e3 !important;
  color: #ffffff !important;
  border-radius: 980px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 1.5rem !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  box-shadow: none !important;
  margin: 0.25rem !important;
  position: relative;
  z-index: 1;
}
.unauthorized .v-btn--outlined, .not-found .v-btn--outlined {
  background: transparent !important;
  border: 1px solid #424245 !important;
  color: #f5f5f7 !important;
}

/* Fix error page — shield is <img>, not svg */
.unauthorized img, .not-found img, .welcome img { display: none !important; }

/* Outlined "Назад" button - kill red color */
.unauthorized .v-btn--outlined.red--text,
.not-found .v-btn--outlined.red--text,
.unauthorized .red--text, .not-found .red--text {
  color: #f5f5f7 !important;
  border-color: #424245 !important;
  background: transparent !important;
}

/* Apple-style wrap: content compact and centered */
.unauthorized .unauthorized-content, .not-found .not-found-content {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  max-width: 480px;
  text-align: center;
  position: relative;
  z-index: 1;
}

/* Icon badge (replace the hidden cartoon) with MDI icon */
.unauthorized-content::before,
.not-found-content::before {
  content: '';
  display: block;
  width: 64px; height: 64px;
  border-radius: 18px;
  background: linear-gradient(180deg, #1d1d1f 0%, #161617 100%);
  border: 1px solid #2a2a2c;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f7' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' width='28' height='28'><path d='M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4z'/><line x1='12' y1='8' x2='12' y2='12'/><line x1='12' y1='16' x2='12.01' y2='16'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  margin-bottom: 1.5rem;
}

/* Tighter spacing for content */
.unauthorized .headline, .not-found .headline {
  margin-top: 0 !important;
  margin-bottom: 0.5rem !important;
}
.unauthorized .subtitle-1, .not-found .subtitle-1 { margin-bottom: 2rem !important; }
.unauthorized .mt-5, .not-found .mt-5 { margin-top: 0 !important; }

/* Buttons row */
.unauthorized .v-btn.v-size--x-large { font-size: 15px !important; padding: 0 1.75rem !important; }


/* ============================================================
   LOGIN — v4 (final clean)
   ============================================================ */

.login {
  background: #000000 !important;
  background-image: none !important;
  min-height: 100vh !important;
  position: relative !important;
  overflow: hidden !important;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', sans-serif !important;
}

.login::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(ellipse 1200px 700px at 50% 10%, rgba(41,151,255,0.08) 0%, transparent 55%),
    radial-gradient(ellipse 800px 500px at 85% 90%, rgba(255,255,255,0.03) 0%, transparent 65%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Убираем все Vuetify-серые фоны */
.login .grey,
.login .grey.lighten-4,
.login .grey.lighten-2,
.login .v-sheet,
.login [class*="grey--"] {
  background: transparent !important;
  background-color: transparent !important;
}

.login .login-logo { display: none !important; }

/* Центрируем форму абсолютным позиционированием на весь экран */
.login > .login-sd {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 2rem !important;
  background: transparent !important;
  z-index: 1 !important;
  gap: 0 !important;
}

/* Title — SF Pro Display, 700, крупный */
.login .login-title {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  font-size: 3.25rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  color: #f5f5f7 !important;
  text-align: center !important;
  line-height: 1.0 !important;
  margin: 0 0 0.75rem 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
}

/* Subtitle — тонкий, серый */
.login .login-subtitle {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', sans-serif !important;
  font-size: 1.0625rem !important;
  font-weight: 400 !important;
  letter-spacing: -0.008em !important;
  color: #86868b !important;
  text-align: center !important;
  line-height: 1.4 !important;
  margin: 0 0 2.75rem 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
}

/* Форма — плоская, без карточки */
.login .login-form {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  max-width: 360px !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

/* Inputs */
.login .v-text-field--solo,
.login .v-text-field {
  margin-top: 0 !important;
}
.login .v-text-field--solo > .v-input__control > .v-input__slot {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  min-height: 50px !important;
  padding: 0 14px !important;
  transition: background 0.18s ease, border-color 0.18s ease !important;
}
.login .v-text-field--solo > .v-input__control > .v-input__slot:hover {
  background: rgba(255,255,255,0.09) !important;
}
.login .v-text-field--solo.v-input--is-focused > .v-input__control > .v-input__slot {
  background: rgba(255,255,255,0.09) !important;
  border-color: rgba(41,151,255,0.55) !important;
  box-shadow: 0 0 0 3px rgba(41,151,255,0.15) !important;
}
.login .v-text-field--solo input {
  color: #f5f5f7 !important;
  caret-color: #2997ff !important;
  font-size: 16px !important;
  font-family: -apple-system, BlinkMacSystemFont, sans-serif !important;
  letter-spacing: -0.01em !important;
}
.login .v-text-field input::placeholder {
  color: #8e8e93 !important;
  opacity: 1 !important;
}
.login .v-input__prepend-inner .v-icon,
.login .v-input__append-inner .v-icon {
  color: #8e8e93 !important;
  font-size: 18px !important;
}
.login .theme--light.v-text-field--solo > .v-input__control > .v-input__slot {
  background: rgba(255,255,255,0.06) !important;
}

/* Primary button */
.login button.v-btn.blue,
.login button.v-btn.v-btn--contained,
.login .v-btn.primary,
.login .login-form button.v-btn {
  background: #0071e3 !important;
  background-color: #0071e3 !important;
  color: #ffffff !important;
  border-radius: 12px !important;
  height: 50px !important;
  min-height: 50px !important;
  font-family: -apple-system, 'SF Pro Text', sans-serif !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  letter-spacing: -0.008em !important;
  text-transform: none !important;
  box-shadow: none !important;
  transition: background 0.15s ease, transform 0.1s ease !important;
  width: 100% !important;
  margin-top: 8px !important;
}
.login button.v-btn:hover { background: #0077ed !important; }
.login button.v-btn:active { transform: scale(0.99) !important; }

/* "Забыли пароль?" */
.login .v-btn--text,
.login .login-form a {
  color: #2997ff !important;
  text-transform: none !important;
  font-family: -apple-system, sans-serif !important;
  font-size: 14px !important;
  letter-spacing: -0.005em !important;
  font-weight: 400 !important;
  background: transparent !important;
  box-shadow: none !important;
  margin-top: 8px !important;
  padding: 6px 12px !important;
  height: auto !important;
  min-height: auto !important;
}
.login .v-btn--text:hover {
  background: transparent !important;
  text-decoration: underline !important;
}

@media (max-width: 500px) {
  .login .login-title { font-size: 2.5rem !important; }
  .login .login-subtitle { font-size: 1rem !important; margin-bottom: 2rem !important; }
  .login .login-form { max-width: 320px !important; }
}

/* ============ LOGIN — v4.1 bigger title, Inter Tight first ============ */
.login .login-title {
  font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Helvetica Neue', Helvetica, sans-serif !important;
  font-size: 4rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.0 !important;
  color: #f5f5f7 !important;
  margin: 0 0 1rem 0 !important;
  text-rendering: geometricPrecision !important;
}
.login .login-subtitle {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 1.125rem !important;
  font-weight: 400 !important;
  color: #a1a1a6 !important;
  margin: 0 0 3rem 0 !important;
  letter-spacing: -0.01em !important;
}
@media (max-width: 500px) {
  .login .login-title { font-size: 2.75rem !important; }
  .login .login-subtitle { font-size: 1rem !important; }
}
