/* Shared Web navigation; scoped to avoid changing the page's design system. */
.fit-toolbar {
    --fit-toolbar-ink: #1e2761;
    box-sizing: border-box;
    position: relative;
    z-index: 60;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 8px 24px;
    background: #f8fafc;
    border-bottom: 1px solid #dce2f0;
    color: var(--fit-toolbar-ink);
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
.fit-toolbar .fit-toolbar__group { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.fit-toolbar .fit-toolbar__form { display: inline-flex; margin: 0; padding: 0; border: 0; background: transparent; width: auto; }
.fit-toolbar .fit-toolbar__control {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    width: auto;
    margin: 0;
    padding: 9px 14px;
    border: 1px solid #dce2f0;
    border-radius: 9px;
    background: #fff;
    color: var(--fit-toolbar-ink);
    font: 600 13px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 1px 2px rgb(30 39 97 / 5%);
    transition: background-color .15s, border-color .15s;
}
.fit-toolbar .fit-toolbar__control:hover { background: #eff6ff; border-color: #93b5e7; color: #1d4ed8; text-decoration: none; }
.fit-toolbar .fit-toolbar__control:focus-visible,
.fit-notification-trigger:focus-visible { outline: 3px solid #2a78d6; outline-offset: 2px; }
.fit-toolbar .fit-toolbar__control--logout:hover { background: #fef2f2; border-color: #fecaca; color: #b91c1c; }
.fit-toolbar .fit-toolbar__control:disabled { opacity: .5; cursor: default; background: #fff; color: #64748b; }
.fit-toolbar .fit-toolbar__control svg { flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
/* Older shared controls remain available when rendered as fragments, but do not duplicate the document toolbar. */
[data-fit-toolbar-page] .fit-page-back,
[data-fit-toolbar-page] .fit-logout-form,
[data-fit-toolbar-page] [data-fit-legacy-language] { display: none; }
/* Compact shared headings; the toolbar already contains both return controls. */
[data-fit-toolbar-page] .fit-page-header__back { display: none; }
.fit-page-header__title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.fit-session-bar { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 8px; padding: 0; margin-left: auto; }
[data-fit-toolbar-page] .fit-toolbar { gap: 6px 12px; padding-top: 4px; padding-bottom: 4px; }
[data-fit-toolbar-page] .main-content-wrapper > main,
[data-fit-toolbar-page] .nav-fixed-spacing { margin-top: 0; padding-top: 0; }
[data-fit-toolbar-page] .fit-page-header { margin-bottom: 12px; padding-top: 8px; padding-bottom: 8px; }
[data-fit-toolbar-page] .fit-page-header h1 { font-size: 1.375rem; line-height: 1.3; }
[data-fit-toolbar-page] .fit-page-content > :is(.max-w-7xl, .max-w-6xl, .max-w-5xl, .max-w-4xl, .container, .container-fluid, .fit-module-dashboard) { padding-top: 8px !important; }
/* Older component layouts fix their menu at top:0; keep it below the common toolbar. */
[data-fit-toolbar-page] .nav-bar { position: relative !important; top: auto !important; left: auto !important; right: auto !important; }
@media (max-width: 640px) {
    .fit-toolbar { padding: 6px 12px; }
    .fit-session-bar { padding: 0; margin-left: 0; }
    .fit-toolbar > .fit-session-bar { order: 3; width: 100%; }
    .fit-toolbar .fit-toolbar__group { width: 100%; }
    .fit-toolbar .fit-toolbar__control, .fit-toolbar .fit-toolbar__form { flex: 1; }
    .fit-toolbar .fit-toolbar__form .fit-toolbar__control { width: 100%; }
}
@media print { .fit-toolbar { display: none; } }
.fit-document-centered { min-height: calc(100vh - 69px); display: flex; align-items: center; justify-content: center; }
