.toast-container{position:fixed;top:var(--spacing-xl);right:var(--spacing-xl);z-index:var(--z-toast, 9999);display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:400px;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);border-left:4px solid;pointer-events:auto;animation:slideIn .3s ease-out;transition:all var(--transition-base)}.toast:hover{transform:translate(-4px);box-shadow:var(--shadow-2xl)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{flex-shrink:0;font-size:24px;display:flex;align-items:center;justify-content:center}.toast-message{flex:1;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-primary);font-weight:var(--font-weight-medium);white-space:pre-line;word-break:break-word}.toast-close{flex-shrink:0;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);font-size:20px}.toast-close:hover{background:var(--bg-hover);color:var(--text-primary)}.toast-success{border-left-color:var(--color-success)}.toast-success .toast-icon{color:var(--color-success)}.toast-error{border-left-color:var(--color-error)}.toast-error .toast-icon{color:var(--color-error)}.toast-warning{border-left-color:var(--color-warning)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-info{border-left-color:var(--color-info)}.toast-info .toast-icon{color:var(--color-info)}@media(max-width:768px){.toast-container{top:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md);max-width:none}.toast{padding:var(--spacing-sm) var(--spacing-md)}.toast-message{font-size:var(--font-size-xs)}}.custom-checkbox{display:flex;align-items:flex-start;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none;gap:var(--spacing-sm)}.custom-checkbox input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:relative;height:20px;width:20px;min-width:20px;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;margin-top:2px}.custom-checkbox:hover .checkmark{border-color:var(--text-tertiary);background-color:var(--bg-hover)}.custom-checkbox.loading .checkmark{border-color:var(--text-tertiary);border-radius:50%;background-color:transparent;border-top-color:transparent;animation:spin .35s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.custom-checkbox.checked .checkmark{border-color:transparent;animation:bounceIn .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes bounceIn{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.checkmark-icon{color:var(--color-brand-purple);font-size:14px;opacity:0;transform:scale(.5) rotate(-45deg);transition:all .2s ease}.custom-checkbox.checked .checkmark-icon{opacity:1;transform:scale(1) rotate(0);transition-delay:.1s}.custom-checkbox.primary.checked .checkmark{background-color:var(--color-primary);box-shadow:0 4px 10px #0c18244d}.custom-checkbox.primary.checked .checkmark-icon{color:var(--color-primary-text)}.custom-checkbox.primary.loading .checkmark{border-left-color:var(--color-primary);border-right-color:var(--color-primary);border-bottom-color:var(--color-primary)}.custom-checkbox.secondary.checked .checkmark{background-color:var(--color-secondary);box-shadow:0 4px 10px #f474434d}.custom-checkbox.secondary.checked .checkmark-icon{color:var(--color-secondary-text)}.custom-checkbox.secondary.loading .checkmark{border-left-color:var(--color-secondary);border-right-color:var(--color-secondary);border-bottom-color:var(--color-secondary)}.checkbox-label{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;transition:color var(--transition-base)}.custom-checkbox:hover .checkbox-label{color:var(--text-primary)}.custom-checkbox.disabled{opacity:.6;cursor:not-allowed}.custom-input-group{display:flex;flex-direction:column;width:100%}.custom-input-group .input-wrapper{position:relative;display:flex;align-items:center}.custom-input-group .input-icon{position:absolute;left:var(--spacing-md);color:var(--text-tertiary);font-size:var(--font-size-lg);pointer-events:none;transition:color var(--transition-base);z-index:1}.custom-input-group .form-input{width:100%;padding:.75rem;padding-left:50px;padding-right:40px;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-lg);font-family:var(--font-family-sans);font-size:var(--font-size-base);color:var(--text-primary);background-color:#fff;transition:all var(--transition-base);height:48px}.custom-input-group .form-input.text-transitioning{color:transparent;transition:color .15s ease-out}.custom-input-group.no-icon .form-input{padding-left:var(--spacing-md)}.custom-input-group .form-label{position:absolute;left:50px;top:50%;transform:translateY(-50%);font-size:var(--font-size-base);color:var(--text-tertiary);pointer-events:none;transition:all var(--transition-base);background-color:transparent;padding:0 var(--spacing-xs);z-index:2}.custom-input-group.no-icon .form-label{left:var(--spacing-md)}.custom-input-group .form-input:focus~.form-label,.custom-input-group .form-input:not(:placeholder-shown)~.form-label{top:0;left:var(--spacing-md);padding:0 var(--spacing-xs);transform:translateY(-50%) scale(.85);border-radius:var(--border-radius-md);font-weight:var(--font-weight-medium);background-color:var(--bg-primary)}.custom-input-group .form-input:focus{outline:none;background-color:#fff}.toggle-password-btn{position:absolute;right:var(--spacing-sm);background:none;border:none;cursor:pointer;color:var(--text-tertiary);padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease;z-index:3}.toggle-password-btn:hover{color:var(--text-primary);background-color:var(--bg-hover)}.toggle-password-btn:focus{outline:none;color:var(--color-action-text)}@keyframes eyePop{0%{opacity:0;transform:scale(.5) rotate(-20deg)}50%{transform:scale(1.2) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.toggle-password-btn svg{animation:eyePop .4s cubic-bezier(.34,1.56,.64,1) forwards}.custom-input-group.primary .form-input:focus~.form-label,.custom-input-group.primary .form-input:not(:placeholder-shown)~.form-label{color:var(--color-action-text)}.custom-input-group.primary .form-input:focus~.input-icon{color:var(--color-action-text)}.custom-input-group.primary .form-input:focus{border-color:var(--border-color-focus);box-shadow:0 0 0 4px var(--color-brand-purple-alpha-10)}.custom-input-group.primary .toggle-password-btn:focus,.custom-input-group.primary .toggle-password-btn:hover{color:var(--color-action-text);background-color:var(--color-brand-purple-alpha-10)}.custom-input-group.secondary .form-input:focus~.form-label,.custom-input-group.secondary .form-input:not(:placeholder-shown)~.form-label{color:var(--color-secondary)}.custom-input-group.secondary .form-input:focus~.input-icon{color:var(--color-secondary)}.custom-input-group.secondary .form-input:focus{border-color:var(--color-secondary);box-shadow:0 0 0 4px var(--color-orange-100)}.custom-input-group.secondary .toggle-password-btn:focus,.custom-input-group.secondary .toggle-password-btn:hover{color:var(--color-secondary)}.custom-input-group.error .form-input{border-color:var(--color-error)}.custom-input-group.error .form-input:focus{box-shadow:0 0 0 4px var(--color-error-light)}.custom-input-group.error .input-icon,.custom-input-group.error .form-input:focus~.form-label,.custom-input-group.error .form-input:not(:placeholder-shown)~.form-label{color:var(--color-error)}.custom-input-group.success .form-input{border-color:var(--color-brand-purple)}.custom-input-group.success .form-input:focus{box-shadow:0 0 0 4px var(--color-brand-purple-alpha-10)}.custom-input-group.success .input-icon,.custom-input-group.success .form-input:focus~.form-label,.custom-input-group.success .form-input:not(:placeholder-shown)~.form-label{color:var(--color-brand-purple)}.input-error-message{font-size:var(--font-size-xs);color:var(--color-error);margin-top:4px;margin-left:var(--spacing-md);display:flex;align-items:center;gap:4px;animation:fadeIn .3s ease-in-out}.caps-lock-warning{font-size:var(--font-size-xs);color:var(--color-warning);margin-top:4px;margin-left:var(--spacing-md);display:flex;align-items:center;gap:4px;animation:fadeIn .3s ease-in-out;font-weight:var(--font-weight-medium)}.auth-brand-panel{display:none}@media(min-width:769px){.auth-brand-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;width:100%;height:100%;box-sizing:border-box;padding-inline:clamp(var(--spacing-sm),3vw,var(--spacing-xl))}.auth-brand-panel__inner{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-lg);max-width:440px;width:100%}.auth-brand-panel__logo{max-width:min(100%,380px);width:auto;height:auto;max-height:72px;object-fit:contain}.auth-brand-panel__title{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);font-size:clamp(1.25rem,2vw,1.75rem);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-white);letter-spacing:-.02em}.auth-brand-panel__title-part{white-space:nowrap}.auth-brand-panel__title-sep{color:#ffffff59;font-weight:var(--font-weight-normal);-webkit-user-select:none;user-select:none}.auth-brand-panel__title-accent{color:var(--color-brand-green);text-shadow:0 0 40px var(--color-brand-green-alpha-20);white-space:nowrap}.auth-brand-panel__highlights{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-md);width:100%}.auth-brand-panel__highlight{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--border-radius-xl);background:#ffffff0f;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-sm);transition:background-color var(--transition-base),border-color var(--transition-base),transform var(--transition-fast)}.auth-brand-panel__highlight:hover{background:#ffffff17;border-color:#ffffff29;transform:translateY(-1px)}.auth-brand-panel__icon-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--border-radius-lg);background:#27c7c81f;border:1px solid rgba(39,199,200,.25)}.auth-brand-panel__icon{font-size:1.35rem;color:var(--color-brand-tea)}.auth-brand-panel__highlight-text{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}.auth-brand-panel__highlight-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-white);letter-spacing:.01em}.auth-brand-panel__highlight-desc{font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:#ffffffc7}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-brand-purple);padding:var(--spacing-md);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;left:-10%;width:120%;height:200%;background:radial-gradient(circle at 50% 30%,rgba(39,199,200,.15) 0%,transparent 60%);pointer-events:none;z-index:0}.login-container>*{position:relative;z-index:1}@media(min-width:769px){.login-container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;justify-items:stretch;column-gap:0;padding:var(--spacing-lg) var(--spacing-md);min-height:100vh;box-sizing:border-box}.login-card{justify-self:center;align-self:center;width:100%;max-width:480px;margin-right:0;box-sizing:border-box}}.login-card{background-color:var(--bg-primary);color:var(--text-primary);width:100%;max-width:480px;padding:var(--spacing-xl);padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-4xl);border-radius:var(--border-radius-2xl);animation:slideUp .5s ease-out;margin-right:0;border-left:0px solid var(--color-brand-green);border-right:1px solid var(--color-brand-green);border-top:0px solid var(--color-brand-green);border-bottom:1px solid var(--color-brand-green);box-shadow:0 8px 82px 50px #00000067;transition:all .3s ease;position:relative;overflow:hidden}.login-card:hover{transform:translateY(-2px);box-shadow:0 0 30px #00000040}@media(max-width:768px){.login-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100dvh;overflow:hidden;padding:var(--spacing-sm);position:fixed;inset:0;width:100%}.login-card{margin-right:0;max-width:100%;max-height:calc(100dvh - var(--spacing-md));overflow-y:auto;padding:var(--spacing-lg);padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);display:flex;flex-direction:column}}.login-header{text-align:center;margin-bottom:var(--spacing-xl);background-color:transparent;color:inherit;position:relative;z-index:1}.login-logo{margin-bottom:var(--spacing-sm);display:flex;align-items:center;justify-content:center}.login-logo img{max-width:min(100%,320px);width:auto;height:auto;max-height:160px;margin-top:-60px;margin-bottom:-20px;object-fit:contain}.login-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg);position:relative;z-index:1}.form-options{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm)}.forgot-password{color:var(--color-action-text);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.forgot-password:hover{color:var(--color-action-text-hover)}.login-footer{margin-top:var(--spacing-xl);text-align:center;font-size:var(--font-size-sm);color:var(--text-secondary);position:relative;z-index:1}.register-link{color:var(--color-action-text);text-decoration:none;font-weight:var(--font-weight-semibold);margin-left:var(--spacing-xs);transition:color var(--transition-fast)}.register-link:hover{color:var(--color-action-text-hover);text-decoration:underline}.login-success-message,.login-error-message{padding:var(--spacing-md);border-radius:var(--border-radius-md);display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);animation:slideDown .3s ease-out}.login-success-message{background-color:var(--color-success-light);color:var(--color-success-dark);border:1px solid var(--color-success)}.login-error-message{background-color:var(--color-error-light);color:var(--color-error-dark);border:1px solid var(--color-error)}.login-success-message svg,.login-error-message svg{flex-shrink:0;width:20px;height:20px}.password-feedback{margin-top:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--bg-secondary);border-radius:var(--border-radius-lg);font-size:var(--font-size-xs);animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.feedback-title{font-weight:800;color:var(--color-brand-purple);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.strength-meter-section{margin-bottom:var(--spacing-md)}.strength-meter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.strength-label{font-size:.75rem;font-weight:800;text-transform:uppercase}.strength-meter-container{width:100%;height:6px;background-color:var(--border-color);border-radius:3px;overflow:hidden}.strength-meter-bar{height:100%;transition:all .4s cubic-bezier(.4,0,.2,1)}.feedback-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.feedback-item{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--text-tertiary);transition:color var(--transition-fast)}.feedback-item.valid{color:var(--color-brand-purple)}.feedback-item.invalid{color:var(--text-tertiary)}.feedback-icon{font-size:14px}.password-match{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color);display:flex;align-items:center;gap:var(--spacing-xs);font-weight:var(--font-weight-medium)}.password-match.match{color:var(--color-brand-purple)}.password-match.no-match{color:var(--color-error)}.password-match.empty{color:var(--text-tertiary)}.register-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-brand-purple);padding:var(--spacing-md);position:relative;overflow:hidden}.register-container:before{content:"";position:absolute;top:-50%;left:-10%;width:120%;height:200%;background:radial-gradient(circle at 50% 30%,rgba(39,199,200,.15) 0%,transparent 60%);pointer-events:none;z-index:0}.register-container>*{position:relative;z-index:1}@media(min-width:769px){.register-container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;justify-items:stretch;column-gap:0;padding:var(--spacing-lg) var(--spacing-md);min-height:100vh;box-sizing:border-box}.register-card{justify-self:center;align-self:center;width:100%;max-width:480px;margin-right:0;box-sizing:border-box}}.register-card{background-color:var(--bg-primary);color:var(--text-primary);width:100%;max-width:480px;padding:var(--spacing-xl);padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-4xl);border-radius:var(--border-radius-2xl);animation:slideUp .5s ease-out;margin-right:0;border-left:0px solid var(--color-brand-green);border-right:1px solid var(--color-brand-green);border-top:0px solid var(--color-brand-green);border-bottom:1px solid var(--color-brand-green);box-shadow:0 8px 82px 50px #00000067;transition:all .3s ease;position:relative;overflow:hidden}.register-card:hover{transform:translateY(-2px);box-shadow:0 0 30px #00000040}@media(max-width:768px){.register-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100dvh;overflow:hidden;padding:var(--spacing-sm);position:fixed;inset:0;width:100%}.register-card{margin-right:0;max-width:100%;max-height:calc(100dvh - var(--spacing-md));overflow-y:auto;padding:var(--spacing-lg);padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);display:flex;flex-direction:column}}.register-header{text-align:center;margin-bottom:var(--spacing-xl);background-color:transparent;color:inherit;position:relative;z-index:1}.register-logo{margin-bottom:var(--spacing-sm);display:flex;align-items:center;justify-content:center}.register-logo img{max-width:min(100%,320px);width:auto;height:auto;max-height:160px;margin-top:-60px;margin-bottom:-20px;object-fit:contain}.register-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm)}.register-form{display:flex;flex-direction:column;gap:var(--spacing-lg);position:relative;z-index:1}.form-row{display:flex;gap:var(--spacing-md)}.form-row>.form-group{flex:1}.terms-wrapper{margin-top:var(--spacing-xs)}.btn-secondary{width:100%;padding:var(--spacing-md);background-color:var(--color-primary);color:var(--color-primary-text);border:none;border-radius:var(--border-radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-base),transform var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.btn-secondary *,.btn-secondary span,.btn-secondary svg{color:var(--color-primary-text)}.btn-secondary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-secondary:disabled{background-color:var(--color-gray-300);cursor:not-allowed;transform:none;opacity:.7}.register-footer{margin-top:var(--spacing-xl);text-align:center;font-size:var(--font-size-sm);color:var(--text-secondary);position:relative;z-index:1}.register-success-message,.register-error-message{padding:var(--spacing-md);border-radius:var(--border-radius-md);display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);animation:slideDown .3s ease-out}.register-success-message{background-color:var(--color-success-light);color:var(--color-success-dark);border:1px solid var(--color-success)}.register-error-message{background-color:var(--color-error-light);color:var(--color-error-dark);border:1px solid var(--color-error)}.register-success-message svg,.register-error-message svg{flex-shrink:0;width:20px;height:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.forgot-password-container{min-height:100vh;display:flex;align-items:center;justify-content:flex-end;background-image:url(/bg/bg-login-register.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;padding:var(--spacing-md);position:relative}.forgot-password-container:after{content:"";flex:0 0 8%;max-width:200px}.forgot-password-container:before{content:"";position:absolute;inset:0;background:#0000004d;z-index:0}.forgot-password-container>*{position:relative;z-index:1}.forgot-password-card{background-color:#ffffff93;width:100%;max-width:480px;padding:var(--spacing-xl);padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-4xl);border-radius:var(--border-radius-2xl);animation:slideUp .5s ease-out;margin-right:var(--spacing-md);backdrop-filter:blur(6px) saturate(80%);-webkit-backdrop-filter:blur(6px) saturate(80%);border-left:0px solid var(--color-brand-green);border-right:1px solid var(--color-brand-green);border-top:0px solid var(--color-brand-green);border-bottom:1px solid var(--color-brand-green);box-shadow:0 8px 82px 50px #00000067;transition:all .3s ease;position:relative;overflow:hidden}.forgot-password-card:hover{transform:translateY(-2px);box-shadow:0 0 30px #00000040}@media(max-width:768px){.forgot-password-container{justify-content:center;align-items:center;background-position:right center;height:100dvh;overflow:hidden;padding:var(--spacing-sm);position:fixed;inset:0;width:100%}.forgot-password-container:after{display:none}.forgot-password-card{margin-right:0;max-width:100%;max-height:calc(100dvh - var(--spacing-md));overflow-y:auto;padding:var(--spacing-lg);padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);display:flex;flex-direction:column}}.forgot-password-header{text-align:center;margin-bottom:var(--spacing-xl);background-color:transparent;color:inherit;position:relative;z-index:1}.forgot-password-logo{margin-bottom:var(--spacing-sm);display:flex;align-items:center;justify-content:center}.forgot-password-logo img{max-width:100%;height:auto;max-height:60px;object-fit:contain}.forgot-password-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm)}.forgot-password-form{display:flex;flex-direction:column;gap:var(--spacing-lg);position:relative;z-index:1}.form-group{display:flex;flex-direction:column}.btn-primary{width:100%;padding:var(--spacing-md);background-color:var(--color-primary);color:var(--color-primary-text);border:none;border-radius:var(--border-radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-base),transform var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.btn-primary *,.btn-primary span,.btn-primary svg{color:var(--color-primary-text)}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background-color:var(--color-gray-300);cursor:not-allowed;transform:none;opacity:.7}.forgot-password-footer{margin-top:var(--spacing-xl);text-align:center;font-size:var(--font-size-sm);color:var(--text-secondary);position:relative;z-index:1}.login-link{color:var(--color-action-text);text-decoration:none;font-weight:var(--font-weight-semibold);margin-left:var(--spacing-xs);transition:color var(--transition-fast)}.login-link:hover{color:var(--color-action-text-hover);text-decoration:underline}.success-message{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);text-align:center;position:relative;z-index:1}.success-icon{font-size:48px;color:var(--color-success);margin-bottom:var(--spacing-sm)}.success-message p{color:var(--text-primary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin:0}.forgot-password-request-error{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-danger, #b91c1c);font-size:var(--font-size-sm);background:#b91c1c14;border:1px solid rgba(185,28,28,.25);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md)}.reset-password-container{min-height:100vh;display:flex;align-items:center;justify-content:flex-end;background-image:url(/bg/bg-login-register.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;padding:var(--spacing-md);position:relative}.reset-password-container:after{content:"";flex:0 0 8%;max-width:200px}.reset-password-container:before{content:"";position:absolute;inset:0;background:#0000004d;z-index:0}.reset-password-container>*{position:relative;z-index:1}.reset-password-card{background-color:#ffffff93;width:100%;max-width:480px;padding:var(--spacing-xl);padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-4xl);border-radius:var(--border-radius-2xl);animation:slideUp .5s ease-out;margin-right:var(--spacing-md);backdrop-filter:blur(6px) saturate(80%);-webkit-backdrop-filter:blur(6px) saturate(80%);border-right:1px solid var(--color-brand-green);border-bottom:1px solid var(--color-brand-green);box-shadow:0 8px 82px 50px #00000067;transition:all .3s ease;position:relative;overflow:hidden}.reset-password-card:hover{transform:translateY(-2px);box-shadow:0 0 30px #00000040}@media(max-width:768px){.reset-password-container{justify-content:center;align-items:center;background-position:right center;height:100dvh;overflow:hidden;padding:var(--spacing-sm);position:fixed;inset:0;width:100%}.reset-password-container:after{display:none}.reset-password-card{margin-right:0;max-width:100%;max-height:calc(100dvh - var(--spacing-md));overflow-y:auto;padding:var(--spacing-lg);padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);display:flex;flex-direction:column}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reset-password-header{text-align:center;margin-bottom:var(--spacing-xl);background-color:transparent;color:inherit;position:relative;z-index:1}.reset-password-logo{margin-bottom:var(--spacing-sm);display:flex;align-items:center;justify-content:center}.reset-password-logo img{max-width:100%;height:auto;max-height:60px;object-fit:contain}.reset-password-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm)}.reset-password-form{display:flex;flex-direction:column;gap:var(--spacing-lg);position:relative;z-index:1}.reset-password-info-box{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);border:1px solid rgba(185,28,28,.25);background:#b91c1c14;color:var(--text-primary)}.reset-password-info-box svg{color:var(--color-danger, #b91c1c);font-size:32px}.reset-password-link-button{color:var(--color-action-text);text-decoration:none;font-weight:var(--font-weight-semibold)}.reset-password-link-button:hover{color:var(--color-action-text-hover);text-decoration:underline}.reset-password-request-error{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-danger, #b91c1c);font-size:var(--font-size-sm);background:#b91c1c14;border:1px solid rgba(185,28,28,.25);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md)}.reset-password-footer{margin-top:var(--spacing-xl);text-align:center;font-size:var(--font-size-sm);color:var(--text-secondary);position:relative;z-index:1}:root{--color-brand-purple: #002432;--color-brand-purple-light: #0d3b4f;--color-brand-purple-dark: #001a24;--color-brand-purple-alpha-10: rgba(0, 36, 50, .1);--color-brand-purple-alpha-20: rgba(0, 36, 50, .2);--color-brand-purple-alpha-50: rgba(0, 36, 50, .5);--color-brand-green: #F78837;--color-brand-green-light: #ff9b54;--color-brand-green-dark: #cc6a25;--color-brand-green-alpha-10: rgba(247, 136, 55, .1);--color-brand-green-alpha-20: rgba(247, 136, 55, .2);--color-brand-green-alpha-50: rgba(247, 136, 55, .5);--color-brand-tea: #27C7C8;--color-brand-tea-light: #5cecec;--color-brand-tea-dark: #1e9a9b;--color-brand-tea-alpha-10: rgba(39, 199, 200, .1);--color-brand-tea-alpha-20: rgba(39, 199, 200, .2);--color-brand-grey: #DFE4E5;--color-brand-container: #dfe4e5;--color-brand-grey-dark: #c1c8c9;--color-white: #ffffff;--color-text-dark: #002432;--color-gray-50: #f8fafb;--color-gray-100: #f1f4f5;--color-gray-200: #e2e8ea;--color-gray-300: #cdd6da;--color-gray-400: #9ba7ad;--color-gray-500: #6b7a85;--color-gray-600: #4a5a66;--color-gray-700: #002432;--color-gray-800: #001a24;--color-gray-900: #00121a;--color-black: #000000;--color-neutral-25: #fbfbfc;--color-neutral-50: #f8f9fa;--color-neutral-150: #eaeaea;--color-emerald-50: #ecfdf5;--color-emerald-600: #059669;--color-red-50: #fef2f2;--color-red-500: #ef4444;--color-success: #10b981;--color-success-light: #d1fae5;--color-success-dark: #047857;--color-error: #dc2626;--color-error-light: #fee2e2;--color-error-dark: #b91c1c;--color-warning: #F78837;--color-warning-light: #fff7ed;--color-warning-dark: #c2410c;--color-info: #27C7C8;--color-info-light: #e0fbfb;--color-info-dark: #0f7677;--bg-primary: var(--color-white);--bg-page-content: #f8fafb;--bg-secondary: var(--color-brand-grey);--bg-tertiary: #f1f4f5;--bg-hover: #eef2f3;--bg-active: #dfe4e5;--bg-header: var(--color-brand-purple);--bg-navbar: var(--color-brand-purple);--bg-structural: var(--color-brand-purple);--menu-sidebar-icon: #40c0c0;--tabs-active-bg: #001a24;--tabs-active-bg-hover: #0d3b4f;--card-top-accent: #40c0c0;--text-primary: var(--color-text-dark);--text-secondary: #4a6fa5;--text-tertiary: #8fa6b2;--text-disabled: #cbd5e1;--text-inverse: var(--color-white);--text-on-purple: var(--color-white);--color-primary: var(--color-brand-purple);--color-primary-hover: #0d3b4f;--color-primary-active: #00121a;--color-primary-light: rgba(0, 36, 50, .1);--color-primary-dark: #00121a;--color-primary-text: var(--color-white);--color-action-text: var(--color-brand-purple);--color-action-text-hover: #27C7C8;--color-secondary: var(--color-brand-green);--color-secondary-hover: var(--color-brand-green-light);--color-secondary-active: var(--color-brand-green-dark);--color-secondary-light: var(--color-brand-green-alpha-10);--color-secondary-dark: var(--color-brand-green-dark);--color-secondary-text: var(--color-white);--border-color: var(--color-gray-200);--border-color-hover: var(--color-gray-300);--border-color-focus: var(--color-brand-purple);--border-color-error: var(--color-error);--border-color-success: var(--color-brand-green);--border-radius-sm: .25rem;--border-radius-md: .5rem;--border-radius-lg: .6rem;--border-radius-xl: 1rem;--border-radius-2xl: 1.2rem;--border-radius-3xl: 2rem;--border-radius-4xl: 2.5rem;--border-radius-full: 9999px;--border-width: 1px;--border-width-thick: 2px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--shadow-none: none;--dash-card-shadow: 0 8px 32px -4px rgba(0, 0, 0, .06);--dash-card-shadow-hover: 0 20px 48px -12px rgba(0, 0, 0, .12);--dash-card-radius: 20px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 5rem;--font-family-sans: "Inter", system-ui, -apple-system, sans-serif;--font-family-mono: "Fira Code", "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-popover: 1060;--z-tooltip: 1070;--z-modal-backdrop: 1100;--z-modal: 1110;--glass-bg: rgba(255, 255, 255, .705);--glass-bg-accent: rgb(255, 255, 255);--glass-border: 1px solid rgba(255, 255, 255, .4);--glass-border-highlight: 1.5px solid rgba(255, 255, 255, .911);--glass-blur: blur(20px) saturate(110%);--glass-shadow: 0 8px 32px 0 rgba(255, 255, 255, .24);--glass-shadow-hover: 0 16px 48px 0 rgba(0, 0, 0, .1);--glass-radius: 28px;--glass-liquid-gradient: linear-gradient(135deg, rgba(255, 255, 255, .979) 0%, rgba(255, 255, 255, .1) 100%)}*{box-sizing:border-box;padding:0;margin:0}:root{line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);font-family:var(--font-family-sans);font-size:var(--font-size-base);background-color:var(--bg-primary);color:var(--text-primary);color-scheme:light;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-synthesis:none}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;min-width:320px;margin:0;overflow-x:hidden}@media(max-width:768px){html,body{overflow-x:hidden;width:100%;max-width:100%;position:relative}}#root{min-height:100vh;width:100%;position:relative;z-index:1;background-color:transparent}h1,h2,h3,h4,h5,h6{color:var(--color-brand-purple);font-weight:var(--font-weight-semibold)}a{color:var(--color-brand-purple);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-brand-purple-light)}a:focus{outline:2px solid var(--border-color-focus);outline-offset:2px;border-radius:var(--border-radius-sm)}button.primary,.btn-primary{background-color:var(--color-primary);color:var(--color-primary-text);border:none;transition:background-color var(--transition-fast)}button.primary *,button.primary span,button.primary svg,.btn-primary *,.btn-primary span,.btn-primary svg{color:var(--color-primary-text)}button.primary:hover,.btn-primary:hover{background-color:var(--color-primary-hover)}button.primary:focus,.btn-primary:focus{outline:2px solid var(--border-color-focus);outline-offset:2px}button.secondary,.btn-secondary.orange,.button-secondary{background-color:var(--color-secondary);color:var(--color-secondary-text);border:none;transition:background-color var(--transition-fast)}button.secondary *,button.secondary span,button.secondary svg,.btn-secondary.orange *,.btn-secondary.orange span,.btn-secondary.orange svg,.button-secondary *,.button-secondary span,.button-secondary svg{color:var(--color-secondary-text)}button.secondary:hover,.btn-secondary.orange:hover,.button-secondary:hover{background-color:var(--color-secondary-hover)}button.secondary:focus,.btn-secondary.orange:focus,.button-secondary:focus{outline:2px solid var(--border-color-focus);outline-offset:2px}input:focus,textarea:focus,select:focus{border-color:var(--border-color-focus);outline:none;box-shadow:0 0 0 3px var(--color-brand-purple-alpha-10)}.success,.text-success{color:var(--color-success)}.bg-success{background-color:var(--color-success-light);border-color:var(--color-success)}header,nav.navbar,.navbar{background-color:var(--bg-header);color:var(--text-on-purple)}:focus-visible{outline:2px solid var(--border-color-focus);outline-offset:2px}
