/* ══════════════════════════════════
   REGISTER PAGE
══════════════════════════════════ */
.reg_page {
    width: 100%;
    min-height: 100vh;
    background: #F3F0FF;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 20px;
    box-sizing: border-box;
}
.reg_wrap {
    width: 100%;
    max-width: 1140px;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    border-radius: 32px;
    overflow: hidden;
    box-shadow: 0 40px 100px rgba(75,6,135,.16);
    background: white;
}

/* ── LEFT PANEL ── */
.reg_left {
    background: linear-gradient(145deg,#1A0033 0%,#4B0687 50%,#6A11CB 100%);
    padding: 64px 56px;
    display: flex;
    align-items: flex-start;
    position: relative;
    overflow: hidden;
    min-height: 600px;
}
.reg_left_orb { position:absolute;border-radius:50%;background:rgba(255,255,255,.06);pointer-events:none; }
.reg_orb1 { width:300px;height:300px;right:-90px;top:-90px; }
.reg_orb2 { width:160px;height:160px;left:-50px;bottom:100px; }
.reg_orb3 { width:90px; height:90px; right:42%;top:42%; }

.reg_left_content { position:relative;z-index:1;width:100%; }
.reg_left_content img { width:155px;margin-bottom:44px;display:block; }
.reg_left_content h1  { font-size:50px;font-weight:900;color:white;line-height:1.15;margin-bottom:16px;letter-spacing:-.5px; }
.reg_left_content > p { font-size:15px;color:rgba(255,255,255,.78);line-height:1.8;margin-bottom:36px;max-width:360px; }

/* BENEFITS */
.reg_benefits { display:flex;flex-direction:column;gap:16px;margin-bottom:40px; }
.reg_benefit  { display:flex;align-items:center;gap:16px; }
.reg_benefit_icon {
    width:42px;height:42px;border-radius:13px;
    background:rgba(255,255,255,.14);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.reg_benefit_icon i  { font-size:20px;color:white; }
.reg_benefit strong  { display:block;font-size:14px;font-weight:700;color:white;margin-bottom:1px; }
.reg_benefit span    { font-size:12px;color:rgba(255,255,255,.62); }

/* STATS */
.reg_stats {
    display:flex;align-items:center;
    background:rgba(255,255,255,.1);
    border-radius:18px;padding:16px 22px;
    backdrop-filter:blur(10px);
}
.reg_stat         { flex:1;text-align:center; }
.reg_stat strong  { display:block;font-size:20px;font-weight:900;color:white; }
.reg_stat span    { font-size:11px;color:rgba(255,255,255,.62);text-transform:uppercase;letter-spacing:.5px; }
.reg_stat_divider { width:1px;height:32px;background:rgba(255,255,255,.2);flex-shrink:0; }

/* ── RIGHT PANEL ── */
.reg_right {
    padding: 52px 52px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    background: white;
    overflow-y: auto;
}
.reg_card { width:100%;max-width:400px; }

/* HEADER */
.reg_form_top { display:flex;align-items:center;gap:16px;margin-bottom:32px; }
.reg_form_icon {
    width:54px;height:54px;border-radius:18px;
    background:linear-gradient(135deg,#4B0687,#6A11CB);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
    box-shadow:0 8px 20px rgba(75,6,135,.3);
}
.reg_form_icon i { font-size:26px;color:white; }
.reg_card h2     { font-size:28px;font-weight:900;color:#111827;margin:0 0 4px;letter-spacing:-.3px; }
.reg_subtext     { font-size:13px;color:#6B7280;margin:0; }

/* PROGRESS BAR */
.reg_prog_bar {
    display: flex;
    align-items: center;
    margin-bottom: 32px;
}
.reg_step_indicator { display:flex;flex-direction:column;align-items:center;gap:6px; }
.reg_step_indicator > span { font-size:11px;font-weight:600;color:#9CA3AF;transition:.3s;white-space:nowrap; }
.active_indicator > span { color:#4B0687;font-weight:700; }
.done_indicator > span   { color:#15803D;font-weight:700; }
.reg_step_circle {
    width:46px;height:46px;border-radius:50%;
    background:#F3F4F6;border:2px solid #E5E7EB;
    display:flex;align-items:center;justify-content:center;
    font-size:18px;color:#9CA3AF;transition:.35s;
}
.act_circle {
    background:linear-gradient(135deg,#4B0687,#6A11CB);
    border-color:transparent;color:white;
    box-shadow:0 6px 18px rgba(75,6,135,.3);transform:scale(1.1);
}
.done_circle {
    background:linear-gradient(135deg,#059669,#10B981);
    border-color:transparent;color:white;
}
.reg_prog_connector {
    flex:1;height:3px;background:#E5E7EB;
    margin:0 8px;margin-bottom:20px;
    border-radius:3px;transition:background .5s;
}
.conn_done { background:linear-gradient(90deg,#059669,#10B981); }

/* FORM STEPS */
.reg_form_step { display:none; }
.active_reg_step { display:block; }

/* INPUTS */
.reg_input_group { margin-bottom:18px; }
.reg_input_group label {
    display:flex;align-items:center;gap:7px;
    font-size:13px;font-weight:700;color:#374151;margin-bottom:8px;
}
.reg_input_group label i { font-size:16px;color:#4B0687; }
.reg_input_wrap { position:relative; }
.reg_input_wrap input {
    width:100%;height:56px;
    border:1.5px solid #E5E7EB;border-radius:16px;
    padding:0 18px;font-size:15px;outline:none;
    background:#F9FAFB;color:#111827;transition:.3s;
    box-sizing:border-box;font-family:inherit;
}
.reg_input_wrap input:focus {
    border-color:#4B0687;background:white;
    box-shadow:0 0 0 4px rgba(75,6,135,.08);
}
.reg_pw_wrap { }
.reg_pw_wrap input { padding-right:52px; }
.reg_pw_toggle {
    position:absolute;right:18px;top:50%;transform:translateY(-50%);
    font-size:20px;color:#9CA3AF;cursor:pointer;transition:.2s;
}
.reg_pw_toggle:hover { color:#4B0687; }

/* PASSWORD STRENGTH */
.reg_strength_bar {
    height:4px;background:#E5E7EB;border-radius:4px;margin-top:8px;overflow:hidden;
}
.reg_strength_fill { height:100%;width:0%;border-radius:4px;transition:width .4s,background .4s; }
.reg_strength_label { font-size:11px;font-weight:700;margin-top:5px;display:block; }

/* TERMS */
.reg_terms_box {
    display:flex;align-items:flex-start;gap:10px;margin-bottom:22px;
    background:#F9FAFB;border:1px solid #EAECF0;border-radius:14px;padding:14px 16px;
}
.reg_terms_box input[type="checkbox"] { width:18px;height:18px;accent-color:#4B0687;cursor:pointer;flex-shrink:0;margin-top:2px; }
.reg_terms_box label { font-size:13px;color:#374151;cursor:pointer;line-height:1.6; }
.reg_terms_box a     { color:#4B0687;font-weight:700;text-decoration:none; }
.reg_terms_box a:hover { text-decoration:underline; }

/* BUTTONS */
.reg_btn {
    width:100%;height:56px;border:none;border-radius:16px;
    background:linear-gradient(135deg,#4B0687,#6A11CB);
    color:white;font-size:15px;font-weight:700;
    cursor:pointer;transition:.3s;font-family:inherit;
    display:flex;align-items:center;justify-content:center;gap:10px;
    box-shadow:0 8px 24px rgba(75,6,135,.28);
    letter-spacing:.2px;
}
.reg_btn:hover:not(:disabled) { transform:translateY(-2px);box-shadow:0 14px 32px rgba(75,6,135,.36); }
.reg_btn:disabled { opacity:.7;cursor:not-allowed; }
.reg_btn i { font-size:20px; }

.reg_btn_row { display:flex;gap:12px;align-items:center; }
.reg_back_btn {
    height:56px;padding:0 22px;
    background:#F3F4F6;color:#374151;
    border:1.5px solid #E5E7EB;border-radius:16px;
    font-size:14px;font-weight:700;cursor:pointer;
    display:flex;align-items:center;gap:8px;
    transition:.2s;font-family:inherit;flex-shrink:0;
}
.reg_back_btn:hover { background:#E9D5FF;color:#4B0687;border-color:#C4B5FD; }
.reg_back_btn i { font-size:18px; }
.reg_btn_row .reg_btn { flex:1; }

/* LOGIN LINK */
.reg_login_link { text-align:center;font-size:14px;color:#6B7280;margin:20px 0 16px; }
.reg_login_link a { color:#4B0687;font-weight:700;text-decoration:none; }
.reg_login_link a:hover { text-decoration:underline; }

/* TRUST */
.reg_trust { display:flex;justify-content:center;gap:14px;flex-wrap:wrap;padding-top:18px;border-top:1px solid #F3F4F6; }
.reg_trust_item { display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#9CA3AF; }
.reg_trust_item i { font-size:13px;color:#4B0687; }

/* ── RESPONSIVE ── */
@media(max-width:960px){
    .reg_wrap  { grid-template-columns:1fr; }
    .reg_left  { min-height:auto;padding:40px 36px; }
    .reg_left_content h1 { font-size:38px; }
    .reg_benefits { display:none; }
    .reg_right { padding:40px 36px; }
}
@media(max-width:560px){
    .reg_page  { padding:24px 16px; }
    .reg_wrap  { border-radius:24px; }
    .reg_left  { padding:30px 22px; }
    .reg_left_content img { width:130px;margin-bottom:26px; }
    .reg_left_content h1  { font-size:32px; }
    .reg_left_content > p { font-size:13px;margin-bottom:20px; }
    .reg_stats { padding:12px 14px; }
    .reg_stat strong { font-size:18px; }
    .reg_right { padding:28px 20px; }
    .reg_card h2 { font-size:24px; }
    .reg_form_icon { width:46px;height:46px; }
}