/* Account and customer management pages: warm brand palette, luminous controls,
   and calm reading surfaces. This layer is scoped to these four page bodies. */
:is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) {
  --account-glass-ink: #26211f;
  --account-glass-muted: #6f6a66;
  --account-glass-line: #eadfce;
  --account-glass-edge: rgba(255, 255, 255, .94);
  --account-glass-shadow: 0 12px 32px rgba(120, 85, 70, .065);
  --ui-button-shadow: inset 0 1px 0 rgba(255, 255, 255, .32), 0 7px 16px rgba(225, 0, 0, .13);
  --feedback-red: #e10000;
  --feedback-ink: #26211f;
  --feedback-muted: #6f6a66;
  --feedback-border: #eadfce;
  color: var(--account-glass-ink);
  background:
    radial-gradient(ellipse at 6% 0%, rgba(225, 0, 0, .035), transparent 37%),
    radial-gradient(ellipse at 92% 24%, rgba(255, 255, 255, .95), transparent 42%),
    radial-gradient(ellipse at 64% 86%, rgba(200, 200, 200, .14), transparent 40%),
    linear-gradient(145deg, #fffdfb, #fffaf2 58%, #fffaf6);
  background-attachment: fixed;
}

:is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) .client-top-ribbon {
  height: 4px;
  background: linear-gradient(90deg, #e10000, #e10000 35%, #c8c8c8 72%, #c8c8c8);
}

:is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) .client-header {
  border-bottom-color: rgba(234, 223, 206, .74);
  background: linear-gradient(120deg, rgba(255, 255, 255, .7), rgba(255, 250, 242, .39));
  box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(255, 255, 255, .74), 0 7px 24px rgba(120, 85, 70, .045);
  -webkit-backdrop-filter: saturate(150%) blur(18px);
  backdrop-filter: saturate(150%) blur(18px);
}

:is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) .client-header-brand {
  color: #26211f;
}

:is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) :is(.client-header-owner, .client-header-sub) {
  color: #785546;
}

:is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) :is(.client-lead, .client-note, .muted) {
  color: var(--account-glass-muted);
}

/* Primary floating form: rim reflections stay at the perimeter, behind text. */
body.client-apply-page .client-card.client-apply-card {
  position: relative;
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, .94);
  border-right-color: rgba(255, 255, 255, .75);
  border-bottom-color: rgba(234, 223, 206, .92);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .73), rgba(255, 255, 255, .39) 60%, rgba(255, 250, 242, .46));
  box-shadow: inset 0 1px 0 #fff, inset 1px 0 0 rgba(255, 255, 255, .78), inset 0 -1px 0 rgba(255, 255, 255, .7), 0 20px 48px rgba(120, 85, 70, .075);
  -webkit-backdrop-filter: saturate(145%) blur(16px);
  backdrop-filter: saturate(145%) blur(16px);
}

body.client-apply-page .client-apply-card::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(ellipse at 12% 0%, rgba(255, 255, 255, .48), transparent 44%), linear-gradient(125deg, rgba(255, 255, 255, .2), transparent 36%);
  content: "";
  pointer-events: none;
}

/* Navigation and filter strips share a single glass layer. */
body.admin-review-page .review-tools,
body.analytics-page .filters,
body.feedback-admin-page .feedback-admin-tools {
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, .95);
  border-bottom-color: rgba(234, 223, 206, .9);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .68), rgba(255, 255, 255, .32));
  box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 rgba(255, 255, 255, .58), 0 8px 22px rgba(120, 85, 70, .055);
  -webkit-backdrop-filter: saturate(145%) blur(16px);
  backdrop-filter: saturate(145%) blur(16px);
}

body.admin-review-page .review-head > div:last-child > a,
body.analytics-page .analytics-head > div:last-child > a,
body.feedback-admin-page .feedback-admin-head nav > a {
  border-color: rgba(255, 255, 255, .94);
  border-bottom-color: rgba(234, 223, 206, .95);
  border-radius: 999px;
  color: #e10000;
  background: linear-gradient(145deg, rgba(255, 255, 255, .75), rgba(255, 255, 255, .35));
  box-shadow: inset 0 1px 0 #fff, 0 5px 16px rgba(120, 85, 70, .05);
  -webkit-backdrop-filter: saturate(145%) blur(14px);
  backdrop-filter: saturate(145%) blur(14px);
}

