:root {
    --nav: #3D3D3D;
    --nav-hover: #4A4A4A;

    --primary: #3296A6;
    --primary-hover: #287C89;

    --accent: #BD8532;

    --background: #f5f7fb;
    --surface: #ffffff;
    --border: #dde4ee;

    --text: #000000;
    --muted: #727271;

    --success: #18875b;
    --danger: #c43b3b;

    --radius: 14px;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    color: var(--text);
    background: var(--background);
}

button,
input,
select {
    font: inherit;
}

button {
    cursor: pointer;
}

.hidden {
    display: none !important;
}


/* LOGIN */

.login-page {
    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 30px;

    background:
        radial-gradient(
            circle at top left,
            #eef7f8,
            transparent 45%
        ),
        #f5f7fb;
}

.login-card {
    width: 100%;
    max-width: 430px;

    padding: 36px;

    background: #fff;

    border:
        1px solid var(--border);

    border-radius: 20px;

    box-shadow:
        0 20px 60px
        rgba(15, 23, 42, 0.10);
}

.login-brand {
    display: flex;
    align-items: center;
    gap: 14px;

    margin-bottom: 34px;
}

.brand-mark {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    border-radius: 14px;

    background: transparent;

    color: #fff;

    font-size: 24px;
    font-weight: 800;
}

.brand-mark img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
}

.brand-mark.small {
    width: 38px;
    height: 38px;

    border-radius: 11px;

    font-size: 18px;
}

.login-brand strong {
    display: block;

    font-size: 21px;
}

.login-brand span {
    display: block;

    margin-top: 3px;

    color: var(--muted);

    font-size: 13px;
}

.login-copy h1 {
    margin:
        0
        0
        8px;

    font-size: 25px;
}

.login-copy p {
    margin:
        0
        0
        28px;

    color: var(--muted);

    font-size: 14px;
    line-height: 1.5;
}

#login-form {
    display: flex;
    flex-direction: column;
}

#login-form label {
    margin:
        0
        0
        7px;

    font-size: 13px;
    font-weight: 650;
}

#login-form input {
    width: 100%;
    height: 45px;

    margin-bottom: 17px;

    padding:
        0
        13px;

    border:
        1px solid #d3dbe7;

    border-radius: 9px;

    outline: none;
}

#login-form input:focus {
    border-color: #3296A6;

    box-shadow:
        0 0 0 3px
        rgba(62, 95, 231, 0.10);
}

.primary-button {
    border: 0;

    border-radius: 9px;

    background: var(--primary);

    color: #fff;

    font-weight: 700;
}

.primary-button:hover {
    background: var(--primary-hover);
}

.login-button {
    min-height: 45px;

    margin-top: 6px;
}

.login-button:disabled {
    opacity: .65;
    cursor: wait;
}

.login-error {
    margin-bottom: 14px;

    padding:
        10px
        12px;

    border:
        1px solid #efb8b8;

    border-radius: 8px;

    background: #fff2f2;

    color: #a82c2c;

    font-size: 13px;
}


/* APP */

.app-layout {
    min-height: 100vh;

    display: grid;

    grid-template-columns:
        220px
        minmax(0, 1fr);
}

.sidebar {
    position: fixed;

    inset:
        0
        auto
        0
        0;

    width: 220px;

    display: flex;
    flex-direction: column;

    padding: 18px 14px;

    background: var(--nav);

    color: #fff;

    z-index: 1000;
}

.sidebar-brand {
    display: flex;
    align-items: center;
    gap: 11px;

    padding:
        2px
        4px
        20px;
}

.sidebar-brand-copy strong {
    display: block;

    font-size: 18px;
}

.sidebar-brand-copy span {
    display: block;

    margin-top: 2px;

    color: #98a5b8;

    font-size: 11px;
}

.sidebar nav {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.nav-item {
    width: 100%;
    min-height: 44px;

    display: flex;
    align-items: center;
    gap: 12px;

    padding:
        0
        13px;

    border: 0;
    border-radius: 9px;

    background: transparent;

    color: #ccd4df;

    text-align: left;
}

.nav-item:hover {
    background: var(--nav-hover);
}

.nav-item.active {
    background: var(--primary);

    color: #fff;
}

.nav-icon {
    width: 18px;

    text-align: center;
}

.sidebar-bottom {
    margin-top: auto;

    padding:
        16px
        5px
        3px;

    border-top:
        1px solid
        rgba(255,255,255,.08);
}

.sidebar-user-name {
    color: #fff;

    font-size: 13px;
    font-weight: 650;
}

.sidebar-user-email {
    margin-top: 3px;

    color: #98a5b8;

    font-size: 11px;

    overflow: hidden;

    text-overflow: ellipsis;
}

.logout-button {
    margin-top: 14px;

    padding: 0;

    border: 0;

    background: none;

    color: #b9c3d1;
}

.logout-button:hover {
    color: #fff;
}


/* CONTEÚDO */

.main-content {
    grid-column: 2;

    min-width: 0;

    padding:
        0
        22px
        32px;
}

.topbar {
    min-height: 88px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;
}

.topbar h1 {
    margin: 0;

    font-size: 24px;
}

.topbar p {
    margin:
        4px
        0
        0;

    color: var(--muted);

    font-size: 13px;
}

.topbar-actions {
    display: flex;
    align-items: center;
    gap: 18px;
}

.company-field label {
    display: block;

    margin-bottom: 4px;

    color: var(--muted);

    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
}

.company-field select {
    min-width: 190px;

    height: 38px;

    padding:
        0
        10px;

    border:
        1px solid var(--border);

    border-radius: 8px;

    background: #fff;
}

.topbar-user {
    text-align: right;
}

.topbar-user strong {
    display: block;

    font-size: 13px;
}

.topbar-user span {
    display: block;

    margin-top: 3px;

    color: var(--muted);

    font-size: 11px;
}

.page-section {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.welcome-panel,
.panel {
    background: var(--surface);

    border:
        1px solid var(--border);

    border-radius: var(--radius);
}

.welcome-panel {
    padding:
        25px
        28px;
}

.eyebrow {
    display: block;

    margin-bottom: 5px;

    color: var(--primary);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .08em;
}

.welcome-panel h2,
.panel h2 {
    margin:
        0
        0
        6px;

    font-size: 20px;
}

.welcome-panel p,
.panel-header p {
    margin: 0;

    color: var(--muted);

    font-size: 13px;
}

.metric-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 12px;
}

.metric-card {
    padding: 18px;

    border:
        1px solid var(--border);

    border-radius: 12px;

    background: var(--surface);
}

.metric-card span {
    display: block;

    color: var(--muted);

    font-size: 11px;
}

.metric-card strong {
    display: block;

    margin:
        6px
        0
        3px;

    font-size: 24px;
}

.metric-card small {
    color: #8b97a8;

    font-size: 10px;
}

.panel {
    overflow: hidden;
}

.panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding:
        20px
        22px;

    border-bottom:
        1px solid #edf0f5;
}

.history-controls {
    display: flex;
    gap: 8px;
}

.history-controls input,
.history-controls select {
    height: 38px;

    border:
        1px solid var(--border);

    border-radius: 8px;

    background: #fff;

    padding:
        0
        10px;
}

.history-controls input {
    width: 260px;
}

.empty-state {
    padding:
        55px
        25px;

    color: var(--muted);

    text-align: center;

    font-size: 13px;
}


/* MOBILE */

@media (max-width: 900px) {

    .app-layout {
        display: block;
    }

    .sidebar {
        position: static;

        width: 100%;
        height: auto;

        flex-direction: row;
        align-items: center;

        overflow-x: auto;
    }

    .sidebar-brand-copy,
    .sidebar-bottom {
        display: none;
    }

    .sidebar nav {
        flex-direction: row;
    }

    .nav-item {
        width: auto;

        white-space: nowrap;
    }

    .main-content {
        padding:
            0
            14px
            25px;
    }

    .topbar,
    .panel-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .metric-grid {
        grid-template-columns: 1fr;
    }

    .history-controls {
        width: 100%;

        flex-direction: column;
    }

    .history-controls input,
    .history-controls select {
        width: 100%;
    }
}


/* =========================================================
   RESULTADOS
   ========================================================= */

.results-controls {
    display: flex;
    gap: 8px;
}

.results-controls input,
.results-controls select {
    height: 38px;

    padding:
        0
        10px;

    border:
        1px solid var(--border);

    border-radius: 8px;

    background: #fff;
}

.results-controls input {
    width: 260px;
}

.results-table-area {
    width: 100%;
    overflow-x: auto;
}

.results-table {
    width: 100%;

    border-collapse: collapse;

    font-size: 12px;
}

.results-table th {
    padding:
        11px
        14px;

    background: #f5f7fb;

    color: #526071;

    font-size: 10px;
    font-weight: 800;

    text-align: left;

    white-space: nowrap;
}

.results-table td {
    padding:
        13px
        14px;

    border-top:
        1px solid #edf0f5;

    vertical-align: middle;
}

.results-table tbody tr:hover {
    background: #fafbfe;
}

.result-name {
    display: block;

    color: var(--text);

    font-weight: 700;
}

.result-id {
    display: block;

    margin-top: 3px;

    color: #8a96a7;

    font-size: 10px;
}

.result-date {
    white-space: nowrap;
}

.status-chip {
    display: inline-flex;
    align-items: center;

    padding:
        4px
        8px;

    border-radius: 999px;

    background: #eaf8f1;

    color: #16794f;

    font-size: 10px;
    font-weight: 750;
}

.history-chip {
    display: inline-flex;

    padding:
        4px
        8px;

    border-radius: 999px;

    font-size: 10px;
    font-weight: 700;
}

.history-chip.complete {
    background: #eaf8f1;
    color: #16794f;
}

.history-chip.partial {
    background: #fff5df;
    color: #9a6712;
}

.history-chip.legacy {
    background: #f0f2f5;
    color: #697586;
}

.result-open-button,
.secondary-action {
    min-height: 34px;

    padding:
        0
        11px;

    border:
        1px solid var(--border);

    border-radius: 8px;

    background: #fff;

    color: var(--text);

    font-size: 11px;
    font-weight: 700;
}

.result-open-button:hover,
.secondary-action:hover:not(:disabled) {
    border-color: #3296A6;

    color: var(--primary);
}

.secondary-action:disabled {
    opacity: .45;

    cursor: default;
}

.results-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    padding:
        14px
        18px;

    border-top:
        1px solid #edf0f5;

    color: var(--muted);

    font-size: 11px;
}


/* =========================================================
   MODAL RESULTADO
   ========================================================= */

.modal-backdrop {
    position: fixed;

    inset: 0;

    z-index: 3000;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 24px;

    background:
        rgba(15, 27, 45, .55);
}

.result-detail-modal {
    width:
        min(
            1500px,
            96vw
        );

    max-height: 90vh;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border-radius: 16px;

    background: #fff;

    box-shadow:
        0 30px 80px
        rgba(15, 23, 42, .24);
}

.result-detail-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 20px;

    padding:
        21px
        24px;

    border-bottom:
        1px solid var(--border);
}

.result-detail-header h2 {
    margin:
        0
        0
        4px;

    font-size: 20px;
}

.result-detail-header p {
    margin: 0;

    color: var(--muted);

    font-size: 12px;
}

.modal-close {
    width: 36px;
    height: 36px;

    border:
        1px solid var(--border);

    border-radius: 9px;

    background: #fff;

    color: #5a6676;

    font-size: 22px;
}

.result-detail-kpis {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: 10px;

    padding:
        15px
        20px;

    background: #f8fafc;
}

.result-detail-kpi {
    padding:
        12px
        14px;

    border:
        1px solid var(--border);

    border-radius: 10px;

    background: #fff;
}

.result-detail-kpi span {
    display: block;

    color: var(--muted);

    font-size: 10px;
}

.result-detail-kpi strong {
    display: block;

    margin-top: 4px;

    font-size: 17px;
}

.result-detail-table-wrap {
    overflow: auto;
}

.result-detail-table {
    width: 100%;

    border-collapse: collapse;

    font-size: 11px;
}

.result-detail-table th {
    position: sticky;

    top: 0;

    z-index: 2;

    padding:
        10px
        12px;

    background: #eef2f7;

    color: #445266;

    text-align: left;

    white-space: nowrap;
}

.result-detail-table td {
    padding:
        10px
        12px;

    border-top:
        1px solid #edf0f5;

    white-space: nowrap;
}

.result-detail-table td:nth-child(3) {
    min-width: 260px;

    white-space: normal;
}


@media (max-width: 900px) {

    .results-controls {
        width: 100%;

        flex-direction: column;
    }

    .results-controls input,
    .results-controls select {
        width: 100%;
    }

    .result-detail-kpis {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }
}



/* ========================================================
   HISTORICAL EXPORTS - PORTAL
   ======================================================== */

.result-detail-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 4px 0 18px;
}

.result-export-button {
    min-height: 40px;
    padding: 0 16px;
    border-radius: 10px;
    border: 1px solid transparent;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.result-export-button:disabled {
    opacity: .6;
    cursor: wait;
}

.result-export-button.primary {
    background: #111827;
    color: #fff;
}

.result-export-button.secondary {
    background: #fff;
    color: #111827;
    border-color: #d8dde6;
}

.result-export-status {
    font-size: 13px;
    font-weight: 600;
}

.result-export-status.success {
    color: #177245;
}

.result-export-status.error {
    color: #b42318;
}

.historical-alpha7-modal {
    width: min(620px, calc(100vw - 32px));
    max-height: calc(100vh - 48px);
    overflow: auto;
    border-radius: 18px;
    background: #fff;
    padding: 24px;
    box-shadow:
        0 24px 80px rgba(15, 23, 42, .24);
}

.historical-alpha7-form {
    display: grid;
    gap: 18px;
    margin-top: 22px;
}

.historical-alpha7-field {
    display: grid;
    gap: 7px;
}

.historical-alpha7-field > span {
    font-size: 13px;
    font-weight: 700;
    color: #374151;
}

.historical-alpha7-field select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #d8dde6;
    border-radius: 10px;
    background: #fff;
    padding: 0 12px;
    font: inherit;
}

.historical-alpha7-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    color: #4b5563;
}

.historical-alpha7-check input {
    margin-top: 2px;
}

.historical-alpha7-feedback {
    border-radius: 10px;
    background: #f3f4f6;
    padding: 12px 14px;
    font-size: 13px;
    font-weight: 600;
}

.historical-alpha7-feedback.success {
    background: #ecfdf3;
    color: #177245;
}

.historical-alpha7-feedback.error {
    background: #fef3f2;
    color: #b42318;
}

.historical-alpha7-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.status-chip.partial {
    background: #fff4df;
    color: #9a6700;
}


/* ========================================================
   CORES DAS EXPORTAÇÕES
   ======================================================== */

#result-export-excel {
    background: #107C41;
    border-color: #107C41;
    color: #ffffff;
}

#result-export-excel:hover:not(:disabled) {
    background: #0b6b37;
    border-color: #0b6b37;
}


#result-export-alpha7 {
    background: #3296A6;
    border-color: #3296A6;
    color: #ffffff;
}

#result-export-alpha7:hover:not(:disabled) {
    background: #287C89;
    border-color: #287C89;
}



/* ========================================================
   RESULTADO DETALHADO V2
   ======================================================== */

.result-detail-toolbar {
    display: flex;
    align-items: end;
    gap: 14px;
    flex-wrap: wrap;

    padding: 16px 20px;

    border-top: 1px solid #e3e8f0;
    border-bottom: 1px solid #e3e8f0;

    background: #ffffff;
}


.result-detail-search-wrap {
    flex: 1 1 360px;
}


#result-detail-search {
    width: 100%;
    min-height: 44px;

    padding: 0 14px;

    border: 1px solid #d6deea;
    border-radius: 10px;

    background: #ffffff;

    font: inherit;
    color: #000000;

    outline: none;
}


#result-detail-search:focus {
    border-color: #3296A6;

    box-shadow:
        0 0 0 3px
        rgba(49, 87, 232, .10);
}


.result-detail-view-wrap {
    display: grid;
    gap: 5px;

    min-width: 240px;
}


.result-detail-view-wrap label {
    font-size: 12px;
    font-weight: 700;

    color: #727271;
}


#result-detail-view {
    min-height: 44px;

    padding: 0 12px;

    border: 1px solid #d6deea;
    border-radius: 10px;

    background: #ffffff;

    font: inherit;
    color: #000000;
}


.result-detail-count {
    min-height: 44px;

    display: flex;
    align-items: center;

    padding: 0 4px;

    font-size: 13px;
    font-weight: 600;

    color: #727271;
}


.result-detail-table th {
    white-space: nowrap;
}


.result-detail-sort {
    appearance: none;

    display: inline-flex;
    align-items: center;
    gap: 7px;

    width: 100%;

    padding: 0;

    border: 0;
    background: transparent;

    color: inherit;

    font: inherit;
    font-weight: 700;

    cursor: pointer;

    text-align: left;
}


.result-detail-sort-arrow {
    font-size: 12px;

    color: #727271;
}


.result-detail-product-cell {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}


.result-detail-product-name {
    min-width: 0;
}


.result-detail-quantity-badge {
    display: inline-flex;
    align-items: center;

    min-height: 20px;

    padding: 2px 7px;

    border-radius: 999px;

    background: #eef7f8;

    color: #3296A6;

    font-size: 10px;
    font-weight: 800;

    white-space: nowrap;
}


.result-detail-empty {
    padding: 32px !important;

    text-align: center;

    color: #727271;
}


/* Excel */
#result-export-excel {
    background: #107C41;
    border-color: #107C41;
    color: #ffffff;
}


#result-export-excel:hover:not(:disabled) {
    background: #0b6b37;
    border-color: #0b6b37;
}


/* Alpha7 */
#result-export-alpha7 {
    background: #3296A6;
    border-color: #3296A6;
    color: #ffffff;
}


#result-export-alpha7:hover:not(:disabled) {
    background: #287C89;
    border-color: #287C89;
}


@media (max-width: 800px) {

    .result-detail-toolbar {
        align-items: stretch;
    }

    .result-detail-search-wrap,
    .result-detail-view-wrap {
        width: 100%;
        flex-basis: 100%;
    }
}



/* ========================================================
   RESULTADO - RESUMO FINANCEIRO V3
   ======================================================== */

.result-detail-summary {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        190px;

    gap: 16px;

    align-items: stretch;

    padding: 16px 24px;

    background: #f8fafc;

    border-top: 1px solid #e3e8f0;
    border-bottom: 1px solid #e3e8f0;
}


/* ----------------------------------------
   CARDS MAIS COMPACTOS
   ---------------------------------------- */

.result-detail-kpis {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 10px;

    margin: 0;
}


.result-detail-kpi {
    min-width: 0;
    min-height: 74px;

    padding: 11px 14px;

    border: 1px solid #dce3ed;
    border-radius: 12px;

    background: #ffffff;

    display: flex;
    flex-direction: column;
    justify-content: center;

    box-shadow:
        0 1px 2px
        rgba(15, 23, 42, .025);
}


.result-detail-kpi span {
    margin-bottom: 6px;

    font-size: 11px;
    font-weight: 500;

    color: #727271;
}


.result-detail-kpi strong {
    font-size: 18px;
    line-height: 1.1;

    color: #000000;
}


/* ----------------------------------------
   FATURAMENTO
   ---------------------------------------- */

.result-detail-kpi.financial {
    border-color: #b9dfe4;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f7f9ff 100%
        );
}


.result-detail-kpi.financial strong {
    color: #3296A6;
}


/* ----------------------------------------
   MARGEM PROJETADA
   ---------------------------------------- */

.result-detail-kpi.projected-margin.positive {
    border-color: #b8e7cb;

    background: #f2fbf6;
}


.result-detail-kpi.projected-margin.positive strong {
    color: #107c41;
}


.result-detail-kpi.projected-margin.negative {
    border-color: #fecaca;

    background: #fff5f5;
}


.result-detail-kpi.projected-margin.negative strong {
    color: #c62828;
}


.result-detail-kpi.projected-margin.neutral strong {
    color: #727271;
}


/* ----------------------------------------
   AÇÕES
   ---------------------------------------- */

.result-detail-actions {
    display: flex;
    flex-direction: column;

    justify-content: center;

    gap: 10px;

    margin: 0;
}


