/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-container[b-qj82xg275b] {
    display: flex;
    min-height: 100vh;
}

/* ── SIDEBAR ─────────────────────────────────────────── */
.sidebar[b-qj82xg275b] {
    width: 240px;
    min-width: 240px;
    background: #2D3558;
    min-height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    z-index: 20;
}

.sidebar-logo[b-qj82xg275b] {
    height: 64px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    flex-shrink: 0;
}

.sidebar-logo svg[b-qj82xg275b] {
    width: 26px;
    height: 24px;
    flex-shrink: 0;
    fill: #f39200;
}

.sidebar-logo-name[b-qj82xg275b] {
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.01em;
}

/* ── MAIN ────────────────────────────────────────────── */
.main[b-qj82xg275b] {
    margin-left: 240px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.page-header[b-qj82xg275b] {
    height: 56px;
    background: #fff;
    border-bottom: 1px solid #E4E6EF;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 10;
}

.page-title[b-qj82xg275b] {
    font-size: 20px;
    font-weight: 700;
    color: #2D3558;
    margin: 0;
}

.header-actions[b-qj82xg275b] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ── USER MENU ───────────────────────────────────────── */
.user-menu[b-qj82xg275b] {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 6px 12px;
    border-radius: 6px;
    transition: background-color 0.15s;
    position: relative;
    user-select: none;
    color: #2D3558;
}

.user-menu:hover[b-qj82xg275b] {
    background-color: #F4F5F9;
}

.user-avatar[b-qj82xg275b] {
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    color: #2D3558;
}

.user-name[b-qj82xg275b] {
    font-size: 13px;
    font-weight: 500;
    color: #2D3558;
}

.user-caret[b-qj82xg275b] {
    font-size: 0.75rem;
    color: #9CA2B8;
}

.user-dropdown[b-qj82xg275b] {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 8px;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.10);
    border: 1px solid #E4E6EF;
    min-width: 200px;
    padding: 6px 0;
    z-index: 200;
}

.user-dropdown[b-qj82xg275b]  .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    color: #2D3558;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: background-color 0.12s;
}

.user-dropdown[b-qj82xg275b]  .dropdown-item:hover {
    background-color: #F4F5F9;
}

.user-dropdown[b-qj82xg275b]  .dropdown-item.text-danger {
    color: #C62828;
}

.user-dropdown[b-qj82xg275b]  .dropdown-item.text-danger:hover {
    background-color: #FDECEA;
}

.user-dropdown[b-qj82xg275b]  .dropdown-divider {
    margin: 4px 0;
    border-color: #E4E6EF;
}

.user-dropdown-info[b-qj82xg275b] {
    display: flex;
    flex-direction: column;
    padding: 10px 14px 8px;
    gap: 2px;
}

.user-dropdown-info strong[b-qj82xg275b] {
    color: #2D3558;
    font-size: 13px;
    font-weight: 600;
}

.user-dropdown-info span[b-qj82xg275b] {
    color: #9CA2B8;
    font-size: 12px;
}

.logout-form[b-qj82xg275b] {
    margin: 0;
}

.user-dropdown[b-qj82xg275b]  .logout-btn {
    background: none;
    border: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
}

/* ── CONTENT ─────────────────────────────────────────── */
.content[b-qj82xg275b] {
    padding: 24px;
    flex: 1;
    background: #F4F5F9;
}

/* ── ERROR UI ────────────────────────────────────────── */
#blazor-error-ui[b-qj82xg275b] {
    background: #FDECEA;
    color: #C62828;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0,0,0,0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-qj82xg275b] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.sidebar-nav[b-t5b0e582re] {
    padding: 12px 12px 0;
    flex: 1;
    overflow-y: auto;
}

.nav-section-label[b-t5b0e582re] {
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.06em;
    padding: 0 8px;
    margin: 20px 0 4px;
}

.nav-section-label:first-child[b-t5b0e582re] {
    margin-top: 8px;
}

[b-t5b0e582re] .nav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 40px;
    padding: 0 8px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    color: rgba(255,255,255,0.65);
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
    margin-bottom: 2px;
    user-select: none;
}

[b-t5b0e582re] .nav-item:hover {
    background: #495583;
    color: #fff;
}

[b-t5b0e582re] .nav-item.active {
    background: rgba(255,255,255,0.10);
    color: #fff;
}

[b-t5b0e582re] .nav-item svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    opacity: 0.75;
}

[b-t5b0e582re] .nav-item:hover svg,
[b-t5b0e582re] .nav-item.active svg {
    opacity: 1;
}
/* /Components/Pages/AlvoProducao.razor.rz.scp.css */
.page-header[b-d4benwzjpl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ── FILTROS ──────────────────────────────────────────── */
.filter-row[b-d4benwzjpl] {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: space-between;
}

.filter-row-left[b-d4benwzjpl] {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
}

.filter-field[b-d4benwzjpl] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.filter-label[b-d4benwzjpl] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
}

.form-input[b-d4benwzjpl] {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #D0D3E0;
    border-radius: 4px;
    font-size: 13px;
    color: #2D3558;
    background: #fff;
    font-family: inherit;
    min-width: 200px;
}

.form-input:focus[b-d4benwzjpl] {
    outline: none;
    border-color: #495583;
    box-shadow: 0 0 0 2px rgba(73,85,131,0.15);
}

/* ── BOTÃO REPROGRAMAR ────────────────────────────────── */
@keyframes shimmer-b-d4benwzjpl {
    0%   { transform: translateX(-100%) skewX(-15deg); }
    100% { transform: translateX(250%)  skewX(-15deg); }
}

@keyframes glow-pulse-b-d4benwzjpl {
    0%, 100% { box-shadow: 0 0 10px 2px rgba(139,92,246,0.45), 0 4px 18px rgba(99,60,220,0.35); }
    50%       { box-shadow: 0 0 20px 6px rgba(139,92,246,0.65), 0 6px 24px rgba(99,60,220,0.50); }
}

@keyframes checked-pop-b-d4benwzjpl {
    0%   { transform: scale(0.92); }
    60%  { transform: scale(1.05); }
    100% { transform: scale(1);    }
}

.btn-reprogramar[b-d4benwzjpl] {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 20px;
    border-radius: 8px;
    border: none;
    background: linear-gradient(135deg, #6B48FF 0%, #9B6DFF 50%, #C471ED 100%);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: transform 0.15s, filter 0.2s;
}

.btn-reprogramar:hover[b-d4benwzjpl] {
    transform: translateY(-1px) scale(1.02);
    filter: brightness(1.08);
}

.btn-reprogramar:active[b-d4benwzjpl] {
    transform: scale(0.97);
}

.btn-reprogramar-glow[b-d4benwzjpl] {
    position: absolute;
    top: 0; left: 0;
    width: 40%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.28), transparent);
    pointer-events: none;
}

.btn-reprogramar:hover .btn-reprogramar-glow[b-d4benwzjpl] {
    animation: shimmer-b-d4benwzjpl 0.7s ease forwards;
}

.btn-icon[b-d4benwzjpl] {
    font-size: 16px;
    filter: drop-shadow(0 0 4px rgba(255,255,255,0.6));
}

