.direction-card { margin-bottom:18px; }
.direction-card > .section-title { align-items:flex-start; }
.direction-card .direction-intro { margin:5px 0 14px; }
.direction-editor { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:20px; align-items:start; }
.direction-context, .direction-controls, .direction-results { min-width:0; }
.direction-controls > details:first-child { margin-top:0; }
.direction-card label { margin:0 0 5px; }
.direction-card textarea { display:block; }
.direction-card details { border-top:1px solid var(--line); margin-top:12px; padding-top:10px; }
.direction-card summary { font-size:14px; font-weight:650; cursor:pointer; }
.direction-card .direction-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px; }
.direction-fields .direction-wide { grid-column:1/-1; }
.direction-card .direction-revenue { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; grid-column:1/-1; }
.direction-revenue textarea { font-size:14px; min-height:88px; }
.direction-card .direction-hint { margin:6px 0 0; font-size:12px; color:var(--muted); }
.direction-scope { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.direction-scope label { display:flex; align-items:center; gap:6px; border:1px solid var(--line); background:var(--surface-soft); padding:6px 9px; border-radius:8px; font-size:13px; font-weight:500; margin:0; max-width:100%; overflow-wrap:anywhere; }
.direction-scope input { width:16px; height:16px; flex-shrink:0; margin:0; }
.direction-scope label:has(input:checked) { border-color:var(--accent-line); background:var(--accent-soft); }
.direction-capacity { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.direction-capacity select { width:100%; padding:9px; }
.direction-criteria { display:grid; grid-template-columns:minmax(0,1fr) 76px; gap:8px; margin-top:10px; }
.direction-criteria input,.direction-criteria select { width:100%; padding:7px 9px; font-size:13px; }
.direction-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:14px; }
.direction-status { margin:8px 0 0; min-height:20px; }
.direction-results { background:var(--surface-soft); border:1px solid var(--line); border-radius:14px; padding:14px; margin-top:14px; }
.direction-results h3 { font-size:17px; margin:0; }
.direction-results > p { margin:8px 0; }
.direction-result-list { list-style:none; padding:0; margin:10px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; align-items:start; }
.direction-result { border:1px solid var(--line); background:var(--surface); border-radius:10px; padding:12px; overflow-wrap:anywhere; }
.direction-result-head { display:flex; gap:8px; align-items:baseline; }
.direction-rank { font-weight:750; color:var(--primary); font-size:18px; flex-shrink:0; }
.direction-result p { margin:5px 0; font-size:14px; }
.direction-result .direction-source { font-size:12px; color:var(--muted); }
.direction-result .direction-first { border-left:2px solid var(--accent-line); padding-left:8px; color:var(--primary); }
.direction-result details { margin-top:6px; padding-top:6px; }
.direction-result details summary { font-size:12px; color:var(--muted); font-weight:500; }
.direction-warning { color:#865421; background:#fff6e6; border-radius:8px; padding:8px 10px; font-size:13px; }
.direction-conflict { border:1px solid #e6ccab; border-radius:8px; padding:10px; margin-top:8px; }
.direction-conflict p { margin:0; font-size:13px; }
.direction-disclosure { font-size:12px; color:var(--muted); margin:10px 0 0; }
.direction-inline-link { margin-top:0; }
.direction-copy-dialog { width:min(760px,calc(100% - 24px)); max-height:90dvh; overflow:auto; }
.direction-copy-dialog textarea { white-space:pre-wrap; font-size:14px; max-height:55dvh; min-height:180px; }
@media(max-width:1050px) { .direction-result-list { grid-template-columns:minmax(0,1fr); } }
@media(max-width:800px) { .direction-editor { grid-template-columns:minmax(0,1fr); gap:12px; } }
@media(max-width:550px) {
  .direction-card .direction-fields,.direction-card .direction-revenue { grid-template-columns:minmax(0,1fr); }
  .direction-revenue textarea { min-height:60px; }
  .direction-results { padding:12px; }
  .direction-card > .section-title { flex-wrap:wrap; gap:6px; }
}