.result-export-button {
    width: 100%;

    min-height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 0 16px;

    border-radius: 11px;

    border: 1px solid transparent;

    font: inherit;
    font-weight: 700;

    cursor: pointer;

    transition:
        background .15s ease,
        border-color .15s ease,
        transform .15s ease,
        box-shadow .15s ease;
}


.result-export-button:hover:not(:disabled) {
    transform: translateY(-1px);

    box-shadow:
        0 5px 14px
        rgba(15, 23, 42, .12);
}


.export-button-icon {
    font-size: 18px;
    line-height: 1;
}


/* Excel */

#result-export-excel {
    background: #107c41;
    border-color: #107c41;
    color: #ffffff;
}


#result-export-excel:hover:not(:disabled) {
    background: #0c6b37;
    border-color: #0c6b37;
}


/* Alpha7 */

#result-export-alpha7 {
    background: #3296A6;
    border-color: #3296A6;
    color: #ffffff;
}


#result-export-alpha7:hover:not(:disabled) {
    background: #287C89;
    border-color: #287C89;
}


.result-export-status {
    min-height: 18px;

    text-align: center;

    font-size: 11px;
    line-height: 1.35;
}


/* ----------------------------------------
   RESPONSIVO
   ---------------------------------------- */

@media (max-width: 1100px) {

    .result-detail-summary {
        grid-template-columns: 1fr;
    }


    .result-detail-actions {
        flex-direction: row;

        flex-wrap: wrap;
    }


    .result-export-button {
        width: auto;
        min-width: 180px;
    }
}


@media (max-width: 760px) {

    .result-detail-summary {
        padding: 14px;
    }


    .result-detail-kpis {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .result-detail-actions {
        flex-direction: column;
    }


    .result-export-button {
        width: 100%;
    }
}



/* ========================================================
   RESULTADO DETALHADO V8
   ======================================================== */


/* ----------------------------------------
   RESUMO MUITO MAIS COMPACTO
   ---------------------------------------- */

.result-detail-summary {
    grid-template-columns:
        minmax(0, 1fr)
        150px !important;

    gap: 12px !important;

    padding: 10px 18px !important;
}


.result-detail-kpis {
    grid-template-columns:
        repeat(
            6,
            minmax(0, 1fr)
        ) !important;

    gap: 7px !important;
}


.result-detail-kpi {
    min-height: 56px !important;

    padding:
        8px
        10px !important;

    border-radius:
        9px !important;
}


.result-detail-kpi span {
    margin-bottom:
        3px !important;

    font-size:
        10px !important;
}


.result-detail-kpi strong {
    font-size:
        15px !important;
}


/* ----------------------------------------
   BOTÕES COMPACTOS
   ---------------------------------------- */

.result-detail-actions {
    gap: 7px !important;
}


.result-export-button {
    min-height:
        38px !important;

    padding:
        0 10px !important;

    border-radius:
        9px !important;

    font-size:
        13px !important;
}


.export-button-icon {
    font-size:
        14px !important;
}


/* ----------------------------------------
   TOOLBAR COMPACTA
   ---------------------------------------- */

.result-detail-toolbar {
    padding:
        10px
        18px !important;

    gap:
        10px !important;
}


#result-detail-search,
#result-detail-view {
    min-height:
        38px !important;
}


/* ----------------------------------------
   TABELA MAIOR
   ---------------------------------------- */

.result-detail-table-wrap {
    overflow:
        auto !important;

    max-height:
        calc(
            100vh
            - 315px
        ) !important;
}


.result-detail-table {
    width:
        max-content !important;

    min-width:
        100% !important;

    table-layout:
        fixed !important;
}


.result-detail-table th,
.result-detail-table td {
    overflow:
        hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


/* Produto continua legível */
.result-detail-product-cell {
    flex-wrap:
        nowrap !important;
}


.result-detail-product-name {
    overflow:
        hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


/* ----------------------------------------
   CABEÇALHO REDIMENSIONÁVEL
   ---------------------------------------- */

.result-detail-table th {
    position:
        relative;

    user-select:
        none;
}


.result-detail-sort {
    padding-right:
        10px !important;
}


.result-detail-resizer {
    position:
        absolute;

    top:
        0;

    right:
        -3px;

    width:
        8px;

    height:
        100%;

    cursor:
        col-resize;

    z-index:
        4;
}


.result-detail-resizer::after {
    content:
        "";

    position:
        absolute;

    top:
        25%;

    bottom:
        25%;

    left:
        3px;

    width:
        1px;

    background:
        #cbd5e1;

    opacity:
        0;
}


.result-detail-resizer:hover::after,
body.result-detail-resizing
.result-detail-resizer::after {
    opacity:
        1;

    background:
        #3296A6;
}


body.result-detail-resizing {
    cursor:
        col-resize !important;

    user-select:
        none !important;
}


/* ----------------------------------------
   TELAS INTERMEDIÁRIAS
   ---------------------------------------- */

@media (max-width: 1350px) {

    .result-detail-kpis {
        grid-template-columns:
            repeat(
                3,
                minmax(0, 1fr)
            ) !important;
    }
}


@media (max-width: 760px) {

    .result-detail-summary {
        grid-template-columns:
            1fr !important;
    }


    .result-detail-kpis {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;
    }
}



/* ========================================================
   DASHBOARD - HISTÓRICO DE PRECIFICAÇÃO V1
   ======================================================== */

.history-controls {
    position: relative;
}


#history-search {
    min-width: 320px;
}


.dashboard-search-results {
    position: relative;

    margin:
        -6px
        20px
        18px;

    border: 1px solid #dce3ed;
    border-radius: 12px;

    background: #ffffff;

    box-shadow:
        0 14px 35px
        rgba(15, 23, 42, .10);

    overflow: hidden;

    z-index: 10;
}


.dashboard-product-option {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    padding: 12px 16px;

    border: 0;
    border-bottom: 1px solid #eef2f6;

    background: #ffffff;

    text-align: left;

    cursor: pointer;
}


.dashboard-product-option:last-child {
    border-bottom: 0;
}


.dashboard-product-option:hover {
    background: #f7f9fc;
}


.dashboard-product-option-main {
    min-width: 0;

    display: grid;
    gap: 4px;
}


.dashboard-product-option-main strong {
    overflow: hidden;

    color: #000000;

    font-size: 13px;

    text-overflow: ellipsis;
    white-space: nowrap;
}


.dashboard-product-option-main small {
    color: #727271;

    font-size: 11px;
}


.dashboard-product-option-history {
    flex: 0 0 auto;

    color: #727271;

    font-size: 11px;
    font-weight: 700;
}


.dashboard-search-empty {
    padding: 16px;

    color: #727271;

    font-size: 13px;
}


.dashboard-search-empty.error {
    color: #b42318;
}


.dashboard-product-area {
    display: grid;

    gap: 18px;

    padding: 0 20px 20px;
}


.dashboard-product-heading {
    padding-top: 4px;
}


.dashboard-product-heading h3 {
    margin: 4px 0;

    color: #000000;

    font-size: 20px;
}


.dashboard-product-heading p {
    margin: 0;

    color: #727271;

    font-size: 12px;
}


.dashboard-product-metrics {
    display: grid;

    grid-template-columns:
        repeat(
            5,
            minmax(0, 1fr)
        );

    gap: 10px;
}


.dashboard-product-metric {
    min-height: 74px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 12px 14px;

    border: 1px solid #dce3ed;
    border-radius: 12px;

    background: #ffffff;
}


.dashboard-product-metric span {
    margin-bottom: 5px;

    color: #727271;

    font-size: 11px;
}


.dashboard-product-metric strong {
    color: #000000;

    font-size: 19px;
}


.dashboard-product-metric.clube strong {
    color: #107c41;
}


.dashboard-product-metric.nid strong {
    color: #3296A6;
}


.dashboard-product-metric.market {
    background: #fffaf3;
    border-color: #f4dfb8;
}


.dashboard-product-metric.margin.positive {
    background: #f2fbf6;
    border-color: #b8e7cb;
}


.dashboard-product-metric.margin.positive strong {
    color: #107c41;
}


.dashboard-product-metric.margin.negative {
    background: #fff5f5;
    border-color: #fecaca;
}


.dashboard-product-metric.margin.negative strong {
    color: #c62828;
}


.dashboard-chart-card,
.dashboard-history-card {
    border: 1px solid #e2e8f0;
    border-radius: 14px;

    background: #ffffff;

    overflow: hidden;
}


.dashboard-chart-header,
.dashboard-history-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 20px;

    padding: 16px 18px;

    border-bottom: 1px solid #eef2f6;
}


.dashboard-chart-header h3,
.dashboard-history-header h3 {
    margin: 3px 0;

    color: #000000;

    font-size: 16px;
}


.dashboard-chart-header p {
    margin: 0;

    color: #727271;

    font-size: 11px;
}


.dashboard-chart-legend {
    max-width: 620px;

    display: flex;
    justify-content: flex-end;

    gap: 6px;

    flex-wrap: wrap;
}


.dashboard-legend-item {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    min-height: 28px;

    padding: 0 9px;

    border: 1px solid #e0e5ec;
    border-radius: 999px;

    background: #ffffff;

    color: #000000;

    font-size: 10px;
    font-weight: 700;

    cursor: pointer;
}


.dashboard-legend-item.inactive {
    opacity: .35;
}


.dashboard-legend-dot {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background:
        var(--series-color);
}


.dashboard-chart {
    min-height: 360px;

    padding: 8px 12px 2px;
}


.dashboard-chart-svg {
    display: block;

    width: 100%;
    height: auto;

    overflow: visible;
}


.dashboard-chart-grid {
    stroke: #edf1f6;
    stroke-width: 1;
}


.dashboard-chart-axis {
    stroke: #cbd5e1;
    stroke-width: 1;
}


.dashboard-chart-y-label,
.dashboard-chart-x-label {
    fill: #727271;

    font-size: 11px;
}


.dashboard-chart-line {
    vector-effect:
        non-scaling-stroke;
}


.dashboard-chart-point {
    cursor: help;

    stroke: #ffffff;
    stroke-width: 2;

    vector-effect:
        non-scaling-stroke;
}


.dashboard-chart-empty {
    min-height: 330px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #727271;

    font-size: 13px;
}


.dashboard-history-count {
    color: #727271;

    font-size: 11px;
    font-weight: 700;
}


.dashboard-history-table-wrap {
    overflow-x: auto;
}


.dashboard-history-table {
    width: 100%;

    border-collapse: collapse;

    font-size: 12px;
}


.dashboard-history-table th,
.dashboard-history-table td {
    padding: 10px 12px;

    border-bottom: 1px solid #eef2f6;

    text-align: left;

    white-space: nowrap;
}


.dashboard-history-table th {
    background: #f8fafc;

    color: #727271;

    font-size: 10px;
    font-weight: 800;

    text-transform: uppercase;
}


.dashboard-history-table td {
    color: #000000;
}


.dashboard-history-table td strong {
    display: block;

    color: #000000;

    font-size: 12px;
}


.dashboard-history-table td small {
    display: block;

    margin-top: 2px;

    color: #94a3b8;

    font-size: 10px;
}


.dashboard-history-empty {
    padding: 28px !important;

    text-align: center !important;

    color: #727271 !important;
}


.dashboard-margin-value {
    display: inline-flex;

    padding: 3px 7px;

    border-radius: 999px;

    font-size: 11px;
    font-weight: 800;
}


.dashboard-margin-value.positive {
    background: #ecfdf3;
    color: #107c41;
}


.dashboard-margin-value.negative {
    background: #fef3f2;
    color: #c62828;
}


.dashboard-margin-value.neutral {
    background: #f1f5f9;
    color: #727271;
}


@media (max-width: 1100px) {

    .dashboard-product-metrics {
        grid-template-columns:
            repeat(
                3,
                minmax(0, 1fr)
            );
    }


    .dashboard-chart-header {
        flex-direction: column;
    }


    .dashboard-chart-legend {
        justify-content: flex-start;
    }
}


@media (max-width: 700px) {

    #history-search {
        min-width: 0;
        width: 100%;
    }


    .history-controls {
        width: 100%;

        display: grid;

        gap: 8px;
    }


    .dashboard-product-metrics {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .dashboard-product-option {
        align-items: flex-start;
        flex-direction: column;
    }
}



/* ========================================================
   DASHBOARD - CADASTRO ERP / SEM HISTÓRICO
   ======================================================== */

.dashboard-product-option-history.no-history {
    padding: 4px 9px;

    border-radius: 999px;

    background: #f1f5f9;

    color: #727271;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .02em;
}


.dashboard-no-history {
    display: grid;

    gap: 6px;

    padding: 18px 20px;

    border: 1px dashed #cbd5e1;
    border-radius: 12px;

    background: #f8fafc;
}


.dashboard-no-history strong {
    color: #000000;

    font-size: 14px;
}


.dashboard-no-history span {
    color: #727271;

    font-size: 12px;
    line-height: 1.5;
}



/* ========================================================
   PORTAL COTAÇÃO V1
   ======================================================== */

.cotacao-portal-panel {
    overflow: visible;
}


.portal-cotacao-stepper {
    display: flex;
    align-items: center;

    padding: 20px 24px;

    border-bottom: 1px solid #edf1f5;
}


.portal-cotacao-step {
    display: flex;
    align-items: center;
    gap: 8px;

    color: #94a3b8;

    white-space: nowrap;
}


.portal-cotacao-step span {
    width: 28px;
    height: 28px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #cbd5e1;
    border-radius: 50%;

    background: #fff;

    font-size: 11px;
    font-weight: 800;
}


.portal-cotacao-step strong {
    font-size: 11px;
}


.portal-cotacao-step.active {
    color: #3296A6;
}


.portal-cotacao-step.active span {
    border-color: #3296A6;
    background: #3296A6;
    color: #fff;
}


.portal-cotacao-step.completed {
    color: #107c41;
}


.portal-cotacao-step.completed span {
    border-color: #107c41;
    background: #107c41;
    color: #fff;
}


.portal-cotacao-line {
    flex: 1;
    min-width: 25px;
    height: 1px;

    margin: 0 10px;

    background: #dfe5ec;
}


.portal-cotacao-section {
    padding: 24px;
}


.portal-cotacao-section-header {
    margin-bottom: 22px;
}


.portal-cotacao-section-header h3 {
    margin: 4px 0 6px;

    color: #000000;

    font-size: 18px;
}


.portal-cotacao-section-header p {
    margin: 0;

    color: #727271;

    font-size: 12px;
}


.portal-cotacao-grid {
    display: grid;

    gap: 16px;

    margin-bottom: 18px;
}


.portal-cotacao-grid.two {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}


.portal-cotacao-grid.three {
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
}


.portal-cotacao-grid label {
    display: grid;
    gap: 6px;
}


.portal-cotacao-grid label > span,
.portal-field-title {
    color: #000000;

    font-size: 11px;
    font-weight: 700;
}


.portal-cotacao-grid input,
.portal-multiselect-trigger,
.portal-multiselect-dropdown > input[type="search"] {
    width: 100%;
    min-height: 40px;

    padding: 0 11px;

    border: 1px solid #d6dde7;
    border-radius: 8px;

    background: #fff;

    color: #000000;

    font: inherit;
    font-size: 12px;

    box-sizing: border-box;
}


.portal-cotacao-grid input:focus,
.portal-multiselect-dropdown > input[type="search"]:focus {
    outline: none;
    border-color: #3296A6;

    box-shadow:
        0 0 0 3px
        rgba(49, 87, 232, .10);
}


.portal-cotacao-grid small {
    color: #94a3b8;

    font-size: 10px;
}


.portal-competitor-section {
    margin-top: 10px;

    padding-top: 20px;

    border-top: 1px solid #edf1f5;
}


.portal-competitor-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    margin-bottom: 12px;
}


.portal-competitor-header > strong {
    color: #000000;

    font-size: 12px;
}


.portal-competitor-header > div {
    display: flex;
    gap: 7px;
}


.portal-competitor-grid {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 9px;
}


.portal-competitor {
    min-height: 68px;

    display: flex;
    align-items: center;

    gap: 9px;

    padding: 10px 12px;

    border: 1px solid #dce3ec;
    border-radius: 10px;

    background: #fff;

    cursor: pointer;
}


.portal-competitor.selected {
    border-color: #3296A6;
    background: #f5f7ff;
}


.portal-competitor input {
    accent-color: #3296A6;
}


.portal-competitor span {
    display: grid;
    gap: 2px;
}


.portal-competitor strong {
    color: #000000;

    font-size: 11px;
}


.portal-competitor small {
    color: #727271;

    font-size: 9px;
}


.portal-cotacao-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    margin-top: 22px;
}


.portal-cotacao-actions-right {
    display: flex;
    gap: 8px;
}


.portal-cotacao-message {
    margin-top: 16px;

    padding: 10px 12px;

    border-radius: 8px;

    font-size: 11px;
}


.portal-cotacao-message.warning {
    border: 1px solid #f5d79b;
    background: #fff8e8;
    color: #8a5a00;
}


.portal-cotacao-message.error {
    border: 1px solid #fecaca;
    background: #fff5f5;
    color: #b42318;
}


.portal-cotacao-message.success {
    border: 1px solid #b7e5c9;
    background: #f2fbf6;
    color: #107c41;
}


.portal-cotacao-company-info {
    display: flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 18px;

    padding: 9px 12px;

    border-radius: 8px;

    background: #f5f7fa;

    font-size: 11px;
}


.portal-cotacao-company-info span {
    color: #727271;
}


.portal-cotacao-company-info strong {
    color: #000000;
}


.portal-classification-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 16px;

    margin-top: 18px;
}


.portal-multiselect {
    position: relative;

    display: grid;
    gap: 6px;
}


.portal-multiselect-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;

    cursor: pointer;

    text-align: left;
}


.portal-multiselect-dropdown {
    position: absolute;

    top: calc(100% + 6px);
    left: 0;
    right: 0;

    z-index: 30;

    padding: 9px;

    border: 1px solid #d9e0e9;
    border-radius: 10px;

    background: #fff;

    box-shadow:
        0 14px 30px
        rgba(15, 23, 42, .12);
}


.portal-multiselect-dropdown > input {
    margin-bottom: 8px;
}


.portal-multiselect-options {
    max-height: 250px;

    overflow-y: auto;
}


.portal-select-option {
    display: flex;
    align-items: flex-start;

    gap: 8px;

    padding: 7px 5px;

    border-radius: 6px;

    color: #000000;

    font-size: 11px;

    cursor: pointer;
}


.portal-select-option:hover {
    background: #f6f8fb;
}


.portal-select-option input {
    margin-top: 1px;

    accent-color: #3296A6;
}


.portal-select-empty {
    padding: 15px 8px;

    color: #94a3b8;

    font-size: 11px;

    text-align: center;
}


.portal-cotacao-results {
    margin-top: 24px;

    padding-top: 22px;

    border-top: 1px solid #edf1f5;
}


.portal-cotacao-kpis {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 10px;

    margin-bottom: 18px;
}


.portal-cotacao-kpis article {
    padding: 11px 13px;

    border: 1px solid #e1e7ef;
    border-radius: 10px;

    background: #fff;
}


.portal-cotacao-kpis span {
    display: block;

    margin-bottom: 5px;

    color: #727271;

    font-size: 10px;
}


.portal-cotacao-kpis strong {
    color: #000000;

    font-size: 17px;
}


.portal-preview-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    margin-bottom: 9px;
}


.portal-preview-header h3 {
    margin: 3px 0 0;

    color: #000000;

    font-size: 15px;
}


#portal-cotacao-preview-info {
    color: #727271;

    font-size: 10px;
    font-weight: 700;
}


.portal-preview-table-wrap {
    max-height: 470px;

    overflow: auto;

    border: 1px solid #e1e7ef;
    border-radius: 10px;
}


.portal-preview-table {
    width: 100%;

    border-collapse: collapse;

    font-size: 11px;
}


.portal-preview-table th,
.portal-preview-table td {
    padding: 9px 10px;

    border-bottom: 1px solid #edf1f5;

    text-align: left;

    white-space: nowrap;
}


.portal-preview-table th {
    position: sticky;
    top: 0;

    z-index: 2;

    background: #f7f9fc;

    color: #727271;

    font-size: 9px;
    font-weight: 800;

    text-transform: uppercase;
}


.portal-preview-table td {
    color: #000000;
}


