.modules-dialog { width:min(900px,calc(100% - 24px)); max-height:85vh; box-sizing:border-box; overflow:auto; border:1px solid #52616a; border-radius:8px; background:#10191e; color:#f3fbff; padding:20px; }
.modules-dialog::backdrop { background:rgb(0 0 0 / 65%); }
.modules-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.modules-heading h2 { margin:0; font-size:22px; overflow-wrap:anywhere; }
.modules-list { display:grid; gap:0; }
.module-row { display:grid; grid-template-columns:minmax(120px,1fr) minmax(140px,2fr) auto; gap:16px; padding:18px 0; border-bottom:1px solid #36434a; align-items:center; }
.module-row p { margin:4px 0; font-size:14px; overflow-wrap:anywhere; }
.module-row strong { font-size:16px; }
.module-row button { min-width:130px; }
.modules-dialog button:disabled { opacity:.5; cursor:not-allowed; }
.modules-job { margin:16px 0; overflow-wrap:anywhere; }
.modules-job progress { display:block; width:100%; height:18px; accent-color:#36d79e; }
.modules-notice { min-height:24px; overflow-wrap:anywhere; }
.modules-stale { color:#ffc857; }
@media(max-width:600px) { .module-row { grid-template-columns:1fr; gap:6px; } .module-row button { justify-self:start; } .modules-dialog { padding:14px; } }
