:root {
    --ocrlead-primary: #5b2ed1;
    --ocrlead-primary-dark: #4720ae;
    --ocrlead-primary-soft: #f3efff;
    --ocrlead-ink: #182033;
    --ocrlead-muted: #687086;
    --ocrlead-border: #e2e6ef;
    --ocrlead-surface: #ffffff;
    --ocrlead-surface-soft: #f7f8fc;
    --ocrlead-success: #16834b;
    --ocrlead-success-soft: #eaf8f0;
    --ocrlead-info: #2463c7;
    --ocrlead-shadow: 0 14px 38px rgba(25, 31, 48, .07);
}
.ocrlead-page,
.ocrlead-page * {
    box-sizing: border-box;
}
.ocrlead-page {
    width: min(1500px, calc(100% - 24px));
    margin: 4px auto 42px auto;
    color: var(--ocrlead-ink);
}
.ocrlead-titlebar {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 112px;
    padding: 24px 28px;
    margin: 4px 0 18px 0;
    border: 1px solid #e6e2f5;
    border-radius: 16px;
    background:
        radial-gradient(circle at 93% 12%, rgba(124, 83, 222, .17), transparent 28%),
        linear-gradient(135deg, #fff 0%, #fbf9ff 62%, #f3efff 100%);
    box-shadow: var(--ocrlead-shadow);
}
.ocrlead-titlebar::after {
    content: "";
    position: absolute;
    right: -62px;
    bottom: -84px;
    width: 230px;
    height: 230px;
    border-radius: 50%;
    border: 34px solid rgba(91, 46, 209, .055);
    pointer-events: none;
}
.ocrlead-titlebar-main {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}
.ocrlead-logo {
    width: 60px;
    height: 60px;
    flex: 0 0 60px;
    border-radius: 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #7549e4 0%, #4b23bd 100%);
    color: #fff;
    font-weight: 850;
    font-size: 15px;
    letter-spacing: .04em;
    box-shadow: 0 12px 26px rgba(79, 34, 184, .28);
}
.ocrlead-eyebrow,
.ocrlead-section-kicker,
.ocrlead-panel-kicker,
.ocrlead-card-step {
    display: block;
    color: var(--ocrlead-primary);
    font-size: 11px;
    line-height: 1.2;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .09em;
}
.ocrlead-titlebar h1 {
    margin: 3px 0 4px 0;
    color: #11182a;
    font-size: clamp(25px, 2.1vw, 34px);
    line-height: 1.08;
    font-weight: 830;
    letter-spacing: -.035em;
}
.ocrlead-subtitle {
    max-width: 760px;
    color: var(--ocrlead-muted);
    font-size: 14px;
    line-height: 1.45;
}
.ocrlead-titlebar-actions {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
}
.ocrlead-titlebar-actions .button {
    white-space: nowrap;
}
.ocrlead-primary-button,
.button.ocrlead-primary-button,
.ocrlead-page .button-save,
.ocrlead-secondary-button,
.button.ocrlead-secondary-button {
    min-height: 44px;
    padding: 0 20px !important;
    border-radius: 9px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-weight: 750 !important;
    text-decoration: none !important;
    line-height: 1 !important;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}
.ocrlead-primary-button svg,
.ocrlead-secondary-button svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}
.ocrlead-primary-button,
.button.ocrlead-primary-button,
.ocrlead-page .button-save {
    border: 1px solid var(--ocrlead-primary) !important;
    background: linear-gradient(135deg, #6b3ddd, var(--ocrlead-primary)) !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(91, 46, 209, .23);
}
.ocrlead-primary-button:hover,
.button.ocrlead-primary-button:hover,
.ocrlead-page .button-save:hover {
    background: linear-gradient(135deg, #5c32ca, var(--ocrlead-primary-dark)) !important;
    border-color: var(--ocrlead-primary-dark) !important;
    transform: translateY(-1px);
    box-shadow: 0 13px 26px rgba(91, 46, 209, .29);
}

/* Contraste obrigatório para ações com fundo azul, roxo ou escuro.
 * Alguns temas do Dolibarr aplicam cor própria em spans, ícones e links visitados;
 * por isso o contraste é reforçado também nos elementos internos e estados. */
.ocrlead-primary-button,
.button.ocrlead-primary-button,
.ocrlead-page .button-save,
.ocrlead-actions .button-save,
.ocrlead-filter-btn,
.ocrlead-primary-button:visited,
.button.ocrlead-primary-button:visited,
.ocrlead-filter-btn:visited,
.ocrlead-primary-button:hover,
.button.ocrlead-primary-button:hover,
.ocrlead-page .button-save:hover,
.ocrlead-actions .button-save:hover,
.ocrlead-filter-btn:hover,
.ocrlead-primary-button:focus,
.button.ocrlead-primary-button:focus,
.ocrlead-page .button-save:focus,
.ocrlead-actions .button-save:focus,
.ocrlead-filter-btn:focus,
.ocrlead-primary-button:active,
.button.ocrlead-primary-button:active,
.ocrlead-page .button-save:active,
.ocrlead-actions .button-save:active,
.ocrlead-filter-btn:active {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: none !important;
}
.ocrlead-primary-button *,
.button.ocrlead-primary-button *,
.ocrlead-page .button-save *,
.ocrlead-actions .button-save *,
.ocrlead-filter-btn * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
.ocrlead-primary-button svg,
.button.ocrlead-primary-button svg,
.ocrlead-page .button-save svg,
.ocrlead-actions .button-save svg,
.ocrlead-filter-btn svg {
    color: #ffffff !important;
    stroke: currentColor !important;
}
.ocrlead-primary-button:disabled,
.button.ocrlead-primary-button:disabled,
.ocrlead-page .button-save:disabled,
.ocrlead-actions .button-save:disabled,
.ocrlead-filter-btn:disabled,
.ocrlead-primary-button.disabled,
.button.ocrlead-primary-button.disabled,
.ocrlead-page .button-save.disabled,
.ocrlead-actions .button-save.disabled,
.ocrlead-filter-btn.disabled {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: .62;
}
.ocrlead-secondary-button,
.button.ocrlead-secondary-button {
    border: 1px solid #d9dcea !important;
    background: rgba(255, 255, 255, .92) !important;
    color: #30364a !important;
    box-shadow: 0 5px 16px rgba(30, 36, 53, .05);
}
.ocrlead-secondary-button:hover,
.button.ocrlead-secondary-button:hover {
    border-color: #c8bddf !important;
    background: #fff !important;
    color: var(--ocrlead-primary) !important;
    transform: translateY(-1px);
}

/* Fluxo por etapas */
.ocrlead-steps {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 14px 18px;
    margin: 0 0 14px 0;
    border: 1px solid var(--ocrlead-border);
    border-radius: 13px;
    background: var(--ocrlead-surface);
    box-shadow: 0 8px 24px rgba(25, 31, 48, .045);
}
.ocrlead-step {
    min-width: 112px;
    flex: 0 1 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #8a91a3;
}
.ocrlead-step-number {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dfe3ec;
    border-radius: 50%;
    background: #f7f8fb;
    color: #858c9e;
    font-size: 12px;
    font-weight: 800;
}
.ocrlead-step strong,
.ocrlead-step small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ocrlead-step strong {
    color: #555d70;
    font-size: 12px;
    font-weight: 800;
}
.ocrlead-step small {
    margin-top: 2px;
    color: #969cad;
    font-size: 10px;
}
.ocrlead-step-line {
    height: 1px;
    min-width: 20px;
    max-width: 76px;
    flex: 1 1 44px;
    margin: 0 12px;
    background: #e1e5ed;
}
.ocrlead-step-active .ocrlead-step-number {
    border-color: var(--ocrlead-primary);
    background: var(--ocrlead-primary);
    color: #fff;
    box-shadow: 0 5px 13px rgba(91, 46, 209, .24);
}
.ocrlead-step-active strong {
    color: var(--ocrlead-primary);
}
.ocrlead-step-done .ocrlead-step-number {
    border-color: #a9dfbf;
    background: var(--ocrlead-success-soft);
    color: var(--ocrlead-success);
}
.ocrlead-step-done strong {
    color: #347050;
}
.ocrlead-info {
    display: flex;
    gap: 13px;
    align-items: flex-start;
    padding: 14px 17px;
    margin: 0 0 18px 0;
    border: 1px solid #cfe0fb;
    border-radius: 11px;
    background: linear-gradient(90deg, #f0f6ff, #f8fbff);
    color: #214e91;
}
.ocrlead-info-icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #8eb5ef;
    border-radius: 50%;
    color: #2263be;
    font-size: 13px;
    font-weight: 850;
}
.ocrlead-info strong,
.ocrlead-info span {
    display: block;
}
.ocrlead-info strong {
    margin-bottom: 3px;
    font-size: 14px;
}
.ocrlead-info span {
    font-size: 12.5px;
    line-height: 1.5;
    color: #476c9f;
}

/* Configuração */
.ocrlead-config-grid {
    display: grid;
    grid-template-columns: minmax(290px, .82fr) minmax(460px, 1.4fr);
    gap: 18px;
    margin-bottom: 18px;
    align-items: stretch;
}
.ocrlead-platform-box,
.ocrlead-responsible-box,
.ocrlead-section,
.ocrlead-upload-section {
    border: 1px solid var(--ocrlead-border);
    border-radius: 14px;
    background: var(--ocrlead-surface);
    box-shadow: 0 10px 30px rgba(25, 31, 48, .05);
}
.ocrlead-platform-box,
.ocrlead-responsible-box {
    min-width: 0;
    padding: 18px;
}
.ocrlead-panel-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}
.ocrlead-panel-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--ocrlead-primary-soft);
    color: var(--ocrlead-primary);
}
.ocrlead-panel-icon-green {
    background: var(--ocrlead-success-soft);
    color: var(--ocrlead-success);
}
.ocrlead-panel-icon svg {
    width: 20px;
    height: 20px;
}
.ocrlead-panel-copy {
    min-width: 0;
    flex: 1 1 auto;
}
.ocrlead-panel-copy > strong {
    display: block;
    margin-top: 3px;
    color: #20273a;
    font-size: 16px;
    line-height: 1.2;
}
.ocrlead-platform-help {
    margin-top: 4px;
    color: var(--ocrlead-muted);
    font-size: 12px;
    line-height: 1.42;
}
.ocrlead-select-wrap {
    position: relative;
    margin-top: 18px;
}
.ocrlead-select-wrap label {
    display: block;
    margin-bottom: 7px;
    color: #4f566a;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .055em;
}
.ocrlead-platform-select {
    width: 100%;
    height: 46px;
    min-height: 46px;
    appearance: none;
    border: 1px solid #d8dce7 !important;
    border-radius: 9px !important;
    padding: 0 42px 0 13px !important;
    background: #fff !important;
    color: #22293b !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 12px rgba(24, 32, 51, .035);
}
.ocrlead-platform-select:focus {
    border-color: var(--ocrlead-primary) !important;
    box-shadow: 0 0 0 3px rgba(91, 46, 209, .10) !important;
    outline: none;
}
.ocrlead-select-arrow {
    position: absolute;
    right: 15px;
    bottom: 13px;
    color: #73798a;
    font-size: 18px;
    pointer-events: none;
}
.ocrlead-online-badge,
.ocrlead-review-status,
.ocrlead-platform-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}
.ocrlead-online-badge {
    padding: 7px 10px;
    border: 1px solid #bfe6cf;
    background: #f2fbf6;
    color: #227447;
}
.ocrlead-online-badge-error {
    border-color: #f0cf8a;
    background: #fff8e8;
    color: #805a08;
}
.ocrlead-online-badge-error i {
    background: #d89614;
    box-shadow: 0 0 0 3px rgba(216, 150, 20, .14);
}
.ocrlead-online-badge i,
.ocrlead-review-status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #22a75f;
    box-shadow: 0 0 0 3px rgba(34, 167, 95, .12);
}
.ocrlead-day-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
}
.ocrlead-day-metric {
    min-width: 0;
    padding: 10px 11px;
    border: 1px solid #e5e8f0;
    border-radius: 10px;
    background: linear-gradient(180deg, #ffffff, #fafbfe);
}
.ocrlead-day-metric small,
.ocrlead-day-metric strong,
.ocrlead-day-metric span {
    display: block;
}
.ocrlead-day-metric small {
    color: #737a8c;
    font-size: 9.5px;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.ocrlead-day-metric strong {
    margin-top: 4px;
    color: #262d40;
    font-size: 17px;
    line-height: 1.15;
}
.ocrlead-day-metric span {
    margin-top: 3px;
    overflow: hidden;
    color: #8a91a1;
    font-size: 9.5px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ocrlead-day-source {
    margin-top: 7px;
    color: #7d8495;
    font-size: 10px;
    line-height: 1.35;
}
.ocrlead-day-source strong {
    color: #5d43b8;
}
.ocrlead-roulette-list {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid #e7e9f0;
    border-radius: 10px;
}
.ocrlead-roulette-head,
.ocrlead-roulette-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
}
.ocrlead-roulette-head {
    padding: 8px 12px;
    background: #f7f8fb;
    color: #737a8c;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .055em;
}
.ocrlead-roulette-row {
    min-height: 52px;
    padding: 8px 12px;
    border-top: 1px solid #eceef3;
    background: #fff;
}
.ocrlead-seller {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.ocrlead-seller-avatar {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #efeaff, #ddd2ff);
    color: #5930ba;
    font-size: 11px;
    font-weight: 850;
}
.ocrlead-seller strong,
.ocrlead-seller small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ocrlead-seller strong {
    color: #252b3b;
    font-size: 12.5px;
}
.ocrlead-seller small {
    margin-top: 2px;
    color: #868c9c;
    font-size: 10px;
}
.ocrlead-load-metrics {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    white-space: nowrap;
}
.ocrlead-count-pill,
.ocrlead-value-pill {
    min-width: 34px;
    padding: 5px 9px;
    border-radius: 999px;
    text-align: center;
    font-size: 12px;
    font-weight: 850;
}
.ocrlead-count-pill {
    background: #f1edfc;
    color: var(--ocrlead-primary);
}
.ocrlead-value-pill {
    min-width: 76px;
    border: 1px solid #cfe9d9;
    background: #f1faf5;
    color: #1f7547;
}
.ocrlead-roulette-row-offline {
    background: #fafbfc;
}
.ocrlead-roulette-row-offline .ocrlead-seller-avatar,
.ocrlead-roulette-row-offline .ocrlead-load-metrics {
    opacity: .72;
}
.ocrlead-roulette-warning {
    margin-top: 14px;
    padding: 10px 12px;
    border: 1px solid #f1d795;
    border-radius: 9px;
    background: #fff9e9;
    color: #76520b;
    font-size: 12px;
    line-height: 1.45;
}

/* Upload */
.ocrlead-upload-section {
    padding: 22px;
    margin: 0 0 20px 0;
}
.ocrlead-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}
.ocrlead-section-heading h2,
.ocrlead-action-summary h2 {
    margin: 4px 0 3px 0;
    color: #171e31;
    font-size: 20px;
    line-height: 1.18;
    font-weight: 820;
    letter-spacing: -.015em;
}
.ocrlead-section-heading p,
.ocrlead-action-summary p {
    margin: 0;
    color: var(--ocrlead-muted);
    font-size: 12.5px;
    line-height: 1.45;
}
.ocrlead-platform-chip {
    padding: 8px 12px;
    border: 1px solid #d9cff7;
    background: var(--ocrlead-primary-soft);
    color: var(--ocrlead-primary);
}
.ocrlead-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
}
.ocrlead-grid-one {
    grid-template-columns: minmax(0, 1fr);
}
.ocrlead-grid-one .ocrlead-card {
    max-width: none;
}
.ocrlead-card {
    min-width: 0;
    padding: 18px;
    border: 1px solid #e3e6ee;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(24, 32, 51, .045);
}
.ocrlead-upload-card {
    display: flex;
    flex-direction: column;
    min-height: 342px;
}
.ocrlead-upload-card-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-height: 75px;
    margin-bottom: 13px;
}
.ocrlead-upload-card-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--ocrlead-primary-soft);
    color: var(--ocrlead-primary);
}
.ocrlead-upload-card-icon svg {
    width: 19px;
    height: 19px;
}
.ocrlead-upload-card-copy {
    min-width: 0;
}
.ocrlead-card h2,
.ocrlead-card h3 {
    margin: 3px 0 4px 0;
    color: #20273a;
    font-size: 17px;
    line-height: 1.22;
    font-weight: 800;
}
.ocrlead-card p {
    margin: 0;
    color: var(--ocrlead-muted);
    font-size: 12px;
    line-height: 1.43;
}
.ocrlead-drop {
    position: relative;
    flex: 1 1 auto;
    min-height: 190px;
    border: 1.5px dashed #cfd4e2;
    border-radius: 11px;
    background: linear-gradient(180deg, #fcfcfe, #f8f8fc);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    text-align: center;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease;
}
.ocrlead-drop:hover,
.ocrlead-drop.ocrlead-dragover {
    border-color: var(--ocrlead-primary);
    background: #fbf9ff;
    box-shadow: inset 0 0 0 2px rgba(91, 46, 209, .05), 0 8px 22px rgba(91, 46, 209, .08);
    transform: translateY(-1px);
}
.ocrlead-drop-icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    border-radius: 15px;
    background: #eee8ff;
    color: var(--ocrlead-primary);
}
.ocrlead-drop-icon svg {
    width: 23px;
    height: 23px;
}
.ocrlead-drop-main {
    color: #252b3c;
    font-size: 14px;
    font-weight: 780;
}
.ocrlead-drop-link {
    margin-top: 3px;
    color: var(--ocrlead-primary);
    font-size: 12px;
    font-weight: 750;
}
.ocrlead-drop-muted {
    margin-top: 10px;
    color: #8a90a0;
    font-size: 10.5px;
}
.ocrlead-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
}
.ocrlead-file-row {
    min-height: 54px;
    margin-top: 12px;
    padding: 8px 11px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #cfe8da;
    border-radius: 9px;
    background: #f5fcf8;
}
.ocrlead-file-row.is-empty {
    display: none;
}
.ocrlead-file-icon {
    width: 29px;
    height: 29px;
    flex: 0 0 29px;
    color: #288156;
}
.ocrlead-file-icon svg {
    width: 20px;
    height: 20px;
}
.ocrlead-file-data {
    min-width: 0;
    flex: 1 1 auto;
}
.ocrlead-file-name,
.ocrlead-file-size {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ocrlead-file-name {
    color: #27533c;
    font-size: 12px;
    font-weight: 750;
}
.ocrlead-file-size {
    margin-top: 2px;
    color: #658472;
    font-size: 10px;
}
.ocrlead-file-ok {
    color: #169252;
    font-size: 17px;
    font-weight: 850;
}
.ocrlead-file-remove {
    border: 0;
    background: transparent;
    color: #698075;
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
}
.ocrlead-extract-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
    padding: 15px 17px;
    border: 1px solid #ddd4f5;
    border-radius: 11px;
    background: linear-gradient(90deg, #faf8ff, #f4f0ff);
}
.ocrlead-extract-copy strong,
.ocrlead-extract-copy span {
    display: block;
}
.ocrlead-extract-copy strong {
    color: #30244f;
    font-size: 13px;
}
.ocrlead-extract-copy span {
    margin-top: 3px;
    color: #746b88;
    font-size: 11px;
}

/* Revisão */
.ocrlead-section {
    padding: 22px;
    margin: 18px 0;
}
.ocrlead-section-title {
    margin: 0 0 14px 0;
    color: #171e31;
    font-size: 19px;
    font-weight: 820;
}
.ocrlead-section-heading-compact {
    margin-bottom: 13px;
}
.ocrlead-review-status {
    padding: 7px 10px;
    border: 1px solid #d9ddea;
    background: #f8f9fc;
    color: #5b6274;
}
.ocrlead-review-status i {
    background: #7d8494;
    box-shadow: 0 0 0 3px rgba(125, 132, 148, .11);
}
.ocrlead-review-toggle {
    margin: 0 0 18px 0;
    padding: 12px 14px;
    border: 1px solid #ded8f1;
    border-radius: 10px;
    background: #fbfaff;
}
.ocrlead-review-toggle label {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 0;
    cursor: pointer;
}
.ocrlead-review-toggle label > span:last-child {
    min-width: 0;
}
.ocrlead-review-toggle strong,
.ocrlead-review-toggle small {
    display: block;
}
.ocrlead-review-toggle strong {
    color: #362b52;
    font-size: 12.5px;
}
.ocrlead-review-toggle small {
    margin-top: 2px;
    color: #746c86;
    font-size: 10.5px;
}
.ocrlead-switch {
    position: relative;
    width: 38px;
    height: 22px;
    flex: 0 0 38px;
}
.ocrlead-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.ocrlead-switch > span {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: #cfd3dd;
    transition: background .18s ease;
}
.ocrlead-switch > span::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .18);
    transition: transform .18s ease;
}
.ocrlead-switch input:checked + span {
    background: var(--ocrlead-success);
}
.ocrlead-switch input:checked + span::after {
    transform: translateX(16px);
}
.ocrlead-review-edit-enabled .ocrlead-review-toggle {
    border-color: #b9e4ca;
    background: #f2fbf6;
}
.ocrlead-review-edit-enabled .ocrlead-review-status {
    border-color: #b9e4ca;
    background: #f2fbf6;
    color: #227447;
}
.ocrlead-preview-card-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px 0;
    color: var(--ocrlead-primary);
    font-size: 13px;
    font-weight: 820;
}
.ocrlead-preview-card-title svg {
    width: 19px;
    height: 19px;
}
.ocrlead-fields label,
.ocrlead-getninjas-label {
    display: block;
    margin: 12px 0 6px 0;
    color: #3b4254;
    font-size: 11px;
    font-weight: 780;
}
.ocrlead-required {
    color: #d33b4d;
}
.ocrlead-fields input[type="text"],
.ocrlead-fields input[type="email"],
.ocrlead-fields input[type="tel"],
.ocrlead-fields textarea,
.ocrlead-review-field,
.ocrlead-readonly-value {
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #d9dce5;
    border-radius: 8px;
    background: #f7f8fa;
    color: #252b3a;
    font-size: 13px;
    line-height: 1.4;
    box-shadow: none;
}
.ocrlead-fields textarea,
textarea.ocrlead-review-field,
.ocrlead-readonly-block {
    min-height: 118px;
    resize: vertical;
}
.ocrlead-review-field,
.ocrlead-readonly-value {
    cursor: not-allowed;
}
.ocrlead-review-field::placeholder {
    color: #9499a8;
    font-style: italic;
}
.ocrlead-review-field.is-editable {
    border-color: #b7a9df;
    background: #fff;
    cursor: text;
    box-shadow: 0 0 0 3px rgba(91, 46, 209, .055);
}
.ocrlead-review-field.is-editable:focus,
.ocrlead-fields input:focus,
.ocrlead-fields textarea:focus {
    border-color: var(--ocrlead-primary);
    box-shadow: 0 0 0 3px rgba(91, 46, 209, .10);
    outline: none;
}
.ocrlead-readonly-value.ocrlead-empty {
    color: #9499a8;
    font-style: italic;
}
.ocrlead-help-box {
    margin-top: 11px;
    padding: 10px 11px;
    border: 1px solid #f0daa1;
    border-radius: 8px;
    background: #fff9e9;
    color: #76581a;
    font-size: 10.5px;
    line-height: 1.45;
}
.ocrlead-image-preview-box {
    margin-top: 16px;
    padding: 12px;
    border: 1px solid #e3e6ed;
    border-radius: 9px;
    background: #fff;
}
.ocrlead-image-preview-title {
    margin-bottom: 9px;
    color: #656c7d;
    font-size: 11px;
    font-weight: 780;
}
.ocrlead-image-preview-inner {
    min-height: 115px;
    padding: 7px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #e8eaf0;
    border-radius: 7px;
    background: #fafbfc;
}
.ocrlead-image-preview-inner img {
    display: block;
    max-width: 100%;
    max-height: 310px;
    object-fit: contain;
}
.ocrlead-preview-fallback {
    padding: 30px 10px;
    color: #818797;
    font-size: 11px;
    text-align: center;
}
.ocrlead-preview-text {
    width: 100%;
    max-height: 220px;
    overflow: auto;
    padding: 9px;
    border: 1px solid #e8eaf0;
    border-radius: 6px;
    background: #fff;
    color: #363c4d;
    white-space: pre-wrap;
    font-size: 11px;
}
.ocrlead-getninjas-preview {
    margin-top: 4px;
}
.ocrlead-getninjas-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.ocrlead-getninjas-card {
    padding: 17px;
}
.ocrlead-getninjas-field {
    margin-bottom: 11px;
}
.ocrlead-getninjas-field:last-child {
    margin-bottom: 0;
}
.ocrlead-getninjas-case,
.ocrlead-getninjas-image {
    grid-column: 1 / -1;
}
.ocrlead-getninjas-image .ocrlead-image-preview-box {
    margin-top: 0;
}
.ocrlead-getninjas-image .ocrlead-image-preview-title {
    display: none;
}
.ocrlead-getninjas-image .ocrlead-image-preview-inner img {
    max-height: 430px;
}
.ocrlead-compact-table {
    width: 100%;
    margin-top: 10px;
}