.portal-preview-table td strong {
    color: #000000;
}


.portal-preview-empty {
    padding: 28px !important;

    color: #727271 !important;

    text-align: center !important;
}


@media (max-width: 1050px) {

    .portal-competitor-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }


    .portal-cotacao-step strong {
        display: none;
    }
}


@media (max-width: 700px) {

    .portal-cotacao-grid.two,
    .portal-cotacao-grid.three,
    .portal-classification-grid,
    .portal-cotacao-kpis {
        grid-template-columns: 1fr;
    }


    .portal-competitor-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .portal-cotacao-actions,
    .portal-competitor-header {
        align-items: stretch;
        flex-direction: column;
    }


    .portal-cotacao-actions-right {
        flex-direction: column;
    }
}



/* ========================================================
   PORTAL COTAÇÃO V13
   Ajustes Etapa 1 / Etapa 2
   ======================================================== */


/* --------------------------------------------------------
   Campos Etapa 1 alinhados
   -------------------------------------------------------- */

.portal-cotacao-grid.two {
    align-items: start;
}


.portal-cotacao-grid > label {
    align-content: start;
}


.portal-cotacao-grid > label > input {
    height: 44px;
}


#portal-cotacao-nome,
#portal-cotacao-cep {
    height: 44px;
}


/* --------------------------------------------------------
   Botões primários do wizard
   -------------------------------------------------------- */

.cotacao-portal-panel .primary-action {
    appearance: none;
    -webkit-appearance: none;

    min-height: 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    padding: 0 16px;

    border: 1px solid #3296A6;
    border-radius: 8px;

    background: #3296A6;

    color: #ffffff;

    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    cursor: pointer;

    box-shadow: none;

    transition:
        background .15s ease,
        border-color .15s ease,
        transform .05s ease;
}


.cotacao-portal-panel .primary-action:hover {
    background: #287C89;
    border-color: #287C89;
}


.cotacao-portal-panel .primary-action:active {
    transform: translateY(1px);
}


.cotacao-portal-panel .primary-action:focus-visible {
    outline: none;

    box-shadow:
        0 0 0 3px
        rgba(49, 87, 232, .18);
}


.cotacao-portal-panel .primary-action:disabled {
    opacity: .55;

    cursor: not-allowed;

    transform: none;
}


/* --------------------------------------------------------
   Multiselect
   -------------------------------------------------------- */

.portal-multiselect-trigger {
    appearance: none;
    -webkit-appearance: none;

    min-height: 44px;

    padding: 0 12px;
}


.portal-multiselect-dropdown {
    padding: 10px;
}


.portal-multiselect-dropdown > input[type="search"] {
    display: block;

    width: 100%;
    height: 40px;
    min-height: 40px;

    margin: 0 0 8px 0;

    padding: 0 11px;

    box-sizing: border-box;
}


/* --------------------------------------------------------
   Checkbox normal - correção principal
   -------------------------------------------------------- */

.portal-select-option {
    min-height: 34px;

    display: flex;
    align-items: center;

    gap: 9px;

    padding: 7px 8px;

    box-sizing: border-box;
}


.portal-select-option input[type="checkbox"] {
    appearance: auto;
    -webkit-appearance: checkbox;

    width: 16px !important;
    height: 16px !important;

    min-width: 16px !important;
    min-height: 16px !important;

    max-width: 16px !important;
    max-height: 16px !important;

    flex: 0 0 16px;

    margin: 0;

    padding: 0 !important;

    box-shadow: none !important;

    accent-color: #3296A6;

    cursor: pointer;
}


.portal-select-option > span {
    flex: 1;

    min-width: 0;

    color: #000000;

    font-size: 11px;
    line-height: 1.35;

    text-align: left;

    white-space: normal;

    overflow-wrap: anywhere;
}


.portal-select-option:hover {
    background: #f5f7fb;
}


.portal-select-option:has(
    input[type="checkbox"]:checked
) {
    background: #eef7f8;

    color: #3296A6;
}


.portal-select-option:has(
    input[type="checkbox"]:checked
) > span {
    color: #287C89;

    font-weight: 600;
}


/* --------------------------------------------------------
   Scroll da lista
   -------------------------------------------------------- */

.portal-multiselect-options {
    max-height: 260px;

    overflow-x: hidden;
    overflow-y: auto;

    padding-right: 3px;
}


/* --------------------------------------------------------
   Ações
   -------------------------------------------------------- */

.portal-cotacao-actions .primary-action {
    white-space: nowrap;
}


.portal-cotacao-actions-right {
    align-items: center;
}


/* ========================================================
   PORTAL COTAÇÃO V15 - ETAPA 3
   ======================================================== */

.portal-pricing-stage {
    padding-top: 24px;
}


.cotacao-pricing-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 18px;
}


.cotacao-pricing-header h2 {
    margin: 4px 0 6px;

    font-size: 19px;
    color: #000000;
}


.cotacao-pricing-header p {
    margin: 0;

    font-size: 12px;
    color: #727271;
}


.cotacao-engine-badge,
.pricing-total-badge,
.pricing-count-badge {
    display: inline-flex;
    align-items: center;

    min-height: 28px;

    padding: 0 10px;

    border: 1px solid #dbe3ee;
    border-radius: 999px;

    background: #f7f9fc;

    color: #475569;

    font-size: 10px;
    font-weight: 800;

    white-space: nowrap;
}


.pricing-total-badge.invalid {
    border-color: #f3c4c4;
    background: #fff2f2;
    color: #b42318;
}


.cotacao-pricing-summary {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 10px;

    margin-bottom: 18px;
}


.pricing-summary-card {
    padding: 12px 14px;

    border: 1px solid #e1e7ef;
    border-radius: 10px;

    background: #fff;
}


.pricing-summary-card span {
    display: block;

    margin-bottom: 5px;

    color: #727271;

    font-size: 10px;
}


.pricing-summary-card strong {
    color: #000000;

    font-size: 15px;
}


.cotacao-pricing-content {
    display: grid;
    gap: 14px;
}


.pricing-config-section {
    padding: 16px;

    border: 1px solid #e1e7ef;
    border-radius: 12px;

    background: #fff;
}


.pricing-config-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 15px;

    margin-bottom: 14px;
}


.pricing-config-header h3 {
    margin: 0 0 4px;

    color: #000000;

    font-size: 13px;
}


.pricing-config-header p {
    margin: 0;

    color: #727271;

    font-size: 10px;
}


.pricing-three-cols,
.pricing-four-cols,
.pricing-two-fields,
.pricing-small-field {
    display: grid;

    gap: 12px;
}


.pricing-three-cols {
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
}


.pricing-four-cols {
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
}


.pricing-two-fields {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}


.pricing-small-field {
    grid-template-columns:
        minmax(160px, 280px);
}


.pricing-two-cols {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 14px;
}


.pricing-config-section label {
    display: grid;

    gap: 6px;

    color: #000000;

    font-size: 10px;
    font-weight: 700;
}


.pricing-config-section input[type="number"],
.pricing-config-section input[type="text"],
.pricing-config-section select {
    width: 100%;
    min-height: 40px;

    box-sizing: border-box;

    padding: 0 10px;

    border: 1px solid #d6dde7;
    border-radius: 8px;

    background: #fff;

    color: #000000;

    font: inherit;
    font-size: 11px;
}


.pricing-config-section input:focus,
.pricing-config-section select:focus {
    outline: none;

    border-color: #3296A6;

    box-shadow:
        0 0 0 3px
        rgba(49, 87, 232, .10);
}


.pricing-curve-grid {
    display: grid;

    grid-template-columns:
        80px
        minmax(220px, 1fr)
        minmax(120px, .45fr);

    align-items: center;

    gap: 12px;

    margin-top: 8px;
}


.pricing-curve-head {
    margin-top: 0;

    color: #727271;

    font-size: 9px;
    font-weight: 800;

    text-transform: uppercase;
}


.pricing-curve-letter {
    width: 30px;
    height: 30px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: #f1f4f8;

    color: #000000;

    font-size: 12px;
}


.pricing-selection-box {
    max-height: 250px;

    margin-top: 9px;

    overflow-y: auto;

    border: 1px solid #e2e8f0;
    border-radius: 9px;

    padding: 6px;
}


.pricing-selection-option {
    display: flex;
    align-items: center;

    gap: 8px;

    min-height: 32px;

    padding: 6px 7px;

    border-radius: 6px;

    color: #000000;

    font-size: 10px;
    font-weight: 500;

    cursor: pointer;
}


.pricing-selection-option:hover {
    background: #f6f8fb;
}


.pricing-selection-option.selected {
    background: #eef7f8;
}


.pricing-selection-option input[type="checkbox"],
.pricing-rule-card input[type="checkbox"],
.pricing-switch input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;

    min-width: 16px !important;
    min-height: 16px !important;

    margin: 0;

    padding: 0 !important;

    accent-color: #3296A6;
}


.pricing-selection-option span {
    min-width: 0;

    overflow-wrap: anywhere;
}


.pricing-rules-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 10px;
}


.pricing-rule-card {
    min-height: 64px;

    display: flex !important;
    align-items: flex-start;

    gap: 9px !important;

    padding: 11px;

    border: 1px solid #e1e7ef;
    border-radius: 9px;

    cursor: pointer;
}


.pricing-rule-card > span {
    display: grid;
    gap: 3px;
}


.pricing-rule-card strong {
    color: #000000;

    font-size: 10px;
}


.pricing-rule-card small {
    color: #727271;

    font-size: 9px;
    font-weight: 400;
}


.pricing-switch {
    display: flex !important;
    align-items: center;
}


.pricing-footer-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    margin-top: 20px;
}


.pricing-footer-right {
    display: flex;
    align-items: center;

    gap: 8px;
}


#portal-pricing-message {
    margin-top: 16px;
}


@media (max-width: 1000px) {

    .cotacao-pricing-summary,
    .pricing-four-cols,
    .pricing-rules-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .pricing-two-cols {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 700px) {

    .cotacao-pricing-header,
    .pricing-config-header,
    .pricing-footer-actions {
        flex-direction: column;
    }


    .cotacao-pricing-summary,
    .pricing-three-cols,
    .pricing-four-cols,
    .pricing-two-fields,
    .pricing-rules-grid {
        grid-template-columns: 1fr;
    }


    .pricing-curve-grid {
        grid-template-columns: 55px 1fr;
    }


    .pricing-curve-grid > :last-child {
        grid-column: 2;
    }


    .pricing-footer-right {
        width: 100%;

        flex-direction: column;
        align-items: stretch;
    }
}




/* ========================================================
   PORTAL COTAÇÃO V16
   Ajuste visual - fabricantes e classificações
   ======================================================== */


/* Caixa geral das opções */

#pricing-manufacturers,
#pricing-classes {
    display: flex;
    flex-direction: column;

    gap: 2px;

    max-height: 250px;

    overflow-x: hidden;
    overflow-y: auto;

    padding: 6px;

    box-sizing: border-box;
}


/* Cada linha */

#pricing-manufacturers .pricing-selection-option,
#pricing-classes .pricing-selection-option {
    width: 100%;
    min-height: 34px;

    display: flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: flex-start !important;

    gap: 9px !important;

    padding: 7px 8px !important;

    margin: 0 !important;

    box-sizing: border-box;

    border-radius: 6px;

    cursor: pointer;
}


/* Checkbox */

#pricing-manufacturers
.pricing-selection-option
input[type="checkbox"],

#pricing-classes
.pricing-selection-option
input[type="checkbox"] {

    appearance: auto;
    -webkit-appearance: checkbox;

    width: 16px !important;
    height: 16px !important;

    min-width: 16px !important;
    min-height: 16px !important;

    max-width: 16px !important;
    max-height: 16px !important;

    flex: 0 0 16px !important;

    margin: 0 !important;
    padding: 0 !important;

    position: static !important;

    box-shadow: none !important;

    accent-color: #3296A6;

    cursor: pointer;
}


/* Texto */

#pricing-manufacturers
.pricing-selection-option > span,

#pricing-classes
.pricing-selection-option > span {

    display: block !important;

    flex: 1 1 auto;

    min-width: 0;

    margin: 0 !important;
    padding: 0 !important;

    color: #000000;

    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;

    text-align: left !important;

    white-space: normal;

    overflow-wrap: anywhere;
}


/* Hover */

#pricing-manufacturers
.pricing-selection-option:hover,

#pricing-classes
.pricing-selection-option:hover {

    background: #f5f7fb;
}


/* Selecionado */

#pricing-manufacturers
.pricing-selection-option.selected,

#pricing-classes
.pricing-selection-option.selected {

    background: #eef7f8;
}


#pricing-manufacturers
.pricing-selection-option.selected > span,

#pricing-classes
.pricing-selection-option.selected > span {

    color: #287C89;
}


/* Mantém o scroll limpo */

#pricing-manufacturers::-webkit-scrollbar,
#pricing-classes::-webkit-scrollbar {
    width: 7px;
}


#pricing-manufacturers::-webkit-scrollbar-thumb,
#pricing-classes::-webkit-scrollbar-thumb {
    background: #a8afb8;

    border-radius: 10px;
}


/* Altura equivalente entre os dois cards */

.pricing-two-cols
.pricing-config-section {
    min-width: 0;
}


/* Busca continua ocupando toda largura */

#pricing-manufacturer-search,
#pricing-class-search {
    width: 100%;

    box-sizing: border-box;
}




/* ========================================================
   PORTAL COTAÇÃO V17
   Correção da busca em fabricantes/classificações
   ======================================================== */

#pricing-manufacturers
.pricing-selection-option.hidden,

#pricing-classes
.pricing-selection-option.hidden {
    display: none !important;
}



/* ========================================================
   PORTAL COTAÇÃO V18 - ETAPA 4
   ======================================================== */

#portal-cotacao-etapa-4 {
    padding-top: 24px;
}


.portal-progress-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;

    gap: 20px;

    margin-bottom: 20px;
}


.portal-progress-header h2 {
    margin: 4px 0 6px;

    color: #000000;

    font-size: 20px;
}


.portal-progress-header p {
    margin: 0;

    color: #727271;

    font-size: 12px;
}


.portal-progress-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 30px;

    padding: 0 12px;

    border-radius: 999px;

    background: #f1f5f9;

    color: #727271;

    font-size: 10px;
    font-weight: 800;
}


.portal-progress-status.running {
    background: #eef7f8;
    color: #3296A6;
}


.portal-progress-status.completed {
    background: #ecfdf3;
    color: #067647;
}


.portal-progress-status.failed {
    background: #fff1f2;
    color: #b42318;
}


.portal-progress-main {
    padding: 18px;

    border: 1px solid #e1e7ef;
    border-radius: 12px;

    background: #fff;
}


.portal-progress-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 10px;

    color: #000000;

    font-size: 12px;
}


.portal-progress-percent {
    color: #3296A6;

    font-size: 18px;
}


.portal-progress-track,
.portal-mini-progress {
    overflow: hidden;

    border-radius: 999px;

    background: #edf1f6;
}


.portal-progress-track {
    height: 10px;
}


.portal-progress-bar,
.portal-mini-progress > div {
    height: 100%;

    background: #3296A6;

    border-radius: inherit;

    transition: width .25s ease;
}


.portal-progress-counter {
    margin-top: 8px;

    color: #727271;

    font-size: 10px;
}


.portal-progress-metrics {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 10px;

    margin-top: 14px;
}


.portal-progress-metric {
    padding: 13px 14px;

    border: 1px solid #e1e7ef;
    border-radius: 10px;

    background: #fff;
}


.portal-progress-metric span {
    display: block;

    margin-bottom: 5px;

    color: #727271;

    font-size: 9px;
}


.portal-progress-metric strong {
    color: #000000;

    font-size: 17px;
}


.portal-progress-section {
    margin-top: 18px;
}


.portal-progress-section-title {
    margin-bottom: 9px;

    color: #000000;

    font-size: 11px;
    font-weight: 800;
}


.portal-progress-competitors {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;
}


.portal-competitor-progress {
    padding: 13px;

    border: 1px solid #e1e7ef;
    border-radius: 10px;

    background: #fff;
}


.portal-competitor-top,
.portal-competitor-details {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;
}


.portal-competitor-top strong {
    color: #000000;

    font-size: 11px;
}


.portal-competitor-status {
    color: #727271;

    font-size: 9px;
    font-weight: 800;
}


.portal-competitor-status.running {
    color: #3296A6;
}


.portal-competitor-status.completed {
    color: #067647;
}


.portal-competitor-status.failed {
    color: #b42318;
}


.portal-competitor-details {
    margin: 7px 0;

    color: #727271;

    font-size: 9px;
}


.portal-mini-progress {
    height: 5px;
}


.portal-progress-message {
    margin-top: 16px;

    padding: 11px 13px;

    border: 1px solid #dce3ed;
    border-radius: 9px;

    background: #f8fafc;

    color: #475569;

    font-size: 10px;
}


.portal-progress-message.completed {
    border-color: #abefc6;
    background: #ecfdf3;
    color: #067647;
}


.portal-progress-message.failed {
    border-color: #fecdca;
    background: #fff1f2;
    color: #b42318;
}


.portal-progress-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 10px;

    margin-top: 18px;
}


.portal-progress-actions
.primary-action:disabled {
    opacity: .55;

    cursor: not-allowed;
}


.portal-result-placeholder {
    margin-top: 24px;

    padding: 30px;

    border: 1px solid #e1e7ef;
    border-radius: 12px;

    background: #fff;
}


.portal-result-placeholder h2 {
    margin: 5px 0 7px;

    color: #000000;

    font-size: 20px;
}


.portal-result-placeholder p {
    margin: 0;

    color: #727271;

    font-size: 12px;
}


@media (max-width: 900px) {

    .portal-progress-metrics,
    .portal-progress-competitors {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 600px) {

    .portal-progress-header,
    .portal-progress-actions {
        flex-direction: column;
        align-items: stretch;
    }


    .portal-progress-metrics,
    .portal-progress-competitors {
        grid-template-columns: 1fr;
    }
}



/* ========================================================
   PORTAL COTAÇÃO V20 - ETAPA 5
   ======================================================== */

#portal-cotacao-etapa-5 {
    padding-top: 20px;
}


.portal-result-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 16px;
}


.portal-result-header h2 {
    margin: 4px 0 5px;
    font-size: 20px;
    color: #000000;
}


.portal-result-header p {
    margin: 0;
    color: #727271;
    font-size: 11px;
}


.portal-result-status {
    padding: 7px 12px;
    border-radius: 999px;
    background: #ecfdf3;
    color: #067647;
    font-size: 10px;
    font-weight: 800;
}


.portal-result-sticky-bar {
    position: sticky;
    top: 0;
    z-index: 15;
    padding: 8px 0;
    background: #f8fafc;
}


.portal-result-kpis-shell {
    display: flex;
    align-items: stretch;
    gap: 8px;
}


.portal-result-kpis {
    flex: 1;
    display: grid;
    grid-template-columns:
        repeat(auto-fit, minmax(145px, 1fr));
    gap: 8px;
}


.portal-result-kpi {
    min-height: 78px;
    padding: 11px 12px;
    border: 1px solid #e1e7ef;
    border-radius: 10px;
    background: #fff;
}


.portal-result-kpi span,
.portal-result-kpi small {
    display: block;
    color: #727271;
    font-size: 9px;
}


.portal-result-kpi strong {
    display: block;
    margin: 4px 0;
    color: #000000;
    font-size: 15px;
}


.portal-result-kpi.success {
    border-color: #abefc6;
    background: #f6fef9;
}


.portal-result-kpi.loss,
.portal-result-kpi-danger {
    border-color: #fecdca;
    background: #fffafa;
}


.portal-result-kpi-competitor {
    background: #fbfcff;
}


.portal-result-tools-toggle {
    position: relative;
    width: 42px;
    min-width: 42px;
    border: 1px solid #dce3ed;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    font-size: 17px;
}


.portal-result-tools-count {
    position: absolute;
    right: -5px;
    top: -5px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #3296A6;
    color: #fff;
    font-size: 9px;
    font-weight: 800;
}


.portal-result-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
    gap: 16px;
    margin-top: 8px;
    padding: 14px;
    border: 1px solid #e1e7ef;
    border-radius: 10px;
    background: #fff;
}


.portal-result-section-title {
    margin-bottom: 8px;
    color: #727271;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
}


