/*
 * Indiplex UI kit - customer portal and partner public pages (v1.0.0)
 * Display only. Same brand tokens as the admin kit. Off switch: indiplex_ui_off.flag or ?ixui=0
 */
:root {
  --ixp-brand: #2A3791;
  --ixp-brand-600: #1F2A70;
  --ixp-brand-50: #EEF0FA;
  --ixp-sky: #0F6EBE;
  --ixp-accent: #F37330;
  --ixp-ink: #1F2937;
}

/* ---------- Customer portal (Perfex theme) ---------- */
body.customers .navbar-brand.logo img,
body.customers .navbar-brand img { max-height: 46px; height: 46px; width: auto; }
body.customers .navbar .customers-nav-item-login > a,
body.customers .btn-primary,
body.customers .btn-info {
  background-color: var(--ixp-brand) !important;
  border-color: var(--ixp-brand) !important;
  color: #fff !important;
}
body.customers .navbar .customers-nav-item-login > a:hover,
body.customers .btn-primary:hover,
body.customers .btn-primary:focus,
body.customers .btn-info:hover {
  background-color: var(--ixp-brand-600) !important;
  border-color: var(--ixp-brand-600) !important;
}
body.customers a:not(.btn):not(.navbar-brand) { color: var(--ixp-sky); }
body.customers .navbar a:not(.btn) { color: var(--ixp-ink); }
body.customers .navbar .customers-nav-item-login > a { color: #fff !important; }
body.customers .navbar li.active > a:not(.btn) { box-shadow: inset 0 -2px 0 var(--ixp-brand); }
body.customers a:focus-visible,
body.customers button:focus-visible,
body.customers .btn:focus-visible,
body.customers input:focus-visible,
body.customers select:focus-visible,
body.customers textarea:focus-visible { outline: 2px solid var(--ixp-sky) !important; outline-offset: 2px; }
body.customers .ixp-empty {
  text-align: center; color: #6B7280; padding: 88px 12px 24px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 90'%3E%3Crect x='14' y='30' width='92' height='46' rx='8' fill='%23EEF0FA' stroke='%232A3791' stroke-width='2'/%3E%3Cpath d='M14 52h28l6 10h24l6-10h28' fill='none' stroke='%232A3791' stroke-width='2'/%3E%3Ccircle cx='88' cy='22' r='9' fill='%23FEF0E7' stroke='%23F37330' stroke-width='2'/%3E%3Cpath d='M84 22h8' stroke='%23F37330' stroke-width='2'/%3E%3C/svg%3E") no-repeat center 18px / 72px 54px;
}

/* ---------- Partner public pages (apply, track, sign-in) ---------- */
body.ixp-partner-public > header { background: var(--ixp-brand) !important; }
body.ixp-partner-public > header a { color: #fff; }
body.ixp-partner-public button:not(.btn-light),
body.ixp-partner-public .btn:not(.btn-light) { background: var(--ixp-brand) !important; border-color: var(--ixp-brand) !important; color: #fff !important; }
body.ixp-partner-public button:not(.btn-light):hover { background: var(--ixp-brand-600) !important; }
body.ixp-partner-public ul.steps { counter-reset: ixstep; }
body.ixp-partner-public ul.steps > li { counter-increment: ixstep; }
body.ixp-partner-public ul.steps > li::before {
  content: counter(ixstep); display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px; margin-right: 6px; border-radius: 50%;
  background: var(--ixp-brand-50); color: var(--ixp-brand); font-size: 11px; font-weight: 700;
}
body.ixp-partner-public a:focus-visible,
body.ixp-partner-public button:focus-visible,
body.ixp-partner-public input:focus-visible,
body.ixp-partner-public select:focus-visible,
body.ixp-partner-public textarea:focus-visible { outline: 2px solid var(--ixp-sky) !important; outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  body.customers *, body.ixp-partner-public * { transition: none !important; animation: none !important; }
}
