/*
 * Helpal shared identity, loaded last on every page.
 *
 * Type: Source Serif 4 for titles, section headings and money; Source Sans 3 for everything people
 * read and press. Both are self-hosted under the SIL Open Font License (OFL.txt beside each font).
 * Figures use equal-width lining digits with a plain zero, so prices and dates read as statements.
 *
 * Colour: ink navy for titles and figures, a deep teal for anything you can press, a quiet cool paper
 * ground. Marigold marks only "this needs you"; green marks only finished steps; red marks only problems.
 * Weight: the faces stop at 650, so the extra-bold weights older stylesheets ask for render as a firm semibold.
 * Shape: 6 px controls, 10 px for the one box a screen keeps for money or decisions, no drop shadows on
 * the page. Labels are sentence case; nothing is set in tracked capitals.
 */
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-display: swap;
  font-weight: 200 650;
  src: url("../fonts/source-sans-3/latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-display: swap;
  font-weight: 200 650;
  src: url("../fonts/source-sans-3/latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: italic;
  font-display: swap;
  font-weight: 200 650;
  src: url("../fonts/source-sans-3/latin-wght-italic.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-display: swap;
  font-weight: 200 650;
  src: url("../fonts/source-serif-4/latin-opsz-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-display: swap;
  font-weight: 200 650;
  src: url("../fonts/source-serif-4/latin-ext-opsz-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  --helpal-font: "Source Sans 3", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  --hp-serif: "Source Serif 4", Georgia, "Times New Roman", serif;

  --hp-ink: #13294b;
  --hp-copy: #3b4a5c;
  --hp-muted: #5a6878;
  --hp-paper: #f4f6f8;
  --hp-surface: #ffffff;
  --hp-rule: #d5dce4;
  --hp-rule-soft: #e6eaef;
  --hp-rule-strong: #9fb0c2;
  --hp-action: #0b6480;
  --hp-action-hover: #09566e;
  --hp-action-press: #084c61;
  --hp-action-soft: #e6f0f3;
  --hp-action-tint: #eef5f7;
  --hp-navy: #1b3d6d;
  --hp-marigold: #f2a12e;
  --hp-marigold-soft: #fdf1dc;
  --hp-marigold-ink: #8a5a0b;
  --hp-green: #2b7a39;
  --hp-green-soft: #e5f1e6;
  --hp-red: #b3261e;
  --hp-red-soft: #fbeae8;
  --hp-teal: var(--hp-action);
  --hp-teal-deep: var(--hp-action-press);
  --hp-grid: var(--hp-rule-soft);

  /* Names used by older stylesheets, mapped onto the identity above. */
  --studio-ink: var(--hp-ink);
  --studio-copy: var(--hp-copy);
  --studio-paper: var(--hp-paper);
  --studio-rule: var(--hp-rule);
  --studio-rust: var(--hp-action);
  --studio-blue: var(--hp-navy);
  --helpal-ink: var(--hp-ink);
  --helpal-ink-soft: #2a4061;
  --helpal-orange: var(--hp-action);
  --helpal-orange-dark: var(--hp-action-press);
  --helpal-orange-soft: var(--hp-action-soft);
  --helpal-teal: var(--hp-navy);
  --helpal-teal-soft: #e8eef6;
  --helpal-canvas: var(--hp-paper);
  --helpal-line: var(--hp-rule);
  --helpal-line-strong: var(--hp-rule-strong);
  --helpal-copy: var(--hp-copy);
  --helpal-muted: var(--hp-muted);
  --helpal-radius-sm: 6px;
  --helpal-radius: 8px;
  --helpal-radius-lg: 10px;
  --helpal-shadow-sm: none;
  --helpal-shadow: none;
  --helpal-shadow-lg: 0 12px 32px rgba(19, 41, 75, 0.14);
  --brand-primary-900: var(--hp-ink);
  --brand-primary-800: var(--hp-ink);
  --brand-secondary-700: var(--hp-action);
  --brand-secondary-100: var(--hp-action-soft);
  --brand-accent-700: var(--hp-marigold-ink);
  --brand-accent-100: var(--hp-marigold-soft);
  --brand-bg: var(--hp-paper);
  --brand-border: var(--hp-rule);
  --brand-text-primary: var(--hp-ink);
  --brand-text-secondary: var(--hp-muted);
  --brand-success: var(--hp-green);
  --brand-warning: var(--hp-marigold-ink);
  --brand-danger: var(--hp-red);
  --brand-dashboard-hero-start: var(--hp-ink);
  --brand-dashboard-hero-end: var(--hp-ink);
  --brand-dashboard-hero-glow: var(--hp-paper);
  --brand-dashboard-metric-icon-start: var(--hp-ink);
  --brand-dashboard-metric-icon-end: var(--hp-action);
  --brand-marketplace-hero-glow: var(--hp-paper);
  --font-sans: var(--helpal-font);
  --bs-body-font-family: var(--helpal-font);
  --bs-font-sans-serif: var(--helpal-font);
  --bs-body-color: var(--hp-copy);
  --bs-heading-color: var(--hp-ink);
  --bs-border-color: var(--hp-rule);
  --bs-primary: var(--hp-action);
  --bs-primary-rgb: 11, 100, 128;
  --bs-success: var(--hp-green);
  --bs-success-rgb: 43, 122, 57;
  --bs-danger: var(--hp-red);
  --bs-danger-rgb: 179, 38, 30;
  --bs-link-color: var(--hp-action);
  --bs-link-color-rgb: 11, 100, 128;
  --bs-link-hover-color: var(--hp-action-press);
  --bs-link-hover-color-rgb: 8, 76, 97;
}

/* Reading */
body { font-family: var(--helpal-font); font-synthesis-weight: none; font-size: 1.0625rem; color: var(--hp-copy); font-optical-sizing: auto; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
/* Titles and section headings are always the serif, whatever a page stylesheet set before this layer. */
body :is(h1, h2, h3, h4, .h1, .h2, .h3, .h4, .display-1, .display-2, .display-3, .display-4, .display-5, .display-6, .dashboard-title, .assessment-title, .hero-title, .helpal-app-page__title, .auth-card-title) { font-family: var(--hp-serif) !important; font-weight: 600 !important; letter-spacing: -0.01em !important; }
body :is(h1, h2, h3, h4, .h1, .h2, .h3, .h4) { color: var(--hp-ink); }
body :is(h5, h6, .h5, .h6) { font-family: var(--helpal-font); font-weight: 600; letter-spacing: 0; color: var(--hp-ink); }
body :is(table, .table, .metric-value, .data-table, .hp-figure, .num) { font-variant-numeric: tabular-nums lining-nums; }
body .hp-figure, body .metric-value, body .data-price { font-family: var(--hp-serif); font-weight: 600; color: var(--hp-ink); }
body :is(strong, b) { font-weight: 600; }
body small, body .small { font-size: .875em; }
body .text-muted, body .text-secondary { color: var(--hp-muted) !important; }
body ::selection { background: var(--hp-action-soft); color: var(--hp-ink); }

body.helpal-public-shell,
body.helpal-app-shell { background: var(--hp-paper); background-image: none; }
body.helpal-app-shell .main-content { background: var(--hp-paper); }
body.helpal-app-shell > .container.pt-3 .alert { border: 0; border-radius: 8px; }
body .main-content { background: var(--hp-paper); }

/* Nothing is set in tracked capitals: labels, statuses, badges and table headings read as sentence case. */
body :is([class*="badge"], [class*="pill"], [class*="status"], [class*="eyebrow"], [class*="kicker"], th, .text-uppercase, label, legend) { text-transform: none !important; letter-spacing: 0 !important; }

/* Labels above headings that only repeat the page they sit on are dropped; the heading says it. */
body :is(.data-eyebrow, .dashboard-header__eyebrow, .dashboard-section-heading__eyebrow, .earnings-page__eyebrow, .profile-page-hero__eyebrow, .helpal-app-page__eyebrow, .public-eyebrow) { display: none !important; }
/* The rest carry a state ("Payment secured", "Step 2") and stay as a quiet line. */
body :is(.request-cta-card__eyebrow, .mode-spotlight__eyebrow, .assessment-hero__eyebrow, .auth-journey-panel__eyebrow, .eval-readiness__eyebrow, .intake-preview-header__eyebrow, .promo-public-card__eyebrow, .helpal-installPrompt__eyebrow, .expert-progress-kicker, .expert-next-step__kicker, .marketing-kicker, .dq-eyebrow, .workspace-setup-callout__eyebrow, .student-progress-note__eyebrow, .signup-step-kicker) { font-family: var(--helpal-font) !important; font-size: .9375rem !important; font-weight: 600 !important; color: var(--hp-muted) !important; background: none !important; padding: 0 !important; border: 0 !important; }

/* Navigation */
body .helpal-navbar.navbar { background: #fff !important; border-bottom: 1px solid var(--hp-rule) !important; box-shadow: none !important; backdrop-filter: none; }
body .helpal-navbar .nav-link { font-weight: 500; color: var(--hp-ink); }
body .helpal-navbar .navbar-nav .nav-link:hover { color: var(--hp-action-press); }
body .helpal-navbar .navbar-nav .nav-link.active { color: var(--hp-ink) !important; box-shadow: inset 0 -2px 0 var(--hp-action); }
body .helpal-navbar .navbar-toggler { border-radius: 6px; box-shadow: none; }
body .helpal-navbar .dropdown-menu { border-radius: 10px; border-color: var(--hp-rule); box-shadow: var(--helpal-shadow-lg); }
body .helpal-navbar .badge.rounded-pill { background: var(--hp-marigold) !important; color: var(--hp-ink) !important; font-weight: 700; border: 2px solid #fff; }
/* The floating button stays only where it opens filters; "back to top" is left to the browser. */
body .helpal-fab { width: 44px !important; height: 44px !important; right: 1rem; bottom: 1rem; background: var(--hp-ink); box-shadow: 0 4px 12px rgba(19, 41, 75, 0.22); }
body .helpal-fab[data-mode="top"] { display: none !important; }
body .helpal-fab i { font-size: 1rem; }

/* Actions */
body .btn,
body .auth-submit-btn { border-radius: 6px; box-shadow: none; font-weight: 600; letter-spacing: 0; text-transform: none; }
body .btn:not(.btn-sm):not(.btn-link):not(.btn-close) { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; }
body .btn-lg { min-height: 50px; font-size: 1.0625rem; }
body .btn-primary:not(:disabled):not(.disabled),
body .auth-submit-btn:not(:disabled) { background: var(--hp-action); border-color: var(--hp-action); color: #fff; }
body .btn-primary:not(:disabled):not(.disabled):hover,
body .auth-submit-btn:not(:disabled):hover { background: var(--hp-action-hover); border-color: var(--hp-action-hover); color: #fff; }
body .btn-primary:not(:disabled):not(.disabled):active { background: var(--hp-action-press); border-color: var(--hp-action-press); box-shadow: inset 0 2px 3px rgba(5, 19, 33, .3); }
body :is(.btn-outline-primary, .btn-outline-secondary, .btn-outline-dark, .btn-light) { border: 1px solid var(--hp-rule-strong); color: var(--hp-ink); background: #fff; }
body :is(.btn-outline-primary, .btn-outline-secondary, .btn-outline-dark, .btn-light):hover { background: var(--hp-paper); border-color: #6f8399; color: var(--hp-ink); }
body :is(.btn-outline-primary, .btn-outline-secondary, .btn-outline-dark, .btn-light):active { background: var(--hp-rule-soft); }
body .btn-link { color: var(--hp-action); text-decoration: underline; text-underline-offset: .2em; font-weight: 600; }
body .btn-link:hover { color: var(--hp-action-press); text-decoration-thickness: 2px; }
body :is(.btn, .auth-submit-btn):is(:disabled, .disabled) { background: var(--hp-rule-soft) !important; border-color: var(--hp-rule-soft) !important; color: var(--hp-muted) !important; opacity: 1; }
body .btn-danger, body .btn-outline-danger:hover { background: var(--hp-red); border-color: var(--hp-red); color: #fff; }
body .btn-outline-danger { border-color: var(--hp-red); color: var(--hp-red); }
body .btn-success { background: var(--hp-green); border-color: var(--hp-green); }

/* Focus: ink ring with a white gap, visible on white, paper and teal. */
body :is(a, button, summary, [tabindex], .btn, input, select, textarea):focus-visible { outline: 2px solid var(--hp-ink); outline-offset: 2px; box-shadow: none; }
body .btn:focus-visible { box-shadow: 0 0 0 2px #fff; }

/* Fields */
body :is(.form-control, .form-select) { border: 1px solid var(--hp-rule-strong); border-radius: 6px; color: var(--hp-ink); min-height: 44px; font-size: 1rem; }
body textarea.form-control { min-height: 96px; }
body :is(.form-control, .form-select)::placeholder { color: #7a8796; }
body :is(.form-control, .form-select):focus { border-color: var(--hp-action); outline: none; box-shadow: 0 0 0 1px var(--hp-action), 0 0 0 4px #cfe3ea; }
body :is(.form-control, .form-select):disabled { background: var(--hp-paper); color: var(--hp-muted); border-color: var(--hp-rule); }
body :is(.form-control, .form-select).is-invalid { border-color: var(--hp-red); box-shadow: 0 0 0 1px var(--hp-red); background-image: none; }
body .invalid-feedback, body .errorlist, body .text-danger { color: var(--hp-red) !important; }
body .form-label, body label.form-label { font-weight: 600; color: var(--hp-ink); }
body .form-text { color: var(--hp-muted); }
body .form-check-input { width: 1.25em; height: 1.25em; border-color: var(--hp-rule-strong); }
body .form-check-input:checked { background-color: var(--hp-action); border-color: var(--hp-action); }
body .form-check-input:focus { box-shadow: none; border-color: var(--hp-action); }
body .form-check-input:focus-visible { outline: 2px solid var(--hp-ink); outline-offset: 2px; }
body input[type="checkbox"], body input[type="radio"] { accent-color: var(--hp-action); }
body a:not(.btn):not(.nav-link):not(.dropdown-item):not(.navbar-brand) { text-underline-offset: .18em; }

/* Surfaces: one border weight, two radii, no shadows on the page. */
body .card { border-color: var(--hp-rule); border-radius: 10px; box-shadow: none; }
body .card-header { background: #fff; border-bottom-color: var(--hp-rule-soft); }
body .shadow, body .shadow-sm, body .shadow-lg { box-shadow: none !important; }
body .dropdown-menu, body .modal-content, body .popover, body .offcanvas { box-shadow: var(--helpal-shadow-lg); border-color: var(--hp-rule); }
body .modal-content { border-radius: 10px; }

/* Tables */
body .table { --bs-table-border-color: var(--hp-rule-soft); color: var(--hp-copy); }
body .table > thead th, body table thead th { font-size: .875rem; font-weight: 600; color: var(--hp-muted); border-bottom: 1px solid var(--hp-rule-strong) !important; background: transparent; }

/* Badges become quiet words; status colour lives in a small dot where a template provides one. */
body .badge { font-weight: 600; border-radius: 999px; padding: .3em .7em; }
body .badge.bg-primary, body .badge.text-bg-primary { background: var(--hp-action-soft) !important; color: var(--hp-action-press) !important; }
body .badge.bg-success, body .badge.text-bg-success { background: var(--hp-green-soft) !important; color: var(--hp-green) !important; }
body .badge.bg-warning, body .badge.text-bg-warning { background: var(--hp-marigold-soft) !important; color: var(--hp-marigold-ink) !important; }
body .badge.bg-danger, body .badge.text-bg-danger { background: var(--hp-red-soft) !important; color: var(--hp-red) !important; }
body .badge:is(.bg-secondary, .bg-light, .text-bg-secondary, .text-bg-light) { background: var(--hp-rule-soft) !important; color: var(--hp-ink) !important; }

/* Notices: plain, rounded, no coloured edge. */
body .alert { border: 0; border-radius: 8px; color: var(--hp-ink); padding: .9rem 1.1rem; }
body .alert-info, body .alert-primary, body .alert-secondary, body .alert-light { background: var(--hp-paper); }
body .alert-success { background: var(--hp-green-soft); }
body .alert-warning { background: var(--hp-marigold-soft); }
body .alert-danger { background: var(--hp-red-soft); }
body .alert :is(.alert-link, a:not(.btn)) { color: var(--hp-action-press); }

/* Shared parts used by the reworked screens */
.hp-status { display: inline-flex; align-items: center; gap: .6rem; font-weight: 600; color: var(--hp-ink); }
.hp-status::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--hp-action); flex: none; }
.hp-status--attention::before { background: var(--hp-marigold); }
.hp-status--done::before { background: var(--hp-green); }
.hp-status--problem::before { background: var(--hp-red); }
.hp-status--waiting::before { background: var(--hp-rule-strong); }

.hp-statement { background: #fff; border: 1px solid var(--hp-rule); border-radius: 10px; padding: .5rem 1.4rem 1.4rem; color: var(--hp-copy); }
.hp-statement__row { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--hp-rule-soft); }
.hp-statement__row > :last-child { font-family: var(--hp-serif); font-variant-numeric: tabular-nums lining-nums; color: var(--hp-ink); text-align: right; white-space: nowrap; }
.hp-statement__row > .hp-statement__note { font-family: var(--helpal-font); color: var(--hp-muted); }
.hp-statement__total { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: 1.1rem 0 .3rem; border-top: 2px solid var(--hp-ink); margin-top: -1px; }
.hp-statement__total > :first-child { font-weight: 600; color: var(--hp-ink); }
.hp-statement__total > :last-child { font-family: var(--hp-serif); font-variant-numeric: tabular-nums lining-nums; font-weight: 600; font-size: 2rem; line-height: 1.1; color: var(--hp-ink); white-space: nowrap; }
.hp-statement__aside { margin: .35rem 0 0; font-size: .875rem; color: var(--hp-muted); }
.hp-statement__actions { display: flex; flex-direction: column; gap: 1rem; margin-top: 1.3rem; padding-top: 1.3rem; border-top: 1px solid var(--hp-rule); }
.hp-statement__actions .btn { width: 100%; }

.hp-consent { display: flex; gap: .75rem; align-items: flex-start; font-size: .9375rem; line-height: 1.55; color: var(--hp-copy); cursor: pointer; }
.hp-consent input { width: 1.25rem; height: 1.25rem; margin: .15rem 0 0; flex: none; accent-color: var(--hp-action); }
.hp-fineprint { font-size: .875rem; line-height: 1.55; color: var(--hp-muted); }

.hp-notice { display: flex; gap: .85rem; align-items: flex-start; padding: 1rem 1.1rem; border-radius: 8px; background: var(--hp-paper); color: var(--hp-ink); }
.hp-notice--attention { background: var(--hp-marigold-soft); }
.hp-notice--problem { background: var(--hp-red-soft); }
.hp-notice--done { background: var(--hp-green-soft); }

.hp-schedule { list-style: none; margin: 0; padding: 0; }
.hp-schedule > li { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); gap: .75rem; }
.hp-schedule__mark { display: flex; flex-direction: column; align-items: center; }
.hp-schedule__dot { width: 22px; height: 22px; box-sizing: border-box; border-radius: 50%; border: 2px solid var(--hp-rule-strong); background: #fff; margin-top: 2px; flex: none; display: flex; align-items: center; justify-content: center; }
.hp-schedule__line { width: 2px; flex: 1; background: var(--hp-rule); margin: 4px 0; }
.hp-schedule > li:last-child .hp-schedule__line { display: none; }
.hp-schedule__body { padding-bottom: 1.35rem; display: flex; flex-direction: column; gap: .1rem; }
.hp-schedule__when { font-size: .875rem; color: var(--hp-muted); font-variant-numeric: tabular-nums lining-nums; }
.hp-schedule__title { font-weight: 600; color: var(--hp-ink); }
.hp-schedule > li.is-done .hp-schedule__dot { background: var(--hp-green); border-color: var(--hp-green); }
.hp-schedule > li.is-done .hp-schedule__dot::after { content: ""; width: 9px; height: 5px; border-left: 2.5px solid #fff; border-bottom: 2.5px solid #fff; transform: translateY(-1px) rotate(-45deg); }
.hp-schedule > li.is-done .hp-schedule__line { background: var(--hp-green); }
.hp-schedule > li.is-done .hp-schedule__when { color: var(--hp-green); font-weight: 600; }
.hp-schedule > li.is-current .hp-schedule__dot { border: 3px solid var(--hp-action); }
.hp-schedule > li.is-current .hp-schedule__when { color: var(--hp-action); font-weight: 600; }

/* Paying for a request: heading, then the statement with its one action, then what happens next. */
body .request-cta-card:has(> .card-body .hp-pay), body .request-cta-card:has(.hp-pay:not([hidden])) { background: transparent !important; border: 0 !important; box-shadow: none !important; }
body .request-cta-card:has(.hp-pay:not([hidden])) > .card-body { padding: 0 !important; }
.hp-pay { display: grid; grid-template-columns: minmax(0, 27rem) minmax(0, 1fr); gap: 1.5rem 2.5rem; align-items: start; }
.hp-pay__head { grid-column: 1 / -1; display: flex; flex-direction: column; gap: .4rem; }
.hp-pay__title { margin: 0; font-size: clamp(1.75rem, 3vw, 2.1rem); line-height: 1.2; }
.hp-pay__subject { margin: 0; font-size: 1.0625rem; color: var(--hp-ink); }
.hp-pay__change { align-self: flex-start; margin-top: .6rem; min-height: 0 !important; font-size: .9375rem; }
.hp-pay__statement { display: flex; flex-direction: column; }
.hp-pay .btn-lg, .hp-statement .btn-lg { font-size: 1.0625rem !important; font-weight: 600 !important; min-height: 50px; box-shadow: none !important; }
.hp-pay__after { display: flex; flex-direction: column; gap: .9rem; font-size: .9375rem; color: var(--hp-muted); padding-top: .4rem; }
.hp-pay__after p { margin: 0; }
.hp-pay__after strong { color: var(--hp-ink); }
@media (max-width: 860px) { .hp-pay { grid-template-columns: minmax(0, 1fr); } .hp-pay__after { padding-top: .6rem; border-top: 1px solid var(--hp-rule); } }

/* Footer */
body .helpal-footer { background: #fff !important; border-top: 1px solid var(--hp-rule) !important; color: var(--hp-copy); margin-top: 4rem; }
body .helpal-footer .helpal-footer__inner { max-width: 1180px; padding: 3rem 1.5rem 2rem !important; }
.helpal-footer__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 2rem 3rem; }
.helpal-footer .footer-logo { height: 40px; width: auto; }
body .helpal-footer .helpal-footer__summary { margin: 1rem 0 0; color: var(--hp-muted) !important; font-size: .9375rem; max-width: 22rem; }
body .helpal-footer .helpal-footer__title { margin: 0 0 .75rem; font-family: var(--helpal-font) !important; font-size: .9375rem !important; font-weight: 600 !important; letter-spacing: 0 !important; color: var(--hp-ink); }
.helpal-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
body .helpal-footer .footer-link::before { display: none; }
body .helpal-footer .footer-link { font-size: .9375rem; color: var(--hp-copy); text-decoration: none; }
body .helpal-footer .footer-link:hover { color: var(--hp-action-press); text-decoration: underline; text-underline-offset: 3px; }
.helpal-footer__count { font-size: .8125rem; font-weight: 600; color: var(--hp-marigold-ink); }
.helpal-footer__base { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid var(--hp-rule-soft); }
.helpal-footer__copy { margin: 0; font-size: .875rem; color: var(--hp-muted); }
.helpal-footer__tools { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; }
body .helpal-footer .helpal-footer__tool { border: 0; background: transparent; padding: .25rem 0; font-size: .875rem; font-weight: 500; color: var(--hp-copy); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--hp-rule-strong); }
body .helpal-footer .helpal-footer__tool:hover { color: var(--hp-action-press); text-decoration-color: currentColor; }
@media (max-width: 860px) { .helpal-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .helpal-footer__about { grid-column: 1 / -1; } }

/* Information pages */
body .public-hero { background: #fff; border-radius: 0; border-bottom: 1px solid var(--hp-rule); padding-block: clamp(2.4rem, 5vw, 4rem); }
body .public-hero::before, body .public-hero::after { display: none; }
body .public-hero h1 { font-weight: 600; letter-spacing: -.015em; color: var(--hp-ink); }
body .public-page { background: var(--hp-paper); }
body .public-feature-card { border-radius: 10px; box-shadow: none; border-color: var(--hp-rule); }
body .public-section--muted { background: #eef1f4; }

/* Sign-in and registration */
body .auth-page { background: var(--hp-paper); }
body .auth-page::before, body .auth-page::after { display: none; }
body .auth-shell { background: #fff; border-radius: 10px; border-color: var(--hp-rule); box-shadow: none; }
body .auth-shell::before { display: none; }
body .auth-panel-left { background: var(--hp-ink); }
body .auth-panel-right { background: #fff; }
body .auth-card-title { font-family: var(--hp-serif); font-weight: 600; letter-spacing: -.01em; }
body .student-social-block { border-radius: 10px; background: var(--hp-paper); box-shadow: none; }
body .student-social-btn { border-radius: 6px; box-shadow: none; }
body .student-social-btn:hover { transform: none; box-shadow: none; }
body .auth-journey-panel { background: var(--hp-ink); }

/* Request form */
body .assessment-create-page .form-card { border: 1px solid var(--hp-rule); border-radius: 10px; box-shadow: none; }
body .assessment-create-page .form-card > .card-header { background: #fff !important; color: var(--hp-ink) !important; border-bottom: 1px solid var(--hp-rule); }
body .assessment-create-page .form-card > .card-header :is(h4, h5, .text-white) { color: var(--hp-ink) !important; }
body .assessment-create-page :is(.mode-spotlight, .managed-intake-card, .managed-optional, .guided-support-playbook) { background: var(--hp-paper); border-color: var(--hp-rule); border-radius: 10px; }
body .assessment-create-page .mode-pill { border-radius: 999px; }
body .helpal-processing-overlay__card { background: var(--hp-ink); border-radius: 10px; }

/* About photograph */
body .editorial-about-photo { margin: 0; }
body .editorial-about-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1.15; object-fit: cover; object-position: center 42%; border-radius: 10px; }
body .editorial-about-photo figcaption { display: flex; flex-wrap: wrap; gap: .4rem 1rem; justify-content: space-between; padding-top: .7rem; font-size: .875rem; color: var(--hp-muted); }

/* Workspaces */
.helpal-app-shell .dashboard-container .dashboard-header,
.helpal-app-shell .assessment-hero,
.helpal-app-shell .profile-page-hero,
.helpal-app-shell .eval-readiness__hero { background: #fff; border-top-width: 1px; border-radius: 10px; box-shadow: none; }
.helpal-app-shell .dashboard-container .dashboard-header::before,
.helpal-app-shell .profile-page-hero::before { display: none; }
.helpal-app-shell .dashboard-title { font-family: var(--hp-serif); font-weight: 600; letter-spacing: -.015em; }
.helpal-app-shell .dashboard-container .content-card,
.helpal-app-shell .dashboard-container .metric-card { border-radius: 10px; box-shadow: none; }
.helpal-app-shell .dashboard-container .metric-icon { background: var(--hp-action-soft); color: var(--hp-action-press); box-shadow: none; }
.helpal-app-shell .dashboard-container .presence-indicator { background: var(--hp-paper) !important; border-color: var(--hp-rule) !important; border-radius: 999px; }
.helpal-app-shell .dashboard-container .dashboard-header-actions { display: flex; flex-flow: row wrap; align-items: center; gap: .6rem; }
.helpal-app-shell .dashboard-container .dashboard-header-actions > :is(.btn, .presence-indicator) { flex: 0 0 auto; width: auto; min-height: 40px; }
.helpal-app-shell .assessment-card:hover,
.helpal-app-shell .card:hover { border-color: var(--hp-rule-strong); box-shadow: none; transform: none; }

@media (max-width: 767px) {
  body .public-hero h1 { font-size: clamp(2rem, 8vw, 2.7rem); }
  .helpal-app-shell .dashboard-container .dashboard-header-actions { justify-content: flex-start; }
  .helpal-app-shell .dashboard-container .dashboard-header-actions > :is(.btn, .presence-indicator) { font-size: .875rem; padding: .5rem .75rem; }
  .hp-statement { padding: .4rem 1.1rem 1.2rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ------------------------------------------------------------------
   Customer dashboard: what needs you, what is moving, then messages and payments.
   ------------------------------------------------------------------ */
.dashboard-container.dashboard-container--customer { max-width: 1180px; padding: 2.5rem 2rem 5rem; }
.hp-dash__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 2.25rem; }
body .hp-dash__title { margin: 0 0 .35rem; font-size: clamp(2rem, 3.4vw, 2.375rem); line-height: 1.15; }
.hp-dash__summary { margin: 0; color: var(--hp-muted); }
.hp-dash__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }
.hp-dash__actions .btn-outline-secondary { border: 0; background: transparent; padding-left: 0; padding-right: 0; color: var(--hp-action); text-decoration: underline; text-underline-offset: 3px; }
.hp-dash__actions .btn-outline-secondary:hover { background: transparent; color: var(--hp-action-hover); }
.hp-dash__actions .btn-primary { min-height: 48px; display: inline-flex; align-items: center; padding: 0 1.4rem; }
.hp-dash__notice { margin: -1rem 0 2rem; }
.hp-dash__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 22rem); gap: 3rem; align-items: start; }
.hp-dash__main { display: flex; flex-direction: column; gap: 2.75rem; min-width: 0; }
body .hp-dash__heading { display: flex; align-items: center; gap: .6rem; margin: 0 0 .5rem; font-size: 1.375rem; }
.hp-dash__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--hp-marigold); flex: none; }
.hp-dash__rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--hp-rule); }
.hp-dash__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; padding: 1.15rem 0; border-bottom: 1px solid var(--hp-rule); }
.hp-dash__row-text { display: flex; flex-direction: column; gap: .2rem; min-width: 0; flex: 1 1 18rem; }
.hp-dash__row-title { font-family: var(--hp-serif); font-weight: 600; font-size: 1.1875rem; line-height: 1.3; color: var(--hp-ink); text-decoration: none; }
.hp-dash__row-title:hover { color: var(--hp-action); text-decoration: underline; text-underline-offset: 3px; }
.hp-dash__row-line { font-size: .9375rem; color: var(--hp-copy); font-variant-numeric: tabular-nums lining-nums; }
.hp-dash__row-line strong { color: var(--hp-ink); }
body .hp-dash__row-action { flex: none; min-height: 44px; display: inline-flex; align-items: center; padding: 0 1.1rem; font-size: .9375rem; }
/* The first thing that needs you is the one primary action on the page; the rest are quieter. */
.hp-dash__section:first-child .hp-dash__row + .hp-dash__row .hp-dash__row-action,
.hp-dash__section + .hp-dash__section .hp-dash__row-action { background: #fff; border: 1px solid var(--hp-rule-strong); color: var(--hp-ink); }
.hp-dash__section:first-child:has(#needs-you) { background: #fff; border: 1px solid var(--hp-rule); border-radius: 10px; padding: 1.1rem 1.5rem .25rem; }
.hp-dash__section:first-child:has(#needs-you) .hp-dash__rows { border-top-color: var(--hp-rule-soft); }
.hp-dash__section:first-child:has(#needs-you) .hp-dash__row { border-bottom-color: var(--hp-rule-soft); }
.hp-dash__section:first-child:has(#needs-you) .hp-dash__row:last-child { border-bottom: 0; }
.hp-dash__row--progress .hp-dash__row-text { gap: .55rem; }
.hp-dash__steps { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; max-width: 26rem; }
.hp-dash__steps span { height: 6px; border-radius: 3px; background: var(--hp-rule); }
.hp-dash__steps .is-done { background: var(--hp-green); }
.hp-dash__steps .is-current { background: var(--hp-action); }
.hp-dash__empty p { max-width: 38rem; }
.hp-dash__aside { display: flex; flex-direction: column; gap: 2.5rem; min-width: 0; }
body .hp-dash__panel-title { margin: 0 0 .6rem; font-size: 1.25rem; display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
.hp-dash__count { font-family: var(--helpal-font); font-size: .875rem; font-weight: 600; color: var(--hp-marigold-ink); }
.hp-dash__muted { color: var(--hp-muted); font-size: .9375rem; }
.hp-dash__panel-link { display: inline-block; margin-top: .75rem; font-weight: 600; font-size: .9375rem; text-underline-offset: 3px; }
.hp-dash__threads { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--hp-rule); }
.hp-dash__threads li { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: .75rem; padding: .85rem 0; border-bottom: 1px solid var(--hp-rule-soft); }
.hp-dash__avatar { width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--hp-action-soft); color: var(--hp-action); display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: .8125rem; }
.hp-dash__threads a { display: flex; flex-direction: column; min-width: 0; text-decoration: none; color: inherit; }
.hp-dash__thread-head { display: flex; justify-content: space-between; gap: .5rem; }
.hp-dash__thread-name { color: var(--hp-ink); min-width: 0; }
.hp-dash__threads .is-unread .hp-dash__thread-name { font-weight: 600; }
.hp-dash__thread-time { flex: none; font-size: .875rem; color: var(--hp-muted); font-variant-numeric: tabular-nums; }
.hp-dash__thread-preview { font-size: .9375rem; color: var(--hp-copy); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hp-dash__threads a:hover .hp-dash__thread-name { text-decoration: underline; text-underline-offset: 3px; }
.hp-dash__payments { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.hp-dash__payments th { font-size: .875rem; font-weight: 600; color: var(--hp-muted); text-align: left; padding: 0 0 .5rem; border-bottom: 1px solid var(--hp-ink); background: transparent; }
.hp-dash__payments tbody tr { background: transparent; }
.hp-dash__payments td { padding: .7rem 0; border-bottom: 1px solid var(--hp-rule-soft); vertical-align: top; background: transparent; }
.hp-dash__payments td a { display: block; color: var(--hp-ink); text-decoration: none; }
.hp-dash__payments td a:hover { text-decoration: underline; }
.hp-dash__payments td span { display: block; font-size: .875rem; color: var(--hp-muted); }
.hp-dash__payments .num { text-align: right; padding-left: 1rem; white-space: nowrap; color: var(--hp-ink); font-weight: 600; font-variant-numeric: tabular-nums lining-nums; }
.hp-dash__ref { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 1rem; margin: 0 0 .5rem; }
.hp-dash__ref dt { font-size: .875rem; font-weight: 500; color: var(--hp-muted); }
.hp-dash__ref dd { margin: 0; font-weight: 600; color: var(--hp-ink); overflow-wrap: anywhere; }
.hp-dash__ref-meta { margin: 0; font-size: .875rem; color: var(--hp-muted); }
.hp-dash__ref-meta strong { color: var(--hp-ink); }
.dashboard-container .hp-dash__panel .referral-action-btn { margin-top: .9rem; background: #fff; border: 1px solid var(--hp-rule-strong); color: var(--hp-ink); box-shadow: none; }
.dashboard-container .hp-dash__panel .referral-action-btn:hover { background: var(--hp-paper); color: var(--hp-ink); }
.hp-dash__panel.metric-card-referral { background: transparent; border: 0; box-shadow: none; padding: 0; }
@media (max-width: 960px) {
  .hp-dash__grid { grid-template-columns: minmax(0, 1fr); gap: 2.75rem; }
}
@media (max-width: 640px) {
  .dashboard-container.dashboard-container--customer { padding: 1.5rem 1rem 3rem; }
  .hp-dash__head { margin-bottom: 1.75rem; }
  .hp-dash__actions { width: 100%; flex-direction: column-reverse; align-items: stretch; }
  .hp-dash__actions .btn-primary { justify-content: center; }
  .hp-dash__actions .btn-outline-secondary { align-self: flex-start; }
  .hp-dash__section:first-child:has(#needs-you) { padding: .9rem 1rem .1rem; }
  .hp-dash__row-action { width: 100%; justify-content: center; }
}

/* ------------------------------------------------------------------
   Expert dashboard: same quiet system. Flat white panels, no icon tiles,
   figures in the serif, lists separated by rules rather than boxed cards.
   ------------------------------------------------------------------ */
body.helpal-app-shell .dashboard-container { max-width: 1180px; }
body.helpal-app-shell .dashboard-container .dashboard-header { border: 1px solid var(--hp-rule); border-radius: 10px; background: #fff; box-shadow: none; padding: 1.75rem 2rem; }
body.helpal-app-shell .dashboard-container .presence-indicator { display: none; }
body.helpal-app-shell .dashboard-container .dashboard-subtitle { color: var(--hp-muted); }
body.helpal-app-shell .dashboard-container .profile-progress-card { background: transparent; border: 0; padding: 0; box-shadow: none; }
body.helpal-app-shell .dashboard-container .profile-progress-label { font-weight: 500; color: var(--hp-copy); }
body.helpal-app-shell .dashboard-container .profile-progress-bar { height: 6px; border-radius: 3px; background: var(--hp-rule); }
body.helpal-app-shell .dashboard-container .profile-progress-fill { background: var(--hp-action); border-radius: 3px; }
body.helpal-app-shell .dashboard-container .dashboard-section-heading__meta { display: none; }
body.helpal-app-shell .dashboard-container .metrics-grid { gap: 1rem; }
body.helpal-app-shell .dashboard-container .metric-card { background: #fff; border: 1px solid var(--hp-rule); border-radius: 10px; box-shadow: none; padding: 1.1rem 1.25rem; min-height: 0; transform: none; }
body.helpal-app-shell .dashboard-container .metric-card::before,
body.helpal-app-shell .dashboard-container .metric-card::after { display: none; }
body.helpal-app-shell .dashboard-container .metric-icon { display: none; }
body.helpal-app-shell .dashboard-container .metric-value { font-family: var(--hp-serif); font-size: 2rem; font-weight: 600; color: var(--hp-ink); margin: 0 0 .15rem; }
body.helpal-app-shell .dashboard-container .metric-label { font-size: .9375rem; color: var(--hp-copy); margin-bottom: .5rem; }
body.helpal-app-shell .dashboard-container .metric-link { font-size: .9375rem; font-weight: 600; color: var(--hp-action); text-decoration: underline; text-underline-offset: 3px; }
body.helpal-app-shell .dashboard-container .metric-link .bi { display: none; }
body.helpal-app-shell .dashboard-container .metric-card-referral { background: #fff; border-color: var(--hp-rule); }
body.helpal-app-shell .dashboard-container .referral-action-btn { background: #fff; border: 1px solid var(--hp-rule-strong); color: var(--hp-ink); box-shadow: none; }
body.helpal-app-shell .dashboard-container .referral-action-btn:hover { background: var(--hp-paper); color: var(--hp-ink); }
body.helpal-app-shell .dashboard-container .content-card { background: #fff; border: 1px solid var(--hp-rule); border-radius: 10px; box-shadow: none; }
body.helpal-app-shell .dashboard-container .content-card-header { border-bottom: 1px solid var(--hp-rule-soft); background: transparent; align-items: center; }
body.helpal-app-shell .dashboard-container .content-card-header h3 { font-size: 1.25rem; margin: 0; }
body.helpal-app-shell .dashboard-container .content-card-header h3 .bi { display: none; }
body.helpal-app-shell .dashboard-container .quick-actions-grid { display: flex; flex-wrap: wrap; gap: .6rem; }
body.helpal-app-shell .dashboard-container .quick-action { position: relative; flex-direction: row; align-items: center; gap: .5rem; min-height: 44px; padding: .5rem 1rem; background: #fff; border: 1px solid var(--hp-rule-strong); border-radius: 6px; box-shadow: none; color: var(--hp-ink); font-weight: 600; transform: none; }
body.helpal-app-shell .dashboard-container .quick-action:hover { background: var(--hp-paper); }
body.helpal-app-shell .dashboard-container .quick-action-icon { width: auto; height: auto; background: transparent !important; border: 0; box-shadow: none; color: var(--hp-muted); font-size: 1rem; margin: 0; }
body.helpal-app-shell .dashboard-container .quick-action .action-badge { position: static; background: var(--hp-marigold); color: var(--hp-ink); border-radius: 999px; padding: 0 .45rem; font-size: .8125rem; line-height: 1.4; }
body.helpal-app-shell .dashboard-container :is(.conversations-list, .notifications-list) { display: flex; flex-direction: column; gap: 0; }
body.helpal-app-shell .dashboard-container :is(.conversation-item, .notification-item) { background: transparent; border: 0; border-bottom: 1px solid var(--hp-rule-soft); border-radius: 0; box-shadow: none; padding: .85rem 0; margin: 0; transform: none; }
body.helpal-app-shell .dashboard-container :is(.conversation-item, .notification-item):last-child { border-bottom: 0; }
body.helpal-app-shell .dashboard-container .notification-icon { width: 2rem; height: 2rem; border-radius: 50%; background: var(--hp-paper); color: var(--hp-muted); box-shadow: none; }
body.helpal-app-shell .dashboard-container .notification-item.unread .notification-icon { background: var(--hp-action-soft); color: var(--hp-action); }
body.helpal-app-shell .dashboard-container .conversation-avatar { background: var(--hp-action-soft); color: var(--hp-action); box-shadow: none; }
body.helpal-app-shell .dashboard-container .conversation-name { font-family: var(--helpal-font); font-size: 1rem; }
body.helpal-app-shell .dashboard-container .expert-availability-banner { border: 0; border-radius: 10px; }
body.helpal-app-shell .dashboard-container .empty-state > .bi { display: none; }
body.helpal-app-shell .dashboard-container .table thead th { font-size: .875rem; font-weight: 600; color: var(--hp-muted); border-bottom: 1px solid var(--hp-ink); background: transparent; }
body.helpal-app-shell .dashboard-container .content-grid:has(> .sidebar-column:not(:has(*))) { grid-template-columns: minmax(0, 1fr); }
body.helpal-app-shell .dashboard-container .profile-progress-wrapper .profile-progress-card { border: 0; background: transparent; padding: 0; }

/* ------------------------------------------------------------------
   Phone menu: one ruled list in the serif, your account first, one action.
   ------------------------------------------------------------------ */
@media (max-width: 991.98px) {
  body .helpal-navbar .navbar-collapse { margin: .5rem -.75rem 0; padding: .25rem 1.25rem 1rem; border: 0; border-top: 1px solid var(--hp-rule); border-radius: 0; background: #fff; box-shadow: none; }
  body .helpal-navbar .navbar-nav.me-auto { gap: 0; padding: 0; margin: 0; }
  body .helpal-navbar .navbar-nav.ms-auto { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; border-top: 0; }
  body .helpal-navbar .navbar-nav .nav-link,
  body .helpal-navbar .navbar-nav.ms-auto .nav-link:not(.dropdown-toggle):not(.dropdown-toggle-split),
  body .helpal-navbar .nav-mobile-dashboard-item .nav-link,
  body .helpal-navbar .nav-mobile-community-item .nav-link,
  body .helpal-navbar .nav-mobile-logout-item .nav-link,
  body .helpal-navbar .nav-mobile-requests-item .nav-link,
  body .helpal-navbar .nav-icon-dd .nav-icon-link {
    display: flex; align-items: center; justify-content: space-between !important; width: 100%; min-height: 52px; padding: 0 .25rem !important;
    border: 0 !important; border-bottom: 1px solid var(--hp-rule-soft) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
    font-family: var(--hp-serif); font-size: 1.25rem !important; font-weight: 600 !important; color: var(--hp-ink) !important;
  }
  body .helpal-navbar .navbar-nav .nav-link > .bi { display: none; }
  body .helpal-navbar .navbar-nav .nav-link.active,
  body .helpal-navbar .navbar-nav .nav-link[aria-current="page"],
  body .helpal-navbar .nav-mobile-dashboard { box-shadow: inset 3px 0 0 var(--hp-action) !important; padding-left: .9rem !important; }
  body .helpal-navbar .nav-mobile-dashboard:not(.active) { box-shadow: none !important; padding-left: .25rem !important; }
  body .helpal-navbar .nav-icon-dd .nav-caret-toggle { display: none !important; }
  body .helpal-navbar .nav-icon-dd .d-flex { width: 100%; }
  body .helpal-navbar .nav-icon-link .badge { position: static !important; transform: none !important; margin-left: auto; font-family: var(--helpal-font); font-size: .8125rem; font-weight: 600; background: var(--hp-marigold-soft) !important; color: var(--hp-marigold-ink) !important; border-radius: 999px; padding: .2rem .55rem; }
  body .helpal-navbar .nav-icon-link .badge::after { content: " new"; }
  body .helpal-navbar .nav-icon-link__label { margin: 0 !important; }
  /* Your account: the avatar and name at the top, as a plain row. */
  body .helpal-navbar .nav-mobile-user-item { order: 0; }
  body .helpal-navbar .nav-account-link { min-height: 64px !important; padding: .5rem 0 !important; border: 0 !important; border-bottom: 1px solid var(--hp-rule) !important; border-radius: 0 !important; background: transparent !important; justify-content: flex-start !important; gap: .75rem; font-family: var(--helpal-font) !important; font-size: 1rem !important; }
  body .helpal-navbar .nav-account-link > .rounded-circle, body .helpal-navbar .nav-account-link img { width: 40px !important; height: 40px !important; margin: 0 !important; background: var(--hp-action-soft) !important; color: var(--hp-action) !important; }
  body .helpal-navbar .nav-account-link .nav-account-name { font-weight: 600; color: var(--hp-ink); }
  body .helpal-navbar .nav-mobile-logout-item .nav-link { font-family: var(--helpal-font) !important; font-size: 1rem !important; font-weight: 600 !important; color: var(--hp-ink) !important; text-decoration: underline; text-underline-offset: 3px; border-bottom: 0 !important; justify-content: flex-start !important; }
  body .helpal-navbar .nav-mobile-logout:hover { background: transparent !important; }
  body .helpal-navbar .dropdown-toggle::after { border-top-color: var(--hp-muted); }
  body .helpal-navbar .navbar-collapse .dropdown-menu { position: static !important; width: 100% !important; margin: 0 0 .5rem !important; border: 0; border-left: 2px solid var(--hp-rule); border-radius: 0; box-shadow: none; padding: .25rem 0 .25rem .75rem; }
  body .helpal-navbar .navbar-collapse .dropdown-item { padding: .6rem .25rem; font-size: 1rem; }
  /* Signed out: two plain choices. */
  body .helpal-navbar .nav-guest-auth { padding-top: 1rem; }
  body .helpal-navbar .nav-guest-auth__group { flex-direction: column; align-items: stretch !important; gap: .5rem !important; }
  body .helpal-navbar .nav-guest-auth__group .nav-link-login { justify-content: center !important; border: 1px solid var(--hp-rule-strong) !important; border-radius: 6px !important; font-family: var(--helpal-font) !important; font-size: 1rem !important; min-height: 48px; }
  body .helpal-navbar .nav-guest-auth__group .nav-signup-btn { min-height: 48px; font-size: 1rem; }
  body .helpal-navbar .nav-guest-auth__group .bi { display: none; }
}
@media (max-width: 991.98px) {
  /* One list: lay every item of both lists out in a single column, in the order a person needs them. */
  body .helpal-navbar .navbar-collapse.show { display: flex; flex-direction: column; align-items: stretch; }
  body .helpal-navbar .navbar-collapse.show > .navbar-nav { display: contents; }
  body .helpal-navbar .nav-mobile-user-item { order: 0; }
  body .helpal-navbar .nav-mobile-dashboard-item { order: 1; }
  body .helpal-navbar .nav-mobile-requests-item { order: 2; }
  body .helpal-navbar .nav-mobile-messages-item { order: 3; }
  body .helpal-navbar .nav-mobile-notifications-item { order: 4; }
  body .helpal-navbar .helpal-navbar__primary > .nav-item { order: 5; }
  body .helpal-navbar .nav-mobile-community-item { order: 6; }
  body .helpal-navbar .nav-mobile-logout-item, body .helpal-navbar .nav-guest-auth { order: 9; }
  body .helpal-navbar .nav-guest-auth__group { flex-direction: column !important; }
  body .helpal-navbar .nav-account-link .nav-account-name { flex: 1; text-align: left; }
  body .helpal-navbar .nav-icon-link__label { font: inherit !important; color: inherit !important; }
}
@media (max-width: 991.98px) {
  body .helpal-navbar .navbar-nav.ms-auto .nav-guest-auth__group a.nav-link.nav-link-login:not(.dropdown-toggle):not(.dropdown-toggle-split) { justify-content: center !important; min-height: 48px; border: 1px solid var(--hp-rule-strong) !important; border-radius: 6px !important; font-family: var(--helpal-font); font-size: 1rem !important; }
}
body.helpal-app-shell .dashboard-container .hp-dash__panel.metric-card-referral { background: transparent; border: 0; padding: 0; }
body .helpal-footer #footerCurrencyMenu { border: 0 !important; background: transparent !important; padding: .25rem 0 !important; }
@media (min-width: 992px) {
  /* Words carry the main navigation; icons stay only where there is no word. */
  body .helpal-navbar .helpal-navbar__primary .nav-link > .bi { display: none; }
  body .helpal-navbar .nav-account-link { border: 0 !important; background: transparent !important; box-shadow: none !important; gap: .5rem; }
  body .helpal-navbar .nav-account-link > .rounded-circle { background: var(--hp-action-soft) !important; color: var(--hp-action) !important; margin-right: 0 !important; }
  body .helpal-navbar .nav-account-name { font-weight: 600; color: var(--hp-ink); }
  body .helpal-navbar .nav-caret-toggle { padding-left: .1rem !important; padding-right: .4rem !important; }
}

/* ------------------------------------------------------------------
   Request history: a plain ruled table with words for actions.
   ------------------------------------------------------------------ */
body.helpal-app-shell .assessment-page--list { max-width: 1180px; margin-inline: auto; background: transparent; }
body.helpal-app-shell .assessment-page--list .assessment-hero { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 1rem 0 0 !important; }
body.helpal-app-shell .assessment-page--list .assessment-hero::before, body.helpal-app-shell .assessment-page--list .assessment-hero::after { display: none !important; }
body.helpal-app-shell .assessment-page--list .assessment-title { font-size: clamp(2rem, 3.4vw, 2.375rem) !important; }
body.helpal-app-shell .assessment-page--list .assessment-subtitle { color: var(--hp-muted); }
body.helpal-app-shell .assessment-page--list .assessment-list-hero-action { background: var(--hp-action) !important; border-color: var(--hp-action) !important; color: #fff !important; box-shadow: none !important; min-height: 48px; display: inline-flex; align-items: center; padding: 0 1.4rem; }
body.helpal-app-shell .assessment-page--list .assessment-list-container { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
body.helpal-app-shell .assessment-page--list .assessment-list-container::before { display: none !important; }
body.helpal-app-shell .assessment-page--list .assessment-list-header { background: transparent !important; border: 0 !important; padding: 1rem 0 .75rem !important; }
body.helpal-app-shell .assessment-page--list .assessment-list-header h2 { font-size: 1.375rem; margin: 0; }
body.helpal-app-shell .assessment-page--list .assessment-list-body { padding: 0 !important; background: transparent !important; }
body.helpal-app-shell .assessment-page--list .table-responsive { border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
body.helpal-app-shell .assessment-page--list .assessment-table { width: 100%; background: transparent; font-size: .9375rem; }
body.helpal-app-shell .assessment-page--list .assessment-table thead th { background: transparent !important; color: var(--hp-muted) !important; font-size: .875rem !important; font-weight: 600 !important; padding: 0 1rem .55rem 0 !important; border-bottom: 1px solid var(--hp-ink) !important; }
body.helpal-app-shell .assessment-page--list .assessment-table tbody td { background: transparent !important; padding: .9rem 1rem .9rem 0 !important; border-bottom: 1px solid var(--hp-rule-soft) !important; vertical-align: top; color: var(--hp-copy); }
body.helpal-app-shell .assessment-page--list .assessment-table tbody tr:hover td { background: transparent !important; }
body.helpal-app-shell .assessment-page--list .assessment-table .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums lining-nums; }
body.helpal-app-shell .assessment-page--list .assessment-link { display: block; font-weight: 600; color: var(--hp-ink); text-decoration: none; }
body.helpal-app-shell .assessment-page--list .assessment-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.assessment-list-meta { display: block; font-size: .875rem; color: var(--hp-muted); }
.assessment-list-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .25rem 1rem; font-size: .9375rem; font-weight: 600; }
.assessment-list-actions a { text-underline-offset: 3px; }
.assessment-list-actions .assessment-list-actions__delete { color: var(--hp-red); }
body .auth-form :is(.form-control, .form-select):focus { border-color: var(--hp-action) !important; outline: none; box-shadow: 0 0 0 1px var(--hp-action), 0 0 0 4px #cfe3ea !important; }
body.helpal-app-shell .assessment-page--list::before, body.helpal-app-shell .assessment-page--list::after { display: none !important; }
body.helpal-app-shell .assessment-page--list .assessment-table tbody tr { background: transparent !important; }
body.helpal-app-shell .assessment-page--list .assessment-list-container, body.helpal-app-shell .assessment-page--list .assessment-list-header { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0; margin-right: 0; }
