/* ==============================================================
   Engraced Tech — Brand Layer (RED)
   ------------------------------------------------------------------
   Single source of truth for the Engraced Tech look & feel.
   Load AFTER assets/css/main.css on every page.
   Palette: deep red #A61B1B / bright red #FF5A5A / blush #FFE9E9.
   ============================================================== */

/* ---------- 1. Palette (single source of truth) ---------- */
:root,
:root body,
:root body.help-desk,
:root body.inner-page,
:root .automation-saas,
:root .help-desk {
  --color-primary: #A61B1B !important;
  --color-secondary: #FF5A5A !important;
  --color-heading: #A61B1B !important;
  --color-default: #7A4A4A !important;
  --eg-red-main: #A61B1B;
  --eg-red-deep: #6E1414;
  --eg-red-600: #b91c1c;
  --eg-red-500: #dc2626;
  --eg-blush: #FFE9E9;
  --eg-flame: #FF5A5A;
  --eg-muted: #7A4A4A;
  --eg-red: #E74C3C;
  --eg-radius: 20px;
  --eg-shadow: 0px 10px 40px 0px rgba(0, 0, 0, 0.05);
  --eg-shadow-hover: 0px 22px 60px 0px rgba(166, 27, 27, 0.14);
  --eg-shadow-card: 0 1px 2px rgba(60, 20, 20, 0.04), 0 18px 44px -14px rgba(60, 20, 20, 0.16);
  --eg-shadow-btn: 0 6px 16px rgba(166, 27, 27, 0.22);
  --eg-line: #f0e0e0;
  --eg-tile-bg: #fffdfd;
}

/* ---------- 2. Preloader (identical on every page) ---------- */
.xb-loader {
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
#preloader.preloader-hidden,
.xb-loader.preloader-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  display: none !important;
  z-index: -9999 !important;
}
.xb-loader .xb-loader-logo {
  width: 170px;
  margin-bottom: 18px;
}
.xb-loader .xb-loader-logo img {
  width: 100%;
  height: auto;
  display: block;
  animation: loaderLogoZoom 1.5s infinite alternate ease-in-out;
}

/* ---------- 3. Breadcrumb hero (inner pages) ---------- */
.breadcrumb--title {
  color: var(--color-heading);
}
.breadcrumb::before {
  background: linear-gradient(180deg, rgba(166, 27, 27, 0.14) 0%, rgba(255, 255, 255, 0) 100%);
}
/* Purple decorative shapes -> brand red */
.breadcrumb-shape img {
  filter: hue-rotate(108deg);
}
/* Extra top padding: pushes the hero down so nothing touches the sections above */
.eg-breadcrumb--tall {
  padding-top: 265px;
}
@media (max-width: 1199px) {
  .eg-breadcrumb--tall {
    padding-top: 235px;
  }
}
@media (max-width: 767px) {
  .eg-breadcrumb--tall {
    padding-top: 190px;
  }
}
/* Two-line big headline support: "Introducing" / "Engraced Tech" */
.eg-headline-line {
  display: block;
}
.eg-headline-line:first-child {
  margin-bottom: 6px;
}

/* ---------- 4. Buttons: force the hero look everywhere ---------- */
.thm-btn--gradient2 {
  background: transparent;
}
.thm-btn--gradient2::before {
  background: var(--color-white);
}
.thm-btn--gradient2::after {
  background-color: var(--eg-red-main);
}
.thm-btn--gradient2 .inner {
  gap: 10px;
}
.thm-btn--gradient2 .inner .text {
  color: var(--color-white);
  text-shadow: 0 1.3em var(--color-white);
}

/* ---------- 5. Generic content card (landing dashboard look) ---------- */
.eg-card {
  position: relative;
  background: #ffffff;
  border-radius: var(--eg-radius);
  box-shadow: var(--eg-shadow);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.eg-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--eg-shadow-hover);
}
.eg-card--inner {
  padding: 45px 40px;
}
@media (max-width: 767px) {
  .eg-card--inner {
    padding: 32px 22px;
  }
}
.eg-card--title {
  color: var(--eg-red-main);
  font-size: 28px;
  line-height: 1.35;
  letter-spacing: -0.02em;
  margin-bottom: 26px;
  padding-bottom: 15px;
  border-bottom: 2px solid var(--eg-blush);
}
.eg-card--lead {
  font-size: 18px;
  line-height: 1.8;
  color: var(--eg-muted);
  margin-bottom: 18px;
}
.eg-card--lead:last-child {
  margin-bottom: 0;
}
.eg-card--lead strong {
  color: var(--eg-red-main);
}
.eg-card--accent {
  display: block;
  font-size: 18px;
  line-height: 1.8;
  font-weight: 600;
  color: var(--eg-red-main);
}
.eg-card--quote {
  display: block;
  margin: 24px 0 0;
  padding: 18px 22px;
  border-left: 3px solid var(--eg-red-main);
  border-radius: 0 14px 14px 0;
  background: rgba(166, 27, 27, 0.05);
  font-size: 17px;
  line-height: 1.75;
  color: var(--eg-muted);
  font-style: italic;
}

/* ---------- 6. Checked list ---------- */
.eg-check-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.eg-check-list li {
  position: relative;
  padding-left: 30px;
  font-size: 17px;
  line-height: 1.7;
  color: var(--eg-muted);
  margin-bottom: 10px;
}
.eg-check-list li:last-child {
  margin-bottom: 0;
}
.eg-check-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: var(--eg-flame);
}
.eg-check-list li::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 9px;
  width: 6px;
  height: 10px;
  border: solid var(--eg-red-main);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.eg-check-list--small li {
  font-size: 15.5px;
  line-height: 1.65;
  margin-bottom: 8px;
}
.eg-check-list--small li::before {
  top: 4px;
  width: 17px;
  height: 17px;
}
.eg-check-list--small li::after {
  left: 5px;
  top: 7px;
  width: 5px;
  height: 9px;
}

/* ---------- 7. Eyebrow chip (section label) ---------- */
.eg-eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 9px 18px;
  border-radius: 100px;
  background: rgba(166, 27, 27, 0.08);
  color: var(--eg-red-main);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.eg-eyebrow--solid {
  background: var(--eg-red-main);
  color: #ffffff;
}

/* ---------- 8. Feature card (package "what's inside") ---------- */
.eg-feature-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #ffffff;
  border: 1px solid rgba(166, 27, 27, 0.08);
  border-radius: var(--eg-radius);
  padding: 34px 30px;
  box-shadow: var(--eg-shadow);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.eg-feature-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--eg-shadow-hover);
  border-color: rgba(166, 27, 27, 0.25);
}
.eg-feature-card--icon {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--eg-blush);
  margin-bottom: 20px;
}
.eg-feature-card--icon img {
  max-width: 30px;
  max-height: 30px;
}
.eg-feature-card--title {
  font-size: 21px;
  line-height: 1.4;
  font-weight: 700;
  color: var(--eg-red-main);
  margin-bottom: 14px;
}
.eg-feature-card--list {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}
.eg-feature-card--list li {
  position: relative;
  padding-left: 22px;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--eg-muted);
  margin-bottom: 7px;
}
.eg-feature-card--list li:last-child {
  margin-bottom: 0;
}
.eg-feature-card--list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: rgba(166, 27, 27, 0.12);
}
.eg-feature-card--list li::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 7px;
  width: 5px;
  height: 8px;
  border: solid var(--eg-red-main);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.eg-feature-card--why {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px dashed rgba(166, 27, 27, 0.18);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--eg-muted);
}
.eg-feature-card--why strong {
  color: var(--eg-red-main);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ---------- 9. Pricing card ---------- */
.eg-pricing-card {
  position: relative;
  text-align: center;
  background: #ffffff;
  border: 3px solid var(--eg-red-main);
  border-radius: var(--eg-radius);
  box-shadow: 0 20px 50px rgba(166, 27, 27, 0.12);
  padding: 55px 45px 50px;
}
@media (max-width: 575px) {
  .eg-pricing-card {
    padding: 45px 22px 40px;
  }
}
.eg-price--regular {
  display: block;
  font-size: 19px;
  color: var(--eg-red);
  text-decoration: line-through;
}
.eg-price--early {
  display: inline-block;
  margin: 14px 0 18px;
  font-size: 44px;
  line-height: 1.1;
  font-weight: 800;
  color: var(--eg-red-main);
  background: var(--eg-blush);
  padding: 12px 28px;
  border-radius: 14px;
}
.eg-price--save {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  color: #ffffff;
  background: var(--eg-red);
  border-radius: 100px;
  padding: 7px 16px;
  vertical-align: middle;
  margin-left: 10px;
}
.eg-note {
  font-size: 15px;
  line-height: 1.7;
  color: var(--eg-muted);
}

/* ---------- 9b. Payment panel ---------- */
.eg-pay-wrap {
  margin-top: 34px;
}
.eg-pay-countdown {
  background: var(--eg-blush);
  border: 1.5px dashed var(--eg-red-main);
  border-radius: var(--eg-radius);
  padding: 16px 18px;
  margin-bottom: 24px;
}
.eg-pay-countdown--label {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--eg-red);
}
.eg-pay-countdown--time {
  font-size: 30px;
  font-weight: 800;
  color: var(--eg-red-main);
  margin: 6px 0 10px;
  font-variant-numeric: tabular-nums;
}
.eg-pay-countdown--spots .spots-pill {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 700;
  color: #ffffff;
  background: var(--eg-red);
  border-radius: 100px;
  padding: 5px 14px;
}
.eg-pay-form {
  text-align: left;
}
.eg-pay-form--grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 479px) {
  .eg-pay-form--grid {
    grid-template-columns: 1fr;
  }
}
.eg-pay-form--label {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--eg-muted);
  margin-bottom: 7px;
}
.eg-pay-btn {
  width: 100%;
  margin-top: 20px;
  border: none;
  cursor: pointer;
  justify-content: center;
}
.eg-pay-btn:disabled {
  opacity: 0.7;
  cursor: wait;
}
.eg-pay-error {
  margin-top: 12px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--eg-red);
  background: var(--eg-blush);
  border: 1px solid var(--eg-red-main);
  border-radius: 10px;
  padding: 10px 14px;
  text-align: center;
}
.eg-pay-form--foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 22px;
  margin-top: 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--eg-muted);
}
.eg-pay-form--foot i {
  color: var(--eg-red);
  margin-right: 5px;
}
.eg-pay-mock {
  margin-top: 14px;
  font-size: 12.5px;
  font-weight: 600;
  color: #8a6d00;
  background: #fff7db;
  border: 1px dashed #e0c25a;
  border-radius: 10px;
  padding: 9px 13px;
  text-align: center;
}

/* ---------- 10. Compare cards ---------- */
.eg-compare-card {
  height: 100%;
  background: #f8f9fa;
  border: 1px solid transparent;
  border-radius: 15px;
  padding: 30px 26px;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.eg-compare-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--eg-shadow);
}
.eg-compare-card--best {
  background: var(--eg-blush);
  border: 2px solid var(--eg-red-main);
  box-shadow: var(--eg-shadow);
}
.eg-compare-card--title {
  font-size: 20px;
  font-weight: 700;
  color: var(--eg-red-main);
  margin-bottom: 14px;
}
.eg-compare-card--title small {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--eg-muted);
  opacity: 0.85;
  margin-top: 6px;
}
.eg-compare-card--text {
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--eg-muted);
}
.eg-compare-card .eg-check-list--small {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed rgba(166, 27, 27, 0.18);
}

/* ---------- 11. Info card (timeline / trust / value points) ---------- */
.eg-info-card {
  height: 100%;
  background: #ffffff;
  border-radius: 15px;
  box-shadow: var(--eg-shadow);
  padding: 34px 30px;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.eg-info-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--eg-shadow-hover);
}
.eg-info-card--icon {
  width: 54px;
  height: 54px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--eg-blush);
  margin-bottom: 18px;
}
.eg-info-card--icon img {
  max-width: 28px;
  max-height: 28px;
}
.eg-info-card--title {
  font-size: 22px;
  font-weight: 700;
  color: var(--eg-red-main);
  margin-bottom: 12px;
}
.eg-info-card--text {
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--eg-muted);
}