.btn-reprogramar-ativo[b-d4benwzjpl] {
    background: linear-gradient(135deg, #1a9e5c 0%, #2ecc71 100%);
    animation: checked-pop-b-d4benwzjpl 0.35s ease forwards;
}

.btn-reprogramar-ativo:hover[b-d4benwzjpl] {
    filter: brightness(1.06);
}

/* ── CARROSSEL DE LINHAS ──────────────────────────────── */
.linhas-carrossel[b-d4benwzjpl] {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.linha-card[b-d4benwzjpl] {
    flex: 0 0 auto;
    min-width: 190px;
    padding: 12px 14px;
    border-radius: 6px;
    border: 1px solid #E4E6EF;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.linha-card:hover[b-d4benwzjpl] {
    border-color: #495583;
    box-shadow: 0 2px 6px rgba(73,85,131,0.12);
}

.linha-card-ativo[b-d4benwzjpl] {
    border-color: #495583;
    background: #F0F2FF;
    box-shadow: 0 2px 6px rgba(73,85,131,0.15);
}

.linha-card-nome[b-d4benwzjpl] {
    font-size: 12px;
    font-weight: 700;
    color: #2D3558;
    margin-bottom: 8px;
}

.linha-card-row[b-d4benwzjpl] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 12px;
    padding: 2px 0;
}

.linha-card-label[b-d4benwzjpl] { color: #9CA2B8; font-size: 11px; }
.linha-card-value[b-d4benwzjpl] { font-weight: 600; font-variant-numeric: tabular-nums; color: #2D3558; }
.linha-card-value small[b-d4benwzjpl] { font-weight: 400; color: #9CA2B8; font-size: 10px; }

.delta-pos[b-d4benwzjpl] { color: #1E7E34; }
.delta-neg[b-d4benwzjpl] { color: #C62828; }

/* ── LAYOUT GRÁFICO + TOTALIZADORES ──────────────────── */
.chart-section[b-d4benwzjpl] {
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 16px;
    align-items: start;
}

.chart-container[b-d4benwzjpl] {
    position: relative;
    height: 280px;
}

/* ── TOTALIZADORES ────────────────────────────────────── */
.totais-card[b-d4benwzjpl] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.totais-group[b-d4benwzjpl] {
    padding: 12px 14px;
    background: #F8F9FF;
    border-radius: 6px;
    border: 1px solid #E4E6EF;
}

.totais-group-title[b-d4benwzjpl] {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #9CA2B8;
    margin-bottom: 8px;
}

.totais-row[b-d4benwzjpl] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 12px;
    color: #2D3558;
    padding: 2px 0;
}

.totais-row .label[b-d4benwzjpl] { color: #6B7194; }
.totais-row .value[b-d4benwzjpl] { font-weight: 600; font-variant-numeric: tabular-nums; }
.totais-delta-pos[b-d4benwzjpl] { color: #1E7E34; font-weight: 700; }
.totais-delta-neg[b-d4benwzjpl] { color: #C62828; font-weight: 700; }
.totais-pct[b-d4benwzjpl]       { font-size: 11px; color: #9CA2B8; margin-top: 2px; text-align: right; }

/* ── GRID ─────────────────────────────────────────────── */
.grid-wrapper[b-d4benwzjpl] {
    overflow-x: auto;
}

.alvo-table[b-d4benwzjpl] {
    border-collapse: collapse;
    font-size: 12px;
    white-space: nowrap;
    width: 100%;
}

.alvo-table th[b-d4benwzjpl],
.alvo-table td[b-d4benwzjpl] {
    padding: 7px 12px;
    border-bottom: 1px solid #E4E6EF;
}

.alvo-table thead th[b-d4benwzjpl] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
    text-align: right;
    background: #fff;
    border-bottom: 2px solid #E4E6EF;
}

.alvo-table thead th:first-child[b-d4benwzjpl] { text-align: left; }

.alvo-table tbody tr:hover td[b-d4benwzjpl] { background: #F4F5F9; }

.td-sku[b-d4benwzjpl] {
    font-weight: 500;
    color: #2D3558;
    text-align: left;
}

.td-num[b-d4benwzjpl] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    color: #2D3558;
}

.td-politica[b-d4benwzjpl] {
    text-align: right;
    color: #6B7194;
}

.td-delta-pos[b-d4benwzjpl] { text-align: right; color: #1E7E34; font-weight: 600; }
.td-delta-neg[b-d4benwzjpl] { text-align: right; color: #C62828; font-weight: 600; }

.td-alerta[b-d4benwzjpl] { text-align: center; font-size: 15px; cursor: default; }

.td-estfinal-low[b-d4benwzjpl] { color: #C62828; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }

/* ── VER MAIS ─────────────────────────────────────────── */
.btn-ver-mais[b-d4benwzjpl] {
    font-size: 11px;
    font-weight: 600;
    color: #495583;
    background: none;
    border: 1px solid #D0D3E0;
    border-radius: 4px;
    padding: 3px 8px;
    cursor: pointer;
    white-space: nowrap;
    font-family: inherit;
}

.btn-ver-mais:hover[b-d4benwzjpl] {
    background: #F0F2FF;
    border-color: #495583;
}

/* ── MODAL ────────────────────────────────────────────── */
.modal-overlay[b-d4benwzjpl] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.modal-box[b-d4benwzjpl] {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
    width: 100%;
    max-width: 1100px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.modal-header[b-d4benwzjpl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    border-bottom: 1px solid #E4E6EF;
    flex-shrink: 0;
}

.modal-title[b-d4benwzjpl] {
    font-size: 14px;
    font-weight: 700;
    color: #2D3558;
}

.modal-close[b-d4benwzjpl] {
    background: none;
    border: none;
    font-size: 16px;
    color: #9CA2B8;
    cursor: pointer;
    padding: 4px 8px;
    line-height: 1;
    font-family: inherit;
}

.modal-close:hover[b-d4benwzjpl] { color: #2D3558; }

.modal-body[b-d4benwzjpl] {
    padding: 16px 20px;
    overflow: auto;
    flex: 1;
}

.modal-chart-container[b-d4benwzjpl] {
    position: relative;
    height: 220px;
}

/* reutiliza estilos da tabela de Restrições */
.restricoes-table[b-d4benwzjpl] {
    border-collapse: collapse;
    font-size: 12px;
    white-space: nowrap;
}

.restricoes-table th[b-d4benwzjpl],
.restricoes-table td[b-d4benwzjpl] {
    padding: 7px 10px;
    border-bottom: 1px solid #E4E6EF;
    border-right: 1px solid #F0F1F7;
}

.th-sticky[b-d4benwzjpl] {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
    border-right: 2px solid #E4E6EF !important;
}

.th-label[b-d4benwzjpl] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
    text-align: left;
    min-width: 190px;
}

.th-row-label[b-d4benwzjpl] {
    color: #2D3558;
    font-size: 12px;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
}

.th-dia[b-d4benwzjpl] {
    text-align: center;
    min-width: 68px;
    font-weight: 500;
}

.dia-semana[b-d4benwzjpl] {
    font-size: 10px;
    color: #9CA2B8;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.dia-data[b-d4benwzjpl] {
    font-size: 12px;
    font-weight: 600;
    color: #2D3558;
}

.td-num[b-d4benwzjpl] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.td-restrito[b-d4benwzjpl] {
    color: #C62828;
    font-weight: 600;
}
/* /Components/Pages/AtpCarteira.razor.rz.scp.css */
/* ── Page header ─────────────────────────────────────────────────────────── */

.page-header h5[b-w6amkaf565] {
    font-size: 18px;
    font-weight: 700;
    color: #2D3558;
    margin: 0;
}

/* ── Filter bar ──────────────────────────────────────────────────────────── */

.filter-row[b-w6amkaf565] {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: space-between;
}

.filter-row-left[b-w6amkaf565] {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    align-items: flex-end;
}

.filter-field[b-w6amkaf565] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.filter-label[b-w6amkaf565] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
}

.form-input[b-w6amkaf565] {
    border: 1px solid #D0D3E0;
    border-radius: 6px;
    padding: 7px 10px;
    font-size: 13px;
    color: #2D3558;
    background: #fff;
    min-width: 140px;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    font-family: inherit;
}

.form-input:focus[b-w6amkaf565] {
    border-color: #495583;
    box-shadow: 0 0 0 2px rgba(73, 85, 131, 0.15);
}

.btn-comentarios[b-w6amkaf565] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1.5px solid #495583;
    color: #495583;
    background: transparent;
    border-radius: 6px;
    padding: 9px 16px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
    font-family: inherit;
}

.btn-comentarios:hover[b-w6amkaf565] {
    background: #495583;
    color: #fff;
}

/* ── CARDS DE SÉRIE ────────────────────────────────────────────────────────── */

.serie-cards[b-w6amkaf565] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.serie-card[b-w6amkaf565] {
    padding: 14px 16px;
    background: #fff;
    border: 2px solid #E4E6EF;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.serie-card:hover[b-w6amkaf565] {
    border-color: #495583;
    box-shadow: 0 2px 8px rgba(73,85,131,0.12);
}

.serie-card-ativo[b-w6amkaf565] {
    border-color: #495583;
    background: #F0F2FF;
    box-shadow: 0 2px 8px rgba(73,85,131,0.18);
}

.serie-card-label[b-w6amkaf565] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #9CA2B8;
    margin-bottom: 8px;
}

.serie-card-ativo .serie-card-label[b-w6amkaf565] { color: #495583; }

.serie-card-pct[b-w6amkaf565] {
    font-size: 28px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    margin-bottom: 4px;
}

.serie-card .pct-ok[b-w6amkaf565]       { color: #2E7D32; background: transparent; }
.serie-card .pct-alerta1[b-w6amkaf565]  { color: #E65100; background: transparent; }
.serie-card .pct-alerta2[b-w6amkaf565]  { color: #FF8F00; background: transparent; }
.serie-card .pct-critico1[b-w6amkaf565] { color: #E64A19; background: transparent; }
.serie-card .pct-critico2[b-w6amkaf565] { color: #B71C1C; background: transparent; }

.serie-card-sub[b-w6amkaf565] {
    font-size: 11px;
    color: #9CA2B8;
}

/* ── Grid section label ────────────────────────────────────────────────────── */

.grid-section-label[b-w6amkaf565] {
    font-size: 12px;
    color: #6B7194;
}

/* ── Metrica pct sub (no modal) ───────────────────────────────────────────── */

.metrica-pct-sub[b-w6amkaf565] {
    font-size: 13px;
    font-weight: 700;
    margin-top: 4px;
    padding: 2px 6px;
    border-radius: 4px;
    display: inline-block;
    font-variant-numeric: tabular-nums;
}

.metrica-card-destaque[b-w6amkaf565] {
    grid-column: 1 / -1;
}

.metrica-card-destaque .metrica-valor[b-w6amkaf565] { font-size: 32px; }

/* ── Grid wrapper ────────────────────────────────────────────────────────── */

.grid-wrapper[b-w6amkaf565] {
    overflow-x: auto;
}

/* ── Table ───────────────────────────────────────────────────────────────── */

.atp-table[b-w6amkaf565] {
    border-collapse: collapse;
    font-size: 12px;
    white-space: nowrap;
    min-width: 100%;
}

/* Sticky first column */
.th-sticky-atp[b-w6amkaf565] {
    position: sticky;
    left: 0;
    z-index: 3;
    border-right: 2px solid #E4E6EF;
    background: #fff;
}

.th-sku-col[b-w6amkaf565] {
    min-width: 200px;
    padding: 8px 12px;
    background: #F8F9FF;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: #9CA2B8;
    text-align: left;
    border-bottom: 2px solid #E4E6EF;
}

/* Day header cells */
.th-dia-atp[b-w6amkaf565] {
    text-align: center;
    min-width: 62px;
    padding: 6px 4px;
    background: #F8F9FF;
    border-bottom: 2px solid #E4E6EF;
    border-left: 1px solid #E4E6EF;
    vertical-align: bottom;
}

.dia-sem[b-w6amkaf565] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    color: #9CA2B8;
    line-height: 1.2;
}

.dia-dt[b-w6amkaf565] {
    font-size: 12px;
    font-weight: 700;
    color: #2D3558;
    line-height: 1.4;
}

/* Total SKU column header */
.th-total-col[b-w6amkaf565] {
    text-align: center;
    min-width: 70px;
    background: #F0F2FF;
    border-left: 2px solid #D0D3E0;
    font-size: 11px;
    font-weight: 700;
    color: #2D3558;
    padding: 6px 8px;
    border-bottom: 2px solid #E4E6EF;
}

/* SKU data cells (first column) */
.td-sku-atp[b-w6amkaf565] {
    padding: 8px 12px;
    border-bottom: 1px solid #E4E6EF;
    background: #fff;
    text-align: left;
    vertical-align: middle;
}

.sku-cod[b-w6amkaf565] {
    font-size: 10px;
    font-weight: 700;
    color: #9CA2B8;
    text-transform: uppercase;
    line-height: 1.3;
}

.sku-nome[b-w6amkaf565] {
    font-size: 12px;
    font-weight: 500;
    color: #2D3558;
    line-height: 1.4;
}

/* ATP data cells */
.td-atp[b-w6amkaf565] {
    text-align: center;
    cursor: pointer;
    border-bottom: 1px solid #E4E6EF;
    border-left: 1px solid rgba(0, 0, 0, 0.05);
    padding: 6px 4px;
    position: relative;
    transition: background 0.1s;
    vertical-align: middle;
}

.td-atp:hover[b-w6amkaf565] {
    filter: brightness(0.94);
}

.pct-valor[b-w6amkaf565] {
    font-size: 12px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

/* Comment indicator dot */
.comment-dot[b-w6amkaf565] {
    position: absolute;
    top: 4px;
    right: 5px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #495583;
    pointer-events: none;
}

/* ── PCT colour classes ───────────────────────────────────────────────────── */

.pct-ok[b-w6amkaf565] {
    background: transparent;
    color: #9CA2B8;
}

.pct-alerta1[b-w6amkaf565] {
    background: #FFF8E1;
    color: #E65100;
}

.pct-alerta2[b-w6amkaf565] {
    background: #FF8F00;
    color: #fff;
}

.pct-critico1[b-w6amkaf565] {
    background: #E64A19;
    color: #fff;
}

.pct-critico2[b-w6amkaf565] {
    background: #B71C1C;
    color: #fff;
}

/* ── Totals row / column ─────────────────────────────────────────────────── */

.td-total-sku[b-w6amkaf565] {
    text-align: center;
    font-weight: 700;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    border-left: 2px solid #D0D3E0;
    border-bottom: 1px solid #E4E6EF;
    padding: 6px 8px;
}

.td-total-dia[b-w6amkaf565] {
    text-align: center;
    font-weight: 700;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    border-left: 1px solid rgba(0, 0, 0, 0.05);
    padding: 6px 4px;
}

.tr-total-dia td[b-w6amkaf565] {
    font-weight: 700;
    border-top: 2px solid #D0D3E0;
}

.td-total-label[b-w6amkaf565] {
    padding: 8px 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: #9CA2B8;
    background: #fff;
}

.td-grand-total[b-w6amkaf565] {
    text-align: center;
    font-weight: 700;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    border-left: 2px solid #D0D3E0;
    padding: 6px 8px;
}

/* ── Modals ──────────────────────────────────────────────────────────────── */

.modal-overlay[b-w6amkaf565] {
    position: fixed;
    inset: 0;
    background: rgba(45, 53, 88, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 16px;
}

.modal-box[b-w6amkaf565] {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(45, 53, 88, 0.18);
    width: 100%;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.modal-celula[b-w6amkaf565] {
    max-width: 520px;
}

.modal-comentarios[b-w6amkaf565] {
    max-width: 600px;
}

.modal-header[b-w6amkaf565] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #E4E6EF;
    gap: 12px;
    flex-shrink: 0;
}

.modal-title[b-w6amkaf565] {
    font-size: 14px;
    font-weight: 700;
    color: #2D3558;
    line-height: 1.4;
}

.modal-close[b-w6amkaf565] {
    border: none;
    background: transparent;
    font-size: 18px;
    color: #9CA2B8;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    line-height: 1;
    flex-shrink: 0;
    transition: color 0.15s, background 0.15s;
}

.modal-close:hover[b-w6amkaf565] {
    color: #2D3558;
    background: #F8F9FF;
}

.modal-body[b-w6amkaf565] {
    padding: 20px;
    overflow-y: auto;
    flex: 1;
}

/* ── Cell metrics grid ───────────────────────────────────────────────────── */

.celula-metricas[b-w6amkaf565] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
}

.metrica-card[b-w6amkaf565] {
    padding: 12px 14px;
    background: #F8F9FF;
    border-radius: 6px;
    border: 1px solid #E4E6EF;
}

.metrica-card.pct-alerta1[b-w6amkaf565] {
    background: #FFF8E1;
    border-color: #FFD54F;
}

.metrica-card.pct-alerta2[b-w6amkaf565] {
    background: #FF8F00;
    border-color: #E65100;
}

.metrica-card.pct-critico1[b-w6amkaf565] {
    background: #E64A19;
    border-color: #BF360C;
}

.metrica-card.pct-critico2[b-w6amkaf565] {
    background: #B71C1C;
    border-color: #7F0000;
}

.metrica-label[b-w6amkaf565] {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
}

.metrica-card.pct-alerta2 .metrica-label[b-w6amkaf565],
.metrica-card.pct-critico1 .metrica-label[b-w6amkaf565],
.metrica-card.pct-critico2 .metrica-label[b-w6amkaf565] {
    color: rgba(255, 255, 255, 0.75);
}

.metrica-valor[b-w6amkaf565] {
    font-size: 20px;
    font-weight: 700;
    color: #2D3558;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

.metrica-card.pct-alerta2 .metrica-valor[b-w6amkaf565],
.metrica-card.pct-critico1 .metrica-valor[b-w6amkaf565],
.metrica-card.pct-critico2 .metrica-valor[b-w6amkaf565] {
    color: #fff;
}

.metrica-pct[b-w6amkaf565] {
    font-size: 24px;
}

/* ── Comment section ─────────────────────────────────────────────────────── */

.cenario-label[b-w6amkaf565] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
}

.comentario-section[b-w6amkaf565] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.comentario-textarea[b-w6amkaf565] {
    width: 100%;
    min-height: 80px;
    border: 1px solid #D0D3E0;
    border-radius: 4px;
    padding: 8px;
    font-size: 13px;
    font-family: inherit;
    resize: vertical;
    box-sizing: border-box;
    color: #2D3558;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.comentario-textarea:focus[b-w6amkaf565] {
    outline: none;
    border-color: #495583;
    box-shadow: 0 0 0 2px rgba(73, 85, 131, 0.15);
}

.btn-salvar-comentario[b-w6amkaf565] {
    padding: 7px 16px;
    border-radius: 6px;
    border: none;
    background: #495583;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    align-self: flex-start;
    font-family: inherit;
    transition: background 0.15s, opacity 0.15s;
}

.btn-salvar-comentario:hover:not(:disabled)[b-w6amkaf565] {
    background: #2D3558;
}

.btn-salvar-comentario:disabled[b-w6amkaf565] {
    opacity: 0.4;
    cursor: not-allowed;
}

/* ── Comment lists ───────────────────────────────────────────────────────── */

.comentarios-existentes[b-w6amkaf565] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mt-3[b-w6amkaf565] {
    margin-top: 12px;
}

.comentario-item[b-w6amkaf565] {
    padding: 10px 12px;
    background: #F8F9FF;
    border-radius: 6px;
    border-left: 3px solid #495583;
}

.comentario-item-full[b-w6amkaf565] {
    padding: 10px 12px;
    background: #F8F9FF;
    border-radius: 6px;
    border: 1px solid #E4E6EF;
    border-left: 3px solid #495583;
    margin-bottom: 8px;
}

.comentario-sku-tag[b-w6amkaf565] {
    font-size: 11px;
    font-weight: 700;
    color: #495583;
    text-transform: uppercase;
    margin-bottom: 4px;
    letter-spacing: 0.03em;
}

.comentario-meta[b-w6amkaf565] {
    font-size: 11px;
    color: #9CA2B8;
    margin-bottom: 4px;
}

.comentario-texto[b-w6amkaf565] {
    font-size: 13px;
    color: #2D3558;
    line-height: 1.5;
}
/* /Components/Pages/Demanda.razor.rz.scp.css */
.page-header[b-rabujhg1vz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ── FILTROS ──────────────────────────────────────────── */
.filter-row[b-rabujhg1vz] {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.filter-field[b-rabujhg1vz] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 140px;
}

.filter-label[b-rabujhg1vz] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
}

.form-input[b-rabujhg1vz] {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #D0D3E0;
    border-radius: 4px;
    font-size: 13px;
    color: #2D3558;
    background: #fff;
    font-family: inherit;
    width: 100%;
}

.form-input:focus[b-rabujhg1vz] {
    outline: none;
    border-color: #495583;
    box-shadow: 0 0 0 2px rgba(73, 85, 131, 0.15);
}

.filter-actions[b-rabujhg1vz] {
    display: flex;
    gap: 8px;
    padding-bottom: 1px;
}

.btn-export[b-rabujhg1vz] {
    color: #1D6F42;
    border-color: #A8D5B5;
}

.btn-export:hover[b-rabujhg1vz] {
    background: #E8F5E9;
    border-color: #1D6F42;
    color: #1D6F42;
}

/* ── GRÁFICO ──────────────────────────────────────────── */
.chart-container[b-rabujhg1vz] {
    position: relative;
    height: 240px;
    margin-top: 10px;
}

/* ── TABELA ───────────────────────────────────────────── */
.table-wrapper[b-rabujhg1vz] {
    overflow-x: auto;
}

.demand-table[b-rabujhg1vz] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    white-space: nowrap;
}

.demand-table th[b-rabujhg1vz],
.demand-table td[b-rabujhg1vz] {
    padding: 9px 14px;
    text-align: left;
    border-bottom: 1px solid #E4E6EF;
}

.demand-table tbody tr:hover[b-rabujhg1vz] {
    background: #F8F9FC;
}

/* id columns */
.th-id[b-rabujhg1vz] {
    background: #fff;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
    vertical-align: bottom;
}

.th-produto[b-rabujhg1vz] { min-width: 200px; }

/* sortable */
.th-sortable[b-rabujhg1vz] {
    cursor: pointer;
    user-select: none;
}

.th-sortable:hover[b-rabujhg1vz] {
    background: #F4F5F9;
}

/* group headers */
.th-group[b-rabujhg1vz] {
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-left: 2px solid transparent;
    border-right: 2px solid transparent;
    padding-bottom: 6px;
    vertical-align: middle;
}

/* single-column group: stacks label above value in 2-row header */
.th-single[b-rabujhg1vz] {
    vertical-align: middle;
    text-align: right;
}

.th-single-label[b-rabujhg1vz] {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    opacity: 0.7;
    margin-bottom: 2px;
}

.th-sub[b-rabujhg1vz] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
    text-align: right;
    border-top: 1px solid #E4E6EF;
}

/* Carteira — laranja */
.th-carteira.th-group[b-rabujhg1vz], .th-carteira.th-single[b-rabujhg1vz] { background: #FFF8E1; color: #B57A00; border-color: #F0C040; }
.th-carteira.th-sub[b-rabujhg1vz] { background: #FFF8E1; border-left: 2px solid #F0C040; border-right: 2px solid #F0C040; }

/* PV — azul */
.th-pv.th-group[b-rabujhg1vz], .th-pv.th-single[b-rabujhg1vz] { background: #EEF2FF; color: #3949AB; border-color: #7986CB; }
.th-pv.th-sub[b-rabujhg1vz] { background: #EEF2FF; border-left: 2px solid #7986CB; border-right: 2px solid #7986CB; }

/* Estatística — roxo */
.th-estatistica.th-group[b-rabujhg1vz] { background: #F3E5F5; color: #6A1B9A; border-color: #AB47BC; }
.th-estatistica.th-sub[b-rabujhg1vz] { background: #F3E5F5; border-left: 2px solid #AB47BC; border-right: 2px solid #AB47BC; }

/* Máximo — verde */
.th-maximo.th-group[b-rabujhg1vz], .th-maximo.th-single[b-rabujhg1vz] { background: #E6F4EA; color: #1E7E34; border-color: #4CAF50; }
.th-maximo.th-sub[b-rabujhg1vz] { background: #E6F4EA; border-left: 2px solid #4CAF50; border-right: 2px solid #4CAF50; }

/* expand button */
.expand-btn[b-rabujhg1vz] {
    height: 20px;
    padding: 0 6px;
    border-radius: 3px;
    border: 1px solid rgba(106, 27, 154, 0.3);
    background: rgba(255,255,255,0.6);
    color: #6A1B9A;
    font-size: 10px;
    cursor: pointer;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-left: 6px;
}

.expand-btn:hover[b-rabujhg1vz] {
    background: rgba(255,255,255,0.9);
}

/* cells */
.td-sku[b-rabujhg1vz] {
    font-family: 'Courier New', monospace;
    font-size: 12px;
    font-weight: 600;
    color: #495583;
}

.td-produto[b-rabujhg1vz] { font-weight: 500; }
.td-num[b-rabujhg1vz] { text-align: right; font-variant-numeric: tabular-nums; }

.badge-filial[b-rabujhg1vz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 22px;
    min-width: 32px;
    padding: 0 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    background: #EEF2FF;
    color: #3949AB;
    letter-spacing: 0.03em;
}

.var-positive[b-rabujhg1vz] { color: #1E7E34; font-weight: 600; }
.var-negative[b-rabujhg1vz] { color: #C62828; font-weight: 600; }

/* K editable */
.td-k[b-rabujhg1vz] { min-width: 70px; }

.k-value[b-rabujhg1vz] {
    cursor: pointer;
    border-bottom: 1px dashed #AB47BC;
    color: #6A1B9A;
    font-weight: 600;
    padding-bottom: 1px;
}

.k-value:hover[b-rabujhg1vz] {
    background: rgba(171, 71, 188, 0.08);
    border-radius: 2px;
}

.k-input[b-rabujhg1vz] {
    width: 64px;
    height: 26px;
    padding: 0 6px;
    border: 1px solid #AB47BC;
    border-radius: 3px;
    font-size: 12px;
    font-family: inherit;
    color: #6A1B9A;
    font-weight: 600;
    text-align: right;
    background: #FAF0FC;
}

.k-input:focus[b-rabujhg1vz] { outline: none; box-shadow: 0 0 0 2px rgba(171,71,188,0.2); }

/* footer */
.demand-table tfoot td[b-rabujhg1vz] {
    border-top: 2px solid #E4E6EF;
    border-bottom: none;
}

.tf-label[b-rabujhg1vz] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
}

.tf-total[b-rabujhg1vz] { font-weight: 700; color: #2D3558; }

/* ── PAGINAÇÃO ────────────────────────────────────────── */
.pagination-bar[b-rabujhg1vz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-top: 1px solid #E4E6EF;
    font-size: 12px;
    color: #9CA2B8;
}

.pagination-controls[b-rabujhg1vz] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.pag-btn[b-rabujhg1vz] {
    min-width: 30px;
    height: 28px;
    padding: 0 8px;
    border: 1px solid #D0D3E0;
    border-radius: 4px;
    background: #fff;
    font-size: 12px;
    font-family: inherit;
    color: #2D3558;
    cursor: pointer;
    transition: background 0.1s, border-color 0.1s;
}

.pag-btn:hover:not(:disabled)[b-rabujhg1vz] {
    background: #F4F5F9;
    border-color: #495583;
}

.pag-btn:disabled[b-rabujhg1vz] {
    opacity: 0.35;
    cursor: default;
}

.pag-btn-active[b-rabujhg1vz] {
    background: #2D3558;
    border-color: #2D3558;
    color: #fff;
}

.pag-btn-active:hover[b-rabujhg1vz] {
    background: #495583;
    border-color: #495583;
}

/* ── SPINNER ──────────────────────────────────────────── */
.btn-spinner[b-rabujhg1vz] {
    width: 14px;
    height: 14px;
    border: 2px solid #D0D3E0;
    border-top-color: #2D3558;
    border-radius: 50%;
    animation: spin-b-rabujhg1vz 0.7s linear infinite;
    flex-shrink: 0;
}

.btn-spinner-white[b-rabujhg1vz] {
    border-color: rgba(255,255,255,0.35);
    border-top-color: #fff;
}

@keyframes spin-b-rabujhg1vz {
    to { transform: rotate(360deg); }
}
/* /Components/Pages/Filiais.razor.rz.scp.css */
.page-header[b-781ol93jo7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.filter-row[b-781ol93jo7] {
    display: flex;
    gap: 12px;
    align-items: flex-end;
    flex-wrap: wrap;
}

.filter-field[b-781ol93jo7] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 200px;
    flex: 1;
}

.filter-label[b-781ol93jo7] {
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
}

.form-input[b-781ol93jo7] {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #D0D3E0;
    border-radius: 4px;
    font-family: 'Epilogue', sans-serif;
    font-size: 13px;
    color: #2D3558;
    background: #fff;
}

.form-input:focus[b-781ol93jo7] {
    outline: none;
    border-color: #495583;
    box-shadow: 0 0 0 2px rgba(73, 85, 131, 0.1);
}

.filter-actions[b-781ol93jo7] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

/* ── GRID ────────────────────────────────────────────── */
.grid-wrapper[b-781ol93jo7] {
    overflow-x: auto;
}

.grid[b-781ol93jo7] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.grid thead th[b-781ol93jo7] {
    background: #F4F5F9;
    color: #6B7280;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #E4E6EF;
}

.grid tbody td[b-781ol93jo7] {
    padding: 12px;
    border-bottom: 1px solid #F0F2F7;
    color: #2D3558;
    vertical-align: middle;
}

.row-clickable[b-781ol93jo7] {
    cursor: pointer;
    transition: background-color 0.12s;
}

.row-clickable:hover[b-781ol93jo7] {
    background-color: #F8F9FC;
}

.grid-empty[b-781ol93jo7] {
    text-align: center;
    padding: 32px 12px !important;
    color: #9CA2B8;
    font-style: italic;
}

/* ── ALERTS ──────────────────────────────────────────── */
.alert-success[b-781ol93jo7],
.alert-error[b-781ol93jo7] {
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid;
}

.alert-success[b-781ol93jo7] {
    background: #E8F5E9;
    color: #1E7E34;
    border-color: #C8E6C9;
}

.alert-error[b-781ol93jo7] {
    background: #FDECEA;
    color: #C62828;
    border-color: #EF9A9A;
}

/* ── IMPORT MODAL ────────────────────────────────────── */
.modal-import[b-781ol93jo7] {
    width: 560px;
}

.progress-bar-wrapper[b-781ol93jo7] {
    width: 100%;
    height: 8px;
    background: #E4E6EF;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 6px;
}

.progress-bar-fill[b-781ol93jo7] {
    height: 100%;
    background: linear-gradient(90deg, #495583, #2D3558);
    border-radius: 999px;
    transition: width 0.18s ease;
}

.progress-text[b-781ol93jo7] {
    font-size: 12px;
    color: #6B7280;
    text-align: right;
    margin-bottom: 14px;
}

.import-log[b-781ol93jo7] {
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #E4E6EF;
    border-radius: 6px;
    background: #FAFBFD;
    margin-bottom: 14px;
}

.import-log-row[b-781ol93jo7] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px;
    font-size: 13px;
    border-bottom: 1px solid #F0F2F7;
}

.import-log-row:last-child[b-781ol93jo7] {
    border-bottom: none;
}

.import-log-code[b-781ol93jo7] {
    color: #2D3558;
}

.import-log .chip[b-781ol93jo7] {
    min-width: 90px;
    text-align: center;
    font-size: 11px;
    padding: 2px 6px;
}

.import-summary[b-781ol93jo7] {
    margin-top: 8px;
    padding: 14px 16px;
    background: #F4F5F9;
    border-radius: 6px;
}

.import-summary-row[b-781ol93jo7] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    font-size: 13px;
    color: #2D3558;
}

.import-summary-row .chip[b-781ol93jo7] {
    min-width: 100px;
    text-align: center;
    font-size: 11px;
    padding: 2px 6px;
}

.import-summary-footer[b-781ol93jo7] {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #E4E6EF;
    font-size: 12px;
    color: #6B7280;
    text-align: right;
}

/* ── SPINNER ─────────────────────────────────────────── */
.btn-spinner[b-781ol93jo7] {
    width: 14px;
    height: 14px;
    border: 2px solid #c8c8c8;
    border-top-color: #2D3558;
    border-radius: 50%;
    animation: btn-spin-b-781ol93jo7 0.6s linear infinite;
    display: inline-block;
}

.btn-spinner-white[b-781ol93jo7] {
    border-color: rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
}

@keyframes btn-spin-b-781ol93jo7 {
    to { transform: rotate(360deg); }
}

.pagination[b-781ol93jo7] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-top: 1px solid #E4E6EF;
    font-size: 13px;
    color: #6B7280;
}

.btn-sm[b-781ol93jo7] {
    height: 28px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
}

/* ── MODAL ───────────────────────────────────────────── */
.modal-backdrop[b-781ol93jo7] {
    position: fixed;
    inset: 0;
    background: rgba(45, 53, 88, 0.45);
    z-index: 1000;
    animation: fadeIn-b-781ol93jo7 0.15s ease-out;
}

.modal-panel[b-781ol93jo7] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 720px;
    max-width: calc(100vw - 48px);
    max-height: calc(100vh - 48px);
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    z-index: 1001;
    display: flex;
    flex-direction: column;
    animation: slideIn-b-781ol93jo7 0.18s ease-out;
}

@keyframes fadeIn-b-781ol93jo7 {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideIn-b-781ol93jo7 {
    from { opacity: 0; transform: translate(-50%, -48%); }
    to   { opacity: 1; transform: translate(-50%, -50%); }
}

.modal-header[b-781ol93jo7] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 18px 20px;
    border-bottom: 1px solid #E4E6EF;
    flex-shrink: 0;
}

.modal-subtitle[b-781ol93jo7] {
    display: block;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
}

.btn-close[b-781ol93jo7] {
    background: none;
    border: none;
    font-size: 24px;
    color: #9CA2B8;
    cursor: pointer;
    line-height: 1;
    padding: 0 4px;
}

.btn-close:hover[b-781ol93jo7] {
    color: #2D3558;
}

.modal-body[b-781ol93jo7] {
    flex: 1;
    overflow-y: auto;
    padding: 18px 20px;
}

.info-section[b-781ol93jo7] {
    margin-bottom: 18px;
}

.info-section:last-child[b-781ol93jo7] {
    margin-bottom: 0;
}

.info-section-title[b-781ol93jo7] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #9CA2B8;
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid #E4E6EF;
}

.info-grid[b-781ol93jo7] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px 18px;
}

.info-item[b-781ol93jo7] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.info-item-full[b-781ol93jo7] {
    grid-column: 1 / -1;
}

.info-label[b-781ol93jo7] {
    font-size: 11px;
    color: #9CA2B8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 500;
}

.info-value[b-781ol93jo7] {
    font-size: 13px;
    color: #2D3558;
    word-break: break-word;
}

.modal-footer[b-781ol93jo7] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 14px 20px;
    border-top: 1px solid #E4E6EF;
    flex-shrink: 0;
}
/* /Components/Pages/Linhas.razor.rz.scp.css */
.page-header[b-gljp14o1zs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.filter-row[b-gljp14o1zs] {
    display: flex;
    gap: 12px;
    align-items: flex-end;
    flex-wrap: wrap;
}

.filter-field[b-gljp14o1zs] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 200px;
    flex: 1;
}

.filter-label[b-gljp14o1zs] {
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
}

.form-input[b-gljp14o1zs] {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #D0D3E0;
    border-radius: 4px;
    font-family: 'Epilogue', sans-serif;
    font-size: 13px;
    color: #2D3558;
    background: #fff;
}

.form-input:focus[b-gljp14o1zs] {
    outline: none;
    border-color: #495583;
    box-shadow: 0 0 0 2px rgba(73, 85, 131, 0.1);
}

.filter-actions[b-gljp14o1zs] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

/* ── GRID ────────────────────────────────────────────── */
.grid-wrapper[b-gljp14o1zs] {
    overflow-x: auto;
}

.grid[b-gljp14o1zs] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.grid thead th[b-gljp14o1zs] {
    background: #F4F5F9;
    color: #6B7280;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #E4E6EF;
}

.grid tbody td[b-gljp14o1zs] {
    padding: 12px;
    border-bottom: 1px solid #F0F2F7;
    color: #2D3558;
    vertical-align: middle;
}

.row-clickable[b-gljp14o1zs] {
    cursor: pointer;
    transition: background-color 0.12s;
}

.row-clickable:hover[b-gljp14o1zs] {
    background-color: #F8F9FC;
}

.grid-empty[b-gljp14o1zs] {
    text-align: center;
    padding: 32px 12px !important;
    color: #9CA2B8;
    font-style: italic;
}

/* ── ALERTS ──────────────────────────────────────────── */
.alert-success[b-gljp14o1zs],
.alert-error[b-gljp14o1zs] {
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid;
}

.alert-success[b-gljp14o1zs] {
    background: #E8F5E9;
    color: #1E7E34;
    border-color: #C8E6C9;
}

.alert-error[b-gljp14o1zs] {
    background: #FDECEA;
    color: #C62828;
    border-color: #EF9A9A;
}

/* ── IMPORT MODAL ────────────────────────────────────── */
.modal-import[b-gljp14o1zs] {
    width: 560px;
}

.progress-bar-wrapper[b-gljp14o1zs] {
    width: 100%;
    height: 8px;
    background: #E4E6EF;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 6px;
}

.progress-bar-fill[b-gljp14o1zs] {
    height: 100%;
    background: linear-gradient(90deg, #495583, #2D3558);
    border-radius: 999px;
    transition: width 0.18s ease;
}

.progress-text[b-gljp14o1zs] {
    font-size: 12px;
    color: #6B7280;
    text-align: right;
    margin-bottom: 14px;
}

.import-log[b-gljp14o1zs] {
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #E4E6EF;
    border-radius: 6px;
    background: #FAFBFD;
    margin-bottom: 14px;
}

.import-log-row[b-gljp14o1zs] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px;
    font-size: 13px;
    border-bottom: 1px solid #F0F2F7;
}

.import-log-row:last-child[b-gljp14o1zs] {
    border-bottom: none;
}

.import-log-code[b-gljp14o1zs] {
    color: #2D3558;
}

.import-log .chip[b-gljp14o1zs] {
    min-width: 90px;
    text-align: center;
    font-size: 11px;
    padding: 2px 6px;
}

.import-summary[b-gljp14o1zs] {
    margin-top: 8px;
    padding: 14px 16px;
    background: #F4F5F9;
    border-radius: 6px;
}

.import-summary-row[b-gljp14o1zs] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    font-size: 13px;
    color: #2D3558;
}

.import-summary-row .chip[b-gljp14o1zs] {
    min-width: 100px;
    text-align: center;
    font-size: 11px;
    padding: 2px 6px;
}

.import-summary-footer[b-gljp14o1zs] {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #E4E6EF;
    font-size: 12px;
    color: #6B7280;
    text-align: right;
}

/* ── SPINNER ─────────────────────────────────────────── */
.btn-spinner[b-gljp14o1zs] {
    width: 14px;
    height: 14px;
    border: 2px solid #c8c8c8;
    border-top-color: #2D3558;
    border-radius: 50%;
    animation: btn-spin-b-gljp14o1zs 0.6s linear infinite;
    display: inline-block;
}

.btn-spinner-white[b-gljp14o1zs] {
    border-color: rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
}

@keyframes btn-spin-b-gljp14o1zs {
    to { transform: rotate(360deg); }
}

.pagination[b-gljp14o1zs] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-top: 1px solid #E4E6EF;
    font-size: 13px;
    color: #6B7280;
}

.btn-sm[b-gljp14o1zs] {
    height: 28px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
}

/* ── FORM ────────────────────────────────────────────── */
.form-grid[b-gljp14o1zs] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 18px;
}

.form-field[b-gljp14o1zs] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.form-field[b-gljp14o1zs]  .validation-message {
    font-size: 11px;
    color: #C62828;
    margin-top: 2px;
}

.modal-confirm[b-gljp14o1zs] {
    width: 460px;
}

.grid td .btn-sm + .btn-sm[b-gljp14o1zs] {
    margin-left: 4px;
}

.btn-danger[b-gljp14o1zs] {
    background: #C62828;
    border-color: #C62828;
    color: #fff;
}

.btn-danger:hover[b-gljp14o1zs] {
    background: #B71C1C;
    border-color: #B71C1C;
    color: #fff;
}

.btn-danger-ghost[b-gljp14o1zs] {
    color: #C62828;
}

.btn-danger-ghost:hover[b-gljp14o1zs] {
    background: #FDECEA;
    border-color: #EF9A9A;
}

/* ── MODAL ───────────────────────────────────────────── */
.modal-backdrop[b-gljp14o1zs] {
    position: fixed;
    inset: 0;
    background: rgba(45, 53, 88, 0.45);
    z-index: 1000;
    animation: fadeIn-b-gljp14o1zs 0.15s ease-out;
}

.modal-panel[b-gljp14o1zs] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 720px;
    max-width: calc(100vw - 48px);
    max-height: calc(100vh - 48px);
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    z-index: 1001;
    display: flex;
    flex-direction: column;
    animation: slideIn-b-gljp14o1zs 0.18s ease-out;
}

@keyframes fadeIn-b-gljp14o1zs {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideIn-b-gljp14o1zs {
    from { opacity: 0; transform: translate(-50%, -48%); }
    to   { opacity: 1; transform: translate(-50%, -50%); }
}

.modal-header[b-gljp14o1zs] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 18px 20px;
    border-bottom: 1px solid #E4E6EF;
    flex-shrink: 0;
}

.modal-subtitle[b-gljp14o1zs] {
    display: block;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
}

.btn-close[b-gljp14o1zs] {
    background: none;
    border: none;
    font-size: 24px;
    color: #9CA2B8;
    cursor: pointer;
    line-height: 1;
    padding: 0 4px;
}

.btn-close:hover[b-gljp14o1zs] {
    color: #2D3558;
}

.modal-body[b-gljp14o1zs] {
    flex: 1;
    overflow-y: auto;
    padding: 18px 20px;
}

.info-section[b-gljp14o1zs] {
    margin-bottom: 18px;
}

.info-section:last-child[b-gljp14o1zs] {
    margin-bottom: 0;
}

.info-section-title[b-gljp14o1zs] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #9CA2B8;
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid #E4E6EF;
}

.info-grid[b-gljp14o1zs] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px 18px;
}

.info-item[b-gljp14o1zs] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.info-item-full[b-gljp14o1zs] {
    grid-column: 1 / -1;
}

.info-label[b-gljp14o1zs] {
    font-size: 11px;
    color: #9CA2B8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 500;
}

.info-value[b-gljp14o1zs] {
    font-size: 13px;
    color: #2D3558;
    word-break: break-word;
}

.modal-footer[b-gljp14o1zs] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 14px 20px;
    border-top: 1px solid #E4E6EF;
    flex-shrink: 0;
}
/* /Components/Pages/Login.razor.rz.scp.css */
.login-bg[b-97bu2ai43g] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #2D3558 0%, #495583 100%);
    padding: 24px;
}

.login-card[b-97bu2ai43g] {
    width: 400px;
    max-width: 100%;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    padding: 32px;
}

.login-logo[b-97bu2ai43g] {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: center;
    margin-bottom: 8px;
}

.login-logo svg[b-97bu2ai43g] {
    width: 36px;
    height: 32px;
    fill: #f39200;
}

.login-title[b-97bu2ai43g] {
    font-size: 20px;
    font-weight: 700;
    color: #2D3558;
    letter-spacing: 0.2px;
}

.login-subtitle[b-97bu2ai43g] {
    text-align: center;
    color: #9CA2B8;
    font-size: 13px;
    margin: 4px 0 24px;
}

.login-error[b-97bu2ai43g] {
    background: #FDECEA;
    color: #C62828;
    border: 1px solid #EF9A9A;
    border-radius: 6px;
    padding: 10px 12px;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.login-form[b-97bu2ai43g] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.login-field[b-97bu2ai43g] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.login-field label[b-97bu2ai43g] {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
}

.login-field input[b-97bu2ai43g] {
    height: 40px;
    padding: 0 12px;
    border: 1px solid #D0D3E0;
    border-radius: 6px;
    font-family: 'Epilogue', sans-serif;
    font-size: 14px;
    color: #2D3558;
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.login-field input:focus[b-97bu2ai43g] {
    outline: none;
    border-color: #495583;
    box-shadow: 0 0 0 3px rgba(73, 85, 131, 0.12);
}

.login-submit[b-97bu2ai43g] {
    margin-top: 8px;
    height: 42px;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
}
/* /Components/Pages/PlanosVenda.razor.rz.scp.css */
.page-header[b-1asdnrqq3x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.filter-row[b-1asdnrqq3x] {
    display: flex;
    gap: 12px;
    align-items: flex-end;
    flex-wrap: wrap;
}

.filter-field[b-1asdnrqq3x] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 200px;
    flex: 1;
}

.filter-label[b-1asdnrqq3x] {
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
}

.form-input[b-1asdnrqq3x] {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #D0D3E0;
    border-radius: 4px;
    font-family: 'Epilogue', sans-serif;
    font-size: 13px;
    color: #2D3558;
    background: #fff;
}

.form-input:focus[b-1asdnrqq3x] {
    outline: none;
    border-color: #495583;
    box-shadow: 0 0 0 2px rgba(73, 85, 131, 0.1);
}

.filter-actions[b-1asdnrqq3x] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

/* ── GRID ────────────────────────────────────────────── */
.grid-wrapper[b-1asdnrqq3x] {
    overflow-x: auto;
}

.grid[b-1asdnrqq3x] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.grid thead th[b-1asdnrqq3x] {
    background: #F4F5F9;
    color: #6B7280;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #E4E6EF;
}

.grid tbody td[b-1asdnrqq3x] {
    padding: 12px;
    border-bottom: 1px solid #F0F2F7;
    color: #2D3558;
    vertical-align: middle;
}

.row-clickable[b-1asdnrqq3x] {
    cursor: pointer;
    transition: background-color 0.12s;
}

.row-clickable:hover[b-1asdnrqq3x] {
    background-color: #F8F9FC;
}

.grid-empty[b-1asdnrqq3x] {
    text-align: center;
    padding: 32px 12px !important;
    color: #9CA2B8;
    font-style: italic;
}

/* ── ALERTS ──────────────────────────────────────────── */
.alert-success[b-1asdnrqq3x],
.alert-error[b-1asdnrqq3x] {
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid;
}

.alert-success[b-1asdnrqq3x] {
    background: #E8F5E9;
    color: #1E7E34;
    border-color: #C8E6C9;
}

.alert-error[b-1asdnrqq3x] {
    background: #FDECEA;
    color: #C62828;
    border-color: #EF9A9A;
}

/* ── IMPORT MODAL ────────────────────────────────────── */
.modal-import[b-1asdnrqq3x] {
    width: 560px;
}

.progress-bar-wrapper[b-1asdnrqq3x] {
    width: 100%;
    height: 8px;
    background: #E4E6EF;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 6px;
}

.progress-bar-fill[b-1asdnrqq3x] {
    height: 100%;
    background: linear-gradient(90deg, #495583, #2D3558);
    border-radius: 999px;
    transition: width 0.18s ease;
}

.progress-text[b-1asdnrqq3x] {
    font-size: 12px;
    color: #6B7280;
    text-align: right;
    margin-bottom: 14px;
}

.import-log[b-1asdnrqq3x] {
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #E4E6EF;
    border-radius: 6px;
    background: #FAFBFD;
    margin-bottom: 14px;
}

.import-log-row[b-1asdnrqq3x] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px;
    font-size: 13px;
    border-bottom: 1px solid #F0F2F7;
}

.import-log-row:last-child[b-1asdnrqq3x] {
    border-bottom: none;
}

.import-log-code[b-1asdnrqq3x] {
    color: #2D3558;
}

.import-log .chip[b-1asdnrqq3x] {
    min-width: 90px;
    text-align: center;
    font-size: 11px;
    padding: 2px 6px;
}

.import-log-detail[b-1asdnrqq3x] {
    color: #9CA2B8;
    font-weight: 400;
    font-style: italic;
    margin-left: 4px;
}

.import-summary[b-1asdnrqq3x] {
    margin-top: 8px;
    padding: 14px 16px;
    background: #F4F5F9;
    border-radius: 6px;
}

.import-summary-row[b-1asdnrqq3x] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    font-size: 13px;
    color: #2D3558;
}

.import-summary-row .chip[b-1asdnrqq3x] {
    min-width: 100px;
    text-align: center;
    font-size: 11px;
    padding: 2px 6px;
}

.import-summary-footer[b-1asdnrqq3x] {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #E4E6EF;
    font-size: 12px;
    color: #6B7280;
    text-align: right;
}

/* ── SPINNER ─────────────────────────────────────────── */
.btn-spinner[b-1asdnrqq3x] {
    width: 14px;
    height: 14px;
    border: 2px solid #c8c8c8;
    border-top-color: #2D3558;
    border-radius: 50%;
    animation: btn-spin-b-1asdnrqq3x 0.6s linear infinite;
    display: inline-block;
}

.btn-spinner-white[b-1asdnrqq3x] {
    border-color: rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
}

@keyframes btn-spin-b-1asdnrqq3x {
    to { transform: rotate(360deg); }
}

.pagination[b-1asdnrqq3x] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-top: 1px solid #E4E6EF;
    font-size: 13px;
    color: #6B7280;
}

.btn-sm[b-1asdnrqq3x] {
    height: 28px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
}

/* ── MODAL ───────────────────────────────────────────── */
.modal-backdrop[b-1asdnrqq3x] {
    position: fixed;
    inset: 0;
    background: rgba(45, 53, 88, 0.45);
    z-index: 1000;
    animation: fadeIn-b-1asdnrqq3x 0.15s ease-out;
}

.modal-panel[b-1asdnrqq3x] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 720px;
    max-width: calc(100vw - 48px);
    max-height: calc(100vh - 48px);
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    z-index: 1001;
    display: flex;
    flex-direction: column;
    animation: slideIn-b-1asdnrqq3x 0.18s ease-out;
}

@keyframes fadeIn-b-1asdnrqq3x {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideIn-b-1asdnrqq3x {
    from { opacity: 0; transform: translate(-50%, -48%); }
    to   { opacity: 1; transform: translate(-50%, -50%); }
}

.modal-header[b-1asdnrqq3x] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 18px 20px;
    border-bottom: 1px solid #E4E6EF;
    flex-shrink: 0;
}

.modal-subtitle[b-1asdnrqq3x] {
    display: block;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
}

.btn-close[b-1asdnrqq3x] {
    background: none;
    border: none;
    font-size: 24px;
    color: #9CA2B8;
    cursor: pointer;
    line-height: 1;
    padding: 0 4px;
}

.btn-close:hover[b-1asdnrqq3x] {
    color: #2D3558;
}

.modal-body[b-1asdnrqq3x] {
    flex: 1;
    overflow-y: auto;
    padding: 18px 20px;
}

.info-section[b-1asdnrqq3x] {
    margin-bottom: 18px;
}

.info-section:last-child[b-1asdnrqq3x] {
    margin-bottom: 0;
}

.info-section-title[b-1asdnrqq3x] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #9CA2B8;
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid #E4E6EF;
}

.info-grid[b-1asdnrqq3x] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px 18px;
}

.info-item[b-1asdnrqq3x] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.info-item-full[b-1asdnrqq3x] {
    grid-column: 1 / -1;
}

.info-label[b-1asdnrqq3x] {
    font-size: 11px;
    color: #9CA2B8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 500;
}

.info-value[b-1asdnrqq3x] {
    font-size: 13px;
    color: #2D3558;
    word-break: break-word;
}

.modal-footer[b-1asdnrqq3x] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 14px 20px;
    border-top: 1px solid #E4E6EF;
    flex-shrink: 0;
}
/* /Components/Pages/Produtos.razor.rz.scp.css */
.page-header[b-qfczqqgzwe] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.filter-row[b-qfczqqgzwe] {
    display: flex;
    gap: 12px;
    align-items: flex-end;
    flex-wrap: wrap;
}

.filter-field[b-qfczqqgzwe] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 200px;
    flex: 1;
}

.filter-label[b-qfczqqgzwe] {
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
}

.form-input[b-qfczqqgzwe] {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #D0D3E0;
    border-radius: 4px;
    font-family: 'Epilogue', sans-serif;
    font-size: 13px;
    color: #2D3558;
    background: #fff;
}

.form-input:focus[b-qfczqqgzwe] {
    outline: none;
    border-color: #495583;
    box-shadow: 0 0 0 2px rgba(73, 85, 131, 0.1);
}

.filter-actions[b-qfczqqgzwe] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

/* ── GRID ────────────────────────────────────────────── */
.grid-wrapper[b-qfczqqgzwe] {
    overflow-x: auto;
}

.grid[b-qfczqqgzwe] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.grid thead th[b-qfczqqgzwe] {
    background: #F4F5F9;
    color: #6B7280;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #E4E6EF;
}

.grid tbody td[b-qfczqqgzwe] {
    padding: 12px;
    border-bottom: 1px solid #F0F2F7;
    color: #2D3558;
    vertical-align: middle;
}

.row-clickable[b-qfczqqgzwe] {
    cursor: pointer;
    transition: background-color 0.12s;
}

.row-clickable:hover[b-qfczqqgzwe] {
    background-color: #F8F9FC;
}

.grid-empty[b-qfczqqgzwe] {
    text-align: center;
    padding: 32px 12px !important;
    color: #9CA2B8;
    font-style: italic;
}

/* ── ALERTS ──────────────────────────────────────────── */
.alert-success[b-qfczqqgzwe],
.alert-error[b-qfczqqgzwe] {
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid;
}

.alert-success[b-qfczqqgzwe] {
    background: #E8F5E9;
    color: #1E7E34;
    border-color: #C8E6C9;
}

.alert-error[b-qfczqqgzwe] {
    background: #FDECEA;
    color: #C62828;
    border-color: #EF9A9A;
}

/* ── IMPORT MODAL ────────────────────────────────────── */
.modal-import[b-qfczqqgzwe] {
    width: 560px;
}

.progress-bar-wrapper[b-qfczqqgzwe] {
    width: 100%;
    height: 8px;
    background: #E4E6EF;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 6px;
}

.progress-bar-fill[b-qfczqqgzwe] {
    height: 100%;
    background: linear-gradient(90deg, #495583, #2D3558);
    border-radius: 999px;
    transition: width 0.18s ease;
}

.progress-text[b-qfczqqgzwe] {
    font-size: 12px;
    color: #6B7280;
    text-align: right;
    margin-bottom: 14px;
}

.import-log[b-qfczqqgzwe] {
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #E4E6EF;
    border-radius: 6px;
    background: #FAFBFD;
    margin-bottom: 14px;
}

.import-log-row[b-qfczqqgzwe] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px;
    font-size: 13px;
    border-bottom: 1px solid #F0F2F7;
}

.import-log-row:last-child[b-qfczqqgzwe] {
    border-bottom: none;
}

.import-log-code[b-qfczqqgzwe] {
    color: #2D3558;
}

.import-log .chip[b-qfczqqgzwe] {
    min-width: 90px;
    text-align: center;
    font-size: 11px;
    padding: 2px 6px;
}

.import-summary[b-qfczqqgzwe] {
    margin-top: 8px;
    padding: 14px 16px;
    background: #F4F5F9;
    border-radius: 6px;
}

.import-summary-row[b-qfczqqgzwe] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    font-size: 13px;
    color: #2D3558;
}

.import-summary-row .chip[b-qfczqqgzwe] {
    min-width: 100px;
    text-align: center;
    font-size: 11px;
    padding: 2px 6px;
}

.import-summary-footer[b-qfczqqgzwe] {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #E4E6EF;
    font-size: 12px;
    color: #6B7280;
    text-align: right;
}

/* ── SPINNER ─────────────────────────────────────────── */
.btn-spinner[b-qfczqqgzwe] {
    width: 14px;
    height: 14px;
    border: 2px solid #c8c8c8;
    border-top-color: #2D3558;
    border-radius: 50%;
    animation: btn-spin-b-qfczqqgzwe 0.6s linear infinite;
    display: inline-block;
}

.btn-spinner-white[b-qfczqqgzwe] {
    border-color: rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
}

@keyframes btn-spin-b-qfczqqgzwe {
    to { transform: rotate(360deg); }
}

.pagination[b-qfczqqgzwe] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-top: 1px solid #E4E6EF;
    font-size: 13px;
    color: #6B7280;
}

.btn-sm[b-qfczqqgzwe] {
    height: 28px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
}

/* ── MODAL ───────────────────────────────────────────── */
.modal-backdrop[b-qfczqqgzwe] {
    position: fixed;
    inset: 0;
    background: rgba(45, 53, 88, 0.45);
    z-index: 1000;
    animation: fadeIn-b-qfczqqgzwe 0.15s ease-out;
}

.modal-panel[b-qfczqqgzwe] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 720px;
    max-width: calc(100vw - 48px);
    max-height: calc(100vh - 48px);
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    z-index: 1001;
    display: flex;
    flex-direction: column;
    animation: slideIn-b-qfczqqgzwe 0.18s ease-out;
}

@keyframes fadeIn-b-qfczqqgzwe {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideIn-b-qfczqqgzwe {
    from { opacity: 0; transform: translate(-50%, -48%); }
    to   { opacity: 1; transform: translate(-50%, -50%); }
}

.modal-header[b-qfczqqgzwe] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 18px 20px;
    border-bottom: 1px solid #E4E6EF;
    flex-shrink: 0;
}

.modal-subtitle[b-qfczqqgzwe] {
    display: block;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
}

.btn-close[b-qfczqqgzwe] {
    background: none;
    border: none;
    font-size: 24px;
    color: #9CA2B8;
    cursor: pointer;
    line-height: 1;
    padding: 0 4px;
}

.btn-close:hover[b-qfczqqgzwe] {
    color: #2D3558;
}

.modal-body[b-qfczqqgzwe] {
    flex: 1;
    overflow-y: auto;
    padding: 18px 20px;
}

.info-section[b-qfczqqgzwe] {
    margin-bottom: 18px;
}

.info-section:last-child[b-qfczqqgzwe] {
    margin-bottom: 0;
}

.info-section-title[b-qfczqqgzwe] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #9CA2B8;
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid #E4E6EF;
}

