:root { color-scheme: dark; }
* { box-sizing: border-box; }
body.ticket-resale-page { margin: 0; background: var(--nm-profile-page-bg); color: var(--nm-shop-text); font-family: var(--nm-shop-font-body); }
.ticket-resale-shell { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding: 34px 0 64px; }
.ticket-resale-back { color: var(--nm-profile-card-muted); text-decoration: none; font-size: .92rem; }
.ticket-resale-hero { padding: 48px 0 32px; max-width: 700px; }
.ticket-resale-kicker { margin: 0 0 8px; color: var(--nm-profile-primary); font-size: .8rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.ticket-resale-hero h1 { margin: 0; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.05; }
.ticket-resale-hero p { color: var(--nm-profile-card-muted); font-size: 1.07rem; line-height: 1.55; }
.ticket-resale-explainer { margin: 0 0 28px; padding: 16px 0; border-block: 1px solid var(--nm-profile-border-strong); }
.ticket-resale-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0; margin: 0; list-style: none; }
.ticket-resale-steps li { display: flex; min-width: 0; align-items: flex-start; gap: 10px; padding: 0 18px; }
.ticket-resale-steps li:first-child { padding-left: 0; }
.ticket-resale-steps li + li { border-left: 1px solid var(--nm-profile-border-soft); }
.ticket-resale-step-icon { display: grid; width: 26px; height: 26px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--nm-profile-primary); color: var(--nm-profile-button-text); font-size: .85rem; font-weight: 850; }
.ticket-resale-steps li > span:last-child { display: grid; gap: 2px; min-width: 0; }
.ticket-resale-steps strong { font-size: .9rem; line-height: 1.25; }
.ticket-resale-steps small { color: var(--nm-profile-card-muted); font-size: .76rem; line-height: 1.4; }
.ticket-resale-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 24px; align-items: start; }
.ticket-resale-list { display: grid; gap: 12px; }
.ticket-resale-card, .ticket-resale-checkout, .ticket-resale-empty, .ticket-resale-notice, .ticket-resale-error { border: 1px solid var(--nm-profile-border-soft); border-radius: var(--nm-shop-radius-lg); background: var(--nm-profile-card-bg); }
.ticket-resale-card { display: flex; align-items: flex-start; gap: 15px; padding: 14px; color: inherit; text-decoration: none; transition: border-color .16s ease, transform .16s ease; }
.ticket-resale-card:hover, .ticket-resale-card.is-selected { border-color: var(--nm-profile-primary); transform: translateY(-1px); }
.ticket-resale-card-media { display: grid; width: 82px; height: 82px; flex: 0 0 auto; place-items: center; overflow: hidden; border-radius: 11px; background: #252a37; }
.ticket-resale-card-media img { width: 100%; height: 100%; object-fit: cover; }
.ticket-resale-card-media.is-placeholder { background: linear-gradient(145deg, #314a40, #1e2631); color: #a4ebd0; }
.ticket-resale-card-media i { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-style: normal; font-size: .85rem; font-weight: 850; }
.ticket-resale-card-copy { display: grid; min-width: 0; gap: 5px; }
.ticket-resale-event { font-weight: 800; font-size: 1.05rem; }
.ticket-resale-meta, .ticket-resale-hint { color: var(--nm-profile-card-muted); font-size: .9rem; }
.ticket-resale-seller { color: var(--nm-profile-card-muted); font-size: .86rem; }
.ticket-resale-price { margin-top: 4px; font-size: 1.15rem; }
.ticket-resale-saving { color: var(--nm-profile-primary); font-size: .88rem; font-weight: 750; }
.ticket-resale-checkout { position: sticky; top: 18px; padding: 24px; }
.ticket-resale-checkout h2 { margin: 0 0 6px; font-size: 1.35rem; }
.ticket-resale-type { margin: 0 0 20px; color: var(--nm-profile-card-muted); }
.ticket-resale-breakdown { margin: 0; }
.ticket-resale-breakdown div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid var(--nm-profile-border-soft); color: var(--nm-profile-card-muted); }
.ticket-resale-breakdown dd { margin: 0; color: var(--nm-profile-card-text); font-weight: 700; text-align: right; }
.ticket-resale-breakdown .ticket-resale-total { padding-top: 14px; color: var(--nm-profile-card-text); font-size: 1.08rem; }
.ticket-resale-hint { line-height: 1.5; margin: 20px 0; }
.ticket-resale-form { display: grid; gap: 12px; }
.ticket-resale-form label { display: grid; gap: 6px; font-size: .86rem; color: var(--nm-profile-card-muted); }
.ticket-resale-form input { min-width: 0; width: 100%; padding: 11px 12px; border: 1px solid var(--nm-profile-border-soft); border-radius: var(--nm-shop-radius-sm); background: var(--nm-profile-card-bg-soft); color: var(--nm-profile-card-text); font: inherit; }
.ticket-resale-form input:focus { outline: 2px solid var(--nm-profile-primary); outline-offset: 1px; }
.ticket-resale-form button { border: 0; border-radius: var(--nm-shop-radius-sm); padding: 13px 16px; background: var(--nm-profile-primary); color: var(--nm-profile-button-text); cursor: pointer; font: inherit; font-weight: 850; }
.ticket-resale-empty, .ticket-resale-notice, .ticket-resale-error { padding: 18px; color: var(--nm-profile-card-muted); }
.ticket-resale-notice { border-color: #387c61; background: #163527; color: #d7f8e7; margin-bottom: 18px; }
.ticket-resale-error { border-color: #a94b58; background: #3b2027; color: #ffd9df; margin-bottom: 12px; }
@media (max-width: 760px) { .ticket-resale-shell { width: min(100% - 24px, 1120px); padding-top: 22px; } .ticket-resale-hero { padding: 34px 0 24px; } .ticket-resale-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 0; } .ticket-resale-steps li { padding: 0 12px; } .ticket-resale-steps li:nth-child(odd) { padding-left: 0; } .ticket-resale-steps li:nth-child(3) { border-left: 0; } .ticket-resale-card-media { width: 72px; height: 72px; } .ticket-resale-layout { grid-template-columns: 1fr; } .ticket-resale-checkout { position: static; } }

.ticket-resale-hero h1, .ticket-resale-checkout h2 { font-family: var(--nm-shop-font-display); }
.ticket-resale-hint a { color: var(--nm-profile-primary); }