.portal-result-filter-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 8px;
}


.portal-result-filter-grid input,
.portal-result-filter-grid select {
    width: 100%;
    min-height: 34px;
    padding: 0 9px;
    border: 1px solid #dce3ed;
    border-radius: 7px;
    background: #fff;
    color: #000000;
    font-size: 10px;
    box-sizing: border-box;
}


.portal-result-action-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}


.portal-result-discount-panel {
    margin: 10px 0 14px;
    padding: 16px;
    border: 1px solid #dce3ed;
    border-radius: 10px;
    background: #fff;
}


.portal-result-discount-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}


.portal-result-discount-header strong {
    color: #000000;
    font-size: 12px;
}


.portal-result-discount-header p {
    margin: 4px 0 0;
    color: #727271;
    font-size: 10px;
}


.portal-result-discount-switch {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #000000;
    font-size: 10px;
    font-weight: 700;
}


.portal-result-discount-limit {
    margin-bottom: 10px;
}


.portal-result-discount-limit label {
    display: block;
    margin-bottom: 5px;
    color: #475569;
    font-size: 10px;
}


.portal-result-discount-limit > div {
    display: flex;
    align-items: center;
    width: 170px;
    border: 1px solid #dce3ed;
    border-radius: 7px;
    overflow: hidden;
}


.portal-result-discount-limit span {
    padding-left: 9px;
    color: #727271;
    font-size: 10px;
}


.portal-result-discount-limit input {
    width: 100%;
    border: 0;
    padding: 8px;
    outline: none;
}


.portal-result-discount-search {
    width: 100%;
    min-height: 34px;
    margin-bottom: 7px;
    padding: 0 9px;
    border: 1px solid #dce3ed;
    border-radius: 7px;
    box-sizing: border-box;
}


.portal-result-discount-options {
    max-height: 220px;
    overflow-y: auto;
    padding: 5px;
    border: 1px solid #e4e9f0;
    border-radius: 8px;
}


.portal-result-discount-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 7px;
    border-radius: 6px;
    color: #000000;
    font-size: 10px;
}


.portal-result-discount-option:hover {
    background: #f5f7fb;
}


.portal-result-discount-option.hidden {
    display: none !important;
}


.portal-result-discount-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}


.portal-result-table-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 12px 0 7px;
    color: #727271;
    font-size: 10px;
}


.portal-result-pagination {
    display: flex;
    gap: 7px;
}


.portal-result-table-wrapper {
    position: relative;
    max-height: 620px;
    overflow: auto;
    border: 1px solid #dfe5ed;
    border-radius: 10px;
    background: #fff;
}


.portal-result-table {
    width: max-content;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 10px;
}


.portal-result-table th,
.portal-result-table td {
    min-width: 105px;
    padding: 8px 9px;
    border-right: 1px solid #edf0f4;
    border-bottom: 1px solid #edf0f4;
    background: #fff;
    white-space: nowrap;
    vertical-align: middle;
}


.portal-result-table thead th {
    position: sticky;
    top: 0;
    z-index: 7;
    background: #f6f8fb;
}


.portal-result-sort-button {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 5px;
    border: 0;
    padding: 0;
    background: transparent;
    color: #475569;
    font-size: 9px;
    font-weight: 800;
    cursor: pointer;
}


.portal-result-product-cell {
    min-width: 250px !important;
    max-width: 300px;
    white-space: normal !important;
}


/* Primeiras 5 colunas congeladas */

.portal-result-table th:nth-child(1),
.portal-result-table td:nth-child(1) {
    position: sticky;
    left: 0;
    min-width: 85px;
    width: 85px;
    z-index: 5;
}


.portal-result-table th:nth-child(2),
.portal-result-table td:nth-child(2) {
    position: sticky;
    left: 103px;
    min-width: 125px;
    width: 125px;
    z-index: 5;
}


.portal-result-table th:nth-child(3),
.portal-result-table td:nth-child(3) {
    position: sticky;
    left: 246px;
    min-width: 250px;
    width: 250px;
    z-index: 5;
}


.portal-result-table th:nth-child(4),
.portal-result-table td:nth-child(4) {
    position: sticky;
    left: 514px;
    min-width: 105px;
    width: 105px;
    z-index: 5;
}


.portal-result-table th:nth-child(5),
.portal-result-table td:nth-child(5) {
    position: sticky;
    left: 637px;
    min-width: 105px;
    width: 105px;
    z-index: 5;
    box-shadow: 4px 0 6px rgba(15, 23, 42, .06);
}


.portal-result-table thead
th:nth-child(-n+5) {
    z-index: 10;
    background: #f6f8fb;
}


.portal-result-th-competitor {
    background: #f1f5ff !important;
}


.portal-result-th-club {
    background: #edfdf4 !important;
}


.portal-result-th-nid {
    background: #fff8e7 !important;
}


.portal-result-price-link {
    color: #3296A6;
    font-weight: 700;
    text-decoration: none;
}


.portal-result-price-link:hover {
    text-decoration: underline;
}


.portal-result-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    padding: 3px 6px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
}


.portal-result-badge.yes {
    background: #ecfdf3;
    color: #067647;
}


.portal-result-badge.no {
    background: #f1f5f9;
    color: #727271;
}


.portal-result-badge.warning {
    background: #fff4e5;
    color: #b54708;
}


.portal-result-positive {
    color: #067647;
    font-weight: 700;
}


.portal-result-negative {
    color: #b42318;
    font-weight: 700;
}


.portal-result-manual-input {
    width: 84px;
    padding: 5px 6px;
    border: 1px solid #3296A6;
    border-radius: 6px;
    background: #fff;
    font-size: 10px;
}


#portal-result-manual-toggle.ativo {
    border-color: #3296A6;
    background: #eef7f8;
    color: #3296A6;
}


.portal-result-footer {
    display: flex;
    justify-content: flex-start;
    margin-top: 15px;
}


@media (max-width: 900px) {

    .portal-result-toolbar {
        grid-template-columns: 1fr;
    }

    .portal-result-filter-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 600px) {

    .portal-result-header,
    .portal-result-table-info,
    .portal-result-discount-header {
        flex-direction: column;
        align-items: stretch;
    }

    .portal-result-filter-grid {
        grid-template-columns: 1fr;
    }
}



/* ========================================================
   PORTAL COTAÇÃO V20.1
   PARIDADE VISUAL COM ETAPA 5 DO ADMIN
   ======================================================== */


/* ========================================================
   SIDEBAR RECOLHIDA NA ETAPA 5
   ======================================================== */

.app-layout {
    transition:
        grid-template-columns
        .18s ease;
}


.sidebar {
    transition:
        width .18s ease,
        padding .18s ease;
}


.app-layout.sidebar-collapsed {
    grid-template-columns:
        68px
        minmax(0, 1fr);
}


.app-layout.sidebar-collapsed
.sidebar {
    width: 68px;

    padding:
        18px
        10px;
}


.app-layout.sidebar-collapsed
.sidebar-brand {
    justify-content: center;

    gap: 0;

    padding:
        2px
        0
        20px;
}


.app-layout.sidebar-collapsed
.sidebar-brand-copy,

.app-layout.sidebar-collapsed
.sidebar-bottom,

.app-layout.sidebar-collapsed
.nav-item > span:not(.nav-icon) {
    display: none !important;
}


.app-layout.sidebar-collapsed
.sidebar nav {
    align-items: center;
}


.app-layout.sidebar-collapsed
.nav-item {
    width: 44px;
    min-width: 44px;
    height: 44px;

    justify-content: center;

    gap: 0;

    padding: 0;
}


.app-layout.sidebar-collapsed
.nav-icon {
    width: auto;

    font-size: 16px;
}



/* ========================================================
   HEADER
   ======================================================== */

#portal-cotacao-etapa-5 {
    padding-top: 0;
}


.portal-result-header {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 16px;

    margin-bottom: 0;

    padding:
        18px
        18px
        14px;

    border:
        1px solid #dfe5ed;

    border-radius:
        10px
        10px
        0
        0;

    background: #fff;
}


.portal-result-header h2 {
    margin:
        2px
        0
        3px;

    font-size: 20px;
}


.portal-result-header p {
    margin: 0;

    color: #788396;

    font-size: 10px;
}



/* ========================================================
   KPIs COMPACTOS
   ======================================================== */

.portal-result-sticky-bar {
    position: sticky;

    top: 8px;

    z-index: 20;

    margin:
        0
        0
        10px;

    padding:
        7px
        0
        8px;

    background:
        rgba(
            247,
            249,
            252,
            .97
        );

    backdrop-filter:
        blur(6px);

    border-bottom:
        1px solid
        rgba(
            222,
            228,
            236,
            .9
        );
}


.portal-result-kpis-shell {
    position: relative;

    min-width: 0;

    padding-right: 46px;
}


.portal-result-kpis {
    display: flex;

    flex-wrap: wrap;

    gap: 6px;

    padding:
        10px
        10px
        8px;

    border-left:
        1px solid #dfe5ed;

    border-right:
        1px solid #dfe5ed;

    background: #eefbfd;
}


.portal-result-kpi {
    flex:
        0
        0
        auto;

    min-width: 105px;

    min-height: 0;

    padding:
        8px
        9px;

    border:
        1px solid #e1e6ee;

    border-radius: 6px;

    background: #fff;
}


.portal-result-kpi span {
    display: block;

    margin-bottom: 3px;

    color: #748095;

    font-size: 8px;
}


.portal-result-kpi strong {
    display: block;

    margin: 0;

    color: #172136;

    font-size: 12px;
}


.portal-result-kpi small {
    display: block;

    margin-top: 2px;

    color: #6f7b8c;

    font-size: 7px;
}


.portal-result-kpi-danger {
    background: #fff0f0;
}


.portal-result-kpi.success {
    border-color: #8bd8a8;

    background: #effdf4;
}


.portal-result-kpi.loss {
    border-color: #ef9b9b;

    background: #fff0f0;
}


.portal-result-kpi-competitor {
    min-width: 165px;

    padding:
        9px
        10px;

    border-color: #7fa5ff;

    background: #eff5ff;
}


.portal-result-kpi-competitor
> span {
    margin-bottom: 5px;

    color: #596984;

    font-size: 8px;

    font-weight: 750;
}


.portal-result-kpi-competitor
> strong {
    color: #245bd4;

    font-size: 18px;

    font-weight: 850;

    line-height: 1;
}


.portal-result-kpi-competitor
> small {
    margin-top: 4px;

    color: #78869b;

    font-size: 7px;
}



/* ========================================================
   ENGRENAGEM
   ======================================================== */

.portal-result-tools-toggle {
    position: absolute;

    top: 2px;
    right: 2px;

    width: 36px;
    min-width: 36px;
    height: 36px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 0 !important;

    border:
        1px solid #d8dee8;

    border-radius: 10px;

    background: #fff;

    color: #475467;

    box-shadow:
        0 2px 7px
        rgba(15, 23, 42, .07);

    cursor: pointer;

    font-size: 17px;

    z-index: 21;
}


.portal-result-tools-toggle:hover,

.portal-result-tools-toggle[
    aria-expanded="true"
] {
    border-color: #3976d8;

    color: #245fc0;

    background: #f3f7ff;
}


.portal-result-tools-count {
    top: -6px;
    right: -6px;

    min-width: 17px;
    height: 17px;

    border:
        2px solid #fff;

    font-size: 9px;
}



/* ========================================================
   FILTROS / AÇÕES
   ======================================================== */

.portal-result-toolbar {
    display: grid;

    grid-template-columns:
        minmax(0, 1.7fr)
        minmax(300px, .7fr);

    gap: 0;

    margin-top: 9px;

    border:
        1px solid #dfe5ed;

    border-radius: 12px;

    background: #fff;

    box-shadow:
        0 10px 30px
        rgba(15, 23, 42, .12);

    overflow: hidden;
}


.portal-result-filters,
.portal-result-actions {
    padding: 12px;
}



/* ========================================================
   INFO / PAGINAÇÃO
   ======================================================== */

.portal-result-table-info {
    display: flex;

    justify-content: space-between;
    align-items: center;

    gap: 10px;

    margin:
        0;

    padding:
        7px
        10px;

    border:
        1px solid #dfe5ed;

    border-top: 0;

    background: #fff;

    color: #526075;

    font-size: 8px;
}


.portal-result-pagination {
    gap: 5px;
}


.portal-result-pagination button {
    min-height: 26px;

    padding:
        3px
        7px;

    font-size: 8px;
}



/* ========================================================
   TABELA - DENSIDADE IGUAL AO ADMIN
   ======================================================== */

.portal-result-table-wrapper {
    position: relative;

    z-index: 1;

    width: 100%;

    max-height: 610px;

    overflow: auto;

    border:
        1px solid #d6dce6;

    border-top: 0;

    border-radius: 0;

    background: #fff;
}


.portal-result-table {
    width: max-content;

    min-width: 100%;

    border-collapse: separate;

    border-spacing: 0;

    font-size: 8px;
}


.portal-result-table th,
.portal-result-table td {
    height: 31px;

    min-width: 0;

    padding:
        5px
        7px;

    border-right:
        1px solid #dfe4ea;

    border-bottom:
        1px solid #e7ebf0;

    white-space: nowrap;

    text-align: left;
}


.portal-result-table th {
    position: sticky;

    top: 0;

    z-index: 4;

    height: 34px;

    padding: 0;

    background: #e1e5eb;

    color: #223047;

    font-size: 7px;

    font-weight: 850;
}


.portal-result-sort-button {
    width: 100%;

    height: 34px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 6px;

    padding:
        5px
        7px;

    border: 0;

    background: transparent;

    color: inherit;

    cursor: pointer;

    font: inherit;

    white-space: nowrap;
}


.portal-result-sort-button:hover {
    background:
        rgba(0,0,0,.04);
}



/* ========================================================
   CORES DAS FAMÍLIAS DE COLUNAS
   ======================================================== */

.portal-result-th-competitor {
    background:
        #2f6de1 !important;

    color:
        #fff !important;
}


.portal-result-th-quote {
    background:
        #b9d8ff !important;
}


.portal-result-th-club {
    background:
        #ffd740 !important;

    color:
        #223047 !important;
}


.portal-result-th-club-light {
    background:
        #ffebb0 !important;
}


.portal-result-th-nid {
    background:
        #d91717 !important;

    color:
        #fff !important;
}


.portal-result-th-nid-light {
    background:
        #ffd1d1 !important;
}


.portal-result-th-variation {
    background:
        #ffd9bd !important;
}


.portal-result-th-pmc {
    background:
        #d5dce6 !important;
}



/* ========================================================
   PRIMEIRAS 5 COLUNAS FIXAS
   EXATAMENTE COMO ADMIN
   ======================================================== */

/*
    1 Etiqueta      82px
    2 Cód. Barras  128px
    3 Produto      300px
    4 Custo Unit.  100px
    5 Preço Atual  100px
*/


.portal-result-table th:nth-child(1),
.portal-result-table td:nth-child(1) {
    position: sticky;

    left: 0;

    width: 82px;
    min-width: 82px;
    max-width: 82px;

    z-index: 6;
}


.portal-result-table th:nth-child(2),
.portal-result-table td:nth-child(2) {
    position: sticky;

    left: 82px;

    width: 128px;
    min-width: 128px;
    max-width: 128px;

    z-index: 6;
}


.portal-result-table th:nth-child(3),
.portal-result-table td:nth-child(3) {
    position: sticky;

    left: 210px;

    width: 300px;
    min-width: 300px;
    max-width: 300px;

    z-index: 6;
}


.portal-result-table th:nth-child(4),
.portal-result-table td:nth-child(4) {
    position: sticky;

    left: 510px;

    width: 100px;
    min-width: 100px;
    max-width: 100px;

    z-index: 6;
}


.portal-result-table th:nth-child(5),
.portal-result-table td:nth-child(5) {
    position: sticky;

    left: 610px;

    width: 100px;
    min-width: 100px;
    max-width: 100px;

    z-index: 6;

    box-shadow:
        5px 0 8px
        rgba(25, 39, 65, .08);
}


.portal-result-table
td:nth-child(-n+5) {
    background: #fff;
}


.portal-result-table
th:nth-child(-n+5) {
    background: #e1e5eb;

    z-index: 8;
}


.portal-result-table
td:nth-child(3) {
    overflow: hidden;

    text-overflow: ellipsis;

    white-space: nowrap !important;
}


.portal-result-table
tbody tr:hover
td:nth-child(-n+5) {
    background: #f8faff;
}



/* ========================================================
   EDIÇÃO MANUAL
   ======================================================== */

.portal-result-manual-input {
    width: 82px;

    min-width: 82px;

    height: 25px;

    padding:
        3px
        5px;

    border:
        1px solid #7ba0eb;

    border-radius: 4px;

    background: #fff;

    color: #15213a;

    font-size: 8px;

    font-weight: 750;

    text-align: right;

    box-sizing: border-box;
}


.portal-result-manual-input:focus {
    outline:
        2px solid
        rgba(55,105,220,.16);

    border-color: #356bd8;
}


.portal-result-manual-input:disabled {
    opacity: .55;
}



/* ========================================================
   DESCONTO POR QUANTIDADE
   ======================================================== */

.portal-result-discount-panel {
    padding: 14px;

    border:
        1px solid #dfe5ed;

    border-top: 0;

    border-radius: 0;

    background: #fbfcfe;
}


.portal-result-discount-options {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 5px;

    max-height: 180px;

    padding: 7px;

    border:
        1px solid #e0e5ec;

    border-radius: 6px;

    background: #fff;
}


.portal-result-discount-option {
    min-height: 28px;

    padding:
        5px
        7px;

    border:
        1px solid #e4e8ee;

    border-radius: 5px;

    background: #fafbfd;

    color: #455268;

    font-size: 8px;
}


.portal-result-discount-option:hover {
    border-color: #b7c8ef;

    background: #f4f7ff;
}


@media (max-width: 900px) {

    .portal-result-sticky-bar {
        top: 4px;
    }


    .portal-result-kpis-shell {
        padding-right: 42px;
    }


    .portal-result-discount-options {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }
}




/* ========================================================
   PORTAL COTAÇÃO V20.2
   MODAL DESCONTO + KPI CONCORRENTES
   ======================================================== */


/* ========================================================
   DESCONTO POR QUANTIDADE - MODAL
   MESMO COMPORTAMENTO VISUAL DO ADMIN
   ======================================================== */

.portal-result-discount-panel {
    position: fixed !important;

    top: 50%;
    left: 50%;

    transform:
        translate(-50%, -50%);

    width:
        min(
            720px,
            calc(100vw - 40px)
        );

    max-height:
        min(
            720px,
            calc(100vh - 60px)
        );

    overflow-y: auto;

    margin: 0 !important;

    padding:
        20px !important;

    border:
        1px solid
        #d8e0eb !important;

    border-radius:
        14px !important;

    background:
        #fff !important;

    box-shadow:
        0 0 0 9999px
        rgba(17, 28, 48, .48),

        0 24px 70px
        rgba(17, 28, 48, .24);

    z-index:
        10050;
}


.portal-result-discount-header {
    align-items:
        center !important;

    padding-bottom:
        14px;

    border-bottom:
        1px solid #e5eaf1;
}


.portal-result-discount-header strong {
    font-size:
        16px !important;

    color:
        #172238;
}


.portal-result-discount-header p {
    margin-top:
        5px !important;

    font-size:
        10px !important;

    line-height:
        1.5;

    color:
        #69778d;
}


.portal-result-discount-switch {
    flex:
        0
        0
        auto;

    min-width:
        145px;

    padding:
        7px
        10px;

    border:
        1px solid #d9e0ea;

    border-radius:
        7px;

    background:
        #fff;

    color:
        #354157;

    font-size:
        9px;

    font-weight:
        750;

    cursor:
        pointer;
}



/* ========================================================
   KPI CONCORRENTES
   MESMA HIERARQUIA VISUAL DO ADMIN
   ======================================================== */

.portal-result-kpi-competitor {
    min-width:
        165px !important;

    padding:
        9px
        10px !important;
}


.portal-result-kpi-competitor-name {
    display:
        block;

    margin-bottom:
        5px !important;

    color:
        #596984 !important;

    font-size:
        8px !important;

    font-weight:
        750;
}


.portal-result-kpi-best-main {
    display:
        flex;

    align-items:
        baseline;

    gap:
        5px;

    margin-top:
        2px;
}