.info-grid[b-qfczqqgzwe] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px 18px;
}

.info-item[b-qfczqqgzwe] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.info-item-full[b-qfczqqgzwe] {
    grid-column: 1 / -1;
}

.info-label[b-qfczqqgzwe] {
    font-size: 11px;
    color: #9CA2B8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 500;
}

.info-value[b-qfczqqgzwe] {
    font-size: 13px;
    color: #2D3558;
    word-break: break-word;
}

.modal-footer[b-qfczqqgzwe] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 14px 20px;
    border-top: 1px solid #E4E6EF;
    flex-shrink: 0;
}
/* /Components/Pages/ProgramacaoProducao.razor.rz.scp.css */
/* ── FILTROS ──────────────────────────────────────────── */
.filter-row[b-opynovnvgx] {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
}

.filter-row-left[b-opynovnvgx] {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
}

.filter-field[b-opynovnvgx] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.filter-label[b-opynovnvgx] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
}

.form-input[b-opynovnvgx] {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #D0D3E0;
    border-radius: 4px;
    font-size: 13px;
    color: #2D3558;
    background: #fff;
    font-family: inherit;
    min-width: 200px;
}

.form-input:focus[b-opynovnvgx] {
    outline: none;
    border-color: #495583;
    box-shadow: 0 0 0 2px rgba(73,85,131,0.15);
}

