/* Design tokens: colours, fonts and shapes. */
:root {

    --brand-primary:        #0f172a;
    --brand-primary-hover:  #1e293b;
    --app-bar:              #1e293b;
    --brand-primary-text:   #ffffff;
    --brand-accent:         #4f46e5;
    --brand-accent-hover:   #4338ca;
    --brand-accent-text:    #ffffff;
    --brand-accent-soft:    #eef0ff;
    --brand-accent-light:   #a5b4fc;

    --cover-1: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
    --cover-2: linear-gradient(135deg, #0f172a 0%, #4f46e5 100%);
    --cover-3: linear-gradient(135deg, #4f46e5 0%, #0ea5e9 100%);
    --cover-4: linear-gradient(135deg, #be185d 0%, #4f46e5 100%);
    --cover-text: #ffffff;

    --surface-page:         #f6f7f9;
    --surface-card:         #ffffff;
    --surface-muted:        #f1f2f5;
    --border-color:         #e8eaee;
    --border-strong:        #d5d9e0;
    --text-body:            #0f172a;
    --text-muted:           #4b5563;

    --status-success:       #15803d;
    --status-warning:       #b45309;
    --status-warning-soft:  #fef3c7;
    --status-danger:        #b91c1c;

    --font-body:    "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-heading: "Plus Jakarta Sans", var(--font-body);
    --font-mono:    ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

    --radius-sm: 0.625rem;
    --radius:    0.875rem;
    --radius-lg: 1.25rem;
}

:root {
    --bs-body-font-family: var(--font-body);
    --bs-body-color:       var(--text-body);

    --bs-secondary-color:  var(--text-muted);
    --bs-border-color:     var(--border-color);
    --bs-border-radius:    var(--radius);
    --bs-border-radius-sm: var(--radius-sm);
    --bs-border-radius-lg: var(--radius-lg);
    --bs-link-color:       var(--brand-accent);
    --bs-link-hover-color: var(--brand-accent-hover);
    --bs-link-color-rgb:   79, 70, 229;
    --bs-focus-ring-color: rgba(79, 70, 229, 0.25);
}

.btn-primary {
    --bs-btn-bg:                  var(--brand-primary);
    --bs-btn-border-color:        var(--brand-primary);
    --bs-btn-color:               var(--brand-primary-text);
    --bs-btn-hover-bg:            var(--brand-primary-hover);
    --bs-btn-hover-border-color:  var(--brand-primary-hover);
    --bs-btn-hover-color:         var(--brand-primary-text);
    --bs-btn-active-bg:           var(--brand-primary-hover);
    --bs-btn-active-border-color: var(--brand-primary-hover);
    --bs-btn-active-color:        var(--brand-primary-text);
    --bs-btn-disabled-bg:         var(--brand-primary);
    --bs-btn-disabled-border-color: var(--brand-primary);
    --bs-btn-disabled-color:      var(--brand-primary-text);
}

.btn-accent {
    --bs-btn-bg:                  var(--brand-accent);
    --bs-btn-border-color:        var(--brand-accent);
    --bs-btn-color:               var(--brand-accent-text);
    --bs-btn-hover-bg:            var(--brand-accent-hover);
    --bs-btn-hover-border-color:  var(--brand-accent-hover);
    --bs-btn-hover-color:         var(--brand-accent-text);
    --bs-btn-active-bg:           var(--brand-accent-hover);
    --bs-btn-active-border-color: var(--brand-accent-hover);
    --bs-btn-active-color:        var(--brand-accent-text);
}

.form-check-input:checked {
    background-color: var(--brand-accent);
    border-color:     var(--brand-accent);
}
