/* Auto-extracted from templates/accounts/register.html */
*, *::before, *::after { box-sizing: border-box; }
    body {
      font-family: 'Inter', system-ui, sans-serif;
      background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #145e38 100%);
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 2rem 1rem;
    }
    .auth-card {
      background: #fff;
      border-radius: 1.5rem;
      box-shadow: 0 25px 50px -12px rgba(0,0,0,0.4);
      width: 100%;
      max-width: 520px;
      overflow: hidden;
    }
    .auth-header {
      background: linear-gradient(135deg, #1a7a4a 0%, #145e38 100%);
      padding: 2rem;
      text-align: center;
      position: relative;
    }
    .auth-header::after {
      content: '';
      position: absolute;
      bottom: -1px;
      left: 0;
      right: 0;
      height: 24px;
      background: #fff;
      border-radius: 50% 50% 0 0 / 24px 24px 0 0;
    }
    .auth-logo { width: 52px; height: 52px; object-fit: contain; margin-bottom: 0.75rem; }
    .auth-party-name { color: #fff; font-size: 1rem; font-weight: 700; margin: 0; }
    .auth-body { padding: 2rem; }
    .auth-title { font-size: 1.375rem; font-weight: 700; color: #0f172a; margin-bottom: 0.25rem; }
    .auth-subtitle { font-size: 0.875rem; color: #64748b; margin-bottom: 1.5rem; }
    .form-label { font-size: 0.875rem; font-weight: 500; color: #374151; margin-bottom: 0.375rem; }
    .form-control {
      border: 1.5px solid #e2e8f0;
      border-radius: 0.625rem;
      padding: 0.625rem 0.875rem;
      font-size: 0.875rem;
      transition: all 0.15s ease;
    }
    .form-control:focus {
      border-color: #1a7a4a;
      box-shadow: 0 0 0 3px rgba(26,122,74,0.12);
      outline: none;
    }
    .form-control.is-invalid { border-color: #dc2626; }
    .invalid-feedback { font-size: 0.75rem; color: #dc2626; }
    .btn-register {
      background: linear-gradient(135deg, #1a7a4a 0%, #145e38 100%);
      border: none;
      border-radius: 0.625rem;
      color: #fff;
      font-size: 0.9375rem;
      font-weight: 600;
      padding: 0.75rem;
      width: 100%;
      transition: all 0.2s ease;
    }
    .btn-register:hover {
      background: linear-gradient(135deg, #145e38 0%, #0f4a2c 100%);
      transform: translateY(-1px);
      box-shadow: 0 4px 12px rgba(26,122,74,0.3);
    }
    .auth-links { text-align: center; font-size: 0.8125rem; color: #64748b; margin-top: 1rem; }
    .auth-links a { color: #1a7a4a; font-weight: 500; text-decoration: none; }
    .alert { border-radius: 0.625rem; border: none; font-size: 0.875rem; padding: 0.75rem 1rem; margin-bottom: 1rem; }
    .alert-danger  { background: #fee2e2; color: #991b1b; }
    .alert-success { background: #dcfce7; color: #166534; }
    .section-divider {
      font-size: 0.75rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: #94a3b8;
      margin: 1.25rem 0 0.75rem;
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }
    .section-divider::before, .section-divider::after {
      content: '';
      flex: 1;
      height: 1px;
      background: #e2e8f0;
    }
