/* ==========================================================================
   iBNSoft CMS - portal theme bridge (ibn-portal.css), 2026-10-29

   Loaded after portal.css (partner portal) or client-portal.css (client portal) by
   their four layouts. It only re-points their variables and flattens their gradients
   onto the ibn.css design system; the portal stylesheets themselves are unchanged,
   so every portal screen keeps its layout and behaviour.
   ========================================================================== */

:root {
    --portal-font: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --brand-accent: #6d4aff;            /* logo colour, as ibn.css --accent */
    --portal-primary: #5534e0;          /* violet, as ibn.css --accent-ink (back office default) */
    --portal-primary-dark: #4326b8;
    --portal-text: #2b2b2b;
    --portal-text-dark: #111111;
    --portal-text-muted: #5c5c5c;
    --portal-text-light: #8a8a8a;
    --portal-bg: #f6f5f3;
    --portal-border: #e6e4e1;
    --portal-border-light: #d4d1cc;

    --client-font: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --client-primary: #2563eb;          /* client portal keeps its blue, one step darker for AA */
    --client-primary-dark: #1d4ed8;
    --client-text: #2b2b2b;
    --client-text-dark: #111111;
    --client-text-muted: #5c5c5c;
    --client-text-light: #8a8a8a;
    --client-bg: #f6f5f3;
    --client-border: #e6e4e1;
    --client-border-light: #d4d1cc;
}
/* the other two accents of the back office setting (Site appearance > Accent colour, SN 4.6) */
:root[data-accent="emerald"] { --brand-accent: #0f8a63; --portal-primary: #0b7353; --portal-primary-dark: #095c43; }
:root[data-accent="cobalt"]  { --brand-accent: #3b5bdb; --portal-primary: #2f4ac0; --portal-primary-dark: #263d9e; }


/* flat backgrounds: the system allows gradients on hero heading text only */
.portal-body--login { background: #f6f5f3; }
.client-body--login { background: #181818; }
.portal-table__header, .portal-table__head { background: #111111; }
.portal-contact-card { background: #eeece8; }
/* on the dark client login the footer sits on the page, not in a white strip */
.client-body--login .client-footer { width: 100%; background: transparent; border-top: 1px solid #313131; color: #a3a3a3; }

/* headings: no ultra bold, tighter tracking like the public site */
.portal-body h1, .portal-body h2, .portal-body h3,
.client-body h1, .client-body h2, .client-body h3 { font-weight: 700; letter-spacing: -0.02em; }

/* type sizes onto the site scale (closest step below; buttons at 16px). portal.css and
   client-portal.css set these in off-scale rems: 0.8rem, 0.8125rem, 0.9rem, 0.95rem. */
.portal-body .signup-hint, .portal-body .sf-contact-note, .portal-body .portal-footer, .portal-body .portal-footer__inner,
.client-body .signup-hint, .client-body .sf-contact-note, .client-body .client-footer, .client-body .client-footer__inner,
.client-body .form-options, .client-body .form-options label, .client-body .form-options input, .client-body .forgot-link,
.client-body .signup-hint a { font-size: 0.75rem; line-height: 1rem; }
.client-body .subtitle, .client-body .sf-contact-panel, .client-body .sf-contact-panel p, .client-body .sf-contact-label,
.client-body .form-group label { font-size: 0.875rem; line-height: 1.25rem; }   /* labels match the partner portal */
.client-body .btn-login { font-size: 1rem; line-height: 1.5rem; font-weight: 600; }

/* a visible keyboard focus ring on every control */
.portal-body :focus-visible, .client-body :focus-visible { outline: none; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--portal-primary); }
.client-body :focus-visible { box-shadow: 0 0 0 2px #fff, 0 0 0 4px #2563eb; }
