/* Marine hotel assignment — themed to blend with the existing checkout/payment page
   (passengerDetails), NOT the flight wizard. Neutral panels + existing accent colors,
   compact. Adjust the accent values to match the site's checkout palette if needed. */
.marine-hotel-banner { background:#e8f4fd; border:1px solid #b0d4ee; color:#0a4d78;
    padding:8px 12px; border-radius:3px; font-size:13px; margin-bottom:12px; }
.marine-hotel-error { background:#fdecea; border:1px solid #f5c6c2; color:#9b1c14;
    padding:8px 12px; border-radius:3px; font-size:13px; margin:10px 0; }

.marine-assign-title { font-size:15px; color:#0F1C3E; margin:6px 0 10px; }
.marine-assign-meta { display:flex; gap:18px; flex-wrap:wrap; align-items:center;
    background:#f7faff; border:1px solid #e0e8f0; border-radius:4px; padding:8px 12px; margin-bottom:12px; font-size:13px; }
.marine-submarker-input { border:1px solid #ccc; border-radius:3px; padding:3px 6px; font-size:13px; width:120px; }

.marine-pool { display:flex; flex-wrap:wrap; gap:6px; align-items:center;
    border:1px dashed #9bb4d6; border-radius:4px; padding:8px; margin-bottom:12px; min-height:40px; background:#fbfdff; }
.marine-pool-label { font-size:12px; color:#555; margin-right:6px; }
.marine-chip { background:#0F1C3E; color:#fff; border-radius:3px; padding:4px 10px; font-size:12px;
    cursor:grab; user-select:none; }

.marine-rooms { display:flex; flex-wrap:wrap; gap:12px; }
.marine-room-bucket { border:1px solid #ddd; border-radius:4px; padding:10px; flex:1 1 calc(50% - 6px); min-width:220px; background:#fff; box-sizing:border-box; }
.marine-room-head { font-weight:600; color:#0F1C3E; font-size:13px; }
.marine-room-sub { font-weight:400; color:#666; font-size:12px; display:block; }
.marine-room-priceline { font-size:12px; color:#2a7a2a; margin:4px 0 8px; }
.marine-slots { display:flex; flex-direction:column; gap:6px; }
.marine-slot { border:1px dashed #c8d4e8; border-radius:3px; min-height:30px; padding:4px 8px;
    display:flex; align-items:center; gap:8px; }
.marine-slot.lead { border-color:#28b1a4; background:#f0fbfa; }
.marine-slot-tag { font-size:10px; text-transform:uppercase; color:#888; min-width:54px; }
.marine-slot.lead .marine-slot-tag { color:#1f8e83; }
.marine-slot-name { font-size:12px; color:#0F1C3E; }

.marine-hotel-room { font-size:12px; color:#0F1C3E; }
.marine-room-occ { color:#888; }

.marine-cancel-policy { margin-top:8px; padding:6px 8px; background:#f9f9f9; border:1px solid #e8e8e8;
    border-radius:3px; font-size:11px; color:#555; }
.marine-cancel-header { font-weight:600; color:#0F1C3E; margin-bottom:4px; }
.marine-cancel-desc { margin-bottom:4px; line-height:1.4; }
.marine-cancel-table { width:100%; border-collapse:collapse; }
.marine-cancel-table td { padding:1px 4px 1px 0; vertical-align:top; }
.marine-cancel-amount { text-align:right; white-space:nowrap; color:#9b1c14; }
.marine-cancel-noshow { margin-top:4px; color:#9b1c14; }

.marine-result-btn { background:#0F1C3E; color:#fff; padding:8px 22px; border:none;
    border-radius:3px; cursor:pointer; font-size:14px; font-weight:600; display:inline-block; }
.marine-result-btn:hover { background:#1a2e5a; }
