/* Panel color families and visual hierarchy for the client cabinet and admin. */
body.precision.studio:not(.auth-required),body.admin-workbench {
  --cp-blue:#345ca0;--cp-blue-bg:#eef3fc;
  --cp-teal:#2c7269;--cp-teal-bg:#ecf6f2;
  --cp-purple:#7352aa;--cp-purple-bg:#f4eff9;
  --cp-green:#377158;--cp-green-bg:#edf6f0;
  --cp-amber:#8d6327;--cp-amber-bg:#fcf4e3;
  --cp-red:#a34052;--cp-red-bg:#fceff1;
  --cp-slate:#52617a;--cp-slate-bg:#edf0f5;
  --cp-page:var(--cp-purple);--cp-page-bg:var(--cp-purple-bg);
  --cp-metric:var(--cp-purple);--cp-metric-bg:var(--cp-purple-bg);
}
body.precision.studio.dark:not(.auth-required),body.admin-workbench[data-overview-theme=dark] {
  --cp-blue:#abc4eb;--cp-blue-bg:#232d40;
  --cp-teal:#94d1c0;--cp-teal-bg:#1f342e;
  --cp-purple:#c8b5e4;--cp-purple-bg:#31293c;
  --cp-green:#acd5b9;--cp-green-bg:#25352b;
  --cp-amber:#e5c68e;--cp-amber-bg:#393020;
  --cp-red:#e8abb4;--cp-red-bg:#3c282e;
  --cp-slate:#bfcbdf;--cp-slate-bg:#29313e;
}
body.admin-workbench:not([data-overview-theme=dark]) {--sc-muted:#596176}
body.admin-workbench #ops-data-status.is-stale {color:var(--cp-amber)}
body.admin-workbench #ops-data-status.is-stale span {color:var(--cp-amber)}
body.precision.studio[data-page=crm],body.precision.studio[data-page=calendar] {
  --cp-page:var(--cp-teal);--cp-page-bg:var(--cp-teal-bg);
}
body.precision.studio:is([data-page=chats],[data-page=broadcasts],[data-page=connections]),
body.admin-workbench:is([data-admin-page=clients],[data-admin-page=client],[data-admin-page=team]) {
  --cp-page:var(--cp-blue);--cp-page-bg:var(--cp-blue-bg);
}
body.precision.studio[data-page=billing],body.admin-workbench[data-admin-page=billing] {
  --cp-page:var(--cp-green);--cp-page-bg:var(--cp-green-bg);
}
body.admin-workbench:is([data-admin-page=incidents],[data-admin-page=cases]) {
  --cp-page:var(--cp-amber);--cp-page-bg:var(--cp-amber-bg);
}
body.precision.studio:is([data-page=settings],[data-page=help]),
body.admin-workbench:is([data-admin-page=settings],[data-admin-page=audit],[data-admin-page=service]) {
  --cp-page:var(--cp-slate);--cp-page-bg:var(--cp-slate-bg);
}
body.precision.studio:not(.auth-required) .page-head h1,
body.admin-workbench .admin-page:not(.is-hidden)>.ops-heading h1 {
  padding-inline-start:14px;border-inline-start:5px solid var(--cp-page);
}
body.precision.studio:not(.auth-required) #sidebar nav a.active {
  color:var(--cp-page);background:var(--cp-page-bg);
}
body.admin-workbench .admin-rail nav a.is-active {
  border-inline-start:3px solid var(--cp-page);padding-inline-start:9px;
}

