/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ── Toggle input oculto ────────────────────────────────────────────────── */
.nav-toggle-input[b-ukd8ikxfqo] {
    display: none;
}

/* ── Shell ──────────────────────────────────────────────────────────────── */
.admin-shell[b-ukd8ikxfqo] {
    display: flex;
    flex-direction: row;
    min-height: 100vh;
    background: #0d1117;
}

/* ── Sidebar ────────────────────────────────────────────────────────────── */
.admin-sidebar[b-ukd8ikxfqo] {
    width: 220px;
    min-width: 220px;
    height: 100vh;
    position: sticky;
    top: 0;
    background: #161b22;
    border-right: 1px solid #30363d;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    z-index: 200;
}

/* ── Conteúdo principal ─────────────────────────────────────────────────── */
.admin-main[b-ukd8ikxfqo] {
    flex: 1;
    min-width: 0;
}

.admin-content[b-ukd8ikxfqo] {
    padding: 0;
}

/* ── Elementos apenas para mobile (ocultos em desktop) ──────────────────── */
.mobile-header[b-ukd8ikxfqo] {
    display: none;
}

.hamburger[b-ukd8ikxfqo] {
    display: none;
}

.sidebar-backdrop[b-ukd8ikxfqo] {
    display: none;
}

.icon-close[b-ukd8ikxfqo] {
    display: none;
}

/* ── Error UI ───────────────────────────────────────────────────────────── */
#blazor-error-ui[b-ukd8ikxfqo] {
    background: #161b22;
    border-top: 1px solid #388bfd;
    bottom: 0;
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.75rem 1.5rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
    color: #e6edf3;
    font-size: 0.875rem;
}

#blazor-error-ui .dismiss[b-ukd8ikxfqo] {
    cursor: pointer;
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #7d8590;
}

/* ── Mobile ≤768px ──────────────────────────────────────────────────────── */
@media (max-width: 768px) {

    .admin-shell[b-ukd8ikxfqo] {
        flex-direction: column;
    }

    /* Barra superior mobile */
    .mobile-header[b-ukd8ikxfqo] {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding: 0 1rem;
        height: 3.25rem;
        background: #21262d;
        border-bottom: 1px solid #30363d;
        position: sticky;
        top: 0;
        z-index: 300;
        flex-shrink: 0;
    }

    .mobile-brand[b-ukd8ikxfqo] {
        font-size: 0.85rem;
        font-weight: 700;
        color: #e6edf3;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    /* Botão hamburger */
    .hamburger[b-ukd8ikxfqo] {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        cursor: pointer;
        color: #7d8590;
        font-size: 1.35rem;
        border-radius: 4px;
        transition: color 0.12s;
        flex-shrink: 0;
    }

    .hamburger:hover[b-ukd8ikxfqo] {
        color: #e6edf3;
    }

    /* Sidebar: entra da esquerda */
    .admin-sidebar[b-ukd8ikxfqo] {
        position: fixed;
        top: 0;
        left: -220px;
        height: 100vh;
        transition: left 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 200;
    }

    /* Backdrop */
    .sidebar-backdrop[b-ukd8ikxfqo] {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.65);
        backdrop-filter: blur(2px);
        z-index: 150;
        cursor: pointer;
    }

    /* Estado aberto — ativado via checkbox ──────────── */
    .nav-toggle-input:checked ~ .admin-shell .admin-sidebar[b-ukd8ikxfqo] {
        left: 0;
    }

    .nav-toggle-input:checked ~ .admin-shell .sidebar-backdrop[b-ukd8ikxfqo] {
        display: block;
    }

    .nav-toggle-input:checked ~ .admin-shell .icon-open[b-ukd8ikxfqo] {
        display: none;
    }

    .nav-toggle-input:checked ~ .admin-shell .icon-close[b-ukd8ikxfqo] {
        display: inline;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.nav-brand[b-us99cxxl74] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 1.25rem;
    background: #1c2333;
    border-bottom: 1px solid #30363d;
}

.brand-icon[b-us99cxxl74] {
    font-size: 1.1rem;
    color: #388bfd;
}

.brand-name[b-us99cxxl74] {
    font-size: 0.85rem;
    font-weight: 700;
    color: #e6edf3;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.nav-main[b-us99cxxl74] {
    flex: 1;
    padding: 0.875rem 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    overflow-y: none;
}

.nav-item[b-us99cxxl74] {
    width: 100%;
}

.nav-item[b-us99cxxl74]  .nav-link {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    color: #7d8590;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background 0.12s, color 0.12s;
    width: 100%;
}

.nav-item[b-us99cxxl74]  .nav-link i {
    font-size: 1rem;
    width: 1.125rem;
    text-align: center;
    flex-shrink: 0;
}

.nav-item[b-us99cxxl74]  .nav-link:hover {
    background: rgba(255,255,255,0.05);
    color: #e6edf3;
}

.nav-item[b-us99cxxl74]  .nav-link.active {
    background: rgba(56, 139, 253, 0.12);
    color: #388bfd;
}

/* ── Grupo colapsável ─────────────────────────────────────────────────────── */
.nav-group[b-us99cxxl74] {
    width: 100%;
    margin-top: .25rem;
}

.nav-group-toggle[b-us99cxxl74] {
    display: flex;
    align-items: center;
    gap: .625rem;
    width: 100%;
    padding: .5rem .75rem;
    background: none;
    border: none;
    border-radius: 6px;
    color: #7d8590;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .12s, color .12s;
    text-align: left;
}

    .nav-group-toggle:hover[b-us99cxxl74] {
        background: rgba(255,255,255,0.05);
        color: #e6edf3;
    }

    .nav-group-toggle.is-open[b-us99cxxl74] {
        color: #e6edf3;
    }

.nav-chevron[b-us99cxxl74] {
    margin-left: auto;
    font-size: .7rem;
    flex-shrink: 0;
    transition: transform .2s ease;
}

.nav-group-toggle.is-open .nav-chevron[b-us99cxxl74] {
    transform: rotate(90deg);
}

/* ── Itens colapsáveis ────────────────────────────────────────────────────── */
.nav-group-items[b-us99cxxl74] {
    max-height: 0;
    overflow: hidden;
    transition: max-height .22s ease;
}

    .nav-group-items.is-open[b-us99cxxl74] {
        max-height: 320px;
    }

.nav-item[b-us99cxxl74]  .nav-link-sub {
    padding-left: 2.25rem;
}

.nav-footer[b-us99cxxl74] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.875rem 1rem;
    border-top: 1px solid #30363d;
}

.nav-avatar[b-us99cxxl74] {
    width: 1.875rem;
    height: 1.875rem;
    border-radius: 50%;
    background: rgba(56, 139, 253, 0.15);
    color: #388bfd;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    flex-shrink: 0;
}

.nav-user-info[b-us99cxxl74] {
    flex: 1;
    min-width: 0;
}

.nav-company-wrap[b-us99cxxl74] {
    position: relative;
}

.nav-company[b-us99cxxl74] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    width: 100%;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-size: 0.7rem;
    font-weight: 600;
    color: #388bfd;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 0.1rem;
}

    .nav-company:hover[b-us99cxxl74] {
        color: #58a6ff;
    }

.nav-company-caret[b-us99cxxl74] {
    font-size: 0.65rem;
    opacity: 0.7;
}

.empresa-switch-menu[b-us99cxxl74] {
    position: absolute;
    bottom: 100%;
    left: 0;
    margin-bottom: 0.35rem;
    min-width: 180px;
    background: #161b22;
    border: 1px solid #30363d;
    border-radius: 8px;
    padding: 0.3rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    z-index: 20;
}

.empresa-switch-item[b-us99cxxl74] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    background: none;
    border: none;
    border-radius: 6px;
    padding: 0.45rem 0.55rem;
    color: #e6edf3;
    font-size: 0.8rem;
    text-align: left;
    cursor: pointer;
}

    .empresa-switch-item:hover:not(:disabled)[b-us99cxxl74] {
        background: #21262d;
    }

    .empresa-switch-item.is-atual[b-us99cxxl74] {
        color: #3fb950;
        cursor: default;
    }

    .empresa-switch-item:disabled[b-us99cxxl74] {
        cursor: default;
    }

.empresa-switch-empty[b-us99cxxl74] {
    font-size: 0.75rem;
    color: #7d8590;
    padding: 0.4rem 0.55rem;
}

