@import url("./brand-tokens.css?v=1");

@font-face {
  font-family: "Anton";
  src: url("./anton-regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
.finance-brand { font-family: "Avenir Next", Avenir, system-ui, sans-serif; background: var(--brand-paper); color: var(--brand-ink); --accent: #252528; --border: #d5d5d1; }
.finance-brand .shell { width: min(1180px, calc(100% - 64px)); }
.finance-brand .club-header { background: #171719; border-bottom: 2px solid var(--brand-gold); }
.finance-brand .header-inner { min-height: 94px; gap: 16px; }
.finance-brand .header-inner img { width: 59px; height: 59px; }
.finance-brand .brand-lockup strong {
  font: 400 28px/1 var(--brand-heading); text-transform: uppercase; letter-spacing: .015em;
}
.finance-brand .brand-lockup b { font-weight: inherit; color: #d7ba82; }
.finance-brand .brand-lockup span { margin-top: 6px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #c6c2bb; }
.finance-brand .local-label { border-radius: 2px; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; padding: 7px 10px; }
.finance-brand .header-inner > form { margin-left: auto; }
.finance-brand .finance-nav { gap: 0; margin-top: 0; border-bottom: 1px solid #ccc; padding-block: 12px; }
.finance-brand .finance-nav button {
  border: 0; border-radius: 2px; padding: 11px 24px; color: #505052;
  background: transparent; font: 400 19px/1.1 var(--brand-heading); letter-spacing: .035em; text-transform: uppercase;
}
.finance-brand .finance-nav button:hover { background: #e6e6e3; }
.finance-brand .finance-nav button[aria-pressed=true] { background: var(--brand-red); color: #fff; }
.finance-brand h1 { font-family: var(--brand-heading); font-weight: 400; text-transform: uppercase; letter-spacing: -.015em; }
.finance-brand h2 { font-family: var(--brand-heading); font-size: 25px; letter-spacing: 0; }
.finance-brand .eyebrow { color: #8a2631; font-size: 10px; letter-spacing: .16em; font-weight: 750; }
.finance-brand button { border-radius: 3px; font-size: 13px; }
.finance-brand button.primary { background: var(--brand-red); border-color: var(--brand-red); }
.finance-brand button.primary:not(:disabled):hover { background: #861825; }
.finance-brand :focus-visible { outline-color: #9b5921; }
.finance-brand .intro { padding-block: 28px 24px; }
.finance-brand .intro h1 { font-size: 58px; }
.finance-brand .panel { border-radius: 4px; box-shadow: 0 2px 0 rgb(20 20 20 / 3%); }
.finance-brand .step { background: var(--brand-ink); color: #fff; border-radius: 2px; font: 400 20px/1 var(--brand-heading); min-width: 31px; height: 30px; }
.finance-brand input, .finance-brand select { border-radius: 3px; }
.finance-brand .file-picker { background: #f6f6f4; border-color: #aaa; border-radius: 3px; }
.finance-brand .file-picker label { font-size: 13px; }
.finance-brand .file-picker input { font-size: 12px; }
.finance-brand .panel-head { gap: 10px; }
.finance-brand th { background: #ededeb; color: #555; text-transform: uppercase; font-size: 10px; letter-spacing: .055em; }
.finance-brand .totals strong { font: 400 26px/1 var(--brand-heading); }
.finance-brand .totals span { font-size: 10px; text-transform: uppercase; letter-spacing: .07em; }
.finance-brand .bank-intro {
  position: relative; isolation: isolate; overflow: hidden; padding: 35px 38px 37px; margin-top: 24px;
  background: #171719;
  border-radius: 4px 4px 0 0; border-left: 4px solid var(--brand-red); color: #fff;
}
.finance-brand .bank-intro::before, .parent-accounts .accounts-masthead::before {
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: .3;
  background: url("./brand-grain.svg"); pointer-events: none;
}
.finance-brand .bank-intro .eyebrow { color: #d0ae76; margin-bottom: 6px; }
.finance-brand .bank-intro h1 { font-size: clamp(70px, 8vw, 102px); line-height: .95; }
.finance-brand .bank-intro > p:last-of-type { color: #d8d3cd; max-width: 460px; font-size: 13px; line-height: 1.6; margin-top: 16px; }
.bank-hero-number {
  display: none;
  position: absolute; z-index: -1; right: 22px; top: -26px; transform: rotate(-8deg);
  font: 400 270px/.95 var(--brand-heading); color: transparent; -webkit-text-stroke: 1px rgb(245 237 222 / 17%);
}
.bank-overview { display: grid; grid-template-columns: 1.4fr 1fr 1fr; margin-bottom: 24px; border: 1px solid #d3d3cf; border-top: 0; background: #fff; }
.bank-overview > div { min-width: 0; padding: 21px 25px 20px; }
.bank-overview > div + div { border-left: 1px solid #ddd; }
.bank-overview .bank-position { background: #eaeae6; }
.bank-overview .bank-metric-label { display: block; text-transform: uppercase; letter-spacing: .09em; font-size: 10px; font-weight: 750; color: #555; }
.bank-overview strong { display: block; font: 400 clamp(36px, 4vw, 49px)/1.1 var(--brand-heading); margin: 6px 0; letter-spacing: -.015em; }
.bank-overview > div > span:last-child { display: block; font-size: 11px; line-height: 1.5; color: #626265; }
.finance-brand .workflow { gap: 20px; grid-template-columns: 1fr 1.18fr; }
.finance-brand .ledger { margin-top: 20px; }
.finance-brand .ledger .panel-head h2 { font-size: 28px; }
.finance-brand .bank-filters { padding: 15px; border: 1px solid #ddd; background: #f7f7f5; border-radius: 3px; }
.finance-brand .empty { padding-block: 24px; }
.finance-brand[data-page=accounts] > main > #club-workspace > .intro { padding-block: 24px 18px; }
.finance-brand[data-page=accounts] > main > #club-workspace > .intro h1 { font-size: 44px; }
.finance-brand[data-page=accounts] > main > #club-workspace > .intro .eyebrow { margin-bottom: 4px; }
.finance-brand .accounts-admin { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 25px; padding: 18px 22px; margin-bottom: 24px; }
.finance-brand .accounts-admin > h2 { font-size: 23px; }
.finance-brand .accounts-admin > p { grid-column: 1; font-size: 11px; margin: 4px 0 0; }
.finance-brand .accounts-admin .subs-controls { grid-column: 2; grid-row: 1 / 3; margin: 0; min-width: 250px; }
.finance-brand .accounts-admin .allocation-actions { grid-column: 1; margin-top: 12px; }
.finance-brand .accounts-publication { grid-column: 1 / -1; margin-top: 14px; padding-top: 10px; }
.finance-brand .accounts-publication summary { font-size: 11px; color: #635d54; }
.accounts-preview { margin-bottom: 24px; }
.accounts-preview > .eyebrow { margin-bottom: 10px; }

.parent-accounts { font-family: "Avenir Next", Avenir, system-ui, sans-serif; container-type: inline-size; overflow: hidden; background: #fff; border: 0; border-radius: 4px; margin-top: 0; color: #202022; }
.parent-accounts .accounts-masthead {
  position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: 1fr auto; gap: 25px;
  padding: 28px 32px 34px; color: #fff; border-bottom: 3px solid #aa8950;
  background: radial-gradient(ellipse at 42% 120%, rgb(126 25 39 / 45%) 0, transparent 58%), #171719;
}
.parent-accounts .accounts-watermark {
  display: none;
  position: absolute; z-index: -1; right: 22px; bottom: -68px;
  font: 400 260px/1 var(--brand-heading); transform: rotate(-10deg); letter-spacing: -.03em;
  color: transparent; -webkit-text-stroke: 1px rgb(248 236 215 / 14%); pointer-events: none;
}
.parent-accounts .accounts-identity { display: flex; align-items: center; gap: 12px; }
.parent-accounts .accounts-identity img { width: 54px; height: 54px; }
.parent-accounts .accounts-club { color: #f4eee5; font: 400 21px/1 var(--brand-heading); letter-spacing: .035em; }
.parent-accounts .accounts-age-group { color: #cfaf73; font: 400 22px/1 var(--brand-heading); margin-top: 3px; }
.parent-accounts .accounts-tag { align-self: start; padding: 7px 10px; color: #fff; font-size: 10px; border: 1px solid #aaa; border-radius: 2px; background: #171719; }
.parent-accounts .accounts-headline { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; grid-column: 1 / -1; max-width: 73%; }
.parent-accounts .accounts-kicker { color: #d1b887; font-size: 9px; font-weight: 750; letter-spacing: .17em; margin-bottom: 6px; }
.parent-accounts .accounts-masthead h2 { margin: 0; font: 400 clamp(48px, 7.2cqi, 90px)/.95 var(--brand-heading); letter-spacing: -.02em; text-transform: uppercase; }
.parent-accounts .accounts-year { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 15px; padding-left: 14px; border-left: 2px solid #aa8950; }
.parent-accounts .accounts-year strong { display: block; font: 400 clamp(26px, 3.4cqi, 36px)/1 var(--brand-heading); letter-spacing: -.01em; }
.parent-accounts .accounts-period { font-size: 10px; margin: 0; color: #ddd; }
.parent-accounts .accounts-content { padding: 0; }
.parent-accounts .accounts-money-journey { padding: 26px 30px 30px; background: #eeeeeb; border-bottom: 1px solid #d3d3cf; }
.parent-accounts .accounts-journey-label { font-size: 9px; letter-spacing: .15em; color: #555; font-weight: 700; margin-bottom: 20px; }
.parent-accounts .accounts-figures { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; gap: 30px; background: transparent; border: 0; }
.parent-accounts .accounts-figure { position: relative; padding: 0; background: transparent; border: 0; border-radius: 0; }
.parent-accounts .accounts-figure + .accounts-figure { border: 0; }
.parent-accounts .accounts-figure:not(:last-child)::after { position: absolute; top: 32px; right: -21px; color: #67676b; font: 400 28px/1 var(--brand-heading); }
.parent-accounts .accounts-figure:first-child::after { content: "+"; }
.parent-accounts .accounts-figure:nth-child(2)::after { content: "−"; }
.parent-accounts .accounts-figure:nth-child(3)::after { content: "="; }
.parent-accounts .accounts-figure dt { display: block; font-size: 10px; font-weight: 600; color: #555; }
.parent-accounts .accounts-figure-symbol { display: none; }
.parent-accounts .accounts-figure dd { width: fit-content; font: 400 clamp(25px, 4cqi, 46px)/1.2 var(--brand-heading); letter-spacing: -.01em; margin-top: 8px; white-space: nowrap; }
.parent-accounts .accounts-figure-closing { background: transparent; color: #202022; box-shadow: none; }
.parent-accounts .accounts-figure-closing dt { color: #555; }
.parent-accounts .accounts-figure-closing dd { border-bottom: 3px solid #aa8950; padding-bottom: 3px; }
.parent-accounts .accounts-breakdown { display: block; }
.parent-accounts .accounts-breakdown section { border: 0; border-radius: 0; padding: 28px 30px 32px; }
.parent-accounts .accounts-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 26px; }
.parent-accounts .accounts-section-heading h3 { font: 400 32px/1.05 var(--brand-heading); text-transform: uppercase; letter-spacing: .01em; margin: 0; }
.parent-accounts .accounts-section-total { font: 400 28px/1.05 var(--brand-heading); }
.parent-accounts .accounts-category-icon { display: block; width: 54px; height: 54px; flex-shrink: 0; }
.parent-accounts .accounts-income { background: #fff; }
.parent-accounts .accounts-illustrated-income { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; padding: 0; margin: 0; list-style: none; }
.parent-accounts .accounts-illustrated-income li { position: relative; padding: 15px 12px 16px; min-width: 0; border-bottom: 2px solid #b49a69; background: #f0f0ed; }
.parent-accounts .accounts-illustrated-income .accounts-category-icon { color: #a72d3b; margin-bottom: 24px; }
.parent-accounts .accounts-illustrated-income strong { display: block; font: 400 clamp(25px, 3cqi, 36px)/1.15 var(--brand-heading); white-space: nowrap; }
.parent-accounts .accounts-illustrated-income li > span { display: block; font-size: 11px; line-height: 1.4; color: #555; margin-top: 7px; }
.parent-accounts .accounts-spending { background: #202022; color: #fff; }
.parent-accounts .accounts-spending h3 { color: #fff; }
.parent-accounts .accounts-pictograph { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 40px; align-items: center; margin: 0; }
.parent-accounts .accounts-spending-picture { max-width: 310px; margin-inline: auto; }
.parent-accounts .accounts-picture-label { font-size: 9px; letter-spacing: .14em; color: #dbc8a7; font-weight: 700; margin-bottom: 18px; }
.parent-accounts .accounts-shirt-grid { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 5px; }
.parent-accounts .accounts-shirt-grid svg { display: block; width: 100%; height: auto; }
.parent-accounts .accounts-spending-picture figcaption { font-size: 9px; line-height: 1.6; color: #ccc; margin-top: 16px; }
.parent-accounts .accounts-illustrated-expenses { padding: 0; margin: 0; list-style: none; }
.parent-accounts .accounts-illustrated-expenses li { display: flex; align-items: center; gap: 16px; padding-block: 17px; }
.parent-accounts .accounts-illustrated-expenses li + li { border-top: 1px solid #484347; }
.parent-accounts .accounts-illustrated-expenses .accounts-category-icon { color: var(--category-colour); width: 45px; height: 45px; }
.parent-accounts .accounts-expense-copy { min-width: 0; }
.parent-accounts .accounts-expense-copy span { display: block; font-size: 11px; line-height: 1.4; color: #ddd; }
.parent-accounts .accounts-expense-copy > strong { display: block; font: 400 26px/1.2 var(--brand-heading); color: #fff; margin-top: 5px; }
.parent-accounts .accounts-expense-percent { margin-left: auto; font: 400 32px/1 var(--brand-heading); color: var(--category-colour); white-space: nowrap; }
.parent-accounts .accounts-treasurer-note { margin: 0; padding: 24px 28px; border-top: 1px solid #d0d0cd; background: #ededeb; }
.parent-accounts .accounts-treasurer-note h3 { font: 400 24px/1 var(--brand-heading); text-transform: uppercase; margin-bottom: 10px; }
.parent-accounts .accounts-treasurer-note p { color: #505054; font-size: 12px; line-height: 1.65; }
.parent-accounts .accounts-report-footer { margin: 0; padding: 14px 28px; background: #161618; color: #d0b981; font-size: 9px; font-weight: 700; letter-spacing: .15em; border-top: 1px solid #5f5037; }


.finance-brand .bank-intro::after, .parent-accounts .accounts-masthead::after {
  content: ""; position: absolute; z-index: -1; top: 0; right: 0; bottom: 0; width: 28%;
  background: repeating-linear-gradient(90deg, #f5f5f2 0 34px, #171719 34px 68px);
  clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%); pointer-events: none;
}

@media (max-width: 900px) {
  .finance-brand .shell { width: calc(100% - 40px); }
  .finance-brand .workflow { grid-template-columns: 1fr 1fr; }
  .finance-brand .workflow fieldset { grid-template-columns: 1fr; }
}
@container (max-width: 850px) {
  .parent-accounts .accounts-money-journey { padding-inline: 24px; }
  .parent-accounts .accounts-figures { gap: 24px; }
  .parent-accounts .accounts-figure:not(:last-child)::after { right: -18px; top: 25px; font-size: 22px; }
  .parent-accounts .accounts-illustrated-income { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .parent-accounts .accounts-illustrated-income strong { font-size: 30px; }
  .parent-accounts .accounts-pictograph { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 25px; }
  .parent-accounts .accounts-expense-percent { font-size: 25px; }
  .parent-accounts .accounts-illustrated-expenses li { gap: 10px; }
  .parent-accounts .accounts-illustrated-expenses .accounts-category-icon { width: 33px; height: 33px; }
  .parent-accounts .accounts-expense-copy > strong { font-size: 22px; }
}
@container (max-width: 600px) {
  .parent-accounts .accounts-masthead { padding: 22px; gap: 25px 12px; }
  .parent-accounts .accounts-identity { gap: 9px; }
  .parent-accounts .accounts-identity img { width: 43px; height: 43px; }
  .parent-accounts .accounts-club { font-size: 18px; }
  .parent-accounts .accounts-age-group { font-size: 18px; }
  .parent-accounts .accounts-tag { font-size: 9px; max-width: 120px; line-height: 1.5; padding: 5px 7px; }
  .parent-accounts .accounts-headline { display: block; max-width: 81%; }
  .parent-accounts .accounts-masthead::after { width: 19%; background: repeating-linear-gradient(90deg, #f5f5f2 0 18px, #171719 18px 36px); }
  .parent-accounts .accounts-masthead h2 { font-size: 54px; }
  .parent-accounts .accounts-kicker { font-size: 8px; letter-spacing: .12em; }
  .parent-accounts .accounts-year { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding-left: 12px; margin-top: 18px; }
  .parent-accounts .accounts-year strong { font-size: 30px; }
  .parent-accounts .accounts-period { font-size: 9px; margin: 0; }
  .parent-accounts .accounts-money-journey { padding: 24px 22px; }
  .parent-accounts .accounts-figures { grid-template-columns: 1fr; gap: 17px; }
  .parent-accounts .accounts-figure { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 10px; padding: 0; }
  .parent-accounts .accounts-figure dt { display: flex; align-items: center; gap: 9px; font-size: 11px; }
  .parent-accounts .accounts-figure dd { font-size: 32px; margin: 0; }
  .parent-accounts .accounts-figure:not(:last-child)::after { display: none; }
  .parent-accounts .accounts-figure dt::before { content: ""; width: 13px; flex-shrink: 0; color: #67676b; font: 400 20px/1 var(--brand-heading); }
  .parent-accounts .accounts-figure-income dt::before { content: "+"; }
  .parent-accounts .accounts-figure-outgoing dt::before { content: "−"; }
  .parent-accounts .accounts-figure-closing dt::before { content: "="; }
  .parent-accounts .accounts-figure:nth-child(3), .parent-accounts .accounts-figure:nth-child(4) { border: 0; }
  .parent-accounts .accounts-breakdown section { padding: 25px 22px; }
  .parent-accounts .accounts-section-heading h3 { font-size: 29px; }
  .parent-accounts .accounts-section-total { font-size: 26px; }
  .parent-accounts .accounts-illustrated-income { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .parent-accounts .accounts-illustrated-income li:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .parent-accounts .accounts-illustrated-income .accounts-category-icon { width: 46px; height: 46px; margin-bottom: 18px; }
  .parent-accounts .accounts-illustrated-income strong { font-size: 32px; }
  .parent-accounts .accounts-pictograph { grid-template-columns: 1fr; gap: 20px; }
  .parent-accounts .accounts-spending-picture { width: min(100%, 270px); }
  .parent-accounts .accounts-illustrated-expenses .accounts-category-icon { width: 40px; height: 40px; }
  .parent-accounts .accounts-expense-copy > strong { font-size: 26px; }
  .parent-accounts .accounts-expense-percent { font-size: 30px; }
  .parent-accounts .accounts-report-footer { padding-inline: 22px; font-size: 8px; letter-spacing: .1em; }
}
@media (max-width: 640px) {
  .finance-brand .shell { width: calc(100% - 28px); }
  .finance-brand .header-inner { min-height: 78px; gap: 11px; }
  .finance-brand .header-inner img { width: 44px; height: 44px; }
  .finance-brand .brand-lockup strong { font-size: 22px; }
  .finance-brand .brand-lockup span { font-size: 8px; letter-spacing: .07em; }
  .finance-brand .local-label { font-size: 8px; letter-spacing: .04em; padding: 6px; }
  .finance-brand .finance-nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding-block: 10px; }
  .finance-brand .finance-nav button { font-size: 18px; padding: 9px 10px; }
  .finance-brand .bank-intro { padding: 28px 22px; margin-top: 18px; }
  .finance-brand .bank-intro h1 { font-size: 76px; }
  .finance-brand .bank-intro > p:last-of-type { max-width: 75%; font-size: 12px; }
  .finance-brand .bank-intro::after { width: 22%; background: repeating-linear-gradient(90deg, #f5f5f2 0 18px, #171719 18px 36px); }
  .bank-hero-number { font-size: 230px; right: -18px; top: 0; -webkit-text-stroke-color: rgb(245 237 222 / 10%); }
  .bank-overview { grid-template-columns: 1fr 1fr; margin-bottom: 18px; }
  .bank-overview > div { padding: 17px 20px; }
  .bank-overview .bank-position { grid-column: 1 / -1; }
  .bank-overview > div:nth-child(2) { border-left: 0; border-top: 1px solid #ded6c9; }
  .bank-overview > div:nth-child(3) { border-top: 1px solid #ded6c9; }
  .bank-overview strong { font-size: 39px; }
  .bank-overview .bank-position strong { font-size: 48px; }
  .bank-overview .bank-metric-label { font-size: 9px; }
  .bank-overview > div > span:last-child { font-size: 10px; }
  .finance-brand .workflow { grid-template-columns: 1fr; gap: 18px; }
  .finance-brand .panel { padding: 18px; }
  .finance-brand .accounts-admin { display: block; padding: 18px; }
  .finance-brand .accounts-admin .subs-controls { min-width: 0; margin-top: 14px; }
  .finance-brand .accounts-admin .allocation-actions { gap: 7px; }
  .finance-brand .accounts-admin .allocation-actions button { font-size: 11px; }
  .finance-brand .ledger-head .totals { margin-left: 41px; }
  .finance-brand #transaction-table { overflow: visible; }
  .finance-brand #transaction-table table, .finance-brand #transaction-table tbody { display: block; width: 100%; }
  .finance-brand #transaction-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .finance-brand #transaction-table tr:not(.review-editor) {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 12px 18px;
    padding: 18px 0; border-top: 1px solid #ddd6ca;
  }
  .finance-brand #transaction-table td { display: block; padding: 0; border: 0; min-width: 0; font-size: 12px; }
  .finance-brand #transaction-table tr:not(.review-editor) > td:first-child { grid-column: 1 / -1; }
  .finance-brand #transaction-table tr:not(.review-editor) > td:nth-child(2)::before,
  .finance-brand #transaction-table tr:not(.review-editor) > td:nth-child(3)::before {
    display: block; color: #6f6255; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 5px;
  }
  .finance-brand #transaction-table tr:not(.review-editor) > td:nth-child(2)::before { content: "Amount"; }
  .finance-brand #transaction-table tr:not(.review-editor) > td:nth-child(3)::before { content: "Allocation"; }
  .finance-brand #transaction-table tr:not(.review-editor) > td:last-child { grid-column: 1 / -1; }
  .finance-brand #transaction-table .review-transaction, .finance-brand #transaction-table .review-proposal { min-width: 0; }
  .finance-brand #transaction-table .review-amount { font-size: 16px; font-weight: 700; }
  .finance-brand #transaction-table .review-actions { justify-content: flex-end; }
  .finance-brand #transaction-table .suggested-row { padding-inline: 10px; border-left: 3px solid #26845c; }
  .finance-brand #transaction-table .suggested-row td:first-child { border: 0; padding: 0; }
  .finance-brand #transaction-table .review-editor { display: block; background: #f4f0e8; padding: 14px; }
}

/* Shared page treatment for the finance workspace and parent portal. */
.finance-brand .brand-intro {
  position: relative; isolation: isolate; overflow: hidden; margin: 24px 0;
  padding: 30px 34px; border-left: 4px solid var(--brand-red); border-radius: 4px;
  background: #171719; color: #fff;
}
.finance-brand .brand-intro::before {
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: .3; background: url("./brand-grain.svg"); pointer-events: none;
}
.finance-brand .brand-intro::after {
  content: ""; position: absolute; z-index: -1; top: 0; right: 0; bottom: 0; width: 24%;
  background: repeating-linear-gradient(90deg, #f5f5f2 0 30px, #171719 30px 60px);
  clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%); pointer-events: none;
}
.finance-brand .brand-intro .eyebrow { color: #d0ae76; margin-bottom: 10px; }
.finance-brand .brand-intro h1 { font-size: clamp(48px, 6vw, 72px); line-height: 1.1; max-width: 76%; }
.finance-brand .brand-intro > p:not(.eyebrow) { max-width: 72%; margin-top: 15px; color: #ddd5ca; font-size: 13px; line-height: 1.65; }
.finance-brand .brand-intro > .eyebrow:first-child { margin-top: 0; }
.finance-brand[data-page]:not([data-page=bank]):not([data-page=accounts]) #club-workspace > .club-panel { padding: 24px; margin-bottom: 20px; }
.finance-brand[data-page]:not([data-page=bank]):not([data-page=accounts]) .club-panel > h2 { border-left: 3px solid var(--brand-red); padding-left: 11px; }
.finance-brand h3.subs-section-title { font: 400 23px/1.2 var(--brand-heading); letter-spacing: .01em; }
.finance-brand .subs-controls { gap: 14px; margin-block: 18px; }
.finance-brand .subs-view-buttons { gap: 8px; }
.finance-brand .subs-summary { padding: 13px 15px; background: #f1eee6; border-left: 3px solid #b1945e; border-radius: 2px; color: #4a4338; font-size: 12px; line-height: 1.7; }
.finance-brand .cash-metrics { gap: 15px; margin-top: 16px; }
.finance-brand .cash-metric { border-radius: 3px; background: #f4f1e9; border-color: #d9d1c2; border-top: 3px solid #aa8950; padding: 17px; }
.finance-brand .cash-metric strong { font: 400 38px/1.2 var(--brand-heading); margin-block: 9px; }
.finance-brand .cash-metric span { font-size: 10px; text-transform: uppercase; letter-spacing: .055em; }
.finance-brand .cash-metric small { font-size: 11px; }
.finance-brand .cash-latest { color: #a72d3b; }
.finance-brand .cash-key-point { stroke: #a72d3b; }
.finance-brand .cash-axis { font-family: "Avenir Next", Avenir, sans-serif; }
.finance-brand .cash-legend { gap: 12px 22px; padding-block: 10px; }
.finance-brand .cash-legend li { font-size: 11px; }
.finance-brand .club-form { gap: 16px; }
.finance-brand .club-form input, .finance-brand .club-form select { min-height: 41px; }
.finance-brand .club-panel > details { margin-top: 18px; }
.finance-brand a { color: #942333; text-underline-offset: 3px; }
.finance-brand .table-scroll { border-radius: 3px; }
.finance-brand .table-scroll button:not(.primary) { border-color: #ccc6ba; background: #fff; color: #28262a; }
.finance-brand .table-scroll tbody tr:hover:not(.subs-paid):not(.subs-unpaid) { background-color: #f7f5f0; }
.finance-brand .portal-admin > .club-panel { border-color: #d8d1c3; }
.finance-brand .portal-admin > .club-panel h2 { border-left: 3px solid var(--brand-red); padding-left: 11px; }
.finance-brand .portal-admin input[type=checkbox] { accent-color: #ad2130; }
.parent-brand .shell { max-width: 1040px; }
.parent-brand .parent-portal { gap: 22px; padding-bottom: 36px; }
.parent-brand .brand-intro { margin-bottom: 0; }
.parent-brand .portal-heading { display: block; max-width: 74%; }
.parent-brand .portal-heading h1 { max-width: none; }
.parent-brand .portal-heading > button { position: absolute; right: 24px; top: 24px; color: #fff; background: #171719; border-color: #999; }
.parent-brand .brand-intro > p.muted { color: #c8c1b8; font-size: 11px; }
.parent-brand .portal-player { padding: 25px; margin: 0; }
.parent-brand .portal-player > h2 { font-size: 31px; }
.parent-brand .portal-balance { justify-content: space-between; padding: 18px; margin-block: 20px 25px; border-left: 3px solid #aa8950; background: #f3efe5; border-radius: 2px; }
.parent-brand .portal-balance span { font-size: 12px; }
.parent-brand .portal-balance strong { font: 400 37px/1 var(--brand-heading); }
.parent-brand .portal-balance[data-status=settled] { background: #eff4ef; border-color: #548268; }
.parent-brand .subs-section-title { font-size: 24px; text-transform: uppercase; margin-block: 24px 12px; }
.parent-brand .table-scroll th { font-size: 9px; padding-block: 12px; }
.parent-brand .table-scroll td { padding-block: 15px; font-size: 12px; }
.parent-brand .portal-status { font-size: 10px; white-space: nowrap; }
.parent-brand .portal-bacs, .parent-brand .portal-accounts { margin: 0; padding: 25px; }
.parent-brand .portal-bacs > h2, .parent-brand .portal-accounts > h2 { border-left: 3px solid #ad2130; padding-left: 11px; margin-bottom: 18px; }
.parent-brand .portal-payment { background: #f3efe5; border-left: 3px solid #aa8950; padding: 18px; font-size: 13px; gap: 12px 22px; border-radius: 2px; }
.parent-brand .portal-accounts .parent-accounts { margin-top: 20px; }
.parent-brand .portal-signin, .auth-brand .auth-panel { max-width: 570px; margin: 0 auto 30px; padding: 28px; }
.parent-brand .portal-signin > h2 { font-size: 29px; }
.parent-brand .portal-signin .club-form, .auth-brand .auth-panel .club-form { grid-template-columns: 1fr; gap: 18px; }
.parent-brand .portal-signin input, .auth-brand .auth-panel input { width: 100%; min-height: 46px; }
.parent-brand .portal-signin button, .auth-brand .auth-panel button { padding: 13px 18px; }
.auth-brand .brand-intro { margin-bottom: 28px; }
@media (max-width: 640px) {
  .finance-brand .brand-intro { margin-block: 18px; padding: 27px 22px; }
  .finance-brand .brand-intro::after { width: 20%; background: repeating-linear-gradient(90deg, #f5f5f2 0 18px, #171719 18px 36px); }
  .finance-brand .brand-intro h1 { font-size: 49px; max-width: 80%; }
  .finance-brand .brand-intro > p:not(.eyebrow) { max-width: 76%; font-size: 12px; }
  .finance-brand[data-page]:not([data-page=bank]):not([data-page=accounts]) #club-workspace > .club-panel { padding: 18px; }
  .finance-brand .cash-metric strong { font-size: 34px; }
  .finance-brand .subs-view-buttons { gap: 7px; }
  .finance-brand .subs-view-buttons button { font-size: 11px; }
  .parent-brand .parent-portal { gap: 18px; }
  .parent-brand .brand-intro { margin-bottom: 0; }
  .parent-brand .portal-heading { max-width: 80%; padding-top: 10px; }
  .parent-brand .portal-heading > button { right: 16px; top: 18px; padding: 6px 9px; font-size: 10px; }
  .parent-brand .brand-intro > p.muted { font-size: 10px; }
  .parent-brand .portal-player, .parent-brand .portal-bacs, .parent-brand .portal-accounts, .parent-brand .portal-signin { padding: 20px; }
  .parent-brand .portal-player > h2 { font-size: 28px; }
  .parent-brand .portal-due-table, .parent-brand .portal-upcoming-table { overflow: visible; }
  .parent-brand .portal-due-table table, .parent-brand .portal-upcoming-table table,
  .parent-brand .portal-due-table tbody, .parent-brand .portal-upcoming-table tbody { display: block; width: 100%; }
  .parent-brand .portal-due-table thead, .parent-brand .portal-upcoming-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .parent-brand .portal-due-table tbody tr, .parent-brand .portal-upcoming-table tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 17px 0; border-top: 1px solid #ddd6c8; }
  .parent-brand .portal-due-table td, .parent-brand .portal-upcoming-table td { display: block; padding: 0; border: 0; }
  .parent-brand .portal-due-table td::before, .parent-brand .portal-upcoming-table td::before { content: attr(data-label); display: block; color: #6b6255; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px; }
  .parent-brand .portal-due-table td:first-child, .parent-brand .portal-upcoming-table td:first-child { grid-column: 1 / -1; font: 400 23px/1.2 var(--brand-heading); }
  .parent-brand .portal-due-table td:first-child::before, .parent-brand .portal-upcoming-table td:first-child::before { display: none; }
  .parent-brand .portal-due-table td:last-child { grid-column: 1 / -1; }
  .parent-brand .portal-due-table .portal-status { font-size: 11px; }
  .parent-brand .portal-payment { font-size: 12px; padding: 14px; gap: 12px; }
}

@media print {
  @page { size: A4; margin: 10mm; }
  body.finance-brand { font-family: "Avenir Next", Avenir, system-ui, sans-serif; background: #fff; }
  .finance-brand .shell { width: 100%; }
  .finance-brand .club-header, .finance-brand #finance-nav, .finance-brand #bank-workspace,
  .finance-brand #club-workspace > .intro, .finance-brand #club-workspace > .club-status,
  .finance-brand .accounts-admin, .finance-brand #club-workspace > .club-panel,
  .finance-brand main > footer, .accounts-preview > .eyebrow { display: none !important; }
  .accounts-preview { margin: 0; }
  .parent-accounts { border-radius: 0; print-color-adjust: exact; -webkit-print-color-adjust: exact; break-inside: avoid; }
  .parent-accounts .accounts-masthead { padding: 20px 24px; }
  .parent-accounts .accounts-masthead h2 { font-size: 62px; }
  .parent-accounts .accounts-headline { display: flex; }
  .parent-accounts .accounts-year { display: block; margin: 0; }
  .parent-accounts .accounts-year strong { font-size: 38px; }
  .parent-accounts .accounts-figures { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .parent-accounts .accounts-figure { padding: 0; }
  .parent-accounts .accounts-figure dd { font-size: 32px; }
  .parent-accounts .accounts-breakdown { display: block; }
  .parent-accounts .accounts-breakdown section { padding: 22px; }
  .parent-accounts .accounts-section-heading h3 { font-size: 24px; }
  .parent-accounts .accounts-illustrated-income { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
  .parent-accounts .accounts-illustrated-income strong { font-size: 23px; }
  .parent-accounts .accounts-illustrated-income li:last-child:nth-child(odd) { grid-column: auto; }
  .parent-accounts .accounts-pictograph { grid-template-columns: 1fr 1.3fr; }
  .parent-accounts .accounts-spending-picture { max-width: 230px; }
}

/* Treasurer overview: the checked bank position, followed by the next useful action. */
.overview-balance { position: relative; display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(220px, 1fr); column-gap: 44px; padding: 28px 32px; overflow: hidden; border-top: 4px solid var(--brand-gold); }
.overview-balance::after { content: ""; position: absolute; top: 0; bottom: 0; right: 0; width: 15px; background: repeating-linear-gradient(90deg, #171719 0 5px, #f5f5f2 5px 10px); }
.overview-balance h2 { margin: 0; font-size: 21px; }
.overview-balance-value { grid-column: 1; display: block; margin: 12px 0 2px; font: 400 clamp(44px, 6vw, 70px)/1.15 var(--brand-heading); letter-spacing: -.025em; }
.overview-balance > p { grid-column: 1; margin: 8px 0 18px; font-size: 13px; }
.overview-balance > button { grid-column: 1; justify-self: start; }
.overview-bank-detail { grid-column: 2; grid-row: 1 / 5; align-self: center; border-left: 1px solid #d9d4cb; padding-left: 30px; }
.overview-label { display: block; margin-bottom: 12px; color: #655a48; font-size: 11px; font-weight: 700; }
.overview-bank-detail strong { font: 400 30px/1.1 var(--brand-heading); }
.overview-bank-detail p { font-size: 12px; line-height: 1.6; margin-bottom: 0; }
.overview-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 22px 0; }
.overview-metric { margin: 0; display: flex; flex-direction: column; padding: 23px 24px; border-top: 3px solid #262628; }
.overview-metric h2 { font-size: 21px; margin: 0 0 18px; }
.overview-metric-value { font: 400 43px/1.1 var(--brand-heading); letter-spacing: -.02em; }
.overview-metric p { font-size: 12px; line-height: 1.6; margin: 12px 0 20px; }
.overview-metric button { align-self: flex-start; margin-top: auto; }
.overview-metric.overview-attention { border-top-color: var(--brand-red); }
.overview-attention .overview-metric-value { color: #9a2130; }
.overview-lower { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 28px; }
.overview-lower > .panel { margin: 0; padding: 25px; }
.overview-lower h2 { margin: 0; }
.overview-collection > p { font-size: 12px; line-height: 1.6; }
.overview-progress-head { display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap; margin: 28px 0 14px; }
.overview-progress-head strong { font: 400 34px/1 var(--brand-heading); }
.overview-progress-head span { font-size: 12px; color: #555; }
.overview-collection progress { width: 100%; height: 13px; display: block; border: 0; border-radius: 2px; overflow: hidden; appearance: none; background: #e4e4df; accent-color: var(--brand-ink); }
.overview-collection progress::-webkit-progress-bar { background: #e4e4df; }
.overview-collection progress::-webkit-progress-value { background: repeating-linear-gradient(90deg, #171719 0 12px, #a8a8a2 12px 14px); }
.overview-collection progress::-moz-progress-bar { background: #171719; }
.overview-paid-count { font-weight: 650; }
.overview-collection > button { margin-top: 10px; }
.overview-links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 22px; }
.overview-links button { display: grid; position: relative; text-align: left; padding: 17px 27px 17px 15px; gap: 7px; background: #f7f7f4; border-color: #dedbd4; }
.overview-links button:hover { background: #efede7; border-color: #aa8950; }
.overview-links strong { font-size: 14px; }
.overview-links button > span:not(.overview-link-arrow) { font-size: 11px; font-weight: 400; color: #5e5e5c; line-height: 1.5; }
.overview-link-arrow { position: absolute; right: 11px; top: 15px; color: #a22231; }
@media (max-width: 760px) {
  .overview-balance { padding: 24px; grid-template-columns: 1fr; }
  .overview-bank-detail { grid-column: 1; grid-row: auto; border-left: 0; border-top: 1px solid #d9d4cb; padding: 22px 0 0; margin-top: 24px; }
  .overview-bank-detail strong { font-size: 25px; }
  .overview-metrics { grid-template-columns: 1fr; gap: 14px; }
  .overview-metric { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 14px; padding: 20px; }
  .overview-metric h2 { grid-column: 1; margin-bottom: 8px; }
  .overview-metric-value { grid-column: 2; grid-row: 1 / 3; align-self: start; font-size: 35px; }
  .overview-metric p { grid-column: 1; margin: 0 0 18px; }
  .overview-metric button { grid-column: 1 / -1; justify-self: start; }
  .overview-lower { grid-template-columns: 1fr; }
}
@media (max-width: 390px) {
  .overview-metric { display: flex; }
  .overview-metric p { margin-block: 10px 18px; }
  .overview-links { grid-template-columns: 1fr; }
}
.overview-collection .overview-paid-count { margin-block: 14px 8px; }
.portal-tabs { display: flex; gap: 6px; border-bottom: 3px solid #171719; padding-bottom: 8px; }
.finance-brand .portal-tabs button { border: 1px solid #d8d1c3; padding: 12px 20px; font-weight: 750; background: #fff; color: #242326; }
.finance-brand .portal-tabs button[aria-selected=true] { background: #171719; color: #fff; border-bottom: 4px solid var(--brand-red); padding-bottom: 9px; }
.portal-tab-content, .player-record-editor, .record-admin-detail { display: grid; gap: 22px; min-width: 0; }
.finance-brand .portal-selection { margin: 0; padding: 20px 25px; }
.portal-selection select { max-width: 430px; }
.portal-selection h2 { margin-bottom: 12px; }
.record-form { display: grid; gap: 22px; min-width: 0; }
.record-form > button { justify-self: start; padding: 12px 24px; }
.record-group { display: block; min-width: 0; margin: 0; padding: 22px; border: 1px solid #d8d1c3; border-top: 4px solid #171719; background: #fff; border-radius: 3px; }
.record-group legend { padding: 0 8px; font: 400 23px/1.25 var(--brand-heading); color: #171719; }
.record-group p { font-size: 14px; line-height: 1.65; max-width: 80ch; }
.record-consent-copy p { margin: 0; }
.record-consent-copy p + p { margin-top: 1em; }
.portal-document-links { display:flex; flex-wrap:wrap; gap:15px 25px; padding:15px 0; border-top:1px solid #d8d1c3; font-size:13px; }
.record-group .record-group { margin-top: 20px; border-top-width: 1px; background: #faf9f6; }
.record-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-block: 16px; }
.record-form label { display: block; font-size: 13px; font-weight: 650; min-width: 0; }
.record-form input:not([type=checkbox]), .record-form select, .record-form textarea { display: block; width: 100%; min-width: 0; box-sizing: border-box; min-height: 44px; margin-top: 7px; padding: 10px 12px; border: 1px solid #bbb5ac; border-radius: 3px; color: #242326; background: #fff; font: inherit; font-weight: 400; }
.record-form textarea { resize: vertical; min-height: 94px; }
.record-form input[readonly] { background: #efede8; }
.record-form .record-checkbox { display: flex; align-items: flex-start; gap: 12px; font-size: 13px; line-height: 1.6; }
.record-checkbox input { flex: 0 0 auto; inline-size: 19px; block-size: 19px; margin: 2px 0 0; accent-color: #ad2130; order: -1; }
.record-confirmed, .record-notice { padding: 13px 16px; border-left: 3px solid #ad2130; background: #f3efe5; font-size: 13px; line-height: 1.6; }
.record-consent-status { display: inline-block; padding: 5px 10px; background: #efede8; font-size: 12px !important; font-weight: 700; }
.record-group[disabled] { opacity: .65; }
.record-group [hidden] { display: none; }
.record-parent-link { border-bottom: 1px solid #d8d1c3; padding-bottom: 20px; margin-bottom: 20px; }
.record-history { padding: 18px; background: #f3efe5; border-left: 3px solid #aa8950; }
.record-history summary { font-weight: 700; cursor: pointer; }
@media (max-width: 600px) {
  .record-grid { grid-template-columns: minmax(0, 1fr); }
  .record-group { padding: 16px; }
  .record-group legend { font-size: 21px; }
  .portal-tabs button { flex: 1; min-width: 0; }
  .finance-brand .portal-tabs button { padding: 12px 10px; font-size: 12px; }
  .record-form > button { width: 100%; }
}

/* Agreed consistency pass: compact working pages, larger presentation reports. */
.finance-brand { font-family:var(--brand-body); }
.finance-brand .header-inner { min-height:88px; gap:12px; }
.finance-brand .header-inner img { width:52px; height:52px; object-fit:contain; flex-shrink:0; }
.finance-brand .brand-lockup { min-width:0; }
.finance-brand .brand-lockup strong { font-size:25px; line-height:1.15; letter-spacing:.01em; }
.finance-brand .brand-lockup b { color:var(--brand-gold-light); }
.finance-brand .brand-lockup span { font-size:10px; letter-spacing:.09em; }
.finance-brand .header-inner > form > button,
.finance-brand .header-inner > .portal-signout { margin-left:auto; min-height:40px; padding:9px 14px; border:1px solid #777773; color:#fff; background:transparent; white-space:nowrap; flex-shrink:0; }
.finance-brand .header-inner > form > button:hover,
.finance-brand .header-inner > .portal-signout:hover { background:#303033; border-color:#c8c5bd; }
.finance-brand .finance-nav { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; padding-block:10px; }
.finance-brand .finance-nav button { min-width:0; min-height:42px; padding:10px 6px; font-size:18px; letter-spacing:.015em; white-space:nowrap; }
.finance-brand .brand-intro, .finance-brand .bank-intro { margin:20px 0; padding:22px 26px; border-left:4px solid var(--brand-red); border-radius:var(--brand-radius); }
.finance-brand .bank-intro { margin-bottom:0; }
.finance-brand .brand-intro h1, .finance-brand .bank-intro h1 { font-size:44px; line-height:1.08; letter-spacing:-.01em; max-width:80%; }
.finance-brand .brand-intro .eyebrow, .finance-brand .bank-intro .eyebrow { margin-bottom:7px; font-size:11px; letter-spacing:.13em; color:var(--brand-gold-light); }
.finance-brand .brand-intro > p:not(.eyebrow), .finance-brand .bank-intro > p:last-of-type { margin-top:10px; max-width:78%; font-size:14px; line-height:1.6; color:#e1ded8; }
.finance-brand .brand-intro::after, .finance-brand .bank-intro::after { width:18%; background:repeating-linear-gradient(90deg,#f3f3f1 0 24px,#171719 24px 48px); }
.finance-brand h2 { font-weight:400; line-height:1.25; }
.finance-brand .panel, .finance-brand .record-group { border-color:var(--brand-line); border-radius:var(--brand-radius); }
.finance-brand .club-panel > p.muted { font-size:14px; line-height:1.6; }
.finance-brand button { min-height:40px; padding:10px 15px; font-size:13px; font-weight:var(--brand-button-weight); line-height:1.3; border-radius:var(--brand-radius); border-color:#bcbab3; }
.finance-brand button.primary { background:var(--brand-red); border-color:var(--brand-red); color:#fff; }
.finance-brand button.primary:not(:disabled):hover { background:var(--brand-red-hover); border-color:var(--brand-red-hover); }
.finance-brand button:not(.primary):not(:disabled):hover { border-color:var(--brand-gold); }
.finance-brand :focus-visible { outline:3px solid var(--brand-gold-on-white); outline-offset:3px; }
.finance-brand input:not([type=checkbox]):not([type=radio]):not([type=file]),
.finance-brand select, .finance-brand textarea { border:1px solid #bcbab3; border-radius:var(--brand-radius); font-family:var(--brand-body); font-size:14px; font-weight:400; }
.finance-brand input:not([type=checkbox]):not([type=radio]):not([type=file]),
.finance-brand select { min-height:42px; padding:10px 11px; }
.finance-brand .club-form label, .finance-brand .record-form label { font-size:13px; line-height:1.5; }
.finance-brand .table-scroll th { padding:12px 10px; background:#eeeee9; color:#55544f; font-size:11px; letter-spacing:.035em; line-height:1.4; }
.finance-brand .table-scroll td { padding:13px 10px; vertical-align:middle; font-size:13px; line-height:1.5; }
.finance-brand .money { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.finance-brand .table-scroll button.player-history-link { min-height:36px; padding:4px 0; border:0; border-radius:0; background:transparent; color:var(--brand-ink); text-align:left; font-size:13px; line-height:1.4; }
.player-history-link::after { content:'⌄'; display:inline-block; margin-left:8px; color:var(--brand-gold-on-white); }
.player-history-link[aria-expanded=true]::after { transform:rotate(180deg); }
.finance-brand .table-scroll button.player-history-link:hover { text-decoration:underline; text-underline-offset:3px; background:transparent; }
.finance-brand .status-label, .finance-brand .portal-status { display:inline-block; padding:4px 8px; border-radius:3px; font-size:12px; font-weight:650; line-height:1.5; background:#eeeee9; color:#44443f; }
.finance-brand .status-paid, .finance-brand .portal-settled { color:#22533a; background:#e6f1ea; }
.finance-brand .status-owing, .finance-brand .portal-owing { color:#812d36; background:#f9e9eb; }
.finance-brand .subs-summary { font-size:13px; font-weight:600; padding:12px 15px; border-color:var(--brand-gold); background:#f2efe7; }
.finance-brand .empty { font-size:14px; line-height:1.6; color:var(--brand-muted); }
.parent-brand .portal-heading { max-width:80%; padding:0; }
.parent-brand .brand-intro > p.muted { font-size:12px; margin-top:6px; }
.finance-brand .portal-selection { padding:16px 22px; }
.portal-selection h2 { font-size:22px; margin-bottom:8px; }
.portal-selection label { font-size:13px; }
.finance-brand .portal-tabs button { font-weight:var(--brand-button-weight); min-height:44px; padding:12px 18px; }
.finance-brand .portal-tabs button[aria-selected=true] { padding-bottom:9px; }
.parent-brand .portal-balance { padding:16px 18px; margin-block:16px 22px; }
.parent-brand .portal-balance span { font-size:14px; }
.parent-brand .portal-payment { font-size:14px; line-height:1.6; }
.finance-brand .team-links { display:flex; flex-wrap:wrap; gap:12px 24px; padding:20px 0; border-top:1px solid var(--brand-line); font-size:13px; font-weight:600; line-height:1.6; }
.finance-brand .team-links a { color:var(--brand-ink); text-decoration:underline; text-underline-offset:4px; }
.portal-footer { margin-top:24px; padding-bottom:16px; }
@media(max-width:640px) {
  .finance-brand .header-inner { min-height:74px; gap:10px; }
  .finance-brand .header-inner img { width:42px; height:42px; }
  .finance-brand .brand-lockup strong { font-size:clamp(17px,4.8vw,22px); }
  .finance-brand .brand-lockup span { font-size:9px; margin-top:4px; }
  .finance-brand .header-inner > form > button, .finance-brand .header-inner > .portal-signout { font-size:12px; min-height:40px; padding:8px 11px; }
  .finance-brand .finance-nav { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:5px; scrollbar-width:thin; }
  .finance-brand .finance-nav button { flex:0 0 auto; min-height:44px; font-size:17px; padding:11px 14px; }
  .finance-brand .brand-intro, .finance-brand .bank-intro { padding:18px; margin-top:16px; }
  .finance-brand .brand-intro h1, .finance-brand .bank-intro h1 { font-size:32px; line-height:1.12; max-width:82%; }
  .finance-brand .brand-intro .eyebrow, .finance-brand .bank-intro .eyebrow { font-size:10px; margin-bottom:6px; }
  .finance-brand .brand-intro > p:not(.eyebrow), .finance-brand .bank-intro > p:last-of-type { font-size:13px; max-width:82%; margin-top:9px; }
  .finance-brand .brand-intro::after, .finance-brand .bank-intro::after { width:15%; background:repeating-linear-gradient(90deg,#f3f3f1 0 14px,#171719 14px 28px); }
  .finance-brand button { min-height:44px; padding:11px 14px; font-size:13px; }
  .finance-brand input:not([type=checkbox]):not([type=radio]):not([type=file]), .finance-brand select { min-height:44px; font-size:14px; }
  .parent-brand .brand-intro > p.muted { font-size:12px; }
  .finance-brand .portal-selection { padding:15px 18px; }
  .portal-selection h2 { font-size:21px; }
  .finance-brand .portal-tabs button { padding:11px 9px; font-size:12px; }
  .finance-brand .portal-tabs button[aria-selected=true] { padding-bottom:8px; }
  .parent-brand .portal-due-table td, .parent-brand .portal-upcoming-table td { padding:0; font-size:14px; text-align:left; }
  .parent-brand .portal-due-table td::before, .parent-brand .portal-upcoming-table td::before { font-size:11px; }
  .parent-brand .portal-due-table td:first-child, .parent-brand .portal-upcoming-table td:first-child { font-size:24px; }
  .finance-brand .team-links { gap:12px 20px; font-size:12px; }
}
@media print {
  .finance-brand .portal-footer, .finance-brand .team-links { display:none; }
}

/* Action labels use medium weight, including nested quick-link labels and file controls. */
.finance-brand input::file-selector-button, .finance-brand .overview-links button > strong { font-weight:var(--brand-button-weight); }

.finance-brand .record-consent-copy a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
