/* /my-seat/ — kartu kursi, ringkasan, panel release */
.ms-summary { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-bottom: 16px; }
.ms-summary[hidden] { display: none; }
.ms-summary > div { padding: 18px 0 20px; display: grid; gap: 6px; }
.ms-summary > div + div { padding-left: 22px; border-left: 1px solid var(--line); }
.ms-summary small, .sc-col > small { font: 500 10.5px 'Geist Mono', monospace; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.ms-summary strong { font-weight: 800; font-size: 26px; letter-spacing: -.03em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ms-summary strong em { font-style: normal; color: var(--muted); font-weight: 400; font-size: 14px; margin-left: 6px; letter-spacing: 0; }

.ms-list { display: grid; gap: 16px; }
.ms-empty { padding: 48px 32px; display: grid; gap: 12px; justify-items: start; min-height: 220px; align-content: center; }
.ms-empty h3 { margin: 0; font-size: clamp(22px, 2.4vw, 30px); font-weight: 800; letter-spacing: -.03em; max-width: 620px; }
.ms-empty p { margin: 0; max-width: 560px; }
.ms-actions { margin-top: 10px; display: flex; gap: 22px; align-items: center; flex-wrap: wrap; }

/* kartu kursi */
.sc { padding: 0; }
.sc-head { display: flex; align-items: center; gap: 18px; padding: 18px 24px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.sc-id { display: flex; align-items: baseline; gap: 12px; }
.sc-id b { font-weight: 900; font-size: 44px; line-height: .9; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.sc-of { margin-left: auto; font-size: 10.5px; color: var(--soft); }
.sc-body { display: grid; grid-template-columns: 1.1fr 1fr 1fr; }
.sc-col { padding: 22px 24px 24px; display: grid; gap: 10px; align-content: start; min-width: 0; }
.sc-col + .sc-col { border-left: 1px solid var(--line); }
.sc-eth { display: flex; align-items: baseline; gap: 8px; }
.sc-eth b { font-weight: 900; font-size: 46px; letter-spacing: -.05em; line-height: 1; }
.sc-eth em { font-style: normal; color: var(--muted); font-weight: 600; font-size: 16px; }
.sc-sub { font-size: 12.5px; color: var(--soft); line-height: 1.5; }
span.mono.sc-sub { font-size: 10px; letter-spacing: .12em; }
.sc-toks { border-top: 1px solid var(--line); padding: 18px 24px 22px; }
.sc-toks small { font: 500 10.5px 'Geist Mono', monospace; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.sc-toks-head { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.sc-toks-head .mono { font-size: 10px; color: var(--soft); }
.sc-toks ul { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.sc-toks li { padding: 12px 14px; display: grid; gap: 4px; min-width: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.sc-toks li b { font-weight: 800; font-size: 20px; letter-spacing: -.03em; }
.sc-toks li.done b { color: var(--soft); }
.tk-sym { font: 500 11px 'Geist Mono', monospace; letter-spacing: .1em; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tk-state { font: 500 9.5px 'Geist Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--soft); }
.tk-state.due { color: var(--accent-ink); }
.sc-none { margin: 10px 0 0; font-size: 13.5px; }
.sc .kv { font-size: 13.5px; gap: 9px 14px; }
.sc .kv dd { font-variant-numeric: tabular-nums; }
.sc-due { font-weight: 800; font-size: 34px; letter-spacing: -.035em; line-height: 1; font-variant-numeric: tabular-nums; }
.sc-due.soon { color: #ffd2ca; }
.sc-due.late, .ms-summary .late { color: #ffb4a8; }
.sc-due.closed { color: var(--muted); }
.sc-meter { height: 3px; background: #17171c; }
.sc-meter i { display: block; height: 100%; background: var(--accent); }
.sc-foot { display: flex; gap: 8px; padding: 16px 24px; border-top: 1px solid var(--line); flex-wrap: wrap; }
.sc > .txs { margin: 0 24px 18px; }
.st-card-2, .st-card-3 { background: #070708; }
.st-card-2 .sc-id b, .st-card-3 .sc-id b { color: rgba(243,242,239,.5); }

/* release */
.rel-grid { margin-top: 32px; display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 40px; align-items: start; }
.rel-title { margin: 0; font-weight: 900; text-transform: uppercase; font-size: clamp(30px, 3.4vw, 50px); line-height: .92; letter-spacing: -.045em; max-width: 560px; }
.rel-title i { font-style: normal; color: var(--accent); }
.rel-copy p { margin: 20px 0 0; color: var(--muted); max-width: 520px; font-size: 15.5px; }
.rel-copy b { color: var(--ink); font-weight: 600; }
.rel-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.rel-row .btn { height: 44px; }
.rel-out { display: grid; gap: 14px; }
.rel-out p { margin: 0; font-size: 14px; }
.rel-out .kv { padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.rel-out .fee { color: var(--accent-ink); }
.rel-form .txs { margin-top: 14px; }

/* rincian modal vacate */
.cm .kv.vac { grid-template-columns: 110px 1fr; }
.cm .kv.vac dd { text-align: left; font-weight: 500; line-height: 1.5; }
.cm .kv.vac dd b { font-weight: 800; }

@media (max-width: 1100px) {
  .sc-body { grid-template-columns: 1fr 1fr; }
  .sc-col:nth-child(3) { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); }
  .rel-grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 760px) {
  .ms-summary { grid-template-columns: 1fr 1fr; }
  .ms-summary > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .ms-summary > div:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .ms-summary strong { font-size: 21px; }
  .ms-empty { padding: 32px 20px; }
  .sc-head { padding: 16px 18px; gap: 12px; }
  .sc-id b { font-size: 38px; }
  .sc-of { display: none; }
  .sc-body { grid-template-columns: 1fr; }
  .sc-col { padding: 18px; }
  .sc-col + .sc-col { border-left: 0; border-top: 1px solid var(--line); }
  .sc-eth b { font-size: 40px; }
  .sc-foot { padding: 14px 18px; }
  .sc-toks { padding: 16px 18px 18px; }
  .sc-toks ul { grid-template-columns: 1fr 1fr; }
  .sc-toks li b { font-size: 17px; }
  .sc-foot .btn { flex: 1 1 auto; }
  .sc > .txs { margin: 0 18px 16px; }
  .cm .kv.vac { grid-template-columns: 1fr; gap: 4px; }
  .cm .kv.vac dt { margin-top: 8px; }
}