.portal-result-kpi-best-main strong {
    color:
        #245bd4;

    font-size:
        18px;

    font-weight:
        850;

    line-height:
        1;
}


.portal-result-kpi-best-main span {
    margin:
        0 !important;

    color:
        #455b82 !important;

    font-size:
        8px !important;

    font-weight:
        750;
}


.portal-result-kpi-best-count {
    display:
        block;

    margin-top:
        4px !important;

    color:
        #78869b !important;

    font-size:
        7px !important;
}


.portal-result-kpi-coverage {
    display:
        flex;

    align-items:
        baseline;

    gap:
        4px;

    margin-top:
        7px;

    padding-top:
        6px;

    border-top:
        1px solid #ccd9f2;
}


.portal-result-kpi-coverage b {
    color:
        #445875;

    font-size:
        9px;

    font-weight:
        800;
}


.portal-result-kpi-coverage span {
    margin:
        0 !important;

    color:
        #79869a !important;

    font-size:
        7px !important;
}



/* ========================================================
   STEPPER - RETORNO
   ======================================================== */

#portal-cotacao-stepper-1,
#portal-cotacao-stepper-2,
#portal-cotacao-stepper-3,
#portal-cotacao-stepper-4 {
    user-select:
        none;
}


#portal-cotacao-stepper-1:hover,
#portal-cotacao-stepper-2:hover,
#portal-cotacao-stepper-3:hover,
#portal-cotacao-stepper-4:hover {
    cursor:
        pointer;
}





/* ========================================================
   PORTAL COTAÇÃO V20.3
   CSS EXATO DO ADMIN + SIDEBAR HOVER
   ======================================================== */

.portal-result-discount-panel {
    padding: 14px;

    border:
        1px solid #dfe5ed;

    border-top: 0;

    background: #fbfcfe;
}


.portal-result-discount-header {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 20px;
}


.portal-result-discount-header strong {
    color: #202b3d;

    font-size: 12px;
}


.portal-result-discount-header p {
    margin:
        3px 0 0;

    color: #768295;

    font-size: 9px;
}


.portal-result-discount-switch {
    display: flex;

    align-items: center;

    gap: 7px;

    padding:
        7px 10px;

    border:
        1px solid #d9e0ea;

    border-radius: 7px;

    background: #fff;

    color: #354157;

    font-size: 9px;
    font-weight: 750;

    cursor: pointer;
}


.portal-result-discount-options-area {
    margin-top: 12px;
}


.portal-result-discount-search {
    width: 100%;

    min-height: 32px;

    padding:
        6px 9px;

    border:
        1px solid #d9e0ea;

    border-radius: 6px;

    font-size: 9px;
}


.portal-result-discount-options {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 5px;

    max-height: 180px;

    overflow-y: auto;

    margin-top: 7px;

    padding: 7px;

    border:
        1px solid #e0e5ec;

    border-radius: 6px;

    background: #fff;
}


.portal-result-discount-option {
    display: flex;

    align-items: center;

    gap: 6px;

    min-height: 28px;

    padding:
        5px 7px;

    border:
        1px solid #e4e8ee;

    border-radius: 5px;

    background: #fafbfd;

    color: #455268;

    font-size: 8px;

    cursor: pointer;
}


.portal-result-discount-option:hover {
    border-color: #b7c8ef;

    background: #f4f7ff;
}


.portal-result-discount-option.hidden {
    display: none !important;
}


.portal-result-discount-actions {
    display: flex;

    justify-content: flex-end;

    gap: 7px;

    margin-top: 10px;
}


/* =========================================================
   ETAPA 5 V3 - EDIÇÃO MANUAL
   ========================================================= */

#portal-result-manual-toggle.ativo {
    border-color: #2d65db;

    background: #edf3ff;

    color: #2458c7;

    font-weight: 800;
}


.portal-result-manual-input {
    width: 82px;

    min-width: 82px;

    height: 25px;

    padding:
        3px 5px;

    border:
        1px solid #7ba0eb;

    border-radius: 4px;

    background: #fff;

    color: #15213a;

    font-size: 8px;

    font-weight: 750;

    text-align: right;
}


.portal-result-manual-input:focus {
    outline: 2px solid
        rgba(55, 105, 220, .16);

    border-color: #356bd8;
}


.portal-result-manual-input:disabled {
    opacity: .55;
}


@media (max-width: 900px) {

    .portal-result-discount-options {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


/* =========================================================
   ETAPA 5 V3.1
   MODAL DESCONTO POR QUANTIDADE
   ========================================================= */

.portal-result-discount-panel {
    position: fixed !important;

    top: 50%;
    left: 50%;

    transform:
        translate(-50%, -50%);

    width:
        min(
            720px,
            calc(100vw - 40px)
        );

    max-height:
        min(
            720px,
            calc(100vh - 60px)
        );

    overflow-y: auto;

    padding: 20px !important;

    border:
        1px solid #d8e0eb !important;

    border-radius:
        14px !important;

    background:
        #fff !important;

    box-shadow:
        0 0 0 9999px
        rgba(17, 28, 48, .48),

        0 24px 70px
        rgba(17, 28, 48, .24);

    z-index: 10050;
}


.portal-result-discount-header {
    align-items: center !important;

    padding-bottom: 14px;

    border-bottom:
        1px solid #e5eaf1;
}


.portal-result-discount-header strong {
    font-size: 16px !important;

    color: #172238;
}


.portal-result-discount-header p {
    margin-top: 5px !important;

    font-size: 10px !important;

    line-height: 1.5;

    color: #69778d;
}


.portal-result-discount-switch {
    flex:
        0 0 auto;

    min-width: 145px;
}


/* ========================================================
   PORTAL V20.3 - SIDEBAR COM HOVER IGUAL AO ADMIN
   ======================================================== */

.app-layout.sidebar-collapsed {
    grid-template-columns:
        64px
        minmax(0, 1fr);
}


.app-layout.sidebar-collapsed
.sidebar {
    width: 64px;

    padding:
        20px
        10px;
}


.app-layout.sidebar-collapsed
.sidebar-brand {
    justify-content: center;

    padding:
        2px
        0
        28px;
}


.app-layout.sidebar-collapsed
.sidebar-brand-copy,

.app-layout.sidebar-collapsed
.nav-item > span:not(.nav-icon),

.app-layout.sidebar-collapsed
.sidebar-bottom {
    display: none !important;
}


.app-layout.sidebar-collapsed
.sidebar nav {
    align-items: center;
}


.app-layout.sidebar-collapsed
.nav-item {
    width: 44px;
    height: 44px;

    flex:
        0
        0
        44px;

    justify-content: center;

    gap: 0;

    margin:
        0
        auto;

    padding: 0;

    border-radius: 10px;
}


.app-layout.sidebar-collapsed
.nav-icon {
    width: auto;

    flex:
        0
        0
        auto;

    margin: 0;

    text-align: center;
}



/* EXPANSÃO TEMPORÁRIA */

.app-layout.sidebar-collapsed
.sidebar:hover {
    width: 235px;

    padding:
        22px
        16px;
}


.app-layout.sidebar-collapsed
.sidebar:hover
.sidebar-brand {
    justify-content:
        flex-start;

    gap: 11px;

    padding:
        2px
        6px
        28px;
}


.app-layout.sidebar-collapsed
.sidebar:hover
.sidebar-brand-copy {
    display:
        block !important;
}


.app-layout.sidebar-collapsed
.sidebar:hover
.nav-item > span:not(.nav-icon) {
    display:
        inline !important;
}


.app-layout.sidebar-collapsed
.sidebar:hover
.sidebar-bottom {
    display:
        block !important;
}


.app-layout.sidebar-collapsed
.sidebar:hover
.sidebar nav {
    align-items:
        stretch;
}


.app-layout.sidebar-collapsed
.sidebar:hover
.nav-item {
    width: 100%;
    height: auto;

    min-height: 44px;

    flex: initial;

    justify-content:
        flex-start;

    gap: 11px;

    margin: 0;

    padding:
        0
        13px;
}



/* ========================================================
   MODAL - BLOCO DO LIMITE
   ======================================================== */

.portal-result-discount-options-area {
    margin-top: 18px;
}


.portal-result-discount-limit {
    margin-bottom: 16px;

    padding: 14px;

    border:
        1px solid #d8e1ef;

    border-radius:
        9px;

    background:
        #f6f9fd;
}


.portal-result-discount-limit
> label {
    display: block;

    margin-bottom: 8px;

    color:
        #344158;

    font-size:
        10px;

    font-weight:
        750;
}


.portal-result-discount-limit-input {
    width: 200px;

    display: flex;

    align-items: stretch;

    margin-bottom: 10px;

    border:
        1px solid #cbd7e8;

    border-radius:
        7px;

    overflow: hidden;

    background: #fff;
}


.portal-result-discount-limit-input
span {
    display: flex;

    align-items: center;

    padding:
        0
        11px;

    border-right:
        1px solid #d9e2ef;

    background:
        #f7f9fc;

    color:
        #526075;

    font-size:
        10px;
}


.portal-result-discount-limit-input
input {
    width: 100%;

    min-height: 38px;

    padding:
        7px
        10px;

    border: 0;

    outline: 0;

    color:
        #111827;

    font-size:
        12px;

    font-weight:
        800;
}


.portal-result-discount-warning {
    padding:
        10px
        12px;

    border-left:
        3px solid #f0a126;

    border-radius:
        5px;

    background:
        #fff6e7;

    color:
        #67522e;

    font-size:
        9px;

    line-height:
        1.5;
}


.portal-result-discount-warning
strong {
    color:
        #59431e;

    font-weight:
        800;
}



/* =========================================================
   PORTAL COTAÇÃO V20.3.1
   FIX FINAL MODAL DESCONTO + SIDEBAR HOVER
   ========================================================= */


/* =========================================================
   MODAL DESCONTO POR QUANTIDADE
   Neutraliza regras antigas conflitantes
   ========================================================= */

#portal-result-discount-panel.portal-result-discount-panel {
    position: fixed !important;

    top: 50% !important;
    left: 50% !important;

    transform:
        translate(-50%, -50%) !important;

    display: block;

    width:
        min(
            720px,
            calc(100vw - 40px)
        ) !important;

    max-width:
        720px !important;

    max-height:
        calc(100vh - 60px) !important;

    overflow-y:
        auto !important;

    margin:
        0 !important;

    padding:
        20px !important;

    border:
        1px solid #d8e0eb !important;

    border-radius:
        14px !important;

    background:
        #ffffff !important;

    box-shadow:
        0 0 0 9999px
        rgba(17, 28, 48, .48),

        0 24px 70px
        rgba(17, 28, 48, .24) !important;

    z-index:
        10050 !important;
}


#portal-result-discount-panel.hidden {
    display:
        none !important;
}



/* CABEÇALHO */

#portal-result-discount-panel
.portal-result-discount-header {
    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        space-between !important;

    gap:
        20px !important;

    width:
        100% !important;

    padding:
        0
        0
        14px !important;

    border-bottom:
        1px solid #e5eaf1 !important;
}


#portal-result-discount-panel
.portal-result-discount-header
> div {
    display:
        block !important;

    width:
        auto !important;

    flex:
        1 1 auto !important;
}


#portal-result-discount-panel
.portal-result-discount-header strong {
    display:
        block !important;

    font-size:
        16px !important;

    font-weight:
        800 !important;

    color:
        #172238 !important;
}


#portal-result-discount-panel
.portal-result-discount-header p {
    display:
        block !important;

    margin:
        5px 0 0 !important;

    font-size:
        10px !important;

    line-height:
        1.5 !important;

    color:
        #69778d !important;
}



/* SWITCH */

#portal-result-discount-panel
.portal-result-discount-switch {
    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    gap:
        8px !important;

    flex:
        0 0 auto !important;

    min-width:
        145px !important;

    min-height:
        42px !important;

    padding:
        7px
        10px !important;

    border:
        1px solid #d9e0ea !important;

    border-radius:
        7px !important;

    background:
        #ffffff !important;

    color:
        #354157 !important;

    font-size:
        9px !important;

    font-weight:
        750 !important;
}



/* ÁREA INTERNA */

#portal-result-discount-panel
.portal-result-discount-options-area {
    display:
        block !important;

    width:
        100% !important;

    margin:
        18px 0 0 !important;

    padding:
        0 !important;
}



/* BLOCO LIMITE */

#portal-result-discount-panel
.portal-result-discount-limit {
    display:
        block !important;

    width:
        100% !important;

    margin:
        0 0 16px !important;

    padding:
        14px !important;

    border:
        1px solid #d8e1ef !important;

    border-radius:
        9px !important;

    background:
        #f6f9fd !important;
}


#portal-result-discount-panel
.portal-result-discount-limit
> label {
    display:
        block !important;

    width:
        100% !important;

    margin:
        0
        0
        8px !important;

    color:
        #344158 !important;

    font-size:
        10px !important;

    font-weight:
        750 !important;
}



/* IMPORTANTE:
   anula a regra antiga
   .portal-result-discount-limit > div
*/

#portal-result-discount-panel
.portal-result-discount-limit
.portal-result-discount-limit-input {
    display:
        flex !important;

    align-items:
        stretch !important;

    width:
        200px !important;

    max-width:
        200px !important;

    min-height:
        38px !important;

    margin:
        0
        0
        10px !important;

    padding:
        0 !important;

    border:
        1px solid #cbd7e8 !important;

    border-radius:
        7px !important;

    overflow:
        hidden !important;

    background:
        #ffffff !important;
}


#portal-result-discount-panel
.portal-result-discount-limit-input
> span {
    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    flex:
        0 0 auto !important;

    width:
        auto !important;

    padding:
        0
        11px !important;

    border-right:
        1px solid #d9e2ef !important;

    background:
        #f7f9fc !important;

    color:
        #526075 !important;

    font-size:
        10px !important;

    font-weight:
        500 !important;
}


#portal-result-discount-panel
.portal-result-discount-limit-input
> input {
    display:
        block !important;

    flex:
        1 1 auto !important;

    width:
        130px !important;

    min-width:
        0 !important;

    min-height:
        38px !important;

    margin:
        0 !important;

    padding:
        7px
        10px !important;

    border:
        0 !important;

    outline:
        0 !important;

    background:
        #ffffff !important;

    color:
        #111827 !important;

    font-size:
        12px !important;

    font-weight:
        800 !important;
}



/* AVISO AMARELO */

#portal-result-discount-panel
.portal-result-discount-limit
.portal-result-discount-warning {
    display:
        block !important;

    width:
        100% !important;

    max-width:
        none !important;

    min-width:
        0 !important;

    height:
        auto !important;

    margin:
        0 !important;

    padding:
        10px
        12px !important;

    border:
        0 !important;

    border-left:
        3px solid #f0a126 !important;

    border-radius:
        5px !important;

    background:
        #fff6e7 !important;

    color:
        #67522e !important;

    font-size:
        9px !important;

    font-weight:
        400 !important;

    line-height:
        1.55 !important;

    text-align:
        left !important;

    white-space:
        normal !important;

    overflow:
        visible !important;
}


#portal-result-discount-panel
.portal-result-discount-warning
strong {
    display:
        inline !important;

    color:
        #59431e !important;

    font-size:
        inherit !important;

    font-weight:
        800 !important;

    line-height:
        inherit !important;
}



/* BUSCA */

#portal-result-discount-panel
.portal-result-discount-search {
    display:
        block !important;

    width:
        100% !important;

    min-width:
        0 !important;

    min-height:
        38px !important;

    margin:
        0
        0
        12px !important;

    padding:
        7px
        10px !important;

    border:
        1px solid #d9e0ea !important;

    border-radius:
        7px !important;

    background:
        #ffffff !important;

    font-size:
        9px !important;
}



/* CLASSIFICAÇÕES
   No Admin aparecem como linhas inteiras
*/

#portal-result-discount-panel
.portal-result-discount-options {
    display:
        grid !important;

    grid-template-columns:
        1fr !important;

    gap:
        8px !important;

    width:
        100% !important;

    max-height:
        200px !important;

    overflow-y:
        auto !important;

    margin:
        0 !important;

    padding:
        10px !important;

    border:
        1px solid #dfe5ed !important;

    border-radius:
        8px !important;

    background:
        #ffffff !important;
}


#portal-result-discount-panel
.portal-result-discount-option {
    display:
        flex !important;

    align-items:
        center !important;

    gap:
        10px !important;

    width:
        100% !important;

    min-height:
        44px !important;

    margin:
        0 !important;

    padding:
        8px
        12px !important;

    border:
        1px solid #e1e6ee !important;

    border-radius:
        6px !important;

    background:
        #fafbfd !important;

    color:
        #455268 !important;

    font-size:
        9px !important;
}



/* BOTÕES */

#portal-result-discount-panel
.portal-result-discount-actions {
    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        flex-end !important;

    gap:
        8px !important;

    width:
        100% !important;

    margin:
        16px
        0
        0 !important;

    padding:
        14px
        0
        0 !important;

    border-top:
        1px solid #e5eaf1 !important;
}



/* =========================================================
   SIDEBAR
   EXPANSÃO TEMPORÁRIA NO HOVER
   ========================================================= */

.app-layout.sidebar-collapsed
.sidebar {
    width:
        64px !important;

    min-width:
        64px !important;

    max-width:
        64px !important;

    padding:
        20px
        10px !important;

    overflow:
        hidden !important;

    z-index:
        1000 !important;

    transition:
        width .18s ease,
        max-width .18s ease,
        padding .18s ease !important;
}


.app-layout.sidebar-collapsed
.sidebar:hover {
    width:
        235px !important;

    min-width:
        235px !important;

    max-width:
        235px !important;

    padding:
        22px
        16px !important;

    overflow:
        visible !important;

    box-shadow:
        12px
        0
        28px
        rgba(15, 23, 42, .16) !important;
}



/* BRAND */

.app-layout.sidebar-collapsed
.sidebar:hover
.sidebar-brand {
    justify-content:
        flex-start !important;

    gap:
        11px !important;

    padding:
        2px
        6px
        28px !important;
}


.app-layout.sidebar-collapsed
.sidebar:hover
.sidebar-brand-copy {
    display:
        block !important;

    visibility:
        visible !important;

    opacity:
        1 !important;
}



/* MENU */

.app-layout.sidebar-collapsed
.sidebar:hover
nav {
    align-items:
        stretch !important;
}


.app-layout.sidebar-collapsed
.sidebar:hover
.nav-item {
    width:
        100% !important;

    min-width:
        100% !important;

    height:
        44px !important;

    min-height:
        44px !important;

    flex:
        0
        0
        44px !important;

    justify-content:
        flex-start !important;

    gap:
        12px !important;

    margin:
        0 !important;

    padding:
        0
        13px !important;
}


.app-layout.sidebar-collapsed
.sidebar:hover
.nav-item
span {
    display:
        inline !important;

    visibility:
        visible !important;

    opacity:
        1 !important;
}


.app-layout.sidebar-collapsed
.sidebar:hover
.nav-icon {
    display:
        inline-flex !important;

    flex:
        0
        0
        auto !important;
}



/* USUÁRIO / SAIR */

.app-layout.sidebar-collapsed
.sidebar:hover
.sidebar-bottom {
    display:
        block !important;

    visibility:
        visible !important;

    opacity:
        1 !important;
}




/* =========================================================
   PORTAL COTAÇÃO V20.4
   STEPPER EM CARDS + NOVA COTAÇÃO
   ========================================================= */


/* ---------------------------------------------------------
   STEPPER
   --------------------------------------------------------- */

.portal-cotacao-stepper {
    display:
        grid !important;

    grid-template-columns:
        minmax(150px, 1fr)
        22px
        minmax(150px, 1fr)
        22px
        minmax(150px, 1fr)
        22px
        minmax(150px, 1fr)
        22px
        minmax(150px, 1fr) !important;

    align-items:
        center !important;

    gap:
        7px !important;

    width:
        100% !important;

    margin:
        0 !important;

    padding:
        14px
        16px !important;

    border-bottom:
        1px solid #e1e7ef !important;

    background:
        #ffffff !important;
}


/* CARD DA ETAPA */

