.asb-overview{max-width:1040px;margin:20px auto;display:grid;gap:16px}
.asb-overview-head{display:grid;gap:4px}
.asb-overview h3{margin:0;font-size:32px;line-height:1.1}.asb-overview-head p{margin:0;color:#64748b}
.asb-empty,.asb-day,.asb-detail-card,.asb-booking-card,.asb-my-bookings{background:#fff;border:1px solid #e6e8eb;border-radius:18px;padding:18px 20px;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.asb-day-title{font-size:18px;font-weight:700;margin-bottom:12px}.asb-day-list,.asb-list,.asb-voucher-list{display:grid;gap:10px}
.asb-place-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border:1px solid #ebeff5;border-radius:14px;background:#fbfdff;text-decoration:none;color:#0f172a;transition:all .18s ease}
.asb-place-row:hover{transform:translateY(-1px);border-color:#d6e3f3;background:#f7fbff}.asb-place-main{display:grid;gap:4px}.asb-place-sub,.asb-meta,.asb-time-meta{font-size:14px;color:#64748b}
.asb-place-side{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.asb-link-cta{font-size:14px;font-weight:600;color:#0f3f75}
.asb-pill,.asb-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;background:#eef2f7;color:#334155}.asb-pill.is-green{background:#eaf8ef;color:#166534}.asb-pill.is-red{background:#feecec;color:#b91c1c}.asb-pill.is-yellow{background:#fff4df;color:#b45309}.asb-pill.is-gray{background:#eef2f7;color:#475569}
.asb-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.asb-back-link{display:inline-block;margin-bottom:10px;color:#0f3f75;text-decoration:none;font-weight:600}.asb-detail-head h4,.asb-booking-head h4{margin:0;font-size:28px;line-height:1.2}
.asb-detail-subtitle{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.asb-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.asb-detail-box,.asb-booking-summary-box{border:1px solid #ebeff5;border-radius:16px;padding:16px;background:#fbfdff}.asb-detail-box h5,.asb-slots-box h5,.asb-voucher-box h5{margin:0 0 10px;font-size:18px}.asb-detail-box p{margin:0 0 12px;line-height:1.55}
.asb-slots-box,.asb-voucher-box{border:1px solid #ebeff5;border-radius:16px;padding:16px;background:#fff;margin-bottom:16px}.asb-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.asb-time-card{border:1px solid #e5e7eb;border-radius:14px;padding:12px 14px;background:#fff;display:grid;gap:6px;align-content:start}.asb-time-card.is-open{border-color:#cfe7d4;background:#f8fff9}.asb-time-card.is-closed{border-color:#f3d0d0;background:#fff8f8;opacity:.88}.asb-time-main{font-size:20px;font-weight:700;line-height:1}.asb-time-meta-strong{color:#0f172a;font-weight:600}.asb-time-card .asb-pill{margin-top:2px;justify-self:flex-start;padding:5px 10px;font-size:12px}
.asb-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:10px 14px;text-decoration:none;font-weight:600;border:0;cursor:pointer;transition:all .18s ease}.asb-btn-primary{background:#0f3f75;color:#fff}.asb-btn-primary:hover{background:#123f6f}.asb-btn.is-secondary{background:#eef2f7;color:#334155}.asb-book-btn{margin-top:6px}
.asb-booking-form{display:grid;gap:14px}.asb-booking-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.asb-booking-summary-box{display:grid;gap:4px}.asb-booking-summary-box strong{font-size:13px;color:#64748b}.asb-booking-summary-box span{font-size:15px;font-weight:600;color:#0f172a}
.asb-radio-line{display:flex;align-items:center;gap:8px;font-weight:600}.asb-voucher-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid #ebeff5;border-radius:14px;background:#fbfdff}.asb-voucher-main{display:grid;gap:4px}.asb-field{display:grid;gap:6px}.asb-field span{font-weight:600;color:#334155;font-size:14px}.asb-field textarea{width:100%;border:1px solid #d6dce5;border-radius:12px;padding:11px 12px;font-size:15px;background:#fff;box-sizing:border-box;resize:vertical;min-height:96px}
.asb-inline-warning{padding:12px 14px;border-radius:14px;margin:0 0 12px;background:#fff4df;color:#9a5a00;border:1px solid #f2dfb2;font-weight:600}
.asb-list-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid #e8edf4;border-radius:14px;background:#fbfdff}.asb-list-item-stack .asb-meta{margin-top:4px}.asb-booking-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}.asb-inline-form{margin:0}
.asb-notice{padding:14px 16px;border-radius:14px;margin:0 0 16px;font-weight:600}.asb-notice-success{background:#eaf8ef;color:#166534;border:1px solid #caefda}.asb-notice-error{background:#fff1f2;color:#b91c1c;border:1px solid #fecdd3}
@media (max-width:900px){.asb-detail-grid,.asb-booking-summary-grid{grid-template-columns:1fr 1fr}.asb-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.asb-overview h3{font-size:26px}.asb-day,.asb-detail-card,.asb-empty,.asb-booking-card,.asb-my-bookings{border-radius:16px;padding:16px}.asb-day-title{font-size:16px}.asb-place-row,.asb-voucher-row,.asb-list-item{flex-direction:column;align-items:flex-start}.asb-place-side,.asb-booking-actions{justify-content:flex-start}.asb-detail-head h4,.asb-booking-head h4{font-size:22px}.asb-time-grid,.asb-booking-summary-grid,.asb-detail-grid{grid-template-columns:1fr}.asb-time-card{padding:12px}.asb-time-main{font-size:18px}}

.asb-slots-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.asb-multi-toggle-wrap{display:flex !important}
.asb-time-card .asb-multi-choice,.asb-multi-actions{display:none}
.asb-multi-form.is-multi .asb-single-book{display:none}
.asb-multi-form.is-multi .asb-multi-choice,.asb-multi-form.is-multi .asb-multi-actions{display:flex}
.asb-multi-form.is-multi .asb-multi-toggle-wrap{display:flex}
.asb-multi-choice{align-items:center;gap:8px;margin-top:6px;font-weight:600;color:#334155}
.asb-multi-actions{margin-top:12px;align-items:center;gap:12px;flex-wrap:wrap}
.asb-warning-modal{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:9999;padding:18px}.asb-warning-dialog{background:#fff;border-radius:18px;max-width:560px;width:100%;padding:20px;position:relative;box-shadow:0 16px 40px rgba(15,23,42,.24)}.asb-warning-dialog h5{margin:0 0 12px;font-size:22px}.asb-warning-close{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer;color:#64748b}.asb-warning-ok{margin-top:8px}
.asb-slot-actions{display:flex;gap:8px;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap}
@media (max-width:640px){.asb-warning-dialog{padding:16px;border-radius:16px}.asb-slots-head{align-items:flex-start}.asb-multi-actions{align-items:flex-start}.asb-multi-toggle-wrap{width:100%;justify-content:flex-start}}

.asb-time-card.is-selectable{cursor:pointer}
.asb-time-card.is-selected{border-color:#0f766e;box-shadow:0 0 0 2px rgba(15,118,110,.12);background:#f0fdfa}
.asb-booking-head .asb-back-link{display:inline-flex;margin-bottom:10px}


.asb-multi-toggle-wrap{font-size:14px;font-weight:600;color:#0f172a;display:flex;align-items:center;gap:8px}
.asb-passenger-count select{max-width:220px}
.asb-cash-passengers{margin:16px 0;padding:16px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}
.asb-passenger-card{padding:12px 0;border-top:1px solid #edf2f7}
.asb-passenger-card:first-of-type{border-top:0;padding-top:0}
.asb-passenger-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:8px}
@media (max-width:640px){.asb-passenger-grid{grid-template-columns:1fr}.asb-passenger-count select{max-width:none;width:100%}}

.asb-time-qty{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;font-size:13px;color:#475569}
.asb-time-qty span{font-weight:600}
.asb-time-qty select{border:1px solid #d6dce5;border-radius:10px;padding:6px 8px;background:#fff;min-width:86px}
.asb-single-book-form{display:block;margin-top:4px}
.asb-single-book-form .asb-book-btn{width:100%}
.asb-voucher-box,.asb-cash-passengers{display:block}


.asb-multi-only{display:none}
.asb-multi-actions{display:none}
.asb-front-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.asb-front-tab{border:1px solid #dbe4f0;background:#f8fbff;color:#0f172a;padding:10px 14px;border-radius:12px;font-weight:600;cursor:pointer}
.asb-front-tab.is-active{background:linear-gradient(135deg,#1d4ed8,#2563eb);border-color:#1d4ed8;color:#fff}
.asb-front-panel{display:none}
.asb-front-panel.is-active{display:block}
.asb-time-card.is-selected{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.15)}
@media (max-width:640px){.asb-front-tabs{gap:8px}.asb-front-tab{width:100%;text-align:left}}

.asb-warning-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:12px}
.asb-slots-box.is-multi .asb-multi-actions{display:flex}

.asb-multi-checkbox{display:none}
.asb-multi-pick-btn{display:none;width:100%;margin-top:6px}
.asb-slots-box.is-multi .asb-multi-pick-btn{display:inline-flex}
.asb-slots-box.is-multi .asb-time-qty{display:none}
.asb-multi-actions{align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.asb-multi-actions .asb-btn[disabled]{opacity:.5;cursor:not-allowed}

.asb-list-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.asb-collapsible-form{display:none;margin-bottom:16px}
.asb-collapsible-form.is-open{display:block}
.asb-form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.asb-slot-group{border:1px solid #ebeff5;border-radius:14px;padding:12px;margin-bottom:12px;background:#fff}
.asb-slot-group-head{margin-bottom:10px;color:#0f172a}
.asb-booking-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
@media (max-width:900px){.asb-booking-filters{grid-template-columns:1fr 1fr}.asb-list-head{align-items:flex-start}}
@media (max-width:640px){.asb-booking-filters{grid-template-columns:1fr}.asb-slot-actions{justify-content:flex-start}.asb-form-actions{width:100%}.asb-form-actions .asb-btn{width:100%;justify-content:center}}