.nav-user-email[b-us99cxxl74] {
    font-size: 0.72rem;
    color: #7d8590;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nav-logout[b-us99cxxl74] {
    color: #7d8590;
    text-decoration: none;
    font-size: 1rem;
    transition: color 0.12s;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.nav-logout:hover[b-us99cxxl74] {
    color: #388bfd;
}
/* /Components/Pages/Utilizadores.razor.rz.scp.css */
/* ── Página ──────────────────────────────────────────────────────────────────── */
.util-page[b-06rr0ma4nh] {
    padding: 2rem;
    max-width: 1100px;
}

/* ── Cabeçalho ───────────────────────────────────────────────────────────────── */
.util-header[b-06rr0ma4nh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.util-title[b-06rr0ma4nh] {
    font-size: 1.5rem;
    font-weight: 600;
    color: #e6edf3;
    margin: 0 0 .25rem;
}

.util-sub[b-06rr0ma4nh] {
    font-size: .875rem;
    color: #8b949e;
    margin: 0;
}

/* ── Botões ──────────────────────────────────────────────────────────────────── */
.btn-convidar[b-06rr0ma4nh] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: none;
    background: #238636;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
}

    .btn-convidar:hover:not(:disabled)[b-06rr0ma4nh] {
        background: #2ea043;
    }

    .btn-convidar:disabled[b-06rr0ma4nh] {
        opacity: .6;
        cursor: not-allowed;
    }

.btn-cancelar[b-06rr0ma4nh] {
    display: inline-flex;
    align-items: center;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: 1px solid #30363d;
    background: transparent;
    color: #8b949e;
    font-size: .875rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}

    .btn-cancelar:hover[b-06rr0ma4nh] {
        background: #21262d;
        color: #e6edf3;
    }

/* ── Estados (loading / vazio / erro) ────────────────────────────────────────── */
.util-estado[b-06rr0ma4nh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    color: #8b949e;
    font-size: .9rem;
    gap: .25rem;
}

.util-spinner[b-06rr0ma4nh] {
    width: 32px;
    height: 32px;
    border: 3px solid #30363d;
    border-top-color: #388bfd;
    border-radius: 50%;
    animation: spin-b-06rr0ma4nh .7s linear infinite;
    margin-bottom: .75rem;
}

@keyframes spin-b-06rr0ma4nh {
    to {
        transform: rotate(360deg);
    }
}

/* ── Tabela ──────────────────────────────────────────────────────────────────── */
.util-table-wrap[b-06rr0ma4nh] {
    border: 1px solid #30363d;
    border-radius: 8px;
    overflow: hidden;
}

.util-table[b-06rr0ma4nh] {
    width: 100%;
    border-collapse: collapse;
    font-size: .875rem;
}

    .util-table thead[b-06rr0ma4nh] {
        background: #161b22;
    }

    .util-table th[b-06rr0ma4nh] {
        padding: .65rem 1rem;
        text-align: left;
        font-weight: 600;
        color: #8b949e;
        border-bottom: 1px solid #30363d;
        white-space: nowrap;
    }

    .util-table tbody tr[b-06rr0ma4nh] {
        border-bottom: 1px solid #21262d;
        transition: background .12s;
    }

        .util-table tbody tr:last-child[b-06rr0ma4nh] {
            border-bottom: none;
        }

        .util-table tbody tr:hover[b-06rr0ma4nh] {
            background: #161b22;
        }

    .util-table td[b-06rr0ma4nh] {
        padding: .7rem 1rem;
        color: #e6edf3;
        vertical-align: middle;
    }

.td-email[b-06rr0ma4nh] {
    font-family: 'Consolas', 'Fira Mono', monospace;
    font-size: .82rem;
    color: #79c0ff !important;
}

/* ── Role badges ─────────────────────────────────────────────────────────────── */
.role-badge[b-06rr0ma4nh] {
    display: inline-block;
    padding: .2rem .55rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .02em;
    margin-right: .3rem;
}

.role-admin[b-06rr0ma4nh] {
    background: #3d1f63;
    color: #d2a8ff;
}

.role-gestor[b-06rr0ma4nh] {
    background: #1c3a5e;
    color: #79c0ff;
}

.role-comercial[b-06rr0ma4nh] {
    background: #1b3a2d;
    color: #56d364;
}

.role-sem[b-06rr0ma4nh] {
    background: #21262d;
    color: #484f58;
}

/* ── Estado badges ───────────────────────────────────────────────────────────── */
.estado-badge[b-06rr0ma4nh] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .2rem .6rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
}

.estado-ativo[b-06rr0ma4nh] {
    background: #1b3a2d;
    color: #56d364;
}

.estado-pendente[b-06rr0ma4nh] {
    background: #2d2208;
    color: #e3b341;
}

.estado-bloqueado[b-06rr0ma4nh] {
    background: #2d1215;
    color: #f85149;
}

/* ── Colunas extra ───────────────────────────────────────────────────────────── */
.td-attr[b-06rr0ma4nh] {
    font-family: 'Consolas', 'Fira Mono', monospace;
    font-size: .8rem;
    color: #8b949e;
}

.td-right[b-06rr0ma4nh] {
    text-align: right;
}

.th-right[b-06rr0ma4nh] {
    text-align: right !important;
}

.td-null[b-06rr0ma4nh] {
    color: #484f58;
}

/* ── Coluna e botões de ação ─────────────────────────────────────────────────── */
.td-acoes[b-06rr0ma4nh] {
    width: 80px;
    text-align: center;
    white-space: nowrap;
}

.btn-acao[b-06rr0ma4nh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
    font-size: .9rem;
    transition: background .15s, color .15s, border-color .15s;
}

    .btn-acao:disabled[b-06rr0ma4nh] {
        opacity: .5;
        cursor: not-allowed;
    }

.btn-bloquear[b-06rr0ma4nh] {
    color: #8b949e;
    border-color: #30363d;
}

    .btn-bloquear:hover:not(:disabled)[b-06rr0ma4nh] {
        background: #2d1215;
        color: #f85149;
        border-color: #6e2b2b;
    }

.btn-desbloquear[b-06rr0ma4nh] {
    color: #8b949e;
    border-color: #30363d;
}

    .btn-desbloquear:hover:not(:disabled)[b-06rr0ma4nh] {
        background: #1b3a2d;
        color: #56d364;
        border-color: #2ea043;
    }

.btn-editar[b-06rr0ma4nh] {
    color: #8b949e;
    border-color: #30363d;
}

    .btn-editar:hover:not(:disabled)[b-06rr0ma4nh] {
        background: #1c3a5e;
        color: #79c0ff;
        border-color: #1f6feb;
    }

.btn-spinner[b-06rr0ma4nh] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid #30363d;
    border-top-color: #8b949e;
    border-radius: 50%;
    animation: spin-b-06rr0ma4nh .7s linear infinite;
}

/* ── Modal overlay ───────────────────────────────────────────────────────────── */
.modal-overlay[b-06rr0ma4nh] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .65);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 1rem;
    animation: fadeIn-b-06rr0ma4nh .15s ease;
}

