/* CardBull corporate refresh. Presentation only; existing page and app contracts remain intact. */
:root {
  --font-head: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --ink: #17243a;
  --ink-hover: #283951;
  --ink-active: #0d192b;
  --text: #3e4a5d;
  --text-muted: #657083;
  --text-subtle: #6b7586;
  --paper: #ffffff;
  --paper-2: #f1f3f6;
  --field: #f1f3f6;
  --rule: #e0e4ea;
  --rule-strong: #cbd2dd;
  --control: #8b95a5;
  --control-hover: #617087;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --header-h: 76px;
  --brand: #c91e2b;
  --shadow-float: 0 2px 5px rgba(23,36,58,.03), 0 18px 48px -18px rgba(23,36,58,.2);
}

/* Shared typography and navigation */
html:not(.owner-page):not(.shows-add) body { background: #f6f7f9; }
h1, h2, h3, h4 { letter-spacing: -.025em; }
.h1 { font-weight: 600; line-height: 1.08; letter-spacing: -.045em; }
.h1-auth { font-weight: 600; letter-spacing: -.04em; }
.kicker { letter-spacing: .12em; font-size: 11px; }
html:not(.owner-page) .site-header {
  border-bottom: 1px solid var(--rule);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
html:not(.owner-page) .site-header.is-scrolled { box-shadow: 0 4px 20px rgba(23,36,58,.035); }
.site-header .wordmark { font-size: 16px; }
.site-header .wordmark__logo { height: 27px; }
.nav-link { font-size: 13px; font-weight: 500; }
.nav-link[aria-current="page"] { color: var(--brand); }
.header-aside { font-size: 13px; }
.site-header .header-cta { border-radius: 8px; }
@media (min-width: 960px) {
  .site-header__left { gap: 38px; }
  .site-nav { gap: 25px; }
  .site-header__right { gap: 22px; }
}
@media (max-width: 639.98px) {
  :root { --header-h: 68px; }
  .site-header .wordmark__logo { height: 24px; }
}
@media (max-width: 380px) {
  html:not(.owner-page) .site-header__inner { gap: 8px; }
  html:not(.owner-page) .site-header__left { min-width: 0; }
  html:not(.owner-page) .site-header__right { flex: none; gap: 4px; }
  html:not(.owner-page) .site-header .wordmark { flex: none; }
  html:not(.owner-page) .site-header .wordmark__logo { height: 22px; }
  html:not(.owner-page) .site-header .header-cta { padding-inline: 8px; font-size: 11px; }
  html:not(.owner-page) .site-header .menu-btn { flex: 0 0 44px; width: 44px; height: 44px; }
}

/* Buttons retain existing state and accessibility behavior. */
.btn { letter-spacing: -.01em; transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease; }
html:not(.owner-page):not(.shows-add) .btn--primary { background: var(--brand); border-color: var(--brand); color: #fff; }
html:not(.owner-page):not(.shows-add) .btn--primary[aria-busy="true"] { background: #a91824; border-color: #a91824; }
html:not(.owner-page):not(.shows-add) .btn--primary:active { background: #9c1420; border-color: #9c1420; }
html:not(.owner-page):not(.shows-add) .btn--primary:disabled { background: var(--paper-2); border-color: var(--rule); color: var(--control); }
html:not(.owner-page) .btn--secondary { border-color: var(--rule-strong); }
@media (hover: hover) {
  html:not(.owner-page):not(.shows-add) .btn--primary:hover:not(:disabled) { background: #ad1925; border-color: #ad1925; box-shadow: 0 4px 12px rgba(201,30,43,.13); }
  html:not(.owner-page) .btn--secondary:hover { border-color: var(--ink); }
}
.label, .label-row { font-size: 13px; font-weight: 600; }
.input { box-shadow: 0 1px 2px rgba(23,36,58,.025); }
.input:focus { box-shadow: 0 0 0 3px rgba(23,36,58,.09); }
.input[aria-invalid="true"]:focus { box-shadow: 0 0 0 3px rgba(180,35,24,.1); }
.card { box-shadow: 0 3px 14px rgba(23,36,58,.025); }
html:not(.owner-page) .badge--neutral { color: #536075; background: #edf0f5; border-color: transparent; }

/* Auth: a clear, focused workspace. */
.auth { padding-block: 64px 88px; }
.auth--narrow > .container--form {
  width: calc(100% - 40px);
  max-width: 488px;
  padding: 40px;
  background: #fff;
  border: 1px solid var(--rule);
  border-radius: 14px;
  box-shadow: 0 10px 44px rgba(23,36,58,.045);
}
.auth-sub { font-size: 15px; line-height: 1.7; }
.auth-hint { padding-top: 24px; border-top: 1px solid var(--rule); font-size: 13px; }
.auth .form { gap: 22px; }
.auth .form .btn--lg { height: 50px; font-size: 14px; }
.auth-alt { font-size: 14px; }
.join-form { padding: 32px; max-width: 470px; background: #fff; border: 1px solid var(--rule); border-radius: 14px; }
.trial-plate { background: #edf0f5; border: 1px solid var(--rule); }
.plan-option { border-radius: 10px; }
.plan-option:has(input:checked) { background: #f7f9fc; }
@media (min-width: 960px) {
  .join-form { grid-column: 1 / 7; }
  .trial-plate { grid-column: 8 / 13; padding: 32px; }
}
@media (max-width: 599.98px) {
  .auth { padding-block: 32px 56px; }
  .auth--narrow > .container--form { padding: 28px 24px; }
  .join-form { padding: 26px 22px; max-width: none; }
  .trial-plate { padding: 26px 22px; }
}

/* Account and upcoming shows */
.account, .shows { padding-block: 56px 88px; }
html:not(.owner-page) .account__rows { padding: 0 32px; background: #fff; border: 1px solid var(--rule); border-radius: 14px; }
html:not(.owner-page) .acct-row:first-child { border-top: 0; }
html:not(.owner-page) .account .h2-compact { font-size: 18px; }
.shows__head { max-width: 760px; }
.shows__head .kicker { color: var(--brand); }
.shows__tools { padding: 24px; background: #fff; border: 1px solid var(--rule); border-radius: 14px; }
.show { box-shadow: 0 2px 10px rgba(23,36,58,.02); }
.show__date { background: #f4f6f9; }
.show__day { color: var(--brand); }
@media (max-width: 639.98px) {
  .account, .shows { padding-block: 36px 64px; }
  html:not(.owner-page) .account__rows { padding-inline: 20px; }
  .shows__tools { padding: 20px; }
}

/* Help and long-form reading */
.legal { padding-block: 64px 96px; }
.legal__title .kicker, .help-hero .kicker { color: var(--brand); }
.short-version { background: #fff; border: 1px solid var(--rule); padding: 28px; }
.short-version .icon { color: var(--brand); }
.toc > .kicker { color: var(--ink); }
.toc a { padding-block: 6px; font-size: 13px; }
.toc a[aria-current="true"], .toc a[aria-current="page"] { border-left-color: var(--brand); }
.prose { font-size: 16px; line-height: 1.8; }
.prose h2 { font-size: 23px; }
.prose th { background: #edf0f5; }
.help-hero { max-width: 760px; }
.help-hero .h1 { font-size: clamp(2.25rem, 1.7rem + 2vw, 3.5rem); }
.help-hero .lead { font-size: 17px; color: var(--text-muted); }
.help-search { margin-top: 28px; }
.help-search .input { border-color: var(--rule-strong); background: #fff; box-shadow: 0 3px 12px rgba(23,36,58,.03); }
.help-search .btn { padding-inline: 24px; font-size: 14px; }
.help-topic { transition: border-color .2s ease, box-shadow .2s ease; }
.help-topic__icon, .help-news__icon { background: #f9ebed; color: var(--brand); }
.help-topic .h3 { font-size: 18px; }
.help-topic__list a { font-size: 14px; padding-block: 12px; }
.help-topic__list .badge { font-size: 10px; }
.help-topic:target { border-color: var(--brand); }
.help-panel { background: #fff; }
.help-panel .kicker { color: var(--brand); }
.help-support { background: #fff; border: 1px solid var(--rule); padding: 28px; }
.help-steps > li::before { border-color: #dce2ea; background: #eaf0f7; }
@media (hover: hover) { .help-topic:hover { border-color: #cbd2dd; box-shadow: 0 6px 20px rgba(23,36,58,.04); } }
@media (max-width: 639.98px) {
  .legal { padding-block: 36px 64px; }
  .short-version { padding: 22px; }
  .short-version li { font-size: 15px; }
  .help-support { padding: 22px; }
}

/* Organizer page: quiet brand surface; retain the existing form and color modes. */
html.shows-add { --sheet-r: 14px; --card-r: 14px; --navy: #17243a; }
html.shows-add .site-header { background: #17243a; border-bottom-color: rgba(255,255,255,.12); }
html.shows-add .site-header.is-scrolled { background: var(--paper); border-bottom-color: var(--rule); }
.sa-hero__photo { background: radial-gradient(ellipse at 90% 30%, rgba(201,30,43,.13), transparent 55%), #17243a; }
.sa-title { font-weight: 600; letter-spacing: -.045em; }
.sa-sheet { box-shadow: none; border-top: 1px solid var(--rule); }
.sa-group__title { font-weight: 600; }
.sa-group__num { border-radius: 10px; }
.chip { border-radius: 8px; }

/* Dashboard keeps its compact layout and dark color system. */
html.owner-page { --header-h: 64px; }
html.owner-page .site-header { border-bottom-color: var(--rule); }
html.owner-page .site-header .wordmark__logo { height: 25px; }
html.owner-page .card { box-shadow: none; }

/* Supporting-page footer */
.site-footer { border-top: 1px solid var(--rule); }
.footer__col .kicker { color: var(--ink); font-size: 10px; }
.footer__col a { font-size: 13px; }
.footer__brand p { font-size: 13px; }
.mini-footer { background: var(--paper); }
.mini-footer__row { font-size: 12px; }
.notfound .kicker { color: var(--brand); }
.notfound .h1 { max-width: 13ch; }

@media (prefers-reduced-motion: reduce) {
  .btn, .help-topic { transition: none; }
}
@media print {
  html:not(.owner-page):not(.shows-add) body { background: #fff; }
  .auth--narrow > .container--form, .join-form, .card, .short-version { box-shadow: none; }
  .legal { padding-block: 0; }
}
