:root{--bg:#fbf8f3;--paper:#fff;--ink:#121212;--muted:#6b655f;--line:#dfd8d0;--orange:#f4512a;--orange-dark:#d93f1c;--orange-soft:#fde9e1;--green:#2b8a62;--red:#a33c29;--shadow:0 22px 60px rgba(28,21,15,.10)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{color:inherit}a{color:inherit}[hidden]{display:none!important}
.student-page{min-height:calc(100vh - 100px);display:grid;grid-template-columns:1.05fr .95fr;max-width:1240px;margin:0 auto;padding:64px 28px 56px;gap:58px;align-items:center}.student-eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);font-weight:800;margin:0 0 18px}.student-intro h1{font-size:clamp(44px,6vw,78px);line-height:.98;letter-spacing:-.055em;margin:0 0 24px}.student-intro h1 span{color:var(--orange)}.student-lead{font-size:18px;line-height:1.7;color:#5f5953;max-width:620px;margin:0}.student-note{margin-top:28px;padding:18px 20px;border-left:3px solid var(--orange);background:rgba(255,255,255,.55);border-radius:0 16px 16px 0;color:#5f5953;font-size:14px;line-height:1.65}.login-card{background:var(--paper);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:34px}.login-card h2{font-size:30px;letter-spacing:-.035em;margin:0 0 8px}.login-sub{color:var(--muted);font-size:14px;line-height:1.55;margin:0 0 26px}.login-card label{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:18px 0 8px;color:#514a44}.login-card input{width:100%;height:52px;border:1px solid var(--line);border-radius:14px;padding:0 15px;background:#fff;outline:none;transition:border-color .18s,box-shadow .18s}.login-card input:focus{border-color:var(--orange);box-shadow:0 0 0 4px var(--orange-soft)}.password-wrap{position:relative}.password-wrap input{padding-right:72px}.password-toggle{position:absolute;right:9px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:800;padding:8px;cursor:pointer}.primary-button,.secondary-button{border:0;border-radius:14px;min-height:48px;padding:0 16px;font-weight:800;cursor:pointer}.primary-button{background:var(--orange);color:#fff;box-shadow:0 10px 24px rgba(244,81,42,.22)}.primary-button:hover{background:var(--orange-dark)}.primary-button:disabled{opacity:.7;cursor:wait}.secondary-button{background:#fff;border:1px solid var(--line)}.compact{min-height:42px}.submit-button{width:100%;height:52px;margin-top:24px;display:flex;align-items:center;justify-content:center;gap:10px}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-message{margin-top:16px;padding:12px 14px;border-radius:12px;font-size:13px;line-height:1.5}.form-message.error{background:#fff1ef;color:var(--red);border:1px solid #f4c4b9}.form-message.info{background:#f0f7f3;color:var(--green);border:1px solid #cde4d7}.login-help{margin:16px 0 0;text-align:center;color:var(--muted);font-size:12px}.login-help strong{color:var(--ink)}.session-panel{margin-bottom:22px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fcfaf7}.session-panel>div:first-child{display:grid;gap:4px}.session-panel span{font-size:12px;color:var(--muted)}.session-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}.student-footer{max-width:1240px;margin:0 auto;padding:0 28px 34px;color:#8a827a;font-size:11px}
@media(max-width:1080px){.student-page{min-height:calc(100vh - 82px)}}@media(max-width:880px){.student-page{grid-template-columns:1fr;padding-top:42px;gap:34px}.student-intro h1{font-size:52px}.login-card{padding:26px}}@media(max-width:520px){.student-page{padding-inline:18px}.student-intro h1{font-size:44px}.session-actions{flex-direction:column}.session-actions button{width:100%}}
