.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.loader-fullscreen{min-height:100vh}.loader-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:var(--red-primary);border-radius:50%;animation:spin 1s linear infinite}.loader-text{color:var(--white-pure);font-size:16px;opacity:.8;margin:0}.btn{font-family:inherit;cursor:pointer;transition:all .2s ease;border:none;border-radius:12px;padding:14px 24px;font-size:16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--red-primary);color:var(--white-pure);box-shadow:0 4px 12px #dc262666,0 0 20px #dc262633}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #dc262680,0 0 30px #dc26264d;background-color:#ef4444}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background-color:transparent;color:var(--white-pure);border:2px solid var(--white-pure)}.btn-secondary:hover:not(:disabled){background-color:#ffffff1a}.btn-ghost{background-color:transparent;color:#fffc;font-weight:600}.btn-ghost:hover:not(:disabled){color:var(--white-pure)}.btn-loader{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:var(--white-pure);border-radius:50%;animation:spin .8s linear infinite}.input-container{display:flex;flex-direction:column;gap:8px;width:100%}.input-label{color:#ffffffe6;font-size:14px;font-weight:600;margin-left:4px}.input-wrapper{position:relative;width:100%}.input{background-color:#fffffff2;color:var(--gray-900);border:1.5px solid rgba(255,255,255,.4);border-radius:12px;padding:0 24px;height:56px;font-size:16px;width:100%;transition:all .2s ease}.input-with-toggle{padding-right:56px}.input-error{border-color:var(--red-error)}.input-error:focus{border-color:var(--red-error);box-shadow:0 0 0 3px #ef44441a}.input-error-text{color:var(--red-error);font-size:13px;margin-left:4px;margin-top:-4px}.input-helper-text{color:#fff9;font-size:13px;margin-left:4px;margin-top:-4px}.input-password-toggle{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;color:var(--gray-500);transition:color .2s ease;border-radius:6px}.input-password-toggle:hover{color:var(--gray-700);background-color:#0000000d}.input-password-toggle:focus{outline:none;color:var(--red-primary)}.input-password-toggle svg{width:20px;height:20px}.card{border-radius:16px;border:1px solid rgba(255,255,255,.15);padding:24px;transition:all .3s ease;backdrop-filter:blur(10px);box-shadow:0 4px 16px #0003;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent}.card:active,.card:focus{outline:none}.card:focus-visible{outline:2px solid rgba(255,255,255,.3);outline-offset:2px}.card-default{background-color:#ffffff14}.card-important{background-color:#dc262633;border-color:#dc262666;box-shadow:0 4px 16px #0003,0 0 20px #dc262626}.card-success{background-color:#10b98133;border-color:#10b98166;box-shadow:0 4px 16px #0003,0 0 20px #10b98126}.card-warning{background-color:#f59e0b33;border-color:#f59e0b66;box-shadow:0 4px 16px #0003,0 0 20px #f59e0b26}.password-strength{display:flex;flex-direction:column;gap:8px;margin-top:-8px;margin-bottom:8px}.password-strength-bars{display:flex;gap:6px;width:100%}.password-strength-bar{flex:1;height:4px;border-radius:2px;background:#ffffff1a;transition:all .3s ease}.password-strength-bar.active{animation:strengthBarGrow .3s ease}@keyframes strengthBarGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.password-strength-label{font-size:12px;font-weight:500;margin:0;transition:color .3s ease;text-align:right}.auth-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:32px}.auth-header{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.auth-logo{width:140px;height:140px;object-fit:contain;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 20px rgba(220,38,38,.3))}.auth-title{font-size:32px;font-weight:700;color:var(--white-pure);margin:0}.auth-subtitle{font-size:16px;color:#ffffffb3;margin:0}.auth-card{width:100%;max-width:450px;display:flex;flex-direction:column;gap:24px}.auth-card-title{font-size:24px;font-weight:700;color:var(--white-pure);text-align:center;margin:0}.auth-message{padding:12px 16px;border-radius:8px;font-size:14px;text-align:center}.auth-error{background-color:#ef444426;border:1px solid rgba(239,68,68,.3);color:var(--red-error)}.auth-success{background-color:#10b98126;border:1px solid rgba(16,185,129,.3);color:var(--green-success)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-button{width:100%}.auth-divider{display:flex;align-items:center;text-align:center;color:#ffffff80;font-size:14px;margin:8px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid rgba(255,255,255,.1)}.auth-divider span{padding:0 16px}.auth-google-button{width:100%}.auth-footer{display:flex;flex-direction:column;gap:12px;align-items:center}.auth-link{background:none;border:none;color:#fffc;font-size:14px;cursor:pointer;padding:4px;transition:color .2s ease}.auth-link:hover:not(:disabled){color:var(--red-primary)}.auth-link:disabled{opacity:.5;cursor:not-allowed}.auth-confirmation{display:flex;flex-direction:column;align-items:center;gap:20px;padding:16px 0}.auth-confirmation-icon{color:var(--green-success);animation:checkmark .5s ease-in-out}@keyframes checkmark{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.auth-confirmation-title{font-size:20px;font-weight:600;color:var(--white-pure);margin:0}.auth-confirmation-text{font-size:15px;color:#fffc;text-align:center;margin:0;line-height:1.5}.auth-confirmation-text strong{color:var(--red-primary);font-weight:600}.auth-confirmation-subtitle{font-size:14px;color:#fff9;text-align:center;margin:0}.auth-confirmation-actions{display:flex;flex-direction:column;gap:12px;align-items:center;width:100%;margin-top:8px}.auth-resend-button{width:100%}@media (max-width: 640px){.auth-container{padding:16px;gap:24px}.auth-logo{width:110px;height:110px}.auth-title{font-size:28px}.auth-card{padding:20px}}.reset-password-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:32px}.reset-password-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.reset-password-logo{width:120px;height:120px;object-fit:contain;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 20px rgba(220,38,38,.3))}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.reset-password-title{font-size:32px;font-weight:700;color:var(--white-pure);margin:0;letter-spacing:-.02em}.reset-password-subtitle{font-size:16px;color:var(--white-secondary);margin:0}.reset-password-card{width:100%;max-width:420px;padding:32px}.reset-password-card-title{font-size:24px;font-weight:600;color:var(--white-pure);margin:0 0 8px;text-align:center}.reset-password-card-description{font-size:14px;color:var(--white-secondary);margin:0 0 24px;text-align:center;line-height:1.5}.reset-password-message{padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px;line-height:1.5}.reset-password-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.reset-password-form{display:flex;flex-direction:column;gap:16px}.reset-password-button{margin-top:8px}.reset-password-footer{margin-top:24px;text-align:center}.reset-password-link{background:none;border:none;color:var(--red-primary);font-size:14px;font-weight:500;cursor:pointer;padding:8px;transition:all .2s ease}.reset-password-link:hover:not(:disabled){color:var(--red-hover);text-decoration:underline}.reset-password-link:disabled{opacity:.5;cursor:not-allowed}.reset-password-success{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 0;text-align:center}.reset-password-success-icon{color:var(--green-primary);animation:successPop .5s ease-out}@keyframes successPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.reset-password-success-title{font-size:24px;font-weight:600;color:var(--white-pure);margin:0}.reset-password-success-text{font-size:14px;color:var(--white-secondary);margin:0;line-height:1.6}@media (max-width: 480px){.reset-password-container{padding:16px;gap:24px}.reset-password-card{padding:24px}.reset-password-logo{width:100px;height:100px}.reset-password-title{font-size:28px}}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;padding:16px;z-index:2000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:linear-gradient(180deg,#1a1a2e,#0f1624);border-radius:24px;border:1px solid rgba(255,255,255,.2);max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid rgba(255,255,255,.1);background:var(--red-primary);border-radius:24px 24px 0 0}.modal-title{font-size:20px;font-weight:700;color:var(--white-pure);margin:0}.modal-close{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.modal-close:hover{background-color:#ffffff1a;color:var(--white-pure)}.modal-body{padding:24px;overflow-y:auto}@media (max-width: 640px){.modal-container{max-height:95vh}.modal-header,.modal-body{padding:20px}}.department-selector{display:flex;flex-direction:column;gap:8px;width:100%}.department-label{color:#ffffffe6;font-size:14px;font-weight:600;margin-left:4px}.department-button{background-color:#fffffff2;color:var(--gray-900);border:1.5px solid rgba(255,255,255,.4);border-radius:12px;padding:0 24px;height:56px;font-size:16px;width:100%;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .2s ease}.department-button:hover{border-color:var(--red-primary)}.department-button-error{border-color:var(--red-error)}.department-selected{color:var(--gray-900)}.department-placeholder{color:var(--gray-400)}.department-error{color:var(--red-error);font-size:13px;margin-left:4px;margin-top:-4px}.department-modal-content{display:flex;flex-direction:column;gap:16px}.department-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.department-item{background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s ease;color:var(--white-pure);font-size:15px;text-align:left}.department-item:hover{background-color:#ffffff1a;border-color:#fff3}.department-item-selected{background-color:#dc262626;border-color:#dc26264d}.department-item-code{font-weight:700;min-width:40px}.department-item-name{flex:1}.department-item-check{color:var(--red-primary);flex-shrink:0}.department-empty{padding:32px;text-align:center;color:#ffffff80}.avatar-selector{display:flex;flex-direction:column;gap:12px;align-items:center}.avatar-label{color:#ffffffe6;font-size:14px;font-weight:600;align-self:flex-start;margin-left:4px}.avatar-preview-container{display:flex;flex-direction:column;align-items:center;gap:8px}.avatar-preview{position:relative;width:120px;height:120px;border-radius:50%;overflow:visible;border:3px solid rgba(255,255,255,.1)}.avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-edit-button{position:absolute;bottom:-8px;right:-8px;width:40px;height:40px;border-radius:50%;background-color:var(--red-primary);border:3px solid var(--blue-marine-dark);color:var(--white-pure);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000004d}.avatar-edit-button:hover{transform:scale(1.1);box-shadow:0 4px 12px #dc26264d}.avatar-hint{color:#fff9;font-size:13px;margin:0}.avatar-modal-content{display:flex;flex-direction:column;gap:20px}.avatar-tabs{display:flex;gap:8px;padding:4px;background-color:#ffffff0d;border-radius:10px}.avatar-tab{flex:1;padding:10px 16px;background:none;border:none;color:#fff9;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease}.avatar-tab:hover{color:#ffffffe6}.avatar-tab-active{background-color:var(--red-primary);color:var(--white-pure)}.avatar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-height:400px;overflow-y:auto}.avatar-grid-item{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;border:2px solid rgba(255,255,255,.1);background:none;padding:0;cursor:pointer;transition:all .2s ease}.avatar-grid-item:hover{border-color:var(--red-primary);transform:scale(1.05)}.avatar-grid-item img{width:100%;height:100%;object-fit:cover}.avatar-grid-item-selected{border-color:var(--red-primary);border-width:3px}.avatar-grid-item-check{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center}.avatar-upload{display:flex;flex-direction:column;gap:16px}.avatar-upload-area{border:2px dashed rgba(255,255,255,.2);border-radius:12px;padding:40px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;color:#fff9;transition:all .2s ease}.avatar-upload-area:hover{border-color:#fff6;background-color:#ffffff05}.avatar-upload-text{font-size:16px;font-weight:600;color:#ffffffe6;margin:0}.avatar-upload-hint{font-size:13px;color:#ffffff80;margin:0}.avatar-camera{display:flex;flex-direction:column;gap:20px}.avatar-camera-preview{width:100%;max-width:480px;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background-color:#00000080;display:flex;align-items:center;justify-content:center;margin:0 auto}.avatar-camera-video,.avatar-camera-captured{width:100%;height:100%;object-fit:cover}.avatar-camera-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.avatar-camera-capture{display:flex;align-items:center;gap:8px}@media (max-width: 640px){.avatar-grid{grid-template-columns:repeat(2,1fr)}.avatar-tabs{flex-direction:column}.avatar-tab{width:100%}.avatar-camera-preview{max-width:100%}}.onboarding-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:32px}.onboarding-header{text-align:center;max-width:500px}.onboarding-title{font-size:32px;font-weight:700;color:var(--white-pure);margin:0 0 12px}.onboarding-subtitle{font-size:16px;color:#ffffffb3;margin:0}.onboarding-card{width:100%;max-width:500px}.onboarding-form{display:flex;flex-direction:column;gap:24px}.onboarding-validating{font-size:13px;color:var(--blue-info);margin-top:-16px;margin-left:4px}.onboarding-actions{margin-top:8px}.onboarding-submit{width:100%}.onboarding-footer{text-align:center}.onboarding-footer-text{font-size:13px;color:#ffffff80;margin:0}@media (max-width: 640px){.onboarding-container{padding:16px;gap:24px}.onboarding-title{font-size:28px}.onboarding-card{padding:20px}}*{margin:0;padding:0;box-sizing:border-box}:root{--red-primary: #DC2626;--blue-marine-dark: #1a1a2e;--blue-marine-secondary: #1E293B;--white-pure: #FFFFFF;--green-success: #10B981;--orange-warning: #F59E0B;--red-error: #EF4444;--blue-info: #3B82F6;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-900: #111827;--gradient-from: #1E293B;--gradient-to: #0f1624;--accent-red: #DC2626}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,var(--gradient-from) 0%,var(--gradient-to) 100%);background-attachment:fixed;min-height:100vh;color:var(--white-pure);text-rendering:optimizeLegibility;font-feature-settings:"kern" 1;letter-spacing:-.011em}#root,.app{min-height:100vh}.text-primary{color:var(--white-pure);opacity:.9}.text-secondary{color:#fff9}.text-tertiary{color:#fff6}.card{background-color:#ffffff14;border-radius:16px;border:1px solid rgba(255,255,255,.15);padding:16px;backdrop-filter:blur(10px);box-shadow:0 4px 16px #0003}.btn-primary{background-color:var(--red-primary);color:var(--white-pure);border:none;border-radius:12px;padding:14px 24px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #dc262666,0 0 20px #dc262633}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #dc262680,0 0 30px #dc26264d;background-color:#ef4444}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:transparent;color:var(--white-pure);border:2px solid var(--white-pure);border-radius:12px;padding:14px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background-color:#ffffff1a}.input{background-color:#fffffff2;color:var(--gray-900);border:1.5px solid rgba(255,255,255,.4);border-radius:12px;padding:0 24px;height:56px;font-size:16px;width:100%;transition:all .2s}.input::placeholder{color:var(--gray-400)}.input:focus{outline:none;border-color:var(--red-primary);border-width:2px;background-color:var(--white-pure);box-shadow:0 0 0 3px #dc26261a}.card-action-button{background:transparent!important;border:none!important;color:var(--white-pure)!important;font-size:12px!important;font-weight:600!important;font-family:Inter,sans-serif!important;cursor:pointer;padding:6px 12px!important;border-radius:8px!important;transition:all .2s ease!important;white-space:nowrap;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent}.card-action-button:hover{color:var(--white-pure)!important;background:transparent!important;transform:translate(2px)}.card-action-button:active,.card-action-button:focus{background:transparent!important;outline:none!important}.card-action-button:focus-visible{outline:2px solid rgba(255,255,255,.3)!important;outline-offset:2px}@keyframes spin{to{transform:rotate(360deg)}}
