@import"https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;700;800&family=Poppins:wght@400;500;600;700;800&display=swap";:root{--olive: #5a6e2e;--olive-dark: #4a5c24;--olive-mid: #6b7f3a;--cream: #f5f8e8;--cream-input: #f0f4dc;--black: #111111;--white: #ffffff;--orange: #e8720c;--text-muted: #7a8a50;--text-dark: #3d4f1c;--error: #c0392b;--radius: 14px;--radius-sm: 10px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:Poppins,sans-serif;background:var(--olive);color:var(--text-dark);-webkit-font-smoothing:antialiased}.auth-layout{display:flex;min-height:100vh}.auth-left{flex:0 0 50%;background:var(--olive);display:flex;flex-direction:column;justify-content:center;padding:60px 80px}.auth-right{flex:1;background:var(--cream);border-radius:32px 0 0 32px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;position:relative}.brand-logo{width:220px;height:auto;margin-bottom:28px}.brand-name{font-family:"Baloo 2",sans-serif;font-size:64px;font-weight:900;color:var(--olive-dark);letter-spacing:-1px;line-height:1;margin-bottom:12px}.brand-tagline{font-size:18px;font-weight:600;color:var(--olive-dark);font-style:italic}.form-group{display:flex;flex-direction:column;gap:50px;width:100%;max-width:440px}.form-row{display:flex;gap:12px}.form-row .input-wrap{flex:1}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap svg,.input-wrap .input-icon{position:absolute;left:18px;width:22px;height:22px;color:var(--text-muted);pointer-events:none;flex-shrink:0}.input-wrap input{width:100%;padding:18px 18px 18px 52px;background:var(--cream-input);border:2px solid transparent;border-radius:var(--radius);font-family:Poppins,sans-serif;font-size:15px;font-weight:600;color:var(--text-dark);outline:none;transition:border-color .2s,box-shadow .2s}.input-wrap input::placeholder{color:var(--text-muted);font-weight:600}.input-wrap input:focus{border-color:var(--olive-mid);box-shadow:0 0 0 4px #5a6e2e1f}.input-wrap input.ng-invalid.ng-touched{border-color:var(--error)}.subdomain-row{display:flex;align-items:center;gap:0}.subdomain-row .input-wrap{flex:1}.subdomain-row .input-wrap input{border-radius:var(--radius) 0 0 var(--radius)}.subdomain-suffix{background:var(--cream-input);border:2px solid transparent;border-left:none;padding:18px 16px;border-radius:0 var(--radius) var(--radius) 0;font-size:15px;font-weight:700;color:var(--olive-dark);white-space:nowrap;line-height:1.5}.btn-primary{width:100%;padding:18px;background:var(--black);color:var(--white);border:none;border-radius:var(--radius);font-family:Poppins,sans-serif;font-size:18px;font-weight:800;cursor:pointer;transition:background .2s,transform .1s;letter-spacing:.3px}.btn-primary:hover:not(:disabled){background:#2a2a2a}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-google{width:64px;height:64px;background:var(--white);border:2px solid #e0e0e0;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:box-shadow .2s,transform .1s}.divider{display:flex;align-items:center;gap:12px;color:var(--cream-input);font-size:13px;font-weight:700;letter-spacing:1px}.divider-line{flex:1;height:1px;background:var(--cream-input);opacity:.6}.auth-link{font-size:15px;font-weight:600;color:var(--cream-input);text-align:center}.auth-link a{color:var(--cream);font-weight:800;text-decoration:underline;cursor:pointer}.forgot-link{text-align:right;margin-top:-6px}.forgot-link a{font-size:14px;font-weight:700;color:var(--cream-input);text-decoration:underline;cursor:pointer}.error-banner{background:#c0392b26;border:1.5px solid var(--error);border-radius:var(--radius-sm);padding:12px 16px;font-size:13px;font-weight:700;color:#ff6b5b;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block;vertical-align:middle}@media (max-width: 768px){.auth-layout{flex-direction:column}.auth-left{flex:none;padding:40px 32px 32px;align-items:center;text-align:center}.auth-right{border-radius:32px 32px 0 0;padding:40px 32px}.brand-name{font-size:40px}}
