/* Flat, responsive surface treatment for public pages and account entry. */
:root {
    --front-line: #dce5ec;
    --front-ink: #263b52;
    --front-blue: #0064a9;
}

body *,
body *::before,
body *::after {
    box-shadow: none !important;
    text-shadow: none !important;
}

body :is(.card, .btn, .navbar, .dropdown-menu, .form-control, .form-select, .input-group-text, .modal-content, .alert),
body :is(.card, .btn, .navbar, .dropdown-menu, .form-control, .form-select, .input-group-text, .modal-content, .alert):hover,
body :is(.card, .btn, .navbar, .dropdown-menu, .form-control, .form-select, .input-group-text, .modal-content, .alert):focus {
    box-shadow: none !important;
    text-shadow: none !important;
}

body .card {
    border: 1px solid var(--front-line);
    border-radius: 0.85rem;
    background-image: none !important;
}

body .btn {
    border-radius: 0.55rem;
    background-image: none !important;
    transform: none !important;
    font-weight: 600;
}

body :is(.bg-gradient-primary, .btn-primary) {
    color: #fff;
    background-color: var(--front-blue) !important;
    border-color: var(--front-blue) !important;
}

body :is(.form-control, .form-select) {
    min-height: 2.6rem;
    border: 1px solid #c9d7e1;
    border-radius: 0.55rem;
    background-color: #fff;
}

body :is(a, button, input, select, textarea):focus-visible {
    outline: 2px solid #70afd7;
    outline-offset: 2px;
}

body .navbar {
    border-bottom: 1px solid var(--front-line);
}

body .navbar-collapse {
    min-width: 0;
}

body .navbar .navbar-nav {
    gap: 0.15rem;
}

body .table-responsive {
    max-width: 100%;
    overflow-x: auto;
}

@media (max-width: 767.98px) {
    body .card-body { padding: 1.1rem; }
    body .navbar-collapse { max-height: calc(100vh - 5rem); overflow-y: auto; }
    body .container, body .container-fluid { min-width: 0; }
}