/* ── BOTÃO GERAR CENÁRIO ──────────────────────────────── */
@keyframes shimmer-cen-b-opynovnvgx {
    0%   { transform: translateX(-100%) skewX(-15deg); }
    100% { transform: translateX(250%)  skewX(-15deg); }
}

@keyframes checked-pop-cen-b-opynovnvgx {
    0%   { transform: scale(0.92); }
    60%  { transform: scale(1.05); }
    100% { transform: scale(1);    }
}

.btn-cenario[b-opynovnvgx] {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 20px;
    border-radius: 8px;
    border: none;
    background: linear-gradient(135deg, #FF6B35 0%, #FF8C42 50%, #FFA955 100%);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: transform 0.15s, filter 0.2s;
}

.btn-cenario:hover[b-opynovnvgx] {
    transform: translateY(-1px) scale(1.02);
    filter: brightness(1.08);
}

.btn-cenario:active[b-opynovnvgx] { transform: scale(0.97); }

.btn-cenario-glow[b-opynovnvgx] {
    position: absolute;
    top: 0; left: 0;
    width: 40%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.28), transparent);
    pointer-events: none;
}

.btn-cenario:hover .btn-cenario-glow[b-opynovnvgx] {
    animation: shimmer-cen-b-opynovnvgx 0.7s ease forwards;
}

