.province-nav{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.province-nav a{color:inherit;text-decoration:none;padding:.44rem .65rem;border:1px solid transparent;border-radius:6px;font-size:.87rem;white-space:nowrap}
.province-nav a:hover,.province-nav a[aria-current="page"]{border-color:#9baeb4;background:#edf4f3;color:#153d43}
.province-cross{border-bottom:1px solid #dbe4e6;padding:1rem 1.15rem}
.province-cross h2,.cross-card h2{font-size:1.15rem;margin:.18rem 0 .55rem}
.province-cross .subtle{margin:.45rem 0}
.province-cross .cross-summary{font-size:.8rem;line-height:1.5;margin:.4rem 0;padding-left:1.3rem}
.province-cross .cross-actions{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:.55rem 0}
.province-cross .cross-actions a{font-size:.85rem}
.marker.hub{fill:#675182}
.province-cross label{line-height:1.6}
.province-cross select,.cross-sidebar select{width:100%;margin-top:.25rem}
.province-cross form,.cross-card form{margin:0}
.cross-workspace{width:min(1510px,100%);margin:auto;display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:16px;padding:16px}
.cross-sidebar,.cross-content{display:grid;gap:14px;align-content:start;min-width:0}
.cross-card{background:#fff;border:1px solid #dbe4e6;border-radius:10px;padding:16px;min-width:0}
.cross-sidebar label{display:grid;gap:4px}
.cross-sidebar .filter-row{margin:0 0 .75rem}
.cross-sidebar #cross-add{margin:.65rem 0 .1rem}
.custom-node{border:1px solid #dbe4e6;border-radius:6px;padding:.55rem;margin-top:.6rem;font-size:.85rem}
.custom-node summary{cursor:pointer}
.custom-node form{display:grid;gap:7px;margin-top:7px}
.custom-node .filter-row{margin:0}
.cross-controls{display:flex;align-items:flex-end;gap:.7rem;flex-wrap:wrap}
.cross-controls label{display:grid;gap:4px;flex:1 1 15rem;min-width:0}
.cross-controls select{width:100%;min-width:0}
.cross-control-actions,.cross-focus{display:flex;gap:6px;flex-wrap:wrap}
.cross-control-actions .cross-edit-link{display:none;text-decoration:none}
.cross-order{margin:.75rem 0 0;padding-left:1.5rem}
.cross-order li{padding:.35rem 0 .55rem}
.cross-order li+li{border-top:1px solid #e2eaea}
.cross-order p,.cross-order details{margin:.25rem 0;font-size:.8rem;line-height:1.5}
.cross-order-heading,.cross-order-actions,.cross-leg-kicker{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.cross-order-heading button{font-weight:700;text-align:left}
.cross-order-actions button{padding:.23rem .43rem;font-size:.75rem}
.cross-map-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}
.cross-sequence-map{display:flex;flex-wrap:wrap;align-items:center;gap:.18rem .4rem;margin:.45rem 0 .7rem}
.cross-sequence-map:empty{display:none}
.cross-sequence-map .text-button{font-weight:700;text-align:left}
.cross-map-stage{overflow:hidden;border:1px solid #d7e1e5;border-radius:8px;background:#eaf3f4}
#cross-map{width:100%;height:clamp(260px,46vh,590px);display:block}
.cross-area{fill:#f9fbf5;stroke:#9aaba1;stroke-width:1.1;fill-rule:evenodd}
.cross-area.in-itinerary{fill:#e3efdf;stroke:#658b73}
.cross-reference{fill:none;stroke:#69a4c3;stroke-width:1.5;stroke-opacity:.8}
.cross-shape{fill:none;stroke:#4a6b74;stroke-width:3;stroke-dasharray:5 3}
.cross-connection{fill:none;stroke:#778b90;stroke-width:2;stroke-dasharray:3 6}
.cross-shape.water{stroke:#166ba1}.cross-shape.rail{stroke:#a84629}.cross-shape.transfer{stroke:#674393}
.cross-pin{cursor:pointer}.cross-pin circle,.province-cross-pin circle{fill:#1e5860;stroke:#fff;stroke-width:2}
.cross-pin.selected circle,.cross-pin:hover circle,.cross-pin:focus circle{fill:#ae502f}
.cross-pin text,.province-cross-pin text{fill:#fff;font-size:11px;font-weight:700;pointer-events:none}
.pin-leader{stroke:#1e5860;stroke-width:1.5}
.cross-pin .pin-label{font-size:12px;fill:#132f3a;paint-order:stroke;stroke:#f7fbfc;stroke-width:3px}
.cross-empty-map{fill:#476271;font-size:14px}
.cross-map-caption{margin:.65rem 0 0}
.cross-map-attribution{margin:.3rem 0 0}
.cross-overview p,.cross-leg p{line-height:1.65;margin:.5rem 0}
.cross-sequence{font-weight:700;color:#215a64}
.cross-legs{margin:.75rem 0 0;padding:0;list-style:none;display:grid;gap:9px}
.cross-leg{border-left:4px solid #557d82;border-radius:5px;background:#f5f8f8;padding:.75rem .9rem}
.cross-leg.pending{border-color:#bd9359}.cross-leg.candidate{border-color:#a57fbd}
.cross-leg h3{margin:.45rem 0;font-size:1rem}
.cross-pending{color:#6b4115}
.mode{font-size:.78rem;font-weight:700;padding:.2rem .42rem;border-radius:4px;color:#27434a;background:#e4edee}
.mode.water{background:#daeffb;color:#195075}.mode.rail{background:#f5e4db;color:#71391d}.mode.transfer{background:#eee4f8;color:#573176}
.cross-citations{font-size:.8rem;line-height:1.65;padding-left:1.1rem}
@media(max-width:850px){.cross-workspace{grid-template-columns:1fr}.cross-content{grid-row:1}.cross-map-heading{flex-wrap:wrap}.province-nav a{padding:.3rem .42rem}.cross-control-actions .cross-edit-link{display:inline-block}}
@media(max-width:600px){.topbar{height:auto;min-height:80px;padding:10px 14px;gap:8px;flex-wrap:wrap}.province-nav{order:2;flex:1 0 100%}.cross-workspace{padding:8px}.cross-card{padding:11px}}
