/* One visual language for Operations, nominations, candidates and newsroom tools. */
:root {
    --ec-font:"Segoe UI",Arial,sans-serif;
    --ec-paper:#fff;
    --ec-ink:#203049;
    --ec-heading:#172b46;
    --ec-muted:#53657a;
    --ec-line:#dce4ed;
    --ec-primary:#174676;
    --ec-primary-hover:#10365d;
    --ec-selected:#eaf2fc;
    --ec-hover:#eef4fa;
    --ec-mint:#def5ec;
    --ec-mint-hover:#c9ebda;
    --ec-green:#145c45;
    --ec-radius:10px;
}
body.electora-ui {
    --paper:var(--ec-paper); --bg:var(--ec-paper); --card:var(--ec-paper);
    --panel:var(--ec-paper); --nav:var(--ec-paper); --ink:var(--ec-ink);
    --ink-900:var(--ec-heading); --ink-700:var(--ec-ink);
    --ink-500:var(--ec-muted); --ink-400:#61738a;
    --muted:var(--ec-muted); --line:var(--ec-line);
    --bs-body-bg:var(--ec-paper); --bs-body-color:var(--ec-ink);
    --bs-body-font-family:var(--ec-font); --bs-body-font-size:15px;
    background:var(--ec-paper)!important; color:var(--ec-ink)!important;
    font-family:var(--ec-font)!important; font-size:15px; line-height:1.55;
    color-scheme:light;
}
body.electora-ui :is(.ops-body,.candidate-shell,.cc,.nk-app-root,#social-manager,
    .breadcrumb,.eyebrow,.tag,.refresh-status,.side-note,.nav-group-label,.sl-nav-group,
    .signal-tile strong,.signal-caption,.mission-footnote,.network-platforms,
    .network-legend,.ops-footer,.bar-row strong,.compact-value strong,.list-row time,
    .cc-mono,.sm-state,#mission-clock,.call-control-context,.call-demo-badge,
    button,input,select,textarea,table,.btn) { font-family:var(--ec-font)!important; }
body.electora-ui :is(h1,h2,h3,h4,h5,h6,p,a,small,strong,.nk-menu-link,.nk-menu-text,.nk-menu-heading) { font-family:var(--ec-font)!important; }
body.electora-ui a:where(:not(.btn):not(.cc-btn):not(.button)) { color:var(--ec-primary); }
body.electora-ui :is(.ops-shell,.ops-main,.ops-side,.ops-top,.ops-body,.ops-footer,
    .candidate-side,.candidate-main,.candidate-top,.candidate-body,.cc-side,.cc-main,
    .cc-top,.cc-body,.cc-foot,.nk-sidebar,.nk-sidebar-head,.nk-header,.nk-footer,
    .nk-wrap,.nk-content,.nk-content-inner,.nk-content-body) {
    background:var(--ec-paper)!important; color:var(--ec-ink); border-color:var(--ec-line)!important;
}
body.electora-ui :is(.card,.cc-card,.cc-kpi,.candidate-card,.nom-report-card,.signal-tile,
    .workspace-card,.sm-panel,.sm-kpi,.sm-insight-card,.sm-side-card,.sm-source-card,
    .car-stats>div,.car-filters,.car-table-wrap,.nom-pub-filters,.modal-content,.cc-modal,dialog) {
    background:var(--ec-paper)!important; color:var(--ec-ink)!important;
    border-color:var(--ec-line)!important; border-radius:var(--ec-radius)!important; box-shadow:none!important;
}
body.electora-ui :is(.nom-overview-hero,.nomination-published .nom-pub-hero,
    .candidate-published .published-hero,.cc-hero,.call-banner) {
    background:var(--ec-paper)!important; color:var(--ec-heading)!important;
    border:1px solid var(--ec-line)!important; border-radius:var(--ec-radius)!important;
    box-shadow:none!important;
}
body.electora-ui :is(.nom-overview-hero,.nom-pub-hero,.published-hero,.cc-hero) :is(h1,h2,p,.nom-pub-eyebrow,.published-eyebrow) {
    color:var(--ec-heading)!important; opacity:1;
}
body.electora-ui :is(h1,.page-title,.page-head h1,.candidate-page-head h1,.cc-hero h1,
    .nom-overview-hero h2,.nom-pub-hero h1,.published-hero h1) {
    color:var(--ec-heading)!important; font-size:28px!important; line-height:1.25; font-weight:700; letter-spacing:-.5px;
}
body.electora-ui h2 { color:var(--ec-heading); font-size:20px; line-height:1.35; }
body.electora-ui :is(h3,.cc-card-head h3,.candidate-card h3,.sm-panel h3,.sm-insight-card h3) {
    color:var(--ec-heading)!important; font-size:17px!important; line-height:1.4; font-weight:700;
}
body.electora-ui :is(p,.page-head p,.candidate-page-head p,.section-head p,.card p,
    .cc-hero p,.candidate-published .published-hero p) { font-size:14px; line-height:1.65; }
