/*
 * Единственная визуальная реализация шапки ЦВЭ Knowledge Hub.
 * Файл загружается после локальных стилей страниц, поэтому локальные accent-
 * переменные не меняют бренд, стрелку назад и иконку профиля.
 */
:root {
    --app-header-accent: #1967d2;
    --app-header-border: #d8e0ea;
    --app-header-text: #132033;
    --app-header-muted: #66758a;
}

.app-header[data-shared-app-header] {
    position: sticky !important;
    top: 0;
    z-index: 100;
    width: 100%;
    height: 64px !important;
    min-height: 64px !important;
    padding: 0 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-flow: row nowrap !important;
    gap: 16px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--app-header-border) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    color: var(--app-header-text) !important;
}

.app-header[data-shared-app-header] .brand {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    gap: 12px !important;
    margin: 0 !important;
    color: var(--app-header-text) !important;
    text-decoration: none !important;
}

.app-header[data-shared-app-header] .brand-home {
    flex: 0 0 auto;
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 50% !important;
    text-decoration: none !important;
}

.app-header[data-shared-app-header] .brand-mark {
    width: 42px !important;
    height: 42px !important;
    padding: 5px !important;
    display: block !important;
    object-fit: contain !important;
    border: 1px solid var(--app-header-border) !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 4px 12px rgba(20, 33, 61, 0.08) !important;
}

.app-header[data-shared-app-header] .brand-copy {
    min-width: 0;
}

.app-header[data-shared-app-header] .brand-title {
    margin: 0 !important;
    color: var(--app-header-text) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
}

.app-header[data-shared-app-header] .brand-subtitle {
    max-width: none !important;
    margin: 2px 0 0 !important;
    color: var(--app-header-muted) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
    white-space: nowrap;
}

.app-header[data-shared-app-header] .header-actions {
    min-width: 0;
    flex: 0 0 auto !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-flow: row nowrap !important;
    gap: 10px !important;
    margin: 0 !important;
}

.app-header[data-shared-app-header] .app-header-back,
.app-header[data-shared-app-header] .profile-button {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    box-shadow: none !important;
    color: var(--app-header-accent) !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

.app-header[data-shared-app-header] .app-header-back {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.app-header[data-shared-app-header] .profile-button {
    border: 1px solid var(--app-header-border) !important;
    border-radius: 50% !important;
    background: #ffffff !important;
}

.app-header[data-shared-app-header] .app-header-back:hover {
    background: transparent !important;
    color: #174ea6 !important;
}

.app-header[data-shared-app-header] .profile-button:hover {
    border-color: #9fb7dc !important;
    background: #f2f6fc !important;
    color: #174ea6 !important;
}

.app-header[data-shared-app-header] .app-header-back:focus-visible,
.app-header[data-shared-app-header] .profile-button:focus-visible,
.app-header[data-shared-app-header] .brand-home:focus-visible {
    outline: 2px solid rgba(25, 103, 210, 0.62) !important;
    outline-offset: 2px !important;
}

.app-header[data-shared-app-header] .app-header-back svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.app-header[data-shared-app-header] .profile-menu {
    position: relative;
}

body[data-page="login"],
body[data-page="register"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
}

body[data-page="login"] > main,
body[data-page="register"] > main {
    margin: auto !important;
}

@media (max-width: 1023.98px) {
    .app-header[data-shared-app-header] {
        height: 54px !important;
        min-height: 54px !important;
        padding: 8px 12px !important;
        gap: 8px !important;
    }

    .app-header[data-shared-app-header] .brand {
        gap: 8px !important;
    }

    .app-header[data-shared-app-header] .brand-mark {
        width: 36px !important;
        height: 36px !important;
        padding: 4px !important;
    }

    .app-header[data-shared-app-header] .brand-title {
        overflow: hidden;
        font-size: 16px !important;
        text-overflow: ellipsis;
    }

    .app-header[data-shared-app-header] .brand-subtitle {
        display: none !important;
    }

    .app-header[data-shared-app-header] .header-actions {
        gap: 8px !important;
    }

    .app-header[data-shared-app-header] .app-header-back,
    .app-header[data-shared-app-header] .profile-button {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
    }
}

@media (max-width: 390px) {
    .app-header[data-shared-app-header] .brand-title {
        max-width: 168px;
    }
}
