:root{
  --font-main: Inter, "Segoe UI", Roboto, Arial, sans-serif;

  --bg-dark-1: #0f172a;
  --bg-dark-2: #1e293b;
  --bg-dark-3: #2563eb;

  --text-main: #0f172a;
  --text-soft: #475569;
  --text-white: #ffffff;

  --card-bg: rgba(255,255,255,0.16);
  --card-border: rgba(255,255,255,0.22);

  --input-bg: rgba(255,255,255,0.96);
  --input-border: rgba(148,163,184,0.28);
  --input-text: #0f172a;
  --input-placeholder: #64748b;

  --btn-primary: #2563eb;
  --btn-primary-hover: #1d4ed8;

  --btn-google-bg: #ffffff;
  --btn-google-text: #0f172a;
  --btn-google-border: rgba(148,163,184,0.32);

  --btn-secondary-bg: rgba(255,255,255,0.12);
  --btn-secondary-border: rgba(255,255,255,0.22);
  --btn-secondary-text: #ffffff;

  --link-light: rgba(255,255,255,0.88);
  --link-light-hover: #ffffff;

  --shadow-soft: 0 24px 70px rgba(2, 6, 23, 0.28);
  --shadow-input: 0 8px 24px rgba(15, 23, 42, 0.08);

  --radius-xl: 24px;
  --radius-lg: 16px;
  --radius-md: 12px;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html,body{
  margin:0;
  padding:0;
}

body{
  font-family:var(--font-main);
  color:var(--text-main);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img{
  max-width:100%;
  display:block;
}

a{
  text-decoration:none;
  transition:all .2s ease;
}

button,
input{
  font:inherit;
}

button{
  cursor:pointer;
  border:none;
  outline:none;
}

input{
  outline:none;
}

.auth-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 16px;
}

.auth-shell{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.auth-card{
  width:100%;
  max-width:440px;
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-soft);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.auth-logo-wrap{
  text-align:center;
}

.auth-logo-badge{
  width:64px;
  height:64px;
  margin:0 auto 10px;
  border-radius:20px;
  display:grid;
  place-items:center;
  font-size:28px;
  font-weight:700;
}

.auth-title{
  margin:0;
  font-size:32px;
  line-height:1.1;
  font-weight:800;
}

.auth-tagline{
  margin:6px 0 0;
  font-size:15px;
  line-height:1.5;
}

.auth-stack{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.auth-btn{
  width:100%;
  min-height:52px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:700;
  transition:all .2s ease;
}

.auth-divider{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.auth-divider::before,
.auth-divider::after{
  content:"";
  height:1px;
  flex:1;
}

.auth-field{
  width:100%;
}

.auth-input{
  width:100%;
  min-height:52px;
  padding:0 16px;
  border-radius:14px;
  border:1px solid transparent;
  box-shadow:var(--shadow-input);
}

.auth-input::placeholder{
  color:var(--input-placeholder);
}

.auth-input:focus{
  border-color:#60a5fa;
  box-shadow:0 0 0 4px rgba(96,165,250,0.18);
}

.auth-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.auth-link{
  font-size:14px;
  font-weight:600;
}

.auth-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  font-size:13px;
}

.auth-footer-sep{
  opacity:.45;
}

@media (max-width: 640px){
  .auth-page{
    padding:18px 14px;
  }

  .auth-card{
    max-width:360px;
  }

  .auth-title{
    font-size:28px;
  }

  .auth-tagline{
    font-size:14px;
  }

  .auth-btn,
  .auth-input{
    min-height:50px;
  }
}
