[hidden] { display: none !important; }
.demo-banner { background: #fff1c8; color: #503a08; text-align: center; padding: .6rem 1rem; font-size: .9rem; }
.live-message { margin: 1rem; padding: 1.25rem; text-align: center; color: #25405c; }

.ticket-home { background: #fff; }
.ticket-home .shell { width: min(1120px, calc(100% - 48px)); }
.ticket-contact-bar { background: #151515; color: #fff; }
.ticket-contact-inner, .ticket-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ticket-contact-inner { padding-block: .65rem; }
.ticket-representative { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; line-height: 1.05; }
.ticket-representative span { color: #e6e6e6; font-size: .83rem; font-weight: 650; }
.ticket-representative strong { font-size: 1.38rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ticket-contact-actions { display: flex; align-items: center; gap: .55rem; }
.ticket-contact {
  min-height: 42px; display: flex; align-items: center; justify-content: center; gap: .48em;
  padding: .48rem .85rem; border: 1px solid transparent; border-radius: 8px;
  font-size: .94rem; font-weight: 820; white-space: nowrap;
}
.ticket-contact--chat { color: #221b00; background: #ffe34c; }
.ticket-contact--sms { color: #161616; background: #fff; }
.ticket-contact--phone { color: #fff; background: #343434; border-color: #777; }
.ticket-contact:hover { filter: brightness(1.12); }
.contact-glyph { font-size: 1.1em; line-height: 1; }
.contact-glyph--chat { position: relative; font-size: .95em; line-height: .8; }
.contact-glyph--chat::after { content: ''; position: absolute; left: 2px; bottom: -3px; border: 3px solid transparent; border-left-color: currentColor; }
.ticket-header { min-height: 89px; padding-block: .85rem; color: #151515; }
.ticket-brand { flex-shrink: 0; color: #090909; font-size: clamp(1.7rem, 4vw, 2.55rem); font-weight: 950; letter-spacing: -.105em; white-space: nowrap; }
.ticket-header nav { display: flex; align-items: center; justify-content: center; gap: clamp(.9rem, 2.8vw, 2.1rem); flex-wrap: wrap; font-weight: 770; font-size: .93rem; }
.ticket-header nav a, #bookmark-help { padding-block: .42rem; }
#bookmark-help, .ticket-lookup-link { font-family: inherit; cursor: pointer; color: inherit; background: #fff; }
#bookmark-help { border: 0; padding-inline: 0; font-size: inherit; font-weight: inherit; }
#bookmark-help span { color: #9b7110; }
.ticket-header nav a:hover { text-decoration: underline; text-underline-offset: .3em; }
.ticket-header nav a[aria-current='page'] { box-shadow: inset 0 -2px #262626; }
.ticket-lookup-link { flex-shrink: 0; border: 1px solid #cecece; border-radius: 40px; padding: .48rem .78rem; font-size: .84rem; font-weight: 800; }
.ticket-lookup-link:hover { border-color: #161616; }
.ticket-hero {
  position: relative; isolation: isolate; overflow: hidden; color: #fff;
  background: #111 url('/reference/pc_banner.png') center / cover no-repeat;
}
.ticket-hero-inner { position: relative; display: grid; grid-template-columns: 1fr 1fr; align-items: center; min-height: 400px; gap: 1rem; padding-block: 35px; }
.ticket-hero-copy { text-align: center; position: relative; z-index: 1; }
.ticket-hero-copy h1 { display: grid; gap: .08em; margin: 0; font-size: clamp(1.85rem, 3.7vw, 3.25rem); line-height: 1.16; letter-spacing: -.055em; }
.ticket-hero-copy h1 strong { font-weight: 870; }
.ticket-hero-copy h1 span { font-weight: 480; }
.ticket-hero-copy p { margin: 1.1rem 0 1.35rem; color: #e5e5e5; font-size: clamp(.97rem, 1.6vw, 1.15rem); line-height: 1.5; font-weight: 610; }
.ticket-hero-copy .ticket-hero-kicker { margin: 0 0 .5rem; font-size: .9rem; font-weight: 750; }
.ticket-hero-button { display: inline-flex; align-items: center; gap: .65rem; padding: .65rem 1rem; border: 1px solid #ffffff8c; border-radius: 28px; color: #fff; font-weight: 760; font-size: .92rem; }
.ticket-hero-button:hover { background: #fff; color: #111; }
.ticket-hero-art { position: relative; width: 100%; justify-self: center; transition: transform .32s ease; }
.ticket-hero-art img { width: 100%; height: auto; object-fit: contain; display: block; }
@media (prefers-reduced-motion: reduce) { .ticket-hero-art { transition: none; } }
.ticket-sub-hero { min-height: 200px; display: grid; align-items: center; padding-block: 2rem; text-align: center; }
.ticket-sub-hero h1 { margin: 0; font-size: clamp(1.6rem, 4vw, 2.15rem); letter-spacing: -.045em; }
.ticket-sub-hero h1::after { content:''; display:block; width:3rem; height:2px; background:white; margin:.6rem auto; }
.ticket-sub-hero p { margin: 0; color: #e5e5e5; }
.ticket-sub-icon { display:block; margin:0 0 .15rem; font-size:2.1rem; line-height:1; }
[data-view]:not([data-view='home']) > .ticket-hero:not(.ticket-sub-hero),
[data-view]:not([data-view='home']):not([data-view='apply']) > .ticket-application,
[data-view]:not([data-view='home']):not([data-view='rates']) > .ticket-rate-section,
[data-view='apply'] > .ticket-overview, [data-view='rates'] > .ticket-overview,
[data-view='orders'] .ticket-overview-side,
[data-view='boards'] .ticket-exchanges, [data-view='notices'] .ticket-exchanges, [data-view='faq'] .ticket-exchanges,
[data-view='notices'] #faq, [data-view='faq'] #notices,
[data-view='orders'] .ticket-panel-more, [data-view='notices'] .ticket-panel-more, [data-view='faq'] .ticket-panel-more { display: none; }
[data-view]:not([data-view='home']) .ticket-overview { grid-template-columns: minmax(0, 1fr); }
#apply, #lookup, #live-status, #rates, #faq, #notices { scroll-margin-top: 1rem; }
.ticket-overview { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 15px; align-items: start; margin-block: 38px 24px; }
.ticket-overview-side { display: grid; gap: 15px; min-width: 0; }
.ticket-guide { color: #202020; min-width: 0; padding: 16px; border: 1px solid #ededed; border-radius: 18px; box-shadow: 0 1px 7px #0000000b; background: #fff; }
.ticket-guide h2 { margin: 0; font-size: 1rem; font-weight: 850; }
.ticket-guide p { color: #606060; line-height: 1.55; margin: .45rem 0 0; font-size: .88rem; }
.ticket-panel-heading { display: flex; align-items: center; gap: .62rem; margin-bottom: 12px; position: relative; padding-right: 2.5rem; }
.ticket-panel-more { position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 33px; height: 33px; border-radius: 50%; background: #f3f3f3; color: #444; font-size: 1.28rem; }
.ticket-panel-more:hover { background: #e4e4e4; }
.ticket-panel-heading p { margin: .15rem 0 0; font-size: .8rem; }
.ticket-panel-icon { background: #f2f2f2; color: #222; width: 42px; height: 42px; flex-shrink: 0; border-radius: 50%; display: grid; place-items: center; font-size: 1.38rem; font-weight: 700; }
.ticket-example-label { display: inline-block; background: #fff3c2; color: #5f4500; font-size: .71rem; padding: .16rem .4rem; margin-left: .2rem; border-radius: 5px; vertical-align: middle; }
.ticket-guide .ticket-sample-caption { margin: .35rem 0; color: #5c5140; font-size: .76rem; }
.ticket-live-icon { position:relative; font-size:.67rem; }
.ticket-live-icon::before { content:'↻'; position:absolute; inset:0; display:grid; place-items:center; font-size:1.85rem; font-weight:450; line-height:1; }
.ticket-exchanges { padding: 4px 8px 15px; container-type: inline-size; }
.ticket-exchanges .ticket-panel-heading { gap: 8px; margin-bottom: 14px; padding-right: 0; }
.ticket-exchanges .ticket-panel-icon { width: 50px; height: 50px; }
.ticket-example-label { flex: none; padding: .2rem .45rem; border-radius: 4px; background: #f0f2f4; color: #46515e; font-size: .75rem; white-space: nowrap; }
.ticket-view-switch { display: flex; gap: .22rem; flex-wrap: wrap; }
.ticket-view-switch button { padding: .4rem .58rem; border: 0; border-radius: 6px; background: transparent; color: #4a4a4a; font: 700 .77rem var(--font-body); cursor: pointer; }
.ticket-view-switch button[aria-pressed='true'] { background: #eeeeee; color: #171717; }
.ticket-sample-head, .ticket-sample-row {
  display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) 4rem 4rem 4.75rem 4.6rem;
  align-items: center; gap: .38rem;
}
.ticket-sample-heading-info { grid-column: 1 / 4; text-align: center; }
.ticket-sample-head { padding: .55rem .4rem; color: #575757; font-size: .77rem; border-bottom: 1px solid #ededed; }
.ticket-sample-head > :last-child, .ticket-sample-row > :last-child { text-align: center; justify-self: center; }
.ticket-sample-rows { padding: 0; margin: 0; list-style: none; }
.ticket-sample-row { min-height: 45px; padding: .48rem .4rem; border-bottom: 1px solid #f0f0f0; font-size: .83rem; }
.ticket-sample-row:last-child { border-bottom: 0; }
.ticket-sample-row time { white-space: nowrap; font-variant-numeric: tabular-nums; color: #535353; }
.ticket-sample-clock { text-align: center; color: #535353; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ticket-sample-row strong { font-weight: 720; }
.ticket-sample-product { display: flex; align-items: center; gap: .38rem; min-width: 0; line-height: 1.25; }
.ticket-sample-thumbnail { display: block; flex-shrink: 0; width: 29px; height: 27px; border: 1px solid #eee; border-radius: 6px; background: #f8f8f8; object-fit: contain; }
.ticket-sample-amount { white-space: nowrap; font-variant-numeric: tabular-nums; }
.ticket-sample-customer { display: flex; align-items: center; gap: .26rem; white-space: nowrap; }
.ticket-sample-bank { display: block; flex: 0 0 19px; width: 19px; height: 19px; object-fit: contain; }
.ticket-sample-status { display: inline-block; border-radius: 20px; padding: .28rem .55rem; font-size: .73rem; font-weight: 750; color: #433e3b; background: #f2eeeb; white-space: nowrap; }
.ticket-sample-status--paid { color: #fff; background: #08776e; }
.ticket-sample-status--processing, .ticket-sample-status--reviewing { color: #fff; background: #22569b; }
.ticket-sample-status--declined { color: #fff; background: #b63625; }
.ticket-live-connection { border-bottom: 1px solid #ededed; padding-bottom: .45rem; }
.ticket-guide details { border-top: 1px solid #ededed; padding: .67rem 0; }
.ticket-guide details summary { cursor: pointer; font-weight: 680; font-size: .86rem; }
.ticket-guide details a { color: #164382; text-decoration: underline; }
.ticket-guide details p { margin: .48rem 0 0; }
.ticket-application .gift-sale__layout { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.ticket-application .gift-sale__card, .ticket-application .gift-sale__form-card, .ticket-application .gift-sale__registry { border-color: #e9e9e9; background: #fff; color: #161616; box-shadow: 0 1px 7px #0000000b; }
.ticket-application .gift-sale__choice { border-color: #e7e7e7; background: #fff; color: #181818; }
.ticket-application .gift-sale__choice-icon { overflow: hidden; }
.ticket-application .gift-sale__choice-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ticket-pin-tools { display: flex; gap: .6rem; align-items: baseline; }
.ticket-application .gift-sale__choice--active { background: #3b3b3b; color: #fff; border-color: #3b3b3b; }
.ticket-application .gift-sale__choice--active > :last-child { color: #ebebeb; }
.ticket-application .gift-sale__form input:not([type=checkbox]) { background: #f7f7f7; color: #1a1a1a; border-color: #dedede; }
.ticket-application .gift-sale__submit { background: #222; color: #fff; }
.ticket-select-bank { width: 100%; text-align: left; background: #f7f7f7; color: #222; border: 1px solid #dedede; border-radius: 13px; padding: .8rem .7rem; font: inherit; cursor: pointer; }
.ticket-bank-search { display: block; margin: .8rem 0 .3rem; font-weight: 670; }
#bank-search { width: 100%; min-height: 40px; border: 1px solid #ccc; border-radius: 9px; padding-inline: .6rem; font: inherit; }
.ticket-bank-list { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem; max-height: min(55vh, 390px); overflow: auto; margin-top: .65rem; }
#bank-list .ticket-bank-option { background: #f6f6f6; color: #222; display: flex; align-items: center; gap: .45rem; text-align: left; font-size: .82rem; }
#bank-list .ticket-bank-option:hover { background: #e9e9e9; }
.ticket-bank-option img { width: 22px; height: 22px; object-fit: contain; }
@media (max-width: 820px) {
  .ticket-header { flex-wrap: wrap; gap: .4rem; }
  .ticket-header nav { order: 1; width: 100%; justify-content: flex-start; }
  .ticket-hero-inner { min-height: 310px; }
  .ticket-application .gift-sale__layout { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
  .ticket-sample-head .ticket-sample-clock { display: none; }
  .ticket-sample-head, .ticket-sample-row { grid-template-columns: 2.55rem minmax(0, 1fr) 4rem 4.6rem; }
  .ticket-sample-row { row-gap: .25rem; }
  .ticket-sample-row .ticket-sample-clock { grid-row: 2; grid-column: 2; justify-self: start; font-size: .7rem; }
  .ticket-sample-row .ticket-sample-clock:nth-of-type(4) { margin-left: 3.6rem; }
  .ticket-sample-row .ticket-sample-status { grid-column: 4; grid-row: 1 / span 2; }
  .ticket-sample-product { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: .3rem; row-gap: .12rem; }
  .ticket-sample-thumbnail { width: 24px; height: 25px; grid-row: 1 / span 2; }
  .ticket-sample-amount { grid-column: 2; font-size: .73rem; color: #595959; }
}
@media (max-width: 600px) {
  .ticket-home .shell { width: calc(100% - 28px); }
  .ticket-contact-inner { flex-direction: column; gap: .5rem; }
  .ticket-contact-actions { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; }
  .ticket-contact { padding-inline: .22rem; font-size: .84rem; min-height: 44px; }
  .ticket-header { min-height: auto; padding-block: .65rem .45rem; }
  .ticket-header nav { font-size: .78rem; gap: 0 clamp(.55rem, 3vw, .85rem); }
  .ticket-hero-inner { grid-template-columns: 1fr; gap: .65rem; padding-block: 28px 34px; }
  .ticket-hero { background-image: url('/reference/mobile_banner.png'); }
  .ticket-sub-hero { min-height: 180px; }
  .ticket-hero-copy p { margin: .65rem 0 .85rem; }
  .ticket-hero-art { width: min(310px, 85%); }
  .ticket-overview { grid-template-columns: 1fr; margin-block: 18px; }
  .ticket-guide { padding: 12px; }
  .ticket-sample-head, .ticket-sample-row { grid-template-columns: 2.05rem minmax(0, 1fr) 3.65rem 3.95rem; column-gap: .23rem; }
  .ticket-sample-row { font-size: .75rem; padding-inline: 0; }
  .ticket-sample-row .ticket-sample-clock { font-size: .67rem; }
  .ticket-sample-row .ticket-sample-clock:nth-of-type(4) { margin-left: 3.2rem; }
  .ticket-sample-status { padding-inline: .35rem; font-size: .68rem; }
}

.gift-sale__mode label, .order-lookup label { display: block; margin-bottom: .4rem; font-weight: 650; }
.gift-sale__mode--entry textarea, .gift-sale__mode--entry input, .order-lookup input {
  width: 100%; padding: .65rem .7rem; border: 1px solid #c1cce0; border-radius: 8px;
  background: #fff; color: #132c4b; font: inherit; box-sizing: border-box;
}
.gift-sale__mode--entry textarea { resize: vertical; }
.gift-sale__mode--entry .gift-sale__pin-entry { display: block; margin: 0 0 .7rem; }
.gift-sale__mode--entry .gift-sale__register { margin-top: .6rem; }
.gift-sale__mode--entry #pin-feedback { margin-top: .6rem; }
.gift-sale__mode--entry #pin-feedback:empty { display: none; }
.candidate-row, .registered-row, .order-consent { display: flex; align-items: center; gap: .6rem; }
.candidate-row { margin: .5rem 0; }
.candidate-row input { min-width: 0; }
.candidate-row .gift-sale__register { flex-shrink: 0; margin-top: 0; }
.registered-list { display: grid; gap: .35rem; }
.registered-row { justify-content: space-between; padding: .55rem; border-bottom: 1px solid #d8e5f6; }
.registered-row strong, .registered-row span { display: block; }
.registered-row span { color: #415d7e; font-size: .85rem; }
.order-consent { flex-wrap: wrap; }
.text-button { color: #164382; text-decoration: underline; font: inherit; background: none; border: 0; cursor: pointer; }
.order-lookup { margin: .5rem 0 0; padding: .8rem; background: #f4f8ff; color: #18395e; border-radius: 12px; }
.order-lookup summary { cursor: pointer; font-weight: 650; }
.order-lookup form { margin-top: .7rem; }
.order-lookup p { overflow-wrap: anywhere; }
.order-lookup button, dialog button, .admin-page button {
  background: #1656ac; color: white; border: 0; border-radius: 8px; padding: .55rem .8rem;
  font: inherit; font-weight: 650; cursor: pointer;
}
.order-lookup button { margin-top: .5rem; }
button:disabled { cursor: default; opacity: .65; }
.gift-sale__status { overflow-wrap: anywhere; }
dialog { max-width: min(90vw, 36rem); max-height: 85vh; padding: 1.3rem; border: 1px solid #bdcde4; border-radius: 16px; background: #fff; color: #143053; }
dialog::backdrop { background: #061936aa; }
dialog p { line-height: 1.55; }
.ticket-dialog { width: min(calc(100vw - 32px), 420px); border: 1px solid #e4e4e4; color: #151515; }
.ticket-dialog-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.ticket-dialog-heading h2 { margin: 0; }
.ticket-dialog-heading button { padding: .25rem .6rem; font-size: 1.3rem; color: #222; background: #f0f0f0; }
.ticket-dialog #lookup-form { display: grid; gap: .5rem; }
.ticket-dialog #lookup-form input, .ticket-dialog #lookup-form button { min-height: 43px; font: inherit; border-radius: 9px; }
.ticket-dialog #lookup-form input { width: 100%; padding: .55rem; border: 1px solid #c9c9c9; }
.ticket-dialog #lookup-form button { background: #242424; color: #fff; }
.admin-page { margin: 0; background: #eaf2ff; color: #143053; font: 16px/1.5 system-ui, sans-serif; }
.admin-shell { max-width: 970px; margin: 0 auto; padding: 1.3rem; }
.admin-header, .admin-actions { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.admin-header h1 { margin: .4rem 0; }
.admin-header a { color: #164382; font-weight: 750; }
.admin-card { padding: 1.2rem; background: #fff; border: 1px solid #d8e5f6; border-radius: 16px; }
.admin-card h2, .admin-actions h2 { margin: 0 0 .6rem; }
.admin-page label { display: block; margin: .55rem 0 .3rem; }
.admin-page input, .admin-page select {
  display: block; max-width: 100%; padding: .55rem .6rem; margin: .15rem 0 .65rem;
  background: white; border: 1px solid #aebfd8; border-radius: 8px; color: #132c4b; font: inherit;
}
.admin-page ul { list-style: none; padding: 0; }
.admin-page li { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; padding: .65rem 0; border-bottom: 1px solid #d8e5f6; }
.admin-page li span { flex: 1; }
.admin-page dl { display: grid; grid-template-columns: minmax(5rem, auto) minmax(0, 1fr); gap: .4rem 1rem; }
.admin-page dd { margin: 0; overflow-wrap: anywhere; }
.admin-page dt { font-weight: 650; }
.admin-page dialog { width: 34rem; box-sizing: border-box; }

.exchange-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:16px; align-items:start; }
.exchange-left { display:grid; gap:16px; min-width:0; }
.exchange-card { min-width:0; padding:16px; color:#161a1e; background:#fff; border:1px solid #eee; border-radius:17px; box-shadow:0 1px 6px #38414a26; }
.exchange-heading { display:flex; align-items:center; gap:8px; margin:0 0 16px; line-height:1.18; }
.exchange-heading h2 { margin:0 0 2px; font-size:1.03rem; font-weight:820; }
.exchange-heading p { margin:0; font-size:.83rem; color:#555f68; }
.exchange-icon { width:50px; height:50px; flex:0 0 50px; display:grid; place-items:center; background:#f4f4f4; border-radius:50%; color:#3d3d3d; }
.exchange-icon svg { width:28px; height:28px; }
.exchange-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.exchange-grid .gift-sale__choice { display:flex; position:relative; align-items:center; text-align:left; gap:8px; min-width:0; width:100%; min-height:54px; padding:8px 10px; border:1px solid #efefef; border-radius:17px; color:#31363a; background:#fff; box-shadow:0 1px 6px #38414a23; font:inherit; cursor:pointer; }
.exchange-grid .gift-sale__choice strong { min-width:0; font-size:.79rem; color:inherit; font-weight:550; line-height:1.23; }
.exchange-grid .gift-sale__choice--active { color:#fff; background:#515151; border-color:#515151; }
.exchange-grid .gift-sale__choice--active strong { font-weight:780; }
.exchange-card-logos { display:flex; flex-shrink:0; align-items:center; gap:5px; }
.exchange-card-logos img { display:block; width:36px; height:36px; border-radius:7px; background:#fff; object-fit:contain; }
.exchange-rate { position:absolute; top:-8px; right:-3px; color:white; padding:.23rem .36rem; background:#d7273d; border-radius:7px; font-size:.73rem; font-weight:800; }
.exchange-product-notes { grid-column:1 / -1; list-style:none; display:grid; gap:8px; margin:0; padding:20px; border-radius:17px; background:#f5f5f5; font-size:.82rem; }
.exchange-product-notes li::before { content:'✓'; margin-right:.7rem; font-weight:900; color:#515151; }
.exchange-collapsible summary { display:flex; align-items:center; justify-content:space-between; cursor:pointer; gap:.6rem; list-style:none; }
.exchange-collapsible summary::-webkit-details-marker { display:none; }
.exchange-collapsible summary .exchange-heading { margin:0; }
.exchange-chevron { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#f4f4f4; color:#555; font-size:1.2rem; }
.exchange-collapsible:not([open]) .exchange-chevron { transform:rotate(180deg); }
.exchange-hint { margin:14px 0 5px; font-size:.83rem; }
#pasted-pins { display:block; width:100%; min-height:128px; padding:16px; border:0; border-radius:17px; background:#f5f5f5; resize:vertical; font:inherit; font-size:.83rem; }
.exchange-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:16px; }
.exchange-tools button { min-height:54px; padding:.5rem; border:1px solid #eee; box-shadow:0 1px 6px #38414a26; border-radius:17px; background:#fff; color:#222; font:inherit; font-size:.86rem; font-weight:700; cursor:pointer; }
.exchange-tools button:hover, .exchange-grid .gift-sale__choice:not(.gift-sale__choice--active):hover { background:#f7f7f7; }
.exchange-direct { display:grid; grid-template-columns:minmax(0,1fr) clamp(96px,12vw,128px); gap:8px; }
.exchange-direct input, .exchange-form > input:not([type=hidden]), .exchange-form > .ticket-select-bank, #pin-candidates input { min-width:0; min-height:51px; padding:12px; border:1px solid #d9dde3; border-radius:16px; background:#f5f5f5; color:#222; font:inherit; font-size:.83rem; }
.exchange-direct input { width:100%; }
.exchange-direct .gift-sale__register { width:auto; min-width:0; margin:0; padding-inline:.5rem; }
.exchange-account .exchange-form { display:grid; gap:16px; }
.exchange-form input::placeholder, #pasted-pins::placeholder { color:#525960; opacity:1; }
.exchange-remember { justify-self:end; font-size:.78rem; }
.exchange-remember input, .order-consent input { accent-color:#515151; vertical-align:middle; }
.exchange-rules { padding-top:16px; border-top:1px dashed #e5e5e5; }
.exchange-rules h3 { text-align:center; margin:0 0 13px; font-size:1rem; }
.exchange-rules p { margin:0; font-size:.8rem; line-height:1.45; }
.exchange-form .gift-sale__submit { min-height:52px; border-radius:17px; background:#515151; color:#fff; box-shadow:0 1px 6px #38414a26; }
.exchange-form .order-consent { display:flex; justify-content:space-between; gap:.5rem; font-size:.78rem; }
.exchange-form .order-consent button { text-decoration:none; color:#222; padding:0; }
#pin-feedback:empty, #direct-feedback:empty, #order-feedback:empty { display:none; }
#pin-feedback, #direct-feedback { margin:.65rem 0 0; font-size:.82rem; }
#pin-candidates .candidate-row input { flex:1; }
#live-board { --live-columns: 2.8rem minmax(0,1fr) 3.75rem 5.75rem 5.65rem 5.8rem; }
.ticket-real-heading, #live-rows .live-board__row { display:grid; grid-template-columns:var(--live-columns); gap:.4rem; align-items:center; padding:.36rem 0; }
.ticket-real-heading { color:#6e6e6e; font-size:.76rem; text-align:center; border-bottom:1px solid #eee; }
.ticket-real-heading > :first-child { grid-column:span 3; }
.ticket-real-heading > :nth-child(2) { grid-column:4; }
#live-rows .live-board__row { grid-template-areas:"date name customer time duration status"; min-height:46px; height:auto; width:100%; background:#fff; border:0; border-bottom:1px dotted #ededed; color:inherit; text-align:left; font:inherit; }
#live-rows { overflow:hidden; }
[data-view='home'] #live-rows { max-height:368px; }
.activity-track { position:relative; }
.activity-track .activity-next { position:absolute; top:100%; inset-inline:0; }
.activity-track--sliding { animation: activity-slide .3s ease-in-out forwards; }
@keyframes activity-slide { to { transform:translateY(var(--activity-slide-offset)); } }
.activity-date { grid-area:date; font-size:.82rem; font-variant-numeric:tabular-nums; color:#363636; }
.activity-gift-image, .registry-gift-image { width:28px; height:28px; object-fit:contain; flex:none; vertical-align:middle; }
.registry-gift-image { margin-right:.45rem; }
#live-rows .live-board__name { grid-area:name; display:flex; gap:.42rem; align-items:center; font-size:.82rem; }
#live-rows .live-board__name img { box-sizing:border-box; width:34px; height:34px; padding:3px; border-radius:8px; background:#f5f5f5; }
#live-rows .live-board__name span { min-width:0; overflow-wrap:anywhere; }
#live-rows .live-board__name strong { display:inline; color:inherit; font:inherit; font-weight:700; white-space:nowrap; }
.activity-customer { grid-area:customer; display:flex; align-items:center; gap:4px; min-width:0; font-size:.75rem; white-space:nowrap; }
.activity-customer img { flex:none; width:20px; height:20px; object-fit:contain; }
#live-rows .live-board__status { grid-area:status; justify-self:center; text-align:center; }
#live-rows .status-pill { min-height:25px; min-width:64px; gap:3px; padding:0 .45rem; font-size:.72rem; white-space:nowrap; }
#live-rows .status-pill--paid { background:#007e71; color:#fff; }
#live-rows :is(.status-pill--reviewing, .status-pill--processing) { background:#3268bf; color:#fff; }
.activity-progress { width:11px; height:11px; border:2px solid currentColor; border-left-color:transparent; border-radius:50%; }
@media (prefers-reduced-motion: no-preference) {
  .activity-progress { animation: activity-spin .8s linear infinite; }
}
@keyframes activity-spin { to { transform:rotate(1turn); } }
.status-pill--declined { background:#f8e9e6; color:#8b2119; }
.ticket-real-time, .ticket-real-duration { text-align:center; font-size:.78rem; font-variant-numeric:tabular-nums; }
.ticket-real-time { grid-area:time; }
.ticket-real-duration { grid-area:duration; }
@container (max-width: 605px) {
  #live-board { --live-columns: 2.4rem minmax(0,1fr) 3.4rem 4.3rem 4.4rem 4.45rem; }
  .ticket-real-heading, #live-rows .live-board__row { gap:.24rem; }
  .activity-customer { gap:3px; font-size:.68rem; }
  .activity-customer img { width:16px; height:16px; }
}
@container (max-width: 450px) {
  #live-board { --live-columns: 28px minmax(0,1fr) 40px 42px 46px 48px; }
  .ticket-real-heading, #live-rows .live-board__row { gap:2px; }
  .ticket-real-heading { font-size:.67rem; }
  .activity-customer { gap:2px; font-size:.64rem; }
  .activity-customer img { width:13px; height:13px; }
  #live-rows .live-board__name img { width:19px; height:19px; padding:2px; }
  #live-rows .live-board__name { gap:3px; font-size:.69rem; line-height:1.22; }
  #live-rows .live-board__name span { word-break:keep-all; }
  .activity-date { font-size:.64rem; white-space:nowrap; }
  #live-rows .status-pill { min-width:0; min-height:21px; gap:2px; padding:0 .22rem; font-size:.64rem; }
  .activity-progress { width:8px; height:8px; border-width:1px; }
  .ticket-real-time, .ticket-real-duration { font-size:.64rem; white-space:nowrap; }
}
@media (max-width:600px) {
  #live-status { margin-inline:-10px; padding-inline:6px; }
}
@media(max-width:900px) { .exchange-layout { grid-template-columns:minmax(0,1fr); } }
@media(max-width:600px) {
  .exchange-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .exchange-card-logos img { width:24px; height:24px; }
  .exchange-grid .gift-sale__choice { gap:5px; padding:6px; }
  .exchange-tools { gap:7px; }
  .exchange-tools button { font-size:.73rem; }
}

.exchange-pin-fields { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:8px; min-width:0; }
.exchange-pin-fields input { padding-inline:4px; text-align:center; }
.exchange-drop { display:grid; justify-items:center; gap:.5rem; border:1px dashed #d6dbe1; background:#f6f6f6; border-radius:17px; padding:20px; margin:.75rem 0; text-align:center; }
.exchange-drop p { margin:0; font-size:.83rem; }
.exchange-drop > span { font-size:1.65rem; color:#606060; }
.exchange-drop button { background:#fff; border:1px solid #ddd; border-radius:10px; padding:.5rem .9rem; font:inherit; cursor:pointer; }
.exchange-image-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(75px,1fr)); gap:.5rem; list-style:none; padding:0; margin:.65rem 0; }
.exchange-image-grid:empty { display:none; }
.exchange-image-grid img { display:block; width:100%; max-height:160px; object-fit:contain; border:1px solid #eee; border-radius:8px; }
#attachments label { display:block; margin:.75rem 0 .4rem; font-size:.83rem; font-weight:700; }
#attachment-feedback { margin:.55rem 0 0; font-size:.82rem; }
#attachment-feedback:empty { display:none; }
.exchange-support-grid { display:grid; gap:14px; }
.exchange-support-grid section { padding:16px; border-radius:14px; background:#f6f6f6; }
.exchange-support-grid h3, .exchange-caution h3 { margin:0; font-size:.95rem; }
.exchange-support-grid p { margin:.45rem 0 .65rem; font-size:.83rem; }
.exchange-support-grid .ticket-contact { display:inline-flex; }
.exchange-support-actions { display:flex; flex-wrap:wrap; gap:.35rem; }
.exchange-caution { border-top:1px solid #eee; padding-top:16px; margin-top:16px; }
.exchange-caution ul { margin:.6rem 0 0; padding-inline-start:1.25rem; line-height:1.65; font-size:.84rem; }
.exchange-guide { scroll-margin-top:1rem; }
[data-view]:not([data-view='home']):not([data-view='apply']):not([data-view='boards']) > .exchange-guide { display:none; }
@media(max-width:600px) {
  .exchange-support-grid { grid-template-columns:1fr; }
  .exchange-pin-fields { gap:4px; }
  .exchange-pin-fields input { padding-inline:3px; }
}
[data-view] .ticket-brand img { display:block; height:49px; width:auto; max-width:155px; object-fit:contain; }
.lookup-orders { list-style:none; padding:0; margin:.65rem 0; }
.lookup-orders li { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:.45rem; align-items:center; text-align:left; padding:.35rem .3rem; border-bottom:1px solid #eee; font-size:.84rem; }
.ticket-rate-table { width:100%; margin-top:.75rem; text-align:left; border-collapse:collapse; font-size:.88rem; }
.ticket-rate-table :is(th, td) { padding:.55rem .35rem; border-bottom:1px solid #eee; }
.ticket-rate-table thead { background:#f6f6f6; }
.ticket-rate-table img { margin-right:.4rem; }
.ticket-rate-table td { white-space:nowrap; }
.ticket-rate-table a { text-decoration:underline; }
.ticket-home .footer__brand img { height:auto; max-width:132px; }
@media(max-width:600px) { [data-view] .ticket-brand img { height:38px; } }

.ticket-contact-bar { position:sticky; top:0; z-index:10; background:#191510; border-bottom:1px solid #614b2d; }
.ticket-representative strong { color:#ffdf8a; }
.ticket-contact-actions .ticket-contact { min-height:44px; }
.ticket-contact-actions .ticket-contact--phone { background:#8b2925; border-color:#c66958; }
[data-view] .ticket-brand img { height:auto; width:clamp(110px, 15vw, 170px); max-width:unset; border-radius:5px; }
#apply, #attachments, #live-status, #exchange-caution { scroll-margin-top:6rem; }
#direct-title, .registry-heading h2 { letter-spacing:-.025em; }
.exchange-pin-fields input {
  height:40px; min-height:40px; border:none; border-radius:16px; background:#f5f5f5;
}
.exchange-pin-fields input::placeholder { color:#606873; }
.exchange-direct--pin .gift-sale__register {
  background:#515151; color:#fff; border:0; border-radius:16px; min-height:40px;
  padding-block:0; box-shadow:0 1px 5px #38414a26;
}
.exchange-card.gift-sale__registry { background:white; border-radius:17px; }
.registry-heading { margin-bottom:16px; }
.registry-heading #registered-count { color:inherit; font:inherit; }
#registered-list.gift-sale__empty {
  display:flex; flex-direction:column; justify-content:center; align-items:center; gap:.65rem;
  min-height:132px; margin:0; color:#6a6a6a; background:#f6f6f6; border:0; border-radius:17px;
}
#registered-list.gift-sale__empty p { font-size:.89rem; margin:0; }
.registry-empty-icon { display:grid; place-items:center; width:48px; height:48px; border:3px solid #a2a2a2; border-radius:50%; color:#858585; font-size:1.9rem; line-height:1; font-weight:800; }
@media(max-width:600px) {
  [data-view] .ticket-brand img { width:113px; }
  #apply, #attachments, #live-status, #exchange-caution { scroll-margin-top:8rem; }
}
@media(max-width:420px) {
  .exchange-direct--pin { grid-template-columns:minmax(0,1fr); }
}
