/* === MAIN.CSS ===
 * assets/css/main.css
 * НАЗНАЧЕНИЕ: Основные стили FinCheck
 * РАЗМЕР: ~400 строк
 */

/* ==========================================
   CSS ПЕРЕМЕННЫЕ
   ========================================== */
:root {
    /* Основные цвета (унифицированная палитра) */
    --bg-primary: #050508;
    --bg-secondary: #0c0c12;
    --bg-tertiary: #111118;

    --text-primary: #f0f0f5;
    --text-secondary: #8888a0;
    --text-muted: #55556a;

    /* Акцентные цвета */
    --color-primary: #4f8fff;
    --color-secondary: #a478f6;
    --color-cyan: #22d3ee;
    --color-success: #10b981;
    --color-warning: #f59e0b;
    --color-danger: #ef4444;

    /* Рейтинги */
    --rating-excellent: #10b981;
    --rating-good: #f59e0b;
    --rating-average: #f97316;
    --rating-poor: #ef4444;
    --rating-bad: #dc2626;

    /* Границы и тени */
    --border-color: rgba(255, 255, 255, 0.06);
    --border-hover: rgba(79, 143, 255, 0.3);
    --border-radius: 16px;
    --border-radius-sm: 10px;
    --border-radius-lg: 16px;

    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);

    /* Градиенты */
    --gradient-primary: linear-gradient(135deg, #4f8fff 0%, #a478f6 50%, #22d3ee 100%);
    --gradient-card: linear-gradient(135deg, #111118 0%, rgba(79, 143, 255, 0.05) 100%);

    /* Шрифты */
    --font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

    /* Размеры */
    --header-height: 72px;
    --container-width: 1280px;
}

/* ==========================================
   СБРОС И БАЗОВЫЕ СТИЛИ
   ========================================== */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

/* Скрываем случайные артефакты кода на странице */
body::before,
body::after {
    display: none !important;
    content: '' !important;
}

/* Скрываем текст, который выглядит как код (артефакты типа "ta/' ] );") */
body > *:first-child:not(header):not(script):not(style):not(link):not(meta):not(title):not(html) {
    position: relative;
}

/* Скрываем случайный текст в начале body */
body > text,
body > code:not([class]),
body > pre:not([class]),
body > span:not([class]):not([id]) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

/* Скрываем любой текст, который появляется перед header */
html > body > *:first-child:not(header):not(script):not(style):not(link):not(meta):not(title):not(html):not(.login-page):not(.cabinet-layout):not(.app-container):not(.main-content):not(.admin-layout) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

body {
    font-family: var(--font-family);
    background: var(--bg-primary);
    color: var(--text-primary);
    line-height: 1.6;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
}

/* ==========================================
   КОНТЕЙНЕР
   ========================================== */
.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 20px;
}

@media (min-width: 768px) {
    .container {
        padding: 0 32px;
    }
}

/* ==========================================
   ШАПКА
   ========================================== */
.header {
    background: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
    position: sticky;
    top: 0;
    z-index: 100;
    height: var(--header-height);
}

.header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--header-height);
}

.header__logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s;
}

.header__logo:hover {
    opacity: 0.8;
}

.header__logo-icon {
    font-size: 28px;
}

.header__logo-text {
    font-size: 24px;
    font-weight: 700;
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.header__subtitle {
    color: var(--text-secondary);
    font-size: 14px;
    display: none;
}

@media (min-width: 640px) {
    .header__subtitle {
        display: block;
    }
}

/* Блок авторизации в хедере */
.header__auth {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.header__auth-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 10px;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: all 0.2s;
    white-space: nowrap;
}

.header__auth-btn--login {
    background: transparent;
    color: var(--text-secondary);
    border: 1px solid var(--border-color);
}

.header__auth-btn--login:hover {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border-color: var(--text-muted);
}

.header__auth-btn--cabinet {
    background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
    color: white;
    border: none;
}

.header__auth-btn--cabinet:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(79, 143, 255, 0.3);
}

.header__auth-btn--admin {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: white;
    border: none;
}

.header__auth-btn--admin:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}

.header__auth-btn--logout {
    background: transparent;
    color: var(--text-secondary);
    border: 1px solid var(--border-color);
    padding: 0.5rem;
}

.header__auth-btn--logout:hover {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
    border-color: rgba(239, 68, 68, 0.3);
}

/* Приветствие пользователя в хедере */
.header__user-greeting {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    padding-right: 0.75rem;
    border-right: 1px solid var(--border-color);
    margin-right: 0.25rem;
}

.header__user-plan {
    font-size: 0.75rem;
    padding: 0.2rem 0.5rem;
    background: rgba(79, 143, 255, 0.1);
    color: #4f8fff;
    border-radius: 10px;
    font-weight: 600;
}

/* ====== USER DROPDOWN MENU ====== */
.header__user-menu {
    position: relative;
}

.header__user-menu-toggle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.75rem;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    color: var(--text-primary);
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 500;
    transition: all 0.2s;
}

.header__user-menu-toggle:hover {
    background: var(--bg-tertiary);
    border-color: var(--text-muted);
}

.header__user-menu-toggle .menu-arrow {
    font-size: 0.65rem;
    transition: transform 0.2s;
    color: var(--text-muted);
}

.header__user-menu.open .menu-arrow {
    transform: rotate(180deg);
}

.header__user-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 200px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    z-index: 1000;
    overflow: hidden;
}

.header__user-menu.open .header__user-dropdown {
    display: block;
}

.header__user-dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.15s;
}

.header__user-dropdown-item:hover {
    background: rgba(79, 143, 255, 0.08);
    color: var(--text-primary);
}

.header__user-dropdown-item--admin {
    color: #f59e0b;
}

.header__user-dropdown-item--admin:hover {
    background: rgba(245, 158, 11, 0.1);
    color: #fbbf24;
}

.header__user-dropdown-item--logout {
    border-top: 1px solid var(--border-color);
    color: #ef4444;
}

.header__user-dropdown-item--logout:hover {
    background: rgba(239, 68, 68, 0.1);
}

.header__user-dropdown-item .dropdown-icon {
    width: 20px;
    text-align: center;
    font-size: 1rem;
}

/* На мобильных скрываем текст, оставляем только иконки */
@media (max-width: 768px) {
    .header__auth-btn span:last-child {
        display: none;
    }
    .header__auth-btn {
        padding: 0.5rem;
    }
    .header__user-greeting {
        display: none;
    }
    .header__user-menu-toggle span:not(.menu-arrow):not(.dropdown-icon) {
        display: none;
    }
    .header__user-menu-toggle {
        padding: 0.5rem;
    }
}

/* ==========================================
   MAIN
   ========================================== */
.main {
    padding: 32px 0 64px;
    min-height: calc(100vh - var(--header-height) - 60px);
}

/* ==========================================
   СЕКЦИИ
   ========================================== */
.section {
    margin-bottom: 48px;
}

.section__title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.emoji {
    font-style: normal;
}

/* ==========================================
   СЕКТОРЫ ГРИД
   ========================================== */
.sectors-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