/* ---------- 12. Contact form fields ---------- */
.eg-input,
input.eg-input,
textarea.eg-input {
  width: 100% !important;
  box-sizing: border-box !important;
  height: 48px !important;
  min-height: 48px !important;
  border: 1.5px solid #fedcd8 !important;
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  font-size: 14.5px !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  color: #3a2323 !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

textarea.eg-input {
  height: auto !important;
  min-height: 120px !important;
  resize: vertical !important;
  line-height: 1.5 !important;
}

.eg-input:focus,
input.eg-input:focus,
textarea.eg-input:focus {
  outline: none !important;
  border-color: var(--eg-red-main, #A61B1B) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(166, 27, 27, 0.14) !important;
}

.eg-input::placeholder,
textarea.eg-input::placeholder {
  color: #b99c9c !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

/* ---------- 12b. Closing tagline (sales page ending) ---------- */
.eg-closing--title {
  font-size: 34px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--eg-red-main);
}
.eg-closing--sub {
  font-size: 19px;
  line-height: 1.6;
  color: var(--eg-muted);
}
@media (max-width: 767px) {
  .eg-closing--title {
    font-size: 26px;
  }
  .eg-closing--sub {
    font-size: 16px;
  }
}

/* ---------- 13. About page: Satik components re-skinned ---------- */
/* Group section (team + gallery): template gradient -> brand blush */
.ab-group-section {
  background: linear-gradient(179deg, #ffffff 0%, var(--eg-blush) 100%);
}
/* Stat cards */
.xb-card-item .xb-item--inner {
  background: var(--eg-red-main);
  color: #ffffff;
}
.xb-card-item .xb-item--inner .xb-item--number,
.xb-card-item .xb-item--inner .xb-item--text,
.xb-card-item .xb-item--inner .xb-item--content {
  color: #ffffff;
}
.xb-card-item .xb-item--inner .xb-item--content {
  font-weight: 500;
  opacity: 0.88;
}
.xb-card-item .xb-item--inner.bg-pink {
  background: var(--eg-blush) !important;
}
.xb-card-item .xb-item--inner.bg-pink .xb-item--number,
.xb-card-item .xb-item--inner.bg-pink .xb-item--text,
.xb-card-item .xb-item--inner.bg-pink .xb-item--content {
  color: var(--color-heading);
  opacity: 1;
}
.xb-card-item .xb-item--inner.bg-pink .xb-item--number {
  color: var(--eg-red);
}
/* Brand strip on about */
.ab-brand-top .text {
  color: var(--color-heading);
}

/* ---------- 14. Accessibility & polish ---------- */
a,
button,
input,
textarea,
select {
  -webkit-tap-highlight-color: rgba(166, 27, 27, 0.12);
}
:focus-visible {
  outline: 3px solid rgba(166, 27, 27, 0.45);
  outline-offset: 2px;
}

/* ---------- 15. Pricing table: brand red, never template blue ---------- */
.xb-pricing-table tr th:nth-child(2),
.xb-pricing-table tr td:nth-child(2) {
  background: var(--eg-red-main);
}

/* ---------- 16. CTA card (pages above footer) ---------- */
.cta-section {
  margin-bottom: 0;
}
.xb-cta-wrapper {
  padding: 90px 60px;
  border-radius: 50px;
  background:
    radial-gradient(1100px 420px at 90% -20%, rgba(255, 90, 90, 0.28), transparent 60%),
    radial-gradient(900px 380px at 5% 115%, rgba(255, 90, 90, 0.18), transparent 60%),
    var(--eg-red-main);
}
.xb-cta-left {
  max-width: 820px;
  margin: 0 auto;
}
.xb-cta-left .xb-content {
  text-transform: none;
  font-weight: 400;
  margin: 24px 0 42px;
}
.xb-cta-right::before {
  background: var(--eg-red-main) !important;
}
@media (max-width: 767px) {
  .xb-cta-wrapper {
    padding: 60px 24px;
    border-radius: 30px;
  }
  .xb-cta-left .xb-content {
    font-size: 16px;
  }
}

/* ---------- 17. Contact page ---------- */
.eg-link {
  color: var(--eg-red-main);
  font-weight: 600;
  transition: color 0.25s ease;
}
.eg-link:hover {
  color: var(--eg-red-deep);
}
.eg-contact-card {
  overflow: hidden;
}
.eg-contact-card--head {
  background: var(--eg-red-main);
  padding: 28px 40px;
}
.eg-contact-card--head .title {
  color: #ffffff;
  margin: 0;
  font-size: 24px;
  line-height: 1.3;
}
@media (max-width: 575px) {
  .eg-contact-card--head {
    padding: 22px 22px;
  }
}

/* ---------- 17b. Contact page: seamless section background ----------
   Template's 181deg blush gradient creates a diagonal "slash" edge at the
   top of the contact group (the brand marquee strip sits on it). Replace
   with a perfectly vertical white -> blush -> white flow: white blends
   into the breadcrumb above, blush carries the brand strip, white hands
   off to the trust strip below. */
#eg-contact-group {
  background: linear-gradient(180deg, #ffffff 0%, #ffe9e9 16%, #ffe9e9 62%, #ffffff 100%) !important;
}

/* ---------- 17c. Contact page: submit button (native button element) ---------- */
.eg-contact-card button.thm-btn {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  background: none;
  padding: 5px;
  font-family: var(--font-heading);
  cursor: pointer;
}
.eg-contact-card button.thm-btn:disabled {
  opacity: 0.75;
  cursor: default;
}

/* ---------- 17d. Contact page: service selection chips ---------- */
.eg-chip {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  width: 100%;
  padding: 10px 14px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  background: #ffffff;
  font-size: 13px;
  font-weight: 600;
  color: #4a3e3e;
  cursor: pointer;
  transition: border-color 0.25s ease, background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}
.eg-chip:hover {
  border-color: rgba(166, 27, 27, 0.4);
}
.eg-chip input {
  accent-color: var(--eg-red-main);
  flex-shrink: 0;
}
.eg-chip.is-selected {
  border: 1.5px solid rgba(166, 27, 27, 0.55);
  background: var(--eg-blush);
  font-weight: 700;
  color: var(--eg-red-main);
  box-shadow: 0 4px 14px -6px rgba(166, 27, 27, 0.25);
}

/* ==============================================================
   18. Template (main.css) greens neutralised -> brand red
   Every hardcoded hex from the Sastik skin that our pages expose.
   ============================================================== */

/* Header bar & hero */
.header-area--two .header__wrap {
  background: var(--eg-blush) !important;
}
.header-area--two .main-menu > ul > li:hover > a,
.header-area--two .main-menu > ul > li.active > a {
  background: linear-gradient(180deg, #fff 2.54%, #f3c9c9 100%) !important;
}
.header-area--two .xb-header-btn a:nth-child(1) {
  background: linear-gradient(180deg, #fff 2.54%, #f3c9c9 100%) !important;
}

/* Section backgrounds: template green fades -> blush fades */
.linear_bg02 {
  background: linear-gradient(181deg, #ffe9e9 0%, #fff 100%) !important;
}
.hero-area--two .xb-hero-inner::before {
  background: linear-gradient(180deg, rgba(255, 233, 233, 0) 0%, var(--eg-blush) 58.56%, rgba(255, 247, 247, 0.97) 77.48%, #fff1f1 100%) !important;
}
.hero-area--two {
  background: linear-gradient(181deg, #fff 0%, #ffe9e9 100%) !important;
}
.xb-hero-bottom .item.circle_up_down {
  background: linear-gradient(180deg, #fff 2.54%, #f3c9c9 100%) !important;
}
.xb-hero-bottom .item.bg-pink,
.xb-hero-bottom .item.bg-gary {
  background: #f3c9c9 !important;
}

/* Pricing table & toggle */
.xb-pricing-row {
  border-color: #f3c9c9 !important;
}
.xb-pricing-table tr th,
.xb-pricing-table tr td {
  border-right-color: #f3c9c9 !important;
}
.xb-pricing-table tbody tr:nth-child(odd) {
  background: #fbf0f0 !important;
}
.xb-table-btn {
  border-color: #f3c9c9 !important;
}
.xb-table-btn li:not(:last-child) {
  border-right-color: #f3c9c9 !important;
}
.xb-table-btn li a {
  color: var(--eg-red-main) !important;
  border-color: #d98f8f !important;
}
.xb-table-btn li a:hover {
  background: #f3c9c9 !important;
}
.xb-table-img img {
  filter: hue-rotate(180deg);
}
.pricing_toggle_btn .badge {
  border-color: #f3c9c9 !important;
}
.pricing_toggle_btn .switch_btn {
  background: #f3c9c9 !important;
}
.pricing_toggle_btn .switch_btn:before {
  box-shadow: -2px 2px 7px 0 rgba(166, 27, 27, 0.17) !important;
}

/* Brand strip + animated line */
.xb-brand-top .text {
  background: #f3c9c9 !important;
}
.xb-brand-top .line {
  background: #f3c9c9 !important;
}
.xb-animate-leftRight .line span {
  background: linear-gradient(90deg, #d98f8f 0%, #f3c9c9 100%) !important;
}
.ab-brand-top .line .xb-animate-leftRight .line span {
  background: linear-gradient(90deg, #d98f8f 0%, rgba(217, 143, 143, 0) 100%) !important;
}

/* Dashboard / story / integration / mockup */
.xb-dashboard-item {
  background: #f3c9c9 !important;
  border-color: #f3c9c9 !important;
}
.xb-dashboard-item:hover {
  background: var(--color-secondary) !important;
}
.xb-dashboard-item .xb-item--arrow {
  background: linear-gradient(180deg, #8e1a0f 0%, var(--eg-red-deep) 100%) !important;
}
.xb-dashboard-item:hover .xb-item--arrow svg rect {
  fill: var(--eg-red-main) !important;
}
.xb-dashboard-item .xb-item--logo_content .logo::before {
  background: rgba(166, 27, 27, 0.26) !important;
}
.xb-story-item {
  background: #f3c9c9 !important;
}
.xb-story-item.bg--6 {
  background: var(--eg-red-main) !important;
}
.xb-story-item .xb-item--number {
  font-size: 55px;
}
.xb-story-item:not(.bg--6) .xb-item--holder {
  margin: 34px 0 56px;
}
.xb-story-item .xb-item--desc {
  font-size: 14px;
  line-height: 1.65;
  margin-top: 12px;
  color: var(--eg-muted);
}
.xb-story-item .xb-item--btn img {
  filter: hue-rotate(-175deg);
}
.xb-story-slider-wrap {
  border-color: #f3c9c9 !important;
}
.xb-story-slider-wrap .swiper-pagination {
  background: #f3c9c9 !important;
}
.xb-story-slider-wrap .swiper-pagination .swiper-pagination-bullet {
  background: #d98f8f !important;
}
.xb-story-slide-content .xb-item--name {
  color: var(--color-heading) !important;
}
.xb-story-slide-content .xb-item--desig {
  color: rgba(166, 27, 27, 0.6) !important;
}
.fs-process-item:nth-child(3)::before {
  background: #ffdcdc !important;
}
.fs-process-item:nth-child(3)::after {
  background: var(--eg-red-main) !important;
}
.xb-intigration-inner {
  background: var(--eg-red-main) !important;
}
.xbf-mockup-view::after {
  background: var(--eg-red-main) !important;
}
.xbf-mockup-frame {
  background: var(--eg-red-deep) !important;
}
.xbf-rt-text-style-h5 {
  color: var(--color-heading) !important;
}

/* Feature / faq dividers */
.hd-feature-item:not(:last-child) {
  border-bottom-color: #f3c9c9 !important;
}
.xbf-rt-according-main {
  border-bottom-color: #f3c9c9 !important;
}

/* Fun fact (stats) section */
.xb-funfact-inner::before,
.xb-funfact-inner::after {
  background: #f3c9c9 !important;
}
.funfact-col:not(:last-child) {
  border-right-color: #f3c9c9 !important;
  border-bottom-color: #f3c9c9 !important;
}

/* FAQ accordion */
.xb-desk-faq .accordion_box .block .acc-btn {
  background: #fbf0f0 !important;
}
.xb-desk-faq .accordion_box .block.active-block .acc-btn {
  background: #fbf0f0 !important;
}
.xb-desk-faq .accordion_box .block .content p {
  color: var(--eg-muted) !important;
}
.xb-faq-left .xb-content {
  color: var(--eg-muted) !important;
}

/* Social icons */
.xb-social-media li a {
  color: var(--eg-red-main) !important;
  background: #f3c9c9 !important;
}

/* Footer contact cards */
.xb-contact-item {
  box-shadow: 0 4px 4px 0 #f3c9c9;
}
.xb-contact-item .xb-icon img {
  filter: hue-rotate(-175deg);
}
.xb-contact-item .contact-method {
  font-size: 22px;
  text-align: left;
}
@media (max-width: 1199px) {
  .xb-contact-item .contact-method {
    font-size: 20px;
  }
}
@media (max-width: 991px) {
  .xb-contact-item .contact-method {
    font-size: 18px;
  }
}

/* Buttons: dark-teal layers -> dark red */
.desk-btn {
  background: linear-gradient(180deg, #8e1a0f 0%, var(--eg-red-deep) 100%) !important;
}
.desk-btn .text {
  color: #ffffff !important;
  text-shadow: 0 1.3em #ffffff !important;
}
.desk-btn--white .text {
  text-shadow: 0 1.3em var(--eg-red-main) !important;
}
.desk-btn--gradient .layer {
  background: linear-gradient(180deg, #8e1a0f 0%, var(--eg-red-deep) 100%) !important;
}
.desk-btn--gradient .layer.layer_white {
  background: linear-gradient(180deg, #8e1a0f 0%, var(--eg-red-deep) 100%) !important;
}
.desk-btn--gradient .layer.layer_white .text {
  color: #ffffff !important;
  text-shadow: 0 1.3em #ffffff !important;
}
.hd-feautre-btn .desk-btn--gradient {
  padding: 4px;
}
.hd-feautre-btn .desk-btn--gradient .layer {
  padding: 10px 24px;
}
.hd-feautre-btn .desk-btn .text {
  font-size: 15px;
}
/* Animated ring: rainbow -> red family (animation + size kept) */
.desk-btn--gradient::before {
  background: linear-gradient(91deg, #ff4d4d 0%, #ff6b4d 14.29%, #ff4d8f 28.57%, #e74c3c 42.86%, #c0392b 57.14%, #ff8a5c 71.43%, #ff4d4d 85.71%, #8e1a0f 100%) !important;
}

/* Decorative imagery: greens/blues/purples -> red family.
   Keyed to filenames so the rule matches wherever the asset is used.
   sec_img01-03 are indigo (#5740FD, hue ~248deg): +108deg -> red.
   vactor02 is blue (#0656F7, hue ~221deg): +140deg -> red.
   vactor01 is green (#01D025, hue ~130deg): -154deg -> red.
   sec_img04.png contains no visible pixels (100% transparent) and is left as-is. */
.xb-bg-shape img {
  filter: hue-rotate(-120deg);
}
.xb-security-shape .shape--1 img,
.xb-security-shape .shape--2 img,
.xb-security-shape .shape--3 img,
.xb-security-shape .shape--4 img,
.xb-section-shape img[src*="sec_img0"] {
  filter: hue-rotate(108deg);
}
.xb-security-shape .shape--5 img,
.xb-section-shape img[src*="vactor02"] {
  filter: hue-rotate(140deg);
}
.xb-security-shape .shape--6 img,
.xb-section-shape img[src*="vactor01"] {
  filter: hue-rotate(-154deg);
}

/* Footer card: pale blush wash over the template's green pattern */
.hd-footer-wrapper {
  position: relative;
}
.hd-footer-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(255, 233, 233, 0.85);
  z-index: 1;
  pointer-events: none;
}
.hd-footer-wrapper > .container {
  position: relative;
  z-index: 2;
}

/* Hero badge arrow (inline svg) inherits --color-heading; keep white text
   contrast on red surfaces */
.sec-title .title,
.sec-title--two .title {
  color: var(--color-heading);
}

/* Brand marquee logos: share the review-slide logos (story/logo05-07)
   which are already brand-red -- no hue shift needed.
   Kept selector for any leftover green brand-logo assets. */
.xb-hero-brand-wrap .xb-item--brand_list img[src*="brand-logo"] {
  filter: hue-rotate(-120deg);
}

/* Engraced Promise marquee: template's blurred edge washes are blue
   (#fff -> #c6d6ff, main.css .fs-security-brand::before/::after) and
   the blur itself leaves a hard boundary line on each side. Replace
   with blur-free horizontal gradients tinted brand red -- the gradient
   ends are seamless, so no sharp edge remains. */
.fs-security-brand::before,
.fs-security-brand::after {
  width: 420px;
  left: -120px;
  filter: blur(16px);
  transform: none;
  background:
    linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 10%, rgba(255, 255, 255, 0.98) 25%, rgba(255, 255, 255, 0.98) 75%, rgba(255, 255, 255, 0.5) 90%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(to right, #ffffff 0%, #f8d9d9 55%, #f3c9c9 100%);
}
.fs-security-brand::after {
  left: auto;
  right: -120px;
  background:
    linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 10%, rgba(255, 255, 255, 0.98) 25%, rgba(255, 255, 255, 0.98) 75%, rgba(255, 255, 255, 0.5) 90%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(to left, #ffffff 0%, #f8d9d9 55%, #f3c9c9 100%);
}

/* Engraced Promise logos: greyscale at rest, colour on hover.
   logo06 (center mark) stays in full colour. */
.fs-security-brand .xb-item--list li img {
  filter: grayscale(1);
  transition: filter 0.4s ease;
}
.fs-security-brand .xb-item--list li:hover img {
  filter: grayscale(0);
}

/* Edge washes are desktop-only: on mobile/tablet the template stretches
   them across the strip and the blur hides the scrolling logos */
@media (max-width: 991px) {
  .fs-security-brand::before,
  .fs-security-brand::after {
    display: none;
  }
}

/* CTA card ("From Business Idea to Business Identity") bottom padding
   so the red card no longer touches the footer wrapper */
.cta-section {
  padding-bottom: 120px;
}
@media (max-width: 767px) {
  .cta-section {
    padding-bottom: 80px;
  }
}

/* Header CTA: remove the template's pale pill pseudo/ring so the button
   is a crisp red pill -- no glow halo */
.header-area--two .xb-header-btn a:nth-child(1) {
  background: linear-gradient(180deg, #c23a3a 0%, #6e1414 100%);
  padding: 5px;
  box-shadow: inset 0 1px 1px 0 rgba(255, 255, 255, 0.18), 0 8px 20px -10px rgba(74, 14, 14, 0.5);
}
.header-area--two .xb-header-btn a:nth-child(1)::before {
  display: none;
}
.xb-header-btn .desk-btn--gradient .layer {
  padding: 10px 26px;
}

/* Sticky header on scroll: floating rounded pill instead of the
   template's full-width white bar (main.css .xb-header-area-sticky).
   Offsets match the hero pill (mlr-50) so it aligns with the layout. */
#xb-header-area .xb-header-area-sticky.xb-header-fixed {
  top: 16px;
  left: 50px;
  right: 50px;
  width: auto;
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: 0 24px 48px -24px rgba(74, 14, 14, 0.3);
}
#xb-header-area .xb-header-area-sticky.xb-header-fixed .header__wrap {
  margin: 0;
  background: transparent;
  border-radius: 100px;
  padding: 0 12px 0 30px;
}
@media (max-width: 991px) {
  #xb-header-area .xb-header-area-sticky.xb-header-fixed {
    top: 12px;
    left: 16px;
    right: 16px;
    border-radius: 100px;
  }
}

/* Hero heading scaled down from the template's 80px */
.hero-area--two .sec-title .title {
  font-size: 68px;
}
@media (max-width: 991px) {
  .hero-area--two .sec-title .title {
    font-size: 54px;
  }
}
@media (max-width: 767px) {
  .hero-area--two .sec-title .title {
    font-size: 40px;
  }
}

/* Hero early-bird countdown */
.eg-countdown-wrap {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin-top: 26px;
}
.eg-countdown-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6e1414;
  background: #f3c9c9;
  padding: 7px 18px;
  border-radius: 100px;
}
.eg-countdown {
  display: inline-flex;
  gap: 10px;
}
.eg-cd-tile {
  min-width: 68px;
  padding: 12px 10px 10px;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 14px 30px -14px rgba(166, 27, 27, 0.35);
  text-align: center;
}
.eg-cd-num {
  display: block;
  font-size: 30px;
  font-weight: 800;
  line-height: 1;
  color: #a61b1b;
  font-variant-numeric: tabular-nums;
}
.eg-cd-unit {
  display: block;
  margin-top: 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a5a55;
}
@media (max-width: 575px) {
  .eg-cd-tile {
    min-width: 58px;
  }
  .eg-cd-num {
    font-size: 24px;
  }
}

/* Funfact "Satisfaction promise" card: customer avatar stack
   (people from the crossed transaction marquee), overlapping circles
   with white outline */
.eg-avatar-stack {
  display: flex;
  align-items: center;
  justify-content: center;
}
.eg-avatar-stack img {
  width: 38px;
  height: 38px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid #ffffff;
  box-shadow: 0 6px 14px -6px rgba(74, 14, 14, 0.45);
  margin-left: -12px;
}
.eg-avatar-stack img:first-child {
  margin-left: 0;
}

/* Pricing table: the wrapper is the scroll container at every size,
   with a slim modern scrollbar; table scaled down so mobile gets
   "just a little scroll" */
.xb-pricing-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #e7b8b8 transparent;
}
.xb-pricing-table-wrap::-webkit-scrollbar {
  height: 6px;
}
.xb-pricing-table-wrap::-webkit-scrollbar-track {
  background: transparent;
}
.xb-pricing-table-wrap::-webkit-scrollbar-thumb {
  background: #e7b8b8;
  border-radius: 100px;
}
.xb-pricing-table-wrap::-webkit-scrollbar-thumb:hover {
  background: #d98f8f;
}
.xb-pricing-inner {
  overflow-x: visible;
}
@media (max-width: 991px) {
  .xb-pricing-table {
    min-width: 620px;
  }
  .xb-pricing-table thead tr th {
    padding: 20px 14px;
  }
  .xb-pricing-table tbody tr td {
    padding: 16px 12px;
    font-size: 13px;
  }
  .xb-pricing-table thead tr th .dollar {
    font-size: 26px;
  }
  .xb-pricing-table thead tr th .text {
    font-size: 11px;
  }
}
@media (max-width: 767px) {
  .xb-pricing-table {
    min-width: 520px;
  }
  .xb-pricing-table thead tr th {
    padding: 16px 10px;
  }
  .xb-pricing-table tbody tr td {
    padding: 13px 10px;
    font-size: 12px;
  }
  .xb-pricing-table thead tr th .dollar {
    font-size: 24px;
  }
  .xb-pricing-inner {
    overflow-x: visible;
  }
}

/* Pricing CTA row: three buttons on one line, equal width, adaptive */
.xb-table-btn {
  display: flex;
  width: 100%;
  margin-left: 0;
  justify-content: space-between;
}
.xb-table-btn li {
  flex: 1 1 0;
  padding: 16px 6px;
}
.xb-table-btn li a {
  width: 100%;
  padding: 12px 8px;
  font-size: 13px;
  white-space: nowrap;
}

/* Header pill width consistent on mobile/tablet: same 16px insets as
   the sticky pill, so top and scrolled states match */
@media (max-width: 991px) {
  .header-area--two .header__wrap {
    margin: 0 16px;
    padding: 10px 10px 10px 20px;
  }
  .header-area--two.header-transparent {
    top: 14px;
  }
}

/* CTA section button: single line of text, no stacked-text ghost copy,
   scaled to fit the pill */
.xb-cta-btn .desk-btn--gradient .text {
  font-size: 16px;
  white-space: nowrap;
  text-shadow: none !important;
}
.xb-cta-btn .desk-btn--gradient .layer {
  padding: 13px 34px;
}

/* FAQ left image card: portrait lady.png balancing the accordion.
   Hidden on mobile/tablet; image lives at assets/brand/lady.png */
.eg-faq-image-card {
  width: 100%;
  max-width: 330px;
  aspect-ratio: 3 / 4;
  margin: 0 0 34px;
  overflow: hidden;
  border-radius: 24px;
  background: var(--eg-blush);
  box-shadow: 0 24px 48px -18px rgba(166, 27, 27, 0.35);
}
.eg-faq-image-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
@media (max-width: 991px) {
  .eg-faq-image-card {
    display: none;
  }
}
/* ==============================================================
   Engraced Tech - Image Card Enhancements & Red Overlay
   ============================================================== */

.eg-card-media {
  position: relative;
  width: 100%;
  height: 220px;
  border-radius: var(--eg-radius) var(--eg-radius) 0 0;
  overflow: hidden;
}

.eg-card-media--tall {
  height: 290px;
}

.eg-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.eg-card:hover .eg-card-media img {
  transform: scale(1.05);
}

/* Luxury Brand Red Overlay */
.eg-card-media::after,
.eg-img-overlay-red::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(166, 27, 27, 0.15) 0%, rgba(110, 20, 20, 0.55) 100%);
  pointer-events: none;
  transition: opacity 0.4s ease;
}

.eg-card:hover .eg-card-media::after {
  background: linear-gradient(180deg, rgba(166, 27, 27, 0.08) 0%, rgba(110, 20, 20, 0.45) 100%);
}

.eg-card-media .eg-media-badge {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;
  background: rgba(166, 27, 27, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #ffffff;
  padding: 6px 14px;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Read Full Story Button & Micro Link */
.eg-story-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  padding: 8px 18px;
  background: var(--eg-blush);
  color: var(--eg-red-main);
  border-radius: 50px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.3s ease;
  border: 1px solid rgba(166, 27, 27, 0.15);
}

.eg-story-link:hover {
  background: var(--eg-red-main);
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(166, 27, 27, 0.25);
}

.eg-story-link i {
  font-size: 12px;
  transition: transform 0.3s ease;
}

.eg-story-link:hover i {
  transform: translateX(3px);
}

/* ==============================================================
   Floating Interactive Countdown Bar
   ============================================================== */
.eg-floating-countdown {
  position: fixed;
  bottom: 24px;
  bottom: max(24px, env(safe-area-inset-bottom));
  right: 24px;
  z-index: 9999;
  background: rgba(20, 15, 38, 0.94);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 90, 90, 0.28);
  border-radius: 60px;
  padding: 8px 12px 8px 16px;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.35), 0 0 25px rgba(166, 27, 27, 0.22);
  color: #ffffff;
  font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif);
  transform: translateY(120px);
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
  max-width: calc(100vw - 32px);
}

.eg-floating-countdown.eg-float-visible {
  transform: translateY(0);
  opacity: 1;
}

.eg-floating-countdown.eg-float-hidden {
  transform: translateY(120px);
  opacity: 0;
  pointer-events: none;
}

.eg-float-inner {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.eg-float-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(166, 27, 27, 0.45);
  border: 1px solid rgba(255, 90, 90, 0.4);
  padding: 4px 10px;
  border-radius: 30px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: #ff8e8e;
}

.eg-pulse-dot {
  width: 7px;
  height: 7px;
  background: #ff5a5a;
  border-radius: 50%;
  display: inline-block;
  animation: egPulse 1.4s infinite;
}

@keyframes egPulse {
  0% { transform: scale(0.9); opacity: 0.6; box-shadow: 0 0 0 0 rgba(255, 90, 90, 0.7); }
  70% { transform: scale(1.1); opacity: 1; box-shadow: 0 0 0 6px rgba(255, 90, 90, 0); }
  100% { transform: scale(0.9); opacity: 0.6; box-shadow: 0 0 0 0 rgba(255, 90, 90, 0); }
}

.eg-float-text {
  font-size: 13px;
  color: #f1f1f5;
  white-space: nowrap;
}

.eg-float-text strong {
  color: #ff7676;
}

.eg-float-timer-wrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.08);
  padding: 5px 12px;
  border-radius: 20px;
  font-family: monospace;
  font-size: 13px;
  font-weight: 700;
  color: #ffd4d4;
  letter-spacing: 0.02em;
}

.eg-float-spots .spots-pill {
  background: #ff4d4d;
  color: #ffffff;
  padding: 3px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.eg-float-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(135deg, #FF5A5A 0%, #A61B1B 100%);
  color: #ffffff !important;
  font-size: 12px;
  font-weight: 800;
  padding: 8px 16px;
  border-radius: 30px;
  text-decoration: none !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  white-space: nowrap;
}

.eg-float-btn:hover {
  transform: scale(1.04);
  box-shadow: 0 4px 14px rgba(255, 90, 90, 0.4);
}

.eg-float-close {
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.6);
  font-size: 20px;
  line-height: 1;
  padding: 0 4px;
  cursor: pointer;
  transition: color 0.2s;
}

.eg-float-close:hover {
  color: #ffffff;
}

@media (max-width: 767px) {
  .eg-floating-countdown {
    bottom: 12px;
    right: 12px;
    left: 12px;
    padding: 10px 14px;
    border-radius: 20px;
  }
  .eg-float-inner {
    justify-content: space-between;
    gap: 8px;
  }
  .eg-float-text {
    display: none;
  }
}

/* ==============================================================
   Intelligent Exit-Intent / Early Bird Modal Popup
   ============================================================== */
.eg-popup-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.eg-popup-modal.eg-popup-open {
  opacity: 1;
  visibility: visible;
}

.eg-popup-backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(14, 10, 24, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.eg-popup-card {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 520px;
  background: #ffffff;
  border-radius: 28px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(166, 27, 27, 0.1);
  overflow: hidden;
  transform: scale(0.92) translateY(20px);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.eg-popup-modal.eg-popup-open .eg-popup-card {
  transform: scale(1) translateY(0);
}

.eg-popup-close {
  position: absolute;
  top: 16px;
  right: 18px;
  z-index: 10;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: #ffffff;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease;
}

.eg-popup-close:hover {
  background: rgba(255, 255, 255, 0.4);
}

.eg-popup-header {
  background: linear-gradient(135deg, #A61B1B 0%, #6E1414 100%);
  color: #ffffff;
  padding: 32px 32px 26px;
  position: relative;
}

.eg-popup-badge {
  display: inline-block;
  background: #FF5A5A;
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 12px;
  border-radius: 30px;
  margin-bottom: 12px;
}

.eg-popup-title {
  color: #ffffff;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: 8px;
}

.eg-popup-desc {
  color: #ffe0e0;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

.eg-popup-body {
  padding: 26px 32px 30px;
}

.eg-popup-timer-box {
  background: var(--eg-blush);
  border-radius: 16px;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.eg-popup-timer-box .label {
  font-size: 13px;
  font-weight: 700;
  color: var(--eg-red-main);
}

.eg-popup-timer-box .timer {
  font-family: monospace;
  font-size: 16px;
  font-weight: 800;
  color: var(--eg-red-main);
}

.eg-popup-perks {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}

.eg-popup-perks li {
  font-size: 14px;
  color: #3b2c2c;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.eg-popup-perks li i {
  color: #10B981;
  font-size: 16px;
}

.eg-popup-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: linear-gradient(135deg, #FF5A5A 0%, #A61B1B 100%);
  color: #ffffff !important;
  font-size: 16px;
  font-weight: 800;
  padding: 15px 24px;
  border-radius: 50px;
  text-decoration: none !important;
  box-shadow: 0 10px 25px rgba(166, 27, 27, 0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.eg-popup-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(166, 27, 27, 0.45);
}

.eg-popup-note {
  font-size: 12px;
  color: var(--eg-muted);
  text-align: center;
  margin: 12px 0 0;
}

.eg-popup-note i {
  color: #10B981;
}

/* ==============================================================
   Live FOMO Purchase Notifications
   ============================================================== */
.eg-fomo-container {
  position: fixed;
  bottom: 24px;
  bottom: max(24px, env(safe-area-inset-bottom));
  left: 24px;
  z-index: 9998;
  display: flex;
  flex-direction: column;
  gap: 12px;
  pointer-events: none;
}

.eg-fomo-toast {
  pointer-events: auto;
  cursor: pointer;
  width: 330px;
  max-width: calc(100vw - 32px);
  background: #ffffff;
  border-radius: 18px;
  padding: 12px 14px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.14), 0 0 0 1px rgba(166, 27, 27, 0.08);
  display: flex;
  align-items: center;
  gap: 12px;
  transform: translateX(-120%);
  opacity: 0;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease;
  position: relative;
}

.eg-fomo-toast.eg-fomo-show {
  transform: translateX(0);
  opacity: 1;
}

.eg-fomo-toast:focus-visible {
  outline: 2px solid #A61B1B;
  outline-offset: 2px;
}

.eg-fomo-avatar {
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  flex-shrink: 0;
  overflow: hidden;
  background: var(--eg-blush);
}

.eg-fomo-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.eg-fomo-online {
  position: absolute;
  bottom: 1px;
  right: 1px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #10B981;
  border: 2px solid #ffffff;
}

.eg-fomo-content {
  flex: 1;
  min-width: 0;
}

.eg-fomo-title {
  font-size: 13px;
  color: #140F26;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 2px;
}

.eg-fomo-verified {
  font-size: 10px;
  color: #10B981;
  font-weight: 700;
  margin-left: 4px;
}

.eg-fomo-action {
  font-size: 12px;
  color: var(--eg-red-main);
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 3px;
}

.eg-fomo-time {
  font-size: 11px;
  color: #8c7f7f;
}

.eg-fomo-close {
  position: absolute;
  top: 6px;
  right: 8px;
  background: transparent;
  border: none;
  color: #a89a9a;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  padding: 2px 4px;
}

.eg-fomo-close:hover {
  color: #140F26;
}

@media (max-width: 767px) {
  .eg-fomo-container {
    bottom: 84px;
    left: 12px;
    right: 12px;
  }
  .eg-fomo-toast {
    width: 100%;
  }
}

/* ==============================================================
   Mobile Header Stability, Pricing Polish & Equal Height Cards
   ============================================================== */

/* 1. Mobile Header Stability (No Height Jump on Scroll) */
@media (max-width: 991px) {
  .header-area--two.header-transparent {
    top: 12px;
  }
  .header-area--two .header__wrap,
  #xb-header-area .xb-header-area-sticky.xb-header-fixed .header__wrap {
    margin: 0 14px !important;
    padding: 10px 16px !important;
    min-height: 60px !important;
    height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-radius: 50px !important;
  }
  .header-area--two .xb-header-logo img,
  #xb-header-area .xb-header-area-sticky.xb-header-fixed .xb-header-logo img {
    max-height: 38px !important;
    width: auto !important;
  }
  #xb-header-area .xb-header-area-sticky.xb-header-fixed {
    top: 12px !important;
    left: 0 !important;
    right: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  #xb-header-area .xb-header-area-sticky.xb-header-fixed .header__wrap {
    background: rgba(255, 233, 233, 0.96) !important;
    box-shadow: 0 12px 32px rgba(166, 27, 27, 0.18) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }
  .xb-header-btn {
    display: none !important;
  }
}

/* 2. Equal Height Card Alignment for About & Story Sections */
.about-story .row,
.about-belief .row,
.about-pillars .row,
.about-trust .row,
.package-pillars .row,
.why-registration .row,
.sales-hidden-cost .row,
.sales-saves .row,
.sales-compare .row {
  display: flex;
  flex-wrap: wrap;
}

.about-story .eg-card,
.about-belief .eg-card,
.about-pillars .eg-card,
.package-pillars .eg-card,
.why-registration .eg-card,
.sales-hidden-cost .eg-card,
.sales-saves .eg-info-card,
.about-trust .eg-info-card,
.sales-compare .eg-compare-card {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

.eg-card--inner {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.eg-card-media {
  flex-shrink: 0 !important;
}

/* 3. Pricing Table on Mobile Polish */
.eg-pricing-logo-mobile {
  display: none;
}

@media (max-width: 767px) {
  .eg-pricing-logo-desktop {
    display: none !important;
  }
  .eg-pricing-logo-mobile {
    display: inline-block !important;
    width: 32px !important;
    height: 32px !important;
  }
  .xb-pricing-table th:first-child,
  .xb-pricing-table td:first-child {
    width: 44px !important;
    max-width: 44px !important;
    padding: 12px 6px !important;
    text-align: center !important;
  }
  .xb-pricing-table th {
    padding: 12px 8px !important;
    text-align: left !important;
  }
  .xb-pricing-table th .text {
    font-size: 11px !important;
    line-height: 1.2 !important;
    text-align: left !important;
    display: block !important;
  }
  .xb-pricing-table th .dollar {
    font-size: 16px !important;
    margin: 4px 0 !important;
    text-align: left !important;
    display: block !important;
  }
  .xb-pricing-table td {
    padding: 10px 8px !important;
    font-size: 12px !important;
  }
  
  /* Leave ONLY ONE CTA on Mobile Pricing Table */
  .xb-table-btn {
    display: block !important;
    padding: 0 10px !important;
  }
  .xb-table-btn li:not(:last-child) {
    display: none !important;
  }
  .xb-table-btn li:last-child {
    width: 100% !important;
    padding: 10px 0 !important;
  }
  .xb-table-btn li:last-child a {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    border-radius: 50px !important;
    background: linear-gradient(135deg, #FF5A5A 0%, #A61B1B 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 24px rgba(166, 27, 27, 0.35) !important;
  }
}

/* ==============================================================
   18. Admin UI kit — dashboard shell + reusable components
   Shared tokens from section 1. Loaded on /admin only.
   ============================================================== */

/* ---------- 18a. Shell: page, sidebar, content card ---------- */

/* Fixed-viewport dashboard: the page itself never scrolls. The sidebar and
   the content card fill the viewport and scroll internally. */
.eg-admin {
  display: flex;
  gap: 12px;
  height: 100vh;
  height: 100dvh;
  padding: 10px 12px;
  width: 100vw;
  max-width: 100vw;
  box-sizing: border-box;
  background: linear-gradient(180deg, #FFF7F5 0%, #FFEDEA 55%, #FFE4E1 100%);
  font-family: var(--font-body, "Plus Jakarta Sans", sans-serif);
  overflow: hidden;
}

.eg-admin--boot {
  justify-content: center;
  align-items: center;
  overflow-y: auto;
}

.eg-admin--boot-text {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--eg-muted);
  font-size: 14px;
  font-weight: 600;
}

.eg-admin--boot-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--eg-red-main);
  animation: egPulse 1.2s infinite;
}

/* Sidebar — transparent, fixed height, nav scrolls internally */
.eg-admin-sidebar {
  position: relative;
  flex-shrink: 0;
  width: 210px;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px 4px;
  overflow: hidden;
  box-sizing: border-box;
  transition: width 0.22s cubic-bezier(0.16, 1, 0.3, 1), padding 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.eg-admin-sidebar.collapsed {
  width: 48px;
  padding: 10px 2px;
}

.eg-admin-sidebar.collapsed .eg-admin-sidebar--logo {
  padding: 0;
  display: flex;
  justify-content: center;
}

.eg-admin-sidebar.collapsed .eg-admin-sidebar--logo img {
  height: 30px;
  width: 30px;
  object-fit: contain;
}

.eg-admin-sidebar.collapsed .eg-admin-sidebar--nav button {
  justify-content: center;
  padding: 0;
  width: 44px;
  height: 44px;
  margin: 0 auto;
  border-radius: 10px;
  position: relative;
  font-size: 15px;
}

.eg-admin-sidebar.collapsed .eg-admin-sidebar--nav button span {
  display: none !important;
}

.eg-admin-sidebar.collapsed .eg-admin-sidebar--badge {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 15px;
  height: 15px;
  line-height: 15px;
  font-size: 9px;
  padding: 0 3px;
}

.eg-admin-sidebar.collapsed .eg-admin-sidebar--foot {
  padding: 6px 0 0;
  align-items: center;
}

.eg-admin-sidebar.collapsed .eg-admin-sidebar--foot button,
.eg-admin-sidebar.collapsed .eg-admin-sidebar--foot a {
  justify-content: center;
  padding: 6px 0;
  width: 44px;
  height: 44px;
  margin: 0 auto;
  border-radius: 10px;
}

.eg-admin-sidebar.collapsed .eg-admin-sidebar--foot span {
  display: none !important;
}

.eg-admin-sidebar--logo {
  padding: 0 6px;
}

.eg-admin-sidebar--logo img {
  height: 38px;
  width: auto;
}

.eg-admin-sidebar--nav {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-right: 4px;
}

.eg-admin-sidebar--nav button {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  padding: 11px 14px;
  border: 1px solid transparent;
  border-radius: 13px;
  background: transparent;
  color: var(--eg-muted);
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  transition: all 0.22s ease;
}

.eg-admin-sidebar--nav button i {
  width: 18px;
  text-align: center;
  font-size: 15px;
  color: rgba(166, 27, 27, 0.55);
  transition: color 0.22s ease;
}

.eg-admin-sidebar--nav button:hover {
  background: rgba(166, 27, 27, 0.07);
  color: var(--eg-red-main);
  transform: translateX(2px);
}

.eg-admin-sidebar--nav button.active {
  background: #ffffff;
  border-color: rgba(166, 27, 27, 0.1);
  color: var(--eg-red-main);
  box-shadow: 0 4px 14px rgba(166, 27, 27, 0.1);
}

.eg-admin-sidebar--nav button.active i {
  color: var(--eg-red-main);
}

.eg-admin-sidebar--badge {
  margin-left: auto;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 20px;
  background: var(--eg-red-main);
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
  font-style: normal;
  line-height: 20px;
  text-align: center;
}

.eg-admin-sidebar--foot {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: auto;
  padding: 12px 10px 0;
  border-top: 1px solid rgba(166, 27, 27, 0.12);
}

.eg-admin-sidebar--foot a,
.eg-admin-sidebar--foot button {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 4px;
  background: none;
  border: 0;
  color: var(--eg-muted);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s ease;
}

.eg-admin-sidebar--foot a:hover,
.eg-admin-sidebar--foot button:hover {
  color: var(--eg-red-main);
}

.eg-admin-sidebar--backdrop {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(46, 16, 16, 0.45);
  backdrop-filter: blur(2px);
}

.eg-admin-main {
  flex: 1;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow: hidden;
}

.eg-admin-burger {
  display: none;
  flex-shrink: 0;
  align-self: flex-start;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 12px;
  background: var(--eg-red-main);
  color: #ffffff;
  font-size: 17px;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(166, 27, 27, 0.3);
}

/* Rounded content card on the page background — fixed height, body scrolls */
.eg-admin-card {
  flex: 1;
  min-height: 0;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #ffffff;
  border: 1.5px solid #fedcd8;
  border-radius: 20px;
  box-shadow: 0 10px 30px -4px rgba(166, 27, 27, 0.06), 0 4px 12px -2px rgba(0, 0, 0, 0.02);
  padding: 20px 22px;
}

.eg-admin-card--head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
  flex-shrink: 0;
}

.eg-admin-card--title {
  margin: 0;
  color: var(--color-heading);
  font-size: 26px;
  font-weight: 800;
  line-height: 1.25;
}

.eg-admin-card--sub {
  margin: 7px 0 0;
  color: var(--eg-muted);
  font-size: 13.5px;
  line-height: 1.55;
}

.eg-admin-card--body {
  flex: 1;
  min-height: 0;
  min-width: 0;
  overflow-y: auto;
  padding-right: 8px;
  padding-bottom: 28px;
}

/* Thin, unobtrusive scrollbars inside the dashboard */
.eg-admin-card--body::-webkit-scrollbar,
.eg-admin-sidebar--nav::-webkit-scrollbar,
.eg-amodal--body::-webkit-scrollbar {
  width: 8px;
}

.eg-admin-card--body::-webkit-scrollbar-thumb,
.eg-admin-sidebar--nav::-webkit-scrollbar-thumb,
.eg-amodal--body::-webkit-scrollbar-thumb {
  background: #e8cfcf;
  border-radius: 30px;
}

.eg-admin-card--body::-webkit-scrollbar-thumb:hover,
.eg-admin-sidebar--nav::-webkit-scrollbar-thumb:hover {
  background: #dbb8b8;
}

.eg-admin-card--body::-webkit-scrollbar-track,
.eg-admin-sidebar--nav::-webkit-scrollbar-track {
  background: transparent;
}

/* Toast */
.eg-atoast {
  position: fixed;
  top: 22px;
  right: 22px;
  z-index: 10200;
  max-width: min(360px, calc(100vw - 32px));
  padding: 13px 18px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid rgba(166, 27, 27, 0.16);
  border-left: 4px solid var(--eg-red-main);
  box-shadow: 0 18px 44px rgba(46, 16, 16, 0.22);
  color: #3a2323;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.5;
  animation: egToastIn 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes egToastIn {
  from {
    opacity: 0;
    transform: translateY(-12px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* ---------- 18b. UI kit primitives ---------- */

/* Inner sections are raised luxury cards with soft crimson borders and subtle shadow */
.eg-acard {
  background: #ffffff;
  border: 1.5px solid #fedcd8;
  border-radius: 18px;
  box-shadow: 0 6px 20px rgba(166, 27, 27, 0.04);
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.2s ease;
}

.eg-acard:hover {
  border-color: #fca5a5;
  box-shadow: 0 10px 28px rgba(166, 27, 27, 0.08);
}

.eg-acard-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #feeae8;
}

.eg-acard-head--title {
  margin: 0;
  color: #3a2323;
  font-size: 16px;
  font-weight: 800;
}

.eg-acard-head--sub {
  margin: 4px 0 0;
  color: var(--eg-muted);
  font-size: 12.5px;
  line-height: 1.5;
}

.eg-acard-head--actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.eg-astat {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 18px 20px;
  background: #ffffff;
  border: 1.5px solid #fedcd8;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(166, 27, 27, 0.03);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.eg-astat:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(166, 27, 27, 0.08);
  border-color: #fca5a5;
}

.eg-astat--icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}

.eg-astat--body {
  min-width: 0;
}

.eg-astat--label {
  display: block;
  color: var(--eg-muted);
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.eg-astat--value {
  margin-top: 3px;
  color: #2b1a1a;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.1;
}

.eg-astat--sub {
  margin-top: 4px;
  color: var(--eg-muted);
  font-size: 12px;
}

.eg-abadge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 30px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}

.eg-abtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.eg-abtn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.eg-abtn.s-md {
  padding: 11px 18px;
  font-size: 14px;
}

.eg-abtn.s-sm {
  padding: 7px 13px;
  font-size: 12.5px;
}

.eg-abtn.v-primary {
  background: linear-gradient(135deg, #FF5A5A 0%, #A61B1B 100%);
  color: #ffffff;
  box-shadow: var(--eg-shadow-btn);
}

.eg-abtn.v-primary:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(166, 27, 27, 0.3);
}

.eg-abtn.v-soft {
  background: var(--eg-blush);
  color: var(--eg-red-main);
}

.eg-abtn.v-soft:hover:not(:disabled) {
  background: #ffdcdc;
}

.eg-abtn.v-ghost {
  background: #ffffff;
  border-color: #eed9d9;
  color: var(--eg-muted);
}

.eg-abtn.v-ghost:hover:not(:disabled) {
  border-color: var(--eg-red-main);
  color: var(--eg-red-main);
}

.eg-abtn.v-danger {
  background: #fdecec;
  color: #b91c1c;
}

.eg-abtn.v-danger:hover:not(:disabled) {
  background: #fadcdc;
}

.eg-abtn.v-link {
  background: none;
  border: 0;
  padding: 2px 4px;
  color: var(--eg-red-main);
}

.eg-abtn.v-link:hover:not(:disabled) {
  text-decoration: underline;
}

.eg-aiconbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 10px;
  background: #f6eeee;
  color: var(--eg-muted);
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.eg-aiconbtn:hover {
  background: #f0dcdc;
  color: var(--eg-red-main);
}

.eg-aiconbtn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.eg-afield {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.eg-afield--label {
  color: #4a2e2e;
  font-size: 12.5px;
  font-weight: 700;
}

.eg-afield--hint {
  color: var(--eg-muted);
  font-size: 12px;
  line-height: 1.45;
}

input.eg-ainput,
select.eg-ainput,
textarea.eg-ainput {
  width: 100%;
  height: 44px;
  padding: 11px 14px;
  border: 1.5px solid #fedcd8;
  border-radius: 12px;
  background: #ffffff;
  color: #3a2323;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.4;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

input.eg-ainput::placeholder,
select.eg-ainput::placeholder,
textarea.eg-ainput::placeholder {
  color: #b99c9c;
}

input.eg-ainput:focus,
select.eg-ainput:focus,
textarea.eg-ainput:focus {
  outline: none;
  border-color: var(--eg-red-main);
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(166, 27, 27, 0.12);
}

.eg-ainput--area {
  height: auto;
  min-height: 72px;
  resize: vertical;
  line-height: 1.5;
}

.eg-aselect {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 36px;
  cursor: pointer;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%237A4A4A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 13px center;
  background-size: 12px;
}

.eg-atoggle {
  position: relative;
  width: 44px;
  height: 24px;
  border: 0;
  border-radius: 30px;
  background: #e5d5d5;
  cursor: pointer;
  transition: background 0.22s ease;
  flex-shrink: 0;
  padding: 0;
}

.eg-atoggle--knob {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.22);
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.eg-atoggle.on {
  background: var(--eg-red-main);
}

.eg-atoggle.on .eg-atoggle--knob {
  transform: translateX(20px);
}

.eg-aprogress {
  height: 8px;
  border-radius: 30px;
  background: #f4e3e3;
  overflow: hidden;
}

.eg-aprogress--bar {
  height: 100%;
  border-radius: 30px;
  transition: width 0.35s ease;
}

.eg-aempty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 44px 20px;
  gap: 6px;
}

.eg-aempty--icon {
  width: 58px;
  height: 58px;
  margin-bottom: 6px;
  border-radius: 50%;
  background: var(--eg-blush);
  color: var(--eg-red-main);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

.eg-aempty--title {
  color: #3a2323;
  font-size: 16px;
  font-weight: 800;
}

.eg-aempty--desc {
  max-width: 420px;
  color: var(--eg-muted);
  font-size: 13px;
  line-height: 1.55;
}

.eg-aempty--action {
  margin-top: 10px;
}

.eg-amodal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 18px;
  background: rgba(20, 10, 10, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.eg-amodal--backdrop {
  position: absolute;
  inset: 0;
  cursor: pointer;
}

.eg-amodal--card {
  position: relative;
  z-index: 2;
  width: 580px;
  max-width: 100%;
  margin: auto;
  background: #ffffff;
  border-radius: 24px;
  border: 1.5px solid #fedcd8;
  box-shadow: 0 25px 80px rgba(166, 27, 27, 0.2), 0 10px 30px rgba(0, 0, 0, 0.15);
  animation: egModalIn 0.28s cubic-bezier(0.16, 1, 0.3, 1) both;
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.eg-amodal--card.wide {
  width: 860px;
}

@keyframes egModalIn {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.eg-amodal--head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 28px;
  border-bottom: 1px solid #feeae8;
  background: #ffffff;
  flex-shrink: 0;
}

.eg-amodal--title {
  margin: 0;
  color: var(--eg-dark, #1c1111);
  font-size: 19px;
  font-weight: 800;
}

.eg-amodal--sub {
  margin: 4px 0 0;
  color: var(--eg-muted, #7A4A4A);
  font-size: 13px;
}

.eg-amodal--body {
  padding: 24px 28px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  scrollbar-width: thin;
  scrollbar-color: #fedcd8 transparent;
}

.eg-amodal--body::-webkit-scrollbar {
  width: 6px;
}

.eg-amodal--body::-webkit-scrollbar-thumb {
  background: #fedcd8;
  border-radius: 10px;
}

.eg-amodal--body::-webkit-scrollbar-thumb:hover {
  background: var(--eg-red-main);
}

.eg-amodal--foot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding: 18px 28px;
  border-top: 1px solid #feeae8;
  background: #fffaf9;
  flex-shrink: 0;
  flex-wrap: wrap;
}

.eg-asect {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 22px 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px dashed #f2e0e0;
}

.eg-asect--title {
  margin: 0;
  color: var(--color-heading);
  font-size: 15px;
  font-weight: 800;
}

/* ---------- 18c. Tones ---------- */

.tone-red {
  background: #fdecec !important;
  color: #b91c1c !important;
}
.tone-green {
  background: #e4f7ec !important;
  color: #15803d !important;
}
.tone-amber {
  background: #fdf3dd !important;
  color: #b45309 !important;
}
.tone-blue {
  background: #e5f0fd !important;
  color: #1d4ed8 !important;
}
.tone-muted {
  background: #f1e9e9 !important;
  color: #7a4a4a !important;
}
.tone-dark {
  background: #2c1f1f !important;
  color: #ffffff !important;
}

.eg-astat--icon.tone-red,
.eg-aiconbtn.tone-red {
  background: #fdecec;
  color: #b91c1c;
}
.eg-astat--icon.tone-green,
.eg-aiconbtn.tone-green {
  background: #e4f7ec;
  color: #15803d;
}
.eg-astat--icon.tone-amber,
.eg-aiconbtn.tone-amber {
  background: #fdf3dd;
  color: #b45309;
}
.eg-astat--icon.tone-blue,
.eg-aiconbtn.tone-blue {
  background: #e5f0fd;
  color: #1d4ed8;
}
.eg-astat--icon.tone-muted,
.eg-aiconbtn.tone-muted {
  background: #f1e9e9;
  color: #7a4a4a;
}
.eg-astat--icon.tone-dark,
.eg-aiconbtn.tone-dark {
  background: #2c1f1f;
  color: #ffffff;
}

.eg-aprogress--bar.tone-red {
  background: linear-gradient(90deg, #ff5a5a, #a61b1b);
}
.eg-aprogress--bar.tone-green {
  background: linear-gradient(90deg, #4ade80, #15803d);
}
.eg-aprogress--bar.tone-amber {
  background: linear-gradient(90deg, #fbbf24, #b45309);
}
.eg-aprogress--bar.tone-blue {
  background: linear-gradient(90deg, #60a5fa, #1d4ed8);
}
.eg-aprogress--bar.tone-muted {
  background: linear-gradient(90deg, #d9c4c4, #7a4a4a);
}
.eg-aprogress--bar.tone-dark {
  background: linear-gradient(90deg, #555, #222);
}

.eg-abadge.tone-red {
  background: #fdecec;
  color: #b91c1c;
}
.eg-abadge.tone-green {
  background: #e4f7ec;
  color: #15803d;
}
.eg-abadge.tone-amber {
  background: #fdf3dd;
  color: #b45309;
}
.eg-abadge.tone-blue {
  background: #e5f0fd;
  color: #1d4ed8;
}
.eg-abadge.tone-muted {
  background: #f1e9e9;
  color: #7a4a4a;
}
.eg-abadge.tone-dark {
  background: #2c1f1f;
  color: #ffffff;
}

strong.tone-red,
span.tone-red,
.eg-muted-text strong.tone-red {
  background: none;
}

/* ---------- 18cb. Custom dropdown ---------- */

.eg-dropdown {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}

.eg-dropdown--trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 150px;
  width: 100%;
  height: 42px;
  padding: 0 12px;
  border: 1.5px solid #e8dede;
  border-radius: 10px;
  background: #ffffff;
  color: var(--color-heading);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.eg-dropdown--trigger:hover {
  border-color: #d8c9bf;
}
.eg-dropdown--trigger:focus-visible,
.eg-dropdown--trigger[aria-expanded="true"] {
  outline: none;
  border-color: var(--eg-red-main);
  box-shadow: 0 0 0 3px rgba(166, 27, 27, 0.14);
}
.eg-dropdown--trigger:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.eg-dropdown--trigger.tone-red,
.eg-dropdown--trigger.tone-green,
.eg-dropdown--trigger.tone-amber,
.eg-dropdown--trigger.tone-blue,
.eg-dropdown--trigger.tone-muted,
.eg-dropdown--trigger.tone-dark {
  border-radius: 30px;
  border-width: 1.5px;
}
.eg-dropdown--trigger.tone-red { background: #fdecec; color: #b91c1c; border-color: #f6c6c6; }
.eg-dropdown--trigger.tone-green { background: #e4f7ec; color: #15803d; border-color: #bfe8cd; }
.eg-dropdown--trigger.tone-amber { background: #fdf3dd; color: #b45309; border-color: #f3d9a8; }
.eg-dropdown--trigger.tone-blue { background: #e5f0fd; color: #1d4ed8; border-color: #c4dcfa; }
.eg-dropdown--trigger.tone-muted { background: #f1e9e9; color: #7a4a4a; border-color: #e2d0d0; }
.eg-dropdown--trigger.tone-dark { background: #2c1f1f; color: #ffffff; border-color: #2c1f1f; }

.eg-dropdown--chev {
  margin-left: auto;
  font-size: 10px;
  opacity: 0.65;
  transition: transform 0.2s ease;
}
.eg-dropdown--chev.open {
  transform: rotate(180deg);
}

.eg-dropdown--menu {
  position: absolute;
  z-index: 120;
  top: calc(100% + 6px);
  left: 0;
  min-width: 100%;
  max-height: 280px;
  overflow-y: auto;
  padding: 6px;
  background: #ffffff;
  border: 1px solid #eee2da;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(59, 31, 31, 0.14);
  animation: eg-drop-fade 0.12s ease;
}

.eg-dropdown--menu-fixed {
  position: fixed;
  z-index: 10050;
}
@keyframes eg-drop-fade {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.eg-dropdown--item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 9px 10px;
  border: 0;
  border-radius: 8px;
  background: none;
  color: var(--color-heading);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.15s ease;
}
.eg-dropdown--item i {
  font-size: 12px;
  width: 14px;
  text-align: center;
  opacity: 0.7;
}
.eg-dropdown--item i.fa-check {
  margin-left: auto;
  opacity: 1;
}
.eg-dropdown--item:hover {
  background: #f8efe8;
}
.eg-dropdown--item.active {
  background: #fdecec;
  color: var(--eg-red-main);
}
.eg-dropdown--item.tone-red { color: #b91c1c; }
.eg-dropdown--item.tone-green { color: #15803d; }
.eg-dropdown--item.tone-amber { color: #b45309; }
.eg-dropdown--item.tone-blue { color: #1d4ed8; }
.eg-dropdown--item.tone-muted { color: #7a4a4a; }
.eg-dropdown--item.tone-dark { color: #2c1f1f; }
.eg-dropdown--item.tone-red:hover { background: #fdecec; }
.eg-dropdown--item.tone-green:hover { background: #e4f7ec; }
.eg-dropdown--item.tone-amber:hover { background: #fdf3dd; }
.eg-dropdown--item.tone-blue:hover { background: #e5f0fd; }
.eg-dropdown--item.tone-muted:hover { background: #f1e9e9; }
.eg-dropdown--item.tone-dark:hover { background: #3a2c2c; color: #fff; }

.eg-dropdown--placeholder {
  color: #a89898;
  font-weight: 500;
}

.eg-projecthead--strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed #eee2da;
}
.eg-projecthead--due {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 12px;
  background: #eef6ee;
  color: #15803d;
  border-radius: 30px;
  font-size: 12px;
  font-weight: 800;
}
.eg-projecthead--due.warn {
  background: #fdf3dd;
  color: #b45309;
}
.eg-projecthead--due.risk {
  background: #fdecec;
  color: #b91c1c;
}
.eg-projecthead--meta-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 600;
  color: #7a4a4a;
}
.eg-projecthead--meta-chip i {
  opacity: 0.7;
}

.eg-projectrisk {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 12px;
}
.eg-projectrisk > i {
  font-size: 18px;
}
.eg-projectrisk.v-overdue {
  background: #fdecec;
  border: 1px solid #f6c2c2;
  color: #b91c1c;
}
.eg-projectrisk.v-due-soon {
  background: #fdf3dd;
  border: 1px solid #f0d9a6;
  color: #b45309;
}
.eg-projectrisk div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}
.eg-projectrisk strong {
  font-size: 14px;
}
.eg-projectrisk span {
  font-size: 12.5px;
  opacity: 0.9;
}

.eg-admin-sidebar--user-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #c14343, #7c1d1d);
  color: #ffffff;
  font-weight: 800;
  flex: none;
}
.eg-admin-sidebar--user div {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.eg-admin-sidebar--user strong {
  color: #ffffff;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.eg-admin-sidebar--user .eg-abadge {
  text-transform: capitalize;
  font-size: 10px;
  width: fit-content;
}

.eg-acct-hint {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 14px 16px;
  background: #f8efe8;
  border: 1px solid #f0dfd2;
  border-radius: 12px;
  color: #7a4a4a;
  font-size: 13px;
}
.eg-acct-hint i {
  color: var(--eg-red-main);
  margin-top: 2px;
}
.eg-acct-user {
  display: flex;
  align-items: center;
  gap: 10px;
}
.eg-acct-user .eg-admin-sidebar--user-avatar {
  background: linear-gradient(135deg, #b89a8a, #8a6a5a);
  width: 32px;
  height: 32px;
  font-size: 13px;
}
.eg-admin-actions--inline {
  gap: 8px;
}
.eg-admin-actions--inline .eg-atoggle {
  margin: 0;
}

.eg-fomo-editor {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.eg-fomo-editor--row {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 14px;
  border: 1px solid #eee2da;
  border-radius: 12px;
  background: #fffdfc;
}
.eg-fomo-editor--preview {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  overflow: hidden;
  background: #f6ede6;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.eg-fomo-editor--preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.eg-fomo-editor--fields {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.eg-fomo-avatars {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.eg-fomo-avatars--item {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  border: 2px solid #eee2da;
  background: #ffffff;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.eg-fomo-avatars--item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.eg-fomo-avatars--item:hover {
  border-color: #d8c9bf;
}
.eg-fomo-avatars--item.active {
  border-color: var(--eg-red-main);
  box-shadow: 0 0 0 3px rgba(166, 27, 27, 0.15);
}

/* ---------- 18d. Layout helpers ---------- */

.eg-admin-stack {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}

.eg-admin-grid {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.eg-admin-grid--stats {
  grid-template-columns: repeat(4, 1fr);
}

.eg-admin-grid--2 {
  grid-template-columns: repeat(2, 1fr);
}

.eg-admin-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}

.eg-admin-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.eg-admin-toolbar--count {
  color: var(--eg-muted);
  font-size: 13px;
  font-weight: 700;
}

.eg-admin-toolbar--spacer {
  flex: 1;
}

.eg-admin-filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.eg-admin-filter {
  padding: 7px 14px;
  border: 1px solid #f0dcdc;
  border-radius: 30px;
  background: #fff6f4;
  color: var(--eg-muted);
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 700;
  text-transform: capitalize;
  cursor: pointer;
  transition: all 0.2s ease;
}

.eg-admin-filter:hover {
  border-color: #ecc9c9;
  color: var(--eg-red-main);
}

.eg-admin-filter.active {
  background: var(--eg-red-main);
  border-color: var(--eg-red-main);
  color: #ffffff;
  box-shadow: 0 6px 16px rgba(166, 27, 27, 0.25);
}

.eg-admin-loading {
  padding: 36px 10px;
  color: var(--eg-muted);
  font-size: 14px;
  font-weight: 600;
  text-align: center;
}

.eg-muted-text {
  color: var(--eg-muted);
  font-size: 13.5px;
  line-height: 1.6;
}

input.eg-toolbar-search {
  flex: 1 1 260px;
  width: 100%;
  min-width: 220px;
}

.eg-admin-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
}

.eg-admin-toolbar--spacer {
  display: none;
}

.eg-admin-savebar {
  display: flex;
  justify-content: flex-end;
  padding-top: 18px;
  border-top: 1px solid #f6e8e8;
}

/* ---------- 18e. Overview tab ---------- */

.eg-admin-discount {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.eg-admin-discount--prices {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.eg-admin-discount--old {
  color: var(--eg-muted);
  font-size: 17px;
  font-weight: 600;
  text-decoration: line-through;
}

.eg-admin-discount--new {
  color: var(--eg-red-main);
  font-size: 30px;
  font-weight: 800;
  line-height: 1;
}

.eg-admin-discount--meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  color: var(--eg-muted);
  font-size: 13px;
}

.eg-admin-discount--meta i {
  color: var(--eg-red-main);
  margin-right: 4px;
}

.eg-admin-paystack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.eg-admin-paystack--mode {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--eg-muted);
  font-size: 13px;
  line-height: 1.5;
}

.eg-admin-paystack--stat {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
}

.eg-admin-projlist {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.eg-admin-projrow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--eg-line);
  border-radius: 14px;
  background: var(--eg-tile-bg);
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.eg-admin-projrow:hover {
  border-color: #ecc3c3;
  background: #fff4f2;
}

.eg-admin-projrow--name {
  display: flex;
  flex-direction: column;
  min-width: 170px;
  flex: 1;
}

.eg-admin-projrow--name strong {
  color: #3a2323;
  font-size: 14px;
}

.eg-admin-projrow--name span {
  color: var(--eg-muted);
  font-size: 12px;
}

.eg-admin-projrow--progress {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 140px;
}

.eg-admin-projrow--progress .eg-aprogress {
  flex: 1;
}

.eg-admin-projrow--progress span {
  color: var(--eg-muted);
  font-size: 12px;
  font-weight: 700;
  width: 34px;
  text-align: right;
}

.eg-admin-projrow--due {
  color: var(--eg-muted);
  font-size: 12.5px;
}

.eg-admin-projrow--due i {
  color: var(--eg-red-main);
  margin-right: 4px;
}

.eg-admin-minirows {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.eg-admin-minirow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 13px;
  border: 1px solid var(--eg-line);
  border-radius: 13px;
  background: var(--eg-tile-bg);
}

.eg-admin-minirow > div:first-child {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.eg-admin-minirow strong {
  color: #3a2323;
  font-size: 13.5px;
}

.eg-admin-minirow span {
  color: var(--eg-muted);
  font-size: 12px;
}

.eg-admin-minirow--amount {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
}

/* ---------- 18f. Projects tab ---------- */

.eg-admin-projectcard {
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  background: var(--eg-tile-bg);
  border: 1px solid var(--eg-line);
  border-radius: 20px;
}

.eg-admin-projectcard--head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid #f6e8e8;
}

.eg-admin-projectcard--avatar {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: linear-gradient(135deg, #ff5a5a, #a61b1b);
  color: #ffffff;
  font-size: 18px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.eg-admin-projectcard--name {
  margin: 0;
  color: #3a2323;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
}

.eg-admin-projectcard--client {
  display: block;
  margin-top: 2px;
  color: var(--eg-muted);
  font-size: 12px;
}

.eg-admin-projectcard--head .eg-abadge {
  margin-left: auto;
}

.eg-admin-projectcard--body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 18px;
  flex: 1;
}

.eg-admin-projectcard--progress {
  display: flex;
  align-items: center;
  gap: 10px;
}

.eg-admin-projectcard--progress .eg-aprogress {
  flex: 1;
}

.eg-admin-projectcard--progress span {
  color: var(--eg-muted);
  font-size: 12px;
  font-weight: 700;
}

.eg-admin-projectcard--meta {
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: var(--eg-muted);
  font-size: 12.5px;
}

.eg-admin-projectcard--meta i {
  width: 16px;
  color: var(--eg-red-main);
  margin-right: 5px;
  text-align: center;
}

.eg-admin-projectcard--foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 13px 18px;
  border-top: 1px solid #f6e8e8;
  background: #fffaf9;
}

.eg-projecthead {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 16px;
}

.eg-projecthead--avatar {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: linear-gradient(135deg, #ff5a5a, #a61b1b);
  color: #ffffff;
  font-size: 24px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.eg-projecthead--info {
  flex: 1;
  min-width: 220px;
}

.eg-projecthead--info .eg-muted-text {
  margin: 4px 0 0;
  font-size: 13px;
}

.eg-projecthead--info .eg-muted-text i {
  color: var(--eg-red-main);
  margin-right: 5px;
}

.eg-projecthead--status {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  margin-left: auto;
}

.eg-admin-checklist {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.eg-admin-checklist--row {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 9px 11px;
  border: 1px solid var(--eg-line);
  border-radius: 12px;
  background: var(--eg-tile-bg);
  transition: opacity 0.2s ease;
}

.eg-admin-checklist--row.done {
  opacity: 0.62;
}

.eg-admin-checklist--row.done .eg-admin-checklist--text strong {
  text-decoration: line-through;
}

.eg-admin-check {
  width: 22px;
  height: 22px;
  border: 2px solid #e5cfcf;
  border-radius: 50%;
  background: #ffffff;
  color: #ffffff;
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.eg-admin-checklist--row.done .eg-admin-check {
  background: var(--eg-red-main);
  border-color: var(--eg-red-main);
}

.eg-admin-checklist--text {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

.eg-admin-checklist--text strong {
  color: #3a2323;
  font-size: 13.5px;
  font-weight: 700;
}

.eg-admin-checklist--text span {
  color: var(--eg-muted);
  font-size: 12px;
}

.eg-admin-inlineadd {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.eg-admin-inlineadd .eg-ainput {
  flex: 1;
  min-width: 0;
}

.eg-admin-inlineadd .eg-ainput[type="datetime-local"] {
  max-width: 190px;
}

.eg-admin-inlineadd--block {
  flex-direction: column;
  align-items: stretch;
}

.eg-admin-inlineadd--block .eg-abtn {
  align-self: flex-start;
}

.eg-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.eg-timeline--row {
  display: flex;
  gap: 13px;
  padding: 4px 0 16px;
  position: relative;
}

.eg-timeline--row:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 18px;
  bottom: 0;
  width: 2px;
  background: #f3dfdf;
}

.eg-timeline--dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--eg-red-main);
  box-shadow: 0 0 0 3px var(--eg-blush);
  flex-shrink: 0;
  margin-top: 5px;
  z-index: 1;
}

.eg-timeline--row p {
  margin: 0 0 3px;
  color: #3a2323;
  font-size: 13.5px;
  line-height: 1.5;
}

.eg-timeline--time {
  color: var(--eg-muted);
  font-size: 11.5px;
}

.eg-admin-details {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.eg-admin-details > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.eg-admin-details strong {
  color: #3a2323;
  font-size: 14px;
  font-weight: 700;
}

/* ---------- 18g. Tables ---------- */

.eg-admin-tablewrap {
  padding: 0;
  overflow: hidden;
  border-radius: 18px;
  border: 1.5px solid #fedcd8;
  background: #ffffff;
  box-shadow: 0 6px 20px rgba(166, 27, 27, 0.04);
}

/* Keep wide tables scrollable on small screens */
.eg-admin-tablewrap-scroll {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.eg-admin-tablewrap-scroll .eg-atable {
  min-width: 720px;
}

.eg-admin-tablewrap .eg-acard-head {
  padding: 18px 20px 14px;
  margin-bottom: 0;
}

.eg-atable {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 680px;
}

.eg-atable th {
  padding: 13px 18px;
  background: linear-gradient(135deg, #FFF7F5 0%, #FFECE8 100%);
  border-bottom: 1.5px solid #fedcd8;
  color: #801212;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-align: left;
  white-space: nowrap;
}

.eg-atable td {
  padding: 14px 18px;
  border-bottom: 1px solid #feeae8;
  color: #3a2323;
  font-size: 13.5px;
  vertical-align: middle;
}

.eg-atable tbody tr {
  transition: background 0.15s ease;
}

.eg-atable tbody tr:hover {
  background: #fff8f7;
}

.eg-atable tbody tr:last-child td {
  border-bottom: 0;
}

.eg-atable td strong {
  font-weight: 800;
}

.eg-atable .eg-admin-tablewrap-scroll {
  overflow-x: auto;
}

.eg-tdsub {
  margin-top: 3px;
  color: var(--eg-muted);
  font-size: 12px;
  line-height: 1.4;
}

.eg-tddate {
  color: var(--eg-muted);
  white-space: nowrap;
  font-size: 12.5px;
}

.eg-taright {
  text-align: right;
}

.eg-tdactions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  white-space: nowrap;
}

/* ---------- 18h. Invoices ---------- */

.eg-invoice-total {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-right: auto;
  color: var(--eg-muted);
  font-size: 13px;
  font-weight: 700;
}

.eg-invoice-total strong {
  color: var(--eg-red-main);
  font-size: 20px;
}

.eg-invoice-items {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.eg-invoice-items--row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.eg-invoice-items--row .eg-ainput:first-child,
.eg-invoice-items--row input.eg-ainput:first-child {
  flex: 1;
  min-width: 0;
}

input.eg-invoice-items--qty {
  width: 74px;
  flex-shrink: 0;
}

input.eg-invoice-items--amt {
  width: 110px;
  flex-shrink: 0;
}

.eg-invoice-items--sum {
  width: 88px;
  text-align: right;
  color: #3a2323;
  font-size: 13px;
  font-weight: 800;
  flex-shrink: 0;
}

.eg-invoice-sums {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 7px;
  margin-top: 12px;
}

.eg-invoice-sums > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  min-width: 210px;
  color: var(--eg-muted);
  font-size: 13px;
}

.eg-invoice-sums strong {
  color: #3a2323;
  font-weight: 800;
}

.eg-invoice-sums--total {
  border-top: 2px solid var(--eg-red-main);
  padding-top: 9px;
}

.eg-invoice-sums--total span {
  color: var(--eg-red-main);
  font-weight: 800;
}

.eg-invoice-sums--total strong {
  color: var(--eg-red-main);
  font-size: 17px;
}

.eg-invoice-doc {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.eg-invoice-doc .eg-atable {
  min-width: 0;
}

.eg-invoice-doc--head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.eg-invoice-doc--head p {
  margin: 8px 0 0;
  font-size: 12.5px;
}

.eg-invoice-doc--meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
}

.eg-invoice-doc--meta > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.eg-invoice-doc--meta span {
  color: var(--eg-muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.eg-invoice-doc--meta strong {
  color: #3a2323;
  font-size: 13.5px;
}

.eg-invoice-doc--client {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 14px 16px;
  border: 1px solid var(--eg-line);
  border-radius: 14px;
  background: var(--eg-tile-bg);
}

.eg-invoice-doc--client strong {
  color: #3a2323;
  font-size: 15px;
}

.eg-invoice-doc--client .eg-muted-text {
  margin: 0;
  font-size: 12.5px;
}

/* ---------- 18i. Notifications ---------- */

.eg-admin-notilist {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.eg-admin-noti {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 14px 16px;
  border: 1px solid var(--eg-line);
  border-radius: 16px;
  background: var(--eg-tile-bg);
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease;
}

.eg-admin-noti.unread {
  background: #fff4f2;
  border-color: #f3cccc;
}

.eg-admin-noti:hover {
  border-color: #ecc9c9;
}

.eg-admin-noti--icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--eg-blush);
  color: var(--eg-red-main);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}

.eg-admin-noti.unread .eg-admin-noti--icon {
  background: #ffe0e0;
}

.eg-admin-noti--body {
  flex: 1;
  min-width: 0;
}

.eg-admin-noti--title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.eg-admin-noti--title strong {
  color: #3a2323;
  font-size: 14px;
  font-weight: 800;
}

.eg-admin-noti--title span {
  color: var(--eg-muted);
  font-size: 11.5px;
  white-space: nowrap;
}

.eg-admin-noti--body p {
  margin: 4px 0 0;
  color: var(--eg-muted);
  font-size: 13px;
  line-height: 1.5;
}

.eg-admin-noti--actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.eg-admin-noti.unread .eg-admin-noti--body p {
  color: #5c3a3a;
}

/* ---------- 18j. Discount & content tabs ---------- */

.eg-atoggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid #f8ecec;
  color: #3a2323;
  font-size: 14px;
  font-weight: 700;
}

.eg-atoggle-row span {
  display: block;
  margin-top: 2px;
  color: var(--eg-muted);
  font-size: 12.5px;
  font-weight: 500;
}

.eg-atoggle-row--btn {
  padding-top: 16px;
  display: flex;
  justify-content: flex-end;
}

.eg-discount-preview {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  border: 1px solid var(--eg-line);
  border-radius: 18px;
  background: var(--eg-tile-bg);
  align-self: start;
}

.eg-discount-preview--price {
  color: var(--eg-red-main);
  font-size: 40px;
  font-weight: 800;
  line-height: 1;
}

.eg-discount-preview--row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.eg-discount-preview--old {
  color: var(--eg-muted);
  font-size: 16px;
  font-weight: 600;
  text-decoration: line-through;
}

.eg-discount-preview--count {
  color: var(--eg-muted);
  font-size: 13.5px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid var(--eg-line);
}

.eg-discount-preview--count strong {
  color: var(--eg-red-main);
}

.eg-discount-preview--spots {
  color: var(--eg-muted);
  font-size: 13px;
}

.eg-discount-preview--spots strong {
  color: #3a2323;
}

/* ---------- 18k. Responsive ---------- */

@media (max-width: 1199px) {
  .eg-admin-grid--stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .eg-admin-grid--3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 991px) {
  .eg-admin {
    flex-direction: column;
    gap: 12px;
    padding: 14px 14px 14px;
  }

  .eg-admin-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 10010;
    width: 280px;
    max-width: 82vw;
    height: 100vh;
    background: linear-gradient(180deg, #fff7f5 0%, #ffe9e9 100%);
    box-shadow: 24px 0 60px rgba(40, 14, 14, 0.25);
    transform: translateX(-105%);
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
    overflow-y: auto;
  }

  .eg-admin-sidebar.open {
    transform: translateX(0);
  }

  .eg-admin-burger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .eg-admin-card {
    border-radius: 20px;
    padding: 22px 20px;
  }

  .eg-admin-card--title {
    font-size: 22px;
  }

  .eg-admin-grid--2 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .eg-admin-grid--stats,
  .eg-admin-grid--3 {
    grid-template-columns: 1fr;
  }

  .eg-admin-card--head {
    flex-direction: column;
  }

  .eg-admin-toolbar {
    align-items: stretch;
  }

  .eg-admin-toolbar > .eg-abtn,
  .eg-admin-toolbar > .eg-ainput {
    flex: 1;
    min-width: 0;
  }

  input.eg-toolbar-search {
    width: 100%;
  }

  .eg-invoice-items--row {
    flex-wrap: wrap;
  }

  input.eg-invoice-items--qty,
  input.eg-invoice-items--amt {
    width: calc(50% - 4px);
  }

  .eg-invoice-items--sum {
    width: auto;
    flex: 1;
  }

  .eg-projecthead--status {
    align-items: flex-start;
    margin-left: 0;
    width: 100%;
  }

  .eg-admin-details {
    grid-template-columns: 1fr;
  }

  .eg-atoast {
    top: 14px;
    right: 14px;
    left: 14px;
    max-width: none;
  }

  .eg-amodal {
    padding: 18px 12px;
    align-items: stretch;
  }

  .eg-amodal--card {
    max-height: calc(100vh - 36px);
    border-radius: 18px;
  }

  .eg-amodal--body {
    padding: 18px 16px;
  }

  .eg-amodal--head,
  .eg-amodal--foot {
    padding: 16px;
  }

  .eg-invoice-doc--meta {
    gap: 8px 18px;
  }
}

/* ---------- 18l. Missing bits: modal actions, lead details, invoice rows ---------- */

.eg-admin-modal-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 16px;
  margin-top: 2px;
  border-top: 1px solid #f6e8e8;
}

.eg-admin-details--label {
  margin: 14px 0 6px;
  color: #4a2e2e;
  font-size: 12.5px;
  font-weight: 700;
}

.eg-admin-invrow {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--eg-line);
  border-radius: 14px;
  background: var(--eg-tile-bg);
}

.eg-admin-invrow--meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}

.eg-admin-invrow--meta strong {
  color: #3a2323;
  font-size: 14px;
}

.eg-admin-invrow--meta span {
  color: var(--eg-muted);
  font-size: 12.5px;
}

/* Keyboard focus — every interactive admin control gets a visible ring */
.eg-admin-sidebar--nav button:focus-visible,
.eg-admin-sidebar--foot a:focus-visible,
.eg-admin-sidebar--foot button:focus-visible,
.eg-abtn:focus-visible,
.eg-aiconbtn:focus-visible,
.eg-admin-filter:focus-visible,
.eg-admin-burger:focus-visible,
.eg-admin-projrow:focus-visible,
.eg-admin-noti:focus-visible,
.eg-admin-hbtn:focus-visible,
.eg-admin-menu--foot button:focus-visible,
.eg-admin-menu--noti-item:focus-visible {
  outline: 2px solid var(--eg-red-main);
  outline-offset: 2px;
}

.eg-ainput:focus-visible {
  outline: 2px solid rgba(166, 27, 27, 0.4);
  outline-offset: 1px;
}

@media (prefers-reduced-motion: reduce) {
  .eg-admin *,
  .eg-admin *::before,
  .eg-admin *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ---------- 18m. Admin login ---------- */

.eg-login {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #FFF7F5 0%, #FFEDEA 55%, #FFE4E1 100%);
  padding: 20px;
  font-family: var(--font-body, "Plus Jakarta Sans", sans-serif);
}

.eg-login--card {
  width: 100%;
  max-width: 400px;
  background: #ffffff;
  border-radius: 24px;
  padding: 36px 30px;
  border: 1.5px solid #fedcd8;
  box-shadow: 0 20px 50px rgba(166, 27, 27, 0.08);
}

.eg-login--logo {
  display: block;
  width: 140px;
  margin: 0 auto 20px;
}

.eg-login--title {
  text-align: center;
  font-size: 22px;
  font-weight: 800;
  color: var(--eg-dark, #1c1111);
  margin: 0 0 4px;
}

.eg-login--sub {
  text-align: center;
  color: var(--eg-muted, #7A4A4A);
  font-size: 13px;
  margin: 0 0 24px;
}

.eg-login--label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--eg-dark, #1c1111);
  margin-bottom: 6px;
}

input.eg-login--input {
  width: 100% !important;
  box-sizing: border-box !important;
  height: 46px !important;
  padding: 10px 14px !important;
  font-size: 14.5px !important;
  border: 1.5px solid #fedcd8 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #3a2323 !important;
}

input.eg-login--input:focus {
  border-color: var(--eg-red-main) !important;
  box-shadow: 0 0 0 3px rgba(166, 27, 27, 0.12) !important;
  outline: none !important;
}

.eg-login--btn {
  width: 100%;
  margin-top: 14px;
  height: 46px;
  padding: 10px 20px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 700;
  background: var(--eg-red-main, #A61B1B);
  color: #ffffff;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(166, 27, 27, 0.25);
  transition: all 0.2s ease;
}

.eg-login--btn:hover:not(:disabled) {
  background: var(--eg-red-deep, #6E1414);
}

.eg-login--btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.eg-login--error {
  background: #fef2f2;
  color: #dc2626;
  border: 1px solid #fecaca;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  margin-top: 14px;
  text-align: center;
}

.eg-login--hint {
  text-align: center;
  font-size: 12px;
  color: var(--eg-muted, #7A4A4A);
  margin-top: 16px;
}

.eg-login--checking {
  color: var(--eg-red-main, #A61B1B);
  font-size: 14px;
  font-weight: 700;
}

/* ---------- 18n. Layout & spacing utilities ---------- */

.eg-admin-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.eg-inline-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.eg-inline-actions.end {
  justify-content: flex-end;
}

.eg-admin-scroll {
  max-height: 55vh;
  overflow-y: auto;
}

.eg-admin-mt {
  margin-top: 14px;
}

.eg-tdstrike {
  text-decoration: line-through;
}

.eg-admin-invrow--amount {
  min-width: 90px;
  text-align: right;
}

.eg-admin-invrow--warn {
  color: var(--eg-muted);
  font-size: 12px;
}

.eg-invoice-doc--logo {
  height: 34px;
  width: auto;
}

/* ---------------------------------------------------------------------------
   Admin card-top actions: notifications bell + account chip (sidebar twins)
--------------------------------------------------------------------------- */
.eg-admin-headbox {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.eg-admin-hbtn-wrap {
  position: relative;
}
.eg-admin-hbtn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
  background: #ffffff;
  border: 1px solid rgba(166, 27, 27, 0.14);
  border-radius: 14px;
  padding: 8px 13px;
  color: var(--color-heading);
  font-family: inherit;
  font-size: 13px;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.eg-admin-hbtn:hover {
  border-color: rgba(166, 27, 27, 0.38);
  box-shadow: 0 8px 20px rgba(166, 27, 27, 0.09);
}
.eg-admin-hbtn > i {
  font-size: 16px;
  color: var(--eg-red-main);
}
.eg-admin-hbtn-wrap.open .eg-admin-hbtn {
  border-color: rgba(166, 27, 27, 0.4);
  box-shadow: 0 8px 20px rgba(166, 27, 27, 0.1);
}
.eg-admin-hbadge {
  position: absolute;
  top: -7px;
  right: -6px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 10px;
  background: var(--eg-red-main);
  color: #ffffff;
  font-size: 10.5px;
  font-weight: 800;
  font-style: normal;
  line-height: 18px;
  text-align: center;
}
.eg-admin-prof {
  padding: 6px 12px 6px 6px;
}
.eg-admin-prof--avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  flex: none;
  background: linear-gradient(135deg, #c14343, #7c1d1d);
  color: #ffffff;
  font-weight: 800;
  font-size: 14px;
}
.eg-admin-prof--meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  line-height: 1.15;
}
.eg-admin-prof--meta strong {
  font-size: 12.5px;
  color: var(--color-heading);
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.eg-admin-prof--meta .eg-abadge,
.eg-admin-menu--prow .eg-abadge {
  font-size: 9.5px;
  text-transform: capitalize;
}
.eg-admin-prof--caret {
  font-size: 11px !important;
  color: var(--eg-muted) !important;
}

.eg-admin-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 80;
  width: 350px;
  max-width: calc(100vw - 32px);
  background: #ffffff;
  border: 1px solid rgba(166, 27, 27, 0.1);
  border-radius: 16px;
  box-shadow: 0 18px 50px rgba(90, 20, 20, 0.16);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.eg-admin-menu--head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(166, 27, 27, 0.08);
}
.eg-admin-menu--head strong {
  font-size: 14px;
  color: var(--color-heading);
}
.eg-admin-menu--head .eg-abadge {
  font-size: 10px;
  text-transform: uppercase;
}
.eg-admin-menu--body {
  max-height: 340px;
  overflow-y: auto;
}
.eg-admin-menu--muted {
  padding: 24px 18px;
  color: var(--eg-muted);
  font-size: 13px;
  text-align: center;
}
.eg-admin-menu--noti-item {
  display: flex;
  gap: 10px;
  width: 100%;
  text-align: left;
  padding: 11px 16px;
  cursor: pointer;
  border: 0;
  border-bottom: 1px solid rgba(166, 27, 27, 0.06);
  background: #ffffff;
  font-family: inherit;
}
.eg-admin-menu--noti-item:hover {
  background: #fdf4ef;
}
.eg-admin-menu--noti-item.unread {
  background: #fff6f1;
}
.eg-admin-menu--noti-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex: none;
  border-radius: 10px;
  background: #ffe9e4;
  color: var(--eg-red-main);
  font-size: 13px;
}
.eg-admin-menu--noti-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.eg-admin-menu--noti-info strong {
  font-size: 12.5px;
  color: var(--color-heading);
  line-height: 1.35;
}
.eg-admin-menu--noti-info span {
  font-size: 12px;
  color: var(--eg-muted);
  line-height: 1.45;
}
.eg-admin-menu--noti-info em {
  font-size: 10.5px;
  color: #96706f;
  font-style: normal;
}
.eg-admin-menu--noti-item.unread .eg-admin-menu--noti-info strong::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 6px;
  border-radius: 50%;
  background: var(--eg-red-main);
  vertical-align: middle;
}
.eg-admin-menu--foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 16px;
  border-top: 1px solid rgba(166, 27, 27, 0.08);
}
.eg-admin-menu--foot button {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--eg-red-main);
  padding: 6px 9px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.eg-admin-menu--foot button:hover {
  background: #ffe9e4;
}
.eg-admin-menu--foot button:disabled {
  opacity: 0.45;
  cursor: default;
}

.eg-admin-menu--prof {
  width: 280px;
}
.eg-admin-menu--proftop {
  display: flex;
  gap: 11px;
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid rgba(166, 27, 27, 0.08);
}
.eg-admin-menu--proftop .eg-admin-prof--avatar {
  width: 42px;
  height: 42px;
  font-size: 16px;
}
.eg-admin-menu--proftop > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.eg-admin-menu--proftop-name {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.eg-admin-menu--proftop-name strong {
  font-size: 14px;
  color: var(--color-heading);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.eg-admin-menu--proftop-name .eg-abadge {
  flex: none;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.eg-admin-menu--proftop span {
  font-size: 12px;
  color: var(--eg-muted);
  overflow: hidden;
  text-overflow: ellipsis;
}
.eg-admin-menu--item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 11px 16px;
  border: 0;
  background: none;
  color: var(--color-heading);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.eg-admin-menu--item:hover {
  background: #fdf4ef;
  color: var(--eg-red-main);
}
.eg-admin-menu--item i {
  width: 20px;
  color: var(--eg-red-main);
  font-size: 14px;
  text-align: center;
}

@media (max-width: 680px) {
  .eg-admin-card--head {
    flex-wrap: wrap;
  }
  .eg-admin-prof--meta {
    display: none;
  }
  .eg-admin-prof {
    padding: 6px;
  }
}

/* ==========================================================================
   Admin Design System Hardening: Typography, Rounded Tokens & Print
   ========================================================================== */

.eg-admin,
.eg-admin *:not(i):not([class*="fa-"]):not([class^="fa-"]):not(.fa):not(.fas):not(.far):not(.fab):not(.fad):not(.fat):not(.fal),
.eg-admin h1,
.eg-admin h2,
.eg-admin h3,
.eg-admin h4,
.eg-admin h5,
.eg-admin h6,
.eg-admin p,
.eg-admin span:not([class*="fa-"]):not(.fa):not(.fas):not(.far):not(.fab),
.eg-admin a:not([class*="fa-"]),
.eg-admin strong,
.eg-admin label,
.eg-admin button:not([class*="fa-"]),
.eg-admin input,
.eg-admin select,
.eg-admin textarea,
.eg-admin table,
.eg-admin th,
.eg-admin td,
.eg-admin tr,
.eg-acard,
.eg-atable,
.eg-amodal,
.eg-amodal *:not(i):not([class*="fa-"]):not([class^="fa-"]):not(.fa):not(.fas):not(.far):not(.fab),
.eg-dropdown,
.eg-dropdown *:not(i):not([class*="fa-"]):not([class^="fa-"]):not(.fa):not(.fas):not(.far):not(.fab),
.eg-login,
.eg-login *:not(i):not([class*="fa-"]):not([class^="fa-"]):not(.fa):not(.fas):not(.far):not(.fab) {
  font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Explicit FontAwesome Icon Restoration */
i.fa,
i.fas,
i.far,
i.fal,
i.fat,
i.fad,
i.fab,
i.fa-solid,
i.fa-regular,
i.fa-brands,
.fa,
.fas,
.far,
.fal,
.fat,
.fad,
.fab,
.fa-solid,
.fa-regular,
.fa-brands,
[class*="fa-"],
[class^="fa-"] {
  font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "FontAwesome" !important;
  font-style: normal !important;
  font-variant: normal !important;
  text-rendering: auto !important;
  line-height: 1 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

i.fa-brands,
.fa-brands {
  font-family: "Font Awesome 6 Brands" !important;
}

.eg-astat--value,
.eg-tddate,
.eg-taright,
.eg-invoice-total strong,
.eg-invoice-doc-foot--val,
.eg-tablenum {
  font-variant-numeric: tabular-nums;
}

.eg-admin-tablewrap,
.eg-admin-tablewrap-scroll {
  border-radius: 16px !important;
  overflow: hidden;
}

.eg-admin-tablewrap-scroll .eg-atable {
  border-collapse: separate;
  border-spacing: 0;
}

.eg-acct-hint,
.eg-afield--hint-box,
.eg-callout-card {
  border-radius: 14px !important;
}

.eg-ainput {
  border-radius: 12px !important;
}

.eg-dropdown--menu {
  border-radius: 14px !important;
  box-shadow: 0 16px 40px rgba(166, 27, 27, 0.15), 0 4px 12px rgba(0, 0, 0, 0.06);
}

/* Print Stylesheet for Invoices */
@media print {
  body {
    background: #ffffff !important;
    color: #111111 !important;
  }
  .eg-admin-sidebar,
  .eg-admin-card--head,
  .eg-acard-head--actions,
  .eg-abtn,
  .eg-aiconbtn,
  .eg-toast,
  .eg-header,
  .eg-footer,
  .eg-floating-bar,
  .xb-header {
    display: none !important;
  }
  .eg-admin {
    padding: 0 !important;
    background: #ffffff !important;
    height: auto !important;
    display: block !important;
  }
  .eg-admin-card {
    border: none !important;
    box-shadow: none !important;
    background: #ffffff !important;
    padding: 0 !important;
  }
  .eg-invoice-doc {
    border: 1px solid #e0e0e0 !important;
    box-shadow: none !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 24px !important;
    page-break-inside: avoid;
  }
}

/* ==========================================================================
   Micro-Animations, Button Feedback & Interactive States
   ========================================================================== */

@keyframes egFadeUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes egScaleIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes egPulseSubtle {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.03);
  }
}

/* Button & Interactive Element Feedback */
.eg-abtn,
.eg-aiconbtn,
.eg-admin-navbtn,
.eg-login--btn,
.eg-tab-btn,
button.eg-abtn,
a.eg-abtn {
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer;
  user-select: none;
}

.eg-abtn:hover:not(:disabled),
.eg-login--btn:hover:not(:disabled) {
  transform: translateY(-1.5px);
  box-shadow: 0 6px 18px rgba(166, 27, 27, 0.22) !important;
}

.eg-abtn:active:not(:disabled),
.eg-aiconbtn:active:not(:disabled),
.eg-admin-navbtn:active:not(:disabled),
.eg-login--btn:active:not(:disabled),
.eg-tab-btn:active:not(:disabled),
button:active:not(:disabled) {
  transform: scale(0.96) !important;
}

/* Sidebar navigation item micro-animations */
.eg-admin-navbtn {
  position: relative;
  overflow: hidden;
}

.eg-admin-navbtn:hover:not(.active) {
  background: rgba(166, 27, 27, 0.06) !important;
  color: var(--eg-red-main) !important;
  transform: translateX(3px) !important;
}

.eg-admin-navbtn.active {
  background: linear-gradient(135deg, var(--eg-red-main, #A61B1B) 0%, var(--eg-red-deep, #6E1414) 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(166, 27, 27, 0.28) !important;
}

/* Dashboard tab entry animation */
.eg-admin-stack,
.eg-admin-grid,
.eg-atable-wrap,
.eg-admin-card {
  animation: egFadeUp 0.28s cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* Table row interactive feedback */
.eg-atable tbody tr {
  transition: background-color 0.15s ease, transform 0.15s ease;
}

.eg-atable tbody tr:hover {
  background-color: #fff8f7 !important;
}

/* KPI Card hover micro-animations */
.eg-astat,
.eg-kpi,
.eg-admin-card {
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.eg-astat:hover,
.eg-kpi:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(166, 27, 27, 0.08);
  border-color: #fedcd8 !important;
}

/* ==========================================================================
   Universal Input Field Normalization & Luxury Brand Unification
   ========================================================================== */

.eg-admin input,
.eg-admin select,
.eg-admin textarea,
.eg-amodal input,
.eg-amodal select,
.eg-amodal textarea,
.eg-login input,
.eg-login select,
.eg-login textarea,
.eg-ainput,
input.eg-ainput,
select.eg-ainput,
textarea.eg-ainput,
input[type="text"].eg-ainput,
input[type="email"].eg-ainput,
input[type="password"].eg-ainput,
input[type="tel"].eg-ainput,
input[type="number"].eg-ainput,
input[type="date"].eg-ainput,
input[type="datetime-local"].eg-ainput,
.eg-admin input[type="text"],
.eg-admin input[type="email"],
.eg-admin input[type="password"],
.eg-admin input[type="tel"],
.eg-admin input[type="number"],
.eg-admin input[type="date"],
.eg-admin input[type="datetime-local"],
.eg-amodal input[type="text"],
.eg-amodal input[type="email"],
.eg-amodal input[type="password"],
.eg-amodal input[type="tel"],
.eg-amodal input[type="number"],
.eg-amodal input[type="date"],
.eg-amodal input[type="datetime-local"] {
  width: 100% !important;
  box-sizing: border-box !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 10px 14px !important;
  border: 1.5px solid #fedcd8 !important;
  border-radius: 12px !important;
  background-color: #ffffff !important;
  color: #3a2323 !important;
  font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

.eg-admin textarea,
.eg-amodal textarea,
textarea.eg-ainput,
.eg-ainput--area {
  height: auto !important;
  min-height: 80px !important;
  resize: vertical !important;
  line-height: 1.5 !important;
}

.eg-admin input:focus,
.eg-admin select:focus,
.eg-admin textarea:focus,
.eg-amodal input:focus,
.eg-amodal select:focus,
.eg-amodal textarea:focus,
.eg-login input:focus,
.eg-ainput:focus,
input.eg-ainput:focus,
select.eg-ainput:focus,
textarea.eg-ainput:focus {
  outline: none !important;
  border-color: var(--eg-red-main, #A61B1B) !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(166, 27, 27, 0.12) !important;
}

.eg-admin input::placeholder,
.eg-amodal input::placeholder,
.eg-login input::placeholder,
.eg-ainput::placeholder {
  color: #b99c9c !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

.eg-admin input:disabled,
.eg-amodal input:disabled,
.eg-ainput:disabled {
  background-color: #fdf6f5 !important;
  border-color: #f6e8e8 !important;
  color: #9c8484 !important;
  cursor: not-allowed !important;
  opacity: 0.8 !important;
}

/* ==========================================================================
   Executive Project Overview & AI Blueprint Hub
   ========================================================================== */

.eg-project-blueprint {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.eg-deliverables-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}

.eg-deliverable-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px;
  background: #ffffff;
  border: 1.5px solid #fedcd8;
  border-radius: 16px;
  transition: all 0.2s ease;
}

.eg-deliverable-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(166, 27, 27, 0.08);
  border-color: var(--eg-red-main);
}

.eg-deliverable-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  flex-shrink: 0;
}

.eg-deliverable-icon.ready {
  background: rgba(30, 140, 70, 0.12);
  color: #1e8c46;
}

.eg-deliverable-icon.progress {
  background: rgba(166, 27, 27, 0.1);
  color: #A61B1B;
}

.eg-deliverable-icon.pending {
  background: #f5f0f0;
  color: #8c7070;
}

.eg-deliverable-content {
  flex: 1;
  min-width: 0;
}

.eg-deliverable-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--eg-dark, #1c1111);
  margin: 0 0 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.eg-deliverable-desc {
  font-size: 12.5px;
  color: var(--eg-muted, #7A4A4A);
  margin: 0;
  line-height: 1.4;
}

.eg-strategy-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.eg-strategy-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: #fff7f6;
  border: 1px solid #fedcd8;
  border-radius: 10px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--eg-red-main, #A61B1B);
}

/* ---------- 36. Direct Contact & Onboarding Fast-Track Elements ---------- */
.eg-contact-submit-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 14px 28px !important;
  background: linear-gradient(135deg, #A61B1B 0%, #6E1414 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 14px !important;
  font-size: 15.5px !important;
  font-weight: 800 !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  cursor: pointer !important;
  box-shadow: 0 8px 24px rgba(166, 27, 27, 0.28) !important;
  transition: all 0.22s ease !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  letter-spacing: 0.01em !important;
}

.eg-contact-submit-btn:hover:not(:disabled) {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(166, 27, 27, 0.38) !important;
  color: #ffffff !important;
}

.eg-contact-submit-btn:active:not(:disabled) {
  transform: scale(0.99) !important;
}

.eg-contact-submit-btn:disabled {
  opacity: 0.65 !important;
  cursor: not-allowed !important;
}

.eg-onboard-direct-card {
  background: linear-gradient(145deg, #2b0808 0%, #150404 100%);
  border: 1.5px solid rgba(254, 220, 216, 0.25);
  border-radius: 24px;
  padding: 30px 28px;
  color: #ffffff;
  box-shadow: 0 20px 48px rgba(35, 10, 10, 0.18);
  position: relative;
  overflow: hidden;
}

.eg-onboard-direct-card::before {
  content: "";
  position: absolute;
  top: -40px;
  right: -40px;
  width: 140px;
  height: 140px;
  background: radial-gradient(circle, rgba(235, 59, 59, 0.3) 0%, rgba(235, 59, 59, 0) 70%);
  border-radius: 50%;
  pointer-events: none;
}

.eg-onboard-direct-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 13px 22px !important;
  background: linear-gradient(135deg, #EB3B3B 0%, #A61B1B 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 12px !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  cursor: pointer !important;
  box-shadow: 0 8px 20px rgba(235, 59, 59, 0.35) !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  margin-top: 18px !important;
}

.eg-onboard-direct-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(235, 59, 59, 0.45) !important;
  color: #ffffff !important;
}

.eg-desk-grid-card {
  background: #ffffff;
  border: 1.5px solid #fedcd8;
  border-radius: 18px;
  padding: 20px 22px;
  height: 100%;
  transition: all 0.22s ease;
  box-shadow: 0 4px 16px rgba(166, 27, 27, 0.04);
}

.eg-desk-grid-card:hover {
  transform: translateY(-3px);
  border-color: #A61B1B;
  box-shadow: 0 12px 28px rgba(166, 27, 27, 0.1);
}

.eg-desk-icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  margin-bottom: 14px;
  flex-shrink: 0;
}

/* Fixed Floating Bulk Action Dock */
.eg-floating-bulk-dock {
  position: fixed !important;
  bottom: 24px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 9999999 !important;
  background: linear-gradient(135deg, #1c1111 0%, #2b1414 100%) !important;
  color: #ffffff !important;
  border: 1.5px solid #A61B1B !important;
  border-radius: 50px !important;
  padding: 8px 18px !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
  max-width: 90vw !important;
  overflow: visible !important;
  white-space: nowrap !important;
  pointer-events: auto !important;
  animation: egFadeUp 0.25s cubic-bezier(0.16, 1, 0.3, 1) both !important;
}

.eg-floating-bulk-dock * {
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

.eg-floating-bulk-dock button,
.eg-floating-bulk-dock span {
  display: inline-flex !important;
  align-items: center !important;
  flex-direction: row !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}



/* ============================================================
   18m. App-bar shell v2 - MOBILE / tablet ONLY.
   Desktop (>= 992px) keeps the classic design untouched: light
   canvas, white sidebar, rounded card with the in-card header.
   Phones/tablets get the red canvas, app bar (menu left / logo
   or title center / notifications + avatar right) and the white
   content card resting below it.
   ============================================================ */

.eg-admin-appbar,
.eg-admin-card--intro,
.eg-admin-card--head--desktop {
  display: none;
}

@media (min-width: 992px) {
  .eg-admin-card--head--desktop {
    display: flex;
  }
}

@media (max-width: 991px) {
  /* ---- Red canvas ---- */
  .eg-admin {
    flex-direction: column;
    gap: 0;
    padding: 0;
    background: linear-gradient(165deg, #6e1414 0%, #a61b1b 55%, #7a1616 100%);
  }

  /* Sidebar becomes a white off-canvas drawer */
  .eg-admin-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 10010;
    width: 280px;
    max-width: 82vw;
    height: 100vh;
    margin: 0;
    border-radius: 0 22px 22px 0;
    background: #ffffff;
    box-shadow: 24px 0 60px rgba(33, 8, 8, 0.35);
    transform: translateX(-105%);
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
    overflow-y: auto;
  }

  .eg-admin-sidebar--nav button.active {
    background: #fdeeea;
    border-color: rgba(166, 27, 27, 0.28);
  }

  .eg-admin-main {
    gap: 8px;
    padding: 10px 12px 12px;
  }

/* ---- App bar ---- */
  .eg-admin-appbar {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 2px 2px 0;
    color: #ffffff;
  }

  .eg-admin-appbar--nav {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(33, 8, 8, 0.25);
    transition: background 0.2s ease, transform 0.15s ease;
  }
  .eg-admin-appbar--nav:hover {
    background: rgba(255, 255, 255, 0.26);
  }
  .eg-admin-appbar--nav:active {
    transform: scale(0.93);
  }

  /* Center column is a real flex cell (not absolute) so it can never
     overlap the menu button or the bell/avatar on narrow screens. */
  .eg-admin-appbar--center {
    min-width: 0;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
  }

  .eg-admin-appbar--logo {
    height: 24px;
    max-width: 100%;
    width: auto;
    display: inline-block;
    vertical-align: middle;
    filter: brightness(0) invert(1);
  }

  .eg-admin-appbar--title {
    margin: 0;
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -0.2px;
    text-transform: capitalize;
  }

  .eg-admin-appbar--actions {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  /* Header controls tuned for the red canvas */
  .eg-admin-appbar .eg-admin-hbtn {
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 10px 24px rgba(33, 8, 8, 0.25);
    color: #ffffff;
  }
  .eg-admin-appbar .eg-admin-hbtn:hover,
  .eg-admin-appbar .eg-admin-hbtn-wrap.open .eg-admin-hbtn {
    border-color: rgba(255, 255, 255, 0.55);
    background: rgba(255, 255, 255, 0.24);
  }
  .eg-admin-appbar .eg-admin-hbtn > i {
    color: #ffffff;
  }
  .eg-admin-appbar .eg-admin-hbadge {
    background: #ffffff;
    color: #a61b1b;
  }
  .eg-admin-appbar .eg-admin-prof--avatar {
    background: linear-gradient(135deg, #ffffff, #ffe3e0);
    color: #a61b1b;
  }
  .eg-admin-appbar .eg-admin-prof--meta strong {
    color: #ffffff;
  }
  .eg-admin-appbar .eg-admin-prof--caret {
    color: rgba(255, 255, 255, 0.75) !important;
  }

  /* ---- Content card ---- */
  .eg-admin-card {
    flex: 1;
    min-height: 0;
    min-width: 0;
    width: 100%;
    border: 0;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 24px 60px -12px rgba(33, 8, 8, 0.35);
    padding: 16px 16px 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-sizing: border-box;
  }

  .eg-admin-card--intro {
    display: block;
    flex-shrink: 0;
    margin: 0 0 14px;
    padding-bottom: 13px;
    border-bottom: 1px solid #f6e8e8;
    color: var(--eg-muted, #7a4a4a);
    font-size: 12.5px;
    line-height: 1.6;
  }

  .eg-admin-card--body {
    padding-right: 6px;
    padding-bottom: 26px;
  }

/* Dropdown panels stay inside the viewport on small screens */
  .eg-admin-menu {
    width: min(350px, calc(100vw - 24px));
    right: 0;
    left: auto;
  }

  /* Phones: header menus become anchored sheets that always fit the
     viewport — no clipping, no overflow, room for the thumb. */
  @media (max-width: 520px) {
    .eg-admin-menu {
      position: fixed;
      top: 66px;
      left: 12px;
      right: 12px;
      width: auto;
      max-width: none;
      border-radius: 20px;
      box-shadow: 0 24px 60px -10px rgba(33, 8, 8, 0.4);
      animation: egMenuSheet 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .eg-admin-menu--body {
      max-height: 46vh;
    }
  }
  @keyframes egMenuSheet {
    from { opacity: 0; transform: translateY(-10px) scale(0.99); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }
}
/* ============================================================
   18n. Official Proposal Document (A/B variant B page)
   Letterheaded document rendered in a rounded rectangle with
   internal scroll. Pure typography - zero images.
   ============================================================ */

.eg-doc-page {
  height: 100dvh;
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.eg-doc-top {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 18px 4px 16px;
}

.eg-doc-top .eg-doc-switch {
  padding: 9px 18px;
  font-size: 13.5px;
}

.eg-doc-page > .container {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.eg-doc-switch {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1.5px solid #fedcd8;
  background: rgba(255, 255, 255, 0.85);
  color: #7a4a4a;
  font: 600 13px "Plus Jakarta Sans", sans-serif;
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.eg-doc-switch:hover {
  border-color: #a61b1b;
  color: #a61b1b;
  background: #ffffff;
}

/* Rounded rectangle that holds the document (internal scroll) */
.eg-doc-frame {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  flex: 1;
  min-height: 0;
  height: auto;
  background: #ffffff;
  border: 2px solid #fedcd8;
  border-radius: 28px;
  box-shadow: 0 26px 70px -22px rgba(120, 30, 30, 0.35);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.eg-doc-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  display: flex;
  justify-content: center;
  padding: 0 18px;
  scrollbar-width: thin;
  scrollbar-color: #e0b9b5 transparent;
}
.eg-doc-scroll::-webkit-scrollbar {
  width: 8px;
}
.eg-doc-scroll::-webkit-scrollbar-thumb {
  background: #e0b9b5;
  border-radius: 30px;
}
.eg-doc-scroll::-webkit-scrollbar-track {
  background: transparent;
}

/* The letterheaded sheet */
.eg-doc-sheet {
  position: relative;
  width: 100%;
  max-width: 860px;
  min-height: 100%;
  padding: 58px 62px 40px;
  box-sizing: border-box;
  font-family: Georgia, "Times New Roman", "Palatino Linotype", serif;
  font-size: 14.5px;
  line-height: 1.68;
  color: #241a1a;
}

/* faint legal water-mark text (no images) */
.eg-doc-marks {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  color: rgba(110, 20, 20, 0.045);
  font: 900 118px/1 "Playfair Display", Georgia, serif;
  letter-spacing: 6px;
  text-align: center;
  overflow: hidden;
}
.eg-doc-marks span {
  transform: rotate(-28deg);
  display: block;
  white-space: nowrap;
  text-indent: -40px;
  width: 160%;
}

.eg-doc-sheet > * {
  position: relative;
}

/* ---- Letterhead ---- */
.eg-doc-lh {
  text-align: center;
  padding-bottom: 14px;
}
.eg-doc-lh--name {
  margin: 0;
  font: 900 37px/1.1 "Playfair Display", Georgia, serif;
  letter-spacing: 6.5px;
  color: #6e1414;
}
.eg-doc-lh--tag {
  margin: 7px 0 0;
  font: 600 11px/1.5 "Plus Jakarta Sans", sans-serif;
  letter-spacing: 4.2px;
  text-transform: uppercase;
  color: #7a4a4a;
}
.eg-doc-lh--contact {
  margin: 12px 0 0;
  font: 500 11.5px/1.7 "Plus Jakarta Sans", sans-serif;
  color: #7a4a4a;
}
.eg-doc-rule {
  height: 2.5px;
  background: #a61b1b;
  border: 0;
  margin: 0 0 2px;
}
.eg-doc-rule--thin {
  height: 1px;
  background: #e3c8c4;
  border: 0;
  margin: 0;
}

/* ---- Meta ---- */
.eg-doc-meta {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin: 26px 0 20px;
  font-size: 13px;
}
.eg-doc-meta strong {
  color: #3a2323;
}

.eg-doc-subject {
  margin: 0 0 18px;
  font-size: 15px;
  font-weight: 700;
  color: #3a2323;
}
.eg-doc-subject em {
  color: #a61b1b;
  font-style: normal;
}

.eg-doc-salute {
  margin: 0 0 16px;
}

/* ---- Body copy ---- */
.eg-doc-section {
  margin: 24px 0 12px;
  font-size: 15px;
  font-weight: 700;
  color: #3a2323;
  border-left: 3px solid #a61b1b;
  padding-left: 10px;
}
.eg-doc-section span {
  color: #a61b1b;
}

.eg-doc-cluster {
  margin: 13px 0 0;
}
.eg-doc-cluster h4 {
  margin: 0 0 3px;
  font-size: 14px;
  font-weight: 700;
  color: #6e1414;
}
.eg-doc-cluster ul {
  margin: 0;
  padding-left: 6px;
  list-style: none;
}
.eg-doc-cluster li {
  position: relative;
  padding-left: 18px;
  margin: 2.5px 0;
}
.eg-doc-cluster li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 0.62em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #a61b1b;
}

.eg-doc-table {
  width: 100%;
  border-collapse: collapse;
  margin: 10px 0 6px;
  font-size: 13.8px;
}
.eg-doc-table th,
.eg-doc-table td {
  border: 1px solid #dcc9c5;
  padding: 10px 14px;
  text-align: left;
  vertical-align: top;
}
.eg-doc-table th {
  background: #fdf1ef;
  color: #6e1414;
  font-weight: 700;
  font-size: 12.5px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}
.eg-doc-table td.num {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.eg-doc-table tr.hl td {
  background: #fff5f2;
  font-weight: 700;
  color: #a61b1b;
}

.eg-doc-note {
  margin: 12px 0 0;
  font-size: 12.8px;
  color: #6e5a5a;
  font-style: italic;
}
.eg-doc-note strong {
  color: #a61b1b;
  font-style: normal;
}

/* ---- Signature & seal ---- */
.eg-doc-signrow {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin: 34px 0 6px;
}
.eg-doc-sign {
  min-width: 250px;
  padding-bottom: 44px;
}
.eg-doc-sign--line {
  border-top: 1.5px solid #241a1a;
  padding-top: 8px;
}
.eg-doc-sign--name {
  font-weight: 700;
  font-size: 13.6px;
  color: #3a2323;
}
.eg-doc-sign--role {
  font-size: 12.4px;
  color: #6e5a5a;
}

.eg-doc-seal {
  flex-shrink: 0;
  transform: rotate(-9deg);
  margin: 0 8px;
  opacity: 0.92;
  mix-blend-mode: multiply;
}

/* ---- Footer ---- */
.eg-doc-foot {
  margin-top: 26px;
  border-top: 1px solid #e3c8c4;
  padding-top: 12px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 16px;
  font: 500 10.6px/1.6 "Plus Jakarta Sans", sans-serif;
  color: #7a4a4a;
  letter-spacing: 0.3px;
}

.eg-doc-cta {
  margin: 22px 0 20px;
  padding: 24px 26px;
  text-align: center;
  background: #fff7f5;
  border: 1.5px solid #fedcd8;
  border-radius: 16px;
}

.eg-doc-cta--btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 32px;
  border-radius: 13px;
  background: linear-gradient(135deg, #b32929 0%, #6e1414 100%);
  color: #ffffff;
  font: 800 14px/1 "Plus Jakarta Sans", sans-serif;
  letter-spacing: 0.2px;
  text-decoration: none;
  box-shadow: 0 12px 28px -8px rgba(166, 27, 27, 0.45);
  transition: transform 0.15s ease, box-shadow 0.2s ease;
}
.eg-doc-cta--btn:hover {
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 16px 34px -8px rgba(166, 27, 27, 0.55);
}

.eg-doc-cta .eg-doc-note {
  margin-top: 12px;
}

@media (max-width: 767px) {
  .eg-doc-page {
    padding: 0;
  }
  .eg-doc-top {
    padding: 14px 6px 12px;
  }
  .eg-doc-frame {
    margin: 0 auto 12px;
    width: calc(100% - 20px);
    border-radius: 22px;
  }
  .eg-doc-scroll {
    padding: 0 8px;
  }
  .eg-doc-sheet {
    padding: 34px 26px 26px;
    font-size: 13.5px;
  }
  .eg-doc-marks {
    font-size: 64px;
  }
  .eg-doc-lh--name {
    font-size: 25px;
    letter-spacing: 3.5px;
  }
  .eg-doc-lh--tag {
    letter-spacing: 2.4px;
  }
  .eg-doc-table th,
  .eg-doc-table td {
    padding: 8px 9px;
    font-size: 12.4px;
  }
  .eg-doc-signrow {
    justify-content: space-between;
    align-items: center;
  }
  .eg-doc-seal {
    width: 96px;
    height: 96px;
    margin: 8px 0 0 auto;
  }
  .eg-doc-sign {
    min-width: 0;
    max-width: 62%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .eg-fomo-toast, .eg-floating-countdown, .eg-popup-modal, .eg-popup-card {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}