@keyframes fadeIn-b-06rr0ma4nh {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.modal-card[b-06rr0ma4nh] {
    background: #161b22;
    border: 1px solid #30363d;
    border-radius: 10px;
    width: 100%;
    max-width: 420px;
    padding: 1.75rem;
    animation: slideUp-b-06rr0ma4nh .18s ease;
}

@keyframes slideUp-b-06rr0ma4nh {
    from {
        transform: translateY(12px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* ── Modal header ────────────────────────────────────────────────────────────── */
.modal-header[b-06rr0ma4nh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.modal-title[b-06rr0ma4nh] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #e6edf3;
    margin: 0;
}

.modal-close[b-06rr0ma4nh] {
    background: none;
    border: none;
    color: #8b949e;
    font-size: 1rem;
    cursor: pointer;
    padding: .25rem;
    border-radius: 4px;
    transition: color .15s, background .15s;
}

    .modal-close:hover[b-06rr0ma4nh] {
        color: #e6edf3;
        background: #21262d;
    }

/* ── Modal form ──────────────────────────────────────────────────────────────── */
.modal-field[b-06rr0ma4nh] {
    margin-bottom: 1rem;
}

.modal-label[b-06rr0ma4nh] {
    display: block;
    font-size: .8rem;
    font-weight: 500;
    color: #8b949e;
    margin-bottom: .35rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.modal-input[b-06rr0ma4nh] {
    width: 100%;
    background: #0d1117;
    border: 1px solid #30363d;
    border-radius: 6px;
    color: #e6edf3;
    font-size: .875rem;
    padding: .55rem .75rem;
    box-sizing: border-box;
    transition: border-color .15s;
    outline: none;
}

    .modal-input:focus[b-06rr0ma4nh] {
        border-color: #388bfd;
    }

    .modal-input option[b-06rr0ma4nh] {
        background: #161b22;
    }

/* ── Modal estados ───────────────────────────────────────────────────────────── */
.modal-erro[b-06rr0ma4nh] {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: #2d1215;
    border: 1px solid #6e2b2b;
    border-radius: 6px;
    color: #f85149;
    font-size: .85rem;
    padding: .65rem .85rem;
    margin-bottom: 1rem;
}

.modal-success[b-06rr0ma4nh] {
    display: flex;
    align-items: center;
    gap: .6rem;
    background: #1b3a2d;
    border: 1px solid #2ea043;
    border-radius: 6px;
    color: #56d364;
    font-size: .9rem;
    padding: .85rem 1rem;
}

    .modal-success i[b-06rr0ma4nh] {
        font-size: 1.25rem;
        flex-shrink: 0;
    }

/* ── Modal actions ───────────────────────────────────────────────────────────── */
.modal-actions[b-06rr0ma4nh] {
    display: flex;
    gap: .75rem;
    margin-top: 1.25rem;
}

    .modal-actions .btn-convidar[b-06rr0ma4nh] {
        flex: 1;
        justify-content: center;
    }

/* ── Modal editar (mais largo) ───────────────────────────────────────────────── */
.modal-card-edit[b-06rr0ma4nh] {
    max-width: 500px;
}

.edit-email-ref[b-06rr0ma4nh] {
    font-family: 'Consolas', 'Fira Mono', monospace;
    font-size: .82rem;
    color: #79c0ff;
    margin: -.5rem 0 1.25rem;
}

/* Linha com dois campos lado a lado */
.modal-row[b-06rr0ma4nh] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
}

/* ── Margens por operadora ───────────────────────────────────────────────────── */
.margens-hint[b-06rr0ma4nh] {
    font-size: .78rem;
    line-height: 1.5;
    color: #8b949e;
    margin: 0 0 .75rem;
}
.margens-hint strong[b-06rr0ma4nh] { color: #c9d1d9; }

.margens-wrap[b-06rr0ma4nh] {
    display: flex;
    flex-direction: column;
    gap: .85rem;
}

.margem-grupo[b-06rr0ma4nh] {
    border: 1px solid #21262d;
    border-radius: 8px;
    padding: .6rem .75rem .75rem;
    background: #0d1117;
}

.margem-grupo-titulo[b-06rr0ma4nh] {
    display: block;
    font-size: .7rem;
    font-weight: 600;
    color: #58a6ff;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: .5rem;
}

.margem-linha[b-06rr0ma4nh] {
    display: grid;
    grid-template-columns: 1fr 7rem;
    align-items: center;
    gap: .75rem;
}

    .margem-linha + .margem-linha[b-06rr0ma4nh] {
        margin-top: .5rem;
    }

.margem-linha-label[b-06rr0ma4nh] {
    font-size: .85rem;
    color: #e6edf3;
}

.margem-input[b-06rr0ma4nh] {
    text-align: right;
}

.margens-vazio[b-06rr0ma4nh] {
    font-size: .85rem;
    color: #8b949e;
    font-style: italic;
}

/* Chip de operadora na tabela */
.operadora-chip[b-06rr0ma4nh] {
    display: inline-block;
    padding: .15rem .55rem;
    margin: .1rem .25rem .1rem 0;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 500;
    color: #c9d1d9;
    background: #21262d;
    border: 1px solid #30363d;
}

/* Checkboxes de roles */
.roles-check-group[b-06rr0ma4nh] {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
    align-items: center;
    padding: .5rem 0;
}

.role-check-label[b-06rr0ma4nh] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    cursor: pointer;
    user-select: none;
}

    .role-check-label input[type="checkbox"][b-06rr0ma4nh] {
        accent-color: #388bfd;
        width: 14px;
        height: 14px;
        cursor: pointer;
    }

/* Botão guardar do modal de edição */
.btn-guardar-edit[b-06rr0ma4nh] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem 1.25rem;
    border-radius: 6px;
    border: none;
    background: #238636;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
    flex: 1;
    justify-content: center;
}

    .btn-guardar-edit:hover:not(:disabled)[b-06rr0ma4nh] {
        background: #2ea043;
    }

    .btn-guardar-edit:disabled[b-06rr0ma4nh] {
        opacity: .6;
        cursor: not-allowed;
    }
/* /Components/Pages/Vodafone/AjusteComissao.razor.rz.scp.css */
/* ── Página ───────────────────────────────────────────────────────────────── */
.ac-page[b-nguikxdwbb] {
    padding: 2rem;
    max-width: 720px;
}

/* ── Cabeçalho ────────────────────────────────────────────────────────────── */
.ac-header[b-nguikxdwbb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.ac-title[b-nguikxdwbb] {
    font-size: 1.5rem;
    font-weight: 600;
    color: #e6edf3;
    margin: 0 0 .25rem;
}

.ac-sub[b-nguikxdwbb] {
    font-size: .875rem;
    color: #8b949e;
    margin: 0;
}

/* ── Botão novo ───────────────────────────────────────────────────────────── */
.btn-novo[b-nguikxdwbb] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: none;
    background: #238636;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
}

    .btn-novo:hover[b-nguikxdwbb] {
        background: #2ea043;
    }

/* ── Estados ──────────────────────────────────────────────────────────────── */
.ac-estado[b-nguikxdwbb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    color: #8b949e;
    font-size: .9rem;
    gap: .25rem;
}

.ac-estado-erro[b-nguikxdwbb] {
    color: #f85149;
}

.ac-spinner[b-nguikxdwbb] {
    width: 32px;
    height: 32px;
    border: 3px solid #30363d;
    border-top-color: #388bfd;
    border-radius: 50%;
    animation: spin-b-nguikxdwbb .7s linear infinite;
    margin-bottom: .75rem;
}

@keyframes spin-b-nguikxdwbb {
    to { transform: rotate(360deg); }
}

/* ── Tabela ───────────────────────────────────────────────────────────────── */
.ac-table-wrap[b-nguikxdwbb] {
    border: 1px solid #30363d;
    border-radius: 8px;
    overflow: hidden;
}

.ac-table[b-nguikxdwbb] {
    width: 100%;
    border-collapse: collapse;
    font-size: .875rem;
}

    .ac-table thead[b-nguikxdwbb] {
        background: #161b22;
    }

    .ac-table th[b-nguikxdwbb] {
        padding: .65rem 1rem;
        text-align: left;
        font-weight: 600;
        color: #8b949e;
        border-bottom: 1px solid #30363d;
        white-space: nowrap;
    }

    .ac-table tbody tr[b-nguikxdwbb] {
        border-bottom: 1px solid #21262d;
        transition: background .12s;
    }

        .ac-table tbody tr:last-child[b-nguikxdwbb] {
            border-bottom: none;
        }

        .ac-table tbody tr:hover[b-nguikxdwbb] {
            background: #161b22;
        }

    .ac-table td[b-nguikxdwbb] {
        padding: .7rem 1rem;
        color: #e6edf3;
        vertical-align: middle;
    }

.th-right[b-nguikxdwbb]  { text-align: right  !important; }
.th-center[b-nguikxdwbb] { text-align: center !important; }
.td-right[b-nguikxdwbb]  { text-align: right; }
.td-center[b-nguikxdwbb] { text-align: center; }

.badge-duracao[b-nguikxdwbb] {
    display: inline-block;
    padding: .2rem .65rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    background: #1c3a5e;
    color: #79c0ff;
}

.td-ajuste[b-nguikxdwbb] {
    font-family: 'Consolas', 'Fira Mono', monospace;
    font-size: .85rem;
    color: #56d364;
}

/* ── Coluna de ações ──────────────────────────────────────────────────────── */
.td-acoes[b-nguikxdwbb] {
    width: 80px;
    white-space: nowrap;
}

.btn-acao[b-nguikxdwbb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
    font-size: .9rem;
    transition: background .15s, color .15s, border-color .15s;
}

.btn-editar[b-nguikxdwbb] {
    color: #8b949e;
    border-color: #30363d;
}

    .btn-editar:hover[b-nguikxdwbb] {
        background: #1c3a5e;
        color: #79c0ff;
        border-color: #1f6feb;
    }

.btn-eliminar[b-nguikxdwbb] {
    color: #8b949e;
    border-color: #30363d;
    margin-left: .25rem;
}

    .btn-eliminar:hover[b-nguikxdwbb] {
        background: #2d1215;
        color: #f85149;
        border-color: #6e2b2b;
    }

/* ── Modal overlay ────────────────────────────────────────────────────────── */
.modal-overlay[b-nguikxdwbb] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .65);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 1rem;
    animation: fadeIn-b-nguikxdwbb .15s ease;
}

@keyframes fadeIn-b-nguikxdwbb {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.modal-card[b-nguikxdwbb] {
    background: #161b22;
    border: 1px solid #30363d;
    border-radius: 10px;
    width: 100%;
    max-width: 420px;
    padding: 1.75rem;
    animation: slideUp-b-nguikxdwbb .18s ease;
}

.modal-card-sm[b-nguikxdwbb] {
    max-width: 380px;
}

@keyframes slideUp-b-nguikxdwbb {
    from { transform: translateY(12px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

/* ── Modal header ─────────────────────────────────────────────────────────── */
.modal-header[b-nguikxdwbb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.modal-title[b-nguikxdwbb] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #e6edf3;
    margin: 0;
}

.modal-title-danger[b-nguikxdwbb] {
    color: #f85149;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.modal-close[b-nguikxdwbb] {
    background: none;
    border: none;
    color: #8b949e;
    font-size: 1rem;
    cursor: pointer;
    padding: .25rem;
    border-radius: 4px;
    transition: color .15s, background .15s;
}

    .modal-close:hover[b-nguikxdwbb] {
        color: #e6edf3;
        background: #21262d;
    }

/* ── Modal form ───────────────────────────────────────────────────────────── */
.modal-row[b-nguikxdwbb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
}

.modal-field[b-nguikxdwbb] {
    margin-bottom: 1rem;
}

.modal-label[b-nguikxdwbb] {
    display: block;
    font-size: .8rem;
    font-weight: 500;
    color: #8b949e;
    margin-bottom: .35rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.modal-input[b-nguikxdwbb] {
    width: 100%;
    background: #0d1117;
    border: 1px solid #30363d;
    border-radius: 6px;
    color: #e6edf3;
    font-size: .875rem;
    padding: .55rem .75rem;
    box-sizing: border-box;
    transition: border-color .15s;
    outline: none;
}

    .modal-input:focus[b-nguikxdwbb] {
        border-color: #388bfd;
    }

/* ── Modal erro / confirm ─────────────────────────────────────────────────── */
.modal-erro[b-nguikxdwbb] {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: #2d1215;
    border: 1px solid #6e2b2b;
    border-radius: 6px;
    color: #f85149;
    font-size: .85rem;
    padding: .65rem .85rem;
    margin-bottom: 1rem;
}

.modal-confirm-text[b-nguikxdwbb] {
    color: #8b949e;
    font-size: .9rem;
    margin-bottom: 1rem;
    line-height: 1.5;
}

    .modal-confirm-text strong[b-nguikxdwbb] {
        color: #e6edf3;
    }

/* ── Modal actions ────────────────────────────────────────────────────────── */
.modal-actions[b-nguikxdwbb] {
    display: flex;
    gap: .75rem;
    margin-top: 1.25rem;
}

.btn-cancelar[b-nguikxdwbb] {
    display: inline-flex;
    align-items: center;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: 1px solid #30363d;
    background: transparent;
    color: #8b949e;
    font-size: .875rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}

    .btn-cancelar:hover:not(:disabled)[b-nguikxdwbb] {
        background: #21262d;
        color: #e6edf3;
    }

    .btn-cancelar:disabled[b-nguikxdwbb] {
        opacity: .6;
        cursor: not-allowed;
    }

.btn-guardar[b-nguikxdwbb] {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: none;
    background: #238636;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
}

    .btn-guardar:hover:not(:disabled)[b-nguikxdwbb] {
        background: #2ea043;
    }

    .btn-guardar:disabled[b-nguikxdwbb] {
        opacity: .6;
        cursor: not-allowed;
    }

.btn-eliminar-confirm[b-nguikxdwbb] {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: none;
    background: #da3633;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
}

    .btn-eliminar-confirm:hover:not(:disabled)[b-nguikxdwbb] {
        background: #f85149;
    }

    .btn-eliminar-confirm:disabled[b-nguikxdwbb] {
        opacity: .6;
        cursor: not-allowed;
    }

/* ── Spinner inline ───────────────────────────────────────────────────────── */
.btn-spinner[b-nguikxdwbb] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255,255,255,.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin-b-nguikxdwbb .7s linear infinite;
}
/* /Components/Pages/Vodafone/AjusteCruzado.razor.rz.scp.css */
/* ── Página ───────────────────────────────────────────────────────────────── */
.ac-page[b-pi6f13v38v] {
    padding: 2rem;
    max-width: 720px;
}

/* ── Cabeçalho ────────────────────────────────────────────────────────────── */
.ac-header[b-pi6f13v38v] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.ac-title[b-pi6f13v38v] {
    font-size: 1.5rem;
    font-weight: 600;
    color: #e6edf3;
    margin: 0 0 .25rem;
}

.ac-sub[b-pi6f13v38v] {
    font-size: .875rem;
    color: #8b949e;
    margin: 0;
}

/* ── Botão novo ───────────────────────────────────────────────────────────── */
.btn-novo[b-pi6f13v38v] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: none;
    background: #238636;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
}

    .btn-novo:hover[b-pi6f13v38v] {
        background: #2ea043;
    }

/* ── Estados ──────────────────────────────────────────────────────────────── */
.ac-estado[b-pi6f13v38v] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    color: #8b949e;
    font-size: .9rem;
    gap: .25rem;
}

.ac-estado-erro[b-pi6f13v38v] {
    color: #f85149;
}

.ac-spinner[b-pi6f13v38v] {
    width: 32px;
    height: 32px;
    border: 3px solid #30363d;
    border-top-color: #388bfd;
    border-radius: 50%;
    animation: spin-b-pi6f13v38v .7s linear infinite;
    margin-bottom: .75rem;
}

@keyframes spin-b-pi6f13v38v {
    to { transform: rotate(360deg); }
}

/* ── Tabela ───────────────────────────────────────────────────────────────── */
.ac-table-wrap[b-pi6f13v38v] {
    border: 1px solid #30363d;
    border-radius: 8px;
    overflow: hidden;
}

.ac-table[b-pi6f13v38v] {
    width: 100%;
    border-collapse: collapse;
    font-size: .875rem;
}

    .ac-table thead[b-pi6f13v38v] {
        background: #161b22;
    }

    .ac-table th[b-pi6f13v38v] {
        padding: .65rem 1rem;
        text-align: left;
        font-weight: 600;
        color: #8b949e;
        border-bottom: 1px solid #30363d;
        white-space: nowrap;
    }

    .ac-table tbody tr[b-pi6f13v38v] {
        border-bottom: 1px solid #21262d;
        transition: background .12s;
    }

        .ac-table tbody tr:last-child[b-pi6f13v38v] {
            border-bottom: none;
        }

        .ac-table tbody tr:hover[b-pi6f13v38v] {
            background: #161b22;
        }

    .ac-table td[b-pi6f13v38v] {
        padding: .7rem 1rem;
        color: #e6edf3;
        vertical-align: middle;
    }

.th-right[b-pi6f13v38v]  { text-align: right  !important; }
.th-center[b-pi6f13v38v] { text-align: center !important; }
.td-right[b-pi6f13v38v]  { text-align: right; }
.td-center[b-pi6f13v38v] { text-align: center; }

.badge-duracao[b-pi6f13v38v] {
    display: inline-block;
    padding: .2rem .65rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    background: #1c3a5e;
    color: #79c0ff;
}

.badge-linhas[b-pi6f13v38v] {
    display: inline-block;
    padding: .2rem .65rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    background: #3d1f63;
    color: #d2a8ff;
}

.td-ajuste[b-pi6f13v38v] {
    font-family: 'Consolas', 'Fira Mono', monospace;
    font-size: .85rem;
    color: #56d364;
}

/* ── Coluna de ações ──────────────────────────────────────────────────────── */
.td-acoes[b-pi6f13v38v] {
    width: 80px;
    white-space: nowrap;
}

.btn-acao[b-pi6f13v38v] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
    font-size: .9rem;
    transition: background .15s, color .15s, border-color .15s;
}

.btn-editar[b-pi6f13v38v] {
    color: #8b949e;
    border-color: #30363d;
}

    .btn-editar:hover[b-pi6f13v38v] {
        background: #1c3a5e;
        color: #79c0ff;
        border-color: #1f6feb;
    }

.btn-eliminar[b-pi6f13v38v] {
    color: #8b949e;
    border-color: #30363d;
    margin-left: .25rem;
}

    .btn-eliminar:hover[b-pi6f13v38v] {
        background: #2d1215;
        color: #f85149;
        border-color: #6e2b2b;
    }

/* ── Modal overlay ────────────────────────────────────────────────────────── */
.modal-overlay[b-pi6f13v38v] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .65);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 1rem;
    animation: fadeIn-b-pi6f13v38v .15s ease;
}

