/* Login page styles - restored from style.css so login works even if style.css is reverted */

.login-page {
    background: #f9f6ec;
    box-sizing: border-box;
    font-size: 16px;
    color: #141414;
    line-height: 1.4;
    font-family: Arial, Helvetica, sans-serif
}

.login-page *,
.login-page ::after,
.login-page ::before {
    box-sizing: border-box
}

.login-page * {
    font-family: Arial, Helvetica, sans-serif
}

.content-type {
    max-width: 1010px;
    margin: 0 auto;
    padding: 35px 15px
}

.avatar-text {
    width: 44px;
    height: 44px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    color: #fff;
    background: #f4511e;
    font-size: 18px;
    font-weight: 700;
    margin-right: 10px;
    align-items: center
}

.form-type input,
.form-type select,
.form-type textarea,
.login-content input,
.login-content select,
.login-content textarea {
    color: #333
}

.form-type .btn-back,
.login-content .btn-back {
    width: 20px;
    height: 30px;
    background: 0 0;
    display: inline-block;
    margin: 0 10px 0 0;
    border: none;
    position: relative
}

.form-type .btn-back:before,
.login-content .btn-back:before {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    z-index: 1;
    border-left: 2px solid #252525;
    border-top: 2px solid #252525;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    left: 3px;
    top: 9px
}

.form-type .form-group,
.form-type .note-txt,
.login-content .form-group,
.login-content .note-txt {
    margin-bottom: 20px
}

.form-type label,
.login-content label {
    margin-bottom: 7px;
    display: inline-block
}

.form-type .form-control,
.login-content .form-control {
    background: #fff;
    font-size: 16px;
    font-family: Arial, Helvetica, sans-serif;
    width: 100%;
    border: none;
    border-bottom: 1px solid #bdbdbd;
    padding: 10px 0;
    height: auto;
    border-radius: 0
}

.form-type .form-control::-webkit-input-placeholder,
.login-content .form-control::-webkit-input-placeholder {
    color: #616161
}

.form-type .form-control:-moz-placeholder,
.login-content .form-control:-moz-placeholder {
    color: #616161;
    opacity: 1
}

.form-type .form-control::-moz-placeholder,
.login-content .form-control::-moz-placeholder {
    color: #616161;
    opacity: 1
}

.form-type .form-control:-ms-input-placeholder,
.login-content .form-control:-ms-input-placeholder {
    color: #616161
}

.form-type .form-control:placeholder,
.login-content .form-control:placeholder {
    color: #616161
}

.form-type .link-type,
.login-content .link-type {
    margin-top: 20px;
    font-size: 14px
}

.form-type .link-type a,
.form-type .link-type button,
.login-content .link-type a,
.login-content .link-type button {
    text-decoration: underline;
    color: #333;
    font-weight: 500;
    border: none;
    background-color: transparent
}

.form-type .link-type-2,
.login-content .link-type-2 {
    display: flex;
    justify-content: space-between;
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    z-index: 1;
    font-size: 14px
}

.form-type .link-type-2 a,
.login-content .link-type-2 a {
    text-decoration: underline;
    color: #333;
    font-weight: 500;
    display: inline-block
}

.form-type .other-type,
.login-content .other-type {
    position: relative;
    margin-bottom: 20px;
    padding-top: 25px;
    color: #142F43;
    font-size: 14px
}

.form-type .socials-login,
.login-content .socials-login {
    text-align: center
}

.form-type .socials-login li,
.login-content .socials-login li {
    list-style: none;
    padding: 0 7px;
    display: inline-block;
    margin-bottom: 0
}

.form-type .socials-login li a,
.login-content .socials-login li a {
    display: block;
    width: 80px;
    height: 80px;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, .15);
    -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, .15);
    background: #fff;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    text-align: center;
    padding: 12px 2px 0;
    text-transform: uppercase;
    font-size: 12px
}

.form-type .socials-login li a img,
.login-content .socials-login li a img {
    display: block;
    margin: 0 auto 5px;
    max-width: 36px
}

.form-type .socials-login li a span,
.login-content .socials-login li a span {
    display: block;
    color: #000;
    font-size: 11px
}

