:root {
    --brand-blue: #0b80ee;
    --brand-blue-hover: #0968c3;
    --brand-blue-light: #e8f4fd;
    --brand-blue-muted: #69737d;
    --brand-dark: #060606;
    --brand-light: #fefefe;
}

body {
    font-family: 'Open Sans', sans-serif;
    color: var(--brand-dark);
}

h1, h2, h3, h4, h5, h6, .font-heading {
    font-family: 'Exo', sans-serif;
}

/* Nav active state */
.nav-link-active {
    background-color: var(--brand-blue);
    color: white;
}

/* Brand button */
.btn-brand {
    background-color: var(--brand-blue);
    color: white;
    transition: background-color 0.15s;
}
.btn-brand:hover {
    background-color: var(--brand-blue-hover);
}
.btn-brand:disabled {
    opacity: 0.5;
    cursor: default;
}

/* Status badges */
.badge-matched {
    background-color: #ecfdf5;
    color: #059669;
}
.badge-booked {
    background-color: var(--brand-blue-light);
    color: var(--brand-blue);
}
.badge-requested {
    background-color: #f3f4f6;
    color: var(--brand-blue-muted);
}
.badge-incoming {
    background-color: #fef9c3;
    color: #a16207;
}

/* Card hover */
.card {
    border: 1px solid #e5e7eb;
    transition: border-color 0.15s;
}
.card:hover {
    border-color: #d1d5db;
}

/* Slot cards */
.slot-booked {
    background-color: var(--brand-blue-light);
    border-color: #bfdbfe;
}

/* Blue wave decoration */
.wave-border {
    border-bottom: 3px solid var(--brand-blue);
}
