/* ===== NXSKIN v1 — Nexus Investec modern reskin =================================================
 * Reference look: light neutral canvas, white rounded cards with a whisper of shadow, outlined
 * icon buttons, small-caps grey table headers with roomy rows and hover, rounded-rect chips,
 * initial-avatars on entity registers, sidebar items as rounded highlights.
 * A pure OVERRIDE layer: loaded after the base stylesheet, touches presentation only.
 * ============================================================================================= */
:root{
  --bg:#f2f4f8;
  --line:#e6eaf2;
  --nxsk-blue:#2f6bff;
  --nxsk-border:#d7dfeb;
  --nxsk-ink:#22314a;
  --nxsk-hov:#f6f8fc;
}
body{background:var(--bg)}

/* ---- cards ---- */
.card{border-radius:14px;border-color:var(--line);box-shadow:0 1px 2px rgba(16,24,40,.05);padding:18px 20px}
.card h3{letter-spacing:-.01em}

/* ---- buttons ---- */
.btn{background:var(--nxsk-blue);border-radius:9px;font-weight:600;letter-spacing:0;
  padding:8px 16px;transition:filter .12s ease,background .12s ease}
.btn:hover{filter:brightness(1.07)}
.btn.ghost{background:#fff;border:1px solid var(--nxsk-border);color:var(--nxsk-ink);border-radius:9px}
.btn.ghost:hover{background:#f3f6fb;border-color:#b9c6d8;filter:none}
.btn.sm{padding:5px 12px;border-radius:8px;font-size:12.5px}

/* ---- KPI tiles ---- */
.kpi{border-radius:13px;padding:14px 16px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.k-l{font-size:10.5px;letter-spacing:.7px}
.kpis .k-v{font-size:22px;font-weight:800}

/* ---- tables: roomy rows, soft separators, hover ---- */
table{font-size:13.2px}
th{color:#6b7a90;padding:9px 12px;border-bottom:1.5px solid var(--line)}
td{padding:11px 12px;border-bottom:1px solid #f0f3f8}
.card tbody tr:hover>td{background:var(--nxsk-hov)}
.card tbody tr:last-child>td{border-bottom:0}

/* ---- chips: rounded-rect, calmer weight ---- */
.pill{border-radius:7px;padding:3px 9px;letter-spacing:.15px}
.tag{border-radius:7px}

/* ---- NXVIZ toolbar → reference toolbar (search + outlined controls) ---- */
.nxvz{gap:10px;margin:2px 0 12px}
.nxvz input{border-radius:9px;border-color:var(--nxsk-border);min-width:230px;padding:8px 12px 8px 32px;
  background-color:#fff}
.nxvz input[type="search"]{background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238a97a8'%20stroke-width='2.4'%20stroke-linecap='round'%3E%3Ccircle%20cx='11'%20cy='11'%20r='7'/%3E%3Cline%20x1='21'%20y1='21'%20x2='16.5'%20y2='16.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:10px center;background-size:14px;padding-left:32px}
.nxvz input:focus{outline:2px solid rgba(47,107,255,.35);border-color:transparent}
.nxvz button{border-radius:9px;border:1px solid var(--nxsk-border);padding:7px 14px;font-weight:600;color:var(--nxsk-ink)}
.nxvz button:hover{background:#f3f6fb;border-color:#b9c6d8;color:var(--nxsk-ink)}
.nxvz button[disabled]{opacity:.4}
.nxvz select{border-radius:9px;border-color:var(--nxsk-border);padding:7px 10px;color:var(--nxsk-ink)}
.nxvz .ct{color:#8a97a8}
.nxvz .pg b{color:var(--nxsk-ink)}

/* ---- shared tab strip (NXTABS) + page tab rows: segmented look ---- */
.nxtabs{gap:6px}
.nxtabs .nxtab{border:1px solid var(--nxsk-border);background:#fff;border-radius:9px;
  padding:7px 15px;font-weight:600;color:var(--nxsk-ink)}
.nxtabs .nxtab:hover{border-color:#b9c6d8;background:#f3f6fb}
.nxtabs .nxtab.on{background:var(--nxsk-blue);border-color:var(--nxsk-blue);color:#fff}
.nxtabs .nxtab.on .n{background:rgba(255,255,255,.25);color:#fff}
.nxtabs .nxtab .n{background:#eef2f9;color:#44536b;border-radius:99px;font-size:10.5px;padding:1px 7px}

/* ---- sidebar: rounded active highlight, cyan cue kept ---- */
nav a{border-radius:9px;margin:1px 10px;padding:8px 12px;border-left:0;
  box-shadow:inset 3px 0 0 transparent;transition:background .12s ease}
nav a:hover{background:rgba(255,255,255,.06)}
nav a.on{background:rgba(255,255,255,.11);box-shadow:inset 3px 0 0 var(--cyan)}
.ng-t{padding-left:22px}

/* ---- entity avatars (added by the NXSKIN script on registers) ---- */
.nxav{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;color:#fff;
  font:700 10.5px/1 var(--font-body,inherit);margin-right:9px;vertical-align:middle;flex:none;
  letter-spacing:.3px;user-select:none}
td.nxav-cell{white-space:nowrap}
td.nxav-cell>b:first-of-type{vertical-align:middle}

/* ---- forms pick up the same control language ---- */
.field input,.field select,.field textarea,.f input,.f select,.f textarea{border-radius:9px}
.field input:focus,.f input:focus{outline:2px solid rgba(47,107,255,.3)}

/* ---- scrollbars, the quiet finish ---- */
*{scrollbar-width:thin;scrollbar-color:#c6d0de transparent}
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-thumb{background:#c6d0de;border-radius:8px}
*::-webkit-scrollbar-track{background:transparent}

/* ---- NXCRMFIT v1: two independent columns + in-card pagers ---- */
.nxc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.nxc-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.nxc-col .card{margin-bottom:0}
@media(max-width:1100px){.nxc-grid{grid-template-columns:1fr}}
.nxcpg{float:right;display:inline-flex;gap:7px;align-items:center;font-size:12px;color:#6b7a90}
.nxcpg button{border:1px solid #d7dfeb;background:#fff;border-radius:7px;padding:1px 10px;cursor:pointer;font:600 12.5px inherit;color:#22314a;line-height:1.5}
.nxcpg button:hover{background:#f3f6fb}
.nxcpg button[disabled]{opacity:.35;cursor:default}
.nxcpg b{font-weight:700;color:#22314a}
