.bunker-workspace{min-height:0}
.bunker-page{flex:1;min-width:0;min-height:0;overflow:auto;padding:26px clamp(20px,3.4vw,54px) 28px}
.bunker-heading,.bunker-layout,.bunker-footer{max-width:1500px;margin-inline:auto}
.bunker-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:23px}
.bunker-heading h1{margin:7px 0 5px;font-size:clamp(27px,3vw,38px)}
.bunker-heading p:not(.eyebrow){font-size:13px;line-height:1.5;color:#687b8d;margin:0}
.bunker-heading a{display:inline-flex;align-items:center;gap:9px;flex:none;padding:10px 13px;border:1px solid #cfdee4;background:#fff;color:#175873;border-radius:8px;font-size:12px;font-weight:800;text-decoration:none}
.bunker-heading a:hover{border-color:#0d7191;background:#f3fafb}
.bunker-workspace button:focus-visible,.bunker-workspace input:focus-visible,.bunker-heading a:focus-visible{outline:3px solid #0d8ba6;outline-offset:2px}
.bunker-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.8fr);gap:22px;align-items:start}
.bunker-form,.bunker-summary{min-width:0}
.bunker-panel{background:#fff;border:1px solid #dbe7ed;border-radius:14px;box-shadow:0 6px 20px #102f4c0b;padding:19px 22px;margin-bottom:17px}
.bunker-panel-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:17px}
.bunker-step{flex:none;display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#eaf6f6;color:#167d88;font-size:11px;font-weight:800}
.bunker-panel h2{font-size:17px;letter-spacing:-.025em;margin:1px 0 4px;color:#1d3649}
.bunker-panel-head p,.bunker-output>p:not(.eyebrow){margin:0;font-size:11px;line-height:1.5;color:#748795}
.bunker-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px}
.bunker-field{min-width:0}
.bunker-field>label{display:flex;justify-content:space-between;gap:7px;align-items:center;margin-bottom:5px;font-size:11px;font-weight:800;color:#38546a}
.bunker-field label small{font-weight:600;color:#77909e;text-align:right}
.bunker-field>input,.bunker-autocomplete>input,.bunker-rate-grid input{height:39px;width:100%;border:1px solid #ccdce4;border-radius:8px;padding:7px 10px;background:#fff;color:#173448;font-size:12px}
.bunker-field>small{display:block;font-size:10px;line-height:1.45;color:#748795;margin:6px 0 0}
.bunker-field input::placeholder,.bunker-rate-grid input::placeholder{color:#9aaab4}
.bunker-rate-grid{display:grid;grid-template-columns:minmax(150px,1fr) repeat(2,minmax(0,1fr));gap:8px 12px;align-items:center}
.bunker-rate-grid strong{font-size:11px;color:#355269}
.bunker-rate-grid strong small{font-weight:600;color:#71899b}
.bunker-rate-grid label{font-size:11px;font-weight:700;color:#38546a}
.bunker-tip,.bunker-cost-note,.bunker-mini-note{font-size:11px;line-height:1.55;color:#687f8e;margin:12px 0 0}
.bunker-legs{display:grid;gap:14px}
.bunker-leg{border:1px solid #d9e7eb;border-radius:11px;background:#fbfdfe;padding:17px}
.bunker-leg-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:14px}
.bunker-leg-index{font-size:9px;font-weight:800;letter-spacing:.1em;color:#16818b}
.bunker-leg h3{font-size:15px;margin:3px 0 0;color:#253e51}
.bunker-leg h4{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#426278;margin:0 0 13px}
.bunker-remove{border:0;background:#f4eded;color:#a14d43;padding:7px 9px;border-radius:7px;font-size:11px;font-weight:700;cursor:pointer}
.bunker-remove:hover:not(:disabled){background:#f9ded9}
.bunker-remove:disabled{opacity:.35;cursor:not-allowed}
.bunker-port-grid{margin-bottom:14px}
.bunker-autocomplete{position:relative}
.bunker-suggestions{position:absolute;inset:42px 0 auto;max-height:230px;overflow:auto;z-index:12;border:1px solid #cddde5;border-radius:8px;background:#fff;box-shadow:0 11px 24px #17304728}
.bunker-suggestions[hidden]{display:none}
.bunker-suggestions button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px;color:#213d51;font-size:12px;line-height:1.35;cursor:pointer}
.bunker-suggestions button:hover,.bunker-suggestions button[aria-selected="true"]{background:#eaf6f7}
.bunker-avoid{display:flex;flex-wrap:wrap;gap:6px 16px;border:1px solid #dfe9ee;border-radius:9px;padding:9px 11px 10px;margin:0 0 15px;font-size:11px;color:#334e60}
.bunker-avoid legend,.bunker-route-choices legend{padding:0 4px;font-size:11px;font-weight:800;color:#38546a}
.bunker-avoid label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.bunker-avoid small{width:100%;color:#748795;font-size:10px}
.bunker-avoid input,.bunker-route-choices input{accent-color:#167f89}
.bunker-route-status,.bunker-days-preview{font-size:11px;line-height:1.5;color:#527183;margin:9px 0}
.bunker-route-status{padding:9px 10px;border-radius:8px;background:#edf7f8;color:#32606d}
.bunker-route-choices{border:0;padding:0;margin:10px 0}
.bunker-route-choices[hidden]{display:none}
.bunker-route-choices>div{display:grid;gap:6px}
.bunker-route-choices label{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #d9e6eb;border-radius:8px;color:#314c5f;font-size:11px;cursor:pointer}
.bunker-route-choices label:has(input:checked){border-color:#60afb5;background:#f0f9fa}
.bunker-days-preview{margin:10px 0 0;background:#f1f6f8;padding:8px 10px;border-radius:8px}
.bunker-leg-divider{border-top:1px solid #e4edf0;margin:18px 0 12px}
.bunker-add{border:1px solid #bcd4de;border-radius:8px;background:#f2f9fa;color:#155d74;padding:10px 12px;margin-top:14px;font-size:12px;font-weight:800;cursor:pointer}
.bunker-add:hover{border-color:#5aa2ad;background:#e2f4f5}
.bunker-draft{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 14px;font-size:11px;color:#718594}
.bunker-draft p{margin:0}
.bunker-draft button{background:transparent;border:0;color:#155d74;text-decoration:underline;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}
.bunker-draft button:hover{color:#063f59}
.bunker-calculate{display:flex;align-items:center;justify-content:space-between;width:100%;height:47px;border:0;border-radius:10px;background:#08658c;color:#fff;font-size:16px;font-weight:800;padding:0 18px;box-shadow:0 6px 16px #08658c40;cursor:pointer}
.bunker-calculate:hover{background:#064d6c;box-shadow:0 9px 20px #064d6c55}
.bunker-form-message{font-size:12px;line-height:1.5;color:#a34834;margin:9px 0}
.bunker-summary{position:sticky;top:0}
.bunker-output{padding:23px}
.bunker-output .eyebrow{font-size:10px;margin:0 0 8px}
.bunker-output>h2{font-size:24px;margin:0 0 8px}
.bunker-output>p:not(.eyebrow){font-size:12px;line-height:1.6}
#bunker-results[hidden]{display:none}
.bunker-headline{margin:16px 0 10px}
.bunker-result-line{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:7px 0;border-bottom:1px solid #ebf0f3;font-size:11px;color:#6e8290}
.bunker-result-line strong{font-size:12px;color:#243c4e;font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere}
.bunker-result-line.is-total{color:#174754;font-weight:800;border-bottom:0;background:#e8f6f3;border-radius:6px;padding:9px 8px;margin:7px -8px 0}
.bunker-result-line.is-total strong{font-size:16px;color:#087081}
.bunker-breakdown{margin-top:20px}
.bunker-breakdown h3{font-size:12px;color:#456273;text-transform:uppercase;letter-spacing:.07em;margin:0 0 5px}
.bunker-result-leg{border-top:1px solid #e5edf1;padding:11px 0 2px}
.bunker-result-leg h4{font-size:11px;line-height:1.4;color:#2a4f61;margin:0 0 4px;overflow-wrap:anywhere}
.bunker-result-leg .is-total{background:#fff2e7;color:#874b30}
.bunker-result-leg .is-total strong{color:#874b30;font-size:12px}
.bunker-warning{background:#fff6e9;border:1px solid #f1dfbd;border-radius:8px;color:#775b2f;padding:9px 10px;font-size:11px;line-height:1.5;margin:12px 0 0}
.bunker-footer{font-size:11px;line-height:1.5;color:#758898;margin-top:10px}
@media(max-width:1100px){.bunker-layout{grid-template-columns:minmax(0,1fr)}.bunker-summary{position:static}}
@media(max-width:760px){.bunker-page{overflow:visible;padding:18px 15px 28px}.bunker-heading{align-items:start;flex-direction:column;gap:12px}.bunker-layout{gap:8px}.bunker-panel{padding:16px}}
@media(max-width:520px){.bunker-fields{grid-template-columns:1fr}.bunker-rate-grid{grid-template-columns:minmax(125px,1fr) repeat(2,minmax(75px,1fr));gap:6px}.bunker-heading h1{font-size:28px}}
@media(hover:none) and (min-width:761px){.bunker-workspace .bunker-page{grid-column:1;grid-row:2}}
