.auth-wrapper{min-height:calc(100dvh - 80px);padding:var(--spacing-xl);background:radial-gradient(circle at 100% 0,#fef4ea,#0000 40%),#fafaf9 radial-gradient(circle at 0 100%,#eaf6fc,#0000 40%)}.auth-container{background:#fff;border-radius:20px;width:100%;max-width:440px;padding:3rem 2.5rem;transition:all .3s;box-shadow:0 10px 40px #0000000a,0 0 0 1px #00000005}.auth-header{margin-bottom:2rem}.auth-logo{background:0 0;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 1.5rem;animation:6s ease-in-out infinite float;display:flex;box-shadow:0 8px 24px #f9731626}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.auth-title{letter-spacing:-.02em;background:linear-gradient(135deg,#f97316 0%,#fbbf24 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2rem;font-weight:800}.auth-subtitle{color:#6b7280;font-size:.95rem}.auth-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:12px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:1rem;font-size:.9rem;animation:.3s ease-out forwards slideIn;display:flex}.auth-form{gap:1.2rem}.input-group{width:100%;position:relative}.auth-input{color:#1f2937;background:#eef2f6;border:2px solid #0000;border-radius:12px;outline:none;width:100%;padding:1rem 1rem 1rem 1.25rem;font-size:1rem;font-weight:500;transition:all .2s}.auth-input:hover{background:#e8ecf1}.auth-input:focus{background:#eef2f6;border-color:#f97316}.auth-label{color:#9ca3af;pointer-events:none;background:0 0;padding:0 .25rem;font-size:1rem;font-weight:400;transition:all .2s;position:absolute;top:50%;left:1.25rem;transform:translateY(-50%)}.auth-input:focus~.auth-label,.auth-input:not(:placeholder-shown)~.auth-label{color:#4b5563;background:#fff;border-radius:4px;font-size:.8rem;top:-2px}.phone-prefix{color:#4b5563;pointer-events:none;opacity:0;font-size:1rem;font-weight:500;transition:opacity .2s;position:absolute;top:50%;left:1.25rem;transform:translateY(-50%)}.auth-input.has-prefix:focus~.phone-prefix,.auth-input.has-prefix:not(:placeholder-shown)~.phone-prefix{opacity:1}.auth-input.has-prefix:focus,.auth-input.has-prefix:not(:placeholder-shown){padding-left:3.25rem}.auth-input.has-suffix{padding-right:3.25rem}.password-toggle{color:#9ca3af;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex;position:absolute;top:50%;right:1.25rem;transform:translateY(-50%)}.password-toggle:hover{color:#4b5563}.auth-btn{color:#fff;background:#f97316;border:none;border-radius:12px;width:100%;margin-top:.5rem;padding:1rem;font-size:1.1rem;font-weight:600;box-shadow:0 4px 14px #f9731640}.auth-toggle-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;padding:0 .25rem;font-weight:600;transition:all .2s}.auth-toggle-btn:hover{color:#1f2937}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.auth-select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 1rem center;background-repeat:no-repeat;background-size:1em}.auth-select:invalid{color:#9ca3af}.auth-select option{color:#1f2937}@media (max-width:768px){.auth-wrapper{justify-content:center;align-items:center;min-height:calc(100dvh - 80px);padding:1rem .75rem 2rem;display:flex}.auth-container{border-radius:20px;width:100%;max-width:440px;margin:0 auto;padding:1.5rem 1rem}.auth-header{margin-bottom:.75rem}.auth-title{font-size:1.5rem}.auth-subtitle{font-size:.85rem}.auth-logo{width:48px;height:48px;margin-bottom:.5rem}}.dark-theme .auth-wrapper{background:0 0!important}.dark-theme .auth-container{-webkit-backdrop-filter:blur(20px)!important;background:#1e293b99!important;border:1px solid #ffffff0d!important;box-shadow:0 8px 32px #0000004d!important}.dark-theme .auth-logo{background:#ffffff0d!important;box-shadow:0 8px 24px #0006!important}.dark-theme .auth-title{background:linear-gradient(135deg,#fb923c 0%,#f97316 100%);-webkit-text-fill-color:transparent;color:#0000;text-shadow:0 4px 20px #f9731666;-webkit-background-clip:text}.dark-theme .auth-input{color:#f8fafc!important;background:#00000040!important;border:1px solid #ffffff1a!important;transition:all .3s!important;box-shadow:inset 0 2px 8px #0003!important}.dark-theme .auth-input:focus{background:#0006!important;border-color:#f9731699!important;box-shadow:inset 0 2px 8px #0000004d,0 0 15px #f9731626!important}.dark-theme .auth-input:hover{background:#00000059!important;border-color:#fff3!important}.dark-theme .auth-label{color:#94a3b8!important}.dark-theme .auth-input:focus~.auth-label,.dark-theme .auth-input:not(:placeholder-shown)~.auth-label{color:#fdba74!important;-webkit-backdrop-filter:blur(12px)!important;background:#0f172ae6!important;border:1px solid #f973164d!important;border-radius:6px!important;padding:.1rem .6rem!important;font-weight:600!important;top:0!important;transform:translateY(-50%)!important;box-shadow:0 2px 10px #0000004d!important}.dark-theme .password-toggle{color:#94a3b8!important}.dark-theme .password-toggle:hover,.dark-theme .phone-prefix{color:#cbd5e1!important}.dark-theme .auth-footer{color:#94a3b8!important}.dark-theme .auth-toggle-btn{color:#fb923c!important}.dark-theme .auth-toggle-btn:hover{color:#fdba74!important}.school-autocomplete-wrapper{position:relative}.school-suggestions-list{z-index:100;scrollbar-width:thin;scrollbar-color:#fed7aa transparent;background:#fff;border:1.5px solid #fed7aa;border-radius:14px;max-height:220px;margin:0;padding:.35rem;list-style:none;animation:.15s ease-out slideIn;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #f973161f,0 2px 8px #0000000f}.school-suggestions-list::-webkit-scrollbar{width:5px}.school-suggestions-list::-webkit-scrollbar-thumb{background:#fed7aa;border-radius:99px}.school-suggestion-item{cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .85rem;transition:background .15s,color .15s;display:flex}.school-suggestion-item:hover{background:#fff7ed}.school-suggestion-name{color:#1f2937;flex:1;font-size:.88rem;font-weight:500;line-height:1.35}.school-suggestion-code{color:#f97316;white-space:nowrap;background:#fff7ed;border-radius:6px;flex-shrink:0;padding:.1rem .4rem;font-size:.73rem;font-weight:600}.school-no-results{color:#6b7280;background:#f9fafb;border:1px dashed #d1d5db;border-radius:10px;margin-top:4px;padding:.55rem .85rem;font-size:.8rem}.school-confirmed-badge{color:#15803d;background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%);border:1.5px solid #bbf7d0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.45rem;padding:.45rem .75rem;font-size:.8rem;font-weight:600;animation:.2s ease-out slideIn;display:flex}.school-confirmed-badge svg{color:#22c55e;stroke:#22c55e;flex-shrink:0}.school-fetch-spinner{pointer-events:none;border:2.5px solid #fed7aa;border-top-color:#f97316;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}@keyframes spin{to{transform:translateY(-50%)rotate(360deg)}}.school-suggestion-meta{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.school-type-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:5px;padding:.1rem .38rem;font-size:.67rem;font-weight:700}.school-type-lp{color:#1d4ed8;background:#dbeafe}.school-type-up{color:#6d28d9;background:#ede9fe}.school-type-hs{color:#15803d;background:#dcfce7}.school-type-hss{color:#c2410c;background:#fff7ed}.school-type-vhss{color:#b91c1c;background:#fef2f2}.school-count-hint{color:#9ca3af;margin-top:.3rem;padding:0 .25rem;font-size:.76rem}.dark-theme .school-suggestions-list{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172af2!important;border-color:#f973164d!important;box-shadow:0 12px 32px #0006!important}.dark-theme .school-suggestion-item:hover{background:#f973161a!important}.dark-theme .school-suggestion-name{color:#f8fafc!important}.dark-theme .school-suggestion-code{color:#fb923c!important;background:#f9731626!important}.dark-theme .school-confirmed-badge{color:#86efac!important;background:#15803d1a!important;border-color:#22c55e4d!important}.dark-theme .school-no-results{color:#94a3b8!important;background:#ffffff0a!important;border-color:#ffffff1a!important}
