.tbt-catalog form,.tbt-tickets { max-width: 960px; padding: 1.25rem; background: #fff; border: 1px solid #ccd0d4; margin: 1rem 0; }
.tbt-catalog label { display: block; margin: .75rem 0; }
.tbt-catalog label span { display: block; font-weight: 600; margin-bottom: .25rem; }
.tbt-catalog input:not([type=checkbox]),.tbt-catalog select,.tbt-catalog textarea { max-width: 100%; min-width: 14rem; }
.tbt-catalog fieldset { border: 1px solid #ccd0d4; padding: .75rem; margin: .75rem 0; }
.tbt-catalog legend { font-weight: 600; }
.tbt-catalog button,.tbt-catalog a.button { margin: .35rem .5rem .35rem 0; }
.tbt-catalog [role=alert] { border-left: 4px solid #b32d2e; padding: .75rem; background: #fff; }
.tbt-catalog details { margin: .75rem 0; }
.tbt-catalog output { display: block; white-space: pre-wrap; margin: .75rem 0; }
.tbt-tickets button:disabled { opacity: .75; cursor: not-allowed; }
.tbt-tickets .tbt-product { display:flex; justify-content:flex-start; align-items:end; gap:1.5rem; }
.tbt-tickets .tbt-product + .tbt-product { border-top:1px solid #dcdcde; }
.tbt-tickets .tbt-product h3,.tbt-tickets .tbt-product p { margin:.3rem 0; }
.tbt-tickets .tbt-product-details { flex:0 1 28rem; }
.tbt-tickets .tbt-product-control { flex:0 0 8rem; }
.tbt-tickets .tbt-product-control label { display:grid; gap:.35rem; font-weight:600; }
.tbt-tickets .tbt-product-control select { width:100%; min-height:44px; padding:.55rem; }
.tbt-tickets .tbt-checkout { margin-top:1rem; padding-top:1rem; border-top:1px solid #ccc; }
.tbt-tickets .tbt-checkout label { display:grid; gap:.4rem; margin:.75rem 0; font-weight:600; }
.tbt-tickets .tbt-purchaser { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.tbt-tickets .tbt-attendee-group { margin:1rem 0; padding:1rem 0; border:0; border-top:1px solid #dcdcde; }
.tbt-tickets .tbt-attendee-group legend { padding:0 .65rem 0 0; font-size:1.05rem; font-weight:700; }
.tbt-tickets .tbt-attendee-field { max-width:32rem; }
.tbt-tickets .tbt-checkout input,.tbt-tickets .tbt-checkout select { box-sizing:border-box; width:100%; max-width:100%; min-height:44px; padding:.65rem .75rem; border:1px solid #8c8f94; border-radius:4px; background:#fff; }
.tbt-tickets .tbt-checkout input:focus,.tbt-tickets .tbt-checkout select:focus { border-color:#2271b1; outline:2px solid #72aee6; outline-offset:1px; }
.tbt-tickets .tbt-checkout button { padding:.7rem 1.1rem; cursor:pointer; }
.tbt-tickets .tbt-checkout-message:not(:empty) { padding:.75rem; border-left:4px solid currentColor; }
.tbt-tickets .tbt-stripe { min-height:420px; margin-top:1rem; }
.tbt-event-summary { margin:1rem 0; }
.tbt-event-summary-image { display:block; width:auto; max-width:100%; height:auto; margin:0 auto 1.25rem; }
.tbt-event-summary-standard .tbt-event-summary-image { max-width:min(100%,760px); }
.tbt-event-summary-wide .tbt-event-summary-image { width:100%; }
.tbt-event-summary dl { display:flex; flex-wrap:wrap; gap:.75rem 2rem; margin:0; }
.tbt-event-summary dl div { min-width:min(100%,12rem); }
.tbt-event-summary dt { font-weight:600; }
.tbt-event-summary dd { margin:0; }
.tbt-refund-policy { margin-top:1.5rem; padding-top:.85rem; border-top:1px solid #dcdcde; color:#50575e; font-size:.94rem; }
.tbt-refund-policy summary { cursor:pointer; color:#2c3338; font-weight:600; }
.tbt-refund-policy p { max-width:68ch; }
.tbt-tickets { box-sizing:border-box; }
.tbt-tickets.tbt-tickets-center { margin-inline:auto; text-align:left; }
.tbt-tickets .tbt-product { padding:1rem 0; }
.tbt-tickets .tbt-product-price { font-size:1.3rem; font-weight:700; }
.tbt-tickets .tbt-admission-count,.tbt-tickets .tbt-help { color:#50575e; font-size:.92rem; }
.tbt-tickets .tbt-contribution { margin:1rem 0; }
.tbt-tickets .tbt-contribution label { display:flex; align-items:flex-start; gap:.55rem; font-weight:600; }
.tbt-tickets .tbt-contribution input { flex:0 0 auto; width:18px; min-height:18px; margin-top:.15rem; }
.tbt-tickets .tbt-contribution .tbt-help { margin:.25rem 0 0 1.5rem; }
.tbt-tickets .tbt-checkout-fields { display:grid; gap:.5rem; }
.tbt-tickets .tbt-checkout-primary { border:0; border-radius:4px; background:#135e96; color:#fff; font-weight:700; min-height:46px; margin-top:.5rem; padding:.75rem 1.35rem; }
.tbt-tickets .tbt-checkout-primary:hover { background:#0a4b78; }
.tbt-tickets .tbt-checkout-primary:focus-visible { outline:3px solid #72aee6; outline-offset:2px; }
.tbt-upcoming-events { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1.5rem; margin:1.75rem 0; }
.tbt-upcoming-event { overflow:hidden; border:1px solid #e0e0e0; border-radius:6px; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.06); }
.tbt-upcoming-image { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.tbt-upcoming-content { padding:1.25rem; }
.tbt-upcoming-content h3 { margin:0 0 .65rem; font-size:1.35rem; }
.tbt-upcoming-content h3 a { color:inherit; text-decoration:none; }
.tbt-upcoming-content h3 a:hover { text-decoration:underline; }
.tbt-upcoming-date,.tbt-upcoming-venue,.tbt-upcoming-state { margin:.4rem 0; }
.tbt-upcoming-state { margin-top:.8rem; color:#135e96; font-weight:700; }
.tbt-upcoming-content .tbt-event-link { display:inline-block; margin-top:.55rem; padding:.6rem 1rem; border-radius:4px; background:#135e96; color:#fff; font-weight:700; text-decoration:none; }
.tbt-upcoming-content .tbt-event-link:hover { background:#0a4b78; color:#fff; }
.tbt-upcoming-content .tbt-event-link:focus-visible { outline:3px solid #72aee6; outline-offset:2px; }
.tbt-upcoming-compact { grid-template-columns:1fr; }
.tbt-upcoming-compact .tbt-upcoming-event { display:grid; grid-template-columns:minmax(220px,40%) 1fr; align-items:stretch; }
.tbt-upcoming-compact .tbt-upcoming-image { height:100%; min-height:230px; }
@media(max-width:600px) { .tbt-upcoming-compact .tbt-upcoming-event { display:block; } .tbt-upcoming-compact .tbt-upcoming-image { height:auto; min-height:0; } }
@media(max-width:600px) { .tbt-tickets .tbt-product { align-items:stretch; flex-direction:column; gap:.75rem; } .tbt-tickets .tbt-product-control { flex-basis:auto; max-width:12rem; } }

.tbt-catalog { max-width: 1120px; }
.tbt-catalog .tbt-lead { font-size: 16px; }
.tbt-catalog .tbt-notice { padding: 16px 20px; background: #eef5fb; border-left: 4px solid #2271b1; margin: 16px 0 24px; }
.tbt-catalog .tbt-warning { background: #fff8e5; border-color: #996800; }
.tbt-catalog .tbt-cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 16px; }
.tbt-catalog .tbt-card { background: #fff; border: 1px solid #c3c4c7; border-radius: 4px; padding: 20px; margin-bottom: 12px; }
.tbt-catalog .tbt-cards .tbt-card { margin: 0; }
.tbt-catalog .tbt-card h2,.tbt-catalog .tbt-card h3 { margin-top: 0; }
.tbt-catalog .tbt-record strong { display: block; font-size: 17px; margin-bottom: 8px; }
.tbt-catalog .tbt-record span { display: block; margin: 8px 0; }
.tbt-catalog form { max-width: 900px; }
.tbt-catalog .tbt-section { padding: 8px 0 20px; border-bottom: 1px solid #dcdcde; margin-bottom: 24px; }
.tbt-catalog .tbt-date { background: #f6f7f7; border-radius: 4px; }
.tbt-catalog .tbt-date-parts { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: end; }
.tbt-catalog .tbt-date-parts label { margin: 4px 0; }
.tbt-catalog .tbt-date-parts select { min-width: 70px; }
.tbt-catalog .tbt-date-parts input { min-width: 90px; width: 90px; }
.tbt-catalog [hidden] { display: none !important; }
.tbt-catalog summary { cursor: pointer; font-weight: 600; padding: 8px 0; }
.tbt-catalog :focus-visible { outline: 2px solid #2271b1; outline-offset: 2px; }
.tbt-catalog [role=status] { border-left: 4px solid #008a20; padding: 12px; background: #fff; }
@media(max-width:600px) {
 .tbt-catalog .tbt-cards { grid-template-columns: 1fr; }
 .tbt-catalog form { padding: 12px; }
 .tbt-catalog .tbt-date { padding: 10px; }
}


.tbt-catalog .tbt-radio { display:flex; gap:8px; align-items:baseline; }
.tbt-catalog .tbt-radio input { min-width:16px; width:16px; flex-shrink:0; }
.tbt-catalog .tbt-radio span { font-weight:400; }


/* Focused Create/Edit Event layout; other organizer screens are unchanged. */
.tbt-catalog .tbt-event-editor { max-width:820px; padding:20px 24px; }
.tbt-event-editor .tbt-section { margin-bottom:16px; padding:0 0 16px; scroll-margin-top:55px; }
.tbt-event-editor .tbt-section h2 { margin:14px 0 10px; }
.tbt-event-editor label { margin:8px 0; }
.tbt-event-editor p { margin:8px 0; max-width:72ch; }
.tbt-event-editor .tbt-event-date { margin:8px 0; }
.tbt-event-editor .tbt-event-date-pair { display:flex; flex-wrap:wrap; gap:12px; }
.tbt-event-editor .tbt-event-date-pair label { margin:4px 0; }
.tbt-event-editor input[type=date] { min-width:155px; width:170px; }
.tbt-event-editor input[type=time] { min-width:125px; width:140px; }
.tbt-event-editor input[type=number] { min-width:90px; width:110px; }
.tbt-event-editor input[type=checkbox] { margin-right:6px; }
.tbt-event-editor label:has(>input[type=checkbox]) { display:flex; align-items:center; gap:6px; }
.tbt-event-editor label:has(>input[type=checkbox]) span { order:1; font-weight:400; margin:0; }
.tbt-event-editor .tbt-refund-level { border-left:3px solid #dcdcde; padding:2px 12px; margin:12px 0; }
.tbt-event-editor fieldset { border:0; padding:0; margin:8px 0; }
.tbt-event-editor details { margin:8px 0; }
.tbt-event-editor details summary { font-weight:500; padding:4px 0; }
.tbt-event-editor .button-primary { min-height:36px; padding:0 18px; }
@media(max-width:600px) {
 .tbt-catalog .tbt-event-editor { padding:14px; }
 .tbt-event-editor .tbt-event-date-pair { gap:8px; }
 .tbt-event-editor input[type=date] { min-width:140px; width:145px; }
 .tbt-event-editor input[type=time] { min-width:105px; width:115px; }
}


.tbt-event-editor input[name=name], .tbt-event-editor input[name=venue] { width:100%; max-width:480px; }


.tbt-event-editor .tbt-radio input { width:18px; min-width:18px; height:18px; }


/* Events management only: compact native-style rows and list controls. */
.tbt-events-list h1 { display:inline-block; margin-right:12px; }
.tbt-events-list .subsubsub { float:none; display:flex; flex-wrap:wrap; gap:14px; margin:12px 0; }
.tbt-events-list .subsubsub .current { font-weight:600; color:#1d2327; }
.tbt-catalog .tbt-event-search { display:flex; flex-wrap:wrap; align-items:end; gap:8px 16px; padding:0; border:0; background:none; max-width:none; }
.tbt-event-search label { margin:0; }
.tbt-events-list [role=status] { border:0; background:none; padding:0; }
.tbt-events-table-wrap { max-width:100%; overflow-x:auto; }
.tbt-events-list table { min-width:740px; }
.tbt-events-list th:first-child { width:27%; }
.tbt-events-list td,.tbt-events-list tbody th { padding:12px 10px; vertical-align:top; }
.tbt-events-list .row-title { font-size:14px; }
.tbt-events-list .row-actions { display:flex; flex-wrap:wrap; gap:6px 12px; position:static; }
.tbt-events-list .row-actions button { margin:0; text-align:left; }
.tbt-events-list td p { margin:4px 0; }
.tbt-event-pagination { display:flex; align-items:center; gap:12px; height:auto; }


@media(max-width:782px) {
 /* Keep this five-column table intact inside its horizontal scroll container;
    WordPress's list-table mobile rule assumes a different column-primary DOM. */
 #tbt-admin.tbt-events-list .tbt-event-table tbody tr.tbt-event-row > td,
 #tbt-admin.tbt-events-list .tbt-event-table tbody tr.tbt-event-row > th {
  display:table-cell !important; padding:12px 10px !important;
 }
}




/* Only the Events landing list uses the full native admin content width. */
.wrap.tbt-catalog:has(> #tbt-admin.tbt-events-list) { max-width:none; }


/* Tickets & Bundles only. Keep all other organizer screens unchanged. */
.wrap.tbt-catalog:has(> #tbt-admin.tbt-products-list) { max-width:none; }
.tbt-products-list h1 { display:inline-block; margin-right:12px; }
.tbt-products-list .page-title-action { margin-right:8px; }
.tbt-catalog .tbt-product-search { display:flex; flex-wrap:wrap; gap:12px; align-items:end; max-width:none; padding:0; border:0; background:none; }
.tbt-product-search label { margin:0; }
.tbt-product-table-wrap { max-width:100%; overflow-x:auto; }
.tbt-product-table { min-width:900px; }
.tbt-product-table th:first-child { width:23%; }
.tbt-product-table th:nth-child(2) { width:8%; }
.tbt-product-table th:nth-child(3) { width:25%; }
.tbt-product-table td,.tbt-product-table tbody th { padding:12px 10px; vertical-align:top; }
.tbt-product-table .row-title { font-size:14px; }
.tbt-product-table .row-actions { position:static; }
.tbt-product-pagination { display:flex; align-items:center; gap:12px; }
.tbt-catalog .tbt-ticket-editor { max-width:820px; padding:20px 24px; }
.tbt-ticket-editor .tbt-section { margin-bottom:16px; padding:0 0 16px; scroll-margin-top:55px; }
.tbt-ticket-editor .tbt-section h2 { margin:14px 0 10px; }
.tbt-ticket-editor .tbt-event-date-pair { display:flex; flex-wrap:wrap; gap:12px; }
.tbt-ticket-editor input[type=date] { width:170px; min-width:145px; }
.tbt-ticket-editor input[type=time] { width:140px; min-width:115px; }
.tbt-ticket-editor input[type=number] { width:110px; min-width:90px; }
.tbt-ticket-editor input[name=name] { width:100%; max-width:480px; }
.tbt-ticket-editor label:has(>input[type=checkbox]) { display:flex; align-items:center; gap:8px; }
.tbt-ticket-editor label:has(>input[type=checkbox]) span { order:1; font-weight:400; margin:0; }
.tbt-ticket-editor input[type=checkbox] { flex-shrink:0; }
.tbt-components { max-height:360px; overflow-y:auto; border:1px solid #dcdcde; padding:8px 12px; }
.tbt-component { padding:4px 0; border-bottom:1px solid #f0f0f1; }
.tbt-component:has(input[type=checkbox]:checked) { background:#f6f7f7; }
@media(max-width:600px) { .tbt-catalog .tbt-ticket-editor { padding:14px; } }


/* Specific ticket-tier bundle composition. */
.tbt-component-event { border:0; border-bottom:1px solid #dcdcde; padding:8px 0 12px; }
.tbt-component-event:last-child { border-bottom:0; }
.tbt-component-event h3 { margin:4px 0 8px; }
.tbt-bundle-review { margin:12px 0; padding:8px 12px; }
.tbt-product-row td:nth-child(3) div { margin-bottom:4px; }


/* Promotions organizer workflow only. */
.wrap.tbt-catalog:has(> #tbt-admin.tbt-promotions-list) { max-width:none; }
.tbt-promotions-list h1 { display:inline-block; margin-right:12px; }
.tbt-catalog .tbt-promotion-search { display:flex; flex-wrap:wrap; align-items:end; gap:8px 16px; max-width:none; padding:0; border:0; background:none; }
.tbt-promotion-search label { margin:0; }
.tbt-promotion-table-wrap { max-width:100%; overflow-x:auto; }
.tbt-promotion-table { min-width:850px; }
.tbt-promotion-table th:first-child { width:15%; }
.tbt-promotion-table th:nth-child(3) { width:35%; }
.tbt-promotion-table td,.tbt-promotion-table tbody th { padding:12px 10px; vertical-align:top; }
.tbt-promotion-table .row-title { font-size:14px; }
.tbt-promotion-table .row-actions { position:static; }
.tbt-promotion-pagination { display:flex; align-items:center; gap:12px; }
.tbt-catalog .tbt-promotion-editor { max-width:820px; padding:20px 24px; }
.tbt-promotion-editor .tbt-section { margin-bottom:16px; padding:0 0 18px; scroll-margin-top:55px; }
.tbt-promotion-editor .tbt-section h2 { margin:14px 0 10px; }
.tbt-promotion-editor input[type=number] { width:120px; min-width:90px; }
.tbt-promotion-editor input[name=code],.tbt-promotion-editor input[type=email] { width:100%; max-width:480px; }
.tbt-promotion-editor .tbt-event-date-pair { display:flex; flex-wrap:wrap; gap:12px; }
.tbt-promotion-editor input[type=date] { width:170px; min-width:145px; }
.tbt-promotion-editor input[type=time] { width:140px; min-width:115px; }
.tbt-promotion-editor label:has(>input[type=checkbox]) { display:flex; align-items:center; gap:8px; }
.tbt-promotion-editor label:has(>input[type=checkbox]) span { order:1; font-weight:400; margin:0; }
.tbt-choice-selector { margin:12px 0; }
.tbt-choice-selector > h3 { margin:8px 0; }
.tbt-selector-tools { display:flex; flex-wrap:wrap; align-items:end; gap:8px 12px; }
.tbt-selector-tools label { margin:0; }
.tbt-selector-list { max-height:320px; overflow-y:auto; border:1px solid #dcdcde; padding:8px 12px; background:#fff; }
.tbt-selector-list h4 { margin:10px 0 4px; position:sticky; top:-8px; background:#f6f7f7; padding:6px; z-index:1; }
.tbt-selector-row { border-bottom:1px solid #f0f0f1; padding:2px 4px; }
.tbt-selector-row:last-child { border-bottom:0; }
@media(max-width:600px) { .tbt-catalog .tbt-promotion-editor { padding:14px; } }

/* Settings remains a concise sitewide configuration form. */
.tbt-catalog .tbt-settings-editor { max-width:720px; padding:20px 24px; }
.tbt-settings-editor .tbt-section { margin-bottom:16px; padding:0 0 18px; }
.tbt-settings-editor .notice.inline { margin:12px 0; padding:8px 12px; max-width:64ch; }
@media(max-width:600px) { .tbt-catalog .tbt-settings-editor { padding:14px; } }

/* WordPress-native full-width management indexes; details remain readable. */
.wrap.tbt-catalog.tbt-index-screen { max-width:none; }
.tbt-index-screen .tbt-index-search { display:flex; flex-wrap:wrap; align-items:end; gap:8px; max-width:none; padding:0; border:0; background:none; }
.tbt-index-search label { font-weight:600; margin:0; }
.tbt-index-search input { width:min(560px,100%); }
.tbt-index-table { max-width:100%; overflow-x:auto; }
.tbt-index-screen table { min-width:800px; }
.tbt-order-detail,.tbt-admission-detail { max-width:900px; }
.tbt-catalog .tbt-compact-action { display:inline-block; max-width:none; padding:0; border:0; background:none; margin:4px 0 12px; }
.tbt-admission-detail form { max-width:680px; }
.tbt-saved-state { color:#006b1b; font-weight:600; margin-top:-6px; }
.tbt-logo-state { display:flex; gap:12px; align-items:center; margin:10px 0; }
.tbt-logo-state img { width:80px; height:80px; object-fit:contain; background:#fff; border:1px solid #c3c4c7; }
.tbt-email-preview-dialog { width:min(680px,calc(100% - 32px)); padding:0; border:0; border-radius:6px; box-shadow:0 8px 40px rgba(0,0,0,.35); }
.tbt-email-preview-dialog::backdrop { background:rgba(0,0,0,.55); }
.tbt-email-message { margin:20px; padding:28px; border:1px solid #dcdcde; background:#fff; }
.tbt-email-preview-dialog > .button { margin:0 20px 20px; }
.tbt-test-result.notice { padding:10px 12px; margin:12px 0; }

/* Stage 6 lifecycle operations: full-width index with contained mobile forms. */
.wrap.tbt-catalog.tbt-lifecycle-screen { max-width:none; }
.tbt-lifecycle-screen .tbt-card form { box-sizing:border-box; width:100%; padding:0; border:0; }
.tbt-lifecycle-screen .tbt-card input:not([type=checkbox]),.tbt-lifecycle-screen .tbt-card select,.tbt-lifecycle-screen .tbt-card textarea { box-sizing:border-box; width:100%; min-width:0; }
.tbt-lifecycle-screen .tbt-card { min-width:0; overflow-wrap:anywhere; }
@media(max-width:600px) { .tbt-lifecycle-screen { overflow-x:hidden; } .tbt-lifecycle-screen .tbt-card { padding:14px; } }
