/* ==========================================================================
   Vaultibly app: HallRidge family style (cream / ink / indigo, Fraunces + Inter)
   Loaded AFTER the template CSS (and color.php) on:
     - partner/layouts/guest   (body.hr-guest)   partner auth, Become a Partner, /user/register notice
     - partner/layouts/app     (body.hr-partner) logged-in partner workspace
     - presets/default/layouts/frontend + master (body.hr-template) user auth + user dashboard
   Tokens match vaultibly.com (repo vaultibly-landing-page @ 7f4b1ed, app/globals.css).
   Rules: no gradients, no shadows, no pure white, amber only for small marks.
   ========================================================================== */

:root {
  --hr-cream: #F6F3EC;
  --hr-surface: #EFEADF;
  --hr-ink: #0B1220;
  --hr-ink-2: #3A4152;    /* secondary text: 9.2:1 on cream */
  --hr-indigo: #1A365D;
  --hr-amber: #D4A017;
  --hr-rule: #D9D2C3;
  --hr-field-rule: #8A8272; /* input borders: 3.4:1 on cream (non-text UI >= 3:1) */
  --hr-error: #8B1E1E;
  --hr-success: #1F5F3A;
  --hr-serif: "Fraunces", "Newsreader", "EB Garamond", Georgia, serif;
  --hr-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* ---------- Template (FormPilot preset) palette override ---------------- */
body.hr-template {
  --base-h: 215; --base-s: 56%; --base-l: 23%;          /* indigo #1A365D */
  --base-two-h: 220; --base-two-s: 49%; --base-two-l: 8%;
  --primary-h: 215; --primary-s: 56%; --primary-l: 23%;
  --secondary-h: 220; --secondary-s: 49%; --secondary-l: 8%; /* ink #0B1220 */
  --white: 42 36% 95%;          /* cream: template "white" becomes cream */
  --body-bg: 42 36% 95%;
  --body-color: 222 17% 27%;
  --heading-color: 220 49% 8%;
  --border-color: 41 22% 81%;
  --section-bg: 41 33% 91%;
  --box-shadow: none;
  --heading-font: var(--hr-serif);
  --body-font: var(--hr-sans);
}

/* ---------- Shared base --------------------------------------------------- */
body.hr-guest, body.hr-partner, body.hr-template {
  background: var(--hr-cream) !important;
  background-image: none !important;
  color: var(--hr-ink);
  font-family: var(--hr-sans);
  overflow-x: hidden;
}
.hr-guest *, .hr-partner *, .hr-template * { box-shadow: none !important; text-shadow: none !important; }
.hr-guest h1, .hr-guest h2, .hr-guest h3,
.hr-partner h1, .hr-partner h2, .hr-partner h3,
.hr-template h1, .hr-template h2, .hr-template h3, .hr-template h4 {
  font-family: var(--hr-serif); font-weight: 500; letter-spacing: -0.01em; color: var(--hr-ink);
}
.hr-guest a, .hr-partner .content a:not(.btn), .hr-template main a:not(.btn) { color: var(--hr-indigo); }
.hr-guest :focus-visible, .hr-partner :focus-visible, .hr-template :focus-visible {
  outline: 2px solid var(--hr-indigo) !important; outline-offset: 2px;
}
.hr-wordmark {
  font-family: var(--hr-serif); font-weight: 600; font-size: 28px; line-height: 1;
  letter-spacing: -0.01em; color: var(--hr-ink) !important; text-decoration: none !important;
  display: inline-flex; align-items: center; min-height: 44px;
}
.hr-wordmark--light { color: var(--hr-cream) !important; }
.hr-eyebrow {
  display: inline-block; border-left: 2px solid var(--hr-amber); padding-left: 10px;
  font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .16em; color: var(--hr-indigo);
}
.hr-req { color: var(--hr-error); font-weight: 700; margin-left: 2px; }
.hr-opt { color: var(--hr-ink-2); font-weight: 400; }
.hr-note { font-size: .82rem; color: var(--hr-ink-2); margin: 0 0 18px; }

/* ---------- Guest layout (partner auth / Become a Partner) --------------- */
body.hr-guest { padding: 0; display: flex; flex-direction: column; align-items: stretch; min-height: 100vh; }
.hr-guest .hr-topbar {
  border-bottom: 1px solid var(--hr-rule); padding: 10px 24px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
body.hr-guest > .hr-footer { margin: 0; }
.hr-guest .auth-shell { margin: 48px auto 32px; padding: 0 20px; flex: 1 0 auto; }
.hr-guest .auth-shell--wide { --auth-shell-max: 1040px; }
.hr-guest .brand-bar { text-align: left; margin-bottom: 20px; }
.hr-guest .brand-bar .tagline { color: var(--hr-ink-2); font-style: normal; font-size: .9rem; margin-top: 8px; }
.hr-guest .card {
  background: var(--hr-surface); border: 1px solid var(--hr-rule); border-radius: 4px; padding: 32px;
}
.hr-guest .card h1 { font-size: 2rem; line-height: 1.15; margin-bottom: 8px; font-weight: 500; }
.hr-guest .card .sub { color: var(--hr-ink-2); font-size: .95rem; line-height: 1.55; }
.hr-guest label { color: var(--hr-ink); font-size: .85rem; font-weight: 600; }
.hr-guest input[type=email], .hr-guest input[type=password], .hr-guest input[type=text],
.hr-guest input[type=tel], .hr-guest input[type=url], .hr-guest select, .hr-guest textarea {
  background-color: var(--hr-cream); border: 1px solid var(--hr-field-rule); border-radius: 4px;
  min-height: 44px; font-size: 1rem; color: var(--hr-ink);
}
.hr-guest ::placeholder, .hr-partner ::placeholder, .hr-template ::placeholder { color: #6B6555; opacity: 1; }
.hr-guest input:focus, .hr-guest select:focus, .hr-guest textarea:focus {
  border-color: var(--hr-indigo); outline: 2px solid var(--hr-indigo); outline-offset: 0;
}
.hr-guest .btn-primary {
  background: var(--hr-ink); color: var(--hr-cream); border-radius: 4px; min-height: 48px; font-weight: 600;
}
.hr-guest .btn-primary:hover { background: var(--hr-indigo); opacity: 1; }
.hr-guest .meta-link { color: var(--hr-ink-2); }
.hr-guest .meta-link a { color: var(--hr-indigo); text-decoration: underline; text-underline-offset: 2px; }
.hr-guest .footer-tagline { color: var(--hr-ink-2); font-style: normal; }
.hr-guest #pwToggle { min-width: 44px; min-height: 44px; justify-content: center; right: 0 !important; color: var(--hr-ink-2) !important; }
.hr-guest input[type=checkbox] { width: 18px !important; height: 18px; accent-color: var(--hr-indigo); }

/* Become a Partner: two-column with trust panel */
.hr-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 0; }
.hr-split__aside { padding: 8px 36px 8px 0; border-right: 1px solid var(--hr-rule); }
.hr-split__aside .hr-mark { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--hr-rule); }
.hr-split__aside .hr-mark p { font-family: var(--hr-serif); font-size: 1.15rem; line-height: 1.4; color: var(--hr-ink); margin-bottom: 6px; }
.hr-split__aside .hr-mark small { font-size: .85rem; color: var(--hr-ink-2); }
.hr-split__form { padding: 8px 0 8px 36px; min-width: 0; }
.hr-fieldset { border: 0; margin: 0 0 8px; padding: 0; min-width: 0; }
.hr-fieldset legend { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .14em; color: var(--hr-indigo); margin-bottom: 12px; padding: 0; }
@media (max-width: 860px) {
  .hr-split { grid-template-columns: 1fr; }
  .hr-split__aside { padding: 0 0 20px; border-right: 0; border-bottom: 1px solid var(--hr-rule); }
  .hr-split__aside .hr-mark { display: none; }
  .hr-split__form { padding: 20px 0 0; }
}

/* Alerts (all layouts): text + rule, never colour alone */
.hr-guest .alert, .hr-partner .alert { border-radius: 4px; border: 1px solid var(--hr-rule); border-left-width: 4px; background: var(--hr-cream); color: var(--hr-ink); }
.hr-guest .alert-error, .hr-partner .alert-error { border-left-color: var(--hr-error); color: var(--hr-error); }
.hr-guest .alert-success, .hr-partner .alert-success { border-left-color: var(--hr-success); color: var(--hr-success); }

@media (max-width: 600px) {
  .hr-guest .auth-shell { margin-top: 24px; padding: 0 16px; }
  .hr-guest .card { padding: 22px 18px; }
  .hr-guest .card h1 { font-size: 1.6rem; }
  .hr-guest .hr-topbar { padding: 6px 16px; }
}

/* ---------- Partner workspace (logged in) ------------------------------- */
body.hr-partner { --accent: var(--hr-indigo); --ink: var(--hr-ink); --muted: var(--hr-ink-2); --line: var(--hr-rule); --bg: var(--hr-cream); }
.hr-partner .sidebar { background: var(--hr-ink); background-image: none; color: #D9D2C3; border-right: 1px solid var(--hr-ink); }
.hr-partner .sidebar .brand { color: var(--hr-cream); font-family: var(--hr-serif); font-weight: 500; font-size: 1.1rem; }
.hr-partner .sidebar .tagline, .hr-partner .sidebar-footer, .hr-partner .sidebar .nav-section,
.hr-partner .sidebar .platform-logo .powered { color: #B9B2A3; }
.hr-partner .sidebar nav a { color: #E6E0D2; border-radius: 4px; min-height: 44px; border-left: 2px solid transparent; }
.hr-partner .sidebar nav a:hover { background: rgba(246, 243, 236, .08); color: var(--hr-cream); }
.hr-partner .sidebar nav a.active { background: rgba(246, 243, 236, .12); color: var(--hr-cream); border-left-color: var(--hr-amber); }
.hr-partner .sidebar :focus-visible { outline-color: var(--hr-cream) !important; }
.hr-partner .sidebar-footer a { background: var(--hr-indigo) !important; border-radius: 4px !important; }
.hr-partner .sidebar-overlay { background: rgba(11, 18, 32, .6); backdrop-filter: none; }
.hr-partner .topbar { background: var(--hr-cream); border-bottom: 1px solid var(--hr-rule); }
.hr-partner .topbar h1 { font-size: 1.35rem; font-weight: 500; }
.hr-partner .topbar .logout-btn, .hr-partner .hamburger-btn {
  background: transparent; border: 1px solid var(--hr-ink); color: var(--hr-ink); border-radius: 4px; min-height: 44px; min-width: 44px;
}
.hr-partner .topbar .logout-btn:hover { background: var(--hr-ink); color: var(--hr-cream); }
.hr-partner .card, .hr-partner .stat-card {
  background: var(--hr-surface) !important; background-image: none !important;
  border: 1px solid var(--hr-rule) !important; border-radius: 4px !important;
}
.hr-partner .card h2 { font-size: 1.2rem; font-weight: 500; }
.hr-partner .stat-card .value { font-family: var(--hr-serif); font-weight: 500; }
.hr-partner .stat-card .accent { color: var(--hr-indigo); }
.hr-partner label { color: var(--hr-ink); font-size: .85rem; }
.hr-partner input[type=text], .hr-partner input[type=email], .hr-partner input[type=url], .hr-partner input[type=password],
.hr-partner input[type=number], .hr-partner input[type=tel], .hr-partner input[type=date], .hr-partner select, .hr-partner textarea {
  background-color: var(--hr-cream); border: 1px solid var(--hr-field-rule); border-radius: 4px; min-height: 44px; color: var(--hr-ink);
}
.hr-partner input:focus, .hr-partner select:focus, .hr-partner textarea:focus { border-color: var(--hr-indigo); outline: 2px solid var(--hr-indigo); outline-offset: 0; }
.hr-partner .btn { border-radius: 4px; min-height: 44px; }
.hr-partner .btn-primary { background: var(--hr-ink) !important; color: var(--hr-cream) !important; border-color: var(--hr-ink) !important; }
.hr-partner .btn-primary:hover { background: var(--hr-indigo) !important; opacity: 1; }
.hr-partner .btn-secondary { background: transparent !important; color: var(--hr-ink) !important; border-color: var(--hr-ink) !important; }
.hr-partner .btn-secondary:hover { background: var(--hr-ink) !important; color: var(--hr-cream) !important; }
.hr-partner .btn-danger { background: transparent; color: var(--hr-error); border-color: var(--hr-error); }
.hr-partner .btn-danger:hover { background: var(--hr-error); color: var(--hr-cream); }
.hr-partner table.data th { background: var(--hr-cream); color: var(--hr-ink-2); }
.hr-partner table.data th, .hr-partner table.data td { border-bottom-color: var(--hr-rule); }
.hr-partner .pill { border-radius: 2px; background: var(--hr-cream); color: var(--hr-ink); border: 1px solid var(--hr-rule); }
.hr-partner .pill.green { color: var(--hr-success); border-color: var(--hr-success); background: var(--hr-cream); }
.hr-partner .pill.red { color: var(--hr-error); border-color: var(--hr-error); background: var(--hr-cream); }
.hr-partner .pill.amber { color: #6B4E00; border-color: var(--hr-amber); background: var(--hr-cream); }
.hr-partner .pill.blue, .hr-partner .pill.gray { color: var(--hr-indigo); border-color: var(--hr-rule); background: var(--hr-cream); }
.hr-partner .empty { background: var(--hr-cream); border-color: var(--hr-rule); color: var(--hr-ink-2); border-radius: 4px; }
.hr-partner .footer-tagline { color: var(--hr-ink-2); font-style: normal; }
/* Inline-styled widgets in partner views (premium banner, cost guardian, etc.):
   neutralise bright-blue/white inline backgrounds without editing every view. */
.hr-partner .content [style*="linear-gradient"] { background: var(--hr-surface) !important; border-color: var(--hr-rule) !important; }
.hr-partner .content [style*="background:#fff"], .hr-partner .content [style*="background: #fff"],
.hr-partner .content [style*="background:#ffffff"], .hr-partner .content [style*="background: white"] { background: var(--hr-surface) !important; }
.hr-partner .content [style*="#1FA8FF"], .hr-partner .content [style*="#1fa8ff"] { color: var(--hr-indigo) !important; }

/* ---------- Template: user auth pages ----------------------------------- */
.hr-template .account { background: var(--hr-cream) !important; background-image: none !important; }
.hr-template .account__shape { display: none !important; }
.hr-template .account__inner { background: var(--hr-cream); }
.hr-template .account__left {
  background: var(--hr-ink) !important; background-image: none !important;
}
.hr-template .account__left::before, .hr-template .account__left::after { display: none !important; }
.hr-template .account__left-title { color: var(--hr-cream) !important; font-family: var(--hr-serif); font-weight: 500; }
.hr-template .account__form-wrap { background: var(--hr-cream) !important; background-image: none !important; }
.hr-template .account__subtitle {
  font-family: var(--hr-sans) !important; font-size: 12px !important; font-weight: 600; text-transform: uppercase;
  letter-spacing: .16em !important; color: var(--hr-indigo) !important; border-left: 2px solid var(--hr-amber); padding-left: 10px;
}
.hr-template .account__title { color: var(--hr-ink) !important; font-family: var(--hr-serif) !important; font-weight: 500 !important; }
.hr-template .account__desc, .hr-template .account__already { color: var(--hr-ink-2) !important; }
.hr-template .hr-label { display: block; font-size: .85rem; font-weight: 600; color: var(--hr-ink); margin-bottom: 6px; }

/* ---------- Template: forms, buttons, links ----------------------------- */
.hr-template .form--control, .hr-template .form-control, .hr-template .form-select, .hr-template select {
  background-color: var(--hr-cream) !important; border: 1px solid var(--hr-field-rule) !important;
  border-radius: 4px !important; min-height: 44px; color: var(--hr-ink) !important; font-size: 1rem;
}
.hr-template .form--control:focus, .hr-template .form-control:focus, .hr-template .form-select:focus {
  border-color: var(--hr-indigo) !important; outline: 2px solid var(--hr-indigo) !important; outline-offset: 0;
}
.hr-template .btn--base, .hr-template .btn-primary, .hr-template .btn--primary {
  background: var(--hr-ink) !important; background-image: none !important; color: var(--hr-cream) !important;
  border: 1px solid var(--hr-ink) !important; border-radius: 4px !important; min-height: 44px; font-weight: 600;
}
.hr-template .btn--base:hover, .hr-template .btn-primary:hover, .hr-template .btn--primary:hover { background: var(--hr-indigo) !important; border-color: var(--hr-indigo) !important; }
.hr-template .btn--base::before, .hr-template .btn--base::after { display: none !important; }
.hr-template .text--base, .hr-template .btn--unstyle.text--base { color: var(--hr-indigo) !important; text-decoration: underline; text-underline-offset: 2px; }
.hr-template .form-check-input { width: 18px; height: 18px; border-color: var(--hr-field-rule); background-color: var(--hr-cream); }
.hr-template .form-check-input:checked { background-color: var(--hr-indigo); border-color: var(--hr-indigo); }
.hr-template .password-show-hide { color: var(--hr-ink-2) !important; min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; }
.hr-template .is-invalid, .hr-template .invalid-feedback, .hr-template .text-danger { border-color: var(--hr-error) !important; color: var(--hr-error) !important; }

/* ---------- Template: user dashboard shell ------------------------------- */
.hr-template .dashboard { background: var(--hr-cream); }
.hr-template .dashboard__sidebar { background: var(--hr-ink) !important; background-image: none !important; }
.hr-template .dashboard__sidebar a, .hr-template .dashboard__sidebar .dashboard__menu a { color: #E6E0D2 !important; min-height: 44px; }
.hr-template .dashboard__sidebar .active > a, .hr-template .dashboard__sidebar a.active,
.hr-template .dashboard__sidebar .dashboard__menu .active a {
  background: rgba(246, 243, 236, .12) !important; color: var(--hr-cream) !important; border-left: 2px solid var(--hr-amber);
}
.hr-template .dashboard__sidebar a::before, .hr-template .dashboard__sidebar li::before { background: var(--hr-amber) !important; }
.hr-template .dashboard__sidebar :focus-visible { outline-color: var(--hr-cream) !important; }
.hr-template .dashboard__logo { min-height: 44px; display: flex; align-items: center; }
.hr-template .dashboard__header { background: var(--hr-cream) !important; border-bottom: 1px solid var(--hr-rule); }
.hr-template .dashboard__header h1, .hr-template .dashboard__header h2, .hr-template .dashboard__header h3,
.hr-template .dashboard__header h4 { color: var(--hr-ink) !important; font-family: var(--hr-serif) !important; font-weight: 500 !important; }
.hr-template .notification__btn { background: var(--hr-surface) !important; color: var(--hr-ink) !important; border: 1px solid var(--hr-rule); min-width: 44px; min-height: 44px; border-radius: 4px !important; }
.hr-template .dashboard-widgets, .hr-template .card, .hr-template .profile__wrap, .hr-template .dashboard__table,
.hr-template .dropdown-menu, .hr-template .notification__wrap, .hr-template .modal-content {
  background: var(--hr-surface) !important; background-image: none !important;
  border: 1px solid var(--hr-rule) !important; border-radius: 4px !important;
}
.hr-template .dashboard-widgets__shape { display: none !important; }
.hr-template .dashboard-widgets__title { color: var(--hr-ink-2) !important; }
.hr-template .dashboard-widgets__amount { color: var(--hr-ink) !important; font-family: var(--hr-serif); font-weight: 500 !important; }
.hr-template .badge.bg-primary-subtle { background: var(--hr-cream) !important; color: var(--hr-indigo) !important; border: 1px solid var(--hr-rule); border-left: 2px solid var(--hr-amber); border-radius: 2px; }
.hr-template .table, .hr-template table { --bs-table-bg: transparent; color: var(--hr-ink); }
.hr-template .table thead th, .hr-template table th { background: var(--hr-cream) !important; color: var(--hr-ink-2) !important; border-bottom: 1px solid var(--hr-rule) !important; }
.hr-template .table td { border-bottom: 1px solid var(--hr-rule) !important; background: transparent !important; }
.hr-template .alert { border-radius: 4px; border: 1px solid var(--hr-rule); border-left-width: 4px; background: var(--hr-cream); color: var(--hr-ink); }
.hr-template .alert-danger { border-left-color: var(--hr-error); color: var(--hr-error); }
.hr-template .alert-success { border-left-color: var(--hr-success); color: var(--hr-success); }
.hr-template .text-muted { color: var(--hr-ink-2) !important; }

/* ---------- Cookie banner (all template layouts) ------------------------- */
.hr-template .cookies-card, .cookies-card {
  background: var(--hr-surface) !important; color: var(--hr-ink) !important;
  border: 1px solid var(--hr-ink) !important; border-radius: 4px !important;
}
.cookies-card .cookies-card__content { color: var(--hr-ink) !important; }
.cookies-card .text--base { color: var(--hr-indigo) !important; text-decoration: underline; }
.cookies-card .btn--base { min-height: 44px; display: inline-flex !important; align-items: center; padding: 0 20px !important; }
@media (max-width: 575px) {
  .cookies-card .btn--base { margin: 10px 0 0 !important; display: flex !important; justify-content: center; width: 100%; }
}

/* Partner dashboard: Cost Guardian widget (state colours are inline; keep the
   state in the border + text label, but force AA text colours) */
.hr-partner .cg-state-badge { background: var(--hr-cream) !important; color: var(--hr-ink) !important; border-radius: 2px !important; }
.hr-partner .cg-spend-pct { color: var(--hr-ink) !important; }
.hr-partner .cg-spend-amount, .hr-partner .cg-modal-tile-value { color: var(--hr-ink); font-family: var(--hr-serif); font-weight: 500; }
.hr-partner .cg-spend-sub, .hr-partner .cg-modal-tile-label { color: var(--hr-ink-2); }
.hr-partner .cg-divider { background: var(--hr-rule); }
.hr-partner .cg-progress { background: var(--hr-cream); border: 1px solid var(--hr-rule); border-radius: 2px; }
.hr-partner .cg-progress-fill { border-radius: 0; }
.hr-partner .sidebar .sidebar-close { background: transparent; border-color: rgba(246, 243, 236, .4); color: var(--hr-cream); width: 44px; height: 44px; border-radius: 4px; }
/* Text links inside forms: give them a 44px hit area without changing layout */
.hr-guest a[href*="password"], .hr-template a[href*="password"] { display: inline-flex; align-items: center; min-height: 44px; }

/* ==========================================================================
   Pass 2 (2026-10-11)
   ========================================================================== */
:root {
  --hr-success-bg: #E4EDE3; --hr-warning-bg: #F4E8C1; --hr-error-bg: #F3E1DE; --hr-info-bg: #E4E8EF;
}
/* Semantic status: alerts */
.hr-guest .alert, .hr-partner .alert, .hr-template .alert { border-left-width: 4px; }
.hr-guest .alert-success, .hr-partner .alert-success, .hr-template .alert-success { background: var(--hr-success-bg) !important; color: var(--hr-success) !important; border-color: var(--hr-success) !important; }
.hr-guest .alert-error, .hr-partner .alert-error, .hr-template .alert-danger { background: var(--hr-error-bg) !important; color: var(--hr-error) !important; border-color: var(--hr-error) !important; }
.hr-partner .alert-warning, .hr-template .alert-warning { background: var(--hr-warning-bg) !important; color: var(--hr-ink) !important; border-color: var(--hr-amber) !important; }
.hr-partner .alert-info, .hr-template .alert-info { background: var(--hr-info-bg) !important; color: var(--hr-indigo) !important; border-color: var(--hr-indigo) !important; }
/* Semantic status: pills */
.hr-partner .pill { border-radius: 2px; }
.hr-partner .pill.green { color: var(--hr-success); background: var(--hr-success-bg); border-color: var(--hr-success); }
.hr-partner .pill.red { color: var(--hr-error); background: var(--hr-error-bg); border-color: var(--hr-error); }
.hr-partner .pill.amber { color: var(--hr-ink); background: var(--hr-warning-bg); border-color: var(--hr-amber); }
.hr-partner .pill.blue { color: var(--hr-indigo); background: var(--hr-info-bg); border-color: var(--hr-indigo); }
.hr-partner .pill.gray { color: var(--hr-ink-2); background: var(--hr-surface); border-color: var(--hr-rule); }
/* Progress bars: indigo */
.hr-partner .cg-progress-fill, .hr-partner .progress-bar, .hr-template .progress-bar, .hr-partner [class*="progress-fill"], .hr-partner [class*="progress-bar"] { background: var(--hr-indigo) !important; background-image: none !important; }
.hr-partner .progress, .hr-template .progress { background: var(--hr-cream) !important; border: 1px solid var(--hr-rule); border-radius: 2px; }
/* Cards / surfaces: no white, square-ish radius, hairline */
.hr-partner .content > .card, .hr-partner .content .card { background: var(--hr-surface); border: 1px solid var(--hr-rule); border-radius: 4px; }
.hr-partner .content [style*="border-radius:16px"], .hr-partner .content [style*="border-radius: 16px"],
.hr-partner .content [style*="border-radius:18px"], .hr-partner .content [style*="border-radius:14px"] { border-radius: 4px !important; }
.hr-partner .content [style*="gradient"], .hr-template [style*="gradient"] { background-image: none !important; }
.hr-partner .modal, .hr-partner [class*="modal"] [class*="panel"], .hr-partner [class*="modal-box"] { background-color: var(--hr-cream); }
/* Partner app footer: full width under the content column */
.hr-partner .main > .hr-footer { margin-top: 24px; }
.hr-partner .footer-tagline { display: none; }

/* User dashboard sidebar: remove leftover template dot on active item */
.hr-template .dashboard__sidebar a::before, .hr-template .dashboard__sidebar li::before,
.hr-template .dashboard__sidebar a::after, .hr-template .dashboard__sidebar li::after,
.hr-template .sidebar-menu-list__item.active > a::before, .hr-template .sidebar-menu-list__link::before { display: none !important; content: none !important; }

/* Cookie banner: compact bottom bar, ink background, cream text, never covers content on mobile */
.cookies-card, .hr-template .cookies-card {
  position: fixed !important; left: 0 !important; right: 0 !important; bottom: 0 !important; top: auto !important;
  width: 100% !important; max-width: none !important; margin: 0 !important; transform: none !important;
  background: var(--hr-ink) !important; color: var(--hr-cream) !important; border: 0 !important; border-top: 2px solid var(--hr-amber) !important;
  border-radius: 0 !important; padding: 10px 16px !important; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 16px;
  font-size: 13px !important; line-height: 1.5; z-index: 9999;
}
.cookies-card.hide, .cookies-card.d-none { display: none !important; }
.cookies-card .cookies-card__icon { display: none !important; }
.cookies-card .cookies-card__content, .cookies-card p { color: var(--hr-cream) !important; margin: 0 !important; font-size: 13px !important; }
.cookies-card .text--base, .cookies-card a:not(.btn--base) { color: var(--hr-cream) !important; text-decoration: underline; }
.cookies-card .cookies-card__btn, .cookies-card .cookies-card__btn a { margin: 0 !important; }
.cookies-card .btn--base { background: var(--hr-cream) !important; color: var(--hr-ink) !important; border: 1px solid var(--hr-cream) !important; min-height: 44px; padding: 0 18px !important; width: auto !important; }
@media (max-width: 575px) {
  .cookies-card { justify-content: space-between; }
  .cookies-card .cookies-card__content { flex: 1 1 60%; }
  .cookies-card .btn--base { margin: 0 !important; width: auto !important; display: inline-flex !important; }
}

/* Initials avatar (replaces the 350x300 placeholder) */
.hr-avatar { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--hr-info-bg); color: var(--hr-indigo); font-family: var(--hr-sans); font-weight: 600; text-transform: uppercase; line-height: 1; }
/* Field hints / error linkage */
.hr-hint { display: block; font-size: .82rem; color: var(--hr-ink-2); margin-top: 6px; }
.cookies-card .cookies-card__content { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 14px; text-align: left; }
.cookies-card .cookies-card__content .btn--base { margin-left: 0 !important; }
body:has(.cookies-card:not(.hide):not(.d-none)) { padding-bottom: 76px; }
@media (max-width: 575px) { body:has(.cookies-card:not(.hide):not(.d-none)) { padding-bottom: 112px; } }
.hr-field-error { display: block; font-size: .82rem; font-weight: 600; color: var(--hr-error) !important; margin-top: 6px; }
.hr-guest [aria-invalid="true"], .hr-template [aria-invalid="true"] { border-color: var(--hr-error) !important; }
/* No horizontal page scroll at 390: wide tables scroll inside their card */
.hr-partner .main, .hr-partner .content { min-width: 0; }
.hr-partner .content :is(.card, div):has(> table), .hr-partner .content .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
@media (max-width: 720px) {
  .hr-partner .content [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .hr-partner .content [style*="display:flex"], .hr-partner .content [style*="display: flex"] { flex-wrap: wrap; }
  .hr-partner .content pre, .hr-partner .content code { white-space: pre-wrap; word-break: break-word; }
}
.hr-partner .pw-toggle { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.hr-partner input[type=color] { min-height: 44px; }