.sector-card {
    background: var(--gradient-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: 24px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.sector-card:hover {
    transform: translateY(-4px);
    border-color: var(--color-primary);
    box-shadow: var(--shadow-lg), 0 0 30px rgba(79, 143, 255, 0.1);
}

.sector-card--disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.sector-card--disabled:hover {
    transform: none;
    border-color: var(--border-color);
    box-shadow: none;
}

.sector-card__icon {
    font-size: 40px;
    margin-bottom: 16px;
}

.sector-card__name {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
}

.sector-card__description {
    font-size: 14px;
    color: var(--text-secondary);
    margin-bottom: 12px;
}

.sector-card__badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
}

.sector-card__badge--active {
    background: rgba(16, 185, 129, 0.2);
    color: var(--color-success);
}

.sector-card__badge--soon {
    background: rgba(245, 158, 11, 0.2);
    color: var(--color-warning);
}

/* ==========================================
   ИНФОРМАЦИЯ О СЕКТОРЕ
   ========================================== */
.sector-info {
    background: var(--gradient-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: 24px;
    margin-bottom: 32px;
}

.sector-info__title {
    font-size: 28px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 8px;
}

.sector-info__icon {
    font-size: 36px;
}

.sector-info__description {
    color: var(--text-secondary);
}

/* ==========================================
   ТОП-3 КОМПАНИИ
   ========================================== */
.top-companies {
    margin-bottom: 40px;
}

.top-companies__title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.top-companies__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 16px;
}

.top-card {
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: 20px;
    position: relative;
}

.top-card__badge {
    position: absolute;
    top: -10px;
    right: 16px;
    background: var(--gradient-primary);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.top-card__header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.top-card__logo {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    object-fit: contain;
    background: var(--bg-secondary);
}

.top-card__company {
    flex: 1;
}

.top-card__symbol {
    font-weight: 700;
    font-size: 16px;
}

.top-card__name {
    font-size: 13px;
    color: var(--text-secondary);
}

.top-card__category {
    font-size: 14px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.top-card__reason {
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 16px;
}

.top-card__rating {
    display: flex;
    align-items: center;
    gap: 8px;
}

.top-card__score {
    font-size: 24px;
    font-weight: 700;
}

.top-card__label {
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 20px;
    font-weight: 500;
}

/* ==========================================
   ТАБЛИЦА КОМПАНИЙ
   ========================================== */
.companies-table-wrapper {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    overflow: hidden;
}

.companies-table__title {
    font-size: 18px;
    font-weight: 600;
    padding: 20px 24px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    gap: 10px;
}

.companies-count {
    background: var(--color-primary);
    color: white;
    padding: 2px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
}

.table-container {
    overflow-x: auto;
}

.companies-table {
    width: 100%;
    border-collapse: collapse;
}

.companies-table th,
.companies-table td {
    padding: 16px 20px;
    text-align: left;
    vertical-align: middle;
}

/* Первая колонка с названием компании - фиксированная ширина */
.companies-table td:first-child {
    min-width: 250px;
    max-width: 350px;
    width: 30%;
}

.companies-table th {
    background: var(--bg-tertiary);
    font-weight: 600;
    font-size: 13px;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.companies-table tbody tr {
    border-bottom: 1px solid var(--border-color);
    transition: background 0.2s;
}

.companies-table tbody tr:hover {
    background: rgba(79, 143, 255, 0.05);
}

.companies-table tbody tr:last-child {
    border-bottom: none;
}

/* Ячейка компании */
.company-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}

.company-cell__logo {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    object-fit: contain;
    background: var(--bg-tertiary);
}

.company-cell__info {
    display: flex;
    flex-direction: column;
    min-width: 0; /* Позволяет flex-элементу сжиматься */
    flex: 1; /* Занимает доступное пространство */
}

.company-cell__symbol {
    font-weight: 600;
    font-size: 15px;
}

.company-cell__name {
    font-size: 13px;
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%; /* Использует всю доступную ширину родителя */
    min-width: 0; /* Позволяет сжиматься */
}

/* Ячейка рейтинга */
.rating-cell {
    display: flex;
    align-items: center;
    gap: 8px;
}

.rating-cell__score {
    font-weight: 700;
    font-size: 18px;
}

.rating-cell__emoji {
    font-size: 18px;
}

/* Капитализация */
.market-cap-cell {
    font-weight: 600;
    font-size: 16px;
    color: var(--text-primary);
}

/* Цена акции */
.price-cell {
    font-weight: 600;
    font-size: 16px;
    color: var(--text-primary);
}

/* Заголовок с сортировкой */
.sortable-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* Dropdown контейнер */
.sort-dropdown {
    position: relative;
    display: inline-block;
}

/* Стрелка для dropdown (опционально) */
.sort-dropdown::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid var(--border-color);
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
}

.sort-dropdown:hover::after {
    opacity: 1;
}

.sort-btn {
    background: transparent;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1;
}

.sort-btn:hover {
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

.sort-icon {
    display: inline-block;
    transition: transform 0.2s ease;
    font-size: 18px;
}

.sort-icon--asc {
    color: var(--color-success);
}

.sort-icon--desc {
    color: var(--color-danger);
}

/* Dropdown меню */
.sort-dropdown__menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-lg);
    min-width: 220px;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.2s ease;
    pointer-events: none;
    padding: 4px;
}

/* Стрелка вверх от меню */
.sort-dropdown__menu::before {
    content: '';
    position: absolute;
    top: -6px;
    right: 16px;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid var(--border-color);
}

.sort-dropdown__menu::after {
    content: '';
    position: absolute;
    top: -5px;
    right: 16px;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid var(--bg-secondary);
}

.sort-dropdown__menu.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: all;
}

/* Элементы меню */
.sort-dropdown__item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 14px;
    background: transparent;
    border: none;
    color: var(--text-primary);
    font-size: 14px;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.2s ease;
    font-family: inherit;
}

.sort-dropdown__item:hover {
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

.sort-dropdown__item.is-active {
    background: rgba(79, 143, 255, 0.1);
    color: var(--color-primary);
}

.sort-dropdown__item.is-active .sort-dropdown__icon {
    color: var(--color-primary);
}

.sort-dropdown__icon {
    font-size: 16px;
    width: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.sort-dropdown__text {
    flex: 1;
    white-space: nowrap;
}

/* Изменения цены */
.price-change {
    font-weight: 600;
    font-size: 14px;
    padding: 4px 8px;
    border-radius: 6px;
    display: inline-block;
}

.price-change--positive {
    color: var(--color-success);
    background: rgba(16, 185, 129, 0.1);
}

.price-change--negative {
    color: var(--color-danger);
    background: rgba(239, 68, 68, 0.1);
}

.price-change--neutral {
    color: var(--text-muted);
    background: var(--bg-tertiary);
}

/* Нулевые значения с иконкой информации */
.price-change--no-data {
    cursor: help;
    position: relative;
}

.price-change--no-data .info-icon {
    font-size: 10px;
    opacity: 0.6;
    margin-left: 2px;
    vertical-align: super;
}

.price-change--no-data:hover .info-icon {
    opacity: 1;
}

/* Улучшенный tooltip для нулевых значений */
.price-change--no-data[title] {
    position: relative;
}

.price-change--no-data[title]:hover::after {
    content: attr(title);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    background: var(--bg-primary);
    color: var(--text-primary);
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    white-space: normal;
    width: 260px;
    max-width: 90vw;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
    border: 1px solid var(--border-color);
    z-index: 1000;
    pointer-events: none;
}

.price-change--no-data[title]:hover::before {
    content: '';
    position: absolute;
    bottom: calc(100% + 2px);
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: var(--border-color);
    z-index: 1001;
}

/* Status badge ОК/НЕ ОК */
.status-badge {
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 12px;
    margin-left: 8px;
    display: inline-block;
    cursor: help;
}

.status-badge--ok {
    background: rgba(16, 185, 129, 0.15);
    color: var(--color-success);
    border: 1px solid rgba(16, 185, 129, 0.3);
}

.status-badge--not-ok {
    background: rgba(239, 68, 68, 0.15);
    color: var(--color-danger);
    border: 1px solid rgba(239, 68, 68, 0.3);
}

/* Industry selector */
.industry-selector {
    margin: 30px 0;
}

.industry-selector__title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.industry-selector__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

.industry-card {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 20px;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.industry-card:hover {
    border-color: var(--color-primary);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Індикатори свіжості даних */
.industry-card--fresh {
    border-left: 4px solid #10b981;
}

.industry-card--old {
    border-left: 4px solid #f59e0b;
}

.industry-card--expired {
    border-left: 4px solid #ef4444;
}

.industry-card--no-data {
    border-left: 4px solid #6b7280;
}

.industry-card__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}

.industry-card__icon {
    font-size: 32px;
}

.industry-card__status {
    font-size: 20px;
    cursor: help;
    transition: transform 0.2s;
    position: relative;
}

.industry-card__status:hover {
    transform: scale(1.2);
}

/* Кастомний tooltip для індикаторів */
.industry-card__status.has-tooltip::after {
    content: attr(data-tooltip);
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%) translateY(-100%);
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color: #ffffff;
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 13px;
    white-space: nowrap;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.1);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
    pointer-events: none;
    z-index: 1000;
    font-weight: 500;
    line-height: 1.4;
}

/* Стрілочка tooltip */
.industry-card__status.has-tooltip::before {
    content: '';
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%) translateY(-100%);
    border: 6px solid transparent;
    border-top-color: #1e293b;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.15s ease, visibility 0.15s ease;
    pointer-events: none;
    z-index: 1001;
}

/* Показуємо tooltip при hover */
.industry-card__status.has-tooltip:hover::after,
.industry-card__status.has-tooltip:hover::before {
    opacity: 1;
    visibility: visible;
}

