:root {
  color-scheme: light;
  --page: #f4f5f8;
  --paper: #fff;
  --ink: #29263a;
  --muted: #726c7e;
  --line: #e5e2e9;
  --brand: #6c3c87;
  --brand-soft: #eee6f4;
  --green: #236d55;
  --green-soft: #e8f4ec;
  --red: #a43f4a;
  --red-soft: #fceef0;
  --gold: #8f650f;
  --gold-soft: #faf2df;
  font-family: "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;
  color: var(--ink);
  background: var(--page);
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; -webkit-text-size-adjust: 100%; }
button, input, select, textarea { font: inherit; }
main.pv { overflow-wrap: anywhere; max-width: 1180px; margin: 0 auto; padding: 22px 32px 64px; }
.pv [hidden] { display: none !important; }
.pv h1, .pv h2, .pv h3, .pv h4, .pv p { margin-top: 0; }
.pv h1 { font-size: clamp(26px, 4vw, 36px); letter-spacing: -.7px; line-height: 1.3; margin-bottom: 12px; }
.pv h2 { font-size: 23px; letter-spacing: -.5px; line-height: 1.45; margin-bottom: 14px; }
.pv h3 { font-size: 17px; line-height: 1.5; margin-bottom: 10px; }
.pv h4 { font-size: 16px; line-height: 1.5; margin-bottom: 6px; }
.pv p { line-height: 1.7; margin-bottom: 12px; }
.pv a { color: var(--brand); text-underline-offset: 3px; }
.pv a:hover { color: #45235a; }
.pv .muted, .pv .field-hint { color: var(--muted); }
.pv .small, .pv .field-hint { font-size: 13px; }
.pv .error { color: var(--red); }
.pv .site-nav { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 24px; font-size: 13px; }
.pv .site-nav a { text-decoration: none; font-weight: 600; min-height: 32px; display: inline-flex; align-items: center; }
.pv .site-wordmark { display: flex; align-items: center; gap: 9px; }
.pv .site-wordmark img { width: 28px; height: 28px; object-fit: contain; }
.pv .page-heading { margin: 12px 0 22px; }
.pv .page-heading p { color: var(--muted); margin: 0; }
.pv[data-partner-page="portal"] > .page-heading { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.pv .status { font-size: 13px; color: var(--muted); margin: 0 0 16px; min-height: 22px; overflow-wrap: anywhere; }
.pv .status.error { background: var(--red-soft); border-left: 3px solid var(--red); padding: 10px 14px; color: var(--red); }
.pv label { display: flex; flex-direction: column; gap: 8px; min-width: 0; font-size: 14px; line-height: 1.5; font-weight: 600; }
.pv input, .pv select, .pv textarea { width: 100%; min-width: 0; min-height: 46px; background: #fff; border: 1px solid #cfc8d8; border-radius: 9px; padding: 11px 12px; color: var(--ink); font-size: 16px; max-width: 100%; }
.pv textarea { resize: vertical; line-height: 1.7; }
.pv input[type="file"] { padding: 9px; font-size: 13px; }
.pv input[type="file"]::file-selector-button { border: 0; border-radius: 5px; padding: 5px 10px; margin-right: 10px; color: var(--brand); background: var(--brand-soft); font: inherit; font-weight: 600; }
.pv button { min-height: 44px; border: 1px solid #d5cedc; border-radius: 9px; background: #fff; color: var(--ink); font-weight: 600; font-size: 14px; padding: 11px 16px; cursor: pointer; max-width: 100%; line-height: 1.5; }
.pv button:hover { background: #f8f6fa; }
.pv button.primary { color: #fff; background: var(--brand); border-color: var(--brand); }
.pv button.primary:hover { background: #56306e; }
.pv button:disabled { opacity: .48; cursor: wait; }
.pv button:focus-visible, .pv input:focus-visible, .pv select:focus-visible, .pv textarea:focus-visible, .pv a:focus-visible, .pv summary:focus-visible { outline: 3px solid #b896cf; outline-offset: 3px; }
.pv .row, .pv .actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: end; }
.pv .row > label { flex: 1 1 180px; }
.pv .actions { margin-top: 16px; align-items: center; }
.pv .actions a { min-height: 44px; display: inline-flex; align-items: center; padding: 10px 0; }
.pv .grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 18px; }
.pv .card { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 24px; margin: 20px 0; overflow-wrap: anywhere; }
.pv .pill { display: inline-block; font-size: 13px; padding: 4px 10px; border-radius: 20px; background: var(--brand-soft); color: var(--brand); margin: 4px 0; }
.pv .portal-brand { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 4px 0 24px; }
.pv .merchant-identity { min-width: 0; display: grid; gap: 4px; }
.pv .merchant-subtitle { padding-left: 66px; color: var(--muted); font-size: 13px; }
.pv .brand-badge { display: flex; align-items: center; gap: 14px; min-width: 0; }
.pv .brand-badge strong { overflow-wrap: anywhere; font-size: 25px; line-height: 1.35; letter-spacing: -.5px; }
.pv .brand-badge img, .pv .brand-initial { width: 52px; height: 52px; flex: 0 0 52px; border-radius: 12px; object-fit: contain; background: var(--brand-soft); }
.pv .brand-initial { display: grid; place-items: center; font-size: 24px; font-weight: 800; color: var(--brand); }
.pv .portal-brand > a { font-size: 13px; white-space: nowrap; }
.pv .portal-brand > select { width: 180px; }
.pv .workspace-tabs { display: flex; gap: 6px; border-bottom: 1px solid #dcd5e3; margin: 0 0 26px; padding: 0; }
.pv .workspace-tabs button { border: 0; border-radius: 0; background: none; min-width: 116px; color: var(--muted); padding: 13px 20px; position: relative; }
.pv .workspace-tabs button.selected { color: var(--brand); }
.pv .workspace-tabs button.selected::after { content: ''; height: 3px; border-radius: 3px 3px 0 0; background: var(--brand); position: absolute; left: 12px; right: 12px; bottom: -1px; }
.pv .section-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 0 0 22px; }
.pv .section-heading h2, .pv .section-heading h3 { margin: 0; }
.pv .heading-stack p { margin: 5px 0 0; font-size: 13px; }
.pv .event-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 18px; }
.pv .search-field { width: 260px; }
.pv .search-field label { font-size: 12px; gap: 5px; color: var(--muted); }
.pv .search-field input { min-height: 42px; padding: 9px 12px; font-size: 14px; }
.pv .filter-pills { display: flex; gap: 6px; flex-wrap: wrap; }
.pv .filter-pills button { border-color: transparent; border-radius: 20px; background: transparent; color: var(--muted); padding: 8px 12px; min-height: 40px; white-space: nowrap; font-size: 13px; }
.pv .filter-pills button.selected { background: var(--brand-soft); color: var(--brand); }
.pv .event-list { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.pv .event-row { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 20px; padding: 22px; align-items: center; border-bottom: 1px solid var(--line); }
.pv .event-row:last-child { border-bottom: 0; }
.pv .event-thumbnail { width: 76px; height: 100px; background: #f1edf5; border-radius: 9px; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: var(--brand); }
.pv .event-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.pv .event-thumbnail small { font-size: 11px; }
.pv .event-thumbnail strong { font-size: 27px; line-height: 1.2; }
.pv .event-row-content { min-width: 0; }
.pv .event-row h3 { margin: 7px 0 5px; font-size: 18px; }
.pv .event-row p { margin: 0; }
.pv .event-badges { display: flex; gap: 8px; align-items: center; }
.pv .status-badge { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 8px; border-radius: 5px; font-size: 11px; line-height: 1.5; font-weight: 700; background: #f0eef3; color: #655d71; white-space: nowrap; }
.pv .status-badge.signup, .pv .status-badge.settled { background: var(--green-soft); color: var(--green); }
.pv .status-badge.bracket, .pv .status-badge.pending { background: var(--brand-soft); color: var(--brand); }
.pv .status-badge.off, .pv .status-badge.review, .pv .status-badge.refund_pending { background: var(--gold-soft); color: var(--gold); }
.pv .status-badge.refunded { background: var(--red-soft); color: var(--red); }
.pv .event-date { color: var(--muted); font-size: 12px; }
.pv .event-stats { font-size: 13px; margin-top: 10px !important; }
.pv .event-progress { width: min(240px, 100%); height: 4px; background: #eeeaf1; border-radius: 5px; overflow: hidden; margin-top: 7px; }
.pv .event-progress span { display: block; height: 100%; background: #a47bbd; border-radius: inherit; }
.pv .event-fee { color: var(--muted); font-size: 12px; padding-top: 7px; }
.pv .event-manage { color: var(--brand); border-color: #c7afd7; background: #fff; }
.pv .empty-state { padding: 45px 24px; text-align: center; color: var(--muted); line-height: 1.7; }
.pv .empty-state h3 { color: var(--ink); }
.pv .empty-state p { max-width: 360px; margin: 0 auto 18px; }
.pv .mobile-action-dock { display: none; }
body.partner-sheet-open { overflow: hidden; }
.pv .workspace-sheet { padding: 0; border: 0; width: min(760px, calc(100vw - 48px)); max-width: 100%; max-height: min(900px, calc(100dvh - 48px)); border-radius: 18px; box-shadow: 0 30px 100px #20172840; color: var(--ink); background: var(--paper); overflow: hidden; }
.pv .workspace-sheet[open] { display: flex; flex-direction: column; }
.pv .workspace-sheet::backdrop { background: #20172880; }
.pv .sheet-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 28px; border-bottom: 1px solid var(--line); flex: 0 0 auto; }
.pv .sheet-header h2 { font-size: 20px; margin: 0; overflow-wrap: anywhere; }
.pv .sheet-close { border: 0; background: #f2eef5; font-size: 13px; padding: 9px 13px; white-space: nowrap; }
.pv .sheet-content { padding: 24px 28px; overflow-y: auto; overscroll-behavior: contain; min-height: 0; }
.pv .sheet-footer { padding: 14px 28px; border-top: 1px solid var(--line); background: #fcfbfd; display: flex; gap: 10px; align-items: center; justify-content: end; flex-wrap: wrap; flex: 0 0 auto; }
.pv .sheet-footer .actions { margin: 0; justify-content: end; }
.pv .sheet-footer .form-message { flex: 1 1 100%; margin: 0; }
.pv .sheet-footer .form-message:empty { display: none; }
.pv .form-message { margin: 0; color: var(--green); font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.pv .form-message.error { color: var(--red); }
.pv .form-section { border-top: 1px solid var(--line); padding: 24px 0; display: grid; gap: 20px; }
.pv .form-section:first-child { border-top: 0; padding-top: 12px; }
.pv .form-section h3 { margin: 0; }
.pv .event-form .grid { gap: 18px; }
.pv .event-form .grid label:first-child { grid-column: 1 / -1; }
.pv .event-form .field-hint { margin: -6px 0 0; }
.pv .event-form textarea { min-height: 150px; }
.pv .notice { padding: 13px 15px; background: #f6f2f9; border-radius: 9px; font-size: 13px; line-height: 1.7; }
.pv .image-field { display: grid; gap: 9px; }
.pv .image-field p { margin: 0; }
.pv .image-field > button { justify-self: start; }
.pv .upload-preview { max-width: 100%; max-height: 320px; width: auto; height: auto; object-fit: contain; justify-self: start; border-radius: 9px; border: 1px solid var(--line); background: #f7f5f9; }
.pv .logo-preview { max-width: 130px; max-height: 130px; }
.pv .event-management-summary { padding-bottom: 16px; }
.pv .event-management-summary p { margin: 10px 0 0; }
.pv .action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pv .sheet-section { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 24px; }
.pv .listing-section button { border-color: #c9bfac; color: #786344; }
.pv .check-label { display: flex; flex-direction: row; gap: 10px; align-items: start; margin: 16px 0; font-weight: 500; font-size: 14px; }
.pv .check-label input { width: 20px; min-height: 20px; height: 20px; flex: 0 0 20px; accent-color: var(--brand); margin-top: 1px; }
.pv .attendance-total { display: flex; align-items: baseline; gap: 14px; }
.pv .attendance-total strong { font-size: 34px; letter-spacing: -1px; font-variant-numeric: tabular-nums; }
.pv .attendance-total span { color: var(--muted); font-size: 13px; }
.pv .preview-roster { columns: 3; line-height: 1.9; padding: 16px 0 16px 26px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pv .preview-roster li { break-inside: avoid; font-size: 14px; }
.pv .roster-summary { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.pv .roster-summary strong { font-size: 30px; letter-spacing: -1px; font-variant-numeric: tabular-nums; }
.pv .roster-summary span { color: var(--muted); font-size: 12px; flex: 1; }
.pv .roster-summary button { font-size: 12px; padding: 8px 12px; }
.pv .roster-toolbar { display: grid; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.pv .roster-toolbar label { font-size: 12px; color: var(--muted); }
.pv .roster-entry { padding: 20px 0; border-bottom: 1px solid var(--line); }
.pv .roster-entry-heading, .pv .row-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.pv .roster-entry h3 { margin: 0 0 4px; font-size: 17px; }
.pv .roster-entry p { margin: 0; }
.pv .roster-payment { font-size: 13px; padding: 8px 0 14px; }
.pv .roster-entry > button { width: 100%; }
.pv .roster-edit { margin-top: 13px; }
.pv summary { cursor: pointer; line-height: 1.6; font-size: 14px; padding: 10px 0; color: var(--brand); font-weight: 600; }
.pv .roster-edit .row { padding: 12px 0; }
.pv .roster-edit > button, .pv .roster-edit > label { margin-top: 10px; }
.pv .settings-form { max-width: 620px; display: grid; gap: 22px; padding: 26px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); margin: 20px 0 30px; }
.pv .settings-form > button { justify-self: start; }
.pv .settings-disclosure { border-top: 1px solid var(--line); padding: 14px 0; margin: 16px 0; max-width: 100%; }
.pv .settings-disclosure > p, .pv .settings-disclosure > h3 { margin-top: 15px; }
.pv .qr { width: 180px; height: 180px; display: block; padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: 9px; margin: 18px 0; }
.pv .finance-controls { max-width: 360px; margin: 20px 0; }
.pv .finance-controls label { font-size: 12px; color: var(--muted); }
.pv .finance-results[aria-busy="true"] { opacity: .55; pointer-events: none; min-height: 150px; }
.pv .finance-balance { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 28px; margin-bottom: 28px; }
.pv .balance-total { border-bottom: 1px solid var(--line); padding-bottom: 20px; margin-bottom: 18px; }
.pv .balance-total > p:first-child { font-size: 14px; color: var(--muted); margin-bottom: 7px; }
.pv .balance-total strong { font-size: clamp(32px, 6vw, 44px); color: var(--brand); line-height: 1.25; letter-spacing: -1px; font-variant-numeric: tabular-nums; }
.pv .balance-net { margin: 12px 0 0; font-size: 14px; }
.pv .finance-lines { margin: 20px 0; }
.pv .money-line { display: flex; align-items: start; justify-content: space-between; gap: 18px; padding: 10px 0; font-size: 14px; line-height: 1.6; }
.pv .money-line dt { color: var(--muted); }
.pv .money-line dd { margin: 0; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; flex-shrink: 0; }
.pv .money-line.emphasis { border-top: 1px solid var(--line); margin-top: 10px; padding-top: 16px; }
.pv .finance-footnote { padding-top: 18px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); margin: 0; }
.pv .finance-event-list { background: white; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.pv .finance-event-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 22px; align-items: center; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.pv .finance-event-row:last-child { border-bottom: 0; }
.pv .finance-event-row p { margin: 0; }
.pv .finance-event-amount { text-align: right; display: grid; gap: 4px; }
.pv .finance-event-amount small { color: var(--muted); font-size: 11px; }
.pv .finance-event-amount strong { font-size: 19px; font-variant-numeric: tabular-nums; }
.pv .finance-detail-row { padding: 20px 0; border-top: 1px solid var(--line); }
.pv .finance-detail-row .row-heading { margin-bottom: 10px; }
.pv .finance-lines.compact { margin: 12px 0; }
.pv .finance-lines.compact .money-line { padding: 6px 0; font-size: 13px; }
.pv .reference { font-size: 11px; overflow-wrap: anywhere; color: var(--muted); }
.pv .review-note { background: var(--gold-soft); color: #785b23; padding: 12px 14px; border-radius: 8px; font-size: 13px; line-height: 1.7; }
.pv .refund-row { padding: 18px 0; border-bottom: 1px solid var(--line); }
.pv .refund-row p { margin: 8px 0; font-size: 13px; }
.pv .public-event-controls { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 20px; margin-bottom: 24px; }
.pv .public-event-controls .row { margin-bottom: 12px; }
.pv .public-event-controls label { font-size: 12px; color: var(--muted); }
.pv .public-event-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.pv .public-event { min-width: 0; background: #fff; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.pv .event-poster { display: block; aspect-ratio: 9 / 12; background: #eee6f4; overflow: hidden; text-decoration: none; }
.pv .event-poster img { width: 100%; height: 100%; object-fit: cover; }
.pv .poster-fallback { display: grid; place-items: center; padding: 30px; height: 100%; font-size: 28px; font-weight: 800; text-align: center; line-height: 1.7; }
.pv .public-event-content { padding: 20px; }
.pv .public-event .brand-badge { gap: 8px; margin-bottom: 12px; }
.pv .public-event .brand-badge img, .pv .public-event .brand-initial { width: 26px; height: 26px; flex-basis: 26px; border-radius: 6px; font-size: 13px; }
.pv .public-event .brand-badge strong { font-size: 12px; letter-spacing: 0; color: var(--muted); font-weight: 600; }
.pv .public-event h2 { font-size: 19px; line-height: 1.5; margin: 0 0 8px; }
.pv .public-event-action { display: block; text-align: center; background: var(--brand); color: #fff; padding: 12px; border-radius: 8px; text-decoration: none; font-size: 14px; font-weight: 700; margin-top: 18px; }
.pv .public-event-action:hover { color: #fff; background: #56306e; }
.pv .calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; background: white; padding: 18px; border: 1px solid var(--line); border-radius: 12px; }
.pv .calendar > strong { text-align: center; font-size: 13px; color: var(--muted); padding-bottom: 10px; }
.pv .day { min-height: 100px; padding: 7px; border: 1px solid var(--line); border-radius: 5px; font-size: 12px; }
.pv .day a { display: block; line-height: 1.5; margin-top: 8px; overflow-wrap: anywhere; }
.pv .table { overflow: auto; }
.pv table { border-collapse: collapse; width: 100%; font-size: 14px; }
.pv td, .pv th { text-align: left; padding: 12px; border-bottom: 1px solid var(--line); white-space: nowrap; }
@media (min-width: 900px) {
  .pv .workspace-pane { max-width: 100%; }
  .pv #partner-pane-settings { max-width: 780px; }
  .pv .finance-balance { display: grid; grid-template-columns: 1fr 1.3fr; column-gap: 42px; }
  .pv .finance-balance > .balance-total { align-self: start; border-bottom: 0; grid-column: 1; margin-bottom: 0; padding: 0; }
  .pv .finance-balance > .muted { grid-column: 1; font-size: 12px; margin-top: 14px; }
  .pv .finance-balance > .finance-lines { grid-column: 2; grid-row: 1 / 3; border-left: 1px solid var(--line); padding-left: 32px; margin: 0; }
  .pv .finance-footnote { grid-column: 1 / -1; margin-top: 24px; }
}
@media (max-width: 800px) {
  main.pv { padding: 20px 24px 110px; }
  .pv .event-toolbar { align-items: stretch; flex-direction: column; gap: 12px; }
  .pv .search-field { width: 100%; }
  .pv .public-event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pv .preview-roster { columns: 2; }
}
@media (max-width: 600px) {
  main.pv { padding: 14px 16px calc(106px + env(safe-area-inset-bottom)); }
  .pv .site-nav { padding-bottom: 20px; font-size: 12px; }
  .pv .site-wordmark img { width: 24px; height: 24px; }
  .pv .status { font-size: 12px; margin-bottom: 12px; }
  .pv .portal-brand { align-items: start; gap: 12px; padding: 2px 0 20px; }
  .pv .portal-brand > a { display: none; }
  .pv .portal-brand > select { width: 110px; font-size: 12px; padding: 8px; }
  .pv .brand-badge { gap: 10px; }
  .pv .brand-badge strong { font-size: 22px; }
  .pv .brand-badge img, .pv .brand-initial { width: 46px; height: 46px; flex-basis: 46px; }
  .pv .merchant-subtitle { padding-left: 56px; font-size: 12px; }
  .pv .workspace-tabs { position: sticky; top: 0; background: var(--page); z-index: 5; margin: 0 -16px 24px; padding: 0 16px; gap: 0; }
  .pv .workspace-tabs button { flex: 1; min-width: 0; font-size: 14px; padding: 13px 7px; }
  .pv .section-heading { margin-bottom: 18px; }
  .pv .section-heading h2 { font-size: 22px; }
  .pv .heading-stack p { font-size: 12px; }
  .pv #partner-pane-events > .section-heading > button { display: none; }
  .pv .filter-pills { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
  .pv .filter-pills::-webkit-scrollbar { display: none; }
  .pv .filter-pills button { min-height: 44px; padding: 8px 11px; flex-shrink: 0; }
  .pv .event-row { grid-template-columns: 62px minmax(0, 1fr); gap: 14px; padding: 18px 16px; align-items: start; }
  .pv .event-thumbnail { width: 62px; height: 86px; margin-top: 4px; }
  .pv .event-thumbnail strong { font-size: 24px; }
  .pv .event-row h3 { font-size: 17px; margin: 7px 0 6px; }
  .pv .event-manage { grid-column: 2; justify-self: start; font-size: 13px; padding: 9px 14px; min-height: 40px; margin-top: -2px; }
  .pv .event-stats { font-size: 12px; margin-top: 9px !important; }
  .pv .event-fee { font-size: 11px; }
  .pv .event-progress { max-width: 100%; }
  .pv .mobile-action-dock { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 8; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: #fffffff5; border-top: 1px solid var(--line); backdrop-filter: blur(12px); }
  .pv .mobile-action-dock button { width: 100%; min-height: 48px; font-size: 15px; }
  .pv .workspace-sheet { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; border-radius: 0; margin: 0; }
  .pv .sheet-header { padding: 17px 18px; }
  .pv .sheet-header h2 { font-size: 18px; }
  .pv .sheet-content { padding: 20px 18px; }
  .pv .sheet-footer { padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); gap: 8px; }
  .pv .sheet-footer > button { flex: 1; font-size: 13px; padding: 11px 10px; }
  .pv .sheet-footer > .actions { width: 100%; }
  .pv .sheet-footer > .actions button { flex: 1; }
  .pv .grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .pv .action-grid { grid-template-columns: minmax(0, 1fr); }
  .pv .preview-roster { columns: 2; font-size: 13px; }
  .pv .attendance-total { display: block; }
  .pv .attendance-total strong { display: block; font-size: 32px; }
  .pv .roster-summary { gap: 8px; }
  .pv .roster-summary strong { font-size: 27px; }
  .pv .roster-summary span { font-size: 11px; }
  .pv .roster-summary button { flex: 1 1 100%; }
  .pv .roster-edit .row > label { flex-basis: 100%; }
  .pv .settings-form { padding: 20px; border-radius: 10px; }
  .pv .finance-balance { padding: 22px 18px; border-radius: 12px; }
  .pv .balance-total strong { font-size: 36px; }
  .pv .money-line { font-size: 13px; gap: 12px; }
  .pv .money-line dd { max-width: 48%; overflow-wrap: anywhere; }
  .pv .finance-event-row { grid-template-columns: minmax(0, 1fr) auto; gap: 14px; padding: 18px; }
  .pv .finance-event-row > div:first-child { grid-column: 1 / -1; }
  .pv .finance-event-amount { text-align: left; }
  .pv .finance-event-row > button { justify-self: end; }
  .pv .finance-event-amount strong { font-size: 19px; }
  .pv .public-event-controls { padding: 16px; }
  .pv .public-event-controls .row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .pv .public-event-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .pv .event-poster { aspect-ratio: 9 / 11; }
  .pv .public-event-content { padding: 18px; }
  .pv .public-event .brand-badge img, .pv .public-event .brand-initial { width: 28px; height: 28px; flex-basis: 28px; }
  .pv .public-event .brand-badge strong { font-size: 13px; }
  .pv .calendar { padding: 8px; gap: 3px; }
  .pv .day { min-height: 70px; padding: 3px; font-size: 10px; }
  .pv .day a { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) { .pv * { scroll-behavior: auto !important; } }

/* Poster review */
/* Poster review: source on the left, one session at a time on the right. */
.pv #pv-poster-wizard { width: min(1440px, calc(100vw - 40px)); max-height: calc(100dvh - 32px); }
.pv #pv-poster-wizard .sheet-content { padding: 24px 30px; }
.pv .poster-layout { display: grid; grid-template-columns: minmax(220px, 290px) minmax(0, 1fr); gap: 30px; align-items: start; }
.pv .poster-source { min-width: 0; position: sticky; top: 0; display: grid; gap: 16px; }
.pv .poster-source p { margin-bottom: 0; font-size: 13px; }
.pv .poster-organizer .brand-badge { gap: 10px; margin-top: 8px; }
.pv .poster-organizer .brand-badge strong { font-size: 19px; letter-spacing: 0; }
.pv .poster-organizer .brand-initial, .pv .poster-organizer .brand-badge img { width: 40px; height: 40px; flex-basis: 40px; border-radius: 8px; }
.pv .poster-source .upload-preview { width: 100%; max-height: 510px; object-fit: contain; }
.pv .poster-source .form-message { padding: 12px 14px; background: var(--green-soft); border-radius: 9px; font-weight: 600; }
.pv .poster-source .form-message:empty { display: none; }
.pv .poster-source .form-message.error { background: var(--red-soft); }
.pv .poster-workspace, .pv .poster-review, .pv .poster-panels { min-width: 0; }
.pv .poster-empty { min-height: 340px; display: flex; flex-direction: column; justify-content: center; padding: 36px; border: 1px dashed #d5cedc; border-radius: 12px; }
.pv .poster-empty p { max-width: 36em; color: var(--muted); }
.pv .poster-review-heading h3 { font-size: 21px; margin-bottom: 5px; }
.pv .poster-review-heading p { font-size: 13px; }
.pv .poster-common { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 20px 0 24px; }
.pv .poster-full { grid-column: 1 / -1; }
.pv .poster-common textarea { min-height: 170px; }
.pv .poster-warnings { background: #fff9ec; border: 1px solid #eddfbd; border-radius: 9px; padding: 7px 14px; margin: 14px 0; color: #654719; }
.pv .poster-warnings summary { color: #78551e; padding: 6px 0; }
.pv .poster-warnings p, .pv .poster-warning { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; }
.pv .poster-tabs { position: sticky; top: 0; z-index: 2; background: var(--paper); display: flex; gap: 4px; overflow-x: auto; overscroll-behavior-x: contain; border-bottom: 2px solid var(--line); padding: 0 0 1px; margin-top: 8px; scrollbar-width: thin; }
.pv .poster-tabs button { flex: 0 0 auto; display: grid; gap: 4px; min-width: 110px; padding: 12px 16px; border: 0; border-bottom: 3px solid transparent; border-radius: 8px 8px 0 0; background: transparent; text-align: left; color: var(--muted); }
.pv .poster-tabs button[aria-selected="true"] { color: var(--brand); background: var(--brand-soft); border-bottom-color: var(--brand); }
.pv .poster-tabs strong { font-size: 15px; }
.pv .poster-tabs span { font-size: 12px; white-space: nowrap; }
.pv .poster-session { padding: 20px 0 4px; min-width: 0; }
.pv .poster-session-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 20px 0 12px; }
.pv .poster-session > label { margin: 18px 0; }
.pv .poster-session .check-label { display: flex; flex-direction: row; align-items: center; gap: 10px; }
.pv .poster-session .check-label input { width: 20px; min-height: 20px; }
.pv .poster-session .form-section { padding: 20px 0; }
.pv .poster-session .poster-session-notices p { margin: 8px 0; }
.pv .poster-warning { color: #8a4714; }
.pv .section-heading { flex-wrap: wrap; }
.pv .section-heading > .primary { flex-shrink: 0; }
@media (max-width: 1000px) {
 .pv .poster-layout { grid-template-columns: minmax(180px, 220px) minmax(0, 1fr); gap: 22px; }
 .pv .poster-common { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
 .pv #pv-poster-wizard { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 12px; }
 .pv #pv-poster-wizard .sheet-header { padding: 17px 18px; }
 .pv #pv-poster-wizard .sheet-content { padding: 18px; }
 .pv #pv-poster-wizard .sheet-footer { padding: 12px 18px; }
 .pv .poster-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 .pv .poster-source { position: static; }
 .pv .poster-source .upload-preview { max-height: 360px; max-width: 100%; width: auto; }
 .pv .poster-empty { min-height: 180px; padding: 24px; }
 .pv .poster-session-grid { grid-template-columns: minmax(0, 1fr); }
 .pv .poster-tabs button { min-width: 110px; }
}

/* Brand support remains visible on desktop and mobile. */
.support-controls{background:#fff7df;border:1px solid #d5a43b;border-radius:16px;padding:16px;margin:0 0 20px;display:grid;gap:10px}.support-controls label{display:grid;gap:6px}.support-controls select{width:100%;min-width:0;max-width:100%}.support-controls p{margin:0}.support-controls strong{overflow-wrap:anywhere}

.support-sheet-banner{background:#fff7df;color:#654500;border-bottom:1px solid #d5a43b;padding:10px 20px;margin:0;overflow-wrap:anywhere}

/* Check-in: one compact record per row, following the administrator roster. */
.pv #pv-roster{width:min(1160px,calc(100vw - 40px))}
.pv .roster-summary{margin-bottom:12px}.pv .roster-toolbar{gap:8px;padding-bottom:12px}
.pv .roster-entries{overflow-x:auto;overscroll-behavior-x:contain;margin-top:12px;padding-bottom:4px}
.pv .roster-entry{padding:0;border:1px solid var(--line);border-radius:10px;margin:0 0 7px;min-width:960px;overflow:hidden}
.pv .roster-entry[hidden]{display:none!important}
.pv .roster-main{display:grid;grid-template-columns:38px 112px minmax(125px,1fr) 112px 120px 86px auto;align-items:center;gap:10px;min-height:58px;padding:8px 12px}
.pv .roster-number{font-size:13px;color:var(--brand);font-variant-numeric:tabular-nums;white-space:nowrap}
.pv .roster-name{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .roster-phone{font-size:13px;font-variant-numeric:tabular-nums;color:#43658b;white-space:nowrap}
.pv .roster-payment{font-size:13px;font-weight:600;padding:0;white-space:nowrap;color:var(--brand)}
.pv .roster-main>.status-badge{white-space:nowrap}
.pv .roster-actions{display:flex;justify-content:end;align-items:center;gap:6px;white-space:nowrap}
.pv .roster-checkin{justify-content:flex-start}
.pv .roster-actions button{width:auto;min-height:38px;padding:7px 10px;font-size:12px;white-space:nowrap}
.pv .roster-edit{margin:0;border-top:1px solid var(--line);background:var(--bg);padding:12px 16px}
.pv .roster-edit[hidden]{display:none!important}.pv .roster-edit .row{padding:0}
@media(max-width:640px){.pv #pv-roster{width:calc(100vw - 16px)}.pv #pv-roster .sheet-content{padding:12px}.pv .roster-summary button{flex:0 0 auto}.pv .roster-main{min-height:58px}.pv #pv-roster .sheet-header{padding:14px 16px}.pv #pv-roster .sheet-header h2{font-size:16px}}

/* Partners visual layer; Tailwind utilities below are compiled locally. */
.pv .pv-icon{display:inline-block;width:18px;height:18px;flex:0 0 18px;vertical-align:middle;pointer-events:none}
.partner-workspace{background:#f5f6fa}.partner-workspace .pv{--brand:#6c3c87;--brand-soft:#f1e9f6;--brand-deep:#332340;--line:#e5e1eb;max-width:1240px;padding-top:16px}
.partner-workspace .site-nav{padding-bottom:16px}.partner-workspace .support-controls{padding:12px 16px;border-radius:12px;border-color:#e8d7a1;background:#fffbeb}.partner-workspace .support-controls p{font-size:12px;color:#796534}
.partner-workspace .support-controls label{max-width:420px}.partner-workspace .support-sheet-banner{padding:9px 24px;font-size:12px;background:#fffbeb;border-color:#f1e2b9}
.partner-workspace .portal-brand .brand-badge strong{font-size:23px}.partner-workspace .workspace-tabs{margin-bottom:22px;border-bottom:1px solid var(--line)}
.partner-workspace .workspace-tabs button{border-bottom:0!important;flex:0 1 160px;min-height:44px!important}
.partner-workspace .workspace-tabs button[aria-selected="true"]{background:#6c3c87!important;border-color:#6c3c87!important;color:#fff!important;box-shadow:0 3px 8px #6c3c8720}
.partner-workspace .filter-pills button{background:transparent!important;border-color:transparent!important;min-height:36px!important;padding:7px 11px!important;font-size:12px!important}
.partner-workspace .filter-pills button.selected{background:#eee5f4!important;color:#6c3c87!important}.partner-workspace .filter-pills .pv-icon{width:14px;height:14px;flex-basis:14px}
.partner-workspace .event-list{background:transparent;border:0;border-radius:0;display:grid;gap:12px;overflow:visible}
.partner-workspace .event-row:last-child{border-bottom:1px solid var(--line)}.partner-workspace .event-thumbnail{width:76px;height:102px;border-radius:10px;background:#f1e9f6}
.partner-workspace .event-row h3{font-size:18px}.partner-workspace .event-row-content .event-meta{font-size:13px}
.partner-workspace .workspace-sheet{border:1px solid #e8e3ed;width:min(880px,calc(100vw - 40px));border-radius:22px;box-shadow:0 24px 90px #2a183b30}
.partner-workspace .sheet-header{padding:20px 24px;background:#fff}.partner-workspace .sheet-header h2{font-size:21px;color:#332340}.partner-workspace .sheet-close{display:inline-flex;align-items:center;gap:6px;padding:10px 12px!important;border-radius:10px;background:#f1e9f6;color:#6c3c87}
.partner-workspace .sheet-content{padding:24px}.partner-workspace .event-management-summary{padding:0}.partner-workspace .management-overview.has-poster{grid-template-columns:minmax(0,1fr) 120px}.partner-workspace .management-poster{width:120px;height:156px;object-fit:contain;background:#f5f3f7;border-radius:12px;border:1px solid var(--line)}
.partner-workspace .metric-icon{width:36px;height:36px;flex:0 0 36px}.partner-workspace .management-metric strong{white-space:nowrap;font-variant-numeric:tabular-nums}.partner-workspace .management-date .pv-icon{color:#6c3c87}
.partner-workspace .attendance-track{height:5px;background:#eeeaf1;border-radius:8px;overflow:hidden}.partner-workspace .attendance-track>span{height:100%;display:block;background:#258064;border-radius:8px}
.partner-workspace .management-stage{margin-top:22px;padding-top:20px!important}.partner-workspace .management-stage .actions{justify-content:flex-start;gap:10px;margin:0;align-items:center}
.partner-workspace .management-stage .actions a{padding:8px 2px}.partner-workspace .action-pause{background:#fff8e9!important;color:#8a5a14!important;border-color:#e7c890!important}.partner-workspace .action-pause:hover{background:#fff1d6!important}
.partner-workspace .action-listing{background:transparent!important;border-color:transparent!important;color:#8a6241!important;margin-left:auto;padding-left:8px!important;padding-right:8px!important}.partner-workspace .action-listing:hover{background:#fff4e8!important;border-color:#edd8bb!important}
.partner-workspace .roster-actions button{padding:7px 10px!important;min-height:38px!important;font-size:12px!important;gap:5px!important;border-radius:8px!important}.partner-workspace .roster-actions .pv-icon{width:14px;height:14px;flex-basis:14px}
.partner-workspace .settings-form{background:#fff;border-radius:16px}.partner-workspace .finance-balance{border-radius:16px;border-color:#e5e1eb}
.partner-workspace button[aria-busy="true"]{cursor:wait!important}.partner-workspace .roster-edit{background:#f5f6fa}
@media(max-width:700px){.partner-workspace .pv{padding-left:16px;padding-right:16px}.partner-workspace .workspace-tabs button{flex:1;padding-left:10px!important;padding-right:10px!important}.partner-workspace .management-metrics{grid-template-columns:1fr;gap:12px}.partner-workspace .management-overview.has-poster{grid-template-columns:minmax(0,1fr) 90px}.partner-workspace .management-poster{width:90px;height:126px}.partner-workspace .management-tools{grid-template-columns:1fr}.partner-workspace .management-stage .actions>button,.partner-workspace .management-stage .actions>a{flex:1 1 auto}.partner-workspace .action-listing{margin-left:0}.partner-workspace .workspace-sheet{width:calc(100vw - 16px)}.partner-workspace .sheet-header,.partner-workspace .sheet-content{padding:16px}.partner-workspace .support-sheet-banner{padding:9px 16px}.partner-workspace .event-row{grid-template-columns:62px minmax(0,1fr);gap:14px}.partner-workspace .event-row .event-manage{grid-column:1/-1;justify-self:stretch}.partner-workspace .event-thumbnail{width:62px;height:88px}}
@media(prefers-reduced-motion:reduce){.partner-workspace *{transition:none!important;scroll-behavior:auto!important}}
@media(min-width:701px){.partner-workspace .support-controls{grid-template-columns:minmax(180px,1fr) minmax(220px,360px) auto;align-items:center;gap:6px 16px}.partner-workspace .support-controls>strong{grid-column:1;grid-row:1}.partner-workspace .support-controls>label{grid-column:2;grid-row:1;width:100%;font-size:11px}.partner-workspace .support-controls>a{grid-column:3;grid-row:1}.partner-workspace .support-controls>p{grid-column:1/-1;grid-row:2}.partner-workspace .section-heading{justify-content:flex-start;align-items:center;gap:10px}.partner-workspace .section-heading>.heading-stack,.partner-workspace .section-heading>h2{margin-right:auto}}

/*! Tailwind CSS v3.4.17 | MIT License | https://tailwindcss.com */
/*
MIT License

Copyright (c) Tailwind Labs, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

*/
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.tw-mb-4{margin-bottom:1rem!important}.tw-mt-1{margin-top:.25rem!important}.tw-mt-3{margin-top:.75rem!important}.tw-mt-4{margin-top:1rem!important}.tw-mt-5{margin-top:1.25rem!important}.tw-block{display:block!important}.tw-flex{display:flex!important}.tw-inline-flex{display:inline-flex!important}.tw-grid{display:grid!important}.tw-min-h-\[44px\]{min-height:44px!important}.tw-min-w-0{min-width:0!important}.tw-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.tw-items-center{align-items:center!important}.tw-justify-center{justify-content:center!important}.tw-gap-2{gap:.5rem!important}.tw-gap-3{gap:.75rem!important}.tw-gap-5{gap:1.25rem!important}.tw-rounded-2xl{border-radius:1rem!important}.tw-rounded-xl{border-radius:.75rem!important}.tw-border{border-width:1px!important}.tw-border-0{border-width:0!important}.tw-border-solid{border-style:solid!important}.tw-border-brand{border-color:rgb(108 60 135/var(--tw-border-opacity,1))!important}.tw-border-brand,.tw-border-line{--tw-border-opacity:1!important}.tw-border-line{border-color:rgb(229 225 235/var(--tw-border-opacity,1))!important}.tw-bg-brand{background-color:rgb(108 60 135/var(--tw-bg-opacity,1))!important}.tw-bg-brand,.tw-bg-brand-soft{--tw-bg-opacity:1!important}.tw-bg-brand-soft{background-color:rgb(241 233 246/var(--tw-bg-opacity,1))!important}.tw-bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.tw-p-1\.5{padding:.375rem!important}.tw-p-5{padding:1.25rem!important}.tw-px-4{padding-left:1rem!important;padding-right:1rem!important}.tw-py-2\.5{padding-top:.625rem!important;padding-bottom:.625rem!important}.tw-text-base{font-size:1rem!important;line-height:1.5rem!important}.tw-text-lg{font-size:1.125rem!important;line-height:1.75rem!important}.tw-text-sm{font-size:.875rem!important;line-height:1.25rem!important}.tw-text-xs{font-size:.75rem!important;line-height:1rem!important}.tw-font-semibold{font-weight:600!important}.tw-text-brand{--tw-text-opacity:1!important;color:rgb(108 60 135/var(--tw-text-opacity,1))!important}.tw-text-brand-deep{color:rgb(51 35 64/var(--tw-text-opacity,1))!important}.tw-text-brand-deep,.tw-text-ink{--tw-text-opacity:1!important}.tw-text-ink{color:rgb(41 38 58/var(--tw-text-opacity,1))!important}.tw-text-muted{color:rgb(114 108 126/var(--tw-text-opacity,1))!important}.tw-text-muted,.tw-text-white{--tw-text-opacity:1!important}.tw-text-white{color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.tw-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.hover\:tw-bg-brand-deep:hover{--tw-bg-opacity:1!important;background-color:rgb(51 35 64/var(--tw-bg-opacity,1))!important}.hover\:tw-bg-brand-soft:hover{--tw-bg-opacity:1!important;background-color:rgb(241 233 246/var(--tw-bg-opacity,1))!important}.focus-visible\:tw-outline-none:focus-visible{outline:2px solid transparent!important;outline-offset:2px!important}.focus-visible\:tw-ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.focus-visible\:tw-ring-brand:focus-visible{--tw-ring-opacity:1!important;--tw-ring-color:rgb(108 60 135/var(--tw-ring-opacity,1))!important}.focus-visible\:tw-ring-offset-2:focus-visible{--tw-ring-offset-width:2px!important}.disabled\:tw-cursor-not-allowed:disabled{cursor:not-allowed!important}.disabled\:tw-opacity-50:disabled{opacity:.5!important}