.btn-cenario-ativo[b-opynovnvgx] {
    background: linear-gradient(135deg, #1a9e5c 0%, #2ecc71 100%);
    animation: checked-pop-cen-b-opynovnvgx 0.35s ease forwards;
}

/* ── MODAL CENÁRIO FORM ───────────────────────────────── */
.modal-cenario[b-opynovnvgx] {
    max-width: 640px;
}

.modal-footer[b-opynovnvgx] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid #E4E6EF;
    flex-shrink: 0;
}

.btn-cancelar[b-opynovnvgx] {
    background: none;
    border: 1px solid #D0D3E0;
    border-radius: 6px;
    padding: 8px 16px;
    font-size: 13px;
    color: #6B7194;
    cursor: pointer;
    font-family: inherit;
}

.btn-cancelar:hover[b-opynovnvgx] { background: #F4F5F9; }

.btn-aplicar[b-opynovnvgx] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 20px;
    border-radius: 8px;
    border: none;
    background: linear-gradient(135deg, #FF6B35 0%, #FF8C42 50%, #FFA955 100%);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: filter 0.15s;
}

.btn-aplicar:hover[b-opynovnvgx] { filter: brightness(1.08); }

.cenario-form[b-opynovnvgx] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.cenario-field[b-opynovnvgx] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cenario-field-full[b-opynovnvgx] {
    grid-column: 1 / -1;
}

.cenario-label[b-opynovnvgx] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
}