.portal-cotacao-step {
    display:
        flex !important;

    align-items:
        center !important;

    gap:
        10px !important;

    width:
        100% !important;

    min-width:
        0 !important;

    min-height:
        48px !important;

    padding:
        9px
        12px !important;

    border:
        1px solid transparent !important;

    border-radius:
        10px !important;

    background:
        #f7f9fc !important;

    color:
        #66758c !important;

    transition:
        border-color .15s ease,
        background .15s ease,
        color .15s ease,
        box-shadow .15s ease,
        transform .15s ease !important;

    user-select:
        none !important;

    cursor:
        pointer !important;
}


.portal-cotacao-step:hover {
    border-color:
        #c5d3e8 !important;

    background:
        #f2f6fc !important;

    transform:
        translateY(-1px);

    box-shadow:
        0 3px 10px
        rgba(28, 45, 78, .06);
}


/* NÚMERO */

.portal-cotacao-step
> span {
    width:
        28px !important;

    height:
        28px !important;

    min-width:
        28px !important;

    display:
        inline-flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    margin:
        0 !important;

    border-radius:
        999px !important;

    background:
        #dfe5ee !important;

    color:
        #56657a !important;

    font-size:
        11px !important;

    font-weight:
        800 !important;
}


/* TÍTULO */

.portal-cotacao-step
strong {
    min-width:
        0 !important;

    overflow:
        hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;

    color:
        inherit !important;

    font-size:
        11px !important;

    font-weight:
        800 !important;
}


/* CONCLUÍDA */

.portal-cotacao-step.completed {
    border-color:
        transparent !important;

    background:
        #edf8f1 !important;

    color:
        #13764f !important;
}


.portal-cotacao-step.completed
> span {
    background:
        #238b5e !important;

    color:
        #ffffff !important;
}


/* ATUAL */

.portal-cotacao-step.active {
    border:
        2px solid
        #315fda !important;

    background:
        #edf3ff !important;

    color:
        #1748bd !important;

    box-shadow:
        0 2px 7px
        rgba(49, 95, 218, .08) !important;
}


.portal-cotacao-step.active
> span {
    background:
        #3764df !important;

    color:
        #ffffff !important;
}


/* LINHAS DE CONEXÃO */

.portal-cotacao-line {
    width:
        100% !important;

    height:
        2px !important;

    margin:
        0 !important;

    background:
        #d7e0ec !important;
}


/* GARANTE MÃOZINHA NAS 5 ETAPAS */

#portal-cotacao-stepper-1,
#portal-cotacao-stepper-2,
#portal-cotacao-stepper-3,
#portal-cotacao-stepper-4,
#portal-cotacao-stepper-5 {
    cursor:
        pointer !important;
}


/* ---------------------------------------------------------
   RODAPÉ ETAPA 5
   --------------------------------------------------------- */

.portal-result-footer {
    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        flex-end !important;

    gap:
        10px !important;
}


.portal-result-new-quote {
    min-width:
        170px;
}


/* ---------------------------------------------------------
   RESPONSIVO
   --------------------------------------------------------- */

@media (max-width: 1100px) {

    .portal-cotacao-stepper {
        grid-template-columns:
            repeat(
                5,
                minmax(125px, 1fr)
            ) !important;

        gap:
            7px !important;

        overflow-x:
            auto !important;
    }


    .portal-cotacao-line {
        display:
            none !important;
    }
}




/* =========================================================
   PORTAL V20.4.1
   CONFIRMAÇÃO NOVA COTAÇÃO
   ========================================================= */

.portal-confirm-backdrop {
    position: fixed;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 24px;

    background:
        rgba(30, 41, 59, .55);

    backdrop-filter:
        blur(3px);

    z-index: 20000;
}


.portal-confirm-dialog {
    width:
        min(
            495px,
            calc(100vw - 40px)
        );

    padding:
        26px;

    border:
        1px solid #dce3ed;

    border-radius:
        16px;

    background:
        #ffffff;

    box-shadow:
        0 25px 70px
        rgba(15, 23, 42, .28);
}


.portal-confirm-content {
    display: flex;

    align-items:
        flex-start;

    gap: 18px;
}


.portal-confirm-icon {
    width: 46px;
    height: 46px;

    flex:
        0 0 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius:
        999px;

    background:
        #edf2ff;

    color:
        #3964e8;

    font-size:
        23px;

    font-weight:
        850;
}


.portal-confirm-copy {
    min-width: 0;

    flex: 1;
}


.portal-confirm-copy h3 {
    margin:
        3px 0 8px;

    color:
        #182237;

    font-size:
        20px;

    font-weight:
        800;

    line-height:
        1.2;
}


.portal-confirm-copy p {
    margin: 0;

    color:
        #69768d;

    font-size:
        14px;

    line-height:
        1.55;
}


.portal-confirm-actions {
    display: flex;

    justify-content:
        flex-end;

    gap: 10px;

    margin-top:
        26px;
}


.portal-confirm-actions button {
    min-height:
        36px;

    padding:
        8px
        15px;

    border-radius:
        8px;

    font-weight:
        750;
}





/* =========================================================
   PORTAL V20.4.2
   BOTÃO NOVA COTAÇÃO = PRIMARY BUTTON DO ADMIN
   ========================================================= */


/* =========================================================
   ADMIN ACTIONS / MODALS
   ========================================================= */

#portal-new-quote-confirm .portal-confirm-accept {
padding: 9px 14px;

    border: 0;
    border-radius: 8px;

    background: var(--primary);
    color: white;

    cursor: pointer;

    font-size: 12px;
    font-weight: 700;
}

#portal-new-quote-confirm .portal-confirm-accept:hover {
background: var(--primary-dark);
}

#portal-new-quote-confirm .portal-confirm-accept:disabled {
opacity: .65;
    cursor: wait;
}

#page-cotacao
.cotacao-stage-actions
#portal-new-quote-confirm .portal-confirm-accept {
min-width: 185px;
}


/* =========================================================
   PORTAL V20.4.3
   FIX BUSCA DESCONTO POR QUANTIDADE
   ========================================================= */

#portal-result-discount-panel
.portal-result-discount-option.hidden {
    display: none !important;
}




/* =========================================================
   PORTAL V20.5
   EXPORTAÇÕES EXCEL + ALPHA7
   ========================================================= */


/* EXCEL = VERDE */

#portal-result-export-excel.portal-export-excel-button {
    border-color: #198754 !important;
    background: #198754 !important;
    color: #fff !important;
}

#portal-result-export-excel.portal-export-excel-button:hover {
    border-color: #157347 !important;
    background: #157347 !important;
    color: #fff !important;
}

#portal-result-export-excel.portal-export-excel-button:active {
    border-color: #146c43 !important;
    background: #146c43 !important;
}


/* ALPHA7 = AZUL */

.portal-export-alpha7-button {
    border-color: #3296A6 !important;
    background: #3296A6 !important;
    color: #fff !important;
}

.portal-export-alpha7-button:hover {
    border-color: #2748c9 !important;
    background: #2748c9 !important;
    color: #fff !important;
}

.portal-export-alpha7-button:active {
    border-color: #1f3daf !important;
    background: #1f3daf !important;
}


/* MODAL ALPHA7 DA COTAÇÃO ATUAL */

.portal-current-alpha7-modal {
    width:
        min(
            560px,
            calc(100vw - 40px)
        );
}

.portal-current-alpha7-protect {
    display: flex;
    align-items: center;
    gap: 9px;

    padding:
        11px
        12px;

    border:
        1px solid #dce3ed;

    border-radius:
        8px;

    background:
        #f8fafd;

    color:
        #455268;

    font-size:
        11px;

    cursor:
        pointer;
}

.portal-current-alpha7-protect input {
    margin: 0;
}

.portal-current-alpha7-actions {
    display: flex;
    justify-content: flex-end;
    gap: 9px;

    margin-top:
        18px;
}


/* NOTIFICAÇÃO DAS EXPORTAÇÕES */

.portal-export-notice {
    position: fixed;

    right: 24px;
    bottom: 24px;

    max-width:
        min(
            420px,
            calc(100vw - 48px)
        );

    padding:
        12px
        16px;

    border:
        1px solid #b7d7c4;

    border-radius:
        10px;

    background:
        #edf8f1;

    color:
        #17643f;

    font-size:
        12px;

    font-weight:
        700;

    box-shadow:
        0 15px 40px
        rgba(15, 23, 42, .16);

    z-index:
        22000;
}

.portal-export-notice.error {
    border-color:
        #edc2c7;

    background:
        #fff1f2;

    color:
        #a72f3c;
}




/* =========================================================
   ETAPA 2
   AÇÕES NO CABEÇALHO DA PRÉVIA
   ========================================================= */

.portal-preview-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex: 0 0 auto;
}

.portal-preview-header-actions
.primary-action {
    white-space: nowrap;
}





/* =========================================================
   PORTAL V20.6
   MODAL ALPHA7 IGUAL AO ADMIN
   ========================================================= */

.result-alpha-modal {
    position: fixed;
    inset: 0;
    z-index: 12000;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 24px;

    background:
        rgba(15, 23, 42, 0.48);

    backdrop-filter:
        blur(3px);
}


.result-alpha-modal.hidden {
    display: none !important;
}


body.result-alpha-open {
    overflow: hidden;
}


.result-alpha-dialog {
    width: min(760px, 100%);
    max-height: calc(100vh - 48px);

    display: flex;
    flex-direction: column;

    background: #ffffff;

    border: 1px solid #dfe5ed;
    border-radius: 16px;

    box-shadow:
        0 24px 70px
        rgba(15, 23, 42, 0.22);

    overflow: hidden;
}


.result-alpha-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;

    padding: 22px 24px 18px;

    border-bottom:
        1px solid #edf0f4;
}


.result-alpha-header h3 {
    margin: 0 0 5px;

    font-size: 20px;
    font-weight: 700;

    color: #000000;
}


.result-alpha-header p {
    margin: 0;

    font-size: 13px;
    line-height: 1.45;

    color: #727271;
}


.result-alpha-close {
    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    border: 0;
    border-radius: 8px;

    background: transparent;

    color: #727271;

    font-size: 25px;
    line-height: 1;

    cursor: pointer;
}


.result-alpha-close:hover {
    background: #f2f4f7;
    color: #000000;
}


.result-alpha-body {
    padding: 20px 24px;

    overflow-y: auto;
}


.result-alpha-section + .result-alpha-section {
    margin-top: 22px;
}


.result-alpha-section-title {
    margin-bottom: 10px;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 0.04em;
    text-transform: uppercase;

    color: #475467;
}


.result-alpha-mode-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;
}


.result-alpha-choice,
.result-alpha-format {
    display: flex;
    align-items: flex-start;
    gap: 10px;

    padding: 13px 14px;

    border: 1px solid #dfe5ed;
    border-radius: 10px;

    background: #ffffff;

    cursor: pointer;
}


.result-alpha-choice:hover,
.result-alpha-format:hover {
    border-color: #9bbcf3;
    background: #f8fbff;
}


.result-alpha-choice:has(input:checked),
.result-alpha-format:has(input:checked) {
    border-color: #3976d8;
    background: #f3f7ff;

    box-shadow:
        0 0 0 1px
        rgba(57, 118, 216, 0.08);
}


.result-alpha-choice input,
.result-alpha-format input,
.result-alpha-protection input {
    margin-top: 3px;

    flex: 0 0 auto;
}


.result-alpha-choice span,
.result-alpha-format-content,
.result-alpha-protection span {
    display: flex;
    flex-direction: column;
    gap: 3px;
}


.result-alpha-choice strong,
.result-alpha-format strong,
.result-alpha-protection strong {
    font-size: 13px;
    line-height: 1.35;

    color: #000000;
}


.result-alpha-choice small,
.result-alpha-format small,
.result-alpha-protection small {
    font-size: 12px;
    line-height: 1.45;

    color: #727271;
}


.result-alpha-format-list {
    display: grid;
    gap: 9px;
}


.result-alpha-format code {
    display: inline-block;

    width: fit-content;

    margin-top: 5px;
    padding: 5px 8px;

    border-radius: 6px;

    background: #eef2f6;

    color: #344054;

    font-size: 11px;
}


.result-alpha-hint {
    margin-top: 8px;

    font-size: 11px;
    line-height: 1.4;

    color: #727271;
}


.result-alpha-protection {
    display: flex;
    align-items: flex-start;
    gap: 10px;

    padding: 13px 14px;

    border: 1px solid #dfe5ed;
    border-radius: 10px;

    background: #fafbfc;

    cursor: pointer;
}


.result-alpha-filter-note {
    margin-top: 20px;
    padding: 10px 12px;

    border-radius: 8px;

    background: #f8fafc;

    font-size: 12px;
    line-height: 1.45;

    color: #475467;
}


.result-alpha-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;

    padding: 16px 24px;

    border-top:
        1px solid #edf0f4;

    background: #fafbfc;
}


@media (max-width: 700px) {

    .result-alpha-modal {
        padding: 12px;
    }


    .result-alpha-dialog {
        max-height:
            calc(100vh - 24px);
    }


    .result-alpha-mode-grid {
        grid-template-columns: 1fr;
    }


    .result-alpha-header,
    .result-alpha-body,
    .result-alpha-footer {
        padding-left: 16px;
        padding-right: 16px;
    }
}


/* =========================================================
   ALPHA7 V4.1 - CORREÇÃO DOS CONTROLES INTERNOS
   ========================================================= */

.result-alpha-dialog,
.result-alpha-body,
.result-alpha-section,
.result-alpha-mode-grid,
.result-alpha-format-list {
    min-width: 0;
}


.result-alpha-body {
    overflow-x: hidden !important;
}


.result-alpha-choice,
.result-alpha-format,
.result-alpha-protection {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}


/*
   Impede que os estilos globais dos inputs
   transformem radio/checkbox em campos de largura total.
*/
.result-alpha-dialog input[type="radio"],
.result-alpha-dialog input[type="checkbox"] {
    appearance: auto;

    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;

    height: 16px !important;
    min-height: 16px !important;

    flex: 0 0 16px !important;

    padding: 0 !important;
    margin: 2px 0 0 0 !important;

    border: initial;

    cursor: pointer;
}


.result-alpha-choice > span,
.result-alpha-format-content,
.result-alpha-protection > span {
    width: auto !important;
    min-width: 0;

    flex: 1 1 auto;
}


.result-alpha-choice strong,
.result-alpha-choice small,
.result-alpha-format strong,
.result-alpha-format small,
.result-alpha-protection strong,
.result-alpha-protection small {
    display: block;

    max-width: 100%;

    white-space: normal;

    overflow-wrap: break-word;
}


.result-alpha-format code {
    max-width: 100%;

    white-space: normal;
    overflow-wrap: anywhere;

    box-sizing: border-box;
}


.result-alpha-mode-grid {
    width: 100%;
}


@media (min-width: 701px) {

    .result-alpha-format-list {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


/* =========================================================
   PORTAL V20.6.1
   BOTÃO EXPORTAR ALPHA7
   ========================================================= */

#portal-current-alpha7-generate {
    min-height: 38px;
    padding: 9px 16px;

    border: 0;
    border-radius: 8px;

    background: #3296A6;
    color: #ffffff;

    font-size: 13px;
    font-weight: 700;
    line-height: 1;

    cursor: pointer;

    transition:
        background 0.15s ease,
        box-shadow 0.15s ease,
        transform 0.05s ease;
}

#portal-current-alpha7-generate:hover {
    background: #2849c7;

    box-shadow:
        0 4px 10px
        rgba(49, 87, 232, 0.20);
}

#portal-current-alpha7-generate:active {
    transform: translateY(1px);
}

#portal-current-alpha7-generate:disabled {
    opacity: 0.65;
    cursor: wait;
}


/* =========================================================
   ETAPA 2 - SELECAO DE PRODUTOS
   ========================================================= */

.portal-preview-table
.portal-preview-select {
    width: 48px;
    min-width: 48px;
    text-align: center;
}

.portal-preview-table
.portal-preview-select input {
    width: 17px;
    height: 17px;
    margin: 0;
    cursor: pointer;
    accent-color: currentColor;
}

.portal-preview-table
.portal-preview-select input:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}




/* =========================================================
   PRIMEIRO ACESSO - TROCA OBRIGATORIA DE SENHA
   ========================================================= */

.password-change-card {
    max-width: 430px;
}


#password-change-form {
    display: flex;
    flex-direction: column;
}


#password-change-form label {
    margin:
        0
        0
        7px;

    font-size: 13px;
    font-weight: 650;
}


#password-change-form input {
    width: 100%;
    height: 45px;

    margin-bottom: 17px;

    padding:
        0
        13px;

    border:
        1px solid #d3dbe7;

    border-radius: 9px;

    outline: none;

    box-sizing: border-box;
}


#password-change-form input:focus {
    border-color: #3296A6;

    box-shadow:
        0 0 0 3px
        rgba(50, 150, 166, 0.10);
}


.password-change-note {
    margin:
        -3px
        0
        18px;

    color: var(--muted);

    font-size: 12px;
    line-height: 1.45;
}


#password-change-button:disabled {
    opacity: .65;
    cursor: wait;
}


/* =========================================================
   GVISIO - SIDEBAR GLOBAL
   ========================================================= */

.sidebar-brand {
    position: relative;
}

.sidebar-toggle {
    position: absolute;
    top: 2px;
    right: 0;

    width: 27px;
    height: 27px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius: 7px;

    background:
        rgba(255,255,255,.05);

    color: #cbd2dc;

    cursor: pointer;

    font-size: 18px;
    line-height: 1;
}

.sidebar-toggle:hover {
    background:
        rgba(255,255,255,.11);

    color: white;
}

.app-layout.sidebar-collapsed
.sidebar-toggle {
    right: -4px;

    transform:
        rotate(180deg);
}

.app-layout.sidebar-collapsed
.sidebar:hover
.sidebar-toggle {
    right: 0;

    transform: none;
}



/* =========================================================
   GVISIO - FIX RECOLHIMENTO IMEDIATO DA SIDEBAR
   ========================================================= */

.app-layout.sidebar-collapsed.sidebar-collapse-lock
.sidebar:hover {
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;

    padding:
        20px
        10px !important;

    overflow: hidden !important;

    box-shadow: none !important;
}

.app-layout.sidebar-collapsed.sidebar-collapse-lock
.sidebar:hover
.sidebar-brand {
    justify-content: center !important;

    padding:
        2px
        0
        28px !important;
}

.app-layout.sidebar-collapsed.sidebar-collapse-lock
.sidebar:hover
.sidebar-brand-copy,

.app-layout.sidebar-collapsed.sidebar-collapse-lock
.sidebar:hover
.nav-item > span:not(.nav-icon),

.app-layout.sidebar-collapsed.sidebar-collapse-lock
.sidebar:hover
.sidebar-bottom {
    display: none !important;
}

.app-layout.sidebar-collapsed.sidebar-collapse-lock
.sidebar:hover
.sidebar nav {
    align-items: center !important;
}

.app-layout.sidebar-collapsed.sidebar-collapse-lock
.sidebar:hover
.nav-item {
    width: 44px !important;
    min-width: 44px !important;

    height: 44px !important;
    min-height: 44px !important;

    flex:
        0
        0
        44px !important;

    justify-content: center !important;

    gap: 0 !important;

    padding: 0 !important;

    margin:
        0
        auto !important;
}

.app-layout.sidebar-collapsed.sidebar-collapse-lock
.sidebar:hover
.nav-icon {
    width: auto !important;

    flex:
        0
        0
        auto !important;

    margin: 0 !important;
}

.app-layout.sidebar-collapsed.sidebar-collapse-lock
.sidebar:hover
.sidebar-toggle {
    right: -4px !important;

    transform:
        rotate(180deg) !important;
}



/* =========================================================
   GVISIO - TEMA CLARO / ESCURO
   ========================================================= */

.theme-toggle {
    width: 36px;
    height: 36px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 36px;

    padding: 0;

    border:
        1px solid var(--border);

    border-radius: 9px;

    background: var(--surface);
    color: var(--text);

    cursor: pointer;

    font-size: 17px;
    line-height: 1;

    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease,
        transform .15s ease;
}

.theme-toggle:hover {
    border-color: var(--primary);
    color: var(--primary);

    transform:
        translateY(-1px);
}


/* ---------------------------------------------------------
   DARK - VARIAVEIS
   --------------------------------------------------------- */

