:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#14213d;background:#eef2f7;font-synthesis:none;--navy: #172554;--blue: #2563eb;--line: #dfe6ef;--muted: #667085;--surface: #ffffff;--todo: #3b82f6;--progress: #f59e0b;--done: #22a06b;--absent: #dc3545}.login-page,.portal-state{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#e8f0ff 0,transparent 32%),#f3f6fb;color:#10203f;padding:24px}.login-card{width:min(430px,100%);background:#fff;border:1px solid #dce5f2;border-radius:24px;box-shadow:0 24px 70px #19376924;padding:32px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:34px}.login-brand>span,.student-space-bar>div>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#3167df;color:#fff;font-weight:900}.login-brand div{display:grid}.login-brand strong{font-size:20px}.login-brand small{color:#7c899f}.login-title{display:flex;align-items:center;gap:14px;margin-bottom:24px}.login-title>svg{color:#3167df}.login-title h1{font-size:29px;margin:0}.login-title p{margin:3px 0 0;color:#71809a}.login-card form{display:grid;gap:17px}.login-card label{display:grid;gap:7px}.login-card label span{font-weight:750;font-size:14px}.login-card input{height:48px;border:1px solid #cfd9e8;border-radius:11px;padding:0 14px;font:inherit}.login-card form>.primary{height:49px;justify-content:center;margin-top:5px}.login-error,.account-error{padding:11px 13px;background:#fff0f1;border:1px solid #ffcdd2;color:#b42331;border-radius:10px;margin:0}.portal-state{align-content:center;text-align:center}.portal-state h1{margin:12px 0 0}.portal-state p{color:#71809a}.loading-ring{width:38px;height:38px;border:4px solid #dbe5f4;border-top-color:#3167df;border-radius:50%;animation:account-spin .8s linear infinite}@keyframes account-spin{to{transform:rotate(360deg)}}.student-space{min-height:100vh;background:#f3f6fb}.student-space-bar{height:58px;padding:0 28px;background:#10203f;color:#fff;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}.student-space-bar>div{display:flex;align-items:center;gap:12px}.student-space-bar>div>span{width:34px;height:34px;border-radius:10px}.student-space-bar button{display:flex;align-items:center;gap:7px;border:0;background:#ffffff1a;color:#fff;padding:9px 12px;border-radius:9px;cursor:pointer}.student-preview-bar{height:52px;background:#172544;color:#fff;display:flex;align-items:center;gap:16px;padding:0 32px;position:sticky;top:0;z-index:30}.student-preview-bar strong{padding:5px 9px;background:#356de4;border-radius:7px}.student-preview-bar span{flex:1;color:#dbe6ff}.student-preview-bar button{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:9px;padding:8px 12px;cursor:pointer}.student-preview .student-dashboard{min-height:calc(100vh - 52px)}.accounts-page{max-width:1250px}.account-class-picker{display:grid;gap:6px;max-width:360px;margin-bottom:18px}.account-class-picker span{font-size:14px;font-weight:800}.account-class-picker select{height:44px;border:1px solid #d7e0ed;border-radius:10px;padding:0 12px;background:#fff;font:inherit}.account-list,.teacher-list{display:grid;gap:10px}.account-list article,.teacher-list article{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid #dce5f1;border-radius:14px;padding:13px 16px}.teacher-list article{grid-template-columns:auto 1fr auto auto}.account-list article>div:nth-child(2),.teacher-list article>div:nth-child(2){display:grid;gap:3px}.account-list article span,.teacher-list article span{color:#77859a;font-size:14px}.account-avatar{width:42px;height:42px;border-radius:12px;background:#e9f0ff;color:#2f61cf;display:grid;place-items:center;font-weight:900}.credentials-card{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;background:#eefbf4;border:1px solid #bfe8d0;border-radius:16px;padding:18px;margin-bottom:20px}.credentials-card>div:first-child{display:flex;align-items:center;gap:12px}.credentials-card>div:first-child>svg{color:#16965e}.credentials-card>div:first-child div{display:grid;gap:3px}.credentials-card>div:first-child span{color:#5c7468;font-size:14px}.credentials-card dl{display:flex;gap:10px;margin:0;grid-column:1/-1}.credentials-card dl div{min-width:190px;padding:10px 12px;background:#fff;border-radius:10px}.credentials-card dt{font-size:12px;color:#738197}.credentials-card dd{margin:3px 0 0;font-weight:900;letter-spacing:.04em}.account-active,.account-disabled{font-style:normal;font-size:13px;font-weight:800;padding:5px 9px;border-radius:20px}.account-active{background:#e2f8ec;color:#128052}.account-disabled{background:#f2f3f5;color:#77808e}.teacher-account-form{margin-bottom:20px}.logout-button{margin-left:4px}.account-actions{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-end;gap:7px!important}.account-actions .secondary{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.credentials-table{grid-column:1/-1;max-height:300px;overflow:auto;display:grid!important;gap:5px!important}.credentials-table>div{display:grid;grid-template-columns:minmax(180px,1fr) 180px 180px;gap:10px;padding:9px 11px;border-radius:9px;background:#fff;align-items:center}.credentials-table code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;color:#24334c}.password-page{max-width:720px}.password-panel{padding:18px 16px;background:#eaf1ff}.password-form{max-width:620px;margin:0 auto;padding:24px;display:grid;gap:15px;border:1px solid #d9e3f0;border-radius:16px;background:#fff;box-shadow:0 8px 24px #22335414}.password-form h1{margin:2px 0 0;font-size:26px}.password-form p{margin:4px 0 0;color:#718096}.password-form label{display:grid;gap:6px}.password-form label span{font-size:14px;font-weight:750}.password-form input{height:45px;padding:0 12px;border:1px solid #cfd9e7;border-radius:9px;font:inherit}.account-success{margin:0;padding:11px 13px;display:flex;align-items:center;gap:7px;border:1px solid #bfe8d0;border-radius:10px;background:#eefbf4;color:#128052;font-weight:700}.student-account-actions{display:flex;gap:7px}.compact-password .password-form{box-shadow:none}.compact-password .password-form h1{font-size:21px}.pronote-page{max-width:900px}.pronote-connected{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:22px;background:#e8f8ef;color:#118052;font-weight:800}.pronote-warning,.pronote-result{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px;padding:15px 17px;border:1px solid #f1d596;border-radius:13px;background:#fff9e8;color:#805b0c}.pronote-warning>div,.pronote-result>div{display:grid;gap:3px}.pronote-warning span,.pronote-result span{color:#6c7688;font-size:13px}.pronote-form{grid-template-columns:1fr}.pronote-form label{max-width:none}.pronote-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.pronote-actions a{display:inline-flex;align-items:center;gap:7px;text-decoration:none}.pronote-disconnect{display:flex;align-items:center;gap:7px;padding:10px 13px;border:1px solid #efc4c8;border-radius:9px;background:#fff3f4;color:#bd2c3b;font-weight:750}.pronote-result{margin-top:18px;border-color:#bfe8d0;background:#eefbf4;color:#128052}.pronote-classes{margin-top:16px;padding:18px;border:1px solid #dce5f1;border-radius:14px;background:#fff}.pronote-classes h2{margin:0 0 12px;font-size:18px}.pronote-classes span{display:inline-flex;margin:0 7px 7px 0;padding:7px 10px;border-radius:9px;background:#eaf1ff;color:#285dcc;font-weight:750}.spin{animation:account-spin .8s linear infinite}.management-page.pronote-page{max-width:1100px}.management-form.pronote-form{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.management-form.pronote-form label{max-width:none;min-width:0}.pronote-form label small{color:#77859a;line-height:1.35}.pronote-actions{grid-column:1/-1}.pronote-class-chips{display:flex;flex-wrap:wrap;gap:7px}.pronote-classes p{margin:10px 0 0;color:#77859a;font-size:13px}.pronote-rosters{display:grid;gap:10px;margin-top:16px}.pronote-rosters h2{display:flex;align-items:center;gap:8px;margin:0 0 2px;font-size:18px}.pronote-rosters article{padding:14px 16px;border:1px solid #dce5f1;border-radius:12px;background:#fff}.pronote-rosters article>span{margin-left:9px;color:#667085}.pronote-rosters details{margin-top:9px}.pronote-rosters summary{cursor:pointer;color:#315fcb;font-weight:750}.pronote-rosters details div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 12px;margin-top:10px}.pronote-rosters small{padding:5px 7px;border-radius:7px;background:#f3f6fa;color:#43516a}@media(max-width:900px){.credentials-card{grid-template-columns:1fr}.credentials-card dl{flex-direction:column}.credentials-table>div{grid-template-columns:1fr}.teacher-list article,.account-list article{grid-template-columns:auto 1fr}.teacher-list article>button,.account-list article>button,.teacher-list article>i,.account-actions{grid-column:2}.account-actions{flex-wrap:wrap;justify-content:flex-start}.student-space-bar{padding:8px 14px;height:auto;gap:8px;flex-wrap:wrap}.student-space-bar strong{font-size:14px}.student-account-actions{margin-left:auto}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding-left:68px;transition:padding-left .22s ease}.app-shell.sidebar-expanded{padding-left:238px}.side-navigation{position:fixed;z-index:410;inset:0 auto 0 0;width:68px;display:flex;flex-direction:column;overflow:hidden;background:#101f4d;color:#fff;box-shadow:4px 0 18px #0c1c462b;transition:width .22s ease}.side-navigation.expanded{width:238px}.side-brand{min-height:68px;display:flex;align-items:center;gap:10px;padding:10px 13px;border-bottom:1px solid rgba(255,255,255,.1)}.side-brand .brand-logo{flex:0 0 42px;width:42px;height:42px}.side-brand strong{min-width:112px;font-size:16px;white-space:nowrap}.sidebar-toggle{flex:0 0 40px;width:40px;height:40px;margin-left:auto;display:grid;place-items:center;border:0;border-radius:10px;background:#ffffff17;color:#fff}.side-navigation.collapsed .sidebar-toggle{position:absolute;top:14px;left:14px;background:transparent}.side-navigation.collapsed .side-brand .brand-logo{opacity:0;pointer-events:none}.side-menu{flex:0 0 auto;display:grid;gap:5px;padding:13px 9px}.side-menu button,.sidebar-logout{min-height:44px;display:flex;align-items:center;gap:13px;padding:0 13px;border:0;border-radius:10px;background:transparent;color:#c9d5f5;font-size:14px;font-weight:750;text-align:left;white-space:nowrap}.side-menu button svg,.sidebar-logout svg{flex:0 0 20px}.side-navigation.collapsed .side-menu button,.side-navigation.collapsed .sidebar-logout{width:50px;justify-content:center;padding:0}.side-navigation.collapsed .side-menu span,.side-navigation.collapsed .sidebar-logout span{display:none}.side-menu button:hover,.sidebar-logout:hover{background:#ffffff1a;color:#fff}.side-menu button.active{background:#fff;color:#183f99;box-shadow:0 5px 13px #050d2633}.side-menu button:disabled{opacity:.35;cursor:not-allowed}.side-menu-separator{height:1px;margin:7px 5px;background:#ffffff1f}.sidebar-levels{margin:0 12px 10px;padding:12px;display:grid;gap:6px;overflow-y:auto;border-top:1px solid rgba(255,255,255,.12);color:#d3dcf5}.sidebar-levels>strong{margin-bottom:3px;color:#91a5d6;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.sidebar-levels label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650}.sidebar-levels input{width:15px;height:15px;margin:0;accent-color:#43a3ff}.sidebar-logout{flex:0 0 44px;margin:auto 9px 12px;color:#ffbdc4}.topbar{height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:0 16px;background:var(--navy);color:#fff;box-shadow:0 3px 12px #14213d2e}.brand{display:flex;align-items:center;gap:10px}.brand-logo{width:40px;height:40px;padding:4px;display:block;object-fit:contain;border-radius:11px;background:#fff;box-shadow:0 2px 7px #07102d47}.session-title{display:flex;align-items:center;gap:10px}.session-title span{color:#bac8ea;font-size:12px}.session-title button,.icon-button{border:1px solid rgba(255,255,255,.22);background:#ffffff14;color:#fff;border-radius:9px}.session-title button{display:flex;align-items:center;gap:8px;padding:9px 12px}.session-select{position:relative;min-width:132px;height:38px;display:flex;align-items:center;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:#ffffff14}.session-select.class-select{min-width:118px}.session-select.activity-top-select{min-width:180px;max-width:260px}.session-select>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.session-select select{width:100%;height:100%;padding:0 32px 0 11px;border:0;outline:0;appearance:none;background:transparent;color:#fff;font-size:13px;font-weight:650;cursor:pointer}.session-select option{color:#172554;background:#fff}.session-select svg{position:absolute;right:9px;pointer-events:none}.session-select:has(select:disabled){opacity:.62}.icon-button{width:38px;height:38px;display:grid;place-items:center}.sync-state{display:flex;align-items:center;gap:7px;padding:8px 11px;border:0;border-radius:999px;font-size:13px;white-space:nowrap}.sync-state.synced{background:#29c48129;color:#91efc4}.sync-state.pending,.sync-state.syncing{background:#528cff2e;color:#bfd3ff}.sync-state.offline{background:#ffc10729;color:#ffdf7a}.sync-state.error{background:#ef444433;color:#ffb4b4}.sync-state:disabled{cursor:default;opacity:1}.app-nav{display:flex;align-items:center;gap:4px;padding:4px;border-radius:10px;background:#ffffff12}.app-nav>button{display:flex;align-items:center;gap:6px;padding:7px 9px;border:0;border-radius:7px;background:transparent;color:#c7d2ee;font-size:12px;font-weight:700}.app-nav>button.active{background:#fff;color:var(--navy);box-shadow:0 2px 7px #07102d2e}.app-nav>button:disabled{opacity:.4;cursor:not-allowed}.topbar-live-actions{display:flex;align-items:center;gap:5px}.topbar-live-actions .session-start,.topbar-live-actions .session-stop{min-height:34px;padding:7px 10px;font-size:12px;box-shadow:none}.topbar-tool{min-height:34px;padding:7px 9px;display:flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:#ffffff14;color:#e5ecff;font-size:12px;font-weight:750}.topbar-tool:hover,.topbar-tool.editing{background:#fff;color:var(--navy)}.topbar-tool.icon-only{width:34px;padding:0;justify-content:center}.topbar-tool:disabled{opacity:.38;cursor:not-allowed}.settings-menu{position:relative}.settings-menu>summary{min-height:32px;padding:7px 9px;display:flex;align-items:center;gap:6px;border-radius:7px;color:#c7d2ee;font-size:12px;font-weight:700;list-style:none;cursor:pointer}.settings-menu>summary::-webkit-details-marker{display:none}.settings-menu>summary svg:last-child{transition:transform .18s ease}.settings-menu[open]>summary svg:last-child{transform:rotate(180deg)}.settings-menu.active>summary,.settings-menu[open]>summary{background:#fff;color:var(--navy);box-shadow:0 2px 7px #07102d2e}.settings-panel{position:absolute;z-index:120;top:calc(100% + 10px);right:0;width:270px;padding:10px;display:grid;gap:5px;border:1px solid #d8e1ed;border-radius:12px;background:#fff;color:#26344e;box-shadow:0 16px 38px #0f172a3d}.settings-panel>strong,.settings-levels>strong{padding:4px 6px;color:#7a8799;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.settings-panel>button{width:100%;padding:10px;display:flex;align-items:center;gap:9px;border:0;border-radius:8px;background:transparent;color:#344158;font-size:13px;font-weight:750;text-align:left}.settings-panel>button:hover,.settings-panel>button.active{background:#eaf1ff;color:#285dcc}.settings-panel>button:disabled{opacity:.45;cursor:not-allowed}.settings-levels{margin-top:5px;padding-top:8px;display:grid;gap:4px;border-top:1px solid #e4e9f0}.settings-levels label{padding:7px 8px;display:flex;align-items:center;gap:8px;border-radius:7px;color:#4c5a70;font-size:13px;font-weight:650;cursor:pointer}.settings-levels label:hover{background:#f4f7fb}.settings-levels input{width:16px;height:16px;margin:0;accent-color:#315acb}.teacher-levels{position:relative}.teacher-levels summary{list-style:none;display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:7px;color:#c7d2ee;font-size:12px;font-weight:700;cursor:pointer}.teacher-levels summary::-webkit-details-marker{display:none}.teacher-levels[open] summary{background:#ffffff1f;color:#fff}.teacher-level-menu{position:absolute;z-index:100;top:calc(100% + 10px);right:0;width:255px;padding:12px;display:grid;gap:6px;border:1px solid #d8e1ed;border-radius:11px;background:#fff;color:#26344e;box-shadow:0 14px 34px #0f172a38}.teacher-level-menu>strong{margin:1px 3px 6px;font-size:13px}.teacher-level-menu label{padding:7px 8px;display:flex;align-items:center;gap:9px;border-radius:7px;color:#526178;font-size:13px;font-weight:650;cursor:pointer}.teacher-level-menu label:hover{background:#f1f5fb}.teacher-level-menu input{width:16px;height:16px;accent-color:#315acb}.workspace{position:relative;display:block;min-height:calc(100vh - 68px)}.room-panel{padding:0;min-width:0}.room-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px}.eyebrow{color:#667085;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}h1,h2{margin:4px 0 0;letter-spacing:-.03em}h1{font-size:28px}.toolbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.session-state-label.running{color:#16835b}.session-start,.session-stop{min-height:38px;padding:9px 13px;display:flex;align-items:center;gap:7px;border:0;border-radius:9px;color:#fff;font-weight:800}.session-start{background:#16885c;box-shadow:0 4px 12px #16885c33}.session-stop{background:#c93645;box-shadow:0 4px 12px #c936452e}.secondary{display:flex;align-items:center;gap:7px;border:1px solid #d4dce8;background:#fff;color:#334155;border-radius:9px;padding:9px 12px;font-weight:600}.secondary:disabled{opacity:.45;cursor:not-allowed}.legend{display:flex;align-items:center;gap:18px;margin:20px 0 12px;color:#526174;font-size:12px}.legend>span,.legend>small{display:flex;align-items:center;gap:6px}.legend small{margin-left:auto;color:#7a8699}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.todo{background:var(--todo)}.dot.progress{background:var(--progress)}.dot.done{background:var(--done)}.dot.absent{background:var(--absent)}.classroom-canvas{position:relative;min-height:calc(100vh - 68px);padding:34px 34px 78px;background-color:#f9fbfd;background-image:linear-gradient(#e9eef5 1px,transparent 1px),linear-gradient(90deg,#e9eef5 1px,transparent 1px);background-size:22px 22px;border:0;border-radius:0;box-shadow:inset 0 1px 3px #0f172a0a;overflow:hidden}.board{position:absolute;bottom:20px;left:50%;transform:translate(-50%);width:min(400px,54%);height:32px;border-radius:5px;background:#324254;color:#d9e2eb;display:grid;place-items:center;font-size:10px;letter-spacing:.18em;box-shadow:0 3px 6px #0f172a26}.student-grid{display:grid;grid-template-columns:repeat(8,minmax(77px,126px));justify-content:space-between;gap:8px;align-items:start}.student-card{position:relative;aspect-ratio:3 / 4;min-height:0;padding:0;overflow:visible;border:2px solid transparent;border-radius:12px;background:#fff;box-shadow:0 3px 12px #25334a17;display:flex;flex-direction:column;transition:box-shadow .18s,border-color .18s,opacity .18s}.student-card:hover{box-shadow:0 7px 18px #25334a24}.student-card.selected{border-color:#315acb;box-shadow:0 0 0 3px #315acb24,0 7px 18px #25334a1f}.student-card.dragging{opacity:.3}.student-card.status-todo{--status-color: var(--todo)}.student-card.status-progress{--status-color: var(--progress)}.student-card.status-done{--status-color: var(--done)}.student-card.absent{--status-color: var(--absent);opacity:.78;filter:grayscale(.18)}.student-status-band{flex:0 0 28px;width:100%;min-width:0;padding:0 4px 0 6px;border-radius:9px 9px 0 0;background:var(--status-color);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2px;font-size:11px;font-weight:800;letter-spacing:.01em}.student-card.in-group .student-status-band{display:none}.drag-handle{flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:6px;background:#ffffff29;color:#fff;padding:2px;touch-action:none}.student-group-drag{position:absolute;z-index:4;top:7px;right:7px;width:25px;height:25px;background:#172554b3;box-shadow:0 1px 5px #0f172a3d}.student-card-body{flex:1;min-height:0;padding:0;display:flex;flex-direction:column;overflow:hidden;border-radius:0 0 9px 9px}.avatar-wrap{position:relative;flex:1;min-height:0;width:100%}.avatar-wrap.has-custom-photo{isolation:isolate;overflow:hidden;border-radius:8px;background-position:center;background-size:cover}.avatar-wrap.has-custom-photo:before{position:absolute;z-index:-1;inset:-12px;content:"";background:inherit;filter:blur(9px);opacity:.42}.avatar-wrap.has-custom-photo:after{position:absolute;z-index:-1;inset:0;content:"";background:#eef2f733}.avatar{position:relative;z-index:1;display:block;width:100%;height:100%;border-radius:8px;object-fit:cover;object-position:center top;background:#eef2f7;box-shadow:inset 0 0 0 1px #0f172a14;-webkit-user-select:none;user-select:none}.avatar.custom-photo{object-fit:contain;object-position:center;background:transparent;box-shadow:none}.avatar-wrap.has-custom-photo .participation{z-index:2}.student-name{flex:0 0 auto;width:100%;min-width:0;padding:4px 0 3px;display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.08}.student-name strong{font-size:13px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-name span{margin-top:1px;color:#697586;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.participation{position:absolute;z-index:3;right:2px;bottom:2px;width:33px;height:33px;padding:0;border:2px solid white;border-radius:50%;color:#fff;font-weight:900;font-size:12px;line-height:1;box-shadow:0 2px 7px #0f172a40}.participation:disabled{cursor:default;opacity:.72}.participation-absent{font-size:9px}.participation-a,.level-a{background:#15885a!important}.participation-b,.level-b{background:#3276d9!important}.participation-c,.level-c{background:#de8b08!important}.participation-d,.level-d,.participation-absent{background:#cf3341!important}.insert-space{position:absolute;z-index:5;top:50%;right:-13px;transform:translateY(-50%);width:25px;height:25px;display:grid;place-items:center;border:1px solid #6f8dc2;border-radius:50%;background:#fff;color:#315acb;box-shadow:0 2px 7px #1e40af2e}.insert-space:hover{background:#315acb;color:#fff}.empty-space{aspect-ratio:3 / 4;min-width:0;border:1px dashed transparent;border-radius:12px;background:#ffffff1f;transition:border-color .15s,background .15s}.empty-space.drop-active{border-color:#4f7ed7;background:#4f7ed721}.empty-space.dragging{opacity:.35}.empty-space button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:7px;background:#fff;color:#d13d4b;box-shadow:0 1px 4px #0f172a1a}.group-slot{position:relative;grid-column:span var(--group-span);min-width:0;align-self:start}.group-slot.dragging{opacity:.35}.lab-group{width:100%;padding:4px;border:2px dashed #8aa1c7;border-radius:12px;background:#e2eaf794;transition:background .18s,border-color .18s}.lab-group.status-todo{--group-status-color: var(--todo)}.lab-group.status-progress{--group-status-color: var(--progress)}.lab-group.status-done{--group-status-color: var(--done)}.group-status-band{min-height:28px;margin:-4px -4px 4px;padding:2px 3px 2px 6px;border-radius:10px 10px 0 0;background:var(--group-status-color);color:#fff;display:flex;align-items:center;gap:3px;font-size:11px;font-weight:800}.group-compact-select{flex:1;min-width:0;height:26px;padding:0;border:0;background:transparent;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:7px;text-align:left;font-weight:800}.group-compact-select span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.group-compact-select strong{flex:0 0 auto;padding:3px 6px;border-radius:6px;background:#fff3;font-size:12px}.group-band-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px}.lab-group.selected{border-color:#315acb;background:#dbe5f8eb;box-shadow:0 0 0 3px #315acb1c}.lab-group.drop-active{border-color:#18a26b;background:#e6f7f0}.group-drag{flex:0 0 auto;width:26px;height:26px;padding:0;display:grid;place-items:center;border:0;border-radius:6px;background:#ffffff2e;color:#fff;touch-action:none}.group-grid{display:grid;grid-template-columns:repeat(var(--group-columns),minmax(0,1fr));gap:4px;align-items:start}.group-grid .student-card{width:100%}.group-empty{width:100%;min-width:0;aspect-ratio:3 / 4;display:grid;place-items:center;padding:2px;border:1.5px dashed #9aabc2;border-radius:8px;color:#6f8198;font-size:11px;font-weight:700;text-align:center}.delete-group{margin-top:4px;padding:2px;display:flex;align-items:center;gap:4px;border:0;background:transparent;color:#c93645;font-size:10px;font-weight:700}.group-insert{right:-13px}.drag-preview{background:#fff;border:2px solid #315acb;border-radius:10px;padding:16px 24px;box-shadow:0 12px 30px #0f172a33;font-weight:700}.management-page{min-height:calc(100vh - 68px);padding:30px clamp(20px,4vw,56px) 56px;background:#f4f7fb}.management-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;max-width:1180px;margin:0 auto 22px}.management-heading .primary,.management-form .primary,.activity-editor .primary{display:flex;align-items:center;justify-content:center;gap:7px}.class-form{max-width:760px;margin:0 auto 24px;padding:20px;display:grid;grid-template-columns:1fr 220px;gap:16px;border:1px solid #d9e3f0;border-radius:14px;background:#fff;box-shadow:0 8px 24px #22335412}.class-form>label{display:flex;flex-direction:column;gap:6px;color:#48566b;font-size:12px;font-weight:700}.class-form input,.class-form select{width:100%;min-width:0;padding:10px 11px;border:1px solid #cfd9e7;border-radius:8px;background:#fff;color:#17233e;outline:none}.class-form input:focus,.class-form select:focus{border-color:#4977dc;box-shadow:0 0 0 3px #4977dc1f}.class-room-picker{grid-column:1 / -1;margin:0;padding:12px;display:flex;flex-wrap:wrap;gap:8px;border:1px solid #dbe3ee;border-radius:10px}.class-room-picker legend{padding:0 5px;color:#48566b;font-size:12px;font-weight:750}.class-room-picker label,.class-room-assignment label{padding:7px 10px;display:flex;align-items:center;gap:7px;border:1px solid #dce4ef;border-radius:8px;background:#f8fafd;color:#405069;font-size:13px;font-weight:650;cursor:pointer}.class-room-picker input,.class-room-assignment input{width:16px;height:16px;padding:0;accent-color:#315acb}.csv-import{grid-column:1 / -1;display:grid;gap:10px}.csv-import>input{display:none}.csv-drop{min-height:92px;padding:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1.5px dashed #9eb1ce;border-radius:11px;background:#f7f9fd;color:#2c5ec8}.csv-drop span{font-weight:800}.csv-drop small{color:#728198}.import-count{display:flex;align-items:center;justify-content:center;gap:6px;color:#15885a;font-size:13px}.student-import-preview{padding:10px 12px;display:flex;flex-wrap:wrap;gap:7px;border-radius:9px;background:#f2f6fb;color:#64748b;font-size:11px}.student-import-preview span{padding:4px 7px;border-radius:6px;background:#fff}.student-import-preview strong{color:#27364f}.student-import-preview small{align-self:center;font-weight:700}.class-save{grid-column:1 / -1}.classes-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.class-card{min-width:0;padding:16px;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:13px;border:1px solid #dce4ef;border-radius:13px;background:#fff;box-shadow:0 4px 14px #2233540d}.class-card.active{border-color:#6e93e3;box-shadow:0 0 0 3px #315acb17}.class-card-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;background:#e9f0ff;color:#2d62d5}.class-card-copy{min-width:0;display:flex;flex-direction:column}.class-card-copy>span{color:#60718a;font-size:11px;font-weight:750}.class-card-copy>strong{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#17233e}.class-card-copy p{margin:4px 0 0;color:#758195;font-size:12px}.class-card-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:5px}.delete-class{width:35px;height:35px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#c93645}.delete-class:disabled{color:#cbd5e1;cursor:default}.class-details-editor{grid-column:1 / -1;padding-top:14px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,220px) auto;align-items:end;gap:10px;border-top:1px solid #e5eaf1}.class-details-editor label{min-width:0;display:flex;flex-direction:column;gap:5px;color:#48566b;font-size:12px;font-weight:700}.class-details-editor input,.class-details-editor select{width:100%;min-width:0;padding:9px 10px;border:1px solid #cfd9e7;border-radius:8px;background:#fff;color:#17233e;outline:none}.class-details-editor input:focus,.class-details-editor select:focus{border-color:#4977dc;box-shadow:0 0 0 3px #4977dc1f}.class-details-editor>div{display:flex;gap:7px}.student-editor{grid-column:1 / -1;min-width:0;margin-top:3px;padding-top:14px;display:grid;gap:11px;border-top:1px solid #e5eaf1}.student-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-editor-head>div{display:flex;flex-direction:column;gap:3px}.student-editor-head span{color:#728096;font-size:12px}.student-editor-list{max-height:390px;overflow:auto;display:grid;gap:6px}.student-editor-row{min-width:0;display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) 105px 125px 34px;align-items:center;gap:7px}.student-editor-row input,.student-editor-row select{min-width:0;width:100%;padding:8px 9px;border:1px solid #cfd9e7;border-radius:8px;background:#fff;color:#27364f;outline:none}.student-editor-row input:focus,.student-editor-row select:focus{border-color:#4977dc;box-shadow:0 0 0 3px #4977dc1f}.delete-student-row{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:8px;background:#fff0f1;color:#c93645}.student-editor-actions{display:flex;justify-content:flex-end;gap:8px}.group-assignment{grid-column:1 / -1;margin-top:3px;padding-top:14px;display:grid;gap:11px;border-top:1px solid #e5eaf1}.photo-assignment{grid-column:1 / -1;min-width:0;margin-top:3px;padding-top:14px;display:grid;gap:12px;border-top:1px solid #e5eaf1}.photo-assignment-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.photo-assignment-head>div{display:flex;flex-direction:column;gap:3px}.photo-assignment-head span{color:#728096;font-size:12px}.photo-bulk-button{width:auto;flex:0 0 auto;cursor:pointer}.photo-bulk-button input,.photo-single-button input{display:none}.photo-notice{padding:9px 11px;border-radius:8px;font-size:12px;font-weight:700}.photo-notice.success{border:1px solid #b9ddca;background:#eefbf4;color:#167a53}.photo-notice.error{border:1px solid #efbdc3;background:#fff1f2;color:#bd3544}.photo-student-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.photo-student-grid article{min-width:0;padding:8px;display:grid;grid-template-columns:42px minmax(0,1fr) auto 32px;align-items:center;gap:8px;border:1px solid #dfe6ef;border-radius:10px;background:#f9fbfe}.photo-student-grid img{width:42px;height:52px;object-fit:cover;border-radius:7px;background:#e9eef6}.photo-student-grid article>div{min-width:0;display:flex;flex-direction:column}.photo-student-grid article>div strong,.photo-student-grid article>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-student-grid article>div strong{color:#22304b;font-size:12px}.photo-student-grid article>div span{color:#77859a;font-size:12px}.photo-single-button{padding:7px 8px;display:flex;align-items:center;gap:5px;font-size:11px;cursor:pointer}.delete-photo{width:31px;height:31px;display:grid;place-items:center;border:0;border-radius:7px;background:#fff0f1;color:#c93645}.class-room-assignment{grid-column:1 / -1;margin-top:3px;padding-top:14px;display:grid;gap:9px;border-top:1px solid #e5eaf1}.class-room-assignment>div{display:flex;flex-wrap:wrap;gap:7px}.class-room-assignment>small{color:#758195;font-size:11px}.group-assignment>div:first-child{display:flex;flex-direction:column;gap:3px}.group-assignment>div:first-child span{color:#728096;font-size:12px}.assignment-list{max-height:330px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.assignment-list label{min-width:0;padding:7px 8px;display:grid;grid-template-columns:minmax(0,1fr) 118px;align-items:center;gap:8px;border:1px solid #e3e8f0;border-radius:8px;background:#f9fbfd;font-size:12px}.assignment-list label>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-list select{min-width:0;padding:7px;border:1px solid #cfd9e7;border-radius:7px;background:#fff;color:#27364f}.csv-help{max-width:760px;margin:22px auto 0;padding:13px 15px;display:flex;gap:10px;border:1px solid #d8e3f2;border-radius:11px;background:#eef4ff;color:#315acb}.csv-help>div{display:flex;flex-direction:column;gap:3px}.csv-help span{color:#60718a;font-size:12px;line-height:1.45}.rooms-section{max-width:1180px;margin:38px auto 0;padding-top:26px;border-top:1px solid #dbe3ed}.rooms-section .management-heading{margin-bottom:14px}.rooms-section h2{font-size:23px}.room-form{margin-bottom:14px;display:grid;grid-template-columns:minmax(220px,1fr) 180px;gap:9px}.room-form input{min-width:0;padding:10px 11px;border:1px solid #cfd9e7;border-radius:9px;outline:none}.room-form input:focus{border-color:#4977dc;box-shadow:0 0 0 3px #4977dc1f}.rooms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.room-card{padding:13px;display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:9px;border:1px solid #dce4ef;border-radius:11px;background:#fff}.room-card.active{border-color:#6e93e3;box-shadow:0 0 0 3px #315acb14}.room-card-icon{grid-row:1 / 3;width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#eef3ff;color:#315acb}.room-card>strong{align-self:end}.room-card>span{grid-column:2;align-self:start;color:#758195;font-size:11px}.room-card>.secondary{grid-column:3;grid-row:1 / 3}.room-card>.delete-class{grid-column:4;grid-row:1 / 3}.level-tabs{max-width:1180px;margin:0 auto 20px;padding:5px;display:flex;gap:4px;overflow-x:auto;border:1px solid #dce4ef;border-radius:11px;background:#fff}.level-tabs button{flex:1 0 auto;padding:9px 14px;border:0;border-radius:7px;background:transparent;color:#657287;font-size:13px;font-weight:700}.level-tabs button.active{background:#e8efff;color:#2456c7}.management-form{max-width:1180px;margin:0 auto 20px;padding:18px;display:grid;grid-template-columns:160px 150px minmax(220px,1fr) minmax(240px,1fr) auto;align-items:end;gap:12px;border:1px solid #d9e3f0;border-radius:13px;background:#fff;box-shadow:0 8px 24px #22335412}.form-title{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between}.form-title button{border:0;background:transparent;color:#56709a;font-size:13px;font-weight:700}.management-form label,.activity-editor>label,.form-row label{display:flex;flex-direction:column;gap:6px;color:#48566b;font-size:12px;font-weight:700}.management-form input,.management-form select,.activity-editor input,.activity-editor select{min-width:0;width:100%;padding:10px 11px;border:1px solid #cfd9e7;border-radius:8px;background:#fff;color:#17233e;outline:none}.management-form input:focus,.management-form select:focus,.activity-editor input:focus,.activity-editor select:focus{border-color:#4977dc;box-shadow:0 0 0 3px #4977dc1f}.catalog-list{max-width:1180px;margin:0 auto;display:grid;gap:11px}.catalog-group{position:relative;overflow:hidden;border:1px solid #dce4ee;border-radius:12px;background:#fff}.sortable-catalog-item.dragging{z-index:20;opacity:.55;box-shadow:0 12px 28px #1f315329}.catalog-drag-handle{position:absolute;z-index:3;left:7px;top:15px;width:28px;height:28px;padding:0;display:grid;place-items:center;border:0;border-radius:7px;background:#eef3fb;color:#7184a1;touch-action:none;cursor:grab}.catalog-drag-handle:active{cursor:grabbing}.catalog-general{min-height:58px;padding:12px 14px 12px 43px;display:flex;align-items:center;justify-content:space-between;gap:15px}.catalog-general>div:first-child{display:flex;align-items:center;gap:12px}.catalog-general strong,.catalog-details strong{min-width:58px;color:#2659cb}.catalog-general span{font-weight:750}.catalog-details{border-top:1px solid #e7ecf3;background:#f9fbfe}.catalog-detail-row{position:relative;min-height:47px;padding:9px 14px 9px 45px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;border-top:1px solid #edf1f6;color:#4d5b70;font-size:13px}.catalog-detail-row:first-child{border-top:0}.catalog-detail-row .catalog-drag-handle{top:9px}.detail-copy{min-width:0;display:flex;align-items:center;gap:9px}.detail-copy span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-details .row-actions{margin-left:auto}.row-actions{display:flex;gap:4px}.row-actions button,.delete-activity{width:31px;height:31px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#718096}.row-actions button:hover,.delete-activity:hover{background:#fff0f1;color:#c93645}.management-empty{padding:48px 20px;border:1px dashed #bcc9da;border-radius:12px;color:#6f7d91;text-align:center;background:#fff9}.criteria-editor{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.criteria-editor textarea{min-height:76px;width:100%;padding:10px 11px;resize:vertical;border:1px solid #cfd9e7;border-radius:8px;color:#26344d;font:inherit;font-size:13px;line-height:1.4;outline:none}.criteria-editor textarea:focus{border-color:#4977dc;box-shadow:0 0 0 3px #4977dc1f}.criterion-input>span{width:max-content;padding:3px 7px;border-radius:5px;color:#fff}.criterion-a>span,.criterion-a>strong{background:#15885a}.criterion-b>span,.criterion-b>strong{background:#3276d9}.criterion-c>span,.criterion-c>strong{background:#de8b08}.criterion-d>span,.criterion-d>strong{background:#cf3341}.criteria-grid{grid-column:1 / -1;padding:0 12px 12px 43px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;background:#fff}.catalog-detail-row>.criteria-grid{margin:4px -14px -9px -45px;padding:8px 14px 12px 45px;border-top:1px solid #e8edf4;background:#f7f9fc}.criterion{min-width:0;padding:9px;display:grid;grid-template-columns:27px minmax(0,1fr);align-items:start;gap:8px;border:1px solid #e1e7ef;border-radius:8px;background:#fbfcfe}.criterion strong{width:25px;height:25px;display:grid;place-items:center;border-radius:6px;color:#fff;font-size:12px}.criterion p{margin:2px 0 0;color:#516078;font-size:12px;line-height:1.4}.activities-layout{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:20px}.activities-layout.editing{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);align-items:start}.activity-library{display:grid;gap:11px}.activity-card{position:relative;min-width:0;padding:16px 52px 16px 16px;display:flex;gap:13px;border:1px solid #dce4ef;border-radius:12px;background:#fff;box-shadow:0 4px 14px #2233540d;cursor:pointer}.activity-card:hover{border-color:#8aa8e7;box-shadow:0 8px 22px #22335417}.activity-card-icon{flex:0 0 42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#e9f0ff;color:#2d62d5}.activity-card-copy{min-width:0;display:flex;flex-direction:column}.activity-card-copy>span{color:#60718a;font-size:12px;font-weight:700}.activity-card-copy>strong{margin-top:3px;color:#17233e}.activity-card-copy p{margin:4px 0 7px;color:#67758a;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-card-copy small{color:#315acb;font-size:11px;font-weight:800}.delete-activity{position:absolute;right:13px;top:13px}.activity-editor{padding:20px;display:flex;flex-direction:column;gap:15px;border:1px solid #d5dfed;border-radius:14px;background:#fff;box-shadow:0 10px 28px #22335417}.form-row{display:grid;grid-template-columns:1fr 120px;gap:12px}.competency-picker{margin:2px 0 0;padding:0;display:grid;gap:7px;border:0}.competency-picker legend{width:100%;margin-bottom:9px;color:#344158;font-size:13px;font-weight:800}.competency-picker legend small{float:right;color:#7a879a;font-weight:500}.competency-picker>label{min-height:48px;padding:9px 11px;display:flex;align-items:center;gap:9px;border:1px solid #dfe6ef;border-radius:9px;cursor:pointer}.competency-picker>label.checked{border-color:#6f94e5;background:#f0f5ff}.competency-picker input{position:absolute;opacity:0;pointer-events:none}.competency-picker label>span{flex:1;display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:8px;color:#435168;font-size:13px}.competency-picker label strong{color:#285dcf}.competency-picker label small{color:#7b8798;font-size:11px}.activity-save{width:100%;margin-top:3px}.activity-save:disabled{opacity:.45;cursor:default}.evaluation-panel{position:fixed;z-index:220;top:68px;right:0;width:min(410px,calc(100vw - 24px));height:calc(100dvh - 68px);background:#fff;border-left:1px solid var(--line);display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;box-shadow:-16px 0 40px #0f172a29;transform:translate(calc(100% + 20px));visibility:hidden;pointer-events:none;transition:transform .24s ease,visibility 0s linear .24s}.evaluation-panel.open{transform:translate(0);visibility:visible;pointer-events:auto;transition:transform .24s ease}.panel-head{position:relative;padding:26px 58px 20px 24px;border-bottom:1px solid #e8edf3}.close-evaluation{position:absolute;top:18px;right:18px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #d6dfeb;border-radius:9px;background:#f7f9fc;color:#526178}.close-evaluation:hover{background:#eaf0f8;color:#17233e}.panel-head h2{font-size:22px}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.open-dashboard{margin-top:13px;padding:8px 10px;display:flex;align-items:center;gap:6px;border:1px solid #cdd8ea;border-radius:8px;background:#f5f8fd;color:#315acb;font-size:12px;font-weight:750}.activity-picker{display:flex;flex-direction:column;gap:8px;padding:18px 24px;border-bottom:1px solid #e8edf3}.activity-picker>span{display:flex;align-items:center;gap:7px;color:#4a586c;font-size:12px;font-weight:700}.activity-picker select{width:100%;padding:11px 12px;border:1px solid #ccd5e2;border-radius:9px;background:#fff;color:#17213a;font-weight:600}.session-callout{margin:16px 24px 0;padding:12px 13px;display:flex;align-items:center;gap:10px;border:1px solid #cddaf0;border-radius:10px;background:#f1f6ff;color:#315acb}.session-callout>div{display:flex;flex-direction:column;gap:2px}.session-callout strong{font-size:13px}.session-callout span{color:#697991;font-size:11px}.participation-box{margin:18px 24px 0;padding:13px;border-radius:11px;background:#f2f6fb;display:flex;align-items:center;justify-content:space-between;gap:12px}.participation-box>div{display:flex;flex-direction:column}.participation-box span{font-weight:700;font-size:13px}.participation-box small{color:#758195;margin-top:3px}.big-level{width:44px;height:38px;border:0;border-radius:9px;color:#fff;font-weight:800}.big-level:disabled,.level-buttons button:disabled{opacity:.55;cursor:not-allowed}.competency-list{padding:20px 24px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;font-weight:700;color:#59687a}.section-title button{display:flex;align-items:center;gap:3px;border:0;background:transparent;color:#315acb;font-size:12px;font-weight:700}.competency{padding:14px 0;border-bottom:1px solid #edf1f5}.competency>div:first-child{display:flex;gap:8px;align-items:baseline}.competency>div:first-child strong{color:#315acb;font-size:12px}.competency>div:first-child span{font-size:13px;font-weight:600}.level-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:11px}.level-buttons button{height:34px;border:1px solid #d7dee8;border-radius:8px;background:#fff;color:#5e6a79;font-weight:800;display:flex;align-items:center;justify-content:center;gap:3px}.level-buttons button.active{color:#fff;border-color:transparent}.empty-activity{margin:20px 24px;padding:28px 20px;border:1px dashed #cbd5e1;border-radius:12px;color:#697789;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.empty-activity strong{color:#344054}.empty-activity p{margin:0;font-size:13px;line-height:1.5}.panel-footer{margin-top:auto;padding:18px 24px;border-top:1px solid #e8edf3;background:#fbfcfe}.panel-footer>span{display:flex;align-items:center;justify-content:center;gap:6px;color:#758195;font-size:11px;margin-bottom:10px}.primary{width:100%;border:0;border-radius:9px;padding:12px 16px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:700}.primary.compact{width:auto;padding:9px 12px}.finish-session{background:#c93645}.student-dashboard{min-height:calc(100vh - 68px);padding:26px clamp(20px,4vw,56px) 56px;background:#f3f6fa}.dashboard-back{margin:0 auto 18px;padding:8px 0;max-width:1180px;width:100%;display:flex;align-items:center;gap:7px;border:0;background:transparent;color:#315acb;font-size:13px;font-weight:750}.student-dashboard-head{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:16px}.student-dashboard-head img{width:78px;height:92px;border:4px solid white;border-radius:14px;object-fit:cover;object-position:center top;box-shadow:0 6px 18px #1c2d4b24}.student-dashboard-head>div{display:flex;flex-direction:column}.student-dashboard-head span{color:#315acb;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.student-dashboard-head h1{font-size:28px}.student-dashboard-head p{margin:4px 0 0;color:#748196;font-size:13px}.dashboard-kpis{max-width:1180px;margin:22px auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-kpis article{padding:16px;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:2px 9px;border:1px solid #dce4ef;border-radius:12px;background:#fff;box-shadow:0 4px 14px #2233540d}.dashboard-kpis svg{grid-row:1 / 4;color:#315acb}.dashboard-kpis span{color:#6d798c;font-size:12px;font-weight:700}.dashboard-kpis strong{font-size:22px;color:#17233e}.dashboard-kpis small{color:#8893a3;font-size:11px}.dashboard-columns{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:start;gap:15px}.dashboard-side{display:grid;gap:15px}.dashboard-panel{overflow:hidden;border:1px solid #dce4ef;border-radius:13px;background:#fff;box-shadow:0 4px 14px #2233540d}.dashboard-title{padding:15px 17px;display:flex;align-items:end;justify-content:space-between;gap:12px;border-bottom:1px solid #e7ecf3}.dashboard-title>div{display:flex;flex-direction:column}.dashboard-title span{color:#758195;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.dashboard-title h2{font-size:19px}.dashboard-title small{color:#718096;font-size:11px}.dashboard-competencies>article{padding:15px 17px;border-top:1px solid #edf1f5}.dashboard-competencies>article:first-child{border-top:0}.general-score{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:8px}.general-score>strong{color:#315acb;font-size:13px}.general-score>span{font-size:13px;font-weight:700}.general-score>b{font-size:13px}.score-track{height:6px;margin:9px 0;overflow:hidden;border-radius:99px;background:#e8edf4}.score-track i{height:100%;display:block;border-radius:99px;background:linear-gradient(90deg,#3b82f6,#22a06b)}.detail-scores{display:grid;gap:4px}.detail-scores>span{min-width:0;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:7px;color:#69778b;font-size:11px}.detail-scores em{color:#315acb;font-style:normal;font-weight:750}.detail-scores strong{color:#445168}.activity-results>article{padding:13px 15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;border-top:1px solid #edf1f5}.activity-results>article:first-child{border-top:0}.activity-results article>div:first-child{min-width:0;display:flex;flex-direction:column}.activity-results article>div:first-child span{overflow:hidden;color:#718096;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.activity-results article>div:first-child strong{font-size:13px}.activity-results article>div:first-child small{margin-top:2px;color:#8893a3;font-size:10px}.activity-results article>b{font-size:13px}.activity-results article>div:last-child{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:5px}.result-level{padding:4px 7px;border-radius:6px;color:#fff;font-size:10px;font-style:normal;font-weight:800}.session-history>article{min-height:58px;padding:10px 15px;display:grid;grid-template-columns:70px minmax(0,1fr) 38px;align-items:center;gap:9px;border-top:1px solid #edf1f5}.session-history>article:first-child{border-top:0}.session-history time{color:#748196;font-size:10px}.session-history article>div{min-width:0;display:flex;flex-direction:column}.session-history article>div strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.session-history article>div span{margin-top:2px;color:#7b8798;font-size:10px}.session-history article>b{width:34px;height:30px;display:grid;place-items:center;border-radius:7px;color:#fff;font-size:11px}.history-absent{background:#cf3341}.dashboard-empty{margin:0;padding:28px 16px;color:#7b8798;font-size:12px;text-align:center}.dashboard-periods{max-width:1180px;margin:20px auto 0;padding:4px;display:flex;gap:4px;border:1px solid #dce4ef;border-radius:11px;background:#fff}.dashboard-periods button{flex:1;min-height:38px;border:0;border-radius:8px;background:transparent;color:#657287;font-weight:750}.dashboard-periods button.active{background:#315acb;color:#fff;box-shadow:0 3px 9px #315acb33}.dashboard-tabs{max-width:1180px;margin:0 auto 14px;display:flex;gap:6px;border-bottom:1px solid #ccd7e5}.dashboard-tabs button{min-width:190px;padding:13px 18px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-bottom:3px solid transparent;background:transparent;color:#68768b;font-weight:800}.dashboard-tabs button.active{border-bottom-color:#315acb;color:#315acb}.competency-table,.activity-session-list{max-width:1180px;margin:0 auto}.competency-table>header{padding:12px 18px 12px 47px;border-bottom:1px solid #dfe6ef;background:#f8fafd;color:#718096;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.competency-table>header>div{display:grid;grid-template-columns:minmax(250px,1fr) 360px 150px;gap:14px}.competency-table>header span:last-child{text-align:right}.general-competency-row,.detail-competency-row{border-top:1px solid #e5eaf1}.general-competency-row:first-of-type{border-top:0}.general-competency-row>summary,.detail-competency-row>summary{min-height:72px;padding:12px 18px;display:grid;grid-template-columns:18px minmax(250px,1fr) 360px 150px;align-items:center;gap:14px;list-style:none;cursor:pointer}.general-competency-row>summary::-webkit-details-marker,.detail-competency-row>summary::-webkit-details-marker,.session-activity-card>summary::-webkit-details-marker{display:none}.general-competency-row>summary>svg,.detail-competency-row>summary>svg,.session-activity-card>summary>svg{transition:transform .18s ease}.general-competency-row[open]>summary>svg,.detail-competency-row[open]>summary>svg,.session-activity-card[open]>summary>svg{transform:rotate(180deg)}.general-competency-row>summary>b,.detail-competency-row>summary>b{text-align:right;color:#17233e}.competency-name{min-width:0;display:flex;align-items:center;gap:12px}.competency-name strong{min-width:56px;color:#315acb;font-size:14px}.competency-name span{overflow:hidden;color:#1f2d47;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.competency-distribution{display:flex;align-items:center;gap:6px}.competency-distribution>span{min-width:43px;padding:5px 7px;display:flex;align-items:center;justify-content:space-between;gap:5px;border-radius:7px;background:#f1f4f8;color:#536176;font-size:12px;font-weight:800}.competency-distribution>span b{width:18px;height:18px;display:grid;place-items:center;border-radius:5px;color:#fff;font-size:10px}.count-a b{background:#15885a}.count-b b{background:#3276d9}.count-c b{background:#de8b08}.count-d b{background:#cf3341}.competency-distribution small{margin-left:3px;color:#7b8798;white-space:nowrap}.linked-competencies{padding:0 14px 14px 46px;background:#f7f9fc}.detail-competency-row{overflow:hidden;border:1px solid #dfe6ef;border-radius:10px;background:#fff}.detail-competency-row+.detail-competency-row{margin-top:7px}.detail-competency-row>summary{min-height:60px;grid-template-columns:18px minmax(230px,1fr) 360px 150px;padding:9px 13px}.validation-criteria-list{padding:10px 13px 13px 43px;display:grid;gap:7px;border-top:1px solid #e7ecf3;background:#fbfcfe}.general-criteria{padding-left:13px}.criterion-line{padding:9px 10px;display:grid;grid-template-columns:28px minmax(0,1fr) 60px;align-items:start;gap:10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.criterion-line>strong{width:26px;height:26px;display:grid;place-items:center;border-radius:6px;color:#fff;font-size:12px}.criterion-line p{margin:3px 0 0;color:#4f5e74;font-size:13px;line-height:1.4}.criterion-line>span{padding-top:4px;color:#66758b;font-size:12px;font-weight:750;text-align:right}.criterion-a>strong{background:#15885a}.criterion-b>strong{background:#3276d9}.criterion-c>strong{background:#de8b08}.criterion-d>strong{background:#cf3341}.activity-session-list{display:grid;gap:10px}.session-activity-card{overflow:hidden}.session-activity-card>summary{min-height:82px;padding:14px 17px;display:grid;grid-template-columns:145px minmax(240px,1fr) 155px 130px 20px;align-items:center;gap:14px;list-style:none;cursor:pointer}.session-date,.session-main,.session-grade{display:flex;flex-direction:column;gap:4px}.session-date time,.session-main strong{color:#17233e;font-weight:800}.session-date small,.session-main span,.session-grade small{color:#7b8798;font-size:12px}.session-grade{align-items:flex-start}.session-grade b{min-width:40px;min-height:34px;padding:0 9px;display:grid;place-items:center;border-radius:8px;color:#fff}.grade-absent{background:#cf3341}.session-details{padding:14px 18px 18px;display:grid;gap:13px;border-top:1px solid #e5eaf1;background:#f8fafd}.participation-detail{padding:12px;display:flex;align-items:center;gap:10px;border:1px solid #d7e2f2;border-radius:9px;background:#fff;color:#315acb}.participation-detail>div{display:flex;flex-direction:column;gap:3px}.participation-detail span{color:#718096;font-size:12px}.session-competencies{overflow:hidden;border:1px solid #dfe6ef;border-radius:9px;background:#fff}.session-competencies h3{margin:0;padding:11px 13px;border-bottom:1px solid #e8edf3;font-size:13px}.session-competencies>div{min-height:48px;padding:8px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #edf1f5}.session-competencies>div:first-of-type{border-top:0}.session-competencies>div span{display:flex;align-items:center;gap:9px;color:#4c5a70;font-size:13px}.session-competencies>div span strong{min-width:54px;color:#315acb}.session-competencies>div b{width:34px;height:30px;display:grid;place-items:center;border-radius:7px;color:#fff}.sessions-page{max-width:1240px}.history-periods{margin:0 0 18px;padding:4px;display:flex;gap:4px;border:1px solid #dce4ef;border-radius:11px;background:#fff}.history-periods button{flex:1;min-height:39px;border:0;border-radius:8px;background:transparent;color:#657287;font-weight:750}.history-periods button.active{background:#315acb;color:#fff}.sessions-list{display:grid;gap:9px}.history-session-card{position:relative;border:1px solid #dce4ef;border-radius:13px;background:#fff;box-shadow:0 4px 14px #2233540d}.history-session-summary{min-height:76px;padding:13px 15px;display:grid;grid-template-columns:210px minmax(210px,1fr) auto auto 38px;align-items:center;gap:13px}.history-date{display:flex;align-items:center;gap:10px;color:#315acb}.history-date>div,.history-activity{min-width:0;display:flex;flex-direction:column;gap:3px}.history-date strong,.history-activity strong{overflow:hidden;color:#17233e;text-overflow:ellipsis;white-space:nowrap}.history-date span,.history-activity span{overflow:hidden;color:#78869a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.history-counts{display:flex;align-items:center;gap:7px}.history-counts span{padding:6px 8px;display:flex;align-items:center;gap:4px;border-radius:7px;background:#f1f5fa;color:#58677d;font-size:12px;font-weight:700;white-space:nowrap}.history-session-summary>.secondary{display:flex;align-items:center;justify-content:center;white-space:nowrap}.delete-history-session{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:8px;background:#fff0f1;color:#c93645}.history-saved{position:absolute;right:12px;bottom:-8px;padding:4px 7px;display:flex;align-items:center;gap:4px;border-radius:6px;background:#16885a;color:#fff;font-size:11px;font-style:normal;font-weight:750}.history-editor-backdrop{position:fixed;z-index:300;inset:0;padding:24px;display:grid;place-items:center;background:#0812288c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.history-editor{width:min(980px,100%);height:min(780px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border-radius:16px;background:#fff;box-shadow:0 30px 80px #060f2452}.history-editor>header{padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e2e8f0}.history-editor>header>div{display:flex;flex-direction:column;gap:2px}.history-editor>header span{color:#315acb;font-size:12px;font-weight:800;text-transform:uppercase}.history-editor>header h2{margin:0;font-size:21px}.history-editor>header button{border:0;background:transparent;color:#66758a;font-weight:700}.history-period-picker{padding:12px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #e7ecf3;background:#f8fafd}.history-period-picker span{font-size:13px;font-weight:750}.history-period-picker select{padding:8px 10px;border:1px solid #cdd8e6;border-radius:8px;background:#fff}.history-student-editor{min-height:0;padding:12px 20px 20px;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:7px}.history-student-editor>details{flex:0 0 auto;min-height:58px;overflow:hidden;border:1px solid #dfe6ef;border-radius:10px;background:#fff}.history-student-editor>details>summary{min-height:58px;box-sizing:border-box;padding:9px 12px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;list-style:none;color:#17233e;background:#fff;cursor:pointer}.history-student-editor summary::-webkit-details-marker{display:none}.history-student-editor summary>svg{flex:0 0 auto;transition:transform .18s}.history-student-editor details[open] summary>svg{transform:rotate(180deg)}.history-student-editor summary>div{min-width:0;display:flex;flex-direction:column;gap:2px}.history-student-editor summary strong{overflow:hidden;color:#17233e;text-overflow:ellipsis;white-space:nowrap}.history-student-editor summary span{overflow:hidden;color:#77859a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.absence-toggle{padding:7px 10px;border:1px solid #b9d9c9;border-radius:8px;background:#eefbf4;color:#168057;font-weight:750}.absence-toggle.active{border-color:#efb8bf;background:#fff0f1;color:#c93645}.history-student-detail{padding:10px 12px 13px 40px;display:grid;gap:7px;border-top:1px solid #e6ebf2;background:#f8fafd}.history-level-row{min-height:48px;padding:7px 9px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e1e7ef;border-radius:8px;background:#fff}.history-level-row>span{min-width:0;display:flex;align-items:center;gap:8px;color:#46546a;font-size:13px}.history-level-row>span>strong{min-width:52px;color:#315acb}.history-level-row>div{display:flex;gap:5px}.level-choice{width:35px;height:32px;border:1px solid #d6deea;border-radius:7px;background:#fff!important;color:#66758a!important;font-weight:850}.level-choice.active.level-a{border-color:#15885a;background:#15885a!important;color:#fff!important}.level-choice.active.level-b{border-color:#3276d9;background:#3276d9!important;color:#fff!important}.level-choice.active.level-c{border-color:#de8b08;background:#de8b08!important;color:#fff!important}.level-choice.active.level-d{border-color:#cf3341;background:#cf3341!important;color:#fff!important}.level-choice:disabled{opacity:.35;cursor:not-allowed}.level-choice.active.level-none{border-color:#8794a8;background:#8794a8!important;color:#fff!important}.history-editor>footer{padding:13px 20px;display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #e2e8f0;background:#fbfcfe}.history-editor>footer .secondary{min-width:100px}.history-editor>footer .primary{width:auto}.backup-page{max-width:1050px}.management-heading p{margin:5px 0 0;color:#6f7d91}.backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.backup-card{min-height:250px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:17px;border:1px solid #dce4ef;border-radius:15px;background:#fff;box-shadow:0 8px 24px #2233540f}.backup-card>div:nth-child(2){flex:1}.backup-card h2{margin:0 0 8px;color:#17233e;font-size:20px}.backup-card p{margin:0;color:#69788d;line-height:1.55}.backup-card small{color:#bd3544;line-height:1.4}.backup-icon{width:49px;height:49px;display:grid;place-items:center;border-radius:13px;background:#eaf1ff;color:#315acb}.backup-icon.restore{background:#edf9f3;color:#168057}.backup-card .primary,.backup-restore-button{width:100%;min-height:43px;justify-content:center}.backup-restore-button{display:flex;align-items:center;gap:7px}.backup-message{margin-top:15px;padding:13px 15px;display:flex;align-items:center;gap:9px;border-radius:10px;font-weight:700}.backup-message.success{border:1px solid #b9ddca;background:#eefbf4;color:#167a53}.backup-message.error{border:1px solid #efbdc3;background:#fff1f2;color:#bd3544}.backup-warning{margin-top:16px;padding:16px 18px;display:flex;align-items:flex-start;gap:11px;border:1px solid #d9e1ed;border-radius:12px;background:#f8fafd;color:#536176}.backup-warning svg{flex:0 0 auto;color:#315acb}.backup-warning>div{display:flex;flex-direction:column;gap:4px}.backup-warning strong{color:#23314c}.backup-warning span{line-height:1.45}@media(max-width:1500px){.topbar{height:68px;min-height:68px;grid-template-columns:minmax(0,1fr) auto auto;padding-top:0;padding-bottom:0}.session-title{min-width:0;overflow-x:auto;scrollbar-width:none}.session-title::-webkit-scrollbar{display:none}.topbar-live-actions{justify-self:end}.classroom-canvas{min-height:calc(100vh - 68px)}}@media(max-width:1180px){.student-grid{grid-template-columns:repeat(8,minmax(74px,1fr))}.topbar{grid-template-columns:minmax(0,1fr) auto auto}.session-title{overflow-x:auto;padding-bottom:2px}.sync-state span,.topbar-live-actions .topbar-tool span{display:none}}@media(max-width:880px){.app-shell.sidebar-expanded{padding-left:68px}.side-navigation.expanded{box-shadow:8px 0 28px #07123057}.topbar{height:68px;min-height:68px;grid-template-columns:minmax(0,1fr) auto auto;padding:0 9px}.session-title{grid-column:auto;grid-row:auto;overflow-x:auto;padding-bottom:0}.topbar-live-actions{grid-column:auto;grid-row:auto;width:auto}.topbar-live-actions .session-start,.topbar-live-actions .session-stop{width:38px;min-width:38px;padding:0;justify-content:center;font-size:0}.topbar-live-actions .topbar-tool{display:none}.sync-state{grid-column:auto;grid-row:auto;width:38px;height:38px;justify-content:center;padding:0}.workspace{display:block}.room-panel{padding:0}.classroom-canvas{min-height:calc(100vh - 68px);padding:22px 16px 70px;overflow:hidden}.student-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.evaluation-panel{z-index:320;top:0;width:min(430px,100vw);height:100dvh;border-left:1px solid var(--line);border-top:0}.legend{flex-wrap:wrap;gap:9px 14px}.legend small{width:100%;margin-left:0}.management-page{min-height:calc(100vh - 64px);padding:22px 14px 40px}.management-heading{align-items:start}.management-form{grid-template-columns:1fr 1fr}.management-form.pronote-form{grid-template-columns:1fr}.pronote-rosters details div{grid-template-columns:repeat(2,minmax(0,1fr))}.management-form .wide-field,.management-form .form-submit{grid-column:1 / -1}.activities-layout.editing,.criteria-editor,.classes-grid{grid-template-columns:1fr}.rooms-grid{grid-template-columns:1fr 1fr}.photo-student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns{grid-template-columns:1fr}.competency-table>header{display:none}.general-competency-row>summary,.detail-competency-row>summary{grid-template-columns:18px minmax(0,1fr) auto}.general-competency-row>summary>b,.detail-competency-row>summary>b{grid-column:3;grid-row:1}.competency-distribution{grid-column:2 / -1;grid-row:2;flex-wrap:wrap}.linked-competencies{padding-left:26px}.session-activity-card>summary{grid-template-columns:115px minmax(0,1fr) 20px}.session-grade{margin-top:5px}.session-activity-card>summary>svg{grid-column:3;grid-row:1}.history-session-summary{grid-template-columns:170px minmax(0,1fr) auto 38px}.history-counts{grid-column:2 / -1;flex-wrap:wrap}}@media(max-width:560px){.app-shell,.app-shell.sidebar-expanded{padding-left:58px}.side-navigation{width:58px}.side-navigation.expanded{width:min(238px,calc(100vw - 24px))}.side-navigation.collapsed .sidebar-toggle{left:9px}.side-navigation.collapsed .side-menu button,.side-navigation.collapsed .sidebar-logout{width:40px}.topbar{grid-template-columns:minmax(0,1fr) auto auto}.session-select{min-width:118px}.session-select.activity-top-select{min-width:160px}.secondary{font-size:0;padding:9px}.secondary svg{margin:0}.student-grid{gap:6px}.student-status-band{flex-basis:25px;padding-left:5px;font-size:10px}.student-card-body{gap:0;padding:0}.participation{width:30px;height:30px;right:2px;bottom:2px}.group-grid{gap:3px}.management-heading{flex-direction:column}.management-heading .primary{width:100%}.management-form{grid-template-columns:1fr}.pronote-rosters details div{grid-template-columns:1fr}.management-form .wide-field,.management-form .form-submit{grid-column:auto}.catalog-detail-row{padding-left:40px}.criteria-grid{grid-template-columns:1fr;padding-left:12px}.catalog-detail-row>.criteria-grid{margin-left:-40px;padding-left:40px}.competency-picker label>span{grid-template-columns:52px 1fr}.competency-picker label small{grid-column:2}.class-form{grid-template-columns:1fr}.csv-import,.class-save{grid-column:auto}.class-card{grid-template-columns:40px minmax(0,1fr)}.class-card-actions{grid-column:1 / -1;justify-content:flex-end}.class-details-editor{grid-template-columns:1fr}.class-details-editor>div{justify-content:flex-end}.student-editor-head{align-items:stretch;flex-direction:column}.student-editor-row{grid-template-columns:1fr 1fr 34px}.student-editor-row select{grid-row:2}.student-editor-row .delete-student-row{grid-column:3;grid-row:1 / 3}.assignment-list,.room-form,.rooms-grid{grid-template-columns:1fr}.photo-assignment-head{align-items:stretch;flex-direction:column}.photo-bulk-button{justify-content:center}.photo-student-grid,.dashboard-kpis{grid-template-columns:1fr}.student-dashboard-head img{width:62px;height:76px}.student-dashboard-head h1{font-size:22px}.dashboard-periods{overflow-x:auto}.dashboard-periods button{flex:0 0 auto;padding:0 13px}.dashboard-tabs button{min-width:0;flex:1;padding-inline:8px}.general-competency-row>summary,.detail-competency-row>summary{padding-inline:10px;gap:8px}.competency-name{gap:6px}.competency-name strong{min-width:46px}.competency-distribution>span{min-width:38px}.linked-competencies{padding:0 7px 10px}.validation-criteria-list{padding-left:10px}.criterion-line{grid-template-columns:28px minmax(0,1fr)}.criterion-line>span{grid-column:2;text-align:left}.session-activity-card>summary{grid-template-columns:minmax(0,1fr) 20px}.session-main,.session-grade{grid-column:1}.session-activity-card>summary>svg{grid-column:2;grid-row:1}.history-periods{overflow-x:auto}.history-periods button{flex:0 0 auto;padding:0 13px}.history-session-summary{grid-template-columns:minmax(0,1fr) 38px}.history-date,.history-activity,.history-counts,.history-session-summary>.secondary{grid-column:1}.history-session-summary>.delete-history-session{grid-column:2;grid-row:1}.history-session-summary>.secondary{width:100%;font-size:13px;padding:9px}.history-editor-backdrop{padding:0;align-items:end}.history-editor{width:100%;height:94dvh;max-height:94dvh;border-radius:16px 16px 0 0}.history-student-editor{padding-inline:10px}.history-student-detail{padding-left:10px}.history-level-row{align-items:flex-start;flex-direction:column}.history-editor>footer .secondary{font-size:13px;padding:9px 12px}.backup-grid{grid-template-columns:1fr}.backup-card{min-height:220px;padding:19px}}.qcm-admin-shell,.qcm-student-shell{min-height:100vh;background:#f4f7fb;color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.qcm-admin-shell *,.qcm-student-shell *{box-sizing:border-box}.qcm-admin-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 28px;background:#fff;border-bottom:1px solid #dfe5ef;box-shadow:0 2px 12px #1c2c4a0d}.qcm-admin-topbar>div{display:flex;align-items:center;gap:12px}.qcm-admin-topbar h1{margin:0;font-size:24px}.qcm-back{display:inline-flex;align-items:center;gap:7px;color:#30486d;text-decoration:none;font-weight:700}.qcm-beta{padding:4px 8px;border-radius:999px;background:#fff2cc;color:#7b5600;font-size:11px;font-weight:800;letter-spacing:.04em}.qcm-admin-topbar nav{display:flex;gap:6px}.qcm-admin-topbar nav button{position:relative;display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;padding:10px 13px;border-radius:10px;color:#526176;font-weight:700;cursor:pointer}.qcm-admin-topbar nav button.active{background:#eaf1ff;color:#1457c7}.qcm-admin-topbar nav button i{position:absolute;width:8px;height:8px;border-radius:50%;background:#e44747;right:4px;top:4px}.qcm-admin-page{max-width:1220px;margin:0 auto;padding:30px 28px 60px}.qcm-page-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}.qcm-page-heading span{display:block;color:#3c6fbe;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.qcm-page-heading h2{font-size:30px;margin:5px 0 6px}.qcm-page-heading p{margin:0;color:#667287;max-width:760px}.qcm-bank-stats{display:grid;grid-template-columns:auto auto;gap:2px 10px;background:#fff;padding:14px 18px;border:1px solid #dfe5ef;border-radius:14px}.qcm-bank-stats strong{font-size:20px;text-align:right}.qcm-bank-stats span{font-size:12px!important;color:#778398!important;text-transform:none!important;letter-spacing:0!important;align-self:center}.qcm-toast{position:fixed;z-index:80;top:84px;left:50%;transform:translate(-50%);min-width:min(620px,calc(100vw - 32px));display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 16px;border-radius:12px;box-shadow:0 12px 34px #1f2e4e2e;font-weight:700}.qcm-toast.error{background:#fff0f0;color:#9c2626;border:1px solid #f0b8b8}.qcm-toast.success{background:#eefaf2;color:#246d3b;border:1px solid #b6e1c2}.qcm-toast button{border:0;background:transparent;color:inherit;cursor:pointer}.qcm-import-card,.qcm-launch-card,.qcm-question-list,.qcm-history-card{background:#fff;border:1px solid #dfe5ef;border-radius:18px;box-shadow:0 6px 20px #1f2e4e0d}.qcm-import-card,.qcm-launch-card{padding:22px}.qcm-section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.qcm-section-title>div{display:flex;align-items:center;gap:11px}.qcm-section-title strong{display:block}.qcm-section-title span{display:block;color:#778398;font-size:13px;margin-top:2px}.qcm-primary,.qcm-secondary,.qcm-danger{border:0;border-radius:10px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750;cursor:pointer;text-decoration:none}.qcm-primary{background:#1559c7;color:#fff}.qcm-primary:hover{background:#104cae}.qcm-primary:disabled{opacity:.5;cursor:not-allowed}.qcm-primary.compact{padding:8px 11px}.qcm-primary.huge{padding:15px 24px;font-size:17px}.qcm-primary.finish{background:#18794e}.qcm-secondary{background:#edf2f8;color:#354861}.qcm-secondary:hover{background:#e2e9f3}.qcm-danger{background:#fff0f0;color:#a32828;padding:9px 11px}.qcm-source-toggle,.qcm-mode-cards{display:flex;gap:8px;margin-bottom:18px}.qcm-source-toggle button,.qcm-mode-cards button{flex:1;border:1px solid #d9e1ec;background:#f9fbfd;border-radius:12px;padding:13px 15px;text-align:left;cursor:pointer;color:#4d5b70}.qcm-source-toggle button{font-weight:750;text-align:center}.qcm-source-toggle button.active,.qcm-mode-cards button.active{border-color:#4d84d6;background:#edf4ff;color:#164f9f;box-shadow:inset 0 0 0 1px #4d84d6}.qcm-mode-cards button strong,.qcm-mode-cards button span{display:block}.qcm-mode-cards button span{font-size:13px;margin-top:5px;line-height:1.4}.qcm-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:15px}.qcm-form-grid.one-wide{grid-template-columns:1fr}.qcm-form-grid label,.qcm-import-card>label,.qcm-edit-modal>label,.qcm-count-row label,.qcm-count-grid label{display:flex;flex-direction:column;gap:6px}.qcm-form-grid label span,.qcm-import-card>label span,.qcm-edit-modal>label span,.qcm-count-row span,.qcm-count-grid span{font-size:12px;font-weight:800;color:#536178}.qcm-form-grid input,.qcm-form-grid select,.qcm-import-card textarea,.qcm-edit-modal input,.qcm-edit-modal textarea,.qcm-count-row input,.qcm-count-grid input{border:1px solid #cad4e3;border-radius:10px;padding:11px 12px;background:#fff;color:#172033;font:inherit}.qcm-bulk-field textarea{min-height:245px;resize:vertical;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.5}.qcm-question-list{margin-top:24px;padding:22px}.qcm-question-card{border:1px solid #dde4ed;border-radius:14px;padding:18px;margin-top:13px;background:#fff}.qcm-question-card.draft{border-left:4px solid #d99b22}.qcm-question-card.validated{border-left:4px solid #2f9a61}.qcm-question-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.qcm-question-meta span{padding:4px 8px;border-radius:999px;background:#eef2f7;color:#5a6677;font-size:11px;font-weight:700}.qcm-question-meta .qcm-valid-badge{background:#e7f7ed;color:#257247}.qcm-question-meta .qcm-draft-badge{background:#fff3d9;color:#875a00}.qcm-question-prompt{font-size:17px;font-weight:720;line-height:1.5;white-space:pre-wrap}.qcm-question-image{display:block;max-width:min(560px,100%);max-height:320px;object-fit:contain;margin:14px auto;border-radius:10px;border:1px solid #e0e5ed}.qcm-option-preview{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.qcm-option-preview>div{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;border:1px solid #e0e5ed;border-radius:10px;padding:9px 10px;background:#fafbfd}.qcm-option-preview>div.correct{border-color:#75c492;background:#effaf3}.qcm-option-preview b{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#e6ebf2}.qcm-option-preview>div.correct b{background:#2d8c55;color:#fff}.qcm-card-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #edf0f4;padding-top:13px}.qcm-file-button{position:relative;overflow:hidden;cursor:pointer}.qcm-file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.qcm-modal-backdrop{position:fixed;z-index:100;inset:0;background:#141e307a;display:grid;place-items:center;padding:24px}.qcm-edit-modal{width:min(850px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:22px;box-shadow:0 20px 60px #101d3347;display:flex;flex-direction:column;gap:14px}.qcm-modal-title{display:flex;justify-content:space-between;align-items:center}.qcm-modal-title span{font-size:11px;text-transform:uppercase;color:#6581aa;font-weight:800}.qcm-modal-title h3{margin:2px 0 0;font-size:24px}.qcm-modal-title button{border:0;background:#eef2f7;border-radius:9px;padding:7px;cursor:pointer}.qcm-edit-modal textarea{min-height:90px;resize:vertical}.qcm-edit-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.qcm-edit-options label{display:grid;grid-template-columns:42px 1fr;gap:8px;padding:8px;border:1px solid #dde4ed;border-radius:12px}.qcm-edit-options label.correct{border-color:#54ae79;background:#f0faf4}.qcm-edit-options label button{border:0;border-radius:8px;background:#e9edf3;font-weight:900;cursor:pointer}.qcm-edit-options label.correct button{background:#278655;color:#fff}.qcm-edit-options textarea{min-height:70px;border:0;padding:5px;background:transparent;resize:vertical}.qcm-count-row{display:grid;grid-template-columns:minmax(220px,360px);margin:18px 0}.qcm-count-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.qcm-count-grid label,.qcm-count-row label{padding:15px;border:1px solid #dfe5ef;border-radius:12px;background:#fafbfd}.qcm-count-grid input,.qcm-count-row input{font-size:22px;font-weight:800;width:100px}.qcm-count-grid small{color:#7a8696;line-height:1.35}.qcm-launch-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px;background:#f3f6fa;border-radius:12px;color:#526176}.qcm-launch-summary strong{margin-left:auto;color:#173c74}.qcm-launch-button{margin-top:16px;width:100%;padding:14px;font-size:16px}.qcm-live-page{min-height:calc(100vh - 74px);background:#0f1f36;color:#fff}.qcm-live-header{display:flex;align-items:center;justify-content:space-between;padding:15px 26px;background:#0b1728;border-bottom:1px solid rgba(255,255,255,.12)}.qcm-live-header>div{display:flex;align-items:center;gap:9px}.qcm-live-header span{color:#aebdd1;font-size:13px}.qcm-lobby{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:38px;max-width:1100px;margin:0 auto;padding:70px 32px}.qcm-lobby-copy>span{color:#93b9f4;font-weight:700}.qcm-lobby-copy h2{font-size:46px;margin:8px 0 22px}.qcm-session-code{display:inline-flex;align-items:center;gap:12px;background:#fff;color:#10223c;padding:12px 18px;border-radius:16px}.qcm-session-code small{font-weight:900;color:#6a7890}.qcm-session-code strong{font-size:36px;letter-spacing:.08em}.qcm-lobby-copy p{color:#a7b7cb;word-break:break-all}.qcm-lobby-copy .qcm-primary{margin-top:14px}.qcm-qr-card{background:#fff;border-radius:22px;padding:20px;display:flex;flex-direction:column;align-items:center;color:#1f2b3e;font-weight:800}.qcm-qr-card svg{max-width:100%;height:auto}.qcm-qr-fallback{background:#fff;color:#222;padding:20px;text-align:center;word-break:break-all}.qcm-board{max-width:1320px;margin:0 auto;padding:24px 30px 38px}.qcm-board-progress{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;color:#c3cfdf}.qcm-board-progress>div{display:flex;align-items:center;gap:7px}.qcm-board-question{font-size:clamp(28px,3vw,46px);font-weight:800;line-height:1.25;text-align:center;white-space:pre-wrap;max-width:1100px;margin:10px auto 22px}.qcm-board-content>img{display:block;max-width:min(760px,80vw);max-height:360px;object-fit:contain;margin:0 auto 20px;background:#fff;border-radius:10px}.qcm-board-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.qcm-board-options article{position:relative;display:grid;grid-template-columns:58px 1fr;align-items:center;gap:12px;min-height:112px;padding:14px 18px;border:2px solid rgba(255,255,255,.18);border-radius:16px;background:#182b47;font-size:20px;line-height:1.3}.qcm-board-options article.correct{border-color:#50d28a;background:#163e34}.qcm-board-letter{width:54px;height:54px;border-radius:14px;background:#fff;color:#14243b;display:grid;place-items:center;font-size:28px;font-weight:900}.qcm-result-bar{grid-column:1/-1;position:relative;height:28px;border-radius:8px;background:#ffffff14;overflow:hidden;display:flex;align-items:center;gap:8px;padding:0 9px}.qcm-result-bar>span{position:absolute;left:0;top:0;bottom:0;background:#6fb2ff59}.qcm-board-options article.correct .qcm-result-bar>span{background:#43d68366}.qcm-result-bar b,.qcm-result-bar small,.qcm-result-bar svg{position:relative;z-index:1}.qcm-result-bar small{margin-left:auto}.qcm-explanation{margin-top:18px;padding:16px 18px;border-radius:14px;background:#f3f6fb;color:#172033}.qcm-explanation strong{display:block;margin-bottom:5px}.qcm-live-controls{display:flex;justify-content:center;margin-top:22px}.qcm-finished-live{max-width:960px;margin:0 auto;padding:70px 28px;text-align:center}.qcm-finished-live h2{font-size:38px;margin:10px 0}.qcm-score-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:24px 0;text-align:left}.qcm-score-grid article{display:grid;grid-template-columns:1fr auto auto 42px;gap:10px;align-items:center;background:#fff;color:#172033;border-radius:12px;padding:11px 13px}.qcm-score-grid article i,.qcm-history-scores b{font-style:normal;text-align:center;border-radius:8px;padding:5px}.mastery-a{background:#dff5e7!important;color:#246f43!important}.mastery-b{background:#e4efff!important;color:#215ba2!important}.mastery-c{background:#fff0cb!important;color:#805700!important}.mastery-d{background:#ffe0e0!important;color:#9a2929!important}.qcm-empty-live{min-height:calc(100vh - 74px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#40506a}.qcm-empty-live h2{font-size:30px;margin:12px 0 4px}.qcm-empty-live p{margin:0 0 18px}.qcm-history-list{display:flex;flex-direction:column;gap:12px}.qcm-history-card{overflow:hidden}.qcm-history-card summary{list-style:none;display:grid;grid-template-columns:1fr auto auto auto;gap:16px;align-items:center;padding:16px 18px;cursor:pointer}.qcm-history-card summary::-webkit-details-marker{display:none}.qcm-history-card summary>div:first-child span,.qcm-history-card summary>div:first-child strong,.qcm-history-card summary>div:first-child small{display:block}.qcm-history-card summary>div:first-child span{font-size:11px;color:#758195}.qcm-history-card summary>div:first-child small{color:#69768a;margin-top:2px}.qcm-history-card summary>span{padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}.qcm-history-card summary>span.evaluated{background:#e8f1ff;color:#245ea7}.qcm-history-card summary>span.prerequisite{background:#f0f2f5;color:#5c6675}.qcm-history-kpi{text-align:right}.qcm-history-kpi small,.qcm-history-kpi strong{display:block}.qcm-history-scores{border-top:1px solid #e7ebf1;padding:8px 18px 16px}.qcm-history-scores>div{display:grid;grid-template-columns:1fr 70px 90px 40px;gap:10px;align-items:center;padding:8px;border-bottom:1px solid #eef1f5}.qcm-history-note{padding:14px 18px;border-top:1px solid #e7ebf1;color:#677489}.qcm-empty{padding:28px;text-align:center;color:#7b8798;border:1px dashed #ccd5e2;border-radius:12px}.qcm-shortcut{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:999px;background:#162d4c;color:#fff;text-decoration:none;font-weight:800;box-shadow:0 10px 24px #142b4940}.qcm-student-shell{background:#eef3f9;display:flex;flex-direction:column}.qcm-student-head{height:62px;background:#fff;border-bottom:1px solid #dfe5ed;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.qcm-student-head>div{display:flex;align-items:center;gap:9px;font-weight:800}.qcm-student-head img{width:32px;height:32px}.qcm-student-head button{border:0;background:#edf1f6;border-radius:10px;padding:8px;color:#40516b}.qcm-login-screen{align-items:center;justify-content:center;padding:20px}.qcm-student-card{width:min(430px,100%);background:#fff;border-radius:22px;padding:26px;box-shadow:0 15px 40px #1e304c1f;text-align:center}.qcm-student-logo{display:flex;align-items:center;justify-content:center;gap:9px;font-size:22px;font-weight:900}.qcm-student-logo img{width:44px;height:44px}.qcm-code-pill{display:inline-block;margin:16px 0;padding:6px 11px;border-radius:999px;background:#eef3fa;color:#47607f;font-weight:800}.qcm-student-card h1{margin:9px 0 6px;font-size:27px}.qcm-student-card p{color:#6a778b;line-height:1.45}.qcm-student-card form{display:flex;flex-direction:column;gap:12px;text-align:left;margin-top:18px}.qcm-student-card label{display:flex;flex-direction:column;gap:6px}.qcm-student-card label span{font-size:12px;font-weight:800;color:#56667c}.qcm-student-card input{border:1px solid #cbd5e3;border-radius:11px;padding:12px 13px;font-size:16px}.qcm-student-primary{border:0;border-radius:11px;padding:13px;background:#1458c7;color:#fff;font-size:16px;font-weight:800}.qcm-student-error{background:#fff0f0;color:#9b2828;border:1px solid #f0baba;border-radius:10px;padding:10px;font-size:13px}.qcm-loading{margin:auto}.qcm-student-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;max-width:520px;margin:0 auto}.qcm-student-state>span{margin-top:16px;color:#5d7190;font-weight:700}.qcm-student-state h1{font-size:34px;margin:9px 0 6px}.qcm-student-state p{color:#68768a;line-height:1.5;max-width:430px}.qcm-waiting-dots{display:flex;gap:7px;margin-top:20px}.qcm-waiting-dots i{width:9px;height:9px;border-radius:50%;background:#4e7fc8;animation:qcmPulse 1.1s infinite alternate}.qcm-waiting-dots i:nth-child(2){animation-delay:.2s}.qcm-waiting-dots i:nth-child(3){animation-delay:.4s}.qcm-student-question{flex:1;width:min(620px,100%);margin:0 auto;padding:20px 16px 32px}.qcm-mobile-progress{display:flex;justify-content:space-between;align-items:center;margin:3px 0 18px}.qcm-mobile-progress span{font-size:20px;font-weight:850}.qcm-mobile-progress small{color:#6d7a8c}.qcm-look-board{background:#162d4c;color:#fff;border-radius:16px;padding:17px 18px;margin-bottom:18px}.qcm-look-board strong,.qcm-look-board span{display:block}.qcm-look-board strong{font-size:18px}.qcm-look-board span{color:#bed0e6;margin-top:3px}.qcm-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.qcm-answer-grid button{position:relative;aspect-ratio:1.45/1;border:2px solid #cfd8e5;border-radius:18px;background:#fff;color:#17253a;display:grid;place-items:center;font-size:clamp(46px,15vw,74px);font-weight:900;box-shadow:0 5px 14px #1e304c0f;touch-action:manipulation}.qcm-answer-grid button.selected{border-color:#175cc9;box-shadow:inset 0 0 0 3px #175cc9;background:#edf4ff}.qcm-answer-grid button svg{position:absolute;right:12px;top:12px;color:#175cc9}.qcm-answer-grid button:disabled{opacity:.75}.qcm-answer-help{text-align:center;color:#68768a;font-size:13px;line-height:1.45;margin:15px auto 0;max-width:500px}.qcm-student-finished a{display:inline-block;margin-top:18px;background:#1458c7;color:#fff;text-decoration:none;padding:12px 16px;border-radius:11px;font-weight:800}.spin{animation:qcmSpin 1s linear infinite}@keyframes qcmSpin{to{transform:rotate(360deg)}}@keyframes qcmPulse{0%{opacity:.25;transform:translateY(2px)}to{opacity:1;transform:translateY(-2px)}}@media(max-width:820px){.qcm-admin-topbar{padding:12px 14px;align-items:flex-start}.qcm-admin-topbar>div h1,.qcm-admin-topbar>div .qcm-beta{display:none}.qcm-admin-topbar nav{overflow:auto;max-width:68vw}.qcm-admin-topbar nav button{padding:9px}.qcm-admin-topbar nav button svg{display:none}.qcm-admin-page{padding:22px 14px 45px}.qcm-page-heading{flex-direction:column}.qcm-form-grid,.qcm-count-grid,.qcm-option-preview,.qcm-edit-options{grid-template-columns:1fr}.qcm-lobby{grid-template-columns:1fr;padding:32px 18px}.qcm-lobby-copy h2{font-size:34px}.qcm-qr-card{order:-1;width:min(360px,100%);justify-self:center}.qcm-board{padding:18px 12px}.qcm-board-options{grid-template-columns:1fr}.qcm-board-question{font-size:27px}.qcm-score-grid{grid-template-columns:1fr}.qcm-history-card summary{grid-template-columns:1fr auto}.qcm-history-card summary>.qcm-history-kpi{grid-column:1/2;text-align:left}.qcm-history-card summary>svg{grid-column:2;grid-row:1/3}.qcm-history-scores>div{grid-template-columns:1fr 55px 78px 36px}.qcm-shortcut{right:10px;bottom:10px}.qcm-answer-grid{gap:10px}.qcm-student-head{height:56px}}.qcm-dashboard-list{display:flex;flex-direction:column;gap:10px}.qcm-dashboard-score{display:grid;grid-template-columns:minmax(145px,.8fr) minmax(200px,1.6fr) minmax(105px,.65fr) minmax(115px,.72fr) 46px;align-items:center;gap:14px;padding:15px 18px}.qcm-dashboard-score .session-date time,.qcm-dashboard-score .session-date small,.qcm-dashboard-score .session-main strong,.qcm-dashboard-score .session-main span,.qcm-dashboard-score .session-grade small,.qcm-dashboard-score .session-grade strong{display:block}.qcm-dashboard-score .session-date time{font-weight:750}.qcm-dashboard-score .session-date small,.qcm-dashboard-score .session-main span,.qcm-dashboard-score .session-grade small{color:#768296;font-size:12px;margin-top:3px}.qcm-dashboard-score .session-main strong{font-size:15px}.qcm-dashboard-score .session-grade strong{margin-top:3px}.qcm-dashboard-score>b{justify-self:end;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;font-size:16px}.qcm-dashboard-score>b.level-a{background:#dff5e7;color:#246f43}.qcm-dashboard-score>b.level-b{background:#e4efff;color:#215ba2}.qcm-dashboard-score>b.level-c{background:#fff0cb;color:#805700}.qcm-dashboard-score>b.level-d{background:#ffe0e0;color:#9a2929}.qcm-shortcut{position:fixed;z-index:120;left:14px;bottom:72px;display:flex;align-items:center;gap:7px;padding:11px 13px;border-radius:12px;background:#1559c7;color:#fff;text-decoration:none;font-weight:850;box-shadow:0 8px 24px #1559c747;border:1px solid rgba(255,255,255,.25)}.qcm-shortcut:hover{background:#104cae;transform:translateY(-1px)}.qcm-shortcut span{font-size:14px;letter-spacing:.01em}.qcm-shortcut small{font-size:9px;letter-spacing:.08em;padding:3px 5px;border-radius:999px;background:#ffffff2e;color:#fff}@media(max-width:850px){.qcm-dashboard-score{grid-template-columns:1fr auto}.qcm-dashboard-score .session-main{grid-column:1/-1}.qcm-dashboard-score .session-grade{min-width:120px}.qcm-dashboard-score>b{grid-column:2;grid-row:1}.qcm-shortcut{left:10px;bottom:10px}}.curriculum-shell{min-height:100vh;background:#f4f7fb;color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.curriculum-shell *{box-sizing:border-box}.curriculum-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 24px;background:#fff;border-bottom:1px solid #dfe5ef;box-shadow:0 2px 12px #1c2c4a0d}.curriculum-topbar>div{display:flex;align-items:center;gap:20px}.curriculum-topbar h1{margin:1px 0 0;font-size:23px}.curriculum-topbar span{display:block;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#6581aa}.curriculum-back{display:inline-flex;align-items:center;gap:7px;color:#30486d;text-decoration:none;font-weight:800}.curriculum-save{border:0;border-radius:10px;background:#1559c7;color:#fff;padding:11px 15px;display:inline-flex;align-items:center;gap:8px;font-weight:800;cursor:pointer}.curriculum-save:disabled{background:#d6dee9;color:#7c899b;cursor:default}.curriculum-page{max-width:1120px;margin:0 auto;padding:30px 26px 60px}.curriculum-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.curriculum-heading>div>span{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#3c6fbe}.curriculum-heading h2{font-size:31px;margin:5px 0 4px}.curriculum-heading p{margin:0;color:#68768a}.curriculum-counts{display:grid;grid-template-columns:auto auto;gap:3px 10px;padding:13px 17px;border:1px solid #dfe5ef;border-radius:14px;background:#fff}.curriculum-counts strong{font-size:20px;text-align:right}.curriculum-counts small{align-self:center;color:#768296}.curriculum-levels{display:flex;gap:7px;flex-wrap:wrap;padding:6px;background:#e9eef5;border-radius:13px;margin-bottom:18px}.curriculum-levels button{border:0;background:transparent;padding:10px 15px;border-radius:9px;font-weight:800;color:#556579;cursor:pointer}.curriculum-levels button.active{background:#fff;color:#1559c7;box-shadow:0 2px 8px #19386017}.curriculum-actions{display:flex;gap:9px;justify-content:flex-end;margin-bottom:15px}.curriculum-actions button,.add-chapter,.curriculum-empty-page button{border:1px solid #ccd6e4;background:#fff;color:#354861;border-radius:9px;padding:9px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:750;cursor:pointer}.curriculum-actions button:hover,.add-chapter:hover,.curriculum-empty-page button:hover{background:#edf4ff;border-color:#b9cae3;color:#1559c7}.curriculum-theme-list{display:flex;flex-direction:column;gap:14px}.curriculum-theme{background:#fff;border:1px solid #dfe5ef;border-radius:16px;overflow:hidden;box-shadow:0 4px 15px #1f2e4e0a}.curriculum-theme>header{display:grid;grid-template-columns:86px 1fr 38px;align-items:center;gap:10px;padding:14px 16px;background:#f8fafc;border-bottom:1px solid #e5eaf1}.curriculum-theme>header>span{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:#6f7f94}.curriculum-theme input{width:100%;border:1px solid transparent;background:transparent;border-radius:8px;padding:8px 9px;font:inherit;color:#172033}.curriculum-theme>header input{font-weight:850;font-size:17px}.curriculum-theme input:hover,.curriculum-theme input:focus{border-color:#bfcde0;background:#fff;outline:none}.curriculum-chapters{padding:9px 16px 15px}.curriculum-chapter{display:grid;grid-template-columns:32px 1fr 34px;align-items:center;gap:8px;border-bottom:1px solid #edf0f4;padding:4px 0}.curriculum-chapter:last-of-type{border-bottom:0}.curriculum-chapter>b{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#edf2f8;color:#4f617a;font-size:12px}.curriculum-chapter input{font-size:14px}.delete{border:0;background:transparent;color:#9f3e3e;border-radius:8px;padding:7px;display:grid;place-items:center;cursor:pointer}.delete:hover{background:#fff0f0}.add-chapter{margin-top:10px}.curriculum-empty{color:#7a8798;font-size:13px;font-style:italic}.curriculum-empty-page{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:45px 20px;background:#fff;border:1px dashed #cdd7e4;border-radius:15px;color:#617086}.curriculum-history-note{margin:20px 0 0;padding:13px 15px;border-radius:11px;background:#fff7df;color:#725500;border:1px solid #ecd89b;font-size:13px;line-height:1.5}.curriculum-toast{position:fixed;z-index:90;top:78px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:min(600px,calc(100vw - 30px));padding:12px 15px;border-radius:11px;font-weight:750;box-shadow:0 10px 30px #1f2e4e2e}.curriculum-toast.success{background:#eefaf2;color:#246d3b;border:1px solid #b6e1c2}.curriculum-toast.error{background:#fff0f0;color:#9c2626;border:1px solid #f0b8b8}.curriculum-toast button{border:0;background:transparent;color:inherit;cursor:pointer}.curriculum-state{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#f4f7fb;color:#354861;text-align:center}.curriculum-state h1{margin:3px 0}.curriculum-state a{color:#1559c7;font-weight:800}@media(max-width:700px){.curriculum-topbar{padding:12px 14px}.curriculum-topbar>div{gap:10px}.curriculum-topbar h1{font-size:18px}.curriculum-back{font-size:0}.curriculum-back svg{width:20px;height:20px}.curriculum-page{padding:22px 14px 45px}.curriculum-heading{display:block}.curriculum-counts{margin-top:14px;width:max-content}.curriculum-theme>header{grid-template-columns:72px 1fr 34px}.curriculum-actions{justify-content:stretch}.curriculum-actions button{flex:1}.curriculum-levels{display:grid;grid-template-columns:1fr 1fr}.curriculum-save{padding:9px 11px}}.admin-shortcuts{position:fixed;z-index:420;left:9px;bottom:72px;width:50px;display:grid;gap:5px;pointer-events:auto}.admin-nav-shortcut{width:50px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:13px;padding:0;border:0;border-radius:10px;background:transparent;color:#c9d5f5;text-decoration:none;font-size:14px;font-weight:750;white-space:nowrap;overflow:hidden;transition:background .15s ease,color .15s ease,width .22s ease}.admin-nav-shortcut svg{flex:0 0 20px}.admin-nav-shortcut span{display:none}.admin-nav-shortcut:hover{background:#ffffff1a;color:#fff}.admin-nav-shortcut:focus-visible{outline:2px solid #8fb4ff;outline-offset:2px}body:has(.side-navigation.expanded) .admin-shortcuts{width:220px}body:has(.side-navigation.expanded) .admin-nav-shortcut{width:220px;justify-content:flex-start;padding:0 13px}body:has(.side-navigation.expanded) .admin-nav-shortcut span{display:inline}@media(max-height:760px){.admin-shortcuts{bottom:64px;gap:2px}.admin-nav-shortcut{min-height:40px}}
