@charset "utf-8";
:root {
    --google-blue: #1A73E8;    
    --google-blue-hover: #1557B0;    
    --google-blue-light: #8AB4F8;

    --card-bg: rgba(15, 23, 42, 0.95);    
    --card-border: rgba(255, 255, 255, 0.12);

    --text-main: #FFFFFF;    
    --text-muted: #94A3B8;
    --text-orange: #e9a13b;

    --font-heading: 'Plus Jakarta Sans', sans-serif;    
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;}

* { box-sizing: border-box; }

body {font-family: var(--font-body);    
    color: var(--text-main);    
    min-height: 100vh;    display: flex;    
    flex-direction: column;    
    justify-content: space-between;    
    margin: 0;    
    position: relative; 
    background: #0f172a;}  
    /* background: radial-gradient(circle at 50% 20%, #1e293b 0%, #0f172a 60%, #080d1a 100%);    
    background-attachment: fixed; */

main{padding-top: inherit;padding-bottom: inherit;}

.d-none-custom { display: none !important; }
.font-88{font-size: 0.88rem; line-height: 1.5;}
.font-80{font-size: 0.8rem;}
.font-xs{font-size: 0.75rem !important;}
.font-62{font-size: 0.62rem !important;}

.auth-container {width: 100%;max-width: 460px;margin: 0 auto;padding: 32px 16px;position: relative;z-index: 1;}

.brand-logo-icon {width: auto;height: 70px;display: inline-flex;align-items: center;justify-content: center;}

.auth-card {background-color: var(--card-bg);border: 1px solid var(--card-border);border-radius: 16px;padding: 36px 32px;box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);}
.auth-badge {font-family: var(--font-heading);color: var(--google-blue-light);font-size: 0.75rem;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;display: inline-block;margin-bottom: 12px;line-height: 1.4;}
.auth-title {font-family: var(--font-heading);font-weight: 700;font-size: 1.45rem;color: var(--text-main);letter-spacing: -0.02em;line-height: 1.35;}

