@import"https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&family=Source+Serif+4:wght@600;700&display=swap";.content-modal-backdrop[data-v-d4afbe97]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#07141ea6;display:grid;place-items:center;padding:1rem}.content-modal[data-v-d4afbe97]{position:relative;width:min(1240px,96vw);height:min(920px,94vh);overflow:auto;background:#f7fafb;border-radius:20px;box-shadow:0 30px 80px #00000059;color:#0f1720;outline:none}.content-header[data-v-d4afbe97]{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:#fff;border-bottom:1px solid #dbe5ec}.content-header h2[data-v-d4afbe97],.content-header p[data-v-d4afbe97],.section-heading h3[data-v-d4afbe97]{margin:0}.content-header p[data-v-d4afbe97]{color:#526573;margin-top:.2rem}.content-layout[data-v-d4afbe97]{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:700px}.collection-sidebar[data-v-d4afbe97]{padding:1rem;border-right:1px solid #dbe5ec;background:#edf2f5}.collection-button[data-v-d4afbe97]{width:100%;display:grid;gap:.2rem;text-align:left;padding:.8rem;margin-top:.6rem;border:1px solid transparent;border-radius:12px;background:transparent;color:#13344e;cursor:pointer}.collection-button[data-v-d4afbe97]:hover,.collection-button.active[data-v-d4afbe97]{background:#fff;border-color:#b8cbd8}.collection-button small[data-v-d4afbe97]{color:#607381}.content-workspace[data-v-d4afbe97]{padding:1.25rem;display:grid;gap:1.25rem;align-content:start}.import-form[data-v-d4afbe97],.release-section[data-v-d4afbe97],.preview-section[data-v-d4afbe97],.warning-panel[data-v-d4afbe97]{background:#fff;border-radius:16px;padding:1.15rem;box-shadow:0 8px 24px #13344e14}.section-heading[data-v-d4afbe97]{display:flex;justify-content:space-between;gap:1rem;align-items:center}.format-selector[data-v-d4afbe97]{border:0;padding:0;margin:1rem 0;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.format-selector legend[data-v-d4afbe97]{font-weight:700;margin-bottom:.5rem}.format-selector label[data-v-d4afbe97]{display:flex;gap:.65rem;border:1px solid #c7d5de;border-radius:12px;padding:.8rem;cursor:pointer}.format-selector label.selected[data-v-d4afbe97]{border-color:#1e5c79;background:#edf6f9}.format-selector span[data-v-d4afbe97]{display:grid;gap:.2rem}.format-selector small[data-v-d4afbe97],.model-lock-note[data-v-d4afbe97]{color:#607381}.model-lock-note[data-v-d4afbe97]{font-size:.9rem}.form-grid[data-v-d4afbe97]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0}.form-grid label[data-v-d4afbe97],.file-field[data-v-d4afbe97]{display:grid;gap:.35rem;font-weight:600;color:#344b5b}.form-grid input[data-v-d4afbe97],.form-grid select[data-v-d4afbe97],.file-field input[data-v-d4afbe97]{width:100%;border:1px solid #c7d5de;border-radius:9px;padding:.62rem;background:#fbfdfe}.file-field[data-v-d4afbe97]{margin-bottom:1rem}.file-field small[data-v-d4afbe97],.release-card small[data-v-d4afbe97]{color:#607381;font-weight:400}.selected-file-list[data-v-d4afbe97]{display:grid;gap:.15rem}.field-error[data-v-d4afbe97],.error[data-v-d4afbe97]{color:#a43227!important;font-weight:700}.primary[data-v-d4afbe97],.secondary[data-v-d4afbe97],.text-button[data-v-d4afbe97]{border-radius:999px;padding:.58rem 1rem;font-weight:700;cursor:pointer}.primary[data-v-d4afbe97]{border:0;background:#13344e;color:#fff}.secondary[data-v-d4afbe97]{border:1px solid #b8cbd8;background:#fff;color:#13344e}.text-button[data-v-d4afbe97]{border:0;background:transparent;color:#1e5c79;padding:.25rem}.primary[data-v-d4afbe97]:disabled,.secondary[data-v-d4afbe97]:disabled{opacity:.55;cursor:default}.import-progress[data-v-d4afbe97]{display:grid;gap:.45rem;margin-bottom:1rem}.progress-track[data-v-d4afbe97]{height:.55rem;background:#dbe5ec;border-radius:999px;overflow:hidden}.progress-track span[data-v-d4afbe97]{display:block;height:100%;background:#1e5c79;transition:width .2s}.warning-panel[data-v-d4afbe97]{border-left:5px solid #d69c2f;background:#fff9e9}.warning-panel h3[data-v-d4afbe97]{margin-top:0}.warning-panel ul[data-v-d4afbe97]{margin-bottom:0}.release-list[data-v-d4afbe97]{display:grid;gap:.7rem;margin-top:1rem}.release-card[data-v-d4afbe97]{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid #dbe5ec;border-radius:12px;padding:.85rem}.release-card.published[data-v-d4afbe97]{border-color:#57917e;background:#f4faf7}.release-card>div[data-v-d4afbe97]:first-child{display:grid;gap:.25rem}.release-title[data-v-d4afbe97]{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.status[data-v-d4afbe97],.model-badge[data-v-d4afbe97],.hidden-badge[data-v-d4afbe97]{font-size:.75rem;border-radius:999px;padding:.15rem .5rem}.model-badge[data-v-d4afbe97]{background:#e2edf3;color:#13344e}.status[data-v-d4afbe97]{background:#dcefe6;color:#245744}.status.draft[data-v-d4afbe97]{background:#edf0f2;color:#526573}.hidden-badge[data-v-d4afbe97]{background:#f4dfdc;color:#8a2d23;white-space:nowrap}.release-actions[data-v-d4afbe97]{display:flex;gap:.5rem}.preview-layout[data-v-d4afbe97]{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1rem;margin-top:1rem}.chapter-navigation[data-v-d4afbe97]{display:grid;align-content:start;gap:.25rem;max-height:600px;overflow:auto}.chapter-navigation strong[data-v-d4afbe97]{margin:.5rem 0 .2rem}.chapter-navigation button[data-v-d4afbe97]{text-align:left;border:0;border-radius:8px;background:transparent;padding:.5rem .65rem;cursor:pointer}.chapter-navigation button[data-v-d4afbe97]:hover,.chapter-navigation button.active[data-v-d4afbe97]{background:#e2edf3;color:#13344e}.chapter-navigation button small[data-v-d4afbe97]{display:block;color:#607381;margin-top:.1rem}.course-nav-section[data-v-d4afbe97]{display:grid;gap:.2rem;border-top:1px solid #dbe5ec;padding-top:.45rem}.book-chapter-button[data-v-d4afbe97]{font-size:.9rem}.chapter-preview iframe[data-v-d4afbe97]{width:100%;min-height:460px;border:1px solid #dbe5ec;border-radius:10px;background:#fff}.course-preview-pane[data-v-d4afbe97]{display:grid;gap:.75rem;align-content:start}.course-selection-header[data-v-d4afbe97]{display:flex;align-items:center;gap:.5rem}.course-selection-header h4[data-v-d4afbe97]{margin:0}.course-file-list[data-v-d4afbe97]{display:grid;gap:.55rem}.course-file-list a[data-v-d4afbe97]{display:grid;padding:.75rem;border:1px solid #dbe5ec;border-radius:10px;color:#13344e;text-decoration:none}.course-file-list small[data-v-d4afbe97]{color:#607381}.external-link[data-v-d4afbe97]{display:inline-flex;width:max-content;color:#1e5c79;font-weight:700}.success[data-v-d4afbe97]{color:#245744;font-weight:700}.error[data-v-d4afbe97]{margin:0}.muted[data-v-d4afbe97]{color:#607381;margin:.25rem 0}.confirm-backdrop[data-v-d4afbe97]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#07141e94;display:grid;place-items:center;padding:1rem}.confirm-dialog[data-v-d4afbe97]{width:min(440px,100%);background:#fff;border-radius:16px;padding:1.3rem;box-shadow:0 20px 60px #0000004d}.confirm-dialog h3[data-v-d4afbe97]{margin-top:0}@media (max-width:800px){.content-layout[data-v-d4afbe97],.preview-layout[data-v-d4afbe97]{grid-template-columns:1fr}.collection-sidebar[data-v-d4afbe97]{border-right:0;border-bottom:1px solid #dbe5ec}.form-grid[data-v-d4afbe97],.format-selector[data-v-d4afbe97]{grid-template-columns:1fr}.release-card[data-v-d4afbe97]{align-items:flex-start;flex-direction:column}}.source-selector[data-v-d4afbe97]{border:0;padding:0;margin:1rem 0;display:flex;gap:1.25rem;align-items:center}.source-selector legend[data-v-d4afbe97]{font-weight:700;margin-bottom:.45rem}.source-selector label[data-v-d4afbe97]{display:flex;gap:.4rem;align-items:center;color:#344b5b}.moodle-inspection[data-v-d4afbe97]{display:grid;gap:.5rem;margin:1rem 0;padding:1rem;border:1px solid #c7d5de;border-radius:12px;background:#fbfdfe}.inspect-row[data-v-d4afbe97]{display:flex;align-items:end;gap:.75rem}.inspect-row label[data-v-d4afbe97]{display:grid;gap:.35rem;font-weight:600;color:#344b5b;max-width:260px}.inspect-row input[data-v-d4afbe97]{width:100%;border:1px solid #c7d5de;border-radius:9px;padding:.62rem;background:#fff}.inspection-result[data-v-d4afbe97]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;margin-top:.35rem;padding:.8rem;border-radius:10px;background:#f4faf7;border:1px solid #9bc7b7}.inspection-result.blocked[data-v-d4afbe97]{background:#fff9e9;border-color:#e1bd6f}.inspection-result>div[data-v-d4afbe97]{display:grid;gap:.2rem}.inspection-result small[data-v-d4afbe97]{color:#607381}.inspection-result ul[data-v-d4afbe97],.inspection-result .skip-option[data-v-d4afbe97]{grid-column:1/-1}.inspection-result ul[data-v-d4afbe97]{margin:.2rem 0}.skip-option[data-v-d4afbe97]{display:flex;align-items:center;gap:.45rem;font-weight:600}@media (max-width:800px){.source-selector[data-v-d4afbe97],.inspect-row[data-v-d4afbe97]{align-items:stretch;flex-direction:column}.inspection-result[data-v-d4afbe97]{grid-template-columns:1fr}}.metadata-guidance[data-v-d4afbe97]{margin:1rem 0;padding:1rem;border-left:4px solid #1e5c79;border-radius:10px;background:#edf6f9;color:#263f50}.metadata-guidance>p[data-v-d4afbe97]{margin:.35rem 0}.metadata-guidance dl[data-v-d4afbe97]{display:grid;gap:.45rem;margin:.8rem 0}.metadata-guidance dl div[data-v-d4afbe97]{display:grid;grid-template-columns:120px minmax(0,1fr);gap:.6rem}.metadata-guidance dt[data-v-d4afbe97]{font-weight:700}.metadata-guidance dd[data-v-d4afbe97]{margin:0}.metadata-example[data-v-d4afbe97]{font-size:.9rem}.form-grid label>small[data-v-d4afbe97]:not(.field-error){color:#607381;font-weight:400;line-height:1.35}@media (max-width:600px){.metadata-guidance dl div[data-v-d4afbe97]{grid-template-columns:1fr;gap:.1rem}}.workflow-selector[data-v-d4afbe97]{border:0;padding:0;margin:1rem 0;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.workflow-selector legend[data-v-d4afbe97]{font-weight:700;margin-bottom:.5rem}.workflow-selector button[data-v-d4afbe97]{display:grid;gap:.2rem;text-align:left;padding:.8rem;border:1px solid #c7d5de;border-radius:12px;background:#fff;color:#344b5b;cursor:pointer}.workflow-selector button.selected[data-v-d4afbe97]{border-color:#1e5c79;background:#edf6f9}.workflow-selector small[data-v-d4afbe97],.existing-document-select small[data-v-d4afbe97]{color:#607381;font-weight:400}.existing-document-select[data-v-d4afbe97]{display:grid;gap:.35rem;margin:1rem 0;font-weight:600;color:#344b5b}.existing-document-select select[data-v-d4afbe97]{width:100%;border:1px solid #c7d5de;border-radius:9px;padding:.7rem;background:#fff}.identity-message[data-v-d4afbe97]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin:-.25rem 0 1rem;padding:.8rem;border-radius:10px}.identity-message>div[data-v-d4afbe97]{display:grid;gap:.15rem}.identity-error[data-v-d4afbe97]{background:#fff0ee;border:1px solid #dfa39b;color:#7d2a22}.identity-warning[data-v-d4afbe97]{background:#fff9e9;border:1px solid #e1bd6f;color:#624917}@media (max-width:700px){.workflow-selector[data-v-d4afbe97]{grid-template-columns:1fr}.identity-message[data-v-d4afbe97]{align-items:flex-start;flex-direction:column}}.freshness-panel[data-v-d4afbe97]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.75rem 0;padding:.8rem;border:1px solid #c7d5de;border-radius:12px;background:#fbfdfe}.freshness-panel>div[data-v-d4afbe97]{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.freshness-panel small[data-v-d4afbe97]{width:100%}@media (max-width:700px){.freshness-panel[data-v-d4afbe97]{align-items:flex-start;flex-direction:column}}.public-cache-panel[data-v-a945d198]{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 1.15rem;border:1px solid rgba(19,52,78,.14);border-left:5px solid var(--sea);border-radius:14px;background:#f8fbfc}.public-cache-panel h3[data-v-a945d198]{margin:0;color:var(--navy)}.public-cache-panel p[data-v-a945d198]{margin:.25rem 0 0;color:var(--slate)}.public-cache-panel .auth-submit[data-v-a945d198]{flex:0 0 auto}.public-cache-status[data-v-a945d198]{display:flex;flex-wrap:wrap;gap:.65rem 1.5rem;margin:.85rem 0 0}.public-cache-status div[data-v-a945d198]{display:grid;gap:.15rem}.public-cache-status dt[data-v-a945d198]{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--slate)}.public-cache-status dd[data-v-a945d198]{margin:0;font-weight:700;color:var(--navy)}.sync-admin[data-v-a945d198],.sync-detail[data-v-a945d198]{display:grid;gap:1.25rem}.sync-summary[data-v-a945d198]{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:.7rem}.sync-summary-card[data-v-a945d198]{display:grid;gap:.15rem;text-align:left;border:1px solid rgba(19,52,78,.14);border-radius:14px;padding:.8rem 1rem;background:#f8fbfc;color:var(--navy);cursor:pointer}.sync-summary-card strong[data-v-a945d198]{font-size:1.5rem}.sync-summary-card span[data-v-a945d198]{font-size:.83rem}.sync-review-filter[data-v-a945d198]{display:flex;align-items:center;gap:.45rem;color:var(--navy);font-weight:600}.sync-error-cell[data-v-a945d198]{max-width:25rem;white-space:normal;overflow-wrap:anywhere}.sync-detail-status[data-v-a945d198]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;color:var(--slate)}.sync-feedback[data-v-a945d198]{margin:0;padding:.85rem 1rem;border-radius:12px;background:#edf7f1}.sync-feedback-progress[data-v-a945d198]{color:var(--navy);background:#edf5fa;font-weight:700}.sync-feedback.auth-error[data-v-a945d198]{background:#fceae7}.sync-identifiers[data-v-a945d198]{display:grid;gap:.8rem}.sync-identifiers-heading p[data-v-a945d198]{margin:.25rem 0 0;color:var(--slate)}.sync-identifier-grid[data-v-a945d198]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.sync-identifier-card[data-v-a945d198]{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1rem;border:1px solid rgba(19,52,78,.13);border-radius:14px;background:#f8fbfc}.sync-identifier-card>span[data-v-a945d198]{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--slate)}.sync-identifier-card>strong[data-v-a945d198]{font-size:1.65rem;color:var(--navy)}.sync-identifier-card p[data-v-a945d198]{margin:0;color:var(--slate);line-height:1.35}.sync-identifier-card small[data-v-a945d198]{color:var(--slate)}.sync-admin-link[data-v-a945d198]{margin-top:auto;padding-top:.4rem;font-weight:700;color:var(--sea)}.sync-plan-meta[data-v-a945d198]{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) minmax(260px,2fr);gap:.75rem}.sync-plan-meta>div[data-v-a945d198]{display:grid;gap:.2rem;padding:.8rem;border-radius:12px;background:#f3f7f9}.sync-plan-meta span[data-v-a945d198]{font-size:.8rem;color:var(--slate)}.sync-plan-meta code[data-v-a945d198]{font-size:.72rem;overflow-wrap:anywhere}.sync-detail h3[data-v-a945d198]{margin:.35rem 0 0;color:var(--navy)}.sync-comparison td[data-v-a945d198]{vertical-align:top}.sync-issues[data-v-a945d198]{border-left:4px solid var(--accent);padding-left:1rem}.sync-operations[data-v-a945d198]{border:1px solid rgba(19,52,78,.14);border-radius:12px;padding:.8rem 1rem}.sync-operations summary[data-v-a945d198]{font-weight:700;color:var(--navy);cursor:pointer}.sync-operations pre[data-v-a945d198]{overflow:auto;padding:1rem;background:#f3f7f9;border-radius:10px;font-size:.8rem}.sync-apply-panel[data-v-a945d198]{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr) auto;align-items:center;gap:1rem;padding:1rem;border:2px solid #d4a93f;border-radius:14px;background:#fff9e8}.sync-apply-panel p[data-v-a945d198]{margin:.3rem 0 0;color:var(--slate)}.sync-apply-accept[data-v-a945d198]{display:flex;gap:.55rem;align-items:flex-start;font-weight:600;color:var(--navy)}.sync-history-detail[data-v-a945d198]{padding-top:0!important;background:#fbfdfe}.sync-history-detail details[data-v-a945d198]{padding:.55rem}.sync-history-detail summary[data-v-a945d198]{cursor:pointer;font-weight:700;color:var(--sea)}.sync-audit-grid[data-v-a945d198]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.7rem}.sync-audit-grid pre[data-v-a945d198]{overflow:auto;max-height:18rem;padding:.75rem;border-radius:10px;background:#edf2f5;font-size:.75rem}.sync-status-in_sync[data-v-a945d198]{background:#dcefe5;color:#1d5a3b}.sync-status-closed[data-v-a945d198]{background:#e4e9ee;color:#334b5e}.sync-status-update_requires_review[data-v-a945d198],.sync-status-drift[data-v-a945d198]{background:#fff1c7;color:#735313}.sync-status-error[data-v-a945d198],.sync-status-blocked[data-v-a945d198],.sync-status-missing_in_simplybook[data-v-a945d198]{background:#fbe1dd;color:#8e2f25}.sync-status-pending[data-v-a945d198],.sync-status-not_requested[data-v-a945d198]{background:#e8edf1;color:#415463}@media (max-width:900px){.sync-summary[data-v-a945d198]{grid-template-columns:repeat(2,1fr)}.sync-plan-meta[data-v-a945d198],.sync-identifier-grid[data-v-a945d198]{grid-template-columns:1fr 1fr}.sync-apply-panel[data-v-a945d198],.sync-audit-grid[data-v-a945d198]{grid-template-columns:1fr}}@media (max-width:600px){.sync-summary[data-v-a945d198],.sync-plan-meta[data-v-a945d198],.sync-identifier-grid[data-v-a945d198]{grid-template-columns:1fr}}@media (max-width:600px){.public-cache-panel[data-v-a945d198]{align-items:stretch;flex-direction:column}.public-cache-panel .auth-submit[data-v-a945d198]{width:100%}}:root{font-family:"Source Sans 3",IBM Plex Sans,Noto Sans,Helvetica Neue,sans-serif;color:#0f1720;background-color:#edf2f5;--ink: #0f1720;--navy: #13344e;--sea: #1e5c79;--mist: #dbe5ec;--ice: #edf2f5;--slate: #415463;--pine: #254f42;--accent: #b63d2f;--sun: #e2b54f}*{box-sizing:border-box}body{margin:0;min-width:320px;background-color:var(--ice);background-image:radial-gradient(circle at 12% 10%,rgba(19,52,78,.14),transparent 34%),radial-gradient(circle at 86% 20%,rgba(37,79,66,.16),transparent 32%),linear-gradient(180deg,#edf2f5,#f7fafb 34%,#e8eef2);color:var(--ink)}#app{min-height:100vh}.auth-screen{min-height:100vh;max-width:1120px;margin:0 auto;padding:3rem 1.5rem;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,420px);gap:2.5rem;align-items:center}.auth-screen-single{max-width:420px;grid-template-columns:minmax(0,1fr)}.auth-hero{background:linear-gradient(150deg,#13344e14,#254f421f);padding:2.5rem 2.75rem;border-radius:24px;box-shadow:inset 0 0 0 1px #13344e14,0 24px 60px #0e24351f}.auth-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700;color:#13344eb8}.auth-hero h1,.app-header h1{font-family:"Source Serif 4",Iowan Old Style,Times New Roman,serif}.auth-hero h1{margin:.7rem 0 1rem;font-size:2.6rem;line-height:1.08;color:var(--navy)}.auth-hero p{margin:0 0 1.5rem;line-height:1.65;color:#0f1720c2}.auth-points{margin:0;padding-left:1.15rem;display:grid;gap:.65rem;color:#0f1720d6}.auth-panel{margin-top:1.75rem;padding:1rem 1.1rem 1.05rem;border-radius:16px;background:#ffffff85;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-panel-title{font-size:.85rem;font-weight:700;color:var(--navy);margin-bottom:.7rem}.auth-steps{margin:0;padding-left:1.2rem;display:grid;gap:.45rem;color:#0f1720ad}.auth-steps li.active{color:var(--navy);font-weight:700}.auth-card,.dashboard-card{background:#fff;border-radius:18px;padding:2rem;box-shadow:0 18px 40px #0a1e2c29}.auth-card{display:grid;gap:1rem}.auth-card h2,.dashboard-card h2{margin:0;color:var(--navy)}.auth-field{display:grid;gap:.4rem;font-weight:600;color:#0f1720c7}.auth-field small,.auth-checkbox-help{color:#0f17209e;font-size:.85rem;font-weight:400;line-height:1.4}.auth-checkbox-help{display:block;margin-top:.15rem}.auth-field input{width:100%;border-radius:12px;border:1px solid rgba(19,52,78,.2);background:#fbfdfe;padding:.72rem .92rem;font-size:1rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.auth-field textarea{width:100%;border-radius:12px;border:1px solid rgba(19,52,78,.2);background:#fbfdfe;padding:.72rem .92rem;font-size:.95rem;line-height:1.5;color:var(--ink);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;resize:vertical;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.auth-field input:focus{border-color:#13344ea3;box-shadow:0 0 0 3px #1e5c7924}.auth-field textarea:focus{border-color:#13344ea3;box-shadow:0 0 0 3px #1e5c7924}.auth-actions{display:flex;gap:.75rem;flex-wrap:wrap}.auth-submit,.auth-secondary,.logout-button{border-radius:9999px;padding:.74rem 1.3rem;font-weight:700;font-size:.96rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.auth-submit{border:none;background:var(--navy);color:#f8fafc;box-shadow:0 12px 22px #13344e33}.auth-secondary,.logout-button{border:1px solid rgba(19,52,78,.18);background:transparent;color:var(--navy)}.auth-submit:hover,.auth-secondary:hover,.logout-button:hover{transform:translateY(-1px)}.auth-submit:disabled,.auth-secondary:disabled{opacity:.72;cursor:default;transform:none}.auth-error{margin:0;color:var(--accent);font-weight:700}.auth-success{margin:0;color:var(--pine);font-weight:700}.auth-meta,.auth-loading{margin:0;color:#0f17209e}.app-shell{max-width:1120px;margin:0 auto;padding:2rem 1.5rem 3rem}.app-header{margin-bottom:1.5rem;padding:1.8rem 2rem;border-radius:20px;background:linear-gradient(135deg,#13344ef5,#184962f0);color:#f7fafc;box-shadow:0 18px 36px #0c23352e}.app-header-top{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start}.app-header h1{margin:.55rem 0 .75rem;font-size:2rem}.app-header p,.user-org{margin:0;color:#f7fafccc}.app-eyebrow{color:#f7fafcb8}.app-nav{display:flex;gap:.7rem;flex-wrap:wrap;width:100%;margin-top:1rem}.app-nav-button{border:1px solid rgba(247,250,252,.18);background:#ffffff14;color:#f7fafc;padding:.55rem 1rem;border-radius:9999px;font-weight:700;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.app-nav-button:hover{transform:translateY(-1px);background:#ffffff1f}.app-nav-button.active{background:#f7fafc;color:var(--navy);border-color:#f7fafc}.brand-actions{display:flex;align-items:center;gap:.9rem}.language-switch{display:inline-flex;border:1px solid rgba(247,250,252,.42);border-radius:9999px;overflow:hidden;flex-shrink:0}.language-switch-auth{margin-top:1rem;border-color:#13344e38}.language-switch button{border:0;background:transparent;color:inherit;padding:.42rem .72rem;font-weight:700;cursor:pointer}.language-switch button.active{background:#f7fafc;color:var(--navy)}.language-switch-auth button.active{background:var(--navy);color:#f7fafc}.user-meta{display:flex;flex-direction:column;gap:.15rem;align-items:flex-end}.user-name{font-weight:700}.logout-button{color:#f7fafc;border-color:#f7fafc7a}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.admin-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.admin-toolbar h2{margin-bottom:.35rem}.admin-toolbar p{margin:0;color:var(--slate)}.admin-toolbar-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.admin-toolbar-actions-stacked{max-width:460px}.admin-search,.admin-select{min-width:180px;border-radius:12px;border:1px solid rgba(19,52,78,.2);background:#fbfdfe;padding:.72rem .92rem;font-size:.95rem;color:var(--ink)}.admin-number-input{min-width:140px}.provisioning-controls{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:1rem;align-items:end;margin-bottom:.75rem}.moodle-template-form{margin-bottom:1.25rem;padding:1.25rem;border-radius:16px;background:#13344e0a;border:1px solid rgba(19,52,78,.1)}.moodle-template-form h3{margin:0;color:var(--navy)}.moodle-template-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.provisioning-controls .admin-select{width:100%}.provisioning-submit{white-space:nowrap}.provisioning-note,.provisioning-state{margin:0 0 1rem}.provisioning-error{max-width:420px;margin-top:.45rem;color:var(--accent);font-size:.85rem;font-weight:600;overflow-wrap:anywhere}.authentik-status-processing{background:#2563eb1f;color:#1d4ed8}@media (max-width: 800px){.provisioning-controls,.moodle-template-form-grid{grid-template-columns:1fr}}.table-shell{overflow-x:auto;scrollbar-gutter:stable}.table-scroll-hint{margin:.75rem 0 .35rem;font-size:.9rem}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:.85rem .7rem;text-align:left;border-bottom:1px solid rgba(19,52,78,.08);vertical-align:middle}.admin-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#13344ea3}.table-sort-button{border:none;background:transparent;padding:0;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer}.table-actions{text-align:right}.users-table{width:max-content;min-width:1320px;border-collapse:separate;border-spacing:0}.users-table .users-actions-heading,.users-table .table-actions{min-width:210px;width:210px;background:#fff}.users-table .users-actions-heading{text-align:center}.users-table th:nth-child(1),.users-table td:nth-child(1){min-width:180px}.users-table th:nth-child(2),.users-table td:nth-child(2){min-width:230px}.users-table th:nth-child(3),.users-table td:nth-child(3){min-width:220px}.users-table th:nth-child(4),.users-table td:nth-child(4),.users-table th:nth-child(6),.users-table td:nth-child(6),.users-table th:nth-child(7),.users-table td:nth-child(7),.users-table th:nth-child(8),.users-table td:nth-child(8){min-width:120px}.users-table th:nth-child(5),.users-table td:nth-child(5){min-width:210px}.users-table .table-actions .table-button{display:block;width:100%;margin:.3rem 0;white-space:normal}.table-button{padding:.5rem .9rem}.table-empty{color:var(--slate)}.admin-page-message{margin-top:1rem}.uuid-cell{display:inline-flex;align-items:center;gap:.5rem}.uuid-pill{display:inline-block;padding:.28rem .55rem;border-radius:9999px;background:#13344e14;color:var(--navy);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.82rem}.authentik-status{display:inline-flex;align-items:center;min-height:1.75rem;padding:.28rem .65rem;border-radius:9999px;background:#13344e14;color:var(--navy);font-size:.78rem;font-weight:800;white-space:nowrap}.authentik-status-synced{background:#16a34a1f;color:#166534}.authentik-status-pending{background:#d9770624;color:#92400e}.authentik-status-waiting{background:#2563eb1f;color:#1d4ed8}.authentik-status-error{background:#dc26261f;color:#991b1b;cursor:help}.authentik-status-removed{background:#64748b24;color:#475569}.copy-button{border:none;background:transparent;color:var(--sea);font-weight:700;cursor:pointer;padding:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172073;display:grid;place-items:center;padding:1.5rem;z-index:30}.modal-card{width:min(100%,560px);max-height:calc(100vh - 3rem);overflow:auto;background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 28px 80px #0a1e2c3d}.modal-card-compact{width:min(100%,500px)}.modal-card-xwide{width:min(100%,1100px)}.organisation-files-modal{width:min(100%,1440px)}.modal-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.modal-header h2{margin:0 0 .35rem;color:var(--navy)}.modal-header p{margin:0;color:var(--slate)}.modal-close{border:1px solid rgba(19,52,78,.18);background:transparent;color:var(--navy);border-radius:9999px;width:2.5rem;height:2.5rem;padding:0;display:inline-grid;place-items:center;flex:0 0 auto;font-size:1.6rem;line-height:1;font-weight:700;cursor:pointer}.moodle-course-inspection-description{white-space:pre-wrap}.admin-toolbar-compact{margin-bottom:.75rem}.files-search-toolbar{display:grid;grid-template-columns:minmax(220px,1fr);gap:.75rem}.file-content-search{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:.75rem;align-items:center}.file-search-meta{margin:0 0 .75rem}.files-layout{display:grid;grid-template-columns:minmax(520px,1fr) minmax(0,1.1fr);gap:1rem}.organisation-files-list-panel .admin-table{min-width:100%;table-layout:fixed}.organisation-files-list-panel .admin-table th:nth-child(1),.organisation-files-list-panel .admin-table td:nth-child(1){width:42%;overflow-wrap:anywhere}.organisation-files-list-panel .admin-table th:nth-child(2),.organisation-files-list-panel .admin-table td:nth-child(2){width:16%}.organisation-files-list-panel .admin-table th:nth-child(3),.organisation-files-list-panel .admin-table td:nth-child(3){width:26%}.organisation-files-list-panel .admin-table th:nth-child(4),.organisation-files-list-panel .admin-table td:nth-child(4){width:96px}.organisation-files-list-panel .table-actions{background:#fff;white-space:nowrap}.logs-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.org-data-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1rem}.org-data-sidebar{display:grid;gap:.5rem;align-content:start}.org-data-nav-button{border:1px solid rgba(19,52,78,.12);background:#f7fafc;color:var(--navy);text-align:left;border-radius:12px;padding:.75rem .9rem;font-weight:700;cursor:pointer}.org-data-nav-button.active{background:#13344e1a;border-color:#13344e47}.org-data-viewer,.files-list-panel,.files-viewer-panel{min-width:0}.logs-viewer-panel{width:100%}.files-viewer-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.75rem}.files-viewer-header h3{margin:0 0 .35rem;color:var(--navy)}.json-viewer{margin:0;padding:1rem;border-radius:16px;background:#0f1720;color:#e8eef2;overflow:auto;font-size:.88rem;line-height:1.55}.json-tree{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;white-space:normal}.json-tree-node{margin:.1rem 0}.json-tree-summary{cursor:pointer;-webkit-user-select:none;user-select:none}.json-tree-summary:hover .json-tree-key,.json-tree-summary:hover .json-tree-collection{color:#fff}.json-tree-children{margin-left:1.2rem;padding-left:.9rem;border-left:1px solid rgba(232,238,242,.18)}.json-tree-leaf{margin:.1rem 0;overflow-wrap:anywhere}.json-tree-key{color:#9fd0e3}.json-tree-root,.json-tree-collection{color:#c8d6dd}.json-tree-value-string{color:#b9e6bf}.json-tree-value-number,.json-tree-value-boolean{color:#f3cf8a}.json-tree-value-null{color:#b9c2c9}.log-viewer{min-height:420px;white-space:pre-wrap;word-break:break-word}.training-records-toolbar{margin-bottom:.75rem}.moodle-course-form{margin:1rem 0 1.5rem;padding:1rem;border:1px solid var(--border-color, #d7dfdc);border-radius:14px;background:#ffffffa3}.moodle-course-form h3{margin-top:0}.moodle-course-form-grid{display:grid;grid-template-columns:minmax(120px,.6fr) minmax(240px,2fr) minmax(120px,.6fr);gap:.85rem}.moodle-course-form textarea{width:100%;resize:vertical}.moodle-course-organisations{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;margin:0;padding:.9rem;border:1px solid var(--border-color, #d7dfdc);border-radius:12px}.moodle-course-organisations legend{padding:0 .35rem;font-weight:700}@media (max-width: 760px){.moodle-course-form-grid{grid-template-columns:1fr}}.dataset-content-search-toolbar{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;justify-content:flex-end;margin-bottom:.75rem}.dashboard-card-wide{grid-column:1 / -1}.bookings-filters,.booking-pagination{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.booking-pagination{justify-content:flex-end}.bookings-subtoolbar{margin-top:1rem}.booking-mapping-grid{display:grid;grid-template-columns:1fr 1fr 2fr;gap:.85rem}.booking-teacher-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-top:1rem}.booking-status{display:inline-block;padding:.25rem .55rem;border-radius:999px;background:#e6edf2;color:var(--navy);font-weight:700;font-size:.85rem}.booking-status-completed{background:#dceddf;color:#235738}.booking-status-failed{background:#f7dedb;color:#8b2f25}.booking-status-waiting_moodle{background:#fff0c9;color:#72520b}.booking-detail{max-width:760px}.booking-registration{margin-top:1rem}.booking-actions{margin:1rem 0}.booking-confirmation-backdrop{z-index:40}.booking-confirmation .modal-heading p{max-width:34rem}.booking-confirmation-guidance{margin:1rem 0;padding:.9rem 1rem;border-radius:12px;background:#edf3f6}.booking-confirmation-guidance p{margin:.35rem 0 0}.booking-evaluation,.booking-authoritative-details{margin:1rem 0;padding:1rem;border:1px solid rgba(19,52,78,.16);border-radius:14px;background:#f7fafb}.booking-details-json{max-height:460px;overflow:auto;margin:1rem 0 0;padding:1rem;border-radius:10px;background:#102534;color:#eef6f8;white-space:pre-wrap;overflow-wrap:anywhere}.booking-class-summary{margin-top:1rem}.booking-class-description{grid-column:1 / -1}.booking-class-description dd{white-space:pre-wrap}.booking-raw-details{margin-top:1rem}.booking-evaluation-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.booking-evaluation-heading h3{margin:0}.booking-evaluation-list{margin-top:1rem}.booking-evaluation-list ul{margin:.4rem 0 0}.booking-intake{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(19,52,78,.12)}.booking-intake h4{margin:0 0 .75rem}.booking-intake-additional{grid-column:1 / -1}.booking-intake-additional dd{white-space:pre-wrap}.booking-received-at{display:grid;gap:.2rem}.booking-received-at span{color:var(--slate);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.booking-decision-ready{background:#dceddf;color:#235738}.booking-decision-blocked{background:#f7dedb;color:#8b2f25}@media (max-width: 760px){.booking-mapping-grid,.booking-teacher-grid{grid-template-columns:1fr}}.dashboard-card p{margin:.8rem 0 0;line-height:1.6;color:var(--slate)}.session-list{margin:1rem 0 0;display:grid;gap:.85rem}.session-list div{display:grid;gap:.2rem}.session-list dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#13344ea3}.session-list dd{margin:0;font-weight:600;color:var(--ink)}.session-list-compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:.9rem}.two-factor-setup,.two-factor-controls{margin-top:1rem}.two-factor-setup-card{margin-top:1rem;padding:1rem 1.1rem;border-radius:16px;background:#dbe5ec6b;display:grid;gap:.9rem}.two-factor-qr-block{display:grid;gap:.75rem;justify-items:start}.two-factor-qr-image{width:220px;max-width:100%;height:auto;padding:.65rem;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px #13344e14}.inline-form{display:grid;gap:.9rem}.auth-checkbox{display:flex;gap:.6rem;align-items:center;font-weight:600;color:#0f1720c7}.auth-checkbox-block{align-items:flex-start}.auth-checkbox input{margin:0}.recovery-code-list{margin:0;padding-left:1.2rem;display:grid;gap:.45rem;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.auth-danger{color:var(--accent);border-color:#b63d2f47}@media (max-width: 900px){.auth-screen,.dashboard-grid{grid-template-columns:1fr}.app-header{gap:1rem}.app-header-top{flex-direction:column}.brand-actions,.user-meta{align-items:flex-start}.app-nav{margin-top:.5rem}.admin-toolbar{flex-direction:column}.admin-toolbar-actions{width:100%;justify-content:stretch}.files-search-toolbar,.file-content-search,.dataset-content-search-toolbar{width:100%;grid-template-columns:1fr}.admin-search,.admin-select,.file-content-search .auth-submit,.file-content-search .auth-secondary,.dataset-content-search-toolbar .auth-secondary{width:100%}.modal-header{flex-direction:column}.files-layout,.org-data-layout{grid-template-columns:1fr}.files-viewer-header{flex-direction:column}}@media (max-width: 640px){.auth-screen,.app-shell{padding:1.25rem}.auth-hero,.auth-card,.dashboard-card,.app-header{padding:1.4rem}.auth-hero h1{font-size:2rem}.auth-actions,.brand-actions{width:100%}.auth-submit,.auth-secondary,.logout-button{width:100%;justify-content:center}}
