@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@300;400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

*, *::before, *::after { box-sizing: border-box; }

body {
    font-family: 'Nunito Sans', sans-serif;
    background: linear-gradient(135deg, #e8edf3 0%, #d6dfe8 100%);
    color: #1a2a3a;
    margin: 0;
    min-height: 100vh;
}

/* ── Топ-бар ── */
.topbar {
    background: #1a3a5c;
    padding: 0 20px;
    border-bottom: 3px solid #2d7dd2;
    box-shadow: 0 2px 12px rgba(26,58,92,0.25);
    position: sticky; top: 0; z-index: 1000;
}
.topbar-inner {
    display: flex; align-items: center;
    justify-content: space-between;
    height: 52px; max-width: 1600px; margin: 0 auto;
}
.topbar-brand {
    font-family: 'Playfair Display', serif;
    font-size: 18px; font-weight: 700;
    color: white; letter-spacing: 0.3px;
}
.topbar-user {
    display: flex; align-items: center;
    gap: 16px; font-size: 13px;
    color: rgba(255,255,255,0.80);
}
.topbar-link {
    color: rgba(255,255,255,0.75); text-decoration: none;
    font-size: 13px; padding: 4px 12px; border-radius: 4px;
    border: 1px solid rgba(255,255,255,0.25); transition: all 0.15s;
}
.topbar-link:hover {
    background: rgba(255,255,255,0.12);
    color: white; text-decoration: none;
}
.topbar-link-danger { border-color: rgba(220,53,69,0.5); color: #ff8a8a; }
.topbar-link-danger:hover { background: rgba(220,53,69,0.15); color: #ff6b6b; }

/* ── Картка ── */
.amku-card {
    background: #ffffff; border: 1px solid #dde3ea;
    border-radius: 10px;
    box-shadow: 0 3px 16px rgba(26,58,92,0.09);
    padding: 20px 24px; margin-bottom: 16px;
}

/* ── Фільтр-панель ── */
.filter-panel {
    background: #ffffff; border: 1px solid #dde3ea;
    border-top: 3px solid #1a3a5c;
    border-radius: 0 0 10px 10px;
    padding: 14px 20px 10px; margin-bottom: 16px;
    box-shadow: 0 2px 10px rgba(26,58,92,0.07);
}
.filter-label {
    font-size: 11px; font-weight: 700; color: #3d5a73;
    text-transform: uppercase; letter-spacing: 0.6px; margin-bottom: 4px;
}

/* ── Вкладки ── */
.nav-tabs .nav-link {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 13px; font-weight: 600; color: #3d5a73;
    border: none; border-bottom: 2px solid transparent;
    padding: 10px 20px; letter-spacing: 0.2px;
}
.nav-tabs .nav-link.active {
    color: #1a3a5c !important;
    border-bottom: 2px solid #1a3a5c !important;
    background: transparent !important;
}
.nav-tabs { border-bottom: 1px solid #dde3ea; margin-bottom: 16px; }

/* ── Dropdown — базові стилі ── */
.Select-control {
    border: 1.5px solid #dde3ea !important;
    border-radius: 6px !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 12px !important;
    height: auto !important;
    min-height: 36px !important;
}

/* ── Dropdown — автовисота для мульти-вибору ── */
.Select--multi .Select-control {
    height: auto !important;
    min-height: 36px !important;
}

/* Обгортка тегів — росте разом із вмістом */
.Select--multi .Select-multi-value-wrapper,
.Select-multi-value-wrapper {
    height: auto !important;
    min-height: 34px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    padding: 2px 4px !important;
    gap: 3px !important;
}

/* Теги обраних значень — перенос тексту всередині тегу */
.Select--multi .Select-value {
    display: inline-flex !important;
    align-items: flex-start !important;
    max-width: 100% !important;
    white-space: normal !important;
    height: auto !important;
    margin: 2px !important;
    padding: 2px 6px !important;
    background-color: #e8edf5 !important;
    border: 1px solid #c5d0de !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
}

.Select--multi .Select-value-label {
    white-space: normal !important;
    word-break: break-word !important;
    line-height: 1.4 !important;
    height: auto !important;
}

.Select--multi .Select-value-icon {
    padding: 2px 5px !important;
    line-height: 1.6 !important;
}

/* Поле вводу пошуку всередині мульти-дропдауну */
.Select--multi .Select-input {
    height: 30px !important;
    display: inline-block !important;
}

/* ── Блок профілю — висота по вмісту ── */

/* Зовнішній div кожного блоку профілю */
#profiles-container > div {
    height: auto !important;
    overflow: visible !important;
}

/* Усі Bootstrap рядки всередині контейнера профілів —
   вирівнювання по верху щоб колонки не тягнули висоту одна одної */
#profiles-container .row {
    align-items: flex-start !important;
    height: auto !important;
}

/* Колонки Bootstrap — висота строго по вмісту */
#profiles-container .col,
#profiles-container [class*="col-"] {
    height: auto !important;
}

/* ── Бейджі ── */
.badge-success { background: #d4edda; color: #155724; border-radius: 4px; padding: 2px 8px; font-size: 11px; font-weight: 600; }
.badge-warning { background: #fff3cd; color: #856404; border-radius: 4px; padding: 2px 8px; font-size: 11px; font-weight: 600; }
.badge-danger  { background: #f8d7da; color: #721c24; border-radius: 4px; padding: 2px 8px; font-size: 11px; font-weight: 600; }

/* ── Адмін таблиця ── */
.admin-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.admin-table th {
    background: #1a3a5c; color: white; padding: 10px 12px;
    text-align: left; font-weight: 600; letter-spacing: 0.3px;
    font-size: 12px; text-transform: uppercase;
}
.admin-table td { padding: 9px 12px; border-bottom: 1px solid #dde3ea; }
.admin-table tr:nth-child(even) td { background: #f0f4f9; }
.admin-table tr:hover td { background: #e6edf6; }

/* ── Акордеон ── */
details summary::-webkit-details-marker { display: none; }
details summary::marker { display: none; }
summary.no-marker { list-style: none; }
summary.no-marker::-webkit-details-marker { display: none; }
summary.no-marker::marker { display: none; }

/* ── Плаваюча кнопка ── */
.float-btn {
    position: fixed; bottom: 30px; right: 30px;
    width: 56px; height: 56px; border-radius: 50%;
    background: #1a3a5c; border: none; cursor: pointer;
    box-shadow: 0 4px 18px rgba(26,58,92,0.35);
    z-index: 9998; display: flex;
    align-items: center; justify-content: center;
    transition: background 0.15s, transform 0.15s;
}
.float-btn:hover { background: #2c5282; transform: scale(1.06); }
/* ── Список дропдауну поверх всього ── */
.Select-menu-outer {
    z-index: 9999 !important;
}

.dash-dropdown .Select-menu-outer {
    z-index: 9999 !important;
}