.account-body { background: #f7f7f5; min-height: 100vh; color: var(--ink); }
.account-header { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); }
.account-header img { width: 158px; height: auto; }
.account-header__right { display: flex; align-items: center; gap: 24px; color: var(--muted); font-size: 13px; }
.account-header__right a { color: var(--red-dark); }
.member-identity { display: inline-flex; align-items: center; gap: 9px; border: 0; padding: 4px; background: transparent; color: var(--ink); font-size: 12px; font-weight: 700; cursor: pointer; }
.member-identity:hover { color: var(--red-dark); }
.member-identity:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; border-radius: 8px; }
.member-avatar { width: 30px; height: 30px; flex: none; display: grid; place-items: center; overflow: hidden; border-radius: 50%; color: white; background: var(--red-dark); font-size: 12px; font-weight: 750; }
.account-header .member-avatar img,.member-avatar img { width: 100%; height: 100%; object-fit: cover; }
.member-avatar--large { width: 55px; height: 55px; font-size: 19px; }
.account-back { color: var(--ink-soft); font-size: 13px; text-decoration: underline; text-decoration-color: #c7c8c8; text-underline-offset: 5px; }
.link-button { background: transparent; border: 0; border-radius: 0; padding: 0; color: var(--red-dark); text-decoration: underline; text-decoration-color: #c7c8c8; text-underline-offset: 4px; cursor: pointer; font-size: 13px; font-weight: 650; }
.link-button:hover,.account-back:hover { color: var(--red); }
button:disabled { opacity: .55; cursor: not-allowed; }
.account-message { margin: 0 0 22px; padding: 14px 18px; border: 1px solid #c9ddcb; background: #f0f7f1; color: #27492f; border-radius: 10px; font-size: 13px; line-height: 1.55; }
.account-message.is-error { background: #fff5f5; border-color: #edd1d4; color: #8b1624; }
.account-message[hidden], [hidden] { display: none !important; }
.auth-layout { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr); gap: min(12vw,140px); align-items: center; padding-block: 84px 110px; }
.auth-intro { padding: 20px 0 50px; }
.auth-intro h1 { font-size: clamp(52px,6.2vw,84px); line-height: 1.02; letter-spacing: -.07em; font-weight: 620; margin: 26px 0; }
.auth-intro > p { max-width: 470px; color: var(--ink-soft); font-size: 18px; line-height: 1.75; }
.auth-points { max-width: 490px; margin-top: 85px; border-top: 1px solid var(--line-dark); }
.auth-points span { display: flex; gap: 20px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--line); color: var(--red-dark); font-size: 12px; letter-spacing: .1em; }
.auth-points strong { color: var(--ink); font-size: 14px; letter-spacing: 0; font-weight: 600; }
.auth-card { padding: clamp(30px,4vw,54px); background: white; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow-soft); }
.auth-card__heading { margin-bottom: 26px; }
.auth-card__heading h2 { margin: 12px 0 4px; font-size: 36px; letter-spacing: -.05em; line-height: 1.13; }
.auth-card__heading p { margin: 0; color: var(--muted); font-size: 14px; }
.auth-tabs { display: flex; gap: 28px; border-bottom: 1px solid var(--line); margin-bottom: 26px; }
.auth-tabs button { border: 0; border-bottom: 2px solid transparent; background: none; padding: 0 0 12px; cursor: pointer; color: var(--muted); font-size: 13px; font-weight: 650; }
.auth-tabs button.is-selected { color: var(--ink); border-color: var(--red); }
.google-button { width: 100%; min-height: 50px; border: 1px solid var(--line-dark); border-radius: 9px; background: #fff; display: flex; justify-content: center; align-items: center; gap: 14px; cursor: pointer; font-weight: 650; font-size: 14px; }
.google-button:hover { border-color: #a9abad; background: #fcfcfb; }
.google-mark { font-size: 21px; font-weight: 750; color: #4285f4; }
.auth-divider { display: flex; align-items: center; gap: 15px; color: var(--muted); font-size: 11px; margin: 20px 0; }
.auth-divider:before,.auth-divider:after { content: ""; height: 1px; background: var(--line); flex: 1; }
.account-form { display: grid; gap: 17px; align-items: start; }
.account-form label { display: grid; gap: 8px; color: var(--ink-soft); font-size: 13px; font-weight: 650; }
.account-form input:not([type=checkbox]), .account-form select, .account-form textarea, .admin-expiry input { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--line-dark); border-radius: 8px; color: var(--ink); background: #fff; outline: none; }
.account-form input:focus,.account-form select:focus,.account-form textarea:focus,.admin-expiry input:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(199,11,34,.08); }
.account-form textarea { resize: vertical; min-height: 160px; }
.account-form .button { margin-top: 4px; }
.account-form .form-forgot { justify-self: end; }
.input-help { color: var(--muted); font-size: 12px; line-height: 1.6; margin: 0; font-weight: 400; }
.input-help a { color: var(--red-dark); text-decoration: underline; }
.auth-legal { border-top: 1px solid var(--line); margin: 28px 0 0; padding-top: 22px; font-size: 11px; color: var(--muted); }
.auth-legal a { color: var(--ink); text-decoration: underline; }
.verify-panel h3 { margin: 0 0 9px; letter-spacing: -.03em; }
.verify-panel p { color: var(--muted); font-size: 14px; }
.inline-actions { display: flex; gap: 24px; padding-top: 16px; }
.checkout-layout { padding: 70px 0 110px; }
.checkout-heading h1,.member-heading h1 { margin: 18px 0 8px; font-size: clamp(48px,5.3vw,70px); letter-spacing: -.065em; font-weight: 620; line-height: 1.08; }
.checkout-heading > p,.member-heading p { color: var(--ink-soft); margin: 0; font-size: 16px; }
.checkout-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(290px,.65fr); gap: 28px; margin-top: 48px; align-items: start; }
.checkout-card,.checkout-aside,.member-surface { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; }
.checkout-card { padding: 28px; min-height: 480px; }
.checkout-card__top { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); padding: 0 0 20px; margin-bottom: 24px; font-size: 12px; }
.checkout-card__top span { color: var(--red-dark); letter-spacing: .1em; }
.checkout-element { min-height: 370px; }
.checkout-aside { padding: 34px; }
.checkout-aside h2 { font-size: 36px; line-height: 1.15; letter-spacing: -.05em; margin: 16px 0 28px; }
.package-list { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line); }
.package-list li { padding: 13px 0; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 10px; font-size: 13px; font-weight: 750; }
.package-list span { color: var(--muted); font-weight: 400; }
.checkout-after { margin-top: 34px; padding: 22px; border-radius: 10px; background: var(--paper-soft); font-size: 13px; }
.checkout-after p { color: var(--muted); margin: 8px 0 0; }
.checkout-aside__note { color: var(--muted); margin: 22px 0 0; font-size: 11px; line-height: 1.7; }
.checkout-aside__note a { text-decoration: underline; }
.member-shell { padding: 48px 0 105px; }
.member-topline { display: flex; justify-content: space-between; align-items: center; gap: 15px; color: var(--muted); font-size: 12px; }
.member-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 30px 0 40px; }
.state-pill { display: inline-flex; align-items: center; gap: 8px; color: #6c4f20; background: #f9f4eb; border: 1px solid #ead9b7; border-radius: 99px; padding: 7px 12px; font-size: 11px; font-weight: 750; white-space: nowrap; }
.state-pill:before { content:""; width:7px; height:7px; border-radius:50%; background:#c28b3c; }
.state-pill.is-live { background: #f0f7f1; color: #276741; border-color: #cfe5d2; }
.state-pill.is-live:before { background: #3c9b64; }
.member-nav { display: flex; align-items: center; gap: 32px; border-bottom: 1px solid var(--line-dark); margin-bottom: 34px; overflow-x: auto; scrollbar-width: thin; }
.member-nav button { appearance:none; background:none; border:0; border-bottom:2px solid transparent; padding: 0 0 18px; white-space: nowrap; cursor: pointer; color: var(--muted); font-size: 13px; font-weight: 650; }
.member-nav button.is-current { color:var(--ink); border-color: var(--red); }
.member-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 22px; }
.member-feature { min-height: 350px; padding: 44px; background: #1b1d21; color: white; border-radius: var(--radius-md); position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: start; }
.member-feature:after { content:""; width:340px;height:340px;border:1px solid #ffffff15;border-radius:50%;position:absolute;right:-115px;top:-160px;box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff05;pointer-events:none; }
.member-feature .eyebrow { color: #ffadb8; }
.member-feature h2 { margin: 24px 0 12px; font-size: clamp(30px,3vw,44px); line-height: 1.1; letter-spacing: -.05em; }
.member-feature p { max-width: 560px; color: #ced0d1; margin: 0 0 30px; font-size: 15px; line-height: 1.75; }
.member-feature .button { margin-top: auto; }
.member-secondary-action { position: relative; z-index: 1; margin-top: 12px; padding: 4px 0; border: 0; background: transparent; color: #d9dde0; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; font-size: 12px; }
.member-secondary-action:hover { color: #fff; }
.onboarding-steps { width: 100%; display: flex; flex-wrap: wrap; gap: 10px 16px; margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid #ffffff30; list-style: none; position: relative; z-index: 1; }
.onboarding-steps li { display: inline-flex; align-items: center; gap: 7px; color: #aeb2b8; font-size: 11px; }
.onboarding-steps li:before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #777c83; }
.onboarding-steps li.is-current { color: #fff; font-weight: 750; }
.onboarding-steps li.is-current:before { background: #ff9eaa; }
.onboarding-steps li.is-complete:before { background: #77c99a; }
.purchase-options { width: 100%; margin-top: auto; position: relative; z-index: 1; }
.purchase-options__choices { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.purchase-choice { min-height: 84px; padding: 16px 18px; border: 1px solid #ffffff65; border-radius: 11px; background: #fff; color: var(--ink); text-align: left; cursor: pointer; }
.purchase-choice:not(:disabled):hover,.purchase-choice:not(:disabled):focus-visible { border-color: #ff7384; background: #fff4f5; outline: 2px solid transparent; }
.purchase-choice strong { display: flex; justify-content: space-between; gap: 8px; font-size: 14px; line-height: 1.35; }
.purchase-choice strong span { color: var(--red); }
.purchase-choice small { display: block; margin-top: 7px; color: var(--ink-soft); font-size: 11px; }
.purchase-choice:disabled { opacity: .65; }
.purchase-status { display: block; margin-top: 12px; color: #ced0d1; font-size: 11px; line-height: 1.4; }
.member-stack { display: grid; gap: 22px; }
.member-tile { padding: 28px 32px; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; }
.member-tile span,.surface-heading,.admin-stats span { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .12em; }
.member-tile h3 { font-size: 24px; margin: 20px 0 3px; letter-spacing: -.04em; }
.member-tile p { font-size: 12px; color: var(--muted); margin: 0; }
.member-lower { display: flex; justify-content: space-between; align-items: end; gap: 20px; border-top: 1px solid var(--line); margin-top: 42px; padding-top: 35px; }
.member-lower h3 { margin: 10px 0 3px; font-size: 22px; letter-spacing: -.035em; }
.member-lower p { margin: 0; color: var(--muted); font-size: 13px; }
.member-lower button { background: none; border:0; font-size:13px; cursor:pointer; }
.panel-heading { margin: 6px 0 26px; }
.panel-heading h2 { margin: 12px 0 5px; font-size: clamp(32px,4.1vw,48px); line-height: 1.15; letter-spacing: -.055em; }
.panel-heading p { margin: 0; color: var(--muted); font-size: 14px; }
.member-surface { padding: 30px; margin-bottom: 20px; }
.surface-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; border-bottom: 1px solid var(--line); padding-bottom: 19px; margin-bottom: 24px; }
.surface-heading .state-pill { letter-spacing: 0; }
.username-display { display:grid;gap:5px;margin:4px 0 20px; }
.username-display span { color:var(--muted);font-size:12px; }
.username-display strong {font-size: 26px;letter-spacing:-.035em; }
.checkbox-line { display:flex !important; align-items:start; gap:12px !important; color:var(--ink-soft);font-size:13px;font-weight:400 !important;line-height:1.55;cursor:pointer; }
.checkbox-line input { margin:4px 0 0; accent-color:var(--red); flex:none; }
.notice-strip { margin:18px 0; padding:15px 18px; background:#f9f6f0; border-left:3px solid #c79454; color:#66543c; border-radius:0 8px 8px 0; font-size:13px; }
.package-surface { padding-bottom: 14px; }
.script-list { display: grid; }
.script-row {display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:64px;border-bottom:1px solid var(--line);font-size:13px; }
.script-row strong { font-size:16px;letter-spacing:-.02em; }
.script-row span { color:var(--muted); }
.script-row a { color:var(--red-dark);text-decoration:underline;text-underline-offset:4px; }
.package-surface .input-help { margin-top:18px; }
.package-surface #script-empty { margin: 0 0 18px; }
.under-panel { padding:8px 0 20px; font-size:13px;color:var(--muted); }
.two-columns {display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start; }
.two-columns .member-surface { margin:0; }
.member-surface h3 {margin:0 0 16px;font-size:28px;letter-spacing:-.045em; }
.data-list {margin:0; }
.data-list div {display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px; }
.data-list dt {color:var(--muted);}
.data-list dd {margin:0;font-weight:650;text-align:right;word-break:break-word;}
.billing-actions,.admin-actions {display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px; }
.outline-button {display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 16px;background:#fff;border:1px solid var(--line-dark);border-radius:7px;color:var(--ink);font-size:12px;font-weight:700;cursor:pointer;text-decoration:none; }
.outline-button:hover {border-color:var(--ink-soft);}
.payment-row,.ticket-row {display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px; }
.payment-row span,.ticket-row span {color:var(--muted);}
.ticket-row {align-items:start;flex-direction:column;gap:3px;}
.ticket-reply {margin:8px 0 0;padding:12px 14px;border-left:3px solid var(--red);background:#faf7f6;white-space:pre-wrap;line-height:1.6;color:var(--ink);width:100%;}
.payment-list > p,.ticket-list > p {color:var(--muted);font-size:13px;}
.two-columns .input-help {margin-top:16px;}
.account-settings { max-width:680px; }
.account-profile { display: flex; align-items: center; gap: 14px; margin-bottom: 23px; }
.account-profile div { display: grid; gap: 3px; min-width: 0; }
.account-profile strong { font-size: 20px; letter-spacing: -.03em; }
.account-profile span:not(.member-avatar) { color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.support-id { margin: 20px 0 22px; color: var(--muted); font-size: 12px; }
.support-id summary { cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.support-id code { display: block; margin-top: 10px; overflow-wrap: anywhere; color: var(--ink-soft); }
.account-settings .data-list dd { max-width:330px; }
.member-footer {display:flex;gap:20px;padding:25px 0 40px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);}
.member-footer span {margin-right:auto;}
.admin-stats {display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:12px;}
#capacity-detail {margin:0 0 45px;}
.admin-stats > div {background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;display:grid;gap:8px;}
.admin-stats strong {font-size:32px;letter-spacing:-.04em;}
.admin-queue {display:grid;gap:15px;}
.admin-card {border:1px solid var(--line);border-radius:14px;background:#fff;padding:24px;}
.admin-card h3 {margin:0 0 12px;}
.admin-card > p {color:var(--muted);font-size:13px;line-height:1.65;}
.tv-pub-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 32px;}
.tv-pub-field,.admin-card .admin-actions label {display:grid;gap:7px;color:var(--ink-soft);font-size:12px;font-weight:650;min-width:180px;}
.tv-pub-field input,.admin-card .admin-actions input,.admin-card .admin-actions select {min-height:43px;padding:10px 12px;border:1px solid var(--line-dark);border-radius:7px;background:#fff;color:var(--ink);font:inherit;min-width:0;}
.tv-pub-field input:focus,.admin-card .admin-actions input:focus,.admin-card .admin-actions select:focus {outline:2px solid var(--red);outline-offset:1px;}
#tv-config-status {margin:16px 0;}
.tv-test-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;}
.tv-test-list p {padding:11px;background:#f8f8f6;border-radius:6px;}
.admin-card .surface-heading {margin-bottom:17px;}
.admin-card__body h3 {font-size:20px;letter-spacing:-.025em;margin:0 0 8px;}
.admin-card__body p {font-size:13px;color:var(--muted);line-height:1.7;white-space:pre-wrap;}
.admin-card__body .admin-warning {color:var(--red-dark);font-weight:700;}
.admin-expiry {font-size:12px;color:var(--muted);display:grid;gap:8px;margin-top:15px;max-width:280px;}
.admin-confirm {margin-top:20px;}
.admin-section {margin-top:64px;}
.empty-queue {margin:0;padding:26px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:13px;}
@media (max-width:900px) {
  .auth-layout,.checkout-grid,.member-grid,.two-columns {grid-template-columns:1fr;gap:22px;}
  .admin-stats {grid-template-columns:repeat(2,1fr);}
  .auth-layout {padding-block:55px;}
  .auth-intro {padding:0;}
  .auth-intro h1 {font-size:55px;}
  .auth-points {display:none;}
  .member-stack {grid-template-columns:1fr 1fr;}
}
@media (max-width:650px) {
  .account-header {min-height:70px;}
  .account-header img {width:132px;}
  .account-header__right {gap:11px;}
  #header-email {display:none;}
  #header-name {display:none;}
  .auth-layout {padding-block:34px 70px;}
  .auth-intro h1 {font-size:44px;margin:15px 0 8px;}
  .auth-intro > p {font-size:15px;}
  .auth-card,.checkout-card,.checkout-aside {padding:24px 20px;}
  .auth-card__heading h2 {font-size:31px;}
  .checkout-layout {padding:45px 0 80px;}
  .checkout-heading h1,.member-heading h1 {font-size:44px;}
  .member-shell {padding-top:27px;}
  .member-heading {align-items:start;flex-direction:column;padding:24px 0 26px;}
  .member-nav {gap:23px;}
  .member-nav button {font-size:12px;}
  .member-feature {padding:30px;min-height:320px;}
  .purchase-options__choices {grid-template-columns:1fr;gap:9px;}
  .purchase-choice {min-height:70px;padding:12px 15px;}
  .member-stack {grid-template-columns:1fr;gap:12px;}
  .member-tile {padding:22px;}
  .member-tile h3 {margin-top:10px;}
  .member-lower {align-items:start;flex-direction:column;}
  .member-surface {padding:22px 18px;}
  .script-row {gap:8px;align-items:start;flex-direction:column;justify-content:center;}
  .admin-stats {grid-template-columns:1fr;gap:8px;}
  .tv-pub-fields,.tv-test-list {grid-template-columns:1fr;}
  .admin-stats > div {padding:15px;display:flex;justify-content:space-between;align-items:center;}
  .admin-stats strong {font-size:24px;}
  .admin-card {padding:18px;}
}
.member-nav .member-nav-link { display:inline-flex; align-items:center; align-self:stretch; flex:none; border-bottom:2px solid transparent; padding:0 0 18px; color:var(--muted); white-space:nowrap; text-decoration:none; font-size:13px; font-weight:650; }
.member-nav .member-nav-link:hover { color:var(--ink); }
.sgc-member-entry { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:22px; padding:30px 34px; background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); }
.sgc-member-entry h3 { margin:10px 0 5px; font-size:26px; letter-spacing:-.04em; }
.sgc-member-entry p { color:var(--ink-soft); font-size:13px; margin:0; }
.sgc-member-entry a { white-space:nowrap; text-decoration:none; }
@media(max-width:620px){.sgc-member-entry{align-items:start;flex-direction:column;padding:24px}}

