/*
 * Night City: a Cyberpunk 2077 inspired dark mode for the internal admin panel.
 *
 * Loaded on every page of layouts/app.blade.php (and nowhere else: the partner portal and the
 * public site never see it). Every rule is scoped under html.cp-2077, which the layout's head
 * script sets from localStorage before first paint, and which the navbar toggle flips. With
 * the class absent this file matches nothing.
 *
 * Palette: deliberately subdued neon (2026-10): softer yellow, cyan, green, red, magenta and
 * orange, no text or box glows except the wordmark's cyan edge, dim background blooms.
 *
 * Contrast rules, so a state never strands text:
 *   - Text on a solid neon fill (yellow, cyan, green, red) is always near-black (--cp-ink).
 *   - Text on a dark surface is --cp-text / --cp-muted or a neon foreground.
 *   - Hover and active states set background AND colour together.
 */

html.cp-2077 {
    --cp-bg: #05060b;
    --cp-bg-2: #0b0d17;
    --cp-bg-3: #121626;
    --cp-bg-4: #1a1f33;
    --cp-ink: #07080d;
    --cp-text: #c5cdd9;
    --cp-muted: #858ea3;
    --cp-line: rgba(120, 200, 215, 0.13);
    --cp-line-2: rgba(120, 200, 215, 0.24);
    --cp-yellow: #ddd06a;
    --cp-yellow-2: #c2b54e;
    --cp-cyan: #67c9d3;
    --cp-cyan-2: #52a9b2;
    --cp-red: #e26e80;
    --cp-red-2: #c93a55;
    --cp-magenta: #d06a8e;
    --cp-green: #66cc9e;
    --cp-orange: #dba45a;
    --cp-font: "Rajdhani", "Roboto", "Helvetica Neue", Arial, sans-serif;
    --cp-display: "Orbitron", "Rajdhani", "Roboto", sans-serif;
    --cp-mono: "Share Tech Mono", Menlo, Consolas, monospace;
    --cp-cut: 9px;

    color-scheme: dark;
    background: var(--cp-bg);
    accent-color: var(--cp-yellow);
    scrollbar-color: #2a3150 var(--cp-bg);
}

/* ---------------------------------------------------------------- base */

html.cp-2077 body {
    position: relative;
    min-height: 100vh;
    color: var(--cp-text);
    font-family: var(--cp-font);
    font-size: 15px;
    font-weight: 500;
    background-color: var(--cp-bg);
    background-image:
        radial-gradient(1200px 600px at 100% -10%, rgba(255, 42, 109, 0.06), transparent 60%),
        radial-gradient(900px 500px at -10% 110%, rgba(0, 240, 255, 0.05), transparent 60%),
        linear-gradient(rgba(120, 200, 215, 0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 200, 215, 0.02) 1px, transparent 1px);
    background-size: auto, auto, 44px 44px, 44px 44px;
    background-attachment: fixed;
}

/* CRT scanlines. pointer-events: none, so nothing underneath ever stops being clickable. */
html.cp-2077 body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    pointer-events: none;
    background: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 0, rgba(0, 0, 0, 0.05) 1px, transparent 1px, transparent 3px);
    mix-blend-mode: multiply;
}

html.cp-2077 ::selection { background: var(--cp-yellow); color: var(--cp-ink); }

html.cp-2077 h1, html.cp-2077 h2, html.cp-2077 h3,
html.cp-2077 .h1, html.cp-2077 .h2, html.cp-2077 .h3 {
    font-family: var(--cp-display);
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--cp-yellow);
}
html.cp-2077 h1, html.cp-2077 .h1 { text-transform: uppercase; }
html.cp-2077 h4, html.cp-2077 h5, html.cp-2077 h6,
html.cp-2077 .h4, html.cp-2077 .h5, html.cp-2077 .h6 {
    font-family: var(--cp-font);
    font-weight: 700;
    letter-spacing: 0.03em;
    color: var(--cp-text);
}
html.cp-2077 h1 small, html.cp-2077 h2 small, html.cp-2077 h3 small,
html.cp-2077 h4 small, html.cp-2077 small, html.cp-2077 .small { color: var(--cp-muted); text-shadow: none; }

html.cp-2077 a { color: var(--cp-cyan); }
html.cp-2077 a:hover, html.cp-2077 a:focus {
    color: var(--cp-yellow);
}
html.cp-2077 strong, html.cp-2077 b { color: #fff; }

html.cp-2077 hr { border-top-color: var(--cp-line); }
html.cp-2077 code, html.cp-2077 kbd, html.cp-2077 pre, html.cp-2077 samp { font-family: var(--cp-mono); }
html.cp-2077 code { color: var(--cp-magenta); background: rgba(208, 106, 142, 0.1); }
html.cp-2077 kbd { color: var(--cp-ink); background: var(--cp-cyan); }
html.cp-2077 pre { color: var(--cp-text); background: var(--cp-bg-2); border-color: var(--cp-line); }
html.cp-2077 blockquote { border-left-color: var(--cp-magenta); }
html.cp-2077 mark, html.cp-2077 .mark { color: var(--cp-ink); background: var(--cp-yellow); }

html.cp-2077 .text-muted, html.cp-2077 .help-block { color: var(--cp-muted); }
html.cp-2077 .text-primary { color: var(--cp-cyan); }
html.cp-2077 .text-success { color: var(--cp-green); }
html.cp-2077 .text-info { color: var(--cp-cyan); }
html.cp-2077 .text-warning { color: var(--cp-yellow); }
html.cp-2077 .text-danger, html.cp-2077 label.error { color: var(--cp-red); }
html.cp-2077 a.text-primary:hover, html.cp-2077 a.text-success:hover, html.cp-2077 a.text-info:hover,
html.cp-2077 a.text-warning:hover, html.cp-2077 a.text-danger:hover { color: var(--cp-yellow); }

html.cp-2077 .bg-primary { color: var(--cp-ink); background-color: var(--cp-cyan); }
html.cp-2077 .bg-success { color: var(--cp-text); background-color: rgba(102, 204, 158, 0.12); }
html.cp-2077 .bg-info { color: var(--cp-text); background-color: rgba(103, 201, 211, 0.10); }
html.cp-2077 .bg-warning { color: var(--cp-text); background-color: rgba(221, 208, 106, 0.12); }
html.cp-2077 .bg-danger { color: var(--cp-text); background-color: rgba(226, 110, 128, 0.14); }

/* Inline light backgrounds typed straight into views (about 60 of them) */
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background: #fff"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background:#fff"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background-color: #fff"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background-color:#fff"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background: white"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background:white"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background-color: white"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background-color:white"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background: #f"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background:#f"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background-color: #f"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background-color:#f"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background-color: #e"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background-color:#e"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background: #e"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="background:#e"] {
    background-color: var(--cp-bg-2) !important;
    background-image: none !important;
    color: var(--cp-text) !important;
}
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #333"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#333"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #000"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#000"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: black"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:black"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #555"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#555"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #222"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#222"] {
    color: var(--cp-text) !important;
}

/* ---------------------------------------------------------------- navbar */

html.cp-2077 .navbar-default {
    background: rgba(5, 6, 11, 0.94);
    border: 0;
    border-bottom: 1px solid var(--cp-red-2);
    box-shadow: 0 1px 0 rgba(201, 58, 85, 0.25);
}
/* A short yellow tab hanging under the left of the bar */
html.cp-2077 .navbar-default::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 180px;
    height: 3px;
    background: var(--cp-yellow);
    clip-path: polygon(0 0, 100% 0, calc(100% - 3px) 100%, 0 100%);
}
html.cp-2077 .navbar-static-top { position: relative; }

html.cp-2077 .navbar-default .navbar-brand {
    position: relative;
    text-transform: uppercase;
    background: none !important;
    -webkit-text-fill-color: var(--cp-yellow) !important;
    color: var(--cp-yellow) !important;
}
html.cp-2077 .navbar-default .navbar-brand:hover .cmi-brand-name,
html.cp-2077 .navbar-default .navbar-brand:focus .cmi-brand-name {
    animation: cp-glitch 0.9s steps(2, end) infinite;
}

/* The wordmark: Tektur black, sheared like the 2077 logo, with a light blue "2077" set under its
   right end, as in the game's logo. The brand is lifted a few pixels to make room inside the 50px bar. */
.cmi-brand-2077 { display: none; }
html.cp-2077 .navbar-default .navbar-brand { padding-top: 9px; padding-bottom: 21px; }
html.cp-2077 .navbar-default .navbar-brand .cmi-brand-name {
    display: inline-block;
    font-family: "Tektur", var(--cp-display);
    font-weight: 900;
    font-size: 19px;
    letter-spacing: 0.02em;
    transform: skewX(-10deg);
    -webkit-text-fill-color: var(--cp-yellow);
    text-shadow: -2px 0 rgba(103, 201, 211, 0.7);
}
html.cp-2077 .navbar-default .navbar-brand .cmi-brand-2077 {
    display: block;
    position: absolute;
    top: 32px;
    /* letter-spacing trails the last 7 too, so the right edge sits that much further out */
    right: 12px;
    font-family: "Orbitron", var(--cp-display);
    font-weight: 500;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.6em;
    color: var(--cp-cyan);
    -webkit-text-fill-color: var(--cp-cyan);
    background: none;
    text-shadow: none;
    transform: skewX(-10deg);
}

html.cp-2077 .navbar-default .navbar-nav > li > a {
    font-family: var(--cp-font);
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--cp-text);
    padding-left: 11px;
    padding-right: 11px;
}
html.cp-2077 .navbar-default .navbar-nav > li > a:hover,
html.cp-2077 .navbar-default .navbar-nav > li > a:focus {
    color: var(--cp-yellow);
    background: rgba(221, 208, 106, 0.06);
    box-shadow: inset 0 -2px 0 var(--cp-yellow);
}
html.cp-2077 .navbar-default .navbar-nav > .open > a,
html.cp-2077 .navbar-default .navbar-nav > .open > a:hover,
html.cp-2077 .navbar-default .navbar-nav > .open > a:focus {
    color: var(--cp-cyan);
    background: rgba(103, 201, 211, 0.08);
    box-shadow: inset 0 -2px 0 var(--cp-cyan);
}
html.cp-2077 .navbar-default .navbar-nav > li.cmi-active > a,
html.cp-2077 .navbar-default .navbar-nav > li.cmi-active > a:hover,
html.cp-2077 .navbar-default .navbar-nav > li.cmi-active > a:focus,
html.cp-2077 .navbar-default .navbar-nav > li.cmi-active.open > a {
    color: var(--cp-ink);
    background: var(--cp-yellow);
    box-shadow: none;
    text-shadow: none;
}
html.cp-2077 .navbar-default .navbar-nav > li > a .caret { border-top-color: currentColor; }
html.cp-2077 .navbar-default .navbar-toggle { border-color: var(--cp-line-2); }
html.cp-2077 .navbar-default .navbar-toggle:hover,
html.cp-2077 .navbar-default .navbar-toggle:focus { background: rgba(103, 201, 211, 0.1); }
html.cp-2077 .navbar-default .navbar-toggle .icon-bar { background: var(--cp-cyan); }
html.cp-2077 .navbar-default .navbar-collapse { border-color: var(--cp-line); }

html.cp-2077 .navbar-nav > li > a > .badge,
html.cp-2077 .dropdown-menu > li > a > .badge,
html.cp-2077 .badge {
    /* Small counts: white bold on a deeper red reads at 10px (5.5:1); ink on bright red with a
       blur glow did not. A crisp 1px ring keeps the neon edge without smearing the digits. */
    color: #fff;
    background-color: var(--cp-red-2);
    font-family: var(--cp-font);
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: 0 0 0 1px rgba(226, 110, 128, 0.6);
}
html.cp-2077 .navbar-nav > li > a > .badge { font-size: 11px; line-height: 13px; }

/* ---------------------------------------------------------------- dropdowns */

html.cp-2077 .dropdown-menu {
    color: var(--cp-text);
    background: var(--cp-bg-2);
    border: 1px solid var(--cp-line-2);
    border-top: 2px solid var(--cp-cyan);
    border-radius: 0;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.7);
}
html.cp-2077 .dropdown-menu > li > a,
html.cp-2077 .dropdown-menu label {
    color: var(--cp-text);
    font-weight: 500;
}
html.cp-2077 .dropdown-menu > li > a { border-left: 2px solid transparent; }
html.cp-2077 .dropdown-menu > li > a:hover,
html.cp-2077 .dropdown-menu > li > a:focus {
    color: var(--cp-yellow);
    background: rgba(221, 208, 106, 0.07);
    border-left-color: var(--cp-yellow);
    text-shadow: none;
}
html.cp-2077 .dropdown-menu > .active > a,
html.cp-2077 .dropdown-menu > .active > a:hover,
html.cp-2077 .dropdown-menu > .active > a:focus,
html.cp-2077 .dropdown-menu > li.cmi-active > a,
html.cp-2077 .dropdown-menu > li.cmi-active > a:hover,
html.cp-2077 .dropdown-menu > li.cmi-active > a:focus {
    color: var(--cp-ink);
    background: var(--cp-yellow);
    border-left-color: var(--cp-yellow);
}
html.cp-2077 .dropdown-menu > .active > a label,
html.cp-2077 .dropdown-menu > li.cmi-active > a label { color: var(--cp-ink); }
html.cp-2077 .dropdown-menu > .disabled > a,
html.cp-2077 .dropdown-menu > .disabled > a:hover { color: #4f5872; background: transparent; border-left-color: transparent; }
html.cp-2077 .dropdown-menu .divider { background-color: var(--cp-line); }
html.cp-2077 .dropdown-menu-split { column-rule-color: var(--cp-line); }
html.cp-2077 .dropdown-header {
    color: var(--cp-red);
    font-family: var(--cp-font);
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

/* ---------------------------------------------------------------- buttons */

html.cp-2077 .btn {
    font-family: var(--cp-font);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 0;
    transition: background-color 0.12s, color 0.12s, border-color 0.12s, box-shadow 0.12s;
}
html.cp-2077 .btn:not(.btn-group > .btn):not(.input-group-btn > .btn):not(.btn-xs):not(.btn-block):not(.close) {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--cp-cut)), calc(100% - var(--cp-cut)) 100%, 0 100%);
}
/* Small buttons sit in tight cells and panel headings: keep them about as wide as the stock theme. */
html.cp-2077 .btn-sm, html.cp-2077 .btn-xs, html.cp-2077 .btn-group-sm > .btn, html.cp-2077 .btn-group-xs > .btn { letter-spacing: 0.02em; }
html.cp-2077 .btn-xs { --cp-cut: 5px; }
html.cp-2077 .btn:focus-visible,
html.cp-2077 .btn.focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -5px;
}
html.cp-2077 .btn:focus,
html.cp-2077 .btn:active:focus,
html.cp-2077 .btn.active:focus { outline: 2px solid currentColor; outline-offset: -5px; }
html.cp-2077 .btn:active, html.cp-2077 .btn.active { box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.45); }