html[data-theme="dark"] {
    --background: #10151d;
    --surface: #18212d;
    --border: #2b3747;

    --text: #edf2f7;
    --muted: #9da9b8;

    --nav: #303030;
    --nav-hover: #414141;

    --success: #53c58c;
    --danger: #ff8585;

    color-scheme: dark;
}


html[data-theme="dark"],
html[data-theme="dark"] body {
    background:
        var(--background);

    color:
        var(--text);
}


/* ---------------------------------------------------------
   LOGIN
   --------------------------------------------------------- */

html[data-theme="dark"] .login-page {
    background:
        radial-gradient(
            circle at top left,
            rgba(50, 150, 166, .12),
            transparent 45%
        ),
        var(--background);
}

html[data-theme="dark"] .login-card {
    background:
        var(--surface);

    border-color:
        var(--border);

    box-shadow:
        0 20px 60px
        rgba(0, 0, 0, .32);
}


/* ---------------------------------------------------------
   TOPBAR
   --------------------------------------------------------- */

html[data-theme="dark"] .theme-toggle {
    background: #202a37;
    border-color: #354254;
    color: #dbe4ee;
}

html[data-theme="dark"] .theme-toggle:hover {
    border-color: var(--primary);
    color: #73c7d3;
}

html[data-theme="dark"] .company-field select {
    background:
        #111923;

    color:
        var(--text);

    border-color:
        #354254;
}


/* ---------------------------------------------------------
   FORMULARIOS
   --------------------------------------------------------- */

html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
    background:
        #111923 !important;

    color:
        var(--text) !important;

    border-color:
        #354254 !important;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
    color: #748196;
}

html[data-theme="dark"] option {
    background: #111923;
    color: var(--text);
}


/* ---------------------------------------------------------
   PAINEIS / CARDS
   --------------------------------------------------------- */

html[data-theme="dark"] .welcome-panel,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .metric-card,
html[data-theme="dark"] .result-detail-modal,
html[data-theme="dark"] .result-detail-kpi,
html[data-theme="dark"] .modal-card,
html[data-theme="dark"] .content-card,
html[data-theme="dark"] .form-card {
    background:
        var(--surface) !important;

    border-color:
        var(--border) !important;

    color:
        var(--text);
}

html[data-theme="dark"] .panel-header {
    border-color:
        var(--border);
}


/* ---------------------------------------------------------
   TABELAS
   --------------------------------------------------------- */

html[data-theme="dark"] table {
    color:
        var(--text);
}

html[data-theme="dark"] .results-table th,
html[data-theme="dark"] .result-detail-table th,
html[data-theme="dark"] table th {
    background:
        #202a37 !important;

    color:
        #c7d1df !important;

    border-color:
        var(--border) !important;
}

html[data-theme="dark"] .results-table td,
html[data-theme="dark"] .result-detail-table td,
html[data-theme="dark"] table td {
    border-color:
        var(--border) !important;
}

html[data-theme="dark"] .results-table tbody tr:hover,
html[data-theme="dark"] .result-detail-table tbody tr:hover,
html[data-theme="dark"] table tbody tr:hover {
    background:
        #1e2936 !important;
}


/* ---------------------------------------------------------
   MODAL RESULTADO
   --------------------------------------------------------- */

html[data-theme="dark"] .modal-backdrop {
    background:
        rgba(2, 6, 12, .74);
}

html[data-theme="dark"] .result-detail-modal {
    box-shadow:
        0 30px 80px
        rgba(0, 0, 0, .48);
}

html[data-theme="dark"] .result-detail-kpis {
    background:
        #131c27;
}

html[data-theme="dark"] .modal-close,
html[data-theme="dark"] .result-open-button,
html[data-theme="dark"] .secondary-action {
    background:
        #202a37;

    border-color:
        #354254;

    color:
        var(--text);
}


/* ---------------------------------------------------------
   CONTROLES / DIVISORES
   --------------------------------------------------------- */

html[data-theme="dark"] .history-controls input,
html[data-theme="dark"] .history-controls select,
html[data-theme="dark"] .results-controls input,
html[data-theme="dark"] .results-controls select {
    background:
        #111923 !important;
}

html[data-theme="dark"] .panel-header,
html[data-theme="dark"] .results-pagination,
html[data-theme="dark"] .result-detail-header {
    border-color:
        var(--border);
}


/* ---------------------------------------------------------
   CHIPS
   --------------------------------------------------------- */

html[data-theme="dark"] .status-chip,
html[data-theme="dark"] .history-chip.complete {
    background:
        #163528;

    color:
        #69d5a0;
}

html[data-theme="dark"] .history-chip.partial {
    background:
        #3a301b;

    color:
        #e7b85b;
}

html[data-theme="dark"] .history-chip.legacy {
    background:
        #29313d;

    color:
        #aeb9c8;
}


/* ---------------------------------------------------------
   SCROLLBAR
   --------------------------------------------------------- */

html[data-theme="dark"] {
    scrollbar-color:
        #465365
        #151d28;
}



/* =========================================================
   GVISIO PORTAL - SIDEBAR V5
   BOTAO SEM SOBREPOR LOGO + HOVER DESLOCA CONTEUDO
   ========================================================= */

/*
   RECOLHIDA:
   reserva espaço abaixo da logo para o botão.
*/
.app-layout.sidebar-collapsed
.sidebar-brand {
    position: relative !important;

    justify-content:
        center !important;

    padding:
        2px
        0
        50px !important;
}


/*
   Botão abaixo da logo.
*/
.app-layout.sidebar-collapsed
.sidebar-toggle {
    top: 44px !important;
    right: 8px !important;

    transform:
        rotate(180deg) !important;
}


/*
   Enquanto o recolhimento acabou de ser acionado,
   mantém a sidebar realmente fechada.
*/
.app-layout.sidebar-collapsed.sidebar-collapse-lock
.sidebar:hover
.sidebar-brand {
    padding:
        2px
        0
        50px !important;
}

.app-layout.sidebar-collapsed.sidebar-collapse-lock
.sidebar:hover
.sidebar-toggle {
    top: 44px !important;
    right: 8px !important;

    transform:
        rotate(180deg) !important;
}


/*
   HOVER REAL:
   restaura o cabeçalho completo do menu.
*/
.app-layout.sidebar-collapsed:not(.sidebar-collapse-lock)
.sidebar:hover
.sidebar-brand {
    justify-content:
        flex-start !important;

    gap:
        11px !important;

    padding:
        2px
        6px
        28px !important;
}

.app-layout.sidebar-collapsed:not(.sidebar-collapse-lock)
.sidebar:hover
.sidebar-toggle {
    top: 2px !important;
    right: 0 !important;

    transform:
        none !important;
}


/*
   Ao abrir por hover, o GRID também aumenta.
   Dessa forma topbar, título, cards e páginas
   acompanham a sidebar.
*/
.app-layout.sidebar-collapsed:not(.sidebar-collapse-lock):has(
    .sidebar:hover
) {
    grid-template-columns:
        235px
        minmax(0, 1fr) !important;
}


/*
   Animação do layout.
*/
.app-layout {
    transition:
        grid-template-columns
        .18s ease;
}

.sidebar {
    transition:
        width .18s ease,
        min-width .18s ease,
        max-width .18s ease,
        padding .18s ease !important;
}


/*
   Mantém a área principal sempre na segunda coluna.
*/
.app-layout.sidebar-collapsed
.main-content {
    grid-column: 2 !important;
}



/* =========================================================
   GVISIO PORTAL - TEMA NOTURNO V2
   PALETA SUAVE + CONTRASTE CORRIGIDO
   ========================================================= */

html[data-theme="dark"] {

    --background: #1d2228;
    --surface: #292f36;
    --border: #404852;

    --text: #f1f3f5;
    --muted: #aeb7c1;

    --nav: #353535;
    --nav-hover: #464646;

    --success: #69d49d;
    --danger: #ff9494;

    color-scheme: dark;
}


/* FUNDO PRINCIPAL */

html[data-theme="dark"],
html[data-theme="dark"] body,
html[data-theme="dark"] .app-layout,
html[data-theme="dark"] .main-content,
html[data-theme="dark"] .page-section {
    background:
        var(--background) !important;

    color:
        var(--text) !important;
}


/* TOPBAR */

html[data-theme="dark"] .topbar h1,
html[data-theme="dark"] .topbar strong {
    color:
        var(--text) !important;
}

html[data-theme="dark"] .topbar p,
html[data-theme="dark"] .topbar-user span {
    color:
        var(--muted) !important;
}


/* PAINEIS E CARDS */

html[data-theme="dark"] .welcome-panel,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .metric-card,
html[data-theme="dark"] .content-card,
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .cotacao-section,
html[data-theme="dark"] .cotacao-step-panel,
html[data-theme="dark"] .result-detail-modal,
html[data-theme="dark"] .result-detail-kpi,
html[data-theme="dark"] .modal-card {
    background:
        var(--surface) !important;

    border-color:
        var(--border) !important;

    color:
        var(--text) !important;
}


/* TEXTOS */

html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] label,
html[data-theme="dark"] strong,
html[data-theme="dark"] .result-name {
    color:
        var(--text) !important;
}

html[data-theme="dark"] .welcome-panel p,
html[data-theme="dark"] .panel-header p,
html[data-theme="dark"] .metric-card span,
html[data-theme="dark"] .metric-card small,
html[data-theme="dark"] .result-id,
html[data-theme="dark"] .field-help {
    color:
        var(--muted) !important;
}


/* TABELAS */

html[data-theme="dark"] table,
html[data-theme="dark"] tbody,
html[data-theme="dark"] tr,
html[data-theme="dark"] td {
    background:
        var(--surface) !important;

    color:
        var(--text) !important;
}

html[data-theme="dark"] .results-table th,
html[data-theme="dark"] .result-detail-table th,
html[data-theme="dark"] table th {
    background:
        #343c45 !important;

    color:
        #dce2e8 !important;

    border-color:
        var(--border) !important;
}

html[data-theme="dark"] .results-table td,
html[data-theme="dark"] .result-detail-table td,
html[data-theme="dark"] table td {
    border-color:
        var(--border) !important;
}

html[data-theme="dark"] .results-table tbody tr:hover,
html[data-theme="dark"] .result-detail-table tbody tr:hover,
html[data-theme="dark"] table tbody tr:hover {
    background:
        #343b43 !important;
}


/* INPUTS */

html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
    background:
        #232930 !important;

    color:
        var(--text) !important;

    border-color:
        #4a535e !important;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
    color:
        #89939f !important;
}

html[data-theme="dark"] option {
    background:
        #232930;

    color:
        var(--text);
}


/* CONTROLES */

html[data-theme="dark"] .result-open-button,
html[data-theme="dark"] .secondary-action,
html[data-theme="dark"] .modal-close {
    background:
        #343b43 !important;

    border-color:
        #505a65 !important;

    color:
        var(--text) !important;
}


/* RESULTADO */

html[data-theme="dark"] .result-detail-kpis {
    background:
        #232930 !important;
}


/* COTACAO */

html[data-theme="dark"] .cotacao-section,
html[data-theme="dark"] .cotacao-card,
html[data-theme="dark"] .cotacao-panel,
html[data-theme="dark"] .cotacao-content,
html[data-theme="dark"] .competitor-card {
    background:
        var(--surface) !important;

    border-color:
        var(--border) !important;

    color:
        var(--text) !important;
}


/* CHIPS */

html[data-theme="dark"] .status-chip,
html[data-theme="dark"] .history-chip.complete {
    background:
        #203b30 !important;

    color:
        #72dda7 !important;
}

html[data-theme="dark"] .history-chip.partial {
    background:
        #443820 !important;

    color:
        #e7bd68 !important;
}

html[data-theme="dark"] .history-chip.legacy {
    background:
        #353c44 !important;

    color:
        #c2cad3 !important;
}


/* BOTAO TEMA */

html[data-theme="dark"] .theme-toggle {
    background:
        #343b43 !important;

    border-color:
        #505a65 !important;

    color:
        #f1f3f5 !important;
}



/* =========================================================
   GVISIO PORTAL - TEMA NOTURNO V2.1
   COTACAO COMPLETA - ETAPAS 1 A 5
   ========================================================= */

html[data-theme="dark"] {
    --gv-dark-bg: #1d2228;
    --gv-dark-panel: #292f36;
    --gv-dark-panel-2: #242a30;
    --gv-dark-border: #404852;
    --gv-dark-text: #f1f3f5;
    --gv-dark-muted: #aeb7c1;
    --gv-dark-green: #69d49d;
    --gv-dark-green-bg: #203b30;
    --gv-dark-red: #ff9494;
    --gv-dark-red-bg: #47292c;
    --gv-dark-amber: #e7bd68;
    --gv-dark-amber-bg: #443820;
}


/* =========================================================
   STEPPER
   ========================================================= */

html[data-theme="dark"] .portal-cotacao-stepper {
    background: var(--gv-dark-panel);
    border-bottom-color: var(--gv-dark-border);
}

html[data-theme="dark"] .portal-cotacao-step {
    color: var(--gv-dark-muted);
}

html[data-theme="dark"] .portal-cotacao-step span {
    background: var(--gv-dark-panel-2);
    border-color: #56606b;
    color: var(--gv-dark-muted);
}

html[data-theme="dark"] .portal-cotacao-step.active {
    color: #72c8d5;
}

html[data-theme="dark"] .portal-cotacao-step.active span {
    background: #3296A6;
    border-color: #3296A6;
    color: #ffffff;
}

html[data-theme="dark"] .portal-cotacao-step.completed {
    color: var(--gv-dark-green);
}

html[data-theme="dark"] .portal-cotacao-step.completed span {
    background: #2c6548;
    border-color: #4ca674;
    color: #ffffff;
}

html[data-theme="dark"] .portal-cotacao-line {
    background: var(--gv-dark-border);
}


/* =========================================================
   ETAPAS 1 E 2
   ========================================================= */

