.transport-planning {display:flex; flex-direction:column; gap:16px; width:100%; min-width:0}
.transport-planning .panel {padding:14px; background:var(--panel,#fff);border:1px solid var(--line,#dce3ec); border-radius:8px}
.transport-planning [data-query] {display:flex; align-items:end; gap:16px}
.transport-planning .crm-table-wrap {max-height:420px; overflow:auto}
.transport-planning .crm-table td {background:transparent;color:#182333}
.transport-planning .crm-table tr.tp-white {background:#fff}
.transport-planning .crm-table tr.tp-orange {background:#ffddb0}
.transport-planning .crm-table tr.tp-red {background:#ffc5c5}
.transport-planning .crm-table thead {position:sticky; top:0; z-index:1}
.transport-planning .tp-counts {margin:12px 0 0; font-weight:600}
.transport-planning [data-save] button {margin-top:16px}
.transport-planning .error {color:#b42318}
.transport-planning .panel {min-height:0; height:auto; flex:none}
.transport-planning [data-results] {display:flex; flex-direction:column; gap:16px}
.transport-planning .crm-table {width:100%}
.transport-planning .crm-table-wrap {min-height:0}

.transport-planning [data-query] {flex-wrap:wrap; margin-top:0}
.transport-planning [data-query] label {min-width:0; flex:0 1 260px}
.transport-planning .panel h3 {margin:0 0 12px; font-size:15px}
.transport-planning [data-save] .crm-form {grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); align-items:start}
.transport-planning [data-save] label {min-width:0}
.transport-planning [data-save] label .hint {margin:0; font-size:11px; line-height:1.5}
.transport-planning .crm-table {min-width:640px}
.transport-planning [data-message]:empty {display:none}