/* Variant recipe: dark tinted fill + neon border + neon text; hover = solid neon + ink text. */
html.cp-2077 .btn-default {
    color: var(--cp-cyan);
    background-color: rgba(103, 201, 211, 0.06);
    border-color: var(--cp-line-2);
}
html.cp-2077 .btn-default:hover, html.cp-2077 .btn-default:focus,
html.cp-2077 .btn-default:active, html.cp-2077 .btn-default.active,
html.cp-2077 .open > .dropdown-toggle.btn-default,
html.cp-2077 .btn-default:active:hover, html.cp-2077 .btn-default.active:hover,
html.cp-2077 .open > .dropdown-toggle.btn-default:hover,
html.cp-2077 .btn-default:active:focus, html.cp-2077 .open > .dropdown-toggle.btn-default:focus {
    color: var(--cp-ink);
    background-color: var(--cp-cyan);
    border-color: var(--cp-cyan);
}
html.cp-2077 .btn-default .badge { color: var(--cp-ink); background: var(--cp-cyan); box-shadow: none; }
html.cp-2077 .btn-default:hover .badge { color: var(--cp-cyan); background: var(--cp-ink); }

html.cp-2077 .btn-primary {
    color: var(--cp-ink);
    background-color: var(--cp-yellow);
    border-color: var(--cp-yellow);
}
html.cp-2077 .btn-primary:hover, html.cp-2077 .btn-primary:focus,
html.cp-2077 .btn-primary:active, html.cp-2077 .btn-primary.active,
html.cp-2077 .open > .dropdown-toggle.btn-primary,
html.cp-2077 .btn-primary:active:hover, html.cp-2077 .btn-primary.active:hover,
html.cp-2077 .open > .dropdown-toggle.btn-primary:hover,
html.cp-2077 .btn-primary:active:focus, html.cp-2077 .open > .dropdown-toggle.btn-primary:focus {
    color: var(--cp-ink);
    background-color: var(--cp-cyan);
    border-color: var(--cp-cyan);
}
html.cp-2077 .btn-primary .badge { color: var(--cp-yellow); background: var(--cp-ink); box-shadow: none; }

html.cp-2077 .btn-success { color: var(--cp-green); background-color: rgba(102, 204, 158, 0.08); border-color: rgba(102, 204, 158, 0.55); }
html.cp-2077 .btn-info { color: var(--cp-cyan); background-color: rgba(103, 201, 211, 0.08); border-color: rgba(103, 201, 211, 0.55); }
html.cp-2077 .btn-warning { color: var(--cp-orange); background-color: rgba(219, 164, 90, 0.08); border-color: rgba(219, 164, 90, 0.6); }
html.cp-2077 .btn-danger { color: var(--cp-red); background-color: rgba(226, 110, 128, 0.1); border-color: rgba(226, 110, 128, 0.65); }

html.cp-2077 .btn-success:hover, html.cp-2077 .btn-success:focus, html.cp-2077 .btn-success:active,
html.cp-2077 .btn-success.active, html.cp-2077 .open > .dropdown-toggle.btn-success,
html.cp-2077 .btn-success:active:hover, html.cp-2077 .btn-success:active:focus {
    color: var(--cp-ink); background-color: var(--cp-green); border-color: var(--cp-green);
}
html.cp-2077 .btn-info:hover, html.cp-2077 .btn-info:focus, html.cp-2077 .btn-info:active,
html.cp-2077 .btn-info.active, html.cp-2077 .open > .dropdown-toggle.btn-info,
html.cp-2077 .btn-info:active:hover, html.cp-2077 .btn-info:active:focus {
    color: var(--cp-ink); background-color: var(--cp-cyan); border-color: var(--cp-cyan);
}
html.cp-2077 .btn-warning:hover, html.cp-2077 .btn-warning:focus, html.cp-2077 .btn-warning:active,
html.cp-2077 .btn-warning.active, html.cp-2077 .open > .dropdown-toggle.btn-warning,
html.cp-2077 .btn-warning:active:hover, html.cp-2077 .btn-warning:active:focus {
    color: var(--cp-ink); background-color: var(--cp-orange); border-color: var(--cp-orange);
}
html.cp-2077 .btn-danger:hover, html.cp-2077 .btn-danger:focus, html.cp-2077 .btn-danger:active,
html.cp-2077 .btn-danger.active, html.cp-2077 .open > .dropdown-toggle.btn-danger,
html.cp-2077 .btn-danger:active:hover, html.cp-2077 .btn-danger:active:focus {
    color: var(--cp-ink); background-color: var(--cp-red); border-color: var(--cp-red);
}
html.cp-2077 .btn-success .badge, html.cp-2077 .btn-info .badge,
html.cp-2077 .btn-warning .badge, html.cp-2077 .btn-danger .badge { color: var(--cp-ink); background: currentColor; box-shadow: none; }

html.cp-2077 .btn-link { color: var(--cp-cyan); text-transform: none; letter-spacing: 0.02em; }
html.cp-2077 .btn-link:hover, html.cp-2077 .btn-link:focus { color: var(--cp-yellow); background: transparent; text-decoration: underline; }

/* Disabled: muted and flat, and hovering must not light it up. */
html.cp-2077 .btn.disabled, html.cp-2077 .btn[disabled], html.cp-2077 fieldset[disabled] .btn,
html.cp-2077 .btn.disabled:hover, html.cp-2077 .btn[disabled]:hover, html.cp-2077 fieldset[disabled] .btn:hover,
html.cp-2077 .btn.disabled:focus, html.cp-2077 .btn[disabled]:focus {
    color: #5f6984;
    background-color: rgba(141, 151, 173, 0.06);
    border-color: rgba(141, 151, 173, 0.25);
    opacity: 1;
    box-shadow: none;
}

html.cp-2077 .close {
    color: var(--cp-text);
    opacity: 0.7;
    text-shadow: none;
}
html.cp-2077 .close:hover, html.cp-2077 .close:focus { color: var(--cp-red); opacity: 1; }

/* ---------------------------------------------------------------- forms */