@keyframes fadeIn-b-pi6f13v38v {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.modal-card[b-pi6f13v38v] {
    background: #161b22;
    border: 1px solid #30363d;
    border-radius: 10px;
    width: 100%;
    max-width: 420px;
    padding: 1.75rem;
    animation: slideUp-b-pi6f13v38v .18s ease;
}

.modal-card-sm[b-pi6f13v38v] {
    max-width: 380px;
}

@keyframes slideUp-b-pi6f13v38v {
    from { transform: translateY(12px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

/* ── Modal header ─────────────────────────────────────────────────────────── */
.modal-header[b-pi6f13v38v] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.modal-title[b-pi6f13v38v] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #e6edf3;
    margin: 0;
}

.modal-title-danger[b-pi6f13v38v] {
    color: #f85149;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.modal-close[b-pi6f13v38v] {
    background: none;
    border: none;
    color: #8b949e;
    font-size: 1rem;
    cursor: pointer;
    padding: .25rem;
    border-radius: 4px;
    transition: color .15s, background .15s;
}

    .modal-close:hover[b-pi6f13v38v] {
        color: #e6edf3;
        background: #21262d;
    }

/* ── Modal form ───────────────────────────────────────────────────────────── */
.modal-row[b-pi6f13v38v] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
}

.modal-field[b-pi6f13v38v] {
    margin-bottom: 1rem;
}

.modal-label[b-pi6f13v38v] {
    display: block;
    font-size: .8rem;
    font-weight: 500;
    color: #8b949e;
    margin-bottom: .35rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.modal-input[b-pi6f13v38v] {
    width: 100%;
    background: #0d1117;
    border: 1px solid #30363d;
    border-radius: 6px;
    color: #e6edf3;
    font-size: .875rem;
    padding: .55rem .75rem;
    box-sizing: border-box;
    transition: border-color .15s;
    outline: none;
}

    .modal-input:focus[b-pi6f13v38v] {
        border-color: #388bfd;
    }

/* ── Modal erro / confirm ─────────────────────────────────────────────────── */
.modal-erro[b-pi6f13v38v] {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: #2d1215;
    border: 1px solid #6e2b2b;
    border-radius: 6px;
    color: #f85149;
    font-size: .85rem;
    padding: .65rem .85rem;
    margin-bottom: 1rem;
}

.modal-confirm-text[b-pi6f13v38v] {
    color: #8b949e;
    font-size: .9rem;
    margin-bottom: 1rem;
    line-height: 1.5;
}

    .modal-confirm-text strong[b-pi6f13v38v] {
        color: #e6edf3;
    }

/* ── Modal actions ────────────────────────────────────────────────────────── */
.modal-actions[b-pi6f13v38v] {
    display: flex;
    gap: .75rem;
    margin-top: 1.25rem;
}

.btn-cancelar[b-pi6f13v38v] {
    display: inline-flex;
    align-items: center;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: 1px solid #30363d;
    background: transparent;
    color: #8b949e;
    font-size: .875rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}

    .btn-cancelar:hover:not(:disabled)[b-pi6f13v38v] {
        background: #21262d;
        color: #e6edf3;
    }

    .btn-cancelar:disabled[b-pi6f13v38v] {
        opacity: .6;
        cursor: not-allowed;
    }

.btn-guardar[b-pi6f13v38v] {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: none;
    background: #238636;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
}

    .btn-guardar:hover:not(:disabled)[b-pi6f13v38v] {
        background: #2ea043;
    }

    .btn-guardar:disabled[b-pi6f13v38v] {
        opacity: .6;
        cursor: not-allowed;
    }

.btn-eliminar-confirm[b-pi6f13v38v] {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: none;
    background: #da3633;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
}

    .btn-eliminar-confirm:hover:not(:disabled)[b-pi6f13v38v] {
        background: #f85149;
    }

    .btn-eliminar-confirm:disabled[b-pi6f13v38v] {
        opacity: .6;
        cursor: not-allowed;
    }

/* ── Spinner inline ───────────────────────────────────────────────────────── */
.btn-spinner[b-pi6f13v38v] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255,255,255,.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin-b-pi6f13v38v .7s linear infinite;
}
/* /Components/Pages/Vodafone/AjustePropriaLinha.razor.rz.scp.css */
/* ── Página ───────────────────────────────────────────────────────────────── */
.ac-page[b-azbgajqza0] {
    padding: 2rem;
    max-width: 720px;
}

/* ── Cabeçalho ────────────────────────────────────────────────────────────── */
.ac-header[b-azbgajqza0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.ac-title[b-azbgajqza0] {
    font-size: 1.5rem;
    font-weight: 600;
    color: #e6edf3;
    margin: 0 0 .25rem;
}

.ac-sub[b-azbgajqza0] {
    font-size: .875rem;
    color: #8b949e;
    margin: 0;
}

/* ── Botão novo ───────────────────────────────────────────────────────────── */
.btn-novo[b-azbgajqza0] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: none;
    background: #238636;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
}

    .btn-novo:hover[b-azbgajqza0] {
        background: #2ea043;
    }

/* ── Estados ──────────────────────────────────────────────────────────────── */
.ac-estado[b-azbgajqza0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    color: #8b949e;
    font-size: .9rem;
    gap: .25rem;
}

.ac-estado-erro[b-azbgajqza0] {
    color: #f85149;
}

.ac-spinner[b-azbgajqza0] {
    width: 32px;
    height: 32px;
    border: 3px solid #30363d;
    border-top-color: #388bfd;
    border-radius: 50%;
    animation: spin-b-azbgajqza0 .7s linear infinite;
    margin-bottom: .75rem;
}

@keyframes spin-b-azbgajqza0 {
    to { transform: rotate(360deg); }
}

/* ── Tabela ───────────────────────────────────────────────────────────────── */
.ac-table-wrap[b-azbgajqza0] {
    border: 1px solid #30363d;
    border-radius: 8px;
    overflow: hidden;
}

.ac-table[b-azbgajqza0] {
    width: 100%;
    border-collapse: collapse;
    font-size: .875rem;
}

    .ac-table thead[b-azbgajqza0] {
        background: #161b22;
    }

    .ac-table th[b-azbgajqza0] {
        padding: .65rem 1rem;
        text-align: left;
        font-weight: 600;
        color: #8b949e;
        border-bottom: 1px solid #30363d;
        white-space: nowrap;
    }

    .ac-table tbody tr[b-azbgajqza0] {
        border-bottom: 1px solid #21262d;
        transition: background .12s;
    }

        .ac-table tbody tr:last-child[b-azbgajqza0] {
            border-bottom: none;
        }

        .ac-table tbody tr:hover[b-azbgajqza0] {
            background: #161b22;
        }

    .ac-table td[b-azbgajqza0] {
        padding: .7rem 1rem;
        color: #e6edf3;
        vertical-align: middle;
    }

.th-right[b-azbgajqza0]  { text-align: right  !important; }
.th-center[b-azbgajqza0] { text-align: center !important; }
.td-right[b-azbgajqza0]  { text-align: right; }
.td-center[b-azbgajqza0] { text-align: center; }

.badge-duracao[b-azbgajqza0] {
    display: inline-block;
    padding: .2rem .65rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    background: #1c3a5e;
    color: #79c0ff;
}

.badge-pct[b-azbgajqza0] {
    display: inline-block;
    padding: .2rem .65rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    background: #2d2208;
    color: #e3b341;
}

.td-ajuste[b-azbgajqza0] {
    font-family: 'Consolas', 'Fira Mono', monospace;
    font-size: .85rem;
    color: #56d364;
}

/* ── Coluna de ações ──────────────────────────────────────────────────────── */
.td-acoes[b-azbgajqza0] {
    width: 80px;
    white-space: nowrap;
}

.btn-acao[b-azbgajqza0] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
    font-size: .9rem;
    transition: background .15s, color .15s, border-color .15s;
}

.btn-editar[b-azbgajqza0] {
    color: #8b949e;
    border-color: #30363d;
}

    .btn-editar:hover[b-azbgajqza0] {
        background: #1c3a5e;
        color: #79c0ff;
        border-color: #1f6feb;
    }

.btn-eliminar[b-azbgajqza0] {
    color: #8b949e;
    border-color: #30363d;
    margin-left: .25rem;
}

    .btn-eliminar:hover[b-azbgajqza0] {
        background: #2d1215;
        color: #f85149;
        border-color: #6e2b2b;
    }

/* ── Modal overlay ────────────────────────────────────────────────────────── */
.modal-overlay[b-azbgajqza0] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .65);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 1rem;
    animation: fadeIn-b-azbgajqza0 .15s ease;
}

