/*
 * Rental Manager 2.11.6 — Session 4 customer experience corrections.
 * Theme owns readability. Branding owns identity. Components consume tokens.
 */

body.cfl-rental-customer-account,
body.cfl-rental-customer-account *{
  box-sizing:border-box;
}
body.cfl-rental-customer-account .cfl-account-shell,
body.cfl-rental-customer-account .cfl-account-shell__layout,
body.cfl-rental-customer-account .cfl-account-shell__content,
body.cfl-rental-customer-account .woocommerce-MyAccount-content,
body.cfl-rental-customer-account .cfl-customer-endpoint,
body.cfl-rental-customer-account .cfl-customer-panel{
  min-width:0;
  max-width:100%;
}
body.cfl-rental-customer-account :where(h1,h2,h3,h4,p,dd,dt){
  overflow-wrap:anywhere;
}
body.cfl-rental-customer-account :where(.cfl-customer-panel,.cfl-customer-endpoint,.cfl-message-bubble,.cfl-notification-item) :where(a,span,strong,small){
  overflow-wrap:anywhere;
}
body.cfl-rental-customer-account .cfl-storefront-location :where(a,span,strong,small){
  overflow-wrap:break-word!important;
  word-break:normal!important;
  writing-mode:horizontal-tb!important;
}

/* Account navigation becomes a true viewport drawer on phones. */
.cfl-account-nav-backdrop,
.cfl-account-nav-drawer-head{display:none}