/* Salvamento */
.ocrlead-action-section {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 20px;
    border-color: #cde7d8;
    background: linear-gradient(100deg, #fbfffc, #f0faf4);
}
.ocrlead-action-summary {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}
.ocrlead-action-summary h2 {
    font-size: 17px;
}
.ocrlead-action-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--ocrlead-success-soft);
    color: var(--ocrlead-success);
}
.ocrlead-action-icon svg {
    width: 22px;
    height: 22px;
}
.ocrlead-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex: 0 0 auto;
}
.ocrlead-howto {
    margin-top: 16px;
    border: 1px solid var(--ocrlead-border);
    border-radius: 11px;
    background: #fff;
    color: #3d4456;
    box-shadow: 0 7px 20px rgba(24, 32, 51, .035);
}
.ocrlead-howto summary {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 56px;
    padding: 11px 15px;
    cursor: pointer;
    list-style: none;
}
.ocrlead-howto summary::-webkit-details-marker {
    display: none;
}
.ocrlead-howto summary > span:nth-child(2) {
    min-width: 0;
    flex: 1 1 auto;
}
.ocrlead-howto strong,
.ocrlead-howto small {
    display: block;
}
.ocrlead-howto strong {
    font-size: 12.5px;
}
.ocrlead-howto small {
    margin-top: 2px;
    color: #818797;
    font-size: 10.5px;
}
.ocrlead-howto-arrow {
    color: #7e8493;
    font-size: 18px;
    transition: transform .16s ease;
}
.ocrlead-howto[open] .ocrlead-howto-arrow {
    transform: rotate(180deg);
}
.ocrlead-howto ol {
    margin: 0;
    padding: 0 18px 15px 54px;
    color: #62697a;
    font-size: 11.5px;
    line-height: 1.7;
}
.ocrlead-success-box {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 8px 0 18px 0;
    padding: 12px 14px;
    border: 1px solid #bfe3cd;
    border-radius: 9px;
    background: #effaf3;
    color: #286c45;
    font-size: 12px;
}