@keyframes fadeIn-b-azbgajqza0 {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.modal-card[b-azbgajqza0] {
    background: #161b22;
    border: 1px solid #30363d;
    border-radius: 10px;
    width: 100%;
    max-width: 420px;
    padding: 1.75rem;
    animation: slideUp-b-azbgajqza0 .18s ease;
}

.modal-card-sm[b-azbgajqza0] {
    max-width: 380px;
}

@keyframes slideUp-b-azbgajqza0 {
    from { transform: translateY(12px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

/* ── Modal header ─────────────────────────────────────────────────────────── */
.modal-header[b-azbgajqza0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.modal-title[b-azbgajqza0] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #e6edf3;
    margin: 0;
}

.modal-title-danger[b-azbgajqza0] {
    color: #f85149;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.modal-close[b-azbgajqza0] {
    background: none;
    border: none;
    color: #8b949e;
    font-size: 1rem;
    cursor: pointer;
    padding: .25rem;
    border-radius: 4px;
    transition: color .15s, background .15s;
}

    .modal-close:hover[b-azbgajqza0] {
        color: #e6edf3;
        background: #21262d;
    }

/* ── Modal form ───────────────────────────────────────────────────────────── */
.modal-row[b-azbgajqza0] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
}

.modal-field[b-azbgajqza0] {
    margin-bottom: 1rem;
}

.modal-label[b-azbgajqza0] {
    display: block;
    font-size: .8rem;
    font-weight: 500;
    color: #8b949e;
    margin-bottom: .35rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.modal-input[b-azbgajqza0] {
    width: 100%;
    background: #0d1117;
    border: 1px solid #30363d;
    border-radius: 6px;
    color: #e6edf3;
    font-size: .875rem;
    padding: .55rem .75rem;
    box-sizing: border-box;
    transition: border-color .15s;
    outline: none;
}

    .modal-input:focus[b-azbgajqza0] {
        border-color: #388bfd;
    }

/* ── Modal erro / confirm ─────────────────────────────────────────────────── */
.modal-erro[b-azbgajqza0] {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: #2d1215;
    border: 1px solid #6e2b2b;
    border-radius: 6px;
    color: #f85149;
    font-size: .85rem;
    padding: .65rem .85rem;
    margin-bottom: 1rem;
}

.modal-confirm-text[b-azbgajqza0] {
    color: #8b949e;
    font-size: .9rem;
    margin-bottom: 1rem;
    line-height: 1.5;
}

    .modal-confirm-text strong[b-azbgajqza0] {
        color: #e6edf3;
    }

/* ── Modal actions ────────────────────────────────────────────────────────── */
.modal-actions[b-azbgajqza0] {
    display: flex;
    gap: .75rem;
    margin-top: 1.25rem;
}

.btn-cancelar[b-azbgajqza0] {
    display: inline-flex;
    align-items: center;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: 1px solid #30363d;
    background: transparent;
    color: #8b949e;
    font-size: .875rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}

    .btn-cancelar:hover:not(:disabled)[b-azbgajqza0] {
        background: #21262d;
        color: #e6edf3;
    }

    .btn-cancelar:disabled[b-azbgajqza0] {
        opacity: .6;
        cursor: not-allowed;
    }

.btn-guardar[b-azbgajqza0] {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: none;
    background: #238636;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
}

    .btn-guardar:hover:not(:disabled)[b-azbgajqza0] {
        background: #2ea043;
    }

    .btn-guardar:disabled[b-azbgajqza0] {
        opacity: .6;
        cursor: not-allowed;
    }

.btn-eliminar-confirm[b-azbgajqza0] {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: none;
    background: #da3633;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
}

    .btn-eliminar-confirm:hover:not(:disabled)[b-azbgajqza0] {
        background: #f85149;
    }

    .btn-eliminar-confirm:disabled[b-azbgajqza0] {
        opacity: .6;
        cursor: not-allowed;
    }

/* ── Spinner inline ───────────────────────────────────────────────────────── */
.btn-spinner[b-azbgajqza0] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255,255,255,.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin-b-azbgajqza0 .7s linear infinite;
}
/* /Components/Pages/Vodafone/ObjetivosTrimstrais.razor.rz.scp.css */
/* ── Página ───────────────────────────────────────────────────────────────── */
.ot-page[b-94174i1c7b] {
    padding: 2rem;
    max-width: 1000px;
}

/* ── Cabeçalho ────────────────────────────────────────────────────────────── */
.ot-header[b-94174i1c7b] {
    margin-bottom: 1.5rem;
}

.ot-title[b-94174i1c7b] {
    font-size: 1.5rem;
    font-weight: 600;
    color: #e6edf3;
    margin: 0 0 .25rem;
}

.ot-sub[b-94174i1c7b] {
    font-size: .875rem;
    color: #8b949e;
    margin: 0;
}

/* ── Barra de filtro ──────────────────────────────────────────────────────── */
.ot-filter-bar[b-94174i1c7b] {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    margin-bottom: 1.75rem;
    flex-wrap: wrap;
}

.ot-filter-group[b-94174i1c7b] {
    display: flex;
    flex-direction: column;
    gap: .3rem;
}

.ot-filter-label[b-94174i1c7b] {
    font-size: .75rem;
    font-weight: 600;
    color: #8b949e;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.ot-filter-input[b-94174i1c7b] {
    background: #0d1117;
    border: 1px solid #30363d;
    border-radius: 6px;
    color: #e6edf3;
    font-size: .875rem;
    padding: .5rem .75rem;
    outline: none;
    transition: border-color .15s;
    min-width: 80px;
}

    .ot-filter-input:focus[b-94174i1c7b] {
        border-color: #388bfd;
    }

    .ot-filter-input option[b-94174i1c7b] {
        background: #161b22;
    }

.btn-carregar[b-94174i1c7b] {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .5rem 1rem;
    border-radius: 6px;
    border: 1px solid #30363d;
    background: #21262d;
    color: #e6edf3;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s, border-color .15s;
    height: 36px;
}

    .btn-carregar:hover:not(:disabled)[b-94174i1c7b] {
        background: #30363d;
        border-color: #8b949e;
    }

    .btn-carregar:disabled[b-94174i1c7b] {
        opacity: .5;
        cursor: not-allowed;
    }

/* ── Estados ──────────────────────────────────────────────────────────────── */
.ot-estado[b-94174i1c7b] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    color: #8b949e;
    font-size: .9rem;
    gap: .35rem;
    text-align: center;
}

.ot-estado-erro[b-94174i1c7b] {
    color: #f85149;
}

.ot-estado-icon[b-94174i1c7b] {
    font-size: 2rem;
    margin-bottom: .35rem;
}

.ot-spinner[b-94174i1c7b] {
    width: 32px;
    height: 32px;
    border: 3px solid #30363d;
    border-top-color: #388bfd;
    border-radius: 50%;
    animation: spin-b-94174i1c7b .7s linear infinite;
    margin-bottom: .75rem;
}

@keyframes spin-b-94174i1c7b {
    to { transform: rotate(360deg); }
}

/* ── Tabela ───────────────────────────────────────────────────────────────── */
.ot-table-wrap[b-94174i1c7b] {
    border: 1px solid #30363d;
    border-radius: 8px;
    overflow: hidden;
}

.ot-table[b-94174i1c7b] {
    width: 100%;
    border-collapse: collapse;
    font-size: .875rem;
}

    .ot-table thead[b-94174i1c7b] {
        background: #161b22;
    }

    .ot-table th[b-94174i1c7b] {
        padding: .65rem 1rem;
        text-align: left;
        font-weight: 600;
        color: #8b949e;
        border-bottom: 1px solid #30363d;
        white-space: nowrap;
    }

    .ot-table tbody tr[b-94174i1c7b] {
        border-bottom: 1px solid #21262d;
        transition: background .12s;
    }

        .ot-table tbody tr:last-child[b-94174i1c7b] {
            border-bottom: none;
        }

        .ot-table tbody tr:hover[b-94174i1c7b] {
            background: #161b22;
        }

    .ot-table td[b-94174i1c7b] {
        padding: .6rem 1rem;
        color: #e6edf3;
        vertical-align: middle;
    }

.th-right[b-94174i1c7b]  { text-align: right  !important; }
.th-center[b-94174i1c7b] { text-align: center !important; }
.td-right[b-94174i1c7b]  { text-align: right; }
.td-center[b-94174i1c7b] { text-align: center; }

.td-nome[b-94174i1c7b] {
    font-weight: 500;
    max-width: 220px;
}

.td-linha[b-94174i1c7b] {
    color: #8b949e;
    font-size: .82rem;
}

.td-readonly[b-94174i1c7b] {
    color: #8b949e;
    font-family: 'Consolas', 'Fira Mono', monospace;
    font-size: .83rem;
}

.td-null[b-94174i1c7b] {
    color: #484f58;
}

.pct-value[b-94174i1c7b] {
    font-family: 'Consolas', 'Fira Mono', monospace;
    color: #e6edf3;
}

/* ── Posicionamento ───────────────────────────────────────────────────────── */
.pos-value[b-94174i1c7b] {
    display: inline-block;
    font-family: 'Consolas', 'Fira Mono', monospace;
    font-weight: 600;
    padding: .1rem .5rem;
    border-radius: 999px;
}

/* < 100 %: prémio máximo cortado pela Figura 3 → destaque âmbar */
.pos-cortado[b-94174i1c7b] {
    background: #3d2000;
    color: #ffa94d;
}

/* = 100 %: apresentação neutra */
.pos-neutro[b-94174i1c7b] {
    color: #8b949e;
}

/* ── Input inline ─────────────────────────────────────────────────────────── */
.input-valor[b-94174i1c7b] {
    width: 110px;
    background: #0d1117;
    border: 1px solid #30363d;
    border-radius: 4px;
    color: #e6edf3;
    font-size: .875rem;
    font-family: 'Consolas', 'Fira Mono', monospace;
    padding: .3rem .5rem;
    text-align: right;
    outline: none;
    transition: border-color .15s;
}

    .input-valor:focus[b-94174i1c7b] {
        border-color: #388bfd;
    }

    .input-valor.input-erro[b-94174i1c7b] {
        border-color: #f85149;
        background: rgba(248, 81, 73, .05);
    }

/* ── Badges atingido ──────────────────────────────────────────────────────── */
.badge-sim[b-94174i1c7b],
.badge-nao[b-94174i1c7b],
.badge-pendente[b-94174i1c7b] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .2rem .6rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
}

.badge-sim[b-94174i1c7b] {
    background: #1b3a2d;
    color: #56d364;
}

.badge-nao[b-94174i1c7b] {
    background: #2d1215;
    color: #f85149;
}

.badge-pendente[b-94174i1c7b] {
    background: #21262d;
    color: #484f58;
}

/* ── Área de ações ────────────────────────────────────────────────────────── */
.ot-actions[b-94174i1c7b] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.25rem;
    flex-wrap: wrap;
}