.cenario-input[b-opynovnvgx] {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #D0D3E0;
    border-radius: 4px;
    font-size: 13px;
    color: #2D3558;
    background: #fff;
    font-family: inherit;
    width: 100%;
    box-sizing: border-box;
}

.cenario-input:focus[b-opynovnvgx] {
    outline: none;
    border-color: #FF8C42;
    box-shadow: 0 0 0 2px rgba(255,140,66,0.15);
}

.cenario-input-row[b-opynovnvgx] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.cenario-input-num[b-opynovnvgx] {
    min-width: 80px;
    width: 100%;
}

.cenario-unit[b-opynovnvgx] {
    font-size: 12px;
    color: #9CA2B8;
    white-space: nowrap;
}

.cenario-hint[b-opynovnvgx] {
    font-size: 11px;
    color: #9CA2B8;
    line-height: 1.3;
}

/* ── ALERTAS BAR ──────────────────────────────────────── */
.alertas-bar[b-opynovnvgx] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.alerta-chip[b-opynovnvgx] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}

.chip-warning[b-opynovnvgx] {
    background: #FFF8E1;
    color: #E65100;
    border: 1px solid #FFE082;
}

.chip-critico[b-opynovnvgx] {
    background: #FFEBEE;
    color: #C62828;
    border: 1px solid #EF9A9A;
}