@media (max-width:760px){
  body.cfl-account-nav-open{
    position:fixed;
    left:0;
    right:0;
    width:100%;
    overflow:hidden!important;
  }
  body.cfl-rental-customer-account .cfl-account-shell__navigation{
    position:fixed!important;
    z-index:100002!important;
    top:max(10px,env(safe-area-inset-top))!important;
    right:10px!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    left:auto!important;
    display:block!important;
    width:min(360px,calc(100vw - 20px))!important;
    max-width:calc(100vw - 20px)!important;
    max-height:none!important;
    margin:0!important;
    padding:0 14px 18px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    touch-action:pan-y;
    border:1px solid var(--cfl-cx-line)!important;
    border-radius:16px!important;
    background:var(--cfl-cx-surface)!important;
    box-shadow:0 24px 70px rgba(15,23,42,.28)!important;
    opacity:0;
    visibility:hidden;
    transform:translateX(calc(100% + 24px));
    transition:transform .2s ease,opacity .2s ease,visibility 0s linear .2s;
  }
  body.cfl-rental-customer-account .cfl-account-shell.is-nav-open .cfl-account-shell__navigation{
    opacity:1;
    visibility:visible;
    transform:translateX(0);
    transition-delay:0s;
  }
  .cfl-account-nav-backdrop{
    position:fixed;
    z-index:100001;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:rgba(15,23,42,.62)!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,visibility 0s linear .2s;
  }
  .cfl-account-shell.is-nav-open>.cfl-account-nav-backdrop{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition-delay:0s;
  }
  .cfl-account-nav-drawer-head{
    position:sticky;
    z-index:2;
    top:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:62px;
    margin:0 -14px 10px;
    padding:12px 14px;
    border-bottom:1px solid var(--cfl-cx-line);
    background:var(--cfl-cx-surface);
    color:var(--cfl-cx-text);
  }
  .cfl-account-nav-drawer-head strong{font-size:17px;line-height:1.25}
  .cfl-account-nav-close{
    display:grid!important;
    place-items:center!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid var(--cfl-cx-line)!important;
    border-radius:11px!important;
    background:var(--cfl-cx-soft)!important;
    color:var(--cfl-cx-text)!important;
    -webkit-text-fill-color:var(--cfl-cx-text)!important;
    cursor:pointer;
  }
  .cfl-account-nav-close:focus-visible{
    outline:3px solid color-mix(in srgb,var(--cfl-cx-primary,#f05a1a) 34%,transparent)!important;
    outline-offset:2px!important;
  }
  .cfl-account-nav-close svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
  }
  body.cfl-rental-customer-account .cfl-account-shell__navigation .woocommerce-MyAccount-navigation,
  body.cfl-rental-customer-account .cfl-account-shell__navigation .woocommerce-MyAccount-navigation ul{
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  body.cfl-rental-customer-account .cfl-account-shell__navigation .woocommerce-MyAccount-navigation ul{
    display:grid!important;
    gap:4px!important;
  }
  body.cfl-rental-customer-account .cfl-account-shell__navigation .woocommerce-MyAccount-navigation a{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-height:48px!important;
    padding:11px 13px!important;
    border-radius:10px!important;
    text-align:left!important;
  }
}

/* Rental totals are one atomic amount; the currency symbol never drops a line. */
.cfl-rental-total-amount,
.cfl-rental-total-amount .woocommerce-Price-amount,
.cfl-rental-total-amount bdi,
.cfl-rental-financial-summary dd .woocommerce-Price-amount,
.cfl-rental-financial-summary dd bdi,
.cfl-financial-record__amount .woocommerce-Price-amount,
.cfl-financial-record__amount bdi{
  display:inline-flex!important;
  align-items:baseline!important;
  flex-wrap:nowrap!important;
  gap:0!important;
  max-width:100%;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.cfl-rental-total-amount .woocommerce-Price-currencySymbol,
.cfl-rental-financial-summary dd .woocommerce-Price-currencySymbol,
.cfl-financial-record__amount .woocommerce-Price-currencySymbol{
  display:inline!important;
  flex:0 0 auto;
  margin:0!important;
  padding:0!important;
}
.cfl-rental-fact-total{min-width:0;overflow:visible}
.cfl-rental-fact-total .cfl-rental-total-amount{font-variant-numeric:tabular-nums}

/* Individual equipment prices use their own atomic wrapper. */
.cfl-rental-equipment-price,
.cfl-rental-equipment-price .woocommerce-Price-amount,
.cfl-rental-equipment-price bdi{
  display:inline-flex!important;
  align-items:baseline!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:0!important;
  min-width:max-content!important;
  max-width:100%;
  margin:0!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  font-variant-numeric:tabular-nums;
}
.cfl-rental-equipment-price .woocommerce-Price-currencySymbol{
  display:inline!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
}

/* Embedded rental conversation: compact, useful, and contained in its panel. */
.cfl-customer-message-panel{
  display:grid!important;
  gap:14px!important;
  width:100%;
  min-width:0;
  overflow:hidden!important;
}
.cfl-customer-message-panel>.cfl-panel-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  min-width:0;
}
.cfl-customer-message-panel>.cfl-panel-heading>div{min-width:0}
.cfl-message-open-inbox{flex:0 0 auto;white-space:nowrap}
.cfl-customer-message-panel .cfl-message-thread--embedded{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  overflow:hidden!important;
  border:1px solid var(--cfl-msg-border)!important;
  border-radius:14px!important;
  background:var(--cfl-msg-surface)!important;
}
.cfl-customer-message-panel .cfl-message-thread--embedded .cfl-message-thread-head{
  padding:14px 16px!important;
}
.cfl-customer-message-panel .cfl-message-thread--embedded .cfl-message-stream{
  flex:0 1 auto!important;
  min-height:150px!important;
  max-height:min(40vh,360px)!important;
  padding:16px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
.cfl-message-stream-empty{
  display:grid;
  place-content:center;
  justify-items:center;
  gap:5px;
  min-height:112px;
  padding:20px;
  color:var(--cfl-msg-muted);
  text-align:center;
}
.cfl-message-stream-empty strong{color:var(--cfl-msg-text);font-size:15px}
.cfl-message-stream-empty span{max-width:420px;font-size:13px;line-height:1.45}
.cfl-customer-message-panel .cfl-message-thread--embedded .cfl-message-composer{
  position:relative!important;
  inset:auto!important;
  display:grid!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:13px 15px 15px!important;
  overflow:hidden!important;
}
.cfl-customer-message-panel .cfl-message-thread--embedded .cfl-message-composer textarea{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:82px!important;
  max-height:180px!important;
  box-sizing:border-box!important;
}
.cfl-customer-message-panel .cfl-message-thread--embedded .cfl-message-composer-tools{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
  flex-wrap:wrap!important;
}
.cfl-customer-message-panel .cfl-message-thread--embedded .cfl-message-composer-tools>*{
  max-width:100%!important;
  box-sizing:border-box!important;
}
.cfl-customer-message-panel .cfl-message-thread--embedded [data-cfl-send-message]{margin-left:auto!important}

/* Semantic account notices remain readable in either theme. */
body.cfl-rental-customer-account .cfl-customer-notice{
  display:grid;
  gap:5px;
  width:100%;
  min-width:0;
  margin:0 0 16px!important;
  padding:14px 16px!important;
  border:1px solid var(--cfl-cx-line)!important;
  border-left-width:4px!important;
  border-radius:11px!important;
  background:var(--cfl-cx-soft)!important;
  color:var(--cfl-cx-text)!important;
  -webkit-text-fill-color:var(--cfl-cx-text)!important;
}
body.cfl-rental-customer-account .cfl-customer-notice.error{
  border-color:var(--cfl-cx-line,#d7e0ea)!important;
  border-left-color:var(--cfl-cx-error,#dc2626)!important;
  background:#fff3f3!important;
  border-color:var(--cfl-cx-line,#d7e0ea)!important;
  border-left-color:var(--cfl-cx-error,#dc2626)!important;
  background:color-mix(in srgb,var(--cfl-cx-error,#dc2626) 9%,var(--cfl-cx-surface,#fff))!important;
}
body.cfl-rental-customer-account .cfl-customer-notice.warning{
  border-color:var(--cfl-cx-line,#d7e0ea)!important;
  border-left-color:var(--cfl-cx-warning,#d97706)!important;
  background:#fff9e9!important;
  border-color:var(--cfl-cx-line,#d7e0ea)!important;
  border-left-color:var(--cfl-cx-warning,#d97706)!important;
  background:color-mix(in srgb,var(--cfl-cx-warning,#d97706) 9%,var(--cfl-cx-surface,#fff))!important;
}
body.cfl-rental-customer-account .cfl-customer-notice.success{
  border-color:var(--cfl-cx-line,#d7e0ea)!important;
  border-left-color:var(--cfl-cx-success,#16803a)!important;
  background:#f0faf2!important;
  border-color:var(--cfl-cx-line,#d7e0ea)!important;
  border-left-color:var(--cfl-cx-success,#16803a)!important;
  background:color-mix(in srgb,var(--cfl-cx-success,#16803a) 9%,var(--cfl-cx-surface,#fff))!important;
}
body.cfl-rental-customer-account .cfl-customer-notice>strong{
  color:var(--cfl-cx-text)!important;
  -webkit-text-fill-color:var(--cfl-cx-text)!important;
  font-size:14px;
}
body.cfl-rental-customer-account .cfl-customer-notice p{
  margin:0!important;
  color:var(--cfl-cx-muted)!important;
  -webkit-text-fill-color:var(--cfl-cx-muted)!important;
  line-height:1.48;
}
body.cfl-rental-customer-account .cfl-customer-notice .cfl-customer-btn{
  justify-self:start;
  margin-top:4px!important;
}

/* Fallback colors for older browsers that do not support color-mix(). */
body.cfl-rental-customer-account.cfl-rental-theme-dark .cfl-customer-notice.error{
  border-color:var(--cfl-cx-line,#435872)!important;
  border-left-color:var(--cfl-cx-error,#f87171)!important;
  background:#3b252b!important;
}
body.cfl-rental-customer-account.cfl-rental-theme-dark .cfl-customer-notice.warning{
  border-color:var(--cfl-cx-line,#435872)!important;
  border-left-color:var(--cfl-cx-warning,#fbbf24)!important;
  background:#3a301e!important;
}
body.cfl-rental-customer-account.cfl-rental-theme-dark .cfl-customer-notice.success{
  border-color:var(--cfl-cx-line,#435872)!important;
  border-left-color:var(--cfl-cx-success,#4ade80)!important;
  background:#1f382a!important;
}
@supports (background:color-mix(in srgb,white 10%,black)){
  body.cfl-rental-customer-account.cfl-rental-theme-dark .cfl-customer-notice.error{
    border-color:var(--cfl-cx-line,#435872)!important;
    border-left-color:var(--cfl-cx-error,#f87171)!important;
    background:color-mix(in srgb,var(--cfl-cx-error,#f87171) 9%,var(--cfl-cx-surface,#203047))!important;
  }
  body.cfl-rental-customer-account.cfl-rental-theme-dark .cfl-customer-notice.warning{
    border-color:var(--cfl-cx-line,#435872)!important;
    border-left-color:var(--cfl-cx-warning,#fbbf24)!important;
    background:color-mix(in srgb,var(--cfl-cx-warning,#fbbf24) 9%,var(--cfl-cx-surface,#203047))!important;
  }
  body.cfl-rental-customer-account.cfl-rental-theme-dark .cfl-customer-notice.success{
    border-color:var(--cfl-cx-line,#435872)!important;
    border-left-color:var(--cfl-cx-success,#4ade80)!important;
    background:color-mix(in srgb,var(--cfl-cx-success,#4ade80) 9%,var(--cfl-cx-surface,#203047))!important;
  }
}

/* Long account content and Woo endpoints must never widen the page. */
body.cfl-rental-customer-account :is(.cfl-rental-view-hero,.cfl-rental-view-facts,.cfl-rental-equipment-card,.cfl-rental-financial-summary,.cfl-customer-order,.cfl-financial-record,.cfl-equipment-browser,.cfl-equipment-browser-filters,.cfl-messaging-app,.cfl-message-thread){
  min-width:0!important;
  max-width:100%!important;
}
body.cfl-rental-customer-account :is(input,select,textarea,button){max-width:100%}

@media (max-width:640px){
  .cfl-customer-message-panel>.cfl-panel-heading{display:grid}
  .cfl-message-open-inbox{width:100%;justify-content:center}
  .cfl-customer-message-panel .cfl-message-thread--embedded .cfl-message-thread-head{display:grid!important;padding:13px!important}
  .cfl-customer-message-panel .cfl-message-thread--embedded .cfl-message-stream{
    min-height:130px!important;
    max-height:min(42vh,320px)!important;
    padding:12px!important;
  }
  .cfl-customer-message-panel .cfl-message-thread--embedded .cfl-message-composer{padding:12px!important}
  .cfl-customer-message-panel .cfl-message-thread--embedded .cfl-message-composer-tools{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .cfl-customer-message-panel .cfl-message-thread--embedded .cfl-message-composer-tools>*{
    width:100%!important;
    margin:0!important;
  }
  .cfl-customer-message-panel .cfl-message-thread--embedded [data-cfl-send-message]{margin:0!important}
  .cfl-rental-view-facts .cfl-rental-fact-total{align-items:flex-start}
}

@media (max-width:760px){
  body.admin-bar.cfl-rental-customer-account .cfl-account-shell__navigation{
    top:max(56px,calc(env(safe-area-inset-top) + 50px))!important;
  }
}

@media (max-width:430px){
  body.cfl-rental-customer-account .cfl-account-shell__navigation{
    top:max(6px,env(safe-area-inset-top))!important;
    right:6px!important;
    bottom:max(6px,env(safe-area-inset-bottom))!important;
    width:calc(100vw - 12px)!important;
    max-width:calc(100vw - 12px)!important;
  }
  body.cfl-rental-customer-account .cfl-customer-notice{padding:13px!important}
}

@media (prefers-reduced-motion:reduce){
  body.cfl-rental-customer-account .cfl-account-shell__navigation,
  .cfl-account-nav-backdrop{transition:none!important}
}

/* S19 .71: account record navigation. Scoped to existing customer surfaces. */
:is(.cfl-customer-portal,.cfl-customer-endpoint,.cfl-account-shell) .cfl-account-shortcuts{
  display:flex;flex-wrap:wrap;gap:10px;margin-block:12px 18px;min-width:0;
}
:is(.cfl-customer-portal,.cfl-customer-endpoint,.cfl-account-shell) .cfl-account-shortcuts>a{
  min-height:44px;white-space:normal;text-align:center;overflow-wrap:anywhere;
}
.cfl-customer-endpoint .cfl-history-year-filter{display:flex;align-items:end;flex-wrap:wrap;gap:12px;}
.cfl-customer-endpoint :is(.cfl-history-year,.cfl-history-year-filter label){display:grid;gap:6px;max-width:100%;font-size:13px;}
.cfl-customer-endpoint :is(.cfl-history-year,.cfl-history-year-filter) input{width:125px;max-width:100%;min-height:44px;}
.cfl-customer-endpoint .cfl-rental-search{flex-wrap:wrap;align-items:end;}
.cfl-customer-endpoint .cfl-history-notice{padding:14px;border:1px solid var(--cfl-cx-line);border-left:4px solid var(--cfl-cx-primary);border-radius:8px;color:var(--cfl-cx-text);background:var(--cfl-cx-soft);}
.cfl-customer-endpoint .cfl-order-record-summary.is-attention{border-left:4px solid var(--cfl-cx-primary)!important;}
.cfl-customer-endpoint .cfl-order-record-summary .cfl-inline-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.cfl-customer-endpoint .cfl-financial-record__guidance{grid-column:1/-1;margin:0;color:var(--cfl-cx-muted);font-size:14px;}
.cfl-customer-endpoint :is(.cfl-history-year-filter,.cfl-order-record-summary,.cfl-rental-related-row) :is(a,button){min-height:44px;display:inline-flex;align-items:center;}
.cfl-customer-endpoint .cfl-financial-record__amount>small{color:var(--cfl-cx-muted);}
@media(max-width:600px){
  :is(.cfl-customer-portal,.cfl-customer-endpoint,.cfl-account-shell) .cfl-account-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .cfl-customer-endpoint .cfl-order-record-summary .cfl-inline-actions{display:grid;grid-template-columns:minmax(0,1fr);}
  .cfl-customer-endpoint .cfl-history-year-filter{align-items:stretch;}
  .cfl-customer-endpoint .cfl-history-year-filter label{flex:1;}
}

/* The new record panels and reused document section inherit theme text, not
   the old portal's dark heading ink. Saved primary/button brand colors stay intact. */
body.cfl-rental-customer-account :is(.cfl-payments-receipts,.cfl-my-rentals,.cfl-order-view) :is(.cfl-eyebrow,.cfl-customer-link){
  color:var(--cfl-cx-text,#172033)!important;
  -webkit-text-fill-color:var(--cfl-cx-text,#172033)!important;
}
body.cfl-rental-customer-account :is(.cfl-payments-receipts,.cfl-my-rentals,.cfl-order-view) .cfl-customer-link{
  text-decoration:underline!important;text-underline-offset:.2em;
}
body.cfl-rental-customer-account .cfl-order-view :is(.cfl-order-record-summary,#cfl-rental-reusable-documents) :is(h2,h3,h4){
  color:var(--cfl-cx-text,#172033)!important;
  -webkit-text-fill-color:var(--cfl-cx-text,#172033)!important;
}
body.cfl-rental-customer-account :is(.cfl-payments-receipts,.cfl-my-rentals) :is(.cfl-financial-filters a,.cfl-rental-lifecycle-filters a,.cfl-rental-search button){
  min-height:44px!important;height:auto!important;
}

body.cfl-rental-customer-account .cfl-my-rentals :is(.cfl-my-rental-facts,.cfl-rental-related-row) small{
  color:var(--cfl-cx-text,#172033)!important;-webkit-text-fill-color:var(--cfl-cx-text,#172033)!important;
}

@media (prefers-reduced-motion:reduce){
  body.cfl-rental-customer-account :is(.cfl-payments-receipts,.cfl-my-rentals,.cfl-order-view) :is(a,button,input){
    transition:none!important;animation:none!important;scroll-behavior:auto!important;
  }
}

/* A dark primary preset is not legible as ink on a dark upcoming chip.
   Keep the saved primary tint and all red overdue/error status rules. */
body.cfl-rental-customer-account .cfl-my-rentals .cfl-rental-lifecycle-chip.cfl-rental-lifecycle-upcoming{
  color:var(--cfl-cx-text,#172033)!important;-webkit-text-fill-color:var(--cfl-cx-text,#172033)!important;
}

/* S19 .72 — scoped, read-only native financial detail; no global button changes. */
body.cfl-rental-customer-account .cfl-native-financial-history{min-width:0;overflow-wrap:anywhere}
body.cfl-rental-customer-account .cfl-native-financial-history :is(h2,h3,p,strong,dt,dd,summary,.cfl-finance-state,.cfl-customer-link){color:var(--cfl-cx-text)!important;-webkit-text-fill-color:var(--cfl-cx-text)!important}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-account-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-account-shortcuts a{min-height:44px;display:inline-flex;align-items:center;white-space:normal}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-customer-panel{margin:16px 0;padding:18px;min-width:0;background:var(--cfl-cx-surface);border:1px solid var(--cfl-cx-line)}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-finance-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-finance-facts>div{min-width:0}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-finance-facts dt{font-size:.875rem;line-height:1.5;font-weight:500}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-finance-facts dd{margin:4px 0 0;font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-finance-section summary{min-height:44px;box-sizing:border-box;padding:10px 0;cursor:pointer;font-weight:700;line-height:1.5}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-finance-section summary:focus-visible{outline:3px solid var(--cfl-cx-text);outline-offset:4px;border-radius:3px}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-finance-records{list-style:none;margin:0;padding:0}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-finance-records>li{padding:18px 0;border-top:1px solid var(--cfl-cx-line);margin:0;min-width:0}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-finance-record-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px 16px}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-finance-state{font-weight:600;line-height:1.6}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-finance-note{line-height:1.65;font-size:.925rem}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-finance-warning{border-left:4px solid var(--cfl-cx-text);padding:12px 16px;background:var(--cfl-cx-surface);line-height:1.65}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-customer-pagination{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
body.cfl-rental-customer-account .cfl-native-financial-history .cfl-customer-pagination a{min-height:44px;white-space:normal}
@media(max-width:520px){
 body.cfl-rental-customer-account .cfl-native-financial-history .cfl-customer-panel{padding:14px}
 body.cfl-rental-customer-account .cfl-native-financial-history .cfl-finance-facts{grid-template-columns:1fr;gap:12px}
 body.cfl-rental-customer-account .cfl-native-financial-history .cfl-account-shortcuts a{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){body.cfl-rental-customer-account .cfl-native-financial-history :is(a,summary){animation:none!important;transition:none!important}}

body.cfl-rental-customer-account .cfl-native-financial-history .cfl-customer-link{text-decoration:underline;text-underline-offset:.2em}

/* S19 .73 — shared next steps. Scoped, native disclosure, no extra asset or polling. */
.cfl-dashboard-next-actions{min-width:0;margin-block:24px}
.cfl-customer-portal .cfl-next-action-card,.cfl-customer-endpoint .cfl-next-action-card{min-width:0;border:1px solid var(--cfl-border,#d8e0ea);border-radius:12px;padding:18px;margin-block:14px;background:var(--cfl-surface,#fff);color:var(--cfl-text,#172033);overflow-wrap:anywhere}
.cfl-next-action-card.is-attention{border-left:4px solid #9a6700}
.cfl-next-action-card.is-overdue{border-left-color:#b42318}
.cfl-next-action-card .cfl-next-action-meta{font-size:.875rem;margin:0 0 6px}
.cfl-next-action-card h3{font-size:1.1rem;margin:0 0 12px}
.cfl-next-action-copy strong{display:block;font-size:1rem}
.cfl-next-action-copy p{margin:6px 0 14px}
.cfl-next-action-card .cfl-inline-actions{display:flex;flex-wrap:wrap;gap:10px;min-width:0}
.cfl-next-action-card .cfl-customer-btn{min-height:44px;max-width:100%;white-space:normal;text-align:center}
.cfl-next-action-options{margin-top:12px;min-width:0}
.cfl-next-action-options summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:600}
.cfl-next-action-options summary:focus-visible{outline:3px solid currentColor;outline-offset:3px;border-radius:4px}
.cfl-next-action-access{padding:14px;border-left:4px solid #9a6700;background:#fff7df;color:#513600;border-radius:6px;overflow-wrap:anywhere}
.cfl-rental-theme-dark .cfl-next-action-card,.cfl-customer-portal[data-theme="dark"] .cfl-next-action-card{background:#151b25;border-color:#526176;color:#f1f5f9}
.cfl-rental-theme-dark .cfl-next-action-card h3,.cfl-rental-theme-dark .cfl-next-action-card p,.cfl-rental-theme-dark .cfl-next-action-card strong,.cfl-rental-theme-dark .cfl-next-action-card summary,.cfl-customer-portal[data-theme="dark"] .cfl-next-action-card h3,.cfl-customer-portal[data-theme="dark"] .cfl-next-action-card p,.cfl-customer-portal[data-theme="dark"] .cfl-next-action-card strong,.cfl-customer-portal[data-theme="dark"] .cfl-next-action-card summary{color:#f1f5f9!important}
.cfl-rental-theme-dark .cfl-next-action-card.is-overdue,.cfl-customer-portal[data-theme="dark"] .cfl-next-action-card.is-overdue{border-left-color:#ff8a80}
.cfl-rental-theme-dark .cfl-next-action-card.is-attention:not(.is-overdue),.cfl-customer-portal[data-theme="dark"] .cfl-next-action-card.is-attention:not(.is-overdue){border-left-color:#f9cb69}
.cfl-rental-theme-dark .cfl-next-action-access,.cfl-customer-portal[data-theme="dark"] .cfl-next-action-access{background:#30291a;color:#ffe6ac;border-left-color:#f9cb69}
@media(max-width:480px){.cfl-next-action-card .cfl-inline-actions>.cfl-customer-btn{width:100%}.cfl-customer-portal .cfl-next-action-card,.cfl-customer-endpoint .cfl-next-action-card{padding:14px}}
@media(prefers-reduced-motion:reduce){.cfl-next-action-card *{transition:none!important;animation:none!important}}
.cfl-customer-portal .cfl-customer-dashboard .cfl-dashboard-quick-stats span,.cfl-customer-dashboard.cfl-customer-portal .cfl-dashboard-quick-stats span{color:#4b5563!important}
.cfl-customer-portal .cfl-dashboard-next-actions .cfl-eyebrow{color:#4b5563!important}
.cfl-rental-theme-dark .cfl-dashboard-next-actions h2,.cfl-customer-portal[data-theme="dark"] .cfl-dashboard-next-actions h2{color:#f1f5f9!important;-webkit-text-fill-color:currentColor!important}
.cfl-rental-theme-dark .cfl-dashboard-next-actions .cfl-eyebrow,.cfl-customer-portal[data-theme="dark"] .cfl-dashboard-next-actions .cfl-eyebrow,.cfl-rental-theme-dark .cfl-customer-portal .cfl-dashboard-quick-stats span,.cfl-customer-dashboard.cfl-customer-portal[data-theme="dark"] .cfl-dashboard-quick-stats span{color:#cbd5e1!important}
@media(prefers-reduced-motion:reduce){.cfl-customer-dashboard a,.cfl-customer-dashboard summary{transition:none!important;animation:none!important}}
.cfl-next-action-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;overflow-wrap:anywhere}
.cfl-next-action-times div{min-width:0}.cfl-next-action-times dt{font-size:.85rem}.cfl-next-action-times dd{margin:3px 0 0;font-weight:600}
.cfl-next-action-card .cfl-next-action-times :is(dt,dd){color:inherit!important;-webkit-text-fill-color:currentColor!important}
@media(max-width:480px){.cfl-next-action-times{grid-template-columns:1fr}}

/* S19 .76: bounded history progress, including narrow/zoomed empty states. */
.cfl-customer-endpoint .cfl-history-position-nav{min-width:0;max-width:100%;flex-wrap:wrap}
.cfl-customer-endpoint .cfl-history-position-nav a{box-sizing:border-box;min-width:0;max-width:100%;min-height:44px;white-space:normal;overflow-wrap:anywhere;text-align:center}
.cfl-customer-endpoint .cfl-history-position-note{color:var(--cfl-cx-text);font-size:13px;line-height:1.6}
body.cfl-rental-customer-account .cfl-my-rentals{grid-template-columns:minmax(0,1fr)}
body.cfl-rental-customer-account .cfl-my-rentals .cfl-customer-empty p{color:var(--cfl-cx-text)!important;-webkit-text-fill-color:var(--cfl-cx-text)!important}
