.driver-statement-page { background: #0a1520; color: #edf6f6; }
.statement-layout { width: 100%; max-width: 960px; margin: auto; padding: 24px; }
.driver-statement-page .intake-header { margin-bottom: 36px; }
.driver-statement-page #driverPayoutView { display: block; width: 100%; max-width: none; margin: 0; padding: 0; background: none; border: 0; box-shadow: none; }
.driver-statement-page #driverPayoutView.hidden { display: none; }
.statement-page-heading { display: flex; justify-content: space-between; align-items: start; gap: 16px; margin-bottom: 32px; }
.statement-eyebrow { color: #85ddcc; font-size: .72rem; font-weight: 800; letter-spacing: .16em; margin: 0 0 10px; }
.statement-page-heading h1 { font-size: clamp(2rem,5vw,2.8rem); letter-spacing: -.04em; margin: 0 0 8px; }
.statement-page-heading p:not(.statement-eyebrow) { color: #a8bdc7; margin: 0; line-height: 1.6; }
.driver-statement-page .documents-panel { margin: 0 0 28px; padding: 0; background: none; border: 0; box-shadow: none; }
.driver-statement-page .section-heading h2 { font-size: 1.1rem; }
.driver-statement-page .section-heading span { color: #a8bdc7; font-size: .85rem; }
.statement-months { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 14px; }
.statement-month { appearance: none; display: flex; flex-direction: column; align-items: flex-start; gap: 7px; text-align: left; width: 100%; padding: 22px; background: #142532; border: 1px solid #334b5b; border-radius: 20px; color: #eefafa; cursor: pointer; }
.statement-month:hover { border-color: #82ddca; }
.statement-month.selected { background: linear-gradient(120deg,#173c3b,#142b35); border-color: #84ddcd; box-shadow: inset 0 0 0 1px #84ddcd; }
.statement-month-name { font-size: .95rem; font-weight: 700; }
.statement-month-amount { font-size: 1.9rem; letter-spacing: -.03em; margin-top: 5px; }
.statement-month-caption { font-size: .78rem; color: #adc9cd; }
.statement-status { margin-top: 8px; padding: 5px 9px; border-radius: 20px; font-size: .72rem; font-weight: 700; background: #4a3e23; color: #f3d78c; }
.statement-status.confirmed { background: #254c42; color: #a0f1d3; }
.statement-month-open { color: #91e2d2; font-size: .84rem; font-weight: 700; margin-top: 12px; }
#driverPayoutDetail { display: block; padding: 0; gap: 0; }
#driverPayoutDetailPanel { scroll-margin-top: 22px; outline: none; }
.statement-release { display: grid; gap: 5px; background: #292b25; color: #e6d09d; border: 1px solid #59523c; border-radius: 14px; padding: 16px 20px; margin-bottom: 16px; font-size: .86rem; }
.statement-release p { margin: 0; line-height: 1.5; color: #c8c5b6; }
.statement-release.confirmed { background: #15342f; border-color: #376157; color: #93e3ca; }
.statement-release.confirmed p { color: #b2cdc4; }
.statement-hero { background: #91e0d0; color: #0c342e; border-radius: 24px; overflow: hidden; }
.statement-earned { padding: 28px 30px 22px; }
.statement-earned .statement-eyebrow { color: #235b50; }
.statement-hero-amount { display: block; font-size: clamp(2.7rem,7vw,4rem); letter-spacing: -.05em; font-variant-numeric: tabular-nums; line-height: 1.12; overflow-wrap: anywhere; }
.statement-earned p { margin: 12px 0 0; font-size: .9rem; color: #285d52; }
.statement-money-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #548c7e55; background: #82d2c1; }
.statement-money { padding: 19px 30px 22px; min-width: 0; }
.statement-money + .statement-money { border-left: 1px solid #548c7e55; }
.statement-money span { display: block; font-size: .8rem; margin-bottom: 8px; }
.statement-money strong { font-size: 1.5rem; letter-spacing: -.03em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.statement-note { background: #172a36; border-left: 3px solid #85ddcc; padding: 16px; border-radius: 8px; line-height: 1.6; }
.statement-help { color: #a8bdc7; font-size: .82rem; margin: 22px 0; }
.statement-section { background: #142532; border: 1px solid #2d4352; border-radius: 20px; margin-bottom: 20px; overflow: hidden; }
.statement-section-heading { display: flex; align-items: center; gap: 12px; font-size: 1rem; padding: 20px; margin: 0; border-bottom: 1px solid #2d4352; }
.statement-step { display: grid; place-items: center; background: #23463f; color: #99e6d6; width: 27px; height: 27px; border-radius: 50%; font-size: .75rem; }
.statement-line + .statement-line { border-top: 1px solid #263c49; }
.statement-line-summary { list-style: none; display: grid; grid-template-columns: minmax(0,1fr) auto 24px; align-items: center; gap: 12px; min-height: 64px; padding: 14px 20px; cursor: pointer; font-size: .92rem; }
.statement-line-summary::-webkit-details-marker { display: none; }
.statement-line-summary:hover { background: #ffffff05; }
.statement-line-label { line-height: 1.4; }
.statement-line-summary strong { font-variant-numeric: tabular-nums; white-space: nowrap; font-size: .95rem; }
.statement-eye { color: #8cb1b6; font-size: 1.15rem; text-align: center; }
.statement-line[open] .statement-eye { color: #8be1cd; }
.statement-line[open] { background: #10232e; }
.statement-line.is-total { background: #1a343c; }
.statement-line.is-total summary { font-weight: 700; }
.statement-line.is-total strong { color: #96e4d3; }
.statement-line-explanation { margin: 0; padding: 0 20px 20px; max-width: 700px; color: #b6cad0; font-size: .85rem; line-height: 1.65; }
.statement-line-summary .statement-unknown { white-space: normal; text-align: right; font-size: .78rem; max-width: 105px; color: #b1c1c8; }
.statement-footer { padding: 24px; border: 1px dashed #36535e; border-radius: 18px; }
.statement-footer p { color: #a8bdc7; font-size: .87rem; line-height: 1.6; margin: 8px 0 16px; }
.statement-contact { display: inline-flex; min-height: 46px; align-items: center; border: 1px solid #699f98; border-radius: 12px; padding: 10px 16px; color: #9ce6d7; font-weight: 700; font-size: .85rem; text-decoration: none; }
.statement-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.driver-statement-page :is(button,a,summary):focus-visible { outline: 3px solid #b3f7e5; outline-offset: 4px; }
@media(max-width: 600px) {
  .statement-layout { padding: 18px 16px 36px; }
  .driver-statement-page .intake-header { margin-bottom: 26px; gap: 10px; }
  .statement-page-heading { position: relative; display: block; margin-bottom: 24px; padding-right: 70px; }
  .statement-page-heading > button { position: absolute; right: 0; top: 20px; min-height: 44px; font-size: .75rem; padding: 8px 12px; }
  .statement-months { grid-template-columns: 1fr; }
  .statement-month { display: grid; grid-template-columns: 1fr auto; padding: 19px; gap: 8px; }
  .statement-month-name { grid-column: 1 / -1; }
  .statement-month-amount { font-size: 1.65rem; }
  .statement-month-caption { grid-row: 3; }
  .statement-status { grid-column: 2; grid-row: 2; margin: 0; align-self: center; }
  .statement-month-open { grid-column: 1 / -1; margin-top: 5px; }
  .statement-earned { padding: 25px 22px; }
  .statement-money { padding: 17px 18px 21px; }
  .statement-money strong { font-size: 1.28rem; }
  .statement-money span { font-size: .74rem; min-height: 2.5em; }
  .statement-line-summary { padding: 15px; gap: 9px; font-size: .87rem; grid-template-columns: minmax(0,1fr) auto 20px; }
  .statement-line-summary strong { font-size: .88rem; }
  .statement-section-heading { padding: 18px 15px; }
  .statement-line-explanation { padding: 0 15px 18px; }
  .statement-footer { padding: 20px; }
  .statement-contact { display: flex; justify-content: center; }
}
@media(prefers-reduced-motion: reduce) { .driver-statement-page * { scroll-behavior: auto !important; transition: none !important; } }

/* Separate section dividers from the first statement/status card. */
.driver-statement-page .documents-panel > .section-heading.compact { margin:0 0 18px; padding:16px 16px 18px; }
.driver-statement-page #driverPayoutDetailPanel { margin-top:32px; }
.driver-statement-page #driverPayoutDetailMeta { display:block; margin-top:6px; line-height:1.5; }

/* Compact month picker: the financial breakdown lives in the statement. */
.statement-month{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}
.statement-month .statement-month-name{grid-column:1;grid-row:1}
.statement-month .statement-status{grid-column:2;grid-row:1;margin:0}
.statement-month .statement-month-open{grid-column:1 / -1;grid-row:2;margin-top:0}

.statement-status.draft { background:#443c24; color:#ffe09a; border:1px solid #74623a; }
.statement-jumps { display:flex; gap:12px; flex-wrap:wrap; margin:0 0 24px; }
.statement-jumps a { border:1px solid #486961; color:#a7ebd8; border-radius:24px; padding:12px 18px; text-decoration:none; font-size:.84rem; font-weight:700; }
details.statement-section > summary { cursor:pointer; list-style:none; }
details.statement-section > summary::-webkit-details-marker { display:none; }
.statement-release.unconfirmed { border-left:4px solid #e0bd68; }
.statement-updated { display:block; color:#a4bbc3; font-size:.76rem; line-height:1.6; }
.statement-refresh-pending { color:#ffe09a; }
.statement-advances-panel { margin-top:32px; }
.repayment-timeline { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:16px 0 28px; }
.repayment-month { padding:20px; background:linear-gradient(140deg,#244940,#152c34); border:1px solid #41665e; border-radius:16px; display:grid; gap:10px; }
.repayment-month strong { color:#b5efd9; font-size:1.7rem; font-variant-numeric:tabular-nums; }
.repayment-month small,.repayment-item small { color:#b3c7cf; display:block; font-size:.76rem; line-height:1.6; }
.repayment-items { display:grid; gap:12px; }
.repayment-item { border:1px solid #35515e; border-radius:16px; overflow:hidden; background:#122632; }
.repayment-item > summary { cursor:pointer; padding:20px; display:flex; justify-content:space-between; gap:16px; align-items:center; list-style:none; }
.repayment-item > summary::-webkit-details-marker { display:none; }
.repayment-item > summary > span { color:#9be6d5; font-size:.8rem; flex-shrink:0; }
.repayment-item > p { margin:0; padding:0 20px 18px; }
.repayment-lines { padding:0 20px 8px; }
.repayment-line { padding:14px 0; display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid #2e4853; }
.repayment-line strong { font-variant-numeric:tabular-nums; }
@media(max-width:600px) { .repayment-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); } .repayment-month { padding:16px; } .repayment-item > summary { padding:16px; } .statement-hero-amount { overflow-wrap:anywhere; } }
