    /* ── MAIN ── */
    main {
      flex: 1; display: flex; align-items: center; justify-content: center;
      padding: 48px 24px;
      background: linear-gradient(135deg, var(--blue-50) 0%, var(--bg) 60%);
    }
	
    /* ── CARD ── */
    .reset-card {
      background:var(--bg-card); border:1px solid var(--border);
      border-radius:var(--radius-lg); box-shadow:0 4px 40px rgba(15,23,42,.09);
      width:100%; max-width:540px; overflow:hidden;
      transition:background var(--transition),border-color var(--transition);
    }
 
    .reset-card-header { padding:32px 32px 0; text-align:center; }
    .card-icon {
      width:60px; height:60px; border-radius:50%; margin:0 auto 18px;
      background:var(--blue-50); border:1.5px solid var(--blue-200);
      display:flex; align-items:center; justify-content:center;
    }
    .card-icon svg { color:var(--blue-600); }
    .reset-card-header h1 {
      font-family:'Quicksand',sans-serif; font-size:1.5rem; font-weight:800; color:var(--text);
      margin-bottom:6px;
    }
    .reset-card-header p { font-size:0.875rem; color:var(--text-muted); margin-bottom:28px; }
 
    .reset-card-body { padding:0 32px 32px; }
 
    /* steps indicator */
    .steps {
      display:flex; align-items:center; justify-content:center;
      gap:0; margin-bottom:28px;
    }
    .step {
      display:flex; flex-direction:column; align-items:center; gap:4px; flex:1;
    }
    .step-dot {
      width:28px; height:28px; border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      font-size:0.75rem; font-weight:700;
      border:1.5px solid var(--border); background:var(--bg-subtle); color:var(--text-muted);
    }
    .step.active .step-dot { background:var(--blue-600); border-color:var(--blue-600); color:white; }
    .step.done .step-dot { background:var(--green-600); border-color:var(--green-600); color:white; }
    .step-label { font-size:0.7rem; color:var(--text-muted); font-weight:500; text-align:center; }
    .step.active .step-label { color:var(--blue-600); font-weight:700; }
    .step-line { flex:1; height:1.5px; background:var(--border); margin-top:-22px; }
    .step-line.done { background:var(--green-600); }	
 
    /* ── AUTH CARD ── */
    .auth-wrapper {
      display: grid; grid-template-columns: 1fr 1fr;
      background: var(--bg-card); border: 1px solid var(--border);
      border-radius: var(--radius-lg); box-shadow: 0 4px 40px rgba(15,23,42,.1);
      overflow: hidden; width: 100%; max-width: 820px;
      transition: background var(--transition), border-color var(--transition);
    }
 
    /* left panel */
    .auth-panel {
      background: linear-gradient(145deg, var(--blue-700) 0%, var(--blue-500) 100%);
      padding: 52px 40px; display: flex; flex-direction: column;
      justify-content: center; position: relative; overflow: hidden;
    }
    .auth-panel::before {
      content: ''; position: absolute; width: 300px; height: 300px; border-radius: 50%;
      background: rgba(255,255,255,.07); top: -100px; right: -80px; pointer-events: none;
    }
    .auth-panel::after {
      content: ''; position: absolute; width: 180px; height: 180px; border-radius: 50%;
      background: rgba(255,255,255,.05); bottom: -50px; left: -30px; pointer-events: none;
    }
    .auth-panel-logo { position: relative; z-index: 1; margin: 0 auto; margin-bottom: 32px; }
    .auth-panel-logo img { height: 75px; }
    .auth-panel h2 {
      font-family: 'Quicksand', sans-serif; font-size: 1.7rem; font-weight: 800;
      color: white; margin-bottom: 12px; line-height: 1.2; position: relative; z-index: 1;
    }
    .auth-panel p { color: rgba(255,255,255,.78); font-size: 0.9rem; line-height: 1.7; position: relative; z-index: 1; margin-bottom: 28px; }
 /*   .auth-stat-row { display: flex; gap: 24px; position: relative; z-index: 1; }
    .auth-stat { text-align: center; }
    .auth-stat-num {
      font-family: 'Quicksand', sans-serif; font-size: 1.6rem; font-weight: 800; color: white; line-height: 1;
    }
    .auth-stat-label { font-size: 0.75rem; color: rgba(255,255,255,.65); margin-top: 2px; }
    .auth-stat-divider { width: 1px; background: rgba(255,255,255,.2); }*/
 
    /* right: form */
    .auth-form-side {
      padding: 52px 44px; display: flex; flex-direction: column; justify-content: center;
    }
    .auth-form-side h3 {
      font-family: 'Quicksand', sans-serif; font-size: 1.4rem; font-weight: 700;
      color: var(--text); margin-bottom: 6px;
    }
    .auth-subtitle { font-size: 0.875rem; color: var(--text-muted); margin-bottom: 28px; }
 
    .field { margin-bottom: 18px; }
    label {
      display: block; font-size: 0.825rem; font-weight: 600;
      color: var(--text); margin-bottom: 6px;
    }
    .label-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
    .label-row label { margin-bottom: 0; }
    .label-row a { font-size: 0.8rem; color: var(--blue-600); }
 
    input[type="text"],
    input[type="email"],
    input[type="password"] {
      width: 100%; padding: 11px 14px;
      border: 1.5px solid var(--border); border-radius: var(--radius-sm);
      background: var(--bg-subtle); color: var(--text); font-family: inherit; font-size: 0.9rem;
      outline: none; transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
    }
    input[type="text"]:focus,
    input[type="email"]:focus,
    input[type="password"]:focus {
      border-color: var(--border-focus); box-shadow: 0 0 0 3px var(--blue-100); background: var(--bg-card);
    }
    input::placeholder { color: var(--text-light); }
 
    /* password toggle */
    .pw-wrap { position: relative; }
    .pw-wrap input { padding-inline-end: 44px; }
    .pw-toggle {
      position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
      background: none; border: none; cursor: pointer; color: var(--text-light);
      padding: 4px; display: flex; align-items: center;
      transition: color var(--transition);
    }
    .pw-toggle:hover { color: var(--blue-600); }
    /* info box */
    .info-box {
      background:var(--blue-50); border:1px solid var(--blue-200); border-left:4px solid var(--blue-500);
      border-radius:var(--radius-sm); padding:12px 16px; margin-bottom:20px;
      font-size:0.825rem; color:var(--text-muted); line-height:1.6;
      display:flex; align-items:flex-start; gap:10px;
    }
    .info-box svg { flex-shrink:0; color:var(--blue-500); margin-top:1px; }

    /* captcha */
    .captcha-row { display:flex; align-items:flex-start; gap:14px; }
    .captcha-input-side { flex:1; }
    .captcha-img-side { display:flex; flex-direction:column; align-items:center; gap:6px; flex-shrink:0; }
    .captcha-img-side img { border:1.5px solid var(--border); border-radius:var(--radius-sm); display:block; height:44px; }
    .captcha-reload {
      font-size:0.775rem; color:var(--blue-600); cursor:pointer; background:none; border:none;
      font-family:inherit; display:flex; align-items:center; gap:4px;
    }
    .captcha-reload:hover { text-decoration:underline; }	
    /* remember me */
    .remember-row {
      display: flex; align-items: center; gap: 8px; margin-bottom: 20px;
    }
    .remember-row input[type="checkbox"] { accent-color: var(--blue-600); width: 15px; height: 15px; cursor: pointer; }
    .remember-row label { font-size: 0.85rem; color: var(--text-muted); font-weight: 400; margin-bottom: 0; cursor: pointer; }
 
    .field-divider { height: 1px; background: var(--border); margin-block: 4px 20px; }
 
    .submit-btn {
      width: 100%; padding: 12px; background: var(--blue-600); color: white; border: none;
      border-radius: 999px; font-family: inherit; font-size: 0.95rem; font-weight: 700;
      cursor: pointer; box-shadow: 0 2px 12px rgba(37,99,235,.3);
      transition: background var(--transition), box-shadow var(--transition), transform var(--transition);
    }
    .submit-btn:hover { background: var(--blue-700); box-shadow: 0 4px 20px rgba(37,99,235,.4); }
    .submit-btn:active { transform: scale(0.98); }
 
    .auth-switch { text-align: center; font-size: 0.875rem; color: var(--text-muted); margin-top: 20px; }
    .auth-switch a { color: var(--blue-600); font-weight: 600; }
	
    /* success state */
    .success-state {
      display:none; text-align:center; padding:8px 0 16px;
    }
    .success-state.show { display:block; }
    .success-icon {
      width:64px; height:64px; border-radius:50%; margin:0 auto 16px;
      background:var(--green-50); border:1.5px solid var(--green-100);
      display:flex; align-items:center; justify-content:center;
    }
    .success-icon svg { color:var(--green-600); }
    .success-state h3 { font-family:'Quicksand',sans-serif; font-size:1.1rem; font-weight:700; color:var(--text); margin-bottom:8px; }
    .success-state p { font-size:0.875rem; color:var(--text-muted); line-height:1.7; }
 
    /* nav links */
    .auth-links {
      display:flex; align-items:center; justify-content:center; gap:16px;
      margin-top:20px; font-size:0.85rem; color:var(--text-muted);
      padding-top:20px; border-top:1px solid var(--border);
    }
    .auth-links a { color:var(--blue-600); font-weight:600; }
    /* terms */
    .terms-note { font-size: 0.8rem; color: var(--text-muted); margin-bottom: 18px; }
    .terms-note a { color: var(--blue-600); } 
    /* ── MOBILE ── */
    @media (max-width: 900px) {
      .auth-wrapper { grid-template-columns: 1fr; max-width: 440px; }
      .auth-panel { display: none; }
      .auth-form-side { padding: 40px 28px; }
    }
 
    @media (max-width: 480px) {
      main { padding: 24px 16px; }
      .reset-card-header { padding:24px 20px 0; }
      .reset-card-body { padding:0 20px 24px; }
      .captcha-row { flex-direction:column; }	  
	  .field-row { grid-template-columns: 1fr; }
    }