/* =============================================
   VELORA ADMIN — Estilos específicos do painel
   Variáveis herdadas de site.css
   ============================================= */

/* MENU ACTIVE — ícone filled com destaque */

.velora-menu a.active {
    background: var(--vl-rose-soft) !important;
    color: var(--vl-rose-dark) !important;
    font-weight: 700;
}

.velora-menu a.active i {
    color: var(--vl-rose-dark) !important;
    font-size: 17px !important;
}

/* SIDEBAR — badge Admin */

.admin-sidebar-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(201, 130, 112, 0.14);
    color: var(--vl-rose-dark);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    border: 1px solid rgba(201, 130, 112, 0.25);
}

/* TOPBAR — avatar admin */

.admin-avatar-icon {
    background: linear-gradient(135deg, var(--vl-rose), #d99a86) !important;
    color: white !important;
    font-size: 15px;
}

/* PAGE BADGE */

.admin-page-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(247, 230, 225, 0.72);
    color: var(--vl-rose-dark);
    font-size: 12px;
    font-weight: 700;
    border: 1px solid rgba(201, 130, 112, 0.22);
}

/* KPI — variações de cor do ícone */

.kpi-green .bi,
.kpi-green {
    background: rgba(47, 155, 97, 0.12) !important;
    color: #1e7a49 !important;
}

.kpi-red .bi,
.kpi-red {
    background: rgba(185, 65, 65, 0.12) !important;
    color: #b94141 !important;
}

.kpi-amber .bi,
.kpi-amber {
    background: rgba(200, 140, 40, 0.12) !important;
    color: #a06b10 !important;
}

/* SUCCESS BAR */

.admin-success-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 14px;
    background: rgba(47, 155, 97, 0.1);
    border: 1px solid rgba(47, 155, 97, 0.25);
    color: #1e7a49;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
}

/* FILTERS */

.admin-filters-card {
    padding: 14px 18px;
    margin-bottom: 18px;
    border-radius: 18px !important;
}

.admin-filters {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.admin-filter-search {
    flex: 1;
    min-width: 220px;
    display: flex;
    align-items: center;
    gap: 10px;
    height: 46px;
    padding: 0 16px;
    border: 1px solid var(--vl-line);
    border-radius: 12px;
    background: white;
    font-size: 14px;
    color: var(--vl-muted);
}

.admin-filter-search input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 14px;
    color: var(--vl-text);
}

.admin-filter-select {
    height: 46px;
    min-width: 180px;
    padding: 0 14px;
    border: 1px solid var(--vl-line);
    border-radius: 12px;
    background: white;
    font-size: 14px;
    color: var(--vl-text);
    outline: none;
    cursor: pointer;
}

.admin-btn-filter {
    height: 46px;
    padding: 0 18px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--vl-rose), #d99a86);
    color: white;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: 0.2s ease;
}

.admin-btn-filter:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(201, 130, 112, 0.28);
}

/* TABLES */

.admin-table-card {
    padding: 0 !important;
    overflow: hidden;
    border-radius: 22px !important;
}

.admin-table-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px;
    border-bottom: 1px solid var(--vl-line);
    gap: 14px;
    flex-wrap: wrap;
}

.admin-total {
    font-size: 14px;
    color: var(--vl-muted);
    font-weight: 600;
}

.admin-plan-label {
    font-size: 13px;
    color: var(--vl-rose-dark);
    display: flex;
    align-items: center;
    gap: 6px;
}