.ot-msg[b-94174i1c7b] {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .875rem;
    padding: .5rem .85rem;
    border-radius: 6px;
    flex: 1;
    min-width: 0;
}

.ot-msg-erro[b-94174i1c7b] {
    background: #2d1215;
    border: 1px solid #6e2b2b;
    color: #f85149;
}

.ot-msg-sucesso[b-94174i1c7b] {
    background: #1b3a2d;
    border: 1px solid #2ea043;
    color: #56d364;
}

.btn-guardar[b-94174i1c7b] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem 1.25rem;
    border-radius: 6px;
    border: none;
    background: #238636;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
    white-space: nowrap;
}

    .btn-guardar:hover:not(:disabled)[b-94174i1c7b] {
        background: #2ea043;
    }

    .btn-guardar:disabled[b-94174i1c7b] {
        opacity: .6;
        cursor: not-allowed;
    }

/* ── Botão calcular prémios ───────────────────────────────────────────────── */
.ot-filter-spacer[b-94174i1c7b] {
    flex: 1;
}

.btn-calcular[b-94174i1c7b] {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .5rem 1rem;
    border-radius: 6px;
    border: 1px solid #1f6feb;
    background: rgba(31, 111, 235, .12);
    color: #388bfd;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
    white-space: nowrap;
    height: 36px;
}

    .btn-calcular:hover:not(:disabled)[b-94174i1c7b] {
        background: rgba(31, 111, 235, .22);
        border-color: #388bfd;
        color: #79c0ff;
    }

    .btn-calcular:disabled[b-94174i1c7b] {
        opacity: .5;
        cursor: not-allowed;
    }

