.planning-feature { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(18px, 5vw, 52px); align-items: center; }
.planning-feature ul { padding-left: 20px; }
.planning-feature .trade-cover { max-height: 235px; }
.planning-chart { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(135px,100%),1fr)); gap: 10px; }
.planning-chart > div { min-width: 0; background: #f4eee6; padding: 10px; border-radius: 8px; font-size: 14px; }
.planning-chart p { margin: 6px 0 0; }
.planning-chart .series-1 { background: #356577; }
.planning-job { padding: 12px; margin: 16px 0; min-width: 0; border: 1px solid #ded6cb; border-radius: 10px; }
.planning-job legend { padding-inline: 6px; font-weight: 700; }
.planning-job .tool-buttons { margin: 0 0 12px; align-items: center; }
.planning-job-list { margin-top: 24px; }
.planning-drag { cursor: grab; font-size: 14px; padding: 7px; }
.route-strip { display: flex; height: 15px; background: #eae4dc; border-radius: 20px; overflow: hidden; margin: 12px 0; }
.route-strip > span { background: #85605a; border-right: 1px solid #fff; }
.route-strip [data-segment="travel"] { background: #356577; }
.route-strip [data-segment="service"] { background: #9e2533; }
.route-strip [data-segment="break"] { background: #628253; }
.route-strip [data-segment="waiting"] { background: #a58242; }
.route-strip [data-segment="setup"] { background: #635381; }
.feature-preview > span { flex: 1; animation: route-preview .6s ease both; }
.feature-preview > span:nth-child(2n) { flex: 2; }
@keyframes route-preview { from { opacity: .35; } to { opacity: 1; } }
.planning-draft { border-bottom: 1px solid #ded6cb; padding-block: 16px; }
.planning-preview { background: #f5f0e8; white-space: pre-wrap; padding: 12px; margin: 8px 0; border-radius: 8px; }
.planning-preview mark { background: #f4dcd6; color: inherit; }
.planning-draft textarea { width: 100%; }
@media (max-width: 760px) { .planning-feature { grid-template-columns: minmax(0,1fr); } .planning-feature .trade-cover { max-height: 160px; } }
@media (prefers-reduced-motion: reduce) { .feature-preview > span { animation: none; } }
@media print { .planning-draft textarea, .planning-draft .tool-button { display: none !important; } .planning-draft, .planning-chart { break-inside: avoid; } }
