/* DICOM Academy — reading-room workstation. Dark by design: radiology is read on dark screens. */
.davx{
  /* Lecture brand: navy #243884 / deep navy #081838 / mint #78CCB0. Panels are a low-saturation navy-charcoal so the
     greyscale images are read against a near-neutral surround; the image area itself stays pure black. */
  --x-bg:#0B1220; --x-panel:#0F1729; --x-panel2:#141D33; --x-raise:#1B2640; --x-line:#222D47; --x-line2:#2E3B5C;
  --x-fg:#EEF1F6; --x-muted:#9AA6BF; --x-accent:#78CCB0; --x-accent-ink:#081838; --x-amber:#F5B544; --x-ok:#4CC38A; --x-bad:#FF6B6B;
  --x-font:"IBM Plex Sans Arabic","Segoe UI",Tahoma,system-ui,sans-serif; --x-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:dark; background:var(--x-bg); color:var(--x-fg); font:14px/1.6 var(--x-font);
  border:1px solid var(--x-line); border-radius:14px; overflow:hidden; margin:1.25em 0; max-width:100%; text-align:start;
  display:flex; flex-direction:column; position:relative
}
.davx *,.davx *::before,.davx *::after{box-sizing:border-box}
.davx p{margin:0}
.davx button,.davx input,.davx select,.davx textarea{font:inherit;color:inherit;letter-spacing:normal;text-transform:none;box-shadow:none;margin:0}
.davx button{appearance:none;cursor:pointer;background:none;border:0;line-height:1.3}
.davx button:disabled{opacity:.35;cursor:not-allowed}
.davx :focus-visible{outline:2px solid var(--x-accent);outline-offset:1px}
.davx [hidden]{display:none!important}

