:root{--login-primary: #2cac6e;--login-primary-hover: #29925f;--login-primary-soft: rgba(44, 172, 110, .12);--login-secondary: #6c757d;--login-danger: #dc3545;--login-warning-bg: #fff3cd;--login-warning-text: #856404;--login-danger-bg: #f8d7da;--login-danger-text: #721c24;--login-bg: #eaefeb8f;--login-card-bg: #ffffff;--login-text: #333333;--login-text-secondary: #666666;--login-text-muted: #999999;--login-border: #dee2e6;--login-radius: 8px;--login-shadow: 0 2px 8px rgba(0, 0, 0, .1);--login-transition: all .3s ease}.login-page{display:flex;align-items:flex-start;justify-content:center;min-height:calc(100vh - 72px);background:var(--login-bg);padding:40px 0}@media (min-width: 768px){.login-page{align-items:center}}.login-card{background:var(--login-card-bg);border-radius:var(--login-radius);box-shadow:var(--login-shadow);padding:40px;max-width:620px;margin:0 auto 30px}@media (min-width: 768px){.login-card{margin:0 auto 130px}}.login-header{margin-bottom:36px;gap:20px}.login-title{font-size:24px;font-weight:700;color:var(--login-text);margin-bottom:10px}.login-subtitle{font-size:1.1rem;color:var(--login-text-secondary);margin-bottom:0;line-height:1.55;max-width:720px}.login-header__actions{display:flex;justify-content:flex-end;align-items:flex-start;margin-top:6px}.login-lang-link{color:var(--login-text-secondary);text-decoration:none;font-weight:500;font-size:.95rem;transition:var(--login-transition);display:flex;align-items:center}.login-lang-link:hover{color:var(--login-primary);text-decoration:none}.login-lang-link i{margin-right:6px}.login-alert{display:flex;align-items:flex-start;gap:12px;border-radius:var(--login-radius);padding:15px 20px;margin-bottom:28px;line-height:1.55}.login-alert--warning{background-color:var(--login-warning-bg);color:var(--login-warning-text)}.login-alert--danger{background-color:var(--login-danger-bg);color:var(--login-danger-text)}.login-alert i{margin-top:2px}.login-alert__link{color:inherit;font-weight:700;text-decoration:underline;margin-left:6px}.login-section__title{font-size:1.25rem;font-weight:600;color:var(--login-text);margin-bottom:26px;padding-bottom:12px;border-bottom:2px solid var(--login-primary);display:flex;align-items:center}.login-section__title i{color:var(--login-primary);margin-right:10px}.login-form .form-group{margin-bottom:22px}.login-form label{font-weight:600;color:var(--login-text);margin-bottom:8px;font-size:.95rem}.login-form .form-control{border:1px solid var(--login-border);border-radius:6px;padding:12px 16px;font-size:1rem;transition:var(--login-transition);background-color:#fff;height:auto}.login-form .form-control:focus{border-color:var(--login-primary);box-shadow:0 0 0 .1rem #2cac6e26;outline:none}.login-form .form-control::placeholder{color:var(--login-text-muted)}.login-form .form-control.is-invalid{border-color:var(--login-danger);background-image:none}.login-form .form-control.is-invalid:focus{border-color:var(--login-danger);box-shadow:0 0 0 .1rem #dc35451f}.login-input-group{display:flex;flex-wrap:nowrap;align-items:stretch}.login-input-group .form-control{border-right:0;border-radius:6px 0 0 6px}.login-input-group .form-control.is-invalid{border-right:0}.login-input-group .input-group-append{display:flex}.login-password-toggle{border:1px solid var(--login-border);border-left:0;background:#fff;color:var(--login-text-secondary);padding:0 14px;border-radius:0 6px 6px 0;transition:var(--login-transition)}.login-password-toggle:hover{background:#f8f9fa;color:var(--login-text)}.login-password-toggle:focus{outline:none;box-shadow:none;border-color:var(--login-primary)}.login-input-group .form-control:focus+.input-group-append .login-password-toggle{border-color:var(--login-primary)}.login-inline-actions{margin-top:4px}.login-inline-link{color:var(--login-primary);font-weight:600;text-decoration:none;transition:var(--login-transition)}.login-inline-link:hover{color:#0b7e88;text-decoration:none}.login-form-actions{margin-top:32px}.login-btn{width:100%;border:0;border-radius:6px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;text-align:center;transition:var(--login-transition);cursor:pointer}.login-btn--primary{background:var(--login-primary);color:#fff}.login-btn--primary:hover,.login-btn--primary:focus{background:var(--login-primary-hover);color:#fff;text-decoration:none}.login-btn:disabled{opacity:.75;cursor:not-allowed}.login-support{margin-top:40px}.login-support__divider{border-top:1px solid var(--login-border);margin-bottom:24px}.login-support__content{text-align:center}.login-support__text{color:var(--login-text-secondary);margin-bottom:10px}.login-support__primary-link{color:var(--login-primary);font-weight:700;text-decoration:none;display:inline-block;margin-bottom:24px}.login-support__primary-link:hover{color:#0b7e88;text-decoration:none}.login-support__links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.login-support__link{color:var(--login-text);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:8px;transition:var(--login-transition)}.login-support__link:hover{color:var(--login-primary);text-decoration:none}.login-support__link i{font-size:.8rem}.login-form .invalid-feedback{font-size:.875rem;color:var(--login-danger);margin-top:6px}@media (max-width: 991px){.login-title{font-size:24px}.login-subtitle{font-size:1rem;display:none}}@media (max-width: 768px){.login-page{padding:24px 0}.login-card{padding:24px 20px}.login-header{margin-bottom:30px}.login-form-actions{margin-top:28px}}@media (max-width: 576px){.login-title{font-size:1.3rem}.login-subtitle{font-size:.95rem}.login-section__title{font-size:1.1rem}.login-support__links{flex-direction:column;gap:14px}}
