:root {
    --hiqa-dark-blue: #0D0659;
    --hiqa-blue: #095AA6;
    --hiqa-teal-blue: #0182AC;
    --hiqa-teal-green: #019587;

    --hiqa-white: #ffffff;
    --hiqa-surface-muted: #f8f9fa;
    --hiqa-border-light: #dee2e6;
    --hiqa-text-muted: #495057;
    --hiqa-text-strong: #374151;

    --status-draft-bg: #f3f4f6;
    --status-draft-border: #d1d5db;
    --status-draft-text: #374151;
    --status-draft-fill: #4b5563;

    --status-submitted-bg: #eef4fb;
    --status-submitted-border: #b9cde6;
    --status-submitted-text: #1f4e79;
    --status-submitted-fill: #095AA6;

    --status-approved-bg: #fef9e7;
    --status-approved-border: #f0d78c;
    --status-approved-text: #7d6608;
    --status-approved-fill: #c9a800;

    --status-rejected-bg: #fdeeee;
    --status-rejected-border: #efb5b5;
    --status-rejected-text: #a33a3a;
    --status-rejected-fill: #d9534f;

    --status-published-bg: #edf8ee;
    --status-published-border: #b8dec0;
    --status-published-text: #2d6a39;
    --status-published-fill: #3f8f4d;
}

.navbar {
    background-color: var(--hiqa-dark-blue) !important;
}

.btn-primary {
    background-color: var(--hiqa-blue);
    border-color: var(--hiqa-blue);
}

.btn-primary:hover {
    background-color: var(--hiqa-dark-blue);
    border-color: var(--hiqa-dark-blue);
}

.btn-secondary {
    background-color: var(--hiqa-teal-green);
    border-color: var(--hiqa-teal-green);
}

.btn-secondary:hover {
    background-color: var(--hiqa-teal-blue);
    border-color: var(--hiqa-teal-blue);
}

a {
    color: var(--hiqa-blue);
}

a:hover {
    color: var(--hiqa-dark-blue);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--hiqa-dark-blue);
}

.text-hiqa-blue { color: var(--hiqa-blue); }
.text-hiqa-dark { color: var(--hiqa-dark-blue); }
.text-hiqa-teal { color: var(--hiqa-teal-green); }

.bg-hiqa-blue { background-color: var(--hiqa-blue); }
.bg-hiqa-dark { background-color: var(--hiqa-dark-blue); }
.bg-hiqa-teal { background-color: var(--hiqa-teal-green); }

.btn-blue {
    background-color: var(--hiqa-blue);
    border-color: var(--hiqa-blue);
    color: var(--hiqa-white);
}

.btn-blue:hover {
    background-color: var(--hiqa-dark-blue);
    border-color: var(--hiqa-dark-blue);
    color: var(--hiqa-white);
}

.add-to-formset {
    display: inline-block;
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}

.add-section-bg {
    background-color: var(--hiqa-surface-muted);
    border: 1px solid var(--hiqa-border-light);
    border-radius: 0.375rem;
    padding: 1rem;
    margin-bottom: 0.75rem;
}

.dataset-status-banner {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    border: 1px solid transparent;
    border-radius: 0.5rem;
}

.dataset-status-banner__content {
    flex: 1 1 auto;
    min-width: 0;
}

.dataset-status-banner__title {
    margin-bottom: 0.2rem;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
}

.dataset-status-banner__text {
    margin: 0;
    color: inherit;
    opacity: 0.95;
}

.dataset-status-banner__actions {
    margin-top: 0.85rem;
}

.dataset-status-banner__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.55rem 0.9rem;
    border-radius: 0.4rem;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.dataset-status-banner__link:hover,
.dataset-status-banner__link:focus {
    text-decoration: none;
}

/* Draft */
.dataset-status-banner--draft {
    background-color: var(--status-draft-bg);
    border-color: var(--status-draft-border);
    color: var(--status-draft-text);
}

.dataset-status-banner--draft .dataset-status-banner__link {
    background-color: var(--status-draft-fill);
    color: var(--hiqa-white);
}

.dataset-status-banner--draft .dataset-status-banner__link:hover,
.dataset-status-banner--draft .dataset-status-banner__link:focus {
    background-color: var(--hiqa-text-strong);
    color: var(--hiqa-white);
}

/* Submitted */
.dataset-status-banner--submitted {
    background-color: var(--status-submitted-bg);
    border-color: var(--status-submitted-border);
    color: var(--status-submitted-text);
}

.dataset-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.6rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
}

.dataset-status-badge--draft {
    background-color: var(--status-draft-bg);
    color: var(--status-draft-text);
    border: 1px solid var(--status-draft-border);
}

