:root {
    /*
     * CoreConta official brand palette
     */
    --cc-brand-navy: #0D1B2A;
    --cc-brand-blue: #2563EB;
    --cc-brand-green: #22C55E;
    --cc-brand-bg: #F1F5F9;

    --cc-brand-navy-rgb: 13, 27, 42;
    --cc-brand-blue-rgb: 37, 99, 235;
    --cc-brand-green-rgb: 34, 197, 94;

    /*
     * Complementary system colors
     */
    --cc-info: #0EA5E9;
    --cc-warning: #F59E0B;
    --cc-danger: #DC2626;

    --cc-warning-rgb: 245, 158, 11;
    --cc-danger-rgb: 220, 38, 38;

    /*
     * Neutral scale
     */
    --cc-gray-900: #111827;
    --cc-gray-800: #1F2937;
    --cc-gray-700: #374151;
    --cc-gray-600: #4B5563;
    --cc-gray-500: #6B7280;
    --cc-gray-400: #9CA3AF;
    --cc-gray-300: #D1D5DB;
    --cc-gray-200: #E5E7EB;
    --cc-gray-100: #F8FAFC;
    --cc-white: #FFFFFF;
}

/*
 * Text utilities
 */
.cc-text-navy {
    color: var(--cc-brand-navy) !important;
}

.cc-text-blue {
    color: var(--cc-brand-blue) !important;
}

.cc-text-green {
    color: var(--cc-brand-green) !important;
}

.cc-text-strong {
    color: var(--cc-gray-900) !important;
}

.cc-text-muted {
    color: var(--cc-gray-600) !important;
}

.cc-text-soft {
    color: var(--cc-gray-500) !important;
}

.cc-text-warning {
    color: var(--cc-warning) !important;
}

/*
 * Background utilities
 */
.cc-bg-soft {
    background-color: var(--cc-brand-bg) !important;
}

.cc-bg-white {
    background-color: var(--cc-white) !important;
}

/*
 * Border utilities
 */
.cc-border-soft {
    border-color: var(--cc-gray-200) !important;
}

/*
 * Brand logo
 */
.cc-brand-logo-link {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    max-width: 100%;
    text-decoration: none;
}

.cc-brand-logo {
    display: block;
    flex-shrink: 0;
    height: auto;
    max-width: 100%;
    object-fit: contain;
}

.cc-brand-logo--sm {
    width: 7rem;
}

.cc-brand-logo--md {
    width: 8.75rem;
}

.cc-brand-logo--auth {
    width: 9.5rem;
}

.cc-brand-logo--app {
    width: 8.75rem;
}

.cc-brand-logo--lg {
    width: 12rem;
}

.cc-brand-logo--marketing {
    width: 12rem;
}

/*
 * Backward compatibility for older layout references.
 */
.cc-app-logo__image {
    height: auto;
    max-width: 8.75rem;
    object-fit: contain;
    width: 8.75rem;
}

/*
 * CoreConta text links
 */
.cc-ui-link {
    font-weight: 500;
    text-decoration: none;
}

.cc-ui-link:hover {
    text-decoration: underline;
}

.cc-ui-link--primary {
    color: var(--cc-brand-blue);
}

.cc-ui-link--primary:hover {
    color: var(--cc-brand-navy);
}

.cc-ui-link--muted {
    color: var(--cc-gray-600);
}

.cc-ui-link--muted:hover {
    color: var(--cc-brand-blue);
}

.cc-ui-link--danger {
    color: var(--cc-danger);
}

.cc-ui-link--danger:hover {
    color: var(--cc-brand-navy);
}

.cc-ui-link--sm {
    font-size: 0.75rem;
}

.cc-ui-link--md {
    font-size: 0.875rem;
}