/* RAWA — fornecedores, gestão, auditoria, relatórios e configurações
 * Continuidade da linguagem visual dos módulos principais.
 * Não altera regras de negócio, permissões, API ou sessão.
 */

#app-view .rawa-fornecedores-page,
#app-view .rawa-users-page,
#app-view .rawa-audit-page,
#app-view .rawa-reports-page,
#app-view .rawa-config-page {
    min-width: 0;
}

/* Fornecedores */
#app-view .rawa-fornecedores-page .module-toolbar {
    min-height: 62px;
}

#app-view .rawa-fornecedores-page .module-toolbar-left {
    flex: 1 1 auto;
    min-width: 0;
}

#app-view .rawa-fornecedores-page .toolbar-select {
    width: min(230px, 100%) !important;
}

#app-view .rawa-fornecedores-page .data-panel {
    box-shadow: var(--rawa-shadow-card) !important;
}

#app-view .rawa-fornecedores-page .status-badge {
    min-height: 25px;
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    font-size: 9px;
    font-weight: 780;
}

#app-view .supplier-link-item,
#app-view .supplier-purchase-item {
    border-color: var(--v3-border) !important;
    background: var(--v3-card-2) !important;
}

/* Gestão de usuários */
#app-view .rawa-users-page .hero-row {
    align-items: center !important;
}

#app-view .rawa-users-page .module-toolbar {
    min-height: 62px;
}

#app-view .rawa-users-page .user-toolbar-left {
    width: 100%;
    min-width: 0;
}

#app-view .rawa-users-page .search-box {
    flex: 1 1 360px;
}

#app-view .rawa-users-page .toolbar-select {
    width: min(220px, 100%) !important;
    flex: 0 1 220px;
}

#app-view .rawa-users-page .data-panel {
    box-shadow: var(--rawa-shadow-card) !important;
}

#app-view .rawa-users-page .self-badge {
    border: 1px solid rgba(49,130,246,.16);
    background: rgba(49,130,246,.09) !important;
    color: #327cdb !important;
}

#app-view .profile-card {
    border-color: var(--v3-border) !important;
    background: var(--v3-card) !important;
    box-shadow: var(--rawa-shadow-soft);
}

#app-view .profile-card-head strong {
    color: var(--v3-text) !important;
}

#app-view .permission-list > span {
    border: 1px solid var(--v3-border);
    background: var(--v3-card-2) !important;
    color: var(--v3-text-2) !important;
}

#app-view .management-note {
    border-color: rgba(49,130,246,.18) !important;
    background: rgba(49,130,246,.07) !important;
    color: var(--v3-text-2) !important;
}

/* Auditoria */
#app-view .rawa-audit-page .audit-hero {
    margin-bottom: 16px !important;
}

#app-view .rawa-audit-page .audit-toolbar {
    min-height: 62px;
}

#app-view .rawa-audit-page .module-toolbar-left {
    flex: 1 1 auto;
    min-width: 0;
}

#app-view .rawa-audit-page .search-box {
    flex: 1 1 420px;
}

#app-view .rawa-audit-page .toolbar-select {
    width: min(260px, 100%) !important;
    flex: 0 1 260px;
}

#app-view .rawa-audit-page .data-panel {
    box-shadow: var(--rawa-shadow-card) !important;
}

#app-view .rawa-audit-page .audit-module {
    border: 1px solid rgba(49,130,246,.17);
    background: rgba(49,130,246,.08) !important;
    color: #327cdb !important;
}

html[data-theme="dark"] #app-view .rawa-audit-page .audit-module,
html[data-theme="dark"] #app-view .rawa-users-page .self-badge {
    color: #79adff !important;
}

#app-view .rawa-audit-page .audit-description {
    color: var(--v3-text-2) !important;
}

/* Relatórios */
#app-view .rawa-reports-page {
    gap: 14px !important;
}

#app-view .rawa-reports-page .reports-filter {
    gap: 10px !important;
    padding: 10px !important;
    border: 1px solid var(--v3-border) !important;
    border-radius: 14px !important;
    background: var(--v3-card) !important;
    box-shadow: var(--rawa-shadow-soft) !important;
}

#app-view .rawa-reports-page .reports-period-label,
#app-view .rawa-reports-page .report-note {
    color: var(--v3-muted) !important;
    font-size: 10.5px !important;
}

#app-view .rawa-reports-page .reports-tabs {
    width: 100% !important;
    gap: 4px !important;
    padding: 4px !important;
    border: 1px solid var(--v3-border);
    border-radius: 12px !important;
    background: var(--v3-card-2) !important;
}

#app-view .rawa-reports-page .reports-tab {
    min-height: 36px;
    padding: 8px 12px !important;
    border: 1px solid transparent !important;
    color: var(--v3-muted) !important;
    font-size: 10px !important;
}

#app-view .rawa-reports-page .reports-tab.active {
    border-color: var(--v3-border) !important;
    background: var(--v3-card) !important;
    color: var(--v3-text) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.06) !important;
}

#app-view .rawa-reports-page .report-kpis {
    gap: 10px !important;
}

#app-view .rawa-reports-page .report-kpis article {
    min-height: 108px;
    padding: 14px !important;
    border-color: var(--v3-border) !important;
    border-radius: 14px !important;
    background: var(--v3-card) !important;
    box-shadow: var(--rawa-shadow-soft) !important;
}

#app-view .rawa-reports-page .report-kpis article > span,
#app-view .rawa-reports-page .report-kpis article > small {
    color: var(--v3-muted) !important;
    font-size: 10px !important;
}