.dataset-status-badge--submitted {
    background-color: var(--status-submitted-bg);
    color: var(--status-submitted-text);
    border: 1px solid var(--status-submitted-border);
}

.dataset-status-badge--approved {
    background-color: var(--status-approved-bg);
    color: var(--status-approved-text);
    border: 1px solid var(--status-approved-border);
}

.dataset-status-badge--published {
    background-color: var(--status-published-bg);
    color: var(--status-published-text);
    border: 1px solid var(--status-published-border);
}

.dataset-status-badge--rejected {
    background-color: var(--status-rejected-bg);
    color: var(--status-rejected-text);
    border: 1px solid var(--status-rejected-border);
}

.section-link {
    color: var(--hiqa-text-muted);
    border-left: 3px solid transparent;
    border-radius: 0;
    padding: 0.5rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-left-color 0.15s ease-in-out;
}

.section-link:hover,
.section-link:focus {
    text-decoration: none;
}

.section-link__number {
    display: inline-flex;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid currentColor;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    line-height: 1;
    flex-shrink: 0;
}

.section-link__title {
    flex: 1;
    min-width: 0;
}

.section-link__check {
    display: none;
    font-weight: 700;
    line-height: 1;
}

.section-link.is-default {
    color: var(--hiqa-text-muted);
    background: transparent;
    border-left-color: transparent;
    font-weight: 400;
}

.section-link.is-completed {
    color: var(--hiqa-teal-green);
    background: transparent;
    border-left-color: transparent;
    font-weight: 400;
}

.section-link.is-completed .section-link__check {
    display: inline;
}

.section-link.is-active {
    color: var(--hiqa-blue);
    background: var(--hiqa-surface-muted);
    border-left-color: var(--hiqa-blue);
    font-weight: 600;
}

.section-link.is-active .section-link__check {
    display: none;
}

.section-panel {
    display: none;
}

.section-panel.is-active {
    display: block;
}

.metadata-nav-btn {
    color: var(--hiqa-blue);
    border-color: var(--hiqa-blue);
    background-color: var(--hiqa-white);
}

.metadata-nav-btn:hover,
.metadata-nav-btn:focus {
    color: var(--hiqa-white);
    background-color: var(--hiqa-blue);
    border-color: var(--hiqa-blue);
}

.metadata-nav-btn:disabled,
.metadata-nav-btn.disabled {
    color: var(--hiqa-text-muted);
    border-color: var(--hiqa-border-light);
    background-color: var(--hiqa-surface-muted);
}

.dataset-status-banner--rejected {
    background-color: var(--status-rejected-bg);
    border: 1px solid var(--status-rejected-border);
    border-radius: 0.375rem;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.dataset-status-banner--rejected .dataset-status-banner__title {
    color: var(--status-rejected-text);
}

.dataset-status-banner--published {
    background-color: var(--status-published-bg);
    border-color: var(--status-published-border);
    color: var(--status-published-text);
}

.dataset-status-banner--published .dataset-status-banner__link {
    background-color: var(--status-published-fill);
    color: var(--hiqa-white);
}

.dataset-status-banner--published .dataset-status-banner__link:hover,
.dataset-status-banner--published .dataset-status-banner__link:focus {
    background-color: var(--status-published-text);
    color: var(--hiqa-white);
}

.dataset-status-banner--approved {
    background-color: var(--status-approved-bg);
    border: 1px solid var(--status-approved-border);
    border-radius: 0.375rem;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.dataset-status-banner--approved .dataset-status-banner__title {
    color: var(--status-approved-text);
}

.form-questions-field {
    font-size: 0.85rem;
    font-weight: 600;
    color: #6c757d;
    margin-bottom: 0.15rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.form-field-details {
    font-size: 1rem;
    color: var(--hiqa-dark-blue);
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid #eee;
}

.form-field-details:empty::after {
    content: "—";
    color: #ccc;
}

/* Section nav sticky bar */
.section-nav-bar {
    position: sticky;
    bottom: 0;
    z-index: 10;
}

.edit-note-sticky {
    position: sticky;
    bottom: 56px;
    z-index: 9;
}

/* History diff table */
.diff-table th:first-child,
.diff-table td:first-child {
    padding-left: 1rem;
    width: 20%;
}

.diff-table th:not(:first-child),
.diff-table td:not(:first-child) {
    width: 40%;
}

/* Badge colours for dataset tag types */
.badge-health_category { background-color: #0d6efd; }
.badge-health_theme    { background-color: #0e7490; }
.badge-language        { background-color: #374151; }
.badge-access_rights   { background-color: #b45309; }
.badge-coding_system   { background-color: #6d28d9; }
.badge-personal_data   { background-color: #065f46; }
