.auth-wrap {
    min-height: calc(100vh - 200px);
    display: flex; align-items: center; justify-content: center;
    padding: 40px 16px;
  }
  .auth-card {
    background: var(--white); border-radius: var(--r-lg);
    border: 1px solid var(--border); box-shadow: var(--shadow-lg);
    padding: 40px 36px; width: 100%; max-width: 440px;
  }
  .auth-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 26px; }
  .auth-title { font-size: 1.3rem; font-weight: 800; color: var(--dark); letter-spacing: -.02em; margin-bottom: 6px; }
  .auth-sub   { font-size: .82rem; color: var(--muted); margin-bottom: 26px; }
  .auth-label { font-size: .75rem; font-weight: 600; color: #475569; display: block; margin-bottom: 5px; }
  .auth-input {
    width: 100%; border: 1.5px solid var(--border); border-radius: var(--r-sm);
    padding: 10px 14px; font-size: .9rem; color: var(--text);
    font-family: 'Inter', sans-serif; background: var(--white);
    transition: border-color var(--t), box-shadow var(--t); outline: none;
  }
  .auth-input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(0,95,115,.1); }
  .pw-wrap { position: relative; }
  .pw-wrap .auth-input { padding-right: 42px; }
  .pw-toggle {
    position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
    color: var(--muted); cursor: pointer; font-size: .95rem; transition: color var(--t);
  }
  .pw-toggle:hover { color: var(--brand); }
  .auth-error {
    background: #FEE2E2; border: 1px solid #FECACA; border-radius: var(--r-sm);
    padding: 10px 14px; color: #B91C1C; font-size: .83rem; font-weight: 500;
    display: flex; align-items: center; gap: 8px; margin-bottom: 18px;
  }
  .btn-auth {
    width: 100%; background: var(--brand); color: #fff; border: none;
    border-radius: var(--r-full); padding: 12px; font-size: .9rem; font-weight: 700;
    cursor: pointer; font-family: 'Inter', sans-serif;
    transition: background var(--t), transform var(--t), box-shadow var(--t); margin-top: 8px;
  }
  .btn-auth:hover { background: var(--brand-mid); transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,95,115,.3); }
  .pw-strength { height: 4px; border-radius: 2px; margin-top: 6px; background: var(--border); overflow: hidden; }
  .pw-strength-bar { height: 100%; border-radius: 2px; transition: width .3s, background .3s; width: 0%; }
  .auth-req { font-size: .72rem; color: var(--muted); margin-top: 5px; }
  .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  @media (max-width: 400px) { .field-row { grid-template-columns: 1fr; } }
  .btn-google {
    width: 100%; background: var(--white); color: #3c4043;
    border: 1.5px solid var(--border); border-radius: var(--r-full);
    padding: 11px; font-size: .88rem; font-weight: 600;
    cursor: pointer; font-family: 'Inter', sans-serif;
    transition: background var(--t), border-color var(--t), box-shadow var(--t);
    display: flex; align-items: center; justify-content: center; gap: 9px;
    text-decoration: none; margin-bottom: 12px;
  }
  .btn-google:hover { background: #f8f9fa; border-color: #aaa; box-shadow: 0 2px 8px rgba(0,0,0,.1); color: #3c4043; }
  .google-icon { width: 18px; height: 18px; flex-shrink: 0; }
  .auth-divider {
    text-align: center; font-size: .78rem; color: var(--muted);
    margin: 18px 0; position: relative;
  }
  .auth-divider::before {
    content: ''; position: absolute; top: 50%; left: 0; right: 0;
    height: 1px; background: var(--border);
  }
  .auth-divider span { background: var(--white); padding: 0 12px; position: relative; }
