/* Extend FikaTicket's type, ink, orange and lime palette across every flow. */
.org-tools-form { display: grid; gap: 1.4rem; }
.org-tool-collection + .org-tool-collection { border-top: 1px solid var(--line); padding-top: 1.5rem; }
.org-tool-collection .section-head { align-items: center; gap: 1rem; flex-wrap: wrap; }
.org-tool-collection .section-head h3 { margin: 0; }
.org-tool-row { min-width: 0; padding: 1.25rem; margin: 1rem 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.org-tool-row legend { font-weight: 800; padding: 0 .4rem; }
.org-tool-row > .field, .org-tool-row > .checkbox { margin: .9rem 0; }
.org-tool-row > .button { margin-top: 1rem; font-size: .8rem; }
.org-choice-list { min-width: 0; padding: 1rem; border: 1px solid var(--line); margin: 1rem 0; display: grid; gap: .75rem; }
.org-choice-list legend { font-size: .85rem; }
.org-choice-list .checkbox { margin: 0; }
.org-tool-save { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; border-top: 1px solid var(--line); padding-top: 1.25rem; }
.org-tool-save p { margin: 0; }
.org-sharing { margin-top: 1.5rem; }
.org-sharing h2 { font-size: clamp(1.8rem,3vw,2.7rem); }
.org-sharing textarea[readonly] { min-height: 6rem; font-size: .85rem; overflow-wrap: anywhere; }
.org-sharing form { display: grid; gap: 1rem; }
.org-work .api-table small { display: block; color: var(--muted); }
.org-tool-collection [data-tool-list]:empty::after { content: "No items yet. Add one above, then save your changes."; display: block; padding: 1.5rem 0; color: var(--muted); }
.site-header { gap: 1rem; }
.primary-nav { flex-wrap: wrap; }
.primary-nav a { font-size: .875rem; padding-inline: .6rem; }
.demo-tag { font-size: .75rem; }
.field-stack { display: grid; gap: 1rem; }
.field-stack .field { margin: 0; }
.field-stack > .button { justify-self: start; }
.field-grid > *, .discovery-results, .org-work, .detail-grid > *, .builder-layout > * { min-width: 0; }
.home-extra-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.25rem; }
.home-extra-filters select { border: 1px solid #565650; background: #22221e; color: white; font-size: .875rem; }
.home-refine > summary { min-height: 44px; padding: .7rem 0; cursor: pointer; font-size: .875rem; font-weight: 700; }
.home-refine:not([open]) .quick-filters, .home-refine:not([open]) .home-extra-filters { display: none; }
.format-strip { padding: 3rem 5vw 4rem; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; background: var(--lime); }
.format-strip h2 { max-width: 13ch; font-size: clamp(2rem,4vw,4rem); }
.format-links { display: grid; align-content: center; }
.format-links a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--ink); font-weight: 700; text-decoration: none; }
.discover-page { width: min(1380px,calc(100% - 3rem)); }
.discover-page h1 { font-size: clamp(2.8rem,6vw,5rem); }
.discover-page .discovery-layout { grid-template-columns: 250px minmax(0,1fr); gap: 2rem; }
.discover-page .filters { position: static; align-self: start; padding: 1.25rem; border: var(--surface-border); border-radius: var(--radius); background: var(--white); }
.discover-page .filters .section-head { align-items: center; margin: 0; }
.discover-page .filters h2 { font-size: 1.5rem; margin: 0; }
.discover-page .filters .field { margin-top: 1rem; }
.filter-disclosure { min-width: 0; position: sticky; top: 1rem; }
.filter-disclosure > summary { min-height: 44px; padding: .75rem 1rem; border: var(--surface-border); border-radius: var(--radius); background: var(--white); cursor: pointer; font-weight: 800; }
.filter-disclosure .filters { position: static; margin-top: .5rem; }
.filter-disclosure:not([open]) > .filters { display: none; }
.filter-clear { text-align: right; }
.filter-clear a { font-size: .875rem; }
.filters .section-head a { font-size: .875rem; }
.filters details { margin-top: 1rem; font-size: .875rem; }
.filters summary, .feature-panel summary { cursor: pointer; font-weight: 700; padding: .5rem 0; }
.discovery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.discovery-grid .event-card { min-width: 0; border-radius: var(--radius); }
.discovery-grid .event-card h3 { font-size: 1.35rem; }
.discovery-grid .event-card-art { height: 170px; }
.discovery-grid .event-card-art .art-word { font-size: 2.8rem; }
.discovery-grid .event-card-body { padding: 1.1rem; }
.event-type, .date-tile span { font-size: .75rem; }
.event-card-art:has(.event-artwork) .art-word, .event-card-art:has(.event-artwork) .art-number, .event-card-art:has(.event-artwork)::before { display: none; }
.event-card-art .event-artwork { position: absolute; inset: 0; }
.active-filters { margin-bottom: 1rem; }
.button.filter-pill { padding: .35rem .7rem; min-height: 2.25rem; border: 1px solid var(--line); border-radius: 30px; box-shadow: none; font-size: .875rem; background: white; color: var(--ink); }
.button.filter-pill:hover { border-color: var(--ink); background: var(--paper); }
.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 2rem 0; }
.page-number { border-radius: var(--radius); display: grid; place-items: center; min-width: 2.75rem; min-height: 2.75rem; padding: .5rem .8rem; border: 1px solid var(--line); text-decoration: none; }
.page-number.selected { background: var(--ink); color: white; }
.detail-tabs { display: flex; gap: 1.5rem; padding-bottom: 1rem; margin-bottom: 2rem; border-bottom: 1px solid var(--line); }
.detail-tabs a { font-weight: 700; font-size: .875rem; }
.venue-address { font-weight: 700; text-underline-offset: .2em; }
.venue-map { display: block; width: 100%; height: clamp(15rem, 35vw, 22rem); margin: 1rem 0; border: 1px solid var(--line); border-radius: var(--radius); }
.schedule-picker, .extras-card { padding: 1rem 0 1.5rem; margin-bottom: 1rem; border-bottom: 1px solid var(--line); }
.schedule-picker select { font-size: .875rem; }
.seat-stage { text-align: center; background: var(--ink); color: white; padding: .6rem; margin: 1.25rem 0; letter-spacing: .25em; font-size: .875rem; }
.seat-grid { display: grid; grid-template-columns: repeat(var(--seat-columns),minmax(0,1fr)); gap: .3rem; }
#seat-picker { overflow-x: auto; }
.seat-grid { min-width: calc(var(--seat-columns) * 2.95rem); }
.seat-map-controls { display: flex; flex-wrap: wrap; gap: .4rem; padding: .5rem 0 1rem; }
.seat-map-controls .button { box-shadow: none; padding: .4rem .6rem; font-size: .875rem; }
#seat-picker:fullscreen { padding: 2rem; background: var(--paper); overflow: auto; }
.calendar-heading { display: flex; justify-content: space-between; align-items: center; gap: .5rem; margin-top: 1rem; }
.calendar-heading .button { min-height: 2.5rem; padding: .3rem .7rem; box-shadow: none; }
.calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: .2rem; margin: 1rem 0; }
.calendar-grid button { min-height: 2.5rem; padding: .2rem; background: white; border: 1px solid var(--ink); border-radius: var(--radius); cursor: pointer; font-size: .875rem; }
.calendar-grid button:disabled { border-color: transparent; background: transparent; color: #82827b; cursor: default; }
.calendar-grid button[aria-pressed="true"], .session-times button[aria-pressed="true"] { background: var(--lime); color: var(--ink); }
.calendar-weekday { text-align: center; font-size: .75rem; padding-bottom: .5rem; }
.session-times { display: flex; flex-wrap: wrap; gap: .5rem; }
.session-times .button { box-shadow: none; }
.seat { min-height: 2.75rem; min-width: 0; padding: .25rem; border: 1px solid var(--ink); border-radius: 5px 5px 2px 2px; background: white; cursor: pointer; font-size: .875rem; }
.seat.selected { background: var(--lime); box-shadow: inset 0 0 0 2px var(--ink); }
.seat:disabled { background: repeating-linear-gradient(45deg,#ddd 0,#ddd 3px,#eee 3px,#eee 6px); color: #73736c; border-color: #999; cursor: not-allowed; text-decoration: line-through; }
.seat-key { display: flex; gap: .7rem; flex-wrap: wrap; margin: .75rem 0; font-size: .8125rem; }
.extras-card .button-row { margin-top: .75rem; }
.extras-card h3 { font-size: 1.4rem; }
.extras-card .field + .field { margin-top: 1rem; }
.summary-list .notice { padding: .7rem; font-size: .875rem; }
.extras-summary { margin-top: 1rem; }
.buyer-questions { display: grid; gap: 1rem; }
.wallet-pass { padding: 1.5rem; background: var(--lime); border: var(--surface-border); border-radius: var(--radius); margin: 1.5rem 0; }
.resale-card { border-radius: var(--radius); background: var(--white); display: grid; gap: .75rem; padding: 1.25rem; border: 1px solid var(--ink); margin: 1rem 0; }
.resale-card .button { justify-self: start; }
.choice-card:focus-within { outline: 3px solid var(--blue); outline-offset: 3px; }
.choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.org-portal-frame { grid-template-columns: 235px minmax(0,1fr); align-items: start; }
.org-side { position: sticky; top: 0; min-height: 100vh; }
.org-side nav { gap: .1rem; }
.org-side nav a { padding: .65rem .8rem; font-size: .875rem; }
.org-section-toggle { display: none; }
.org-side-foot { display: grid; gap: .25rem; }
.org-work { padding: 2rem clamp(1rem,3vw,3rem); }
.org-topbar h1 { font-size: clamp(2.2rem,4vw,3.4rem); letter-spacing: -.04em; }
.feature-panel { margin-bottom: 1.5rem; }
.feature-panel h2 { font-size: 1.5rem; margin: 0; letter-spacing: -.03em; }
.feature-panel > .field-stack { margin-top: 1.5rem; }
.feature-panel .button, .data-table .button { box-shadow: none; font-size: .875rem; min-height: 2.75rem; padding: .55rem .8rem; }
.org-panel-head { gap: 1rem; flex-wrap: wrap; }
.org-kpis { grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); }
.org-kpi strong { font-size: clamp(1.8rem,2.5vw,2.6rem); overflow-wrap: anywhere; }
.org-kpi span, .org-kpi small { font-size: .875rem; }
.portal-shortcuts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.shortcut-card { border-radius: var(--radius); padding: 1rem; border: 1px solid var(--ink); border-left: 5px solid var(--orange); background: white; font-weight: 700; text-decoration: none; }
.shortcut-card:hover { background: var(--lime); }
.event-context { padding: 1rem 0 1.5rem; display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; }
.event-context .field { width: min(30rem,100%); }
.event-context select { background: white; font-weight: 700; }
.table-scroll { width: 100%; overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; text-align: left; font-size: .875rem; }
.data-table th { background: #f0f0eb; font-weight: 700; white-space: nowrap; }
.data-table th, .data-table td { padding: 1rem .75rem; border-bottom: 1px solid var(--line); vertical-align: middle; }
.data-table td { overflow-wrap: anywhere; }
.data-table td small { display: block; color: var(--muted); margin-top: .3rem; font-size: .8125rem; }
.data-table .button-row { flex-wrap: wrap; min-width: 6rem; }
.data-table .status-pill { white-space: nowrap; }
.portal-event-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.event-management-card { overflow: hidden; padding: 0; }
.mini-poster { padding: 1.25rem 1.5rem; font: 800 2.8rem/1 var(--font-display); letter-spacing: -.06em; min-height: 110px; display: flex; align-items: end; }
.event-management-body { padding: 1.5rem; }
.event-management-body h2 { margin: 1rem 0; font-size: 1.8rem; }
.event-management-body > .button, .event-management-body > a { margin-top: 1rem; display: inline-flex; }
.inline-search { display: flex; align-items: end; gap: .75rem; margin-bottom: 1.5rem; }
.inline-search .field { flex: 1; }
.sales-bars { display: grid; gap: 1rem; }
.sales-bars > div { display: grid; grid-template-columns: 7rem 1fr 7rem; align-items: center; gap: 1rem; font-size: .875rem; }
.sales-bars progress { width: 100%; accent-color: var(--orange); height: 1.5rem; }
.sales-bars strong { text-align: right; }
.message-preview { white-space: pre-wrap; overflow-wrap: anywhere; font: 1rem/1.6 var(--font-body); border: 1px solid var(--line); padding: 1.25rem; background: white; }
.form-feedback { color: #a22c18; overflow-wrap: anywhere; }
.form-feedback:empty { display: none; }
.refund-review { border-top: 1px solid var(--line); margin-top: 1.5rem; padding-top: 1.5rem; }
.builder-heading { margin: 2rem 0; max-width: 850px; }
.builder-heading h1 { font-size: clamp(2.5rem,5vw,4.5rem); }
.builder-layout { display: grid; grid-template-columns: 1.5fr 1fr; gap: 1.5rem; align-items: start; }
.builder-layout h2 { margin: 1rem 0 .25rem; font-size: 1.4rem; }
.builder-layout h2:first-child { margin-top: 0; }
.builder-layout .field-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.builder-ticket-list { display: grid; gap: 1rem; }
.builder-ticket-row { position: relative; min-width: 0; margin: 0; padding: 1rem; display: grid; gap: 1rem; border: 1px solid var(--line); border-radius: var(--radius); }
.builder-ticket-row legend { padding: 0 .35rem; font-weight: 800; }
.builder-ticket-row .field { margin: 0; }
.builder-ticket-remove { position: absolute; top: .75rem; right: 1rem; font: inherit; }
.fee-switch-field { display: grid; gap: .65rem; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); cursor: pointer; }
.fee-switch-title { font-size: .9rem; font-weight: 800; }
.fee-switch-control { display: flex; align-items: center; gap: .75rem; }
.fee-switch-no, .fee-switch-yes { font-size: .9rem; }
.fee-switch-no { font-weight: 800; }
.fee-switch-yes { color: var(--muted); }
.fee-switch-field:has(input:checked) .fee-switch-no { color: var(--muted); font-weight: 500; }
.fee-switch-field:has(input:checked) .fee-switch-yes { color: var(--ink); font-weight: 800; }
.fee-switch-widget { position: relative; display: inline-block; flex: 0 0 3.5rem; width: 3.5rem; height: 2rem; }
.fee-switch-widget input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; opacity: 0; cursor: pointer; }
.fee-switch-track { position: absolute; inset: 0; border: 2px solid var(--ink); border-radius: 99px; background: #d3d3ca; transition: background-color .15s ease; }
.fee-switch-track::after { content: ""; position: absolute; top: .2rem; left: .2rem; width: 1.35rem; height: 1.35rem; border-radius: 50%; background: var(--white); box-shadow: 0 1px 3px #0005; transition: transform .15s ease; }
.fee-switch-widget input:checked + .fee-switch-track { background: var(--lime); }
.fee-switch-widget input:checked + .fee-switch-track::after { transform: translateX(1.5rem); }
.fee-switch-widget input:focus-visible + .fee-switch-track { outline: 3px solid var(--blue); outline-offset: 3px; }
.fee-switch-field small { color: var(--muted); line-height: 1.4; }
.fee-switch-rule { margin: -.25rem 0 .5rem; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.editor-preview { min-height: 160px; padding: 1.5rem; display: flex; align-items: end; font: 800 2.5rem/1 var(--font-display); overflow-wrap: anywhere; }
.artwork-editor { display: grid; gap: .75rem; min-width: 0; }
.artwork-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.artwork-heading > span { color: var(--muted); font-size: .75rem; }
.artwork-preview { position: relative; aspect-ratio: 4 / 3; width: 100%; overflow: hidden; border: 2px dashed #a8a79e; border-radius: var(--radius); background: #f8f7f3; }
.artwork-preview.has-image { border: 2px solid var(--ink); background: var(--artwork-color); }
.artwork-preview.is-dragging { border-color: var(--ink); border-style: solid; outline: 3px solid var(--orange); outline-offset: 3px; }
.artwork-preview img, .artwork-preview canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.artwork-placeholder { position: absolute; inset: 0; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; padding: 1.5rem; border: 0; background: transparent; color: var(--ink); text-align: center; cursor: pointer; }
.artwork-placeholder:hover { background: #eeede7; }
.artwork-placeholder:focus-visible { outline: 3px solid var(--ink); outline-offset: -6px; }
.artwork-placeholder svg { color: var(--muted); }
.artwork-placeholder strong { font-size: 1.1rem; }
.artwork-placeholder span { color: var(--muted); font-size: .85rem; }
.artwork-file-name { margin: 0; font-size: .85rem; overflow-wrap: anywhere; }
.artwork-hint { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.artwork-editor [data-artwork-error]:empty, .artwork-editor [data-artwork-status]:empty { display: none; }
.artwork-preview [hidden], .artwork-crop[hidden] { display: none; }
.artwork-crop { display: grid; gap: .65rem; padding: 1rem; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); }
.artwork-crop p { margin: 0; }
.artwork-crop > button { justify-self: start; }
.artwork-preview canvas { cursor: grab; touch-action: none; }
.artwork-preview canvas:active { cursor: grabbing; }
.artwork-preview canvas:focus-visible { outline: 3px solid var(--ink); outline-offset: -6px; }
.artwork-crop input[type="range"] { width: 100%; }
.modal:has(.artwork-event-preview) { width: min(1120px,calc(100% - 2rem)); }
.artwork-event-preview .event-intro h3 { font-size: clamp(2rem,4vw,3.5rem); overflow-wrap: anywhere; }
.artwork-event-preview .event-intro { min-width: 0; overflow-wrap: anywhere; }
.artwork-preview-return { margin-top: 1.5rem; }
.mini-poster { position: relative; overflow: hidden; }
.mini-poster img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.org-event-name { display: inline-flex; align-items: center; gap: .75rem; }
.org-event-name img, .org-event-name-fallback { width: 3.5rem; height: 3.5rem; flex: 0 0 auto; object-fit: cover; border: 1px solid var(--ink); }
.org-event-name-fallback { display: grid; place-items: center; background: var(--orange); font: 800 1.5rem/1 var(--font-display); }
.capability-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--ink); gap: 1.5rem; }
.capability-grid article { padding-top: 1.5rem; }
.event-artwork { width: 100%; height: 100%; object-fit: cover; }
.event-poster:has(.event-artwork) { position: relative; padding: 0; }
.event-poster .event-artwork { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; }
@media (max-width: 980px) {
  .event-poster:has(.event-artwork) { min-height: 0; aspect-ratio: 4 / 3; }
}
.field input[type="file"] { font-size: .875rem; }
.organiser-access-card > .button { margin-bottom: 1.5rem; }
.tier-group-title { border-bottom: 1px solid var(--line); padding-bottom: .6rem; margin: 1.5rem 0 1rem; }
.seat-grid.custom-map { display: block; min-width: 36rem; }
.venue-surface { position: relative; width: 100%; min-width: 36rem; height: 34rem; background: #f5f5ef; border: 1px solid var(--line); border-radius: var(--radius); }
.venue-seat { position: absolute; transform: translate(-50%,-50%); width: 2.8rem; height: 2.8rem; z-index: 1; }
.venue-table { position: absolute; transform: translate(-50%,-50%); width: 6rem; height: 6rem; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--ink); background: var(--paper); font-size: .875rem; text-align: center; }
.venue-surface.editable { background-image: radial-gradient(#c6c6bd 1px,transparent 1px); background-size: 16px 16px; }
.venue-surface.editable .seat { touch-action: none; cursor: grab; }
.venue-surface.editable .seat:active { cursor: grabbing; }
.venue-seat.blocked { background: #ccc; text-decoration: line-through; }
#modal.venue-dialog { width: min(960px,calc(100vw - 2rem)); max-width: 960px; }
#venue-designer { overflow-x: auto; margin: 1rem 0; }
.public-reviews { padding-top: 2rem; margin-top: 2rem; border-top: 1px solid var(--line); }
.public-reviews article { padding: 1rem 0; border-bottom: 1px solid var(--line); }
#print-ticket-batch { display: none; }
@media print {
  body { background: white; overflow: visible !important; }
  .site-header, .site-footer, .skip-link, .breadcrumb, .button-row, .toast, dialog { display: none !important; }
  .page-narrow { width: 100%; padding: 0; }
  .ticket-pass { box-shadow: none; break-inside: avoid; }
  .org-side, .org-topbar, .event-context, .feature-panel form, .feature-panel .button { display: none !important; }
  .org-portal-frame { display: block; }
  .org-work { padding: 0; }
  body:has(#print-ticket-batch) > * { display: none !important; }
  body > #print-ticket-batch { display: block !important; }
  .printable-ticket { padding: 2rem; border: 2px solid black; break-after: page; }
  .printable-ticket:last-child { break-after: auto; }
}
@media (max-width: 1200px) {
  .discovery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .primary-nav { justify-content: flex-start; }
  .site-header { padding-block: 1rem; align-items: flex-start; }
  .org-portal-frame { grid-template-columns: 205px minmax(0,1fr); }
  .portal-shortcuts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .discover-page .discovery-layout { grid-template-columns: 1fr; }
  .filter-disclosure { position: static; }
  .discover-page .filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
  .filters > .section-head { grid-column: 1/-1; }
  .discover-page .filters .field { margin: 0; }
  .org-portal-frame { grid-template-columns: 1fr; }
  .org-side { position: static; min-height: 0; padding: 1rem; }
  .org-section-toggle { width: 100%; min-height: 3rem; padding: .7rem .85rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border: 1px solid #ffffff70; border-radius: var(--radius); background: transparent; color: white; font: inherit; font-weight: 800; cursor: pointer; }
  .org-section-toggle:focus-visible { outline: 3px solid var(--lime); outline-offset: 3px; }
  .org-side nav { display: flex; flex-wrap: wrap; margin: 1rem 0; }
  .org-side nav:not(.is-open) { display: none; }
  .org-side nav a { white-space: nowrap; }
  .org-side-brand, .org-side-foot, .org-side .org-signout { display: none; }
  .org-topbar { gap: 1rem; }
  .builder-layout { grid-template-columns: 1fr; }
  .capability-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .site-header { align-items: center; gap: .5rem .75rem; padding-block: .75rem; }
  .site-header .primary-nav { overflow: visible; }
  .search-panel > label { margin-bottom: .5rem; }
  .search-panel .demo-note { margin: .75rem 0 0; }
  .format-strip { grid-template-columns: 1fr; gap: .75rem; padding: 2rem 18px; background: var(--paper); }
  .format-strip h2 { max-width: none; font-size: 1.75rem; }
  .format-links a { min-height: 44px; align-items: center; }
  .discovery-grid, .portal-event-grid { grid-template-columns: 1fr; }
  .discover-page { width: calc(100% - 36px); padding-top: 1.5rem; }
  .discover-page h1 { font-size: 2.4rem; }
  .discover-page > .section-head { margin-bottom: 1rem; }
  .discover-page > .section-head > .button { display: none; }
  .discover-page .discovery-layout { gap: 1rem; }
  .results-toolbar { flex-direction: row; align-items: end; gap: .75rem; }
  .results-toolbar h2 { margin: 0; font-size: 1.3rem; }
  .results-toolbar .field { min-width: 0; width: 8.5rem; }
  .results-toolbar select { min-height: 44px; }
  .discovery-grid .event-card-art { height: 128px; }
  .discovery-grid .event-card-body { padding: .9rem; }
  .discover-page .filters { grid-template-columns: 1fr; }
  .home-extra-filters { grid-template-columns: 1fr; gap: .75rem; margin-top: .75rem; }
  .portal-shortcuts { grid-template-columns: 1fr 1fr; gap: .5rem; }
  .shortcut-card { font-size: .875rem; }
  .event-context { flex-direction: column; align-items: stretch; gap: .75rem; }
  .org-topbar { align-items: flex-start; flex-direction: column; }
  .org-work { padding: 1.5rem 1rem; }
  .org-panel { padding: 1rem; }
  .event-management-card { padding: 0; }
  .sales-bars > div { grid-template-columns: 5rem minmax(3rem,1fr) 5rem; gap: .5rem; }
  .seat { font-size: .75rem; }
  .seat-grid { gap: .2rem; }
  .booking-card { padding: 1rem; }
  .capability-grid { grid-template-columns: 1fr; }
  .builder-layout .field-grid { grid-template-columns: 1fr; }
  .inline-search { align-items: stretch; flex-direction: column; }
  .feature-panel .field-grid { grid-template-columns: 1fr; }
  .detail-tabs { gap: 1rem; }
  .event-intro .button-row .button { flex: 1 1 45%; }
}

/* Organiser finance */
.finance-status { white-space: nowrap; text-transform: capitalize; }
.finance-status[data-status="paid"], .finance-status[data-status="free"] { background: var(--green-soft); color: var(--green); }
.finance-status[data-status="failed"], .finance-status[data-status="review"] { background: var(--red-soft); color: var(--red); }
.finance-status[data-status="pending"], .finance-status[data-status="requested"], .finance-status[data-status="processing"] { background: var(--orange-soft); color: var(--warning-text); }
