.layout-shell{min-height:100dvh;display:flex;flex-direction:column;background:#fff}.auth-shell{min-height:0;display:flex;flex:1;flex-direction:column}.auth-split-layout{display:flex;width:100%;min-height:100dvh;flex:1}.auth-split-left{display:flex;width:50%;min-height:100dvh;flex-direction:column}.auth-image-panel{position:relative;width:50%;min-height:100dvh;overflow:hidden;background:#f5f5f5}.auth-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1s ease}.auth-login-left{align-items:center;justify-content:center;padding:2rem}.auth-login-container{width:100%;max-width:28rem}.auth-login-form{width:100%;margin:0 auto;font-family:Inter,sans-serif}.auth-login-title,.auth-utility-title{margin:0;color:#222;font-size:clamp(1.6rem,2.2vw,2.2rem);font-weight:500;line-height:1;text-align:center}.auth-login-title{margin-bottom:2rem}.auth-button{position:relative;display:inline-flex;min-height:3rem;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:1rem;padding:.625rem 1.25rem;line-height:1.2;transition:background-color .16s ease,color .16s ease,border-color .16s ease}.auth-google-button{width:100%;margin-bottom:1.75rem;border:1px solid #dbdbdb;background:#fff;color:#000;font-size:1rem;font-weight:700}.auth-google-button:hover:not(:disabled){background:#f7f7f7}.auth-google-icon{width:1.25rem;height:1.25rem;fill:currentColor}.auth-login-field{margin-bottom:1.75rem}.auth-label{display:block;width:100%;margin-bottom:.75rem;color:#222;font-size:1rem;font-weight:500;text-align:left}.auth-input{width:100%;height:3rem;border:0;border-radius:1rem;outline:0;background:#f5f5f5;color:#222;padding:.75rem 1rem;font-size:1rem;font-weight:600;box-shadow:none}.auth-input::placeholder{color:#757575;font-size:1rem;font-weight:400;opacity:1}.auth-input:focus{box-shadow:0 0 0 2px #094c3d}.auth-password-wrapper,.register-password-wrapper,.register-select-wrapper{position:relative}.auth-password-input,.register-password-input,.register-select{padding-right:3rem}.auth-password-toggle,.register-password-toggle{position:absolute;top:50%;right:.75rem;display:flex;width:2rem;height:2rem;align-items:center;justify-content:center;transform:translateY(-50%);border:0;border-radius:.625rem;background:transparent;color:#a0a0a0}.auth-password-toggle:hover,.register-password-toggle:hover{color:#222}.auth-password-toggle:focus-visible,.register-password-toggle:focus-visible,.auth-utility-link:focus-visible,.auth-register-link:focus-visible,.auth-forgot-link:focus-visible{outline:2px solid #222;outline-offset:2px}.auth-forgot-link{display:block;width:100%;margin:-.25rem 0 1rem;border:0;background:transparent;color:#757575;padding:0;font-size:1rem;font-weight:400;text-align:right}.auth-forgot-link:hover{color:#222}.auth-primary-button{min-height:3rem;background:#000;color:#fff;font-weight:700}.auth-primary-button:hover:not(:disabled){background:#1f1f1f}.auth-submit-button{width:100%;margin-bottom:1rem}.auth-last-used-badge{pointer-events:none;position:absolute;top:-.5rem;right:-.5rem;display:inline-flex;align-items:center;border:1px solid #dcdcdc;border-radius:999px;background:#fff;color:#757575;padding:.125rem .5rem;font-size:.75rem;font-weight:500;line-height:1.25;box-shadow:0 1px 3px #00000014}.auth-legal-copy{margin:1.5rem 0 0;color:#757575;font-size:.75rem;line-height:1.6;text-align:center}.auth-legal-copy a,.register-consent-copy a{color:inherit;text-decoration:underline;text-underline-offset:2px}.auth-register-link,.auth-utility-link{display:block;width:100%;border:0;background:transparent;color:#757575;padding:0;font-size:1rem;font-weight:500;text-align:center}.auth-register-link:hover,.auth-utility-link:hover{color:#222}.auth-icon{display:inline-block;line-height:1}.auth-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgb(255 255 255 / 35%);border-top-color:currentColor;border-radius:50%;animation:auth-spin .7s linear infinite}.auth-feedback{width:100%;margin:0 0 1.25rem;border-radius:.3125rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.45}.auth-feedback-error{border:1px solid #efc8c8;background:#fff5f5;color:#9f2f2f}.auth-feedback-warning{border:1px solid #ead9b0;background:#fff9e9;color:#735319}.auth-utility-left{align-items:center;justify-content:center;padding:2rem}.auth-utility-container{width:100%;max-width:28rem}.auth-utility-title{margin-bottom:.75rem}.auth-utility-description{margin:0 0 2rem;color:#757575;font-size:.875rem;line-height:1.6;text-align:center}.auth-utility-form,.auth-utility-actions{display:flex;flex-direction:column;gap:1.25rem}.auth-utility-field{width:100%}.auth-utility-actions .auth-utility-link{margin-top:.25rem}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(max-width:767px){.auth-image-panel{display:none}.auth-split-left{width:100%}.auth-login-left,.auth-utility-left{padding:2rem}}.auth-register-left{min-height:100dvh}.auth-register-layout{display:flex;min-height:100%;flex:1;flex-direction:column}.register-progress-container{flex-shrink:0;padding:1.5rem 2rem .5rem}.register-progress-bars{display:flex;width:100%}.register-progress-bar{height:6px;flex:1;margin-right:6px;background:#dcdcdc;transition:background-color .5s ease}.register-progress-bar:last-child{margin-right:0}.register-progress-bar.is-filled{background:#222}.register-progress-labels{display:flex;margin-top:.5rem;color:#757575;font-size:.75rem;font-weight:500}.register-progress-labels span{flex:1}.register-progress-labels span:nth-child(2){text-align:center}.register-progress-labels span:last-child{text-align:right}.register-progress-labels span.is-complete{color:#222}.auth-register-scroll{display:flex;min-height:0;flex:1;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto;padding:2rem}.register-form{width:100%;max-width:42rem;margin:0 auto;font-family:Inter,sans-serif}.register-role-selection{width:100%;padding:0 3rem}.register-role-title{margin-bottom:1.5rem;text-align:center}.register-role-title h1{margin:0;color:#222;font-family:Manrope,sans-serif;font-size:clamp(1.6rem,2.2vw,2.2rem);font-weight:500;line-height:1}.register-role-list{display:flex;flex-direction:column;gap:1rem}.register-role-option{position:relative;display:flex;width:100%;min-height:4.75rem;align-items:center;gap:1rem;border:0;border-radius:2rem;background:transparent;padding:1.25rem;color:#222;text-align:left;transition:background-color .15s ease}.register-role-option:hover,.register-role-option.is-hovered{background:#f5f5f5}.register-role-icon,.register-role-arrow{flex-shrink:0}.register-role-copy{display:flex;min-width:0;flex-direction:column;line-height:1.35}.register-role-label{font-size:1rem;font-weight:600}.register-role-description{color:#757575;font-size:.875rem}.register-role-arrow{margin-left:auto;color:#757575}.register-existing-account{margin:0;padding-top:.5rem;color:#757575;font-size:.875rem;text-align:center}.register-inline-link{border:0;background:transparent;color:#4fa576;padding:0;font-size:inherit;font-weight:700}.register-inline-link:hover{text-decoration:underline}.register-step-section,.register-profile-grid,.register-legal-step{width:100%}.register-step-section{display:flex;flex-direction:column;gap:1.5rem}.register-method-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.register-method-button{min-height:2.75rem;border:1px solid #dcdcdc;background:#f5f5f5;color:#757575;font-size:.875rem;font-weight:600}.register-method-button:hover:not(.is-active){color:#222}.register-method-button.is-active{border-color:#000;background:#000;color:#fff}.register-field-grid,.register-profile-grid{display:grid;gap:1.25rem}.register-field{display:flex;min-width:0;flex-direction:column;gap:.75rem}.register-field-label{display:flex;align-items:center;gap:.25rem;color:#222;font-size:1rem;font-weight:500}.register-required{color:#ef4444}.register-field-error,.register-consent-error{margin:-.25rem 0 0;color:#b42318;font-size:.875rem;line-height:1.4}.register-nickname-help{margin:-1rem 0 0;color:#757575;font-size:.875rem}.register-select{appearance:none;cursor:pointer}.register-select-icon{pointer-events:none;position:absolute;top:50%;right:1rem;color:#757575;transform:translateY(-50%)}.register-legal-step{display:flex;flex-direction:column;gap:1.25rem}.register-consent{position:relative;display:grid;grid-template-columns:1.25rem minmax(0,1fr);gap:1rem;border:1px solid #dcdcdc;border-radius:5px;padding:1rem;color:#222;font-size:1rem;font-weight:500}.register-consent.has-error{border-color:#e7aaaa}.register-checkbox{width:1.25rem;height:1.25rem;margin-top:.125rem;accent-color:#222}.register-consent-copy{line-height:1.5}.register-consent-copy a{color:#2e7d32;font-weight:600}.register-consent-error{grid-column:2}.register-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:2rem}.register-back-button,.register-continue-button{min-height:3rem;font-size:1rem}.register-back-button{background:#f5f5f5;color:#757575;font-weight:600}.register-back-button:hover{color:#222}.register-continue-button{background:#000;color:#fff;font-weight:700}.register-continue-button:hover{background:#1f1f1f}.register-profesor-helper{margin:1.25rem 0 0;color:#757575;font-size:.75rem;text-align:center}.register-final-screen,.register-confirmation-screen{display:flex;width:100%;min-height:100dvh;align-items:center;justify-content:center;background:#0c0a09;color:#fff;padding:4rem 2rem}.register-final-content{width:100%;max-width:32rem;font-family:Inter,sans-serif}.register-final-copy{display:flex;flex-direction:column;gap:1.5rem}.register-final-copy p{margin:0;color:#ffffffb3;font-size:1rem;line-height:1.6}.register-final-copy .register-final-welcome{color:#fff;font-weight:500}.register-signature-block{padding-top:1rem}.register-signature-label{margin:0 0 .25rem;color:#ffffff7f;font-size:.875rem}.register-final-brand{margin:.5rem 0 0;color:#fff6;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.register-final-feedback{margin:1.5rem 0 0;border:1px solid rgb(255 255 255 / 22%);border-radius:5px;background:#ffffff0f;color:#ffffffc7;padding:.75rem 1rem;font-size:.875rem;line-height:1.5}.register-final-form{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem}.register-final-back-button{min-height:3rem;border:1px solid rgb(255 255 255 / 30%);border-radius:1rem;background:transparent;color:#ffffffc7;font-size:1rem;font-weight:600}.register-final-back-button:hover{border-color:#fff9;color:#fff}.register-final-submit,.register-confirmation-submit{width:100%;background:#fff;color:#0c0a09;font-weight:700}.register-final-submit:hover:not(:disabled),.register-confirmation-submit:hover:not(:disabled){background:#ffffffe5}.register-confirmation-content{display:flex;width:100%;max-width:28rem;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}.register-confirmation-icon{display:flex;width:3rem;height:3rem;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:#0c0a09}.register-confirmation-copy h1{margin:0 0 .75rem;color:#fff;font-family:Manrope,sans-serif;font-size:1.875rem;font-weight:600;line-height:1.2}.register-confirmation-copy p{margin:0;color:#ffffffb3;font-size:1rem;line-height:1.6}.register-confirmation-copy .register-confirmation-hint{margin-top:.75rem;color:#ffffff7f;font-size:.875rem}.auth-signature{display:block;height:auto;overflow:visible;color:#fff9}.auth-signature-stroke{fill:none;stroke:currentColor;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round;stroke-linejoin:round;animation:auth-signature-draw 2.8s ease-out forwards}@keyframes auth-signature-draw{to{stroke-dashoffset:0}}@media(min-width:640px){.register-field-grid,.register-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.auth-signature-stroke{animation:none;stroke-dashoffset:0}}@media(max-width:767px){.auth-register-scroll{padding:2rem}.register-role-selection{padding:0 1.5rem}.register-actions{flex-direction:column-reverse;align-items:stretch}.register-back-button,.register-continue-button{width:100%}}:root{color:#222;background:#fff;font-family:Inter,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;background:#fff;color:#222;font-family:Inter,sans-serif;line-height:1.6;letter-spacing:-.01em}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}
