.lc-launch-track-panel.has-visual-tracks { position:relative; }
.lc-visual-connector { position:absolute; inset:0; width:100%; height:100%; overflow:hidden; pointer-events:none; z-index:1; }
.lc-visual-connector path { fill:none; stroke:#8db9f2; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
.lc-visual-connector circle { fill:#007aff; stroke:#fff; stroke-width:1; }
.lcv-section { margin-top:12px; padding-top:12px; border-top:1px solid #e5e5ea; scroll-margin-top:24px; }
.lcv-header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 16px; align-items:center; margin-bottom:6px; }
.lcv-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; }
.lcv-header-actions { display:flex; align-items:center; gap:12px; margin-left:auto; }
.lcv-section h4 { margin:0; font-size:12px; }
.lcv-source-hint { color:#6e6e73; font-size:10px; line-height:1.5; }
.lcv-association-hint,.lcv-footnote { color:#86868b; font-size:10px; line-height:1.5; }
.lcv-footnote { margin:8px 0 0; }
.lcv-header .lc-button { flex-shrink:0; padding:5px 9px; font-size:10px; }
.lcv-section .lcv-empty { padding:14px; font-size:11px; }
.lcv-section .lcv-empty p { font-size:10px; }
.lcv-lane { padding:12px 0; border-top:1px solid #ededf0; }
.lcv-lane-row { display:grid; grid-template-columns:145px minmax(0,1fr) 120px; gap:14px; align-items:center; }
.lcv-lane-identity { display:grid; min-width:0; gap:4px; }
.lcv-lane-identity>b { color:#1d1d1f; font-size:11px; line-height:1.5; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lcv-lane-identity>span,.lcv-lane-identity>small { color:#86868b; font-size:9px; line-height:1.5; }
.lcv-rail-scroll { min-width:0; overflow-x:auto; padding:4px 0; scrollbar-width:thin; }
.lcv-rail { display:grid; grid-template-columns:repeat(7,minmax(65px,1fr)); min-width:455px; list-style:none; margin:0; padding:0; }
.lcv-rail li { position:relative; display:grid; justify-items:center; gap:5px; font-size:10px; color:#86868b; text-align:center; }
.lcv-rail li:not(:last-child)::after { content:""; position:absolute; top:7px; left:50%; width:100%; height:2px; background:#e5e5ea; }
.lcv-rail li>i { position:relative; z-index:1; width:16px; height:16px; border:3px solid #fff; border-radius:50%; background:#e5e5ea; box-sizing:border-box; }
.lcv-rail li>b { font-size:10px; font-weight:500; line-height:1.3; }
.lcv-rail li>time { font-size:9px; line-height:1.3; white-space:nowrap; }
.lcv-overdue { color:#b3261e; font-weight:600; }
.lcv-table small.lcv-overdue { color:#b3261e; }
.lcv-delivered { color:#188038; }
.lcv-rail time>em { display:block; margin-top:3px; font-size:9px; font-style:normal; }
.lcv-rail li.is-current { color:#1a73e8; }
.lcv-rail li.is-current>b { font-weight:700; }
.lcv-rail li.is-current>i { background:#1a73e8; box-shadow:0 0 0 1px #1a73e8; }
.lcv-rail li.is-done { color:#188038; }
.lcv-rail li.is-done>i,.lcv-rail li.is-done::after { background:#188038; }
.lcv-rail li.is-risk { color:#b3261e; }
.lcv-rail li.is-risk>i { background:#d93025; box-shadow:0 0 0 1px #d93025; }
.lcv-lane-summary { display:grid; gap:5px; justify-items:end; text-align:right; }
.lcv-lane-summary>b { font-size:10px; font-weight:600; }
.lcv-lane-summary>small { font-size:9px; line-height:1.5; }
.lcv-lane-actions { display:flex; gap:5px; }
.lcv-lane-actions .lc-button { font-size:9px; padding:4px 7px; min-height:24px; }
.lcv-lane-detail { margin-top:12px; overflow-x:auto; }
.lcv-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.lcv-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:11px; color:#6e6e73; margin:8px 0; }
.lcv-message { font-size:12px; color:#287442; margin:6px 0; }
.lcv-message:empty { display:none; }
.lcv-message.is-error,.lcv-risk { color:#b54708; }
.lcv-table-wrap { border:1px solid #e5e5ea; border-radius:10px; overflow-x:auto; }
.lcv-table { border-collapse:collapse; width:100%; font-size:11px; text-align:left; }
.lcv-table th { background:#f5f5f7; color:#6e6e73; font-weight:600; padding:10px 12px; white-space:nowrap; }
.lcv-table td { padding:12px; border-top:1px solid #ededf0; vertical-align:top; min-width:85px; line-height:1.5; }
.lcv-table td:first-child { min-width:140px; }
.lcv-table small,.lcv-table td>span { display:block; margin-top:3px; }
.lcv-table small { color:#86868b; font-size:10px; }
.lcv-progress { min-width:125px!important; }
.lcv-progress progress { display:block; width:100%; height:5px; margin:7px 0; appearance:none; border:0; border-radius:4px; background:#e5e5ea; overflow:hidden; }
.lcv-progress progress::-webkit-progress-bar { background:#e5e5ea; }
.lcv-progress progress::-webkit-progress-value { background:#007aff; }
.lcv-progress progress::-moz-progress-bar { background:#007aff; }
.lcv-row-actions { display:flex; flex-wrap:wrap; gap:6px; min-width:130px; }
.lcv-row-actions .lc-button { padding:5px 8px; font-size:10px; }
.lcv-empty { padding:24px 18px; border:1px dashed #d2d2d7; border-radius:10px; background:#fbfbfd; font-size:12px; text-align:center; }
.lcv-empty p { color:#6e6e73; margin:8px 0 0; line-height:1.6; }
.lcv-pagination { display:flex; justify-content:flex-end; align-items:center; gap:10px; margin:12px 0; font-size:11px; color:#6e6e73; }
.lcv-detail-body { padding:8px; background:#fbfbfd; border-radius:8px; }
.lcv-detail-title { display:flex; gap:16px; justify-content:space-between; margin:0 0 10px; font-size:11px; }
.lcv-detail-title span { color:#6e6e73; }
.lcv-candidates { margin-top:24px; border-top:1px solid #e5e5ea; padding-top:16px; }
.lcv-candidates h4 { font-size:14px; margin:0 0 12px; }
.lcv-candidates form { display:flex; gap:8px; margin-bottom:12px; }
.lcv-candidate-list { border:1px solid #e5e5ea; border-radius:10px; }
.lcv-candidate-list article { display:flex; align-items:center; justify-content:space-between; padding:12px; gap:16px; font-size:12px; }
.lcv-candidate-list article+article { border-top:1px solid #ededf0; }
.lcv-candidate-list small { display:block; color:#6e6e73; margin-top:4px; font-size:10px; }
.lc-maintenance-tabs { grid-template-columns:repeat(5,minmax(0,1fr)); }
@media(max-width:1100px) { .lcv-lane-row { grid-template-columns:125px minmax(0,1fr); gap:8px 12px; } .lcv-lane-summary { grid-column:1/-1; display:flex; align-items:center; justify-content:flex-end; gap:10px; } }
@media(max-width:900px) { .lc-launch-track-panel { overflow-x:auto; } .lcv-table { min-width:800px; } }
@media(max-width:600px) { .lcv-lane-row { grid-template-columns:minmax(0,1fr); } .lcv-lane-identity { grid-template-columns:minmax(0,1fr) auto; } .lcv-lane-identity>small { display:none; } .lcv-lane-summary { justify-content:space-between; flex-wrap:wrap; } }