/* Home: four different measures; hue identifies their meaning. */
body.precision.studio[data-page=home]:not(.auth-required) .kpi {
  background:var(--cp-metric-bg);border:1px solid transparent;
  border-top:3px solid var(--cp-metric);padding:20px;border-radius:16px;
}
body.precision.studio[data-page=home] .kpi[data-action=open-home-chats] {
  --cp-metric:var(--cp-blue);--cp-metric-bg:var(--cp-blue-bg);
}
body.precision.studio[data-page=home] .kpi.attention {
  --cp-metric:var(--cp-amber);--cp-metric-bg:var(--cp-amber-bg);
}
body.precision.studio[data-page=home]:not(.auth-required) .kpi.attention {background:var(--cp-amber-bg)}
body.precision.studio[data-page=home] .kpi[data-action=open-home-new-leads] {
  --cp-metric:var(--cp-teal);--cp-metric-bg:var(--cp-teal-bg);
}
body.precision.studio[data-page=home]:not(.auth-required) .kpi strong {
  font-size:46px;color:var(--cp-metric);font-weight:700;line-height:1.15;
}
body.precision.studio[data-page=home]:not(.auth-required) .kpi :is(.kpi-link,.kpi-top>svg) {color:var(--cp-metric)}
body.precision.studio[data-page=home]:not(.auth-required) .attention-list {
  border-color:var(--line);border-inline-start-width:4px;
}
body.precision.studio[data-page=home]:not(.auth-required) .attention-list:has(.queue-item) {border-inline-start-color:var(--cp-amber)}
body.precision.studio[data-page=home] .attention-list .section-head {
  padding-bottom:18px;border-bottom:1px solid var(--line);
}
body.precision.studio[data-page=home] .attention-list .home-queue-count {
  background:var(--cp-amber-bg);color:var(--cp-amber);
}
body.precision.studio[data-page=home] .activity .section-head h2 {color:var(--cp-purple)}

/* CRM: a teal workflow, stage rails and visibly separated task statistics. */
body.precision.studio[data-page=crm]:not(.auth-required) .crm-kpis {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 24px;
}
body.precision.studio[data-page=crm]:not(.auth-required) .crm-summary-label {grid-column:1/-1;border:0;padding:0;font-size:12px}
body.precision.studio[data-page=crm]:not(.auth-required) .crm-kpis .card {
  display:grid;gap:10px;padding:20px;border:1px solid transparent;border-radius:14px;
  background:var(--cp-teal-bg);border-top:3px solid var(--cp-teal);
}
body.precision.studio[data-page=crm] .crm-kpis .card:nth-of-type(1) {background:var(--cp-blue-bg);border-top-color:var(--cp-blue)}
body.precision.studio[data-page=crm] .crm-kpis .card:nth-of-type(3) {background:var(--cp-purple-bg);border-top-color:var(--cp-purple)}
body.precision.studio[data-page=crm] .crm-kpis .card:nth-of-type(4) {background:var(--cp-green-bg);border-top-color:var(--cp-green)}
body.precision.studio[data-page=crm]:not(.auth-required) .crm-kpis strong {font-size:38px;line-height:1.1;color:var(--cp-teal);font-variant-numeric:tabular-nums}
body.precision.studio[data-page=crm] .crm-kpis .card:nth-of-type(1) strong {color:var(--cp-blue)}
body.precision.studio[data-page=crm] .crm-kpis .card:nth-of-type(3) strong {color:var(--cp-purple)}
body.precision.studio[data-page=crm] .crm-kpis .card:nth-of-type(4) strong {color:var(--cp-green)}
body.precision.studio[data-page=crm]:not(.auth-required) .crm-list th {
  background:var(--cp-teal-bg);color:var(--cp-teal);font-size:12px;font-weight:600;padding-block:14px;
}
body.precision.studio[data-page=crm] .crm-list tr[data-status] {--cp-stage:var(--cp-slate);--cp-stage-bg:var(--cp-slate-bg)}
body.precision.studio[data-page=crm] .crm-list tr[data-status=new] {--cp-stage:var(--cp-blue);--cp-stage-bg:var(--cp-blue-bg)}
body.precision.studio[data-page=crm] .crm-list tr:is([data-status=open],[data-status=in_progress]) {--cp-stage:var(--cp-teal);--cp-stage-bg:var(--cp-teal-bg)}
body.precision.studio[data-page=crm] .crm-list tr[data-status=completed] {--cp-stage:var(--cp-green);--cp-stage-bg:var(--cp-green-bg)}
body.precision.studio[data-page=crm] .crm-list tr[data-status] td:first-child {border-inline-start:4px solid var(--cp-stage)}
body.precision.studio[data-page=crm]:not(.auth-required) .crm-list .crm-avatar {color:var(--cp-stage);background:var(--cp-stage-bg);width:38px;height:38px}
body.precision.studio[data-page=crm] .crm-list tr[data-status] .badge {
  background:var(--cp-stage-bg);color:var(--cp-stage);border:0;padding:6px 9px;font-size:12px;
}
body.precision.studio[data-page=crm]:not(.auth-required) .crm-list td {padding-block:20px;font-size:13px}
body.precision.studio[data-page=crm] .crm-list tr:has(.lead-deadline.overdue) td[data-label="Срок"] {background:var(--cp-amber-bg);color:var(--cp-amber)}
body.precision.studio[data-page=crm] .lead-deadline.overdue {color:var(--cp-red)!important}

