/* One bright Cuban campus. Availability and access remain in their existing modules. */
:root[data-academy-design="cuban"] {
 color-scheme:light; --paper:#f6faff; --white:#fff; --surface:#fff; --panel:#fff; --bg:#f6faff;
 --cream:#edf4ff; --ink:#173557; --text:#173557; --muted:#536982; --line:#d8e4f2; --border:#d8e4f2;
 --green:#145b3e; --light-green:#dcf5e8; --red:#ce1734; --gold:#936900; --accent:#0057cf;
 --accent-strong:#0057cf; --style-red:#ce1734; --radius:16px; --navy:#082f73; --admin:#0057cf;
 --pg-blue:#0057cf; --pg-purple:#ce1734; --pg-gradient:none; --pg-page:#f6faff; --pg-surface:#fff;
 --pg-ink:#173557; --pg-muted:#536982; --pg-border:#d8e4f2;
 --cuban-input:#fff; --cuban-selected:#e9f2ff; --cuban-deep:#082f73; --cuban-chat:#f8fbff;
 --cuban-border:#c5d7ed; --cuban-edge:#86addf; --cuban-blue-ink:#0847a3; --cuban-link:#0057cf;
 --cuban-danger-ink:#aa1630; --cuban-danger-bg:#fff0f3; --cuban-danger-border:#f1a3b2;
 --cuban-private:#ffe895; --cuban-private-soft:#fff9e6; --cuban-private-ink:#6b4a00; --cuban-private-edge:#d8b449;
 --cuban-group:#dcf5e8; --cuban-group-ink:#145b3e; --cuban-group-edge:#91d6b3;
 --cuban-hover:#dceaff; --cuban-available:#edf5ff; --cuban-unavailable:#f2f5f9; --cuban-available-hover:#0057cf;
 font-family:var(--body-font); font-size:16px; background:var(--paper); color:var(--ink);
}
html[data-academy-design="cuban"] body {background:var(--paper); color:var(--ink); line-height:1.6}
html[data-academy-design="cuban"] :is(h1,h2,h3,h4,strong,b) {font-family:var(--heading-font); letter-spacing:normal}
html[data-academy-design="cuban"] :is(h1,h2,h3,h4) {color:var(--ink); font-weight:700; line-height:1.3}
html[data-academy-design="cuban"] :is(input,select,textarea,button) {font-family:var(--body-font)}
html[data-academy-design="cuban"] :is(input:not([type="range"]):not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea) {background:var(--cuban-input)!important; color:var(--ink)!important; border-color:var(--cuban-border)!important; font-size:15px; line-height:1.5}
html[data-academy-design="cuban"] ::placeholder {color:var(--muted); opacity:1}
html[data-academy-design="cuban"] :is(input[type="checkbox"],input[type="radio"]) {accent-color:#135fc6}
html[data-academy-design="cuban"] ::selection {background:#135fc6; color:#fff}
html[data-academy-design="cuban"] :is(a,button,input,select,textarea,[contenteditable]):focus-visible {outline:3px solid var(--cuban-link)!important; outline-offset:3px}
html[data-academy-design="cuban"] :is(.muted,.description,.eyebrow,.breadcrumbs,.course-meta,.member-facts,.map-credit,.booking-period-tag,.booking-status) {color:var(--muted)!important}
html[data-academy-design="cuban"] :is(.course-body p,.member-details p,.post-full,.post .excerpt,.rich-content,.comment-bubble,.chat-message,.lesson-description,.resource>div,.event-detail .description) {font-size:16px!important; line-height:1.75; color:var(--ink)!important}
html[data-academy-design="cuban"] :is(.section-title h2,.side-panel h3,.course-body h2,.post h3) {font-weight:700}
html[data-academy-design="cuban"] :is(.member-title strong,.conversation>header,.thread-list strong,.booking-row-info h3) {font-size:16px!important; color:var(--ink)!important}
html[data-academy-design="cuban"] :is(.post-head strong,.post-head small,.post-footer,.member-facts,.course-meta,.booking-row p,.policy-rules p,.profile-form label,.form label) {font-size:14px!important; line-height:1.65}
html[data-academy-design="cuban"] :is(.thread-list small,.chat-message small,.comment-bubble>small,.course-meta small,.booking-large-time small) {font-size:12px!important; color:var(--muted)!important; opacity:1}

/* Navigation: blue surfaces, white labels, one red active marker. */
:root[data-academy-design="cuban"][data-theme] .sidebar {background:var(--cuban-deep)!important; background-image:none!important; color:#fff; border-right:1px solid var(--line)}
html[data-academy-design="cuban"] .sidebar :is(.brand strong,.nav a,.poly-link) {color:var(--ink)!important}
html[data-academy-design="cuban"] .sidebar :is(.brand small,.nav-caption,.island-note,.poly-link small) {color:#bdd2ee!important; font-size:13px}
html[data-academy-design="cuban"] .nav a {font-size:15px; padding-block:13px; border-radius:12px}
:root[data-academy-design="cuban"][data-theme] .nav a.active {background:#135fc6!important; color:#fff!important; background-image:none!important; box-shadow:none}
html[data-academy-design="cuban"] .nav a.active::before {background:var(--red)!important}
html[data-academy-design="cuban"] .nav a:hover:not(.active) {background:var(--cuban-selected)!important}
html[data-academy-design="cuban"] .topbar {background:var(--white)!important; color:var(--ink); border-color:var(--line); box-shadow:0 1px 0 var(--line)}
html[data-academy-design="cuban"] :is(.topbar button,.menu-toggle,.mobile-nav-close) {color:var(--ink)!important}
html[data-academy-design="cuban"] .mobile-nav-close {background:var(--cuban-selected)!important; border:1px solid var(--cuban-border)}

/* Cards and menus share the same opaque surfaces. */
:root[data-academy-design="cuban"][data-theme] :is(.panel,.course-card,.course-editable-card,.lesson-card,.side-panel,.member-card,.quote-card,.course-summary,.authoring-bar,.booking-offer,.weekly-plan,.group-pass-card,.group-session-list,.booking-visual-row,.weekly-credit-summary,.credit-balances>div,.booking-owner-controls,.subscription-change,.booking-notice,.calendar-connect,.booking-subscription-status,.booking-tags span,.booking-confirmed-notice,.task-composer,.homework-message>div,.tutor-notes-editor,.tutor-note-editor,.rich-editor,.editor-toolbar,.extra-story-label) {
  background:var(--white)!important; background-image:none!important; color:var(--ink)!important; border-color:var(--line)!important; box-shadow:none;
}
html[data-academy-design="cuban"] :is(dialog,.search-results,.booking-choice-menu,.attachment-picker>button,.gif-picker,.reaction-picker,.message-reaction-picker,.emoji-picker,.visibility-options,.filter-menu,.document-toolbar,.authoring-form .actions) {background:var(--white)!important; color:var(--ink)!important; border-color:var(--cuban-border)!important}
html[data-academy-design="cuban"] :is(dialog,.search-results,.gif-picker,.reaction-picker) {box-shadow:0 18px 55px #082f7326}
html[data-academy-design="cuban"] dialog::backdrop {background:#082f7366; backdrop-filter:blur(3px)}
html[data-academy-design="cuban"] :is(.social-composer,.composer-line textarea,.comment-bubble,.chat-message>div:not(.chat-message-tools),.thread-list a:hover,.resource,.date-stamp,.badge,.profile-settings button,.profile-settings a,#city-results button,.visibility-options label,.lesson-outline a.active,.attachment-picker>button) {background:var(--cream)!important; color:var(--ink)!important; border-color:var(--line)!important}
html[data-academy-design="cuban"] :is(.chat-message.mine .message-body,.thread-list>a.active,.visibility-members label:has(input:checked)) {background:var(--cuban-selected)!important; color:var(--ink)!important; border-color:var(--cuban-edge)!important}
html[data-academy-design="cuban"] :is(.chat-message a,.post-full a,.rich-content a,.comment-bubble a,.shared-link,.shared-file,.policy-link,.video-external) {color:var(--cuban-link)!important; text-underline-offset:3px}
html[data-academy-design="cuban"] :is(.shared-file,.chat-reply-preview,.message-quote,.reply-quote) {background:var(--cream)!important; border-color:var(--cuban-edge)!important; color:var(--ink)!important}
html[data-academy-design="cuban"] .conversation {background:var(--white)}
html[data-academy-design="cuban"] #chat-history {background:var(--cuban-chat)}
html[data-academy-design="cuban"] :is(.message-icon-tool,.chat-message-tools,.comment-tools .btn) {background:transparent!important; color:var(--muted)!important; border-color:transparent!important; box-shadow:none!important}
html[data-academy-design="cuban"] .message-icon-tool:hover {background:var(--cuban-selected)!important; color:var(--cuban-link)!important}
html[data-academy-design="cuban"] :is(.homework-heading,.task-toggle,.homework-status,.presence-online,.credit-restored,.group-active) {color:var(--cuban-link)!important}
html[data-academy-design="cuban"] :is(.chat-reaction,.message-reaction,.reaction-pill,.task-toggle[aria-pressed=true]) {background:var(--cuban-selected)!important; color:var(--cuban-blue-ink)!important; border-color:var(--cuban-edge)!important}
html[data-academy-design="cuban"] .member-note-button {background:var(--cuban-selected)!important; background-image:none!important; color:var(--cuban-blue-ink)!important; border-color:var(--cuban-edge)!important; box-shadow:none}
html[data-academy-design="cuban"] :is(.member-facts .member-credit-summary,.booking-credit-link) {background:var(--cuban-private-soft)!important; background-image:none!important; color:var(--cuban-private-ink)!important; border-color:var(--cuban-private-edge)!important; box-shadow:none}
html[data-academy-design="cuban"] :is(.member-credit-summary.is-subscription,.member-credit-summary[data-purchase-type="subscription"]) {background:var(--cuban-danger-bg)!important; color:var(--cuban-danger-ink)!important; border-color:var(--cuban-danger-border)!important}
html[data-academy-design="cuban"] :is(.member-local-time,.booking-day-heading>strong,.error,.booking-inline-error,.lesson-dialog-error,.booking-late) {color:var(--red)!important}

/* Solid blue actions; red is reserved for weekly lessons and important changes. */
html[data-academy-design="cuban"] :is(.btn,.chip,.booking-icon-action,.booking-calendar-alarm,.editor-toolbar button) {background:var(--cream)!important; color:var(--ink)!important; border-color:var(--cuban-border)!important; border-radius:11px; box-shadow:none; font-size:14px; font-weight:650}
html[data-academy-design="cuban"] :is(.btn,.chip,.booking-icon-action):hover {background:var(--cuban-hover)!important; border-color:var(--cuban-edge)!important; transform:none}
:root[data-academy-design="cuban"][data-theme] :is(.btn.primary,.chip.active,.lesson-dialog .lesson-primary,.enter-button) {background:var(--accent)!important; background-image:none!important; color:#fff!important; border-color:var(--accent)!important}
:root[data-academy-design="cuban"][data-theme] :is(.weekly-red,.weekly-offer,.weekly-offer:visited) {background:var(--red)!important; background-image:none!important; color:#fff!important; border-color:var(--red)!important; box-shadow:none}
:root[data-academy-design="cuban"][data-theme] :is(.private-lesson-gold,.private-course-gold) {background:var(--cuban-private)!important; background-image:none!important; color:var(--cuban-private-ink)!important; border-color:var(--cuban-private-edge)!important; box-shadow:none!important; animation:none!important}
:root[data-academy-design="cuban"][data-theme] .group-lesson-green {background:var(--cuban-group)!important; background-image:none!important; color:var(--cuban-group-ink)!important; border-color:var(--cuban-group-edge)!important}
:root[data-academy-design="cuban"][data-theme] .group-lesson-green:hover {background:#c4ebd7!important}
html[data-academy-design="cuban"] :is(.weekly-offer h2,.weekly-offer p,.weekly-offer strong,.weekly-offer .weekly-crown,.booking-intro h1) {color:#fff!important}
html[data-academy-design="cuban"] :is(.weekly-plan-count,.weekly-crown) {color:var(--red)!important}
html[data-academy-design="cuban"] :is(.group-pass-label,.group-pass-purchase>strong,.group-page-icon,.group-active,.group-session-date) {color:var(--cuban-group-ink)!important}
html[data-academy-design="cuban"] :is(.booking-offer strong,.booking-large-time) {color:var(--cuban-link)!important}
html[data-academy-design="cuban"] :is(.btn.danger,.booking-icon-action.cancel,.lesson-dialog .lesson-danger) {background:var(--cuban-danger-bg)!important; color:var(--cuban-danger-ink)!important; border-color:var(--cuban-danger-border)!important}
html[data-academy-design="cuban"] :is(.weekly-red:after,.private-lesson-gold:after,.private-course-gold:after,.weekly-offer:after,.arch:after,.tile-border,.havana-waves,.havana-lights,.havana-traffic) {display:none!important; background-image:none!important; animation:none!important}
html[data-academy-design="cuban"] .weekly-plan:before {background:var(--red)!important; background-image:none!important; height:4px}
html[data-academy-design="cuban"] .group-pass-card:before {background:var(--cuban-group-edge)!important; background-image:none!important; height:4px}
html[data-academy-design="cuban"] :is(.weekly-range,.weekly-flex-copy,.weekly-price) {background:var(--cream)!important; background-image:none!important; border-color:var(--cuban-border)!important; color:var(--ink)!important; box-shadow:none}
html[data-academy-design="cuban"] .weekly-range input {background:#f3b9c4!important; background-image:none!important; accent-color:var(--red)}
html[data-academy-design="cuban"] .weekly-range-labels :is(span,small) {color:var(--cuban-blue-ink)!important}
html[data-academy-design="cuban"] .weekly-price-main small {color:var(--muted)!important}
:root[data-academy-design="cuban"][data-theme] .policy-rules section>b {background:var(--cuban-selected)!important; background-image:none!important; color:var(--cuban-blue-ink)!important; box-shadow:none}
:root[data-academy-design="cuban"][data-theme] .policy-rules section:nth-child(even)>b {background:var(--cuban-danger-bg)!important; color:var(--cuban-danger-ink)!important}
html[data-academy-design="cuban"] .progress {background:var(--line)!important; height:6px}
html[data-academy-design="cuban"] .progress>span {background:var(--cuban-link)!important; background-image:none!important}

/* Light calendar surfaces retain the existing availability and drag states. */
html[data-academy-design="cuban"] :is(.calendar,.calendar-day,.booking-week-grid,.booking-week-head,.lesson-week-head,.lesson-hour-axis,.calendar-week-grid,.calendar-week-header) {background:var(--white)!important; color:var(--ink)!important; border-color:var(--line)!important}
html[data-academy-design="cuban"] :is(.calendar-day.outside,.booking-week-grid .today,.booking-week-cell,.lesson-hour-cell) {background:var(--cream); color:var(--ink); border-color:var(--line)!important}
:root[data-academy-design="cuban"][data-theme] .lesson-hour-cell.is-unavailable {background-color:var(--cuban-unavailable)!important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Ccircle cx='6' cy='6' r='.65' fill='%23d5dfeb'/%3E%3C/svg%3E")!important; color:var(--muted)}
:root[data-academy-design="cuban"][data-theme] :is(.lesson-hour-cell.is-available:not(:disabled),.lesson-hour-cell.is-admin-override) {background:var(--cuban-available)!important; background-image:none!important; box-shadow:inset 3px 0 #78acfa; color:var(--cuban-blue-ink)!important}
html[data-academy-design="cuban"] :is(.lesson-hour-cell.is-available:not(:disabled):hover,.lesson-hour-cell.is-admin-override:hover) {background:var(--cuban-available-hover)!important; color:#fff!important; outline-color:var(--cuban-link)!important}
html[data-academy-design="cuban"] :is(.lesson-hour-cell.is-available:not(:disabled):hover,.lesson-hour-cell.is-admin-override:hover)>span {color:#fff!important}
html[data-academy-design="cuban"] :is(.lesson-hour-cell.drag-over,.booking-week-cell.drag-over) {background:var(--cuban-private)!important; outline-color:var(--cuban-private-edge)!important}
html[data-academy-design="cuban"] .lesson-hour-cell>span {color:var(--cuban-blue-ink)!important}
html[data-academy-design="cuban"] :is(.lesson-drag-preview,.lesson-hour-highlight.is-drag-target) {background:var(--cuban-private-soft)!important; color:var(--cuban-private-ink)!important; border-color:var(--cuban-private-edge)!important}
html[data-academy-design="cuban"] :is(.lesson-time-event,.booking-week-event,.calendar-event,.booking-calendar-entry) {background:var(--cuban-selected)!important; color:var(--ink)!important; border-color:var(--cuban-edge)!important}
html[data-academy-design="cuban"] :is(.lesson-time-event.private,.booking-week-event:not(.group),.booking-calendar-entry,.calendar-event.private) {background:var(--cuban-private-soft)!important; color:var(--cuban-private-ink)!important; border-color:var(--cuban-private-edge)!important}
html[data-academy-design="cuban"] :is(.lesson-time-event.group,.booking-week-event.group,.calendar-event.group) {background:var(--cuban-group)!important; color:var(--cuban-group-ink)!important; border-color:var(--cuban-group-edge)!important}
html[data-academy-design="cuban"] :is(.lesson-time-event.weekly,.booking-week-event.weekly,.booking-calendar-entry.weekly,.calendar-event.weekly) {background:var(--cuban-danger-bg)!important; color:var(--cuban-danger-ink)!important; border-color:var(--cuban-danger-border)!important}
html[data-academy-design="cuban"] :is(.lesson-hour-highlight,.lesson-now-line) {border-color:var(--red)!important}
html[data-academy-design="cuban"] :is(.lesson-hour-axis .selected-hour,.booking-week-time,.lesson-week-head small) {color:var(--muted)!important}
html[data-academy-design="cuban"] .lesson-hour-axis .selected-hour {color:var(--red)!important}
html[data-academy-design="cuban"] :is(.booking-days button,.booking-slots button,.booking-calendar-views .active,.week-strip button.selected,.lesson-student-choice,.lesson-student-time,.lesson-new-time,.lesson-summary,.lesson-old-time,.lesson-balance,.lesson-reprogram-count,.booking-policy-note,.booking-dialog-option) {background:var(--cream)!important; color:var(--ink)!important; border-color:var(--cuban-border)!important}
html[data-academy-design="cuban"] :is(.booking-days button.selected,.booking-slots button.selected,.lesson-student-choice[aria-selected=true],.lesson-student-choice.selected) {background:#135fc6!important; color:#fff!important; border-color:var(--cuban-link)!important}
html[data-academy-design="cuban"] :is(.booking-days button:disabled,.lesson-student-choice small,.lesson-student-time small,.lesson-dialog small,.lesson-dialog p) {color:var(--muted)!important}
html[data-academy-design="cuban"] .booking-intro {background:var(--cuban-deep)!important}
html[data-academy-design="cuban"] :is(.lesson-person-card,.lesson-policy-note,.lesson-avatar,.lesson-learner-list button) {background:var(--cream)!important; color:var(--ink)!important; border-color:var(--cuban-border)!important}
html[data-academy-design="cuban"] .lesson-learner-list button[aria-selected=true] {background:var(--cuban-selected)!important; box-shadow:inset 3px 0 var(--red)}
html[data-academy-design="cuban"] :is(.lesson-learner-list strong,.lesson-person-main strong) {font-size:16px; color:var(--ink)!important}
html[data-academy-design="cuban"] :is(.lesson-learner-time strong,.lesson-zone,.lesson-chosen-date>span) {color:var(--red)!important}
html[data-academy-design="cuban"] :is(.calendar-event small,.lesson-time-event small,.group-session-date,.event-date strong) {color:inherit!important; opacity:1}
html[data-academy-design="cuban"] :is(.lesson-outline a,.rich-content,.policy-rules p,.policy-rules h3,.booking-day-heading>span,.event-date,.document-office,.document-text) {color:var(--ink)!important}
html[data-academy-design="cuban"] :is(.document-office,.document-text) {background:var(--white)!important; font-size:16px; line-height:1.8}
html[data-academy-design="cuban"] .file-type :is(.audio,.video),html[data-academy-design="cuban"] :is(.file-type.audio,.file-type.video) {color:var(--cuban-link)!important}

/* Member purchase badges keep the purchase source color, including zero credits. */
:root[data-academy-design="cuban"][data-theme] .member-actions .member-credit-summary {background:var(--cuban-private-soft)!important; background-image:none!important; color:var(--cuban-private-ink)!important; border-color:var(--cuban-private-edge)!important; box-shadow:none!important}
:root[data-academy-design="cuban"][data-theme] .member-actions .member-credit-summary.is-subscription {background:var(--cuban-danger-bg)!important; color:var(--cuban-danger-ink)!important; border-color:var(--cuban-danger-border)!important}
html[data-academy-design="cuban"] :is(.private-notebook,.private-notebook>header,.private-notebook>nav,.notebook-page,.private-notebook figure button,.reaction-popover) {background:var(--white)!important; color:var(--ink)!important; border-color:var(--cuban-border)!important; background-image:none!important}
html[data-academy-design="cuban"] :is(.private-notebook header small,.private-notebook footer,.private-notebook [role="status"]) {color:var(--muted)!important}
html[data-academy-design="cuban"] :is(.notebook-upload,#chat-jump-latest) {color:var(--cuban-link)!important; background:var(--cream)!important; border-color:var(--cuban-edge)!important}
html[data-academy-design="cuban"] .private-notebook [data-save] {background:#135fc6!important; color:#fff!important}
html[data-academy-design="cuban"] .reaction-popover button:hover {background:var(--cuban-selected)!important}
html[data-academy-design="cuban"] .chat-message .chat-quote {background:var(--cream)!important; color:var(--ink)!important; border-color:var(--cuban-link)!important}
html[data-academy-design="cuban"] .chat-quote span {font-size:14px!important; opacity:1!important; color:var(--muted)!important}
html[data-academy-design="cuban"] .malecon-hero {background-color:#b5dbf1!important; background-image:url('/malecon.png')!important; background-blend-mode:normal; background-position:center 56%; background-size:cover; filter:none!important}
html[data-academy-design="cuban"] .booking-calendar-views>span {background:var(--cream)!important; border-color:var(--cuban-border)!important; color:var(--muted)!important; font-size:14px!important; font-weight:600; padding:10px 14px}
html[data-academy-design="cuban"] .owner-laurel {color:var(--cuban-blue-ink)!important}
:root[data-academy-design="cuban"][data-theme] .classroom-glow {background:#135fc6!important; background-image:none!important; color:#fff!important; border:1px solid var(--cuban-link)!important; box-shadow:none!important}

@media (max-width:700px) {
  html[data-academy-design="cuban"] .member-actions {flex-wrap:wrap!important; overflow:visible!important; height:auto!important; max-width:100%; justify-content:flex-start!important}
  html[data-academy-design="cuban"] .member-actions .member-credit-summary {max-width:100%; white-space:normal; line-height:1.4}
  html[data-academy-design="cuban"] :is(.course-body p,.member-details p,.post-full,.rich-content,.chat-message) {font-size:15px!important; line-height:1.7}
  html[data-academy-design="cuban"] :is(input,select,textarea) {font-size:16px!important}
  html[data-academy-design="cuban"] .post-head :is(strong,small) {font-size:13px!important}
  html[data-academy-design="cuban"] .composer-toolbar {gap:8px}
}

/* Navigation keeps the bright Cuban blue, with white labels and a red marker. */
:root[data-academy-design="cuban"][data-theme] .sidebar {background:#0047b5!important}
html[data-academy-design="cuban"] .sidebar :is(.brand strong,.nav a,.poly-link) {color:#f1f6ff!important}
html[data-academy-design="cuban"] .nav a:hover:not(.active) {background:#0b5bcb!important}

/* Group classes keep the same solid green in the Patio, booking controls and calendar. */
:root[data-academy-design="cuban"] {--cuban-group-solid:#087a55; --cuban-group-hover:#066447}
:root[data-academy-design="cuban"][data-theme] .group-lesson-green {background:var(--cuban-group-solid)!important; background-image:none!important; color:#fff!important; border-color:var(--cuban-group-solid)!important}
:root[data-academy-design="cuban"][data-theme] .group-lesson-green:hover {background:var(--cuban-group-hover)!important; border-color:var(--cuban-group-hover)!important}
:root[data-academy-design="cuban"][data-theme] .group-lesson-green[aria-pressed="true"] {border:2px solid #111!important; box-shadow:0 0 0 1px #111!important}
:root[data-academy-design="cuban"][data-theme] .group-page-icon {background:var(--cuban-group-solid)!important; color:#fff!important; border-color:var(--cuban-group-solid)!important}
html[data-academy-design="cuban"] :is(.lesson-time-event.group,.booking-week-event.group,.calendar-event.group) {background:var(--cuban-group-solid)!important; color:#fff!important; border-color:var(--cuban-group-hover)!important}
html[data-academy-design="cuban"] .group-session.is-new {border-color:var(--cuban-group-solid)!important; box-shadow:0 0 0 3px #087a5512}
html[data-academy-design="cuban"] #booking-week-section[data-group-scheduling="true"] :is(.lesson-hour-cell.is-available:not(:disabled),.lesson-hour-cell.is-admin-override) {background:#e6f7ee!important; box-shadow:inset 3px 0 var(--cuban-group-solid); color:var(--cuban-group-ink)!important}
html[data-academy-design="cuban"] #booking-week-section[data-group-scheduling="true"] :is(.lesson-hour-cell.is-available:not(:disabled),.lesson-hour-cell.is-admin-override)>span {color:var(--cuban-group-ink)!important}
html[data-academy-design="cuban"] #booking-week-section[data-group-scheduling="true"] :is(.lesson-hour-cell.is-available:not(:disabled):hover,.lesson-hour-cell.is-admin-override:hover) {background:var(--cuban-group-solid)!important; color:#fff!important; outline-color:var(--cuban-group-solid)!important}
html[data-academy-design="cuban"] #booking-week-section[data-group-scheduling="true"] :is(.lesson-hour-cell.is-available:not(:disabled):hover,.lesson-hour-cell.is-admin-override:hover)>span {color:#fff!important}
html[data-academy-design="cuban"] .lesson-hour-highlight.is-group-target:not(.is-drag-target) {border-color:var(--cuban-group-solid)!important; background:#087a550d!important}
html[data-academy-design="cuban"] .group-unread-badge {display:inline-block; flex:0 0 9px; width:9px; height:9px; min-width:9px; padding:0; margin-left:7px; border-radius:50%; background:var(--cuban-group-solid)!important; opacity:1; vertical-align:middle}
html[data-academy-design="cuban"] .group-calendar-control {display:flex; flex:1; flex-direction:column; gap:5px; align-items:center; min-width:0}
html[data-academy-design="cuban"] .group-calendar-control>.btn {width:100%; min-width:0}
html[data-academy-design="cuban"] .group-calendar-control small {font-size:11px!important; line-height:1.5; color:var(--cuban-group-ink)!important; text-align:center; margin:0}
html[data-academy-design="cuban"] .group-calendar-more {display:inline-flex; align-items:center; gap:7px; padding:7px 9px; border:1px solid #9cd9bc; border-radius:8px; background:#e6f7ee!important; color:var(--cuban-group-ink)!important; font:inherit; font-size:12px; text-align:left; cursor:pointer}
html[data-academy-design="cuban"] .group-more-count {display:inline-grid; place-items:center; min-width:23px; min-height:23px; padding:3px 6px; border-radius:999px; background:var(--cuban-group-solid)!important; color:#fff!important; font-size:11px; font-weight:700; line-height:1}
html[data-academy-design="cuban"] :is(.group-calendar-event,.calendar-event.group-is-new,.booking-calendar-entry.group-is-new) {background:var(--cuban-group-solid)!important; color:#fff!important; border:1px solid var(--cuban-group-hover)!important; background-image:none!important}
html[data-academy-design="cuban"] .group-is-new {outline:1px solid var(--cuban-group-solid); outline-offset:2px; box-shadow:0 0 0 4px #087a5512}

/* Solid lesson identities are consistent in cards, credits and calendar events. */
:root[data-academy-design="cuban"][data-theme] .nav a.active {background:#fff!important; color:#0047b5!important; border-color:#fff!important}
html[data-academy-design="cuban"] .nav a.active::before {background:var(--red)!important}
html[data-academy-design="cuban"] .sidebar .mobile-nav-close {background:#fff!important; color:#0047b5!important; border-color:#fff!important}
html[data-academy-design="cuban"] :is(.course-cover img,.avatar,.media-image img,.post-preview-image img) {filter:none!important}
html[data-academy-design="cuban"] .leaflet-tile-pane {filter:none!important}
:root[data-academy-design="cuban"][data-theme] .group-pass-card {background:var(--cuban-group)!important; border-color:var(--cuban-group-edge)!important; color:var(--cuban-group-ink)!important}
:root[data-academy-design="cuban"][data-theme] .weekly-plan {border-color:#f0b3bf!important}
:root[data-academy-design="cuban"][data-theme] .weekly-range {background:#fff7f9!important; border-color:#f0b3bf!important}
html[data-academy-design="cuban"] .weekly-range-labels :is(span,small) {color:var(--cuban-danger-ink)!important}
:root[data-academy-design="cuban"][data-theme] .weekly-price {background:var(--cuban-deep)!important; color:#fff!important; border-color:var(--cuban-deep)!important; gap:18px}
html[data-academy-design="cuban"] .weekly-price :is(strong,small,label,label>span) {color:#fff!important}
html[data-academy-design="cuban"] .weekly-price select {background:#fff!important; color:var(--ink)!important}
:root[data-academy-design="cuban"][data-theme] .weekly-gold {background:var(--cuban-danger-bg)!important; background-image:none!important; color:var(--cuban-danger-ink)!important; border-color:var(--cuban-danger-border)!important}
html[data-academy-design="cuban"] :is(.weekly-range-labels i,.private-course-gold,.poly-link) {animation:none!important}
:root[data-academy-design="cuban"][data-theme] .booking-offer {border-left-color:var(--cuban-private-edge)!important}
:root[data-academy-design="cuban"][data-theme] .booking-offer.weekly-offer {background:var(--red)!important; border-color:var(--red)!important; color:#fff!important}
html[data-academy-design="cuban"] .booking-intro :is(p,.booking-description,.booking-policy) {color:#fff!important}
html[data-academy-design="cuban"] .credit-balances>div {border-left:3px solid var(--cuban-private-edge)!important; background:var(--cuban-private-soft)!important}
html[data-academy-design="cuban"] :is(.credit-balances>div.is-subscription,.weekly-credit-summary,.booking-credit-link.is-subscription,.booking-credit-link[data-purchase-type="subscription"]) {background:var(--cuban-danger-bg)!important; border-color:var(--cuban-danger-border)!important; color:var(--cuban-danger-ink)!important}
html[data-academy-design="cuban"] :is(.calendar-legend span:first-child:before,.calendar-legend [data-type="private"]:before) {background:#e2b832}
html[data-academy-design="cuban"] :is(.calendar-legend span:nth-child(2):before,.calendar-legend [data-type="conversation"]:before) {background:#0057cf}
html[data-academy-design="cuban"] :is(.calendar-legend span:nth-child(3):before,.calendar-legend [data-type="group"]:before) {background:#72c59b}
html[data-academy-design="cuban"] .calendar-legend [data-type="weekly"]:before {background:var(--red)}
html[data-academy-design="cuban"] :is(.lesson-time-event.conversation,.calendar-event.conversation) {background:var(--cuban-selected)!important; color:var(--cuban-blue-ink)!important; border-color:var(--cuban-edge)!important}
html[data-academy-design="cuban"] :is(.lesson-time-event.lesson-finished,.booking-calendar-entry.lesson-finished) {opacity:.75; filter:none}
html[data-academy-design="cuban"] .lesson-hour-highlight.is-drag-target {background:#fff3c733!important}
html[data-academy-design="cuban"] .lesson-week-body:has(.is-drag-target) .selected-hour {color:var(--cuban-private-ink)!important}

/* A compact desktop inbox becomes two separate, usable screens on phones. */
html[data-academy-design="cuban"] .messages-workspace {grid-template-columns:280px minmax(0,1fr); min-height:620px; height:calc(100dvh - 175px); max-height:1000px; padding:0; border-radius:18px}
html[data-academy-design="cuban"] .messages-workspace :is(.thread-list,.conversation) {min-width:0; min-height:0}
html[data-academy-design="cuban"] .messages-workspace .thread-list {display:flex; flex-direction:column; overflow:hidden; background:#fff; padding:12px; border-right:1px solid var(--line)}
html[data-academy-design="cuban"] .thread-list-heading {padding:4px 4px 14px; display:grid; gap:12px; flex:0 0 auto; color:var(--ink)}
html[data-academy-design="cuban"] .thread-list-heading :is(h2,h3,p) {margin:0}
html[data-academy-design="cuban"] .thread-list-heading h2 {font-size:19px}
html[data-academy-design="cuban"] #chat-thread-search {width:100%; min-width:0; border:1px solid var(--cuban-border); border-radius:12px; padding:11px 12px; font-size:14px; background:var(--paper)!important}
html[data-academy-design="cuban"] #chat-thread-items {flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:2px}
html[data-academy-design="cuban"] .chat-thread {position:relative; display:flex; gap:11px; align-items:center; padding:13px 11px; min-height:72px; border-radius:12px; margin-bottom:4px; border:1px solid transparent}
html[data-academy-design="cuban"] .chat-thread>div {min-width:0; flex:1}
html[data-academy-design="cuban"] .chat-thread.active {background:var(--cuban-selected)!important; border-color:#c6dbf8}
html[data-academy-design="cuban"] .chat-thread:hover {background:var(--paper)}
html[data-academy-design="cuban"] .chat-thread .avatar {width:42px; height:42px; flex:0 0 42px}
html[data-academy-design="cuban"] .chat-thread :is(strong,small) {display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
html[data-academy-design="cuban"] .chat-thread strong {font-size:14px!important}
html[data-academy-design="cuban"] .chat-thread small {font-size:12px!important; color:var(--muted); margin-top:5px; max-width:none}
html[data-academy-design="cuban"] .thread-unread-dot {width:9px; height:9px; min-width:9px; flex:0 0 9px; border-radius:50%; background:var(--red)!important; padding:0!important; box-shadow:0 0 0 3px #fff0f3}
html[data-academy-design="cuban"] .messages-workspace .conversation {overflow:hidden; background:#fff; display:flex; flex-direction:column}
html[data-academy-design="cuban"] .messages-workspace .conversation>header {flex:0 0 auto; min-height:78px; padding:15px 22px; border-bottom:1px solid var(--line)}
html[data-academy-design="cuban"] .chat-back {display:none}
html[data-academy-design="cuban"] .messages-workspace #chat-history {flex:1; height:auto; min-height:0; padding:30px 24px 18px; gap:22px; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain}
html[data-academy-design="cuban"] .messages-workspace #chat-composer {flex:0 0 auto; margin:0; padding:10px 22px 16px; border-top:1px solid var(--line); background:#fff}
html[data-academy-design="cuban"] .messages-workspace #chat-composer .social-composer {border:0; padding:0}
html[data-academy-design="cuban"] .messages-workspace #chat-composer textarea {min-height:54px; max-height:160px; resize:vertical; padding:13px; border-radius:14px; background:#f7faff!important}
html[data-academy-design="cuban"] :is(#chat-typing,.chat-load-status) {flex:0 0 auto; min-height:20px; padding:0 24px; font-size:12px; color:var(--muted); background:var(--cuban-chat)}
html[data-academy-design="cuban"] #chat-typing:empty {min-height:0; padding:0}
html[data-academy-design="cuban"] .chat-empty {flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:32px; text-align:center; background:#fff; gap:12px; color:var(--ink); min-height:0}
html[data-academy-design="cuban"] .chat-empty img {width:min(360px,70%); max-height:310px; object-fit:contain; filter:none}
html[data-academy-design="cuban"] .chat-empty :is(h2,h3,p) {margin:0; max-width:420px}
html[data-academy-design="cuban"] .chat-empty p {color:var(--muted); font-size:15px; line-height:1.7}
html[data-academy-design="cuban"] #chat-jump-latest {background:#fff!important; color:var(--cuban-link)!important; border:1px solid var(--cuban-border)!important; box-shadow:0 6px 20px #082f731a}
html[data-academy-design="cuban"] .chat-message:not(.mine)>.reaction-popover {left:0; right:auto}

/* The inbox occupies the actual remaining viewport, including owner controls. */
html[data-academy-design="cuban"] .workspace:has(> .main > .messages-workspace) {height:100dvh; min-height:0; display:flex; flex-direction:column; overflow:hidden}
html[data-academy-design="cuban"] .workspace:has(> .main > .messages-workspace)>.topbar {flex:0 0 auto}
html[data-academy-design="cuban"] .main:has(> .messages-workspace) {display:flex; flex-direction:column; flex:1 1 auto; min-height:0; width:100%; max-width:none; margin:0; padding:16px 24px 18px; overflow:hidden}
html[data-academy-design="cuban"] .main:has(> .messages-workspace)>.authoring-bar {flex:0 0 auto; min-height:0; margin:0 0 10px}
html[data-academy-design="cuban"] .main:has(> .messages-workspace)>.messages-heading {flex:0 0 auto; min-height:0; margin:0 0 14px; gap:12px}
html[data-academy-design="cuban"] .main:has(> .messages-workspace)>.messages-heading h1 {margin:0; font-size:30px; line-height:1.25}
html[data-academy-design="cuban"] .main>.messages-workspace {flex:1 1 auto; height:auto!important; min-height:0!important; max-height:none; width:100%}
html[data-academy-design="cuban"] body:has(> a[href^="https://polyglotion.com/integrations/owner-switcher/"]) .main:has(> .messages-workspace) {padding-bottom:70px!important}
html[data-academy-design="cuban"] body>a[href^="https://polyglotion.com/integrations/owner-switcher/"] {background:var(--accent)!important; background-image:none!important; color:#fff!important; border:1px solid var(--accent)!important; border-radius:12px!important; box-shadow:0 6px 20px #082f7326; max-width:calc(100vw - 24px)}

@media (max-width:1100px) and (min-width:701px) {
 html[data-academy-design="cuban"] .main {padding-inline:24px}
 html[data-academy-design="cuban"] .messages-workspace {grid-template-columns:240px minmax(0,1fr)}
 html[data-academy-design="cuban"] .calendar-booking-actions {gap:8px}
 html[data-academy-design="cuban"] .calendar-booking-actions .btn {min-width:160px; font-size:12px}
}
@media (max-width:700px) {
 html[data-academy-design="cuban"] body:has(.messages-workspace) {padding-bottom:0}
 html[data-academy-design="cuban"] .main {padding:18px 12px calc(26px + env(safe-area-inset-bottom))}
 html[data-academy-design="cuban"] .main:has(> .messages-workspace) {padding:12px 12px calc(12px + env(safe-area-inset-bottom))}
 html[data-academy-design="cuban"] body:has(> a[href^="https://polyglotion.com/integrations/owner-switcher/"]) .main:has(> .messages-workspace) {padding-bottom:calc(70px + env(safe-area-inset-bottom))!important}
 html[data-academy-design="cuban"] body>a[href^="https://polyglotion.com/integrations/owner-switcher/"] {bottom:calc(12px + env(safe-area-inset-bottom))!important}
 html[data-academy-design="cuban"] .main:has(> .messages-workspace)>.messages-heading {margin-bottom:12px; gap:10px}
 html[data-academy-design="cuban"] .main:has(> .messages-workspace)>.messages-heading h1 {font-size:27px}
 html[data-academy-design="cuban"] :is(.panel,.course-card,.lesson-card,.member-card) {border-radius:16px}
 html[data-academy-design="cuban"] .sidebar {width:min(88vw,320px)}
 html[data-academy-design="cuban"] .sidebar .nav {grid-template-columns:1fr; gap:5px}
 html[data-academy-design="cuban"] .sidebar .nav a {min-height:48px; padding:12px 14px; font-size:15px; border:0}
 html[data-academy-design="cuban"] .feed-controls .chips {mask-image:none}
 html[data-academy-design="cuban"] .feed-controls>.btn {width:auto!important; min-width:104px; flex:0 0 auto; padding:10px 16px}
 html[data-academy-design="cuban"] .malecon-hero {height:180px; background-position:43% center}
 html[data-academy-design="cuban"] .post {padding:18px 16px}
 html[data-academy-design="cuban"] .post h3 {font-size:20px; line-height:1.4}
 html[data-academy-design="cuban"] .post .excerpt {font-size:15px!important; line-height:1.65}
 html[data-academy-design="cuban"] :is(.member-title,.member-facts,.private-bookings-header) {gap:10px}
 html[data-academy-design="cuban"] :is(.booking-layout,.weekly-plan,.group-pass-card) {border-radius:18px}
 html[data-academy-design="cuban"] .booking-body {padding:22px 16px}
 html[data-academy-design="cuban"] .booking-intro {padding:22px 18px}
 html[data-academy-design="cuban"] .weekly-plan {padding:24px 18px}
 html[data-academy-design="cuban"] .weekly-range {padding:22px 10px 44px}
 html[data-academy-design="cuban"] .weekly-price {flex-wrap:wrap; padding:18px!important; gap:16px}
 html[data-academy-design="cuban"] .weekly-price-main {width:100%; border-left:0; border-top:1px solid #ffffff4d; padding:14px 0 0; text-align:left}
 html[data-academy-design="cuban"] .calendar-booking-actions {display:grid; grid-template-columns:1fr; width:100%; gap:9px}
 html[data-academy-design="cuban"] .calendar-booking-actions .btn {max-width:none; width:100%; min-width:0; min-height:46px; font-size:14px}
 html[data-academy-design="cuban"] .lesson-week-head,html[data-academy-design="cuban"] .lesson-week-body {grid-template-columns:48px repeat(7,minmax(96px,1fr)); min-width:720px}
 html[data-academy-design="cuban"] .lesson-week-scroll {min-height:380px; max-height:64dvh; margin-bottom:18px}
 html[data-academy-design="cuban"] .booking-week-controls {flex-wrap:wrap; gap:9px}
 html[data-academy-design="cuban"] .booking-week-controls strong {font-size:13px}
 html[data-academy-design="cuban"] .booking-calendar-views {flex-wrap:wrap; gap:8px}
 html[data-academy-design="cuban"] .booking-calendar-views>span {width:100%; margin:0; font-size:12px!important}
 html[data-academy-design="cuban"] .booking-icon-actions {flex-wrap:wrap; overflow:visible; gap:8px}
 html[data-academy-design="cuban"] .booking-visual-row {padding:14px 12px; gap:12px}
 html[data-academy-design="cuban"] .booking-large-time {font-size:22px}
 html[data-academy-design="cuban"] .policy-rules {gap:22px}
 html[data-academy-design="cuban"] .policy-rules section {gap:12px}
 html[data-academy-design="cuban"] .policy-rules h3 {font-size:16px}
 html[data-academy-design="cuban"] .policy-rules p {font-size:15px!important}
 html[data-academy-design="cuban"] :is(dialog,.lesson-dialog) {padding:52px 18px calc(24px + env(safe-area-inset-bottom)); border-radius:22px 22px 0 0; max-height:94dvh}
 html[data-academy-design="cuban"] .private-notebook {padding:0; border-radius:0; max-height:100dvh}
 html[data-academy-design="cuban"] .messages-heading {margin:4px 2px 14px}
 html[data-academy-design="cuban"] .messages-heading h1 {font-size:28px}
 html[data-academy-design="cuban"] .messages-workspace {display:block; height:calc(100dvh - 145px - env(safe-area-inset-top)); min-height:0; max-height:none; border-radius:16px; overflow:hidden}
 html[data-academy-design="cuban"] .messages-workspace .thread-list {display:flex; height:100%; max-height:none; border:0; padding:12px}
 html[data-academy-design="cuban"] .messages-workspace .conversation {height:100%}
 html[data-academy-design="cuban"] .messages-workspace[data-view="list"]>.conversation,html[data-academy-design="cuban"] .messages-workspace[data-view="chat"]>.thread-list {display:none!important}
 html[data-academy-design="cuban"] .messages-workspace .conversation>header {padding:11px 12px; min-height:68px; position:static}
 html[data-academy-design="cuban"] .chat-back {display:inline-grid; place-items:center; width:40px; height:40px; min-width:40px; color:var(--cuban-link); background:var(--cream); border-radius:12px; padding:9px}
 html[data-academy-design="cuban"] .conversation-member {min-width:0; flex:1}
 html[data-academy-design="cuban"] .conversation-member small {max-width:100%; white-space:normal; font-size:11px}
 html[data-academy-design="cuban"] .messages-workspace #chat-history {height:auto; min-height:0; padding:28px 12px 14px; gap:24px}
 html[data-academy-design="cuban"] .messages-workspace #chat-composer {padding:9px 10px calc(10px + env(safe-area-inset-bottom))}
 html[data-academy-design="cuban"] .messages-workspace #chat-composer textarea {min-height:48px; max-height:110px; resize:none; font-size:16px!important}
 html[data-academy-design="cuban"] .messages-workspace #chat-composer .composer-toolbar {display:flex; align-items:center; flex-wrap:wrap; gap:3px; padding:4px 0 0}
 html[data-academy-design="cuban"] .messages-workspace #chat-composer .composer-toolbar>button:not(.btn) {width:38px; height:38px}
 html[data-academy-design="cuban"] .messages-workspace #chat-composer .composer-toolbar>.btn {margin-left:auto; min-height:40px; padding:9px 12px}
 html[data-academy-design="cuban"] .messages-workspace #chat-jump-latest {right:15px; bottom:148px}
 html[data-academy-design="cuban"] :is(#chat-typing,.chat-load-status) {padding-inline:12px; font-size:11px}
 html[data-academy-design="cuban"] .chat-message {max-width:88%; font-size:15px!important}
 html[data-academy-design="cuban"] .chat-message .message-body {padding:12px 13px}
 html[data-academy-design="cuban"] .message-inline-editor {min-width:0}
 html[data-academy-design="cuban"] .chat-message>.reaction-popover {width:min(260px,calc(100vw - 56px))}
}
