.student-main{min-height:100vh;background:var(--bg-page)}.student-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.student-panel{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border);padding:28px 24px}.student-panel h1{font-size:1.35rem;font-weight:700;margin-bottom:8px}.student-panel p{font-size:.95rem;line-height:1.5;color:var(--text-body);margin-bottom:20px}.student-form{display:flex;flex-direction:column;gap:12px}.student-label{font-size:.85rem;font-weight:600;color:var(--text-primary)}.student-input{width:100%;padding:10px 12px;border:1px solid var(--border);background:#fff;font:inherit}.student-input:focus{outline:2px solid var(--turquoise-strong);outline-offset:1px}.student-button{width:100%;padding:11px 14px;border:none;background:var(--turquoise-strong);color:#fff;font:inherit;font-weight:600;cursor:pointer}.student-button:disabled{opacity:.65;cursor:not-allowed}.student-button-secondary{background:transparent;color:var(--text-body);border:1px solid var(--border)}.student-status{font-size:.9rem;margin-top:4px}.student-status.is-error{color:#9f1239}.student-status.is-success{color:#166534}.student-links{margin-top:16px;display:flex;flex-direction:column;gap:8px;font-size:.9rem}.student-links a{color:var(--turquoise-deep);text-decoration:underline}.student-qr{display:block;margin:12px auto;max-width:180px;height:auto}.student-code{font-family:ui-monospace,monospace;font-size:.85rem;word-break:break-all;background:var(--bg-subtle);padding:8px 10px}.student-dashboard-placeholder{max-width:640px;margin:0 auto;padding:48px 24px}.student-dashboard-placeholder h1{font-size:1.5rem;margin-bottom:12px}.student-dashboard-placeholder p{color:var(--text-body);line-height:1.55;margin-bottom:20px}