/* Charitree administration extends the RT49 editorial admin system. */
/* The overview uses the same paper, typography and rules as the working tabs. */
.ct-dashboard__intro { margin: 12px 0 0; color: var(--rt-muted); font-size: .9rem; line-height: 1.6; }
.ct-dashboard .adm-topbar { margin-bottom: 16px; }
.ct-dashboard .ct-dashboard__updated { margin: 0 0 24px; }
.ct-dashboard__kpis { margin-bottom: 36px; }
.ct-dashboard__kpis .adm-kpi { min-width: 0; min-height: 168px; padding: 24px 20px; gap: 16px; }
.ct-dashboard__kpis h2.adm-kpi__label { margin: 0; font-family: var(--font-body); font-size: .75rem; font-weight: 500; letter-spacing: .06em; line-height: 1.4; text-transform: none; color: var(--rt-ink-soft); }
.ct-dashboard__kpis .adm-kpi__value { font-size: 2.8rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ct-dashboard__kpis #ct-dash-paid { font-size: 2.1rem; line-height: 1.3; }
.ct-dashboard__kpis .adm-kpi__note { font-family: var(--font-body); font-size: .76rem; font-style: normal; line-height: 1.5; }
.ct-dashboard__board { display: grid; grid-template-columns: minmax(240px,.8fr) minmax(0,1.7fr); gap: 36px; }
.ct-dashboard__board > section { min-width: 0; }
.ct-dashboard__heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 20px; flex-wrap: wrap; }
.ct-dashboard__heading h2 { margin: 0; font-size: 1.7rem; }
.ct-dashboard__heading .ct-text-button { min-height: 44px; padding: 8px 0; font-size: .75rem; }
.ct-dashboard__tasks { margin: 0; padding: 0; list-style: none; }
.ct-dashboard__tasks > li { border-bottom: 1px solid var(--rt-line-soft); }
.ct-dashboard-task { display: flex; align-items: center; gap: 16px; }
.ct-dashboard-task > button { display: flex; align-items: center; gap: 16px; width: 100%; min-height: 80px; padding: 14px 0; text-align: left; color: var(--rt-ink); }
.ct-dashboard-task > button:hover { color: var(--rt-red); }
.ct-dashboard-task__count { min-width: 2ch; font-size: 1.75rem; line-height: 1.2; font-variant-numeric: tabular-nums; }
.ct-dashboard-task strong { display: block; font-size: .84rem; font-weight: 500; line-height: 1.4; }
.ct-dashboard-task small { display: block; margin-top: 4px; color: var(--rt-muted); font-size: .75rem; line-height: 1.5; }
.ct-dashboard-task > button > svg { flex-shrink: 0; margin-left: auto; }
.ct-dashboard__recent { width: 100%; border-collapse: collapse; font-size: .8rem; }
.ct-dashboard__recent th { padding: 0 12px 12px 0; text-align: left; color: var(--rt-muted); font-weight: 500; font-size: .72rem; border-bottom: 1px solid var(--rt-line); }
.ct-dashboard__recent td { padding: 14px 12px 14px 0; border-bottom: 1px solid var(--rt-line-soft); vertical-align: top; overflow-wrap: anywhere; }
.ct-dashboard__recent td:last-child, .ct-dashboard__recent th:last-child { padding-right: 0; }
.ct-dashboard__recent td small { display: block; margin-top: 5px; color: var(--rt-muted); font-size: .72rem; }
.ct-dashboard__recent .ct-text-button { min-height: 44px; padding: 0; font-size: .78rem; }
.ct-dashboard__recent .ct-badge { margin: 2px 0; white-space: normal; }
.ct-dashboard__campaign { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--rt-line); }
.ct-dashboard__dates { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.ct-dashboard__dates dt { color: var(--rt-muted); font-size: .75rem; }
.ct-dashboard__dates dd { margin: 8px 0 0; font-size: .9rem; font-weight: 500; line-height: 1.5; }
@media (max-width: 1180px) { .ct-dashboard__board { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 880px) {
  .adm-app:has(.ct-admin.is-active) .adm-side { padding: 16px 18px; }
  .adm-app:has(.ct-admin.is-active) .adm-side__brand { margin-bottom: 14px; padding-bottom: 14px; }
  .adm-app:has(.ct-admin.is-active) .adm-side__brand img { width: 48px; }
  .adm-app:has(.ct-admin.is-active) .adm-side__nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; }
  .adm-app:has(.ct-admin.is-active) .adm-side__nav button { min-height: 44px; padding: 9px 6px; gap: 5px; justify-content: center; font-size: .73rem; text-align: center; overflow-wrap: anywhere; }
  .adm-app:has(.ct-admin.is-active) .adm-side__nav button svg { display: none; }
  .adm-app:has(.ct-admin.is-active) .adm-side__nav button span:nth-child(2) { flex: initial; }
  .adm-app:has(.ct-admin.is-active) .adm-side__nav .ct-nav-group { display: none; }
  .adm-app:has(.ct-admin.is-active) .adm-side__foot { margin-top: 12px; padding-top: 8px; align-items: flex-end; }
  .adm-app:has(.ct-admin.is-active) .adm-side__event { display: none; }
  .adm-app:has(.ct-admin.is-active) .adm-archive { margin: 0; border: 0; }
  .adm-app:has(.ct-admin.is-active) .adm-archive > summary { padding: 12px 6px; font-size: .73rem; text-align: center; }
  .adm-app:has(.ct-admin.is-active) .adm-archive[open] { grid-column: 1 / -1; }
  .adm-app:has(.ct-admin.is-active) .adm-archive[open] > summary { text-align: left; }
  .adm-app:has(.ct-admin.is-active) .adm-archive__nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .adm-app:has(.ct-admin.is-active) .adm-archive__nav > p { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .ct-dashboard__kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ct-dashboard__kpis .adm-kpi { min-height: 154px; padding: 20px 14px; gap: 12px; }
  .ct-dashboard__kpis .adm-kpi__value { font-size: 2.4rem; }
  .ct-dashboard__kpis #ct-dash-paid { font-size: 1.7rem; }
  .ct-dashboard__recent thead { display: none; }
  .ct-dashboard__recent tbody, .ct-dashboard__recent tr { display: block; }
  .ct-dashboard__recent tr { padding: 12px 0; border-bottom: 1px solid var(--rt-line-soft); }
  .ct-dashboard__recent td { display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 6px 12px; padding: 5px 0; border: 0; }
  .ct-dashboard__recent td[data-label]::before { content: attr(data-label); color: var(--rt-muted); font-size: .72rem; padding-top: 4px; }
  .ct-dashboard__recent td > small { grid-column: 2; margin: 0; }
  .ct-dashboard__recent td > .ct-badge { grid-column: 2; justify-self: start; }
  .ct-dashboard__recent td[colspan] { display: block; }
  .ct-dashboard__dates { grid-template-columns: 1fr; gap: 18px; }
}
.adm-app[hidden] { display: none !important; }
.ct-nav-group { margin: 26px 14px 8px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--rt-gold); }
.ct-admin { color: var(--rt-ink); font-variant-numeric: tabular-nums; }
.ct-admin [hidden] { display: none !important; }
.ct-admin h2 { font-size: clamp(1.7rem,2.4vw,2.1rem); line-height: 1.1; }
.ct-admin h3 { font-size: 1.5rem; line-height: 1.2; }
.ct-admin p { margin: 0; }
.ct-subtitle { margin-top: 12px !important; color: var(--rt-ink-soft); font-size: .88rem; }
.ct-note { font-size: .79rem; line-height: 1.65; color: #625b52; }
.ct-notice { padding: 14px 18px; background: var(--rt-cream); border: 1px solid var(--rt-line); margin: 0 0 24px; font-size: .88rem; overflow-wrap: anywhere; }
.ct-notice.is-error { background: #faece8; color: #8d241b; border-color: #dcb8b0; }
.ct-notice.is-success { background: #eef2e9; color: #3d542f; border-color: #becab4; }
.ct-summary { display: flex; flex-wrap: wrap; gap: 16px 38px; padding: 0 0 25px; margin-bottom: 25px; border-bottom: 1px solid var(--rt-line); }
.ct-summary-item { display: flex; align-items: baseline; gap: 10px; }
.ct-summary-item strong { font-size: 1.9rem; font-family: var(--font-display); font-weight: 500; }
.ct-summary-item span { color: #625b52; font-size: .8rem; }
.ct-filters { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 18px; margin-bottom: 26px; }
.ct-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ct-field label { font-size: .78rem; font-weight: 500; color: var(--rt-ink-soft); }
.ct-field input, .ct-field select, .ct-field textarea, .ct-product input, .ct-product textarea, .ct-assignment select { width: 100%; min-width: 0; padding: 11px 12px; background: var(--rt-paper); border: 1px solid var(--rt-line); border-radius: 0; font-size: .86rem; line-height: 1.5; color: var(--rt-ink); caret-color: var(--rt-red); }
.ct-field textarea, .ct-product textarea { resize: vertical; }
.ct-field input::placeholder, .ct-field textarea::placeholder { color: #70695f; opacity: 1; }
.ct-admin :is(input,select,textarea,button,a,summary):focus-visible { outline: 2px solid var(--rt-red); outline-offset: 4px; }
.ct-admin button:disabled { cursor: not-allowed; opacity: .55; }
.ct-admin button[aria-busy=true] { cursor: wait; }
.ct-admin input[type=checkbox] { accent-color: var(--rt-red); width: 18px; height: 18px; flex: 0 0 18px; }
.ct-order-table td { font-size: .82rem; vertical-align: top; }
.ct-order-table th, .ct-order-table tr:hover td { cursor: default; }
.ct-order-table td:nth-child(3) { min-width: 190px; max-width: 270px; }
.ct-order-table small { display: block; color: #625b52; line-height: 1.7; }
.ct-inquiry-filters { grid-template-columns: 2fr 1fr; }
.ct-inquiry-table td { vertical-align: top; font-size: .86rem; overflow-wrap: anywhere; white-space: normal; }
.ct-inquiry-table small { display: block; color: #625b52; line-height: 1.7; }
.ct-inquiry-table td:nth-child(3) { width: 36%; }
.ct-inquiry-excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; line-height: 1.7; }
.ct-reference { font-family: var(--font-mono); font-size: .72rem; }
.ct-badge { display: inline-block; padding: 3px 7px; font-size: .7rem; line-height: 1.6; background: var(--rt-cream); color: #665339; margin: 0 4px 4px 0; white-space: nowrap; }
.ct-badge.is-paid, .ct-badge.is-delivered { background: #e5ecdf; color: #355027; }
.ct-badge.is-cancelled, .ct-badge.is-error { background: #f7e5de; color: #8d241b; }
.ct-text-button { color: var(--rt-red); font-size: .8rem; padding: 8px 0; text-align: left; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 4px; }
.ct-text-button:hover { text-decoration-color: currentColor; }
.ct-empty { padding: 30px 0 !important; color: #625b52; font-size: .88rem; line-height: 1.7; }
.ct-section { border-top: 1px solid var(--rt-line); margin-top: 36px; padding-top: 28px; }
.ct-section > h2 { margin-bottom: 24px; }
.ct-section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 14px; margin-bottom: 24px; }
.ct-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.ct-field-wide { grid-column: 1 / -1; }
.ct-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 24px; }
.ct-detail { margin-top: 34px; padding: 30px; background: var(--rt-cream); border: 1px solid var(--rt-line); scroll-margin-top: 24px; }
.ct-detail-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 25px; }
.ct-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.ct-detail-block { margin-bottom: 24px; }
.ct-detail-block h3 { margin-bottom: 12px; }
.ct-detail-block p { font-size: .87rem; line-height: 1.8; white-space: pre-line; overflow-wrap: anywhere; }
.ct-detail-block a { text-decoration: underline; text-underline-offset: 3px; }
.ct-item-list { list-style: none; padding: 0; margin: 0; font-size: .87rem; }
.ct-item-list li { display: flex; justify-content: space-between; gap: 18px; padding: 9px 0; border-bottom: 1px solid var(--rt-line); }
.ct-item-list li:last-child { font-weight: 600; }
.ct-email-form { border-top: 1px solid var(--rt-line); padding-top: 25px; }
.ct-email-form .ct-form-grid { margin-top: 20px; }
.ct-email-form .ct-notice { margin: 16px 0 0; scroll-margin-bottom: 80px; }
.ct-order-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 24px; }
.ct-order-edit-section { border-top: 1px solid var(--rt-line); margin-top: 26px; padding-top: 20px; }
.ct-order-edit-section h4 { font-size: 1.1rem; margin: 0 0 16px; }
.ct-order-edit-section > .ct-note, #ct-order-edit-form > .ct-note { margin-bottom: 18px; }
#ct-order-edit-form fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
#ct-order-edit-form fieldset:disabled { opacity: .7; }
.ct-order-edit-notes, #ct-order-edit-billing { margin-top: 22px !important; }
.ct-order-edit-product { display: grid; grid-template-columns: minmax(0, 1fr) 90px; gap: 20px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--rt-line); }
.ct-order-edit-product label strong, .ct-order-edit-product label span { display: block; }
.ct-order-edit-product label strong { font-size: .87rem; }
.ct-order-edit-product label span { font-size: .76rem; color: #625b52; margin-top: 5px; }
.ct-order-edit-total { margin-top: 22px !important; font-size: .86rem; line-height: 1.7; font-weight: 500; }
.ct-order-edit-payment { margin-top: 16px; align-items: flex-start; }
#ct-order-edit-feedback { margin-top: 18px; scroll-margin-bottom: 80px; }
.ct-order-history { padding: 22px 0; border-top: 1px solid var(--rt-line); margin-bottom: 24px; }
.ct-order-history ul { list-style: none; margin: 14px 0 0; padding: 0; }
.ct-order-history li { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px 20px; padding: 14px 0; border-bottom: 1px solid var(--rt-line); font-size: .86rem; }
.ct-order-history li small { display: block; font-size: .76rem; color: #625b52; margin-top: 5px; }
.ct-order-history li > div:last-child { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.ct-proof { max-width: 330px; width: 100%; height: auto; margin-top: 14px; }
.ct-live-status { font-size: .76rem; color: #625b52; }
.ct-live-status.is-live { color: #3d542f; }
.ct-live-status.is-stale { color: #8d241b; }
.ct-live-layout { display: grid; grid-template-columns: minmax(0,1fr) 255px; gap: 30px; }
.ct-map { width: 100%; height: 430px; background: var(--rt-cream); border: 1px solid var(--rt-line); position: relative; z-index: 0; }
.ct-map > p { padding: 28px; font-size: .86rem; color: #625b52; }
.ct-map > svg { width: 100%; height: 100%; }
.ct-map .leaflet-pane > svg { max-width: none; }
.ct-map .leaflet-attribution-flag { display: inline-block; width: 1em; height: .667em; max-width: none; vertical-align: baseline; }
.ct-map-caption { padding: 12px 0; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: .73rem; color: #625b52; }
.ct-telemetry h2 { font-size: 1.7rem; margin-bottom: 20px; }
.ct-telemetry dl { margin: 0 0 22px; }
.ct-telemetry dl > div { padding: 13px 0; border-bottom: 1px solid var(--rt-line); }
.ct-telemetry dt { font-size: .75rem; color: #625b52; }
.ct-telemetry dd { margin: 3px 0 0; font-size: 1.15rem; font-weight: 500; }
.ct-route { padding: 22px 0; border-bottom: 1px solid var(--rt-line); }
.ct-route-header { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px; align-items: baseline; margin-bottom: 13px; }
.ct-route-header h3 { display: inline; margin-right: 12px; }
.ct-route-meta { display: flex; flex-wrap: wrap; gap: 12px 26px; font-size: .8rem; color: #625b52; margin-bottom: 15px; }
.ct-route progress { display: block; width: 100%; height: 8px; border: none; background: var(--rt-line-soft); accent-color: var(--rt-red); }
.ct-route progress::-webkit-progress-bar { background: var(--rt-line-soft); }
.ct-route progress::-webkit-progress-value { background: var(--ct-route-color, var(--rt-red)); }
.ct-route progress::-moz-progress-bar { background: var(--ct-route-color, var(--rt-red)); }
.ct-route-stops { list-style: none; padding: 14px 0 0; margin: 0; font-size: .82rem; }
.ct-route-stops li { display: grid; grid-template-columns: 28px 1fr auto; gap: 12px; padding: 10px 0; border-top: 1px solid var(--rt-line-soft); }
.ct-route-stops small { display: block; color: #625b52; margin-top: 4px; }
.ct-route-stops .is-delivered { color: #3d542f; }
.ct-fold > summary { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; cursor: pointer; list-style: none; }
.ct-fold > summary::-webkit-details-marker { display: none; }
.ct-fold > summary > span { color: #625b52; font-size: .78rem; }
.ct-fold > summary::after { content: '+'; color: var(--rt-red); font-size: 1.6rem; line-height: 1; }
.ct-fold[open] > summary::after { content: '−'; }
.ct-fold-body { padding-top: 28px; }
.ct-fold-body > .ct-note { margin-bottom: 24px; }
.ct-form-value { font-size: .87rem; padding-top: 9px; overflow-wrap: anywhere; }
.ct-assignment { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 14px; align-items: end; margin: 20px 0; padding-bottom: 20px; border-bottom: 1px solid var(--rt-line); }
.ct-assignment .ct-text-button { padding: 10px; }
.ct-assignment-start { grid-column: 1 / -1; min-width: 0; }
.ct-assignment-start .ct-check { align-items: flex-start; cursor: pointer; }
.ct-assignment-start .ct-check input { margin: 3px 0 0; accent-color: var(--rt-red); }
.ct-start-default { margin-top: 8px; }
.ct-start-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 14px; align-items: end; margin-top: 16px; }
.ct-start-fields > .ct-field:first-child { grid-column: 1 / 3; }
.ct-start-help, .ct-start-message { grid-column: 1 / -1; }
.ct-start-message { margin-bottom: 0; }
.ct-route-actions { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 18px; margin: 16px 0; }
.ct-plan-heading { margin-top: 34px; margin-bottom: 14px; }
.ct-plan-orders { max-height: 360px; overflow: auto; border-top: 1px solid var(--rt-line); border-bottom: 1px solid var(--rt-line); }
.ct-plan-orders::-webkit-scrollbar { width: 7px; }
.ct-plan-orders::-webkit-scrollbar-thumb { background: var(--rt-line); }
.ct-plan-order { display: flex; align-items: flex-start; gap: 12px; padding: 14px 4px; font-size: .85rem; border-bottom: 1px solid var(--rt-line-soft); }
.ct-plan-order:last-child { border-bottom: 0; }
.ct-plan-order input { margin-top: 3px; }
.ct-plan-order small { display: block; font-size: .76rem; color: #625b52; margin-top: 3px; }
.ct-plan-order > span { flex: 1; }
.ct-plan-order > label { display: flex; align-items: flex-start; gap: 12px; flex: 1; cursor: pointer; }
.ct-plan-order > label > span { flex: 1; }
.ct-fleet { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
.ct-entity-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--rt-line-soft); }
.ct-entity-row strong { display: block; font-size: .89rem; font-weight: 500; }
.ct-entity-row small { display: block; color: #625b52; font-size: .76rem; }
.ct-entity-row > div:last-child { display: flex; gap: 14px; }
.ct-entity-form { display: grid; gap: 18px; margin-top: 24px; }
.ct-entity-form .ct-actions { margin-top: 0; }
.ct-product { padding: 24px 0; border-bottom: 1px solid var(--rt-line); }
.ct-product-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 18px; }
.ct-product .ct-field-wide { margin-top: 18px; }
.ct-product-actions { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 12px; }
.ct-check { display: flex; gap: 10px; align-items: center; font-size: .86rem; }
.ct-open-check { margin: 4px 0 14px; }
.ct-save-bar { position: sticky; bottom: 0; background: var(--rt-paper); padding: 20px 0; border-top: 1px solid var(--rt-line); margin-top: 38px; z-index: 1; }
.ct-mail-event { padding: 14px 0; border-bottom: 1px solid var(--rt-line-soft); font-size: .82rem; }
.ct-mail-event small { display: block; color: #625b52; overflow-wrap: anywhere; }
.ct-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.ct-position-label { padding: 4px 8px; color: var(--rt-paper); background: var(--rt-ink); border: none; font-family: var(--font-body); font-size: .73rem; box-shadow: none; }
.ct-position-label::before { display: none; }
.ct-fallback-note { position: absolute; left: 16px; bottom: 16px; max-width: calc(100% - 32px); padding: 8px 10px; color: #625b52; background: var(--rt-paper); font-size: .73rem; }
/* The mail review queue is scoped to Charitree, including its mobile table. */
.ct-email-orders { min-width: 0; }
.adm-app:has(.ct-email-orders.is-active) .adm-main { min-width: 0; }
.ct-email-orders ::selection { background: var(--rt-red); color: var(--rt-paper); }
.ct-email-orders .adm-topbar > div { min-width: 0; }
.ct-email-orders .adm-topbar__title { overflow-wrap: anywhere; }
.ct-email-import { padding: 0 0 26px; margin-bottom: 26px; border-bottom: 1px solid var(--rt-line); }
.ct-email-import .ct-section-head { margin-bottom: 14px; }
.ct-email-import-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 22px 0; }
.ct-email-import-facts dt, .ct-email-original-meta dt { color: #625b52; font-size: .76rem; }
.ct-email-import-facts dd { margin: 6px 0 0; font-size: .9rem; overflow-wrap: anywhere; }
.ct-email-config { margin-top: 12px !important; font-size: .8rem; line-height: 1.8; overflow-wrap: anywhere; }
.ct-email-config code { font-family: var(--font-mono); font-size: .75rem; }
.ct-email-import .ct-notice { margin-bottom: 16px; }
.ct-email-filters { grid-template-columns: minmax(0,2fr) minmax(0,1fr); }
.ct-email-order-table { min-width: 0; }
.ct-email-order-table td { vertical-align: top; font-size: .85rem; overflow-wrap: anywhere; white-space: normal; }
.ct-email-order-table th, .ct-email-order-table tr:hover td { cursor: default; }
.ct-email-order-table small { display: block; margin-top: 4px; color: #625b52; font-size: .77rem; line-height: 1.6; }
.ct-email-order-table td:nth-child(3) { width: 38%; }
.ct-email-subject { display: block; font-weight: 500; line-height: 1.6; }
.ct-email-order-table .ct-email-review-hint { color: var(--rt-red); }
.ct-email-pagination { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px 24px; margin-top: 18px; }
.ct-email-pagination .ct-actions { margin: 0; gap: 24px; }
.ct-email-review-layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 36px; }
.ct-email-approval { width: min(620px, calc(100% - 32px)); max-height: calc(100dvh - 40px); margin: auto; padding: 32px; border: 1px solid var(--rt-line); background: var(--rt-paper); color: var(--rt-ink); overflow-y: auto; }
.ct-email-approval::backdrop { background: rgba(26,22,19,.6); }
.ct-email-approval h2 { margin: 0 0 20px; font-size: 2.1rem; line-height: 1.15; }
.ct-email-approval > p { margin: 0 0 16px; font-size: .92rem; line-height: 1.7; }
.ct-email-approval #ct-email-approval-recipient { overflow-wrap: anywhere; font-weight: 500; }
.ct-email-approval__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.ct-email-approval__actions .btn { min-height: 48px; justify-content: center; white-space: normal; line-height: 1.5; }
.ct-email-approval__actions .ct-text-button { min-height: 44px; padding: 8px 12px; }
@media (max-width: 560px) {
  .ct-email-approval { padding: 24px 20px; }
  .ct-email-approval h2 { font-size: 1.8rem; }
  .ct-email-approval__actions { flex-direction: column; }
  .ct-email-approval__actions .btn { width: 100%; }
}
.ct-email-original, .ct-email-review-form { min-width: 0; }
.ct-email-original h3, .ct-email-review-form > h3 { margin-bottom: 12px; }
.ct-email-original-meta { margin: 0 0 20px; }
.ct-email-original-meta > div { padding: 12px 0; border-bottom: 1px solid var(--rt-line); }
.ct-email-original-meta dd { margin: 5px 0 0; font-size: .85rem; line-height: 1.7; overflow-wrap: anywhere; }
.ct-email-body { max-height: 680px; padding: 18px; margin: 0 0 16px; background: var(--rt-paper); border: 1px solid var(--rt-line); color: var(--rt-ink); font-family: var(--font-body); font-size: .85rem; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; overflow-y: auto; tab-size: 4; scrollbar-color: var(--rt-line) var(--rt-paper); }
.ct-email-body::-webkit-scrollbar { width: 8px; }
.ct-email-body::-webkit-scrollbar-thumb { background: var(--rt-line); }
.ct-email-body:focus-visible { outline: 2px solid var(--rt-red); outline-offset: 4px; }
.ct-email-save-state { margin-top: 14px !important; }
.ct-email-parse-warnings { margin-top: 20px; font-size: .82rem; line-height: 1.7; }
.ct-email-parse-warnings summary { color: var(--rt-red); cursor: pointer; padding: 8px 0; }
.ct-email-parse-warnings ul { margin: 8px 0 12px; padding-left: 20px; }
.ct-email-required { margin: 20px 0 0; font-size: .8rem; background: var(--rt-paper); }
.ct-email-review-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.ct-email-form-section { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--rt-line); }
.ct-email-form-section h4 { font-family: var(--font-display); font-size: 1.35rem; font-weight: 500; line-height: 1.2; margin: 0 0 16px; }
.ct-email-form-section .ct-form-grid { gap: 18px; }
.ct-email-form-section > .ct-note { margin-top: 12px; }
.ct-email-review-form input:disabled, .ct-email-review-form textarea:disabled, .ct-email-review-form select:disabled { color: #625b52; opacity: 1; -webkit-text-fill-color: #625b52; }
.ct-email-product-row { display: grid; grid-template-columns: minmax(0,1fr) 80px; align-items: center; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--rt-line); }
.ct-email-product-row > label { min-width: 0; font-size: .85rem; line-height: 1.6; }
.ct-email-product-row strong { display: block; font-weight: 500; }
.ct-email-product-row > label > span { display: block; color: #625b52; font-size: .76rem; }
.ct-email-product-row input { text-align: center; }
.ct-email-unmatched { margin-top: 20px; }
.ct-email-unmatched .ct-form-grid { margin-top: 12px; }
.ct-email-donation { margin-top: 22px; }
.ct-email-total { margin-top: 18px !important; font-size: .86rem; font-weight: 500; line-height: 1.7; }
#ct-email-billing-fields { margin-top: 22px; }
.ct-email-review-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--rt-line); }
.ct-email-review-actions .btn { white-space: normal; text-align: center; line-height: 1.6; }
.ct-email-approval-help { margin-top: 16px !important; }
.ct-email-review-form .ct-email-action-feedback { margin: 16px 0 0; }
@media (max-width: 1200px) { .ct-email-review-layout { grid-template-columns: minmax(0,1fr); } .ct-email-body { max-height: 400px; } }
@media (max-width: 1200px) { .ct-live-layout { grid-template-columns: 1fr; } .ct-telemetry dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 0 24px; } }
@media (max-width: 760px) {
  .adm-app:has(.ct-admin.is-active) .adm-side { padding: 16px 18px; }
  .adm-app:has(.ct-admin.is-active) .adm-side__brand { margin-bottom: 14px; padding-bottom: 14px; }
  .adm-app:has(.ct-admin.is-active) .adm-side__brand-mark { padding: 5px 8px; }
  .adm-app:has(.ct-admin.is-active) .adm-side__brand img { width: 48px; }
  .adm-app:has(.ct-admin.is-active) .adm-side__nav { display: grid; grid-template-columns: repeat(3,1fr); gap: 4px; }
  .adm-app:has(.ct-admin.is-active) .adm-side__nav button { padding: 9px 6px; gap: 5px; justify-content: center; font-size: .73rem; text-align: center; }
  .adm-app:has(.ct-admin.is-active) .adm-side__nav button svg { display: none; }
  .adm-app:has(.ct-admin.is-active) .adm-side__nav button span:nth-child(2) { flex: initial; }
  .adm-app:has(.ct-admin.is-active) .adm-side__count { padding: 1px 4px; font-size: .64rem; }
  .adm-app:has(.ct-admin.is-active) .ct-nav-group { grid-column: 1 / -1; margin: 8px 5px 2px; padding-top: 10px; }
  .adm-app:has(.ct-admin.is-active) .adm-side__foot { margin-top: 12px; padding-top: 8px; align-items: flex-end; }
  .adm-app:has(.ct-admin.is-active) .adm-side__event { display: none; }
  .adm-app:has(.ct-admin.is-active) .adm-side__logout { padding: 6px 4px; font-size: .73rem; }
  .adm-app:has(.ct-admin.is-active) .adm-main { padding-top: 28px; }
  .ct-filters, .ct-form-grid, .ct-detail-grid, .ct-fleet { grid-template-columns: 1fr; }
  .ct-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; }
  .ct-summary-item { flex-direction: column; align-items: flex-start; gap: 2px; }
  .ct-summary-item strong { font-size: 1.75rem; }
  .ct-live-layout { gap: 25px; } .ct-map { height: 340px; } .ct-detail { padding: 22px 16px; }
  .ct-product-grid { grid-template-columns: 1fr 1fr; } .ct-product-grid > :first-child { grid-column: 1 / -1; }
  .ct-assignment { grid-template-columns: 1fr auto; } .ct-assignment > :first-child { grid-column: 1 / -1; }
  .ct-start-fields { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ct-start-fields > [data-ct-start-geocode] { grid-column: 1 / -1; justify-self: start; padding-left: 0; }
  .ct-telemetry dl { grid-template-columns: 1fr 1fr; }
  .ct-fold > summary > span { flex-basis: 80%; }
  .ct-route-stops li { grid-template-columns: 24px 1fr; } .ct-route-stops li > :last-child { grid-column: 2; }
  .ct-order-table { min-width: 0; }
  .ct-order-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .ct-order-table tbody { display: block; }
  .ct-order-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 22px 18px; border-bottom: 1px solid var(--rt-line); }
  .ct-order-table tr:last-child { border-bottom: 0; }
  .ct-order-table td { padding: 0; border-bottom: none; min-width: 0; overflow-wrap: anywhere; }
  .ct-order-table tr:hover td { background: transparent; }
  .ct-order-table td:nth-child(1), .ct-order-table td:nth-child(2), .ct-order-table td:nth-child(3), .ct-order-table td:nth-child(6), .ct-order-table td:nth-child(7), .ct-order-table td[colspan] { grid-column: 1 / -1; }
  .ct-order-table td:nth-child(1) { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px; }
  .ct-order-table td:nth-child(2) { font-size: 1rem; font-weight: 500; }
  .ct-order-table td:nth-child(3) { min-width: 0; max-width: none; }
  .ct-order-table td:nth-child(4)::before { content: 'Charitrees: '; color: #625b52; }
  .ct-order-table td:nth-child(5)::before { content: 'Gesamt: '; color: #625b52; }
  .ct-order-table td:nth-child(6) br { display: none; }
  .ct-order-table td:nth-child(7) .ct-text-button { padding: 9px 14px; border: 1px solid var(--rt-line); width: 100%; text-align: center; }
  .ct-inquiry-filters { grid-template-columns: 1fr; }
  .ct-inquiry-table { min-width: 0; }
  .ct-inquiry-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .ct-inquiry-table tbody { display: block; }
  .ct-inquiry-table tr { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; padding: 22px 18px; border-bottom: 1px solid var(--rt-line); }
  .ct-inquiry-table td { padding: 0; width: auto !important; border-bottom: 0; }
  .ct-inquiry-table tr:hover td { background: transparent; }
  .ct-inquiry-table .ct-text-button { min-height: 44px; width: 100%; }
  .ct-email-orders .adm-topbar { gap: 20px; }
  .ct-email-orders .adm-topbar__actions { width: 100%; flex-wrap: wrap; }
  .ct-email-orders .adm-topbar__actions .btn { flex: 1 1 130px; white-space: normal; text-align: center; }
  .ct-email-import-facts, .ct-email-filters { grid-template-columns: minmax(0,1fr); }
  .ct-email-import-facts { gap: 14px; }
  .ct-email-order-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .ct-email-order-table tbody { display: block; }
  .ct-email-order-table tr { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; padding: 22px 18px; border-bottom: 1px solid var(--rt-line); }
  .ct-email-order-table tr:last-child { border-bottom: 0; }
  .ct-email-order-table td { min-width: 0; padding: 0; width: auto !important; border-bottom: 0; }
  .ct-email-order-table tr:hover td { background: transparent; }
  .ct-email-order-table td:first-child { font-size: .76rem; color: #625b52; }
  .ct-email-order-table .ct-text-button { width: 100%; min-height: 44px; border: 1px solid var(--rt-line); padding: 10px 14px; text-align: center; }
  .ct-email-pagination .ct-text-button { min-height: 44px; }
  .ct-email-review-layout { gap: 32px; }
  .ct-email-orders .ct-detail-heading { flex-wrap: wrap; gap: 12px; }
  .ct-email-orders .ct-detail-heading > div, .ct-email-orders .ct-detail-heading h2 { min-width: 0; overflow-wrap: anywhere; }
  .ct-email-orders .ct-detail-heading .ct-text-button { min-height: 44px; }
  .ct-email-review-actions { align-items: stretch; flex-direction: column; }
  .ct-email-review-actions .btn { justify-content: center; min-height: 48px; padding: 12px; }
  .ct-email-review-actions .ct-text-button { min-height: 44px; }
  .ct-email-product-row { grid-template-columns: minmax(0,1fr) 70px; gap: 12px; }
  .ct-email-product-row input { min-height: 44px; }
  .ct-email-body { padding: 14px; max-height: 360px; }
}
@media (prefers-reduced-motion: reduce) { .ct-admin, .ct-admin * { animation: none !important; transition: none !important; } }