.admin-table-wrap {
    overflow-x: auto;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.admin-table thead {
    background: #fbf6f2;
}

.admin-table th {
    padding: 12px 18px;
    text-align: left;
    font-size: 12px;
    font-weight: 700;
    color: var(--vl-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid var(--vl-line);
    white-space: nowrap;
}

.admin-table td {
    padding: 14px 18px;
    border-bottom: 1px solid #f5ede8;
    vertical-align: middle;
}

.admin-table tbody tr:last-child td {
    border-bottom: none;
}

.admin-table tbody tr:hover {
    background: #fdf8f5;
}

.admin-table tbody tr.row-blocked {
    opacity: 0.65;
    background: #fff8f8;
}

.admin-table tbody tr.row-inactive {
    opacity: 0.55;
}

/* CELL */

.admin-cell-main {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-cell-main > div:not(.admin-entity-icon) {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.admin-cell-main small {
    font-size: 12px;
    color: var(--vl-muted);
}

.admin-entity-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--vl-rose-soft);
    color: var(--vl-rose-dark);
    display: grid;
    place-items: center;
    font-size: 15px;
    flex-shrink: 0;
}

.user-icon {
    background: linear-gradient(135deg, var(--vl-rose-soft), #ffe8e0);
    color: var(--vl-rose-dark);
    font-weight: 800;
    font-size: 14px;
    border-radius: 50%;
}

.text-muted {
    color: var(--vl-muted);
}

.text-center {
    text-align: center;
}

.text-amber {
    color: #a06b10;
    font-weight: 700;
}

/* BADGES */

.admin-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.badge-ativa,
.badge-ativo {
    background: rgba(47, 155, 97, 0.12);
    color: #1e7a49;
}

.badge-trial {
    background: rgba(200, 140, 40, 0.12);
    color: #a06b10;
}

.badge-vencida {
    background: rgba(185, 65, 65, 0.1);
    color: #b94141;
}

.badge-bloqueado {
    background: rgba(185, 65, 65, 0.1);
    color: #b94141;
}

.badge-inativo {
    background: rgba(123, 106, 100, 0.1);
    color: var(--vl-muted);
}

.badge-pendente {
    background: rgba(200, 140, 40, 0.12);
    color: #a06b10;
}

.badge-cancelamentoagendado {
    background: rgba(216, 115, 119, 0.12);
    color: #b94141;
}

.badge-cancelada {
    background: rgba(123, 106, 100, 0.14);
    color: #5a4a44;
}

.admin-perfil-badge {
    display: inline-flex;
    padding: 3px 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    background: rgba(201, 130, 112, 0.1);
    color: var(--vl-rose-dark);
}

.admin-count-badge {
    display: inline-flex;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--vl-rose-soft);
    color: var(--vl-rose-dark);
    font-size: 12px;
    font-weight: 700;
    align-items: center;
    justify-content: center;
}

/* ACTION BUTTONS */

.admin-row-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.admin-btn-danger,
.admin-btn-success,
.admin-btn-ghost {
    height: 34px;
    padding: 0 12px;
    border-radius: 9px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: 0.2s ease;
    text-decoration: none;
    white-space: nowrap;
    border: none;
    font-family: inherit;
}

.admin-btn-danger {
    background: rgba(185, 65, 65, 0.1);
    color: #b94141;
    border: 1px solid rgba(185, 65, 65, 0.2);
}

.admin-btn-danger:hover {
    background: rgba(185, 65, 65, 0.18);
}

.admin-btn-success {
    background: rgba(47, 155, 97, 0.1);
    color: #1e7a49;
    border: 1px solid rgba(47, 155, 97, 0.2);
}

.admin-btn-success:hover {
    background: rgba(47, 155, 97, 0.18);
}

.admin-btn-ghost {
    background: rgba(255, 255, 255, 0.8);
    color: var(--vl-muted);
    border: 1px solid var(--vl-line);
}

.admin-btn-ghost:hover {
    background: var(--vl-rose-soft);
    color: var(--vl-rose-dark);
    border-color: rgba(201, 130, 112, 0.3);
}

/* ADMIN FIELD ERROR */

.admin-field-error {
    font-size: 12px;
    color: #b94141;
    margin-top: 4px;
}

/* DASHBOARD — mini table */

.admin-mini-table {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.admin-mini-header,
.admin-mini-row {
    display: grid;
    grid-template-columns: 1.8fr 1fr 100px 90px;
    gap: 12px;
    padding: 10px 0;
    align-items: center;
    font-size: 13px;
}

.admin-mini-header {
    font-size: 11px;
    font-weight: 700;
    color: var(--vl-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid var(--vl-line);
    padding-bottom: 10px;
    margin-bottom: 4px;
}

.admin-mini-row {
    border-bottom: 1px solid #f5ede8;
    color: var(--vl-text);
}

.admin-mini-row:last-child {
    border-bottom: none;
}

/* DASHBOARD — status list */

.admin-status-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 24px;
}

.admin-status-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
}

.admin-status-item span {
    flex: 1;
    color: var(--vl-muted);
}

.admin-status-item strong {
    font-size: 16px;
    color: var(--vl-text);
}

.admin-status-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.dot-green { background: #2F9B61; }
.dot-red { background: #b94141; }
.dot-rose { background: var(--vl-rose); }
.dot-amber { background: #e6a020; }
.dot-muted { background: var(--vl-nude); }

/* DASHBOARD — quick links */

.admin-quick-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 18px;
    border-top: 1px solid var(--vl-line);
}

.admin-quick-btn {
    height: 42px;
    border-radius: 12px;
    border: 1px solid var(--vl-line);
    background: #fffaf7;
    color: var(--vl-rose-dark);
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    transition: 0.2s ease;
}

.admin-quick-btn:hover {
    background: var(--vl-rose-soft);
    border-color: rgba(201, 130, 112, 0.35);
}

/* LOGIN — badge admin */

.admin-login-badge {
    background: rgba(201, 130, 112, 0.15);
    color: var(--vl-rose-dark);
    border: 1px solid rgba(201, 130, 112, 0.3);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* MODAL — reutiliza proc-modal-overlay do Procedimentos */
/* Os estilos de .proc-modal-overlay, .proc-modal, etc.
   são do Procedimentos.css e não afetam esta área pois
   o admin não carrega Procedimentos.css.
   Declaramos aqui para uso nas views Admin. */

.proc-modal-overlay {
    position: fixed;
    inset: 0;
    backdrop-filter: blur(8px);
    background: rgba(45, 33, 30, 0.38);
    z-index: 1000; /* precisa ficar acima de qualquer conteúdo/topbar da página admin */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.proc-modal-overlay.active {
    opacity: 1;
    pointer-events: all;
}

.proc-modal {
    width: 100%;
    max-width: 860px;
    max-height: 90vh;
    background: rgba(255, 255, 255, 0.97);
    border-radius: 24px;
    border: 1px solid var(--vl-line);
    box-shadow: 0 32px 80px rgba(45, 33, 30, 0.22);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transform: scale(0.96) translateY(14px);
    transition: transform 0.3s ease;
}

.proc-modal-overlay.active .proc-modal {
    transform: none;
}

.proc-modal-sm {
    max-width: 480px;
}

.proc-modal-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 22px 28px 18px;
    border-bottom: 1px solid var(--vl-line);
    flex-shrink: 0;
    gap: 16px;
}

.proc-modal-head h2 {
    margin: 6px 0 0;
    font-size: 22px;
    font-weight: 500;
}

.close-proc-modal {
    border: none;
    background: transparent;
    color: var(--vl-muted);
    font-size: 28px;
    cursor: pointer;
    line-height: 1;
    padding: 0;
    transition: color 0.2s ease;
    flex-shrink: 0;
    margin-top: 4px;
}

.close-proc-modal:hover {
    color: var(--vl-rose-dark);
}

.proc-modal-body {
    overflow-y: auto;
    padding: 22px 28px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.proc-modal-foot {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 16px 28px;
    border-top: 1px solid var(--vl-line);
    flex-shrink: 0;
}

.email-modal-body {
    gap: 18px;
}

/* !important sobrescreve o fundo branco padrão de .form-group/.admin-input para deixar
   claro visualmente que o campo é somente leitura */
.input-readonly {
    background: rgba(247, 230, 225, 0.5) !important;
    color: var(--vl-rose-dark) !important;
    font-weight: 600;
    cursor: default;
}

/* FORM GROUP — reutiliza padrão do Procedimentos */

.form-badge {
    display: inline-flex;
    margin-bottom: 6px;
    padding: 7px 13px;
    border-radius: 999px;
    background: var(--vl-rose-soft);
    color: var(--vl-rose-dark);
    font-weight: 700;
    font-size: 12px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.form-group label {
    color: var(--vl-text);
    font-weight: 700;
    font-size: 14px;
}

.form-group input,
.form-group select,
.form-group textarea {
    border: 1px solid rgba(226, 200, 185, 0.6);
    background: rgba(255, 255, 255, 0.9);
    border-radius: 12px;
    height: 48px;
    padding: 0 16px;
    color: var(--vl-text);
    outline: none;
    font-size: 14px;
    font-family: inherit;
    transition: all 0.25s ease;
}

.form-group input:focus,
.form-group select:focus {
    border-color: rgba(201, 130, 112, 0.7);
    box-shadow: 0 0 0 3px rgba(201, 130, 112, 0.1);
}

.btn-primary {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    border-radius: 12px;
    padding: 0 20px;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 700;
    font-size: 14px;
    background: linear-gradient(135deg, var(--vl-rose), #d99a86);
    color: white;
    box-shadow: 0 12px 28px rgba(201, 130, 112, 0.22);
    font-family: inherit;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(201, 130, 112, 0.28);
}

.btn-outline {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 12px;
    padding: 0 20px;
    border: 1px solid var(--vl-line);
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 700;
    font-size: 14px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--vl-rose-dark);
    font-family: inherit;
}

.btn-outline:hover {
    background: var(--vl-rose-soft);
}

/* ADMIN BTN PRIMARY */

.admin-btn-primary {
    height: 42px;
    padding: 0 18px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--vl-rose), #d99a86);
    color: white;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: 0.2s ease;
    text-decoration: none;
    font-family: inherit;
    box-shadow: 0 8px 20px rgba(201, 130, 112, 0.22);
}

.admin-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(201, 130, 112, 0.32);
    color: white;
}

/* ADMIN ERROR BAR */

.admin-error-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 14px;
    background: rgba(185, 65, 65, 0.08);
    border: 1px solid rgba(185, 65, 65, 0.22);
    color: #b94141;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
}

/* TABLE ROW ALERTS */

.admin-table tbody tr.row-alert {
    background: rgba(185, 65, 65, 0.04);
}

.admin-table tbody tr.row-alert td {
    border-bottom-color: rgba(185, 65, 65, 0.1);
}

.admin-table tbody tr.row-trial {
    background: rgba(200, 140, 40, 0.04);
}

.text-danger {
    color: #b94141;
    font-weight: 700;
}

/* KPI ALERT STATE */

.velora-kpi.kpi-alert {
    border: 1.5px solid rgba(200, 140, 40, 0.45) !important;
    background: linear-gradient(135deg, #fffdf8, #fffaf0) !important;
}

/* NOTIF PANEL — ícone âmbar do item de solicitação pendente (gerado via JS em _LayoutAdmin) */

.admin-notif-icon-amber {
    background: rgba(230, 160, 32, 0.16);
    color: #a06b10;
}

/* DASHBOARD — pending solicitations banner */

.dash-pending-banner {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 22px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(230, 160, 32, 0.1), rgba(230, 160, 32, 0.06));
    border: 1.5px solid rgba(230, 160, 32, 0.4);
    margin-bottom: 22px;
    text-decoration: none;
    color: inherit;
    transition: 0.2s ease;
}

.dash-pending-banner:hover {
    background: linear-gradient(135deg, rgba(230, 160, 32, 0.15), rgba(230, 160, 32, 0.09));
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(230, 160, 32, 0.15);
}

.dash-pending-banner > div:not(.dash-pending-icon) {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.dash-pending-banner strong {
    font-size: 15px;
    font-weight: 700;
    color: #7a5210;
    display: block;
}

.dash-pending-banner > div > span {
    font-size: 13px;
    color: #a06b10;
}

.dash-pending-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: rgba(230, 160, 32, 0.18);
    color: #a06b10;
    font-size: 22px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    flex: unset;
}

.dash-pending-arrow {
    font-size: 13px;
    font-weight: 700;
    color: #a06b10;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* DASHBOARD — alert button in heading */

.dash-alert-btn {
    height: 40px;
    padding: 0 16px;
    border-radius: 12px;
    background: rgba(230, 160, 32, 0.14);
    border: 1.5px solid rgba(230, 160, 32, 0.4);
    color: #a06b10;
    font-size: 13px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    transition: 0.2s ease;
    animation: pulse-amber 2s infinite;
}

.dash-alert-btn:hover {
    background: rgba(230, 160, 32, 0.22);
    color: #7a5210;
}

/* anel de sombra que expande e desaparece, chamando atenção para pendências não resolvidas */
@keyframes pulse-amber {
    0%, 100% { box-shadow: 0 0 0 0 rgba(230, 160, 32, 0.35); }
    50%       { box-shadow: 0 0 0 6px rgba(230, 160, 32, 0); }
}

/* DASHBOARD — solicitação item */

.dash-sol-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #f5ede8;
}

.dash-sol-item:last-child {
    border-bottom: none;
}

/* QUICK LINK ALERT */

.admin-quick-btn-alert {
    background: rgba(230, 160, 32, 0.1) !important;
    border-color: rgba(230, 160, 32, 0.35) !important;
    color: #a06b10 !important;
    font-weight: 800;
}

.admin-quick-btn-alert:hover {
    background: rgba(230, 160, 32, 0.18) !important;
}

/* ══════════════════════════════════════════════════════════════
   CLASSES FALTANTES — HannaBase e outros
   ══════════════════════════════════════════════════════════════ */

.admin-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.admin-label {
    color: var(--vl-text);
    font-weight: 700;
    font-size: 14px;
}

.admin-input {
    border: 1px solid rgba(226, 200, 185, 0.6);
    background: rgba(255, 255, 255, 0.9);
    border-radius: 12px;
    height: 48px;
    padding: 0 16px;
    color: var(--vl-text);
    outline: none;
    font-size: 14px;
    font-family: inherit;
    transition: all 0.25s ease;
    width: 100%;
    box-sizing: border-box;
}

.admin-input:focus {
    border-color: rgba(201, 130, 112, 0.7);
    box-shadow: 0 0 0 3px rgba(201, 130, 112, 0.1);
}

textarea.admin-input {
    height: auto;
    padding: 12px 16px;
    resize: vertical;
    line-height: 1.6;
}

.admin-hint {
    font-size: 12px;
    color: var(--vl-muted);
    line-height: 1.5;
    margin-top: 2px;
}

.admin-validation {
    font-size: 12px;
    color: #b94141;
    margin-top: 2px;
}

.admin-btn-secondary {
    height: 42px;
    padding: 0 18px;
    border: 1px solid var(--vl-line);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--vl-rose-dark);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-family: inherit;
    transition: 0.2s ease;
    white-space: nowrap;
}

.admin-btn-secondary:hover {
    background: var(--vl-rose-soft);
    border-color: rgba(201, 130, 112, 0.35);
    color: var(--vl-rose-dark);
}

.admin-btn-edit {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    border: 1px solid var(--vl-line);
    background: rgba(255, 255, 255, 0.8);
    color: var(--vl-muted);
    font-size: 13px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: 0.2s ease;
}

.admin-btn-edit:hover {
    background: var(--vl-rose-soft);
    color: var(--vl-rose-dark);
    border-color: rgba(201, 130, 112, 0.3);
}

.admin-alert-success {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 14px;
    background: rgba(47, 155, 97, 0.1);
    border: 1px solid rgba(47, 155, 97, 0.25);
    color: #1e7a49;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
}

/* ══════════════════════════════════════════════════════════════
   KPI CARDS — VISUAL PREMIUM
   Reforça (com !important) os KPIs de site.css só nas telas admin,
   com números maiores e mais destaque que o padrão do painel da clínica.
   ══════════════════════════════════════════════════════════════ */

/* Mais respiro entre os cards de KPI — só nas telas admin (não mexe no .velora-kpis
   do dashboard da clínica, que usa o gap padrão de site.css) */
.velora-kpis {
    gap: 28px !important;
}

.velora-kpi {
    min-height: 160px !important;
    padding: 24px !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Card "Receita mensal" — mesmo ícone/conteúdo, moldura e fundo com um toque rosé-gold e
   hover mais evidente para destacá-lo como o indicador financeiro principal do painel. */
.velora-kpi.kpi-premium {
    position: relative;
    overflow: hidden;
    border: 1.5px solid rgba(201, 130, 112, 0.35) !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(253, 241, 231, 0.92)) !important;
    box-shadow: 0 14px 34px rgba(201, 130, 112, 0.14) !important;
}

.velora-kpi.kpi-premium::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #C98270, #E4C08A, #C98270);
}

.velora-kpi.kpi-premium:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 20px 48px rgba(201, 130, 112, 0.26), 0 0 0 1px rgba(228, 192, 138, 0.35) !important;
    border-color: rgba(228, 192, 138, 0.55) !important;
}

.velora-kpi:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(45, 33, 30, 0.1) !important;
}

