/* Shared application chrome. Physical ticket canvases and print media retain their own units/colors. */
@media screen and (min-width:900px) {
  #dialog:where(:not(.designer-dialog):not(.seat-editor-dialog):not(.admission-dialog)) {width:min(1180px,calc(100vw - 48px));max-width:calc(100vw - 48px)}
  #dialog .device-list,#dialog .print-list {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(27rem,100%),1fr));gap:1rem}
  #dialog .print-list article {flex-wrap:wrap;gap:.7rem}
  #dialog .print-list article>div {flex:1 1 14rem;min-width:0}
  #dialog #dialog-body:has(>label.field) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem;align-items:start}
  #dialog #dialog-body:has(>label.field)>:not(label.field) {grid-column:1/-1}
  #dialog #dialog-body:has(>label.field)>.field {min-width:0}
  #map-wrap.seatmap-wrap {height:clamp(560px,74dvh,1000px)}
}
@media screen {
  #seatmap .zone-title,#seatmap .altar-label {font-size:calc(19px * var(--map-label-factor,1))}
  #seatmap .row-number {font-size:calc(16px * var(--map-label-factor,1))}
  #seatmap .zone-subtitle,#seatmap .custom-object-label {font-size:calc(16px * var(--map-label-factor,1))}
  :root {
    color-scheme:light; --text-scale:1;
    font-size:calc(112.5% * var(--text-scale));
    --ui-canvas:#f3f5f7; --ui-paper:#ffffff; --ui-soft:#e9eef2;
    --ui-ink:#172b3b; --ui-muted:#394d5e; --ui-line:#667989;
    --ui-focus:#0055aa; --ui-selected:#dcebf8;
    --ui-good-bg:#e0f1e6; --ui-good:#17422c;
    --ui-warn-bg:#fff0cb; --ui-warn:#543600;
    --ui-bad-bg:#ffe8e7; --ui-bad:#741f29;
    --action-bg:#f9a800; --action-ink:#000000;
    --ink:var(--ui-ink); --muted:var(--ui-muted); --line:var(--ui-line); --paper:var(--ui-paper); --canvas:var(--ui-canvas);
    --studio-ink:var(--ui-ink); --studio-muted:var(--ui-muted); --studio-line:var(--ui-line);
    --scan-ink:var(--ui-ink); --scan-muted:var(--ui-muted); --scan-line:var(--ui-line);
  }
  :root[data-scheme=dark] {
    color-scheme:dark;
    --ui-canvas:#101820; --ui-paper:#182630; --ui-soft:#233541;
    --ui-ink:#f3f6f8; --ui-muted:#c8d6e0; --ui-line:#879ba9;
    --ui-focus:#8fc8ff; --ui-selected:#28465f;
    --ui-good-bg:#153e2b; --ui-good:#ddf9e8;
    --ui-warn-bg:#493512; --ui-warn:#fff0c7;
    --ui-bad-bg:#4e2028; --ui-bad:#ffe8ec;
  }
  @media(prefers-color-scheme:dark) {
    :root:not([data-scheme=light]) {
      color-scheme:dark;
      --ui-canvas:#101820; --ui-paper:#182630; --ui-soft:#233541;
      --ui-ink:#f3f6f8; --ui-muted:#c8d6e0; --ui-line:#879ba9;
      --ui-focus:#8fc8ff; --ui-selected:#28465f;
      --ui-good-bg:#153e2b; --ui-good:#ddf9e8;
      --ui-warn-bg:#493512; --ui-warn:#fff0c7;
      --ui-bad-bg:#4e2028; --ui-bad:#ffe8ec;
    }
  }
  :root[data-contrast=high] {--ui-muted:var(--ui-ink);--ui-line:var(--ui-ink)}
  *,*::before,*::after {box-sizing:border-box}
  body,.entry-page,.login-page {background:var(--ui-canvas);color:var(--ui-ink);font-family:"Segoe UI",Arial,sans-serif;font-size:1rem;line-height:1.55}
  :is(button,input,select,textarea) {font:inherit;line-height:1.4}
  :is(h1,h2,h3,h4,p,label,legend,button,a,small,strong,span) {overflow-wrap:break-word}
  :is(input,select,textarea,fieldset) {min-width:0;max-width:100%}
  :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible {
    outline:3px solid var(--ui-focus)!important;outline-offset:3px;box-shadow:0 0 0 6px var(--ui-paper);
  }
  :is(button,[role=button],input,select,textarea,a) {scroll-margin-block:1rem}
  :is(button,.button,.icon-button,.text-button,.secondary-button,.primary-button,.nav-item,.studio-tool,.studio-layer-lock,.studio-panel-close,.appearance-trigger) {
    min-height:44px;min-width:44px;white-space:normal;line-height:1.4;
  }
  :is(button,.button,.field input,.field select,.field textarea,.studio-field input,.studio-field select,.studio-field textarea) {font-size:1rem}
  :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea) {
    background:var(--ui-paper);color:var(--ui-ink);border-color:var(--ui-line);border-radius:.45rem;
    min-height:2.65rem;padding:.65rem .75rem;
  }
  :is(input[type=checkbox],input[type=radio]) {accent-color:var(--ui-focus);flex-shrink:0}
  :is(label:has(input[type=checkbox]),label:has(input[type=radio])) {min-height:44px;cursor:pointer}
  button:disabled {opacity:1;color:var(--ui-muted);background:var(--ui-soft);border-color:var(--ui-line);cursor:not-allowed}
  .primary-button:not(:disabled),.entry-page .primary-button:not(:disabled),.button-gold,.mobile-cart {
    background:var(--action-bg);color:var(--action-ink);border:1px solid currentColor;
  }
  .primary-button:not(:disabled):hover,.button:hover {filter:none;box-shadow:inset 0 0 0 2px currentColor}
  .secondary-button,.icon-button,.text-button,.appearance-trigger,.button-outline,.studio-tool,.studio-layer-lock,.studio-panel-close {
    background:var(--ui-paper);color:var(--ui-ink);border-color:var(--ui-line);font-size:1rem;
  }
  .secondary-button:hover,.icon-button:hover,.text-button:hover,.studio-tool:hover:not(:disabled) {background:var(--ui-soft);color:var(--ui-ink);border-color:var(--ui-line)}
  .text-button,.login-card .security-link,.login-page .quiet-link {
    display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
    min-height:44px;padding:.5rem .8rem;max-width:100%;
    border:1px solid var(--ui-line);border-radius:.6rem;
    background:var(--ui-paper);color:var(--ui-ink);font-size:1rem;font-weight:650;
    line-height:1.4;text-decoration:none;white-space:normal;text-align:center;
  }
  .quiet-link {text-decoration:underline;text-underline-offset:.2em}
  .button-dark {background:var(--ui-ink);color:var(--ui-paper)}
  .brand-descriptor,.wordmark,.event-heading h1,.map-topline h2,.gold-text,.brand-dot,#organizer-name,.entry-header .wordmark,.entry-header .wordmark span {color:var(--ui-ink)}
  :is(.app-header,.entry-header,.map-panel,.cart-panel,.events-panel,.event-option,.reservation-card,.login-card,.entry-card,.feature-grid article,.feature-strip,.entry-event,.entry-empty,.sales-summary>div,dialog,.dialog-actions,.dialog-heading,.studio-topbar,.studio-insert,.studio-viewbar,.studio-statusbar,.studio-layers,.studio-properties,.studio-page-button,.studio-zoom,.studio-object-actions,.admission-toolbar,.admission-input-panel,.admission-result-actions) {
    background:var(--ui-paper);color:var(--ui-ink);border-color:var(--ui-line);
  }
  :is(.field,.dialog-checkbox,.dialog-body-copy,.dialog-caption,.event-description,.event-details,.event-option p,.event-option small,.event-meta,.panel-heading span,.demo-caption,.app-footer,.print-list small,.print-ticket-list small,.device-list small,.cash-entries p,.venue-entry p,.payment-lines small,.cart-item-zone,.cart-item-block,.total-row p,.empty-selection p,.entry-status,.entry-event p,.entry-help,.entry-help strong,.entry-eyebrow,.entry-heading>div>p:last-child,.security-scope small,.security-verify-dialog p,.login-card>p,.login-caption,.login-footer,.eyebrow,.row-choice small) {color:var(--ui-muted);font-size:1rem}
  .event-details,.event-actions,.map-toolbar,.map-topline,.map-actions,.section-heading,.event-heading,.public-header,.public-header nav,.entry-header,.entry-heading {flex-wrap:wrap;min-width:0}
  .event-heading>* {min-width:0}
  .app-header {height:auto;gap:.75rem;padding:1rem clamp(.75rem,2vw,2rem)}
  .main-nav {height:auto;flex-wrap:wrap;gap:.4rem;min-width:0;order:5;width:100%;justify-content:flex-start}
  .main-nav .nav-item {flex:0 1 auto;display:flex;font-size:1rem;padding:.65rem .8rem;color:var(--ui-muted);border-radius:.45rem;height:auto;min-height:44px;gap:.45rem}
  .main-nav .nav-item.active {color:var(--ui-ink);background:var(--ui-selected);box-shadow:inset 0 -3px var(--ui-focus);font-weight:750}
  .main-nav .nav-item span {display:inline}
  .organizer-identity {max-width:min(12rem,100%);flex-shrink:1}
  #organizer-name {font-size:.9rem}
  .view-reset,.nav-count,.count-pill {color:var(--ui-ink);background:var(--ui-soft);border-radius:.35rem}
  .view-reset {border:1px solid var(--ui-line);font-size:1rem;padding:.6rem}
  .view-tools .icon-button {min-width:44px;min-height:44px;flex-shrink:0}
  .church-logo,#entry-logo {background:#fff;border-radius:.3rem;padding:.2rem}
  .app-header .brand {margin-right:auto}
  .app-header>#account {margin-left:0;max-width:100%;overflow-wrap:anywhere}
  .event-heading h1 {font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.25;letter-spacing:-.025em}
  .event-option {min-width:min(16rem,100%);max-width:100%;white-space:normal}
  .event-option.active {background:var(--ui-selected);border:2px solid var(--ui-focus)}
  .event-list {flex-wrap:wrap;overflow:visible}
  .event-tag,.entry-role,.entry-date,.count-badge,.sumup-badge {color:var(--ui-ink);background:var(--ui-soft);border-color:var(--ui-line);font-size:.9rem}
  .count-badge {min-width:1.5rem;height:auto;padding:.1rem .3rem}
  .prototype-notice,.entry-test,.planning-banner,.dialog-note,.pricing-missing,.payment-total,.security-state,.sumup-intro,.batch-summary,.security-login-note {
    background:var(--ui-warn-bg);color:var(--ui-warn);border-color:var(--ui-warn);font-size:1rem;line-height:1.55;overflow-wrap:anywhere;
  }
  .security-state.enabled,.sale-status.paid,.device-status.succeeded {background:var(--ui-good-bg);color:var(--ui-good);border-color:currentColor}
  .sale-status.refunded,.device-status.sent,.device-status.uncertain {background:var(--ui-warn-bg);color:var(--ui-warn);border-color:currentColor}
  .device-status {background:var(--ui-soft);color:var(--ui-ink)}
  .device-status.failed,.dialog-error,.access-error,.entry-card .access-error,.field-validation {
    background:var(--ui-bad-bg);color:var(--ui-bad);border-color:currentColor;font-size:1rem;
  }
  .field-validation {display:block;padding:.55rem .7rem;border-left:3px solid;margin-top:.35rem;line-height:1.5}
  [aria-invalid=true] {border:2px solid var(--ui-bad)!important}
  .change-value {color:var(--ui-good)}
  .map-legend,.sale-legend {background:var(--ui-paper);color:var(--ui-ink);font-size:1rem;gap:1rem;flex-wrap:wrap;line-height:1.5}
  .legend-dot {border-width:2px;border-color:currentColor}
  .seatmap-wrap {background:var(--ui-paper)}
  .seatmap .row-number,.seatmap .zone-title,.seatmap .zone-subtitle,.seatmap .altar-label {fill:var(--ui-ink)}
  #seatmap .row-number,#seatmap .zone-title,#seatmap .zone-subtitle {fill:var(--ui-ink)}
  #seatmap .altar-label {fill:#172b3b}
  .seat.keyboard-focus {stroke:var(--ui-focus);stroke-width:3;filter:drop-shadow(0 0 2px var(--ui-paper))}
  .seat-state-mark {pointer-events:none;fill:#172b3b;font-size:7px;font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:1.8px;stroke-linejoin:round}
  .map-hint {position:static;transform:none;width:auto;background:var(--ui-soft);color:var(--ui-ink);padding:.65rem 1rem;border-radius:0;font-size:1rem;pointer-events:auto}
  #prototype-help {min-height:44px;color:inherit}
  .map-footer,.map-source,.cart-tip,.cart-empty,.cart-bottom,.cart-total {background:var(--ui-paper);color:var(--ui-muted);border-color:var(--ui-line)}
  #availability,.map-description,.event-subline,.cart-tip p,.cart-empty p,.cart-total small,.map-source {color:var(--ui-muted);font-size:1rem}
  #availability strong {color:var(--ui-ink)}
  .cart-tip p,.sidebar-heading>div,.heading-actions,.view-tools {min-width:0;max-width:100%}
  .cart-tip,.sidebar-heading,.heading-actions,.view-tools {flex-wrap:wrap}
  .sidebar-heading h2 {font-size:1.3rem;overflow-wrap:anywhere}
  .sidebar-heading .eyebrow {overflow-wrap:anywhere}
  .cart-total strong,.cart-total span,.cart-heading,.cart-item-seat {color:var(--ui-ink)}
  .cart-total {flex-wrap:wrap;gap:.5rem;min-width:0}
  .cart-total>* {min-width:0;max-width:100%}
  .legend-dot {display:inline-flex;align-items:center;justify-content:center;font-style:normal;min-width:1.35rem;min-height:1.35rem;font-size:.85rem;line-height:1;border-radius:.25rem;color:#000}
  .legend-dot.reserved,.legend-dot.blocked {color:#fff}
  #event-list {flex-wrap:wrap;overflow:visible}
  .seat-picker-results button {background:var(--ui-paper);color:var(--ui-ink);border-color:var(--ui-line);font-size:1.1rem}
  .seat-picker-results small {font-size:.9rem;color:inherit}
  .admission-eventbar,.admission-capture,.admission-totals,#admission-recent li {background:var(--ui-paper);color:var(--ui-ink)}
  .admission-tabs,.admission-scanner-art {background:var(--ui-soft);color:var(--ui-ink)}
  .admission-tabs>button[aria-pressed=true],.admission-option[aria-pressed=true] {background:var(--ui-selected);color:var(--ui-ink);border-color:var(--ui-focus)}
  .admission-camera-tools select,.admission-option,.admission-eventbar select,#admission-code {background:var(--ui-paper);color:var(--ui-ink);border-color:var(--ui-line);font-size:1rem}
  .admission-card[data-state=ready],.admission-card[data-state=busy],.admission-card[data-state=paused] {color:var(--ui-ink);background:var(--ui-soft)}
  .admission-card[data-state=warning] {color:var(--ui-warn);background:var(--ui-warn-bg)}
  .admission-camera-frame {min-height:22rem}
  #admission-camera-cover {overflow:auto}
  .admission-card .admission-ticket-number,.admission-footer-note,.admission-option,#admission-camera-hint,#admission-input-help,#admission-connection,#admission-stats-note,#admission-recent strong,#admission-recent small,#admission-recent time,.admission-totals span,.admission-eventbar>label,.admission-camera-tools>label {font-size:1rem}
  #admission-connection {color:var(--ui-good)}
  #admission-connection.is-offline {color:var(--ui-bad)}
  .admission-recent-check {background:var(--ui-good-bg);color:var(--ui-good)}
  .admission-inline-result {padding:.8rem;border:2px solid currentColor;border-radius:.5rem;margin:.75rem 0;font-size:1rem;font-weight:650;color:var(--ui-ink);background:var(--ui-soft)}
  .admission-inline-result[data-state=admitted] {color:var(--ui-good);background:var(--ui-good-bg)}
  .admission-inline-result[data-state=denied] {color:var(--ui-bad);background:var(--ui-bad-bg)}
  .admission-inline-result[data-state=warning] {color:var(--ui-warn);background:var(--ui-warn-bg)}
  .map-wrap,.seatmap-wrap {min-width:0}
  .seat-detail {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;padding:.8rem 1rem;background:var(--ui-soft);border-top:1px solid var(--ui-line)}
  .seat-detail p {margin:0;flex:1 1 15rem}
  .cart-panel {grid-template-columns:minmax(0,1fr) minmax(15rem,22rem);gap:1rem}
  .cart-item {background:var(--ui-paper);color:var(--ui-ink);border-color:var(--ui-line);padding:1rem}
  .cart-item-seat {font-size:1.15rem;padding-right:2rem}
  .cart-item-remove {width:44px;height:44px;color:var(--ui-ink);background:var(--ui-soft);top:.4rem;right:.4rem}
  .cart-item-bottom {gap:.5rem;flex-wrap:wrap}
  .cart-item-bottom select {font-size:1rem;min-width:0;max-width:100%;height:auto;flex:1 1 8rem}
  .cart-items {max-height:none;grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr))}
  .cart-item-price {font-size:1.1rem;color:var(--ui-ink)}
  .local-feedback {grid-column:1/-1;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.85rem 1rem;margin-top:.75rem;border:2px solid var(--ui-focus);border-radius:.6rem;background:var(--ui-selected);color:var(--ui-ink);font-size:1rem}
  .local-feedback p {flex:1 1 15rem;margin:0;overflow-wrap:anywhere}
  .feedback-close {color:var(--ui-ink);background:var(--ui-paper);border:1px solid var(--ui-line);border-radius:.4rem;padding:.5rem .7rem}
  #toast {display:none}
  .mobile-cart {position:static;width:100%;margin-top:1rem;box-shadow:none;left:auto;bottom:auto}
  .public-header {gap:1rem}
  .public-header nav {font-size:1rem;gap:1rem}
  .public-header nav a {display:inline-flex;align-items:center;min-height:44px}
  .public-header nav>a:not(.button) {display:inline-flex}
  .public-brand {font-size:2.3rem}
  .hero h1 {font-size:clamp(2rem,4.5vw,3.7rem);letter-spacing:-.04em}
  .hero h1>span,.eyebrow,.feature-number {color:var(--ui-muted)}
  .hero-copy>p,.hero-copy .hero-note,.feature-grid p,.outlook>p,.access-section>div>p,.entry-card p,.provider-footer p,.provider-footer>a:last-child,.login-page .quiet-link,.login-card .login-help {font-size:1rem;color:var(--ui-muted)}
  .hero-art {color:#172c3d;font-size:16px}
  .hero-art .gold-dot {color:#f9a800}
  .feature-grid h3 {font-size:1.35rem}
  .feature-strip>div {font-size:1rem;flex-wrap:wrap}
  .section-heading h2,.outlook h2,.access-section h2 {font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.25}
  .steps h3 {font-size:1.2rem}.steps p {font-size:1rem}
  .provider-page .workflow .eyebrow {color:#ebbd66}
  .workflow .steps,.workflow .steps li,.workflow .steps li>div {min-width:0;max-width:100%}
  .workflow .steps li {flex-wrap:wrap}
  .workflow .steps li>div {flex:1 1 12rem}
  .entry-card>label,.login-card label,.slug-input>span,.login-card input {font-size:1rem}
  .slug-input {background:var(--ui-paper);border-color:var(--ui-line);flex-wrap:wrap;overflow:visible}
  .slug-input>span {color:var(--ui-muted)}
  .slug-input input {flex:1 1 8rem;width:auto;color:var(--ui-ink)}
  .login-card h1 {font-size:1.8rem}
  .login-main {max-width:32rem}
  .login-card form,#password-fields {grid-template-columns:minmax(0,1fr);min-width:0}
  .login-card label {min-width:0;overflow-wrap:anywhere}
  .login-card .security-link {color:var(--ui-ink)}
  .entry-date,.entry-role {color:var(--ui-ink)}
  .appearance-trigger {font:inherit;padding:.6rem .85rem;border:1px solid var(--ui-line);border-radius:.5rem;font-weight:650;cursor:pointer}
  .public-skip,.skip-link {position:fixed;top:.5rem;left:.5rem;transform:translateY(calc(-100% - 1rem));max-width:calc(100vw - 1rem);background:var(--ui-paper);color:var(--ui-ink);padding:.7rem;border:2px solid var(--ui-focus);z-index:100}
  .public-skip:focus,.skip-link:focus {top:.5rem;transform:none}
  .appearance-dialog {width:min(30rem,calc(100vw - 1rem));max-height:calc(100dvh - 1rem);padding:1.25rem;border:1px solid var(--ui-line);border-radius:1rem;overflow:auto}
  dialog::backdrop {background:#071421ad}
  .appearance-dialog h2 {font-size:1.45rem;margin:0 0 .4rem}
  .appearance-heading p,.appearance-note {color:var(--ui-muted);font-size:1rem;margin:.5rem 0 1rem}
  .appearance-dialog label {display:grid;gap:.35rem;margin-block:.9rem;font-weight:650}
  .appearance-dialog select {width:100%}
  .appearance-sample {padding:.8rem;border:1px solid var(--ui-line);border-radius:.4rem;margin:1rem 0}
  .appearance-actions {display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
  .appearance-actions button {flex:1 1 9rem;font:inherit;padding:.65rem;border:1px solid var(--ui-line);border-radius:.45rem;background:var(--ui-paper);color:var(--ui-ink)}
  .appearance-actions .primary-button {background:var(--action-bg);color:var(--action-ink)}
  /* A single scrolling dialog keeps actions and fields reachable at high zoom. */
  dialog:not(.appearance-dialog) {max-width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);overflow:auto;color:var(--ui-ink);background:var(--ui-paper)}
  #dialog-form {max-height:none!important;height:auto!important;min-width:0}
  #dialog #dialog-body {overflow:visible;min-height:0;max-height:none}
  #dialog .dialog-actions {position:static;flex-wrap:wrap;background:var(--ui-paper);color:var(--ui-ink);gap:.7rem;margin-top:1rem}
  #dialog .dialog-actions button {flex:1 1 10rem;min-width:0;max-width:100%;font-size:1rem;line-height:1.45}
  .dialog-heading {gap:1rem;align-items:flex-start}
  .dialog-heading h2 {font-size:1.5rem;line-height:1.3;min-width:0;overflow-wrap:anywhere}
  .field-row,.price-grid,.price-labels,.print-measures,.business-fields,.event-zone-modes,.venue-zone-editor {grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr))}
  .field {margin-block:.65rem;gap:.3rem;line-height:1.5}
  .field small {font-size:1rem;color:var(--ui-muted);font-weight:400}
  .field input,.field select,.field textarea {margin-top:0;color:var(--ui-ink);background:var(--ui-paper)}
  .row-choice,.row-choice.unavailable {color:var(--ui-ink);background:var(--ui-paper);border-color:var(--ui-line)}
  .row-choice:has(input:checked) {background:var(--ui-selected);border-color:var(--ui-focus);box-shadow:inset 5px 0 var(--ui-focus)}
  .security-secret,.security-codes {background:var(--ui-soft);color:var(--ui-ink)}
  .security-codes code {font-size:1rem}
  .security-qr {background:#fff;padding:.6rem}
  .fiscal-receipt {font-size:1rem}
  .brand-preview {color:var(--preview-primary);background:#fff}
  .customization-layout h3,.venue-zone-editor legend {color:var(--ui-ink)}
  .brand-preview h3 {color:var(--preview-primary)}
  .admission-dialog {--scan-ink:var(--ui-ink);--scan-muted:var(--ui-muted);--scan-line:var(--ui-line);height:auto}
  .admission-dialog .dialog-heading {background:var(--ui-paper)}
  .admission-card {color:var(--ui-ink);background:var(--ui-soft);border-color:var(--ui-line)}
  .admission-card[data-state=admitted],.admission-card[data-state=valid] {background:var(--ui-good-bg);color:var(--ui-good);border-color:currentColor}
  .admission-card[data-state=denied],.admission-card[data-state=error] {background:var(--ui-bad-bg);color:var(--ui-bad);border-color:currentColor}
  .admission-card h3,.admission-card p,.admission-card .admission-result-eyebrow,.admission-card .admission-result-event {color:inherit}
  .admission-card .admission-result-event {font-size:1rem}
  .admission-dialog[data-scan-feedback=true] #admission-result,.admission-dialog[data-scan-feedback=true] .admission-result-actions {position:static;max-height:none;box-shadow:none;min-height:0}
  .designer-dialog {--studio-ink:var(--ui-ink);--studio-muted:var(--ui-muted);--studio-line:var(--ui-line);--studio-tint:var(--ui-selected);--studio-teal:var(--ui-focus);height:auto}
  .designer-dialog #dialog-body {display:block}
  .designer-dialog .dialog-heading h2 {flex-wrap:wrap;font-size:1.15rem}
  .designer-dialog #dialog-error:not([hidden]) {position:static;box-shadow:none;margin:1rem}
  .studio-topbar,.studio-insert,.studio-viewbar,.studio-view-options,.studio-mobile-tabs,.studio-zoom {flex-wrap:wrap}
  .studio-insert {overflow:visible;gap:.35rem}
  .studio-insert>span {display:inline;font-size:1rem}
  .studio-tool,.studio-insert .studio-labeled,.studio-fit,.studio-layer>button:first-child,.studio-page-button,.studio-field,.studio-field input,.studio-field select,.studio-field textarea,.studio-properties legend,.studio-check,.studio-upload,.studio-help,.studio-small,.studio-statusbar,.studio-key-hint,#studio-save-state,#studio-fit {font-size:1rem}
  .studio-tool,.studio-zoom .studio-tool,.studio-view-options .studio-tool,.studio-layer-lock,.studio-panel-close {min-width:44px;min-height:44px}
  .studio-insert .studio-labeled {flex-direction:row}
  .studio-layer>button:first-child>span,#studio-selection-status {white-space:normal;overflow:visible;text-overflow:clip}
  .studio-layer.is-selected,.studio-tool[aria-pressed=true] {color:var(--ui-ink);background:var(--ui-selected);border-color:var(--ui-focus)}
  .studio-small,.studio-field,.studio-check,.studio-help,.studio-statusbar,.studio-page-button>span,.studio-panel-heading>span {color:var(--ui-muted)}
  .studio-help,.studio-upload,.studio-panel-heading>span {background:var(--ui-soft)}
  .studio-help strong {color:var(--ui-ink)}
  .studio-layer-lock,.studio-layer.is-selected .studio-layer-lock {color:var(--ui-ink)}
  .studio-workspace {grid-template-columns:minmax(10rem,1fr) minmax(0,3fr) minmax(14rem,1.3fr);background:var(--ui-soft);align-items:start;min-height:28rem}
  .studio-layers,.studio-properties {max-height:none;overflow:visible}
  .studio-stage {height:clamp(20rem,52vh,42rem);flex:none;min-height:20rem;background:var(--ui-soft)}
  .studio-layer>button:first-child svg {color:var(--ui-muted)}
  .studio-object-actions #delete-element {color:var(--ui-bad);background:var(--ui-bad-bg);border:1px solid currentColor}
  .studio-properties h4 {font-size:1rem;color:var(--ui-muted)}
  .studio-statusbar {flex-wrap:wrap;gap:.5rem}
  .studio-key-hint {display:block;text-align:left;max-width:none}
  .studio-object-actions {position:static}
  .studio-align {grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:.25rem}
  .studio-palette button {width:44px;height:44px}
  .studio-color input {min-height:44px}
  #studio-message {position:static;pointer-events:auto;color:var(--ui-warn);background:var(--ui-warn-bg);border-color:currentColor;font-size:1rem}
  .designer-dialog .dialog-actions #layout-copy {display:inline-flex}
  .studio-name input {font-size:1rem;color:var(--ui-ink);background:var(--ui-paper)}
  #studio-save-state {white-space:normal;color:var(--ui-good)}
  #studio-save-state.is-dirty {color:var(--ui-warn);background:var(--ui-warn-bg);padding:.2rem .4rem;border-radius:.3rem}
  :root[data-spacing=comfortable] :is(.field,.studio-field) {margin-block:1.4rem}
  :root[data-spacing=comfortable] :is(button,.nav-item,.studio-tool) {padding-block:.85rem}
  :root[data-spacing=comfortable] :is(.admin-actions,.device-list,.print-list,.entry-events,.cart-items) {gap:1.3rem}
  :root[data-spacing=comfortable] body {line-height:1.8}
  @media(max-width:75rem) {
    .studio-workspace {display:flex;flex-direction:column;min-height:0}
    .studio-center {width:100%;order:0}
    .studio-layers,.studio-properties,.designer-dialog[data-studio-panel=layers] .studio-layers,.designer-dialog[data-studio-panel=properties] .studio-properties {display:block;position:static;width:100%;max-width:100%;box-shadow:none;border:0;border-top:1px solid var(--ui-line);order:1}
    .studio-properties {order:2}
    .studio-mobile-tabs,.studio-panel-close {display:none}
    .studio-grid-2 {grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr))}
    .studio-stage {height:24rem}
    .cart-panel {grid-template-columns:minmax(0,1fr)}
    .cart-bottom {grid-column:1}
  }
  :root[data-text-size="200"] .studio-workspace {display:flex;flex-direction:column}
  :root[data-text-size="200"] :is(.studio-center,.studio-layers,.studio-properties) {width:100%;position:static;display:block}
  @media(max-width:50rem) {
    main {padding-inline:.8rem}
    .main-nav .nav-item {flex:1 1 8rem;justify-content:flex-start}
    .header-button {font-size:1rem}
    .event-heading,.event-actions,.map-topline,.map-toolbar {gap:.7rem}
    .event-actions>* {flex:1 1 10rem}
    .event-details {font-size:1rem;gap:.5rem}
    .map-topline,.map-toolbar,.map-legend,.sale-legend {padding:1rem}
    .map-actions {margin-left:0;flex-wrap:wrap;gap:.4rem}
    .map-toolbar select {width:100%}
    .map-topline h2 {font-size:1.3rem}
    .sales-summary,.cash-summary,.entry-events,.entry-toolbar,.customization-layout,.layout-editor,.feature-grid,.hero,.workflow>.section-width,.outlook,.access-section {grid-template-columns:minmax(0,1fr)}
    .brand-preview-wrap {position:static}
    .public-header {padding:1rem;align-items:flex-start}
    .public-header nav {flex:1 1 100%;order:3}
    .public-header nav .button {font-size:1rem}
    .section-width {padding-inline:1rem}
    .hero-art {max-width:100%;overflow:hidden}
    .dialog-heading h2 {font-size:1.3rem}
    .dialog-actions {padding-inline:.7rem}
    .payment-total,.payment-lines>div {flex-wrap:wrap;gap:.5rem}
    .payment-total strong {font-size:1.6rem}
    .entry-header {display:flex;flex-wrap:wrap;padding:1rem}
    .entry-header button {flex:1 1 9rem}
    .entry-organizer {flex:1 1 12rem;justify-content:flex-start}
    .entry-event {grid-template-columns:minmax(0,1fr);padding:1rem}
    .entry-date {flex-direction:row;justify-content:flex-start;padding:.5rem 1rem}
    .studio-topbar {padding:.7rem}
    .studio-name {max-width:100%;flex:1 1 100%}
    .studio-history {padding:0;border:0;margin:0}
    .studio-viewbar {gap:.5rem}
    .studio-zoom {max-width:100%}
  }
  @media(max-width:25rem) {
    .app-header .brand {flex-basis:100%}
    .main-nav .nav-item {flex-basis:100%}
    .app-header>.header-button {width:100%}
    .login-card,.entry-card {padding:1rem}
    .print-list article,.device-list article,.print-ticket-list>div {flex-direction:column;align-items:stretch}
    .dialog-heading {padding:1rem}
    #dialog #dialog-body {padding-inline:1rem}
    .designer-dialog #dialog-body {padding-inline:0}
  }
  @media(forced-colors:active) {
    button,.seat,.local-feedback {border:1px solid ButtonText;forced-color-adjust:auto}
    .seat {fill:Canvas;stroke:CanvasText}.seat.chosen {fill:Highlight;stroke:HighlightText}
    .seat-label {fill:CanvasText}.seat-label.chosen {fill:HighlightText}
    .seat-state-mark {fill:CanvasText;stroke:Canvas}
  }
}
@media print {.appearance-dialog,.appearance-trigger,.local-feedback,#readable,.seat-detail{display:none!important}}
@media screen and (max-width:600px) {
  #dialog:not(.designer-dialog):not(.seat-editor-dialog) {padding:0}
  #dialog:not(.designer-dialog):not(.seat-editor-dialog) .dialog-heading {padding:16px;margin:0;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px}
  #dialog:not(.designer-dialog):not(.seat-editor-dialog) .dialog-heading h2 {font-size:1.1rem;letter-spacing:0}
  #dialog:not(.designer-dialog):not(.seat-editor-dialog) #dialog-body {padding:0 16px 16px}
  #dialog:not(.designer-dialog):not(.seat-editor-dialog) .dialog-actions {padding:16px}
  #dialog #close-dialog {width:44px;min-width:44px}
}

@media screen and (max-width:600px) {
  #dialog.admission-dialog #dialog-body {padding-inline:0}
  .admission-tabs>button {padding:.35rem;overflow-wrap:normal}
  .admission-tabs>button>svg {display:none}
  .admission-tabs>button>span {min-width:0;max-width:100%}
}
:root .customer-display-control{grid-column:1/-1;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1rem 0;padding:1rem;border:1px solid var(--ui-line,#899aa5);border-radius:12px;background:var(--ui-paper,#fff);color:var(--ui-ink,#172b3b)}
.customer-display-control[hidden]{display:none}
.customer-display-control .field{flex:1 1 20rem;margin:0;min-width:0}
.customer-display-control select{min-height:44px;width:100%;max-width:100%}
.customer-display-control p{flex:1 1 20rem;margin:0;overflow-wrap:anywhere}

@media screen {
  .event-heading>div>#event-subtitle {font-size:1.125rem;line-height:1.5;color:var(--ui-ink);margin-top:.5rem;overflow-wrap:anywhere}
  .event-option-subtitle {display:block;font-size:1rem;line-height:1.5;margin-top:.3rem;color:var(--ui-ink);overflow-wrap:anywhere}
  .event-name-fields {grid-column:1/-1;min-width:0}
}

/* Ticketstudio: the same fully functional workspace at every text size. */
@media screen {
  .designer-dialog {width:min(1920px,calc(100vw - 1rem));border-radius:1rem}
  .designer-dialog .dialog-heading {padding:.65rem 1rem;min-height:0}
  .designer-dialog .dialog-heading h2 {font-weight:750}
  .designer-dialog .studio-topbar {padding:.55rem 1rem;min-height:0;gap:.6rem}
  .designer-dialog .studio-insert {padding:.5rem 1rem;background:var(--ui-paper);gap:.4rem}
  .designer-dialog .studio-insert>span {font-weight:700;color:var(--ui-ink)}
  .designer-dialog .studio-insert .studio-tool {border:1px solid var(--ui-line);border-radius:.65rem;padding:.4rem .7rem;white-space:normal}
  .designer-dialog .studio-insert svg {width:1.15rem;height:1.15rem}
  .designer-dialog .studio-workspace {grid-template-columns:minmax(12rem,.85fr) minmax(0,3fr) minmax(17rem,1.15fr)}
  .designer-dialog .studio-layers,.designer-dialog .studio-properties {padding:1rem}
  .designer-dialog .studio-panel-heading h3 {font-size:1rem}
  .studio-library-tabs {display:flex;flex-wrap:wrap;gap:.3rem;border-bottom:1px solid var(--ui-line);padding-bottom:.6rem;margin-bottom:.7rem}
  .studio-library-tabs button {flex:1 1 7rem;min-width:0;padding:.4rem;border:1px solid transparent;border-radius:.5rem;background:transparent;color:var(--ui-ink);font:inherit;font-weight:650}
  .studio-library-tabs button[aria-pressed=true] {border-color:var(--ui-focus);background:var(--ui-selected)}
  .studio-blocks {display:grid;gap:.5rem;margin-bottom:1rem}
  .studio-blocks[hidden],#studio-layers[hidden],.studio-context-actions button[hidden] {display:none}
  .studio-block {display:flex;align-items:center;text-align:left;gap:.6rem;width:100%;padding:.7rem .6rem;background:var(--ui-paper);border:1px solid var(--ui-line);border-radius:.7rem;color:var(--ui-ink);font:inherit;cursor:pointer}
  .studio-block>svg {flex-shrink:0;width:1.15rem;height:1.15rem}
  .studio-block>span:first-of-type {flex:1;min-width:0}
  .studio-block strong,.studio-block small {display:block;overflow-wrap:anywhere}
  .studio-block strong {font-size:1rem;line-height:1.3}
  .studio-block small {font-size:.9rem;color:var(--ui-muted);line-height:1.4;margin-top:.2rem}
  .studio-block:hover {background:var(--ui-selected);border-color:var(--ui-focus)}
  .designer-dialog .studio-page-button {margin-top:1rem;width:100%;font-size:1rem;border-color:var(--ui-line)}
  .designer-dialog .studio-viewbar {background:var(--ui-paper);padding:.5rem .7rem;gap:.5rem}
  .designer-dialog .studio-view-options {gap:.25rem}
  .designer-dialog .studio-view-options .studio-tool {font-size:.9rem;gap:.4rem;padding:.4rem}
  .studio-context {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;background:var(--ui-paper);padding:.65rem .9rem;border-bottom:1px solid var(--ui-line)}
  .studio-context>div:first-child {flex:1 1 12rem;min-width:0}
  .studio-context strong,.studio-context span {display:block;overflow-wrap:anywhere}
  #studio-context-label {font-size:1rem}
  #studio-context-hint {font-size:.9rem;color:var(--ui-muted);margin-top:.2rem}
  .studio-context-actions {display:flex;flex-wrap:wrap;gap:.35rem}
  .studio-context-actions .studio-tool {border:1px solid var(--ui-line);font-size:.9rem;white-space:normal}
  .designer-dialog .studio-stage {background:var(--ui-soft);background-image:radial-gradient(var(--ui-line) .5px,transparent .5px);background-size:20px 20px}
  .designer-dialog .studio-object-actions {gap:.4rem;padding-bottom:.7rem}
  .designer-dialog .studio-object-actions .studio-tool {font-size:.9rem;border:1px solid var(--ui-line);gap:.3rem}
  .designer-dialog .studio-object-actions #delete-element {margin-left:0}
  .designer-dialog .studio-properties fieldset {padding-top:.8rem;margin-top:.8rem}
  .designer-dialog .studio-properties legend {font-size:1rem}
  .designer-dialog .studio-field {font-size:1rem;margin-bottom:.8rem;gap:.35rem;color:var(--ui-ink)}
  .designer-dialog .studio-field textarea {min-height:6rem;font-size:1rem;line-height:1.5}
  .designer-dialog .studio-small {font-size:.9rem;line-height:1.5}
  .studio-field-hint {margin-top:-.4rem}
  .studio-details {border-bottom:1px solid var(--ui-line);margin-bottom:.6rem;padding-bottom:.5rem}
  .studio-details>summary {cursor:pointer;min-height:44px;display:list-item;align-content:center;font-size:.95rem;font-weight:650;padding:.6rem .2rem;color:var(--ui-ink)}
  .studio-details[open]>summary {margin-bottom:.5rem}
  .studio-details fieldset {border-top:0!important}
  .studio-font-launch {display:flex;align-items:center;gap:.65rem;width:100%;text-align:left;padding:.65rem;border:1px solid var(--ui-focus);border-radius:.7rem;background:var(--ui-selected);color:var(--ui-ink);font:inherit;cursor:pointer}
  .studio-font-launch>span:nth-child(2) {flex:1;min-width:0;overflow-wrap:anywhere}
  .studio-font-launch strong,.studio-font-launch small {display:block;line-height:1.4}
  .studio-font-launch small {font-size:.9rem;font-weight:400;color:var(--ui-muted)}
  .studio-font-aa {font-size:1.8rem;font-family:Georgia,serif;font-weight:400}
  .designer-dialog .studio-font-sample {background:#fff;color:#172b3d;border-radius:.7rem;padding:.75rem;font-size:1.35rem}
  .designer-dialog .studio-type-toggles {gap:.25rem;margin-block:.65rem}
  .designer-dialog .studio-type-toggles .studio-check {flex:1 1 auto;justify-content:center;border:1px solid var(--ui-line);border-radius:.5rem;padding:.3rem .5rem;gap:.4rem;font-size:.95rem;color:var(--ui-ink)}
  .designer-dialog .studio-type-toggles .studio-check:has(:checked) {background:var(--ui-selected);border-color:var(--ui-focus)}
  .designer-dialog .studio-align {grid-template-columns:repeat(3,minmax(44px,1fr))}
  .designer-dialog .studio-statusbar {font-size:.9rem;padding:.6rem .8rem}
  .studio-font-dialog {position:fixed;inset:0;width:min(1060px,calc(100vw - 2rem));max-width:calc(100vw - 1rem);max-height:calc(100dvh - 2rem);margin:auto;padding:1.25rem;border:1px solid var(--ui-line);border-radius:1rem;background:var(--ui-paper);color:var(--ui-ink);overflow:auto;box-shadow:0 24px 100px #0005}
  .studio-font-dialog::backdrop {background:#071e3299}
  .studio-font-heading {display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
  .studio-font-heading h2 {font-size:1.5rem;margin:.25rem 0;line-height:1.2}
  .studio-eyebrow {font-size:.9rem;color:var(--ui-muted)}
  .studio-font-heading button {border:1px solid var(--ui-line);font-size:1rem}
  .studio-font-dialog>p {font-size:1rem;line-height:1.5;margin:.8rem 0;color:var(--ui-muted)}
  .studio-font-filters {display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem;margin-top:1rem}
  .studio-font-preview-field {grid-column:1/-1}
  .studio-font-dialog .studio-field {font-size:1rem;color:var(--ui-ink);margin-bottom:.4rem}
  .studio-font-dialog .studio-field input,.studio-font-dialog .studio-field select {font-size:1rem;min-height:44px;background:var(--ui-paper);color:var(--ui-ink);border-color:var(--ui-line)}
  .studio-font-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:.75rem}
  .studio-font-card {display:flex;flex-direction:column;gap:.65rem;min-width:0;text-align:left;padding:1rem;border:1px solid var(--ui-line);border-radius:.8rem;background:var(--ui-paper);color:var(--ui-ink);font:inherit;cursor:pointer}
  .studio-font-card[aria-pressed=true] {outline:2px solid var(--ui-focus);outline-offset:-2px;background:var(--ui-selected)}
  .studio-font-card:hover {border-color:var(--ui-focus);background:var(--ui-selected)}
  .studio-font-card-title {display:flex;justify-content:space-between;gap:.5rem;font-size:1rem;font-weight:750}
  .studio-font-card-sample {display:block;font-size:1.6rem;line-height:1.4;overflow-wrap:anywhere;font-synthesis:none}
  .studio-font-card-description {font-size:.9rem;color:var(--ui-muted);line-height:1.4}
  .studio-font-dialog :is(button,input,select):focus-visible,.designer-dialog summary:focus-visible {outline:3px solid var(--ui-focus);outline-offset:2px}
  @media(max-width:85rem) {
    .designer-dialog .studio-workspace {display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,1fr)}
    .designer-dialog .studio-center {grid-column:1/-1;order:0;width:100%}
    .designer-dialog .studio-layers,.designer-dialog .studio-properties {display:block;position:static;width:100%;max-width:100%;box-shadow:none;overflow:visible;order:1;border-top:1px solid var(--ui-line)}
    .designer-dialog .studio-mobile-tabs,.designer-dialog .studio-panel-close {display:none}
    .designer-dialog .studio-stage {min-height:16rem;height:45vh}
  }
  @media(max-width:55rem) {
    .designer-dialog .studio-workspace {display:flex;flex-direction:column}
    .designer-dialog .studio-properties {order:1}
    .designer-dialog .studio-layers {order:2}
    .designer-dialog .studio-labeled {white-space:normal}
    .designer-dialog .studio-view-options {flex:1 1 100%}
    .designer-dialog .studio-view-options .studio-tool {flex:1}
    .designer-dialog .studio-stage {height:40vh;min-height:12rem}
    .designer-dialog .studio-grid-2 {grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),1fr))}
    .designer-dialog .dialog-actions {flex-wrap:wrap}
    .designer-dialog .dialog-actions button {flex:1 1 9rem}
    .studio-font-dialog {padding:.8rem}
    .studio-font-filters {grid-template-columns:minmax(0,1fr)}
    .studio-font-heading h2 {font-size:1.25rem}
  }
  :root[data-text-size="200"] .designer-dialog .studio-workspace {display:flex;flex-direction:column}
  :root[data-text-size="200"] .designer-dialog .studio-center {order:0}
  :root[data-text-size="200"] .designer-dialog .studio-properties {order:1}
  :root[data-text-size="200"] .designer-dialog .studio-layers {order:2}
}
@media screen {
  .designer-dialog .studio-insert .studio-tool {max-width:100%;min-width:0;overflow-wrap:anywhere;text-align:left}
  .designer-dialog .studio-insert .studio-tool>span {min-width:0}
}

/* Lifecycle actions stay grouped and wrap at browser zoom and narrow widths. */
.lifecycle-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:end}.lifecycle-filters>.field{flex:1 1 16rem;min-width:0}
.lifecycle-list{display:grid;gap:1rem}.lifecycle-card{padding:1.1rem;border:1px solid var(--line,#6d8296);border-radius:14px;min-width:0;background:var(--ui-paper,#fff)}
.lifecycle-card-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem}.lifecycle-card h3{margin:0;font-size:1.15rem}.lifecycle-card p{overflow-wrap:anywhere}
.lifecycle-status{display:inline-block;border:1px solid currentColor;border-radius:8px;padding:.3rem .6rem;font-size:.95rem}
.lifecycle-actions{display:flex;flex-wrap:wrap;gap:.65rem}.lifecycle-actions button{min-height:44px;white-space:normal;text-align:start}
.lifecycle-card .dialog-caption{margin-bottom:0}.lifecycle-card .dialog-note{margin:.7rem 0}#event-lifecycle-notice{margin:0 0 1rem}

/* v50: task-centred completion, quiet explanations and explicit orientation. */
:root .dialog-note{background:var(--ui-warn-bg);color:var(--ui-warn);border-color:var(--ui-warn)}
:root .dialog-info{background:var(--ui-soft);color:var(--ui-ink);border-color:var(--ui-line);padding:1rem;border-radius:12px}
:root .dialog-error,:root [role=alert].dialog-note{background:var(--ui-warn-bg);color:var(--ui-warn);border:2px solid currentColor}
.completion-summary,.completion-output{padding:1.2rem;border:1px solid var(--ui-line);border-radius:16px;background:var(--ui-soft);margin-bottom:1rem}
.completion-summary h3{margin:.4rem 0;font-size:1.5rem}.completion-amounts{display:flex;flex-wrap:wrap;gap:1rem 3rem}.completion-amounts>div{display:grid;align-content:start;gap:.2rem}.completion-amounts strong{font-size:2rem;line-height:1.2}.completion-output button{margin:.4rem .5rem .2rem 0}
#dialog details:not(.studio-page-details){margin:.7rem 0}#dialog summary,.map-orientation summary{min-height:44px;padding:.65rem .25rem;cursor:pointer;font-weight:700;line-height:1.4}
.workspace-back{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--ui-line)}.workspace-back span{flex:1 1 16rem;overflow-wrap:anywhere}
.workspace-discard{width:min(36rem,calc(100vw - 2rem));padding:1.5rem;background:var(--ui-paper);color:var(--ui-ink);border:2px solid var(--ui-line);border-radius:16px}
.reservation-filters{display:flex;flex-wrap:wrap;gap:1rem}.reservation-filters>.field{flex:1 1 16rem}
.setup-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;list-style:none;padding:0}.setup-steps li{padding:1.2rem;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-soft)}.setup-steps button{margin:.3rem .2rem .3rem 0}.setup-steps h3{margin:0 0 .6rem}
.map-orientation{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;padding:.5rem 1rem}.map-orientation .map-context{padding:0;flex:1 1 18rem;margin:0}.map-orientation details{flex:0 1 18rem;max-width:100%}#map-mini{display:block;width:100%;height:160px;background:var(--ui-paper);border:1px solid var(--ui-line)}.map-orientation details p{font-size:.9rem;margin:.4rem 0}
.studio-preview-examples{display:flex;align-items:center;gap:.5rem;flex:1 1 18rem;max-width:28rem;margin:0}.studio-preview-examples select{min-width:0;width:100%}.studio-preview-examples select{min-height:44px}.admission-ticket-help{padding:.8rem;background:var(--ui-soft);border:1px solid var(--ui-line);border-radius:12px}.admission-search-result{padding:1rem 0;border-top:1px solid var(--ui-line)}
@media(max-width:760px){.setup-steps{grid-template-columns:1fr}.completion-amounts strong{font-size:1.65rem}.completion-output button{width:100%;margin:.3rem 0}.workspace-back{align-items:stretch}.workspace-back button{width:100%}}

/* One viewport budget for the heading, scrollable contents and wrapped actions.
   The form fills the dialog's inner box; no second viewport height plus padding. */
@media screen {
  #dialog {
    --dialog-limit:calc(100dvh - 16px);
    max-height:var(--dialog-limit);height:auto;padding:0!important;overflow:auto;
    overscroll-behavior:contain;scroll-padding-block:12px;
  }
  #dialog #dialog-form {
    display:flex;flex-direction:column;min-width:0;min-height:0;
    height:auto!important;max-height:calc(var(--dialog-limit) - 2px)!important;
    margin:0;overflow:visible;
  }
  #dialog .dialog-heading {
    flex:0 0 auto;min-width:0;min-height:0;margin:0;
    padding:.75rem 1rem;align-items:flex-start;gap:.75rem;
  }
  #dialog .dialog-heading h2 {flex:1;min-width:0;margin:0}
  #dialog #close-dialog {flex:0 0 auto;align-self:flex-start}
  #dialog #dialog-body {
    flex:1 1 auto;min-height:0;max-height:none;min-width:0;
    overflow:auto;padding:.5rem 1rem 1rem;scrollbar-gutter:stable;
    grid-auto-rows:max-content;align-content:start;
    scroll-padding-block:12px;overscroll-behavior:contain;
  }
  #dialog #dialog-actions {
    flex:0 0 auto;position:static;min-width:0;margin:0;
    padding:.75rem 1rem max(.75rem,env(safe-area-inset-bottom));
    border-top:1px solid var(--ui-line);gap:.65rem;flex-wrap:wrap;
  }
  #dialog #dialog-actions:empty {display:none}
  #dialog #dialog-actions button {min-width:0;max-width:100%;height:auto;white-space:normal;overflow-wrap:anywhere}
  #dialog:is(.designer-dialog,.seat-editor-dialog,.admission-dialog) #dialog-body {display:block}
  #dialog.designer-dialog .studio-workspace {flex:none;min-height:0;align-items:start}
  #dialog.designer-dialog :is(.studio-layers,.studio-properties) {max-height:none;overflow:visible}
  #dialog.designer-dialog .studio-stage {flex:none;height:clamp(16rem,50dvh,32rem);min-height:16rem}
  #dialog .dialog-actions:not(#dialog-actions) {position:static}
  /* At short heights or enlarged text, let the entire form scroll. A tall
     wrapped heading/action row must never squeeze the fields out of reach. */
  :root:is([data-text-size="150"],[data-text-size="200"]) #dialog #dialog-form {
    display:block;max-height:none!important;
  }
  :root:is([data-text-size="150"],[data-text-size="200"]) #dialog #dialog-body {overflow:visible;scrollbar-gutter:auto}
  @media(max-height:600px), (max-width:650px) {
    #dialog #dialog-form {display:block;max-height:none!important}
    #dialog #dialog-body {overflow:visible;scrollbar-gutter:auto}
  }
  dialog:not(#dialog) {overflow:auto;overscroll-behavior:contain}
  dialog:not(#dialog) .dialog-actions {position:static}
}

/* Shared form emphasis and intrinsic dialog sizing. Never alters ticket typography. */
@media screen {
  :root body :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea) {font-weight:600}
  :root body :is(input,textarea)::placeholder {font-weight:400;color:var(--ui-muted);opacity:1}
  #dialog {height:fit-content;min-height:0;inset:0;margin:auto}
  :is(.workspace-page,.platform-page,.entry-page) #dialog[data-size=compact] {width:min(46rem,calc(100vw - 1rem))}
  #dialog[data-size=compact] #dialog-body:has(>label.field) {display:block}
  #dialog #dialog-actions {justify-content:flex-end}
  #dialog #dialog-actions button {flex:0 1 auto}
  #dialog #dialog-actions>button.primary-button {min-width:min(15rem,100%)}
  #dialog .dialog-heading h2 {font-size:1.3rem}
  .login-card #forgot-password {margin-top:.6rem}
  .login-card .security-login-note {background:var(--ui-soft);color:var(--ui-ink);border:1px solid var(--ui-line);padding:.75rem}
  .login-card>p {margin:.5rem 0 1rem}
  .login-card {padding:1.4rem}
  .login-main {margin-top:1.5rem}
  .completion-summary,.completion-output {padding:.8rem;border-radius:.6rem;margin-bottom:.65rem}
  .completion-summary h3 {font-size:1.25rem;margin:.2rem 0}
  .completion-summary p {margin:.25rem 0}
  .completion-amounts {gap:.7rem 2rem}
  .completion-amounts strong {font-size:1.6rem}
  .completion-output h3 {margin:.2rem 0}
  .completion-receipt {padding:.7rem 0;border-top:1px solid var(--ui-line)}
  .completion-receipt h3 {margin:.2rem 0;font-size:1.1rem}
  .completion-receipt p {margin:.3rem 0}
  .payment-ticket-details>summary {border:1px solid var(--ui-line);border-radius:.5rem;padding:.5rem!important;background:var(--ui-paper)}
  .checkout-summary .payment-ticket-overview {margin:.4rem 0;padding:0;list-style:none}
  .payment-ticket-overview li {padding:.25rem 0;line-height:1.4}
  .checkout-grid .checkout-summary {padding:.75rem}
  .payment-dialog .payment-lines>div {padding:.4rem 0}
  .payment-dialog .payment-lines small {font-size:.95rem}
  .pricing-structure {border-top:1px solid var(--ui-line);margin-top:1rem}
  .pricing-structure>summary {padding:.6rem 0}
  #pricing-editor h3 {margin:.8rem 0 .4rem}
  .price-grid fieldset {padding:.6rem}
  .print-admin-nav {display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem}
  .print-admin-nav button[aria-pressed=true] {background:var(--ui-selected);border:2px solid var(--ui-focus)}
  .print-admin-tools {display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.6rem}
  .print-admin-tools>.field {flex:1 1 14rem;margin:0}
  .print-admin-tools details {flex:0 1 auto}
  .print-admin-tools summary {border:1px solid var(--ui-line);border-radius:.5rem;padding:.5rem!important}
  .print-thumbnail {width:6rem;height:4.5rem;flex:0 0 6rem;object-fit:contain;border:1px solid var(--ui-line);border-radius:.3rem;background:white;color:#172b3b}
  #dialog .print-list article {padding:.7rem;border-radius:.6rem;align-items:center}
  #dialog .print-list article>div {flex:1 1 12rem}
  #dialog .print-list article>details {flex:0 1 auto}
  .print-manager-section[hidden] {display:none}
  .print-manager-section .print-list article[hidden] {display:none}
  .admission-dialog .admission-scanner-art {padding:.5rem .75rem;display:block;text-align:left;min-height:0}
  .admission-dialog .admission-scanner-art>svg {display:none}
  .admission-dialog .admission-scanner-art h3 {font-size:1.1rem;margin:.2rem 0}
  .admission-dialog .admission-scanner-art p {margin:.3rem 0;font-size:1rem}
  .admission-dialog .admission-camera-frame {min-height:13rem;height:clamp(13rem,33dvh,22rem)}
  .admission-dialog #admission-camera-cover {padding:.65rem}
  .admission-dialog #admission-camera-cover>svg {width:36px;height:36px}
  .admission-dialog #admission-camera-cover h3 {margin:.3rem 0;font-size:1.1rem}
  .admission-dialog #admission-camera-cover p {margin:.3rem 0}
  .admission-dialog .admission-eventbar {padding:.5rem .7rem;gap:.4rem}
  .admission-dialog .admission-eventbar>label {flex:1 1 18rem}
  .admission-dialog .admission-input-label {margin:.5rem .7rem}
  .admission-dialog .admission-card {padding:.8rem;min-height:0}
  .admission-dialog .admission-result-symbol {width:44px;height:44px;margin:0}
  .admission-dialog .admission-result-symbol svg {width:30px;height:30px}
  .admission-dialog .admission-card h2 {font-size:1.35rem;margin:.4rem 0}
  .admission-dialog .admission-card p {margin:.3rem 0}
  .admission-dialog .admission-ticket-help {padding:.4rem .7rem}
  .admission-dialog .admission-capture-footer {padding:.6rem;gap:.5rem}
  @media(max-width:700px) {
    #dialog #dialog-actions {gap:.5rem}
    #dialog #dialog-actions>button {flex:1 1 12rem}
    .checkout-summary .payment-ticket-overview {display:none}
    .admission-dialog .admission-eventbar>label>span {display:none}
    .admission-dialog #admission-event-info {font-size:.9rem}
    .admission-dialog .admission-footer-note {font-size:.9rem;margin:0}
  }
}


/* Studio v62: opt-in presentation. Classic rules above remain byte-for-byte intact.
   No print media or physical ticket/editor canvas geometry is changed here. */
@media screen {
  #appearance-dialog .appearance-design {margin:.8rem 0 1rem;padding:0;border:0;min-width:0}
  #appearance-dialog .appearance-design legend {font-weight:750;padding:0;margin-bottom:.55rem}
  #appearance-dialog .appearance-design-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
  #appearance-dialog .appearance-design-option {display:flex;align-items:center;gap:.65rem;padding:.85rem;margin:0;border:1px solid var(--ui-line);border-radius:.75rem;cursor:pointer;min-height:64px;background:var(--ui-paper)}
  #appearance-dialog .appearance-design-option:has(:checked) {background:var(--ui-selected);border:2px solid var(--ui-focus);padding:calc(.85rem - 1px)}
  #appearance-dialog .appearance-design-option input {min-height:0;min-width:0;width:1.15rem;height:1.15rem;margin:0;flex:0 0 auto}
  #appearance-dialog .appearance-design-option>span {min-width:0}
  #appearance-dialog .appearance-design-option strong {display:block}
  #appearance-dialog .appearance-design-option small {display:block;font-size:.9rem;font-weight:400;line-height:1.4;color:var(--ui-muted);margin-top:.2rem}
  #appearance-dialog .appearance-preview-label {display:inline-block;font-size:.8rem;font-weight:650;padding:.1rem .35rem;background:var(--ui-soft);color:var(--ui-ink);border-radius:.25rem}
  #appearance-dialog #appearance-design-status {font-size:.9rem;line-height:1.45;margin:.6rem 0 0;color:var(--ui-muted)}
  :root[data-design=studio] {
    --ui-canvas:#f3f4f0;--ui-paper:#ffffff;--ui-soft:#edf1ee;
    --ui-ink:#192c2a;--ui-muted:#40544e;--ui-line:#708078;
    --ui-focus:#11614f;--ui-selected:#e5eee8;
    --studio-divider:#d6ded8;--studio-strong:#153c30;--studio-on-strong:#f8fcf8;
    --workspace-radius:1rem;--workspace-shadow:0 3px 16px #183d2c09;
    --ui-good-bg:#e4f2e7;--ui-good:#17422c;--ui-warn-bg:#fff0cb;--ui-warn:#543600;
    --ui-bad-bg:#ffe8e7;--ui-bad:#741f29;
  }
  :root[data-design=studio][data-scheme=dark] {
    --ui-canvas:#101b19;--ui-paper:#172722;--ui-soft:#20372f;
    --ui-ink:#f1f6ee;--ui-muted:#c3d6c8;--ui-line:#819c8b;
    --ui-focus:#a3dfc2;--ui-selected:#294a3e;--studio-divider:#365347;
    --studio-strong:#c3e8d1;--studio-on-strong:#10291f;
    --ui-good-bg:#153e2b;--ui-good:#ddf9e8;--ui-warn-bg:#493512;--ui-warn:#fff0c7;
    --ui-bad-bg:#4e2028;--ui-bad:#ffe8ec;
  }
  @media(prefers-color-scheme:dark) {
    :root[data-design=studio]:not([data-scheme=light]) {
      --ui-canvas:#101b19;--ui-paper:#172722;--ui-soft:#20372f;
      --ui-ink:#f1f6ee;--ui-muted:#c3d6c8;--ui-line:#819c8b;
      --ui-focus:#a3dfc2;--ui-selected:#294a3e;--studio-divider:#365347;
      --studio-strong:#c3e8d1;--studio-on-strong:#10291f;
      --ui-good-bg:#153e2b;--ui-good:#ddf9e8;--ui-warn-bg:#493512;--ui-warn:#fff0c7;
      --ui-bad-bg:#4e2028;--ui-bad:#ffe8ec;
    }
  }
  :root[data-design=studio][data-contrast=high] {--ui-muted:var(--ui-ink);--ui-line:var(--ui-ink);--studio-divider:var(--ui-ink)}
  :root[data-design=studio] body:is(.workspace-page,.entry-page,.platform-page,.login-page) {font-family:"Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;background:var(--ui-canvas);color:var(--ui-ink)}
  :root[data-design=studio] body :is(.primary-button,.secondary-button,.text-button,.appearance-trigger,.icon-button,.view-reset) {border-radius:.7rem;font-weight:650;min-height:44px;transition:box-shadow .12s ease}
  :root[data-design=studio] body :is(.primary-button,.button-gold):not(:disabled) {box-shadow:0 2px 0 #00000012;border-color:var(--action-ink)}
  :root[data-design=studio] body :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea) {border-radius:.6rem;border:1px solid var(--ui-line);background:var(--ui-paper);color:var(--ui-ink);font-weight:600;min-height:44px}
  :root[data-design=studio] body :is(.field,.studio-field) {gap:.35rem}
  :root[data-design=studio] body :is(h1,h2,h3) {letter-spacing:-.025em}
  :root[data-design=studio] body :is(.total-row,.cart-total,.payment-total,.change-value,.sales-summary,.receipt-total) {font-variant-numeric:tabular-nums}
  :root[data-design=studio] .workspace-page .app-header {background:var(--ui-paper);border-bottom:1px solid var(--studio-divider);box-shadow:none;padding:.65rem clamp(.8rem,2vw,2rem);gap:.7rem}
  :root[data-design=studio] .workspace-page .workspace-brand {gap:1rem}
  :root[data-design=studio] .workspace-page .wordmark {font-size:2.2rem;font-weight:800;letter-spacing:-.08em}
  :root[data-design=studio] .workspace-page .main-nav {gap:.35rem}
  :root[data-design=studio] .workspace-page .main-nav .nav-item {border:1px solid transparent;border-radius:.65rem;box-shadow:none;padding:.55rem .75rem}
  :root[data-design=studio] .workspace-page .main-nav .nav-item.active {color:var(--studio-on-strong);background:var(--studio-strong);border-color:var(--studio-strong);box-shadow:none}
  :root[data-design=studio] .workspace-page .main-nav .nav-item.active .nav-count {color:var(--studio-on-strong);background:transparent;border:1px solid currentColor}
  :root[data-design=studio] .workspace-page .workspace-context {background:var(--ui-paper);padding:.75rem 1rem;border:1px solid var(--studio-divider);border-left:4px solid var(--studio-strong);border-radius:.8rem;gap:.5rem .9rem;margin-bottom:.65rem}
  :root[data-design=studio] .workspace-page .workspace-context label {color:var(--ui-muted);font-weight:600}
  :root[data-design=studio] .workspace-page .workspace-context #quick-event {background:var(--ui-soft);color:var(--ui-ink)}
  :root[data-design=studio] .workspace-page .sale-event-details {margin-bottom:.7rem}
  :root[data-design=studio] .workspace-page :is(.map-panel,.cart-panel) {border:1px solid var(--studio-divider);border-radius:1rem;box-shadow:var(--workspace-shadow)}
  :root[data-design=studio] .workspace-page .map-topline {padding:.85rem 1rem .7rem}
  :root[data-design=studio] .workspace-page .map-topline h2 {font-weight:750;font-size:1.3rem}
  :root[data-design=studio] .workspace-page .map-toolbar {background:var(--ui-paper);border-block:1px solid var(--studio-divider)}
  :root[data-design=studio] .workspace-page .map-context {color:var(--ui-muted);background:var(--ui-soft);border-color:var(--studio-divider)}
  :root[data-design=studio] .workspace-page .map-toolbar #large-seats[aria-pressed=true] {background:var(--studio-strong);color:var(--studio-on-strong);border-color:var(--studio-strong)}
  :root[data-design=studio] .workspace-page #map-wrap {background:var(--ui-paper)}
  :root[data-design=studio] .workspace-page .map-hint {background:var(--ui-paper);border-color:var(--studio-divider);color:var(--ui-muted);text-align:left}
  :root[data-design=studio] .workspace-page .seat-detail {border-color:var(--studio-divider);background:var(--ui-selected)}
  :root[data-design=studio] .workspace-page :is(.map-footer,.map-source) {border-color:var(--studio-divider)}
  :root[data-design=studio] .workspace-page .cart-panel {border-top:3px solid var(--studio-strong);padding:1rem}
  :root[data-design=studio] .workspace-page .cart-heading {border-color:var(--studio-divider);padding-bottom:.65rem}
  :root[data-design=studio] .workspace-page .cart-item {background:var(--ui-soft);border-color:var(--studio-divider);box-shadow:none}
  :root[data-design=studio] .workspace-page .cart-item-remove {background:var(--ui-paper);border:1px solid var(--ui-line)}
  :root[data-design=studio] .workspace-page .cart-total>strong {font-size:2rem;letter-spacing:-.04em}
  :root[data-design=studio] .workspace-page .cart-empty {text-align:left;justify-content:start;padding:.65rem 0}
  :root[data-design=studio] .workspace-page .cart-empty svg {color:var(--studio-strong)}
  :root[data-design=studio] .workspace-page :is(.cart-tip,.cart-tip p) {background:transparent;color:var(--ui-muted)}
  :root[data-design=studio] .workspace-page :is(.event-option,.reservation-card,.sales-summary>div) {border-color:var(--studio-divider);border-radius:.9rem;box-shadow:none}
  :root[data-design=studio] .workspace-page .event-option.active {background:var(--ui-selected);border:2px solid var(--ui-focus)}
  :root[data-design=studio] body :is(dialog,.login-card) {border:1px solid var(--studio-divider);border-radius:1.1rem;box-shadow:0 18px 65px #071c2533}
  :root[data-design=studio] body dialog::backdrop {background:#0b201f99;backdrop-filter:blur(3px)}
  :root[data-design=studio] body #dialog .dialog-heading {padding:1rem 1.15rem;background:var(--ui-paper);border-color:var(--studio-divider)}
  :root[data-design=studio] body #dialog .dialog-heading h2 {font-size:1.5rem;font-weight:750}
  :root[data-design=studio] body #dialog #dialog-body {padding:1rem 1.15rem}
  :root[data-design=studio] body #dialog #dialog-actions {padding:.8rem 1.15rem max(.8rem,env(safe-area-inset-bottom));background:var(--ui-soft);border-color:var(--studio-divider);gap:.65rem}
  :root[data-design=studio] body #dialog #close-dialog {border:1px solid var(--ui-line);border-radius:50%;background:var(--ui-paper);width:44px;height:44px;min-width:44px;flex-shrink:0;line-height:1}
  :root[data-design=studio] body .dialog-body-copy {margin:0 0 .85rem;line-height:1.5}
  :root[data-design=studio] body :is(.admin-group,.lifecycle-filters) {background:var(--ui-soft);padding:.85rem;border-radius:.8rem}
  :root[data-design=studio] body .admin-group h3 {margin:0 0 .55rem;color:var(--ui-muted);font-size:1rem;font-weight:750}
  :root[data-design=studio] body #dialog .admin-actions {margin:0;gap:.6rem}
  :root[data-design=studio] body #dialog .admin-actions button {background:var(--ui-paper);border:1px solid var(--ui-line);border-radius:.75rem;padding:.85rem;box-shadow:0 2px 5px #00000005}
  :root[data-design=studio] body :is(.lifecycle-card,.venue-entry,.device-list article,.print-list article,.cash-entries article) {border-color:var(--studio-divider);background:var(--ui-paper);border-radius:.8rem;padding:.85rem}
  :root[data-design=studio] body .lifecycle-card p {margin:.4rem 0;line-height:1.5}
  :root[data-design=studio] body #member-list .lifecycle-actions {align-items:center}
  :root[data-design=studio] body #member-list .row-actions {margin:0}
  :root[data-design=studio] body #member-list .row-actions>summary {margin:0;min-height:44px;padding:.5rem .7rem;border-radius:.7rem}
  :root[data-design=studio] body .lifecycle-status {background:var(--ui-soft);color:var(--ui-ink);border:1px solid var(--ui-line);border-radius:2rem;font-size:.9rem}
  :root[data-design=studio] body .checkout-grid {gap:1.2rem}
  :root[data-design=studio] body .checkout-grid .checkout-summary {background:var(--ui-soft);border:1px solid var(--studio-divider);border-radius:.9rem;padding:1rem}
  :root[data-design=studio] body .checkout-summary .payment-total {background:var(--studio-strong);color:var(--studio-on-strong);border:0;border-radius:.75rem;padding:1rem;margin:0 0 1rem;gap:.5rem;flex-wrap:wrap}
  :root[data-design=studio] body .checkout-summary .payment-total strong {color:inherit;font-size:2.3rem;line-height:1.2;letter-spacing:-.04em}
  :root[data-design=studio] body .checkout-summary h3 {margin:.55rem 0;font-size:1.2rem}
  :root[data-design=studio] body .payment-choice-main>label {background:var(--ui-paper);border:1px solid var(--ui-line);border-radius:.85rem;padding:.9rem;gap:.6rem}
  :root[data-design=studio] body .payment-choice-main>label:has(:checked) {background:var(--ui-selected);border:2px solid var(--ui-focus);padding:calc(.9rem - 1px)}
  :root[data-design=studio] body .payment-choice-main>label:has(:disabled) {background:var(--ui-soft);color:var(--ui-muted)}
  :root[data-design=studio] body .payment-choice-main strong {font-size:1.1rem;line-height:1.35}
  :root[data-design=studio] body .payment-manual {padding:.65rem;border:1px solid var(--ui-line);border-radius:.6rem}
  :root[data-design=studio] body #cash-field {background:var(--ui-soft);padding:.85rem;border-radius:.8rem}
  :root[data-design=studio] body .change-value {margin:.35rem 0 0;padding:.4rem 0 0;font-weight:750}
  :root[data-design=studio] body :is(.completion-summary,.completion-output) {background:var(--ui-soft);border-color:var(--studio-divider);border-radius:.85rem;padding:1rem}
  :root[data-design=studio] body .completion-summary {border-top:4px solid var(--ui-good)}
  :root[data-design=studio] body .login-card {padding:1.6rem;border-top:4px solid var(--studio-strong)}
  :root[data-design=studio] body .login-card h1 {letter-spacing:-.035em}
  :root[data-design=studio] body .login-card .security-login-note {background:var(--ui-soft);border-color:var(--studio-divider)}
  :root[data-design=studio] body #appearance-dialog .appearance-sample {border-left:4px solid var(--studio-strong);background:var(--ui-soft);padding:.8rem;border-radius:.5rem}
  @media(min-width:75em) {
    :root[data-design=studio] .workspace-page .workspace-brand {flex:1 1 18rem}
    :root[data-design=studio] .workspace-page .main-nav {width:auto;order:0;flex:0 1 auto;padding:0}
    :root[data-design=studio] .workspace-page #member-list .lifecycle-card {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) auto;gap:.4rem 1.1rem;align-items:center}
    :root[data-design=studio] .workspace-page #member-list .lifecycle-card-heading {display:flex;flex-direction:column;align-items:start;gap:.5rem}
    :root[data-design=studio] .workspace-page #member-list .lifecycle-card>.dialog-caption {grid-column:1/-1;margin:0}
    :root[data-design=studio] .workspace-page #member-list .lifecycle-card>.invitation-status {grid-column:1/-1}
  }
  @media(max-width:700px) {
    #appearance-dialog .appearance-design-options {grid-template-columns:minmax(0,1fr)}
    :root[data-design=studio] body #dialog .dialog-heading {padding:.8rem}
    :root[data-design=studio] body #dialog #dialog-body {padding:.8rem}
    :root[data-design=studio] body #dialog #dialog-actions {padding:.75rem}
    :root[data-design=studio] body .checkout-summary .payment-total strong {font-size:1.85rem}
    :root[data-design=studio] .workspace-page .workspace-context {padding:.65rem;gap:.4rem}
    :root[data-design=studio] .workspace-page .main-nav .nav-item {padding:.55rem .65rem}
  }
  :root[data-design=studio][data-spacing=comfortable] body :is(.lifecycle-card,.admin-group,.cart-item,.checkout-grid .checkout-summary) {padding:1.2rem}
  @media(prefers-reduced-motion:reduce) {
    :root[data-design=studio] body :is(button,input,select,textarea,dialog) {transition:none;animation:none}
    :root[data-design=studio] body dialog::backdrop {backdrop-filter:none}
  }
}

/* Shared controls: command buttons are distinct from information and selection tiles.
   Screen-only: physical tickets, receipts and editor canvases keep their own styles. */
@media screen {
  :root {
    --control-bg:#163b53;--control-ink:#fff;--control-hover:#24516d;--control-line:#163b53;
    --field-line:#526878;--field-hover:#edf5fc;--control-quiet-hover:#eef3f7;
    --control-danger:#771b2a;--control-danger-bg:#fff3f4;--control-danger-hover:#ffe5e8;--control-danger-line:#8a2032;
    --required-bg:#ffedb8;--required-ink:#463000;--required-edge:#805b00;
    --action-hover:color-mix(in srgb,var(--action-bg),white 8%);--control-shadow:#142b3b26;
    --button-selected:#173b50;--button-on-selected:#fff;--button-selected-hover:#21475d;
    --button-hover:color-mix(in srgb,var(--ui-soft),white 8%);--button-primary-line:#966000;
    --select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  }
  :root[data-scheme=dark] {
    --control-bg:#dce8f0;--control-ink:#101c26;--control-hover:#f7fbff;--control-line:#dce8f0;
    --field-line:#b0c4d3;--field-hover:#223c50;--control-quiet-hover:#203747;
    --control-danger:#ffe2e7;--control-danger-bg:#38212a;--control-danger-hover:#4b2b37;--control-danger-line:#ffc5d0;
    --required-bg:#ffe3a0;--required-edge:#ffe3a0;--control-shadow:#00000055;
    --button-selected:#deedf6;--button-on-selected:#172b3b;--button-selected-hover:#edf5fa;
    --button-hover:color-mix(in srgb,var(--ui-soft),#496679 8%);--button-primary-line:#e2b55a;
    --select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%23101c26' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  }
  @media(prefers-color-scheme:dark) {
    :root:not([data-scheme=light]) {
      --control-bg:#dce8f0;--control-ink:#101c26;--control-hover:#f7fbff;--control-line:#dce8f0;
      --field-line:#b0c4d3;--field-hover:#223c50;--control-quiet-hover:#203747;
      --control-danger:#ffe2e7;--control-danger-bg:#38212a;--control-danger-hover:#4b2b37;--control-danger-line:#ffc5d0;
      --required-bg:#ffe3a0;--required-edge:#ffe3a0;--control-shadow:#00000055;
      --button-selected:#deedf6;--button-on-selected:#172b3b;--button-selected-hover:#edf5fa;
      --button-hover:color-mix(in srgb,var(--ui-soft),#496679 8%);--button-primary-line:#e2b55a;
      --select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%23101c26' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    }
  }
  :root[data-contrast=high] {--field-line:var(--ui-ink)}
  :root body :where(.primary-button,.secondary-button,.icon-button,.text-button,.appearance-trigger,.button,.button-gold,.button-outline,.button-dark,.view-reset,.feedback-close,.studio-tool,.studio-layer-lock,.studio-panel-close,.security-link,.login-page .quiet-link,.appearance-actions button,.editor-toolbar button,.editor-zoom button,.workspace-menu button,.platform-page button,.studio-library-tabs button,.admission-option,.admission-tabs button) {
    --cmd-bg:var(--control-bg);--cmd-ink:var(--control-ink);--cmd-line:var(--control-line);--cmd-hover:color-mix(in srgb,var(--control-bg),white 8%);
    background:var(--cmd-bg)!important;color:var(--cmd-ink)!important;border:2px solid var(--cmd-line)!important;
    border-radius:9px!important;font-weight:650!important;text-decoration:none!important;
    box-shadow:none!important;filter:none!important;transform:none!important;
    transition:background-color 140ms ease,border-color 140ms ease;
  }
  :root body :is(.button-outline,.security-link,.login-page .quiet-link) {
    --cmd-bg:var(--ui-paper);--cmd-ink:var(--ui-ink);--cmd-line:var(--ui-line);--cmd-hover:var(--button-hover);
  }
  :root body :is(.primary-button,.button-gold) {
    --cmd-bg:var(--action-bg);--cmd-ink:var(--action-ink);--cmd-line:var(--button-primary-line);--cmd-hover:var(--action-hover);
  }
  :root body .button-dark {
    --cmd-bg:var(--button-selected);--cmd-ink:var(--button-on-selected);--cmd-line:var(--button-selected);--cmd-hover:var(--button-selected-hover);
  }
  :root body :is(.danger-action,.danger-button,[data-lifecycle=cancel],[data-lifecycle=delete],[data-lifecycle=purge],[data-lifecycle=block]) {
    --cmd-bg:var(--control-danger-bg);--cmd-ink:var(--control-danger);--cmd-line:var(--control-danger-line);--cmd-hover:var(--control-danger-hover);
  }
  :root body :is([data-lifecycle=archive],[data-lifecycle=unarchive],.quiet-action) {
    --cmd-bg:var(--ui-paper);--cmd-ink:var(--ui-ink);--cmd-line:var(--field-line);--cmd-hover:var(--control-quiet-hover);
  }
  :root body :is(button,.secondary-button)[aria-pressed=false] {
    --cmd-bg:var(--ui-paper);--cmd-ink:var(--ui-ink);--cmd-line:var(--ui-line);--cmd-hover:var(--button-hover);
  }
  :root body :is(button,.secondary-button)[aria-pressed=true],
  :root body :is(.studio-tool.active,.operator-nav [aria-current=page]) {
    --cmd-bg:var(--button-selected);--cmd-ink:var(--button-on-selected);--cmd-line:var(--button-selected);--cmd-hover:var(--button-selected-hover);
  }
  :root body :is(.secondary-button[aria-pressed=true]:not(.icon-button),.admission-option[aria-pressed=true],.admission-tabs button[aria-pressed=true],.studio-library-tabs button[aria-pressed=true])::after {
    content:"✓";display:inline-block;margin-inline-start:.35em;font-weight:750;
  }
  :root body :is(.primary-button,.secondary-button,.icon-button,.text-button,.appearance-trigger,.button,.button-gold,.button-outline,.button-dark,.view-reset,.feedback-close,.studio-tool,.studio-layer-lock,.studio-panel-close,.security-link,.login-page .quiet-link,.appearance-actions button,.editor-toolbar button,.editor-zoom button,.workspace-menu button,.platform-page button,.studio-library-tabs button,.admission-option,.admission-tabs button):disabled {
    --cmd-bg:var(--ui-paper);--cmd-ink:var(--ui-muted);--cmd-line:var(--ui-line);--cmd-hover:var(--ui-paper);
    border-style:dashed!important;opacity:1;cursor:not-allowed;
  }
  @media(hover:hover) and (pointer:fine) {
    :root body :where(.primary-button,.secondary-button,.icon-button,.text-button,.appearance-trigger,.button,.button-gold,.button-outline,.button-dark,.view-reset,.feedback-close,.studio-tool,.studio-layer-lock,.studio-panel-close,.security-link,.login-page .quiet-link,.appearance-actions button,.editor-toolbar button,.editor-zoom button,.workspace-menu button,.platform-page button,.studio-library-tabs button,.admission-option,.admission-tabs button):not(:disabled):hover {
      background:var(--cmd-hover)!important;color:var(--cmd-ink)!important;
      border-color:var(--cmd-ink)!important;
    }
  }
  :root body :where(.primary-button,.secondary-button,.icon-button,.text-button,.appearance-trigger,.button,.button-gold,.button-outline,.button-dark,.view-reset,.feedback-close,.studio-tool,.studio-layer-lock,.studio-panel-close,.security-link,.login-page .quiet-link,.appearance-actions button,.editor-toolbar button,.editor-zoom button,.workspace-menu button,.platform-page button,.studio-library-tabs button,.admission-option,.admission-tabs button):not(:disabled):active {
    box-shadow:inset 0 0 0 2px currentColor!important;
  }
  :root body .payment-choice-main>label {
    border:2px solid var(--ui-line);border-radius:9px;background:var(--ui-paper);color:var(--ui-ink);
  }
  :root body .payment-choice-main>label:has(:checked) {
    background:var(--button-selected);color:var(--button-on-selected);border-color:var(--button-selected);box-shadow:none;
  }
  :root body .payment-choice-main>label:has(:checked) input {accent-color:var(--button-on-selected)}
  :root body .payment-choice-main>label:has(:checked) small {color:inherit}
  :root body .payment-choice-main>label:has(:disabled) {
    background:var(--ui-paper);color:var(--ui-muted);border-style:dashed;cursor:not-allowed;
  }
  :root[data-contrast=high] body {
    --button-primary-line:var(--action-ink);--cmd-line:var(--ui-ink);
  }
  :root body .admin-actions button small {color:inherit!important;font-weight:500}
  :root body :is(button,a.button,a.primary-button,a.secondary-button)::before {scale:1.2}
  :root body :is(button,a.primary-button,a.secondary-button)>svg:where(:not(.seatmap)) {scale:1.2}
  :root body :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=submit]):not([type=button]),select,textarea):not(.studio-object *) {
    border:3px solid var(--field-line)!important;border-radius:8px;font-weight:600!important;
    color:var(--ui-ink);background-color:var(--ui-paper);min-height:48px;
  }
  :root body select:not([multiple]):not([size]),:root body select[size="1"] {
    appearance:none!important;padding-right:3.35rem!important;
    background-image:var(--select-arrow),linear-gradient(var(--control-bg),var(--control-bg))!important;
    background-size:32px 32px,2.65rem 100%!important;background-position:right .4rem center,right center!important;background-repeat:no-repeat!important;
  }
  :root body :is(input,select,textarea)[required]:not(:disabled):not([readonly]):not([type=checkbox]):not([type=radio]):not([type=range]) {border-left:5px solid var(--required-edge)!important}
  :root body :is(input,select,textarea)[aria-invalid=true] {border-color:var(--ui-bad)!important}
  :root body :is(input,select,textarea):disabled {background-color:var(--ui-soft);color:var(--ui-muted);cursor:not-allowed}
  :root body :is(input,textarea)[readonly] {background-color:var(--ui-soft)}
  :root body input[type=color] {padding:4px;min-width:60px}
  :root body input[type=file] {padding:.25rem;font-weight:500!important;overflow-wrap:anywhere}
  :root body input[type=file]::file-selector-button {font:700 1em/1.4 "Segoe UI",Arial,sans-serif;min-height:44px;border:0;border-right:2px solid var(--field-line);padding:.4rem .65rem;margin-right:.6rem;background:var(--control-bg);color:var(--control-ink);white-space:normal;max-width:100%}
  :root body input[type=range] {min-height:44px;accent-color:var(--control-bg);padding:0}
  :root body :is(input[type=checkbox],input[type=radio]) {
    width:28px!important;height:28px!important;min-height:28px!important;min-width:28px!important;flex:0 0 28px;
    accent-color:var(--control-bg);box-shadow:0 0 0 1px var(--field-line);border-radius:3px;
  }
  :root body input[type=radio] {border-radius:50%!important;box-shadow:none}
  :root body .control-label {display:flex;align-items:baseline;flex-wrap:wrap;gap:.3rem .5rem;min-width:0}
  :root body .required-marker {display:inline-block;width:fit-content;max-width:100%;margin-inline-start:.4rem;padding:1px 7px;border-radius:3px;background:var(--required-bg);color:var(--required-ink);font-weight:750;font-size:1em;line-height:1.4}
  :root body .control-label .required-marker {margin-inline-start:0}
  :root body .lifecycle-actions.event-task-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;background:var(--ui-soft);padding:.85rem;border-top:1px solid var(--field-line);border-radius:0 0 .5rem .5rem}
  .event-task-actions h4 {font-size:1rem;line-height:1.4;margin:0 0 .6rem;color:var(--ui-ink)}
  .event-task-actions section {min-width:0}
  .event-task-buttons {display:flex;flex-wrap:wrap;gap:.65rem;align-items:start}
  .event-task-actions .event-task-lifecycle {grid-column:1/-1;padding-top:.8rem;border-top:1px solid var(--field-line);display:flex;flex-wrap:wrap;gap:.65rem}
  @media(max-width:850px) {.lifecycle-actions.event-task-actions{grid-template-columns:minmax(0,1fr)!important}}
  @media(prefers-reduced-motion:reduce) {
    :root body button,:root body a {transition:none!important;transform:none!important}
  }
  @media(forced-colors:active) {
    :root body :is(button,.button,.primary-button,.secondary-button,.text-button,input,select,textarea) {forced-color-adjust:auto!important;box-shadow:none!important}
    :root body select:not([multiple]) {appearance:auto!important;background-image:none!important;padding-right:.75rem!important}
    :root body .required-marker {border:1px solid CanvasText}
  }
}
/* Explicit navigation is available before and after signing in. */
@media screen {
 #appearance-dialog .appearance-heading {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:center}
 #appearance-dialog .appearance-heading>div {grid-column:1;grid-row:1;min-width:0}
 #appearance-dialog .appearance-heading>.appearance-close {grid-column:2;grid-row:1}
 #appearance-dialog .appearance-heading>.appearance-back {grid-column:1/-1;grid-row:2;justify-self:start}
 #appearance-dialog .appearance-navigation {display:flex;align-items:center;justify-content:space-between;gap:.65rem;border-top:1px solid var(--ui-line);padding-top:.75rem;margin-top:.75rem}
 #appearance-dialog .appearance-back {min-height:44px;display:inline-flex;align-items:center;gap:.5rem}
 #appearance-dialog .appearance-close {width:2.8rem;min-width:44px;height:2.8rem;min-height:44px;padding:.3rem;font-size:1.65rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}
}
