﻿/* =====================================================================
   SV2-AUTH â€” giao diá»‡n Ä‘Äƒng nháº­p / Ä‘Äƒng kÃ½ theo NGÃ”N NGá»® TRANG CHá»¦
   Ná»n hero (--grad-dark + orbs + grid), kicker shimmer, card terminal.
   ===================================================================== */

/* Reset cÃ¡c rule cÅ© cá»§a theme (custom.css) Ä‘á»ƒ scene full mÃ n hÃ¬nh */
body.auth-wrap{
    background:transparent!important;
    background-image:none!important;
    display:block!important;
    width:100%!important;height:auto!important;min-height:100vh;
    z-index:auto!important;overflow:visible!important;
    position:relative;
}
body.auth-wrap::before{display:none!important;content:none!important}
body.auth-wrap #main-body,
body.auth-wrap section#main-body{
    background:transparent!important;
    padding:0!important;margin:0!important;
    display:block!important;height:auto!important;
}
/* áº¨n dÃ²ng "Powered by WHMCS" dÆ°á»›i scene */
body.auth-wrap #main-body > p{display:none!important}
body.auth-wrap .footer,body.auth-wrap footer{display:none!important}
/* custom.css Ã©p font Roboto !important lÃªn h1-h5 â€” giÃ nh láº¡i cho theme */
body.auth-wrap,
body.auth-wrap h1,body.auth-wrap h2,body.auth-wrap h3,
body.auth-wrap h4,body.auth-wrap h5,body.auth-wrap p,
body.auth-wrap label,body.auth-wrap button,body.auth-wrap a,
body.auth-wrap input,body.auth-wrap span,body.auth-wrap strong,
.sv2-left h1,.sv2-section,.sv2-card-head em{
    font-family:'Be Vietnam Pro',var(--f-sans,'Inter','Segoe UI',Arial,sans-serif)!important;
}

