/* Tokens e superfícies de aparência; não altera imagens, documentos ou cores de dados. */
:root{--bg:#edf3fa;--ink:#102744;--muted:#526784;--border:#d6e2f1;--purple:#105bb8;--light:#e4efff;--crm-surface:#fff;--crm-surface-soft:#eef5fd;--crm-control:#fff;--crm-text:#102744;--crm-subtle:#516681;--crm-line:#d6e2f1;--crm-accent:#1559a9;--crm-focus:#166ce3}
html[data-crm-theme="dark"]{--bg:#101923;--ink:#e7f0ff;--muted:#a8bed9;--border:#334d6a;--purple:#90bdff;--light:#213c5a;--green:#75d2b8;--orange:#f1c48c;--red:#ffb0b9;--crm-surface:#162538;--crm-surface-soft:#1d314a;--crm-control:#1b2c42;--crm-text:#e9f2ff;--crm-subtle:#afc4dc;--crm-line:#3b5574;--crm-accent:#a5cbff;--crm-focus:#a6d4ff}
html[data-crm-theme] body{background:var(--crm-canvas);color:var(--crm-text)}
html[data-crm-theme] .shell{background:var(--crm-canvas)}
html[data-crm-theme] .cp-shell{background:var(--crm-canvas);color:var(--crm-text)}
html[data-crm-theme] .cp-welcome :is(h1,p,span){color:var(--crm-canvas-ink)}
html[data-crm-theme] :is(.shell h1,.shell h2,.shell h3,#modal h2){font-family:Arial,sans-serif}
html[data-crm-theme] .shell main>.page-top,html[data-crm-theme] .shell main>.page-top h1,html[data-crm-theme] .shell main>.page-top p,html[data-crm-theme] .shell main>.control-row>.field-note,html[data-crm-theme] .shell main>footer{color:var(--crm-canvas-ink)}
.crm-pref-trigger{flex-shrink:0;border:1px solid var(--crm-line);border-radius:8px;padding:9px 12px;background:var(--crm-surface);color:var(--crm-text);font:600 12px Arial,sans-serif;cursor:pointer;margin-left:10px;min-height:38px}
.crm-appearance-toolbar{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:10px}.crm-appearance-toolbar .crm-pref-trigger{margin:0}.crm-theme-picker{display:flex;align-items:center;gap:5px;border:1px solid var(--crm-line);border-radius:8px;padding:0 8px;background:var(--crm-surface);color:var(--crm-text);min-height:38px}.crm-theme-picker select{font:600 12px Arial,sans-serif;color:var(--crm-text);background:var(--crm-surface);border:0;min-height:36px;cursor:pointer;width:auto;margin:0;padding:4px}.crm-theme-picker>span{font-size:19px}.auth>.crm-appearance-toolbar{margin:16px 0 0;justify-content:flex-end}.cp-header>.crm-appearance-toolbar{margin-left:auto}
.auth>.crm-pref-trigger{margin:16px 0 0}.cp-header>.crm-pref-trigger{margin-left:auto}.cp-header #cp-logout{order:2}
#crm-preferences{width:560px;max-width:calc(100vw - 24px);max-height:90dvh;padding:25px;color:var(--crm-text);background:var(--crm-surface);border:1px solid var(--crm-line);border-radius:15px;overflow:auto}
#crm-preferences::backdrop{background:#11101e99;backdrop-filter:blur(2px)}
#crm-preferences .crm-pref-heading{display:flex;justify-content:space-between;gap:15px;align-items:start}
#crm-preferences h2{font-size:23px;margin:5px 0 12px;color:var(--crm-text)}
#crm-preferences .crm-pref-eyebrow{margin:0;color:var(--crm-accent);font-size:10px;letter-spacing:1.2px}
#crm-preferences .crm-pref-close{border:1px solid var(--crm-line);background:var(--crm-surface-soft);color:var(--crm-text);border-radius:7px;font-size:23px;padding:3px 10px;cursor:pointer;min-height:38px}
#crm-preferences fieldset{border:1px solid var(--crm-line);padding:12px;margin:20px 0 10px;border-radius:10px}
#crm-preferences legend,#crm-preferences .crm-pref-label{font-size:13px;font-weight:600;color:var(--crm-text)}
#crm-preferences .crm-pref-modes{display:flex;flex-wrap:wrap;gap:10px}
#crm-preferences .crm-pref-modes label{display:flex;align-items:center;gap:7px;padding:10px 8px;background:var(--crm-surface-soft);border-radius:7px;color:var(--crm-text);margin:0;font-size:12px;cursor:pointer}
#crm-preferences input[type="radio"]{width:16px;height:16px;margin:0;accent-color:var(--crm-accent)}
#crm-preferences .crm-pref-modes small{font-size:10px;color:var(--crm-subtle)}
#crm-preferences .crm-pref-label{display:block;margin:20px 0 6px}
#crm-preferences select{display:block;width:100%;min-height:42px;padding:10px;border:1px solid var(--crm-line);background:var(--crm-control);color:var(--crm-text);border-radius:7px;font:13px Arial,sans-serif}
#crm-preferences .crm-pref-note{font:12px/1.65 Arial,sans-serif;color:var(--crm-subtle);margin:10px 0}
#crm-preferences .crm-pref-custom{margin-top:12px;padding:12px;border:1px solid var(--crm-line);border-radius:8px}
#crm-preferences .crm-pref-custom label{display:block;color:var(--crm-text);margin:0 0 8px;font-size:12px}
#crm-preferences input[type="color"]{width:70px;height:42px;padding:3px;display:inline-block;margin:0 12px 0 0;vertical-align:middle;border:1px solid var(--crm-line);background:var(--crm-control)}
#crm-preferences output{font:12px monospace;color:var(--crm-text)}
#crm-preferences .crm-pref-status{min-height:20px;font:12px/1.6 Arial,sans-serif;color:var(--crm-accent)}
#crm-preferences .crm-pref-footer{display:flex;justify-content:space-between;gap:12px;margin-top:18px;flex-wrap:wrap}
html[data-crm-theme] :focus-visible{outline:3px solid var(--crm-focus);outline-offset:3px}
html[data-crm-theme="dark"] :is(.sidebar,.shell>header,.card,.kpi,.auth,dialog,.person-login,.suite-card,.suite-form,.suite-state,.flow-record,.customer-card,.customer-stage,.siav-card,.cp-card,.cp-plan,.cp-request,.cp-empty,.savings-card,.savings-option,.savings-current){background:var(--crm-surface);color:var(--crm-text);border-color:var(--crm-line)}
html[data-crm-theme="dark"] :is(input,select,textarea,.secondary){background:var(--crm-control);color:var(--crm-text);border-color:var(--crm-line)}
html[data-crm-theme="dark"] input::placeholder,html[data-crm-theme="dark"] textarea::placeholder{color:#adbed6;opacity:1}
html[data-crm-theme="dark"] :is(th,.workspace,.tabs .active,.nav-item.active,.demo-banner,.module-notice,.flow-notice,.flow-next,.flow-stage,.flow-toolbar,.customer-notice,.customer-summary,.siav-notice,.suite-notice,.suite-fieldset,.cp-disclaimer,.cp-tabs,.cp-note,.cp-request-note,.savings-notice,.savings-assumptions,.savings-summary){background:var(--crm-surface-soft);color:var(--crm-text);border-color:var(--crm-line)}
html[data-crm-theme="dark"] :is(td,.detail-box,.detail-section,.card-head,.profile,.stat-row,.alert-line,.task-row,.table-foot){border-color:var(--crm-line);color:var(--crm-text)}
html[data-crm-theme="dark"] :is(h1,h2,h3,h4,.brand,.workspace,.event-line strong,.alert-line b,.stat-row strong,.card strong){color:var(--crm-text)}
html[data-crm-theme="dark"] :is(.muted,.field-note,.row-note,.type-tag,.not-available,.auth p,.user-card p,.sidebar-bottom,.breadcrumb,.table-foot,.empty,.small-empty,.detail-box small,.detail-section p,.flow-contact,.flow-record-meta,.flow-related,.customer-help,.siav-help,.cp-footer,.cp-subtitle,.savings-meta,.savings-intro){color:var(--crm-subtle)}
html[data-crm-theme="dark"] :is(.action-link,.file-line a,.clock-time){color:var(--crm-accent)}
html[data-crm-theme="dark"] .primary{background:#1559a9;color:#fff;border-color:#5088cd}
html[data-crm-theme="dark"] .badge-warn{background:#493b27;color:#ffe0aa}
html[data-crm-theme="dark"] .person-login:disabled{background:#182c44;color:var(--crm-subtle)}
html[data-crm-theme="dark"] .person-login.selected{background:#1e426b;border-color:#a5ceff}
html[data-crm-theme="dark"] .cp-shell{background:var(--crm-canvas);color:var(--crm-text)}
html[data-crm-theme="dark"] .cp-header{background:var(--crm-surface);border-color:var(--crm-line)}
html[data-crm-theme="dark"] .cp-welcome{color:var(--crm-canvas-ink)}
html[data-crm-theme="dark"] .cp-welcome :is(h1,p,span){color:inherit}
html[data-crm-theme="dark"] :is(.cp-logo,.cp-logo small,.cp-card h2,.cp-card p,.cp-card label,.cp-plan dd,.cp-plan dt,.cp-request p){color:var(--crm-text)}
html[data-crm-theme="dark"] :is(.flow-filters button:not(.active),.cp-tabs button:not(.active),.siav-tabs button:not(.active),.suite-tabs button:not(.active),.flow-summary span,.siav-values article,.siav-tags span,.customers-checklist,.customers-notice,.customers-tag,.cp-warning,.cp-response,.cp-badge,.savings-intro,.savings-source-note,.savings-warning,.savings-label,.savings-label.study){background:var(--crm-surface-soft);color:var(--crm-text);border-color:var(--crm-line)}
html[data-crm-theme="dark"] :is(.savings-option-form,.savings-result-card){background:var(--crm-surface);color:var(--crm-text);border-color:var(--crm-line)}
html[data-crm-theme="dark"] :is(.flow-stage strong,.flow-next p,.flow-next b,.cp-facts dd,.cp-network-row dd,.cp-network-row h3,.cp-empty h3,.savings-option-price,.savings-workspace,.savings-differences dd){color:var(--crm-text)}
html[data-crm-theme="dark"] :is(.flow-stage .stage-label,.flow-record small,.flow-pages,.cp-facts dt,.cp-network-row dt,.cp-network-row p,.savings-differences dt,.savings-verification,.savings-bar-label,.savings-result-card .operator,.savings-option-price small,.savings-help,.customers-help,.savings-assumptions ul){color:var(--crm-subtle)}
html[data-crm-theme="dark"] :is(.flow-stage.done strong,.customers-checklist .complete){color:#8ed4a7}
html[data-crm-theme="dark"] :is(.flow-stage.pending strong,.flow-next ul,.customers-checklist .pending){color:#f3cd91}
html[data-crm-theme="dark"] :is(form label,.suite-form label,.suite-grid label,.customers-form label,.savings-form label,.siav-form label,.cp-form label){color:var(--crm-text)}
html[data-crm-theme="dark"] :is(form legend,.customers-form legend,.savings-form legend,.savings-option-form summary,#cp-status,.cp-plan-operator){color:var(--crm-accent)}
html[data-crm-theme="dark"] :is(.cp-quiet,.cp-eyebrow){color:var(--crm-accent)}
html[data-crm-theme="dark"] .savings-delta{background:#243a31;color:#a6e2bb}
html[data-crm-theme="dark"] .savings-delta.increase{background:#422e2e;color:#ffc5b8}
html[data-crm-theme="dark"] .savings-delta.equal{background:var(--crm-surface-soft);color:var(--crm-subtle)}
@media(max-width:650px){.crm-pref-trigger{padding:7px 9px;font-size:11px;margin-left:5px}.shell>header{flex-wrap:wrap;height:auto;min-height:62px;padding-block:10px}#crm-preferences{padding:20px}.crm-pref-modes{flex-direction:column}}
@media(prefers-reduced-motion:reduce){#crm-preferences,.crm-pref-trigger{transition:none!important;scroll-behavior:auto}}
/* Shared reading sizes, aligned with the Financeiro. */
#content :is(td strong,td small,.pill,.text-button,.table-foot,.chart-legend,.chart-bottom),
#content :is(.card-head p,.kpi-top,.kpi small,.alert-item strong,.alert-item p,.cash-row,.cash-total),
#content :is(.flow-related,.flow-contact,.flow-record small,.flow-stage small,.flow-board-card small,.flow-board-card p,.flow-board-action span),
#content :is(.customers-help,.customers-notice,.siav-help,.siav-source-warning,.suite-help),
:is(#content,#modal) :is(label,input:not([type=checkbox]):not([type=radio]),select,textarea,.primary,.secondary,.action-link,.field-note),
.page-top p,.breadcrumb,.demo-banner,.profile small,.sidebar-bottom small,.nav-label{font-size:.9rem;line-height:1.45}
#content :is(th,td),:is(#content,#modal) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:.9375rem}
#content :is(td small,.kpi small){overflow-wrap:anywhere}
#ap-ofx-body{font-size:.9375rem}
#ap-ofx-rows select{display:block;width:100%;margin:8px 0}
#ap-ofx-confirm button{margin-top:14px}
.ap-ofx-options{max-height:280px;overflow:auto}
.ap-ofx-option{display:block;padding:10px 0;border-bottom:1px solid var(--crm-line)}
.ap-ofx-option input[type=number]{display:inline-block;width:9rem;margin:.35rem}
.shell main:has(.employee-clock) > .page-top { display: none; }
.employee-clock {
  width: min(100%, 39rem);
  margin: 0 auto 1.5rem;
  display: grid;
  gap: 1rem;
  padding: clamp(1rem, 3vw, 1.75rem);
}
.employee-clock h2 { margin: 0; font-size: 1.5rem; }
.employee-clock p { margin: 0; font-size: 1rem; line-height: 1.45; }
.employee-clock #clock-begin {
  min-height: 8rem;
  width: 100%;
  font-size: 1.25rem;
  font-weight: 700;
}
.employee-clock .clock-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.employee-clock .clock-actions button { min-height: 3.25rem; font-size: 1rem; white-space: normal; }
.employee-clock #face-setup:has(p:empty):has(button[hidden]) { display: none; }
.employee-clock #face-enroll { margin-top: .5rem; }
.employee-clock #clock-back { justify-self: start; }
.employee-clock summary { font-size: .9375rem; cursor: pointer; }
.former-author { color: var(--muted, #64748b); font-weight: 600; }
.pending-lead-alert {
  margin: 0 0 1rem;
  padding: 1rem 1.25rem;
  border: 2px solid #c66d00;
  border-left-width: .45rem;
  border-radius: .75rem;
  background: #fff4dc;
  color: #5f3000;
  animation: pending-lead-pulse 1.5s ease-in-out 3;
}
.pending-lead-alert strong { font-size: 1.1rem; }
.pending-lead-alert p { margin: .4rem 0 .7rem; }
.pending-lead-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
@keyframes pending-lead-pulse { 50% { border-color: #f6c57a; } }
@media (prefers-reduced-motion: reduce) { .pending-lead-alert { animation: none; } }


/* Vellum blue identity and the point management workspace. */
html[data-crm-theme] .sidebar {
    background: linear-gradient(160deg,#071d42 0%,#0b2a59 58%,#123e7c 100%);
    color: #f1f6ff;
    border-color: #214a7c;
}
html[data-crm-theme] .sidebar :is(.brand,.brand-caption,.profile,.profile small,.sidebar-bottom,.nav-label,.logout) {
    color: #e2eeff;
}
html[data-crm-theme] .sidebar .brand.vellum-identity {
    background: #153d73;
    border-color: #3c68a1;
    color: #fff;
}
html[data-crm-theme] .sidebar .vellum-identity .brand-sub { color:#d6e8ff; }
html[data-crm-theme] .sidebar .workspace-icon { background:#e3efff;color:#104781; }
html[data-crm-theme] .sidebar .workspace {
    background: #174780;
    color: #f1f6ff;
    border-color: #3669a6;
}
html[data-crm-theme] .sidebar :is(.workspace small,.module-navigation small) { color: #c5dcfc; }
html[data-crm-theme] .sidebar :is(.nav-item,.module-navigation summary) {
    color: #e6f0ff;
}
html[data-crm-theme] .sidebar :is(.nav-item.active,.nav-item:hover,.module-navigation[open]>summary) {
    color: #fff;
    background: #2360a7;
}
html[data-crm-theme] .sidebar .nav-item:focus-visible { outline-color: #e1edff; }
html[data-crm-theme] :is(.preview-pill,.demo-banner,.module-notice,.flow-notice,.flow-summary span) {
    color: var(--crm-accent);
    background: var(--crm-surface-soft);
    border-color: var(--crm-line);
}
html[data-crm-theme] :is(.shell main,dialog,.auth) .primary {
    background: linear-gradient(145deg,#147ae0,#0b4da8);
    color: #fff;
    border-color: #155bb4;
}
html[data-crm-theme] :is(.shell main,dialog,.auth) .primary:hover { filter: brightness(1.06); }
html[data-crm-theme] :is(.shell main,dialog,.auth) .primary:disabled { filter: none; opacity: .55; }
html[data-crm-theme] :is(.shell main,dialog) .action-link { color: var(--crm-accent); }
html[data-crm-theme] .flow-postits .flow-postit h3 button { color:#322009; }
html[data-crm-theme] .shell main .flow-postits .flow-board-action .primary {
    background:#fff6bd;
    border-color:#9a6d13;
    color:#472d00;
}
html[data-crm-theme="light"] :is(th,.tabs .active,.pill:not(.green):not(.orange)) {
    color: #244972;
    background: #edf4fc;
}
html[data-crm-theme] .flow-view [aria-pressed="true"] { background:#1559a9;color:#fff; }
html[data-crm-theme] .pending-lead-alert { color:#5f3000; }

.shell main:has(.point-workspace)>:is(.page-top,.control-row) { display:none; }
.point-workspace { display:grid;gap:1rem; }
.point-hero {
    height:auto;
    min-height:6.35rem;
    border-radius: 14px;
    background: radial-gradient(ellipse at 95% 115%,#4087d5aa 0%,transparent 54%),
                linear-gradient(112deg,#092551 5%,#0c3b78 56%,#155ba9 100%);
    color: #fff;
    padding: clamp(1.15rem,3.8vw,2rem);
    box-shadow: 0 5px 18px #08265028;
}
.point-hero>div { display:flex;align-items:center;gap:1rem; }
.point-hero .point-icon {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 12px;
    background: #ffffff26;
    font-size: 1.7rem;
}
.point-hero h1 { margin:0;font-size:clamp(1.45rem,4vw,2.2rem);line-height:1.12;color:white; }
.point-hero p { margin:.35rem 0 0;color:#d7e9ff; }
.point-icon { display:inline-grid;place-items:center;min-width:1.25em;flex:none;font-weight:700; }
.point-tabs,.point-actions { display:flex;flex-wrap:wrap;gap:.65rem; }
.point-tabs { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));padding:.55rem;background:var(--crm-surface);border:1px solid var(--crm-line);border-radius:12px; }
.point-tabs button { min-width:0;font-size:.95rem;white-space:nowrap; }
.point-tabs [aria-pressed=true] { background:#1559a9;border-color:#1559a9;color:#fff; }
.point-filter { display:flex;flex-wrap:wrap;align-items:flex-end;gap:.7rem 1rem;padding:.9rem 1rem; }
.point-filter label { margin:0; }
.point-filter-check { display:flex;align-items:center;align-self:center;gap:.45rem;min-height:2.25rem; }
.point-filter-check input { accent-color:#1559a9;width:1.05rem;min-width:1.05rem;height:1.05rem;margin:0; }
#point-admin-error:empty,#point-config:empty,#point-team:empty { display:none; }
.point-metrics {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,10.8rem),1fr));
    gap:.75rem;
    margin:0 0 1rem;
}
.point-metric {
    min-height:5rem;
    display:flex;
    align-items:center;
    gap:.6rem;
    border:1px solid #cadaed;
    border-radius:12px;
    padding:.75rem .85rem;
    box-shadow:0 3px 12px #203a6512;
    background:var(--point-tint);
    color:var(--point-ink);
}
.point-metric .point-icon { font-size:1.5rem; }
.point-metric[data-point-metric] { text-align:left; cursor:pointer; }
.point-metric[data-point-metric]:hover { border-color:var(--crm-focus); }
.point-metric strong { display:block;font-size:1.45rem;line-height:1.2;font-variant-numeric:tabular-nums; }
.point-metric span:not(.point-icon) { display:block;font-size:.82rem;line-height:1.3; }
.point-blue,.point-action-blue { --point-tint:#e4f1ff;--point-ink:#113c78; }
.point-green,.point-action-green { --point-tint:#e4f5ee;--point-ink:#14563b; }
.point-gold,.point-action-gold { --point-tint:#fff3d8;--point-ink:#674604; }
.point-red { --point-tint:#ffe8e8;--point-ink:#8a2534; }
.point-violet,.point-action-violet { --point-tint:#eeeaff;--point-ink:#4e348a; }
.point-columns { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1rem;align-items:start; }
.point-side { display:grid;gap:1rem;min-width:0; }
.point-panel { min-width:0;margin:0;padding:1rem; }
.point-panel h2 { margin:0 0 .8rem;font-size:1.08rem;color:var(--crm-text); }
#content .point-panel th { background:#174b88;color:#fff;font-weight:650; }
#content .point-panel :is(th,td) { padding:.58rem .55rem;white-space:normal; }
.point-panel .table-wrap table { min-width:0; }
.point-panel :is(th,td):not(:first-child) { text-align:center;font-variant-numeric:tabular-nums; }
.point-panel tr:hover td { background:var(--crm-surface-soft); }
.point-panel td { vertical-align:middle; }
.point-actions { margin:.5rem 0 .85rem; }
.point-action {
    padding:.58rem .72rem;
    border:1px solid var(--crm-line);
    border-radius:9px;
    background:var(--point-tint,var(--crm-surface-soft));
    color:var(--point-ink,var(--crm-accent));
    display:inline-flex;
    gap:.45rem;
    align-items:center;
    text-align:left;
    cursor:pointer;
    font-weight:650;
}
.point-action:hover { box-shadow:0 0 0 2px var(--crm-focus); }
.point-person { display:inline-flex;gap:.5rem;align-items:center;line-height:1.3; }
.point-initials { display:inline-grid;place-items:center;min-width:1.75rem;min-height:1.75rem;border-radius:99px;background:#deebff;color:#153d7c;font-size:.73rem;font-weight:750; }
.point-workspace [hidden] { display:none; }
#point-reminder-settings { padding:1rem;border:1px solid var(--crm-line);border-radius:12px;background:var(--crm-surface); }
#point-reminder-settings summary { cursor:pointer;font-weight:700; }
.benefit-existing { margin:1rem 0; }
.benefit-existing>summary,.benefit-person>summary { cursor:pointer;font-weight:700; }
.benefit-existing>section { margin:.7rem 0 0;padding:0;border:0; }
.benefit-person { margin:.6rem 0;padding:.75rem 1rem; }
.benefit-person>.form-grid { margin:.75rem 0; }
.benefit-item { padding:.65rem 1rem;border:1px solid var(--crm-line);border-radius:9px; }
.benefit-totals { display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;margin:.9rem 0; }
.benefit-total { display:grid;gap:.35rem;padding:.85rem;border:1px solid var(--crm-line);border-radius:10px;background:var(--crm-surface-soft); }
.benefit-total b { font-size:1.2rem; }
.benefit-close-summary { margin:1rem 0; }
@media (max-width:1060px) { .point-columns { grid-template-columns:1fr; } }
@media (max-width:580px) { .point-hero { padding:1rem; } .point-tabs button { min-width:6rem; } .point-filter label { min-width:0; } }