#app-view .rawa-reports-page .report-kpis article > strong {
    color: var(--v3-text) !important;
    font-size: clamp(18px, 1.7vw, 22px) !important;
}

#app-view .rawa-reports-page .report-card,
#app-view .rawa-reports-page .report-table-wrap {
    border-color: var(--v3-border) !important;
    background: var(--v3-card) !important;
    box-shadow: var(--rawa-shadow-soft) !important;
}

#app-view .rawa-reports-page .report-card-head h4,
#app-view .rawa-reports-page .report-section-head h3 {
    color: var(--v3-text) !important;
}

#app-view .rawa-reports-page .report-card-head span,
#app-view .rawa-reports-page .report-empty {
    color: var(--v3-muted) !important;
}

#app-view .rawa-reports-page .report-bar-track {
    background: var(--v3-card-soft) !important;
}

#app-view .rawa-reports-page .report-bar-track i {
    background: #3182f6 !important;
}

/* Configurações */
#app-view .rawa-config-page {
    gap: 14px !important;
}

#app-view .rawa-config-page .office-config-intro {
    padding: 18px 20px !important;
    border-color: var(--v3-border) !important;
    border-radius: 16px !important;
    background: var(--v3-card) !important;
    box-shadow: var(--rawa-shadow-soft);
}

#app-view .rawa-config-page .office-config-intro h2 {
    margin: 0 0 6px !important;
    color: var(--v3-text) !important;
}

#app-view .rawa-config-page .office-config-intro p,
#app-view .rawa-config-page .office-section-heading p,
#app-view .rawa-config-page .office-document-card > p {
    color: var(--v3-muted) !important;
}

#app-view .rawa-config-page .office-config-state {
    border-color: var(--v3-border) !important;
    background: var(--v3-card-2) !important;
    color: var(--v3-text-2) !important;
}

#app-view .rawa-config-page .office-config-layout {
    gap: 14px !important;
}

#app-view .rawa-config-page .office-config-card,
#app-view .rawa-config-page .office-logo-card,
#app-view .rawa-config-page .office-document-card {
    padding: 18px !important;
    border-color: var(--v3-border) !important;
    border-radius: 16px !important;
    background: var(--v3-card) !important;
    box-shadow: var(--rawa-shadow-soft);
}

#app-view .rawa-config-page .office-section-heading.divided,
#app-view .rawa-config-page .office-form-actions,
#app-view .rawa-config-page .office-document-card dl > div {
    border-color: var(--v3-border) !important;
}

#app-view .rawa-config-page .office-logo-preview {
    border-color: color-mix(in srgb, var(--v3-border) 85%, #3182f6) !important;
    background: var(--v3-card-2) !important;
}

#app-view .rawa-config-page .office-logo-preview.has-image {
    background: var(--v3-card) !important;
}

#app-view .rawa-config-page .office-logo-preview img {
    object-fit: contain !important;
    transform: none !important;
}

#app-view .rawa-config-page .office-file-button {
    border: 1px solid rgba(49,130,246,.36);
    background: #2879e8 !important;
    color: #fff !important;
}

#app-view .rawa-config-page .office-readonly-note,
#app-view .rawa-config-page .office-document-hint,
#app-view .rawa-config-page .office-switch-card {
    border: 1px solid var(--v3-border);
    background: var(--v3-card-2) !important;
    color: var(--v3-text-2) !important;
}

#app-view .rawa-config-page .office-switch-card strong,
#app-view .rawa-config-page .office-document-card dd {
    color: var(--v3-text) !important;
}

#app-view .rawa-config-page .office-switch-card span,
#app-view .rawa-config-page .office-document-card dt {
    color: var(--v3-muted) !important;
}

/* Responsive */
@media (max-width: 900px) {
    #app-view .rawa-fornecedores-page .module-toolbar-left,
    #app-view .rawa-users-page .user-toolbar-left,
    #app-view .rawa-audit-page .module-toolbar-left {
        flex-wrap: wrap;
    }
}

@media (max-width: 720px) {
    #app-view .rawa-fornecedores-page .hero-row,
    #app-view .rawa-users-page .hero-row,
    #app-view .rawa-audit-page .hero-row,
    #app-view .rawa-reports-page .hero-row,
    #app-view .rawa-config-page .office-config-intro {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    #app-view .rawa-fornecedores-page .hero-row > .action-button {
        width: 100%;
    }

    #app-view .rawa-users-page .management-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
    }

    #app-view .rawa-fornecedores-page .module-toolbar,
    #app-view .rawa-users-page .module-toolbar,
    #app-view .rawa-audit-page .module-toolbar,
    #app-view .rawa-fornecedores-page .module-toolbar-left,
    #app-view .rawa-users-page .user-toolbar-left,
    #app-view .rawa-audit-page .module-toolbar-left {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    #app-view .rawa-fornecedores-page .toolbar-select,
    #app-view .rawa-users-page .toolbar-select,
    #app-view .rawa-audit-page .toolbar-select {
        width: 100% !important;
        max-width: none !important;
        flex: 1 1 auto;
    }

    #app-view .rawa-audit-page #auditoria-entidade-btn {
        width: 100%;
    }

    #app-view .rawa-reports-page .reports-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
    }

    #app-view .rawa-reports-page .reports-tab {
        flex: 1 0 auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    #app-view .rawa-reports-page .reports-tab,
    #app-view .rawa-users-page .row-action,
    #app-view .rawa-audit-page .row-action {
        transition: none !important;
    }
}