/* ---------- Scene: ná»n hero giá»‘ng há»‡t trang chá»§ ---------- */
.sv2-auth{
    position:relative;overflow:hidden;min-height:calc(100vh - 68px);
    background:
        radial-gradient(1000px 520px at 88% -14%,rgba(34,211,238,.28),transparent 62%),
        radial-gradient(820px 460px at -6% 112%,rgba(14,165,233,.30),transparent 60%),
        var(--grad-dark);
}
.sv2-orb{
    position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none;
}
.sv2-orb-1{width:420px;height:420px;background:#0ea5e9;top:-140px;right:-90px}
.sv2-orb-2{width:340px;height:340px;background:#22d3ee;bottom:-150px;left:-80px;opacity:.32}
.sv2-gridlines{
    position:absolute;inset:0;pointer-events:none;
    background-image:
        linear-gradient(rgba(148,197,255,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(148,197,255,.07) 1px,transparent 1px);
    background-size:46px 46px;
    -webkit-mask-image:radial-gradient(ellipse at 50% 38%,#000 28%,transparent 76%);
    mask-image:radial-gradient(ellipse at 50% 38%,#000 28%,transparent 76%);
}

/* ---------- Layout 2 cá»™t ---------- */
.sv2-wrap{
    position:relative;z-index:2;
    max-width:1200px;margin:0 auto;
    display:flex;align-items:center;gap:64px;
    padding:64px 24px;min-height:calc(100vh - 68px);
}
.sv2-left{flex:1.15;min-width:0}
.sv2-right{width:470px;flex-shrink:0;position:relative}
.sv2-right-wide{width:640px}

/* ---------- Cá»™t trÃ¡i: ngÃ´n ngá»¯ hero ---------- */
.sv2-left h1{
    color:#fff;font-size:46px;line-height:1.16;font-weight:800;
    margin:18px 0 20px;
    text-shadow:0 4px 30px rgba(2,44,90,.45);
}
.sv2-sub{
    color:rgba(224,242,254,.82);font-size:16.5px;line-height:1.8;
    max-width:530px;margin:0 0 30px;
}
.sv2-left .sv-hero-kicker{margin-bottom:0}

/* ---------- Cá»™t pháº£i: card TRáº®NG â€“ XANH ---------- */
.sv2-card{
    position:relative;width:100%;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(255,255,255,.9);
    border-radius:22px;
    box-shadow:0 34px 80px rgba(2,20,50,.45),0 6px 20px rgba(2,20,50,.25);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    overflow:hidden;
}
.sv2-card-head{
    display:flex;align-items:center;gap:7px;
    padding:13px 18px;
    background:linear-gradient(90deg,#f0f9ff,#ecfeff);
    border-bottom:1px solid #e0f2fe;
}
.sv2-card-head span{
    width:10px;height:10px;border-radius:50%;display:inline-block;
}
.sv2-card-head span:nth-child(1){background:#ff5f57}
.sv2-card-head span:nth-child(2){background:#febc2e}
.sv2-card-head span:nth-child(3){background:#28c840}
.sv2-card-head em{
    margin-left:9px;font-style:normal;
    font-size:12px;font-weight:700;letter-spacing:.04em;
    color:#0369a1;
}
.sv2-card-body{padding:30px 28px 28px}
.sv2-card-foot{display:flex;justify-content:space-between;gap:10px;margin-top:18px;font-size:13px}
.sv2-card-foot a{color:#0284c7;text-decoration:none;font-weight:600}
.sv2-card-foot a:hover{text-decoration:underline}

/* ---------- Fields ná»n sÃ¡ng + floating label ---------- */
.sv2-field{position:relative;margin-bottom:16px}
.sv2-field>i{
    position:absolute;left:16px;top:50%;transform:translateY(-50%);
    color:#0ea5e9;font-size:14px;pointer-events:none;z-index:2;transition:color .2s;
}
.sv2-field .form-control{
    width:100%;height:54px;border-radius:14px;
    border:1.5px solid #dbe6f2;
    background:#fbfdff;
    padding:25px 16px 5px 44px;font-size:13.5px;color:#0f2b46;
    box-shadow:none;
    transition:border-color .2s,box-shadow .2s,background .2s;
}
.sv2-field .form-control:focus{
    border-color:#0ea5e9;background:#fff;outline:none;
    box-shadow:0 0 0 4px rgba(14,165,233,.14);
}
.sv2-field .form-control:focus ~ i{color:#0284c7}
.sv2-field label{
    position:absolute;left:44px;top:50%;transform:translateY(-50%);
    color:#8aa0b8;font-size:14px;font-weight:500;pointer-events:none;
    transition:all .18s ease;margin:0;
}
.sv2-field .form-control:focus ~ label,
.sv2-field .form-control:not(:placeholder-shown) ~ label{
    top:8px;transform:none;font-size:10px;font-weight:700;line-height:1.2;
    letter-spacing:.06em;text-transform:uppercase;color:#0284c7;
}
.sv2-field select.form-control{padding:0 16px 0 44px;height:50px;color:#0f2b46}
.sv2-field select.form-control option{background:#fff;color:#0f2b46}
.sv2-field input[type="password"],.sv2-field input[type="text"][data-sv-pw]{padding-right:46px}
.sv2-field input:-webkit-autofill,
.sv2-field input:-webkit-autofill:focus{
    -webkit-box-shadow:0 0 0 1000px #fbfdff inset!important;
    -webkit-text-fill-color:#0f2b46!important;
    transition:background-color 9999s ease-in-out 0s;
}
.sv2-static-label{display:block;font-size:13px;font-weight:700;color:#33415c;margin-bottom:6px}
.field-help-text{color:#8aa0b8;font-size:12px}

/* NÃºt máº¯t áº©n/hiá»‡n máº­t kháº©u */
.sv2-eye{
    position:absolute;right:13px;top:50%;transform:translateY(-50%);z-index:2;
    border:none;background:transparent;cursor:pointer;
    color:#8aa0b8;font-size:15px;padding:5px;line-height:1;
    transition:color .2s;
}
.sv2-eye:hover{color:#0ea5e9}
.sv2-eye.sv-eye-on{color:#0ea5e9}

.sv2-row-opts{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    margin:2px 0 16px;
}
.sv2-forgot-link{font-size:13px;font-weight:800;color:#0284c7;white-space:nowrap}
.sv2-forgot-link:hover{color:#075985;text-decoration:none}

.sv2-check{
    display:flex;align-items:flex-start;gap:9px;cursor:pointer;
    font-size:13.5px;font-weight:500;color:#41546e;margin:0;
}
.sv2-row-opts .sv2-check{margin:0}
/* Dá»± phÃ²ng khi sv2-check Ä‘á»©ng riÃªng (trang Ä‘Äƒng kÃ½ TOS) */
.sv2-card-body > .sv2-check,
.sv2-form > .sv2-check{margin-bottom:16px}
.sv2-check input{margin-top:3px;accent-color:#0ea5e9}
.sv2-check a{font-weight:800;color:#0284c7}
.sv2-tos{margin:4px 0 16px}

.sv2-captcha{display:flex;justify-content:center;margin:6px 0 14px}
.sv2-captcha>div{transform-origin:top center}
@media (max-width:420px){.sv2-captcha>div{transform:scale(.92);-webkit-transform:scale(.92)}}
.g-recaptcha iframe{max-width:100%}

.sv2-submit{width:100%}

.sv2-divider{
    display:flex;align-items:center;gap:12px;margin:22px 0 14px;
    color:#8aa0b8;font-size:12.5px;font-weight:600;
}
.sv2-divider::before,.sv2-divider::after{
    content:"";flex:1;height:1px;background:#e2edf7;
}
.sv2-social{text-align:center}

/* Nút Google Sign-In — đồng bộ kích thước với nút submit (.sv-btn-primary sv2-submit) */
.sv-btn-google{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    width:100%;min-height:50px;padding:13px 20px;
    border:1.5px solid #dbe6f2;border-radius:14px;
    background:#fff;color:#0f2b46;
    font-size:14px;font-weight:700;line-height:1.2;
    text-decoration:none;cursor:pointer;
    box-shadow:0 1px 2px rgba(15,43,70,.06);
    transition:all .2s;
}
.sv-btn-google:hover:not(:disabled){
    border-color:#0ea5e9;background:#f0f9ff;color:#0369a1;
    text-decoration:none;transform:translateY(-1px);
    box-shadow:0 4px 12px rgba(14,165,233,.16);
}
.sv-btn-google:active{transform:translateY(0)}
.sv-btn-google svg{flex-shrink:0}
/* Mount chứa nút Google thật do GIS SDK render; ẩn/hiện chỉ bằng attribute
   `hidden` (đồng bộ sieuthicloud). Tuyệt đối không ẩn bằng CSS
   pointer-events/position/opacity vì GIS SDK sẽ không gắn được behavior. */
#svGoogleMount{width:100%;max-width:320px}
#svGoogleMount[hidden]{display:none}
.sv2-switch{
    text-align:center;margin:20px 0 0;font-size:14px;
    color:#41546e;
}
.sv2-switch a{font-weight:600;color:#0284c7}
.sv2-switch a:hover{color:#075985}
.sv2-lang{text-align:center;font-size:13px;color:rgba(224,242,254,.55);margin-top:16px;position:relative;z-index:1}
.sv2-lang a{color:#7dd3fc;font-weight:700}

/* ---------- Grid form Ä‘Äƒng kÃ½ ---------- */
.sv2-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}
.sv2-full{grid-column:1/-1}
.sv2-hint{display:block;font-size:12px;color:#64748b;margin:-8px 2px 10px;line-height:1.5}
.sv2-strength{margin:0 2px 16px}
.sv2-strength-bar{height:5px;border-radius:99px;background:#e3edf7;overflow:hidden}
.sv2-strength-bar span{display:block;height:100%;width:0;border-radius:99px;background:#ef4444;transition:width .25s,background .25s}
.sv2-strength-text{display:block;margin-top:5px;font-size:12px;color:#64748b}
.sv2-section{
    display:flex;align-items:center;gap:10px;
    margin:26px 0 16px;font-size:14.5px;font-weight:800;color:#0f2b46;
}
.sv2-section:first-child{margin-top:0}
.sv2-section i{
    width:30px;height:30px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
    border-radius:9px;background:linear-gradient(135deg,#e0f2fe,#cffafe);
    color:#0284c7;font-size:13px;
    box-shadow:inset 0 0 0 1px rgba(14,165,233,.18);
}
.sv2-pw-meter{display:flex;align-items:center;gap:12px}
.sv2-pw-meter .progress{
    flex:1;margin:0;height:22px;border-radius:8px;overflow:hidden;
    background:#e2edf7;
}
.sv2-pw-meter #passwordStrengthTextLabel{color:#8aa0b8}
.sv2-gen{
    display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
    padding:9px 14px;border-radius:10px;cursor:pointer;
    border:1.5px solid #bae6fd;background:#f0f9ff;color:#0369a1;
    font-size:12px;font-weight:700;transition:all .2s;
}
.sv2-gen:hover{background:#e0f2fe;border-color:#7dd3fc;transform:translateY(-1px)}
.sv2-optin{
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    background:#f0f9ff;border:1px solid #e0f2fe;border-radius:14px;
    padding:13px 16px;margin:4px 0 14px;
}
.sv2-optin p{margin:0;font-size:13px;color:#41546e}
.sv2-optin i{color:#0284c7;margin-right:6px}

/* Alert trong card */
.sv2-card-body .alert{border-radius:12px}

/* ---------- Trang quÃªn máº­t kháº©u ---------- */
.sv2-reset-msg{color:#41546e;font-size:14px;line-height:1.7;margin:0 0 18px}
.sv2-reset-actions{margin-top:8px}
.sv2-cancel{
    display:block;text-align:center;margin-top:12px;
    font-size:13.5px;font-weight:700;color:#8aa0b8;
}
.sv2-cancel:hover{color:#0284c7;text-decoration:none}
.sv2-pw-meter-reset .progress{
    margin:0;height:14px;border-radius:8px;overflow:hidden;background:#e2edf7;
}
/* áº¨n icon glyphicon feedback cÅ© (Ä‘Ã£ cÃ³ nÃºt máº¯t + ring) */
.sv2-field .form-control-feedback{display:none}
.sv2-pw-meter-reset .alert{font-size:12.5px;padding:10px 14px}

/* ---------- Responsive ---------- */
@media (max-width:1199px){
    .sv2-wrap{gap:40px;padding:52px 22px}
    .sv2-left h1{font-size:38px}
    .sv2-right{width:430px}
    .sv2-right-wide{width:560px}
}
@media (max-width:991px){
    .sv2-wrap{flex-direction:column;gap:34px;min-height:0;padding:44px 18px 50px}
    .sv2-left{text-align:center}
    .sv2-left .sv-hero-kicker{justify-content:center;display:flex}
    .sv2-left .sv-hero-trust{justify-content:center}
    .sv2-sub{margin-left:auto;margin-right:auto}
    .sv2-left h1{font-size:30px}
    .sv2-sub{font-size:14.5px;margin-bottom:0}
    .sv2-right,.sv2-right-wide{width:100%;max-width:470px}
    .sv2-right-wide{max-width:640px}
}
@media (max-width:575px){
    .sv2-wrap{padding:34px 14px 42px}
    .sv2-grid{grid-template-columns:1fr}
    .sv2-card-body{padding:24px 18px 22px}
    .sv2-left h1{font-size:26px}
    .sv2-left .sv-hero-trust{gap:12px}
    .sv2-pw-meter{flex-direction:column;align-items:stretch}
}
/* Màn hình nhỏ (<500px): ẩn mô tả dài + hàng trust để trang auth gọn,
   tập trung vào form đăng nhập/đăng ký */
@media (max-width:499px){
    .sv2-sub{display:none}
    .sv2-left .sv-hero-trust,.sv-hero-trust{display:none}
}
