*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f5f7fb;color:#172033}.hidden{display:none!important}.view{display:none;min-height:100vh}.view--active{display:block}.login-view{background:linear-gradient(135deg,#eef4ff,#f8fbff)}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;padding:48px;max-width:1200px;margin:auto}.brand-panel{display:flex;align-items:center;gap:18px}.brand-mark{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;background:#0b5fff;color:#fff;font-weight:800;font-size:28px;box-shadow:0 16px 40px rgba(11,95,255,.2)}.brand-mark--small{width:44px;height:44px;border-radius:14px;font-size:16px}.brand-mark--tiny{width:36px;height:36px;border-radius:12px;font-size:13px}.brand-name{font-size:38px;font-weight:800;letter-spacing:-.8px}.brand-subtitle{margin-top:6px;color:#60708b}.login-card{background:#fff;padding:32px;border-radius:24px;box-shadow:0 20px 60px rgba(31,49,82,.12)}.login-card h1{margin:6px 0 8px;font-size:30px}.eyebrow{font-weight:700;color:#0b5fff;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.muted{color:#6f7f98}.small{font-size:12px}.field-label{display:block;font-weight:700;font-size:13px;margin:16px 0 8px}.input{width:100%;border:1px solid #dce3ef;border-radius:12px;padding:13px 14px;font-size:15px;outline:none;background:#fff}.input:focus{border-color:#0b5fff;box-shadow:0 0 0 3px rgba(11,95,255,.08)}.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.role-card{border:1px solid #dde5f1;background:#fff;border-radius:14px;padding:12px 8px;cursor:pointer;color:#26344d}.role-card span{display:block;font-size:20px;margin-bottom:5px}.role-card.is-active{border-color:#0b5fff;background:#eef4ff;color:#0b5fff}.btn{border:0;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer}.btn--primary{background:#0b5fff;color:#fff}.btn--wide{width:100%;margin-top:18px}.demo-note{text-align:center;font-size:12px;color:#70819d;margin-top:12px}.portal-view.view--active{display:grid;grid-template-columns:250px 1fr}.sidebar{background:#0f1a2c;color:#dbe7ff;padding:18px 14px;min-height:100vh;position:sticky;top:0}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:8px 10px 18px}.sidebar-brand small{display:block;color:#9fb2d4;margin-top:2px}.nav-list{display:flex;flex-direction:column;gap:4px}.nav-item{border:0;background:transparent;color:#c8d6ef;text-align:left;padding:11px 12px;border-radius:10px;cursor:pointer;font-weight:600}.nav-item:hover,.nav-item.is-active{background:#1a2a44;color:#fff}.nav-item--logout{position:absolute;left:14px;right:14px;bottom:18px}.main-area{min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid #e5ebf4;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.topbar h2{margin:0;font-size:20px}.topbar-actions{display:flex;align-items:center;gap:12px}.icon-btn{border:1px solid #dde5f1;background:#fff;border-radius:10px;padding:8px 10px;cursor:pointer}.user-chip{display:flex;align-items:center;gap:10px}.user-chip>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf3ff;color:#0b5fff;font-weight:800}.user-chip small{display:block;color:#7d8ca6}.content{padding:24px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card,.panel,.assessment-card{background:#fff;border:1px solid #e4eaf3;border-radius:16px;padding:18px}.stat-card b{font-size:27px;display:block;margin-top:8px}.panel{margin-top:18px}.panel h3{margin-top:0}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid #edf1f6;font-size:14px}.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#eef4ff;color:#0b5fff}.badge--green{background:#eaf8ef;color:#1f8b4c}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.assessment-card{display:flex;justify-content:space-between;gap:12px;align-items:center}.assessment-card+.assessment-card{margin-top:10px}.exam-view.view--active{display:block;background:#eef1f6}.exam-header{height:70px;background:#fff;border-bottom:1px solid #dfe5ef;display:flex;justify-content:space-between;align-items:center;padding:0 18px}.exam-brand{display:flex;align-items:center;gap:10px}.exam-brand small{display:block;color:#7a889f}.exam-meta{display:flex;align-items:center;gap:10px;color:#5f6f87}.status-dot{width:8px;height:8px;border-radius:50%;background:#1dbf73}.timer{font-size:22px;font-weight:800;color:#0b5fff;background:#eef4ff;border-radius:10px;padding:8px 12px}.exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;height:calc(100vh - 70px)}.pdf-panel{min-width:0;display:flex;flex-direction:column}.pdf-toolbar{height:52px;background:#f8fafc;border-bottom:1px solid #e2e7ef;display:flex;align-items:center;padding:0 14px;gap:8px}.spacer{flex:1}.pdf-stage{overflow:auto;padding:24px;display:flex;justify-content:center;align-items:flex-start}.paper-sheet{width:800px;min-height:1100px;background:white;padding:58px 64px;box-shadow:0 12px 34px rgba(21,36,63,.13);transform-origin:top center}.paper-heading{font-weight:800;color:#0b5fff;font-size:13px;letter-spacing:.06em}.paper-sheet h2{margin:14px 0 6px;font-family:Georgia,serif}.paper-subtitle{color:#66758f;margin-bottom:34px}.question-mock{font-family:Georgia,serif;line-height:1.6;margin:24px 0;font-size:18px}.question-mock span{font-size:16px}.paper-footer{text-align:center;color:#9aa7ba;margin-top:60px}.pdf-frame{width:100%;height:100%;border:0}.answer-panel{background:#fff;border-left:1px solid #dfe5ef;display:flex;flex-direction:column;min-height:0}.answer-head{padding:18px;border-bottom:1px solid #e6ebf2;display:flex;justify-content:space-between;align-items:center}.answer-head small{display:block;color:#7e8da5;margin-top:3px}.answer-list{padding:14px;overflow:auto;flex:1}.answer-item{border:1px solid #e1e7f0;border-radius:12px;padding:12px;margin-bottom:10px}.answer-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.answer-item .options{display:flex;gap:6px;flex-wrap:wrap}.option-btn{width:34px;height:34px;border-radius:9px;border:1px solid #d9e1ed;background:#fff;cursor:pointer;font-weight:700}.option-btn.is-selected{background:#0b5fff;color:#fff;border-color:#0b5fff}.open-answer{width:100%;border:1px solid #d9e1ed;border-radius:9px;padding:9px}.answer-footer{border-top:1px solid #e6ebf2;padding:14px}.save-state{font-size:12px;color:#1f8b4c;text-align:center}.floating-answer{position:fixed;left:16px;right:16px;bottom:16px;border:0;background:#0b5fff;color:#fff;border-radius:14px;padding:14px;font-weight:800;box-shadow:0 14px 32px rgba(11,95,255,.3)}.toast{position:fixed;right:20px;bottom:20px;background:#152238;color:#fff;padding:12px 16px;border-radius:10px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:none}.mobile-only{display:none}@media(max-width:900px){.login-shell{grid-template-columns:1fr;padding:24px}.brand-panel{justify-content:center}.brand-name{font-size:28px}.portal-view.view--active{grid-template-columns:1fr}.sidebar{position:fixed;z-index:30;left:-270px;width:250px;transition:.2s}.sidebar.open{left:0}.mobile-only{display:inline-block}.stats-grid{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.exam-layout{display:block;height:calc(100vh - 70px)}.answer-panel{position:fixed;inset:70px 0 0 0;z-index:25;transform:translateY(100%);transition:.25s}.answer-panel.open{transform:none}.pdf-stage{padding:12px}.paper-sheet{width:100%;min-width:720px}.topbar{padding:0 12px}.user-chip div{display:none}.role-grid{grid-template-columns:1fr 1fr}}