.form-type .term-txt,
.login-content .term-txt {
    font-size: 14px
}

.form-type .opt-input,
.login-content .opt-input {
    margin-bottom: 7px;
    text-align: center;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    margin-left: -5px;
    margin-right: -5px
}

.form-type .opt-input li,
.login-content .opt-input li {
    list-style: none;
    padding: 0 5px;
    flex: auto
}

.form-type .opt-input .form-control,
.login-content .opt-input .form-control {
    border-bottom: 2px solid #616161;
    font-size: 20px;
    width: 36px;
    padding: 10px 2px;
    text-align: center;
    font-weight: 700;
    color: #382F2D
}

.form-type .verify-block,
.login-content .verify-block {
    display: flex
}

.form-type .verify-block .countdown-time,
.login-content .verify-block .countdown-time {
    width: 85px;
    text-align: center;
    color: #6E6247;
    font-size: 18px;
    font-weight: 500;
    border: 1px solid #231F20;
    height: 48px;
    padding: 11px 2px 0;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    margin-right: 15px;
    flex: 0 0 auto
}

.form-type .calendar-box,
.login-content .calendar-box {
    position: relative
}

.form-type .calendar-box .form-control,
.login-content .calendar-box .form-control {
    padding-right: 32px
}

.form-type .calendar-box .btn-calendar,
.login-content .calendar-box .btn-calendar {
    width: 24px;
    height: 24px;
    border: none;
    background: url(../Image/Icon/icon-calendar.svg) 50% 50% no-repeat;
    position: absolute;
    right: 0;
    top: 7px;
    z-index: 1
}

.form-type .option-wrap,
.login-content .option-wrap {
    padding-top: 3px
}

.form-type .option-wrap.fg-opt,
.login-content .option-wrap.fg-opt {
    margin-bottom: 20px
}

.form-type .option-wrap label,
.login-content .option-wrap label {
    margin-bottom: 0;
    margin-right: 10px
}

.form-type .did-floating-label-content,
.login-content .did-floating-label-content {
    position: relative;
    margin-bottom: 25px
}

.form-type .checklist-pw,
.login-content .checklist-pw {
    margin-bottom: 10px
}

.form-type input:-webkit-autofill,
.form-type input:-webkit-autofill:focus,
.form-type input:-webkit-autofill:hover,
.form-type input:autofill,
.form-type select:-webkit-autofill,
.form-type select:-webkit-autofill:focus,
.form-type select:-webkit-autofill:hover,
.form-type textarea:-webkit-autofill,
.form-type textarea:-webkit-autofill:focus,
.form-type textarea:-webkit-autofill:hover,
.login-content input:-webkit-autofill,
.login-content input:-webkit-autofill:focus,
.login-content input:-webkit-autofill:hover,
.login-content input:autofill,
.login-content select:-webkit-autofill,
.login-content select:-webkit-autofill:focus,
.login-content select:-webkit-autofill:hover,
.login-content textarea:-webkit-autofill,
.login-content textarea:-webkit-autofill:focus,
.login-content textarea:-webkit-autofill:hover {
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
    transition: background-color 5000s ease-in-out 0s;
    background: #fff !important
}

.form-type .did-floating-label,
.login-content .did-floating-label {
    color: #616161;
    font-size: 16px;
    font-weight: 400;
    position: absolute;
    pointer-events: none;
    left: 0;
    top: 11px;
    padding: 0;
    background: 0 0;
    transition: .2s ease all;
    -moz-transition: .2s ease all;
    -webkit-transition: .2s ease all
}

.form-type .did-floating-select,
.form-type input.did-floating-input,
.login-content .did-floating-select,
.login-content input.did-floating-input {
    font-size: 16px;
    font-family: Arial, Helvetica, sans-serif;
    display: block;
    width: 100%;
    height: 39px;
    padding: 10px 0 5px;
    background: #fff;
    border: none;
    border-bottom: 1px solid #bdbdbd;
    box-sizing: border-box;
    border-radius: 0;
    line-height: 1.4
}

.form-type .did-floating-select:focus,
.form-type input.did-floating-input:focus,
.login-content .did-floating-select:focus,
.login-content input.did-floating-input:focus {
    outline: 0
}

