.signin-page{background:var(--surface);grid-template-columns:minmax(420px,1.05fr) minmax(470px,.95fr);min-height:100vh;display:grid}.signin-story{color:#fff;background:#1e5b51;min-height:100vh;position:relative;overflow:hidden}.signin-story:after{aspect-ratio:1;content:"";border:1px solid #ffffff24;border-radius:50%;width:70%;position:absolute;bottom:-28%;right:-20%;box-shadow:0 0 0 70px #ffffff08,0 0 0 150px #ffffff05}.signin-story-inner{z-index:1;flex-direction:column;min-height:100vh;padding:42px clamp(34px,6vw,88px);display:flex;position:relative}.signin-story .brand-mark{background:#fffaf4;border-color:#ffffff59}.signin-copy{max-width:650px;margin-top:clamp(80px,14vh,150px)}.signin-kicker{color:#bce3d9;letter-spacing:.1em;text-transform:uppercase;margin:0 0 16px;font-size:13px;font-weight:800}.signin-copy h1{letter-spacing:-.065em;max-width:620px;margin:0;font-size:clamp(44px,6vw,76px);line-height:.98}.signin-copy>p:last-child{color:#d5ebe6;max-width:570px;margin:24px 0 0;font-size:clamp(17px,1.6vw,21px);line-height:1.55}.thread-visual{width:min(540px,85%);height:120px;margin-top:70px;position:relative}.thread-node{z-index:2;color:#1e5b51;background:#fff;border-radius:999px;place-items:center;min-width:78px;height:38px;padding:0 14px;font-size:12px;font-weight:800;display:grid;position:absolute}.thread-node-one{top:0;left:0}.thread-node-two{top:58px;left:40%}.thread-node-three{top:5px;right:0}.thread-line{z-index:1;transform-origin:0;background:#ff6f60ad;height:2px;position:absolute}.thread-line-one{width:42%;top:31px;left:70px;transform:rotate(12deg)}.thread-line-two{width:39%;top:78px;left:53%;transform:rotate(-17deg)}.signin-trust{color:#cbe5df;flex-wrap:wrap;gap:12px 24px;margin-top:auto;font-size:12px;font-weight:680;display:flex}.signin-trust span{align-items:center;gap:7px;display:inline-flex}.signin-panel{background:#fafaf7;place-items:center;min-height:100vh;padding:42px;display:grid}.signin-card{width:min(100%,470px)}.signin-tabs{background:#ecefe9;border-radius:13px;grid-template-columns:1fr 1fr;margin-bottom:28px;padding:4px;display:grid}.signin-tabs button{min-height:42px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 12px;font-weight:720}.signin-tabs button.active{color:var(--ink);box-shadow:var(--shadow-sm);background:#fff}.signin-form{gap:16px;display:grid}.account-action-tabs{border:1px solid var(--line);background:#f0f2ed;border-radius:11px;grid-template-columns:1fr 1fr;gap:5px;padding:4px;display:grid}.account-action-tabs button{min-height:38px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:760}.account-action-tabs button.active{color:var(--teal);box-shadow:var(--shadow-sm);background:#fff}.signin-error{color:#a13f2d;margin:-6px 0 0;font-size:12px;font-weight:700}.auth-inline-success{color:#1f6157;background:#e3f3ee;border:1px solid #b9ddd3;border-radius:11px;align-items:flex-start;gap:9px;padding:12px 13px;font-size:12px;line-height:1.5;display:flex}.auth-inline-success svg{flex:none;margin-top:1px}.auth-confirmation{text-align:center;justify-items:center;gap:14px;display:grid}.auth-confirmation-icon{width:54px;height:54px;color:var(--teal);background:var(--teal-soft);border-radius:15px;place-items:center;display:grid}.auth-confirmation p{margin:0}.qr-demo{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(9,1fr);gap:3px;width:210px;height:210px;margin:0 auto 18px;padding:14px;display:grid}.qr-demo i{background:0 0;border-radius:2px}.qr-demo i.filled{background:#17221f}.auth-centered{text-align:center}.auth-full{width:100%;margin-top:12px}.visual-pin-input{letter-spacing:.55em;text-align:center;font-size:26px;font-weight:800}.trusted-student-list{gap:9px;display:grid}.trusted-student-list button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;grid-template-columns:38px 1fr 20px;align-items:center;gap:10px;min-height:58px;padding:9px 12px;display:grid}.trusted-student-list button>span{border-radius:10px;place-items:center;width:36px;height:36px;font-size:11px;font-weight:850;display:grid}.signin-form h2{letter-spacing:-.04em;margin:0;font-size:30px}.signin-form h2+p{margin:7px 0 8px}.auth-provider{border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:11px;min-height:50px;padding:10px 15px;font-weight:690;display:flex}.auth-provider:hover{border-color:#9eaaa0}.google-g{color:#4285f4;place-items:center;width:21px;height:21px;font-weight:900;display:grid}.signin-divider{color:var(--ink-faint);align-items:center;gap:12px;font-size:12px;display:flex}.signin-divider:before,.signin-divider:after{background:var(--line);content:"";flex:1;height:1px}.input-with-icon{border:1px solid var(--line-strong);background:#fff;border-radius:11px;align-items:center;gap:10px;min-height:48px;padding:0 13px;display:flex}.input-with-icon svg{color:var(--ink-faint);flex:none}.input-with-icon input{background:0 0;border:0;outline:0;width:100%;height:46px}.auth-submit{width:100%;min-height:50px}.demo-link{color:var(--teal);justify-content:center;align-items:center;gap:7px;padding:7px;font-size:13px;font-weight:760;display:inline-flex}.signin-legal{color:var(--ink-faint);text-align:center;margin:4px 0 0;font-size:11px;line-height:1.5}.student-code{gap:8px;display:grid}.student-code label{font-size:13px;font-weight:720}.student-code input{min-height:74px;color:var(--ink);border:1px solid var(--line-strong);letter-spacing:.18em;text-align:center;background:#fff;border-radius:14px;padding:10px 18px;font-size:27px;font-weight:800}.access-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.access-options button{min-height:82px;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:11px;place-items:center;gap:5px;padding:10px 6px;font-size:11px;font-weight:700;display:grid}@media (max-width:900px){.signin-page{grid-template-columns:1fr}.signin-story{min-height:auto}.signin-story-inner{min-height:auto;padding:30px 28px 42px}.signin-copy{margin-top:64px}.signin-copy h1{max-width:680px;font-size:clamp(42px,10vw,66px)}.thread-visual{display:none}.signin-trust{margin-top:42px}.signin-panel{min-height:auto;padding:54px 22px 70px}}@media (max-width:500px){.signin-story-inner{padding:18px 20px}.signin-copy,.signin-trust{display:none}.signin-panel{padding:24px 16px 42px}}
