/* ============================================================
   Digital Commerce Integration — B2B tenant portal skin (tj-b2b) · SaaS v2
   Renders inside the public marketplace layout; portal pages
   carry body.b2b-dark and load public/css/tj-admin-tokens.css
   (shared dark --adm-* tokens) BEFORE this file. The :root
   bridges below re-map the legacy --b2b-* variables onto the
   --adm-* tokens, which recolors all ~41 B2B pages (their
   private style blocks read these variables) to the same
   slate-navy control room as the admin console and fleet portal.
   All marketplace-chrome overrides are scoped under
   body.b2b-dark so nothing leaks outside portal pages.

   Foundations v1: flat stepped surfaces, no blur, no glow, no
   decorative gradients or shapes, near-square radii, buttons
   press via inset shadow (not translateY), one indigo fill
   per view.
   ============================================================ */

        :root{
            --b2b-bg: transparent;
            --b2b-card: var(--adm-surface);
            --b2b-text: var(--adm-ink);
            --b2b-muted: var(--adm-muted);
            --b2b-border: var(--adm-border);
            --b2b-shadow: var(--adm-shadow-sm);
            --b2b-shadow-soft: var(--adm-shadow-xs);
            --b2b-radius: var(--adm-r-lg);
            --b2b-radius-sm: var(--adm-r);
            --b2b-primary: var(--adm-accent-400);
            --b2b-primary-dark: var(--adm-accent-600);
            --b2b-success: var(--adm-success);
            --b2b-warning: var(--adm-warning);
            --b2b-danger: var(--adm-danger);
            --b2b-info: var(--adm-info);
        }

        /* The Electro theme's `.form-group label{color:#252165}` (web_assets/css/style.css
           :11619) is (0,1,1) and quietly outranks every per-page `.x-filter-label`
           rule at (0,1,0) — so console form labels have been rendering in the old
           brand purple, which is all but invisible on the dark canvas. Match its
           specificity and hand the colour back to the tokens. */
        body.b2b-dark .form-group label,
        body.b2b-dark .form-group > label{
            color: var(--adm-muted);
        }

        /* ── Canvas: flat ground, no aurora wash ── */
        body.b2b-dark{
            background: var(--adm-bg) !important;
            color: var(--adm-ink);
        }

        body.b2b-dark #page,
        body.b2b-dark .site-content{
            background: transparent !important;
        }

        .b2b-shell{
            padding-top: 14px;
            padding-bottom: 40px;
        }

        .b2b-card{
            background: var(--b2b-card);
            border: 1px solid var(--b2b-border);
            border-radius: var(--b2b-radius);
            box-shadow: var(--adm-shadow-sm);
            overflow: hidden;
        }

        .b2b-card + .b2b-card{
            margin-top: 18px;
        }

        .b2b-card-header{
            padding: 16px 20px;
            border-bottom: 1px solid var(--b2b-border);
            background: var(--adm-surface);
        }

        .b2b-card-header h4,
        .b2b-card-header h5{
            margin: 0;
            color: var(--b2b-text);
            font-weight: 700;
            letter-spacing: -.015em;
        }

        .b2b-card-body{
            padding: 22px;
        }

        .b2b-muted{
            color: var(--b2b-muted);
        }

        /* ─── Status strip: flat raised panel, no aurora / no floating circles ─── */
        .b2b-status-strip{
            position: relative;
            border-radius: var(--b2b-radius);
            padding: 26px 30px;
            margin-top: 16px;
            margin-bottom: 18px;
            color: var(--adm-ink);
            overflow: hidden;
            border: 1px solid var(--adm-border);
            background: var(--adm-surface);
            box-shadow: var(--adm-shadow-sm);
        }

        .b2b-status-strip > .row,
        .b2b-status-strip > *{
            position: relative;
            z-index: 1;
        }

        .b2b-status-strip.supplier{ border-inline-start: 3px solid var(--adm-accent-400); }
        .b2b-status-strip.trader{ border-inline-start: 3px solid var(--adm-warning-ink); }
        .b2b-status-strip.hybrid{ border-inline-start: 3px solid var(--adm-info-ink); }
        .b2b-status-strip.under_review{ border-inline-start: 3px solid var(--adm-muted); }

        .b2b-hero-badge{
            display:inline-flex;
            align-items:center;
            gap:8px;
            background: var(--adm-accent-100);
            border:1px solid transparent;
            color: var(--adm-accent-300);
            border-radius: 999px;
            padding: 4px 12px;
            font-size: 11.5px;
            font-weight: 600;
            letter-spacing: 0;
            text-transform: none;
        }

        .b2b-hero-title{
            margin: 12px 0 8px;
            color: var(--adm-ink);
            font-size: 26px;
            font-weight: 700;
            letter-spacing: -.02em;
            line-height: 1.25;
        }

        .b2b-hero-desc{
            margin: 0;
            color: var(--adm-ink-2);
            line-height: 1.7;
            font-size: 14px;
            max-width: 980px;
        }

        .b2b-strip-stat{
            background: var(--adm-surface-2);
            border: 1px solid var(--adm-border);
            border-radius: var(--b2b-radius-sm);
            padding: 14px 16px;
            min-height: 96px;
            transition: background var(--adm-dur-instant) ease-out;
        }

        .b2b-strip-stat:hover{
            background: rgba(128,128,128,.14);
        }

        .b2b-strip-stat small{
            display:block;
            color: var(--adm-muted);
            font-size: 12px;
            font-weight: 600;
            text-transform: none;
            letter-spacing: 0;
            margin-bottom: 10px;
        }

        .b2b-strip-stat h4{
            margin: 0;
            color: var(--adm-ink);
            font-size: 26px;
            font-weight: 700;
            letter-spacing: -.02em;
            font-variant-numeric: tabular-nums;
            line-height: 1;
        }

        .b2b-toolbar-card{
            background: var(--adm-surface);
            border: 1px solid var(--adm-border);
            border-radius: var(--b2b-radius);
            box-shadow: var(--adm-shadow-sm);
            margin-bottom: 18px;
            overflow: hidden;
        }

        .b2b-toolbar-head{
            padding: 18px 20px 14px;
            border-bottom: 1px solid var(--b2b-border);
            background: var(--adm-surface);
        }

        .b2b-toolbar-head h3{
            margin: 0 0 6px;
            font-weight: 700;
            color: var(--b2b-text);
            font-size: 21px;
            letter-spacing: -.015em;
        }

        .b2b-toolbar-head p{
            margin: 0;
            color: var(--b2b-muted);
            line-height: 1.6;
        }

        .b2b-toolbar-body{
            padding: 18px 22px 22px;
        }

        .b2b-inline-badge{
            display:inline-flex;
            align-items:center;
            padding: 3px 9px;
            border-radius: 999px;
            font-size: 11.5px;
            font-weight: 600;
            letter-spacing: 0;
            text-transform: none;
            border: 1px solid transparent;
            margin-inline-start: 6px;
        }

        .b2b-inline-badge.primary{
            background: var(--adm-accent-50);
            color: var(--adm-accent-300);
        }

        .b2b-inline-badge.warning{
            background: var(--adm-warning-50);
            color: var(--adm-warning-ink);
        }

        .b2b-switch-form .form-group{
            margin-bottom: 12px;
        }

        .b2b-switch-form label{
            display:block;
            margin-bottom: 8px;
            font-size: 12px;
            font-weight: 600;
            color: var(--b2b-muted);
        }

        .b2b-switch-form .form-control{
            height: 44px;
            border-radius: var(--b2b-radius-sm);
            border: 1px solid var(--adm-input-border);
            box-shadow: none;
            background: var(--adm-input-bg);
            color: var(--adm-ink);
        }

        .b2b-switch-form .form-control:focus{
            border-color: var(--adm-accent-400);
            box-shadow: var(--adm-focus-ring);
            background: var(--adm-input-bg);
            color: var(--adm-ink);
        }

        .b2b-switch-form select option,
        .b2b-shell select option{
            background: var(--adm-surface);
            color: var(--adm-ink);
        }

        .b2b-btn{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            height: 40px;
            border-radius: var(--adm-r);
            border: 1px solid transparent;
            font-weight: 600;
            font-size: 13.5px;
            padding: 0 16px;
            text-decoration: none !important;
            transition: background var(--adm-dur-instant) ease-out, border-color var(--adm-dur-instant) ease-out, box-shadow var(--adm-dur-instant) ease-out;
        }
        .b2b-btn:active{ box-shadow: none; }
        .b2b-btn{ box-shadow: var(--adm-shadow-xs); }

        .b2b-btn-primary{
            background: var(--adm-accent-500) !important;
            color: var(--tj-brand-on, #fff) !important;
        }

        .b2b-btn-primary:hover{
            background: var(--adm-accent-600) !important;
            color: var(--tj-brand-on, #fff) !important;
        }

        .b2b-btn-warning{
            background: var(--adm-warning) !important;
            color: #fff !important;
        }
        .b2b-btn-warning:hover{ background: var(--adm-warning-ink) !important; }

        .b2b-btn-light{
            background: var(--adm-surface);
            color: var(--adm-ink) !important;
            border: 1px solid var(--adm-input-border);
        }
        .b2b-btn-light:hover{ background: var(--adm-surface-2); border-color: var(--adm-hover-border); }

        .b2b-workspace-note{
            margin-top: 16px;
            background: var(--adm-accent-50);
            border: 1px solid var(--adm-accent-200);
            color: var(--adm-ink-2);
            border-radius: var(--b2b-radius-sm);
            padding: 13px 16px;
            line-height: 1.6;
            font-size: 13px;
        }

        .b2b-nav-pills{
            display:flex;
            flex-wrap:wrap;
            gap:8px;
            margin-top: 18px;
        }

        .b2b-nav-pill{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            min-height: 40px;
            padding: 9px 15px;
            border-radius: var(--b2b-radius-sm);
            background: transparent;
            color: var(--adm-ink-2) !important;
            border: 1px solid var(--adm-border);
            text-decoration: none !important;
            font-size: 12.5px;
            font-weight: 600;
            transition: background var(--adm-dur-instant) ease-out, border-color var(--adm-dur-instant) ease-out, color var(--adm-dur-instant) ease-out;
        }

        .b2b-nav-pill:hover{
            border-color: var(--adm-muted-2);
            background: var(--adm-surface);
            color: var(--adm-ink) !important;
        }

        .b2b-nav-pill.active{
            background: var(--adm-accent-50) !important;
            color: var(--adm-accent-300) !important;
            border-color: transparent !important;
            box-shadow: none;
        }

        /* Directory entries: emphasis by weight, not by a second accent fill */
        .b2b-nav-pill.b2b-nav-pill-directory{
            color: var(--adm-ink) !important;
            font-weight: 700;
        }
        .b2b-nav-pill .b2b-nav-pill-icon{ display: none; }

        .b2b-kpi-card{
            position:relative;
            background: var(--adm-surface);
            border:1px solid var(--adm-border);
            box-shadow: var(--adm-shadow-sm);
            border-radius: var(--b2b-radius);
            padding: 20px;
            overflow:hidden;
            min-height: 150px;
            margin-bottom: 18px;
            transition: border-color var(--adm-dur-instant) ease-out;
        }
        .b2b-kpi-card:hover{ box-shadow: var(--adm-shadow); }

        .b2b-kpi-card.primary{ color: var(--adm-accent-400); }
        .b2b-kpi-card.success{ color: var(--adm-success-ink); }
        .b2b-kpi-card.info{ color: var(--adm-info-ink); }
        .b2b-kpi-card.warning{ color: var(--adm-warning-ink); }

        .b2b-kpi-label{
            font-size: 12.5px;
            font-weight: 600;
            letter-spacing: 0;
            text-transform: none;
            color: var(--b2b-muted);
            margin-bottom: 14px;
        }

        .b2b-kpi-value{
            font-size: 28px;
            font-weight: 700;
            letter-spacing: -.02em;
            font-variant-numeric: tabular-nums;
            color: var(--adm-ink);
            line-height: 1.1;
            margin-bottom: 8px;
        }

        .b2b-kpi-meta{
            font-size: 12.5px;
            color: var(--b2b-muted);
            line-height: 1.6;
        }

        .b2b-section-title{
            margin: 0 0 4px;
            font-size: 17px;
            font-weight: 700;
            letter-spacing: -.01em;
            color: var(--b2b-text);
        }

        .b2b-playbook-item,
        .b2b-risk-item{
            padding: 16px 0;
            border-bottom: 1px solid var(--b2b-border);
        }

        .b2b-playbook-item:last-child,
        .b2b-risk-item:last-child{
            border-bottom: 0;
            padding-bottom: 0;
        }

        .b2b-playbook-item:first-child,
        .b2b-risk-item:first-child{
            padding-top: 0;
        }

        .b2b-playbook-item strong{
            display:block;
            color: var(--b2b-text);
            font-size: 14.5px;
            margin-bottom: 6px;
        }

        .b2b-playbook-item p{
            margin: 0 0 10px;
            color: var(--b2b-muted);
            line-height: 1.6;
        }

        .b2b-mini-btn{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            padding: 7px 13px;
            border-radius: var(--adm-r);
            background: var(--adm-accent-50);
            color: var(--adm-accent-300) !important;
            font-size: 12.5px;
            font-weight: 600;
            text-decoration: none !important;
            border: 1px solid var(--adm-accent-200);
        }
        .b2b-mini-btn:hover{ background: var(--adm-accent-100); color: var(--adm-accent-300) !important; }

        .b2b-table-wrap{
            border: 1px solid var(--b2b-border);
            border-radius: var(--b2b-radius);
            overflow: hidden;
            overflow-x: auto;
            background: var(--adm-surface);
            box-shadow: var(--adm-shadow-sm);
        }

        .b2b-table{
            margin: 0;
        }

        .b2b-table thead th{
            background: var(--adm-surface-2);
            color: var(--adm-muted);
            border-bottom: 1px solid var(--adm-border) !important;
            border-top: 0 !important;
            font-size: 12px;
            font-weight: 600;
            text-transform: none;
            letter-spacing: 0;
            padding: 12px 16px !important;
        }

        .b2b-table tbody td{
            padding: 14px 16px !important;
            vertical-align: middle !important;
            border-color: var(--adm-border-2) !important;
            color: var(--b2b-text);
        }

        .b2b-table tbody tr{ transition: background var(--adm-dur-instant) ease-out; }
        .b2b-table tbody tr:hover{
            background: var(--adm-surface-2);
        }

        .b2b-soft-badge{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            padding: 3px 9px;
            border-radius: 999px;
            font-size: 11.5px;
            font-weight: 600;
            letter-spacing: 0;
            text-transform: none;
            line-height: 1.5;
            white-space: nowrap;
        }

        .b2b-soft-badge.default{ background: var(--adm-surface-2); color: var(--adm-muted); }
        .b2b-soft-badge.info{ background: var(--adm-info-50); color: var(--adm-info-ink); }
        .b2b-soft-badge.warning{ background: var(--adm-warning-50); color: var(--adm-warning-ink); }
        .b2b-soft-badge.danger{ background: var(--adm-danger-50); color: var(--adm-danger-ink); }
        .b2b-soft-badge.success{ background: var(--adm-success-50); color: var(--adm-success-ink); }
        .b2b-soft-badge.primary{ background: var(--adm-accent-50); color: var(--adm-accent-300); }

        .b2b-list-plain{
            list-style:none;
            padding:0;
            margin:0;
        }

        .b2b-list-plain li{
            padding: 10px 0;
            border-bottom: 1px solid var(--b2b-border);
            color: var(--adm-ink-2);
        }

        .b2b-list-plain li:last-child{
            border-bottom: 0;
            padding-bottom: 0;
        }

        .b2b-metric{
            display:flex;
            justify-content:space-between;
            align-items:center;
            gap:10px;
            margin-bottom: 12px;
            font-size: 14px;
            color: var(--adm-ink-2);
        }

        .b2b-metric:last-child{
            margin-bottom: 0;
        }

        .b2b-divider{
            margin: 18px 0;
            border-top: 1px solid var(--b2b-border);
        }

        .b2b-alert{
            border: 1px solid transparent;
            border-radius: var(--adm-r);
            padding: 13px 16px;
            margin-bottom: 16px;
        }

        .b2b-alert-success{
            background: var(--adm-success-50);
            color: var(--adm-success-ink);
            border-color: rgba(18,168,107,.35);
        }

        .b2b-alert-danger{
            background: var(--adm-danger-50);
            color: var(--adm-danger-ink);
            border-color: rgba(220,38,38,.30);
        }

        @media (max-width: 991px){
            .b2b-hero-title{
                font-size: 21px;
            }

            .b2b-status-strip{
                padding: 20px;
            }

            .b2b-strip-stat h4{
                font-size: 21px;
            }

            .b2b-toolbar-head h3{
                font-size: 18px;
            }

            .b2b-toolbar-head,
            .b2b-toolbar-body,
            .b2b-card-body,
            .b2b-card-header{
                padding-left: 18px;
                padding-right: 18px;
            }
        }

/* ════════════════════════════════════════════════════════════
   MARKETPLACE CHROME — dark variants for the public header and
   footer while inside the portal. Every rule is scoped under
   body.b2b-dark so the public marketplace stays untouched.
   ════════════════════════════════════════════════════════════ */

/* ── Header shell ── */
body.b2b-dark .tj-header{
    background: var(--adm-side) !important;
    border-bottom-color: var(--adm-border) !important;
}
body.b2b-dark .tj-brand-link img{ filter: none; }

/* nav links */
body.b2b-dark .tj-nav-link{ color: var(--adm-muted) !important; }
body.b2b-dark .tj-nav-link:hover{
    color: var(--adm-ink) !important;
    background: var(--adm-surface);
}
body.b2b-dark .tj-nav-link.active{
    color: var(--adm-ink) !important;
    background: var(--adm-accent-50);
    box-shadow: inset 2px 0 0 var(--adm-accent-400);
}

/* header buttons / chips */
body.b2b-dark .tj-icon-btn,
body.b2b-dark .tj-btn-ghost-nav,
body.b2b-dark .tj-user-btn,
body.b2b-dark .tj-burger{
    background: transparent !important;
    border-color: var(--adm-border) !important;
    color: var(--adm-ink-2) !important;
    box-shadow: none !important;
}
body.b2b-dark .tj-icon-btn:hover,
body.b2b-dark .tj-btn-ghost-nav:hover{
    background: var(--adm-accent-50) !important;
    border-color: var(--adm-accent-200) !important;
    color: var(--adm-ink) !important;
}
body.b2b-dark .tj-user-btn:hover{ border-color: var(--adm-accent-200) !important; }
body.b2b-dark .tj-user-btn i{ color: var(--adm-muted); }
body.b2b-dark .tj-burger span{ background: var(--adm-ink); }
body.b2b-dark .tj-dot-badge{
    background: var(--adm-accent-500);
    color: #fff;
    box-shadow: 0 0 0 2px var(--adm-bg);
}
body.b2b-dark .tj-btn-cta{
    background: var(--adm-accent-500) !important;
    color: #fff !important;
    box-shadow: none !important;
}
body.b2b-dark .tj-btn-cta:hover{
    background: var(--adm-accent-600) !important;
    box-shadow: none !important;
}
body.b2b-dark .tj-pill-status{
    background: var(--adm-warning-50);
    border-color: var(--adm-warning);
    color: var(--adm-warning-ink) !important;
}

/* dropdown menus → flat panel */
body.b2b-dark .tj-menu-panel{
    background: var(--adm-raised) !important;
    border-color: var(--adm-border) !important;
    box-shadow: var(--adm-shadow-lg) !important;
}
body.b2b-dark .tj-menu-panel > a{ color: var(--adm-ink-2) !important; }
body.b2b-dark .tj-menu-panel > a:hover{
    background: var(--adm-accent-50);
    color: var(--adm-accent-300) !important;
}
body.b2b-dark .tj-menu-panel > a.tj-menu-danger:hover{
    background: var(--adm-danger-50);
    color: var(--adm-danger-ink) !important;
}
body.b2b-dark .tj-menu-sep{ background: var(--adm-border); }
body.b2b-dark .tj-menu-head{
    color: var(--adm-ink);
    border-bottom-color: var(--adm-border);
}
body.b2b-dark .tj-count-chip{ background: var(--adm-accent-50); color: var(--adm-accent-300); }
body.b2b-dark .tj-notif-item:hover{ background: var(--adm-surface); }
body.b2b-dark .tj-notif-icon{
    background: var(--adm-accent-50);
    border-color: var(--adm-accent-200);
    color: var(--adm-accent-300);
}
body.b2b-dark .tj-notif-body strong{ color: var(--adm-ink); }
body.b2b-dark .tj-notif-body small{ color: var(--adm-muted); }
body.b2b-dark .tj-menu-empty{ color: var(--adm-muted); }
body.b2b-dark .tj-menu-empty i{ color: var(--adm-muted-2); }
body.b2b-dark .tj-menu-foot{
    border-top-color: var(--adm-border);
    color: var(--adm-accent-300) !important;
}

/* mobile drawer */
@media (max-width: 860px){
    body.b2b-dark .tj-nav{
        background: var(--adm-raised);
        border-block-end-color: var(--adm-border);
    }
    body.b2b-dark .tj-nav-drawer-extra{ border-top-color: var(--adm-border); }
}

/* ── Footer ── */
body.b2b-dark .tj-footer{
    background: transparent;
    border-top-color: var(--adm-border);
    color: var(--adm-ink-2);
}
body.b2b-dark .tj-foot-logo{ filter: none; background: transparent; padding: 0; }
body.b2b-dark .tj-foot-cta{
    background: var(--adm-raised);
    border-color: var(--adm-border);
    box-shadow: none;
}
body.b2b-dark .tj-foot-cta::after{ display: none; }
body.b2b-dark .tj-foot-cta h3{ color: var(--adm-ink); }
body.b2b-dark .tj-foot-cta p{ color: var(--adm-ink-2); }
body.b2b-dark .tj-footer .tj-btn-glass{
    background: transparent !important;
    border: 1px solid var(--adm-border) !important;
    color: var(--adm-ink) !important;
    box-shadow: none !important;
}
body.b2b-dark .tj-footer .tj-btn-glass:hover{ background: var(--adm-surface) !important; }
body.b2b-dark .tj-trust-item{
    background: var(--adm-surface);
    border-color: var(--adm-border);
    box-shadow: none;
}
body.b2b-dark .tj-trust-item:hover{
    border-color: var(--adm-muted-2);
    box-shadow: none;
}
body.b2b-dark .tj-trust-item > i{
    background: var(--adm-accent-50);
    border-color: var(--adm-accent-200);
    color: var(--adm-accent-300);
}
body.b2b-dark .tj-trust-item strong{ color: var(--adm-ink); }
body.b2b-dark .tj-trust-item span{ color: var(--adm-muted); }
body.b2b-dark .tj-foot-brand p,
body.b2b-dark .tj-foot-note{ color: var(--adm-muted); }
body.b2b-dark .tj-foot-socials a{
    background: transparent;
    border-color: var(--adm-border);
    box-shadow: none;
}
body.b2b-dark .tj-foot-socials a:hover{ border-color: var(--adm-accent-400); }
body.b2b-dark .tj-foot-col h4{ color: var(--adm-ink); }
body.b2b-dark .tj-foot-col h4::after{
    background: var(--adm-accent-400);
}
body.b2b-dark .tj-foot-col-toggle i{ color: var(--adm-muted-2); }
body.b2b-dark .tj-foot-col ul a{ color: var(--adm-muted) !important; }
body.b2b-dark .tj-foot-col ul a::before{ background: var(--adm-border); }
body.b2b-dark .tj-foot-col ul a:hover{ color: var(--adm-ink) !important; }
body.b2b-dark .tj-foot-col ul a:hover::before{ background: var(--adm-accent-400); }
body.b2b-dark .tj-nl-field i{ color: var(--adm-muted-2); }
body.b2b-dark .tj-nl-field input{
    background: var(--adm-input-bg);
    border-color: var(--adm-input-border);
    color: var(--adm-ink);
    box-shadow: none;
}
body.b2b-dark .tj-nl-field input::placeholder{ color: var(--adm-muted-2); }
body.b2b-dark .tj-nl-field input:focus{
    border-color: var(--adm-accent-400);
    box-shadow: var(--adm-focus-ring);
}
body.b2b-dark .tj-foot-fine{ color: var(--adm-muted-2); }
body.b2b-dark .tj-foot-bottom{ border-top-color: var(--adm-border); }
body.b2b-dark .tj-foot-copy{ color: var(--adm-muted); }
body.b2b-dark .tj-foot-copy-brand{ color: var(--adm-ink) !important; }
body.b2b-dark .tj-foot-legal a{ color: var(--adm-muted) !important; }
body.b2b-dark .tj-foot-legal a:hover{ color: var(--adm-accent-300) !important; }
body.b2b-dark .tj-foot-rights{ color: var(--adm-muted-2); }
body.b2b-dark .tj-foot-rights a{ color: var(--adm-accent-300) !important; }
@media (max-width: 620px){
    body.b2b-dark .tj-foot-col--cats,
    body.b2b-dark .tj-foot-col--pages,
    body.b2b-dark .tj-foot-col--quick{ border-top-color: var(--adm-border); }
    body.b2b-dark .tj-foot-col--quick{ border-bottom-color: var(--adm-border); }
}

/* ── Brand bridge: single source of truth (tj-admin-tokens.css) ── */
:root{
    --b2b-bg:          transparent;
    --b2b-card:        var(--adm-surface);
    --b2b-text:        var(--adm-ink);
    --b2b-muted:       var(--adm-muted);
    --b2b-border:      var(--adm-border);
    --b2b-shadow:      var(--adm-shadow-sm);
    --b2b-shadow-soft: var(--adm-shadow-xs);
    --b2b-primary:      var(--adm-accent-400);
    --b2b-primary-dark: var(--adm-accent-600);
    --b2b-success:     var(--adm-success);
    --b2b-warning:     var(--adm-warning);
    --b2b-danger:      var(--adm-danger);
    --b2b-info:        var(--adm-info);
}

/* ════════════════════════════════════════════════════════════
   Inputs inside the portal shell — flat, hairline, no glass.
   ════════════════════════════════════════════════════════════ */
.b2b-shell input[type="text"],
.b2b-shell input[type="number"],
.b2b-shell input[type="email"],
.b2b-shell input[type="date"],
.b2b-shell select,
.b2b-shell textarea{
    border-radius: var(--adm-r) !important;
    border: 1px solid var(--adm-input-border) !important;
    background: var(--adm-input-bg) !important;
    box-shadow: var(--adm-shadow-xs) !important;
    min-height: 40px;
    color: var(--adm-ink) !important;
    transition: border-color var(--adm-dur-instant) ease-out, box-shadow var(--adm-dur-instant) ease-out !important;
}
.b2b-shell input::placeholder,
.b2b-shell textarea::placeholder{
    color: var(--adm-muted-2) !important;
}
.b2b-shell input:focus,
.b2b-shell select:focus,
.b2b-shell textarea:focus{
    border-color: var(--adm-accent-500) !important;
    box-shadow: var(--adm-focus-ring) !important;
    outline: none !important;
}

@media (prefers-reduced-motion: reduce){
    .b2b-btn,
    .b2b-nav-pill,
    .b2b-kpi-card,
    .b2b-card,
    .b2b-strip-stat,
    .b2b-table tbody tr{
        transition: none !important;
    }
}

/* ── Smooth scrolling everywhere in the portal ── */
html{ scroll-behavior: smooth; }
