:root {
    --ffa-red: #e23744;
    --ffa-red-dark: #b62b36;
}

html, body { height: 100%; }
.ffa-body { background: #f6f7f9; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }

.ffa-navbar { background: var(--ffa-red); }
.ffa-navbar .navbar-brand { color: #fff; letter-spacing: .3px; }

.schedule-card { background: #fff; border-radius: 12px; padding: 12px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#calendar { min-height: 60vh; }
@@media (max-width: 576px) {
    #calendar { min-height: 70vh; }
    .fc .fc-toolbar.fc-header-toolbar { flex-wrap: wrap; gap: 6px; }
    .fc .fc-toolbar-title { font-size: 1.05rem; }
    .fc .fc-button { padding: .25rem .5rem; font-size: .85rem; }
}

.auth-card { max-width: 420px; margin: 8vh auto 0; }
.auth-card .card { border: 0; border-radius: 16px; box-shadow: 0 4px 14px rgba(0,0,0,.07); }
.auth-card .btn-primary { background: var(--ffa-red); border-color: var(--ffa-red); }
.auth-card .btn-primary:hover { background: var(--ffa-red-dark); border-color: var(--ffa-red-dark); }

.btn-ffa { background: var(--ffa-red); border-color: var(--ffa-red); color: #fff; }
.btn-ffa:hover { background: var(--ffa-red-dark); border-color: var(--ffa-red-dark); color: #fff; }