.form-type .did-floating-select:focus~.did-floating-label,
.form-type input.did-floating-input:focus~.did-floating-label,
.login-content .did-floating-select:focus~.did-floating-label,
.login-content input.did-floating-input:focus~.did-floating-label {
    top: -10px;
    font-size: 14px
}

.form-type .did-floating-select.no-border,
.form-type input.did-floating-input.no-border,
.login-content .did-floating-select.no-border,
.login-content input.did-floating-input.no-border {
    border-bottom-color: transparent
}

.form-type select.did-floating-select,
.login-content select.did-floating-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.form-type select.did-floating-select::-ms-expand,
.login-content select.did-floating-select::-ms-expand {
    display: none
}

.form-type .did-floating-input:-webkit-autofill:active~.did-floating-label,
.form-type .did-floating-input:-webkit-autofill:focus~.did-floating-label,
.form-type .did-floating-input:-webkit-autofill:hover~.did-floating-label,
.form-type .did-floating-input:-webkit-autofill~.did-floating-label,
.form-type .did-floating-input:autofill~.did-floating-label,
.login-content .did-floating-input:-webkit-autofill:active~.did-floating-label,
.login-content .did-floating-input:-webkit-autofill:focus~.did-floating-label,
.login-content .did-floating-input:-webkit-autofill:hover~.did-floating-label,
.login-content .did-floating-input:-webkit-autofill~.did-floating-label,
.login-content .did-floating-input:autofill~.did-floating-label {
    top: -10px;
    font-size: 14px
}

.form-type .did-floating-input:not(:placeholder-shown)~.did-floating-label,
.login-content .did-floating-input:not(:placeholder-shown)~.did-floating-label {
    top: -10px;
    font-size: 14px
}

.form-type .did-floating-select:not([value=""]):valid~.did-floating-label,
.login-content .did-floating-select:not([value=""]):valid~.did-floating-label {
    top: -10px;
    font-size: 14px
}

.form-type .did-floating-select[value=""]:focus~.did-floating-label,
.login-content .did-floating-select[value=""]:focus~.did-floating-label {
    top: 10px;
    font-size: 14px
}

.form-type .did-floating-select:not([multiple]):not([size]),
.login-content .did-floating-select:not([multiple]):not([size]) {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath id='Path_1' data-name='Path 1' d='M371,294l4,6,4-6Z' transform='translate(-371 -294)' fill='%23003d71'/%3E%3C/svg%3E%0A");
    background-position: right 15px top 50%;
    background-repeat: no-repeat
}

.form-type .did-error-input .did-floating-input,
.form-type .did-error-input .did-floating-select,
.login-content .did-error-input .did-floating-input,
.login-content .did-error-input .did-floating-select {
    border-bottom-color: #ED1C24;
    color: #ED1C24
}

.form-type .did-error-input .did-floating-label,
.login-content .did-error-input .did-floating-label {
    color: #ED1C24
}

.form-type .did-error-input .invalid-feedback,
.login-content .did-error-input .invalid-feedback {
    display: block
}

.form-type .did-error-input .did-floating-select:not([multiple]):not([size]),
.login-content .did-error-input .did-floating-select:not([multiple]):not([size]) {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath id='Path_1' data-name='Path 1' d='M371,294l4,6,4-6Z' transform='translate(-371 -294)' fill='%239d3b3b'/%3E%3C/svg%3E%0A")
}

.form-type .input-group,
.login-content .input-group {
    display: flex
}

.form-type .input-group .did-floating-input,
.login-content .input-group .did-floating-input {
    border-radius: 0 4px 4px 0;
    border-left: 0;
    padding-left: 0
}

.form-type .input-group-append,
.login-content .input-group-append {
    display: flex;
    align-items: center
}

.form-type .input-group-text,
.login-content .input-group-text {
    display: flex;
    align-items: center;
    font-weight: 400;
    height: 34px;
    color: #323840;
    padding: 0 5px 0 20px;
    font-size: 12px;
    text-align: center;
    white-space: nowrap;
    border: 1px solid #3D85D8;
    border-radius: 4px 0 0 4px;
    border-right: none
}