body.electora-ui :is(.text-muted,.text-soft,.candidate-muted,.cc-muted,.muted,
    .sub-text,.form-note,.form-text,.cc-kpi-label,.cc-kpi-pct,.nom-report-label,
    .candidate-identity small,.cc-user-role,.cc-focus-label,.cc-clock,.cc-empty,
    .cc-pager,.side-footer,.cc-side-foot,.candidate-side p,.cc-brand-tag,.cc-nav-heading,
    .nk-footer-copyright) { color:var(--ec-muted)!important; }
body.electora-ui :is(.cc-empty strong,.cc-card.is-dark .cc-empty strong,
    .cc-card.is-dark .cc-table td strong,.cc-brand-title,.cc-user-name,
    .candidate-side h2,.candidate-identity strong,.cc-foot strong) { color:var(--ec-heading)!important; }
body.electora-ui :is(.eyebrow,.nav-group-label,.sl-nav-group,.sm-state,.cc-nav-heading) { font-size:11px!important; line-height:1.5; }
body.electora-ui :is(.cc-kpi-value,.nom-report-value,.candidate-kpis strong,.sm-kpi strong) {
    color:var(--ec-heading)!important; font-size:28px!important; font-weight:750; font-variant-numeric:tabular-nums;
}
body.electora-ui :is(.cc-kpi-label,.nom-report-label,.sm-kpi-label) { font-size:13px!important; }
body.electora-ui :is(.ops-side nav>a,.results-nav>summary,.candidate-side nav>a,
    .cc-nav a.cc-link,.nk-menu>.nk-menu-item>.nk-menu-link) {
    color:#334961!important; font-size:16px!important; font-weight:600!important; line-height:1.5; min-height:44px;
}
body.electora-ui :is(.ops-side nav .results-navigation a,.cc-sub a,.nk-menu-sub .nk-menu-link) {
    color:#475b73!important; font-size:14px!important; line-height:1.5;
}
body.electora-ui :is(.ops-side nav a,.results-nav>summary,.candidate-side nav>a,
    .cc-nav a,.nk-menu-link):hover { background:var(--ec-hover)!important; color:var(--ec-heading)!important; }
body.electora-ui :is(.ops-side nav a.selected,.results-nav>summary.selected,
    .candidate-side a.active,.cc-nav a.is-active,.cc-sub a.is-active,
    .nk-menu-item.active>.nk-menu-link,.nk-menu-item.current-page>.nk-menu-link) {
    background:var(--ec-selected)!important; color:var(--ec-primary)!important;
    border-color:#b5cce7!important; box-shadow:inset 3px 0 var(--ec-primary)!important;
}
body.electora-ui :is(.candidate-side .side-footer,.cc-brand,.cc-side-foot,.cc-sub) { border-color:var(--ec-line)!important; }
body.electora-ui :is(.nk-menu-icon,.nk-menu-heading,.cc-brand-sub,.cc-brand-tag,
    .cc-side-foot,.cc-foot,.nav-chevron,.nav-step) { color:var(--ec-muted)!important; }
