#js-tool-container-container-truck-load-planner .clp-app { display: flex; flex-direction: column; gap: 14px; color: var(--text-primary); --clp-box: #c08a45; --clp-box-rot: #6f8f9c; --clp-free: rgba(17,20,26,.06); --clp-accent: #a2662a; } html[data-theme="dark"] #js-tool-container-container-truck-load-planner .clp-app { --clp-box: #9a6b31; --clp-box-rot: #4e6c79; --clp-free: rgba(255,255,255,.07); --clp-accent: #d99a4e; } #js-tool-container-container-truck-load-planner .tbcalc-section-note { display: block; width: 100%; max-width: none; box-sizing: border-box; } #js-tool-container-container-truck-load-planner .tb-zone[data-tb-zone="controls"] { display: flex; flex-direction: column; gap: 14px; } #js-tool-container-container-truck-load-planner .clp-outcome { display: flex; flex-direction: column; gap: 14px; } #js-tool-container-container-truck-load-planner .tb-zone[data-tb-zone="preview"] { display: flex; flex-direction: column; gap: 12px; } #js-tool-container-container-truck-load-planner .clp-fieldset { border: 1px solid var(--border-color); border-radius: var(--radius-md); padding: 14px 16px 16px; margin: 0; } #js-tool-container-container-truck-load-planner .clp-legend { padding: 0 6px; font-weight: 600; font-size: 0.95rem; color: var(--text-secondary); } #js-tool-container-container-truck-load-planner .tbcalc-grid { display: grid; gap: 14px 20px; } #js-tool-container-container-truck-load-planner .tb-grid-2 { grid-template-columns: 1fr 1fr; } #js-tool-container-container-truck-load-planner .tb-grid-3 { grid-template-columns: 1fr 1fr 1fr; } #js-tool-container-container-truck-load-planner .tb-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; } #js-tool-container-container-truck-load-planner .tbcalc-hint { font-size: 0.82rem; line-height: 1.35; color: var(--text-muted); } #js-tool-container-container-truck-load-planner .tb-hero { border: 1px solid var(--border-color); border-left: 4px solid var(--clp-accent); border-radius: var(--radius-md); background: var(--bg-tertiary); padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; } #js-tool-container-container-truck-load-planner .tb-hero-label { font-size: 0.9rem; color: var(--text-secondary); } #js-tool-container-container-truck-load-planner .tb-hero-row { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; } #js-tool-container-container-truck-load-planner .tb-hero-value { font-size: clamp(1.9rem, 5vw, 2.9rem); font-weight: 700; line-height: 1.05; letter-spacing: -0.01em; } #js-tool-container-container-truck-load-planner .tb-unit { font-size: 1.05rem; color: var(--text-secondary); } #js-tool-container-container-truck-load-planner .tb-hero-chips { display: flex; flex-wrap: wrap; gap: 8px; } #js-tool-container-container-truck-load-planner .tb-chip { display: inline-block; padding: 4px 11px; border: 1px solid var(--border-color); border-radius: 999px; background: var(--bg-secondary); font-size: 0.83rem; color: var(--text-secondary); } #js-tool-container-container-truck-load-planner .tb-chip-accent { border-color: var(--clp-accent); color: var(--text-primary); } #js-tool-container-container-truck-load-planner .tb-hero-note { margin: 0; font-size: 0.88rem; line-height: 1.4; color: var(--text-secondary); } #js-tool-container-container-truck-load-planner .tb-status { border: 1px solid var(--border-color); border-left: 4px solid var(--accent-primary); border-radius: var(--radius-sm); padding: 10px 14px; font-size: 0.9rem; line-height: 1.4; color: var(--text-secondary); } #js-tool-container-container-truck-load-planner .tb-status.warn { border-left-color: var(--warning); background: var(--warning-light); color: var(--text-primary); } #js-tool-container-container-truck-load-planner .tb-status.danger { border-left-color: var(--danger); background: var(--danger-light); color: var(--text-primary); } #js-tool-container-container-truck-load-planner .clp-limits-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; } #js-tool-container-container-truck-load-planner .clp-limit { display: flex; flex-direction: column; gap: 3px; border: 1px solid var(--border-color); border-top: 3px solid var(--border-color); border-radius: var(--radius-sm); padding: 11px 13px; } #js-tool-container-container-truck-load-planner .clp-limit.binding { border-top-color: var(--clp-accent); background: var(--bg-tertiary); } #js-tool-container-container-truck-load-planner .tb-limit-key { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-muted); } #js-tool-container-container-truck-load-planner .tb-limit-val { font-size: 1.02rem; font-weight: 600; font-variant-numeric: tabular-nums; } #js-tool-container-container-truck-load-planner .tb-limit-note { font-size: 0.8rem; color: var(--text-secondary); } #js-tool-container-container-truck-load-planner .clp-spec { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } #js-tool-container-container-truck-load-planner .tb-spec-row { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "name value" "norm value"; column-gap: 12px; align-items: center; border: 1px solid var(--border-color); border-radius: var(--radius-sm); padding: 10px 13px; } #js-tool-container-container-truck-load-planner .tb-spec-name { grid-area: name; font-size: 0.88rem; color: var(--text-secondary); } #js-tool-container-container-truck-load-planner .tb-spec-norm { grid-area: norm; font-size: 0.78rem; color: var(--text-muted); } #js-tool-container-container-truck-load-planner .tb-spec-value { grid-area: value; font-size: 1.12rem; font-weight: 600; font-variant-numeric: tabular-nums; } #js-tool-container-container-truck-load-planner .clp-canvas-wrap { position: relative; width: 100%; aspect-ratio: 16 / 5; min-height: 150px; contain: layout; border: 1px solid var(--border-color); border-radius: var(--radius-md); background: var(--bg-tertiary); overflow: hidden; } #js-tool-container-container-truck-load-planner .clp-canvas-wrap canvas { display: block; width: 100%; height: 100%; } #js-tool-container-container-truck-load-planner .tb-canvas-desc { margin: 0; font-size: 0.84rem; line-height: 1.45; color: var(--text-secondary); } #js-tool-container-container-truck-load-planner .clp-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; padding: 0; list-style: none; } #js-tool-container-container-truck-load-planner .clp-legend-item { display: flex; align-items: center; gap: 7px; font-size: 0.83rem; color: var(--text-secondary); } #js-tool-container-container-truck-load-planner .tb-dot { display: inline-block; width: 13px; height: 13px; border-radius: 4px; border: 1px solid var(--border-color); } #js-tool-container-container-truck-load-planner .clp-dot-main { background: var(--clp-box); } #js-tool-container-container-truck-load-planner .clp-dot-rot { background: var(--clp-box-rot); } #js-tool-container-container-truck-load-planner .clp-dot-free { background: var(--clp-free); } #js-tool-container-container-truck-load-planner .tb-legend-text { line-height: 1.3; } #js-tool-container-container-truck-load-planner .tb-table-wrap { overflow-x: auto; border: 1px solid var(--border-color); border-radius: var(--radius-md); -webkit-overflow-scrolling: touch; } #js-tool-container-container-truck-load-planner .tb-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; font-variant-numeric: tabular-nums; } #js-tool-container-container-truck-load-planner .tb-table caption { padding: 12px 14px; font-weight: 600; text-align: left; color: var(--text-secondary); font-size: 0.88rem; caption-side: top; } #js-tool-container-container-truck-load-planner .tb-table th { text-align: left; color: var(--text-secondary); font-weight: 600; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.04em; padding: 10px 14px; background: var(--bg-tertiary); border-bottom: 1px solid var(--border-color); white-space: nowrap; } #js-tool-container-container-truck-load-planner .tb-table td { padding: 10px 14px; border-top: 1px solid var(--border-color); overflow-wrap: anywhere; } #js-tool-container-container-truck-load-planner .tb-table tbody tr:hover { background: var(--bg-tertiary); } #js-tool-container-container-truck-load-planner .tb-table td:nth-child(n+2), #js-tool-container-container-truck-load-planner .tb-table th:nth-child(n+2) { text-align: right; } #js-tool-container-container-truck-load-planner .tb-table td:first-child, #js-tool-container-container-truck-load-planner .tb-table th:first-child { text-align: left; } #js-tool-container-container-truck-load-planner .tb-table tfoot td { font-weight: 600; background: var(--bg-tertiary); } #js-tool-container-container-truck-load-planner .tb-limits { margin: 12px 0 0; font-size: 0.84rem; line-height: 1.45; color: var(--text-muted); } @media (max-width: 640px) { #js-tool-container-container-truck-load-planner .clp-app { gap: 10px; } #js-tool-container-container-truck-load-planner .tb-grid-2, #js-tool-container-container-truck-load-planner .tb-grid-3 { grid-template-columns: 1fr; } #js-tool-container-container-truck-load-planner .clp-limits-grid { grid-template-columns: 1fr; } #js-tool-container-container-truck-load-planner .clp-spec { grid-template-columns: 1fr; } #js-tool-container-container-truck-load-planner .clp-canvas-wrap { aspect-ratio: 6 / 5; min-height: 200px; } #js-tool-container-container-truck-load-planner .tb-table { min-width: 560px; } #js-tool-container-container-truck-load-planner .tb-table th, #js-tool-container-container-truck-load-planner .tb-table td { padding: 9px 11px; } }