.bf-planner{--navy:#102f40;--teal:#146c65;--muted:#516773;font:16px/1.6 Arial,sans-serif;color:var(--navy);max-width:1160px;margin:0 auto;padding:24px 16px;background:#f4f7f6}.bf-planner *{box-sizing:border-box}.bf-planner h2{font-size:clamp(26px,4vw,40px);line-height:1.2;margin:0 0 16px}.bf-planner h3{font-size:22px;margin:0 0 16px}.bf-planner h4{font-size:17px;margin:16px 0 8px}.bf-planner p{margin:0 0 16px}.bf-banner{background:var(--navy);color:#fff;padding:32px;border-radius:12px}.bf-banner h2,.bf-banner p{color:#fff}.bf-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}.bf-panel{background:#fff;padding:26px;border:1px solid #dbe4e3;border-radius:10px;margin-top:20px}.bf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.bf-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.bf-planner label{display:block;font-size:14px;font-weight:600;margin-bottom:5px}.bf-planner input,.bf-planner select,.bf-planner textarea{width:100%;min-height:44px;border:1px solid #a7b7bd;border-radius:5px;background:#fff;color:#173543;padding:9px;font:inherit}.bf-planner input[type=checkbox]{width:18px;min-height:18px;margin-right:6px}.bf-planner button{background:var(--teal);border:1px solid var(--teal);border-radius:5px;color:#fff;padding:11px 18px;font:600 14px Arial;cursor:pointer;min-height:44px}.bf-planner button.secondary{background:#fff;color:var(--navy);border-color:#a8b8bc}.bf-planner button:disabled{opacity:.5;cursor:wait}.bf-planner :focus-visible{outline:3px solid #c47918;outline-offset:3px}.bf-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}.bf-note{font-size:13px;color:var(--muted)}.bf-status{padding:12px 16px;background:#eaf5f0;margin:12px 0;border-left:4px solid var(--teal)}.bf-status.error{background:#fff1e6;border-color:#ba5a16;color:#613313}.bf-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.bf-metric{padding:18px;background:#edf4f3;border-radius:6px}.bf-metric strong{display:block;font-size:25px;line-height:1.3;margin-bottom:7px}.bf-metric span{font-size:13px}.bf-planner table{border-collapse:collapse;width:100%;font-size:14px}.bf-planner th,.bf-planner td{padding:10px;text-align:left;border-bottom:1px solid #dbe4e3;vertical-align:top}.bf-table-scroll{overflow-x:auto}.bf-cargo{min-width:650px}.bf-cargo input{min-width:70px}.bf-cargo input[data-k=name]{min-width:110px}.bf-planner details{margin:15px 0}.bf-planner summary{cursor:pointer;font-weight:600;padding:10px 0}.bf-planner canvas{display:block;width:100%;height:auto;touch-action:none;border-radius:8px;background:#0b2537}.bf-map-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.bf-suggestions{max-height:250px;overflow:auto;border:1px solid #c8d6d6}.bf-suggestions:empty{display:none}.bf-suggestions button{display:block;text-align:left;width:100%;background:#fff;color:#173543;border:0;border-radius:0;border-bottom:1px solid #e1e7e6;font-weight:400}.bf-suggestions button:hover{background:#eaf5f0}.bf-planner a{color:#0a655e;text-decoration:underline}.bf-selected{font-size:13px;margin-top:6px;color:#356355}.bf-planner [hidden]{display:none!important}.bf-foot{font-size:13px;margin-top:20px}.bf-planner ol li,.bf-planner ul li{margin-bottom:9px}.bf-chart{height:12px;background:#dce7e4;border-radius:8px;overflow:hidden}.bf-chart span{height:100%;display:block;background:#147b70}.bf-compare th{white-space:nowrap}@media(max-width:650px){.bf-grid,.bf-grid.three,.bf-results{grid-template-columns:1fr}.bf-panel,.bf-banner{padding:20px}.bf-planner{padding:12px 8px}.bf-metric strong{font-size:23px}}@media print{body *{visibility:hidden}.bf-planner,.bf-planner *{visibility:visible}.bf-planner{position:absolute;left:0;top:0;width:100%;max-width:none;background:#fff;padding:0;font-size:11px}.bf-inputs,.bf-actions,.bf-map-controls,.bf-no-print{display:none!important}.bf-panel{break-inside:avoid;padding:12px;margin:10px 0}.bf-banner{padding:12px;background:#fff;color:#102f40}.bf-banner h2,.bf-banner p{color:#102f40}.bf-planner canvas{max-height:300px;object-fit:contain}.bf-results{grid-template-columns:repeat(3,1fr)}.bf-planner a{color:#102f40}}