/* ── GANTT WRAPPER ────────────────────────────────────── */
.gantt-wrapper[b-opynovnvgx] {
    overflow-x: auto;
    border: 1px solid #E4E6EF;
    border-radius: 6px;
}

.gantt-table[b-opynovnvgx] {
    border-collapse: collapse;
    font-size: 12px;
    white-space: nowrap;
    min-width: 100%;
}

/* Sticky first column */
.th-sticky-gantt[b-opynovnvgx] {
    position: sticky;
    left: 0;
    z-index: 3;
    background: #fff;
    border-right: 2px solid #E4E6EF;
}

.th-linha-col[b-opynovnvgx] {
    min-width: 180px;
    padding: 6px 10px;
    background: #F8F9FF;
}

.th-turno-label[b-opynovnvgx] {
    min-width: 180px;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    color: #9CA2B8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: #F8F9FF;
}

/* Day header */
.th-dia-gantt[b-opynovnvgx] {
    text-align: center;
    padding: 5px 0;
    border-bottom: 1px solid #E4E6EF;
    border-left: 1px solid #E4E6EF;
    background: #F8F9FF;
    min-width: 90px;
}

.dia-semana-gantt[b-opynovnvgx] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #9CA2B8;
}

.dia-data-gantt[b-opynovnvgx] {
    font-size: 12px;
    font-weight: 700;
    color: #2D3558;
}

/* Shift sub-header */
.th-turno[b-opynovnvgx] {
    text-align: center;
    padding: 3px 0;
    font-size: 10px;
    font-weight: 700;
    color: #9CA2B8;
    border-bottom: 2px solid #D0D3E0;
    border-left: 1px solid #E4E6EF;
    min-width: 45px;
    background: #F8F9FF;
}

/* Line group header row */
.tr-linha-header th[b-opynovnvgx],
.tr-linha-header td[b-opynovnvgx] {
    border-top: 2px solid #D0D3E0;
    border-bottom: 1px solid #E4E6EF;
    background: #F0F2FF;
}

.th-linha-nome[b-opynovnvgx] {
    font-size: 12px;
    font-weight: 700;
    color: #2D3558;
    padding: 6px 10px;
    letter-spacing: 0.01em;
}

.td-linha-fill[b-opynovnvgx] {
    background: #F0F2FF;
}

/* Staircase run rows */
.tr-run td[b-opynovnvgx] {
    padding: 0;
    border-bottom: 1px solid #E4E6EF;
    vertical-align: stretch;
}

.td-run-sticky[b-opynovnvgx] {
    height: 56px;
    min-width: 180px;
    border-right: 2px solid #E4E6EF !important;
    background: #fff;
}

.td-empty[b-opynovnvgx] {
    background: #FAFAFA;
    border-left: 1px solid #F0F1F7;
}

/* Production blocks */
.bloco-cell[b-opynovnvgx] {
    cursor: pointer;
    border-left: 2px solid transparent;
    border-right: 1px solid rgba(0,0,0,0.08);
    transition: filter 0.15s;
    vertical-align: top;
    padding: 0;
}

.bloco-cell:hover[b-opynovnvgx] { filter: brightness(0.94); }

