:root {
    --color-primary: #0A2540;
    --color-accent: #00B4A6;
    --color-secondary: #1E3A5F;
    --color-neutral-dark: #333333;
    --color-neutral-light: #F8F9FA;
    --color-white: #FFFFFF;

    --bg-page: var(--color-white);
    --bg-section: var(--color-neutral-light);
    --bg-muted: #edf7f7;
    --card-bg: var(--color-white);

    --border-muted: rgba(10, 37, 64, 0.08);
    --shadow-soft: 0 24px 80px rgba(10, 37, 64, 0.08);
}

html {
    background: var(--bg-page);
    color: var(--color-neutral-dark);
}

body {
    min-height: 100vh;
    background: var(--bg-page);
    color: var(--color-neutral-dark);
}

::selection {
    background: var(--color-accent);
    color: var(--color-white);
}

a,
a:visited {
    color: var(--color-accent);
    transition: color 0.2s ease;
}

a:hover,
a:focus {
    color: var(--color-secondary);
}

.text-primary { color: var(--color-primary) !important; }
.text-accent { color: var(--color-accent) !important; }
.text-secondary { color: var(--color-secondary) !important; }
.text-neutral-dark { color: var(--color-neutral-dark) !important; }
.text-neutral-light { color: var(--color-neutral-light) !important; }

.bg-primary { background-color: var(--color-primary) !important; color: var(--color-white) !important; }
.bg-accent { background-color: var(--color-accent) !important; color: var(--color-white) !important; }
.bg-secondary { background-color: var(--color-secondary) !important; color: var(--color-white) !important; }
.bg-neutral-light { background-color: var(--color-neutral-light) !important; }
.bg-white { background-color: var(--color-white) !important; }

.btn-primary {
    background-color: var(--color-primary);
    color: var(--color-white);
}

.btn-primary:hover {
    background-color: var(--color-secondary);
}

.btn-accent {
    background-color: var(--color-accent);
    color: var(--color-white);
}

.btn-accent:hover {
    background-color: #009589;
}

.btn-secondary {
    background-color: var(--color-secondary);
    color: var(--color-white);
}

.section-bg {
    background: var(--bg-section) !important;
}

.section-alt {
    background: var(--bg-muted) !important;
}

.card-bg {
    background: var(--card-bg) !important;
}

.border-primary { border-color: var(--color-primary) !important; }
.border-accent { border-color: var(--color-accent) !important; }
.border-secondary { border-color: var(--color-secondary) !important; }

.text-blue-900,
.text-blue-800 {
    color: red !important;
}

.text-blue-700 {
    color: var(--color-secondary) !important;
}

.text-blue-600,
.text-blue-500 {
    color: var(--color-accent) !important;
}

.bg-blue-900,
.bg-blue-800 {
    background-color: var(--color-primary) !important;
}

.bg-blue-700 {
    background-color: var(--color-secondary) !important;
}

.bg-blue-600,
.bg-blue-500 {
    background-color: var(--color-accent) !important;
}

.bg-blue-100,
.bg-blue-50 {
    background-color: rgba(0, 180, 166, 0.1) !important;
}

.border-blue-200 {
    border-color: rgba(0, 180, 166, 0.28) !important;
}

.bg-gray-50,
.bg-slate-50 {
    background-color: var(--bg-section) !important;
}

.border-gray-100 {
    border-color: var(--border-muted) !important;
}

.text-gray-700,
.text-slate-700,
.text-gray-600,
.text-gray-500 {
    color: var(--color-neutral-dark) !important;
}

.text-gray-400,
.text-slate-500,
.text-gray-300 {
    color: #6b7280 !important;
}

.bg-gray-900 {
    background-color: var(--color-primary) !important;
}

.bg-gray-800 {
    background-color: #0E2D4D !important;
    color: var(--color-white) !important;
}

.hover\:bg-blue-800:hover {
    background-color: #0B243F !important;
    color: var(--color-white) !important;
}

.hover\:bg-blue-700:hover {
    background-color: #112f52 !important;
    color: var(--color-white) !important;
}

.hover\:text-blue-600:hover,
.hover\:text-blue-700:hover {
    color: var(--color-accent) !important;
}
