﻿/* ── Typography ── */
:root {
    --navbar-height: 56px;
}

body {
    font-family: 'Open Sans', sans-serif;
    color: #333333;
    background-color: #f5f5f5;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Note: main's flex:1 rule lives below under
   "Main content: grows to fill space above footer" —
   not duplicated here. */

/* ── Navbar brand text (formerly an inline style on the brand span) ── */
.navbar-brand-text {
    font-family: 'Montserrat', sans-serif;
    color: #1e3a5f;
    padding-left: 1rem;
}

/* ── Confirmation pages (DataEntryConfirm.cshtml, InputCellConfirm.cshtml) ── */
.confirm-card {
    max-width: 500px;
    margin: 0 auto;
}

.confirm-check {
    font-size: 3rem;
}

/* ── Migrate Users result list (Admin/Users/MigrateUsers.cshtml) ── */
.migrate-fail {
    color: red;
}

.migrate-skip {
    color: orange;
}

.migrate-ok {
    color: green;
}

/* ── Identity area: Login.cshtml centered card ── */
.identity-login-wrap {
    min-height: 70vh;
}

.identity-login-card {
    width: 100%;
    max-width: 400px;
}

/* ── Identity area: Manage/TwoFactorAuthentication.cshtml
   "Forget this browser" form sits inline next to the buttons
   around it rather than on its own line ── */
.d-inline-block-form {
    display: inline-block;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
}

/* ── Navbar: white background ── */
.navbar {
    background-color: #ffffff !important;
    border-bottom: 1px solid #dee2e6;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.navbar-brand img {
    height: 40px;
}

.navbar .nav-link,
.navbar-text {
    color: #333333 !important;
}

    .navbar .nav-link:hover {
        color: #2d6eb4 !important;
    }

/* ── Main content: grows to fill space above footer ── */
main, .main-content {
    flex: 1;
}

/* ── Footer: dark navy, sticks to bottom ── */
footer {
    background-color: #1e3a5f;
    color: rgba(255,255,255,0.75);
    padding: 1rem 0;
    font-size: .85rem;
    margin-top: auto;
}

    footer a {
        color: rgba(255,255,255,0.75);
    }

        footer a:hover {
            color: #ffffff;
        }

/* ── Cards ── */
.card {
    border: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    border-radius: 6px;
}

.card-header {
    background-color: #2d6eb4 !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    border-radius: 6px 6px 0 0 !important;
}

/* ── Primary button: green ── */
.btn-primary {
    background-color: #6db33f;
    border-color: #6db33f;
    color: #ffffff;
}

    .btn-primary:hover, .btn-primary:focus {
        background-color: #5a9633;
        border-color: #5a9633;
        color: #ffffff;
    }

.btn-outline-primary {
    color: #6db33f;
    border-color: #6db33f;
}

    .btn-outline-primary:hover {
        background-color: #6db33f;
        border-color: #6db33f;
        color: #ffffff;
    }

/* ── Secondary button: lighter blue ── */
.btn-secondary {
    background-color: #2d6eb4;
    border-color: #2d6eb4;
    color: #ffffff;
}

    .btn-secondary:hover, .btn-secondary:focus {
        background-color: #245d99;
        border-color: #245d99;
        color: #ffffff;
    }

.btn-outline-secondary {
    color: #2d6eb4;
    border-color: #2d6eb4;
}

    .btn-outline-secondary:hover {
        background-color: #2d6eb4;
        border-color: #2d6eb4;
        color: #ffffff;
    }

/* ── Location/Country toggle buttons ── */
.btn-group .btn-check:checked + .btn-outline-location {
    background-color: #2d6eb4;
    border-color: #2d6eb4;
    color: #ffffff;
}

.btn-outline-location {
    color: #2d6eb4;
    border-color: #2d6eb4;
    background-color: transparent;
}

    .btn-outline-location:hover {
        background-color: #2d6eb4;
        border-color: #2d6eb4;
        color: #ffffff;
    }

.btn-group-switch > .btn-secondary.disabled,
.btn-group-switch > .btn-secondary:disabled {
    background-color: #2d6eb4;
    border-color: #2d6eb4;
    opacity: 1;
}

/* ── Table headers ── */
.table-dark,
thead.table-dark th {
    background-color: #1e3a5f !important;
}

/* ── Entry form table header ── */
.table-header-navy th {
    background-color: #1e3a5f !important;
    color: #ffffff !important;
}

/* ── Links ── */
a {
    color: #2d6eb4;
}

    a:hover {
        color: #1e3a5f;
    }

/* ── Page section titles ── */
.page-title {
    font-family: 'Montserrat', sans-serif;
    color: #1e3a5f;
    border-bottom: 3px solid #2d6eb4;
    padding-bottom: .4rem;
    margin-bottom: 1.5rem;
}