/* Nested inputs remain clear rather than blurring their containing material. */
body.client-apply-page .client-form :is(input, select, textarea),
body.admin-review-page .review-tools :is(input, select),
body.admin-review-page .modal-card :is(input, textarea),
body.analytics-page .filters :is(input, select),
body.feedback-admin-page .feedback-admin-tools :is(input, select),
body.feedback-admin-page .feedback-review-dialog textarea {
  border-color: rgba(234, 223, 206, .95);
  border-radius: 12px;
  color: #26211f;
  background: rgba(255, 255, 255, .76);
  box-shadow: inset 0 1px 0 #fff;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

body.client-apply-page .client-form :is(input, textarea)::placeholder { color: #6f6a66; }
body.client-apply-page .client-form label { color: #26211f; }

body.client-apply-page .client-form :is(input, textarea, select):focus,
body.admin-review-page .review-tools :is(input, select):focus,
body.admin-review-page .modal-card :is(input, textarea):focus,
body.analytics-page .filters :is(input, select):focus,
body.feedback-admin-page .feedback-admin-tools :is(input, select):focus,
body.feedback-admin-page .feedback-review-dialog textarea:focus {
  border-color: rgba(225, 0, 0, .45);
  outline: none;
  background: rgba(255, 255, 255, .95);
  box-shadow: inset 0 1px 0 #fff, 0 0 0 3px rgba(225, 0, 0, .08);
}

/* Figures and records use white reading surfaces with a luminous silhouette. */
body.admin-review-page :is(.review-stat, .review-chart-card, .review-table),
body.analytics-page :is(.analytics-kpi, .panel, .analytics-detail-kpi, .analytics-detail-chart-panel, .analytics-detail-records, .analytics-detail-page-section),
body.feedback-admin-page :is(.feedback-admin-summary > div, .feedback-admin-table) {
  border-color: rgba(234, 223, 206, .92);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .83));
  box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 rgba(255, 255, 255, .65), var(--account-glass-shadow);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

/* Override the pre-existing nested detail-card material without adding blur. */
body.analytics-page .analytics-customer-detail-card .analytics-detail-kpi {
  border-radius: 16px;
  background: rgba(255, 255, 255, .89);
  box-shadow: inset 0 1px 0 #fff, 0 5px 16px rgba(120, 85, 70, .035);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

body.analytics-page .analytics-kpi::after { content: none; }
body.analytics-page .analytics-kpi :is(small, em) { color: #6f6a66; }
body.analytics-page .analytics-kpi strong { color: #26211f; }

body.admin-review-page .review-table th,
body.analytics-page .table th,
body.feedback-admin-page .feedback-admin-table th {
  border-bottom-color: #eadfce;
  background: #fffaf2;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

body.admin-review-page .review-table td,
body.analytics-page .table td,
body.feedback-admin-page .feedback-admin-table td { border-bottom-color: rgba(234, 223, 206, .72); }

body.admin-review-page .row-actions button,
body.feedback-admin-page .feedback-admin-actions button { border-radius: 12px; }

/* Transient dialogs float above a lightly blurred scrim. Their data stays clear. */
body.admin-review-page .modal,
body.analytics-page .analytics-modal,
body.feedback-admin-page .feedback-review-modal {
  background: rgba(38, 33, 31, .16);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

body.admin-review-page .modal-card,
body.analytics-page .analytics-modal-card,
body.analytics-page .analytics-modal .analytics-customer-detail-card,
body.feedback-admin-page .feedback-review-dialog {
  border: 1px solid rgba(255, 255, 255, .95);
  border-bottom-color: rgba(234, 223, 206, .94);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .93), rgba(255, 250, 242, .83));
  box-shadow: inset 0 1px 0 #fff, inset 1px 0 0 rgba(255, 255, 255, .78), inset 0 -1px 0 rgba(255, 255, 255, .65), 0 24px 64px rgba(120, 85, 70, .17);
  -webkit-backdrop-filter: saturate(145%) blur(18px);
  backdrop-filter: saturate(145%) blur(18px);
}

:is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) .client-owner-qr {
  z-index: 1001;
  padding: 15px;
  border-color: #eadfce;
  border-radius: 16px;
  background: #fff;
  box-shadow: inset 0 1px 0 #fff, 0 18px 42px rgba(120, 85, 70, .15);
}

:is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) .client-owner-qr::before { border-color: #eadfce; background: #fff; }

:is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) :is(a, button):focus-visible {
  outline: 3px solid rgba(225, 0, 0, .24);
  outline-offset: 3px;
}

@media (max-width: 620px) {
  body.admin-review-page .review-head > div:last-child,
  body.analytics-page .analytics-head > div:last-child { display: flex; flex-wrap: wrap; gap: 8px; }
  body.admin-review-page .review-head > div:last-child > span,
  body.analytics-page .analytics-head > div:last-child > span { display: none; }
  body.analytics-page .filters label { display: grid; gap: 5px; }
  body.analytics-page .filters :is(input, select) { max-width: 100%; min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  :is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) *,
  :is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) *::before,
  :is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Unsupported filters and accessibility preferences receive opaque warm surfaces. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  :is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) :is(.client-header, .client-apply-card, .review-tools, .filters, .feedback-admin-tools, .modal-card, .analytics-modal-card, .feedback-review-dialog) { background: #fffaf6; }
  body.client-apply-page .client-card.client-apply-card,
  body.analytics-page .analytics-modal .analytics-customer-detail-card { background: #fffaf6; }
}

@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  :is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) { background: #fffaf2; }
  :is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) :is(.client-header, .client-apply-card, .review-tools, .filters, .feedback-admin-tools, .review-stat, .review-chart-card, .review-table, .analytics-kpi, .panel, .analytics-detail-kpi, .analytics-detail-page-section, .analytics-detail-records, .feedback-admin-summary > div, .feedback-admin-table, .modal-card, .analytics-modal-card, .feedback-review-dialog) { border-color: #b8a69b; background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
  body.client-apply-page .client-card.client-apply-card,
  body.analytics-page .analytics-modal .analytics-customer-detail-card,
  body.analytics-page .analytics-customer-detail-card .analytics-detail-kpi { border-color: #b8a69b; background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
  body.client-apply-page .client-apply-card::before { content: none; }
  body.client-apply-page .client-form :is(input, select, textarea),
  body.admin-review-page .review-tools :is(input, select),
  body.admin-review-page .modal-card :is(input, textarea),
  body.analytics-page .filters :is(input, select),
  body.feedback-admin-page .feedback-admin-tools :is(input, select),
  body.feedback-admin-page .feedback-review-dialog textarea { border-color: #b8a69b; background: #fff; }
  body.admin-review-page .review-head > div:last-child > a,
  body.analytics-page .analytics-head > div:last-child > a,
  body.feedback-admin-page .feedback-admin-head nav > a { border-color: #b8a69b; background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
  body.admin-review-page .modal,
  body.analytics-page .analytics-modal,
  body.feedback-admin-page .feedback-review-modal { -webkit-backdrop-filter: none; backdrop-filter: none; }
}

@media (forced-colors: active) {
  :is(body.client-apply-page, body.admin-review-page, body.analytics-page, body.feedback-admin-page) :is(.client-apply-card, .review-tools, .filters, .feedback-admin-tools, .modal-card, .analytics-modal-card, .feedback-review-dialog) { border: 1px solid CanvasText; }
}

/* Admin and account cards use the same live refraction as the portal while
   retaining the original warm, red and neutral meaning of status fills. */
body.admin-review-page .review-stat,
body.admin-review-page .review-chart-card,
body.analytics-page :is(.analytics-kpi, .analytics-chart-panel, .analytics-detail-kpi, .analytics-detail-chart-panel),
body.feedback-admin-page .feedback-admin-summary > div {
  border-color: rgba(188, 124, 80, .22);
  background-image: radial-gradient(ellipse 240px 150px at var(--lg-pointer-x, 20%) var(--lg-pointer-y, 0%), rgba(255, 255, 255, .76), transparent 84%), linear-gradient(140deg, rgba(255, 255, 255, .78), rgba(255, 250, 242, .68));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .98), inset 0 -1px 0 rgba(188, 124, 80, .1), 0 7px 20px rgba(120, 85, 70, .07);
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
body.admin-review-page .review-stat.pending {
  background-image: radial-gradient(ellipse 220px 140px at var(--lg-pointer-x, 20%) var(--lg-pointer-y, 0%), rgba(255, 255, 255, .76), transparent 84%), linear-gradient(140deg, rgba(255, 255, 255, .72), rgba(255, 244, 216, .78));
}
body.admin-review-page .review-stat.approved {
  background-image: radial-gradient(ellipse 220px 140px at var(--lg-pointer-x, 20%) var(--lg-pointer-y, 0%), rgba(255, 255, 255, .76), transparent 84%), linear-gradient(140deg, rgba(255, 255, 255, .72), rgba(225, 0, 0, .09));
}
body.admin-review-page .review-stat.disabled {
  background-image: radial-gradient(ellipse 220px 140px at var(--lg-pointer-x, 20%) var(--lg-pointer-y, 0%), rgba(255, 255, 255, .76), transparent 84%), linear-gradient(140deg, rgba(255, 255, 255, .72), rgba(200, 200, 200, .24));
}
@media (hover: hover) and (pointer: fine) {
  body.admin-review-page :is(.review-stat, .review-chart-card):hover,
  body.analytics-page :is(.analytics-kpi, .analytics-chart-panel, .analytics-detail-kpi, .analytics-detail-chart-panel):hover,
  body.feedback-admin-page .feedback-admin-summary > div:hover {
    border-color: rgba(225, 0, 0, .28);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .99), inset 0 0 0 1px rgba(255, 255, 255, .54), 0 13px 28px rgba(120, 85, 70, .12), 0 3px 9px rgba(225, 0, 0, .06);
    transform: translateY(-2px);
  }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  body.admin-review-page .review-stat.pending { background: #fff8e8; }
  body.admin-review-page .review-stat.approved { background: #fff2f0; }
  body.admin-review-page .review-stat.disabled { background: #f7f7f7; }
}
@media (prefers-reduced-motion: reduce) {
  body.admin-review-page :is(.review-stat, .review-chart-card),
  body.analytics-page :is(.analytics-kpi, .analytics-chart-panel, .analytics-detail-kpi, .analytics-detail-chart-panel),
  body.feedback-admin-page .feedback-admin-summary > div { transition: none !important; }
}