/* Results: period volume and AI contribution have separate, stable colours. */
body.precision.studio[data-page=analytics] .analytics-period-metrics .analytics-metric {
  background:var(--cp-blue-bg);border-color:transparent;border-top:3px solid var(--cp-blue);
}
body.precision.studio[data-page=analytics] .analytics-period-metrics .analytics-metric.accent {
  background:var(--cp-purple-bg);border-top-color:var(--cp-purple);
}
body.precision.studio[data-page=analytics] .analytics-period-metrics .analytics-metric strong {font-size:48px;color:var(--cp-blue)}
body.precision.studio[data-page=analytics] .analytics-period-metrics .analytics-metric.accent strong {color:var(--cp-purple)}
body.precision.studio[data-page=analytics] .analytics-current-metrics .analytics-metric {border-top:3px solid var(--cp-teal)}
body.precision.studio[data-page=analytics] .analytics-current-metrics .analytics-metric.attention {
  background:var(--cp-amber-bg);border-top-color:var(--cp-amber);
}
body.precision.studio[data-page=analytics] .analytics-metric.attention strong {color:var(--cp-amber)}
body.precision.studio[data-page=analytics] .analytics-metric.attention a {color:var(--cp-purple)}
body.precision.studio[data-page=analytics] .analytics-incoming {stroke:var(--cp-blue)}
body.precision.studio[data-page=analytics] .analytics-ai {stroke:var(--cp-purple)}
body.precision.studio[data-page=analytics] .analytics-legend i {background:var(--cp-blue)}
body.precision.studio[data-page=analytics] .analytics-legend i.ai {background:repeating-linear-gradient(to right,var(--cp-purple) 0 5px,transparent 5px 8px)}

/* Overview: finances, new issues and team work stay distinguishable. */
body.admin-workbench[data-admin-page=overview] .wb-signal {
  background:var(--cp-metric-bg);border-color:transparent;border-top:3px solid var(--cp-metric);border-radius:14px;
}
body.admin-workbench[data-admin-page=overview] .wb-signal[data-finance-metric] {--cp-metric:var(--cp-green);--cp-metric-bg:var(--cp-green-bg)}
body.admin-workbench[data-admin-page=overview] .wb-signal.is-attention {--cp-metric:var(--cp-amber);--cp-metric-bg:var(--cp-amber-bg)}
body.admin-workbench[data-admin-page=overview] .wb-signal strong {font-size:42px;color:var(--cp-metric);line-height:1.2;letter-spacing:-1px}
body.admin-workbench[data-admin-page=overview] .wb-signal>span {color:var(--sc-ink)}
body.admin-workbench[data-admin-page=overview] .overview-urgent-cases {border-width:0 0 0 4px;border-radius:12px}
body.admin-workbench[data-admin-page=overview] .wb-overview-cases {border-top:3px solid var(--cp-teal)}
body.admin-workbench[data-admin-page=overview] .sc-chart .sc-bar {fill:var(--cp-purple)}