.bloco-inner[b-opynovnvgx] {
    padding: 6px 8px;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bloco-cod[b-opynovnvgx] {
    font-size: 10px;
    font-weight: 700;
    opacity: 0.75;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.bloco-nome[b-opynovnvgx] {
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bloco-qty[b-opynovnvgx] {
    font-size: 10px;
    font-variant-numeric: tabular-nums;
    opacity: 0.8;
}

/* Collapse toggle button */
.btn-recolher[b-opynovnvgx] {
    background: none;
    border: none;
    padding: 0 4px 0 0;
    cursor: pointer;
    color: #9CA2B8;
    font-size: 11px;
    line-height: 1;
    vertical-align: middle;
    transition: color 0.15s;
}

.btn-recolher:hover[b-opynovnvgx] { color: #495583; }

/* Family colour themes */
.bloco-esponjas[b-opynovnvgx] {
    background: linear-gradient(135deg, #C8E6C9, #A5D6A7);
    color: #1B5E20;
    border-left-color: #43A047;
}

.bloco-panos[b-opynovnvgx] {
    background: linear-gradient(135deg, #BBDEFB, #90CAF9);
    color: #0D47A1;
    border-left-color: #1E88E5;
}

.bloco-detergentes[b-opynovnvgx] {
    background: linear-gradient(135deg, #FFE0B2, #FFCC80);
    color: #BF360C;
    border-left-color: #FB8C00;
}

.bloco-setup[b-opynovnvgx] {
    background: #F5F5F5;
    border-left: 2px solid #BDBDBD;
    cursor: default;
}

.setup-label[b-opynovnvgx] {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #9E9E9E;
    writing-mode: vertical-rl;
    margin: auto;
}

.bloco-bloqueio[b-opynovnvgx] {
    background: repeating-linear-gradient(
        45deg,
        #EEEEEE,
        #EEEEEE 6px,
        #E0E0E0 6px,
        #E0E0E0 12px
    );
    color: #757575;
    cursor: default;
}

/* Occupancy row */
.tr-ocup td[b-opynovnvgx] {
    border-bottom: 2px solid #D0D3E0;
}

.td-ocup-label[b-opynovnvgx] {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #9CA2B8;
    padding: 4px 10px;
    background: #fff !important;
    min-width: 180px;
    border-right: 2px solid #E4E6EF !important;
}

.td-ocup[b-opynovnvgx] {
    text-align: center;
    font-size: 10px;
    font-weight: 600;
    padding: 4px 2px;
    font-variant-numeric: tabular-nums;
    border-left: 1px solid #F0F1F7;
}

.ocup-ok[b-opynovnvgx]     { background: #E8F5E9; color: #2E7D32; }
.ocup-alerta[b-opynovnvgx] { background: #FFF8E1; color: #E65100; }
.ocup-critico[b-opynovnvgx]{ background: #FFEBEE; color: #C62828; font-weight: 700; }
.ocup-vazio[b-opynovnvgx]  { color: #9CA2B8; font-weight: 400; }

/* ── LEGENDA ──────────────────────────────────────────── */
.gantt-legenda[b-opynovnvgx] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.leg-item[b-opynovnvgx] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    color: #6B7194;
}

.leg-box[b-opynovnvgx] {
    display: inline-block;
    width: 14px;
    height: 10px;
    border-radius: 2px;
}

.leg-esponjas[b-opynovnvgx]    { background: #A5D6A7; border: 1px solid #43A047; }
.leg-panos[b-opynovnvgx]       { background: #90CAF9; border: 1px solid #1E88E5; }
.leg-detergentes[b-opynovnvgx] { background: #FFCC80; border: 1px solid #FB8C00; }
.leg-setup[b-opynovnvgx]       { background: #F5F5F5; border: 1px solid #BDBDBD; }
.leg-bloqueio[b-opynovnvgx]    {
    background: repeating-linear-gradient(45deg, #EEEEEE, #EEEEEE 3px, #E0E0E0 3px, #E0E0E0 6px);
    border: 1px solid #BDBDBD;
}

/* ── DESVIO TABLE ─────────────────────────────────────── */
.grid-wrapper[b-opynovnvgx] { overflow-x: auto; }

.desvio-table[b-opynovnvgx] {
    border-collapse: collapse;
    font-size: 12px;
    white-space: nowrap;
    width: 100%;
}

.desvio-table th[b-opynovnvgx],
.desvio-table td[b-opynovnvgx] {
    padding: 6px 10px;
    border-bottom: 1px solid #E4E6EF;
}

.th-sticky-dev[b-opynovnvgx] {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
    border-right: 2px solid #E4E6EF !important;
}

.desvio-table thead .th-sticky-dev[b-opynovnvgx] {
    background: #F8F9FF;
}

.th-dev-dia[b-opynovnvgx] {
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    color: #9CA2B8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-left: 1px solid #E4E6EF;
    background: #F8F9FF;
}

.th-turno-dev[b-opynovnvgx] {
    text-align: center;
    font-size: 10px;
    font-weight: 700;
    color: #9CA2B8;
    border-bottom: 2px solid #D0D3E0;
    border-left: 1px solid #E4E6EF;
    background: #F8F9FF;
    min-width: 52px;
}

.th-dev-acum[b-opynovnvgx] {
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    color: #2D3558;
    border-left: 2px solid #D0D3E0;
    background: #F0F2FF;
    min-width: 72px;
}

.td-sku-dev[b-opynovnvgx] {
    font-weight: 500;
    color: #2D3558;
    min-width: 200px;
}

.td-dev-pos[b-opynovnvgx]  { text-align: right; color: #1E7E34; font-weight: 600; font-variant-numeric: tabular-nums; border-left: 1px solid #F0F1F7; }
.td-dev-neg[b-opynovnvgx]  { text-align: right; color: #C62828; font-weight: 600; font-variant-numeric: tabular-nums; border-left: 1px solid #F0F1F7; }
.td-dev-vazio[b-opynovnvgx]{ text-align: center; color: #9CA2B8; border-left: 1px solid #F0F1F7; }

.td-dev-acum[b-opynovnvgx] {
    text-align: right;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    border-left: 2px solid #D0D3E0;
}

.acum-pos[b-opynovnvgx]     { color: #1E7E34; }
.acum-neg[b-opynovnvgx]     { color: #C62828; }
.acum-critico[b-opynovnvgx] { color: #C62828; background: #FFEBEE; }

.desvio-table tbody tr:hover td[b-opynovnvgx] { background: #F4F5F9; }
.desvio-table tbody tr:hover .th-sticky-dev[b-opynovnvgx] { background: #F4F5F9; }

/* ── MODAL ────────────────────────────────────────────── */
.modal-overlay[b-opynovnvgx] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.modal-box[b-opynovnvgx] {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
    width: 100%;
    max-width: 900px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.modal-header[b-opynovnvgx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    border-bottom: 1px solid #E4E6EF;
    flex-shrink: 0;
}

.modal-title[b-opynovnvgx] {
    font-size: 14px;
    font-weight: 700;
    color: #2D3558;
}

.modal-close[b-opynovnvgx] {
    background: none;
    border: none;
    font-size: 16px;
    color: #9CA2B8;
    cursor: pointer;
    padding: 4px 8px;
    line-height: 1;
    font-family: inherit;
}

.modal-close:hover[b-opynovnvgx] { color: #2D3558; }

.modal-body[b-opynovnvgx] {
    padding: 16px 20px;
    overflow: auto;
    flex: 1;
}

.modal-chart-container[b-opynovnvgx] {
    position: relative;
    height: 220px;
}

/* Reuse restricoes table styles in modal grid */
.restricoes-table[b-opynovnvgx] {
    border-collapse: collapse;
    font-size: 12px;
    white-space: nowrap;
}

.restricoes-table th[b-opynovnvgx],
.restricoes-table td[b-opynovnvgx] {
    padding: 7px 10px;
    border-bottom: 1px solid #E4E6EF;
    border-right: 1px solid #F0F1F7;
}

.th-sticky[b-opynovnvgx] {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
    border-right: 2px solid #E4E6EF !important;
}

.th-label[b-opynovnvgx] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
    text-align: left;
    min-width: 180px;
}

.th-row-label[b-opynovnvgx] {
    color: #2D3558;
    font-size: 12px;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
}

.th-dia[b-opynovnvgx] {
    text-align: center;
    min-width: 60px;
    font-weight: 500;
}

.dia-semana[b-opynovnvgx] {
    font-size: 10px;
    color: #9CA2B8;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.dia-data[b-opynovnvgx] {
    font-size: 12px;
    font-weight: 600;
    color: #2D3558;
}

.td-num[b-opynovnvgx] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.td-restrito[b-opynovnvgx] {
    color: #C62828;
    font-weight: 600;
}

.page-section-title[b-opynovnvgx] {
    font-size: 13px;
    font-weight: 700;
    color: #2D3558;
}
/* /Components/Pages/RestricoesExpedicao.razor.rz.scp.css */
.page-header[b-bha77i9rxa] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ── FILTROS ──────────────────────────────────────────── */
.filter-row[b-bha77i9rxa] {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
}

.filter-field[b-bha77i9rxa] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.filter-label[b-bha77i9rxa] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
}

.form-input[b-bha77i9rxa] {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #D0D3E0;
    border-radius: 4px;
    font-size: 13px;
    color: #2D3558;
    background: #fff;
    font-family: inherit;
}

.form-input-cd[b-bha77i9rxa] { min-width: 200px; }

.form-input:focus[b-bha77i9rxa] {
    outline: none;
    border-color: #495583;
    box-shadow: 0 0 0 2px rgba(73,85,131,0.15);
}

.filter-summary[b-bha77i9rxa] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding-bottom: 1px;
}

.summary-chip[b-bha77i9rxa] {
    display: inline-flex;
    align-items: center;
    height: 28px;
    padding: 0 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid transparent;
}

.chip-ok[b-bha77i9rxa]       { background: #E6F4EA; color: #1E7E34; }
.chip-warning[b-bha77i9rxa]  { background: #FFF8E1; color: #B57A00; }
.chip-critical[b-bha77i9rxa] { background: #FDECEA; color: #C62828; }

/* ── GRÁFICO ──────────────────────────────────────────── */
.chart-container[b-bha77i9rxa] {
    position: relative;
    height: 260px;
    margin-top: 10px;
}

/* ── GRID ─────────────────────────────────────────────── */
.grid-wrapper[b-bha77i9rxa] {
    overflow-x: auto;
    overflow-y: visible;
}

.restricoes-table[b-bha77i9rxa] {
    border-collapse: collapse;
    font-size: 12px;
    white-space: nowrap;
}

.restricoes-table th[b-bha77i9rxa],
.restricoes-table td[b-bha77i9rxa] {
    padding: 7px 10px;
    border-bottom: 1px solid #E4E6EF;
    border-right: 1px solid #F0F1F7;
}

/* sticky first column */
.th-sticky[b-bha77i9rxa] {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
    border-right: 2px solid #E4E6EF !important;
}

.th-label[b-bha77i9rxa] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #9CA2B8;
    letter-spacing: 0.04em;
    text-align: left;
    min-width: 190px;
}

.th-row-label[b-bha77i9rxa] {
    color: #2D3558;
    font-size: 12px;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
}

.edit-hint[b-bha77i9rxa] {
    display: block;
    font-size: 10px;
    font-weight: 400;
    color: #9CA2B8;
    margin-top: 1px;
}

/* day headers */
.th-dia[b-bha77i9rxa] {
    text-align: center;
    min-width: 72px;
    font-weight: 500;
    border-bottom: 3px solid transparent;
}

.th-dia-ok[b-bha77i9rxa]       { border-bottom-color: #1E7E34; }
.th-dia-warning[b-bha77i9rxa]  { border-bottom-color: #B57A00; }
.th-dia-critical[b-bha77i9rxa] { border-bottom-color: #C62828; }

.dia-semana[b-bha77i9rxa] {
    font-size: 10px;
    color: #9CA2B8;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.dia-data[b-bha77i9rxa] {
    font-size: 12px;
    font-weight: 600;
    color: #2D3558;
}

/* row styles */
.tr-capacidade td[b-bha77i9rxa],
.tr-capacidade th[b-bha77i9rxa] {
    background: #F8F9FF;
}

.tr-alertas td[b-bha77i9rxa],
.tr-alertas th[b-bha77i9rxa] {
    background: #FAFAFA;
}

.restricoes-table tbody tr:hover td[b-bha77i9rxa],
.restricoes-table tbody tr:hover th.th-row-label[b-bha77i9rxa] {
    background: #F4F5F9;
}

.td-num[b-bha77i9rxa] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.td-centro[b-bha77i9rxa] { text-align: center; }

.td-over[b-bha77i9rxa] {
    color: #C62828;
    font-weight: 600;
}

.td-restrito[b-bha77i9rxa] {
    color: #C62828;
    font-weight: 600;
}

/* capacidade editável */
.cap-value[b-bha77i9rxa] {
    cursor: pointer;
    border-bottom: 1px dashed #495583;
    padding-bottom: 1px;
    color: #2D3558;
    font-weight: 600;
}

.cap-value:hover[b-bha77i9rxa] { background: rgba(73,85,131,0.06); border-radius: 2px; }

.cap-input[b-bha77i9rxa] {
    width: 72px;
    height: 24px;
    padding: 0 4px;
    border: 1px solid #495583;
    border-radius: 3px;
    font-size: 12px;
    font-family: inherit;
    font-weight: 600;
    color: #2D3558;
    text-align: right;
    background: #EEF2FF;
}

.cap-input:focus[b-bha77i9rxa] { outline: none; box-shadow: 0 0 0 2px rgba(73,85,131,0.2); }

/* semáforo */
.semaforo[b-bha77i9rxa] {
    font-size: 18px;
    line-height: 1;
}

.semaforo-ok[b-bha77i9rxa]       { color: #1E7E34; }
.semaforo-warning[b-bha77i9rxa]  { color: #B57A00; }
.semaforo-critical[b-bha77i9rxa] { color: #C62828; }