html.cp-2077 .form-control,
html.cp-2077 input[type="text"], html.cp-2077 input[type="email"], html.cp-2077 input[type="number"],
html.cp-2077 input[type="password"], html.cp-2077 input[type="search"], html.cp-2077 input[type="date"],
html.cp-2077 input[type="datetime-local"], html.cp-2077 input[type="tel"], html.cp-2077 input[type="url"],
html.cp-2077 textarea, html.cp-2077 select {
    color: var(--cp-text);
    background-color: #080a12;
    border: 1px solid rgba(103, 201, 211, 0.24);
    border-radius: 0;
    box-shadow: none;
    font-family: var(--cp-font);
    font-weight: 500;
}
html.cp-2077 .form-control:hover,
html.cp-2077 textarea:hover, html.cp-2077 select:hover { border-color: rgba(103, 201, 211, 0.45); }
html.cp-2077 .form-control:focus,
html.cp-2077 input:focus, html.cp-2077 textarea:focus, html.cp-2077 select:focus {
    color: #fff;
    border-color: var(--cp-cyan);
    outline: 0;
    box-shadow: 0 0 0 1px var(--cp-cyan);
}
html.cp-2077 .form-control::placeholder, html.cp-2077 input::placeholder, html.cp-2077 textarea::placeholder { color: #5c667f; opacity: 1; }
html.cp-2077 .form-control[disabled], html.cp-2077 .form-control[readonly],
html.cp-2077 fieldset[disabled] .form-control {
    color: var(--cp-muted);
    background-color: #0e111c;
    border-color: rgba(141, 151, 173, 0.2);
}
html.cp-2077 select.form-control:not([multiple]):not([size]) {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2367c9d3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
html.cp-2077 select option { color: var(--cp-text); background: var(--cp-bg-2); }

/* No extra letter spacing on labels: Rajdhani at 15px is already about as wide as stock Roboto at 14px, so any
   added spacing makes labels that just fit ("Sale / Purchase Currency") wrap and push their field out of line. */
html.cp-2077 label, html.cp-2077 .control-label {
    color: var(--cp-muted);
    font-weight: 600;
}
html.cp-2077 .checkbox label, html.cp-2077 .radio label,
html.cp-2077 .checkbox-inline, html.cp-2077 .radio-inline { color: var(--cp-text); font-weight: 500; letter-spacing: 0; }

html.cp-2077 .input-group-addon {
    color: var(--cp-cyan);
    background-color: var(--cp-bg-3);
    border-color: rgba(103, 201, 211, 0.24);
    border-radius: 0;
}

html.cp-2077 .has-error .form-control { border-color: var(--cp-red); }
html.cp-2077 .has-error .form-control:focus { box-shadow: 0 0 0 1px var(--cp-red); }
html.cp-2077 .has-error .help-block, html.cp-2077 .has-error .control-label,
html.cp-2077 .has-error .checkbox, html.cp-2077 .has-error .radio { color: var(--cp-red); }
html.cp-2077 .has-success .form-control { border-color: var(--cp-green); }
html.cp-2077 .has-success .help-block, html.cp-2077 .has-success .control-label { color: var(--cp-green); }
html.cp-2077 .has-warning .form-control { border-color: var(--cp-orange); }
html.cp-2077 .has-warning .help-block, html.cp-2077 .has-warning .control-label { color: var(--cp-orange); }

html.cp-2077 fieldset { border-color: var(--cp-line); }
html.cp-2077 legend { color: var(--cp-yellow); border-bottom-color: var(--cp-line); font-family: var(--cp-display); font-size: 16px; letter-spacing: 0.06em; }

/* ---------------------------------------------------------------- tables */

html.cp-2077 .table { color: var(--cp-text); background: transparent; }
html.cp-2077 .table > thead > tr > th,
html.cp-2077 .table > thead > tr > td {
    color: var(--cp-cyan);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--cp-line-2);
    background: rgba(103, 201, 211, 0.035);
}
html.cp-2077 .table > thead > tr > th a:not(.btn) { color: var(--cp-cyan); }
html.cp-2077 .table > thead > tr > th a:not(.btn):hover { color: var(--cp-yellow); }
html.cp-2077 .table > tbody > tr > td, html.cp-2077 .table > tbody > tr > th,
html.cp-2077 .table > tfoot > tr > td, html.cp-2077 .table > tfoot > tr > th,
html.cp-2077 .table > thead > tr > th, html.cp-2077 .table > thead > tr > td {
    border-top-color: rgba(103, 201, 211, 0.09);
}
/* Row boundaries. Multi-line cells (alerts, payments) made it hard to see where one row ends:
   a clearly visible divider between body rows, plus alternating row shading on EVERY table
   (not only .table-striped). Hover sits on top of both. Contextual rows (.success, .danger…)
   paint their cells, so they keep their tint over the zebra. */
html.cp-2077 .table > tbody > tr + tr > td, html.cp-2077 .table > tbody > tr + tr > th {
    border-top-color: rgba(103, 201, 211, 0.2);
}
html.cp-2077 .table > tbody + tbody { border-top-color: var(--cp-line-2); }
html.cp-2077 .table > tfoot > tr > td, html.cp-2077 .table > tfoot > tr > th { color: #fff; font-weight: 700; }
html.cp-2077 .table > tbody > tr:nth-of-type(even),
html.cp-2077 .table-striped > tbody > tr:nth-of-type(even) { background-color: rgba(255, 255, 255, 0.045); }
html.cp-2077 .table-striped > tbody > tr:nth-of-type(odd) { background-color: transparent; }
html.cp-2077 .table-hover > tbody > tr:hover,
html.cp-2077 .table > tbody > tr:hover {
    background-color: rgba(221, 208, 106, 0.08);
    box-shadow: inset 3px 0 0 var(--cp-yellow);
}
html.cp-2077 .table-bordered,
html.cp-2077 .table-bordered > thead > tr > th, html.cp-2077 .table-bordered > tbody > tr > td,
html.cp-2077 .table-bordered > tbody > tr > th, html.cp-2077 .table-bordered > thead > tr > td,
html.cp-2077 .table-bordered > tfoot > tr > td, html.cp-2077 .table-bordered > tfoot > tr > th {
    border-color: rgba(103, 201, 211, 0.12);
}

/* Contextual rows/cells: dark tints, text stays readable. */
html.cp-2077 .table > thead > tr > td.active, html.cp-2077 .table > tbody > tr > td.active,
html.cp-2077 .table > thead > tr > th.active, html.cp-2077 .table > tbody > tr > th.active,
html.cp-2077 .table > tbody > tr.active > td, html.cp-2077 .table > tbody > tr.active > th,
html.cp-2077 .table > thead > tr.active > th, html.cp-2077 .table > tfoot > tr.active > td { background-color: rgba(141, 151, 173, 0.12); }
html.cp-2077 .table > tbody > tr > td.success, html.cp-2077 .table > tbody > tr > th.success,
html.cp-2077 .table > tbody > tr.success > td, html.cp-2077 .table > tbody > tr.success > th,
html.cp-2077 .table > thead > tr.success > th, html.cp-2077 .table > tfoot > tr.success > td { background-color: rgba(102, 204, 158, 0.10); }
html.cp-2077 .table > tbody > tr > td.info, html.cp-2077 .table > tbody > tr > th.info,
html.cp-2077 .table > tbody > tr.info > td, html.cp-2077 .table > tbody > tr.info > th,
html.cp-2077 .table > thead > tr.info > th, html.cp-2077 .table > tfoot > tr.info > td { background-color: rgba(103, 201, 211, 0.09); }
html.cp-2077 .table > tbody > tr > td.warning, html.cp-2077 .table > tbody > tr > th.warning,
html.cp-2077 .table > tbody > tr.warning > td, html.cp-2077 .table > tbody > tr.warning > th,
html.cp-2077 .table > thead > tr.warning > th, html.cp-2077 .table > tfoot > tr.warning > td { background-color: rgba(221, 208, 106, 0.10); }
html.cp-2077 .table > tbody > tr > td.danger, html.cp-2077 .table > tbody > tr > th.danger,
html.cp-2077 .table > tbody > tr.danger > td, html.cp-2077 .table > tbody > tr.danger > th,
html.cp-2077 .table > thead > tr.danger > th, html.cp-2077 .table > tfoot > tr.danger > td { background-color: rgba(226, 110, 128, 0.13); }
html.cp-2077 .table-hover > tbody > tr:hover > .active, html.cp-2077 .table-hover > tbody > tr.active:hover > td { background-color: rgba(141, 151, 173, 0.18); }
html.cp-2077 .table-hover > tbody > tr:hover > .success, html.cp-2077 .table-hover > tbody > tr.success:hover > td { background-color: rgba(102, 204, 158, 0.16); }
html.cp-2077 .table-hover > tbody > tr:hover > .info, html.cp-2077 .table-hover > tbody > tr.info:hover > td { background-color: rgba(103, 201, 211, 0.15); }
html.cp-2077 .table-hover > tbody > tr:hover > .warning, html.cp-2077 .table-hover > tbody > tr.warning:hover > td { background-color: rgba(221, 208, 106, 0.16); }
html.cp-2077 .table-hover > tbody > tr:hover > .danger, html.cp-2077 .table-hover > tbody > tr.danger:hover > td { background-color: rgba(226, 110, 128, 0.2); }
html.cp-2077 .table-responsive { border-color: var(--cp-line); }

/* ---------------------------------------------------------------- panels, wells, cards */

html.cp-2077 .panel {
    position: relative;
    color: var(--cp-text);
    background-color: rgba(11, 13, 23, 0.92);
    border: 1px solid var(--cp-line);
    border-radius: 0;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.4), 0 10px 30px rgba(0, 0, 0, 0.35);
}
/* Corner bracket: drawn with a pseudo element, not clip-path, so dropdowns can still overflow the panel. */
html.cp-2077 .panel::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 18px;
    height: 18px;
    border-top: 2px solid var(--cp-yellow);
    border-left: 2px solid var(--cp-yellow);
    pointer-events: none;
}
html.cp-2077 .panel > .panel-heading,
html.cp-2077 .panel-default > .panel-heading {
    color: var(--cp-yellow);
    background: linear-gradient(90deg, rgba(221, 208, 106, 0.08), transparent 70%);
    border-color: var(--cp-line);
    border-radius: 0;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
html.cp-2077 .panel-heading a:not(.btn) { color: inherit; }
html.cp-2077 .panel-heading a:not(.btn):hover { color: var(--cp-cyan); }
/* Headings that float their buttons right (lead details "Tools") grow to contain them when they wrap */
html.cp-2077 .panel-heading::after { content: ""; display: table; clear: both; }
/* Uppercase buttons run wider than the stock mixed-case ones: tighten them where a heading shares a line with them */
html.cp-2077 .panel-heading .btn-sm, html.cp-2077 .panel-heading .btn-xs { padding-left: 7px; padding-right: 9px; letter-spacing: 0; }
html.cp-2077 .panel-title { color: inherit; font-family: var(--cp-font); font-weight: 700; }
html.cp-2077 .panel-primary { border-color: rgba(103, 201, 211, 0.45); }
html.cp-2077 .panel-primary > .panel-heading { color: var(--cp-cyan); background: linear-gradient(90deg, rgba(103, 201, 211, 0.14), transparent 70%); border-color: rgba(103, 201, 211, 0.45); }
html.cp-2077 .panel-success { border-color: rgba(102, 204, 158, 0.4); }
html.cp-2077 .panel-success > .panel-heading { color: var(--cp-green); background: linear-gradient(90deg, rgba(102, 204, 158, 0.12), transparent 70%); border-color: rgba(102, 204, 158, 0.4); }
html.cp-2077 .panel-info { border-color: rgba(103, 201, 211, 0.4); }
html.cp-2077 .panel-info > .panel-heading { color: var(--cp-cyan); background: linear-gradient(90deg, rgba(103, 201, 211, 0.12), transparent 70%); border-color: rgba(103, 201, 211, 0.4); }
html.cp-2077 .panel-warning { border-color: rgba(219, 164, 90, 0.45); }
html.cp-2077 .panel-warning > .panel-heading { color: var(--cp-orange); background: linear-gradient(90deg, rgba(219, 164, 90, 0.12), transparent 70%); border-color: rgba(219, 164, 90, 0.45); }
html.cp-2077 .panel-danger { border-color: rgba(226, 110, 128, 0.5); }
html.cp-2077 .panel-danger > .panel-heading { color: var(--cp-red); background: linear-gradient(90deg, rgba(226, 110, 128, 0.14), transparent 70%); border-color: rgba(226, 110, 128, 0.5); }
html.cp-2077 .panel-footer { color: var(--cp-muted); background: rgba(0, 0, 0, 0.25); border-top-color: var(--cp-line); border-radius: 0; }
html.cp-2077 .panel > .table, html.cp-2077 .panel > .table-responsive > .table { background: transparent; }
html.cp-2077 .panel-group .panel-heading + .panel-collapse > .panel-body { border-top-color: var(--cp-line); }

html.cp-2077 .well {
    color: var(--cp-text);
    background: rgba(18, 22, 38, 0.85);
    border: 1px solid var(--cp-line);
    border-radius: 0;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}
html.cp-2077 .jumbotron { color: var(--cp-text); background: var(--cp-bg-2); }
html.cp-2077 .thumbnail { background: var(--cp-bg-2); border-color: var(--cp-line); }
html.cp-2077 .page-header { border-bottom-color: var(--cp-line); }

/* ---------------------------------------------------------------- alerts, labels */

html.cp-2077 .alert {
    color: var(--cp-text);
    border: 1px solid;
    border-left-width: 4px;
    border-radius: 0;
}
html.cp-2077 .alert h4 { font-family: var(--cp-display); font-size: 14px; letter-spacing: 0.1em; text-transform: uppercase; }
html.cp-2077 .alert-success { background: rgba(102, 204, 158, 0.07); border-color: rgba(102, 204, 158, 0.45); }
html.cp-2077 .alert-success h4, html.cp-2077 .alert-success .alert-link { color: var(--cp-green); }
html.cp-2077 .alert-info { background: rgba(103, 201, 211, 0.07); border-color: rgba(103, 201, 211, 0.45); }
html.cp-2077 .alert-info h4, html.cp-2077 .alert-info .alert-link { color: var(--cp-cyan); }
html.cp-2077 .alert-warning { background: rgba(221, 208, 106, 0.07); border-color: rgba(221, 208, 106, 0.5); }
html.cp-2077 .alert-warning h4, html.cp-2077 .alert-warning .alert-link { color: var(--cp-yellow); }
html.cp-2077 .alert-danger { background: rgba(226, 110, 128, 0.09); border-color: rgba(226, 110, 128, 0.55); }
html.cp-2077 .alert-danger h4, html.cp-2077 .alert-danger .alert-link { color: var(--cp-red); }
html.cp-2077 .alert .alert-link:hover { color: #fff; }

html.cp-2077 .label {
    border-radius: 0;
    font-family: var(--cp-font);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 1px solid;
    padding: 0.25em 0.6em;
}
html.cp-2077 .label-default { color: var(--cp-muted); background: rgba(141, 151, 173, 0.1); border-color: rgba(141, 151, 173, 0.4); }
html.cp-2077 .label-primary { color: var(--cp-ink); background: var(--cp-yellow); border-color: var(--cp-yellow); }
html.cp-2077 .label-success { color: var(--cp-green); background: rgba(102, 204, 158, 0.1); border-color: rgba(102, 204, 158, 0.55); }
html.cp-2077 .label-info { color: var(--cp-cyan); background: rgba(103, 201, 211, 0.1); border-color: rgba(103, 201, 211, 0.55); }
html.cp-2077 .label-warning { color: var(--cp-orange); background: rgba(219, 164, 90, 0.1); border-color: rgba(219, 164, 90, 0.6); }
html.cp-2077 .label-danger { color: #ec8595; /* a step lighter than --cp-red: these sit on red-tinted rows */ background: rgba(226, 110, 128, 0.12); border-color: rgba(226, 110, 128, 0.6); }
html.cp-2077 a.label:hover, html.cp-2077 a.label:focus { color: var(--cp-ink); background: var(--cp-yellow); border-color: var(--cp-yellow); text-shadow: none; }

/* ---------------------------------------------------------------- navs, pagination, lists */

html.cp-2077 .nav-tabs { border-bottom-color: var(--cp-line-2); }
html.cp-2077 .nav-tabs > li > a {
    color: var(--cp-muted);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: 0;
}
html.cp-2077 .nav-tabs > li > a:hover, html.cp-2077 .nav-tabs > li > a:focus {
    color: var(--cp-yellow);
    background: rgba(221, 208, 106, 0.05);
    border-color: var(--cp-line) var(--cp-line) var(--cp-line-2);
    text-shadow: none;
}
html.cp-2077 .nav-tabs > li.active > a,
html.cp-2077 .nav-tabs > li.active > a:hover,
html.cp-2077 .nav-tabs > li.active > a:focus {
    color: var(--cp-yellow);
    background: var(--cp-bg-2);
    border-color: var(--cp-line-2) var(--cp-line-2) transparent;
    box-shadow: inset 0 2px 0 var(--cp-yellow);
}
html.cp-2077 .tab-content { color: var(--cp-text); }

html.cp-2077 .nav > li > a:hover, html.cp-2077 .nav > li > a:focus { background-color: rgba(221, 208, 106, 0.06); }
html.cp-2077 .nav-pills > li > a { color: var(--cp-cyan); border-radius: 0; font-weight: 600; }
html.cp-2077 .nav-pills > li > a:hover { color: var(--cp-yellow); }
html.cp-2077 .nav-pills > li.active > a, html.cp-2077 .nav-pills > li.active > a:hover,
html.cp-2077 .nav-pills > li.active > a:focus { color: var(--cp-ink); background: var(--cp-yellow); }
html.cp-2077 .nav .open > a, html.cp-2077 .nav .open > a:hover, html.cp-2077 .nav .open > a:focus { background-color: rgba(103, 201, 211, 0.08); border-color: var(--cp-cyan); }

html.cp-2077 .pagination > li > a, html.cp-2077 .pagination > li > span {
    color: var(--cp-cyan);
    background: rgba(11, 13, 23, 0.9);
    border-color: var(--cp-line);
    font-weight: 600;
}
html.cp-2077 .pagination > li:first-child > a, html.cp-2077 .pagination > li:first-child > span,
html.cp-2077 .pagination > li:last-child > a, html.cp-2077 .pagination > li:last-child > span { border-radius: 0; }
html.cp-2077 .pagination > li > a:hover, html.cp-2077 .pagination > li > span:hover,
html.cp-2077 .pagination > li > a:focus, html.cp-2077 .pagination > li > span:focus {
    color: var(--cp-yellow);
    background: rgba(221, 208, 106, 0.08);
    border-color: var(--cp-line-2);
    text-shadow: none;
}
html.cp-2077 .pagination > .active > a, html.cp-2077 .pagination > .active > span,
html.cp-2077 .pagination > .active > a:hover, html.cp-2077 .pagination > .active > span:hover,
html.cp-2077 .pagination > .active > a:focus, html.cp-2077 .pagination > .active > span:focus {
    color: var(--cp-ink);
    background: var(--cp-yellow);
    border-color: var(--cp-yellow);
}
html.cp-2077 .pagination > .disabled > a, html.cp-2077 .pagination > .disabled > span,
html.cp-2077 .pagination > .disabled > a:hover, html.cp-2077 .pagination > .disabled > span:hover {
    color: #4f5872;
    background: rgba(11, 13, 23, 0.9);
    border-color: var(--cp-line);
}
html.cp-2077 .pager li > a, html.cp-2077 .pager li > span { color: var(--cp-cyan); background: var(--cp-bg-2); border-color: var(--cp-line-2); border-radius: 0; }
html.cp-2077 .pager li > a:hover { color: var(--cp-ink); background: var(--cp-cyan); }
html.cp-2077 .pager .disabled > a, html.cp-2077 .pager .disabled > span { color: #4f5872; background: var(--cp-bg-2); }

html.cp-2077 .breadcrumb { background: var(--cp-bg-2); border: 1px solid var(--cp-line); border-radius: 0; }
html.cp-2077 .breadcrumb > li + li::before { color: var(--cp-magenta); content: "//\00a0"; }
html.cp-2077 .breadcrumb > .active { color: var(--cp-muted); }

html.cp-2077 .list-group-item {
    color: var(--cp-text);
    background: rgba(11, 13, 23, 0.9);
    border-color: var(--cp-line);
}
html.cp-2077 .list-group-item:first-child, html.cp-2077 .list-group-item:last-child { border-radius: 0; }
html.cp-2077 a.list-group-item, html.cp-2077 button.list-group-item { color: var(--cp-text); }
html.cp-2077 a.list-group-item:hover, html.cp-2077 a.list-group-item:focus,
html.cp-2077 button.list-group-item:hover, html.cp-2077 button.list-group-item:focus {
    color: var(--cp-yellow);
    background: rgba(221, 208, 106, 0.06);
    text-shadow: none;
}
html.cp-2077 .list-group-item.active, html.cp-2077 .list-group-item.active:hover, html.cp-2077 .list-group-item.active:focus {
    color: var(--cp-ink);
    background: var(--cp-yellow);
    border-color: var(--cp-yellow);
}
html.cp-2077 .list-group-item.active .list-group-item-text { color: var(--cp-ink); }
html.cp-2077 .list-group-item-heading { color: #fff; }
html.cp-2077 .list-group-item-text { color: var(--cp-muted); }

/* ---------------------------------------------------------------- modals, popovers, tooltips */

html.cp-2077 .modal-backdrop { background: #000; }
html.cp-2077 .modal-backdrop.in { opacity: 0.78; }
html.cp-2077 .modal-content {
    color: var(--cp-text);
    background: var(--cp-bg-2);
    border: 1px solid var(--cp-line-2);
    border-top: 2px solid var(--cp-yellow);
    border-radius: 0;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8);
}
html.cp-2077 .modal-header, html.cp-2077 .modal-footer { border-color: var(--cp-line); }
html.cp-2077 .modal-title { color: var(--cp-yellow); font-family: var(--cp-display); font-size: 16px; letter-spacing: 0.06em; text-transform: uppercase; }

html.cp-2077 .popover { color: var(--cp-text); background: var(--cp-bg-3); border-color: var(--cp-line-2); border-radius: 0; }
html.cp-2077 .popover-title { color: var(--cp-yellow); background: var(--cp-bg-4); border-bottom-color: var(--cp-line); border-radius: 0; }
html.cp-2077 .popover.top > .arrow::after { border-top-color: var(--cp-bg-3); }
html.cp-2077 .popover.bottom > .arrow::after { border-bottom-color: var(--cp-bg-4); }
html.cp-2077 .popover.left > .arrow::after { border-left-color: var(--cp-bg-3); }
html.cp-2077 .popover.right > .arrow::after { border-right-color: var(--cp-bg-3); }
html.cp-2077 .tooltip-inner { color: var(--cp-ink); background: var(--cp-cyan); border-radius: 0; font-weight: 600; }
html.cp-2077 .tooltip.top .tooltip-arrow { border-top-color: var(--cp-cyan); }
html.cp-2077 .tooltip.bottom .tooltip-arrow { border-bottom-color: var(--cp-cyan); }
html.cp-2077 .tooltip.left .tooltip-arrow { border-left-color: var(--cp-cyan); }
html.cp-2077 .tooltip.right .tooltip-arrow { border-right-color: var(--cp-cyan); }

html.cp-2077 .progress { background: var(--cp-bg-3); border-radius: 0; box-shadow: inset 0 0 0 1px var(--cp-line); }
html.cp-2077 .progress-bar { color: var(--cp-ink); background: linear-gradient(90deg, var(--cp-cyan), var(--cp-yellow)); font-weight: 700; }
html.cp-2077 .progress-bar-success { background: var(--cp-green); }
html.cp-2077 .progress-bar-warning { background: var(--cp-orange); }
html.cp-2077 .progress-bar-danger { background: var(--cp-red); }

/* ---------------------------------------------------------------- third-party widgets */

/* bootstrap-multiselect */
html.cp-2077 .multiselect-container > li > a > label { color: var(--cp-text); }
html.cp-2077 .multiselect-container > li > a:hover > label { color: var(--cp-yellow); }
html.cp-2077 .multiselect-container > li.active > a > label { color: var(--cp-ink); }
html.cp-2077 .multiselect-container > li.multiselect-group label { color: var(--cp-red); }

/* Morris charts (SVG) */
html.cp-2077 svg text[fill="#888888"], html.cp-2077 svg tspan { fill: var(--cp-muted); }
html.cp-2077 svg path[stroke="#aaaaaa"] { stroke: rgba(103, 201, 211, 0.14); }
html.cp-2077 .morris-hover.morris-default-style {
    color: var(--cp-text);
    background: rgba(11, 13, 23, 0.95);
    border: 1px solid var(--cp-line-2);
    border-radius: 0;
}
html.cp-2077 .morris-hover.morris-default-style .morris-hover-row-label { color: var(--cp-yellow); }

/* Vue / jQuery datepickers and autocompletes that render their own white boxes */
html.cp-2077 .daterangepicker, html.cp-2077 .datepicker-dropdown, html.cp-2077 .ui-autocomplete,
html.cp-2077 .vs__dropdown-menu, html.cp-2077 .multiselect__content-wrapper, html.cp-2077 .multiselect__tags {
    color: var(--cp-text);
    background: var(--cp-bg-2);
    border-color: var(--cp-line-2);
}
html.cp-2077 .multiselect__input, html.cp-2077 .multiselect__single { color: var(--cp-text); background: transparent; }
html.cp-2077 .multiselect__option--highlight { color: var(--cp-ink); background: var(--cp-yellow); }
html.cp-2077 .multiselect__tag { color: var(--cp-ink); background: var(--cp-cyan); }

/* ---------------------------------------------------------------- the toggle itself */

.cmi-theme-toggle .cmi-theme-toggle-label { display: none; }
@media (max-width: 767px) {
    .cmi-theme-toggle .cmi-theme-toggle-label { display: inline; margin-left: 6px; }
}
html.cp-2077 .navbar-default .navbar-nav > li > a.cmi-theme-toggle {
    color: var(--cp-yellow);
}
html.cp-2077 .navbar-default .navbar-nav > li > a.cmi-theme-toggle:hover,
html.cp-2077 .navbar-default .navbar-nav > li > a.cmi-theme-toggle:focus {
    color: var(--cp-ink);
    background: var(--cp-yellow);
    box-shadow: none;
    text-shadow: none;
}

/* ---------------------------------------------------------------- motion */

@keyframes cp-glitch {
    0% { text-shadow: -2px 0 var(--cp-cyan), 2px 0 var(--cp-red-2); transform: translate(0); }
    25% { text-shadow: 2px 0 var(--cp-cyan), -2px 0 var(--cp-red-2); transform: translate(-1px, 1px); }
    50% { text-shadow: -1px 0 var(--cp-cyan), 1px 0 var(--cp-red-2); transform: translate(1px, -1px); }
    75% { text-shadow: 1px 0 var(--cp-cyan), -1px 0 var(--cp-red-2); transform: translate(0, 1px); }
    100% { text-shadow: -2px 0 var(--cp-cyan), 2px 0 var(--cp-red-2); transform: translate(0); }
}
@media (prefers-reduced-motion: reduce) {
    html.cp-2077 .navbar-default .navbar-brand:hover .cmi-brand-name,
    html.cp-2077 .navbar-default .navbar-brand:focus .cmi-brand-name { animation: none; }
    html.cp-2077 .btn { transition: none; }
}

@media print {
    html.cp-2077 body::after { display: none; }
}

/* The same inline light boxes usually carry a light border and a soft radius too */
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="border: 1px solid #e"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="border:1px solid #e"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="border: 1px solid #d"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="border:1px solid #d"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="border: 1px solid #c"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="border:1px solid #c"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="border: 1px solid #f"], html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="border:1px solid #f"] {
    border-color: var(--cp-line) !important;
    border-radius: 0 !important;
}

/* Buttons with an inline text colour (the partner details tab bar colours its tabs inline).
   Recolour them to the neon set, and make sure a solid hover/active fill always gets ink text:
   an inline colour otherwise beats the hover rule and leaves red text on a cyan fill. */
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#b9002a"]:not([style*="background-color:#b9002a"]):not([style*="background-color: #b9002a"]), html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #b9002a"]:not([style*="background-color:#b9002a"]):not([style*="background-color: #b9002a"]) { color: var(--cp-red) !important; }
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#007706"]:not([style*="background-color:#007706"]):not([style*="background-color: #007706"]), html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #007706"]:not([style*="background-color:#007706"]):not([style*="background-color: #007706"]) { color: var(--cp-green) !important; }
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#3097d1"]:not([style*="background-color:#3097d1"]):not([style*="background-color: #3097d1"]), html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #3097d1"]:not([style*="background-color:#3097d1"]):not([style*="background-color: #3097d1"]) { color: var(--cp-cyan) !important; }
html.cp-2077 .btn:not(:where(.note-editable *, .cp-paper *))[style*="color"]:hover, html.cp-2077 .btn:not(:where(.note-editable *, .cp-paper *))[style*="color"]:focus,
html.cp-2077 .btn:not(:where(.note-editable *, .cp-paper *))[style*="color"]:active, html.cp-2077 .btn:not(:where(.note-editable *, .cp-paper *))[style*="color"].active {
    color: var(--cp-ink) !important;
}
html.cp-2077 .btn.disabled:not(:where(.cp-paper *))[style*="color"], html.cp-2077 .btn[disabled]:not(:where(.cp-paper *))[style*="color"] { color: #5f6984 !important; }

/* Page-level surfaces that hard-code a light background in their own <style> block */
html.cp-2077 .tag-bar {
    background: var(--cp-bg-2);
    border-color: var(--cp-line);
    border-radius: 0;
}
/* ---------------------------------------------------------------- paper (previews stay true)
 * Anything that shows a document as it will be delivered keeps its real look: the Summernote
 * editing area (email templates, lead messages, campaign email templates, offers, contracts),
 * the partner TY-message preview and the contract preview. Add class="cp-paper" to any other
 * preview container. The emailed-template previews on /partners/email-previews are iframes of
 * the bare mailable, so this stylesheet never reaches them at all.
 */
html.cp-2077 :is(.cp-paper, .note-editable, #modal-show-ty-preview .modal-body, #modal-show-contract .modal-body, #modal-show-email .control-body) {
    color: #333;
    background: #fff;
    font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    text-shadow: none;
}
html.cp-2077 :is(.cp-paper, .note-editable, #modal-show-ty-preview .modal-body, #modal-show-contract .modal-body, #modal-show-email .control-body) :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    color: inherit;
    font-family: inherit;
    text-transform: none;
    letter-spacing: normal;
    text-shadow: none;
}
html.cp-2077 :is(.cp-paper, .note-editable, #modal-show-ty-preview .modal-body, #modal-show-contract .modal-body, #modal-show-email .control-body) :is(a, a:hover, a:focus) {
    color: #3097d1;
    text-shadow: none;
}
html.cp-2077 :is(.cp-paper, .note-editable, #modal-show-ty-preview .modal-body, #modal-show-contract .modal-body, #modal-show-email .control-body) :is(strong, b, label, small, table, thead, tbody, tfoot, tr, td, th, li, p, span, div) {
    color: inherit;
    letter-spacing: inherit;
    text-shadow: none;
}
html.cp-2077 :is(.cp-paper, .note-editable, #modal-show-ty-preview .modal-body, #modal-show-contract .modal-body, #modal-show-email .control-body) :is(th, td, thead th, thead td) {
    font-size: inherit;
    text-transform: none;
    background: transparent;
    border-color: #ddd;
}
html.cp-2077 :is(.cp-paper, .note-editable, #modal-show-ty-preview .modal-body, #modal-show-contract .modal-body, #modal-show-email .control-body) tr:hover {
    background: transparent;
    box-shadow: none;
}
html.cp-2077 :is(.cp-paper, .note-editable, #modal-show-ty-preview .modal-body, #modal-show-contract .modal-body, #modal-show-email .control-body) hr { border-top-color: #eee; }
/* The editor around the paper still gets the dark chrome */
html.cp-2077 .note-editor.note-frame, html.cp-2077 .note-editor.panel { border-color: var(--cp-line-2); }
html.cp-2077 .note-toolbar, html.cp-2077 .note-editor .panel-heading.note-toolbar { background: var(--cp-bg-3); border-color: var(--cp-line); }
html.cp-2077 .note-statusbar { background: var(--cp-bg-3); }
html.cp-2077 .note-editor.panel::before { display: none; }
/* ---------------------------------------------------------------- links / offers / clicks pages (.lk-*) */
html.cp-2077 .lk-page h3, html.cp-2077 .lk-lede, html.cp-2077 .lk-breadcrumb, html.cp-2077 .lk-breadcrumb a,
html.cp-2077 .lk-toolbar, html.cp-2077 .lk-sub, html.cp-2077 .lk-empty, html.cp-2077 .lk-loading,
html.cp-2077 .lk-stat .lk-stat-sub, html.cp-2077 .lk-history .lk-change { color: var(--cp-muted); }
html.cp-2077 .lk-page h3 { color: var(--cp-cyan); font-family: var(--cp-font); font-weight: 700; text-shadow: none; }
html.cp-2077 .lk-breadcrumb a:hover { color: var(--cp-yellow); }
html.cp-2077 .lk-card, html.cp-2077 .lk-stat {
    position: relative;
    background: rgba(11, 13, 23, 0.92);
    border-color: var(--cp-line);
    border-radius: 0;
}
html.cp-2077 .lk-card::before {
    content: ""; position: absolute; top: -1px; left: -1px; width: 18px; height: 18px;
    border-top: 2px solid var(--cp-yellow); border-left: 2px solid var(--cp-yellow); pointer-events: none;
}
html.cp-2077 .lk-filters label, html.cp-2077 .lk-form label, html.cp-2077 .lk-stat .lk-stat-label,
html.cp-2077 .lk-dl dt { color: var(--cp-muted); }
html.cp-2077 .lk-filters .checkbox label, html.cp-2077 .lk-form .checkbox label { color: var(--cp-text); }
html.cp-2077 .lk-filter-footer { border-top-color: var(--cp-line); }
html.cp-2077 .lk-chip { color: var(--cp-text); background: transparent; border-color: var(--cp-line-2); border-radius: 0; }
html.cp-2077 .lk-chip:hover { color: var(--cp-yellow); border-color: var(--cp-yellow); background: rgba(221, 208, 106, 0.06); }
html.cp-2077 .lk-chip.is-active, html.cp-2077 .lk-chip.is-active:hover { color: var(--cp-ink); background: var(--cp-yellow); border-color: var(--cp-yellow); }
html.cp-2077 .lk-stat .lk-stat-value { color: var(--cp-yellow); font-family: var(--cp-display); }
html.cp-2077 .lk-table > thead > tr > th { color: var(--cp-cyan); border-bottom-color: var(--cp-line-2); }
html.cp-2077 .lk-table .lk-sort:hover, html.cp-2077 .lk-table .lk-sort.is-active { color: var(--cp-yellow); }
html.cp-2077 .lk-table tfoot td { background: rgba(103, 201, 211, 0.05); border-top-color: var(--cp-line-2); }
html.cp-2077 .lk-muted { color: #5f6984; }
html.cp-2077 .lk-row-link { color: #fff; }
html.cp-2077 .lk-row-link:hover { color: var(--cp-yellow); }
html.cp-2077 .lk-badge { color: var(--cp-muted); background: rgba(141, 151, 173, 0.12); border-radius: 0; }
html.cp-2077 .lk-badge-ok { color: var(--cp-green); background: rgba(102, 204, 158, 0.12); }
html.cp-2077 .lk-badge-warn { color: var(--cp-orange); background: rgba(219, 164, 90, 0.12); }
html.cp-2077 .lk-badge-danger { color: var(--cp-red); background: rgba(226, 110, 128, 0.14); }
html.cp-2077 .lk-badge-info { color: var(--cp-cyan); background: rgba(103, 201, 211, 0.12); }
html.cp-2077 .lk-copy.is-copied, html.cp-2077 .lk-history .lk-new { color: var(--cp-green); }
html.cp-2077 .lk-history .lk-old { color: var(--cp-red); }
html.cp-2077 .lk-history .lk-history-row { border-bottom-color: var(--cp-line); }
html.cp-2077 .lk-history .lk-change code { color: var(--cp-text); background: var(--cp-bg-3); }
/* ---------------------------------------------------------------- phone (collapsed navbar) */
@media (max-width: 767px) {
    html.cp-2077 .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: var(--cp-text); }
    html.cp-2077 .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
    html.cp-2077 .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: var(--cp-yellow); background: rgba(221, 208, 106, 0.07); }
    html.cp-2077 .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
    html.cp-2077 .navbar-default .navbar-nav .open .dropdown-menu > li.cmi-active > a { color: var(--cp-ink); background: var(--cp-yellow); }
    html.cp-2077 .navbar-default .navbar-nav .open .dropdown-menu .dropdown-header { color: var(--cp-red); }
    html.cp-2077 .navbar-default .navbar-brand .cmi-brand-name { font-size: 16px; }
    html.cp-2077 .navbar-default .navbar-brand .cmi-brand-2077 { top: 31px; font-size: 9px; }
}

/* ---------------------------------------------------------------- PPC pages (/ppc/*, .ppc-*)
 * Each PPC view repeats the same light card styles in its own <style> block. Chart.js canvases
 * are themed from the layout (window.cmiTheme.charts): text and grid colours only, so the
 * platform colours stay the ones the light theme uses.
 */
html.cp-2077 .ppc-header { border-bottom-color: var(--cp-red-2); box-shadow: 0 1px 0 rgba(201, 58, 85, 0.2); }
html.cp-2077 .ppc-header .ppc-title {
    color: var(--cp-yellow);
    font-family: var(--cp-display);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
html.cp-2077 .ppc-header .ppc-title .accent { color: var(--cp-cyan); }
html.cp-2077 .ppc-header .ppc-subtitle, html.cp-2077 .ppc-help, html.cp-2077 .ppc-card .ppc-lede,
html.cp-2077 .ppc-graphs-note, html.cp-2077 .ppc-drill-hint, html.cp-2077 .ppc-empty,
html.cp-2077 .ppc-select-count, html.cp-2077 .ppc-filters .ppc-filter-summary, html.cp-2077 .ppc-graph-title .ppc-graph-sub,
html.cp-2077 .ppc-map-muted, html.cp-2077 .ppc-map-rule-note, html.cp-2077 .ppc-map-footer,
html.cp-2077 .ppc-map-table > thead > tr > th small, html.cp-2077 .muted, html.cp-2077 .fbc-muted,
html.cp-2077 .fbc-trace tr.fbc-unmatched td, html.cp-2077 .ppc-child-table td.share { color: var(--cp-muted); }
html.cp-2077 .ppc-nav a { color: var(--cp-cyan); }
html.cp-2077 .ppc-nav a:hover { color: var(--cp-yellow); }
html.cp-2077 .ppc-nav a.active, html.cp-2077 .ppc-nav a.active:hover {
    color: var(--cp-ink);
    background: var(--cp-yellow);
    padding: 1px 6px;
    text-shadow: none;
}
html.cp-2077 .ppc-legacy-badge { color: var(--cp-orange); background: rgba(219, 164, 90, 0.1); border-color: rgba(219, 164, 90, 0.6); border-radius: 0; }
html.cp-2077 .ppc-leads-info, html.cp-2077 .ppc-child-head .count { color: var(--cp-muted); }

html.cp-2077 .ppc-card {
    position: relative;
    color: var(--cp-text);
    background: rgba(11, 13, 23, 0.92);
    border-color: var(--cp-line);
    border-radius: 0;
}
html.cp-2077 .ppc-card::before {
    content: ""; position: absolute; top: -1px; left: -1px; width: 18px; height: 18px;
    border-top: 2px solid var(--cp-yellow); border-left: 2px solid var(--cp-yellow); pointer-events: none;
}
html.cp-2077 .ppc-card h4, html.cp-2077 .ppc-graph-title, html.cp-2077 .ppc-map-title,
html.cp-2077 .fbc-result h5 { color: var(--cp-yellow); }
html.cp-2077 .ppc-filters label { color: var(--cp-muted); }
html.cp-2077 .ppc-select-toggles .sep, html.cp-2077 .ppc-breadcrumb .sep { color: #4f5872; }

/* Stat tiles. Their caption uses class="label", which also picks up Bootstrap's (and this
   theme's) .label badge: undo that so it reads as a caption. */
html.cp-2077 .ppc-totals .total-box, html.cp-2077 .ppc-status .box {
    position: relative;
    background: linear-gradient(160deg, rgba(103, 201, 211, 0.07), rgba(11, 13, 23, 0.92) 60%);
    border: 1px solid var(--cp-line);
    border-radius: 0;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
}
html.cp-2077 .ppc-totals .total-box .label, html.cp-2077 .ppc-status .box .label {
    display: inline;
    padding: 0;
    border: 0;
    background: none;
    color: var(--cp-cyan);
    font-size: 11px;
    letter-spacing: 0.12em;
}
html.cp-2077 .ppc-totals .total-box .value, html.cp-2077 .ppc-status .box .value {
    color: var(--cp-yellow);
    font-family: var(--cp-display);
}
html.cp-2077 .ppc-totals .total-box .value.negative,
html.cp-2077 .ppc-table td.numeric.negative { color: var(--cp-red); text-shadow: none; }
html.cp-2077 .ppc-status .box.warn { background: rgba(219, 164, 90, 0.08); border-color: rgba(219, 164, 90, 0.5); }
html.cp-2077 .ppc-status .box.warn .value { color: var(--cp-orange); }

html.cp-2077 .ppc-cost-note, html.cp-2077 .ppc-graphs-warning {
    color: var(--cp-text);
    background: rgba(221, 208, 106, 0.07);
    border-color: rgba(221, 208, 106, 0.45);
    border-left-width: 3px;
    border-radius: 0;
}
html.cp-2077 .ppc-cost-note .fa, html.cp-2077 .ppc-graphs-warning .fa { color: var(--cp-yellow); }

/* Tables and the inline drill-down */
html.cp-2077 .ppc-table th, html.cp-2077 .fbc-send-result th { background: rgba(103, 201, 211, 0.035); }
html.cp-2077 .ppc-table tr.drillable:hover, html.cp-2077 .ppc-table tr.drillable.expanded > td { background: rgba(221, 208, 106, 0.06); }
html.cp-2077 .ppc-table tr.drillable .group-val, html.cp-2077 .ppc-table .drill-caret,
html.cp-2077 .ppc-focus-btn, html.cp-2077 .ppc-child-loading .fa { color: var(--cp-cyan); }
html.cp-2077 .ppc-table tr.drillable:hover .group-val { color: var(--cp-yellow); }
html.cp-2077 .ppc-table .group-id { color: var(--cp-muted); }
html.cp-2077 .ppc-table tr.ppc-child-tr > td { background: rgba(0, 0, 0, 0.25); }
html.cp-2077 .ppc-child-box { background: var(--cp-bg-2); border-radius: 0; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.5); }
html.cp-2077 .ppc-child-head { color: var(--cp-text); }
html.cp-2077 .ppc-child-box[data-depth="1"] { border-color: rgba(103, 201, 211, 0.25); border-left-color: var(--cp-cyan); }
html.cp-2077 .ppc-child-box[data-depth="1"] > .ppc-child-head { color: var(--cp-cyan); background: rgba(103, 201, 211, 0.08); border-bottom-color: rgba(103, 201, 211, 0.2); }
html.cp-2077 .ppc-child-box[data-depth="2"] { border-color: rgba(102, 204, 158, 0.25); border-left-color: var(--cp-green); }
html.cp-2077 .ppc-child-box[data-depth="2"] > .ppc-child-head { color: var(--cp-green); background: rgba(102, 204, 158, 0.08); border-bottom-color: rgba(102, 204, 158, 0.2); }
html.cp-2077 .ppc-child-box[data-depth="3"] { border-color: rgba(219, 164, 90, 0.3); border-left-color: var(--cp-orange); }
html.cp-2077 .ppc-child-box[data-depth="3"] > .ppc-child-head { color: var(--cp-orange); background: rgba(219, 164, 90, 0.08); border-bottom-color: rgba(219, 164, 90, 0.22); }
html.cp-2077 .ppc-child-box[data-depth="4"] { border-color: rgba(208, 106, 142, 0.3); border-left-color: var(--cp-magenta); }
html.cp-2077 .ppc-child-box[data-depth="4"] > .ppc-child-head { color: var(--cp-magenta); background: rgba(208, 106, 142, 0.08); border-bottom-color: rgba(208, 106, 142, 0.22); }
html.cp-2077 .ppc-child-table > thead > tr > th { color: var(--cp-cyan); background: rgba(103, 201, 211, 0.04); }
html.cp-2077 .ppc-child-loading { color: var(--cp-muted); }

/* Conversion mapping + Facebook conversions */
html.cp-2077 .ppc-map-block + .ppc-map-block, html.cp-2077 .ppc-map-footer,
html.cp-2077 .fbc-result, html.cp-2077 .fbc-send-result { border-top-color: var(--cp-line); }
html.cp-2077 .ppc-map-table tr.ppc-map-default > td { background: rgba(255, 255, 255, 0.025); }
html.cp-2077 .ppc-map-sub { color: var(--cp-red); }
html.cp-2077 .ppc-map-sent { color: var(--cp-text); }
html.cp-2077 .fbc-join { color: var(--cp-cyan); }
html.cp-2077 .fbc-test-grid label { color: var(--cp-muted); }
html.cp-2077 .fbc-yes, html.cp-2077 .fbc-ok { color: var(--cp-green); }
html.cp-2077 .fbc-no, html.cp-2077 .fbc-bad { color: var(--cp-red); }
html.cp-2077 .fbc-trace .fbc-stopped { color: var(--cp-orange); background: rgba(219, 164, 90, 0.1); border-color: rgba(219, 164, 90, 0.5); border-radius: 0; }
html.cp-2077 .ppc-map-page code { color: var(--cp-magenta); background: rgba(208, 106, 142, 0.1); border-color: rgba(208, 106, 142, 0.3); }

/* ---------------------------------------------------------------- leads list fields (leads/partials/index-fields) */
html.cp-2077 .lead-summary, html.cp-2077 .lead-purpose, html.cp-2077 .lead-facts dd { color: var(--cp-text); }
html.cp-2077 .lead-label, html.cp-2077 .lead-facts dt { color: var(--cp-muted); }
html.cp-2077 .lead-prov { color: var(--cp-cyan); }
html.cp-2077 .lead-amount { color: var(--cp-yellow); }

/* ---------------------------------------------------------------- lead details header (leads/details) */
html.cp-2077 .ld-header { border-color: var(--cp-line); border-radius: 0; }
html.cp-2077 .ld-header-label { color: var(--cp-muted); }
html.cp-2077 .ld-header-value { color: var(--cp-text); }
html.cp-2077 .lead-sep { color: var(--cp-muted); }
html.cp-2077 .lead-na { color: var(--cp-muted); font-style: italic; }

/* ---------------------------------------------------------------- date-range pill (partials/active-date-range) */
html.cp-2077 .date-range-pill {
    color: var(--cp-text);
    background: rgba(103, 201, 211, 0.06);
    border-color: var(--cp-line-2);
    border-radius: 0;
}
html.cp-2077 .date-range-pill b { color: var(--cp-yellow); }
html.cp-2077 .date-range-pill:hover, html.cp-2077 .date-range-pill:focus,
html.cp-2077 .open > .date-range-pill { border-color: var(--cp-cyan); box-shadow: 0 0 0 1px var(--cp-cyan); }
html.cp-2077 .date-range-pill .fa, html.cp-2077 .date-range-pill-dates,
html.cp-2077 .date-range-option-dates, html.cp-2077 .date-range-fields label { color: var(--cp-muted); }
html.cp-2077 .date-range-menu { border-radius: 0; }
html.cp-2077 .date-range-menu > li > a.date-range-option { color: var(--cp-text); }
html.cp-2077 .date-range-menu > li > a.date-range-option:hover,
html.cp-2077 .date-range-menu > li > a.date-range-option:focus { color: var(--cp-yellow); background: rgba(221, 208, 106, 0.07); }
html.cp-2077 .date-range-menu > .active > a.date-range-option,
html.cp-2077 .date-range-menu > .active > a.date-range-option:hover,
html.cp-2077 .date-range-menu > .active > a.date-range-option:focus { color: var(--cp-yellow); background: rgba(221, 208, 106, 0.1); }
html.cp-2077 .date-range-check { color: var(--cp-yellow); }
html.cp-2077 .date-range-menu > .divider { background: var(--cp-line); }

/* ---------------------------------------------------------------- page-level text found by the every-text scan */
html.cp-2077 .lk-toolbar .lk-toolbar-main { color: var(--cp-text); }
html.cp-2077 .lk-hint, html.cp-2077 .lk-lookup-title, html.cp-2077 .lk-label, html.cp-2077 .lk-muted,
html.cp-2077 .peg-summary, html.cp-2077 .peg-stat, html.cp-2077 .report-intro, html.cp-2077 .filter-panel .filter-hint,
html.cp-2077 .filter-hint, html.cp-2077 .partner-age, html.cp-2077 .ppc-select-toggles .sep { color: var(--cp-muted); }
html.cp-2077 .inline-field-flag.is-duplicate, html.cp-2077 .inline-field-flag.is-duplicate a { color: var(--cp-orange); }
/* Severity pills: white on mid orange / blue was under 4.5:1 in both themes */
html.cp-2077 .count-pill { color: var(--cp-ink); }
/* Morris colours the hover rows inline with the series colour (a dark blue) */
html.cp-2077 .morris-hover.morris-default-style .morris-hover-point { color: var(--cp-cyan) !important; }

/* DataTables paints its rows white (table.dataTable tbody tr) */
html.cp-2077 table.dataTable tbody tr,
html.cp-2077 table.dataTable.stripe tbody tr.odd, html.cp-2077 table.dataTable.display tbody tr.odd,
html.cp-2077 table.dataTable.stripe tbody tr.even, html.cp-2077 table.dataTable.display tbody tr.even { background-color: transparent; }
html.cp-2077 table.dataTable.stripe tbody tr.odd, html.cp-2077 table.dataTable.display tbody tr.odd { background-color: rgba(255, 255, 255, 0.045); }
html.cp-2077 table.dataTable.hover tbody tr:hover, html.cp-2077 table.dataTable.display tbody tr:hover { background-color: rgba(221, 208, 106, 0.05); }
html.cp-2077 table.dataTable tbody tr > .sorting_1, html.cp-2077 table.dataTable.display tbody tr > .sorting_1 { background-color: rgba(103, 201, 211, 0.04); }
html.cp-2077 table.dataTable thead th, html.cp-2077 table.dataTable thead td,
html.cp-2077 table.dataTable.no-footer { border-bottom-color: var(--cp-line-2); }
html.cp-2077 .dataTables_wrapper .dataTables_length, html.cp-2077 .dataTables_wrapper .dataTables_filter,
html.cp-2077 .dataTables_wrapper .dataTables_info, html.cp-2077 .dataTables_wrapper .dataTables_processing,
html.cp-2077 .dataTables_wrapper .dataTables_paginate { color: var(--cp-muted); }
html.cp-2077 .dataTables_wrapper .dataTables_paginate .paginate_button { color: var(--cp-cyan) !important; border-radius: 0; }
html.cp-2077 .dataTables_wrapper .dataTables_paginate .paginate_button.current,
html.cp-2077 .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { color: var(--cp-ink) !important; background: var(--cp-yellow); border-color: var(--cp-yellow); }
html.cp-2077 .dataTables_wrapper .dataTables_paginate .paginate_button:hover { color: var(--cp-ink) !important; background: var(--cp-cyan); border-color: var(--cp-cyan); }
html.cp-2077 .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
html.cp-2077 .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover { color: #4f5872 !important; background: transparent; border-color: transparent; }
html.cp-2077 .partner-age.is-new { color: var(--cp-green); background: rgba(102, 204, 158, 0.1); }
html.cp-2077 .count-pill.sev-high { color: #fff; }

/* ---------------------------------------------------------------- billing report (/reports/billingnew, reports/new-billing) */
html.cp-2077 .inline-field-label { color: var(--cp-muted); }
html.cp-2077 .inline-field .inline-field-input:focus { background-color: #080a12; }
html.cp-2077 .inline-field .inline-field-input.is-missing { border-color: #5f6984; }
html.cp-2077 .inline-field .inline-field-input.is-duplicate {
    color: var(--cp-orange);
    border-color: var(--cp-orange);
    background-color: rgba(219, 164, 90, 0.1);
}
html.cp-2077 .inline-field .inline-field-input.is-invalid,
html.cp-2077 .inline-field .inline-field-select.is-invalid {
    color: var(--cp-red);
    border-color: var(--cp-red);
    background-color: rgba(226, 110, 128, 0.1);
}
html.cp-2077 .inline-field-status.is-error { color: var(--cp-red); }
/* Highlighted panels keep their coloured left stripe; the tints go dark */
html.cp-2077 .panel.is-new-partner { border-color: rgba(102, 204, 158, 0.3); border-left: 4px solid var(--cp-green); }
html.cp-2077 .panel.is-new-partner > .panel-heading { background: linear-gradient(90deg, rgba(102, 204, 158, 0.1), transparent 70%); border-color: rgba(102, 204, 158, 0.3); }
html.cp-2077 .panel.is-missing-qbo { border-color: rgba(219, 164, 90, 0.35); border-left: 4px solid var(--cp-orange); }
html.cp-2077 .panel.is-missing-qbo > .panel-heading { background: linear-gradient(90deg, rgba(219, 164, 90, 0.1), transparent 70%); border-color: rgba(219, 164, 90, 0.35); }
html.cp-2077 .billing-legend__swatch.is-new { background: var(--cp-green); }
html.cp-2077 .billing-legend__swatch.is-missing { background: var(--cp-orange); }

/* ---------------------------------------------------------------- remaining page-level light states
 * Found by grepping every admin view's <style> blocks for light backgrounds, including the
 * hover / selected / flash / invalid states that a page scan cannot trigger.
 */
/* campaigns/budgets: row status fills are !important in the page */
html.cp-2077 .bg-budget-danger { background-color: rgba(226, 110, 128, 0.14) !important; }
html.cp-2077 .bg-budget-success { background-color: rgba(102, 204, 158, 0.11) !important; }
html.cp-2077 .bg-budget-warning { background-color: rgba(221, 208, 106, 0.11) !important; }
/* creative reviews: sticky bulk bar and the view modal */
html.cp-2077 .cr-bulkbar { background: var(--cp-bg-2); border-color: var(--cp-line-2); }
/* offer applications: sticky selection bar (bulk reject / delete) */
html.cp-2077 .oa-bulk-bar { background: var(--cp-bg-2); border-color: var(--cp-line-2); border-radius: 0; }
html.cp-2077 .oa-bulk-bar.has-selection { background: rgba(226, 110, 128, 0.08); border-color: rgba(226, 110, 128, 0.4); }
html.cp-2077 #oa-bulk-count { color: var(--cp-text); }
html.cp-2077 #cr-view-modal .cr-view-preview video, html.cp-2077 #cr-view-modal .cr-view-preview img { background: var(--cp-bg-3); }
html.cp-2077 #cr-view-modal .cr-note { color: var(--cp-text); background: var(--cp-bg-3); }
html.cp-2077 #cr-view-modal .cr-note--internal { background: rgba(219, 164, 90, 0.1); border-left-color: var(--cp-orange); }
html.cp-2077 .cr-thumb { background: var(--cp-bg-3); border-color: var(--cp-line-2); }
html.cp-2077 .cr-thumb-icon { color: var(--cp-text); }
html.cp-2077 .cr-file-link { color: var(--cp-muted); }
html.cp-2077 .cr-file-link:hover { color: var(--cp-cyan); }
html.cp-2077 #cr-view-modal .cr-review { background: var(--cp-bg-2); border-bottom-color: var(--cp-line-2); }
html.cp-2077 .cr-toast { background: var(--cp-bg-2); color: var(--cp-text); border: 1px solid var(--cp-line-2); }
html.cp-2077 .cr-toast--error { background: #c93a55; color: #fff; }
/* link offers + partner history: expanded detail rows, selected rows, sticky table head */
html.cp-2077 .lk-table .lk-detail > td, html.cp-2077 .lk-table > tbody > tr.lo-detail > td { background: rgba(0, 0, 0, 0.25); }
html.cp-2077 .lk-table tr.is-selected > td { background: rgba(221, 208, 106, 0.08); }
html.cp-2077 .lo-links-scroll thead th { background: var(--cp-bg-2); }
/* offer picker (partials/offer-select) */
html.cp-2077 .lk-osel-menu { color: var(--cp-text); background: var(--cp-bg-2); border-color: var(--cp-line-2); border-radius: 0; }
html.cp-2077 .lk-osel-item { color: var(--cp-text); }
html.cp-2077 .lk-osel-item.is-active, html.cp-2077 .lk-osel-item:hover { color: var(--cp-yellow); background: rgba(221, 208, 106, 0.08); }
html.cp-2077 .lk-osel-count { color: var(--cp-muted); background: var(--cp-bg-3); border-top-color: var(--cp-line); }

/* Partner SELL pricing editor (partners/pricing): disabled rows and the per-cell save flashes carry
   light fills (#fafafa, #effaf3, #fdf7f7) that turned the whole Disabled view white. */
html.cp-2077 .pp-table > tbody > tr.pp-off > td { background: rgba(0, 0, 0, 0.28); }
html.cp-2077 .pp-table > tbody > tr.pp-off .pp-campaign a { color: var(--cp-muted); }
html.cp-2077 .pp-table .pp-id, html.cp-2077 .pp-campaign .pp-states .fa { color: var(--cp-muted); }
html.cp-2077 .pp-campaign .pp-states { color: var(--cp-text); }
html.cp-2077 .pp-cell.is-saved .form-control { border-color: var(--cp-green); background-color: rgba(102, 204, 158, 0.14); }
html.cp-2077 .pp-cell.is-error .form-control { border-color: var(--cp-red); background-color: rgba(226, 110, 128, 0.14); }
/* offer assets (admin browser) */
html.cp-2077 .asset-box { color: var(--cp-text); background: var(--cp-bg-2); border-color: var(--cp-line); }
html.cp-2077 .asset-box.new { background: var(--cp-bg-3); }
html.cp-2077 .asset-box.selected { background-color: rgba(103, 201, 211, 0.1); border-color: var(--cp-cyan); }
html.cp-2077 .filter-panel { color: var(--cp-text); background: var(--cp-bg-2); border-color: var(--cp-line); }
/* MCP access page */
html.cp-2077 .mcp-pill-live { color: var(--cp-green); background: rgba(102, 204, 158, 0.12); }
html.cp-2077 .mcp-pill-content { color: var(--cp-green); background: rgba(102, 204, 158, 0.08); }
html.cp-2077 .mcp-pill-denied { color: var(--cp-red); background: rgba(226, 110, 128, 0.14); }
html.cp-2077 .mcp-pill-full { color: var(--cp-cyan); background: rgba(103, 201, 211, 0.12); }
html.cp-2077 .mcp-pill-ppc { color: var(--cp-orange); background: rgba(219, 164, 90, 0.12); }
html.cp-2077 .mcp-pill-off { color: var(--cp-muted); background: rgba(141, 151, 173, 0.12); }
html.cp-2077 .mcp-url { color: var(--cp-text); background: var(--cp-bg-3); border-color: var(--cp-line); }
/* off periods, offers, outbound transactions, sortable reports */
html.cp-2077 .op-window.op-window-invalid { border-color: var(--cp-red); background-color: rgba(226, 110, 128, 0.08); }
html.cp-2077 .op-window-invalid .form-control { border-color: var(--cp-red); }
html.cp-2077 .offers-table .copied { background-color: rgba(102, 204, 158, 0.16) !important; }
html.cp-2077 .table > tbody > tr.success.bg-white:not(:hover) > td { background-color: transparent; }
html.cp-2077 .sortable-table th[data-sort]:hover { background-color: rgba(221, 208, 106, 0.06); }
html.cp-2077 .newform-note { color: var(--cp-text); background: rgba(103, 201, 211, 0.07); border-left-color: var(--cp-cyan); }
/* alerts popup (on every admin page): the key column of its stacked table */
html.cp-2077 #modal-alerts-popup .modal-body table td:first-child { color: var(--cp-text); background-color: var(--cp-bg-3); }
html.cp-2077 #modal-alerts-popup .modal-body table tr { border-color: var(--cp-line); }
html.cp-2077 #modal-alerts-popup .modal-body table td { border-bottom-color: var(--cp-line); }
/* payments: Wise EFT preview modal */
html.cp-2077 #modal-eft-preview .eft-summary { background: var(--cp-bg-3); border-color: var(--cp-line); }
html.cp-2077 #modal-eft-preview .eft-summary-ok { border-left-color: var(--cp-green); background: rgba(102, 204, 158, 0.07); }
html.cp-2077 #modal-eft-preview .eft-summary-bad { border-left-color: var(--cp-red); background: rgba(226, 110, 128, 0.08); }
html.cp-2077 #modal-eft-preview .eft-const, html.cp-2077 #modal-eft-preview .eft-amount-choice { color: var(--cp-text); background: var(--cp-bg-3); }
html.cp-2077 #modal-eft-preview .eft-stale-warning { color: var(--cp-text); background: rgba(221, 208, 106, 0.08); }
html.cp-2077 #modal-eft-preview .eft-preview-table > tbody > tr.eft-invalid-row > td { background-color: rgba(226, 110, 128, 0.08); }
html.cp-2077 #modal-eft-preview .eft-preview-table > tbody > tr.eft-invalid-row:nth-of-type(odd) > td { background-color: rgba(226, 110, 128, 0.12); }
html.cp-2077 #modal-eft-preview .eft-preview-table > tbody > tr > td.eft-bad-cell { background-color: rgba(226, 110, 128, 0.28) !important; }
html.cp-2077 #modal-eft-preview .eft-count-num { color: var(--cp-yellow); }
html.cp-2077 #modal-eft-preview .eft-count-label { color: var(--cp-muted); }
html.cp-2077 #modal-eft-preview .eft-const { border-color: var(--cp-line); }
html.cp-2077 #modal-eft-preview .eft-stale-warning { border-color: rgba(221, 208, 106, 0.45); border-left-color: var(--cp-yellow); }
html.cp-2077 #modal-eft-preview .eft-preview-table > thead > tr > th { color: var(--cp-cyan); background: var(--cp-bg-3); border-color: var(--cp-line-2); }
html.cp-2077 #modal-eft-preview .eft-preview-table > tbody > tr > td.eft-bad-cell { color: #fff; }

/* pricing: Effective CPL bar on /pricing/sell (distribution/index.blade.php) */
html.cp-2077 .earned-bar { background: rgba(11, 13, 23, 0.92); border-color: var(--cp-line); border-left-color: var(--cp-cyan); border-radius: 0; }
html.cp-2077 .earned-bar-title { color: var(--cp-cyan); }
html.cp-2077 .earned-bar-def { color: var(--cp-text); }
html.cp-2077 .earned-bar-legend, html.cp-2077 .earned-bar-label, html.cp-2077 .earned-bar-updated { color: var(--cp-muted); }
html.cp-2077 .table-pricing th.earned-th small { color: var(--cp-muted); }
html.cp-2077 .earned-bar-legend .earned-legend-acc { color: var(--cp-text); }
html.cp-2077 .earned-per-lead .earned-line, html.cp-2077 .table-pricing .pricing-l2,
html.cp-2077 .table-pricing > thead > tr > th { color: var(--cp-muted); }
html.cp-2077 .earned-per-lead .earned-empty, html.cp-2077 .table-pricing .pricing-none { color: var(--cp-muted); }
html.cp-2077 .earned-chip.is-beats { color: var(--cp-green); background: rgba(102, 204, 158, 0.12); }
html.cp-2077 .earned-chip.is-low { color: var(--cp-orange); background: rgba(219, 164, 90, 0.13); }
html.cp-2077 .earned-chip.is-returned { color: var(--cp-red); background: rgba(226, 110, 128, 0.13); }

/* pricing table on /pricing/sell and /pricing/buy */
html.cp-2077 .table-pricing .pricing-edit { color: var(--cp-muted); }
html.cp-2077 .table-pricing .pricing-model { color: var(--cp-text); background: rgba(141, 151, 173, 0.14); }
html.cp-2077 .table-pricing .pricing-model-cpl { color: var(--cp-cyan); background: rgba(103, 201, 211, 0.12); }
html.cp-2077 .table-pricing .pricing-model-cpa { color: var(--cp-magenta); background: rgba(208, 106, 142, 0.14); }
html.cp-2077 .table-pricing .pricing-group { color: var(--cp-yellow); background: rgba(221, 208, 106, 0.12); }
html.cp-2077 .table-pricing .pricing-limit { color: #dfe4ec; background: rgba(141, 151, 173, 0.2); }
html.cp-2077 .table-pricing .pricing-edit:hover, html.cp-2077 .table-pricing .pricing-edit:focus { color: var(--cp-yellow); }
html.cp-2077 .table-pricing .pricing-move { color: var(--cp-muted); }
html.cp-2077 .table-pricing .pricing-move:hover, html.cp-2077 .table-pricing .pricing-move:focus { color: var(--cp-ink); background: var(--cp-cyan); border-color: var(--cp-cyan); }
html.cp-2077 .table-pricing > tbody > tr.pricing-moved > td { background: rgba(102, 204, 158, 0.16) !important; }
html.cp-2077 #modal-pricing-move .pm-who span { color: var(--cp-muted); }
html.cp-2077 #modal-pricing-move .pm-preview { color: var(--cp-text); background: rgba(103, 201, 211, 0.08); border-left-color: var(--cp-cyan); }
html.cp-2077 #modal-pricing-move .pm-preview.is-none { color: var(--cp-muted); border-left-color: var(--cp-line-2); }
html.cp-2077 #modal-pricing-move .pm-neighbour-label, html.cp-2077 #modal-pricing-move .pm-neighbour-none { color: var(--cp-muted); }
html.cp-2077 .table-pricing .pricing-status-full { color: var(--cp-red); background: rgba(226, 110, 128, 0.13); }
html.cp-2077 .table-pricing .pricing-status-off { color: var(--cp-orange); background: rgba(219, 164, 90, 0.13); }
html.cp-2077 .table-pricing > tbody > tr.pricing-row-full > td:first-child { box-shadow: inset 3px 0 0 var(--cp-red); }
html.cp-2077 .table-pricing > tbody > tr.pricing-row-off > td:first-child { box-shadow: inset 3px 0 0 var(--cp-orange); }
html.cp-2077 .table-pricing .pricing-pill, html.cp-2077 .table-pricing .pricing-toggle { color: var(--cp-muted); background: transparent; border-color: var(--cp-line-2); }
html.cp-2077 .table-pricing .pricing-pill.is-exclusive { color: var(--cp-ink); background: var(--cp-cyan); border-color: var(--cp-cyan); }
html.cp-2077 .table-pricing .pricing-pill.is-group { color: var(--cp-yellow); background: rgba(221, 208, 106, 0.1); border-color: rgba(221, 208, 106, 0.5); }
html.cp-2077 .table-pricing .pricing-toggle.is-on { color: var(--cp-green); background: rgba(102, 204, 158, 0.08); border-color: rgba(102, 204, 158, 0.45); }
html.cp-2077 .table-pricing .pricing-toggle.is-on:hover, html.cp-2077 .table-pricing .pricing-toggle.is-on:focus { color: var(--cp-ink); background: var(--cp-green); border-color: var(--cp-green); }
html.cp-2077 .table-pricing .pricing-toggle.is-off { color: var(--cp-red); background: rgba(226, 110, 128, 0.12); border-color: rgba(226, 110, 128, 0.5); }
html.cp-2077 .table-pricing .pricing-toggle.is-off:hover, html.cp-2077 .table-pricing .pricing-toggle.is-off:focus { color: var(--cp-ink); background: var(--cp-red); border-color: var(--cp-red); }
html.cp-2077 .table-pricing .pricing-bar { background: rgba(120, 200, 215, 0.13); }
html.cp-2077 .table-pricing .pricing-bar i { background: var(--cp-cyan); }
html.cp-2077 .table-pricing .pricing-bar.is-near i { background: var(--cp-orange); }
html.cp-2077 .table-pricing .pricing-bar.is-full i { background: var(--cp-red); }
html.cp-2077 .table-pricing > tbody > tr > td.pricing-grip { color: var(--cp-muted); }
html.cp-2077 .table-pricing > tbody > tr > td.pricing-grip:hover { color: var(--cp-yellow); background: rgba(221, 208, 106, 0.08); }
html.cp-2077 .table-pricing .pricing-priority { color: var(--cp-yellow); }
html.cp-2077 .table-pricing > tbody > tr.pricing-dragging { background: var(--cp-bg-3); box-shadow: 0 0 0 1px var(--cp-line-2); }
html.cp-2077 .table-pricing > tbody > tr.pricing-drop-slot > td { background: rgba(103, 201, 211, 0.06); border-top: 1px dashed var(--cp-cyan); border-bottom: 1px dashed var(--cp-cyan); }

/* Campaigns tab on the partner page (partners/details.blade.php), same tag palette as the pricing table.
   One size up from the light theme: Rajdhani is narrower than Roboto */
html.cp-2077 .cmp-table { font-size: 13px; }
html.cp-2077 .cmp-table .cmp-name { font-size: 14px; }
html.cp-2077 .cmp-table .cmp-l2, html.cp-2077 .cmp-table .cmp-meta, html.cp-2077 .cmp-table .cmp-limit,
html.cp-2077 .cmp-table > thead > tr > th { font-size: 12px; }
html.cp-2077 .cmp-table .cmp-tag, html.cp-2077 .cmp-table .cmp-type, html.cp-2077 .cmp-table .cmp-model,
html.cp-2077 .cmp-table .cmp-subtype, html.cp-2077 .cmp-table .cmp-status { font-size: 11px; }
html.cp-2077 .cmp-heading .cmp-total, html.cp-2077 .cmp-seg-label, html.cp-2077 .cmp-search-wrap .fa, html.cp-2077 .cmp-empty, html.cp-2077 .cmp-bar-note,
html.cp-2077 .cmp-table > thead > tr > th, html.cp-2077 .cmp-table .cmp-l2, html.cp-2077 .cmp-table .cmp-meta,
html.cp-2077 .cmp-table .cmp-owner-line .fa, html.cp-2077 .cmp-table .cmp-none, html.cp-2077 .cmp-table .cmp-no-match td { color: var(--cp-muted); }
html.cp-2077 .cmp-seg { background: var(--cp-bg-2); box-shadow: inset 0 0 0 1px var(--cp-line-2); }
html.cp-2077 .cmp-seg-btn { font-size: 13px; color: var(--cp-muted); }
html.cp-2077 .cmp-seg-btn:hover { color: var(--cp-text); background: rgba(141, 151, 173, 0.1); }
html.cp-2077 .cmp-seg-btn.active { color: var(--cp-cyan); background: var(--cp-bg-4); box-shadow: inset 0 0 0 1px rgba(103, 201, 211, 0.45); }
html.cp-2077 .cmp-seg-btn:focus-visible { outline-color: var(--cp-yellow); }
html.cp-2077 .cmp-seg-btn .cmp-n { color: var(--cp-text); background: rgba(141, 151, 173, 0.18); }
html.cp-2077 .cmp-seg-btn.active .cmp-n { color: var(--cp-cyan); background: rgba(103, 201, 211, 0.16); }
html.cp-2077 .cmp-dot-active { background: var(--cp-green); }
html.cp-2077 .cmp-dot-disabled { background: var(--cp-red); }
html.cp-2077 .cmp-dot-sell { background: var(--cp-cyan); }
html.cp-2077 .cmp-dot-buy { background: var(--cp-green); }
html.cp-2077 .cmp-partner-limits { background: rgba(226, 110, 128, 0.07); border-left-color: var(--cp-red); }
html.cp-2077 .cmp-bar-label { color: var(--cp-red); }
html.cp-2077 .cmp-limit-chip { color: var(--cp-text); background: transparent; border-color: rgba(226, 110, 128, 0.4); }
html.cp-2077 .cmp-table .cmp-name { color: var(--cp-cyan); }
html.cp-2077 .cmp-table .cmp-name:hover, html.cp-2077 .cmp-table .cmp-name:focus { color: var(--cp-yellow); }
html.cp-2077 .cmp-table > tbody > tr.cmp-row-disabled .cmp-name { color: var(--cp-muted); }
html.cp-2077 .cmp-table .cmp-public { color: var(--cp-green); }
html.cp-2077 .cmp-table .cmp-id, html.cp-2077 .cmp-table .cmp-price b { color: #dfe4ec; }
html.cp-2077 .cmp-table .cmp-warn { color: var(--cp-orange); }
html.cp-2077 .cmp-table .cmp-past { color: var(--cp-red); }
html.cp-2077 .cmp-table .cmp-tag { color: #dfe4ec; background: rgba(141, 151, 173, 0.2); }
html.cp-2077 .cmp-table .cmp-type-sell { color: var(--cp-cyan); background: rgba(103, 201, 211, 0.12); }
html.cp-2077 .cmp-table .cmp-type-buy { color: var(--cp-green); background: rgba(102, 204, 158, 0.12); }
html.cp-2077 .cmp-table .cmp-model { color: var(--cp-magenta); background: rgba(208, 106, 142, 0.14); }
html.cp-2077 .cmp-table .cmp-subtype { color: var(--cp-text); background: rgba(141, 151, 173, 0.18); }
html.cp-2077 .cmp-table .cmp-subtype-partner-api { color: #b388ff; background: rgba(179, 136, 255, 0.14); }
html.cp-2077 .cmp-table .cmp-subtype-email-conversions { color: var(--cp-magenta); background: rgba(208, 106, 142, 0.14); }
html.cp-2077 .cmp-table .cmp-subtype-tt-unsold { color: var(--cp-yellow); background: rgba(221, 208, 106, 0.12); }
html.cp-2077 .cmp-table .cmp-flag svg { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25); }
html.cp-2077 .cmp-table .cmp-dist { font-size: 11px; color: var(--cp-text); background: transparent; border-color: var(--cp-line-2); }
html.cp-2077 .cmp-table .cmp-dist-api { color: var(--cp-cyan); border-color: rgba(103, 201, 211, 0.5); }
html.cp-2077 .cmp-table .cmp-dist-email { color: var(--cp-orange); border-color: rgba(219, 164, 90, 0.5); }
html.cp-2077 .cmp-table .cmp-api-status { font-size: 11px; color: var(--cp-text); background: rgba(141, 151, 173, 0.18); }
html.cp-2077 .cmp-table .cmp-api-status-active { color: var(--cp-green); background: rgba(102, 204, 158, 0.12); }
html.cp-2077 .cmp-table .cmp-api-status-pending-review { color: var(--cp-yellow); background: rgba(221, 208, 106, 0.12); }
html.cp-2077 .cmp-table .cmp-api-status-disabled,
html.cp-2077 .cmp-table .cmp-api-status-disabled-by-dates { color: var(--cp-red); background: rgba(226, 110, 128, 0.13); }
html.cp-2077 .cmp-table .cmp-limit { color: var(--cp-cyan); background: rgba(103, 201, 211, 0.08); border-color: rgba(103, 201, 211, 0.45); }
html.cp-2077 .cmp-table .cmp-status-disabled { color: var(--cp-text); background: rgba(141, 151, 173, 0.18); }
html.cp-2077 .cmp-table .cmp-status-off { color: var(--cp-orange); background: rgba(219, 164, 90, 0.13); }
html.cp-2077 .cmp-table .cmp-status-full { color: var(--cp-red); background: rgba(226, 110, 128, 0.13); }
html.cp-2077 .cmp-table > tbody > tr.cmp-row-disabled > td { background: rgba(226, 110, 128, 0.13); }
html.cp-2077 .cmp-table > tbody > tr.cmp-row-disabled:hover > td { background: rgba(226, 110, 128, 0.18); }
html.cp-2077 .cmp-table > tbody > tr.cmp-row-warn > td { background: rgba(221, 208, 106, 0.11); }
html.cp-2077 .cmp-table > tbody > tr.cmp-row-warn:hover > td { background: rgba(221, 208, 106, 0.16); }
html.cp-2077 .cmp-table > tbody > tr.cmp-row-disabled > td:first-child { box-shadow: inset 3px 0 0 var(--cp-red); }
html.cp-2077 .cmp-table > tbody > tr.cmp-row-warn > td:first-child { box-shadow: inset 3px 0 0 var(--cp-yellow); }
html.cp-2077 .cmp-partner-class { background: rgba(179, 136, 255, 0.07); border-left-color: #b388ff; }
html.cp-2077 .cmp-partner-class .cmp-bar-label, html.cp-2077 .cmp-partner-class .cmp-class-filters,
html.cp-2077 .cmp-partner-class .cmp-class-path .fa { color: #b388ff; }
html.cp-2077 .cmp-partner-class .cmp-class-path { font-family: var(--cp-mono); color: #dfe4ec; background: transparent; border-color: rgba(179, 136, 255, 0.45); }
html.cp-2077 .cmp-partner-class .cmp-class-path:hover, html.cp-2077 .cmp-partner-class .cmp-class-path:focus { border-color: #b388ff; }
/* campaigns tab: pause / resume selection bar, paused state, pager, confirm modal */
html.cp-2077 .cmp-heading .cmp-total-paused, html.cp-2077 .cmp-table .cmp-paused-line { color: var(--cp-cyan); }
html.cp-2077 .cmp-selbar { background: var(--cp-bg-2); border-color: var(--cp-line-2); }
html.cp-2077 .cmp-selbar.has-selection { background: rgba(103, 201, 211, 0.08); border-color: rgba(103, 201, 211, 0.45); }
html.cp-2077 .cmp-link-btn { color: var(--cp-cyan); }
html.cp-2077 .cmp-link-btn:hover, html.cp-2077 .cmp-link-btn:focus { color: var(--cp-yellow); }
html.cp-2077 .cmp-selbar-count, html.cp-2077 .cmp-pager, html.cp-2077 .cmp-pager-size, html.cp-2077 .cmp-page-gap { color: var(--cp-muted); }
html.cp-2077 .cmp-selbar.has-selection .cmp-selbar-count { color: var(--cp-text); }
html.cp-2077 .cmp-selbar-note { color: var(--cp-text); }
html.cp-2077 .cmp-selbar-note .fa { color: var(--cp-cyan); }
html.cp-2077 .cmp-table .cmp-status-paused { color: var(--cp-ink); background: var(--cp-cyan); }
html.cp-2077 .cmp-pager { border-top-color: var(--cp-line-2); }
html.cp-2077 .cmp-page-btn { color: var(--cp-cyan); background: transparent; border-color: var(--cp-line-2); }
html.cp-2077 .cmp-page-btn:hover:not([disabled]), html.cp-2077 .cmp-page-btn:focus-visible { border-color: var(--cp-cyan); }
html.cp-2077 .cmp-page-btn.active { color: var(--cp-ink); background: var(--cp-cyan); border-color: var(--cp-cyan); }
html.cp-2077 .cmp-page-btn[disabled] { color: var(--cp-muted); }
html.cp-2077 #modal-campaign-pause .cmp-pm-list { border-color: var(--cp-line-2); }
html.cp-2077 #modal-campaign-pause .cmp-pm-list li { border-bottom-color: var(--cp-line); }
html.cp-2077 #modal-campaign-pause .cmp-pm-name { color: #dfe4ec; }
html.cp-2077 #modal-campaign-pause .cmp-pm-id, html.cp-2077 #modal-campaign-pause .cmp-pm-to { color: var(--cp-muted); }
html.cp-2077 #modal-campaign-pause .cmp-pm-to.is-ended { color: var(--cp-red); }
html.cp-2077 .cmp-table .cmp-filter-class { color: #dfe4ec; background: rgba(179, 136, 255, 0.07); border-color: rgba(179, 136, 255, 0.45); border-left-color: #b388ff; font-family: var(--cp-mono); }
html.cp-2077 .cmp-table .cmp-filter-class .fa { color: #b388ff; }
html.cp-2077 .cmp-table a.cmp-filter-class:hover, html.cp-2077 .cmp-table a.cmp-filter-class:focus { color: #fff; background: rgba(179, 136, 255, 0.16); border-color: #b388ff; }
html.cp-2077 .cmp-table .cmp-filter-class.is-missing { color: var(--cp-red); background: rgba(226, 110, 128, 0.1); border-color: rgba(226, 110, 128, 0.45); border-left-color: var(--cp-red); }
html.cp-2077 .cmp-table .cmp-filter-class.is-missing .fa { color: var(--cp-red); }
/* filter builder button and modal (partners/modals/campaign_filter_builder) */
html.cp-2077 .cmp-table .cmp-fb-btn { color: #dfe4ec; background: rgba(102, 204, 158, 0.08); border-color: rgba(102, 204, 158, 0.45); border-left-color: var(--cp-green); }
html.cp-2077 .cmp-table .cmp-fb-btn .fa { color: var(--cp-green); }
html.cp-2077 .cmp-table .cmp-fb-btn:hover, html.cp-2077 .cmp-table .cmp-fb-btn:focus { color: #fff; background: rgba(102, 204, 158, 0.16); border-color: var(--cp-green); }
html.cp-2077 .cmp-table .cmp-fb-count { color: var(--cp-muted); }
html.cp-2077 .cmp-table .cmp-fb-btn.is-off { color: var(--cp-text); background: transparent; border-color: var(--cp-line-2); border-left-color: var(--cp-muted); }
html.cp-2077 .cmp-table .cmp-fb-btn.is-off .fa { color: var(--cp-muted); }
html.cp-2077 .cfb-modal .modal-title small, html.cp-2077 .cfb-summary-label, html.cp-2077 .cfb-group-rule,
html.cp-2077 .cfb-empty, html.cp-2077 .cfb-value.is-empty, html.cp-2077 .cfb-group.is-inactive .cfb-group-name { color: var(--cp-muted); }
html.cp-2077 .cfb-summary, html.cp-2077 .cfb-group-head { background: var(--cp-bg-3); border-color: var(--cp-line-2); }
html.cp-2077 .cfb-group { border-color: var(--cp-line-2); }
html.cp-2077 .cfb-chain.is-boxed { border-color: rgba(103, 201, 211, 0.45); }
html.cp-2077 .cfb-ref, html.cp-2077 .cfb-value { color: #dfe4ec; background: transparent; border-color: var(--cp-line-2); }
html.cp-2077 .cfb-op-and, html.cp-2077 .cfb-and { color: var(--cp-cyan); }
html.cp-2077 .cfb-op-and { background: rgba(103, 201, 211, 0.12); }
html.cp-2077 .cfb-op-or, html.cp-2077 .cfb-or-divider { color: var(--cp-orange); }
html.cp-2077 .cfb-op-or { background: rgba(219, 164, 90, 0.13); }
html.cp-2077 .cfb-or-divider::before, html.cp-2077 .cfb-or-divider::after { border-top-color: rgba(219, 164, 90, 0.4); }
html.cp-2077 .cfb-pass-all { color: var(--cp-orange); }
html.cp-2077 .cfb-group-name, html.cp-2077 .cfb-field { color: #dfe4ec; }
html.cp-2077 .cfb-field, html.cp-2077 .cfb-cmp, html.cp-2077 .cfb-value, html.cp-2077 .cfb-ignored-rule { font-family: var(--cp-mono); }
html.cp-2077 .cfb-cmp { color: var(--cp-magenta); background: rgba(208, 106, 142, 0.14); }
html.cp-2077 .cfb-badge { color: var(--cp-text); background: rgba(141, 151, 173, 0.18); }
html.cp-2077 .cfb-block.is-split { background: rgba(141, 151, 173, 0.05); border-left-color: rgba(103, 201, 211, 0.45); }
html.cp-2077 .cfb-rule { border-bottom-color: var(--cp-line); }
html.cp-2077 .cfb-ignored { color: var(--cp-orange); background: rgba(219, 164, 90, 0.08); border-top-color: rgba(219, 164, 90, 0.3); }
/* partner-level filters window (partners/modals/view_filters_function) */
html.cp-2077 .pf-modal .pf-class { font-family: var(--cp-mono); color: #b388ff; text-transform: none; }
html.cp-2077 .pf-modal .pf-intro, html.cp-2077 .pf-modal .pf-where, html.cp-2077 .pf-modal .pf-num { color: var(--cp-muted); }
html.cp-2077 .pf-modal .pf-method { border-color: var(--cp-line-2); }
html.cp-2077 .pf-modal .pf-method-head { background: var(--cp-bg-3); border-bottom-color: var(--cp-line-2); }
html.cp-2077 .pf-modal .pf-step { color: var(--cp-ink); background: #b388ff; }
html.cp-2077 .pf-modal .pf-name { font-family: var(--cp-mono); color: #dfe4ec; }
html.cp-2077 .pf-modal .pf-and { color: var(--cp-cyan); background: rgba(103, 201, 211, 0.12); }
html.cp-2077 .pf-modal .pf-code { font-family: var(--cp-mono); color: var(--cp-text); background: var(--cp-bg); }
html.cp-2077 .pf-modal .pf-missing { color: var(--cp-red); background: rgba(226, 110, 128, 0.1); }
/* the code viewer's title is a class name: the theme's capitals would misspell it */
html.cp-2077 #modal-campaign-filter-code .modal-title { font-family: var(--cp-mono); text-transform: none; letter-spacing: 0; }
html.cp-2077 .cmp-table .cmp-bar { background: rgba(120, 200, 215, 0.13); }
html.cp-2077 .cmp-table .cmp-bar i { background: var(--cp-cyan); }
html.cp-2077 .cmp-table .cmp-bar.is-near i { background: var(--cp-orange); }
html.cp-2077 .cmp-table .cmp-bar.is-full i { background: var(--cp-red); }

/* Dark inline text colours typed into views (partner Notes body #444 and navy title #113059,
   dark greens, slate greys). Found by scanning every tab of partner and lead details. */
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#444"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #444"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#444444"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #444444"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#113059"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #113059"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#1e3a5f"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #1e3a5f"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#3a3a3a"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #3a3a3a"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#1a1a1a"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #1a1a1a"] { color: var(--cp-text) !important; }
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#3c763d"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #3c763d"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#2f7d34"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #2f7d34"] { color: var(--cp-green) !important; }
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#586069"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #586069"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#5a5340"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #5a5340"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#666"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #666"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#666666"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #666666"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#777"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #777"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color:#777777"],
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe))[style*="color: #777777"] { color: var(--cp-muted) !important; }

/* Welcome page tables (car loan / mortgage demand, privacy requests, partner prospects, frequently
   visited) set 12-13px, which reads small in Rajdhani's short x-height. Lift the body rows to the
   15px the rest of the theme uses (the partner index reads well at that size); headers keep 12px. */
html.cp-2077 .car-loan-demand .table > tbody,
html.cp-2077 .car-loan-demand .table > tfoot,
html.cp-2077 .dashboard-list .table > tbody,
html.cp-2077 .frequently-visited .table > tbody { font-size: 15px; }

/* Leads list (leads/partials/index-fields): the lead facts are 12px and the sales cell an inline
   13px, small in Rajdhani. One size up each, with a wider label column so labels stay on one line. */
html.cp-2077 #leads .lead-summary,
html.cp-2077 #leads .lead-purpose,
html.cp-2077 #leads .lead-facts { font-size: 14px; }
html.cp-2077 #leads .lead-facts { grid-template-columns: 100px 1fr; }
html.cp-2077 :not(:where(.cp-paper, .cp-paper *, .note-editable, .note-editable *, #modal-show-ty-preview .modal-body, #modal-show-ty-preview .modal-body *, #modal-show-contract .modal-body, #modal-show-contract .modal-body *, #modal-show-email .control-body, #modal-show-email .control-body *, iframe)):is(#leads td)[style*="font-size:13px"] { font-size: 14px !important; }

/* Campaign filter builder (components/campaign-builder): its group and rule boxes carry inline
   #f5f5f5 / #fff fills, but Vue rewrites a template's inline styles as rgb(), so the hex
   attribute overrides above never match them. Target the builder's own classes instead. */
html.cp-2077 #campaign-builder-component .group-of-rules {
    background-color: var(--cp-bg-2) !important;
    border-color: var(--cp-line) !important;
    border-radius: 0 !important;
}
html.cp-2077 #campaign-builder-component .rule-of-group {
    background-color: var(--cp-bg-3) !important;
    border-color: var(--cp-line) !important;
    border-radius: 0 !important;
}

/* Partner details section tabs (partners/details.blade.php): group row + the active group's tabs */
html.cp-2077 .partner-tab-groups .btn.active,
html.cp-2077 .partner-tab-groups .btn.active:hover,
html.cp-2077 .partner-tab-groups .btn.active:focus { background: var(--cp-cyan); border-color: var(--cp-cyan); color: var(--cp-ink); }
html.cp-2077 .partner-tab-groups .btn.is-quiet:not(.active) { color: var(--cp-muted); }
html.cp-2077 .partner-tab-count { background: rgba(103, 201, 211, 0.18); color: var(--cp-cyan); }
html.cp-2077 .partner-tab-groups .btn.active .partner-tab-count { background: var(--cp-ink); color: var(--cp-cyan); }
html.cp-2077 .partner-tab-subs { background: var(--cp-bg-3); border-color: var(--cp-line); border-radius: 0; }
html.cp-2077 .partner-tab-subs > .btn { background: transparent; border-color: transparent; color: var(--cp-text); }
html.cp-2077 .partner-tab-subs > .btn:hover,
html.cp-2077 .partner-tab-subs > .btn:focus { background: rgba(103, 201, 211, 0.12); color: var(--cp-cyan); }
html.cp-2077 .partner-tab-subs > .btn.active { background: rgba(103, 201, 211, 0.18); border-color: rgba(103, 201, 211, 0.5); color: var(--cp-cyan); }
html.cp-2077 .registration-comment { background: rgba(219, 164, 90, 0.08); border-color: rgba(219, 164, 90, 0.3); border-left-color: var(--cp-orange); border-radius: 0; }
html.cp-2077 .registration-comment-label { color: var(--cp-orange); }
html.cp-2077 .registration-comment-label .text-muted { color: var(--cp-muted); }
html.cp-2077 .registration-comment-body { color: var(--cp-text); }