/* Client directory: blue identity and status pills; no whole-row success claim. */
body.admin-workbench[data-admin-page=clients] .ops-table-panel {border-top:4px solid var(--cp-blue)}
body.admin-workbench[data-admin-page=clients] .ops-table-wrap table thead th {background:var(--cp-blue-bg);color:var(--cp-blue);font-size:12px;font-weight:600;padding-block:14px}
body.admin-workbench[data-admin-page=clients] #workspace-rows tr:nth-child(even) {background:color-mix(in srgb,var(--cp-blue-bg) 34%,var(--sc-panel))}
body.admin-workbench[data-admin-page=clients] :is(td strong,.client-person strong) {font-size:14px}
body.admin-workbench[data-admin-page=clients] .client-avatar {width:38px;height:38px;font-size:14px;color:var(--cp-blue);background:var(--cp-blue-bg)}
body.admin-workbench[data-admin-page=clients] td .ops-state {padding:5px 9px;font-size:12px}
body.admin-workbench[data-admin-page=clients] .ops-state.is-active {background:var(--cp-green-bg);color:var(--cp-green)}
body.admin-workbench[data-admin-page=clients] .ops-state.is-trial {background:var(--cp-blue-bg);color:var(--cp-blue)}
body.admin-workbench[data-admin-page=clients] .ops-state:is(.is-past_due,.is-suspended) {background:var(--cp-amber-bg);color:var(--cp-amber)}
body.admin-workbench[data-admin-page=clients] .ops-state.is-cancelled {background:var(--cp-slate-bg);color:var(--cp-slate)}
body.admin-workbench[data-admin-page=clients] #workspace-rows tr:has(.ops-state.is-past_due) td:first-child {border-inline-start:4px solid var(--cp-amber)}

