:root{--gold:#d3a63b;--blue:#2b65c9;--red:#b21f1f;--btn-a:var(--gold);--btn-b:var(--red);--btn-c:var(--blue);--bar-a:var(--gold);--bar-b:var(--blue);--bar-c:var(--red);--rx:50%;--ry:50%;--bg-speed:18s;--bg-pos-x:0%;--bg-pos-y:40%;--bg-color:#f0f2f5;--bg-gradient-1:#d3a63b66;--bg-gradient-2:#2b65c92e;--bg-gradient-3:#b21f1f24;--card-bg:#fff;--card-border:#11182714;--card-shadow:none;--text-main:#111827;--text-muted:#4b5563;--text-placeholder:#9ca3af;--input-bg:#fbfbfc;--input-border:#e5e7eb;--input-icon:#6b7280;--toggle-bg:#fff9;--toggle-border:#ffffff80;--toggle-text:#4b5563;--net-node:#111827bf;--net-link:#1118274d;--net-glow:#2b65c959;--auth-km-font:"Kantumruy Pro", sans-serif}[data-theme=dark]{--bg-color:#0f172a;--bg-gradient-1:#d3a63b26;--bg-gradient-2:#2b65c926;--bg-gradient-3:#b21f1f26;--card-bg:#1e293b;--card-border:#ffffff14;--card-shadow:none;--text-main:#f3f4f6;--text-muted:#9ca3af;--text-placeholder:#64748b;--input-bg:#0f172a;--input-border:#334155;--input-icon:#94a3b8;--toggle-bg:#1e293bcc;--toggle-border:#ffffff1a;--toggle-text:#cbd5e1;--net-node:#e2e8f0d9;--net-link:#e2e8f04d;--net-glow:#d3a63b4d}.auth-page,.auth-page *{box-sizing:border-box}.auth-page{min-height:100vh;min-height:100svh;color:var(--text-main);background-color:var(--bg-color);margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;transition:background-color .3s,color .3s;overflow-x:hidden}.auth-page .auth-bg{z-index:-3;background:radial-gradient(circle at 22% 18%, var(--bg-gradient-1), transparent 50%), radial-gradient(circle at 78% 20%, var(--bg-gradient-2), transparent 60%), radial-gradient(circle at 70% 82%, var(--bg-gradient-3), transparent 70%);background-size:120% 120%;background-position:var(--bg-pos-x,0%) var(--bg-pos-y,40%);animation:authBgMove var(--bg-speed,18s) ease-in-out infinite;transition:background .3s;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes authBgMove{0%{background-position:0 40%}50%{background-position:100% 60%}to{background-position:0 40%}}#netCanvas{z-index:-2;pointer-events:none;width:100vw;height:100vh;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.auth-theme-toggle{z-index:100;background:var(--toggle-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--toggle-border);border-radius:50px;align-items:center;gap:10px;padding:8px 16px;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 4px 12px #0000000d}.auth-theme-label{color:var(--toggle-text);font-size:13px;font-weight:700}.auth-theme-switch{width:44px;height:24px;display:inline-block;position:relative}.auth-theme-switch input{opacity:0;width:0;height:0}.auth-theme-slider{cursor:pointer;background-color:#cbd5e1;border-radius:34px;transition:all .4s;position:absolute;top:0;bottom:0;left:0;right:0}.auth-theme-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:3px;left:3px;box-shadow:0 2px 4px #0003}.auth-theme-switch input:checked+.auth-theme-slider{background-color:var(--blue)}.auth-theme-switch input:checked+.auth-theme-slider:before{transform:translate(20px)}.auth-wrap{min-height:100vh;justify-content:center;align-items:center;width:100%;min-height:100svh;padding:20px;display:flex}.auth-card{background:var(--card-bg);width:100%;max-width:480px;box-shadow:var(--card-shadow);border:1px solid var(--card-border);border-radius:24px;margin:0 auto;transition:background .3s,border .3s,box-shadow .3s;position:relative;overflow:hidden}.auth-card:before{content:"";background:linear-gradient(90deg, var(--gold), var(--blue), var(--red), var(--gold));background-size:200% 200%;width:100%;height:5px;animation:5s linear infinite authBar;position:absolute;top:0;left:0}.auth-card:after{content:"";background:linear-gradient(90deg, var(--bar-a), var(--bar-b), var(--bar-c), var(--bar-a));background-size:200% 200%;width:100%;height:5px;animation:5s linear infinite authBarReverse;position:absolute;bottom:0;left:0}@keyframes authBar{0%{background-position:0%}to{background-position:100%}}@keyframes authBarReverse{0%{background-position:100%}to{background-position:0%}}.auth-inner{padding:32px 34px 24px}.auth-brand{text-align:center;font-family:var(--auth-km-font);color:#000}.auth-heading{color:#000;flex-direction:column;gap:8px;margin-top:6px;display:flex}.auth-logo{-o-object-fit:contain;object-fit:contain;width:3.5cm;height:auto;margin:0 auto 8px;animation:3.2s ease-in-out infinite authFloat;display:block}@keyframes authFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.auth-title{letter-spacing:0;color:#000;font-size:26px;font-weight:900;line-height:1.35}.auth-subtitle{color:#000;font-size:20px;font-weight:800;line-height:1.35}.auth-org-line{color:#000;font-size:15.5px;font-weight:600;line-height:1.45}.auth-name{color:var(--blue);font-size:1.18em;font-weight:800}.auth-form{margin-top:18px}.institution-step{text-align:center;padding:8px 0 4px}.institution-step-header{max-width:390px;margin:0 auto 24px}.institution-step-badge{background:color-mix(in srgb, var(--blue) 10%, transparent);border:1px solid color-mix(in srgb, var(--blue) 20%, transparent);color:var(--blue);font-family:var(--auth-km-font);border-radius:999px;align-items:center;gap:7px;margin-bottom:16px;padding:6px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.institution-step-heading{color:var(--text-main);font-family:var(--auth-km-font);letter-spacing:-.02em;margin:0 0 8px;font-size:1.55rem;font-weight:800;line-height:1.35}.cascade-field[hidden]{display:none}.institution-step-copy{color:var(--text-muted);font-family:var(--auth-km-font);margin:0;font-size:.9rem;line-height:1.65}.location-detect-btn{background:color-mix(in srgb, var(--blue) 7%, var(--input-bg));border:1.5px solid color-mix(in srgb, var(--blue) 28%, var(--input-border));color:var(--blue);cursor:pointer;font-family:var(--auth-km-font);border-radius:13px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:9px 16px;font-size:.9rem;font-weight:700;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.location-detect-btn:hover{background:color-mix(in srgb, var(--blue) 13%, var(--input-bg));border-color:var(--blue);transform:translateY(-1px)}.location-detect-btn:disabled{cursor:wait;opacity:.7;transform:none}.location-spinner{border:2px solid color-mix(in srgb, var(--blue) 25%, transparent);border-top-color:var(--blue);border-radius:50%;width:15px;height:15px;display:none}.location-detect-btn.is-loading .location-spinner{animation:.75s linear infinite authSpin;display:inline-block}.location-status{font-family:var(--auth-km-font);border-radius:10px;margin-top:10px;padding:8px 11px;font-size:.82rem;font-weight:600;line-height:1.5}.location-status.is-loading{background:color-mix(in srgb, var(--blue) 8%, transparent);color:var(--blue)}.location-status.is-success{color:#15803d;background:#22c55e1a}.location-status.is-error{color:#b91c1c;background:#ef44441a}.institution-divider{color:var(--text-placeholder);font-family:var(--auth-km-font);align-items:center;gap:10px;margin:18px 0;font-size:.75rem;display:flex}.institution-divider:before,.institution-divider:after{background:var(--input-border);content:"";flex:1;height:1px}.institution-step .auth-field{margin-bottom:16px}.institution-step .auth-btn{margin-top:6px}.selected-institution-row{background:color-mix(in srgb, var(--input-bg) 88%, var(--gold));border:1px solid var(--input-border);color:var(--text-muted);font-family:var(--auth-km-font);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:8px 12px;font-size:.85rem;font-weight:600;display:flex}.change-institution-btn{color:var(--blue);cursor:pointer;font-family:var(--auth-km-font);background:0 0;border:0;padding:4px 6px;font-weight:700}.change-institution-btn:hover{text-decoration:underline}.auth-field{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.auth-label{color:var(--text-main);text-align:left;text-transform:uppercase;font-size:13.5px;font-weight:800;line-height:1}.auth-control{position:relative}.auth-icon{color:var(--input-icon);pointer-events:none;font-size:16px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.auth-input{border:1.8px solid var(--input-border);background:var(--input-bg);width:100%;height:48px;color:var(--text-main);border-radius:14px;padding:0 46px 0 44px;font-size:15.5px;font-weight:700;transition:all .3s}.auth-input::placeholder{color:var(--text-placeholder);font-weight:600}.auth-input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 4px #d3a63b26}.institution-step .select2-container .select2-selection--single{background:var(--input-bg);border:1.8px solid var(--input-border);border-radius:14px;align-items:center;height:48px;transition:border-color .2s,box-shadow .2s;display:flex}.institution-step .select2-container--focus .select2-selection--single,.institution-step .select2-container--open .select2-selection--single{border-color:var(--gold);box-shadow:0 0 0 4px #d3a63b26}.institution-step .select2-selection__rendered{font-family:var(--auth-km-font);font-size:15.5px;font-weight:700;color:var(--text-main)!important;padding-left:44px!important;padding-right:48px!important;line-height:normal!important}.institution-step .select2-selection__placeholder{color:var(--text-placeholder)!important}.institution-step .select2-selection__arrow{height:46px!important;right:12px!important}.institution-step .select2-selection__clear{color:var(--text-muted);margin-right:24px;font-size:20px}.select2-dropdown{background:var(--card-bg);border:1px solid var(--input-border);z-index:1100;border-radius:12px;overflow:hidden;box-shadow:0 14px 35px #0f172a33}.select2-container--default .select2-search--dropdown{padding:10px}.select2-container--default .select2-search--dropdown .select2-search__field{background:var(--input-bg);border:1.5px solid var(--input-border);color:var(--text-main);font-family:var(--auth-km-font);border-radius:9px;outline:none;padding:9px 11px}.select2-container--default .select2-search--dropdown .select2-search__field:focus{border-color:var(--gold)}.select2-container--default .select2-results__options{max-height:240px}.select2-container--default .select2-results__option{color:var(--text-main);font-family:var(--auth-km-font);padding:9px 12px}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,.select2-container--default .select2-results__option--selected{background:linear-gradient(90deg, var(--btn-a), var(--btn-b));color:#fff}[data-theme=dark] .select2-dropdown,[data-theme=dark] .select2-container--default .select2-search--dropdown .select2-search__field{background:var(--input-bg)}.auth-input:-webkit-autofill{-webkit-text-fill-color:var(--text-main);-webkit-box-shadow:0 0 0 1000px var(--input-bg) inset;transition:background-color 9999s ease-in-out}.auth-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-main);-webkit-box-shadow:0 0 0 1000px var(--input-bg) inset;transition:background-color 9999s ease-in-out}.auth-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-main);-webkit-box-shadow:0 0 0 1000px var(--input-bg) inset;transition:background-color 9999s ease-in-out}.auth-toggle-pass{cursor:pointer;width:36px;height:36px;color:var(--input-icon);background:0 0;border:none;border-radius:10px;place-items:center;transition:background .2s,color .2s;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.auth-toggle-pass:hover{color:var(--text-main);background:#0000000f}[data-theme=dark] .auth-toggle-pass:hover{background:#ffffff14}.auth-actions{color:var(--text-muted);justify-content:space-between;align-items:center;margin:10px 0 16px;font-size:13.5px;font-weight:700;display:flex}.auth-remember{-webkit-user-select:none;user-select:none;cursor:pointer;align-items:center;gap:8px;display:flex}.auth-remember input{width:16px;height:16px;accent-color:var(--gold);cursor:pointer}.auth-link{color:var(--red);font-weight:900;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-btn{-webkit-user-select:none;user-select:none;cursor:pointer;color:#fff;letter-spacing:.5px;background:linear-gradient(120deg, var(--btn-a), var(--btn-b), var(--btn-c), var(--btn-a));background-size:300% 300%;border:none;border-radius:14px;width:100%;height:48px;font-weight:900;transition:transform .12s,box-shadow .2s,filter .2s;position:relative;overflow:hidden;box-shadow:0 14px 30px #00000040}.auth-btn:hover{filter:saturate(1.3)contrast(1.1);animation:2s linear infinite authBtnGradient;transform:translateY(-1.5px);box-shadow:0 18px 36px #00000059,0 0 18px #ffffff59}.auth-btn:active{transform:scale(.97)}@keyframes authBtnGradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.auth-btn.is-loading{cursor:not-allowed;opacity:.92;animation:1.2s linear infinite authBtnGradient}.auth-btn .auth-spinner{opacity:0;border:2px solid #ffffff59;border-top-color:#fffffff2;border-radius:999px;width:18px;height:18px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.auth-btn.is-loading .auth-spinner{opacity:1;animation:.75s linear infinite authSpin}@keyframes authSpin{to{transform:translateY(-50%)rotate(360deg)}}.auth-alert{border:1px solid #0000;border-radius:14px;align-items:flex-start;margin-bottom:12px;padding:12px;font-size:13.5px;font-weight:700;display:flex}.auth-alert-danger{color:#be123c;background:#fecad333;border-color:#fecdd380}.auth-alert-success{color:#15803d;background:#bbf7d033;border-color:#bbf7d080}.auth-foot{text-align:center;color:var(--text-muted);margin-top:14px;font-size:13.5px;font-weight:600}.auth-meta{text-align:center;font-family:var(--auth-km-font);color:#000;flex-direction:column;gap:8px;margin-top:20px;display:flex}.auth-meta-line{color:#000;font-size:14.5px;font-weight:600;line-height:1.45}.auth-meta-link{color:#229ed9;align-items:center;gap:4px;margin-left:4px;font-size:14.5px;font-weight:800;text-decoration:none;display:inline-flex}.auth-meta-link:hover{text-decoration:underline}[data-theme=dark] .auth-brand,[data-theme=dark] .auth-heading,[data-theme=dark] .auth-title,[data-theme=dark] .auth-subtitle,[data-theme=dark] .auth-org-line,[data-theme=dark] .auth-meta,[data-theme=dark] .auth-meta-line{color:var(--text-main)}[data-theme=dark] .auth-name{color:#60a5fa}@media (max-width:480px){.auth-wrap{padding:14px 10px}.auth-inner{padding:26px 20px 20px}.auth-logo{width:3.5cm}.institution-step-header{margin-bottom:20px}.institution-step-heading{font-size:1.35rem}.institution-step-copy{font-size:.85rem}}@media (prefers-reduced-motion:reduce){.auth-bg,.auth-logo,.auth-card:before,.auth-card:after,.auth-btn{animation:none!important}}
