.dc-modal { width:min(1080px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); display:flex; flex-direction:column; }
.dc-modal .modal-body { min-width:0; overflow:auto; }
.dc-modal form { min-height:0; display:flex; flex-direction:column; }
.dc-modal .modal-footer { flex-wrap:wrap; }
.dc-field { display:grid; gap:6px; margin:15px 0; min-width:0; font-size:12px; }
.dc-field>span { font-weight:600; }
.dc-field small { color:var(--muted); font-size:11px; }
.dc-field input,.dc-field textarea,.dc-field select { max-width:100%; width:100%; }
.dc-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
.dc-source-picker { border:1px solid var(--line); border-radius:7px; padding:14px; max-height:470px; overflow:auto; }
.dc-source-search { display:grid; gap:6px; font-size:11px; color:var(--muted); position:sticky; top:-14px; z-index:1; padding:9px 0; background:var(--surface); }
.dc-source-picker>section { border-top:1px solid var(--line); padding:12px 0 0; }
.dc-check { display:flex; gap:9px; align-items:flex-start; font-size:12px; margin:9px 0; cursor:pointer; }
.dc-check input { flex:none; width:16px; height:16px; margin-top:2px; }
.dc-check span { min-width:0; overflow-wrap:anywhere; }
.dc-source { border:1px solid var(--line); border-radius:6px; background:#f8faf5; padding:13px; min-width:0; }
.dc-source-picker .dc-source { border:0; background:transparent; padding:5px 0 12px; }
.dc-source-top { display:flex; gap:10px; justify-content:space-between; flex-wrap:wrap; font-size:12px; }
.dc-source small { display:block; margin:6px 0; font-size:10px; color:var(--muted); overflow-wrap:anywhere; }
.dc-source-location { font-size:11px; color:var(--muted); margin:8px 0; }
.dc-source-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:12px 0 22px; }
.dc-source-video { display:block; width:100%; max-height:300px; background:#163b34; margin:12px 0; }
.dc-text,.dc-full-text { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; line-height:1.65; margin:9px 0; }
.dc-long summary { cursor:pointer; overflow-wrap:anywhere; font-size:12px; line-height:1.6; padding:7px 0; }
.dc-full-text { max-height:200px; overflow:auto; padding:10px; background:#fff; border:1px solid var(--line); border-radius:4px; }
.dc-section-line { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.dc-section-line h3 { margin:0; }
.dc-directions>section { border:1px solid var(--line); padding:14px; border-radius:7px; margin:12px 0; }
.dc-blocking { margin:20px 0; font-size:12px; }
.dc-meta { display:grid; grid-template-columns:130px minmax(0,1fr); gap:8px 12px; font-size:12px; margin:18px 0; }
.dc-meta dt { color:var(--muted); }
.dc-meta dd { margin:0; overflow-wrap:anywhere; }
.dc-record-id { overflow-wrap:anywhere; color:var(--muted); font-size:10px; margin:8px 0 14px; }
.dc-decision-record { border:1px solid #c2d0bb; border-radius:7px; background:#f6f9ef; padding:16px; margin:20px 0; }
.dc-decision-record article,.dc-history article { padding:12px 0; border-top:1px solid var(--line); }
.dc-decision-record article>small { display:block; color:var(--muted); font-size:10px; }
.dc-history { margin:20px 0; }
.dc-error:not(:empty) { white-space:pre-wrap; overflow-wrap:anywhere; padding:12px; margin:14px 0; background:#fff0e9; color:var(--danger); border:1px solid #eacbbf; border-radius:6px; }
.dc-outcome,.dc-requirement { border:1px solid var(--line); border-radius:6px; padding:14px; margin:14px 0; min-width:0; }
.dc-requirement { background:#f8faf5; }
.dc-outcome .dc-source { background:transparent; border:0; padding:0 0 8px; }
.dc-progress { margin:20px 0; }
.dc-progress article { border-top:1px solid var(--line); padding:14px 0; }
.dc-progress .badge { white-space:normal; }
.dc-notifications { border-top:1px solid var(--line); margin:20px 0; padding:14px 0; font-size:12px; }
.dc-notifications summary { cursor:pointer; overflow-wrap:anywhere; }
.dc-notifications article { padding:10px 0; border-top:1px solid var(--line); }
.dc-notifications article small { display:block; color:var(--muted); margin-top:6px; }
.dc-linked { padding:10px; border:1px solid #dacfa9; border-radius:4px; background:#faf5e8; font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.dc-conflict-list article { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:12px 0; border-bottom:1px solid var(--line); }
.round-decisions { min-width:0; margin:16px 0; font-size:12px; overflow-wrap:anywhere; }
.round-decisions p,.round-decisions small { white-space:pre-wrap; overflow-wrap:anywhere; }
.round-decision-options { display:flex; flex-direction:column; gap:12px; border:1px solid var(--line); border-radius:7px; padding:14px; max-height:330px; overflow:auto; }
.round-decision-options label { min-width:0; align-items:flex-start; }
.round-decision-options label>span { min-width:0; overflow-wrap:anywhere; }
@media(max-width:540px) {
 .dc-modal { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }
 .dc-modal .modal-header,.dc-modal .modal-body,.dc-modal .modal-footer { padding:15px; }
 .dc-form-grid,.dc-source-grid { grid-template-columns:1fr; gap:0; }
 .dc-source-grid { gap:10px; }
 .dc-meta { grid-template-columns:95px minmax(0,1fr); }
 .dc-modal .modal-footer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .dc-modal .modal-footer button { min-width:0; white-space:normal; line-height:1.45; padding:9px; }
 .dc-modal .modal-footer .primary:last-child { grid-column:1/-1; }
 .dc-source-picker { padding:10px; max-height:410px; }
 .round-decision-options { padding:10px; }
}