/* Finance: prominent amounts and quiet row bands, not coloured failures by guess. */
body.admin-workbench[data-admin-page=billing] .bp-kpis article {background:var(--cp-green-bg);border-color:transparent;border-top:3px solid var(--cp-green);border-radius:14px}
body.admin-workbench[data-admin-page=billing] .bp-kpis article:has(#billing-mrr) {background:var(--cp-blue-bg);border-top-color:var(--cp-blue)}
body.admin-workbench[data-admin-page=billing] .bp-kpis article:has(#billing-refunded) {background:var(--cp-amber-bg);border-top-color:var(--cp-amber)}
body.admin-workbench[data-admin-page=billing] .bp-kpis article:has(#billing-ai-cost) {background:var(--cp-purple-bg);border-top-color:var(--cp-purple)}
body.admin-workbench[data-admin-page=billing] .bp-kpis strong {font-size:clamp(24px,2.1vw,32px);line-height:1.25;margin:12px 0;color:var(--cp-green);font-variant-numeric:tabular-nums}
body.admin-workbench[data-admin-page=billing] #billing-mrr {color:var(--cp-blue)}
body.admin-workbench[data-admin-page=billing] #billing-refunded {color:var(--cp-amber)}
body.admin-workbench[data-admin-page=billing] #billing-ai-cost {color:var(--cp-purple)}
body.admin-workbench[data-admin-page=billing] .bp-kpis :is(span,small) {color:var(--sc-ink);font-size:12px;line-height:1.6}
body.admin-workbench[data-admin-page=billing] .bp-workspace {border-top:4px solid var(--cp-green)}
body.admin-workbench[data-admin-page=billing] .bp-table th {color:var(--cp-green);background:var(--cp-green-bg);font-size:12px;font-weight:600}
body.admin-workbench[data-admin-page=billing] :is(.wb-finance-section,#wb-ai-pricing) th {color:var(--cp-green);background:var(--cp-green-bg)}
body.admin-workbench[data-admin-page=billing] #payment-rows tr:nth-child(even) {background:color-mix(in srgb,var(--cp-slate-bg) 36%,var(--sc-panel))}
body.admin-workbench[data-admin-page=billing] #payment-rows td[data-label="Сумма"] strong {font-size:19px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
body.admin-workbench[data-admin-page=billing] #payment-rows td[data-label="Сумма"] small {font-weight:500;color:var(--cp-amber)}
body.admin-workbench[data-admin-page=billing] .bp-badge {padding:6px 10px;font-size:12px}
body.admin-workbench[data-admin-page=billing] .bp-badge.live {background:var(--cp-green-bg);color:var(--cp-green)}
body.admin-workbench[data-admin-page=billing] .bp-badge.warning {background:var(--cp-amber-bg);color:var(--cp-amber)}

/* Incidents: severity is grounded in existing critical/warning badges. */
body.admin-workbench[data-admin-page=incidents] .ic-kpis article {border-radius:14px;border-top:3px solid var(--cp-slate)}
body.admin-workbench[data-admin-page=incidents] .ic-kpis article:has(#incident-critical[data-active=true]) {background:var(--cp-red-bg);border-color:transparent;border-top:3px solid var(--cp-red)}
body.admin-workbench[data-admin-page=incidents] .ic-kpis article:has(#incident-warning[data-active=true]) {background:var(--cp-amber-bg);border-color:transparent;border-top:3px solid var(--cp-amber)}
body.admin-workbench[data-admin-page=incidents] .ic-kpis strong {font-size:44px;line-height:1.25;margin:10px 0;font-variant-numeric:tabular-nums}
body.admin-workbench[data-admin-page=incidents] #incident-critical[data-active=true] {color:var(--cp-red)}
body.admin-workbench[data-admin-page=incidents] #incident-warning[data-active=true] {color:var(--cp-amber)}
body.admin-workbench[data-admin-page=incidents] .ic-kpis small {font-size:12px;line-height:1.6}
body.admin-workbench[data-admin-page=incidents] .ic-workspace {border-top:4px solid var(--cp-amber)}
body.admin-workbench[data-admin-page=incidents] .ic-table th {background:var(--cp-slate-bg);color:var(--cp-slate);font-size:12px}
body.admin-workbench[data-admin-page=incidents] .incidents-page:has([data-incident-tab=open][aria-selected=true]) .ic-table tr:has(.ic-badge.critical):not(:has(.ic-badge.neutral)) {background:color-mix(in srgb,var(--cp-red-bg) 32%,var(--sc-panel))}
body.admin-workbench[data-admin-page=incidents] .incidents-page:has([data-incident-tab=open][aria-selected=true]) .ic-table tr:has(.ic-badge.warning):not(:has(.ic-badge.neutral)) {background:color-mix(in srgb,var(--cp-amber-bg) 24%,var(--sc-panel))}
body.admin-workbench[data-admin-page=incidents] .incidents-page:has([data-incident-tab=open][aria-selected=true]) .ic-table tr:has(.ic-badge.critical):not(:has(.ic-badge.neutral)) td:first-child {border-inline-start:4px solid var(--cp-red)}
body.admin-workbench[data-admin-page=incidents] .incidents-page:has([data-incident-tab=open][aria-selected=true]) .ic-table tr:has(.ic-badge.warning):not(:has(.ic-badge.neutral)) td:first-child {border-inline-start:4px solid var(--cp-amber)}
body.admin-workbench[data-admin-page=incidents] .ic-badge {font-size:12px;padding:6px 10px}
body.admin-workbench[data-admin-page=incidents] .ic-badge.critical {background:var(--cp-red-bg);color:var(--cp-red)}
body.admin-workbench[data-admin-page=incidents] .ic-badge.warning {background:var(--cp-amber-bg);color:var(--cp-amber)}
body.admin-workbench[data-admin-page=incidents] .ic-badge.neutral {background:var(--cp-slate-bg);color:var(--cp-slate)}

@media(max-width:760px) {
  body.precision.studio[data-page=crm]:not(.auth-required) .crm-kpis {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body.precision.studio[data-page=crm]:not(.auth-required) .crm-kpis .card {padding:16px}
  body.precision.studio[data-page=crm]:not(.auth-required) .crm-kpis strong {font-size:32px}
  body.precision.studio[data-page=crm] .crm-list tr[data-status] td:first-child {border:0}
  body.precision.studio[data-page=crm] .crm-list tr[data-status] {border-inline-start:4px solid var(--cp-stage)}
  body.precision.studio[data-page=crm]:not(.auth-required) .crm-list td {padding-block:0}
  body.precision.studio[data-page=crm] .crm-list tr:has(.lead-deadline.overdue) td[data-label="Срок"] {border-radius:6px;padding:6px}
  body.precision.studio[data-page=analytics] .analytics-period-metrics .analytics-metric strong {font-size:36px}
  body.admin-workbench[data-admin-page=overview] .wb-signal strong {font-size:32px;overflow-wrap:anywhere}
  body.admin-workbench[data-admin-page=billing] .bp-kpis {grid-template-columns:repeat(2,minmax(0,1fr))}
  body.admin-workbench[data-admin-page=billing] .bp-kpis strong {font-size:clamp(20px,5.6vw,27px);letter-spacing:-.5px}
  body.admin-workbench[data-admin-page=incidents] .ic-kpis strong {font-size:36px}
}
@media(max-width:600px) {
  body.precision.studio[data-page=home]:not(.auth-required) .kpi {padding:14px}
  body.precision.studio[data-page=home]:not(.auth-required) .kpi strong {font-size:38px}
}