/* top bar */
.davx-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;background:var(--x-panel);border-bottom:1px solid var(--x-line)}
.davx-title{font-weight:600;font-size:15.5px;min-width:0;overflow-wrap:anywhere}
.davx-topacts{display:flex;gap:6px;flex-wrap:wrap}
.davx-btn-text{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:9px;border:1px solid var(--x-line2)!important;background:var(--x-raise)!important;font-size:13px}
.davx-btn-text:hover{border-color:#43506a!important}
.davx-btn-text svg{flex:none}
.davx-btn-edit.davx-on{background:var(--x-amber)!important;border-color:var(--x-amber)!important;color:#1b1400}

/* tool bar */
.davx-toolbar{display:flex;flex-wrap:wrap;gap:4px 10px;padding:6px 10px;background:var(--x-panel);border-bottom:1px solid var(--x-line)}
.davx-group{display:flex;gap:2px;padding-inline-end:10px;border-inline-end:1px solid var(--x-line)}
.davx-group:last-child{border:0;padding:0}
.davx-tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:50px;height:50px;padding:4px 4px;border-radius:9px;color:var(--x-muted)}
.davx-tool span{font-size:11px;line-height:1.1;white-space:nowrap}
.davx-tool:hover{background:var(--x-raise);color:var(--x-fg)}
.davx-tool.davx-on{background:var(--x-accent);color:var(--x-accent-ink)}
.davx-editing .davx-tool.davx-on{background:var(--x-amber);color:#1b1400}

/* sub bar */
.davx-sub{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:7px 10px;background:var(--x-panel2);border-bottom:1px solid var(--x-line)}
.davx-select{background:var(--x-raise);border:1px solid var(--x-line2);border-radius:8px;padding:5px 8px;font-size:13px;max-width:100%;min-height:32px}
.davx-seg{display:inline-flex;background:var(--x-bg);border:1px solid var(--x-line2);border-radius:9px;padding:2px;flex-wrap:wrap}
.davx-segbtn{padding:4px 10px;border-radius:7px;font-size:12.5px;color:var(--x-muted);min-height:28px}
.davx-segbtn:hover{color:var(--x-fg)}
.davx-segbtn.davx-on{background:var(--x-raise);color:var(--x-fg);box-shadow:inset 0 0 0 1px var(--x-line2)!important}

/* body */
.davx-body{display:grid;grid-template-columns:minmax(0,1fr) 7px var(--davx-side,340px);min-height:0}
.davx-resizer{background:var(--x-line);cursor:col-resize;touch-action:none;position:relative}
.davx-resizer::after{content:"";position:absolute;top:50%;left:50%;width:3px;height:36px;margin:-18px 0 0 -1.5px;border-radius:2px;background:var(--x-line2)}
.davx-resizer:hover,.davx-resizer:focus-visible,.davx-resizer.davx-drag{background:var(--x-accent);outline:none}
.davx-side-off .davx-body{grid-template-columns:minmax(0,1fr)}
.davx-side-off .davx-side,.davx-side-off .davx-resizer{display:none}
.davx-seg-end{margin-inline-start:auto}
.davx-main{min-width:0;display:flex;flex-direction:column}
.davx-stage{position:relative;height:var(--davx-h,620px);max-height:82vh;min-height:320px;background:#000}
.davx-stage.davx-drop{box-shadow:inset 0 0 0 3px var(--x-accent)}
.davx-grid{position:absolute;inset:0;display:grid;gap:2px;background:var(--x-line)}
.davx-l1{grid-template-columns:1fr}
.davx-l3{grid-template-columns:1.45fr 1fr;grid-template-rows:1fr 1fr;grid-template-areas:"a c" "a s"}
.davx-l3 .davx-vp:nth-child(1){grid-area:a}.davx-l3 .davx-vp:nth-child(2){grid-area:c}.davx-l3 .davx-vp:nth-child(3){grid-area:s}
.davx-vp{position:relative;background:#000;overflow:hidden;touch-action:none;outline:none;min-width:0;min-height:0;direction:ltr}
.davx-vp.davx-active{box-shadow:inset 0 0 0 1.5px var(--x-accent)}
.davx-canvas{display:block;width:100%;height:100%}
.davx[data-tool=wl] .davx-vp{cursor:ns-resize}.davx[data-tool=pan] .davx-vp{cursor:grab}.davx[data-tool=zoom] .davx-vp{cursor:zoom-in}
.davx[data-tool=length] .davx-vp,.davx[data-tool=angle] .davx-vp,.davx[data-tool=roi] .davx-vp,.davx[data-tool=arrow] .davx-vp,
.davx[data-tool=cross] .davx-vp,.davx[data-tool=answer] .davx-vp,.davx[data-tool=region] .davx-vp{cursor:crosshair}
.davx[data-tool=text] .davx-vp{cursor:text}.davx[data-tool=laser] .davx-vp{cursor:none}.davx[data-tool=eraser] .davx-vp{cursor:pointer}
.davx-ov{position:absolute;font:500 11.5px/1.35 var(--x-mono);color:#dfe5ee;text-shadow:0 1px 2px #000,0 0 4px #000;pointer-events:none;white-space:pre}
.davx-ov-tl{top:8px;left:10px}.davx-ov-tr{top:8px;right:10px;text-align:right}
.davx-ov-bl{bottom:8px;left:10px;color:var(--x-amber)}.davx-ov-br{bottom:8px;right:10px}
.davx-mk{position:absolute;font:600 12px var(--x-mono);color:rgba(255,197,61,.85);text-shadow:0 1px 2px #000;pointer-events:none}
.davx-mk-t{top:6px;left:50%;transform:translateX(-50%)}.davx-mk-b{bottom:6px;left:50%;transform:translateX(-50%)}
.davx-mk-l{left:8px;top:50%;transform:translateY(-50%)}.davx-mk-r{right:8px;top:50%;transform:translateY(-50%)}
.davx-textin{position:absolute;z-index:3;transform:translate(0,-50%);min-width:160px;padding:5px 8px;border-radius:7px;border:1px solid var(--x-amber);background:rgba(10,13,18,.92);color:var(--x-fg)}
.davx-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;text-align:center;color:var(--x-muted);pointer-events:none}
.davx-empty-main{font-size:15px;color:var(--x-fg)}
.davx-empty-sub{font-size:12.5px}
.davx-foot{padding:8px 12px;background:var(--x-panel);border-top:1px solid var(--x-line)}
.davx-slider{width:100%;accent-color:var(--x-accent);margin:0;display:block}
.davx-status{font-size:12px;color:var(--x-muted);margin-top:4px;min-height:1.6em}
.davx-keys{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;background:var(--x-panel2);border-top:1px solid var(--x-line)}
.davx-keys-l{font-size:12px;color:var(--x-muted);margin-inline-end:4px}
.davx-chip{padding:4px 10px;border-radius:999px;font-size:12.5px;border:1px solid rgba(255,197,61,.45)!important;color:var(--x-amber);background:rgba(255,197,61,.08)!important}
.davx-chip:hover{background:rgba(255,197,61,.16)!important}

/* side panel */
.davx-side{display:flex;flex-direction:column;min-width:0;background:var(--x-panel);max-height:calc(var(--davx-h,620px) + 140px)}
.davx-tabs{display:flex;border-bottom:1px solid var(--x-line);flex:none}
.davx-tab{flex:1;padding:11px 6px;font-size:13.5px;color:var(--x-muted);border-bottom:2px solid transparent!important}
.davx-tab.davx-on{color:var(--x-fg);border-bottom-color:var(--x-accent)!important}
.davx-sidebody{padding:14px 16px 18px;overflow:auto;display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}
.davx-h{margin:0;font-size:16px;font-weight:600;line-height:1.45;text-wrap:balance;color:var(--x-fg)}
.davx-label{font-size:12px;font-weight:600;color:var(--x-muted);margin-top:6px;letter-spacing:.02em}
.davx-prose{display:flex;flex-direction:column;gap:8px;color:#cfd5df;line-height:1.75}
.davx-muted{color:var(--x-muted);font-size:13px}
.davx-dx{padding:10px 12px;border-radius:10px;background:rgba(255,197,61,.08);border:1px solid rgba(255,197,61,.35);color:#ffe2a0;font-weight:500}
.davx-kbd{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.davx-kb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--x-muted);min-width:0}
.davx-kb kbd{font:500 11px var(--x-mono);padding:2px 6px;border-radius:5px;background:var(--x-raise);border:1px solid var(--x-line2);color:var(--x-fg);white-space:nowrap}
.davx-link{color:var(--x-accent);font-size:13px;padding:2px 0;text-decoration:none}
.davx-link:hover{text-decoration:underline}
.davx-danger{color:var(--x-bad)}
.davx-pbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 13px;border-radius:9px;background:var(--x-accent)!important;color:var(--x-accent-ink);font-weight:600;font-size:13px}
.davx-pbtn svg{width:15px;height:15px}
.davx-sbtn{padding:6px 11px;border-radius:9px;font-size:13px;border:1px solid var(--x-line2)!important;background:var(--x-raise)!important}
.davx-sbtn.davx-on{border-color:var(--x-ok)!important;color:var(--x-ok)}
.davx-wide{width:100%}
.davx-check{display:flex;align-items:center;gap:6px;font-size:13px;color:#cfd5df;cursor:pointer}
.davx-check input{accent-color:var(--x-accent)}

/* quiz */
.davx-q{border:1px solid var(--x-line2);border-radius:11px;padding:11px 12px;background:var(--x-panel2);display:flex;flex-direction:column;gap:8px}
.davx-q-active{border-color:var(--x-accent)}
.davx-q-ok{border-color:rgba(61,220,132,.55)}
.davx-q-bad{border-color:rgba(255,93,93,.45)}
.davx-qn{font-size:11.5px;color:var(--x-muted);font-weight:600}
.davx-qp{font-weight:500;line-height:1.6}
.davx-qacts,.davx-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.davx-qhead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.davx-fb{font-size:13px;font-weight:600}
.davx-ok{color:var(--x-ok)}.davx-bad{color:var(--x-bad)}
.davx-explain{font-size:13px;color:#cfd5df;padding:8px 10px;border-radius:8px;background:var(--x-bg);border-inline-start:3px solid var(--x-accent)}
.davx-opts{display:flex;flex-direction:column;gap:6px}
.davx-opt{text-align:start;padding:8px 11px;border-radius:9px;border:1px solid var(--x-line2)!important;background:var(--x-raise)!important;font-size:13.5px}
.davx-opt:hover:not(:disabled){border-color:var(--x-accent)!important}
.davx-opt:disabled{opacity:1;cursor:default}
.davx-opt-ok{border-color:var(--x-ok)!important;color:var(--x-ok);background:rgba(61,220,132,.08)!important}
.davx-opt-bad{border-color:var(--x-bad)!important;color:var(--x-bad);background:rgba(255,93,93,.08)!important}
.davx-score{display:flex;justify-content:space-between;align-items:center;padding-top:6px;border-top:1px solid var(--x-line);font-size:13px;font-weight:600}
.davx-klist{display:flex;flex-wrap:wrap;gap:6px}

/* editor */
.davx-edhead{padding:11px 16px;border-bottom:1px solid var(--x-line);color:var(--x-amber);flex:none}
.davx-field{display:flex;flex-direction:column;gap:4px}
.davx-field label{font-size:12px;color:var(--x-muted)}
.davx-field input,.davx-field textarea,.davx-row input[type=text]{width:100%;background:var(--x-bg);border:1px solid var(--x-line2);border-radius:8px;padding:7px 9px;font-size:13.5px;resize:vertical}
.davx-row input[type=text]{flex:1;min-width:120px;width:auto}
.davx-num{width:64px!important;background:var(--x-bg);border:1px solid var(--x-line2);border-radius:8px;padding:5px 8px}
.davx-elist{display:flex;flex-direction:column;gap:4px}
.davx-erow{display:flex;align-items:center;gap:10px;font-size:12.5px;padding:6px 9px;border-radius:8px;background:var(--x-panel2)}
.davx-erow span{flex:1;min-width:0;overflow-wrap:anywhere}
.davx-q-edit{gap:9px}
.davx-savebar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--x-line);background:var(--x-panel2);flex:none}

/* presentation / fullscreen */
.davx:fullscreen{border-radius:0;border:0;margin:0;height:100vh;overflow:auto}
.davx:fullscreen .davx-stage{height:calc(100vh - 250px);max-height:none}
.davx-present .davx-side{display:none}
.davx-present .davx-body{grid-template-columns:1fr}
.davx-present .davx-resizer{display:none}
.davx-present .davx-main{border:0}
.davx-present:fullscreen .davx-stage{height:calc(100vh - 200px)}

.davx-notice{padding:14px 16px;border:1px solid #d6dbe4;border-radius:10px;background:#f6f8fb;color:#222;margin:1em 0}

@media (max-width:960px){
  .davx-body{grid-template-columns:1fr}
  .davx-resizer{display:none}
  .davx-main{border:0}
  .davx-side{max-height:none;border-top:1px solid var(--x-line)}
  .davx-stage{height:min(var(--davx-h,620px),68vh)}
  .davx-l3{grid-template-columns:1fr 1fr;grid-template-rows:1.3fr 1fr;grid-template-areas:"a a" "c s"}
}
@media (max-width:560px){
  .davx-tool{min-width:44px;height:46px}
  .davx-tool span{font-size:10px}
  .davx-group{padding-inline-end:6px}
  .davx-btn-text span{display:none}
}

.lecture-dicom-shell{margin:20px 0}.lecture-dicom-message{padding:18px;border:1px solid #e1e4ee;border-radius:12px;background:#fff;color:#24304d}.lecture-dicom-shortcode{direction:ltr;display:inline-block;padding:5px 8px;background:#eef1f7;border-radius:6px;font-family:monospace}.lecture-dicom-admin-grid{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:20px}.lecture-dicom-form{display:grid;gap:14px}.lecture-dicom-form label{display:grid;gap:6px;font-weight:600}.lecture-dicom-form input,.lecture-dicom-form select,.lecture-dicom-form textarea{width:100%;max-width:none}.lecture-dicom-help{font-size:13px;color:#69738d}.lecture-dicom-list{display:grid;gap:10px}.lecture-dicom-item{padding:14px;border:1px solid #e1e4ee;border-radius:12px;background:#fff}.lecture-dicom-item h3{margin:0 0 7px}.lecture-dicom-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}@media(max-width:900px){.lecture-dicom-admin-grid{grid-template-columns:1fr}}