html[data-theme="dark"]
.portal-cotacao-section-header h3,
html[data-theme="dark"]
.portal-cotacao-grid label > span,
html[data-theme="dark"]
.portal-field-title,
html[data-theme="dark"]
.portal-competitor-header > strong,
html[data-theme="dark"]
.portal-cotacao-company-info strong,
html[data-theme="dark"]
.portal-preview-header h3,
html[data-theme="dark"]
.portal-cotacao-kpis strong {
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
.portal-cotacao-section-header p,
html[data-theme="dark"]
.portal-cotacao-grid small,
html[data-theme="dark"]
.portal-competitor small,
html[data-theme="dark"]
.portal-cotacao-company-info span,
html[data-theme="dark"]
#portal-cotacao-preview-info,
html[data-theme="dark"]
.portal-cotacao-kpis span,
html[data-theme="dark"]
.portal-preview-empty {
    color: var(--gv-dark-muted) !important;
}

html[data-theme="dark"]
.portal-cotacao-grid input,
html[data-theme="dark"]
.portal-multiselect-trigger,
html[data-theme="dark"]
.portal-multiselect-dropdown > input[type="search"] {
    background: var(--gv-dark-panel-2);
    border-color: var(--gv-dark-border);
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
.portal-cotacao-grid input:focus,
html[data-theme="dark"]
.portal-multiselect-dropdown > input[type="search"]:focus {
    border-color: #3296A6;
    box-shadow:
        0 0 0 3px
        rgba(50,150,166,.20);
}

html[data-theme="dark"]
.portal-competitor-section,
html[data-theme="dark"]
.portal-cotacao-results {
    border-color: var(--gv-dark-border);
}

html[data-theme="dark"] .portal-competitor {
    background: var(--gv-dark-panel-2);
    border-color: var(--gv-dark-border);
}

html[data-theme="dark"]
.portal-competitor:hover {
    border-color: #59636e;
}

html[data-theme="dark"]
.portal-competitor.selected {
    background: #20363a;
    border-color: #3296A6;
}

html[data-theme="dark"]
.portal-competitor strong {
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
.portal-cotacao-company-info {
    background: var(--gv-dark-panel-2);
    border: 1px solid var(--gv-dark-border);
}

html[data-theme="dark"]
.portal-multiselect-dropdown {
    background: var(--gv-dark-panel-2);
    border-color: var(--gv-dark-border);

    box-shadow:
        0 14px 30px
        rgba(0,0,0,.30);
}

html[data-theme="dark"]
.portal-select-option {
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
.portal-select-option:hover {
    background: #343b43;
}

html[data-theme="dark"]
.portal-select-option:has(input:checked) {
    background: #20363a;
}

html[data-theme="dark"]
.portal-select-empty {
    color: var(--gv-dark-muted);
}

html[data-theme="dark"]
.portal-cotacao-kpis article {
    background: var(--gv-dark-panel-2);
    border-color: var(--gv-dark-border);
}

html[data-theme="dark"]
.portal-preview-table-wrap {
    background: var(--gv-dark-panel-2);
    border-color: var(--gv-dark-border);
}

html[data-theme="dark"]
.portal-preview-table th {
    background: #353c44;
    color: #c5cdd6;
}

html[data-theme="dark"]
.portal-preview-table td {
    background: var(--gv-dark-panel-2);
    border-bottom-color: var(--gv-dark-border);
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
.portal-preview-table td strong {
    color: var(--gv-dark-text);
}


/* MENSAGENS */

html[data-theme="dark"]
.portal-cotacao-message.warning {
    background: var(--gv-dark-amber-bg);
    border-color: #806a36;
    color: var(--gv-dark-amber);
}

html[data-theme="dark"]
.portal-cotacao-message.error {
    background: var(--gv-dark-red-bg);
    border-color: #774248;
    color: var(--gv-dark-red);
}

html[data-theme="dark"]
.portal-cotacao-message.success {
    background: var(--gv-dark-green-bg);
    border-color: #35684f;
    color: var(--gv-dark-green);
}


/* =========================================================
   ETAPA 3 - PRECIFICACAO
   ========================================================= */

html[data-theme="dark"]
.cotacao-pricing-header h2,
html[data-theme="dark"]
.pricing-config-header h3,
html[data-theme="dark"]
.pricing-summary-card strong,
html[data-theme="dark"]
.pricing-config-section label,
html[data-theme="dark"]
.pricing-rule-card strong {
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
.cotacao-pricing-header p,
html[data-theme="dark"]
.pricing-config-header p,
html[data-theme="dark"]
.pricing-summary-card span,
html[data-theme="dark"]
.pricing-curve-head,
html[data-theme="dark"]
.pricing-rule-card small {
    color: var(--gv-dark-muted);
}

html[data-theme="dark"]
.cotacao-engine-badge,
html[data-theme="dark"]
.pricing-total-badge,
html[data-theme="dark"]
.pricing-count-badge {
    background: var(--gv-dark-panel-2);
    border-color: var(--gv-dark-border);
    color: #c8d0d9;
}

html[data-theme="dark"]
.pricing-total-badge.invalid {
    background: var(--gv-dark-red-bg);
    border-color: #774248;
    color: var(--gv-dark-red);
}

html[data-theme="dark"]
.pricing-summary-card,
html[data-theme="dark"]
.pricing-config-section {
    background: var(--gv-dark-panel);
    border-color: var(--gv-dark-border);
}

html[data-theme="dark"]
.pricing-config-section input[type="number"],
html[data-theme="dark"]
.pricing-config-section input[type="text"],
html[data-theme="dark"]
.pricing-config-section select {
    background: var(--gv-dark-panel-2);
    border-color: var(--gv-dark-border);
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
.pricing-config-section input:focus,
html[data-theme="dark"]
.pricing-config-section select:focus {
    border-color: #3296A6;

    box-shadow:
        0 0 0 3px
        rgba(50,150,166,.20);
}

html[data-theme="dark"]
.pricing-curve-letter {
    background: #353c44;
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
.pricing-selection-box {
    background: var(--gv-dark-panel-2);
    border-color: var(--gv-dark-border);
}

html[data-theme="dark"]
.pricing-selection-option {
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
.pricing-selection-option:hover,
html[data-theme="dark"]
#pricing-manufacturers
.pricing-selection-option:hover,
html[data-theme="dark"]
#pricing-classes
.pricing-selection-option:hover {
    background: #343b43;
}

html[data-theme="dark"]
.pricing-selection-option.selected,
html[data-theme="dark"]
#pricing-manufacturers
.pricing-selection-option.selected,
html[data-theme="dark"]
#pricing-classes
.pricing-selection-option.selected {
    background: #20363a;
}

html[data-theme="dark"]
#pricing-manufacturers
.pricing-selection-option > span,
html[data-theme="dark"]
#pricing-classes
.pricing-selection-option > span {
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
#pricing-manufacturers
.pricing-selection-option.selected > span,
html[data-theme="dark"]
#pricing-classes
.pricing-selection-option.selected > span {
    color: #77cbd7;
}

html[data-theme="dark"]
.pricing-rule-card {
    background: var(--gv-dark-panel-2);
    border-color: var(--gv-dark-border);
}

html[data-theme="dark"]
#pricing-manufacturers::-webkit-scrollbar-thumb,
html[data-theme="dark"]
#pricing-classes::-webkit-scrollbar-thumb {
    background: #59636e;
}


/* =========================================================
   ETAPA 4 - PROGRESSO
   ========================================================= */

html[data-theme="dark"]
.portal-progress-header h2,
html[data-theme="dark"]
.portal-progress-top,
html[data-theme="dark"]
.portal-progress-metric strong,
html[data-theme="dark"]
.portal-progress-section-title,
html[data-theme="dark"]
.portal-competitor-top strong,
html[data-theme="dark"]
.portal-result-placeholder h2 {
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
.portal-progress-header p,
html[data-theme="dark"]
.portal-progress-counter,
html[data-theme="dark"]
.portal-progress-metric span,
html[data-theme="dark"]
.portal-competitor-details,
html[data-theme="dark"]
.portal-result-placeholder p {
    color: var(--gv-dark-muted);
}

html[data-theme="dark"]
.portal-progress-status {
    background: #343b43;
    color: var(--gv-dark-muted);
}

html[data-theme="dark"]
.portal-progress-status.running {
    background: #20363a;
    color: #72c8d5;
}

html[data-theme="dark"]
.portal-progress-status.completed {
    background: var(--gv-dark-green-bg);
    color: var(--gv-dark-green);
}

html[data-theme="dark"]
.portal-progress-status.failed {
    background: var(--gv-dark-red-bg);
    color: var(--gv-dark-red);
}

html[data-theme="dark"]
.portal-progress-main,
html[data-theme="dark"]
.portal-progress-metric,
html[data-theme="dark"]
.portal-competitor-progress,
html[data-theme="dark"]
.portal-result-placeholder {
    background: var(--gv-dark-panel);
    border-color: var(--gv-dark-border);
}

html[data-theme="dark"]
.portal-progress-track,
html[data-theme="dark"]
.portal-mini-progress {
    background: #3c444d;
}

html[data-theme="dark"]
.portal-competitor-status {
    color: var(--gv-dark-muted);
}

html[data-theme="dark"]
.portal-competitor-status.running {
    color: #72c8d5;
}

html[data-theme="dark"]
.portal-competitor-status.completed {
    color: var(--gv-dark-green);
}

html[data-theme="dark"]
.portal-competitor-status.failed {
    color: var(--gv-dark-red);
}

html[data-theme="dark"]
.portal-progress-message {
    background: var(--gv-dark-panel-2);
    border-color: var(--gv-dark-border);
    color: #c4ccd5;
}

html[data-theme="dark"]
.portal-progress-message.completed {
    background: var(--gv-dark-green-bg);
    border-color: #35684f;
    color: var(--gv-dark-green);
}

html[data-theme="dark"]
.portal-progress-message.failed {
    background: var(--gv-dark-red-bg);
    border-color: #774248;
    color: var(--gv-dark-red);
}


/* =========================================================
   ETAPA 5 - RESULTADO
   ========================================================= */

html[data-theme="dark"]
.portal-result-header {
    background: var(--gv-dark-panel);
    border-color: var(--gv-dark-border);
}

html[data-theme="dark"]
.portal-result-header h2 {
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
.portal-result-header p {
    color: var(--gv-dark-muted);
}

html[data-theme="dark"]
.portal-result-sticky-bar {
    background:
        rgba(29,34,40,.97);

    border-bottom-color:
        rgba(64,72,82,.95);
}

html[data-theme="dark"]
.portal-result-kpis {
    background: #222a30;
    border-color: var(--gv-dark-border);
}

html[data-theme="dark"]
.portal-result-kpi {
    background: var(--gv-dark-panel);
    border-color: var(--gv-dark-border);
}

html[data-theme="dark"]
.portal-result-kpi span,
html[data-theme="dark"]
.portal-result-kpi small {
    color: var(--gv-dark-muted);
}

html[data-theme="dark"]
.portal-result-kpi strong {
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
.portal-result-kpi-danger,
html[data-theme="dark"]
.portal-result-kpi.loss {
    background: var(--gv-dark-red-bg);
    border-color: #774248;
}

html[data-theme="dark"]
.portal-result-kpi.success {
    background: var(--gv-dark-green-bg);
    border-color: #35684f;
}

html[data-theme="dark"]
.portal-result-kpi-competitor {
    background: #202e46;
    border-color: #496b9f;
}

html[data-theme="dark"]
.portal-result-kpi-competitor > span,
html[data-theme="dark"]
.portal-result-kpi-competitor > small {
    color: #b4c4db;
}

html[data-theme="dark"]
.portal-result-kpi-competitor > strong {
    color: #83aef8;
}

html[data-theme="dark"]
.portal-result-tools-toggle {
    background: var(--gv-dark-panel-2);
    border-color: var(--gv-dark-border);
    color: #c5cdd6;

    box-shadow:
        0 2px 7px
        rgba(0,0,0,.24);
}

html[data-theme="dark"]
.portal-result-tools-toggle:hover,
html[data-theme="dark"]
.portal-result-tools-toggle[
    aria-expanded="true"
] {
    background: #263b4b;
    border-color: #4f83bb;
    color: #8ebaf0;
}

html[data-theme="dark"]
.portal-result-tools-count {
    border-color: var(--gv-dark-panel);
}

html[data-theme="dark"]
.portal-result-toolbar {
    background: var(--gv-dark-panel);
    border-color: var(--gv-dark-border);

    box-shadow:
        0 10px 30px
        rgba(0,0,0,.28);
}

html[data-theme="dark"]
.portal-result-table-info {
    background: var(--gv-dark-panel);
    border-color: var(--gv-dark-border);
    color: var(--gv-dark-muted);
}

html[data-theme="dark"]
.portal-result-table-wrapper {
    background: var(--gv-dark-panel-2);
    border-color: var(--gv-dark-border);
}

html[data-theme="dark"]
.portal-result-table td {
    background: var(--gv-dark-panel-2);
    border-right-color: var(--gv-dark-border);
    border-bottom-color: var(--gv-dark-border);
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
.portal-result-table th {
    background: #353c44;
    border-right-color: #4a535d;
    border-bottom-color: #4a535d;
    color: #e2e6ea;
}

/*
   Mantém as cores específicas das famílias de colunas:
   concorrente / clube / NID / variação / PMC.
   Apenas as colunas neutras seguem o fundo escuro.
*/

html[data-theme="dark"]
.portal-result-table
td:nth-child(-n+5) {
    background: var(--gv-dark-panel-2);
}

html[data-theme="dark"]
.portal-result-table
th:nth-child(-n+5) {
    background: #353c44;
    color: #e2e6ea;
}

html[data-theme="dark"]
.portal-result-table
tbody tr:hover td {
    background: #30373f;
}

html[data-theme="dark"]
.portal-result-table
tbody tr:hover
td:nth-child(-n+5) {
    background: #30373f;
}

html[data-theme="dark"]
.portal-result-sort-button:hover {
    background: rgba(255,255,255,.06);
}

html[data-theme="dark"]
.portal-result-manual-input {
    background: #1f252b;
    border-color: #5578ae;
    color: var(--gv-dark-text);
}


/* =========================================================
   ETAPA 5 - MODAL DESCONTO POR QUANTIDADE
   ========================================================= */

html[data-theme="dark"]
#portal-result-discount-panel.portal-result-discount-panel {
    background: var(--gv-dark-panel) !important;
    border-color: var(--gv-dark-border) !important;

    box-shadow:
        0 0 0 9999px
        rgba(0,0,0,.62),
        0 24px 70px
        rgba(0,0,0,.45) !important;
}

html[data-theme="dark"]
#portal-result-discount-panel
.portal-result-discount-header {
    border-bottom-color:
        var(--gv-dark-border) !important;
}

html[data-theme="dark"]
#portal-result-discount-panel
.portal-result-discount-header strong {
    color:
        var(--gv-dark-text) !important;
}

html[data-theme="dark"]
#portal-result-discount-panel
.portal-result-discount-header p {
    color:
        var(--gv-dark-muted) !important;
}

html[data-theme="dark"]
#portal-result-discount-panel
.portal-result-discount-switch {
    background:
        var(--gv-dark-panel-2) !important;

    border-color:
        var(--gv-dark-border) !important;

    color:
        #d0d6dd !important;
}

html[data-theme="dark"]
#portal-result-discount-panel
.portal-result-discount-limit {
    background:
        var(--gv-dark-panel-2) !important;

    border-color:
        var(--gv-dark-border) !important;
}

html[data-theme="dark"]
#portal-result-discount-panel
.portal-result-discount-limit > label {
    color:
        #d8dde3 !important;
}

html[data-theme="dark"]
#portal-result-discount-panel
.portal-result-discount-limit
.portal-result-discount-limit-input {
    background:
        #1f252b !important;

    border-color:
        var(--gv-dark-border) !important;
}

html[data-theme="dark"]
#portal-result-discount-panel
.portal-result-discount-limit-input > span {
    background:
        #343b43 !important;

    border-right-color:
        var(--gv-dark-border) !important;

    color:
        #c4ccd5 !important;
}

html[data-theme="dark"]
#portal-result-discount-panel
.portal-result-discount-limit-input > input {
    background:
        #1f252b !important;

    color:
        var(--gv-dark-text) !important;
}

html[data-theme="dark"]
#portal-result-discount-panel
.portal-result-discount-warning {
    background:
        var(--gv-dark-amber-bg) !important;

    border-left-color:
        #c99335 !important;

    color:
        var(--gv-dark-amber) !important;
}

html[data-theme="dark"]
#portal-result-discount-panel
.portal-result-discount-warning strong {
    color:
        #f0cd83 !important;
}

html[data-theme="dark"]
#portal-result-discount-panel
.portal-result-discount-search {
    background:
        #1f252b !important;

    border-color:
        var(--gv-dark-border) !important;

    color:
        var(--gv-dark-text) !important;
}

html[data-theme="dark"]
#portal-result-discount-panel
.portal-result-discount-options {
    background:
        var(--gv-dark-panel-2) !important;

    border-color:
        var(--gv-dark-border) !important;
}

html[data-theme="dark"]
#portal-result-discount-panel
.portal-result-discount-option {
    background:
        #2d343b !important;

    border-color:
        var(--gv-dark-border) !important;

    color:
        #d8dde3 !important;
}

html[data-theme="dark"]
#portal-result-discount-panel
.portal-result-discount-option:hover {
    background:
        #363e46 !important;
}


/* =========================================================
   MODAL ALPHA 7 / EXPORTACAO
   ========================================================= */

html[data-theme="dark"]
.result-alpha-dialog {
    background: var(--gv-dark-panel);
    border-color: var(--gv-dark-border);
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
.result-alpha-header,
html[data-theme="dark"]
.result-alpha-footer {
    border-color: var(--gv-dark-border);
}

html[data-theme="dark"]
.result-alpha-header h3,
html[data-theme="dark"]
.result-alpha-section-title,
html[data-theme="dark"]
.result-alpha-choice strong,
html[data-theme="dark"]
.result-alpha-format strong,
html[data-theme="dark"]
.result-alpha-protection strong {
    color: var(--gv-dark-text);
}

html[data-theme="dark"]
.result-alpha-header p,
html[data-theme="dark"]
.result-alpha-choice small,
html[data-theme="dark"]
.result-alpha-format small,
html[data-theme="dark"]
.result-alpha-protection small,
html[data-theme="dark"]
.result-alpha-filter-note {
    color: var(--gv-dark-muted);
}

html[data-theme="dark"]
.result-alpha-choice,
html[data-theme="dark"]
.result-alpha-format,
html[data-theme="dark"]
.result-alpha-protection {
    background: var(--gv-dark-panel-2);
    border-color: var(--gv-dark-border);
}

html[data-theme="dark"]
.result-alpha-choice:hover,
html[data-theme="dark"]
.result-alpha-format:hover {
    background: #343b43;
}

html[data-theme="dark"]
.result-alpha-choice:has(input:checked),
html[data-theme="dark"]
.result-alpha-format:has(input:checked) {
    background: #20363a;
    border-color: #3296A6;
}

html[data-theme="dark"]
.result-alpha-format code {
    background: #1f252b;
    color: #dce2e8;
}

html[data-theme="dark"]
.result-alpha-hint {
    background: #263139;
    border-color: var(--gv-dark-border);
    color: #c4ccd5;
}


/* =========================================================
   FIM TEMA NOTURNO PORTAL V2.1
   ========================================================= */


/* =========================================================
   GVISIO PORTAL - TEMA NOTURNO V2.1.1 - STEPPER
   Sobrescreve PORTAL COTACAO V20.4
   ========================================================= */

html[data-theme="dark"]
.portal-cotacao-stepper {
    background:
        #292f36 !important;

    border-bottom-color:
        #404852 !important;
}


/* ETAPA AINDA NAO CONCLUIDA */

html[data-theme="dark"]
.portal-cotacao-step {
    background:
        #242a30 !important;

    border:
        1px solid #3d4650 !important;

    color:
        #aeb7c1 !important;

    box-shadow:
        none !important;
}

html[data-theme="dark"]
.portal-cotacao-step > span {
    background:
        #353d46 !important;

    color:
        #c2cad3 !important;

    border:
        1px solid #56616d !important;
}


/* HOVER */

html[data-theme="dark"]
.portal-cotacao-step:hover {
    background:
        #303840 !important;

    border-color:
        #596570 !important;

    color:
        #e1e5e9 !important;

    box-shadow:
        0 3px 10px
        rgba(0,0,0,.18) !important;
}


/* ETAPA ATUAL */

html[data-theme="dark"]
.portal-cotacao-step.active {
    background:
        #20363a !important;

    border:
        2px solid #3296A6 !important;

    color:
        #82d1dc !important;

    box-shadow:
        0 0 0 1px
        rgba(50,150,166,.08) !important;
}

html[data-theme="dark"]
.portal-cotacao-step.active > span {
    background:
        #3296A6 !important;

    border-color:
        #3296A6 !important;

    color:
        #ffffff !important;
}


/* ETAPA CONCLUIDA */

html[data-theme="dark"]
.portal-cotacao-step.completed {
    background:
        #203b30 !important;

    border:
        1px solid #35684f !important;

    color:
        #69d49d !important;
}

html[data-theme="dark"]
.portal-cotacao-step.completed > span {
    background:
        #367b58 !important;

    border-color:
        #4b9f72 !important;

    color:
        #ffffff !important;
}


/* LINHAS ENTRE AS ETAPAS */

html[data-theme="dark"]
.portal-cotacao-line {
    background:
        #46505a !important;
}


/* TITULOS */

html[data-theme="dark"]
.portal-cotacao-step strong {
    color:
        inherit !important;
}


/* =========================================================
   FIM STEPPER V2.1.1
   ========================================================= */


/* =========================================================
   GVISIO PORTAL - DARK V2.1.2 - RESULT DETAIL SURFACES
   ========================================================= */

html[data-theme="dark"]
.result-detail-summary {
    background:
        #242a30 !important;

    border-top-color:
        #404852 !important;

    border-bottom-color:
        #404852 !important;
}


html[data-theme="dark"]
.result-detail-toolbar {
    background:
        #242a30 !important;

    border-top-color:
        #404852 !important;

    border-bottom-color:
        #404852 !important;
}


html[data-theme="dark"]
.result-detail-view-wrap label {
    color:
        #aeb7c1 !important;
}


html[data-theme="dark"]
.result-detail-count {
    color:
        #aeb7c1 !important;
}


/* =========================================================
   FIM RESULT DETAIL SURFACES
   ========================================================= */


/* =========================================================
   GVISIO PORTAL - SIDEBAR TOGGLE ICON V1
   Chevron limpo desenhado em CSS
   ========================================================= */

.sidebar-toggle {
    width: 28px !important;
    height: 28px !important;

    padding: 0 !important;

    border:
        1px solid
        rgba(255,255,255,.15) !important;

    border-radius:
        8px !important;

    background:
        rgba(255,255,255,.055) !important;

    color:
        #d1d7df !important;

    font-size:
        0 !important;

    line-height:
        0 !important;
}

.sidebar-toggle::before {
    content: "";

    width: 7px;
    height: 7px;

    display: block;

    border-right:
        2px solid currentColor;

    border-bottom:
        2px solid currentColor;

    transform:
        rotate(135deg);

    box-sizing:
        border-box;
}

.sidebar-toggle:hover {
    background:
        rgba(255,255,255,.12) !important;

    border-color:
        rgba(255,255,255,.24) !important;

    color:
        #ffffff !important;
}


/*
   A rotação de 180 graus do próprio botão
   no estado recolhido continua sendo controlada
   pelas regras atuais da Sidebar V5.
*/


/* =========================================================
   FIM SIDEBAR TOGGLE ICON V1
   ========================================================= */


/* =========================================================
   GVISIO PORTAL - DARK V2.1.3 - DASHBOARD HISTORY
   ========================================================= */

html[data-theme="dark"]
.dashboard-history-card {
    background:
        #292f36 !important;

    border-color:
        #404852 !important;
}


html[data-theme="dark"]
.dashboard-history-header {
    background:
        #292f36 !important;

    border-bottom-color:
        #404852 !important;
}


html[data-theme="dark"]
.dashboard-history-header h3 {
    color:
        #f1f3f5 !important;
}


html[data-theme="dark"]
.dashboard-history-count {
    color:
        #aeb7c1 !important;
}


html[data-theme="dark"]
.dashboard-history-table-wrap {
    background:
        #242a30 !important;
}


html[data-theme="dark"]
.dashboard-history-table {
    background:
        #242a30 !important;

    color:
        #f1f3f5 !important;
}


html[data-theme="dark"]
.dashboard-history-table th {
    background:
        #353c44 !important;

    color:
        #c5cdd6 !important;

    border-bottom-color:
        #404852 !important;
}


html[data-theme="dark"]
.dashboard-history-table td {
    background:
        #242a30 !important;

    color:
        #f1f3f5 !important;

    border-bottom-color:
        #404852 !important;
}


html[data-theme="dark"]
.dashboard-history-table td strong {
    color:
        #f1f3f5 !important;
}


html[data-theme="dark"]
.dashboard-history-table td small {
    color:
        #aeb7c1 !important;
}


html[data-theme="dark"]
.dashboard-history-table tbody tr:hover td {
    background:
        #30373f !important;
}


html[data-theme="dark"]
.dashboard-history-empty {
    background:
        #242a30 !important;

    color:
        #aeb7c1 !important;
}


/* =========================================================
   FIM DASHBOARD HISTORY
   ========================================================= */


/* =========================================================
   GVISIO PORTAL - DARK V2.1.4 - DASHBOARD SEARCH RESULTS
   ========================================================= */

html[data-theme="dark"]
.dashboard-search-results {
    background:
        #242a30 !important;

    border-color:
        #404852 !important;

    box-shadow:
        0 14px 35px
        rgba(0,0,0,.30) !important;
}


html[data-theme="dark"]
.dashboard-product-option {
    background:
        #242a30 !important;

    border-bottom-color:
        #404852 !important;

    color:
        #f1f3f5 !important;
}


html[data-theme="dark"]
.dashboard-product-option:hover {
    background:
        #30373f !important;
}


html[data-theme="dark"]
.dashboard-product-option-main strong {
    color:
        #f1f3f5 !important;
}


html[data-theme="dark"]
.dashboard-product-option-main small {
    color:
        #aeb7c1 !important;
}


html[data-theme="dark"]
.dashboard-product-option-history {
    color:
        #aeb7c1 !important;
}


html[data-theme="dark"]
.dashboard-search-empty {
    background:
        #242a30 !important;

    color:
        #aeb7c1 !important;
}


html[data-theme="dark"]
.dashboard-search-empty.error {
    color:
        #ff9494 !important;
}


/* =========================================================
   FIM DASHBOARD SEARCH RESULTS
   ========================================================= */
