﻿:root {
    --shadow-soft: 0 20px 60px rgba(15, 23, 42, 0.12);
    --crm-primary: #7c3aed;
    --crm-primary-hover: #6d28d9;
    --crm-primary-50: #f5f3ff;
    --crm-primary-100: #ede9fe;
    --crm-primary-200: #ddd6fe;
    --crm-primary-700: #5b21b6;
    --crm-primary-shadow: rgba(124, 58, 237, 0.30);
    --crm-secondary: #2563eb;
    --crm-accent: #06b6d4;
}

body {
    font-family: 'Manrope', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
}

body[data-page] {
    transition: background-color 0.2s ease, color 0.2s ease;
}

html.dark body[data-page] {
    background-color: #020617 !important;
    color: #e2e8f0 !important;
}

html.dark body[data-page] > .min-h-screen {
    background-color: transparent !important;
}

html.dark body[data-page="dashboard"] aside,
html.dark body[data-page="profile"] aside,
html.dark body[data-page="relatorio"] aside {
    background-color: rgba(15, 23, 42, 0.9) !important;
    border-color: #334155 !important;
}

html.dark body[data-page="dashboard"] .sticky,
html.dark body[data-page="profile"] .sticky,
html.dark body[data-page="relatorio"] .sticky {
    background-color: rgba(15, 23, 42, 0.88) !important;
    border-color: #334155 !important;
}

.font-display {
    font-family: 'Space Grotesk', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
}

body[data-page="dashboard"],
body[data-page="profile"],
body[data-page="relatorio"],
body[data-page="admin_dashboard"],
body[data-page="admin_users"],
body[data-page="admin_financeiro"],
body[data-page="account_status"] {
    background: linear-gradient(145deg, #f5f3ff 0%, #eef2ff 42%, #ecfeff 100%) !important;
}

body[data-page="dashboard"] a.bg-rose-500,
body[data-page="dashboard"] button.bg-rose-500,
body[data-page="profile"] a.bg-rose-500,
body[data-page="profile"] button.bg-rose-500,
body[data-page="relatorio"] a.bg-rose-500,
body[data-page="relatorio"] button.bg-rose-500,
body[data-page="admin_dashboard"] a.bg-rose-500,
body[data-page="admin_dashboard"] button.bg-rose-500,
body[data-page="admin_users"] a.bg-rose-500,
body[data-page="admin_users"] button.bg-rose-500,
body[data-page="admin_financeiro"] a.bg-rose-500,
body[data-page="admin_financeiro"] button.bg-rose-500,
body[data-page="account_status"] a.bg-rose-500,
body[data-page="account_status"] button.bg-rose-500 {
    background: linear-gradient(135deg, #7c3aed 0%, #2563eb 55%, #06b6d4 100%) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 14px 34px rgba(37, 99, 235, 0.30) !important;
}

body[data-page="dashboard"] aside nav a.bg-rose-50,
body[data-page="profile"] aside nav a.bg-rose-50,
body[data-page="relatorio"] aside nav a.bg-rose-50,
body[data-page="admin_dashboard"] aside nav a.bg-rose-50,
body[data-page="admin_users"] aside nav a.bg-rose-50,
body[data-page="admin_financeiro"] aside nav a.bg-rose-50,
body[data-page="account_status"] aside nav a.bg-rose-50,
body[data-page="dashboard"] .border-b a.bg-rose-50,
body[data-page="profile"] .border-b a.bg-rose-50,
body[data-page="relatorio"] .border-b a.bg-rose-50,
body[data-page="admin_dashboard"] .border-b a.bg-rose-50,
body[data-page="admin_users"] .border-b a.bg-rose-50,
body[data-page="admin_financeiro"] .border-b a.bg-rose-50,
body[data-page="account_status"] .border-b a.bg-rose-50 {
    background: linear-gradient(135deg, #ede9fe 0%, #dbeafe 55%, #cffafe 100%) !important;
    color: #3730a3 !important;
    border: 1px solid #c7d2fe !important;
}

.crm-theme .bg-rose-500 {
    background-color: var(--crm-primary) !important;
}

.crm-theme .hover\:bg-rose-400:hover {
    background-color: var(--crm-primary-hover) !important;
}

.crm-theme .bg-rose-50 {
    background-color: var(--crm-primary-50) !important;
}

.crm-theme .text-rose-700 {
    color: var(--crm-primary-700) !important;
}

.crm-theme .text-rose-600,
.crm-theme .text-rose-500 {
    color: var(--crm-primary) !important;
}

.crm-theme .border-rose-200 {
    border-color: var(--crm-primary-200) !important;
}

.crm-theme .hover\:border-rose-300:hover {
    border-color: var(--crm-primary) !important;
}

.crm-theme .focus\:border-rose-400:focus {
    border-color: var(--crm-primary) !important;
}

.crm-theme .shadow-rose-500\/30 {
    --tw-shadow-color: var(--crm-primary-shadow) !important;
}

.crm-theme .shadow-rose-500\/30,
.crm-theme .shadow-rose-500\/30:hover {
    box-shadow: 0 10px 24px var(--crm-primary-shadow) !important;
}

.brand-badge {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, var(--crm-primary), var(--crm-accent));
}

.brand-logo-frame {
    min-height: 2cm;
    display: flex;
    align-items: center;
    justify-content: center;
}

.brand-logo {
    height: 2cm;
    max-width: 4cm;
    width: auto;
}

#brand-customize-btn {
    box-shadow: var(--shadow-soft);
}

.kanban-column {
    min-width: 280px;
}

@media (max-width: 1023px) {
    .kanban-column {
        min-width: min(86vw, 360px);
    }
}

.lead-card.dragging {
    opacity: 0.6;
}

.modal {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 40;
}

.modal.hidden {
    display: none;
}

.modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.6);
}

.modal-content {
    position: relative;
    z-index: 1;
    width: calc(100% - 2rem);
    max-width: 560px;
    background: #ffffff;
    border-radius: 1.5rem;
    padding: 1.5rem;
    box-shadow: var(--shadow-soft);
}

.modal-content.modal-wide {
    max-width: 720px;
}

@media (max-width: 768px) {
    .modal-content {
        max-height: calc(100vh - 2rem);
        overflow-y: auto;
    }
}

.dark .modal-content {
    background: #0f172a;
    color: #e2e8f0;
    border: 1px solid #1e293b;
}

::-webkit-scrollbar {
    height: 10px;
    width: 10px;
}

::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.6);
    border-radius: 999px;
}

.dark ::-webkit-scrollbar-thumb {
    background: rgba(71, 85, 105, 0.7);
}