.industry-card__name {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.industry-card__description {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 12px;
}

.industry-card__date {
    font-size: 12px;
    color: var(--text-secondary);
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.industry-card__date-label {
    opacity: 0.7;
    font-weight: 500;
}

.industry-card__date-value {
    color: var(--text-primary);
    font-weight: 500;
}

/* ==========================================
   BREADCRUMBS
   ========================================== */
.breadcrumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    margin-bottom: 24px;
    font-size: 14px;
}

.breadcrumbs__item {
    color: var(--text-secondary);
    transition: color 0.2s;
}

.breadcrumbs__item--active {
    color: var(--color-primary);
    font-weight: 600;
}

.breadcrumbs__separator {
    color: var(--text-muted);
}

/* ==========================================
   ФУТЕР
   ========================================== */
.footer {
    background: var(--bg-secondary);
    border-top: 1px solid var(--border-color);
    padding: 20px 0;
    text-align: center;
    color: var(--text-muted);
    font-size: 13px;
}

/* ==========================================
   УТИЛИТЫ
   ========================================== */
.hidden {
    display: none !important;
}

.text-success { color: var(--color-success); }
.text-warning { color: var(--color-warning); }
.text-danger { color: var(--color-danger); }
.text-muted { color: var(--text-muted); }

/* Цвета рейтингов */
.rating--excellent { color: var(--rating-excellent); }
.rating--good { color: var(--rating-good); }
.rating--average { color: var(--rating-average); }
.rating--poor { color: var(--rating-poor); }
.rating--bad { color: var(--rating-bad); }

.bg-rating--excellent { background: rgba(16, 185, 129, 0.2); color: var(--rating-excellent); }
.bg-rating--good { background: rgba(245, 158, 11, 0.2); color: var(--rating-good); }
.bg-rating--average { background: rgba(249, 115, 22, 0.2); color: var(--rating-average); }
.bg-rating--poor { background: rgba(239, 68, 68, 0.2); color: var(--rating-poor); }
.bg-rating--bad { background: rgba(220, 38, 38, 0.2); color: var(--rating-bad); }

/* ==========================================
   REAL REPORT STYLES (FMP API + AI)
   ========================================== */

/* Loading subtext */
.loading__subtext {
    margin-top: 8px;
    font-size: 13px;
    color: var(--text-muted);
}

/* Loading Progress Bar */
.loading__progress {
    margin-top: 24px;
    width: 100%;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.loading__progress-bar {
    width: 100%;
    height: 8px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

.loading__progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
    border-radius: 4px;
    transition: width 0.3s ease;
    width: 0%;
    position: relative;
}

.loading__progress-fill::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

.loading__progress-text {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
    font-size: 13px;
}

.loading__progress-text #loading-stage {
    color: var(--text-primary);
    font-weight: 500;
}

.loading__progress-text #loading-timer {
    color: var(--text-muted);
}

/* Loading Stages */
.loading__stages {
    display: flex;
    justify-content: center;
    gap: 32px;
    margin-top: 24px;
}

.loading__stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--text-muted);
    transition: all 0.3s ease;
}

.loading__stage-icon {
    font-size: 24px;
    transition: all 0.3s ease;
}

.loading__stage.active {
    color: var(--color-primary);
}

.loading__stage.active .loading__stage-icon {
    animation: pulse 1s infinite;
}

.loading__stage.done {
    color: var(--color-success);
}

.loading__stage.done .loading__stage-icon {
    animation: none;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

/* Metric description */
.metric-desc {
    display: block;
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 4px;
}

.metric-desc--financial {
    display: block;
    font-size: 11px;
    color: var(--ai-green, #10b981);
    margin-top: 3px;
    line-height: 1.3;
    opacity: 0.8;
}

/* Metric interpretation */
.metric-interpretation {
    font-size: 13px;
    color: var(--text-secondary);
}

/* Status colors for metrics */
.status--excellent { color: var(--rating-excellent); font-weight: 600; }
.status--good { color: var(--rating-good); font-weight: 600; }
.status--average { color: var(--text-secondary); }
.status--poor { color: var(--rating-poor); font-weight: 600; }
.status--bad { color: var(--rating-bad); font-weight: 600; }

/* Company description */
.company-description {
    margin-top: 16px;
    padding: 12px;
    background: var(--bg-primary);
    border-radius: var(--border-radius);
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-secondary);
}

/* AI Section */
.ai-section {
    background: linear-gradient(135deg, rgba(164, 120, 246, 0.1) 0%, rgba(79, 143, 255, 0.1) 100%);
    border: 1px solid rgba(164, 120, 246, 0.3);
    border-radius: var(--border-radius);
    padding: 20px;
}

.ai-block {
    margin-bottom: 16px;
}

.ai-block__content {
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-primary);
}

.ai-recommendation {
    padding: 12px 16px;
    background: rgba(79, 143, 255, 0.15);
    border-radius: var(--border-radius);
    margin: 16px 0;
    font-size: 15px;
}

.ai-strengths,
.ai-weaknesses {
    margin: 12px 0;
}

.ai-strengths ul,
.ai-weaknesses ul {
    margin: 8px 0 0 20px;
    padding: 0;
}

.ai-strengths li,
.ai-weaknesses li {
    margin: 4px 0;
    font-size: 14px;
}

.ai-metrics-details {
    margin-top: 16px;
}

.ai-metrics-details summary {
    cursor: pointer;
    color: var(--color-primary);
    font-weight: 500;
}

.ai-metrics-content {
    margin-top: 12px;
    padding: 12px;
    background: var(--bg-primary);
    border-radius: var(--border-radius);
}

.ai-metric-item {
    padding: 8px 0;
    border-bottom: 1px solid var(--border-color);
    font-size: 13px;
}

.ai-metric-item:last-child {
    border-bottom: none;
}

.ai-disclaimer {
    margin-top: 16px;
    padding: 10px;
    background: rgba(249, 115, 22, 0.1);
    border-radius: var(--border-radius);
    font-size: 12px;
    color: var(--text-muted);
    text-align: center;
}

/* Verification Buttons - кнопки для перевірки даних */
.verification-buttons {
    margin-top: 24px;
    padding: 20px;
    background: linear-gradient(135deg, rgba(79, 143, 255, 0.05) 0%, rgba(147, 51, 234, 0.05) 100%);
    border-radius: 12px;
    border: 1px solid rgba(79, 143, 255, 0.15);
}

.verification-buttons__title {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 16px;
    text-align: center;
}

.verification-buttons__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
}

.verification-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px 12px;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    text-decoration: none;
    color: var(--text-primary);
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    transition: all 0.3s ease;
    min-height: 80px;
}

.verification-btn small {
    display: block;
    margin-top: 6px;
    font-size: 10px;
    font-weight: 400;
    color: var(--text-muted);
    opacity: 0.9;
    line-height: 1.3;
    text-align: center;
}

.verification-buttons__subtitle {
    font-size: 13px;
    color: var(--text-muted);
    text-align: center;
    margin-bottom: 16px;
    font-style: italic;
}

.verification-btn:hover {
    transform: translateY(-2px);
    border-color: var(--color-primary);
    background: linear-gradient(135deg, rgba(79, 143, 255, 0.1) 0%, rgba(147, 51, 234, 0.1) 100%);
    box-shadow: 0 4px 12px rgba(79, 143, 255, 0.2);
    text-decoration: none;
    color: var(--text-primary);
}

/* SEC Report Link */
.sec-report-link {
    margin-top: 24px;
    padding: 16px;
    background: linear-gradient(135deg, rgba(79, 143, 255, 0.05) 0%, rgba(147, 51, 234, 0.05) 100%);
    border-radius: 8px;
    border: 1px solid rgba(79, 143, 255, 0.15);
    text-align: center;
}

.sec-link-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
    color: white;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(79, 143, 255, 0.2);
}

.sec-link-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(79, 143, 255, 0.3);
    text-decoration: none;
    color: white;
}

/* Дополнительные стили для button.sec-link-button */
button.sec-link-button {
    border: none;
    cursor: pointer;
    font-family: inherit;
}

button.sec-link-button:active {
    transform: translateY(0);
}

.sec-filing-date {
    margin-top: 8px;
    font-size: 12px;
    color: var(--text-muted);
    font-style: italic;
}

/* ==========================================
   AI SECTION - NEW FORMAT (verdict, insights)
   ========================================== */
.ai-section--new {
    padding: 24px;
}

/* One-liner - quick summary quote */
.ai-one-liner {
    margin-bottom: 20px;
    padding: 16px 20px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: var(--border-radius);
    text-align: center;
    border-left: 4px solid var(--color-primary);
}

.ai-one-liner__text {
    font-size: 16px;
    font-style: italic;
    color: var(--text-primary);
    line-height: 1.5;
}