/* ── Modal apuramento ─────────────────────────────────────────────────────── */
.modal-overlay[b-94174i1c7b] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .65);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 1rem;
    animation: fadeIn-b-94174i1c7b .15s ease;
}

@keyframes fadeIn-b-94174i1c7b {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.modal-card[b-94174i1c7b] {
    background: #161b22;
    border: 1px solid #30363d;
    border-radius: 10px;
    width: 100%;
    max-width: 440px;
    padding: 1.75rem;
    animation: slideUp-b-94174i1c7b .18s ease;
}

@keyframes slideUp-b-94174i1c7b {
    from { transform: translateY(12px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

.modal-header[b-94174i1c7b] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.modal-title[b-94174i1c7b] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #e6edf3;
    margin: 0;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.modal-close[b-94174i1c7b] {
    background: none;
    border: none;
    color: #8b949e;
    font-size: 1rem;
    cursor: pointer;
    padding: .25rem;
    border-radius: 4px;
    transition: color .15s, background .15s;
}

    .modal-close:hover:not(:disabled)[b-94174i1c7b] {
        color: #e6edf3;
        background: #21262d;
    }

    .modal-close:disabled[b-94174i1c7b] {
        opacity: .4;
        cursor: not-allowed;
    }

.modal-confirm-text[b-94174i1c7b] {
    color: #8b949e;
    font-size: .9rem;
    margin-bottom: 1.25rem;
    line-height: 1.6;
}

    .modal-confirm-text strong[b-94174i1c7b] {
        color: #e6edf3;
    }

.modal-erro[b-94174i1c7b] {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: #2d1215;
    border: 1px solid #6e2b2b;
    border-radius: 6px;
    color: #f85149;
    font-size: .85rem;
    padding: .65rem .85rem;
    margin-bottom: 1rem;
}

.modal-sucesso[b-94174i1c7b] {
    display: flex;
    align-items: center;
    gap: .6rem;
    background: #1b3a2d;
    border: 1px solid #2ea043;
    border-radius: 6px;
    color: #56d364;
    font-size: .9rem;
    padding: .75rem .85rem;
    margin-bottom: 1rem;
}

.modal-actions[b-94174i1c7b] {
    display: flex;
    gap: .75rem;
    margin-top: .5rem;
}

.btn-cancelar[b-94174i1c7b] {
    display: inline-flex;
    align-items: center;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: 1px solid #30363d;
    background: transparent;
    color: #8b949e;
    font-size: .875rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}

    .btn-cancelar:hover:not(:disabled)[b-94174i1c7b] {
        background: #21262d;
        color: #e6edf3;
    }

    .btn-cancelar:disabled[b-94174i1c7b] {
        opacity: .6;
        cursor: not-allowed;
    }

.btn-apurar[b-94174i1c7b] {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: none;
    background: #1f6feb;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
}

    .btn-apurar:hover:not(:disabled)[b-94174i1c7b] {
        background: #388bfd;
    }

    .btn-apurar:disabled[b-94174i1c7b] {
        opacity: .6;
        cursor: not-allowed;
    }

/* ── Spinners ─────────────────────────────────────────────────────────────── */
.btn-spinner[b-94174i1c7b] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255,255,255,.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin-b-94174i1c7b .7s linear infinite;
}

.btn-spinner-dark[b-94174i1c7b] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid #30363d;
    border-top-color: #8b949e;
    border-radius: 50%;
    animation: spin-b-94174i1c7b .7s linear infinite;
}
/* /Components/Pages/Vodafone/PlanoComissional.razor.rz.scp.css */
/* ── Página ───────────────────────────────────────────────────────────────── */
.pc-page[b-7hu05nxsb2] {
    padding: 2rem;
    max-width: 960px;
}

/* ── Cabeçalho ────────────────────────────────────────────────────────────── */
.pc-header[b-7hu05nxsb2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.pc-title[b-7hu05nxsb2] {
    font-size: 1.5rem;
    font-weight: 600;
    color: #e6edf3;
    margin: 0 0 .25rem;
}

.pc-sub[b-7hu05nxsb2] {
    font-size: .875rem;
    color: #8b949e;
    margin: 0;
}

/* ── Botão novo ───────────────────────────────────────────────────────────── */
.btn-novo[b-7hu05nxsb2] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: none;
    background: #238636;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
}

    .btn-novo:hover[b-7hu05nxsb2] {
        background: #2ea043;
    }

/* ── Estados (loading / vazio / erro) ────────────────────────────────────── */
.pc-estado[b-7hu05nxsb2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    color: #8b949e;
    font-size: .9rem;
    gap: .25rem;
}

.pc-estado-erro[b-7hu05nxsb2] {
    color: #f85149;
}

.pc-spinner[b-7hu05nxsb2] {
    width: 32px;
    height: 32px;
    border: 3px solid #30363d;
    border-top-color: #388bfd;
    border-radius: 50%;
    animation: spin-b-7hu05nxsb2 .7s linear infinite;
    margin-bottom: .75rem;
}

@keyframes spin-b-7hu05nxsb2 {
    to { transform: rotate(360deg); }
}

/* ── Tabela ───────────────────────────────────────────────────────────────── */
.pc-table-wrap[b-7hu05nxsb2] {
    border: 1px solid #30363d;
    border-radius: 8px;
    overflow: hidden;
}

.pc-table[b-7hu05nxsb2] {
    width: 100%;
    border-collapse: collapse;
    font-size: .875rem;
}

    .pc-table thead[b-7hu05nxsb2] {
        background: #161b22;
    }

    .pc-table th[b-7hu05nxsb2] {
        padding: .65rem 1rem;
        text-align: left;
        font-weight: 600;
        color: #8b949e;
        border-bottom: 1px solid #30363d;
        white-space: nowrap;
    }

    .pc-table tbody tr[b-7hu05nxsb2] {
        border-bottom: 1px solid #21262d;
        transition: background .12s;
    }

        .pc-table tbody tr:last-child[b-7hu05nxsb2] {
            border-bottom: none;
        }

        .pc-table tbody tr:hover[b-7hu05nxsb2] {
            background: #161b22;
        }

    .pc-table td[b-7hu05nxsb2] {
        padding: .7rem 1rem;
        color: #e6edf3;
        vertical-align: middle;
    }

.th-center[b-7hu05nxsb2] { text-align: center !important; }
.th-right[b-7hu05nxsb2]  { text-align: right  !important; }
.td-center[b-7hu05nxsb2] { text-align: center; }
.td-right[b-7hu05nxsb2]  { text-align: right; }

.td-oferta[b-7hu05nxsb2] {
    color: #79c0ff;
    font-size: .85rem;
}

.td-upfront[b-7hu05nxsb2] {
    font-family: 'Consolas', 'Fira Mono', monospace;
    font-size: .85rem;
    color: #56d364;
}

.td-null[b-7hu05nxsb2] {
    color: #484f58;
}

/* ── Badges ───────────────────────────────────────────────────────────────── */
.badge-receita[b-7hu05nxsb2] {
    display: inline-block;
    padding: .2rem .6rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 600;
    background: #1c3a5e;
    color: #79c0ff;
}

.badge-obj[b-7hu05nxsb2] {
    display: inline-block;
    padding: .2rem .6rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 600;
    background: #2d2208;
    color: #e3b341;
}

/* ── Coluna de ações ──────────────────────────────────────────────────────── */
.td-acoes[b-7hu05nxsb2] {
    width: 80px;
    white-space: nowrap;
}

.btn-acao[b-7hu05nxsb2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
    font-size: .9rem;
    transition: background .15s, color .15s, border-color .15s;
}

.btn-editar[b-7hu05nxsb2] {
    color: #8b949e;
    border-color: #30363d;
}

    .btn-editar:hover[b-7hu05nxsb2] {
        background: #1c3a5e;
        color: #79c0ff;
        border-color: #1f6feb;
    }

.btn-eliminar[b-7hu05nxsb2] {
    color: #8b949e;
    border-color: #30363d;
    margin-left: .25rem;
}

    .btn-eliminar:hover[b-7hu05nxsb2] {
        background: #2d1215;
        color: #f85149;
        border-color: #6e2b2b;
    }

/* ── Modal overlay ────────────────────────────────────────────────────────── */
.modal-overlay[b-7hu05nxsb2] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .65);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 1rem;
    animation: fadeIn-b-7hu05nxsb2 .15s ease;
}

