html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}html,body{height:100%}body{margin:0;font-family:Roboto,Helvetica Neue,sans-serif}.login-container{display:flex;min-height:100vh;background:#f8f9fa}.hero-section{flex:0 0 55%;display:flex;align-items:center;justify-content:center;padding:40px;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#667eeae6,#764ba2e6,#667eeacc);background-size:400% 400%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.hero-content{text-align:center;max-width:600px;color:#fff;animation:fadeInUp .8s ease-out;position:relative;z-index:1}.brand-header{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:40px;animation:slideInDown .8s ease-out .2s both}.brand-logo{height:60px;width:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));transition:transform .3s ease}.brand-logo:hover{transform:scale(1.05)}.brand-title{font-size:3rem;font-weight:700;margin:0;letter-spacing:-1px;text-shadow:0 4px 12px rgba(0,0,0,.3);background:linear-gradient(135deg,#fff,#e3f2fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-mascot{margin:30px 0;animation:floatAnimation 3s ease-in-out infinite}.hero-sloth{height:180px;width:auto;filter:drop-shadow(0 8px 24px rgba(0,0,0,.3));transition:transform .3s ease}.hero-sloth:hover{transform:scale(1.05)}@keyframes floatAnimation{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-text{animation:slideInUp .8s ease-out .4s both}.hero-title{font-size:2.5rem;font-weight:600;margin:0 0 16px;letter-spacing:-.5px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.hero-subtitle{font-size:1.2rem;line-height:1.6;opacity:.95;font-weight:400;text-shadow:0 1px 4px rgba(0,0,0,.2);max-width:500px;margin:0 auto}.form-section{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;background:linear-gradient(135deg,#fff,#f8f9fa,#f1f3f4)}.form-container{width:100%;max-width:450px;animation:slideInRight .8s ease-out .3s both}.login-card{width:100%;border-radius:20px;box-shadow:0 15px 35px #00000014,0 5px 15px #0000000d;background:#fff;border:1px solid rgba(0,0,0,.03);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.login-card:hover{transform:translateY(-2px);box-shadow:0 20px 45px #0000001f,0 8px 20px #00000014}.login-card mat-card-content{padding:45px}.form-header{text-align:center;margin-bottom:32px}.form-title{font-size:1.8rem;font-weight:600;color:#333;margin:0 0 8px;letter-spacing:-.3px}.form-subtitle{font-size:.95rem;color:#666;margin:0;font-weight:400}.full-width{width:100%}.error-container{display:flex;align-items:center;background:linear-gradient(135deg,#ffebee,#fce4ec);border:1px solid #ef5350;border-radius:12px;padding:12px 16px;margin-bottom:16px;font-size:13px;color:#c62828;box-shadow:0 4px 12px #ef535026;animation:slideIn .3s ease-out}.error-container mat-icon{font-size:16px;width:16px;height:16px;margin-right:8px;color:#ef5350}.auth-error-container{display:flex;align-items:center;background:linear-gradient(135deg,#ffebee,#fce4ec);border:1px solid #ef5350;border-radius:12px;padding:12px 16px;margin-bottom:24px;font-size:14px;color:#c62828;box-shadow:0 4px 12px #ef535026}.auth-error-container mat-icon{font-size:18px;width:24px;height:24px;margin-right:8px;color:#ef5350}.auth-success-container{display:flex;align-items:center;background:linear-gradient(135deg,#e8f5e8,#f1f8e9);border:1px solid #4caf50;border-radius:12px;padding:12px 16px;margin-bottom:24px;font-size:14px;color:#2e7d32;box-shadow:0 4px 12px #4caf5026}.auth-success-container mat-icon{font-size:18px;width:18px;height:18px;margin-right:8px;color:#4caf50}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}::ng-deep .mat-mdc-form-field-error{display:none!important}::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .mat-mdc-form-field{margin-bottom:8px}::ng-deep .mat-mdc-form-field .mat-mdc-form-field-flex{border-radius:12px}.login-btn{width:100%;height:52px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;box-shadow:0 4px 16px #667eea66;transition:all .3s ease;text-transform:none;letter-spacing:.5px}.login-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:translateY(-1px);box-shadow:0 6px 20px #667eea80}.login-btn:disabled{background:#ccc;color:#666;cursor:not-allowed;box-shadow:none;transform:none}.login-btn mat-icon{font-size:20px;width:20px;height:20px}.login-links{text-align:center;margin-top:24px}.forgot-password-link{color:#667eea;text-decoration:none;font-size:14px;display:block;margin-bottom:16px;font-weight:500;transition:color .3s ease}.forgot-password-link:hover{color:#5a6fd8;text-decoration:underline}.signup-text{color:#666;font-size:14px;margin:0}.signup-link{color:#667eea;text-decoration:none;font-weight:600;transition:color .3s ease}.signup-link:hover{color:#5a6fd8;text-decoration:underline}.google-signin-container{display:flex;justify-content:center;align-items:center;width:100%;margin-bottom:24px}.google-signin-btn{width:200px;height:auto;background:transparent!important;border:none!important;padding:0!important;margin:0;cursor:pointer;transition:transform .3s ease;display:block;overflow:hidden;box-shadow:none!important}.google-signin-btn:hover:not(:disabled){transform:translateY(-1px);background:transparent!important;box-shadow:none!important}.google-signin-btn:focus{outline:none!important;box-shadow:none!important;background:transparent!important}.google-signin-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.google-signin-image{width:100%;height:auto;display:block;border-radius:6px;border:none;outline:none;box-shadow:none}.google-signin-btn .mat-button-ripple,.google-signin-btn .mat-ripple-element,.google-signin-btn .mat-button-focus-overlay{display:none!important}.divider-container{display:flex;align-items:center;margin:24px 0;gap:16px}.divider-line{flex:1;height:1px;border:none;background:linear-gradient(90deg,transparent 0%,#e0e0e0 50%,transparent 100%)}.divider-text{font-size:14px;color:#666;font-weight:500;padding:0 8px}@media (max-width: 1024px){.login-container{flex-direction:column}.hero-section{flex:0 0 auto;padding:40px 20px}.form-section{flex:1;border-left:none;border-top:1px solid rgba(255,255,255,.1);padding:30px 20px}.brand-title{font-size:2.5rem}.hero-sloth{height:140px}.hero-title{font-size:2rem}.hero-subtitle{font-size:1.1rem}}@media (max-width: 768px){.hero-section{padding:30px 16px}.form-section{padding:20px 16px}.brand-header{flex-direction:column;gap:8px;margin-bottom:30px}.brand-logo{height:50px}.brand-title{font-size:2rem}.hero-sloth{height:120px}.hero-title{font-size:1.8rem}.hero-subtitle{font-size:1rem}.login-card mat-card-content{padding:30px 24px}.form-title{font-size:1.5rem}}@media (max-width: 480px){.hero-section{padding:20px 12px}.form-section{padding:16px 12px}.brand-title{font-size:1.8rem}.hero-sloth{height:100px}.hero-title{font-size:1.6rem}.hero-subtitle{font-size:.95rem}.login-card mat-card-content{padding:24px 20px}.form-title{font-size:1.3rem}}