@media (max-width: 1100px) {
    .ocrlead-config-grid {
        grid-template-columns: 1fr;
    }
    .ocrlead-steps {
        overflow-x: auto;
    }
    .ocrlead-step {
        min-width: 145px;
        flex: 0 0 145px;
    }
    .ocrlead-step-line {
        min-width: 30px;
        flex: 0 0 30px;
        margin: 0 8px;
    }
    .ocrlead-action-section {
        align-items: flex-start;
        flex-direction: column;
    }
    .ocrlead-actions {
        width: 100%;
    }
}
@media (max-width: 820px) {
    .ocrlead-page {
        width: calc(100% - 12px);
    }
    .ocrlead-titlebar {
        align-items: flex-start;
        flex-direction: column;
        padding: 20px;
    }
    .ocrlead-titlebar-actions,
    .ocrlead-titlebar-actions .button {
        width: 100%;
    }
    .ocrlead-grid,
    .ocrlead-getninjas-layout {
        grid-template-columns: 1fr;
    }
    .ocrlead-getninjas-case,
    .ocrlead-getninjas-image {
        grid-column: auto;
    }
    .ocrlead-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }
    .ocrlead-platform-chip {
        align-self: flex-start;
    }
    .ocrlead-extract-line {
        align-items: stretch;
        flex-direction: column;
    }
    .ocrlead-extract-line .button {
        width: 100%;
    }
}
@media (max-width: 560px) {
    .ocrlead-titlebar-main {
        align-items: flex-start;
    }
    .ocrlead-logo {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
        border-radius: 13px;
    }
    .ocrlead-titlebar h1 {
        font-size: 24px;
    }
    .ocrlead-info {
        padding: 12px;
    }
    .ocrlead-platform-box,
    .ocrlead-responsible-box,
    .ocrlead-upload-section,
    .ocrlead-section {
        padding: 15px;
        border-radius: 11px;
    }
    .ocrlead-panel-heading {
        flex-wrap: wrap;
    }
    .ocrlead-online-badge {
        margin-left: 54px;
    }
    .ocrlead-day-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ocrlead-day-source {
        font-size: 9.5px;
    }
    .ocrlead-roulette-head {
        display: none;
    }
    .ocrlead-roulette-row {
        gap: 10px;
    }
    .ocrlead-load-metrics {
        align-items: flex-end;
        flex-direction: column;
        gap: 4px;
    }
    .ocrlead-count-pill,
    .ocrlead-value-pill {
        min-width: 72px;
        padding: 4px 7px;
        font-size: 10.5px;
    }
    .ocrlead-grid {
        gap: 13px;
    }
    .ocrlead-upload-card {
        min-height: 310px;
    }
    .ocrlead-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }
    .ocrlead-actions .button {
        width: 100%;
    }
    .ocrlead-action-summary {
        align-items: flex-start;
    }
}
/* Relatórios OCR Lead - layout visual gerencial */
.ocrlead-analytics-shell {
    max-width: 100%;
    min-height: calc(100vh - 90px);
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    background: #f5f7fb;
    color: #172033;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 16px 48px rgba(15, 23, 42, .08);
    border: 1px solid rgba(15, 23, 42, .06);
}
.ocrlead-analytics-shell * { box-sizing: border-box; }
.ocrlead-analytics-sidebar {
    background: linear-gradient(180deg, #0f1d36 0%, #09162b 100%);
    color: #eaf1ff;
    padding: 18px 14px;
    display: flex;
    flex-direction: column;
    min-height: 820px;
}
.ocrlead-analytics-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 0 18px 0;
    margin-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,.12);
}
.ocrlead-analytics-brand-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #8b5cf6, #4f46e5);
    color: #fff;
    font-weight: 800;
    font-size: 12px;
    box-shadow: 0 8px 24px rgba(99,102,241,.35);
}
.ocrlead-analytics-brand strong {
    display: block;
    font-size: 18px;
    letter-spacing: .02em;
    line-height: 1.05;
}
.ocrlead-analytics-brand span {
    display: block;
    color: #9fb0cc;
    margin-top: 4px;
    font-size: 13px;
}
.ocrlead-analytics-nav {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 4px;
}
.ocrlead-analytics-nav a {
    color: #dbe7ff !important;
    text-decoration: none !important;
    font-weight: 650;
    font-size: 14px;
    padding: 12px 13px;
    border-radius: 9px;
    transition: background .15s ease, transform .15s ease, color .15s ease;
}
.ocrlead-analytics-nav a:hover {
    background: rgba(255,255,255,.10);
    transform: translateX(2px);
}
.ocrlead-analytics-nav a.is-active {
    color: #fff !important;
    background: linear-gradient(135deg, #6d38d8, #4f46e5);
    box-shadow: 0 10px 24px rgba(79,70,229,.28);
}
.ocrlead-platforms-box {
    margin-top: auto;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 12px;
    padding: 13px;
    background: rgba(255,255,255,.04);
}
.ocrlead-platforms-box h4 {
    margin: 0 0 12px 0;
    color: #fff;
    font-size: 14px;
}
.ocrlead-platforms-box div:not(:first-child) {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #e7efff;
    font-size: 13px;
    padding: 7px 0;
}
.ocrlead-platforms-box span {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 800;
    font-size: 11px;
}
.ocrlead-analytics-version {
    color: #9fb0cc;
    font-size: 12px;
    margin-top: 16px;
    padding: 0 4px;
}
.ocrlead-analytics-main {
    min-width: 0;
    padding: 0 26px 28px 26px;
}
.ocrlead-analytics-topbar {
    height: 64px;
    margin: 0 -26px 0 -26px;
    padding: 12px 26px;
    background: #fff;
    border-bottom: 1px solid #e7eaf1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    position: sticky;
    top: 0;
    z-index: 2;
}
.ocrlead-top-menu {
    margin-right: auto;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #172033;
    background: #f5f7fb;
}
.ocrlead-date-range {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #dfe5ef;
    border-radius: 9px;
    min-height: 38px;
    padding: 0 10px;
}
.ocrlead-date-range label {
    margin: 0;
    color: #334155;
    font-size: 12px;
    font-weight: 750;
}
.ocrlead-date-range span {
    color: #7b8497;
    font-size: 12px;
}
.ocrlead-analytics-topbar input[type="date"],
.ocrlead-analytics-topbar select {
    min-height: 36px;
    border: 1px solid #dfe5ef !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #172033 !important;
    padding: 0 10px !important;
    font-size: 13px !important;
    box-shadow: none !important;
}
.ocrlead-date-range input[type="date"] {
    border: 0 !important;
    padding: 0 2px !important;
    min-width: 130px;
}
.ocrlead-filter-btn,
.ocrlead-export-btn {
    min-height: 38px;
    border-radius: 9px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    font-weight: 750;
    font-size: 13px;
    cursor: pointer;
}
.ocrlead-filter-btn {
    border: 1px solid #4f46e5;
    background: linear-gradient(135deg, #6d38d8, #4f46e5);
    color: #fff;
    box-shadow: 0 8px 20px rgba(79,70,229,.20);
}
.ocrlead-export-btn {
    border: 1px solid #dfe5ef;
    background: #fff;
    color: #172033 !important;
}
.ocrlead-analytics-header {
    padding: 22px 0 16px 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 16px;
    align-items: end;
}
.ocrlead-analytics-header h1 {
    margin: 0;
    font-size: 27px;
    line-height: 1.1;
    font-weight: 850;
    letter-spacing: -.03em;
    color: #0f172a;
}
.ocrlead-analytics-header p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
}
.ocrlead-analytics-header span {
    grid-row: 1 / span 2;
    grid-column: 2;
    color: #334155;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    padding: 8px 12px;
    font-weight: 750;
    font-size: 13px;
}
.ocrlead-analytics-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 16px;
}
.ocrlead-analytics-kpi {
    min-height: 118px;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: #fff;
    border: 1px solid #e8ebf2;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(15,23,42,.05);
}
.ocrlead-analytics-kpi-icon {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 900;
    font-size: 19px;
    flex: 0 0 auto;
}
.ocrlead-kpi-purple .ocrlead-analytics-kpi-icon { background: linear-gradient(135deg, #8b5cf6, #4f46e5); }
.ocrlead-kpi-blue .ocrlead-analytics-kpi-icon { background: linear-gradient(135deg, #60a5fa, #2563eb); }
.ocrlead-kpi-green .ocrlead-analytics-kpi-icon { background: linear-gradient(135deg, #4ade80, #16a34a); }
.ocrlead-kpi-orange .ocrlead-analytics-kpi-icon { background: linear-gradient(135deg, #fbbf24, #f97316); }
.ocrlead-analytics-kpi span,
.ocrlead-analytics-kpi small {
    display: block;
    color: #64748b;
    font-size: 13px;
}
.ocrlead-analytics-kpi strong {
    display: block;
    margin: 5px 0 3px 0;
    color: #0f172a;
    font-size: 29px;
    line-height: 1;
    letter-spacing: -.02em;
}
.ocrlead-analytics-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
}
.ocrlead-analytics-card {
    grid-column: span 3;
    background: #fff;
    border: 1px solid #e8ebf2;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(15,23,42,.05);
    padding: 18px;
    min-width: 0;
    overflow: hidden;
}
.ocrlead-card-span-6 { grid-column: span 6; }
.ocrlead-analytics-card h3 {
    margin: 0 0 16px 0;
    color: #0f172a;
    font-size: 16px;
    font-weight: 850;
    line-height: 1.2;
}
.ocrlead-analytics-card h3 span {
    color: #64748b;
    font-weight: 650;
    font-size: 13px;
}
.ocrlead-donut-wrap {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}
.ocrlead-donut {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.ocrlead-donut:after {
    content: "";
    position: absolute;
    inset: 30px;
    background: #fff;
    border-radius: 50%;
}
.ocrlead-donut > div {
    position: relative;
    z-index: 1;
    text-align: center;
}
.ocrlead-donut strong {
    display: block;
    font-size: 26px;
    color: #172033;
    line-height: 1;
}
.ocrlead-donut span {
    color: #64748b;
    font-size: 12px;
}
.ocrlead-donut-legend {
    display: flex;
    flex-direction: column;
    gap: 9px;
    min-width: 0;
}
.ocrlead-donut-legend div {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    font-size: 12px;
    color: #334155;
}
.ocrlead-donut-legend strong {
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}
.ocrlead-dot {
    width: 10px;
    height: 10px;
    border-radius: 3px;
    display: inline-block;
}
.ocrlead-bar-row {
    display: grid;
    grid-template-columns: minmax(94px, 140px) minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    margin: 10px 0;
}
.ocrlead-bar-label {
    color: #334155;
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ocrlead-bar-track {
    height: 13px;
    background: #eef2f7;
    border-radius: 999px;
    overflow: hidden;
}
.ocrlead-bar-fill {
    height: 100%;
    min-width: 2px;
    border-radius: 999px;
}
.ocrlead-bar-value {
    min-width: 86px;
    text-align: right;
    color: #334155;
    font-size: 12px;
}
.ocrlead-bar-value strong { font-weight: 850; }
.ocrlead-bar-value span { color: #64748b; }
.ocrlead-matrix-scroll {
    width: 100%;
    overflow: auto;
}
.ocrlead-matrix-table,
.ocrlead-detail-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 12px;
}
.ocrlead-matrix-table th,
.ocrlead-detail-table th {
    background: #f8fafc;
    color: #64748b;
    text-align: left;
    font-weight: 850;
    border-bottom: 1px solid #e8ebf2;
    padding: 10px 11px;
    white-space: nowrap;
}
.ocrlead-matrix-table td,
.ocrlead-detail-table td {
    color: #334155;
    border-bottom: 1px solid #eef2f7;
    padding: 10px 11px;
    vertical-align: middle;
}
.ocrlead-matrix-table td:not(:first-child),
.ocrlead-matrix-table th:not(:first-child) {
    text-align: center;
}
.ocrlead-detail-table tr:hover td { background: #fbfdff; }
.ocrlead-detail-table .right,
.ocrlead-matrix-table .right { text-align: right; }
.ocrlead-total-row td {
    background: #f8fafc;
    font-weight: 850;
    color: #0f172a;
}
.ocrlead-avatar {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    background: linear-gradient(135deg, #60a5fa, #4f46e5);
    color: #fff;
    font-weight: 850;
    font-size: 10px;
    vertical-align: middle;
}
.ocrlead-ref-link {
    color: #4f46e5 !important;
    text-decoration: none !important;
    font-weight: 850;
}
.ocrlead-ref-link:hover { text-decoration: underline !important; }
.ocrlead-platform-pill {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 850;
    font-size: 10px;
    margin-right: 7px;
    vertical-align: middle;
}
.ocrlead-table-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
    color: #64748b;
    font-size: 12px;
}
.ocrlead-table-footer a {
    color: #4f46e5 !important;
    text-decoration: none !important;
    font-weight: 850;
}
.ocrlead-empty-state,
.ocrlead-empty-cell {
    color: #64748b;
    padding: 18px 8px;
    text-align: center;
    font-style: italic;
}
@media (max-width: 1500px) {
    .ocrlead-donut-wrap { grid-template-columns: 1fr; justify-items: center; }
    .ocrlead-donut-legend { width: 100%; }
}
@media (max-width: 1240px) {
    .ocrlead-analytics-shell { grid-template-columns: 1fr; }
    .ocrlead-analytics-sidebar { min-height: auto; }
    .ocrlead-analytics-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ocrlead-platforms-box { display: none; }
    .ocrlead-analytics-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ocrlead-analytics-card { grid-column: span 6; }
}
@media (max-width: 820px) {
    .ocrlead-analytics-main { padding: 0 14px 18px 14px; }
    .ocrlead-analytics-topbar {
        height: auto;
        position: static;
        margin: 0 -14px;
        padding: 12px 14px;
        flex-wrap: wrap;
    }
    .ocrlead-top-menu { display: none; }
    .ocrlead-date-range { width: 100%; flex-wrap: wrap; height: auto; padding: 8px 10px; }
    .ocrlead-analytics-topbar select,
    .ocrlead-filter-btn,
    .ocrlead-export-btn { width: 100%; }
    .ocrlead-analytics-header { grid-template-columns: 1fr; }
    .ocrlead-analytics-header span { grid-row: auto; grid-column: auto; justify-self: start; }
    .ocrlead-analytics-kpis { grid-template-columns: 1fr; }
    .ocrlead-analytics-card,
    .ocrlead-card-span-6 { grid-column: 1 / -1; }
    .ocrlead-analytics-nav { grid-template-columns: 1fr; }
}


/* The administration save action follows the Dolibarr light-button convention. */
.ocrlead-page .button-save,
.ocrlead-actions .button-save,
.ocrlead-page .button-save:visited,
.ocrlead-actions .button-save:visited,
.ocrlead-page .button-save:focus,
.ocrlead-actions .button-save:focus,
.ocrlead-page .button-save:active,
.ocrlead-actions .button-save:active {
    background: #f4f5f7 !important;
    border-color: #aeb4c0 !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    text-shadow: none !important;
    box-shadow: 0 4px 12px rgba(30, 36, 53, .08) !important;
}
.ocrlead-page .button-save:hover,
.ocrlead-actions .button-save:hover {
    background: #ffffff !important;
    border-color: #8f97a6 !important;
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
}
.ocrlead-page .button-save *,
.ocrlead-actions .button-save * {
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
}

/* 3.2.26 - acompanhamento da meta horaria */
.ocrlead-heading-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-left: auto;
}
.ocrlead-hour-report-button {
    min-height: 32px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #d9d1f6;
    border-radius: 9px;
    background: #f7f4ff;
    color: #5b3fc0;
    font-size: 10.5px;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
}
.ocrlead-hour-report-button:hover {
    border-color: #bcaef1;
    background: #efeaff;
    color: #4b2fad;
    text-decoration: none;
}
.ocrlead-hour-report-button svg {
    width: 15px;
    height: 15px;
}
.ocrlead-hour-quick {
    margin-top: 11px;
    padding: 10px 11px;
    border: 1px solid #ddd7f5;
    border-radius: 10px;
    background: linear-gradient(135deg, #fbfaff, #f5f2ff);
}
.ocrlead-hour-quick-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.ocrlead-hour-quick-head small,
.ocrlead-hour-quick-head strong {
    display: block;
}
.ocrlead-hour-quick-head small {
    color: #7c7398;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.ocrlead-hour-quick-head strong {
    margin-top: 2px;
    color: #34265d;
    font-size: 13px;
}
.ocrlead-hour-target {
    padding: 5px 8px;
    border-radius: 999px;
    background: #ebe4ff;
    color: #5b3fc0;
    font-size: 9.5px;
    font-weight: 850;
    white-space: nowrap;
}
.ocrlead-hour-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 9px;
}
.ocrlead-hour-quick-grid > span {
    min-width: 0;
    padding: 7px 8px;
    border: 1px solid rgba(221, 215, 245, .9);
    border-radius: 8px;
    background: rgba(255, 255, 255, .78);
}
.ocrlead-hour-quick-grid small,
.ocrlead-hour-quick-grid strong {
    display: block;
}
.ocrlead-hour-quick-grid small {
    overflow: hidden;
    color: #807992;
    font-size: 8.5px;
    font-weight: 800;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}
.ocrlead-hour-quick-grid strong {
    margin-top: 3px;
    color: #33255b;
    font-size: 13px;
}
.ocrlead-hour-progress {
    height: 5px;
    margin-top: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: #e7e2f5;
}
.ocrlead-hour-progress > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #7352d8, #9b78f1);
}
.ocrlead-hour-pill {
    min-width: 72px;
    padding: 4px 7px 5px;
    border: 1px solid #ddd7f5;
    border-radius: 9px;
    background: #faf8ff;
    color: #5b3fc0;
    text-align: left;
}
.ocrlead-hour-pill strong,
.ocrlead-hour-pill small,
.ocrlead-hour-pill i,
.ocrlead-hour-pill b {
    display: block;
}
.ocrlead-hour-pill strong {
    font-size: 11px;
    line-height: 1;
}
.ocrlead-hour-pill small {
    margin-top: 2px;
    color: #82779f;
    font-size: 7.5px;
    font-style: normal;
    line-height: 1;
    text-transform: uppercase;
}
.ocrlead-hour-pill i {
    height: 3px;
    margin-top: 4px;
    overflow: hidden;
    border-radius: 999px;
    background: #e7e2f5;
}
.ocrlead-hour-pill b {
    height: 100%;
    border-radius: inherit;
    background: #7555d9;
}
.ocrlead-hour-pill.is-target {
    border-color: #bfe6cf;
    background: #f2fbf6;
    color: #227447;
}
.ocrlead-hour-pill.is-target i {
    background: #d9eee2;
}
.ocrlead-hour-pill.is-target b {
    background: #22a75f;
}
@media (max-width: 760px) {
    .ocrlead-heading-actions {
        width: 100%;
        margin-left: 54px;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .ocrlead-heading-actions .ocrlead-online-badge {
        margin-left: 0;
    }
    .ocrlead-hour-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ocrlead-load-metrics {
        min-width: 82px;
    }
    .ocrlead-hour-pill {
        min-width: 72px;
    }
}


.ocrlead-refresh-status{display:block;font-size:10px;line-height:1.2;color:#64748b;text-align:right;white-space:nowrap;margin-top:3px}
.ocrlead-heading-actions{align-items:flex-end;flex-wrap:wrap}
@media (max-width:760px){.ocrlead-refresh-status{width:100%;text-align:left}.ocrlead-heading-actions{align-items:flex-start}}

/* OCR Lead 3.2.52 - non-blocking lead save feedback */
.ocrlead-async-save-status {
    width: 100%;
    box-sizing: border-box;
    margin-top: 14px;
    padding: 12px 14px;
    border: 1px solid var(--colortextlink, #4b78c2);
    border-radius: 6px;
    background: rgba(255,255,255,.72);
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.ocrlead-async-save-status[hidden] { display: none !important; }
.ocrlead-async-save-status strong { font-weight: 600; }
.ocrlead-async-save-status span { opacity: .82; }
.ocrlead-async-save-status.is-error { border-color: #c84b4b; }
.ocrlead-async-save-status.is-success { border-color: #45945d; }
.ocrlead-async-save-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
#ocrlead-save-button.is-sending { cursor: progress; }


/* 3.2.65 - vendedores Bradial online visíveis em tempo real */
.ocrlead-online-sellers-strip {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 14px 0 16px;
    padding: 11px 13px;
    border: 1px solid rgba(16, 185, 129, .22);
    border-radius: 12px;
    background: rgba(16, 185, 129, .055);
}
.ocrlead-online-sellers-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
    font-size: 12px;
}
.ocrlead-online-dot,
.ocrlead-online-seller-chip i {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, .12);
}
.ocrlead-online-sellers-list {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}
.ocrlead-online-seller-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 9px;
    border: 1px solid rgba(16, 185, 129, .25);
    border-radius: 999px;
    background: #fff;
    font-size: 12px;
    font-weight: 600;
}
.ocrlead-online-seller-chip i {
    width: 6px;
    height: 6px;
    box-shadow: none;
}
.ocrlead-online-sellers-empty {
    font-size: 12px;
    opacity: .68;
}
@media (max-width: 760px) {
    .ocrlead-online-sellers-strip { align-items: flex-start; }
}

/* 3.2.72: explicit current-day scope badge for the OCR distribution panel. */
.ocrlead-today-filter{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 10px;
    border:1px solid rgba(16,185,129,.25);
    border-radius:999px;
    background:rgba(16,185,129,.08);
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
}
