:root {
    --tc-blue: #0038a8;
    --tc-blue-dark: #002b7f;
    --tc-blue-light: #e8f0fa;
    --tc-blue-100: #d6e4f5;
    --tc-blue-200: #b3c9e8;
    --tc-red: #ce1126;
    --tc-gold: #fcd116;
    --tc-navy: #0b1f4b;
}

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

.tc-btn-primary,
.bg-tc-blue {
    background-color: var(--tc-blue);
    color: #fff;
}

.tc-btn-primary:hover,
.hover\:bg-tc-blue-dark:hover,
a.bg-tc-blue:hover,
button.bg-tc-blue:hover {
    background-color: var(--tc-blue-dark);
}

.bg-tc-blue-light {
    background-color: var(--tc-blue-light);
}

.bg-tc-blue-100 {
    background-color: var(--tc-blue-100);
}

.bg-tc-blue-200 {
    background-color: var(--tc-blue-200);
}

.bg-tc-red {
    background-color: var(--tc-red);
}

.bg-tc-gold {
    background-color: var(--tc-gold);
}

.text-tc-blue {
    color: var(--tc-blue);
}

.text-tc-blue-light {
    color: var(--tc-blue-light);
}

.text-tc-navy {
    color: var(--tc-navy);
}

.text-tc-red {
    color: var(--tc-red);
}

.border-tc-blue {
    border-color: var(--tc-blue);
}

.border-tc-blue-200 {
    border-color: var(--tc-blue-200);
}

.hover\:bg-tc-blue-light:hover {
    background-color: var(--tc-blue-light);
}

.tc-btn-accent {
    background-color: var(--tc-red);
    color: #fff;
}

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

.tc-hero-gradient {
    background: linear-gradient(180deg, var(--tc-blue-light) 0%, #f8fafc 100%);
}

.tc-nav-active {
    color: var(--tc-blue);
    background-color: var(--tc-blue-light);
}

.tc-input:focus {
    border-color: var(--tc-blue);
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 56, 168, 0.15);
}

.tc-card-accent {
    border-left: 4px solid var(--tc-gold);
}

.tc-install-banner {
    background: linear-gradient(90deg, var(--tc-blue) 0%, var(--tc-blue-dark) 100%);
    border-bottom: 3px solid var(--tc-gold);
}

@supports (padding: env(safe-area-inset-top)) {
    body {
        padding-left: env(safe-area-inset-left);
        padding-right: env(safe-area-inset-right);
    }
}