.source-updates-modal { width:min(620px,calc(100vw - 24px)); }
.source-updates-modal .modal-head { background:var(--surface); color:var(--ink); }
.source-updates-modal .modal-head h2 { margin:0; font-size:21px; }
.source-updates-modal .modal-head button { min-width:44px; min-height:44px; padding:6px; font-size:24px; }
.source-updates-modal .modal-body { padding:0 18px 16px; }
.source-update-section { padding:18px 0; border-bottom:1px solid var(--line); min-width:0; }
.source-update-section h3 { margin:0; font-size:17px; line-height:1.4; }
.source-update-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.source-update-heading button { display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:8px 12px; flex:none; color:var(--surface); }
.source-updates-modal svg { width:22px; height:22px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.source-update-record { min-width:0; }
.source-update-record + .source-update-record { border-top:1px solid var(--line); }
.source-update-record > summary { display:flex; align-items:center; gap:12px; min-height:60px; padding:10px 0; cursor:pointer; list-style:none; }
.source-update-record > summary::-webkit-details-marker { display:none; }
.source-update-record > summary > svg:first-child { width:25px; height:28px; color:var(--primary); }
.source-update-record > summary > svg:last-child { width:18px; height:18px; color:var(--muted); }
.source-update-record[open] > summary > svg:last-child { transform:rotate(90deg); }
.source-update-file { flex:1; min-width:0; }
.source-update-file strong { display:block; font-size:16px; font-weight:650; line-height:1.4; overflow-wrap:anywhere; }
.source-update-meta { display:flex; flex-wrap:wrap; gap:5px 8px; align-items:center; margin-top:4px; font-size:14px; color:var(--muted); line-height:1.4; }
.source-update-status { border-radius:var(--chip-radius); padding:2px 7px; background:var(--surface-2); border:1px solid var(--line); font-size:13px; text-transform:capitalize; color:var(--ink-2); }
.source-update-status.current { background:var(--success-soft); color:var(--success); border-color:transparent; }
.source-update-empty { margin:10px 0 0; color:var(--muted); font-size:15px; line-height:1.5; }
.source-update-facts { margin:0 0 10px 37px; display:grid; gap:8px; font-size:14px; line-height:1.5; }
.source-update-facts > div { display:grid; grid-template-columns:minmax(85px,.7fr) minmax(0,2fr); gap:8px; }
.source-update-facts dt { color:var(--muted); }
.source-update-facts dd { margin:0; overflow-wrap:anywhere; }
.source-update-history > h3 { margin-bottom:8px; }
.source-update-versions > summary { min-height:44px; display:flex; align-items:center; gap:8px; cursor:pointer; font-size:14px; color:var(--primary); }
.source-update-versions > summary::before { content:'›'; font-size:22px; }
.source-update-versions[open] > summary::before { transform:rotate(90deg); }
.source-update-versions { padding-left:37px; }
.source-update-versions .source-update-facts { margin-left:0; }
.source-update-settings h3 { margin:0 0 10px; font-size:16px; }
.source-update-settings .import-confidence-setting { display:flex; flex-wrap:wrap; gap:8px; font-size:14px; align-items:center; margin:4px 0 12px; }
.source-update-settings input { width:76px; min-height:44px; }
.source-update-workspace { min-height:44px; display:flex; align-items:center; padding:6px 0; background:none; border:0; box-shadow:none; color:var(--primary); font-size:15px; }
@media (hover:hover) and (pointer:fine) { .source-update-workspace:hover { background:var(--surface-2); } }
@media (max-width:430px) {
  .source-updates-modal .modal-body { padding-inline:14px; }
  .source-update-section { padding:14px 0; }
}
@media (prefers-reduced-motion:no-preference) {
  .source-update-record > summary > svg:last-child { transition:transform .15s ease; }
}
