/* Palette adapters for Netcare plugins. Colors only: preserve layout, behavior and status semantics. */
:root {
  --commander-action: rgb(var(--tblr-primary-rgb, 87, 21, 255));
  --commander-primary: var(--nc-brand);
  --commander-ink: var(--nc-ink);
  --commander-muted: var(--nc-muted);
  --commander-line: var(--nc-line);
  --commander-surface: var(--nc-surface);
  --commander-soft: var(--nc-soft);
  --commander-ground: var(--nc-ground);
  --commander-accent: var(--nc-accent, #e5f034);
  --commander-hero: linear-gradient(115deg, #21172e, color-mix(in srgb, var(--commander-action) 40%, #21172e));
}
body .nj-app {
  --nj-ink: var(--commander-ink); --nj-muted: var(--commander-muted);
  --nj-border: var(--commander-line); --nj-bg: var(--commander-ground);
  --nj-card: var(--commander-surface); --nj-accent: var(--commander-action); --nj-soft: var(--commander-soft);
}
body .no-app {
  --ink: var(--commander-ink); --muted: var(--commander-muted); --border: var(--commander-line);
  --accent: var(--commander-action); --soft: var(--commander-soft);
}
body .nf-app { --nf-green: var(--commander-action); --nf-line: var(--commander-line); color: var(--commander-ink); }
body .ixc { --ixc-accent: var(--commander-action); --ixc-line: var(--commander-line); --ixc-surface: var(--commander-surface); }
body .nc-process { --nc-accent: var(--commander-action); --nc-soft: var(--commander-soft); --nc-line: var(--commander-line); --nc-muted: var(--commander-muted); --nc-surface: var(--commander-surface); }
body :is(.netcare-shell,.calls-shell,.pbx-shell) {
  --netcare-cyan: var(--commander-primary); --netcare-navy: var(--commander-ink); --netcare-line: var(--commander-line);
  --calls-cyan: var(--commander-primary); --calls-navy: var(--commander-ink); --calls-line: var(--commander-line);
  --cyan: var(--commander-primary); --navy: var(--commander-ink); --line: var(--commander-line);
}
/* Shared custom headers (including pages with inline styles). */
body :is(.nj-hero,.no-head,.nf-header,.na-hero,.netcare-hero,.calls-hero,.pbx-hero,.brand-hero,.backup-hero,.nr-hero,.zbx-hero),
body .nj-module-nav ~ .container-fluid .netcare-hero,
body .nj-module-nav ~ .calls-shell .calls-hero {
  background: var(--commander-hero) !important; color: #fff; border-color: transparent;
}
body :is(.nf-header,.no-head,.nj-hero) h1 { color: #fff; }
body :is(.nj-hero .nj-eyebrow,.no-head > div > span,.nf-header .nf-eyebrow,.nf-header .nf-mark) { color: var(--commander-accent); }
body :is(.nj-hero h1 span,.nj-hero p,.nj-hero-side small,.no-head p,.nf-header p) { color: #ded5ed; }
body :is(.nj-module-nav,.netcare-nav,.calls-nav) { background: var(--commander-surface); border-color: var(--commander-line); }
body :is(.nj-module-nav a,.netcare-nav button,.calls-nav button,.pbx-tabs button) { color: var(--commander-muted); }
body :is(.nj-module-nav a[aria-current=page],.netcare-nav button.active,.calls-nav button.active) { background: var(--commander-action); color: #fff; }
body :is(.pbx-tabs button.active,.no-nav a[aria-current=page]) { color: var(--commander-primary); border-color: var(--commander-primary); }
body :is(.brand-help,.backup-help,.nr-help,.zbx-help,.netcare-help,.calls-help,.pbx-route,.nj-guidance) { background: var(--commander-soft); color: var(--commander-ink); border-left-color: var(--commander-primary); }
body :is(.brand-asset,.pbx-card,.nf-car,.nf-card,.nf-metrics article,.no-card,.no-summary,.ncf-side,.ncf-inspector,.ncf-toolbar,.ncf-flow) { background: var(--commander-surface); color: var(--commander-ink); border-color: var(--commander-line); }
body :is(.brand-preview) { background: var(--commander-hero); }
body .brand-preview.light { background: #fff; }
body :is(.nf-cover,.nf-empty,.ncf-launch) { background: var(--commander-soft); color: var(--commander-primary); border-color: var(--commander-line); }
body :is(.nf-header p,.nf-muted,.nf-toolbar>span,.nf-metrics span,.nf-car p,.nf-card h2 small,.nf-app th,.nf-empty p,.pbx-muted,.ncf-flow small,.ncf-empty,.ncf-help,.ncf-status,.nt-muted,.nt-head p,.nt-head span,.nt-team-head p,.nt-eyebrow) { color: var(--commander-muted); }
body .nf-header p { color: #ded5ed; }
body :is(.nf-car h2 a,.netcare-shell label,.calls-shell label) { color: var(--commander-ink); }
body :is(.nf-empty>i,.calls-shell code) { color: var(--commander-primary); }
body .nf-plate { background: var(--commander-ground); color: var(--commander-ink); border-color: var(--commander-line); border-top-color: var(--commander-primary); }
body :is(.nf-app input,.nf-app select,.nf-app textarea,.no-app input:not([type=checkbox]),.no-app select,.no-app textarea,.no-app .no-btn:not(.no-primary)) { background: var(--commander-surface); color: var(--commander-ink); border-color: var(--commander-line); }
body :is(.nj-app .nj-btn-primary:hover,.nf-btn:hover) { background: color-mix(in srgb, var(--commander-action) 85%, #000); border-color: var(--commander-action); }
body .nf-secondary, body .nf-plan .nf-form:last-child .nf-btn { background: var(--commander-soft); color: var(--commander-primary) !important; }
body .no-app .no-primary { background: var(--commander-action); color: #fff; }
body :is(.pbx-avatar,.pbx-keypad button,.ncf-palette button,.ncf-flow.active) { background: var(--commander-soft); color: var(--commander-ink); border-color: var(--commander-line); }
body :is(.pbx-keypad button:hover,.pbx-row:hover) { background: var(--commander-soft); }
body .ncf-shell { background: var(--commander-ground); border-color: var(--commander-line); }
body .ncf-canvas { background-color: #21172e; background-image: radial-gradient(#51415f 1px,transparent 1px); }
body .ncf-node.selected { box-shadow: 0 0 0 3px var(--commander-accent); }
body .ncf-flow.active { border-color: var(--commander-primary); }
body :is(.ixc-day.is-over,.ixc-message:not(.error)) { background: var(--commander-soft); border-color: var(--commander-primary); }
body .nj-app :focus-visible { outline-color: var(--commander-primary); }
body .nj-app .nj-btn-primary { background: var(--commander-action); border-color: var(--commander-action); }
body .nj-editor[open], body .nj-weekdays input:checked+span { border-color: var(--commander-primary); }
/* Native action controls also inherit configuration, rather than a fixed purple. */
body .btn-primary {
  --tblr-btn-bg: var(--commander-action); --tblr-btn-border-color: var(--commander-action);
  --tblr-btn-hover-bg: color-mix(in srgb,var(--commander-action) 85%,#000);
  --tblr-btn-hover-border-color: var(--tblr-btn-hover-bg);
  --tblr-btn-active-bg: var(--tblr-btn-hover-bg); --tblr-btn-active-border-color: var(--tblr-btn-hover-bg);
  --tblr-btn-disabled-bg: var(--commander-action); --tblr-btn-disabled-border-color: var(--commander-action);
}
body .form-check-input:checked { background-color: var(--commander-action); border-color: var(--commander-action); }
body .pagination { --tblr-pagination-active-bg: var(--commander-action); --tblr-pagination-active-border-color: var(--commander-action); }
body .netcare-messenger .messenger-fio { background-color: var(--commander-ground); background-image: radial-gradient(var(--commander-line) 1px,transparent 1px); background-size:24px 24px; }
body .netcare-messenger .messenger-bolha { background:var(--commander-surface); color:var(--commander-ink); border-color:var(--commander-line); }
body .netcare-messenger .minha .messenger-bolha { background:var(--commander-soft); color:var(--commander-ink); }
body .netcare-messenger .messenger-audio-ios button { background:var(--commander-action); }
body .netcare-messenger .messenger-audio-ios input { accent-color:var(--commander-action); }
body .netcare-messenger .messenger-item.active { background:var(--commander-soft); }
/* React module embedded by Jornada (scoped to its dedicated document). */
html.nc-jornada-frame {
 --ground:var(--commander-ground); --surface-1:var(--commander-surface); --surface-2:var(--commander-ground); --surface-3:var(--commander-soft); --sunken:var(--commander-surface);
 --hair:var(--commander-line); --line:var(--commander-line); --edge:var(--commander-line);
 --tx-1:var(--commander-ink); --tx-2:var(--commander-ink); --tx-3:var(--commander-muted); --tx-4:var(--commander-muted);
 --brand:var(--commander-action); --brand-lit:var(--commander-primary); --brand-dim:var(--commander-soft);
}
.nc-jornada-frame body .btn-primary { background:var(--commander-action); color:#fff; }
.nc-jornada-frame body .btn-primary:not(:disabled):hover { background:color-mix(in srgb,var(--commander-action) 85%,#000); }
.nc-jornada-frame body :is(.btn-ghost,.input) { background:var(--commander-surface); color:var(--commander-ink); }
.nc-jornada-frame .tile-hover:hover { border-color:var(--commander-primary); }
:root { --commander-soft: color-mix(in srgb, var(--commander-primary) 9%, var(--commander-surface)); }
:root[data-glpi-theme-dark="1"], :root[data-bs-theme="dark"] {
  --nc-brand: color-mix(in srgb, rgb(var(--tblr-primary-rgb,87,21,255)) 45%, #fff);
}
body .nf-app .nf-header p { color:#ded5ed; }
body .nt-week-day.is-selected { border-color:var(--commander-primary); background:var(--commander-soft); }
body .nt-availability button:focus-visible { outline-color:var(--commander-primary); }
body #nt-dialog { background:var(--commander-surface); color:var(--commander-ink); border-color:var(--commander-line); }
body .no-app { --accent:var(--commander-primary); }
body .nf-app { --nf-green:var(--commander-primary); }
body .nf-app .nf-btn:not(.nf-secondary) { background:var(--commander-action); }
body .no-app .no-head span { color:var(--commander-accent); }
body .nj-app { --nj-accent:var(--commander-primary); }
body .nt-week-day.selected { background:var(--commander-action); border-color:var(--commander-action); }
body .nt-week-day.selected > :is(span,small) { color:#fff; }
/* Quiet blue presentation. Accent and logos retain the Commander identity. */
:root {
  --nc-ground: #f4f6fa;
  --nc-soft: color-mix(in srgb, var(--nc-brand) 8%, var(--nc-surface));
  --nc-line: #e0e5ee;
  --nc-ink: #283448;
  --nc-muted: #68758a;
  --tblr-link-hover-color: var(--nc-brand);
  --tblr-link-hover-color-rgb: var(--tblr-primary-rgb,70,104,178);
  --commander-hero: linear-gradient(115deg,#1c2330,color-mix(in srgb,var(--commander-action) 40%,#1c2330));
}
:root[data-glpi-theme-dark="1"], :root[data-bs-theme="dark"] {
  --nc-ground: #151921; --nc-surface: #202733; --nc-line: #364152;
  --nc-ink: #edf2fa; --nc-muted: #b1bdd0;
  --tblr-link-color-rgb: 153,175,218;
  --tblr-link-hover-color-rgb: 190,205,234;
}
body .page > .sidebar { background:linear-gradient(175deg,#202938,#141923); border-color:#303d50; }
body .sidebar #navbar-menu > .navbar-nav > .nav-item > .nav-link:is(:hover,:focus-visible,.show,.active),
body .sidebar #navbar-menu .dropdown-item:is(:hover,:focus-visible,.active) { background:color-mix(in srgb,var(--commander-action) 25%,#202938); }
body .sidebar #navbar-menu .dropdown-menu { background:#1d2532; border-color:#364152; }
body .dashboard {
  --nc-central-brand:var(--commander-primary); --nc-central-brand-soft:var(--commander-soft);
  --nc-central-ground:var(--commander-ground); --nc-central-surface:var(--commander-surface);
  --nc-central-ink:var(--commander-ink); --nc-central-muted:var(--commander-muted); --nc-central-border:var(--commander-line);
}
body .dashboard.theme-dark {
  --nc-central-brand:#a6bde8; --nc-central-brand-soft:#29364c; --nc-central-ground:#151921;
  --nc-central-surface:#202733; --nc-central-ink:#edf2fa; --nc-central-muted:#b1bdd0; --nc-central-border:#364152;
}
body .user-menu [data-testid="user-menu-dropdown"] > .dropdown-header { background:var(--commander-hero); }
/* Softer presentation trial — reversible as a single Branding stylesheet. */
:root {
  --nc-line: #e7ebf1;
  --nc-shadow: 0 2px 10px rgb(32 48 72 / 3%);
  --commander-soft: color-mix(in srgb,var(--commander-primary) 5%,var(--commander-surface));
  --commander-hero: linear-gradient(115deg,#293547,color-mix(in srgb,var(--commander-action) 18%,#293547));
}
:root[data-glpi-theme-dark="1"], :root[data-bs-theme="dark"] {
  --nc-line: #323c4b;
  --nc-shadow: 0 2px 10px rgb(0 0 0 / 8%);
  --commander-hero: linear-gradient(115deg,#253042,color-mix(in srgb,var(--commander-action) 14%,#253042));
}
body :is(.nj-hero,.no-head,.nf-header,.na-hero,.netcare-hero,.calls-hero,.pbx-hero,.brand-hero,.backup-hero,.nr-hero,.zbx-hero) { box-shadow:none; }
body :is(.nj-hero h1,.no-app .no-head h1,.nf-header h1,.page-body .card-title) { font-weight:600; }
body :is(.nj-hero .nj-eyebrow,.no-app .no-head span,.nf-header .nf-eyebrow,.nf-header .nf-mark) { color:#d8e2f1; }
body :is(.nj-hero .nj-eyebrow,.no-app .no-head span,.nf-header .nf-eyebrow) { font-weight:550; }
body :is(.nj-tab,.nj-module-nav a,.netcare-nav button,.calls-nav button,.nf-nav a,.no-nav a) { font-weight:500; }
body .page-body .nav-tabs .nav-link, body .page-body .card-tabs > .nav-tabs .nav-link { font-weight:500; }
body .page-body .search-results thead th { font-weight:550; letter-spacing:.025em; }
body .page-body .search-results td a:not(.btn):not([class*="text-"]) { font-weight:400; }
body .sidebar #navbar-menu > .navbar-nav > .nav-item > .nav-link { font-weight:500; }
body .sidebar #navbar-menu > .navbar-nav > .nav-item > .nav-link:not(.active) > i { color:#a6b3c6; }
body .user-menu .dropdown-item > i { color:var(--commander-muted); }
body .user-menu .dropdown-item:hover > i { color:var(--commander-primary); }
body .user-menu [data-testid="user-menu-dropdown"] > .dropdown-header { color:#e5edf8; font-weight:550; }
body .dropdown-menu { box-shadow:0 8px 24px rgb(28 42 64 / 10%); }
body .modal-content { box-shadow:0 14px 40px rgb(20 30 46 / 18%); }
body .page-body .card-tabs > .nav-tabs .nav-link.active { box-shadow:inset 0 -2px var(--commander-primary); }
body :is(.nf-card,.nf-car,.nf-metrics article,.no-card,.no-summary,.nj-stats>div,.nj-calendar-card) { box-shadow:var(--nc-shadow); }
body .dashboard.theme-dark { --nc-central-border:#323c4b; --nc-central-brand-soft:#253145; }
