body.website-auth { display: block; min-height: 100vh; margin: 0; padding: 0; color: #171a20; background: #f5f6f8; font-family: "DM Sans", sans-serif; }
.website-auth .navbar { background: rgba(255,255,255,.96); box-shadow: 0 8px 35px rgba(23,26,32,.08); backdrop-filter: blur(14px); }
.website-auth .navbar-brand, .website-auth .navbar-brand:hover { color: #171a20; }
.website-auth .navbar .nav-link, .website-auth .login-link { color: #4e5d6e; }
.website-auth .navbar .nav-link:hover, .website-auth .login-link:hover { color: #2458a6; }
.website-auth .navbar .brand-mark { width: 39px; height: 39px; border-radius: 12px; }
.website-auth .navbar .brand-mark.has-logo { width: 46px; height: 46px; flex: 0 0 46px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.website-auth-main { display: grid; grid-template-columns: minmax(330px, 440px) minmax(420px, 700px); align-items: stretch; justify-content: center; gap: 22px; min-height: 820px; padding: 145px 24px 80px; }
.auth-brand-panel { position: relative; display: flex; min-height: 590px; overflow: hidden; padding: 48px; color: #fff; border-radius: 28px; background: linear-gradient(145deg, #171a20 0%, #202b4d 57%, #285fad 100%); box-shadow: 0 30px 70px rgba(24,39,71,.18); }
.auth-brand-panel::before { content: ""; position: absolute; right: -180px; bottom: -210px; width: 480px; height: 480px; border: 85px solid rgba(255,255,255,.045); border-radius: 50%; }
.auth-brand-content { position: relative; z-index: 2; align-self: flex-start; }
.auth-brand-kicker { display: flex; align-items: center; gap: 10px; margin-bottom: 26px; color: #b8c9dc; font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.auth-brand-kicker span { width: 25px; height: 3px; background: linear-gradient(90deg, #08afe4, #c5006f, #ffdf00); }
.auth-brand-panel h1 { max-width: 390px; margin: 0 0 20px; color: #fff; font-family: "Manrope", sans-serif; font-size: clamp(2.25rem, 3.3vw, 3.75rem); font-weight: 800; line-height: 1.02; letter-spacing: -.055em; }
.auth-brand-panel p { max-width: 365px; margin: 0; color: #b4c0d0; font-size: .92rem; line-height: 1.75; }
.auth-brand-points { display: grid; gap: 11px; margin-top: 32px; color: #dae2ec; font-size: .78rem; font-weight: 700; }
.auth-brand-points i { display: inline-grid; place-items: center; width: 20px; height: 20px; margin-right: 8px; color: #171a20; border-radius: 50%; background: #ffdf00; font-size: .55rem; }
.auth-brand-register { position: absolute; top: 24px; right: 25px; display: grid; grid-template-columns: repeat(4, 11px); gap: 5px; opacity: .75; }
.auth-brand-register i { width: 11px; height: 11px; background: #08afe4; }.auth-brand-register i:nth-child(2) { background: #c5006f; }.auth-brand-register i:nth-child(3) { background: #ffdf00; }.auth-brand-register i:nth-child(4) { background: #11141a; }
.auth-job-ticket { position: absolute; z-index: 2; right: 35px; bottom: 36px; left: 35px; padding: 19px; color: #171a20; border-radius: 15px; background: rgba(255,255,255,.96); box-shadow: 0 20px 45px rgba(4,13,28,.25); transform: rotate(-1.5deg); }
.auth-job-ticket > div { display: flex; justify-content: space-between; margin-bottom: 12px; color: #7a8797; font-size: .54rem; font-weight: 800; letter-spacing: .08em; }.auth-job-ticket > div b { padding: 4px 7px; color: #0c7051; border-radius: 20px; background: #dff7ed; font-size: .49rem; }.auth-job-ticket strong, .auth-job-ticket small { display: block; }.auth-job-ticket strong { margin-bottom: 4px; font-family: "Manrope", sans-serif; font-size: .86rem; }.auth-job-ticket small { color: #768394; font-size: .58rem; }.auth-job-ticket > i { display: block; height: 5px; margin-top: 16px; overflow: hidden; border-radius: 20px; background: #e7ebef; }.auth-job-ticket > i em { display: block; width: 72%; height: 100%; background: linear-gradient(90deg, #3186c7, #243b82); }
.website-auth-main > .login-container, .website-auth-main > .forgot-container { display: flex; width: 100%; max-width: none; }
.website-auth .login-card, .website-auth .forgot-card, .website-auth .auth-card, .website-auth .verify-card { width: 100%; max-width: none; margin: 0; padding: 46px; border: 1px solid #e1e5e9; border-radius: 28px; background: #fff; box-shadow: 0 25px 65px rgba(24,39,61,.09); }
.website-auth .login-card, .website-auth .forgot-card { align-self: stretch; }
.website-auth .auth-card { min-height: 590px; }
.website-auth .verify-card { align-self: center; text-align: left; }
.website-auth .login-header, .website-auth .forgot-header { margin-bottom: 30px; text-align: left; }
.website-auth .login-header { display: flex; align-items: center; gap: 17px; }
.website-auth .login-header .login-badge { flex: 0 0 58px; margin: 0; }
.website-auth .login-heading { min-width: 0; }
.website-auth .forgot-header, .website-auth .verify-header { display: flex; align-items: center; gap: 17px; }
.website-auth .forgot-header .forgot-badge, .website-auth .verify-header .verify-icon { flex: 0 0 58px; margin: 0; }
.website-auth .forgot-heading, .website-auth .verify-header > div { min-width: 0; }
.website-auth .verify-header { margin-bottom: 28px; text-align: left; }
.website-auth .verify-header .subtitle { margin: 0; }
.website-auth .login-badge, .website-auth .forgot-badge, .website-auth .auth-card-logo, .website-auth .verify-icon { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 0 22px; overflow: hidden; color: #fff; border-radius: 17px; background: linear-gradient(135deg, #3186c7, #243b82); box-shadow: 0 12px 28px rgba(36,88,166,.25); font-size: 1.3rem; }
.website-auth .login-badge:hover, .website-auth .forgot-badge:hover, .website-auth .auth-card-logo:hover, .website-auth .verify-icon:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 15px 32px rgba(36,88,166,.32); }
.website-auth .login-badge img, .website-auth .forgot-badge img, .website-auth .auth-card-logo img, .website-auth .verify-icon img { width: 100%; height: 100%; padding: 3px; object-fit: contain !important; background: #fff; }
.website-auth .login-title, .website-auth .forgot-title, .website-auth .auth-header h1, .website-auth .verify-card h1 { margin: 0 0 7px; color: #171a20; font-family: "Manrope", sans-serif; font-size: 1.65rem; font-weight: 800; letter-spacing: -.035em; }
.website-auth .login-subtitle, .website-auth .forgot-subtitle, .website-auth .subtitle { color: #707d8d; font-size: .84rem; line-height: 1.6; }
.website-auth .auth-header { align-items: flex-start; margin-bottom: 28px; }
.website-auth .form-grid { gap: 17px; }
.website-auth label, .website-auth .form-label { color: #303b49; font-size: .76rem; font-weight: 800; }
.website-auth .form-label i { color: #2458a6; }
.website-auth .form-control { min-height: 48px; padding: 12px 14px; border: 1px solid #d5dce4; border-radius: 11px; color: #202833; background: #fff; font-family: "DM Sans", sans-serif; font-size: .86rem; }
.website-auth .form-control:hover { border-color: #b6c3d1; }.website-auth .form-control:focus { border-color: #3186c7; box-shadow: 0 0 0 4px rgba(49,134,199,.11); }
.website-auth .password-toggle { width: 51px; border-color: #d5dce4; border-radius: 0 11px 11px 0; }
.website-auth .password-group .form-control { border-radius: 11px 0 0 11px; }
.website-auth .btn-login, .website-auth .btn-register, .website-auth .btn-submit, .website-auth .btn-verify { min-height: 49px; border: 0; border-radius: 11px; color: #fff; background: linear-gradient(135deg, #3186c7, #243b82); box-shadow: 0 12px 25px rgba(36,88,166,.2); font-size: .83rem; font-weight: 800; transition: .2s ease; }
.website-auth .btn-login:hover, .website-auth .btn-register:hover, .website-auth .btn-submit:hover, .website-auth .btn-verify:hover { color: #fff; background: linear-gradient(135deg, #397fc0, #192e70); transform: translateY(-2px); }
.website-auth .btn-secondary, .website-auth .btn-resend { min-height: 47px; border: 1px solid #d5dce4; border-radius: 11px; color: #334155; background: #fff; font-size: .82rem; font-weight: 800; }
.website-auth .auth-links, .website-auth .auth-footer, .website-auth .forgot-footer { margin-top: 22px; padding-top: 19px; border-top: 1px solid #e6e9ed; }
.website-auth .auth-links a, .website-auth .auth-footer a, .website-auth .forgot-footer a, .website-auth .back-link { color: #2458a6; font-size: .78rem; font-weight: 800; }
.website-auth .field-note { color: #758294; font-size: .68rem; line-height: 1.5; }
.website-auth .alert { border: 0; border-radius: 11px; font-size: .78rem; }
.website-auth .verify-card .form-control { text-align: center; font-family: "Manrope", sans-serif; font-size: 1.35rem; letter-spacing: .25em; }
.website-auth footer { margin-top: 0; }
@media (max-width: 991.98px) { .website-auth .navbar-collapse { background: #fff; }.website-auth-main { grid-template-columns: 1fr; max-width: 760px; min-height: auto; margin: 0 auto; padding-top: 130px; }.auth-brand-panel { min-height: 440px; }.auth-job-ticket { max-width: 390px; }.website-auth .footer-main { grid-template-columns: 2fr 1fr 1fr; } }
@media (max-width: 575.98px) { .website-auth-main { padding: 112px 12px 55px; }.auth-brand-panel { min-height: 410px; padding: 34px 27px; border-radius: 22px; }.auth-brand-panel h1 { font-size: 2.35rem; }.auth-job-ticket { right: 24px; bottom: 25px; left: 24px; }.website-auth .login-card, .website-auth .forgot-card, .website-auth .auth-card, .website-auth .verify-card { padding: 28px 22px; border-radius: 22px; }.website-auth .form-grid { grid-template-columns: 1fr; }.website-auth .full-width { grid-column: auto; } }
