.booking-steps{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.booking-steps span{display:flex;align-items:center;gap:7px;color:#7e918d;font-size:10px;font-weight:700;background:#ecefea;border-radius:100px;padding:6px 11px}
.booking-steps b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#d7e2db;color:#4d7069;font-size:10px}
.booking-steps .current{background:#dff0e9;color:#176f66}
.booking-steps .current b,.booking-steps .done b{background:#127a70;color:white}
.booking-steps .done{background:#e9f1ec;color:#407b69}
.checkline{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.55;color:#48626a}
.checkline input{margin-top:2px;accent-color:#0f7374}
.fineprint{font-size:10px!important;color:#7c8c88!important;margin-top:14px}
.key-value{display:grid;grid-template-columns:1fr auto;gap:10px 15px;border-top:1px solid var(--line);margin-top:15px;padding-top:14px;font-size:10px}
.key-value span{color:var(--muted)}
.key-value strong{font-weight:700;text-align:right}
.table .button.small,.table .card-link{white-space:nowrap}
.upload-panel{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}
.upload-panel h3{margin-bottom:13px}
.upload-panel .field input[type=file]{background:#f9faf6}
.dock-map{display:grid;grid-template-columns:minmax(76px,1fr) minmax(110px,1.18fr) minmax(76px,1fr);grid-template-areas:"direction direction direction" "entrance entrance entrance" "west center east" "aloha aloha aloha";gap:8px;background:#e9f3f2;border:1px solid #d1e2dd;border-radius:11px;padding:13px;min-width:300px}
.dock-direction{grid-area:direction;display:flex;justify-content:space-between;color:#54817d;text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:800}
.dock-entrance{grid-area:entrance;text-align:center;color:#5b8182;font-size:9px;padding:3px 0 2px}
.dock-west{grid-area:west}.dock-east{grid-area:east}.dock-west,.dock-east{display:flex;flex-direction:column;gap:5px}
.dock-west{justify-content:space-between;padding-bottom:42px}
.dock-side-label{min-height:24px;text-align:center;font-size:9px;font-weight:700;color:#577b79}
.dock-map .slip{min-height:48px;padding:5px 2px;font-size:8px;line-height:1.15;position:relative}
.dock-map .slip-select{display:block;width:100%;border:0;background:none;color:inherit;padding:0;line-height:inherit}
.dock-map .member-record-link{display:block;width:100%;font-size:8px;line-height:1.15;margin-top:2px;overflow-wrap:anywhere}
.member-record-link{border:0;background:none;padding:0;color:var(--sea);text-decoration:underline;text-underline-offset:2px;font-weight:700;text-align:inherit}
.member-record-link:hover{color:var(--navy)}
.member-record-link:focus-visible,.dock-map .slip-select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.selected-member-card{margin-bottom:17px}
.selected-member-card h3{font-family:Fraunces,Georgia,serif;font-size:23px;font-weight:500;margin-bottom:13px}
.dock-map .slip strong{font-size:10px;margin-bottom:1px}
.dock-map .slip span{display:block}
.dock-west .slip:after,.dock-east .slip:before{content:"";position:absolute;top:50%;width:8px;border-top:2px solid #a7c5c0}
.dock-west .slip:after{right:-9px}.dock-east .slip:before{left:-9px}
.dock-center{grid-area:center;display:flex;flex-direction:column;align-items:center;border-left:7px solid #bdd1c9;border-right:7px solid #bdd1c9;border-radius:9px;background:#dcece7;min-height:100%}
.dock-house{width:84%;min-height:165px;display:grid;align-content:center;text-align:center;background:#fffaf0;border:2px solid #d7c7a8;border-radius:6px;color:#244d50;font-family:Fraunces,Georgia,serif;font-size:13px;line-height:1.3;padding:5px;margin:auto 0 80px}
.dock-house small{display:block;font-family:'DM Sans',system-ui,sans-serif;font-size:9px;color:#6c8681;margin-top:4px}
.dock-aloha{grid-area:aloha;text-align:center;background:#c9d5c9;color:#315b58;border-radius:7px;padding:10px 4px;font-weight:800;font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.dock-aloha small{display:block;font-weight:500;font-size:8px;text-transform:none;letter-spacing:0;margin-top:3px}
.dock-map .slip:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.board-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.board-layout>.board-wide,.board-layout>.stack{grid-column:1/-1}
.board-layout>.stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.board-layout .table-wrap{max-width:100%;overflow-x:auto}
@media(max-width:760px){.booking-steps{gap:5px}.booking-steps span{font-size:9px;padding:5px 7px}.booking-steps b{width:15px;height:15px;font-size:8px}}
@media(max-width:760px){.board-layout,.board-layout>.stack{grid-template-columns:1fr}}
.membership-expand{display:flex;justify-content:space-between;gap:8px;width:100%;margin-top:13px;padding:10px 0 0;border:0;border-top:1px solid var(--line);background:none;color:var(--sea);font-size:10px;font-weight:700;text-align:left;cursor:pointer}
.membership-expand:focus-visible{outline:2px solid var(--sea);outline-offset:3px}
.membership-panel{margin-top:12px}
.membership-panel h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.membership-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 18px;margin:12px 0}
.membership-breakdown>div,.membership-total{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--ink)}
.membership-breakdown>div strong,.membership-total strong{font-size:11px}
.membership-total{font-weight:700;border-bottom:0;border-top:1px solid var(--line)}
@media(max-width:760px){.membership-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dining-lab .field{margin-top:12px}
.dining-ident{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:11px 12px;border-radius:7px;background:#e9f3ef;color:#225c54;font-size:11px}
.dining-menu{display:grid;gap:7px;margin-top:16px}
.dining-menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:#fff;text-align:left;color:var(--ink);cursor:pointer}
.dining-menu button:hover:not(:disabled){border-color:var(--sea);background:#f4faf7}
.dining-menu button:disabled{opacity:.55;cursor:default}
.dining-menu small{display:block;margin-top:3px;color:var(--muted)}
.dining-total{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--line);font-size:12px}
.dining-minimum{display:grid;grid-template-columns:1fr auto;gap:9px 12px;margin-top:17px;padding-top:14px;border-top:1px solid var(--line);font-size:11px}
.dining-minimum span{color:var(--muted)}
.dining-minimum strong{text-align:right}