/* Verdict and Risk row */
.ai-verdict-row {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.ai-verdict {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: var(--border-radius);
    font-weight: 700;
    font-size: 16px;
}

.ai-verdict__icon {
    font-size: 20px;
}

.ai-verdict__text {
    letter-spacing: 0.5px;
}

/* Verdict color variations */
.ai-verdict.verdict--buy {
    background: rgba(16, 185, 129, 0.2);
    color: #059669;
    border: 2px solid rgba(16, 185, 129, 0.4);
}

.ai-verdict.verdict--hold {
    background: rgba(245, 158, 11, 0.2);
    color: #d97706;
    border: 2px solid rgba(245, 158, 11, 0.4);
}

.ai-verdict.verdict--sell {
    background: rgba(239, 68, 68, 0.2);
    color: #dc2626;
    border: 2px solid rgba(239, 68, 68, 0.4);
}

.ai-verdict.verdict--avoid {
    background: rgba(107, 114, 128, 0.2);
    color: #4b5563;
    border: 2px solid rgba(107, 114, 128, 0.4);
}

/* Risk level badge */
.ai-risk {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 16px;
    border-radius: var(--border-radius);
    font-weight: 600;
    font-size: 14px;
    background: var(--bg-secondary);
}

.ai-risk__icon {
    font-size: 16px;
}

.ai-risk.risk--low {
    color: #059669;
}

.ai-risk.risk--medium {
    color: #d97706;
}

.ai-risk.risk--high {
    color: #dc2626;
}

/* Verdict explanation */
.ai-verdict-explanation {
    padding: 12px 16px;
    background: rgba(79, 143, 255, 0.1);
    border-radius: var(--border-radius);
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-primary);
    margin-bottom: 20px;
    border-left: 3px solid var(--color-primary);
}

/* AI blocks with labels */
.ai-block__label {
    font-size: 12px;
    font-weight: 600;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.ai-main-conclusion {
    margin-bottom: 20px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.4);
    border-radius: var(--border-radius);
}

.ai-key-insight {
    margin-bottom: 20px;
    padding: 16px;
    background: rgba(245, 158, 11, 0.1);
    border-radius: var(--border-radius);
    border-left: 4px solid var(--color-warning);
}

/* Investor focus */
.ai-investor-focus {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    background: rgba(164, 120, 246, 0.15);
    border-radius: var(--border-radius);
    margin-bottom: 16px;
}

.ai-investor-focus__icon {
    font-size: 18px;
    flex-shrink: 0;
}

.ai-investor-focus__text {
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-primary);
}

/* ===================================
   НОВИЙ 6-СЕКЦІЙНИЙ ФОРМАТ AI АНАЛІЗУ
   =================================== */

.ai-section--comprehensive {
    background: linear-gradient(135deg, rgba(79, 143, 255, 0.05) 0%, rgba(164, 120, 246, 0.05) 100%);
    border: 1px solid rgba(79, 143, 255, 0.2);
}

/* Блоки секцій */
.ai-section--comprehensive .ai-block {
    margin-bottom: 16px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: var(--border-radius);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.ai-section--comprehensive .ai-block__label {
    font-size: 13px;
    font-weight: 600;
    color: var(--color-primary);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.ai-section--comprehensive .ai-block__content {
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-secondary);
}

/* Новий формат зі структурованим списком items */
.ai-items-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ai-items-list .ai-item {
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    line-height: 1.6;
}

.ai-items-list .ai-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.ai-items-list .ai-item:first-child {
    padding-top: 0;
}

.ai-item__label {
    font-weight: 600;
    color: var(--text-primary);
    display: inline;
}

.ai-item__content {
    color: var(--text-secondary);
    display: inline;
}

.ai-section--comprehensive .ai-block__verdict {
    margin-top: 10px;
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    display: inline-block;
    font-size: 13px;
    font-weight: 500;
}

/* Специфічні стилі для різних секцій */
.ai-business {
    border-left: 4px solid var(--color-primary);
}

.ai-financial {
    border-left: 4px solid #10b981;
}

.ai-valuation {
    border-left: 4px solid #f59e0b;
}

.ai-competition {
    border-left: 4px solid var(--color-secondary);
}

.ai-risks {
    border-left: 4px solid #ef4444;
}

.ai-management {
    border-left: 4px solid #4f8fff;
}

/* Секції section_* формату */
.ai-overview {
    border-left: 4px solid var(--color-primary);
}

.ai-profitability {
    border-left: 4px solid #10b981;
}

.ai-verdict-block {
    border-left: 4px solid var(--color-secondary);
    background: rgba(164, 120, 246, 0.05);
}

.ai-verdict-badges {
    display: flex;
    gap: 10px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.ai-verdict-badges .ai-verdict {
    padding: 6px 16px;
    font-size: 14px;
    border-radius: 20px;
}

/* AI генерація по кнопці */
.ai-section--placeholder {
    background: rgba(79, 143, 255, 0.05);
    border: 1px dashed rgba(79, 143, 255, 0.3);
}

.ai-generate-prompt {
    text-align: center;
    padding: 30px 20px;
}

.ai-generate-prompt p {
    color: var(--text-secondary);
    margin-bottom: 20px;
    font-size: 14px;
}

.ai-generate-prompt--error p {
    color: var(--color-danger);
}

.ai-generate-time {
    font-size: 12px;
    color: var(--text-muted);
    margin-top: 12px !important;
    margin-bottom: 0 !important;
}

.btn--ai-generate {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 600;
    background: var(--gradient-primary);
    border: none;
    border-radius: 12px;
    color: white;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn--ai-generate:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(79, 143, 255, 0.3);
}

.btn--ai-generate .btn__icon {
    font-size: 18px;
}

/* AI лоадер при генерації */
.ai-loading {
    text-align: center;
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.ai-loading .loading__spinner {
    margin: 0;
    width: 48px;
    height: 48px;
}

.ai-loading p {
    margin: 0;
    font-size: 16px;
    color: var(--text-primary);
    font-weight: 500;
}

.ai-loading__subtext {
    font-size: 13px !important;
    color: var(--text-secondary) !important;
    margin-bottom: 20px !important;
}

.ai-loading__progress {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: center;
    margin-top: 16px;
}

.ai-loading__progress-bar {
    width: 200px;
    height: 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    overflow: hidden;
}

.ai-loading__progress-fill {
    height: 100%;
    background: var(--gradient-primary);
    border-radius: 3px;
    width: 0%;
    transition: width 0.1s linear;
}

#ai-progress-text {
    font-size: 12px;
    color: var(--text-muted);
    min-width: 80px;
}

/* Список конкурентів */
.ai-competitors-list {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.ai-competitors-label {
    font-size: 12px;
    color: var(--text-muted);
    font-weight: 500;
}

.ai-competitor-tag {
    display: inline-block;
    padding: 4px 10px;
    background: rgba(164, 120, 246, 0.15);
    border-radius: 12px;
    font-size: 12px;
    color: var(--text-secondary);
}

/* Mobile responsiveness for new AI section */
@media (max-width: 480px) {
    .ai-verdict-row {
        flex-direction: column;
    }

    .ai-verdict,
    .ai-risk {
        width: 100%;
        justify-content: center;
    }

    .ai-one-liner__text {
        font-size: 14px;
    }
}

/* Verification links */
.verification-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.verification-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 13px;
    transition: all 0.2s;
}

.verification-link:hover {
    background: var(--bg-hover);
    color: var(--color-primary);
    border-color: var(--color-primary);
}

/* Report footer */
.report-footer {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--border-color);
    text-align: center;
    color: var(--text-muted);
}

/* Returns grid improvements */
.returns-item--neutral {
    background: var(--bg-secondary);
}

.returns-item--positive {
    background: rgba(16, 185, 129, 0.15);
}

.returns-item--positive .returns-value {
    color: var(--color-success);
}

.returns-item--negative {
    background: rgba(239, 68, 68, 0.15);
}

.returns-item--negative .returns-value {
    color: var(--color-danger);
}

/* ==========================================
   METRICS TABLE - Company vs Industry
   ========================================== */
.metrics-table-wrapper {
    overflow-x: auto;
    margin: 16px 0;
}

.metrics-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.metrics-table th {
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-weight: 600;
    padding: 12px 16px;
    text-align: left;
    border-bottom: 2px solid var(--border-color);
    white-space: nowrap;
}

.metrics-table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color);
    vertical-align: top;
}

.metrics-table--comparison th:nth-child(2),
.metrics-table--comparison th:nth-child(3),
.metrics-table--comparison th:nth-child(4) {
    text-align: center;
    width: 110px;
}

.metrics-table--comparison td:nth-child(2),
.metrics-table--comparison td:nth-child(3),
.metrics-table--comparison td:nth-child(4) {
    text-align: center;
}

/* Metric info cell */
.metric-info {
    min-width: 200px;
}

.metric-name {
    display: block;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 4px;
}

.metric-desc {
    display: block;
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.4;
}

