.qx-filters{grid-template-columns:1fr 1fr;gap:16px;margin:22px 0;display:grid}.qx-sources{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.qx-source-card{border:1px solid var(--sm-border,#d9e2d9);background:var(--sm-card,#fff);border-radius:18px;padding:20px}.qx-source-card h3{margin:0 0 7px}.qx-source-card p{color:var(--sm-muted,#627164);font-size:13px;line-height:1.5}.qx-source-list{gap:10px;margin:18px 0;display:grid}.qx-source{border-top:1px solid var(--sm-border,#e0e5df);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.qx-source small,.qx-log-row small{color:var(--sm-muted,#667368);margin-top:5px;font-size:11px;display:block}.qx-source-card footer{flex-wrap:wrap;gap:7px;margin-top:18px;display:flex}.qx-last{overflow-wrap:anywhere;font-size:12px;display:block}.qx-secondary{border:1px solid var(--sm-border,#dbe4da);border-radius:12px;margin-top:24px;padding:18px}.qx-secondary button{margin:10px 8px 0 0}.qx-footnote{margin-top:18px}.qx-overlay{z-index:100;background:#0008;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.qx-modal{color:#243328;background:#fff;border:0;border-radius:20px;width:min(540px,100%);max-height:90dvh;margin:0;padding:24px;position:relative;overflow:auto;box-shadow:0 24px 80px #0004}.qx-modal header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.qx-modal h2{margin:0;font-size:22px}.qx-modal label{gap:7px;margin-top:14px;font-size:13px;display:grid}.qx-meta{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.qx-meta button{color:inherit;background:#f4f6f2;border:1px solid #d5ddd4;border-radius:20px;padding:5px 9px;font-size:11px}.qx-result{gap:8px;margin:16px 0;display:grid}.qx-result button{text-align:left;color:inherit;background:#f8faf7;border:1px solid #d4ded2;border-radius:10px;padding:12px}.qx-result button[aria-pressed=true]{background:#e9f0e4;border-color:#4d7652;box-shadow:inset 0 0 0 1px #4d7652}.qx-modal details{margin-top:18px}.qx-modal .qx-save{justify-content:center;width:100%;margin-top:18px}.qx-modal input,.qx-modal select,.qx-modal textarea{width:100%;max-width:100%}.qx-logbook{margin-top:30px}.qx-log-row{border-bottom:1px solid var(--sm-border,#dce4d9);justify-content:space-between;align-items:center;gap:15px;padding:16px 0;display:flex}.qx-log-row h3{margin:5px 0;font-size:14px}.qx-row-actions{flex-wrap:wrap;gap:5px;display:flex}.qx-undo{background:#eaf1e4;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;padding:12px 16px;display:flex}.qx-tagchecks{flex-wrap:wrap;gap:10px;display:flex}.qx-tagchecks label{align-items:center;display:flex}.qx-tagchecks input{width:auto}.sm[data-theme=dark] .qx-source-card,.sm[data-theme=dark] .qx-modal{color:#efefef;background:#252525;border-color:#454545}.sm[data-theme=dark] .qx-source-card p,.sm[data-theme=dark] .qx-source small,.sm[data-theme=dark] .qx-log-row small{color:#b9b9b9}.sm[data-theme=dark] .qx-source,.sm[data-theme=dark] .qx-log-row,.sm[data-theme=dark] .qx-secondary{border-color:#454545}.sm[data-theme=dark] .qx-meta button,.sm[data-theme=dark] .qx-result button{color:#eee;background:#313131;border-color:#555}.sm[data-theme=dark] .qx-result button[aria-pressed=true]{background:#4a4a4a;border-color:#aaa;box-shadow:inset 0 0 0 1px #aaa}.sm[data-theme=dark] .qx-undo{background:#363636}.sm[data-theme=dark] .qx-modal input,.sm[data-theme=dark] .qx-modal select,.sm[data-theme=dark] .qx-modal textarea{color:#eee;background:#303030;border-color:#555}@media (max-width:600px){.qx-sources,.qx-filters{grid-template-columns:1fr}.qx-source-card{padding:16px}.qx-modal{padding:18px}.qx-log-row{display:block}.qx-row-actions{margin-top:10px}.qx-source{align-items:flex-start}.qx-source .sm-button{white-space:nowrap;font-size:11px}.qx-overlay{padding:10px}.qx-result{gap:7px}.qx-modal label{margin-top:10px}}.qx{--qx-accent:#9b5725;--qx-tint:#fff4e8;--qx-line:#dfc6af}.qx[data-level=zilver]{--qx-accent:#436586;--qx-tint:#edf4fc;--qx-line:#b8cce0}.qx[data-level=goud]{--qx-accent:#8b6a09;--qx-tint:#fff8df;--qx-line:#dbc987}.qx .qx-source-card{border-top:3px solid var(--qx-accent);background:var(--sm-card,#fff);flex-direction:column;min-width:0;padding:20px;display:flex}.qx-card-label{letter-spacing:.08em;text-transform:uppercase;color:var(--qx-accent);margin-bottom:10px;font-size:10px;font-weight:600;display:block}.qx .qx-source-card header{min-height:105px}.qx .qx-source-list{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--qx-accent) transparent;align-content:start;max-height:330px;margin:8px 0 16px;padding-right:8px;overflow-y:auto}.qx .qx-source{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px 0 4px;display:grid}.qx .qx-source strong{font-size:13px}.qx .qx-source .sm-button{white-space:nowrap;flex-shrink:0;justify-content:center;min-width:66px;padding:7px 10px}.qx .qx-source-guidance{margin-top:9px;line-height:1.6}.qx .qx-source-card footer{border-top:1px solid var(--sm-border,#d9e2d9);justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px}.qx-resume{border:1px solid var(--qx-line);background:var(--qx-tint);border-radius:10px;gap:7px;margin-bottom:16px;padding:12px;display:grid}.qx-resume small{text-transform:uppercase;letter-spacing:.06em;font-size:10px}.qx-resume strong{overflow-wrap:anywhere;font-size:12px}.qx .qx-resume .qx-continue{justify-self:start}.qx .sm-button.qx-continue{background:var(--qx-tint);border:1px solid var(--qx-line);color:var(--qx-accent);white-space:nowrap;font-weight:600}.qx .sm-button.qx-continue:hover{filter:brightness(1.12);border-color:var(--qx-accent)}.qx a:focus-visible,.qx button:focus-visible,.qx-source-list:focus-visible{outline:2px solid var(--qx-accent);outline-offset:3px}.qx .qx-log-row{border:1px solid var(--sm-border,#d9e2d9);background:var(--sm-card,#fff);border-left:3px solid #818cf8;border-radius:12px;align-items:flex-start;margin:12px 0;padding:18px}.qx .qx-log-row[data-result=zelfstandig-opgelost]{border-left-color:#34b798}.qx .qx-log-row[data-result=vastgelopen]{border-left-color:#e4a45c}.qx-log-row>div:first-child{flex:1;min-width:0}.qx-log-row h3{overflow-wrap:anywhere}.qx .qx-row-actions{justify-content:flex-end;align-items:center;gap:8px;max-width:520px}.sm[data-theme=dark] .qx{--qx-accent:#edb27e;--qx-tint:#30251f;--qx-line:#644932}.sm[data-theme=dark] .qx[data-level=zilver]{--qx-accent:#a4c6ed;--qx-tint:#202b37;--qx-line:#405975}.sm[data-theme=dark] .qx[data-level=goud]{--qx-accent:#ead27f;--qx-tint:#302b1b;--qx-line:#655831}.sm[data-theme=dark] .qx .qx-source-card,.sm[data-theme=dark] .qx .qx-log-row{border-color:#353c45;border-top-color:var(--qx-accent);background:#1f2328}.sm[data-theme=dark] .qx .qx-log-row{border-top-color:#353c45}.sm[data-theme=dark] .qx .qx-source-card p,.sm[data-theme=dark] .qx .qx-source small{color:#b6c0cd}@media (max-width:1000px){.qx .qx-log-row{flex-direction:column}.qx .qx-row-actions{justify-content:flex-start;max-width:none}}@media (max-width:600px){.qx .qx-sources{grid-template-columns:minmax(0,1fr)}.qx .qx-source-list{max-height:300px}.qx .qx-source-card header{min-height:0}.qx .qx-row-actions{gap:8px;display:flex}.qx .qx-row-actions .qx-continue{flex-basis:100%;justify-content:center}}
.ex{--ex-surface:#fff;--ex-soft:#f1f6f2;--ex-border:#d1e1d7;--ex-muted:#5d7666;--ex-ink:#183b29}.ex-levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:23px 0;display:grid}.ex-level{text-align:left;border:1px solid var(--ex-border);background:var(--ex-surface);min-height:115px;color:var(--ex-ink);border-radius:13px;align-items:flex-start;gap:12px;padding:18px;display:flex}.ex-level:hover{border-color:#7aa78b}.ex-level.active{background:#eaf5ed;border:2px solid #438260;padding:17px}.ex-medal{font-size:27px;line-height:1.3}.ex-level strong{margin-bottom:3px;font-size:18px;display:block}.ex-level small{color:var(--ex-muted);font-size:11px;line-height:1.5;display:block}.ex-level .ex-level-title{color:var(--ex-ink);margin-bottom:5px;font-size:12px;font-weight:650}.ex-level.gold.active{background:#fbf5e6;border-color:#b79a4d}.ex-level.silver.active{background:#edf2f8;border-color:#8299b8}.ex-path{color:var(--ex-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:13px;font-size:11px;display:flex}.ex-path strong{color:var(--ex-ink)}.ex-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:16px 0;display:grid}.ex-filters label{margin:0}.ex-time{flex-wrap:wrap;align-items:center;gap:7px;margin:17px 0;display:flex}.ex-time>small{margin-right:6px}.ex-subjects{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.ex-subject{border:1px solid var(--ex-border);background:var(--ex-surface);text-align:left;color:var(--ex-ink);border-radius:10px;padding:14px}.ex-subject.active{border-color:#6da582;box-shadow:0 0 0 1px #b7d7c2}.ex-subject strong{font-size:13px;display:block}.ex-subject p{color:var(--ex-muted);margin:7px 0;font-size:11px}.ex-subject footer{color:var(--ex-muted);font-size:10px}.ex-statusbar{justify-content:space-between;align-items:center;gap:10px;margin:20px 0 12px;display:flex}.ex-statusbar h2{font-size:19px}.ex-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.ex-card{border:1px solid var(--ex-border);background:var(--ex-surface);border-radius:13px;min-width:0;padding:21px}.ex-card h3{margin:10px 0;font-size:17px;line-height:1.35}.ex-card>p{color:var(--ex-muted);white-space:pre-wrap;font-size:13px}.ex-card-meta{color:var(--ex-muted);justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.ex-tags{flex-wrap:wrap;gap:5px;margin:12px 0;display:flex}.ex-tag{border:1px solid var(--ex-border);background:var(--ex-soft);color:var(--ex-muted);border-radius:5px;padding:3px 6px;font-size:10px}.ex-card-actions{flex-wrap:wrap;align-items:center;gap:7px;margin-top:16px;display:flex}.ex-hint{background:var(--ex-soft);color:var(--ex-muted);border-radius:9px;margin-top:13px;padding:12px;font-size:11px}.ex-card ul{color:var(--ex-muted);margin:8px 0;padding-left:18px;font-size:11px}.ex-empty{background:var(--ex-surface);text-align:center;border:1px dashed #bfd5c7;border-radius:13px;margin:18px 0;padding:30px}.ex-empty svg{color:#6b9e7c;margin:0 auto 11px;display:block}.ex-empty h3{font-size:18px}.ex-empty p{max-width:510px;color:var(--ex-muted);margin:9px auto 17px;font-size:13px}.ex-resume{background:#edf8f0;border:1px solid #bddec9;border-radius:13px;margin:20px 0;padding:19px}.ex-resume h2{font-size:17px}.ex-resume-row{border-bottom:1px solid #d6e8db;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.ex-resume-row:last-child{border-bottom:0}.ex-resume-row strong{font-size:12px;display:block}.ex-resume-row small{color:var(--ex-muted);font-size:10px}.ex-editor{background:var(--ex-surface);border:1px solid #c1dacb;border-radius:15px;margin-top:24px;padding:24px;scroll-margin-top:15px}.ex-editor-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:19px;display:flex}.ex-editor-header h2{font-size:23px}.ex-editor-header p{color:var(--ex-muted);font-size:12px}.ex-editor-section{border-top:1px solid var(--ex-border);padding:20px 0}.ex-editor-section h3{margin-bottom:14px}.ex-multi{border:1px solid var(--ex-border);background:var(--ex-soft);border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:220px;padding:11px;display:grid;overflow:auto}.ex-multi label{align-items:flex-start;gap:7px;margin:0;padding:5px;font-size:11px;font-weight:400;display:flex}.ex-multi input{flex-shrink:0!important;margin:0!important}.ex-inline{align-items:center;gap:8px;margin:8px 0;display:flex}.ex-inline input{flex:1;min-width:0}.ex-inline button{flex-shrink:0}.ex-editor-footer{border-top:1px solid var(--ex-border);flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:18px;display:flex}.ex-workspace{background:var(--ex-surface);border:1px solid #98c5a7;border-radius:15px;margin:25px 0;padding:24px;scroll-margin-top:15px}.ex-workspace-top{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px;display:flex}.ex-workspace-top h2{font-size:24px;line-height:1.3}.ex-saved{color:#4f7b5e;align-items:center;gap:5px;font-size:11px;display:flex}.ex-workspace-columns{grid-template-columns:1fr 1fr;gap:22px;display:grid}.ex-instruction{white-space:pre-wrap;background:var(--ex-soft);color:var(--ex-ink);border-radius:10px;padding:17px;font-size:13px;line-height:1.7}.ex-checklist label{border-bottom:1px solid var(--ex-border);align-items:flex-start;gap:8px;padding:11px 0;font-size:12px;font-weight:400;display:flex}.ex-checklist input{flex-shrink:0!important;margin:0!important}.ex-session{border-bottom:1px solid var(--ex-border);justify-content:space-between;align-items:center;gap:15px;padding:12px 0;display:flex}.ex-session strong{font-size:12px;display:block}.ex-session p{color:var(--ex-muted);margin:4px 0;font-size:11px}.ex-session small{color:var(--ex-muted);font-size:10px}.ex-help-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:9px 0 17px;display:grid}.ex-help-choices label{background:var(--ex-soft);border:1px solid var(--ex-border);border-radius:8px;align-items:center;gap:7px;margin:0;padding:10px;font-size:11px;font-weight:400;display:flex}.ex-help-choices input{flex-shrink:0!important;margin:0!important}.ex-proof-links{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.ex-proof-links a{font-size:12px}.ex-save-actions{background:var(--ex-surface);border-top:1px solid var(--ex-border);z-index:4;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;padding:14px 0;display:flex;position:sticky;bottom:0}.ex-save-actions .sm-button.primary{margin-left:auto}.ex-victory{color:#6e561d;background:#fcf5dd;border:1px solid #d9bd6a;border-radius:13px;margin:20px 0;padding:22px}.ex-victory h3{font-size:23px;color:#72551b!important}.ex-victory p{color:#795f2b;font-size:12px}.ex-victory strong{font-size:11px}.ex-victory-list{margin:10px 0;padding-left:20px;font-size:12px}.ex-victory.pending{background:var(--ex-soft);border-color:var(--ex-border);color:var(--ex-muted)}.ex-victory.pending h3{font-size:16px;color:var(--ex-ink)!important}.ex-victory.pending p{color:var(--ex-muted)}.ex-history{border:1px solid var(--ex-border);background:var(--ex-soft);border-radius:11px;margin:12px 0;padding:16px}.ex-history-header{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.ex-history h3{font-size:14px}.ex-history p{color:var(--ex-muted);white-space:pre-wrap;font-size:12px}.ex-history details{margin-top:13px;font-size:11px}.ex-history summary{cursor:pointer;min-height:35px;font-weight:650}.ex-gold-badge{color:#785915;background:#f5e5b5;border:1px solid #d6b65a;border-radius:6px;align-items:center;gap:5px;padding:5px 8px;font-size:11px;display:inline-flex}.ex-subtle{color:var(--ex-muted);font-size:11px}.ex-catalog-grid{grid-template-columns:1.3fr 1fr;gap:22px;display:grid}.ex-catalog-row{border-bottom:1px solid var(--ex-border);align-items:center;gap:8px;padding:8px 0;display:flex}.ex-catalog-row input{min-width:0}.ex-danger{color:#a3432e}.ex-session-inputs{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ex-attempt-badge{color:#3c684c;background:#e7f3ea;border-radius:5px;padding:3px 7px;font-size:10px}.ex-archived{opacity:.75}.ex-notice{background:var(--ex-soft);color:var(--ex-muted);border-left:3px solid #89b398;border-radius:0 8px 8px 0;margin:14px 0;padding:10px 14px;font-size:12px}.ex-criteria-title{margin:15px 0 7px;font-size:13px;font-weight:650}.ex-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ex-errors{color:#993f28;background:#fff0e9;border:1px solid #e4b9ab;border-radius:9px;margin:13px 0;padding:14px;font-size:12px}.ex-catalog-tabs{gap:7px;margin-bottom:17px;display:flex}.ex-compact .ex-level{min-height:85px;padding:12px}.ex-compact .ex-level.active{padding:11px}.ex-compact .ex-level small:last-child{display:none}.ex-compact .ex-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sm[data-theme=dark] .ex{--ex-surface:#262626;--ex-soft:#353535;--ex-border:#595959;--ex-muted:#c6c6c6;--ex-ink:#ececec}.sm[data-theme=dark] .ex-level.active{background:#434343;border-color:#b6b6b6}.sm[data-theme=dark] .ex-level.gold.active{background:#403821;border-color:#c7a953}.sm[data-theme=dark] .ex-level.silver.active{background:#293d4f;border-color:#86a5c4}.sm[data-theme=dark] .ex-resume{background:#3c3c3c;border-color:#727272}.sm[data-theme=dark] .ex-resume-row{border-color:#5a5a5a}.sm[data-theme=dark] :is(.ex-editor,.ex-workspace,.ex-empty){border-color:#7b7b7b}.sm[data-theme=dark] .ex-saved{color:#ccc}.sm[data-theme=dark] .ex-victory:not(.pending){color:#f0d897;background:#453c23;border-color:#b5994d}.sm[data-theme=dark] .ex-victory:not(.pending) h3{color:#f8dfa2!important}.sm[data-theme=dark] .ex-victory:not(.pending) p{color:#e3ce9b}.sm[data-theme=dark] .ex-gold-badge{color:#ffe6a3;background:#544520;border-color:#b19549}.sm[data-theme=dark] .ex-attempt-badge{color:#e5e5e5;background:#4a4a4a}.sm[data-theme=dark] .ex-errors{color:#ffd0bd;background:#4b2c25;border-color:#97604c}.sm[data-theme=dark] .ex-danger{color:#fac6b2}@media (max-width:1100px){.ex-subjects{grid-template-columns:repeat(2,minmax(0,1fr))}.ex-workspace-columns,.ex-catalog-grid{grid-template-columns:1fr}}@media (max-width:760px){.ex-levels{gap:7px}.ex-level{min-height:150px;padding:12px;display:block}.ex-level.active{padding:11px}.ex-medal{font-size:24px}.ex-level strong{font-size:15px}.ex-level small,.ex-level .ex-level-title{font-size:10px}.ex-filters{grid-template-columns:1fr}.ex-subjects{grid-template-columns:1fr 1fr;gap:7px}.ex-subject{padding:11px}.ex-subject strong{font-size:12px}.ex-subject p{font-size:10px}.ex-card-grid,.ex-compact .ex-card-grid{grid-template-columns:1fr}.ex-card,.ex-editor,.ex-workspace{padding:17px}.ex-editor-header,.ex-workspace-top{flex-direction:column;gap:10px}.ex-multi,.ex-help-choices,.ex-session-inputs{grid-template-columns:1fr}.ex-time .sm-button{padding:8px 11px;font-size:11px}.ex-statusbar{flex-direction:column;align-items:flex-start}.ex-resume-row{align-items:flex-start}.ex-save-actions{bottom:0}.ex-save-actions .sm-button{flex:1;font-size:11px}.ex-save-actions .sm-button.primary{margin:0}.ex-history-header{flex-direction:column;gap:7px}.ex-catalog-tabs{flex-wrap:wrap}.ex-compact .ex-level{min-height:105px}.ex-compact .ex-level small:last-child{display:none}}
