.feedback-overlay.svelte-1kzrpv7{z-index:500;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a85;position:fixed;inset:0}.feedback-modal.svelte-1kzrpv7{z-index:510;background:#fff;border-radius:16px;width:min(92vw,440px);animation:.18s ease-out svelte-1kzrpv7-feedback-in;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 24px 70px #0f172a57}.feedback-head.svelte-1kzrpv7{color:#fff;text-align:center;justify-items:center;gap:14px;padding:30px 26px 26px;display:grid}.feedback-icon.svelte-1kzrpv7{border:4px solid #fffffff2;border-radius:999px;place-items:center;width:78px;height:78px;display:grid}.feedback-head.svelte-1kzrpv7 h2:where(.svelte-1kzrpv7){letter-spacing:0;margin:0;font-size:1.08rem;font-weight:760}.feedback-body.svelte-1kzrpv7{text-align:center;justify-items:center;gap:22px;padding:28px 32px 30px;display:grid}.feedback-body.svelte-1kzrpv7 p:where(.svelte-1kzrpv7){color:#4b5563;margin:0;font-size:.95rem;line-height:1.55}.feedback-body.svelte-1kzrpv7 button:where(.svelte-1kzrpv7){color:#fff;text-transform:uppercase;cursor:pointer;border:0;border-radius:999px;min-height:40px;padding:0 28px;font-family:inherit;font-size:.82rem;font-weight:800;transition:background .14s,transform .14s}.feedback-body.svelte-1kzrpv7 button:where(.svelte-1kzrpv7):hover{transform:translateY(-1px)}.feedback-modal.success.svelte-1kzrpv7 .feedback-head:where(.svelte-1kzrpv7),.feedback-modal.success.svelte-1kzrpv7 .feedback-body:where(.svelte-1kzrpv7) button:where(.svelte-1kzrpv7){background:#16a34a}.feedback-modal.success.svelte-1kzrpv7 .feedback-body:where(.svelte-1kzrpv7) button:where(.svelte-1kzrpv7):hover{background:#15803d}.feedback-modal.error.svelte-1kzrpv7 .feedback-head:where(.svelte-1kzrpv7),.feedback-modal.error.svelte-1kzrpv7 .feedback-body:where(.svelte-1kzrpv7) button:where(.svelte-1kzrpv7){background:#dc2626}.feedback-modal.error.svelte-1kzrpv7 .feedback-body:where(.svelte-1kzrpv7) button:where(.svelte-1kzrpv7):hover{background:#b91c1c}.feedback-modal.info.svelte-1kzrpv7 .feedback-head:where(.svelte-1kzrpv7),.feedback-modal.info.svelte-1kzrpv7 .feedback-body:where(.svelte-1kzrpv7) button:where(.svelte-1kzrpv7){background:#2563eb}.feedback-modal.info.svelte-1kzrpv7 .feedback-body:where(.svelte-1kzrpv7) button:where(.svelte-1kzrpv7):hover{background:#1d4ed8}.feedback-modal.warning.svelte-1kzrpv7 .feedback-head:where(.svelte-1kzrpv7),.feedback-modal.warning.svelte-1kzrpv7 .feedback-body:where(.svelte-1kzrpv7) button:where(.svelte-1kzrpv7){background:#d97706}.feedback-modal.warning.svelte-1kzrpv7 .feedback-body:where(.svelte-1kzrpv7) button:where(.svelte-1kzrpv7):hover{background:#b45309}[data-theme=dark] .feedback-modal.svelte-1kzrpv7{background:#1a2332}[data-theme=dark] .feedback-body.svelte-1kzrpv7 p:where(.svelte-1kzrpv7){color:#ffffffc7}@keyframes svelte-1kzrpv7-feedback-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.94)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}body{margin:0;padding:0}.login-page.svelte-1x05zx6,.login-loading.svelte-1x05zx6{--teal:#5de8dd;--peri:#75aadb;--navy:#3b556e;--navy-deep:#1e2f44;--paper:#f7f8fa;--sky:#e4eef9;--line:#dde5ef;--muted:#5f6f84;font-family:Montserrat,Segoe UI,system-ui,sans-serif}.login-loading.svelte-1x05zx6{z-index:50;background:linear-gradient(160deg, var(--navy) 0%, var(--navy-deep) 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.loading-shape.svelte-1x05zx6{pointer-events:none;border-radius:18px;position:absolute}.loading-shape-1.svelte-1x05zx6{background:var(--teal);opacity:.22;width:380px;height:84px;top:14%;right:-90px;transform:rotate(-28deg)}.loading-shape-2.svelte-1x05zx6{background:var(--peri);opacity:.22;width:300px;height:70px;bottom:12%;left:-80px;transform:rotate(22deg)}.loading-inner.svelte-1x05zx6{z-index:1;flex-direction:column;align-items:center;gap:24px;display:flex;position:relative}.loading-mark.svelte-1x05zx6{place-items:center;width:176px;height:176px;display:grid;position:relative}.loading-ripple.svelte-1x05zx6{border:2px solid #5de8ddbf;border-radius:50%;animation:2.2s ease-out infinite svelte-1x05zx6-ripple;position:absolute;inset:28px}.loading-ripple-2.svelte-1x05zx6{animation-delay:1.1s}.loading-orbit.svelte-1x05zx6{background:conic-gradient(#5de8dd00 0%,#5de8dd26 40%,#5de8dd 100%);border-radius:50%;animation:1.3s linear infinite svelte-1x05zx6-spin;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,#0000 calc(100% - 5px),#000 calc(100% - 4px))}.loading-logo.svelte-1x05zx6{filter:drop-shadow(0 10px 18px #00000040);animation:1.6s ease-in-out infinite svelte-1x05zx6-pulse;display:grid;position:relative}.loading-text.svelte-1x05zx6{color:#ffffffe0;letter-spacing:.04em;margin:0;font-size:.95rem;font-weight:600}.login-page.svelte-1x05zx6{min-height:100vh;display:flex}.shape.svelte-1x05zx6{pointer-events:none;position:absolute}.brand-panel.svelte-1x05zx6{background:linear-gradient(160deg, var(--navy) 0%, var(--navy-deep) 100%);isolation:isolate;flex-direction:column;flex:0 0 46%;order:2;justify-content:center;align-items:center;padding:60px 56px;display:flex;position:relative;overflow:hidden}.shape-bar-1.svelte-1x05zx6{background:var(--teal);opacity:.9;border-radius:18px;width:400px;height:88px;animation:7s ease-in-out infinite alternate svelte-1x05zx6-float;top:6%;right:-150px;rotate:-28deg}.shape-bar-2.svelte-1x05zx6{background:var(--peri);opacity:.75;border-radius:16px;width:320px;height:72px;animation:8s ease-in-out infinite alternate-reverse svelte-1x05zx6-float;bottom:1%;right:-200px;rotate:22deg}.shape-tri.svelte-1x05zx6{aspect-ratio:1;opacity:.4;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 10 92 86H8z' fill='none' stroke='%2375aadb' stroke-width='9' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;width:190px;animation:9s ease-in-out infinite alternate svelte-1x05zx6-float;bottom:7%;left:-50px;rotate:-12deg}.shape-sq.svelte-1x05zx6{aspect-ratio:1;opacity:.06;background:#fff;border-radius:22px;width:130px;top:9%;left:-30px;rotate:16deg}.brand-content.svelte-1x05zx6{z-index:1;width:100%;max-width:460px;position:relative}.brand-logo.svelte-1x05zx6{margin-bottom:36px;padding:6px 0}.brand-title.svelte-1x05zx6{color:#fff;letter-spacing:-.02em;margin:0 0 16px;font-family:Montserrat Alternates,Montserrat,sans-serif;font-size:40px;font-weight:700;line-height:1.12}.brand-sub.svelte-1x05zx6{color:var(--teal);margin:0 0 44px;font-size:16px;font-weight:500;line-height:1.6}.brand-institutional.svelte-1x05zx6{border-top:1px solid #ffffff2e;padding-top:22px}.brand-institutional.svelte-1x05zx6 p:where(.svelte-1x05zx6){letter-spacing:.06em;text-transform:uppercase;color:#ffffffc7;margin:0 0 6px;font-size:12px;font-weight:600;line-height:1.5}.brand-institutional.svelte-1x05zx6 p:where(.svelte-1x05zx6):last-child{margin-bottom:0}.brand-bars.svelte-1x05zx6{z-index:1;align-items:flex-end;gap:8px;height:72px;display:flex;position:absolute;bottom:40px;left:56px}.brand-bars.svelte-1x05zx6 span:where(.svelte-1x05zx6){background:var(--peri);transform-origin:bottom;width:20px;animation:.9s cubic-bezier(.2,.7,.2,1) both svelte-1x05zx6-grow;animation-delay:calc(var(--i) * 90ms + .2s);border-radius:3px 3px 0 0}.brand-bars.svelte-1x05zx6 span:where(.svelte-1x05zx6):last-child{background:var(--teal)}@media (height<=720px){.brand-bars.svelte-1x05zx6{display:none}}.form-panel.svelte-1x05zx6{isolation:isolate;background:linear-gradient(155deg,#c4dbf2 0%,#a9c9ec 48%,#a4e6e6 100%);flex:1;order:1;justify-content:center;align-items:center;padding:48px;display:flex;position:relative;overflow:hidden}.shape-bar-3.svelte-1x05zx6{background:var(--teal);opacity:.55;border-radius:16px;width:340px;height:76px;animation:8s ease-in-out infinite alternate svelte-1x05zx6-float;top:44%;left:-150px;rotate:-28deg}.shape-bar-4.svelte-1x05zx6{background:var(--navy);opacity:.2;border-radius:16px;width:300px;height:68px;animation:9s ease-in-out infinite alternate-reverse svelte-1x05zx6-float;bottom:3%;right:-120px;rotate:24deg}.shape-tri-light.svelte-1x05zx6{aspect-ratio:1;opacity:.55;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 10 92 86H8z' fill='none' stroke='%233b556e' stroke-width='9' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;width:150px;animation:10s ease-in-out infinite alternate svelte-1x05zx6-float;top:38%;right:4%;rotate:14deg}.stats.svelte-1x05zx6{z-index:0;pointer-events:none;position:absolute;inset:0}.stat.svelte-1x05zx6{position:absolute}.stat-line.svelte-1x05zx6{width:250px;top:6%;left:4%;overflow:visible}.stat-line.svelte-1x05zx6 .area:where(.svelte-1x05zx6){fill:var(--teal);opacity:.3}.stat-line.svelte-1x05zx6 .ln:where(.svelte-1x05zx6){stroke:var(--navy);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:6s ease-in-out infinite svelte-1x05zx6-draw}.stat-line.svelte-1x05zx6 circle:where(.svelte-1x05zx6){fill:#fff;stroke:var(--navy);stroke-width:3px;transform-box:fill-box;transform-origin:50%;animation:6s ease-in-out infinite svelte-1x05zx6-dot;animation-delay:calc(var(--i) * .38s)}.stat-bars.svelte-1x05zx6{align-items:flex-end;gap:10px;height:150px;display:flex;bottom:7%;left:5%}.stat-bars.svelte-1x05zx6 span:where(.svelte-1x05zx6){width:20px;height:var(--h);background:var(--navy);opacity:.6;transform-origin:bottom;animation:3.4s ease-in-out infinite alternate svelte-1x05zx6-barwave;animation-delay:calc(var(--i) * -.55s);border-radius:4px 4px 0 0}.stat-bars.svelte-1x05zx6 span:where(.svelte-1x05zx6):nth-child(2n){background:var(--peri);opacity:.95}.stat-bars.svelte-1x05zx6 span:where(.svelte-1x05zx6):last-child{background:var(--teal);opacity:1}.stat-donut.svelte-1x05zx6{aspect-ratio:1;--login-pct:72;background:conic-gradient(var(--navy) calc(var(--login-pct) * 1%), #fff9 0);border-radius:50%;width:130px;animation:5s ease-in-out infinite alternate svelte-1x05zx6-donut;bottom:8%;right:5%;-webkit-mask:radial-gradient(farthest-side,#0000 60%,#000 62%);mask:radial-gradient(farthest-side,#0000 60%,#000 62%)}.stat-hbars.svelte-1x05zx6{gap:12px;width:170px;display:grid;top:9%;right:5%}.stat-hbars.svelte-1x05zx6 span:where(.svelte-1x05zx6){background:#fff9;border-radius:6px;height:12px;display:block;overflow:hidden}.stat-hbars.svelte-1x05zx6 i:where(.svelte-1x05zx6){height:100%;width:var(--w);background:var(--navy);transform-origin:0;animation:4.5s ease-in-out infinite svelte-1x05zx6-hfill;animation-delay:var(--d);border-radius:6px;display:block}.stat-hbars.svelte-1x05zx6 span:where(.svelte-1x05zx6):nth-child(2) i:where(.svelte-1x05zx6){background:var(--peri)}.stat-hbars.svelte-1x05zx6 span:where(.svelte-1x05zx6):nth-child(3) i:where(.svelte-1x05zx6){background:var(--teal)}.stat-dots.svelte-1x05zx6{width:130px;bottom:5%;left:24%;overflow:visible}.stat-dots.svelte-1x05zx6 circle:where(.svelte-1x05zx6){fill:var(--navy);opacity:.45;transform-box:fill-box;transform-origin:50%;animation:3.2s ease-in-out infinite alternate svelte-1x05zx6-bob;animation-delay:calc(var(--i) * -.4s)}.stat-dots.svelte-1x05zx6 circle:where(.svelte-1x05zx6):nth-child(3n){fill:#fff;opacity:.85}.brand-line.svelte-1x05zx6{z-index:1;pointer-events:none;width:230px;position:absolute;bottom:44px;right:48px;overflow:visible}.brand-line.svelte-1x05zx6 polyline:where(.svelte-1x05zx6){stroke:var(--teal);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;opacity:.8;animation:6s ease-in-out infinite svelte-1x05zx6-draw}.form-card.svelte-1x05zx6{z-index:2;border:1px solid var(--line);background:#fff;border-radius:16px;width:100%;max-width:440px;padding:36px 40px 34px;animation:.6s cubic-bezier(.2,.7,.2,1) both svelte-1x05zx6-rise;position:relative;box-shadow:0 14px 40px #1e2f441f}.form-logo.svelte-1x05zx6{justify-content:center;margin-bottom:28px;padding:4px 0;display:flex}.mobile-login-title.svelte-1x05zx6{display:none}.alert.svelte-1x05zx6{border-radius:10px;margin-bottom:18px;padding:10px 14px;font-size:.82rem;line-height:1.45}.alert-success.svelte-1x05zx6{color:#0f6b60;background:#5de8dd33;border:1px solid #139c8b66}.field.svelte-1x05zx6{margin-bottom:18px;animation:.5s cubic-bezier(.2,.7,.2,1) both svelte-1x05zx6-rise}.field.svelte-1x05zx6:first-of-type{animation-delay:.12s}.field.svelte-1x05zx6:nth-of-type(2){animation-delay:.2s}.field.svelte-1x05zx6 label:where(.svelte-1x05zx6){letter-spacing:.08em;text-transform:uppercase;color:var(--navy);margin-bottom:8px;font-size:12px;font-weight:700;display:block}.field.svelte-1x05zx6 input:where(.svelte-1x05zx6){box-sizing:border-box;width:100%;color:var(--navy-deep);background:#eef4fb;border:1.5px solid #8ba6c1;border-radius:10px;outline:none;padding:12px 16px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.field.svelte-1x05zx6 input:where(.svelte-1x05zx6):hover{border-color:#5f7f9f}.field.svelte-1x05zx6 input:where(.svelte-1x05zx6):focus{border-color:var(--navy);background:#fff;box-shadow:0 0 0 4px #5de8dd66}.field-error.svelte-1x05zx6{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;margin:10px 0 0;padding:10px 12px;font-size:.85rem;font-weight:500;line-height:1.4}button[type=submit].svelte-1x05zx6{background:var(--navy);color:#fff;border:none;border-bottom:3px solid var(--teal);letter-spacing:.02em;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:8px;padding:14px;font-family:inherit;font-size:15px;font-weight:700;transition:transform .1s,box-shadow .1s,background .15s;animation:.5s cubic-bezier(.2,.7,.2,1) .28s both svelte-1x05zx6-rise;display:flex;box-shadow:0 6px 18px #3b556e4d}button[type=submit].svelte-1x05zx6:hover:not(:disabled){background:var(--navy-deep);transform:translateY(-1px);box-shadow:0 10px 24px #1e2f4457}button[type=submit].svelte-1x05zx6:focus-visible{outline:3px solid var(--teal);outline-offset:3px}button[type=submit].svelte-1x05zx6:disabled,button[type=submit].loading.svelte-1x05zx6{opacity:.7;cursor:not-allowed}.spinner.svelte-1x05zx6{border:2px solid #ffffff59;border-top-color:var(--teal);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite svelte-1x05zx6-spin}@media (width<=768px){.login-page.svelte-1x05zx6{min-height:100svh;display:block}.brand-panel.svelte-1x05zx6{display:none}.form-panel.svelte-1x05zx6{min-height:100svh;padding:max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));box-sizing:border-box}.shape.svelte-1x05zx6,.stat.svelte-1x05zx6,.stat.svelte-1x05zx6 :where(.svelte-1x05zx6),.form-card.svelte-1x05zx6,.field.svelte-1x05zx6,button[type=submit].svelte-1x05zx6{animation:none!important}.shape.svelte-1x05zx6,.stats.svelte-1x05zx6,.brand-line.svelte-1x05zx6{display:none}.form-card.svelte-1x05zx6{max-width:100%;padding:28px 22px 24px}.form-logo.svelte-1x05zx6{margin-bottom:16px}.mobile-login-title.svelte-1x05zx6{text-align:center;margin-bottom:22px;display:block}.mobile-login-title.svelte-1x05zx6 h1:where(.svelte-1x05zx6){color:var(--navy);margin:0;font-family:Montserrat Alternates,Montserrat,sans-serif;font-size:1.25rem;font-weight:700;line-height:1.2}.mobile-login-title.svelte-1x05zx6 p:where(.svelte-1x05zx6){color:var(--muted);margin:6px 0 0;font-size:.88rem;font-weight:500}.field.svelte-1x05zx6 input:where(.svelte-1x05zx6){min-height:48px;font-size:16px}button[type=submit].svelte-1x05zx6{min-height:50px;margin-top:6px}}@keyframes svelte-1x05zx6-spin{to{transform:rotate(360deg)}}@keyframes svelte-1x05zx6-pulse{50%{transform:scale(1.06)}}@keyframes svelte-1x05zx6-ripple{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.38)}}@keyframes svelte-1x05zx6-float{to{translate:0 -14px}}@keyframes svelte-1x05zx6-draw{0%{stroke-dashoffset:1px}45%,85%{stroke-dashoffset:0}to{stroke-dashoffset:-1px}}@keyframes svelte-1x05zx6-dot{0%{opacity:0;scale:.2}10%,80%{opacity:1;scale:1}to{opacity:0;scale:.2}}@keyframes svelte-1x05zx6-barwave{0%{transform:scaleY(.45)}to{transform:scaleY(1)}}@keyframes svelte-1x05zx6-donut{0%{--login-pct:14}to{--login-pct:82}}@keyframes svelte-1x05zx6-hfill{0%{transform:scaleX(.05)}40%,85%{transform:scaleX(1)}to{transform:scaleX(.05)}}@keyframes svelte-1x05zx6-bob{to{translate:0 -10px;scale:1.25}}@keyframes svelte-1x05zx6-grow{0%{transform:scaleY(.05)}}@keyframes svelte-1x05zx6-rise{0%{opacity:0;transform:translateY(14px)}}@media (prefers-reduced-motion:reduce){.svelte-1x05zx6,.svelte-1x05zx6:before,.svelte-1x05zx6:after{transition:none!important;animation:none!important}}
