/* UKPO R8.3.37 / v22.1.91 — Activity Hub Booking List UX */
.activity-hub{margin:0 0 16px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px #0d31450d;overflow:hidden}
.activity-hub-head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;padding:15px 16px 10px}
.activity-hub-title h2{margin:0;font-size:17px}.activity-hub-title p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
.activity-hub-search{width:min(340px,100%)}.activity-hub-search input{width:100%}
.activity-hub-tabs{display:flex;gap:7px;flex-wrap:wrap;padding:0 16px 12px}
.activity-hub-tab{border:1px solid var(--line);background:#f8fbfc;color:var(--ink);border-radius:999px;padding:7px 10px;font-weight:800;font-size:11px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.activity-hub-tab:hover{background:#eef7f9}.activity-hub-tab.active{background:#087f90;border-color:#087f90;color:#fff}.activity-hub-tab .n{min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:inline-grid;place-items:center;background:#ffffffcc;color:#1b5a68;font-size:9px}.activity-hub-tab.active .n{background:#fff;color:#087f90}
.activity-hub-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px;border-top:1px solid #edf2f5;background:#fbfdfe;color:var(--muted);font-size:11px}
.activity-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px;padding:12px 16px 16px}
.activity-hub-card{display:grid;grid-template-columns:58px 1fr;gap:11px;border:1px solid #dce8ed;border-radius:13px;background:#fff;padding:11px;cursor:pointer;transition:.15s transform,.15s box-shadow,.15s border-color;min-height:132px}
.activity-hub-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px #0d314514;border-color:#9fcfd7}.activity-hub-card:focus{outline:3px solid #8dd8e244;outline-offset:2px}
.activity-datebox{height:58px;border-radius:11px;background:#edf8fa;border:1px solid #d3ebef;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.activity-datebox b{font-size:22px}.activity-datebox span{font-size:10px;font-weight:900;color:#527181;margin-top:4px;text-transform:uppercase}
.activity-card-main{min-width:0}.activity-card-top{display:flex;gap:7px;align-items:flex-start;justify-content:space-between}.activity-card-main h3{font-size:13px;line-height:1.35;margin:0;overflow-wrap:anywhere}.activity-card-main .activity-type{font-size:10px;color:var(--muted);margin-top:2px}.activity-card-line{font-size:11px;color:#4f6877;margin-top:6px;display:flex;align-items:center;gap:5px;line-height:1.35}.activity-card-stats{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.activity-card-chip{font-size:10px;padding:4px 6px;border-radius:8px;background:#f5f8fa;color:#496474;border:1px solid #e2ebef}.activity-card-actions{grid-column:1/-1;display:flex;gap:7px;justify-content:flex-end;border-top:1px solid #eef3f5;padding-top:9px;margin-top:2px}.activity-card-actions .btn{min-width:88px}
.activity-hub-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:22px;border:1px dashed #cbdce4;border-radius:12px;background:#fbfdfe;font-size:12px}
.activity-clickable-row{cursor:pointer}.activity-clickable-row:hover td{background:#f4fbfc}.activity-clickable-row td:first-child b{text-decoration:underline;text-decoration-color:#b5d8df;text-underline-offset:3px}
.activity-detail-dialog{width:min(720px,96vw)}.activity-detail-hero{padding:14px;border:1px solid #d9e8ed;background:linear-gradient(135deg,#f3fbfc,#fff);border-radius:13px;margin-bottom:12px}.activity-detail-hero h3{margin:0 0 4px;font-size:18px}.activity-detail-hero p{margin:0;color:var(--muted);font-size:12px}.activity-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.activity-detail-item{border:1px solid #e1ebef;background:#fbfdfe;border-radius:11px;padding:10px}.activity-detail-item small{display:block;color:var(--muted);font-weight:800;margin-bottom:4px}.activity-detail-item b{font-size:12px;line-height:1.45}.activity-detail-wide{grid-column:1/-1}.activity-detail-text{white-space:pre-wrap;font-size:12px;color:#425d6c;line-height:1.55}.activity-detail-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#p-activities .head p::after{content:' · 可直接點擊活動查看詳情';font-weight:800;color:#087f90}
#p-activities .panel::before{content:'進階搜尋及完整活動列表';display:block;padding:12px 15px 0;font-size:13px;font-weight:900;color:#294e61}
#dashActs .card{cursor:pointer;transition:.15s transform,.15s box-shadow}#dashActs .card:hover{transform:translateY(-1px);box-shadow:0 7px 18px #0d314514}
@media(max-width:760px){.activity-hub-head{flex-direction:column}.activity-hub-search{width:100%}.activity-hub-grid{grid-template-columns:1fr;padding:10px}.activity-hub-tabs{padding:0 10px 10px}.activity-hub-head{padding:12px 10px 9px}.activity-hub-meta{padding:9px 10px}.activity-detail-grid{grid-template-columns:1fr}.activity-detail-wide{grid-column:auto}.activity-detail-actions{width:100%}.activity-detail-actions .btn{flex:1}}


/* R8.3.37 — in-place booking list from Activity Details */
.activity-bookings-dialog{width:min(880px,97vw)}
.activity-bookings-subtitle{font-size:11px;color:var(--muted);font-weight:700;margin-top:3px}
.activity-bookings-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.activity-bookings-stat{border:1px solid #dce8ed;background:#f8fcfd;border-radius:11px;padding:10px;text-align:center}
.activity-bookings-stat small{display:block;color:var(--muted);font-weight:800;margin-bottom:3px}.activity-bookings-stat b{font-size:20px;color:#17384d}
.activity-bookings-list{display:grid;gap:8px;max-height:min(56vh,560px);overflow:auto;padding-right:2px}
.activity-booking-row{display:grid;grid-template-columns:34px minmax(170px,1fr) minmax(260px,auto) auto;gap:10px;align-items:center;border:1px solid #dfe9ed;border-radius:12px;padding:10px;background:#fff}
.activity-booking-row:hover{border-color:#9fcfd7;background:#fbfeff}.activity-booking-row.is-cancelled{opacity:.62;background:#f7f8f9}
.activity-booking-num{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#eef7f9;color:#087f90;font-weight:900;font-size:11px}
.activity-booking-person{min-width:0}.activity-booking-person b{display:block;font-size:12px;overflow-wrap:anywhere}.activity-booking-person span{display:block;margin-top:2px;color:var(--muted);font-size:10px;overflow-wrap:anywhere}
.activity-booking-state{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.activity-booking-state .badge{white-space:nowrap}
.activity-bookings-loading,.activity-bookings-empty{text-align:center;padding:30px 16px;border:1px dashed #cbdce4;border-radius:12px;background:#fbfdfe;color:var(--muted);font-size:12px}.activity-bookings-empty b{color:var(--ink);font-size:14px}.activity-bookings-empty.error{border-color:#e6b9b9;background:#fff8f8}
.activity-bookings-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:760px){.activity-bookings-summary{grid-template-columns:repeat(2,1fr)}.activity-booking-row{grid-template-columns:32px 1fr}.activity-booking-state,.activity-booking-open{grid-column:2}.activity-booking-open{width:100%}.activity-bookings-actions .btn{flex:1;min-width:130px}}

/* UKPO R8.3.41 / v22.1.95 — waitlist visibility + print UX */
.activity-card-chip.waitlist{background:#fff7e8;border-color:#eed9a8;color:#8a5d0b;font-weight:850}
.activity-bookings-summary{grid-template-columns:repeat(5,minmax(0,1fr))}
.activity-bookings-tabs{display:flex;gap:8px;margin:0 0 12px;border-bottom:1px solid #dbe7ec;padding-bottom:9px}
.activity-bookings-tab{border:1px solid #c9dde4;background:#fff;color:#315f70;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:900;cursor:pointer}
.activity-bookings-tab span{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:5px;padding:0 5px;border-radius:999px;background:#edf5f7;color:#276273;font-size:9px}
.activity-bookings-tab.active{background:#087f90;border-color:#087f90;color:#fff}.activity-bookings-tab.active span{background:#fff;color:#087f90}
.activity-waitlist-row{border-left:4px solid #e0a92e}.activity-waitlist-row .activity-booking-num{background:#fff4d7;color:#8e6209}
.activity-waitlist-joined{font-size:10px;color:#5f7886;font-weight:750;display:block;width:100%;margin-top:2px}
.activity-card-actions .ah-print{margin-right:auto}
@media(max-width:760px){.activity-bookings-summary{grid-template-columns:repeat(2,1fr)}.activity-bookings-tabs{overflow:auto}.activity-card-actions .ah-print{margin-right:0}.activity-card-actions{justify-content:stretch}.activity-card-actions .btn{flex:1;min-width:0}}