@keyframes fadeIn-b-7hu05nxsb2 {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.modal-card[b-7hu05nxsb2] {
    background: #161b22;
    border: 1px solid #30363d;
    border-radius: 10px;
    width: 100%;
    max-width: 460px;
    padding: 1.75rem;
    animation: slideUp-b-7hu05nxsb2 .18s ease;
}

.modal-card-sm[b-7hu05nxsb2] {
    max-width: 400px;
}

@keyframes slideUp-b-7hu05nxsb2 {
    from { transform: translateY(12px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

/* ── Modal header ─────────────────────────────────────────────────────────── */
.modal-header[b-7hu05nxsb2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.modal-title[b-7hu05nxsb2] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #e6edf3;
    margin: 0;
}

.modal-title-danger[b-7hu05nxsb2] {
    color: #f85149;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.modal-close[b-7hu05nxsb2] {
    background: none;
    border: none;
    color: #8b949e;
    font-size: 1rem;
    cursor: pointer;
    padding: .25rem;
    border-radius: 4px;
    transition: color .15s, background .15s;
}

    .modal-close:hover[b-7hu05nxsb2] {
        color: #e6edf3;
        background: #21262d;
    }

/* ── Modal form ───────────────────────────────────────────────────────────── */
.modal-field[b-7hu05nxsb2] {
    margin-bottom: 1rem;
}

.modal-label[b-7hu05nxsb2] {
    display: block;
    font-size: .8rem;
    font-weight: 500;
    color: #8b949e;
    margin-bottom: .35rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.modal-opcional[b-7hu05nxsb2] {
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    font-size: .75rem;
}

.modal-input[b-7hu05nxsb2] {
    width: 100%;
    background: #0d1117;
    border: 1px solid #30363d;
    border-radius: 6px;
    color: #e6edf3;
    font-size: .875rem;
    padding: .55rem .75rem;
    box-sizing: border-box;
    transition: border-color .15s;
    outline: none;
}

    .modal-input:focus[b-7hu05nxsb2] {
        border-color: #388bfd;
    }

    .modal-input option[b-7hu05nxsb2] {
        background: #161b22;
    }

/* ── Modal erro ───────────────────────────────────────────────────────────── */
.modal-erro[b-7hu05nxsb2] {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: #2d1215;
    border: 1px solid #6e2b2b;
    border-radius: 6px;
    color: #f85149;
    font-size: .85rem;
    padding: .65rem .85rem;
    margin-bottom: 1rem;
}

/* ── Modal confirm text ───────────────────────────────────────────────────── */
.modal-confirm-text[b-7hu05nxsb2] {
    color: #8b949e;
    font-size: .9rem;
    margin-bottom: 1rem;
    line-height: 1.5;
}

    .modal-confirm-text strong[b-7hu05nxsb2] {
        color: #e6edf3;
    }

/* ── Modal actions ────────────────────────────────────────────────────────── */
.modal-actions[b-7hu05nxsb2] {
    display: flex;
    gap: .75rem;
    margin-top: 1.25rem;
}

.btn-cancelar[b-7hu05nxsb2] {
    display: inline-flex;
    align-items: center;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: 1px solid #30363d;
    background: transparent;
    color: #8b949e;
    font-size: .875rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}

    .btn-cancelar:hover:not(:disabled)[b-7hu05nxsb2] {
        background: #21262d;
        color: #e6edf3;
    }

    .btn-cancelar:disabled[b-7hu05nxsb2] {
        opacity: .6;
        cursor: not-allowed;
    }

.btn-guardar[b-7hu05nxsb2] {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: none;
    background: #238636;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
}

    .btn-guardar:hover:not(:disabled)[b-7hu05nxsb2] {
        background: #2ea043;
    }

    .btn-guardar:disabled[b-7hu05nxsb2] {
        opacity: .6;
        cursor: not-allowed;
    }

.btn-eliminar-confirm[b-7hu05nxsb2] {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: none;
    background: #da3633;
    color: #fff;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
}

    .btn-eliminar-confirm:hover:not(:disabled)[b-7hu05nxsb2] {
        background: #f85149;
    }

    .btn-eliminar-confirm:disabled[b-7hu05nxsb2] {
        opacity: .6;
        cursor: not-allowed;
    }

/* ── Spinner inline ───────────────────────────────────────────────────────── */
.btn-spinner[b-7hu05nxsb2] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255,255,255,.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin-b-7hu05nxsb2 .7s linear infinite;
}