/* Company value cell */
.metric-company {
    font-weight: 700;
    font-size: 15px;
}

/* Industry value cell */
.metric-industry {
    color: var(--text-secondary);
    font-weight: 500;
}

/* Status colors for metric values */
.metric-company.status--excellent {
    color: var(--rating-excellent);
}

.metric-company.status--good {
    color: var(--rating-good);
}

.metric-company.status--average {
    color: var(--rating-average);
}

.metric-company.status--poor {
    color: var(--rating-poor);
}

.metric-company.status--bad {
    color: var(--rating-bad);
}

/* AI verdict badge */
.ai-verdict {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    text-transform: lowercase;
}

.verdict--good {
    background: rgba(16, 185, 129, 0.2);
    color: var(--color-success);
}

.verdict--bad {
    background: rgba(239, 68, 68, 0.2);
    color: var(--color-danger);
}

.verdict--neutral {
    background: rgba(245, 158, 11, 0.2);
    color: var(--color-warning);
}

/* AI explanation row */
.metric-explanation-row {
    background: rgba(79, 143, 255, 0.03);
}

.metric-explanation-row td {
    padding: 0 16px 16px 16px;
    border-bottom: 2px solid var(--border-color);
}

.ai-explanation-box {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 16px;
    background: var(--bg-secondary);
    border-radius: var(--border-radius);
    border-left: 3px solid var(--color-primary);
}

.ai-explanation-box .ai-icon {
    font-size: 16px;
    flex-shrink: 0;
}

.ai-explanation-box .ai-text {
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-secondary);
}

/* Новий формат AI коментарів - детальний блок як ChatGPT */
.ai-explanation-box--rich {
    display: block;
    padding: 20px 24px;
    background: var(--bg-secondary);
    border-left: 4px solid var(--color-primary);
    border-radius: 0 8px 8px 0;
}

.ai-explanation-box--rich .ai-summary {
    font-size: 15px;
    line-height: 1.7;
    color: var(--text-primary);
    margin-bottom: 16px;
}

.ai-explanation-box--rich .ai-details-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 12px;
}

.ai-explanation-box--rich .ai-details-list {
    list-style: disc;
    padding-left: 20px;
    margin: 0;
}

.ai-explanation-box--rich .ai-details-list li {
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-secondary);
    margin-bottom: 10px;
}

.ai-explanation-box--rich .ai-details-list li:last-child {
    margin-bottom: 0;
}

.ai-explanation-box--rich .ai-details-list li strong {
    color: var(--text-primary);
    font-weight: 600;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .metrics-table--comparison th:nth-child(4),
    .metrics-table--comparison td:nth-child(4) {
        display: none;
    }

    .metrics-table th,
    .metrics-table td {
        padding: 10px 12px;
    }

    .metric-info {
        min-width: 140px;
    }

    .metric-desc {
        display: none;
    }
}

/* ==========================================
   COMPANY DESCRIPTION - AI Generated
   ========================================== */
.company-description {
    margin-top: 16px;
    padding: 16px;
    background: var(--bg-secondary);
    border-radius: var(--border-radius);
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-secondary);
}

.company-description p {
    margin: 0;
}

.company-description--ai {
    background: linear-gradient(135deg, rgba(79, 143, 255, 0.08) 0%, rgba(164, 120, 246, 0.08) 100%);
    border: 1px solid rgba(79, 143, 255, 0.2);
    position: relative;
}

.ai-description-badge {
    display: inline-block;
    padding: 4px 10px;
    background: var(--gradient-primary);
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    color: white;
    margin-bottom: 10px;
}

.company-description--ai p {
    color: var(--text-primary);
    font-size: 15px;
}

/* Детальний опис бізнесу (замість AI-опису) */
.company-description--detailed {
    background: linear-gradient(135deg, rgba(79, 143, 255, 0.08) 0%, rgba(164, 120, 246, 0.08) 100%);
    border: 1px solid rgba(79, 143, 255, 0.2);
    position: relative;
}

.business-description-content {
    color: var(--text-primary);
    font-size: 14px;
    line-height: 1.7;
}

.business-description-content p {
    margin-bottom: 12px;
}

.business-description-content p:last-child {
    margin-bottom: 0;
}

.business-description-content strong {
    color: var(--color-primary);
}

/* ==========================================
   SEC ANALYSIS SECTION (10-секційний аналіз)
   ========================================== */
.sec-analysis-section {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.08) 0%, rgba(79, 143, 255, 0.08) 100%);
    border: 1px solid rgba(16, 185, 129, 0.25);
    border-radius: var(--border-radius);
    padding: 24px;
    margin-bottom: 24px;
}

.sec-analysis-header {
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.sec-analysis-header .report-section__title {
    margin-bottom: 12px;
}

.sec-analysis-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.sec-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px 16px;
    background: var(--bg-secondary);
    border-radius: var(--border-radius);
    font-size: 13px;
    color: var(--text-secondary);
}

.sec-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 16px;
}

.sec-meta-disclaimer {
    color: var(--color-warning);
    font-size: 12px;
    font-style: italic;
}

/* SEC блоки */
.sec-block {
    padding: 16px 18px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: var(--border-radius);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.sec-block h5 {
    margin: 0 0 12px 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.sec-block h5 .emoji {
    font-size: 16px;
}

.sec-block h5 .sec-num {
    font-size: 18px;
    margin-right: 4px;
}

.sec-block h5 .badge {
    margin-left: auto;
}

.sec-block p {
    margin: 0 0 8px 0;
    font-size: 14px;
    line-height: 1.65;
    color: var(--text-secondary);
}

.sec-block p:last-child {
    margin-bottom: 0;
}

.sec-block strong {
    color: var(--text-primary);
}

/* Спеціальні стилі для різних типів блоків */
.sec-block--primary {
    background: rgba(79, 143, 255, 0.08);
    border-left: 4px solid var(--color-primary);
}

.sec-block--financials {
    background: rgba(16, 185, 129, 0.06);
    border-left: 4px solid var(--color-success);
}

.sec-block--risks {
    background: rgba(239, 68, 68, 0.06);
    border-left: 4px solid var(--color-danger);
}

.sec-block--verdict {
    background: linear-gradient(135deg, rgba(79, 143, 255, 0.1) 0%, rgba(16, 185, 129, 0.1) 100%);
    border: 2px solid rgba(79, 143, 255, 0.3);
    padding: 20px;
}

.sec-block--investor-type {
    background: rgba(168, 85, 247, 0.06);
    border-left: 4px solid #a855f7;
}

.sec-block--summary {
    background: rgba(245, 158, 11, 0.06);
    border-left: 4px solid var(--color-warning);
}

.sec-block--debt {
    background: rgba(79, 143, 255, 0.06);
    border-left: 4px solid #4f8fff;
}

.sec-block--events {
    background: rgba(14, 165, 233, 0.06);
    border-left: 4px solid #0ea5e9;
}

.sec-block--outlook {
    background: rgba(164, 120, 246, 0.06);
    border-left: 4px solid var(--color-secondary);
}

.sec-block--implications {
    background: rgba(34, 197, 94, 0.06);
    border-left: 4px solid #22c55e;
}

/* Списки в SEC блоках */
.sec-bullets,
.sec-events,
.sec-theses,
.sec-suitable-list,
.sec-not-suitable-list {
    margin: 12px 0 0 0;
    padding-left: 20px;
    list-style: disc;
}

.sec-bullets li,
.sec-events li,
.sec-theses li,
.sec-suitable-list li,
.sec-not-suitable-list li {
    margin: 8px 0;
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.55;
}

/* Сітки для фінансів та ризиків */
.sec-financials-grid,
.sec-risks-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-top: 12px;
}

.sec-fin-item,
.sec-risk-item {
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 8px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.sec-fin-icon {
    font-size: 24px;
    flex-shrink: 0;
}

.sec-fin-content {
    flex: 1;
}

.sec-fin-item strong,
.sec-risk-item strong {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
}

.sec-fin-item p,
.sec-risk-item p {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
}

/* Debt grid */
.sec-debt-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.sec-debt-item {
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 8px;
}

.sec-debt-item strong {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    color: var(--text-primary);
}

.sec-debt-item p {
    margin: 0;
    font-size: 13px;
    color: var(--text-secondary);
}

/* Outlook grid */
.sec-outlook-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.sec-outlook-item {
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 8px;
}

.sec-outlook-item strong {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    color: var(--text-primary);
}

.sec-outlook-item p {
    margin: 0;
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.5;
}

.sec-risk-warning {
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.sec-risk--market {
    border-left: 3px solid #ef4444;
}

.sec-risk--financial {
    border-left: 3px solid #f59e0b;
}

.sec-risk--operational {
    border-left: 3px solid #4f8fff;
}

.sec-red-flags {
    margin-top: 16px;
    padding: 14px 16px;
    background: rgba(239, 68, 68, 0.12);
    border: 1px solid rgba(239, 68, 68, 0.3);
    border-radius: 8px;
}

.sec-red-flags strong {
    color: var(--color-danger);
}

.sec-red-flags p {
    margin: 8px 0 0 0;
}

/* Борги */
.sec-debt-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}

.sec-assessment {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Тип інвестора */
.sec-investor-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 12px;
}

.sec-investor-suitable,
.sec-investor-not-suitable {
    padding: 16px;
    border-radius: 10px;
}

.sec-investor-header {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--text-primary);
}

.sec-investor-suitable {
    background: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.25);
}

