:root{--app-bg:#f5f7fb;--app-card:#fff;--app-text:#172033;--app-muted:#667085;--app-primary:#2457d6;--app-ok:#16864b;--app-warn:#b86b00;--app-danger:#c9362b;--radius:18px}
html,body{min-height:100%} body{background:var(--app-bg);color:var(--app-text)}
.app-shell{max-width:1180px;margin:0 auto;padding:16px}.student-shell{max-width:760px;margin:0 auto;padding:16px}
.app-card{background:var(--app-card);border:1px solid #e7eaf0;border-radius:var(--radius);box-shadow:0 6px 26px rgba(16,24,40,.05)}
.brand{font-weight:800;letter-spacing:-.03em}.muted{color:var(--app-muted)}
.touch{min-height:48px}.code-input{text-transform:uppercase;letter-spacing:.25em;font-weight:800;font-size:1.55rem;text-align:center}
.question-card{min-height:300px}.question-text{font-size:1.15rem;line-height:1.55;white-space:pre-wrap}.option-label{display:flex;gap:.75rem;align-items:flex-start;border:1px solid #dfe3eb;border-radius:14px;padding:14px;margin-bottom:10px;cursor:pointer}.option-label:has(input:checked){border-color:var(--app-primary);background:#eef3ff}.option-label input{margin-top:.25rem;transform:scale(1.25)}
.sticky-exam{position:sticky;top:0;z-index:10;background:rgba(245,247,251,.94);backdrop-filter:blur(8px)}
.qnav{display:flex;gap:6px;overflow-x:auto;padding:4px 0}.qdot{flex:0 0 38px;height:38px;border-radius:10px;border:1px solid #d9dee9;background:#fff}.qdot.answered{background:#e9f7ef;border-color:#9bd3b5}.qdot.active{outline:3px solid rgba(36,87,214,.18);border-color:var(--app-primary)}
.teacher-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.student-card{padding:14px}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#98a2b3}.status-dot.online{background:#19a15f}.status-dot.offline{background:#d64d42}
.grade-row{border:1px solid #e1e5ec;border-radius:14px;padding:16px;margin-bottom:12px}.grade-answer{white-space:pre-wrap;background:#f7f8fb;padding:12px;border-radius:10px}.score-buttons{display:flex;flex-wrap:wrap;gap:8px}.score-buttons .btn{min-width:54px}
@media (max-width:767.98px){.app-shell,.student-shell{padding:10px}.app-card{border-radius:14px}.desktop-table{display:none!important}.question-card{min-height:calc(100vh - 260px)}.grade-row{padding:12px}.mobile-sticky-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);padding:10px 0;backdrop-filter:blur(8px)}}
@media (min-width:768px){.mobile-only{display:none!important}.admin-main{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px}.admin-nav{position:sticky;top:16px;align-self:start}.question-text{font-size:1.25rem}}

.result-check{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto;background:#e9f7ef;color:var(--app-ok);font-size:2.4rem;font-weight:800}.result-score{font-size:1.15rem;font-weight:700}

.auto-suggestion{background:#fff7e6;border:1px solid #f3d39a;border-radius:10px;padding:9px 11px;font-size:.9rem}