body.electora-ui :is(button,input,select,textarea,.btn,.cc-btn,.button) { font-size:14px; }
body.electora-ui :is(.form-control,.form-select,.cc-input,.cc-selectbox,.cc-textarea,
    .cc-search,.cc-select,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea) {
    background:#fff!important; color:var(--ec-ink)!important; border-color:#bdcbdc!important; border-radius:8px;
}
body.electora-ui :is(input,textarea)::placeholder { color:#61738a!important; opacity:1; }
body.electora-ui :is(.form-label,.cc-field label,label) { color:#334961; font-size:14px; }
body.electora-ui :is(.button,.btn:not(.btn-icon):not(.btn-trigger):not(.btn-link),.cc-btn,.car button) {
    font-size:14px!important; font-weight:700; line-height:1.3; border-radius:8px!important; min-height:44px;
}
body.electora-ui :is(.button:where(:not(.secondary):not(.danger):not(.call-cancel):not(.call-answer)),.btn-primary,.cc-btn-primary,
    .car button[type=submit],.car-heading>button,#social-manager .button:not(.secondary)) {
    background:var(--ec-primary)!important; border-color:var(--ec-primary)!important; color:#fff!important;
}
body.electora-ui :is(.button:where(:not(.secondary):not(.danger):not(.call-cancel):not(.call-answer)),.btn-primary,.cc-btn-primary,
    .car button[type=submit],.car-heading>button,#social-manager .button:not(.secondary)):is(:hover,:focus-visible,:active) {
    background:var(--ec-primary-hover)!important; border-color:var(--ec-primary-hover)!important; color:#fff!important; filter:none;
}
body.electora-ui :is(.button.secondary,.btn-secondary,.btn-light,.btn-outline-primary,
    .btn-outline-secondary,.cc-btn-ghost,#social-manager .button.secondary) {
    background:var(--ec-mint)!important; border-color:#a8dec6!important; color:var(--ec-green)!important;
}
body.electora-ui :is(.button.secondary,.btn-secondary,.btn-light,.btn-outline-primary,
    .btn-outline-secondary,.cc-btn-ghost,#social-manager .button.secondary):is(:hover,:focus-visible,:active) {
    background:var(--ec-mint-hover)!important; border-color:#71c6a1!important; color:#104b38!important; filter:none;
}
body.electora-ui :is(.button.selected,.tool-tabs .button.selected,.cc-tab.is-active,
    .nav-tabs .nav-link.active,.cc-maptab.is-active,.published-mobile-views button[aria-pressed=true]) {
    background:var(--ec-selected)!important; color:var(--ec-primary)!important; border-color:#b5cce7!important;
}
body.electora-ui :is(.button.danger,.button.call-cancel,.btn-danger,.cc-btn-danger,.call-end) {
    background:#b4232f!important; border-color:#b4232f!important; color:#fff!important;
}
body.electora-ui :is(.button.danger,.button.call-cancel,.btn-danger,.cc-btn-danger,.call-end):hover {
    background:#921b27!important; border-color:#921b27!important; color:#fff!important;
}
body.electora-ui .button.call-answer { background:#176b55!important; border-color:#176b55!important; color:#fff!important; }
body.electora-ui .button.call-answer:hover { background:#105342!important; border-color:#105342!important; color:#fff!important; }
body.electora-ui :is(button,a,input,select,textarea):focus-visible { outline:3px solid #3679b6; outline-offset:2px; }
body.electora-ui :is(table,.table,.cc-table,.candidate-table,.sm-table,.car table) { font-size:14px!important; color:var(--ec-ink); }
body.electora-ui :is(th,.table th,.cc-table th,.sm-table th) {
    background:#f7f9fc!important; color:#475b73!important; border-color:var(--ec-line)!important; font-size:12px!important;
}
body.electora-ui :is(td,.table td,.cc-table td,.sm-table td) { color:var(--ec-ink); border-color:var(--ec-line)!important; font-size:14px; }
body.electora-ui :is(.table,.cc-table,.candidate-table,.sm-table) tbody tr:hover>* { background:var(--ec-hover)!important; color:var(--ec-heading); }
body.electora-ui :is(.cc-pager,.candidate-page-head small,.cc-table small) { font-size:13px; }
body.electora-ui :is(.tag,.badge,.cc-pill,.sm-sentiment) { font-family:var(--ec-font); font-size:12px; font-weight:600; }
body.electora-ui :is(.badge.bg-primary,.badge.bg-info,.cc-pill.p-blue) { background:var(--ec-selected)!important; color:var(--ec-primary)!important; }
body.electora-ui :is(.badge.bg-success,.cc-pill.p-green,.tag.connected,.tag.done,.tag.resolved,
    .tag.replied,.tag.reconciled,.sm-sentiment.positive) { background:#def5ec!important; color:#145c45!important; border-color:#a8dec6!important; }
body.electora-ui :is(.badge.bg-warning,.cc-pill.p-amber,.tag.medium,.tag.partial,
    .tag.syncing,.tag.watching) { background:#fff7e5!important; color:#79550c!important; border-color:#e9cf98!important; }
body.electora-ui :is(.badge.bg-danger,.cc-pill.p-red,.tag.high,.tag.critical,.tag.error,
    .tag.unsupported,.sm-sentiment.negative) { background:#fff0f1!important; color:#9d1d29!important; border-color:#edb4ba!important; }
body.electora-ui :is(.badge.bg-secondary,.cc-pill.p-grey,.sm-sentiment.neutral) { background:#eef2f7!important; color:#475b73!important; }
body.electora-ui :is(.avatar,.cc-avatar) { background:var(--ec-selected)!important; color:var(--ec-primary)!important; border-color:#fff!important; }
body.electora-ui :is(.text-primary,.link-primary) { color:var(--ec-primary)!important; }
body.electora-ui .nom-pub-hero .btn { background:var(--ec-mint)!important; color:var(--ec-green)!important; border-color:#a8dec6!important; }
body.electora-ui :is(.breadcrumb,.breadcrumb strong,.cc-top-title small,.cc-user-role) { font-size:12px!important; }
body.electora-ui :is(.ops-footer,.cc-foot,.nk-footer,.candidate-side .side-footer) { font-size:12px!important; }
body.electora-ui :is(.cc-tabs,.cc-maptabs,.cc-maplegend,.cc-modal-foot,.cc-foot,.cc-card.is-dark) {
    background:#fff!important; color:var(--ec-ink)!important; border-color:var(--ec-line)!important;
}
@media(min-width:901px) {
    body.electora-ui .cc-side { width:264px; flex-basis:264px; }
}
@media(max-width:700px) {
    body.electora-ui :is(h1,.page-title,.page-head h1,.candidate-page-head h1,.cc-hero h1,
        .nom-overview-hero h2,.nom-pub-hero h1,.published-hero h1) { font-size:24px!important; }
    body.electora-ui :is(.btn,.cc-btn,.button) { min-height:42px; }
    body.electora-ui :is(.ops-side nav .results-navigation a,.cc-sub a,.nk-menu-sub .nk-menu-link) { font-size:15px!important; }
}
