.hosted-integrated-card{min-width:0;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:12px}
/* Public session cards use the existing Open Play component without overrides.
   The integrated-card rules below are only for My Bookings. */
.hosted-integrated-card h3,.hosted-integrated-card p{margin:0}
.hosted-integrated-card h3{font-size:20px;line-height:1.4}
.hosted-integrated-card .btn{align-self:stretch;text-align:center;white-space:normal;min-height:44px;display:flex;justify-content:center;align-items:center}
.hosted-notices{grid-column:1/-1;padding:16px;border:1px solid #dce1e5;border-radius:16px;background:#fff;overflow-wrap:anywhere}
#myApplicationRows .hosted-integrated-card{padding:18px;border:1px solid #dce1e5;border-radius:18px;background:#fff}
.hosted-notices summary{cursor:pointer;font-weight:700;min-height:32px}
.hosted-notices article{padding:12px 0;border-top:1px solid #e8ebee}
.hosted-notices .btn{margin:8px;min-height:44px}
.hosted-load-error{grid-column:1/-1;padding:12px;background:#fff7e0;border-radius:12px}
body.hosted-modal-open{overflow:hidden}
#hostedApplicationModal .modal{max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px);overflow:auto}
#hostedApplicationModal .panel,#hostedApplicationModal .actions{min-width:0;overflow-wrap:anywhere}
#hostedApplicationModal p{word-break:keep-all}
#hostedApplicationModal .actions{display:flex;flex-wrap:wrap;gap:10px}
#hostedApplicationModal .btn{white-space:normal;min-height:44px;text-align:center}
#hostedApplicationModal [data-hosted-body]{display:contents}
#hostedApplicationModal .apply-session-summary{grid-area:session}
#hostedApplicationModal .apply-payment-panel{grid-area:payment}
#hostedApplicationModal [data-hosted-status]{grid-column:1/-1;margin:0}
#hostedApplicationModal [data-hosted-status]:empty{display:none}
body.hosted-modal-open .support-widget{display:none!important}
body.hosted-owner-open{overflow:hidden}
body.hosted-owner-open .support-widget{display:none!important}
#hostedOwnerModal .modal{width:min(850px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}
#hostedOwnerModal .modal-body{display:block;min-width:0}
#hostedOwnerModal [data-owner-status]:empty{display:none}
#hostedOwnerModal fieldset{border:0;padding:0;min-width:0}
#hostedOwnerModal .hosted-owner-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#hostedOwnerModal .hosted-owner-person{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 0;border-bottom:1px solid var(--line,#dce3e6)}
#hostedOwnerModal .actions{display:flex;flex-wrap:wrap;gap:8px}
#hostedOwnerModal .btn{white-space:normal;min-height:44px;text-align:center}
#hostedOwnerModal :is(input,textarea,select){width:100%;min-width:0;box-sizing:border-box}
#hostedOwnerModal label{display:grid;gap:7px;margin-bottom:12px}
#hostedOwnerModal :is(input,select){min-height:44px;font-size:16px}
#hostedOwnerModal :is(.panel,label,p){min-width:0;overflow-wrap:anywhere;word-break:keep-all}
@media(max-width:640px){#hostedOwnerModal .hosted-owner-fields{grid-template-columns:minmax(0,1fr)}#hostedOwnerModal .modal{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0}#hostedOwnerModal{padding:0}}
.hosted-policy-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.6;margin:16px 0}
.hosted-policy-consent input{width:20px;height:20px;flex:0 0 20px;margin-top:3px}
.session-card.session-organizer-member{background:#f5f3ff;border-color:#d8d2f0}
.public-session-day-track > .session-card.session-organizer-member{--session-accent:#8270b5;background:linear-gradient(145deg,#faf9ff,#f0ebfa) !important;border-color:#d8d2f0 !important}
.public-session-day-track > .session-card.session-organizer-member :is(.session-summary,.session-action){background:#f8f6fc;border-color:#ded7ec !important}
.session-card.session-organizer-member .session-level-chip{background:#ece7fa;color:#51417b}
.session-organizer-line{margin:0 0 12px;font-size:13px;line-height:1.5;color:#5b6370;overflow-wrap:anywhere;min-width:0}
.hosted-load-error{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px;border-radius:14px;background:#fff8e6;line-height:1.6;overflow-wrap:anywhere}
.hosted-load-error .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;white-space:normal;text-align:center}
/* Scoped to the host sheet: reservation typography/colors, quiet Apple-style hierarchy. */
#hostedOwnerModal{padding:20px;backdrop-filter:blur(8px)}
#hostedOwnerModal .modal{width:min(720px,calc(100vw - 40px));max-width:100%;max-height:calc(100dvh - 40px);border:1px solid var(--line,#dce3e6);border-radius:24px;background:#f5f6f8;box-shadow:0 24px 80px #10202c2b}
#hostedOwnerModal .modal-head{position:sticky;top:0;z-index:2;padding:20px 24px;background:#f5f6f8f5;border-bottom:1px solid #e5e7eb;backdrop-filter:blur(12px)}
#hostedOwnerModal .modal-head h2{font-size:20px;line-height:1.35;letter-spacing:-.035em;margin:0;color:#17232c}
#hostedOwnerModal .close{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#e9ebee;color:#53616b;display:grid;place-items:center;padding:0;font-size:24px}
#hostedOwnerModal .modal-body{padding:24px}
#hostedOwnerModal .panel{margin:0 0 16px;padding:24px;border:1px solid #e6e9ec;border-radius:20px;background:#fff;box-shadow:none}
#hostedOwnerModal .hosted-owner-intro{margin-bottom:28px}
#hostedOwnerModal .hosted-owner-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;color:#70808a}
#hostedOwnerModal h3{font-size:24px;line-height:1.35;letter-spacing:-.045em;margin:10px 0}
#hostedOwnerModal p{font-size:14px;line-height:1.65;color:#64727c;margin:8px 0}
#hostedOwnerModal label{font-size:13px;font-weight:650;color:#52616d;gap:8px;margin:0}
#hostedOwnerModal .hosted-owner-fields{gap:20px 16px;margin-bottom:20px}
#hostedOwnerModal .hosted-owner-mode-note{font-size:12px;margin:0 0 20px}
#hostedOwnerModal .field{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #dce2e6;border-radius:12px;background:#fafbfc;color:#17232c;font:inherit;font-size:16px;line-height:1.5;box-shadow:none;padding:12px 14px}
#hostedOwnerModal :is(input,select).field{height:48px;min-height:48px}
#hostedOwnerModal textarea.field{min-height:100px;resize:vertical}
#hostedOwnerModal .field:focus{outline:3px solid #007aff25;outline-offset:1px;border-color:#007aff}
#hostedOwnerModal label.hosted-policy-consent{display:flex;align-items:flex-start;gap:12px;margin:20px 0;line-height:1.6}
#hostedOwnerModal .hosted-policy-consent input{width:20px;min-width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:2px 0 0;accent-color:#17232c}
#hostedOwnerModal .hosted-policy-consent span{min-width:0}
#hostedOwnerModal .hosted-owner-summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 12px;margin-top:24px;padding:16px 18px;background:#f3f7fa;border-radius:14px;font-size:14px}
#hostedOwnerModal .hosted-owner-summary strong{font-size:22px;letter-spacing:-.04em;color:#17232c}
#hostedOwnerModal .hosted-owner-summary p{grid-column:1/-1;font-size:12px;margin:4px 0 0}
#hostedOwnerModal .hosted-owner-fees{margin:16px 0;color:#64727c;font-size:13px}
#hostedOwnerModal .hosted-owner-fees summary{padding:10px 0;cursor:pointer;min-height:44px;box-sizing:border-box}
#hostedOwnerModal .hosted-owner-notice{padding:12px 14px;background:#fff8e6;border-radius:12px;color:#725820}
#hostedOwnerModal .hosted-owner-notice[hidden]{display:none}
#hostedOwnerModal .hosted-owner-footer{margin-top:24px;padding-top:16px;border-top:1px solid #e9edf0}
#hostedOwnerModal .hosted-owner-footer>p{font-size:12px;margin:0 0 14px}
#hostedOwnerModal .hosted-owner-footer .actions{display:grid;grid-template-columns:1fr;gap:12px}
.rental-cancel-entry{margin:12px 0 0;min-height:44px;text-align:center;justify-content:center}
body.rental-cancel-open{overflow:hidden}
#rentalCancelModal{z-index:1200;padding:16px;box-sizing:border-box}
#rentalCancelModal .modal-card{width:min(100%,540px);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border-radius:24px;background:#fff;color:#17212b;box-sizing:border-box;box-shadow:0 24px 80px #17212b26}
#rentalCancelModal .modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 16px;margin:0;border-bottom:1px solid #e9edf0;background:#fff;color:#17212b;box-shadow:none}
#rentalCancelModal h2{font-size:22px;line-height:1.3;color:#17212b;margin:0}
#rentalCancelModal .close{flex:0 0 44px;min-height:44px;color:#17212b;background:#f3f5f6;border:0;border-radius:14px}
#rentalCancelModal p{font-size:15px;line-height:1.65;overflow-wrap:anywhere;color:#56636d}
#rentalCancelModal .rental-cancel-date{font-weight:700;color:#17212b;font-size:18px}
#rentalCancelModal .rental-cancel-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
#rentalCancelModal .btn{width:100%;min-width:0;min-height:48px;padding:12px;font-size:15px;line-height:1.4;border-radius:14px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal}
#rentalCancelModal [data-rental-confirm]{background:#bd3029;color:white;border:1px solid #bd3029}
#rentalCancelModal [data-rental-cancel-status]:empty{display:none}
#rentalCancelModal [data-rental-cancel-status]{padding:12px;background:#f3f6f8;border-radius:12px}
@media(max-width:540px){#rentalCancelModal{padding:8px}#rentalCancelModal .modal-card{padding:20px;max-height:calc(100dvh - 16px)}}
#hostedOwnerModal .btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;max-width:100%;margin:0;padding:12px 18px;border-radius:12px;font-size:15px;font-weight:700;line-height:1.4;text-align:center;text-decoration:none;box-shadow:none;transform:none;white-space:normal;border:1px solid transparent}
#hostedOwnerModal .btn.secondary{background:#f0f2f4;color:#26343e}
#hostedOwnerModal .btn.green{background:var(--yellow,#ffda32);color:#17232c}
#hostedOwnerModal .btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
#hostedOwnerModal .btn:focus-visible{outline:3px solid #007aff;outline-offset:3px}
#hostedOwnerModal [data-owner-status]{position:sticky;bottom:0;padding:12px 16px;border:1px solid #dbe3e9;border-radius:12px;background:#f4f8fc;font-size:14px;line-height:1.6;color:#284357;z-index:2}
@media(max-width:640px){#hostedOwnerModal{padding:8px}#hostedOwnerModal .modal{width:100%;max-height:calc(100dvh - 16px);border-radius:22px}#hostedOwnerModal .modal-head{padding:16px 18px}#hostedOwnerModal .modal-head h2{font-size:18px}#hostedOwnerModal .modal-body{padding:14px}#hostedOwnerModal .panel{padding:18px;border-radius:16px}#hostedOwnerModal h3{font-size:22px}#hostedOwnerModal .hosted-owner-intro{margin-bottom:24px}#hostedOwnerModal .hosted-owner-fields{gap:18px}#hostedOwnerModal .btn{padding:12px;font-size:15px}}
@media(prefers-reduced-motion:reduce){#hostedOwnerModal *{scroll-behavior:auto!important;transition:none!important}}
