/*
|--------------------------------------------------------------------------
| Science Network UI System v2
|--------------------------------------------------------------------------
| Единая дизайн-система публичной части и административной панели.
| Семантические цвета сущностей сохраняются. Цвет обычного интерфейса — синий.
*/

:root {
    --sn-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

    --sn-blue: #4472C4;
    --sn-blue-dark: #2F528F;
    --sn-blue-soft: #EEF4FF;
    --sn-blue-ring: rgba(68, 114, 196, .16);

    --sn-green: #70AD47;
    --sn-green-dark: #507E32;
    --sn-orange: #ED7D31;
    --sn-orange-dark: #AE5A21;
    --sn-light-blue: #5B9BD5;
    --sn-light-blue-dark: #41719C;
    --sn-yellow: #FFC000;
    --sn-gold: #BC8C00;
    --sn-purple: #9A57CD;
    --sn-purple-dark: #7030A0;
    --sn-gray: #A5A5A5;

    --sn-text: #1F2937;
    --sn-text-secondary: #64748B;
    --sn-text-muted: #94A3B8;
    --sn-bg: #F8FAFC;
    --sn-surface: #FFFFFF;
    --sn-surface-soft: #F8FAFC;
    --sn-border: #E5E7EB;
    --sn-border-strong: #D6DEE8;

    --sn-danger: #C73E4D;
    --sn-danger-dark: #9E2F3C;
    --sn-danger-soft: #FFF1F2;
    --sn-success: #4F8F35;
    --sn-success-soft: #F0F8EC;

    --sn-radius-xs: 8px;
    --sn-radius-sm: 10px;
    --sn-radius-md: 14px;
    --sn-radius: 18px;
    --sn-radius-lg: 22px;
    --sn-radius-pill: 999px;

    --sn-shadow-xs: 0 2px 8px rgba(15, 23, 42, .04);
    --sn-shadow-sm: 0 6px 18px rgba(15, 23, 42, .055);
    --sn-shadow-md: 0 14px 34px rgba(15, 23, 42, .075);
    --sn-shadow-lg: 0 22px 50px rgba(15, 23, 42, .11);

    --sn-control-height-sm: 34px;
    --sn-control-height: 44px;
    --sn-control-height-lg: 48px;

    --sn-page-title-size: 44px;
    --sn-section-title-size: 28px;
    --sn-card-title-size: 20px;
    --sn-body-size: 14px;
    --sn-small-size: 12px;
    --sn-eyebrow-size: 11px;

    --sn-content-max: 1320px;
    --sn-admin-max: 1420px;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    font-family: var(--sn-font-sans);
    color: var(--sn-text);
    background: var(--sn-bg);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body {
    min-height: 100vh;
    margin: 0;
    color: var(--sn-text) !important;
    background: var(--sn-bg);
    font-family: var(--sn-font-sans) !important;
    font-size: var(--sn-body-size);
    line-height: 1.55;
}

button,
input,
select,
textarea,
optgroup,
.btn,
.form-control,
.form-select {
    font-family: var(--sn-font-sans) !important;
}

img {
    max-width: 100%;
}

::selection {
    color: var(--sn-text);
    background: #DDE9FF;
}

/* --------------------------------------------------------------------------
   Public shell / navigation
   -------------------------------------------------------------------------- */

.sn-public {
    background: #FFFFFF;
}

.page-container {
    min-height: calc(100vh - 76px);
}

.navbar-science {
    min-height: 76px;
    padding: 12px 0 !important;
    background: rgba(255, 255, 255, .96) !important;
    border-bottom: 1px solid var(--sn-border);
    backdrop-filter: blur(14px);
    box-shadow: 0 1px 0 rgba(15, 23, 42, .02);
}

.navbar-science .container {
    max-width: var(--sn-content-max);
}

.brand-mark {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    border-radius: 12px;
    color: #FFFFFF;
    background: linear-gradient(135deg, var(--sn-blue), var(--sn-green));
    font-size: 17px;
    font-weight: 850;
    letter-spacing: -.03em;
    transition: transform .16s ease, box-shadow .16s ease;
}

.navbar-brand:hover .brand-mark {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(68, 114, 196, .16);
}

.brand-name {
    color: var(--sn-text);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -.35px;
}

.navbar-science .nav-link {
    position: relative;
    padding: 9px 10px !important;
    border-radius: 8px;
    color: var(--sn-text-secondary) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2;
    transition: color .15s ease, background-color .15s ease;
}

.navbar-science .nav-link:hover {
    color: var(--sn-blue-dark) !important;
    background: transparent !important;
}

.navbar-science .nav-link.active,
.navbar-science .nav-link.network-link.active {
    color: var(--sn-text) !important;
    background: transparent !important;
}

.navbar-science .nav-link.active::after {
    content: "";
    position: absolute;
    left: 11px;
    right: 11px;
    bottom: 2px;
    height: 2px;
    border-radius: var(--sn-radius-pill);
    background: var(--sn-blue) !important;
}

.navbar-science .navbar-toggler {
    border: 1px solid var(--sn-border-strong);
    border-radius: 10px;
    box-shadow: none !important;
}

.sn-site-footer {
    margin-top: 0 !important;
    padding: 34px 0 !important;
    border-top: 1px solid var(--sn-border);
    color: var(--sn-text-secondary);
    background: #FFFFFF;
}

.sn-site-footer strong {
    color: var(--sn-text);
}

/* --------------------------------------------------------------------------
   Typography
   -------------------------------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6,
.page-title,
.section-title,
.admin-page-title,
.timeline-title,
.timeline-page-title,
.sn-network-title,
.fields-title,
.field-name,
.universities-title,
.schools-title,
.admin-dashboard-title,
.home-hero-title {
    color: var(--sn-text);
    font-family: var(--sn-font-sans) !important;
}

.page-title,
.admin-page-title,
.timeline-page-title,
.timeline-title,
.sn-network-title,
.fields-title,
.field-name,
.universities-title,
.schools-title,
.admin-dashboard-title,
.home-hero-title {
    font-size: var(--sn-page-title-size) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -1.15px !important;
}

.section-title,
.sn-section-title,
.field-section-title,
.scientist-admin-section-title {
    font-size: var(--sn-section-title-size) !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    letter-spacing: -.45px !important;
}

.sn-card-title,
.card-title {
    font-size: var(--sn-card-title-size) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

p,
.section-subtitle,
.page-description,
.sn-page-description,
.fields-description,
.field-summary,
.universities-description,
.schools-description,
.timeline-description,
.sn-network-description,
.admin-dashboard-subtitle {
    color: var(--sn-text-secondary) !important;
}

.text-secondary,
.text-muted {
    color: var(--sn-text-secondary) !important;
}

.eyebrow,
.sn-eyebrow,
.page-eyebrow,
.section-eyebrow,
.section-kicker,
.scientist-admin-section-label,
.network-page-label,
.timeline-page-label,
.timeline-kicker,
.fields-eyebrow,
.field-kicker,
.universities-label,
.schools-kicker,
.admin-dashboard-eyebrow {
    font-size: var(--sn-eyebrow-size) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

.eyebrow,
.sn-eyebrow,
.page-eyebrow,
.section-eyebrow,
.section-kicker,
.scientist-admin-section-label,
.network-page-label,
.timeline-page-label,
.timeline-kicker,
.admin-dashboard-eyebrow {
    color: var(--sn-blue) !important;
}

small,
.small {
    font-size: var(--sn-small-size) !important;
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

.btn,
.sn-btn,
button.btn,
a.btn,
.btn-primary-science,
.sn-network-tool,
.timeline-control,
.timeline-button,
.timeline-zoom-button,
.network-action,
.network-button {
    min-height: var(--sn-control-height) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 16px !important;
    border-radius: var(--sn-radius-sm) !important;
    font-family: var(--sn-font-sans) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.btn:hover,
.sn-btn:hover,
.btn-primary-science:hover,
.sn-network-tool:hover,
.timeline-control:hover,
.timeline-button:hover,
.timeline-zoom-button:hover,
.network-action:hover,
.network-button:hover {
    transform: translateY(-1px);
}

.btn:focus-visible,
.sn-btn:focus-visible,
.btn-primary-science:focus-visible,
.sn-network-tool:focus-visible,
.timeline-control:focus-visible,
.timeline-button:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 4px var(--sn-blue-ring) !important;
}

.btn-sm,
.sn-btn-sm,
.admin-page-shell .btn-sm {
    min-height: var(--sn-control-height-sm) !important;
    padding: 0 12px !important;
    border-radius: 9px !important;
    font-size: 12px !important;
}

.btn-lg,
.sn-btn-lg {
    min-height: var(--sn-control-height-lg) !important;
    padding: 0 20px !important;
    font-size: 14px !important;
}

.btn-primary,
.btn-primary-science,
.sn-btn-primary {
    border: 1px solid var(--sn-blue) !important;
    background: var(--sn-blue) !important;
    color: #FFFFFF !important;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary-science:hover,
.btn-primary-science:active,
.sn-btn-primary:hover,
.sn-btn-primary:active {
    border-color: var(--sn-blue-dark) !important;
    background: var(--sn-blue-dark) !important;
    color: #FFFFFF !important;
}

.btn-outline-primary,
.btn-outline-secondary,
.btn-light,
.sn-btn-secondary,
.sn-network-tool,
.timeline-control,
.timeline-button,
.timeline-zoom-button,
.network-action,
.network-button {
    border: 1px solid var(--sn-border-strong) !important;
    background: #FFFFFF !important;
    color: var(--sn-text-secondary) !important;
}

.btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-light:hover,
.sn-btn-secondary:hover,
.sn-network-tool:hover,
.timeline-control:hover,
.timeline-button:hover,
.timeline-zoom-button:hover,
.network-action:hover,
.network-button:hover {
    border-color: #C5D0DC !important;
    background: #F4F7FA !important;
    color: var(--sn-text) !important;
}

.btn-outline-danger,
.sn-btn-danger {
    border-color: #E7BBC0 !important;
    background: #FFFFFF !important;
    color: var(--sn-danger) !important;
}

.btn-outline-danger:hover,
.sn-btn-danger:hover {
    border-color: var(--sn-danger) !important;
    background: var(--sn-danger-soft) !important;
    color: var(--sn-danger-dark) !important;
}

.btn-danger {
    border-color: var(--sn-danger) !important;
    background: var(--sn-danger) !important;
    color: #FFFFFF !important;
}

/* --------------------------------------------------------------------------
   Forms
   -------------------------------------------------------------------------- */

.form-control,
.form-select,
.sn-input,
.sn-select,
.scientist-search-input,
.university-search-input,
.fields-search-input,
.sn-network-search {
    min-height: var(--sn-control-height) !important;
    padding: 9px 12px !important;
    border: 1px solid var(--sn-border-strong) !important;
    border-radius: var(--sn-radius-sm) !important;
    background-color: #FFFFFF !important;
    color: var(--sn-text) !important;
    font-size: 13px !important;
    font-weight: 450 !important;
    line-height: 1.35 !important;
    outline: none !important;
    box-shadow: none !important;
}

textarea.form-control,
textarea.sn-input {
    min-height: 110px !important;
    line-height: 1.55 !important;
    resize: vertical;
}

.form-control::placeholder,
.sn-input::placeholder,
.scientist-search-input::placeholder,
.university-search-input::placeholder,
.fields-search-input::placeholder,
.sn-network-search::placeholder {
    color: var(--sn-text-muted) !important;
    opacity: 1;
}

.form-control:focus,
.form-select:focus,
.sn-input:focus,
.sn-select:focus,
.scientist-search-input:focus,
.university-search-input:focus,
.fields-search-input:focus,
.sn-network-search:focus {
    border-color: #8DB7F4 !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 0 4px var(--sn-blue-ring) !important;
}

.form-label,
.timeline-filter-label {
    margin-bottom: 7px !important;
    color: var(--sn-text) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.form-text {
    color: var(--sn-text-muted) !important;
    font-size: 11px !important;
}

.form-check-input {
    width: 17px !important;
    height: 17px !important;
    border-color: #CBD5E1 !important;
    box-shadow: none !important;
}

.form-check-input:checked {
    border-color: var(--sn-blue) !important;
    background-color: var(--sn-blue) !important;
}

.form-check-input:focus {
    border-color: var(--sn-blue) !important;
    box-shadow: 0 0 0 3px var(--sn-blue-ring) !important;
}

input[type="file"].form-control,
.scientific-field-file-input {
    min-height: var(--sn-control-height) !important;
    padding: 0 !important;
    overflow: hidden;
    background: #FFFFFF !important;
}

input[type="file"].form-control::file-selector-button,
.scientific-field-file-input::file-selector-button {
    min-height: var(--sn-control-height) !important;
    margin: 0 14px 0 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-right: 1px solid var(--sn-border) !important;
    background: #F3F5F8 !important;
    color: var(--sn-text) !important;
    font: inherit !important;
    font-weight: 650 !important;
    cursor: pointer;
}

input[type="file"].form-control::file-selector-button:hover,
.scientific-field-file-input::file-selector-button:hover {
    background: #E9EEF5 !important;
}

/* --------------------------------------------------------------------------
   Cards, panels, modal, alerts
   -------------------------------------------------------------------------- */

.card,
.card-science,
.content-card,
.sn-card,
.sn-panel,
.field-section,
.field-hero,
.sn-network-workspace,
.timeline-filter-card,
.scientist-search-card,
.university-search-card,
.fields-search,
.admin-dashboard-stat,
.admin-dashboard-card {
    border-color: var(--sn-border) !important;
    border-radius: var(--sn-radius) !important;
    background-color: var(--sn-surface) !important;
    box-shadow: none;
}

.card-science:hover,
.sn-card.is-clickable:hover,
a.card-science:hover,
.scientist-card:hover,
.university-card:hover,
.school-card:hover,
.field-card:hover {
    border-color: #D3DCE6 !important;
    box-shadow: var(--sn-shadow-md) !important;
}

.modal-content,
.dropdown-menu {
    border: 1px solid var(--sn-border) !important;
    border-radius: var(--sn-radius-md) !important;
    box-shadow: var(--sn-shadow-lg) !important;
}

.modal-header,
.modal-footer {
    border-color: var(--sn-border) !important;
}

.alert {
    border-radius: var(--sn-radius-md) !important;
    font-size: 13px !important;
}

.alert-success {
    border-color: #DDEDD5 !important;
    background: var(--sn-success-soft) !important;
    color: #365F28 !important;
}

.alert-danger {
    border-color: #F0CDD1 !important;
    background: var(--sn-danger-soft) !important;
    color: #8F2C38 !important;
}

/* --------------------------------------------------------------------------
   Stats / badges / pills
   -------------------------------------------------------------------------- */

.badge,
.sn-badge,
.field-card-stat,
.network-stat,
.sn-network-stat,
.scientist-stat-badge,
.universities-stat,
.timeline-summary-badge {
    border-radius: var(--sn-radius-pill) !important;
    font-size: 10px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
}

/* --------------------------------------------------------------------------
   Catalogue search and suggestions — unified
   -------------------------------------------------------------------------- */

.scientist-search-card,
.university-search-card,
.fields-search,
.timeline-filter-card {
    position: relative;
    z-index: 40;
    padding: 14px !important;
    overflow: visible !important;
    box-shadow: var(--sn-shadow-xs) !important;
}

.scientist-search-form,
.university-search-form,
.schools-search {
    gap: 10px !important;
}

.scientist-search-input,
.university-search-input,
.fields-search-input {
    height: var(--sn-control-height-lg) !important;
    padding-left: 15px !important;
    padding-right: 42px !important;
    font-size: 14px !important;
}

.scientist-search-button,
.university-search-button,
.fields-search-button,
.schools-search .btn {
    min-width: 110px !important;
    height: var(--sn-control-height-lg) !important;
    min-height: var(--sn-control-height-lg) !important;
    padding: 0 18px !important;
    border: 1px solid var(--sn-blue) !important;
    border-radius: var(--sn-radius-sm) !important;
    background: var(--sn-blue) !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 750 !important;
}

.scientist-search-button:hover,
.university-search-button:hover,
.fields-search-button:hover,
.schools-search .btn:hover {
    border-color: var(--sn-blue-dark) !important;
    background: var(--sn-blue-dark) !important;
}

.scientist-search-reset,
.university-search-reset {
    height: var(--sn-control-height-lg) !important;
    min-height: var(--sn-control-height-lg) !important;
    padding: 0 16px !important;
    border: 1px solid var(--sn-border-strong) !important;
    border-radius: var(--sn-radius-sm) !important;
    background: #FFFFFF !important;
    color: var(--sn-text-secondary) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.scientist-suggestions,
.university-suggestions,
.fields-suggestions,
.timeline-search-suggestions,
.sn-network-suggestions {
    border: 1px solid var(--sn-border) !important;
    border-radius: var(--sn-radius-md) !important;
    background: #FFFFFF !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .13) !important;
}

.scientist-suggestions a,
.university-suggestion,
.fields-suggestion,
.timeline-search-suggestion,
.sn-network-suggestion {
    color: var(--sn-text) !important;
    background: transparent !important;
    transition: background-color .12s ease !important;
}

.scientist-suggestions a:hover,
.scientist-suggestions a.active,
.university-suggestion:hover,
.university-suggestion.active,
.fields-suggestion:hover,
.fields-suggestion.active,
.timeline-search-suggestion:hover,
.timeline-search-suggestion.active,
.sn-network-suggestion:hover {
    background: #F2F6FA !important;
}

/* --------------------------------------------------------------------------
   Active controls / tabs / filters
   -------------------------------------------------------------------------- */

.nav-pills .nav-link.active,
.nav-tabs .nav-link.active,
.sn-toggle.active,
.sn-filter.active,
.network-filter.active,
.sn-network-mode.active,
.sn-network-layer.active,
.timeline-layer.active,
.timeline-view-switch.active,
.timeline-view-button.active,
.timeline-type-link.active,
.timeline-layer-toggle.active {
    border-color: #B9CAEA !important;
    background: var(--sn-blue-soft) !important;
    color: var(--sn-blue-dark) !important;
    box-shadow: none !important;
}

.timeline-layer-toggle.active .timeline-layer-check,
.sn-network-layer.active .sn-network-check {
    border-color: var(--sn-blue) !important;
    background: var(--sn-blue) !important;
    color: #FFFFFF !important;
}

/* НТП — семантический золотой акцент */
.sn-network-mode[data-mode="ntp"].active,
.timeline-ntp-switch.active,
.ntp-toggle.active {
    border-color: #DFC052 !important;
    background: #FFF9E8 !important;
    color: #876300 !important;
}

/* --------------------------------------------------------------------------
   Timeline / Network controls
   -------------------------------------------------------------------------- */

.sn-network-tool,
.timeline-control,
.timeline-button,
.timeline-zoom-button,
.network-action,
.network-button {
    min-height: var(--sn-control-height-sm) !important;
    padding: 0 12px !important;
    font-size: 11px !important;
}

.sn-network-mode,
.sn-network-layer,
.timeline-type-link,
.timeline-layer-toggle,
.timeline-view-button {
    font-family: var(--sn-font-sans) !important;
    font-size: 11px !important;
    font-weight: 750 !important;
}

/* --------------------------------------------------------------------------
   Tables
   -------------------------------------------------------------------------- */

.table {
    margin-bottom: 0;
    color: var(--sn-text);
    font-size: 13px;
    vertical-align: middle;
}

.table thead th {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    color: var(--sn-text-secondary) !important;
    background: #FBFCFE;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .025em;
    text-transform: uppercase;
    white-space: nowrap;
}

.table > :not(caption) > * > * {
    border-bottom-color: #EEF2F7 !important;
}

.table tbody tr:hover > * {
    background-color: #FBFCFE !important;
}

.table-responsive {
    border-radius: inherit;
}

/* --------------------------------------------------------------------------
   Pagination
   -------------------------------------------------------------------------- */

.pagination {
    gap: 5px;
    margin-bottom: 0;
}

.page-link {
    min-width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--sn-border-strong) !important;
    border-radius: 9px !important;
    color: var(--sn-text-secondary) !important;
    background: #FFFFFF !important;
    font-size: 12px;
    font-weight: 700;
    box-shadow: none !important;
}

.page-link:hover {
    color: var(--sn-blue-dark) !important;
    background: var(--sn-blue-soft) !important;
}

.page-item.active .page-link {
    border-color: var(--sn-blue) !important;
    color: #FFFFFF !important;
    background: var(--sn-blue) !important;
}

.page-item.disabled .page-link {
    color: #B8C2CF !important;
    background: #F8FAFC !important;
}

/* --------------------------------------------------------------------------
   Links
   -------------------------------------------------------------------------- */

a {
    text-underline-offset: 2px;
}

a:not(.btn):not(.nav-link):not(.navbar-brand):not(.card-science):not(.field-card):not(.field-related-card):not(.field-person):not(.field-entity):not(.admin-dashboard-card) {
    color: var(--sn-blue);
}

a:not(.btn):not(.nav-link):not(.navbar-brand):hover {
    color: var(--sn-blue-dark);
}

/* --------------------------------------------------------------------------
   Admin shell / navigation
   -------------------------------------------------------------------------- */

.sn-admin,
.admin-page-shell {
    color: var(--sn-text) !important;
    background: var(--sn-bg) !important;
    font-family: var(--sn-font-sans) !important;
}

.admin-page-shell {
    min-height: 100vh !important;
    padding: 26px 0 54px !important;
}

.admin-page-container {
    width: min(var(--sn-admin-max), calc(100% - 56px)) !important;
    max-width: var(--sn-admin-max) !important;
    margin: 0 auto !important;
}

.admin-global-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
}

.admin-brand {
    color: var(--sn-blue) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase;
    text-decoration: none;
}

.admin-brand:hover {
    color: var(--sn-blue-dark) !important;
}

.admin-global-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.admin-global-actions form {
    margin: 0;
}

.admin-nav {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0 0 26px;
    padding: 6px;
    overflow-x: auto;
    border: 1px solid var(--sn-border);
    border-radius: 14px;
    background: #FFFFFF;
    scrollbar-width: thin;
}

.admin-nav-link {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 0 11px;
    border-radius: 9px;
    color: var(--sn-text-secondary) !important;
    font-size: 11px;
    font-weight: 750;
    text-decoration: none;
    white-space: nowrap;
}

.admin-nav-link:hover {
    color: var(--sn-text) !important;
    background: #F4F7FA;
}

.admin-nav-link.active {
    color: var(--sn-blue-dark) !important;
    background: var(--sn-blue-soft);
}

.admin-page-shell .content-card,
.admin-page-shell .card,
.admin-page-shell .card-science,
.admin-page-shell .admin-subpanel,
.admin-page-shell .scientist-admin-section {
    width: 100%;
    border: 1px solid var(--sn-border) !important;
    border-radius: var(--sn-radius) !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
}

.admin-page-shell .content-card,
.admin-page-shell .scientist-admin-section {
    padding: 26px !important;
}

.admin-page-shell .content-card > h2,
.admin-page-shell .content-card > .h4,
.admin-page-shell .content-card h2.h4 {
    margin-top: 0 !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -.3px !important;
}

.admin-page-shell .page-title {
    margin: 0 !important;
    font-size: 40px !important;
}

.admin-page-shell .row {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
}

.admin-page-shell .form-control,
.admin-page-shell .form-select {
    width: 100% !important;
}

.admin-page-shell .form-control-color {
    min-height: var(--sn-control-height) !important;
    height: var(--sn-control-height) !important;
    padding: 6px !important;
}

.admin-page-shell .field-relationship-row {
    border-color: var(--sn-border) !important;
    background: #FBFCFE !important;
}

/* Legacy admin pages that used the public layout are normalized here. */
.admin-page-shell .admin-page-container > section.py-5 {
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: transparent !important;
}

.admin-page-shell .admin-page-container > section.py-5 > .container,
.admin-page-shell .admin-page-container > section > .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.admin-page-shell .admin-page-container > section .card-science {
    border-radius: var(--sn-radius) !important;
}

.admin-dashboard-stat {
    min-height: 108px !important;
    padding: 22px 24px !important;
}

.admin-dashboard-stat strong {
    color: var(--sn-text) !important;
    font-size: 28px !important;
    font-weight: 850 !important;
}

.admin-dashboard-card {
    padding: 24px !important;
}

/* --------------------------------------------------------------------------
   Accessibility / usability
   -------------------------------------------------------------------------- */

:focus-visible {
    outline: 3px solid rgba(68, 114, 196, .28);
    outline-offset: 2px;
}

button:disabled,
.btn.disabled,
.btn:disabled,
input:disabled,
select:disabled,
textarea:disabled {
    cursor: not-allowed !important;
    opacity: .62 !important;
}

[role="button"],
button,
a.btn,
label[for],
.form-check-input,
.form-select {
    touch-action: manipulation;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1199.98px) {
    .navbar-science .navbar-collapse {
        padding-top: 14px;
    }

    .navbar-science .navbar-nav {
        gap: 3px;
        margin-bottom: 14px;
    }

    .navbar-science .nav-link {
        padding: 9px 11px !important;
    }

    .navbar-science .nav-link.active::after {
        display: none;
    }
}

@media (max-width: 767.98px) {
    :root {
        --sn-page-title-size: 34px;
        --sn-section-title-size: 24px;
    }

    .admin-page-shell {
        padding-top: 18px !important;
    }

    .admin-page-container {
        width: calc(100% - 28px) !important;
        max-width: none !important;
    }

    .admin-global-bar {
        align-items: flex-start;
    }

    .admin-page-shell .content-card,
    .admin-page-shell .scientist-admin-section {
        padding: 20px !important;
    }

    .admin-page-shell .page-title {
        font-size: 32px !important;
    }

    .scientist-search-form,
    .university-search-form,
    .schools-search {
        flex-direction: column !important;
    }

    .scientist-search-button,
    .university-search-button,
    .fields-search-button,
    .scientist-search-reset,
    .university-search-reset,
    .schools-search .btn {
        width: 100% !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* --------------------------------------------------------------------------
   Final consistency pass for existing page-specific templates
   -------------------------------------------------------------------------- */

.universities-page,
.schools-page,
.fields-page,
.timeline-page,
.sn-network-page,
.scientists-page {
    background: var(--sn-bg) !important;
}

.admin-page-shell h1.fw-bold,
.admin-page-shell h1.page-title {
    color: var(--sn-text) !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -1px !important;
}

.admin-page-shell .card-science:hover,
.admin-page-shell .card:hover,
.admin-page-shell .content-card:hover {
    transform: none !important;
    box-shadow: none !important;
}

.scientist-card,
.university-card,
.school-card,
.field-card,
.home-network-card,
.publication-public-card,
.family-public-card {
    border-radius: var(--sn-radius) !important;
}

.scientist-card-name,
.university-card-title,
.school-card-title,
.field-card-title,
.publication-public-title,
.family-public-name {
    color: var(--sn-text) !important;
    font-family: var(--sn-font-sans) !important;
}

.scientist-card-field,
.badge-field,
.field-tag,
.publication-type-badge,
.publication-year-badge {
    font-family: var(--sn-font-sans) !important;
}

@media (max-width: 767.98px) {
    .admin-page-shell h1.fw-bold,
    .admin-page-shell h1.page-title {
        font-size: 32px !important;
    }
}

/* ==========================================================================
   Science Network — consistency pass 2026-09-11
   ========================================================================== */

/* Main navigation: active page is indicated only by the underline. */
.navbar-science .nav-link.active,
.navbar-science .nav-link.network-link.active {
    color: var(--sn-text) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.navbar-science .nav-link:hover {
    color: var(--sn-blue-dark) !important;
    background: transparent !important;
}

/* Public catalogue typography — one scale for Scientists / Universities / Schools. */
.sn-public .scientists-page-title,
.sn-public .universities-title,
.sn-public .schools-title,
.sn-public .fields-title,
.sn-public .timeline-title,
.sn-public .sn-network-title {
    margin: 0 !important;
    color: var(--sn-text) !important;
    font-family: var(--sn-font-sans) !important;
    font-size: var(--sn-page-title-size) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -1.15px !important;
}

.sn-public .scientists-page-description,
.sn-public .universities-description,
.sn-public .schools-description {
    max-width: 820px !important;
    color: var(--sn-text-secondary) !important;
    font-family: var(--sn-font-sans) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
}

.sn-public .scientists-page-eyebrow,
.sn-public .universities-label,
.sn-public .schools-kicker {
    font-family: var(--sn-font-sans) !important;
    font-size: var(--sn-eyebrow-size) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

/* Catalogue search controls share the same height and font. */
.scientist-search-input,
.university-search-input,
.schools-search-input {
    min-height: var(--sn-control-height-lg) !important;
    font-family: var(--sn-font-sans) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

.scientist-search-button,
.university-search-button,
.schools-search-button,
.scientist-search-reset,
.university-search-reset,
.schools-search-reset {
    min-height: var(--sn-control-height-lg) !important;
    font-family: var(--sn-font-sans) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
}

/* Timeline view switch must have an obvious selected state. */
.timeline-view-button.active {
    color: #FFFFFF !important;
    background: var(--sn-blue) !important;
    box-shadow: 0 4px 12px rgba(68, 114, 196, .20) !important;
}
.timeline-view-button.active:hover {
    color: #FFFFFF !important;
    background: var(--sn-blue-dark) !important;
}

/* NTP filter links are semantic filters, not regular blue links. */
.ntp-filter-link,
a.ntp-filter-link {
    color: var(--sn-text-secondary) !important;
}
.ntp-filter-link:hover,
a.ntp-filter-link:hover {
    color: var(--sn-text) !important;
}
.ntp-filter-link.active,
a.ntp-filter-link.active {
    color: #7A5A00 !important;
}

/* Network primary panel action — keep white text over blue. */
.sn-network-panel-button.primary,
a.sn-network-panel-button.primary,
#sn-open-profile {
    color: #FFFFFF !important;
}
.sn-network-panel-button.primary:hover,
a.sn-network-panel-button.primary:hover,
#sn-open-profile:hover {
    color: #FFFFFF !important;
}

/* Admin pages: one canvas width and one font, regardless of legacy nested containers. */
.sn-admin,
.sn-admin * {
    font-family: var(--sn-font-sans) !important;
}

.admin-page-shell .admin-page-container {
    width: min(var(--sn-admin-max), calc(100% - 56px)) !important;
    max-width: var(--sn-admin-max) !important;
    margin-inline: auto !important;
}

.admin-page-shell .admin-page-container .container,
.admin-page-shell .admin-page-container .container-fluid {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.admin-page-shell .admin-page-container > section,
.admin-page-shell .school-admin-page {
    width: 100% !important;
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: transparent !important;
}

.admin-page-shell h1,
.admin-page-shell .school-admin-title,
.admin-page-shell h1.fw-bold,
.admin-page-shell h1.page-title {
    color: var(--sn-text) !important;
    font-family: var(--sn-font-sans) !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -1px !important;
}

.admin-page-shell .school-admin-description,
.admin-page-shell .text-secondary {
    font-family: var(--sn-font-sans) !important;
}

.admin-page-shell .school-search-panel,
.admin-page-shell .card-science,
.admin-page-shell .content-card,
.admin-page-shell .card {
    width: 100% !important;
}

.admin-page-shell .school-search-row {
    width: 100% !important;
}
.admin-page-shell .school-search-row > .form-control {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

@media (max-width: 767.98px) {
    .sn-public .scientists-page-title,
    .sn-public .universities-title,
    .sn-public .schools-title,
    .sn-public .fields-title,
    .sn-public .timeline-title,
    .sn-public .sn-network-title {
        font-size: 34px !important;
    }
}



/* ==========================================================================\n   Science Network UI v4 — hard unification\n   ========================================================================== */

/* One visual typography contract for all catalogue pages. */
.sn-public main,
.sn-admin,
.sn-admin .admin-page-shell {
    font-family: var(--sn-font-sans) !important;
}

.sn-public main h1,
.sn-public .scientists-page-title,
.sn-public .universities-title,
.sn-public .schools-title,
.sn-public .fields-title,
.sn-public .timeline-title,
.sn-public .sn-network-title {
    font-family: var(--sn-font-sans) !important;
    font-size: 44px !important;
    font-weight: 800 !important;
    line-height: 48px !important;
    letter-spacing: -1.15px !important;
}

.sn-public .scientists-page-description,
.sn-public .universities-description,
.sn-public .schools-description,
.sn-public .fields-description,
.sn-public .timeline-description,
.sn-public .sn-network-description {
    font-family: var(--sn-font-sans) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
    color: var(--sn-text-secondary) !important;
}

/* Page-level coloured eyebrow labels are intentionally removed. */
.scientists-page-eyebrow,
.universities-label,
.schools-kicker,
.fields-eyebrow,
.field-kicker,
.timeline-kicker,
.sn-network-eyebrow,
.admin-dashboard-eyebrow,
.school-admin-label,
.admin-page-eyebrow {
    display: none !important;
}

/* Admin heading system. */
.sn-admin h1,
.sn-admin .page-title,
.sn-admin .admin-dashboard-title,
.sn-admin .school-admin-title {
    font-family: var(--sn-font-sans) !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    line-height: 44px !important;
    letter-spacing: -1px !important;
}

.sn-admin .admin-page-container > section,
.sn-admin .admin-catalog-page {
    font-family: var(--sn-font-sans) !important;
}

/* Admin top action: only one blue "На сайт". */
.admin-global-actions > a[href] {
    border-color: var(--sn-blue) !important;
    background: var(--sn-blue) !important;
    color: #fff !important;
}
.admin-global-actions > a[href]:hover {
    border-color: var(--sn-blue-dark) !important;
    background: var(--sn-blue-dark) !important;
    color: #fff !important;
}

/* Unified admin catalogue page geometry. */
.admin-catalog-page {
    width: 100%;
    padding: 36px 0 54px;
}
.admin-catalog-header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:28px;
}
.admin-catalog-header-copy { min-width:0; }
.admin-catalog-title {
    margin:0;
    color:var(--sn-text);
    font-size:40px !important;
    font-weight:800 !important;
    line-height:44px !important;
    letter-spacing:-1px !important;
}
.admin-catalog-description {
    max-width:860px;
    margin:8px 0 0;
    color:var(--sn-text-secondary);
    font-size:14px;
    line-height:1.6;
}
.admin-catalog-add {
    flex:0 0 auto;
    min-height:44px !important;
    padding:0 18px !important;
    border-color:var(--sn-blue) !important;
    background:var(--sn-blue) !important;
    color:#fff !important;
    font-weight:800 !important;
}
.admin-catalog-add:hover {
    border-color:var(--sn-blue-dark) !important;
    background:var(--sn-blue-dark) !important;
    color:#fff !important;
}

/* Same search panel in every admin catalogue. */
.admin-search-card {
    position:relative;
    z-index:40;
    width:100%;
    margin-bottom:24px;
    padding:16px;
    overflow:visible !important;
    background:#fff;
    border:1px solid var(--sn-border);
    border-radius:18px;
    box-shadow:var(--sn-shadow-xs);
}
.admin-search-form {
    display:flex;
    align-items:flex-end;
    gap:10px;
    width:100%;
}
.admin-search-field {
    position:relative;
    flex:1 1 auto;
    min-width:0;
}
.admin-search-filter {
    flex:0 0 min(300px, 28%);
}
.admin-search-input,
.admin-search-filter .form-select {
    width:100% !important;
    height:48px !important;
    min-height:48px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    border:1px solid var(--sn-border-strong) !important;
    border-radius:11px !important;
    background:#fff !important;
    color:var(--sn-text) !important;
    font-size:13px !important;
}
.admin-search-input { padding-right:42px !important; }
.admin-search-input:focus,
.admin-search-filter .form-select:focus {
    border-color:#8DB7F4 !important;
    box-shadow:0 0 0 4px var(--sn-blue-ring) !important;
}
.admin-search-icon {
    position:absolute;
    top:50%;
    right:14px;
    transform:translateY(-50%);
    color:var(--sn-text-muted);
    pointer-events:none;
}
.admin-search-button,
.admin-search-reset {
    flex:0 0 124px;
    width:124px !important;
    min-width:124px !important;
    height:48px !important;
    min-height:48px !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    padding:0 16px !important;
    border-radius:11px !important;
    font-size:13px !important;
    font-weight:800 !important;
}
.admin-search-button {
    border-color:var(--sn-blue) !important;
    background:var(--sn-blue) !important;
    color:#fff !important;
}
.admin-search-button:hover {
    border-color:var(--sn-blue-dark) !important;
    background:var(--sn-blue-dark) !important;
    color:#fff !important;
}
.admin-search-suggestions {
    position:absolute;
    z-index:150;
    top:calc(100% + 8px);
    left:0;
    right:0;
    display:none;
    max-height:360px;
    overflow:auto;
    padding:7px;
    background:#fff;
    border:1px solid var(--sn-border);
    border-radius:13px;
    box-shadow:0 18px 40px rgba(15,23,42,.14);
}
.admin-search-suggestion {
    width:100%;
    display:flex;
    align-items:center;
    gap:11px;
    padding:9px 10px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:var(--sn-text);
    text-align:left;
    cursor:pointer;
}
.admin-search-suggestion:hover,
.admin-search-suggestion.active { background:#F1F5F9; }
.admin-search-suggestion-visual {
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:10px;
    background:#F8FAFC;
}
.admin-search-suggestion-visual img {
    width:100%;
    height:100%;
    object-fit:contain;
}
.admin-search-suggestion-dot {
    width:18px;
    height:18px;
    border-radius:5px;
    background:var(--suggestion-color, var(--sn-blue));
}
.admin-search-suggestion-copy { min-width:0; flex:1; }
.admin-search-suggestion-title {
    display:block;
    overflow:hidden;
    color:var(--sn-text);
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.admin-search-suggestion-meta {
    display:block;
    margin-top:2px;
    overflow:hidden;
    color:var(--sn-text-muted);
    font-size:10px;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.admin-search-suggestion-arrow { color:#CBD5E1; font-size:18px; }

.admin-catalog-table-card {
    width:100%;
    overflow:hidden;
    background:#fff;
    border:1px solid var(--sn-border);
    border-radius:18px;
}
.admin-catalog-actions {
    display:inline-flex !important;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    flex-wrap:nowrap !important;
    white-space:nowrap;
}
.admin-catalog-actions form {
    display:inline-flex !important;
    margin:0 !important;
}

/* Make the timeline call-to-action readable over semantic colours. */
.timeline-detail-profile-link,
.timeline-detail-profile-link:visited,
.timeline-detail-profile-link:hover,
.timeline-detail-profile-link:focus {
    color:#FFFFFF !important;
    text-decoration:none !important;
}

/* Network profile button: readable in all global UI states. */
.sn-network-panel-button.primary,
.sn-network-panel-button.primary:visited,
.sn-network-panel-button.primary:hover,
.sn-network-panel-button.primary:focus {
    color:#FFFFFF !important;
}

@media(max-width: 767.98px) {
    .sn-public main h1,
    .sn-public .scientists-page-title,
    .sn-public .universities-title,
    .sn-public .schools-title,
    .sn-public .fields-title,
    .sn-public .timeline-title,
    .sn-public .sn-network-title {
        font-size:34px !important;
        line-height:38px !important;
    }
    .admin-catalog-header { flex-direction:column; }
    .admin-catalog-add { width:100%; justify-content:center; }
    .admin-search-form { flex-direction:column; align-items:stretch; }
    .admin-search-filter { flex:1 1 auto; width:100%; }
    .admin-search-button,
    .admin-search-reset { width:100% !important; min-width:0 !important; flex:1 1 auto; }
}


/* ==========================================================================
   SCIENCE MAP ADMIN SEARCH
   ========================================================================== */
.sn-admin-search-form{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px;align-items:stretch}
.sn-admin-search-autocomplete{position:relative;min-width:0}
.sn-admin-search-autocomplete>.form-control{height:44px}
.sn-admin-search-button{width:120px;min-width:120px}
.sn-admin-search-suggestions{position:absolute;z-index:120;top:calc(100% + 7px);left:0;right:0;display:none;max-height:360px;overflow-y:auto;padding:6px;background:#fff;border:1px solid var(--sn-border);border-radius:12px;box-shadow:0 18px 40px rgba(15,23,42,.14)}
.sn-admin-search-suggestion{width:100%;display:grid;grid-template-columns:12px minmax(0,1fr);gap:10px;align-items:center;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:var(--sn-text);text-align:left;cursor:pointer}
.sn-admin-search-suggestion:hover,.sn-admin-search-suggestion.active{background:#F1F5F9}
.sn-admin-search-suggestion-dot{width:9px;height:9px;border-radius:50%}
.sn-admin-search-suggestion strong{display:block;font-size:12px;font-weight:750;line-height:1.35}
.sn-admin-search-suggestion small{display:block;margin-top:2px;color:var(--sn-text-muted);font-size:10px;line-height:1.35}
.sn-admin-search-empty{padding:10px;color:var(--sn-text-muted);font-size:11px}
@media(max-width:767px){.sn-admin-search-form{grid-template-columns:1fr}.sn-admin-search-button{width:100%}}

/* RESEARCH CONTEXT BAR */
.research-page{padding:34px 0 58px;background:#F8FAFC;min-height:calc(100vh - 70px)}
.research-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:18px}.research-title{margin:0;color:#1F2937;font-size:44px;font-weight:800;line-height:1.1;letter-spacing:-1px}.research-lead{max-width:900px;margin:12px 0 0;color:#64748B;font-size:15px;line-height:1.65}
.research-context-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 18px;padding:8px;background:#fff;border:1px solid #E5E7EB;border-radius:14px}.research-context-label{padding:0 8px;color:#94A3B8;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.research-context-link{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:9px;color:#64748B;text-decoration:none;font-size:11px;font-weight:750}.research-context-link:hover{background:#F1F5F9;color:#1F2937}.research-context-link.active{background:#EDF4FF;color:#2F528F}.research-context-state{display:flex;gap:6px;margin-left:auto}.research-context-state span{padding:5px 8px;border-radius:999px;background:#F1F5F9;color:#64748B;font-size:9px;font-weight:700}


/* Research infrastructure navigation cleanup. */
.admin-nav {
    overflow: visible !important;
}

.admin-nav-dropdown {
    flex: 0 0 auto;
}

.admin-nav-dropdown-toggle {
    border: 0;
    background: transparent;
}

.admin-nav-dropdown-toggle.active,
.admin-nav-dropdown-toggle:hover {
    background: var(--sn-blue-soft);
}

.admin-nav-dropdown .dropdown-menu {
    min-width: 230px;
    padding: 8px;
    border: 1px solid var(--sn-border);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(31, 41, 55, .12);
}

@media (max-width: 1199.98px) {
    .admin-nav {
        flex-wrap: wrap;
    }
}
/* Unified research mode */
.research-mode-body,.research-mode-body .page-container{background:#F8FAFC!important}.research-mode-subnav{background:#F8FAFC;padding:18px 0 0}.research-mode-subnav .research-context-bar{margin:0 0 18px;padding:10px 12px;background:#fff;border:1px solid #E5E7EB;border-radius:16px;min-height:58px}.research-mode-subnav .research-context-link{font-size:14px;min-height:38px;padding:0 16px}.research-mode-body .sn-analytics-page,.research-mode-body .science-map-page,.research-mode-body .sn-network-container,.research-mode-body .research-page{padding-top:0!important}.research-mode-body .page-container>section:first-child{padding-top:0!important}
.research-mode-body .research-page,.research-mode-body .science-map-page,.research-mode-body .sn-network-page,.research-mode-body .sn-analytics-page{padding-top:0!important}.research-mode-body .timeline-page{padding-top:0!important}.research-mode-body .research-mode-subnav+.page-container{padding-top:0!important}
.field-related-grid{gap:12px!important;grid-template-columns:repeat(auto-fill,minmax(105px,1fr))!important}.field-related-card.child-field-card{padding:10px!important}.field-related-card.child-field-card .field-related-image{width:62px!important;height:62px!important}.field-related-card.child-field-card .field-related-name{font-size:11px!important}