.sec-investor-not-suitable {
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.25);
}

.sec-horizon {
    margin-top: 16px;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.sec-horizon-label {
    font-weight: 500;
    color: var(--text-primary);
}

.sec-horizon-value {
    color: var(--text-secondary);
}

/* Фінальний вердикт - оновлений */
.sec-verdict-summary {
    padding: 16px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    margin-bottom: 16px;
}

.sec-verdict-summary p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--text-primary);
}

.sec-verdict-assessment {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 8px;
}

.sec-verdict-label {
    font-weight: 600;
    color: var(--text-primary);
}

.sec-verdict-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.sec-verdict-strengths,
.sec-verdict-weaknesses {
    padding: 16px;
    border-radius: 10px;
}

.sec-verdict-header {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 12px;
    color: var(--text-primary);
}

.sec-verdict-strengths {
    background: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.25);
}

.sec-verdict-weaknesses {
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.25);
}

.sec-strengths-list,
.sec-weaknesses-list {
    margin: 0;
    padding-left: 20px;
}

.sec-strengths-list li,
.sec-weaknesses-list li {
    margin: 6px 0;
    font-size: 13px;
    color: var(--text-secondary);
}

.sec-watch-next {
    padding: 14px 16px;
    background: rgba(79, 143, 255, 0.08);
    border: 1px solid rgba(79, 143, 255, 0.25);
    border-radius: 8px;
}

.sec-watch-next strong {
    color: var(--color-primary);
}

.sec-watch-next p {
    margin: 8px 0 0 0;
}

/* Footer та disclaimer */
.sec-footer {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.sec-disclaimer {
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.6;
    padding: 12px 14px;
    background: rgba(245, 158, 11, 0.08);
    border: 1px solid rgba(245, 158, 11, 0.2);
    border-radius: 8px;
    margin-bottom: 12px;
}

/* Badge info */
.badge--info {
    background: rgba(79, 143, 255, 0.15);
    color: var(--color-primary);
    border: 1px solid rgba(79, 143, 255, 0.3);
}

/* ═══════════════════════════════════════════════════════════════
   НОВА 5-СЕКЦІЙНА СТРУКТУРА SEC АНАЛІЗУ (по ТЗ клієнта)
   ═══════════════════════════════════════════════════════════════ */

/* Секція 1: Бізнес і стратегія */
.sec-block--business {
    background: rgba(79, 143, 255, 0.06);
    border-left: 4px solid var(--color-primary);
}

.sec-subsection {
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    margin-bottom: 12px;
}

.sec-subsection:last-child {
    margin-bottom: 0;
}

.sec-subsection-header {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.sec-subsection p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--text-secondary);
}

/* Секція 2: Фінансові результати - картки */
.sec-finance-card {
    padding: 16px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 10px;
    margin-bottom: 14px;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.sec-finance-card:last-child {
    margin-bottom: 0;
}

.sec-finance-card-header {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.sec-finance-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.sec-metric {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sec-metric-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-muted);
}

.sec-metric-value {
    font-size: 13px;
    color: var(--text-primary);
    font-weight: 500;
}

.sec-finance-comment {
    margin: 0;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-secondary);
    font-style: italic;
}

/* Секція 3: Баланс, борг і ліквідність */
.sec-block--balance {
    background: rgba(79, 143, 255, 0.06);
    border-left: 4px solid #4f8fff;
}

.sec-balance-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.sec-balance-card {
    padding: 14px 16px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
}

.sec-balance-card--cash {
    border-left: 3px solid #10b981;
}

.sec-balance-card--debt {
    border-left: 3px solid #f59e0b;
}

.sec-balance-card--liquidity {
    border-left: 3px solid var(--color-primary);
}

.sec-balance-card-header {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 12px;
}

.sec-balance-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    font-size: 12px;
}

.sec-balance-item:last-child {
    border-bottom: none;
}

.sec-balance-item span {
    color: var(--text-muted);
}

.sec-balance-item strong {
    color: var(--text-primary);
    text-align: right;
    max-width: 60%;
    font-weight: 500;
}

/* Секція 4: Ризики */
.sec-risks-container {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.sec-risk-category {
    padding: 14px 16px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.03);
}

.sec-risk-category--business {
    border-left: 3px solid #ef4444;
}

.sec-risk-category--external {
    border-left: 3px solid #f59e0b;
}

.sec-risk-category--legal {
    border-left: 3px solid #4f8fff;
}

.sec-risk-category-header {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 10px;
}

.sec-risk-list {
    margin: 0;
    padding-left: 20px;
}

.sec-risk-list li {
    font-size: 13px;
    color: var(--text-secondary);
    margin: 6px 0;
    line-height: 1.5;
}

.sec-legal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}

.sec-legal-item {
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 6px;
}

.sec-legal-item strong {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-muted);
    margin-bottom: 6px;
}

.sec-legal-item p {
    margin: 0;
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.5;
}

/* Секція 5: MD&A */
.sec-block--mda {
    background: rgba(164, 120, 246, 0.06);
    border-left: 4px solid var(--color-secondary);
}

.sec-mda-tone {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 8px;
    margin-bottom: 16px;
}

.sec-mda-tone span {
    font-weight: 600;
    color: var(--text-primary);
}

.sec-mda-section {
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 10px;
    margin-bottom: 14px;
}

.sec-mda-section:last-of-type {
    margin-bottom: 0;
}

.sec-mda-section--uncertainties {
    background: rgba(239, 68, 68, 0.04);
    border: 1px solid rgba(239, 68, 68, 0.15);
}

.sec-mda-header {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 12px;
}

.sec-mda-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}

.sec-mda-item {
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 6px;
}

.sec-mda-item strong {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-muted);
    margin-bottom: 6px;
}

.sec-mda-item p {
    margin: 0;
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.5;
}

.sec-uncertainties-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}

.sec-uncertainty-item {
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 6px;
}

.sec-uncertainty-item span {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-primary);
    margin-bottom: 6px;
}

.sec-uncertainty-item p {
    margin: 0;
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.4;
}

.sec-credibility {
    margin-top: 14px;
    padding: 14px 16px;
    background: rgba(79, 143, 255, 0.06);
    border: 1px solid rgba(79, 143, 255, 0.2);
    border-radius: 8px;
}

.sec-credibility strong {
    color: var(--color-primary);
}

.sec-credibility p {
    margin: 8px 0 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-secondary);
}

.sec-no-data {
    color: var(--text-muted);
    font-style: italic;
    font-size: 13px;
}