.btn-social {background-color: rgba(255, 255, 255, 0.05);border: 1px solid var(--card-border);color: var(--text-main);font-weight: 500;font-size: 0.95rem;padding: 10px 16px;border-radius: 8px;transition: all 0.2s ease;}
.btn-social:hover {background-color: rgba(255, 255, 255, 0.12);border-color: rgba(255, 255, 255, 0.3);color: #ffffff;}

.btn-primary-custom {background-color: var(--google-blue);border: none;color: #ffffff;font-weight: 600;font-size: 0.95rem;padding: 10px 16px;border-radius: 8px;transition: background-color 0.2s ease;}
.btn-primary-custom:hover {background-color: var(--google-blue-hover);color: #ffffff;}

.divider-text {position: relative;text-align: center;}
.divider-text::before {content: "";position: absolute;top: 50%;left: 0;width: 100%;height: 1px;background-color: var(--card-border);z-index: 1;}
.divider-text span {position: relative;background-color: #0f172a;padding: 2px 12px;border-radius: 12px;z-index: 2;color: var(--text-main);font-size: 0.75rem;font-weight: 600;letter-spacing: 0.05em;}

.form-label {font-size: 0.85rem;font-weight: 500;color: var(--text-main);margin-bottom: 6px;}
.form-control-custom, 
.form-select-custom {background-color: rgba(15, 23, 42, 0.75) !important;border: 1px solid var(--card-border) !important;color: #FFFFFF !important;border-radius: 8px;padding: 10px 14px !important;font-size: 0.95rem;transition: all 0.2s ease;}
.form-control-custom::placeholder {color: #64748B !important;opacity: 1;}
.form-control-custom:focus, 
.form-select-custom:focus {background-color: rgba(15, 23, 42, 0.95) !important;border-color: var(--google-blue-light) !important;box-shadow: 0 0 0 3px rgba(138, 180, 248, 0.25);color: #FFFFFF !important;}

.auth-footer-links a {color: var(--text-main);text-decoration: none;transition: color 0.2s ease;}
.auth-footer-links a:hover {color: var(--google-blue);}

/* Signin ================================================== */
.form-check-input {background-color: rgba(15, 23, 42, 0.75) !important;border-color: var(--card-border) !important;}
.form-check-input:checked {background-color: var(--google-blue) !important;border-color: var(--google-blue) !important;}
.form-check-input[type="radio"], 
.form-check-input[type="checkbox"]{background-color: rgba(255, 255, 255, 0.05) !important;width: 20px !important;height: 25px !important;margin-right: 10px !important;border: 1px solid var(--card-border) !important; }    

.forgot-link {color: var(--google-blue-light);text-decoration: none;font-size: 0.85rem;font-weight: 500;transition: color 0.2s ease;}
.forgot-link:hover {color: #FFFFFF;text-decoration: underline;}

.signup-link {color: #FFFFFF;text-decoration: none;font-weight: 600;padding: 2px 6px;border-radius: 4px;transition: all 0.2s ease;}
.signup-link:hover {color: var(--google-blue-light);background-color: rgba(138, 180, 248, 0.15);text-decoration: underline;}

.qr-badge-link {display: flex;align-items: center;gap: 12px;background: rgba(255, 255, 255, 0.03);border: 1px solid var(--card-border);border-radius: 10px;padding: 8px 10px;text-decoration: none;color: #FFF;transition: all 0.2s ease;height: 100%;}
.qr-badge-link:hover {background: rgba(138, 180, 248, 0.1);border-color: var(--google-blue-light);color: #FFF;}
.qr-img {background: #FFFFFF;padding: 3px;border-radius: 6px;width: 48px;height: 48px;flex-shrink: 0;}

.toggle-password{position: absolute;color: var(--text-orange);top: 40px;right: 26px;z-index: 1;font-weight: 600;}

/* Sign up ================================================== */
.step-tag-pill {background-color: rgba(138, 180, 248, 0.12);color: var(--google-blue-light);border: 1px solid rgba(138, 180, 248, 0.25);font-size: 0.7rem;font-weight: 700;padding: 4px 10px;border-radius: 20px;letter-spacing: 0.08em;text-transform: uppercase;}

.free-plan-banner {background-color: rgba(26, 115, 232, 0.1);border: 1px solid rgba(138, 180, 248, 0.2);border-radius: 10px;padding: 10px 14px;}

.btn-outline-demo {background-color: rgba(255, 255, 255, 0.03);border: 1px solid var(--card-border);color: var(--text-main);font-weight: 500;font-size: 0.9rem;padding: 9px 16px;border-radius: 8px;transition: all 0.2s ease;}
.btn-outline-demo:hover {border-color: var(--google-blue-light);color: var(--google-blue-light);background-color: rgba(26, 115, 232, 0.15);}

.btn-check:checked + .btn-outline-custom {background-color: rgba(26, 115, 232, 0.15);border-color: var(--google-blue-light);color: #fff;}

.btn-outline-custom {border: 1px solid var(--card-border);color: var(--text-main);border-radius: 8px;padding: 8px 12px;font-size: 0.85rem;font-weight: 500;transition: all 0.2s ease;}
.btn-outline-custom:hover {border: 1px solid var(--card-border);color: var(--google-blue-light)!important;border-radius: 8px;padding: 8px 12px;font-size: 0.85rem;font-weight: 500;transition: all 0.2s ease;}

.login-link {color: #FFFFFF;text-decoration: none;font-weight: 600;padding: 2px 6px;border-radius: 4px;transition: all 0.2s ease;}
.login-link:hover {color: var(--google-blue-light);background-color: rgba(138, 180, 248, 0.15);text-decoration: underline;}

/* Reset Password / Registration Successful ================================================== */
.signin-link {color: #FFFFFF;text-decoration: none;font-weight: 600;padding: 2px 6px;border-radius: 4px;transition: all 0.2s ease;}
.signin-link:hover {color: var(--google-blue-light);background-color: rgba(138, 180, 248, 0.15);text-decoration: underline;}

.icon-badge {width: 56px;height: 56px;background-color: rgba(26, 115, 232, 0.12);border: 1px solid rgba(138, 180, 248, 0.25);border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;margin-bottom: 16px;}

.success-icon-wrapper {width: 72px;height: 72px;background-color: rgba(26, 115, 232, 0.15);border: 2px solid var(--bs-teal);border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;margin-bottom: 20px;animation: popIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);}


/* Sign up fail ================================================== */

.animated-error-badge {width: 80px;height: 80px;background-color: rgba(239, 68, 68, 0.15);border: 2px solid #EF4444;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;margin-bottom: 20px;animation: pulseRed 2s infinite ease-in-out;}

@keyframes pulseRed {
0%, 100% { box-shadow: 0 0 10px rgba(239, 68, 68, 0.2); transform: scale(1); }
50% { box-shadow: 0 0 25px rgba(239, 68, 68, 0.5); transform: scale(1.05); }
}

.error-code {font-family: var(--font-heading);font-size: 3.5rem;font-weight: 800;letter-spacing: -0.03em;color: #EF4444;line-height: 1;}
.auth-title {font-family: var(--font-heading);font-weight: 700;font-size: 1.45rem;color: var(--text-main);}

/* Sign up modal ================================================== */
.modalservay .modal-dialog {background-color: rgba(15, 23, 42, 1) !important;border: 1px solid var(--card-border) !important;color: #FFFFFF !important;border-radius: 8px;padding: 0px !important;font-size: 0.95rem;transition: all 0.2s ease;}
.modalservay .modal-dialog .modal-content{background-color: rgba(15, 23, 42, 0.75) !important;border: 1px solid var(--card-border) !important;color: #FFFFFF !important;border-radius: 8px;padding: 0px !important;}

.modalservay .modal-dialog .modal-content .modal-header{padding-left: 15px;padding-right: 15px;background-color: rgba(255, 255, 255, 0.05) !important;border: 0px;}
.modalservay .modal-dialog .modal-content .modal-header .btn-close{background-color: rgb(229, 5, 5, 1) !important;}

.modalservay .modal-dialog .modal-content .modal-body{padding-left: 15px;padding-right: 15px;}
.modalservay .modal-dialog .modal-content .modal-body .form-check-input[type="radio"], 
.modalservay .modal-dialog .modal-content .modal-body .form-check-input[type="checkbox"]{background-color: rgba(255, 255, 255, 0.05) !important;width: 20px !important;height: 20px !important;margin-right: 10px !important;margin-top: -1px!important; border: 1px solid var(--card-border) !important; } 
.modalservay .modal-dialog .modal-content .modal-body .form-check{margin-bottom: 8px;padding-top: 5px;padding-bottom: 5px;line-height: 20px;padding-left: 1.75rem;border: 0px dashed #ccc;}
.modalservay .modal-dialog .modal-content .modal-body .btn-schedule{padding: 6px 40px 6px 10px;text-align: left;color: #ffffff;font-size: 11px;line-height:15px;min-height: 20px;width: auto;font-weight: 600;cursor: pointer;
background: #1A73E8 url(../images/icon/cta-active-left-arrow.svg);background-size: 16px 16px;background-position: right 15px center;background-repeat: no-repeat;transition: all 250ms;border: 0px solid #1A73E8;}
.modalservay .modal-dialog .modal-content .modal-body .btn-schedule{background: #1A73E8 url(../images/icon/cta-active-left-arrow.svg);background-position: right 15px center;background-repeat: no-repeat;color: #ffffff;transform: translateX(1px);border: 0px solid #1A73E8;}


.modalservay .modal-dialog .modal-content .modal-footer{padding-left: 15px;padding-right: 15px;background-color: rgba(255, 255, 255, 0.05) !important;border: 0px;}
.modalservay .modal-dialog .modal-content .modal-footer .automate-sp{min-height: 30px;width:auto; margin: 0px;padding: 6px 10px 6px 10px;border-radius: 4px;text-align: center;color: #000!important;font-size: 16px;font-weight: 600;cursor: pointer;background: #ffba00 !important;transition: all 250ms;border: 1px solid #ffba00;}
.modalservay .modal-dialog .modal-content .modal-footer .automate-sp:hover{background: #ffffff;color: #1A73E8!important;transform: translateX(1px);border: 1px solid #1A73E8;text-decoration: none;}