.velora-kpi span {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--vl-muted) !important;
    margin-bottom: 6px !important;
}

.velora-kpi h3 {
    font-size: 36px !important;
    font-weight: 700 !important;
    color: var(--vl-text) !important;
    margin: 0 0 6px !important;
    line-height: 1.1 !important;
}

.velora-kpi p {
    font-size: 12px !important;
    color: var(--vl-muted) !important;
    margin: 0 !important;
}

.velora-kpi-icon {
    width: 50px !important;
    height: 50px !important;
    font-size: 20px !important;
    border-radius: 14px !important;
    background: var(--vl-rose-soft) !important;
    color: var(--vl-rose-dark) !important;
}

.kpi-green .velora-kpi-icon,
.velora-kpi .kpi-green {
    background: rgba(47, 155, 97, 0.12) !important;
    color: #1e7a49 !important;
}

.velora-kpi .kpi-red,
.kpi-red .velora-kpi-icon {
    background: rgba(185, 65, 65, 0.12) !important;
    color: #b94141 !important;
}

.velora-kpi .kpi-amber,
.kpi-amber .velora-kpi-icon {
    background: rgba(200, 140, 40, 0.12) !important;
    color: #a06b10 !important;
}

/* ══════════════════════════════════════════════════════════════
   ADMIN ROW ACTIONS — sem quebra de linha
   ══════════════════════════════════════════════════════════════ */

.admin-row-actions {
    flex-wrap: nowrap !important;
}

/* velora-card com padding padrão quando usado em forms */
.velora-card.card-form {
    padding: 32px 36px;
}