/* Badges */
.badge {
    display: inline-block;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.badge--success {
    background: rgba(16, 185, 129, 0.15);
    color: var(--color-success);
    border: 1px solid rgba(16, 185, 129, 0.3);
}

.badge--warning {
    background: rgba(245, 158, 11, 0.15);
    color: var(--color-warning);
    border: 1px solid rgba(245, 158, 11, 0.3);
}

.badge--danger {
    background: rgba(239, 68, 68, 0.15);
    color: var(--color-danger);
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.badge--ttm {
    background: rgba(79, 143, 255, 0.15);
    color: #a478f6;
    border: 1px solid rgba(79, 143, 255, 0.3);
    font-size: 10px;
    padding: 2px 6px;
    margin-left: 8px;
    vertical-align: middle;
}

/* Дисклеймер для метрик */
.metrics-disclaimer {
    margin-top: 12px;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    font-size: 12px;
    color: var(--color-text-secondary);
    line-height: 1.5;
}

.metrics-disclaimer a {
    color: var(--color-primary);
    text-decoration: none;
    margin-left: 4px;
}

.metrics-disclaimer a:hover {
    text-decoration: underline;
}

/* SEC посилання та кнопки */
.sec-link-block {
    margin-top: 20px;
    text-align: center;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.sec-close-btn {
    margin-top: 16px;
    width: 100%;
}

/* Raw content fallback */
.sec-raw-content {
    background: var(--bg-secondary);
    padding: 16px;
    border-radius: var(--border-radius);
    overflow-x: auto;
}

.sec-raw-content pre {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    white-space: pre-wrap;
    word-wrap: break-word;
    color: var(--text-secondary);
}

/* Mobile responsiveness for SEC section */
@media (max-width: 768px) {
    .sec-investor-grid,
    .sec-verdict-grid,
    .sec-balance-grid,
    .sec-finance-metrics,
    .sec-mda-grid,
    .sec-legal-grid,
    .sec-uncertainties-grid {
        grid-template-columns: 1fr;
    }

    .sec-verdict-assessment,
    .sec-mda-tone {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .sec-financials-grid,
    .sec-risks-grid,
    .sec-debt-grid,
    .sec-outlook-grid {
        grid-template-columns: 1fr;
    }

    .sec-horizon {
        flex-direction: column;
        align-items: flex-start;
    }

    .sec-balance-item {
        flex-direction: column;
        gap: 4px;
    }

    .sec-balance-item strong {
        text-align: left;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .sec-meta {
        flex-direction: column;
        gap: 8px;
    }

    .sec-meta-item {
        width: 100%;
        justify-content: center;
    }

    .sec-analysis-section {
        padding: 16px;
    }

    .sec-block {
        padding: 14px;
    }

    .sec-block h5 {
        font-size: 14px;
    }

    .sec-block h5 .badge {
        margin-left: 0;
        margin-top: 8px;
        width: fit-content;
    }

    .sec-fin-item {
        flex-direction: column;
        gap: 8px;
    }

    .sec-fin-icon {
        font-size: 20px;
    }

    .sec-subsection,
    .sec-finance-card,
    .sec-balance-card,
    .sec-risk-category,
    .sec-mda-section {
        padding: 12px;
    }

    .sec-metric-label,
    .sec-legal-item strong,
    .sec-mda-item strong {
        font-size: 10px;
    }
}

/* ==========================================
   ПОИСК КОМПАНИЙ
   ========================================== */
/* Скрываем поиск для неавторизованных пользователей */
body.no-access .header__search,
body.no-access .search-box,
body.no-access #search-box {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}

.header__search {
    flex: 1;
    max-width: 400px;
    margin: 0 20px;
}

.search-box {
    position: relative;
    display: flex;
    align-items: center;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 0 12px;
    transition: all 0.2s ease;
}

.search-box:focus-within {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(79, 143, 255, 0.15);
}

.search-box__icon {
    font-size: 16px;
    color: var(--text-muted);
    margin-right: 10px;
    flex-shrink: 0;
}

.search-box__input {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    color: var(--text-primary);
    font-size: 14px;
    padding: 12px 0;
    width: 100%;
}

.search-box__input::placeholder {
    color: var(--text-muted);
}

.search-box__clear {
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 16px;
    cursor: pointer;
    padding: 4px 8px;
    margin-left: 4px;
    border-radius: 4px;
    transition: all 0.2s;
}

.search-box__clear:hover {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

/* Результаты поиска */
.search-results {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-lg);
    max-height: 400px;
    overflow-y: auto;
    z-index: 1000;
}

.search-results__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    cursor: pointer;
    transition: background 0.15s ease;
    border-bottom: 1px solid var(--border-color);
}

.search-results__item:last-child {
    border-bottom: none;
}

.search-results__item:hover,
.search-results__item.is-selected {
    background: rgba(79, 143, 255, 0.1);
}

.search-results__logo {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    object-fit: contain;
    background: var(--bg-tertiary);
    flex-shrink: 0;
}

.search-results__info {
    flex: 1;
    min-width: 0;
}

.search-results__symbol {
    font-weight: 700;
    font-size: 14px;
    color: var(--text-primary);
}

.search-results__name {
    font-size: 13px;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search-results__industry {
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 2px;
}

.search-results__price {
    text-align: right;
    flex-shrink: 0;
}

.search-results__price-value {
    display: block;
    font-weight: 600;
    font-size: 14px;
    color: var(--text-primary);
}

.search-results__change {
    display: block;
    font-size: 12px;
    font-weight: 500;
    margin-top: 2px;
}

.search-results__change--positive {
    color: var(--color-success);
}

.search-results__change--negative {
    color: var(--color-danger);
}

.search-results__change--neutral {
    color: var(--text-muted);
}

.search-results__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 24px 16px;
    color: var(--text-muted);
    font-size: 14px;
}

.search-results__empty-icon {
    font-size: 24px;
}

/* Mobile responsiveness for search */
@media (max-width: 768px) {
    .header__inner {
        flex-wrap: wrap;
    }

    .header {
        height: auto;
        min-height: var(--header-height);
    }

    .header__search {
        order: 3;
        flex-basis: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0 0 8px;
    }

    .search-box__input {
        font-size: 16px; /* Prevent iOS zoom on focus */
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .header__search {
        max-width: 280px;
        margin: 0 16px;
    }
}

/* AI Sources Links */
.ai-sources {
    margin-top: 24px;
    padding: 16px;
    background: rgba(79, 143, 255, 0.05);
    border-radius: 8px;
    border: 1px solid rgba(79, 143, 255, 0.1);
}

.ai-sources__title {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 12px;
}

.ai-sources__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ai-source-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    color: var(--text-primary);
    text-decoration: none;
    font-size: 12px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.ai-source-link:hover {
    background: var(--bg-tertiary);
    border-color: var(--color-primary);
    color: var(--color-primary);
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    .ai-sources__links {
        flex-direction: column;
    }
    
    .ai-source-link {
        width: 100%;
        justify-content: center;
    }
}

/* Inline Source Links */
.inline-source-link {
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    text-decoration: none;
    margin-left: 2px;
    opacity: 0.7;
    transition: opacity 0.2s ease, transform 0.1s ease;
    vertical-align: middle;
}

.inline-source-link:hover {
    opacity: 1;
    transform: scale(1.15);
}

.inline-source-link:active {
    transform: scale(1.05);
}
/* Inline Source Links - красивая подсветка */
.inline-source-link {
    display: inline;
    font-size: 11px;
    font-weight: 600;
    color: var(--color-primary);
    background: rgba(79, 143, 255, 0.1);
    padding: 2px 6px;
    border-radius: 4px;
    text-decoration: none;
    margin-left: 3px;
    margin-right: 1px;
    border: 1px solid rgba(79, 143, 255, 0.2);
    transition: all 0.2s ease;
    white-space: nowrap;
}

.inline-source-link:hover {
    background: rgba(79, 143, 255, 0.2);
    border-color: rgba(79, 143, 255, 0.4);
    color: #2563eb;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(79, 143, 255, 0.2);
}

.inline-source-link:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(79, 143, 255, 0.2);
}

/* ==========================================
   ПОРІВНЯННЯ КОМПАНІЙ
   ========================================== */

/* Модальне вікно вибору компанії */
.comparison-search {
    margin-bottom: 20px;
}

.comparison-search .search-input {
    width: 100%;
    padding: 12px 16px;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 14px;
}

.comparison-companies-list {
    max-height: 600px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Вкладки секторів */
.comparison-sector-tabs {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px;
    margin-bottom: 20px;
    border-bottom: 2px solid var(--border-color);
    padding-bottom: 0;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--border-color) transparent;
    width: 100%;
    min-height: 50px;
}

.comparison-sector-tabs::-webkit-scrollbar {
    height: 4px;
}

.comparison-sector-tabs::-webkit-scrollbar-track {
    background: transparent;
}

.comparison-sector-tabs::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: 2px;
}

.comparison-sector-tab {
    padding: 12px 20px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    color: var(--text-secondary);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 8px;
    position: relative;
    margin-bottom: -2px;
    min-width: fit-content;
    visibility: visible !important;
    opacity: 1 !important;
}

.comparison-sector-tab:hover {
    color: var(--text-primary);
    background: var(--bg-tertiary);
}

.comparison-sector-tab.active {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
    font-weight: 600;
}

.comparison-sector-tab__count {
    font-size: 12px;
    background: var(--bg-secondary);
    padding: 2px 8px;
    border-radius: 12px;
    color: var(--text-muted);
    font-weight: 400;
}

.comparison-sector-tab.active .comparison-sector-tab__count {
    background: var(--color-primary);
    color: var(--text-primary);
}

.comparison-sector-contents {
    position: relative;
}

.comparison-sector-content {
    display: none;
    padding: 0;
}

.comparison-sector-content.active {
    display: block;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.comparison-industry-group {
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 12px;
    margin-bottom: 12px;
}

.comparison-industry-group:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.comparison-industry-group__header {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: var(--bg-tertiary);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
}

.comparison-industry-group__header:hover {
    background: var(--bg-hover);
    border-color: var(--color-primary);
}

.comparison-industry-group__arrow {
    font-size: 12px;
    color: var(--text-muted);
    transition: transform 0.2s ease;
    display: inline-block;
    width: 16px;
    text-align: center;
}

.comparison-industry-group__name {
    flex: 1;
}

.comparison-industry-group__count {
    font-size: 12px;
    font-weight: 400;
    color: var(--text-muted);
    background: var(--bg-secondary);
    padding: 4px 10px;
    border-radius: 12px;
}

.comparison-industry-companies {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
    margin-top: 12px;
    padding-left: 26px;
}

.comparison-company-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.comparison-company-item:hover {
    background: var(--bg-secondary);
    border-color: var(--color-primary);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(79, 143, 255, 0.2);
}

.comparison-company-item__logo {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    object-fit: cover;
}

.comparison-company-item__info {
    flex: 1;
}

.comparison-company-item__symbol {
    font-weight: 600;
    font-size: 14px;
    color: var(--text-primary);
}

.comparison-company-item__name {
    font-size: 12px;
    color: var(--text-muted);
    margin-top: 2px;
}

.comparison-company-item__price {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-primary);
    margin-top: 4px;
}

/* Модальне вікно порівняння */
.modal__content--xlarge {
    max-width: 1200px;
    width: 95%;
}

.comparison-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    padding: 30px 20px;
    margin-bottom: 30px;
    background: linear-gradient(135deg, rgba(79, 143, 255, 0.05) 0%, rgba(164, 120, 246, 0.05) 100%);
    border-radius: 12px;
}

/* Выровненный хедер — grid совпадает с таблицей */
.comparison-header--aligned {
    display: grid;
    grid-template-columns: 220px 1fr 1fr;
    gap: 16px;
    align-items: start;
    padding: 24px;
    margin-bottom: 24px;
    background: linear-gradient(135deg, rgba(79, 143, 255, 0.05) 0%, rgba(164, 120, 246, 0.05) 100%);
    border-radius: 12px;
    border: 1px solid var(--border-color);
}

.comparison-header__label {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 20px;
}

.comparison-header--aligned .comparison-vs {
    padding: 0;
    font-size: 22px;
    font-weight: 700;
    color: var(--color-primary);
}

.comparison-company__mcap {
    font-size: 16px;
    font-weight: 600;
    color: var(--color-primary);
    margin-top: 6px;
}

.comparison-company {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.comparison-company img {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    margin-bottom: 8px;
    object-fit: contain;
}

.comparison-company h3 {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary);
    margin: 8px 0 4px;
}

.comparison-company__symbol {
    font-size: 14px;
    color: var(--text-muted);
    font-weight: 500;
}

.comparison-vs {
    font-size: 24px;
    font-weight: 700;
    color: var(--color-primary);
    padding: 0 20px;
}

.comparison-sections {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.comparison-section {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 20px;
}

.comparison-section__title {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-color);
}

.comparison-table {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.comparison-row {
    display: grid;
    grid-template-columns: 220px 1fr 1fr;
    gap: 16px;
    align-items: center;
    padding: 12px;
    border-radius: 8px;
    transition: background 0.2s ease;
}

.comparison-row:hover {
    background: rgba(79, 143, 255, 0.03);
}

.comparison-label {
    font-weight: 500;
    color: var(--text-primary);
    font-size: 14px;
}

.comparison-label__desc {
    font-size: 11px;
    color: var(--text-muted);
    font-weight: 400;
    margin-top: 2px;
    line-height: 1.3;
}

.comparison-value {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary);
    text-align: center;
    padding: 8px 12px;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.comparison-value--better {
    background: rgba(16, 185, 129, 0.15);
    color: #10b981;
    border: 1px solid rgba(16, 185, 129, 0.3);
}

.comparison-value--worse {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.comparison-value--positive {
    color: #10b981;
}

.comparison-value--negative {
    color: #ef4444;
}

.comparison-value--neutral {
    color: var(--text-muted);
}

.comparison-table-container {
    margin: 2rem 0;
    background: var(--bg-tertiary);
    border-radius: var(--border-radius-lg);
    padding: 1.5rem;
    border: 1px solid var(--border-color);
}

.comparison-actions {
    margin: 3rem 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100%;
}

.comparison-actions .btn--generate {
    min-width: 250px !important;
    font-size: 16px !important;
    padding: 16px 32px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 auto !important;
}

.comparison-actions .btn--generate .loading-sm {
    width: 18px !important;
    height: 18px !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    border-top-color: white !important;
    border-radius: 50% !important;
    animation: spin 1s linear infinite !important;
    display: inline-block !important;
    flex-shrink: 0;
}

.comparison-conclusion {
    margin-top: 2rem;
}

.comparison-conclusion.hidden {
    display: none;
}

.comparison-conclusion__error {
    color: var(--color-danger);
    text-align: center;
    padding: 1rem;
    background: rgba(239, 68, 68, 0.1);
    border-radius: var(--border-radius);
    border: 1px solid var(--color-danger);
}

/* Стили для вывода сравнения - используем те же что и для AI анализа */
.comparison-conclusion .ai-section {
    margin: 0;
}

.comparison-conclusion .ai-block__content {
    color: var(--text-secondary);
}

.metric-value {
    color: var(--color-primary);
    font-weight: 600;
    background: rgba(79, 143, 255, 0.1);
    padding: 2px 6px;
    border-radius: 4px;
}

.metric-name {
    color: var(--color-secondary);
    font-weight: 600;
}

.company-name {
    color: var(--color-primary);
    font-weight: 700;
    font-size: 16px;
}

.comparison-word {
    color: var(--color-success);
    font-weight: 600;
    font-style: normal;
}

@media (max-width: 768px) {
    .comparison-header {
        flex-direction: column;
        gap: 20px;
    }

    .comparison-header--aligned {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .comparison-header__label {
        order: -1;
    }

    .comparison-vs {
        padding: 10px 0;
    }

    .comparison-row {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .comparison-label {
        font-weight: 600;
        margin-bottom: 4px;
    }

    .comparison-companies-list {
        grid-template-columns: 1fr;
    }
}

/* Source Links - ненавязчивые иконки */
.source-link {
    display: inline;
    font-size: 13px;
    text-decoration: none;
    margin-left: 2px;
    opacity: 0.4;
    transition: opacity 0.2s ease, transform 0.15s ease;
    cursor: pointer;
}

.source-link:hover {
    opacity: 1;
    transform: scale(1.2);
}

.source-link:active {
    transform: scale(1);
}

/* Удаляем старый стиль inline-source-link */
.inline-source-link {
    display: none;
}
/* Text Source Links - ненавязчивые текстовые ссылки */
.source-link {
    display: inline;
    font-size: 11px;
    font-weight: 500;
    color: #6b7280;
    text-decoration: none;
    margin-left: 4px;
    padding: 1px 4px;
    border-radius: 3px;
    transition: all 0.2s ease;
}

.source-link:hover {
    color: var(--color-primary);
    background: rgba(79, 143, 255, 0.08);
    text-decoration: underline;
}

.source-link::before {
    content: "↗";
    font-size: 9px;
    margin-right: 2px;
    opacity: 0.6;
}
/* Pill-style Source Links - оранжевая подсветка при наведении */
.source-link {
    display: inline-block;
    font-size: 10px;
    font-weight: 500;
    color: #64748b;
    background: #f1f5f9;
    text-decoration: none;
    margin-left: 4px;
    padding: 2px 8px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    transition: all 0.2s ease;
    vertical-align: middle;
    line-height: 1.2;
}

.source-link:hover {
    color: #ea580c;
    background: #ffedd5;
    border-color: #fb923c;
    box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.1);
}

.source-link:active {
    transform: scale(0.98);
}

/* ==========================================
   ДОДАТКОВА МОБIЛЬНА АДАПТАЦIЯ
   ========================================== */

@media (max-width: 768px) {
    .main {
        padding: 20px 0 48px;
    }

    .section__title {
        font-size: 20px;
        margin-bottom: 16px;
    }

    .sectors-grid {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: 12px;
    }

    .sector-card {
        padding: 16px;
    }

    .companies-table {
        min-width: 500px;
    }

    .companies-table th,
    .companies-table td {
        padding: 10px 12px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 12px;
    }

    .header__logo-text {
        font-size: 18px;
    }

    .sectors-grid {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .sector-card {
        padding: 12px;
    }

    .sector-card__icon {
        font-size: 28px;
    }

    .sector-card__name {
        font-size: 13px;
    }
}

/* ==========================================
   СТИЛІ ДЛЯ ДРУКУ / PDF
   ========================================== */

