.login-page{--login-ink:#0a1433;--login-muted:#4a5878;--login-blue:#0a58f5;--login-deep:#0638d6;min-height:100dvh;color:var(--login-ink);background:#fff;grid-template-columns:37.3% 62.7%;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:grid}.login-entry{background:linear-gradient(#fff,#f8faff);justify-content:center;align-items:center;min-height:100dvh;padding:64px clamp(32px,4.6vw,80px);display:flex}.login-form-wrap{width:100%;max-width:500px}.login-brand{align-items:center;gap:16px;margin:0 0 clamp(56px,9vh,92px);display:flex}.login-brand-mark{width:clamp(66px,5.4vw,92px);height:auto;color:var(--login-blue);filter:drop-shadow(0 6px 14px #0a58f533);flex-shrink:0}.login-brand-text{padding-bottom:14px;line-height:1;display:grid;position:relative}.login-brand-text b{letter-spacing:-.8px;color:#0b1846;font-size:clamp(24px,2.05vw,34px);font-weight:800}.login-brand-text>span{letter-spacing:-1.2px;color:var(--login-blue);margin-top:2px;font-size:clamp(32px,2.75vw,46px);font-weight:800}.login-brand-text>svg{width:92%;height:12px;color:var(--login-blue);position:absolute;bottom:-2px;left:2%}.login-entry h1{letter-spacing:-1.8px;color:var(--login-ink);margin:0 0 18px;font-size:clamp(40px,3.65vw,62px);font-weight:800;line-height:1.05}.login-description{color:var(--login-muted);max-width:480px;margin:0 0 clamp(36px,6vh,58px);font-size:clamp(16px,1.3vw,21px);line-height:1.55}.login-form{width:100%}.login-field{color:var(--login-ink);gap:12px;font-size:clamp(16px,1.2vw,19px);font-weight:500;display:grid}.login-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.login-input{background:#fff;border:1.5px solid #a9c2ee;border-radius:10px;align-items:center;gap:16px;min-height:52px;padding:0 20px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 0 0 4px #e9f1ff,0 4px 14px #0a3bb012}.login-input>svg{color:#152447;stroke-width:1.7px;flex-shrink:0;width:23px;height:23px}.login-input input{width:100%;min-width:0;font:inherit;color:#102551;background:0 0;border:0;outline:0;padding:12px 0;font-size:clamp(16px,1.25vw,20px);font-weight:400}.login-input input::placeholder{color:#55627d;opacity:1}.login-input:focus-within{border-color:var(--login-blue);box-shadow:0 0 0 4px #0a58f526,0 4px 14px #0a3bb018}.login-submit{color:#fff;width:100%;min-height:54px;font:inherit;cursor:pointer;background:linear-gradient(100deg,#0a3ee6,#0630c9);border:0;border-radius:10px;justify-content:center;align-items:center;gap:14px;margin-top:30px;padding:11px 18px;font-size:clamp(17px,1.4vw,22px);font-weight:600;transition:background .15s,box-shadow .15s,transform .15s;display:flex;box-shadow:0 10px 22px #0638d633}.login-submit>svg{stroke-width:2px;fill:#fff2;flex-shrink:0;width:24px;height:24px}.login-submit:hover:not(:disabled){background:linear-gradient(100deg,#1350f5,#0a3ee6);transform:translateY(-1px);box-shadow:0 12px 26px #0638d644}.login-submit:disabled{opacity:.55;cursor:default}.login-reassurance{color:var(--login-ink);align-items:center;gap:16px;margin:34px 0 0 14px;font-size:clamp(14px,1.1vw,18px);line-height:1.5;display:flex}.login-reassurance>svg{width:38px;height:38px;color:var(--login-blue);stroke-width:1.7px;flex-shrink:0}.login-visual{isolation:isolate;background:radial-gradient(70% 55% at 62% 40%,#1f7cff 0,#0d55f0 45%,#0000 75%),linear-gradient(#0838c9 0,#0b4fe6 38%,#2d8af7 62%,#9fd3ff 78%,#dff1ff 88%);min-width:0;min-height:100dvh;position:relative;overflow:hidden}.login-swoosh{z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.login-visual-content{z-index:2;flex-direction:column;align-items:center;gap:clamp(20px,3.2vh,30px);padding:clamp(44px,7.5vh,72px) 6% 0;display:flex;position:relative}.login-areas{grid-template-columns:repeat(4,minmax(0,clamp(84px,6.2vw,104px)));gap:clamp(10px,1.2vw,20px);margin:0;padding:0;list-style:none;display:grid}.login-areas li{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(160deg,#3d8bff8a,#0a49d988);border:1px solid #8cc0ff8c;border-radius:14px;justify-items:center;gap:8px;padding:14px 6px 12px;font-size:clamp(13px,.95vw,16px);font-weight:500;display:grid;box-shadow:inset 0 1px #ffffff40,0 12px 30px #0222802e}.login-areas svg{stroke-width:1.6px;width:clamp(26px,2vw,34px);height:clamp(26px,2vw,34px)}.login-trend{background:#fafcff;border-radius:18px;width:min(100%,420px);padding:18px 22px 22px;box-shadow:0 30px 60px #01197a40,inset 0 2px #fff}.login-trend-head{justify-content:space-between;align-items:center;display:flex}.login-trend-icon{color:#0b1846;background:#fff;border:1px solid #dfe5ef;border-radius:10px;place-items:center;width:44px;height:40px;display:grid}.login-trend-icon svg{stroke-width:2.2px;width:22px;height:22px}.login-trend-range{color:#1b2542;background:#eef2f8;border-radius:8px;align-items:center;gap:8px;padding:7px 11px;font-size:13px;display:flex}.login-trend-range svg{width:15px;height:15px}.login-trend-value{letter-spacing:-1px;color:#0b1430;align-items:center;gap:14px;margin:14px 0 16px 6px;font-size:clamp(28px,2.1vw,36px);font-weight:700;display:flex}.login-trend-value span{color:#16a336;background:#d7f5d9;border-radius:7px;place-items:center;width:40px;height:34px;display:grid}.login-trend-value svg{stroke-width:2.4px;width:22px;height:22px}.login-trend-chart{grid-template-columns:auto 1fr;gap:14px;height:clamp(120px,17vh,160px);display:grid}.login-trend-axis{color:#1b2542;text-align:right;flex-direction:column;justify-content:space-between;padding:2px 0;font-size:12px;display:flex}.login-trend-bars{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.login-trend-track{background:#eef2f9;border-radius:10px;position:relative;overflow:hidden}.login-trend-track i{border-radius:10px;position:absolute;bottom:0;left:0;right:0}.login-trend-track:first-child i{background:#7ec4ff}.login-trend-track:nth-child(2) i{background:#5aaeff}.login-trend-track:nth-child(3) i{background:#0d84ff}.login-trend-track:nth-child(4) i{background:#0a4cff}.login-campus{z-index:1;object-fit:cover;object-position:center bottom;pointer-events:none;width:100%;height:auto;max-height:34%;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000 0,#000 22%);mask-image:linear-gradient(#0000 0,#000 22%)}.login-error,.login-help,.login-notice{color:#b32340;overflow-wrap:anywhere;background:#fff1f4;border:1px solid #ffc8d3;border-radius:8px;margin:16px 0 0;padding:12px 14px;font-size:14px;line-height:1.7}.login-help{color:#32537d;background:#edf5ff;border-color:#c8ddfa}.login-notice{color:#82551c;background:#fff8e9;border-color:#f4d799;margin:0 0 20px}.login-back{color:#175acc;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;min-height:40px;margin-bottom:20px;padding:0;font-size:14px;display:inline-flex}.login-code-input input{letter-spacing:11px;font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.login-code-hint{color:var(--login-muted);overflow-wrap:anywhere;margin:13px 0 0;font-size:14px;line-height:1.8}.login-resend{color:var(--login-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;font-size:14px;line-height:1.6;display:flex}.login-resend button{color:#075de9;font:inherit;cursor:pointer;background:0 0;border:0;min-height:44px;padding:4px 0}.login-resend button:disabled{color:#8495ad;cursor:default}.login-spinner{animation:.9s linear infinite login-spin}.login-page :is(button,input):focus-visible{outline-offset:4px;outline:2px solid #0865ff}.login-input input:focus-visible{outline:0}@keyframes login-spin{to{transform:rotate(360deg)}}@media (max-width:1280px){.login-page{grid-template-columns:44% 56%}.login-visual-content{padding-inline:7%}.login-trend{padding:16px 18px 20px}}@media (max-width:1100px){.login-areas{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:420px}.login-areas li{padding:12px 4px 10px}}@media (max-width:950px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-entry{padding:56px 28px}.login-form-wrap{max-width:460px}.login-brand{margin-bottom:56px}}@media (max-width:550px){.login-entry{padding:44px 22px max(40px,env(safe-area-inset-bottom))}.login-brand{gap:12px;margin-bottom:44px}.login-brand-mark{width:58px}.login-brand-text b{font-size:22px}.login-brand-text>span{font-size:30px}.login-entry h1{letter-spacing:-1.2px;font-size:36px}.login-description{margin-bottom:32px;font-size:16px}.login-input{gap:12px;min-height:50px;padding-inline:14px}.login-input>svg{width:22px;height:22px}.login-input input{font-size:16px}.login-submit{gap:10px;min-height:50px;margin-top:26px;font-size:17px}.login-submit>svg{width:22px;height:22px}.login-reassurance{gap:10px;margin:26px 0 0;font-size:14px}.login-reassurance>svg{width:28px;height:28px}.login-code-input input{letter-spacing:9px}}@media (max-height:760px) and (min-width:951px){.login-entry{padding-block:36px}.login-brand{margin-bottom:40px}.login-description{margin-bottom:28px}.login-submit{margin-top:24px}.login-reassurance{margin-top:22px}.login-visual-content{gap:18px;padding-top:32px}.login-trend-chart{height:110px}}@media (prefers-reduced-motion:reduce){.login-spinner{animation:none}.login-submit{transition:none}.login-submit:hover:not(:disabled){transform:none}}