.login-content {
    max-width: 740px;
    margin: 0 auto;
    background: #fff;
    display: flex;
    border-radius: 20px;
    -webkit-border-radius: 20px
}

.login-content p {
    margin-bottom: 15px
}

.login-content .right-banner {
    width: 333px;
    flex: 0 0 auto
}

.login-content .right-banner img {
    display: block;
    -webkit-border-top-right-radius: 20px;
    -webkit-border-bottom-right-radius: 20px;
    -moz-border-radius-topright: 20px;
    -moz-border-radius-bottomright: 20px;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    max-width: 100%;
    height: 500px
}

.login-content .left-content {
    flex: 1 1 auto;
    padding: 30px
}

.login-content .left-content .btn2 {
    width: 100%
}

.login-content h3 {
    color: #000;
    margin-bottom: 12px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
    display: flex;
    align-items: center
}

.login-content h3.h-sc {
    font-size: 18px;
    font-weight: 700
}

.login-content h3.h-sc span {
    margin: 0 auto;
    align-items: center;
    display: flex
}

.login-content h3.h-sc img {
    margin-right: 10px;
    border-radius: 50%
}

.content-change {
    width: 100%;
    height: 100%;
    display: none
}

.content-change.active-content {
    display: block
}

.dialog-type .iframe-content,
.dialog-type .login-content {
    max-width: 100%;
    border-radius: 0;
    display: block
}

.login-content .group-row .gender-box {
    position: relative
}

.login-content .group-row .gender-box .lbl {
    margin-bottom: 0;
    position: absolute;
    top: -10px;
    font-size: 14px;
    left: 0
}

.login-content .group-row .option-wrap {
    padding-top: 14px
}

.login-content .s-padding .other-type {
    padding-top: 0;
    margin-bottom: 10px
}

.login-content .s-padding .link-type {
    margin-bottom: 15px;
    margin-top: 15px
}

.login-content .s-padding .did-floating-label-content {
    margin-bottom: 20px
}

/* QR Login – container và overlay khi hết hạn */
.qr-login-wrapper
{
    text-align: center;
}
.qr-instructions{
    font-size: 14px;
    margin: 10px 0;
}
#qrCodeContainer {
    position: relative;
    width: 256px;
    height: 256px;
    margin: 0 auto;
}
#qrCodeContainer canvas,
#qrCodeContainer table {
    display: block;
    width: 100% !important;
    height: 100% !important;
}
#qrCodeContainer.qr-expired canvas,
#qrCodeContainer.qr-expired table {
    opacity: 0.5;
    transition: opacity 0.3s ease;
}
.qr-expired-overlay {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.55);
    border-radius: 8px;
    pointer-events: none;
}
.qr-expired-overlay-text {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    padding: 12px;
    white-space: nowrap;
}

/* QR Login Countdown Styles */
.qr-countdown {
    text-align: center;
    margin: 20px 0 10px;
    padding: 12px 20px;
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}
.qr-countdown-text {
    font-size: 14px;
    color: #666;
    font-weight: 500;
}
.qr-countdown-timer {
    font-size: 20px;
    font-weight: 700;
    color: #231f20;
    font-family: 'Courier New', monospace;
    letter-spacing: 2px;
    transition: color 0.3s ease;
}
.qr-countdown-timer.qr-countdown-warning {
    color: #ff0000;
    animation: pulse 1s ease-in-out infinite;
}
@keyframes pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.05); opacity: 0.8; }
}

/* QR Status Reload Button */
.qr-status{
    background-color: #f5f7fa;
    padding: 10px;
    border-radius: 8px;
}
.qr-status-reload-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 12px;
    padding: 6px 12px;
    color: #cdc197;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.3s ease;
    vertical-align: middle;
    background: transparent;
}
.qr-status-reload-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.qr-status-reload-btn:active {
    transform: translateY(0);
}
.qr-status-reload-btn svg {
    width: 16px;
    height: 16px;
    stroke: #cdc197;
}
.qr-status-reload-btn img {
    width: 16px;
    height: 16px;
    display: block;
}
