:root{color-scheme:light;--background:#f6f8fb;--foreground:#1f2633;--muted:#667085;--border:#d8e0ec;--soft:#eef5ff;--accent:#2f6fdd;--accent-dark:#174a9c;--surface:rgba(255,255,255,0.94);--shadow-soft:0 18px 48px rgba(31,41,55,0.08);--shadow-hover:0 24px 68px rgba(31,41,55,0.13)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 18% 8%,#eaf2ff 0,transparent 34%),radial-gradient(circle at 92% 10%,#eef7f2 0,transparent 28%),linear-gradient(180deg,#fbfcff 0,var(--background) 100%);color:var(--foreground);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}main{min-height:100vh;padding:36px 20px}.page{width:min(920px,100%);margin:0 auto}.page-wide{width:min(1120px,100%)}.page-narrow{width:min(760px,100%)}.eyebrow{color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.card,.panel{border:1px solid rgba(30,64,175,.08);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}.panel{padding:24px}.soft-panel{background:#f8fbff;box-shadow:none}.compact-panel{padding:18px}.muted{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#ffffff;padding:10px 14px;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}.activity-row-link:hover,.button:hover,.icon-button:hover,.learner-live-card:hover,.learner-summary:hover,.picker-row:hover,.session-row-card:hover,.tab:hover{transform:translateY(-1px)}.button:hover{box-shadow:0 12px 28px rgba(47,111,221,.2)}.cta-create{gap:8px}.button-plus{display:inline-grid;width:22px;height:22px;place-items:center;border-radius:6px;background:rgba(255,255,255,.18);font-size:1.15rem;line-height:1}.button.secondary{background:#ffffff;color:var(--accent)}.button:disabled{cursor:not-allowed;opacity:.6}.button-row,.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app-shell{min-height:100vh;padding:24px}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:16px;gap:16px;width:min(1120px,100%);margin:0 auto 28px}.brand,.brand-large{font-weight:900}.brand{gap:8px;font-size:1.15rem;text-decoration:none}.brand,.brand-large{display:inline-flex;align-items:center}.brand-large{gap:10px;font-size:1.35rem}.brand img,.brand-large img{border-radius:8px}.brand-lockup{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.back-button{width:-moz-fit-content;width:fit-content;border:0;background:transparent;color:var(--accent);padding:0;font:inherit;cursor:pointer}.avatar,.back-button{display:inline-flex;align-items:center;font-weight:900}.avatar{justify-self:end;width:42px;height:42px;justify-content:center;border:1px solid var(--border);border-radius:8px;background:#ffffff}.avatar-button{cursor:pointer}.avatar-blue{justify-self:auto;background:#eaf1ff;color:var(--accent-dark)}.profile-menu{position:relative}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:20;display:grid;min-width:220px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#ffffff;box-shadow:0 18px 45px rgba(31,41,55,.12)}.profile-dropdown a,.profile-dropdown button{border:0;background:#ffffff;color:var(--foreground);padding:12px 14px;font:inherit;font-weight:800;text-align:left;text-decoration:none;cursor:pointer}.profile-dropdown a:hover,.profile-dropdown button:hover{background:#f4f7fb}.tabs{display:inline-grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;border:1px solid var(--border);border-radius:8px;background:#ffffff}.dashboard-tabs{grid-template-columns:repeat(5,1fr);width:max(80%,min(920px,100%));min-width:min(80%,100%);margin-bottom:24px}.tab{border:0;border-radius:6px;background:transparent;padding:12px 16px;color:#596579;cursor:pointer;font-size:1rem;font-weight:900}.tab.active{background:#e8f0ff;color:#0f3d86}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px;margin-top:16px}.card{padding:18px}.activity-card{min-height:190px}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.session-action-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.type-icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:8px;font-weight:900}.type-mise_en_situation{background:#dbeafe;color:#1e40af}.type-jeu{background:#ede9fe;color:#6d28d9}.type-evaluation{background:#fef3c7;color:#92400e}.status-pill{display:inline-flex;border:1px solid var(--border);border-radius:8px;padding:4px 8px;color:var(--muted);font-size:.82rem;font-weight:800}.icon-button{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--foreground);font-weight:900;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.answer-list,.form-grid,.learner-list{display:grid;grid-gap:14px;gap:14px}.answer-card{cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-gap:16px;gap:16px}.answer-meta{display:grid;justify-items:end;grid-gap:8px;gap:8px}.answer-detail{grid-column:1/-1;border-top:1px solid var(--border);padding-top:12px}.answer-timeline{display:grid;grid-gap:18px;gap:18px}.timeline-day{display:grid;grid-gap:10px;gap:10px}.timeline-day>h3{margin:0;color:var(--muted);font-size:.95rem}.answer-detail img,.card img{border-radius:8px;max-width:100%}.image-carousel{display:grid;grid-gap:12px;gap:12px}.carousel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:900}.carousel-main{display:block;width:100%;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#f8fbff;padding:0;cursor:zoom-in}.carousel-main img{display:block;width:100%;max-height:56vh;object-fit:contain}.carousel-controls{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.carousel-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.carousel-thumbs button{flex:0 0 58px;width:58px;height:58px;overflow:hidden;border:2px solid transparent;border-radius:8px;background:#ffffff;padding:0;cursor:pointer}.carousel-thumbs button.active{border-color:var(--accent)}.carousel-thumbs img{width:100%;height:100%;object-fit:cover}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(15,23,42,.62);animation:modal-fade .16s ease;padding:18px}.zoom-backdrop{background:rgba(4,10,24,.88);padding:0}.modal-card,.review-modal,.zoom-modal{position:relative;width:min(720px,100%);max-height:92vh;overflow:auto}.zoom-modal{width:80vw;height:88vh;max-height:88vh;overflow:hidden}.modal-card{border-radius:8px;background:#ffffff;padding:18px;box-shadow:0 28px 80px rgba(15,23,42,.24);animation:modal-rise .18s ease}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-rise{0%{opacity:0;transform:translateY(8px)}}.zoom-modal{display:grid;place-items:center;grid-gap:12px;gap:12px}.zoom-modal img{max-width:100%;max-height:82vh;border-radius:8px;background:#ffffff;transition:transform .16s ease}.zoom-tools{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:1;display:flex;justify-content:center;gap:6px;border-radius:8px;background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:6px}.zoom-tool-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:rgba(255,255,255,.18);color:#ffffff;cursor:pointer;font-size:1rem;font-weight:900}.modal-close{position:absolute;top:10px;right:10px;z-index:2;display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--foreground);font-size:1.35rem;font-weight:900;cursor:pointer}.photo-preview-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.photo-preview{display:grid;grid-gap:6px;gap:6px}.photo-preview img{width:100%;aspect-ratio:1;border-radius:8px;object-fit:cover}.photo-preview span{color:var(--muted);font-size:.72rem;overflow-wrap:anywhere}.answer-review-card{padding:14px}.settings-toggle-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#ffffff;box-shadow:var(--shadow-soft)}.settings-toggle-card small,.settings-toggle-card strong{display:block}.settings-toggle-card small{margin-top:4px;color:var(--muted);line-height:1.45}.settings-toggle-card input{width:22px;height:22px;accent-color:var(--primary)}.backoffice-page{min-height:100vh;padding:28px;background:radial-gradient(circle at top left,rgba(37,99,235,.12),transparent 34%),#f7f9fc}.backoffice-header{display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(1180px,100%);margin:0 auto 18px}.backoffice-header h1{margin:0}.backoffice-tabs{width:min(1180px,100%);margin:0 auto 18px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;overflow:visible;padding:8px}.backoffice-tabs .tab{flex:0 1 150px;text-align:center}.backoffice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.organization-logo-preview{width:92px;height:92px;border:1px solid var(--border);border-radius:8px;object-fit:contain;background:#ffffff}.learner-row-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px}.avatar-img{width:44px;height:44px;border-radius:8px;object-fit:cover}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:end}.programme-tree{display:grid;grid-gap:14px;gap:14px}.programme-chapitre,.programme-module{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fbfcff}.programme-chapitre strong,.programme-module h4{margin:0;padding-left:10px;border-left:4px solid var(--primary)}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.pill,.programme-tag{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--muted);font-size:.78rem}.clickable-card{width:100%;color:inherit;text-align:left;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.clickable-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}.activity-preview-list{display:grid;grid-gap:10px;gap:10px;max-height:min(60vh,680px);overflow:auto}.field-shell{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#ffffff}.field-shell,.field-shell>label,.field-shell>span{color:var(--foreground)}.field-shell small{color:var(--muted);line-height:1.45}.ai-field{border-color:rgba(37,99,235,.42);box-shadow:0 8px 22px rgba(37,99,235,.08)}.ai-field>label:first-child,.ai-field>span:first-child{color:#1d4ed8;font-weight:800}.ai-instruction-field{border-style:dashed;background:linear-gradient(180deg,#ffffff,#f7fbff)}.ai-instruction-field>span:first-child{align-items:center;display:inline-flex;gap:8px}.subchapter-picker{overflow:hidden}.subchapter-option-list{display:grid;grid-gap:8px;gap:8px;max-height:260px;overflow:auto;padding:2px}.subchapter-option{display:grid;grid-gap:4px;gap:4px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--foreground);text-align:left;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.subchapter-option.selected,.subchapter-option:hover{border-color:rgba(37,99,235,.5);background:#f7fbff;transform:translateY(-1px)}.subchapter-option small{color:var(--muted)}.chip-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.content-intro{margin:0 0 18px;padding:14px 16px;border-left:4px solid var(--primary);border-radius:8px;background:#f8fbff;color:var(--foreground)}.row-list{display:grid;grid-gap:10px;gap:10px}.activity-row-card,.session-row-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:12px;gap:12px;padding:14px}.module-colored-card{border-left:5px solid var(--module-color,var(--border));background:linear-gradient(90deg,color-mix(in srgb,var(--module-color,#ffffff) 10%,#ffffff),#ffffff 38%),#ffffff}.module-chip{justify-self:end;max-width:180px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--module-color,var(--border)) 45%,#ffffff);border-radius:999px;background:color-mix(in srgb,var(--module-color,#2563eb) 10%,#ffffff);color:var(--foreground);font-size:.75rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-row-card{grid-template-columns:minmax(0,1fr) auto auto}.activity-row-link,.session-row-card{color:inherit;text-decoration:none}.session-row-stopped{border-color:#ef4444;border-left-color:var(--module-color,#ef4444)}.row-main-link{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;color:inherit;text-decoration:none}.row-main-link strong,.session-row-card strong{display:block;overflow-wrap:anywhere}.row-main-link small,.session-row-card small{display:block;color:var(--muted)}.row-actions,.session-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.session-metrics{max-width:520px}.learner-profile-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:18px;gap:18px}.learner-profile-header h1{margin:0}.learner-answer-row,.learner-subject-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;color:inherit;text-decoration:none}.learner-answer-row small,.learner-subject-row small{display:block;color:var(--muted)}.trainer-card{display:grid;grid-gap:16px;gap:16px}.trainer-card-link{color:inherit;text-decoration:none}.trainer-card-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.trainer-card-header{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:12px;gap:12px}.trainer-card-header img{width:52px;height:52px;border-radius:8px;object-fit:cover}.trainer-readonly-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:16px;gap:16px}.trainer-readonly-header img{width:72px;height:72px;border-radius:8px;object-fit:cover}.readonly-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;color:inherit;text-decoration:none}.readonly-row small{display:block;color:var(--muted)}.self-evaluation-box{border:1px solid var(--border);border-radius:8px;background:#f8fbff;padding:12px;margin-bottom:12px}.media-chip-list{display:flex;flex-wrap:wrap;gap:8px}.media-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;background:#f8fbff;padding:8px 10px;font-size:.86rem}.media-chip a{color:var(--accent);text-decoration:none}.media-chip button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-weight:900}.preview-block{display:grid;grid-gap:6px;gap:6px}.activity-content-flow{display:grid;grid-gap:18px;gap:18px;margin-top:10px}.activity-content-flow.compact{gap:14px}.content-block,.content-intro{display:grid;grid-gap:12px;gap:12px;border:1px solid rgba(30,64,175,.08);border-radius:8px;background:rgba(255,255,255,.88);padding:16px}.content-block{box-shadow:0 14px 36px rgba(31,41,55,.05)}.content-block p{margin:0;color:var(--foreground);font-size:1rem;line-height:1.72}.content-block-type{color:var(--accent)!important;font-size:.75rem!important;font-weight:900;letter-spacing:0;text-transform:uppercase}.content-media-flow{display:grid;grid-gap:12px;gap:12px}.content-media-figure{display:grid;grid-gap:8px;gap:8px;margin:0}.content-media-figure img,.content-media-figure video{width:100%;max-height:520px;border-radius:8px;object-fit:contain;background:#f8fafc}.content-media-figure audio{width:100%}.content-media-figure figcaption{color:var(--muted);font-size:.82rem}.content-media-link{display:grid;grid-gap:4px;gap:4px;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:inherit;padding:12px;text-decoration:none}.content-media-link span{color:var(--muted);font-size:.78rem}.document-viewer-page{position:fixed;inset:0;display:grid;min-height:100dvh;overflow:hidden;padding:0;min-height:100vh;background:#eef3fb}.document-viewer-shell{display:grid;width:100vw;height:100dvh;overflow:hidden}.document-viewer-actions{position:fixed;top:10px;right:10px;z-index:10;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:6px}.document-zoom-group{display:inline-flex;overflow:hidden;background:rgba(255,255,255,.74)}.document-answer-button,.document-tool-button,.document-zoom-group{border:1px solid rgba(15,23,42,.12);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.document-answer-button,.document-tool-button{min-height:34px;background:rgba(255,255,255,.72);color:#172033;padding:7px 10px;font:inherit;font-size:.78rem;font-weight:900;text-decoration:none;cursor:pointer}.document-tool-button{min-width:34px}.document-zoom-group .document-tool-button{border:0;border-radius:0;background:transparent}.document-download-button{color:#42526b}.document-tool-button:disabled{cursor:not-allowed;opacity:.55}.document-answer-button{border-color:var(--accent);background:var(--accent);color:#ffffff;box-shadow:0 12px 28px rgba(47,111,221,.22)}.document-viewer-card{display:grid;width:100vw;height:100dvh;overflow:hidden;background:#eef3fb}.document-frame-viewport{width:100vw;height:100dvh;overflow:auto;border:0;border-radius:0;background:#eef3fb}.document-frame{display:block;min-height:100%;border:0;border-radius:0;background:#ffffff;transform-origin:top left}.pdf-viewport{padding:56px 16px 24px}.document-loading{width:-moz-fit-content;width:fit-content;margin:0 auto 14px;border-radius:8px;background:rgba(255,255,255,.82);padding:8px 10px}.pdf-page-stack{display:grid;width:min(920px,100%);margin:0 auto;grid-gap:18px;gap:18px;transform-origin:top center}.pdf-page-image{display:block;width:100%;border-radius:8px;background:#ffffff;box-shadow:0 14px 42px rgba(15,23,42,.16)}.game-choice-grid{display:grid;grid-gap:10px;gap:10px}.game-choice-card{border:1px solid var(--border);border-radius:8px;background:#ffffff;padding:14px;font-weight:900}.game-buzzer{display:grid;width:min(230px,100%);aspect-ratio:1;place-items:center;border:0;border-radius:50%;color:#ffffff;font-size:2rem;font-weight:900;box-shadow:0 18px 45px rgba(31,41,55,.18);cursor:pointer;justify-self:center}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.learner-answer-page,.learner-success-page{display:grid;min-height:100vh;align-items:center;background:radial-gradient(circle at 82% 12%,#dff1ff 0,transparent 28%),radial-gradient(circle at 12% 88%,#edf7ef 0,transparent 30%),linear-gradient(180deg,#fbfdff,#f5f8fc)}.learner-answer-card,.sent-animation-card,.sent-success-card{border:1px solid rgba(47,111,221,.12);border-radius:8px;background:rgba(255,255,255,.94);box-shadow:0 24px 70px rgba(31,41,55,.1);padding:22px}.learner-hub-card{gap:22px}.learner-hub-hero{display:grid;justify-items:center;grid-gap:8px;gap:8px;text-align:center}.learner-hub-hero h1,.learner-hub-hero h2{margin:0}.learner-hub-hero h1{font-size:2.35rem;letter-spacing:0}.learner-hub-hero h2{color:var(--muted);font-size:1.35rem;font-weight:800}.learner-avatar-upload{display:grid;width:132px;height:132px;place-items:center;overflow:hidden;border:3px solid #ffffff;border-radius:50%;background:linear-gradient(135deg,#eaf1ff,#f8fbff);color:var(--accent-dark);box-shadow:0 18px 42px rgba(47,111,221,.18);cursor:pointer;font-size:2.4rem;font-weight:900;transition:transform .16s ease,box-shadow .16s ease}.learner-avatar-upload:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 24px 58px rgba(47,111,221,.23)}.learner-avatar-upload img{width:100%;height:100%;object-fit:cover}.contact-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;border:1px solid rgba(47,111,221,.1);border-radius:8px;background:linear-gradient(180deg,#ffffff,#f8fbff);box-shadow:var(--shadow-soft);padding:16px}.contact-card p{margin:4px 0;overflow-wrap:anywhere}.learner-answer-card h1,.sent-animation-card h1,.sent-success-card h1{margin:0;font-size:clamp(2rem,8vw,3rem);line-height:1.05}.activity-prompt{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:start;border:1px solid var(--border);border-radius:8px;background:#ffffff;padding:14px}.activity-prompt span{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:#eaf1ff;color:var(--accent-dark);font-weight:900}.activity-prompt p{margin:0}.photo-answer-panel{display:grid;grid-gap:14px;gap:14px;border:1px solid rgba(47,111,221,.12);border-radius:8px;background:linear-gradient(180deg,#ffffff,#f8fbff);padding:16px}.photo-answer-panel h2{margin-bottom:4px}.camera-actions{display:grid;grid-gap:10px;gap:10px}.camera-action{display:flex;min-height:58px;align-items:center;justify-content:center;gap:10px;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--accent);font:inherit;font-weight:900;cursor:pointer}.camera-action.primary{border-color:var(--accent);background:var(--accent);color:#ffffff}.camera-action span{display:grid;width:26px;height:26px;place-items:center;border-radius:8px;background:rgba(255,255,255,.2);font-size:1.3rem;line-height:1}.empty-photo-state{display:grid;min-height:150px;place-items:center;grid-gap:8px;gap:8px;border:1px dashed #b8c6da;border-radius:8px;background:#fbfdff;color:var(--muted);padding:18px;text-align:center}.empty-photo-state span{color:var(--accent);font-size:2rem}.photo-preview{position:relative}.photo-preview button{position:absolute;right:6px;bottom:6px;border:0;border-radius:8px;background:rgba(255,255,255,.92);color:var(--foreground);padding:6px 8px;font-weight:900;cursor:pointer}.learner-live-card{display:grid;grid-gap:6px;gap:6px;text-decoration:none}.learner-live-card span{color:var(--accent);font-size:.82rem;font-weight:900}.learner-live-card small{color:var(--muted)}.learner-submit-button{min-height:56px;font-size:1rem}.sent-animation-card,.sent-success-card{display:grid;width:min(460px,calc(100% - 36px));margin:0 auto;grid-gap:14px;gap:14px}.success-badge{display:grid;width:72px;height:72px;place-items:center;border-radius:8px;background:#eaf1ff;color:var(--accent);font-size:2.2rem;font-weight:900}.success-details{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--border);border-radius:8px;background:#ffffff;padding:14px}.success-details span{color:var(--muted)}.trainer-contact-card{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:center;border:1px solid var(--border);border-radius:8px;background:#ffffff;padding:14px}.trainer-contact-card img{width:58px;height:58px;border-radius:8px;object-fit:cover}.trainer-contact-card div{display:grid;grid-gap:3px;gap:3px}.trainer-contact-card span{color:var(--muted);font-size:.9rem;overflow-wrap:anywhere}.sent-orbit{position:relative;display:grid;width:104px;height:104px;place-items:center}.sent-orbit span{position:absolute;inset:0;border:3px solid #cfe0ff;border-top:3px solid var(--accent);border-radius:50%;animation:sent-spin 1.1s linear infinite}.sent-orbit strong{display:grid;width:66px;height:66px;place-items:center;border-radius:8px;background:#ffffff;color:var(--accent);box-shadow:0 16px 36px rgba(47,111,221,.18);font-size:2rem}@keyframes sent-spin{to{transform:rotate(1turn)}}.learner-row{padding:10px 14px}.learner-summary{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;grid-gap:14px;gap:14px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.learner-summary small{display:block;color:var(--muted);margin-top:3px}.learner-detail{display:grid;grid-gap:12px;margin-top:14px;padding-top:14px}.learner-detail,.score-row{gap:12px;border-top:1px solid var(--border)}.score-row{display:flex;justify-content:space-between;padding-top:8px;text-decoration:none}.qr-block{position:relative;display:grid;width:-moz-fit-content;width:fit-content;max-width:260px;justify-items:center;grid-gap:10px;gap:10px;border:1px solid rgba(30,64,175,.08);border-radius:8px;background:rgba(255,255,255,.92);padding:18px;box-shadow:0 18px 45px rgba(31,41,55,.06)}.qr-remove-button{position:absolute;top:8px;right:8px;display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(185,28,28,.22);border-radius:8px;background:#fff5f5;color:#9f1239;cursor:pointer;font-size:1.2rem;font-weight:900}.qr-link{width:100%;max-width:220px;margin:0;color:var(--muted);font-size:.68rem;line-height:1.35;overflow-wrap:anywhere;text-align:center}.qr-block-red .qr-link{max-width:128px}.qr-block-black .qr-link{max-width:220px}.profile-editor{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:16px;gap:16px}.profile-preview img{width:72px;height:72px;border-radius:8px;object-fit:cover}.hidden-qr{position:absolute;left:-9999px}.learner-picker{display:grid;grid-gap:8px;gap:8px;max-height:220px;overflow:auto}.picker-row{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:8px;background:#ffffff;padding:10px 12px;cursor:pointer}.picker-row.selected{border-color:var(--accent);background:#eaf1ff}.session-board-page{position:relative;min-height:100vh;padding:28px;background:linear-gradient(180deg,#f8fbff,#eef4ff)}.board-home-button,.board-settings-button{position:fixed;top:18px;right:18px;z-index:4;display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--foreground);box-shadow:var(--shadow);text-decoration:none}.board-home-button{right:72px}.board-icon-button{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--foreground);box-shadow:var(--shadow);text-decoration:none}.board-content-panel,.board-grid,.board-hero{width:min(1100px,100%);margin:0 auto}.board-hero{display:grid;grid-gap:8px;gap:8px;padding:24px 0}.board-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}@media (max-width:780px){.zoom-modal{width:100vw;height:100vh;max-height:100vh;border-radius:0}.zoom-modal img{max-height:92vh;border-radius:0}}.file-button input{display:none}label{display:grid;grid-gap:6px;gap:6px;font-weight:800}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--foreground);font:inherit;padding:11px 12px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(47,111,221,.65);box-shadow:0 0 0 4px rgba(47,111,221,.12)}textarea{min-height:112px;resize:vertical}.welcome-page{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:center;grid-gap:56px;gap:56px;width:min(1120px,100%);margin:0 auto}.welcome-copy h1{max-width:620px;font-size:clamp(2rem,6vw,3.3rem);line-height:1.15}.welcome-copy h1 span{color:var(--accent)}.welcome-copy p{max-width:560px;color:#4b5563;font-size:1.1rem}.welcome-points{display:grid;grid-gap:12px;gap:12px;margin-top:28px}.welcome-points p{margin:0;font-weight:800}.login-preview{display:grid;justify-items:center;grid-gap:12px;gap:12px;padding:42px}.lock-icon{display:grid;width:64px;height:64px;place-items:center;border-radius:8px;background:#eaf1ff;color:var(--accent);font-weight:900}.mobile-card{max-width:460px}@media (max-width:780px){.app-shell,main{padding:18px}.app-header,.welcome-page{grid-template-columns:1fr}.app-header>.button,.header-actions{justify-self:start}.dashboard-tabs{grid-template-columns:repeat(2,1fr);width:100%;min-width:100%}.activity-row-card,.session-row-card{grid-template-columns:1fr;align-items:stretch}.row-actions,.session-metrics{justify-content:flex-start}.learner-answer-row,.learner-hub-profile,.learner-profile-header,.learner-subject-row,.readonly-row,.trainer-readonly-header{grid-template-columns:1fr}.learner-summary{grid-template-columns:auto 1fr}.answer-card{grid-template-columns:1fr}.document-viewer-actions{top:8px;right:8px;gap:5px}.document-frame-viewport{height:100dvh}.document-answer-button,.document-tool-button{min-height:32px;padding:6px 8px;font-size:.72rem}}