:root{--color-deep-emerald:#062f1f;--color-emerald-dark:#0a1f16;--color-emerald-glow:#10b98133;--color-gold:#fbbf24;--color-gold-glow:#fbbf244d;--color-cream:#fdfbf7;--color-white:#fff;--color-text-primary:#0f172a;--color-text-secondary:#64748b;--color-border:#e2e8f0;--color-input-bg:#f8fafc;--color-success:#10b981;--color-error:#ef4444;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Fraunces", Georgia, serif;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-glow:0 0 32px #fbbf2433}*{box-sizing:border-box}.auth-container{background:var(--color-cream);min-height:100vh;font-family:var(--font-body);grid-template-columns:1fr;display:grid;position:relative;overflow:hidden}@media (min-width:768px){.auth-container{grid-template-columns:280px 1fr}}@media (min-width:1024px){.auth-container{grid-template-columns:380px 1fr}}@media (min-width:1280px){.auth-container{grid-template-columns:480px 1fr}}.auth-left-panel{background:linear-gradient(165deg, var(--color-deep-emerald) 0%, var(--color-emerald-dark) 100%);flex-direction:column;justify-content:center;align-items:center;padding:2rem 1rem;position:relative;overflow:hidden;box-shadow:inset -1px 0 #ffffff0d;display:none!important}@media (min-width:768px){.auth-left-panel{display:flex!important}}.auth-left-panel:before{content:"";pointer-events:none;z-index:1;background:radial-gradient(#0000 0%,#0000004d 100%);position:absolute;inset:0}.auth-left-panel:after{content:"";background:radial-gradient(circle, var(--color-emerald-glow) 0%, transparent 70%);pointer-events:none;z-index:2;border-radius:50%;width:400px;height:400px;animation:20s ease-in-out infinite float;position:absolute;top:-200px;right:-200px}@keyframes float{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(30px,-30px)rotate(120deg)}66%{transform:translate(-20px,20px)rotate(240deg)}}@media (min-width:1024px){.auth-left-panel{justify-content:space-between;padding:3rem 2.5rem}}.panel-header{z-index:10;width:100%;display:none;position:relative}@media (min-width:1024px){.panel-header{justify-content:space-between;align-items:flex-start;display:flex}}.back-link{color:#ffffffb3;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.back-link:hover{color:#fff;transform:translate(-2px)}.nigeria-badge{letter-spacing:.05em;-webkit-backdrop-filter:blur(16px);background:#ffffff14;border:1px solid #ffffff1f;border-radius:24px;padding:.5rem 1rem;font-size:.75rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #0000001a,inset 0 1px #ffffff1a}.nigeria-badge:hover{background:#ffffff1f;transform:translateY(-1px)}.panel-content{text-align:center;z-index:10;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.5rem;width:100%;display:flex;position:relative}@media (min-width:1024px){.panel-content{gap:2.5rem}}.nigeria-map-container{aspect-ratio:1;justify-content:center;align-items:center;width:100%;max-width:80px;margin:0 auto;animation:1s ease-out forwards mapFadeIn;display:flex;position:relative}@media (min-width:640px){.nigeria-map-container{max-width:140px}}@media (min-width:768px){.nigeria-map-container{max-width:200px}}@media (min-width:1024px){.nigeria-map-container{max-width:260px}}@media (min-width:1280px){.nigeria-map-container{max-width:320px}}@keyframes mapFadeIn{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.nigeria-map-image{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 8px 32px #fbbf244d)drop-shadow(0 0 48px #fbbf2433);width:100%;height:100%;display:block}.city-dots-overlay{pointer-events:none;width:100%;height:100%;display:none;position:absolute;top:0;left:0}.city-dot{fill:var(--color-gold);animation:2.5s ease-in-out infinite cityPulse}@keyframes cityPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.panel-headline{font-family:var(--font-display);color:#fff;text-shadow:0 2px 12px #0000004d;margin:0;font-size:1rem;font-weight:500;line-height:1.4;display:none!important}@media (min-width:768px){.panel-headline{font-size:1.5rem;display:block!important}}@media (min-width:1024px){.panel-headline{font-size:1.875rem;font-weight:400;line-height:1.3}}@media (min-width:1280px){.panel-headline{font-size:2.25rem}}.panel-subhead{color:#fffc;margin:0;font-size:.875rem;font-weight:400;line-height:1.6;display:none!important}@media (min-width:768px){.panel-subhead{font-size:1rem;display:block!important}}@media (min-width:1024px){.panel-subhead{font-size:1.0625rem}}.stats-row{grid-template-columns:repeat(3,1fr);gap:.75rem;width:100%;margin-top:1rem;display:none!important}@media (min-width:768px){.stats-row{gap:1rem;display:grid!important}}.stat{-webkit-backdrop-filter:blur(20px);text-align:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;padding:1rem .75rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000001a,inset 0 1px #ffffff14}.stat:hover{background:#ffffff1a;border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 8px 20px #00000026,inset 0 1px #ffffff1f}.stat-value{font-family:var(--font-display);color:var(--color-gold);text-shadow:0 2px 8px var(--color-gold-glow);margin-bottom:.25rem;font-size:1rem;font-weight:600}@media (min-width:768px){.stat-value{font-size:1.125rem}}@media (min-width:1024px){.stat-value{font-size:1.25rem}}.stat-label{color:#ffffffbf;text-transform:uppercase;letter-spacing:.05em;font-size:.625rem;font-weight:500}@media (min-width:768px){.stat-label{font-size:.6875rem}}@media (min-width:1024px){.stat-label{font-size:.75rem}}.panel-divider{background:linear-gradient(90deg,#0000,#ffffff26,#0000);width:100%;height:1px;margin-top:auto;display:block}.auth-right-panel{background:var(--color-cream);justify-content:center;align-items:center;min-height:100vh;padding:1.25rem;display:flex;overflow-y:auto}@media (min-width:640px){.auth-right-panel{padding:1.75rem}}@media (min-width:768px){.auth-right-panel{padding:2.5rem}}@media (min-width:1280px){.auth-right-panel{padding:4rem 3rem}}.form-container{-webkit-backdrop-filter:blur(24px);background:#ffffffb3;border:1px solid #fffc;border-radius:32px;width:100%;max-width:500px;padding:2.5rem 1.5rem;animation:.6s ease-out .2s backwards formFadeIn;box-shadow:0 20px 60px #0000001f,0 0 0 1px #00000005,inset 0 1px #ffffffe6}@media (min-width:640px){.form-container{padding:3rem 2.5rem}}@media (min-width:768px){.form-container{-webkit-backdrop-filter:none;max-width:520px;box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}}@keyframes formFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.logo-tile{background:linear-gradient(135deg, var(--color-deep-emerald) 0%, #0a3a28 100%);-webkit-backdrop-filter:blur(20px);border:1px solid #10b9814d;border-radius:24px;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 2rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 8px 32px #062f1f4d,0 0 0 1px #00000005,inset 0 1px #fff3}.logo-tile:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 12px 48px #062f1f66,0 0 0 1px #00000008,inset 0 1px #ffffff4d}.form-title{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.02em;text-align:center;margin:0 0 .75rem;font-size:2rem;font-weight:500;line-height:1.2}@media (min-width:768px){.form-title{font-size:2.5rem}}.form-subtitle{color:var(--color-text-secondary);text-align:center;margin:0 0 2.5rem;font-size:1rem;font-weight:400;line-height:1.5}.tab-toggle{-webkit-backdrop-filter:blur(16px);background:#f8fafc99;border:1px solid #e2e8f099;border-radius:50px;margin-bottom:2rem;padding:.5rem;display:flex;box-shadow:inset 0 1px 3px #0000000f,0 2px 8px #0000000a}.tab-toggle button{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50px;flex:1;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.tab-toggle button.active{color:var(--color-text-primary);background:#fffffff2;box-shadow:0 2px 8px #00000014,0 0 0 1px #00000005,inset 0 1px #fff}.tab-toggle button:hover:not(.active){color:var(--color-text-primary);background:#ffffff80}.oauth-notice{-webkit-backdrop-filter:blur(16px);background:linear-gradient(135deg,#10b98114 0%,#10b9810a 100%);border:1px solid #10b98133;border-radius:20px;margin-bottom:1.5rem;padding:1rem 1.25rem;box-shadow:0 4px 12px #10b98114,inset 0 1px #ffffff80}.oauth-notice-title{color:var(--color-text-primary);margin:0 0 .375rem;font-size:.9375rem;font-weight:600}.oauth-notice-text{color:var(--color-text-secondary);margin:0;font-size:.875rem;line-height:1.5}.role-selector{margin-bottom:2rem}.role-label{color:var(--color-text-primary);margin-bottom:1rem;font-size:.9375rem;font-weight:600;display:block}.role-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.role-card{-webkit-backdrop-filter:blur(16px);text-align:center;cursor:pointer;background:#fff9;border:1.5px solid #e2e8f099;border-radius:20px;flex-direction:column;align-items:center;padding:1.25rem .75rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000a,inset 0 1px #fffc}.role-card:before{content:"";opacity:0;background:linear-gradient(135deg,#0000 0%,#10b9810d 100%);transition:opacity .3s;position:absolute;inset:0}.role-card:hover{background:#fffc;border-color:#062f1f4d;transform:translateY(-2px);box-shadow:0 8px 24px #00000014,inset 0 1px #fff}.role-card:hover:before{opacity:1}.role-card.selected{border-color:var(--color-deep-emerald);background:linear-gradient(135deg,#10b9811f 0%,#fffffff2 100%);border-width:2px;box-shadow:0 8px 32px #062f1f26,0 0 0 4px #10b9811f,inset 0 1px #fff}.role-icon{width:1.75rem;height:1.75rem;color:var(--color-text-secondary);margin-bottom:.75rem;transition:all .2s}.role-card.selected .role-icon{color:var(--color-deep-emerald);transform:scale(1.1)}.role-name{color:var(--color-text-primary);margin-bottom:.25rem;font-size:.9375rem;font-weight:600}.role-desc{color:var(--color-text-secondary);font-size:.8125rem}.auth-form{flex-direction:column;gap:1.25rem;margin-bottom:1.5rem;display:flex}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-group label{color:var(--color-text-primary);font-size:.9375rem;font-weight:600}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{width:1.25rem;height:1.25rem;color:var(--color-text-secondary);pointer-events:none;z-index:1;transition:color .3s;position:absolute;left:1.25rem}.input-wrapper:focus-within .input-icon{color:var(--color-deep-emerald)}.input-wrapper input{width:100%;height:56px;font-size:1rem;font-family:var(--font-body);color:var(--color-text-primary);-webkit-backdrop-filter:blur(16px);background:#ffffffb3;border:1.5px solid #e2e8f099;border-radius:50px;padding:0 1.25rem 0 3.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a,inset 0 1px #fffc}.input-wrapper input:hover{background:#ffffffd9;border-color:#062f1f4d}.input-wrapper input:focus{border-color:var(--color-deep-emerald);background:#fffffff2;outline:none;box-shadow:0 0 0 4px #10b9811f,0 4px 16px #00000014,inset 0 1px #fff}.input-wrapper input::placeholder{color:var(--color-text-secondary);opacity:.6}.toggle-password{-webkit-backdrop-filter:blur(8px);color:var(--color-text-secondary);cursor:pointer;z-index:1;background:#f8fafccc;border:none;border-radius:50px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex;position:absolute;right:1.25rem}.toggle-password:hover{color:var(--color-text-primary);background:#f8fafc;box-shadow:0 2px 8px #00000014}.btn-primary{background:linear-gradient(135deg, var(--color-deep-emerald) 0%, #0a3a28 100%);color:#fff;width:100%;height:56px;font-size:1rem;font-weight:600;font-family:var(--font-body);cursor:pointer;border:none;border-radius:50px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 16px #062f1f4d,0 8px 32px #062f1f26,inset 0 1px #ffffff26}.btn-primary:before{content:"";opacity:0;background:linear-gradient(135deg,#0000 0%,#ffffff26 100%);transition:opacity .3s;position:absolute;inset:0}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #062f1f66,0 12px 48px #062f1f33,inset 0 1px #fff3}.btn-primary:hover:not(:disabled):before{opacity:1}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary,.btn-google{-webkit-backdrop-filter:blur(16px);width:100%;height:56px;color:var(--color-text-primary);font-size:1rem;font-weight:600;font-family:var(--font-body);cursor:pointer;background:#ffffffb3;border:1.5px solid #e2e8f099;border-radius:50px;justify-content:center;align-items:center;gap:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 8px #0000000a,inset 0 1px #fffc}.btn-secondary:hover,.btn-google:hover:not(:disabled){background:#fffffff2;border-color:#0f172a4d;transform:translateY(-2px);box-shadow:0 8px 24px #00000014,inset 0 1px #fff}.btn-google:disabled{opacity:.6;cursor:not-allowed}.divider{text-align:center;margin:1.5rem 0;position:relative}.divider:before{content:"";background:var(--color-border);height:1px;position:absolute;top:50%;left:0;right:0}.divider span{background:var(--color-cream);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:0 1rem;font-size:.8125rem;font-weight:500;display:inline-block;position:relative}.error-message{-webkit-backdrop-filter:blur(16px);color:var(--color-error);background:linear-gradient(135deg,#ef444414 0%,#ef44440a 100%);border:1px solid #ef444440;border-radius:20px;padding:.875rem 1rem;font-size:.9375rem;line-height:1.5;box-shadow:0 4px 12px #ef444414,inset 0 1px #fff6}.form-footer{text-align:center;color:var(--color-text-secondary);margin-top:1.5rem;font-size:.9375rem}.form-footer .link{color:var(--color-deep-emerald);cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:none;transition:color .2s}.form-footer .link:hover{color:var(--color-emerald-dark);text-decoration:underline}.success-state{text-align:center;padding:2rem 0}.success-icon{width:4rem;height:4rem;color:var(--color-success);margin:0 auto 1.5rem}.success-title{font-family:var(--font-display);color:var(--color-text-primary);margin:0 0 1rem;font-size:2rem;font-weight:500}.success-message{color:var(--color-text-secondary);margin:0 0 2rem;font-size:1rem;line-height:1.6}.loading-spinner{border:4px solid var(--color-border);border-top-color:var(--color-deep-emerald);border-radius:50%;width:48px;height:48px;margin:auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:640px){.form-title{font-size:1.75rem}.logo-tile{width:64px;height:64px}.role-card{padding:1rem .5rem}.role-icon{width:1.5rem;height:1.5rem}.role-name{font-size:.875rem}.role-desc{font-size:.75rem}}@media (max-width:380px){.role-grid{grid-template-columns:1fr;gap:.75rem}.role-card{text-align:left;flex-direction:row;gap:1rem;padding:1rem}.role-icon{flex-shrink:0;margin-bottom:0}}
