/* =================================================================
   ACTUC CORE: PWA MOBILE ARCHITECTURE & SAFE AREAS MANIFESTO
   ================================================================= */

:root {
    /* Автоматический расчет безопасных зон устройства */
    --pwa-safe-top: env(safe-area-inset-top, 0px);
    --pwa-safe-bottom: env(safe-area-inset-bottom, 0px);
}

/* Настройки сброса и контроля геометрии (Reset & Box Model) */
html, body, h1, h2, p, form, input, button, textarea, select {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    /* Замена 100vh на 100dvh — ликвидация прыжков при скрытии адресной строки */
    height: 100dvh;
    min-height: 100dvh;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent; /* Убирает дефолтное синее подсвечивание тапа на смартфонах */
}

body {
    background-color: #0b0f19; /* Deep charcoal graphite background */
    color: #e2e8f0; /* Crisp slate text */
    font-family: 'Share Tech Mono', 'Courier New', monospace; /* Monospaced layout */
    overflow-x: hidden;
    padding-top: 10px;
}

/* Модернизация верхнего статус-бара шапки под Safe Area iOS/Android */
#mobile-top-bar {
    padding-top: calc(10px + var(--pwa-safe-top)) !important;
    height: calc(60px + var(--pwa-safe-top)) !important;
}

/* Корректировка выпадающего бургер-меню, чтобы оно не накладывалось на новую шапку */
#global-nav-dropdown {
    top: calc(60px + var(--pwa-safe-top)) !important;
}

/* ЖЕСТКИЙ СТАНДАРТ ТАЧ-ТАРГЕТОВ (Минимум 44x44px для безошибочного клика на ходу) */
#mobile-burger-trigger,
.category-trigger-btn,
#direct-chat-send-btn,
.btn-tactical {
    min-height: 44px !important;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation; /* Оптимизация задержки тапа */
}

/* Нижние элементы/кастомные футеры автоматически страхуются от перекрытия полосой жестов */
.pwa-footer-fixed {
    padding-bottom: calc(15px + var(--pwa-safe-bottom)) !important;
}

/* =================================================================
   ACTUC MIL-SPEC UI STYLESHEET (style.css) - LAYOUT & GEOMETRY
   ================================================================= */

/* Fixed Laser Shield Line under header */
#actuc-laser-shield {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #00ff66; /* Neon Green Core Shield */
    box-shadow: 0 0 15px #00ff66;
    z-index: 999999;
}

/* Layout Geometry */
#terminal-container {
    max-width: 1200px;
    margin: 40px auto;
    padding: 20px;
}

.terminal-header {
    border-bottom: 1px solid rgba(226, 232, 240, 0.1);
    padding-bottom: 15px;
    margin-bottom: 30px;
}

.terminal-header h1 {
    font-size: 24px;
    letter-spacing: 2px;
    color: #e2e8f0;
}

.system-status {
    font-size: 14px;
    margin-top: 5px;
    letter-spacing: 1px;
}

/* Tactical Status Triggers */
.status-green { color: #00ff66; font-weight: bold; }
.status-yellow { color: #ffcc00; font-weight: bold; }
.status-red { color: #ff3333; font-weight: bold; }

/* Grid blocks architecture */
.auth-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
}

@media (max-width: 768px) {
    .auth-grid {
        grid-template-columns: 1fr;
    }
}

.auth-block {
    background: #1E293B; /* Translucent dark blocks */
    border: 1px solid rgba(226, 232, 240, 0.1); /* Sharp non-rounded borders */
    position: relative;
}

.auth-block h2 {
    font-size: 18px;
    color: #ffcc00; /* Elevated Attention Orange-Yellow */
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.block-desc {
    font-size: 13px;
    color: #94a3b8;
    margin-bottom: 20px;
    line-height: 1.5;
}

/* =================================================================
   INPUTS & DATA ENGINEERING SYSTEM
   ================================================================= */
.input-group {
    margin-bottom: 15px;
}

.input-group label {
    display: block;
    font-size: 11px;
    color: #64748b;
    margin-bottom: 5px;
    letter-spacing: 1px;
}

/* Объединенная тактическая инженерная группа полей ввода */
.input-group input, textarea, select {
    width: 100%;
    background: #05070b;
    border: 1px solid #334155;
    color: #ffcc00;
    padding: 10px 12px;
    font-family: monospace;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.input-group input:focus, textarea:focus, select:focus {
    border-color: #ffcc00;
    box-shadow: 0 0 5px rgba(255, 204, 0, 0.2);
}

/* Form structures */
.input-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

textarea {
    resize: vertical;
}

/* =================================================================
   BUTTONS DEPLOYMENT MATRIX
   ================================================================= */
.btn-tactical {
    width: 100%;
    padding: 12px;
    font-family: monospace;
    font-size: 13px;
    font-weight: bold;
    cursor: pointer;
    border: none;
    transition: background-color 0.2s, transform 0.1s;
    letter-spacing: 1px;
}

.btn-trigger {
    background: #e2e8f0;
    color: #0b0f19;
}
.btn-trigger:hover { background: #cbd5e1; }

.btn-alert {
    background: #ffcc00;
    color: #0b0f19;
}
.btn-alert:hover { background: #e6b800; }

.btn-logout {
    background: #ff3333;
    color: #0b0f19;
}
.btn-logout:hover { background: #cc2929; }

.btn-tactical:active {
    transform: scale(0.99);
}

/* Password Visibility Toggle Engineering */
.password-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.password-wrapper input {
    padding-right: 75px; /* Освобождаем место для кнопки внутри инпута */
}

.toggle-password {
    position: absolute;
    right: 10px;
    background: none;
    border: none;
    color: #64748b;
    font-family: monospace;
    font-size: 11px;
    cursor: pointer;
    font-weight: bold;
    outline: none;
    user-select: none;
}

.toggle-password:hover {
    color: #e2e8f0;
}

/* =================================================================
   WORKSPACE & DOSSIER AESTHETICS
   ================================================================= */
.workspace-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

@media (max-width: 992px) {
    .workspace-grid {
        grid-template-columns: 1fr;
    }
}

.dossier-display {
    background: #05070b;
    border-left: 3px solid #ffcc00;
    padding: 15px;
    margin-bottom: 20px;
}

.dossier-line {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 1px;
    border-bottom: 1px dashed rgba(226, 232, 240, 0.05);
}

.tactical-divider {
    border: 0;
    border-top: 1px dashed rgba(226, 232, 240, 0.1);
    margin: 15px 0;
}

h3 {
    font-size: 14px;
    color: #64748b;
    margin-bottom: 15px;
    letter-spacing: 1px;
}

/* Tactical Dossier Avatar System - PRODUCTION FIXED ZONE */
.dossier-avatar-container {
    width: 100%;
    height: 180px; /* Жесткий лимит зоны видимости */
    background: #05070b; /* Глубокий черный фон для "ушей" если фото узкое */
    margin-bottom: 20px;
    display: flex;
    align-items: center; /* Центрирование по вертикали */
    justify-content: center; /* Центрирование по горизонтали */
    overflow: hidden; /* Гарантия, что ничего не выйдет за рамки */
    
    /* Боевая тактическая рамка и мягкая желтая подсветка */
    border: 1px dashed rgba(245, 158, 11, 0.3);
    box-shadow: 0 0 15px rgba(245, 158, 11, 0.1);
    /* Запуск плавного HUD-мерцания (цикл 4 секунды) */
    animation: tacticalBreathingGlow 4s infinite ease-in-out;
}

#dossier-avatar-container {
    position: relative;
    justify-content: flex-start;
}

#dossier-avatar-container .dossier-avatar-stage {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

#dossier-avatar-container .dossier-social-sidebar {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 100%;
    padding: 8px 10px 8px 6px;
    box-sizing: border-box;
    border-left: 1px dashed rgba(245, 158, 11, 0.22);
    background: linear-gradient(90deg, rgba(5, 7, 11, 0) 0%, rgba(15, 23, 42, 0.55) 100%);
}

#dossier-avatar-container .dossier-social-sidebar[hidden],
#dossier-avatar-container .dossier-social-sidebar.is-empty {
    display: none !important;
}

.auth-block.secure-dossier-matrix .dossier-card-layout {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 20px;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.auth-block.secure-dossier-matrix .dossier-photo-frame {
    flex: 0 0 auto;
}

.auth-block.secure-dossier-matrix .dossier-text-rows {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: anywhere;
}

.auth-block.secure-dossier-matrix .dossier-author-social-column {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    padding: 4px 2px 4px 8px;
    border-left: 1px dashed rgba(234, 179, 8, 0.28);
    box-sizing: border-box;
}

.auth-block.secure-dossier-matrix .dossier-author-social-column[hidden],
.auth-block.secure-dossier-matrix .dossier-author-social-column.is-empty {
    display: none !important;
}

.active-social-icons-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.social-icon-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(234, 179, 8, 0.35);
    background: #020617;
    box-shadow: 0 0 8px rgba(234, 179, 8, 0.12);
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.social-icon-link:hover,
.social-icon-link:focus-visible {
    border-color: #eab308;
    box-shadow: 0 0 12px rgba(234, 179, 8, 0.35);
    outline: none;
}

.social-icon-glyph {
    width: 18px;
    height: 18px;
    display: block;
    object-fit: contain;
}

@media (max-width: 767px) {
    .auth-block.secure-dossier-matrix .dossier-card-layout {
        flex-direction: column;
        align-items: center;
        overflow-x: hidden;
    }

    .auth-block.secure-dossier-matrix .dossier-photo-frame {
        max-width: 100%;
    }

    .auth-block.secure-dossier-matrix .dossier-text-rows {
        width: 100%;
    }

    .auth-block.secure-dossier-matrix .dossier-author-social-column {
        width: 100%;
        border-left: none;
        border-top: 1px dashed rgba(234, 179, 8, 0.28);
        padding: 12px 0 0;
        flex-direction: row;
        justify-content: center;
    }

    .auth-block.secure-dossier-matrix .dossier-author-social-column .active-social-icons-stack {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }
}

/* Стили перенесены на рабочий ID, управляющий логикой формы */
#operative-avatar {
    max-width: 100%;   /* Ширина не больше контейнера */
    max-height: 100%;  /* Высота жестко вписывается в рамку */
    width: auto;       /* Разрешаем автоматический расчет */
    height: auto;      /* сохраняя пропорции оригинала */
    object-fit: contain; /* Картинка полностью помещается внутри рамки без обрезки */
    display: block;
}

.avatar-placeholder {
    font-size: 11px;
    color: #64748b;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* ================================================================= */
/* TACTICAL GEOPOLITICAL RADAR SYSTEM & METRICS GRAPH (70/30 SPLIT)  */
/* ================================================================= */
.radar-telemetry-grid {
    display: grid;
    grid-template-columns: 7fr 3fr; /* Strict 70% to 30% grid partition */
    gap: 25px;
    margin-bottom: 25px;
}

@media (max-width: 992px) {
    .radar-telemetry-grid {
        grid-template-columns: 1fr; /* Stack vertically on low-res screens */
    }
}

/* Simulated Vector Map Environment */
.vector-world-map {
    width: 100%;
    height: 300px;
    background: #05070b;
    border: 1px solid #14532d;
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 0 30px rgba(34, 197, 94, 0.2);
}

#world-map-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 2;
}

/* Делаем радар чуть крупнее на планшетах и десктопах, если позволяет макет */
@media (min-width: 768px) {
    .vector-world-map {
        height: 350px;
    }
}
@media (min-width: 1200px) {
    .vector-world-map {
        height: 400px;
    }
}

/* Stats stack & Footer Console */
.global-stats-vertical {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.stat-counter-box {
    background: #05070b;
    border-left: 2px solid #334155;
    padding: 10px 15px;
}

.stat-num {
    font-size: 28px;
    font-weight: bold;
    font-family: monospace;
    line-height: 1;
}

.stat-label {
    font-size: 10px;
    color: #64748b;
    letter-spacing: 1px;
    margin-top: 5px;
}

.terminal-footer {
    background: #05070b;
    border: 1px solid rgba(226, 232, 240, 0.1);
    padding: 15px;
    font-size: 13px;
}

/* Utilities */
.hidden { display: none !important; }
.mt-1 { margin-top: 10px; }
.mt-2 { margin-top: 20px; }

/* ================================================================= */
/* PUBLIC STREAM RADAR: SNEAK PREVIEW CARDS INFRASTRUCTURE           */
/* ================================================================= */
.tactical-filter-bar {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.filter-btn {
    background: #05070b;
    border: 1px solid #334155;
    color: #64748b;
    font-family: monospace;
    font-size: 11px;
    padding: 6px 12px;
    cursor: pointer;
    transition: color 0.2s, border-color 0.2s;
}

.filter-btn.active, .filter-btn:hover {
    border-color: #fad033;
    color: #fad033;
}

/* =================================================================
   TACTICAL GLOBAL THREAT PREVIEW MATRIX (INDEX COMPONENT)
   ================================================================= */
.threat-preview-container {
    display: flex;
    flex-direction: column; /* Выстраиваем карточки строго друг под другом */
    align-items: center;    /* Центрируем карточки по горизонтали */
    gap: 20px;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 0;
}

/* Стилизация интерактивной карточки-превью */
.threat-preview-card {
    background: #090d16;
    padding: 20px;
    box-sizing: border-box;
    width: 70%; /* Базовая ширина для десктопа по твоему ТЗ */
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), 
                background 0.2s ease, 
                box-shadow 0.2s ease;
}

/* Тактильный отклик при наведении (эффект легкого свечения) */
.threat-preview-card:hover {
    background: #0f172a;
    transform: translateY(-2px);
}

/* АДАПТИВНОСТЬ: Корректировка под мобильные экраны и PWA интерфейс */
@media (max-width: 992px) {
    .threat-preview-card {
        width: 85%; /* На планшетах даем чуть больше пространства */
    }
}

@media (max-width: 576px) {
    .threat-preview-card {
        width: 100%; /* В мобильном приложении карточка занимает всю ширину safe-area */
        padding: 15px; /* Слегка зажимаем внутренние паддинги */
    }
}

/* Alert Border Variants */
.threat-preview-card.border-STANDARD { border-left: 3px solid #10b981; }
.threat-preview-card.border-ELEVATED { border-left: 3px solid #fad033; }
.threat-preview-card.border-HIGH-ALERT { border-left: 3px solid #ef4444; }

.card-meta {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    color: #64748b;
    margin-bottom: 10px;
}

.card-title {
    font-size: 14px;
    color: #e2e8f0;
    margin-bottom: 8px;
}

.card-snippet {
    font-size: 12px;
    color: #94a3b8;
    line-height: 1.4;
    margin-bottom: 15px;
}

.card-footer-metrics {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
}

.active-agent-link {
    color: #10b981;
    text-decoration: underline;
    cursor: pointer;
}

/* ================================================================= */
/* GLOBAL MODAL SYSTEM FRAMEWORK                                     */
/* ================================================================= */
.modal-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(5, 7, 11, 0.85);
    backdrop-filter: blur(4px);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.modal-content {
    width: 100%;
    max-width: 750px;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #1e293b;
    padding-bottom: 15px;
}

.close-btn {
    background: none;
    border: none;
    color: #ef4444;
    font-family: monospace;
    cursor: pointer;
    font-size: 16px;
}

.modal-body-scroll {
    overflow-y: auto;
    padding-right: 10px;
    margin-top: 15px;
    scrollbar-width: thin;
    scrollbar-color: #1e293b #05070b;
}

.modal-metadata-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
    background: #05070b;
    padding: 10px;
    font-size: 11px;
    margin-bottom: 20px;
}

.modal-section {
    margin-bottom: 20px;
}

.open-description-box {
    background: #05070b;
    padding: 15px;
    border-left: 2px solid #fad033;
    font-size: 13px;
    line-height: 1.6;
    white-space: pre-wrap;
}

/* Expert Box and Comments display specs */
.expert-analysis-box {
    background: #1e1b4b; /* Distinct military midnight blue tone */
    border: 1px solid #312e81;
    padding: 12px;
    margin-top: 10px;
}

.expert-meta { font-size: 11px; color: #94a3b8; margin-bottom: 5px; }
.expert-text { font-size: 13px; line-height: 1.5; color: #fad033; }

.comment-item-box {
    background: #05070b;
    padding: 8px 12px;
    border-bottom: 1px dashed rgba(226, 232, 240, 0.05);
    font-size: 13px;
    margin-top: 5px;
}

.comment-author { color: #64748b; font-weight: bold; margin-right: 10px; }

/* ================================================================= */
/* CAREER GROWTH WIDGET MATRIX (OBSERVER PATHWAY)                   */
/* ================================================================= */
.career-cards-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* Стандартный десктопный ряд из 4 карт */
    gap: 15px;
    margin-top: 15px;
    width: 100%;
}

.career-rank-card {
    background: #090d16;
    border: 1px solid #1e293b;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 160px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.career-rank-card:hover {
    border-color: #fad033;
    box-shadow: 0 0 10px rgba(250, 208, 51, 0.05);
}

.career-rank-card.locked { opacity: 0.4; border: 1px dashed #334155; background: #05070b; }
.career-rank-card.unlocked-rank {
    border: 1px solid #10b981;
    background: rgba(16, 185, 129, 0.02);
}

.rank-title { font-size: 14px; font-weight: bold; color: #e2e8f0; font-family: monospace; }
.rank-req { font-size: 11px; color: #94a3b8; margin-top: 8px; line-height: 1.4; }
.rank-status { font-size: 10px; font-family: monospace; color: #64748b; }
.unlocked-rank .rank-status { color: #10b981; font-weight: bold; }
.rank-action-line { margin-top: 12px; }

/* Дополнительные тактические элементы виджетов */
.security-warning-text {
    font-size: 11px;
    color: #ef4444;
    background: rgba(239, 68, 68, 0.05);
    padding: 8px;
    margin-bottom: 15px;
    border: 1px solid rgba(239, 68, 68, 0.2);
}
.sub-placeholder { font-size: 12px; color: #475569; font-style: italic; }
.tactical-tabs { display: flex; gap: 5px; margin-bottom: 10px; }
.tab-btn { font-size: 11px; color: #64748b; cursor: pointer; padding: 4px 8px; border: 1px solid #1e293b; }
.tab-btn.active { color: #fad033; border-color: #fad033; }
.tab-content-display { background: #05070b; padding: 12px; font-size: 12px; min-height: 80px; }

/* ================================================================= */
/* SCREENSHOT REPLICA LAYOUT ROWS (Levels & Theaters)               */
/* ================================================================= */
.threat-level-quick-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.lvl-box {
    background: #090d16;
    padding: 20px;
    border: 1px solid #1e293b;
    cursor: pointer;
    transition: background 0.2s;
}
.lvl-box:hover { background: #0f172a; }
.lvl-box h3 { font-size: 14px; margin-bottom: 8px; font-family: monospace; }
.lvl-box p { font-size: 11px; color: #94a3b8; line-height: 1.4; }

.box-high { border-top: 3px solid #ef4444; }
.box-high h3 { color: #ef4444; }
.box-elevated { border-top: 3px solid #fad033; }
.box-elevated h3 { color: #fad033; }
.box-standard { border-top: 3px solid #10b981; }
.box-standard h3 { color: #10b981; }

.activity-section-banner {
    background: #1e293b;
    border: 1px solid #827C4E;
    padding: 10px;
    text-align: center;
}
.activity-section-banner h2 { font-size: 13px; color: #94a3b8; letter-spacing: 1px; }

.theater-chat-sector-bar {
    background: #090d16;
    border: 1px solid #1e293b;
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.sector-bar-title { font-size: 12px; color: #64748b; font-family: monospace; }
.theater-buttons { display: flex; gap: 10px; }
.theater-btn {
    background: #1e293b;
    border: 1px solid #827C4E;
    color: #e2e8f0;
    padding: 6px 15px;
    font-size: 12px;
    cursor: pointer;
    font-family: monospace;
    transition: border-color 0.2s, color 0.2s;
}
.theater-btn:hover { border-color: #fad033; color: #fad033; }

/* Geometry expansions */
.full-width-block { width: 100% !important; max-width: 100% !important; }
.workspace-grid-50-50 { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-bottom: 25px; }

/* ================================================================= */
/* STARS RATING GRAPHICS & LOCALIZATION                              */
/* ================================================================= */
.agent-rating-stars-cluster {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #05070b;
    padding: 8px 12px;
    border: 1px dashed rgba(226, 232, 240, 0.1);
}
.rating-label { font-size: 11px; color: #64748b; }
.stars-row-interactive { display: flex; gap: 4px; cursor: pointer; }
.star-node { font-size: 16px; color: #334155; transition: color 0.1s; }
#stars-count-numerical { font-size: 11px; font-family: monospace; }
.translate-safe { text-transform: uppercase; letter-spacing: 0.5px; }

/* ================================================================= */
/* SECURE DOSSIER FORM & ACTIONS CONFIGURATION                       */
/* ================================================================= */
.secure-modification-panel { background: #05070b; border: 1px dashed #334155; padding: 15px; }
.modification-action-line { display: flex; gap: 10px; justify-content: flex-start; }

/* ================================================================= */
/* INTEGRATED MOBILE HUD OVERLAYS & MEDIA RESPONSIVENESS             */
/* ================================================================= */
#mobile-top-bar { display: none; }
#mobile-navigation-dock { display: none; }

@media (max-width: 1024px) {
    .career-cards-container { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    /* Перевод всех сеток в чистые вертикальные стеки на смартфонах */
    .radar-telemetry-grid, 
    .threat-level-quick-grid, 
    .workspace-grid-50-50, 
    .career-cards-container {
        grid-template-columns: 1fr !important;
    }
    
    .theater-chat-sector-bar {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .modification-action-line {
        flex-direction: column;
    }

    /* Активация мобильной PWA-оболочки */
    body { padding-top: 60px; padding-bottom: 70px; }
    
    #mobile-top-bar {
        display: flex; position: fixed; top: 0; left: 0; right: 0; height: 55px;
        background: #05070b; border-bottom: 1px solid #1e293b; z-index: 99;
        align-items: center; padding: 0 15px; justify-content: space-between;
    }
    #mobile-burger-trigger {
        background: none; border: none; display: flex; flex-direction: column; gap: 4px; cursor: pointer;
    }
    #mobile-burger-trigger span { width: 20px; background: #fad033; height: 2px; display: block; }
    .mobile-search-box input {
        background: #090d16; border: 1px solid #334155; color: #fff; font-size: 12px; padding: 5px 10px; font-family: monospace;
    }

    #mobile-navigation-dock {
        display: flex; position: fixed; bottom: 0; left: 0; right: 0; height: 60px;
        background: #05070b; border-top: 1px solid #1e293b; z-index: 99;
        justify-content: space-around; align-items: center;
    }
    .nav-dock-item { text-align: center; color: #64748b; cursor: pointer; }
    .nav-dock-item.active { color: #fad033; }
    .dock-icon { font-size: 18px; display: block; }
    .dock-lbl { font-size: 9px; font-family: monospace; }

    /* Поля ввода и фильтрации внутри архивов */
    .archive-search-wrapper { padding: 5px 0 15px 0; width: 100%; }
    .archive-search-input {
        width: 100%; background: #090d16; border: 1px solid #1e293b; color: #fff;
        font-size: 11px; padding: 8px 12px; font-family: monospace; outline: none;
        box-sizing: border-box; transition: border-color 0.2s ease;
    }
    .archive-search-input:focus { border-color: #334155; }
}

@media (max-width: 480px) {
    .modification-action-line { flex-direction: column; }
}

/* =================================================================
   CHAT - Родовая секция
   ================================================================= */
/* --- БАЗОВАЯ ДЕСКТОПНАЯ СНОВА (Экраны от 769px и выше) --- */
#actuc-tactical-comms.full-width-variant {
    width: 100%;
    min-height: auto;
    background-color: #0d0f0e;
    padding: 10px;
    box-sizing: border-box;
}

.comms-matrix-container.layout-split {
    width: 100%;
    height: auto;
    background-color: #1E293B;
    border: 2px solid #2d3b32;
    border-radius: 4px;
    display: grid;
    grid-template-columns: 70% 30%; /* НОВОЕ: Пропорции перестроены на 70% и 30% */
    font-family: 'Courier New', Courier, monospace;
    box-shadow: 0 0 20px rgba(0, 255, 100, 0.05);
}

.sector-chat-comms {
    display: flex;
    flex-direction: column;
    border-right: 2px solid #2d3b32;
    background-color: #111613;
}

.hq-comms-panel-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.sector-chat-comms.comms-collapsed .hq-comms-panel-body {
    /* Deprecated: badge no longer collapses the whole panel body */
}

.hq-message-archive {
    max-height: 220px;
    overflow-y: auto;
    border-bottom: 1px solid #2d3b32;
    padding: 8px 10px;
    background: #0c100e;
}

.hq-message-archive.is-collapsed,
.hq-message-archive[hidden] {
    display: none !important;
}

.hq-message-archive .archive-msg {
    padding: 8px 10px;
    margin-bottom: 6px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 11px;
    cursor: pointer;
    border-left: 3px solid transparent;
}

.hq-message-archive .archive-msg.msg-unread {
    border-left-color: #ffcc00;
    background: rgba(255, 204, 0, 0.08);
    color: #f8fafc;
}

.hq-message-archive .archive-msg.msg-read {
    border-left-color: #2d3b32;
    background: transparent;
    color: #8fa38b;
    opacity: 0.85;
}

.tactical-alert-badge-inline {
    padding: 2px 8px;
    border: 1px solid currentColor;
    border-radius: 2px;
    min-width: 1.5em;
    text-align: center;
}

.tactical-alert-badge-inline.badge-green,
.tactical-alert-badge-inline.status-ok {
    color: #22c55e;
    border-color: #22c55e;
    background: rgba(34, 197, 94, 0.12);
}

.tactical-alert-badge-inline.badge-red,
.tactical-alert-badge-inline.status-alarm {
    color: #f24141;
    border-color: #f24141;
    background: rgba(242, 65, 65, 0.15);
    box-shadow: 0 0 8px rgba(242, 65, 65, 0.35);
}

.comms-feed[hidden],
.comms-feed.is-hidden {
    display: none !important;
}

/* --- БАЗОВАЯ ТАКТИЧЕСКАЯ КНОПКА (TACTICAL BUTTON) --- */
.tactical-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    
    /* Размеры и внутренние отступы */
    padding: 8px 16px;
    min-height: 36px;
    box-sizing: border-box;
    
    /* Военный минимализм: строгие углы без скруглений */
    border-radius: 2px;
    
    /* Цветовая схема: выцветший армейский хаки на темно-сером бэкграунде */
    background-color: #232d27;
    border: 1px solid #3d5245;
    color: #a3b899;
    
    /* Типографика терминала */
    font-family: 'Courier New', Courier, monospace;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 1px;
    text-transform: uppercase;
    
    /* Интерактивность */
    cursor: pointer;
    user-select: none;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Эффект при наведении (Uplink / Активация) */
.tactical-btn:hover {
    background-color: #2d3b32;
    border-color: #00ff66; /* Фосфорно-зеленый маркер */
    color: #00ff66;
    
    /* Мягкое неоновое свечение в стиле приборов ночного видения */
    box-shadow: 0 0 8px rgba(0, 255, 102, 0.3);
}

/* Эффект при клике (Фиксация нажатия) */
.tactical-btn:active {
    background-color: #161d19;
    transform: scale(0.97);
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.8);
}

/* Состояние блокировки (Доступ запрещен / Observer restriction) */
.tactical-btn:disabled,
.tactical-btn[disabled] {
    background-color: #1a1f1c;
    border-color: #2a332d;
    color: #425247;
    cursor: not-allowed;
    pointer-events: none;
    box-shadow: none;
    transform: none;
}

/* Стилизация SVG-иконок внутри кнопки */
.tactical-btn svg {
    display: block;
    flex-shrink: 0;
    transition: stroke 0.2s ease, fill 0.2s ease;
}

.tactical-btn:hover svg {
    stroke: #00ff66; /* Иконка подсвечивается вместе с текстом */
}

/* ОБЕРТКА СЕКТОРА 2 (Десктоп) — static core layout, no collapse-on-title */
.sector-squad-panel-wrapper {
    position: relative;
    background-color: #101412;
    display: flex;
    flex-direction: column;
}

.panel-section-title {
    width: 100%;
    box-sizing: border-box;
    padding: 14px;
    background-color: #1E293B;
    border-bottom: 2px solid #2d3b32;
    color: #a3b899;
    font-family: 'Courier New', Courier, monospace;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-align: center;
    cursor: default;
    user-select: none;
}

/* Static core panel: always rendered / visible */
.sector-squad-panel,
.sector-squad-panel.is-static-core {
    display: block;
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #1E293B;
    border-bottom: none;
    box-shadow: none;
    padding: 14px;
    box-sizing: border-box;
    z-index: 1;
}

.sector-squad-panel.active {
    display: block;
    position: relative;
    top: 0;
    border-bottom: none;
}

.squad-roster-window {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px;
    border-radius: 2px;
}

.squad-roster-window.hidden {
    display: none !important;
}

/* Attached / member context — muted tactical cyan */
.squad-tier-attached {
    border: 1px solid #22d3ee;
    background: rgba(34, 211, 238, 0.06);
    box-shadow: inset 0 0 0 1px rgba(34, 211, 238, 0.12);
}
.tier-label-attached {
    color: #67e8f9 !important;
    border-left-color: #22d3ee !important;
}

/* Owned / commander context — gold / warning amber */
.squad-tier-owned {
    border: 1px solid #fad033;
    background: rgba(250, 208, 51, 0.07);
    box-shadow: inset 0 0 0 1px rgba(250, 208, 51, 0.15);
}
.tier-label-owned {
    color: #fad033 !important;
    border-left-color: #fad033 !important;
}

.squad-empty-state {
    font-family: 'Courier New', Courier, monospace;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 0.5px;
    text-align: center;
    padding: 16px 10px;
    color: #8fa38b;
    border: 1px dashed #3d5245;
    background: #0f1311;
}
.squad-empty-state.hidden {
    display: none !important;
}
.squad-tier-attached .squad-empty-state {
    color: #67e8f9;
    border-color: rgba(34, 211, 238, 0.35);
}
.squad-tier-owned .squad-empty-state {
    color: #fad033;
    border-color: rgba(250, 208, 51, 0.4);
}

@keyframes tacticalSlideDown {
    from { transform: translateY(-5px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.panel-inner-container {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Базовые стили внутренних компонентов (Чат, сообщения, маркеры) */
.comms-header { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; background-color: #1E293B; border-bottom: 2px solid #2d3b32; }
.comms-status { display: flex; align-items: center; gap: 8px; }
.status-indicator.online { width: 8px; height: 8px; background-color: #00ff66; border-radius: 50%; box-shadow: 0 0 8px #00ff66; }
.comms-title { margin: 0; color: #a3b899; font-size: 14px; font-weight: bold; }
/* Монолитный фид сообщений ACTUC (ЛД и Зона Автора) */
.comms-feed {
    flex: 1;
    max-height: 240px !important; /* Жесткий лимит высоты */
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    background-color: #0f1311;
    overflow-y: auto !important;   /* Включаем скролл при переполнении */
    overflow-x: hidden !important; /* Изолируем горизонтальный сдвиг */
}

/* Стилизация скроллбара под минималистичный милитари-стиль ACTUC */
.comms-feed::-webkit-scrollbar {
    width: 4px; /* Ультратонкий ползунок */
}
.comms-feed::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.3);
}
.comms-feed::-webkit-scrollbar-thumb {
    background: #22c55e; /* Твой фирменный зеленый тактический цвет */
    border-radius: 2px;
}
.message-packet { max-width: 75%; display: flex; flex-direction: column; }
.packet-meta { font-size: 10px; color: #617567; margin-bottom: 4px; display: flex; gap: 8px; }
.packet-body { padding: 10px 12px; font-size: 13px; line-height: 1.4; border-radius: 2px; }
.message-packet.incoming .packet-body { background-color: #18221c; border-left: 3px solid #3d5245; color: #adbfa8; }
.message-packet.outgoing { align-self: flex-end; align-items: flex-end; }
.message-packet.outgoing .packet-body { background-color: #223026; border-right: 3px solid #00ff66; color: #e6f5ea; }
.comms-footer { display: flex; padding: 12px 16px; background-color: #1E293B; border-top: 2px solid #2d3b32; gap: 12px; }
.input-wrapper { position: relative; flex: 1; display: flex; align-items: center; }
.tactical-input { width: 100%; background-color: #0f1311; border: 1px solid #3d5245; padding: 10px 12px; color: #00ff66; font-family: inherit; font-size: 13px; outline: none; }
.tactical-alert-badge { position: absolute; right: 12px; display: flex; align-items: center; justify-content: center; background-color: #cc0000; color: #ffffff; font-size: 10px; font-weight: bold; padding: 2px 6px; border-radius: 3px; box-shadow: 0 0 8px #cc0000; }
.badge-pulse { position: absolute; width: 100%; height: 100%; background-color: #cc0000; border-radius: 3px; z-index: -1; animation: tactical-pulse 2s infinite ease-in-out; }
@keyframes tactical-pulse { 0% { transform: scale(1); opacity: 0.6; } 100% { transform: scale(1.3); opacity: 0; } }
.tactical-send-btn { background-color: #00ff66; border: none; color: #0d0f0e; font-family: inherit; font-weight: bold; font-size: 12px; padding: 10px 16px; cursor: pointer; }
.panel-section { display: flex; flex-direction: column; gap: 6px; }
.panel-label { font-size: 10px; color: #909bae; font-weight: bold; text-transform: uppercase; border-left: 2px solid #3d5245; padding-left: 6px; }
.identity-badge { background-color: #0f1311; border: 1px dashed #3d5245; padding: 8px; font-size: 11px; color: #8fa38b; font-weight: bold; text-align: center; }
.intel-output-screen { background-color: #0f1311; border: 1px solid #2d3b32; padding: 10px; min-height: 40px; display: flex; align-items: center; justify-content: center; }
.output-placeholder { color: #324237; font-size: 10px; }
.squad-action-btn { width: 100%; background-color: #24332a; border-color: #384f40; padding: 8px; font-size: 10px; color: #3d5245; }
.roster-slot { display: flex; align-items: center; gap: 8px; padding: 4px 6px; background-color: #141a17; }
.slot-num { font-size: 10px; color: #3d5245; }
.squad-member-link { font-size: 11px; text-decoration: none; color: #00ff66; pointer-events: none; }
/* Базовые стили сетки */
.roster-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    background-color: #0f1311;
    border: 1px solid #2d3b32;
    padding: 6px;
    height: auto;
    overflow: visible;
}

.roster-grid.hidden {
    display: none !important;
}

.roster-slot {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px; /* Немного увеличен отступ для четкости */
    background-color: #141a17;
    border-bottom: 1px solid #1c2620;
}

/* Изменение для мобильного режима (до 768px) */
@media (max-width: 768px) {
    .sector-squad-panel {
        /* Увеличиваем лимит максимальной высоты окна Bottom Sheet на мобильных, 
           чтобы все 12 строк гарантированно поместились без обрезки */
        max-height: 580px; 
        overflow-y: auto; /* На очень маленьких смартфонах скролл останется внутри панели, защищая экран */
    }
}

/* --- МОБИЛЬНАЯ И ПЛАНШЕТНАЯ АДАПТАЦИЯ ДЛЯ SQUAD PANEL --- */
@media (max-width: 991px) {
    .sector-squad-panel-wrapper {
        position: relative;
        width: 100%;
    }

    /* Static core remains visible on mobile — roster windows stay independently hidden */
    .sector-squad-panel,
    .sector-squad-panel.is-static-core {
        display: block !important;
        position: relative;
        width: 100%;
        background-color: #1E293B;
        border: 1px solid #2d3b32;
        padding: 10px;
        box-sizing: border-box;
    }
}

/* Анимация тактического появления в стиле интерфейса ACTUC */
@keyframes tacticalSlideIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================================================
   ⚡ ОБНОВЛЕННЫЙ АДАПТИВНЫЙ РЕЖИМ (Мобильные экраны: ДО 768px включительно)
   ========================================================================== */
@media (max-width: 768px) {
    
    .comms-matrix-container.layout-split {
        grid-template-columns: 100%; /* Полное схлопывание в одну вертикальную ленту */
        position: relative;
    }

    .sector-chat-comms {
        border-right: none;
        width: 100%;
    }

    .sector-squad-panel-wrapper {
        width: 100%;
        background-color: transparent;
    }

    .panel-section-title {
        border-top: 2px solid #2d3b32;
    }

    /* Static core panel on mobile — in-flow, always visible */
    .sector-squad-panel,
    .sector-squad-panel.is-static-core,
    .sector-squad-panel.active {
        display: block !important;
        position: relative;
        top: auto;
        bottom: auto;
        border-top: 1px solid #2d3b32;
        border-bottom: none;
        max-height: none;
        overflow: visible;
        box-shadow: none;
    }
}

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

/* =================================================================
   TACTICAL ARCHIVE ACCORDION MATRIX (WITH FIXED INTRUSIVE SCROLL)
   ================================================================= */
.tactical-section-boundary {
    margin: 20px auto;
    max-width: 1200px;
}

.archive-matrix-container {
    display: flex;
    gap: 20px;
    width: 80%;
}

.archive-accordion-item {
    flex: 1;
    width: 50%;
    background-color: #0F172A; 
    border: 1px solid #334155; 
    border-radius: 4px;
    overflow: hidden;
    transition: border-color 0.3s ease;
}

.archive-accordion-item:hover {
    border-color: #64748B; 
}

.archive-accordion-trigger {
    width: 100%;
    background: #1E293B;
    border: none;
    outline: none;
    padding: 15px 20px;
    color: #F8FAFC;
    font-family: monospace;
    font-size: 0.85rem;
    letter-spacing: 1px;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.2s ease;
}

.archive-accordion-trigger:hover {
    background: #334155;
}

.archive-accordion-trigger .indicator-marker {
    color: #E2E8F0; 
    margin-right: 5px;
}

.archive-accordion-trigger .accordion-chevron {
    font-size: 0.8rem;
    color: #94A3B8;
}

/* Скрытое состояние контента — сохраняем для гладкой анимации */
.archive-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0, 1, 0, 1); 
    background: #020617;
    padding: 0 20px;
    box-sizing: border-box;
}

/* =================================================================
   ХИРУРГИЧЕСКИЙ НАДРЕЗ: ОГРАНИЧЕНИЕ ВЫСОТЫ И АВТОНОМНЫЙ СКРОЛЛ
   ================================================================= */
.archive-accordion-item.active .archive-accordion-content {
    /* Ограничиваем окно терминала: 550px идеально для десктопа и экранов телефонов */
    max-height: 550px; 
    padding: 20px;
    
    /* Включаем внутренний скролл по вертикали, если постов много */
    overflow-y: auto; 
    overflow-x: hidden;
    
    transition: max-height 0.3s cubic-bezier(1, 0, 1, 0); 
    
    /* Стилизация полосы скролла под военный минимализм (для WebKit-браузеров) */
    scrollbar-width: thin;
    scrollbar-color: #1e293b #020617;
}

/* Кастомизация скроллбара внутри окна постов для Chrome/Safari/Edge/PWA */
.archive-accordion-item.active .archive-accordion-content::-webkit-scrollbar {
    width: 6px;
}
.archive-accordion-item.active .archive-accordion-content::-webkit-scrollbar-track {
    background: #020617;
}
.archive-accordion-item.active .archive-accordion-content::-webkit-scrollbar-thumb {
    background: #1e293b;
    border-radius: 3px;
}
.archive-accordion-item.active .archive-accordion-content::-webkit-scrollbar-thumb:hover {
    background: #38bdf8; /* Легкая неоновая подсветка активного бегунка */
}

/* АДАПТИВНОСТЬ ПОД ТЕЛЕФОНЫ: Чуть поджимаем высоту на маленьких экранах */
@media (max-height: 740px) {
    .archive-accordion-item.active .archive-accordion-content {
        max-height: 400px; /* Чтобы шапка и подвал телефона не перекрывали окно */
    }
}

.archive-accordion-item.active .archive-accordion-trigger .accordion-chevron {
    color: #F43F5E; 
    content: "[ - ]";
}

.secure-buffer-placeholder {
    font-family: monospace;
    font-size: 0.8rem;
    color: #64748B;
    padding: 15px;
    border: 1px dashed #1E293B;
    text-align: center;
    background: #090D16;
}

/* =================================================================
   GLOBAL FIXED BURGER DROPDOWN (STICKY ON ALL SCREENS)              */
/* ================================================================= */
#global-nav-dropdown {
    position: fixed !important; /* Намертво фиксируем на всех экранах */
    top: 60px;                  /* Отступ сверху под высоту хедера */
    right: 20px;                /* Аккуратный отступ от правого края */
    width: 260px;
    background: #05070b;        /* Фирменный глубокий темный тон ACTUC */
    border: 1px solid #1e293b;  /* Граница в стиле милитари-минимализма */
    border-radius: 4px;
    z-index: 10000;             /* Абсолютный приоритет отображения поверх любых элементов */
    padding: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.85);
}

/* Элементы навигации внутри выпадающей панели */
#global-nav-dropdown a, 
#global-nav-dropdown button {
    display: block;
    color: #64748b;
    font-family: monospace;
    font-size: 12px;
    text-decoration: none;
    padding: 10px 5px;
    border-bottom: 1px solid #090d16;
    text-align: left;
    background: none;
    width: 100%;
    border-left: none;
    border-right: none;
    border-top: none;
    cursor: pointer;
    transition: color 0.2s ease, padding-left 0.2s ease;
}

#global-nav-dropdown a:hover, 
#global-nav-dropdown button:hover { 
    color: #fad033;             /* Твой командный желтый/золотой акцент */
    padding-left: 10px;         /* Интерактивный тактический сдвиг при наведении */
}

/* =================================================================
   INDEPENDENT ACTUC: EXTENSION FOR ABOUT & ARCHIVE WORKSPACES
   ================================================================= */

/* --- Уникальные стили сектора ABOUT --- */
.about-workspace {
    max-width: 1100px;
    margin: 40px auto;
    padding: 0 20px;
    position: relative;
    z-index: 2;
}

.hq-hero-banner {
    border: 1px solid #1e293b;
    backdrop-filter: blur(4px);
    padding: 40px;
    border-radius: 4px;
    margin-bottom: 30px;
    text-align: center;
}

.hq-title-accent {
    color: #38bdf8;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.tactical-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, #1e293b, #38bdf8, #1e293b, transparent);
    margin: 25px 0;
}

.essence-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 30px;
}

.essence-card {
    background: rgba(15, 23, 42, 0.7);
    border: 1px solid #1e293b;
    padding: 30px;
    border-radius: 4px;
    position: relative;
}

.essence-card h3 {
    margin-top: 0;
    color: #fad033;
    display: flex;
    align-items: center;
    gap: 10px;
}

.placeholder-graphic-node {
    width: 100%;
    height: 200px;
    background: #020617;
    border: 1px dashed #334155;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 15px;
    color: #64748b;
    font-size: 11px;
}

/* --- Уникальные стили сектора ARCHIVES --- */
.archive-workspace {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
    position: relative;
    z-index: 2;
}

.archive-search-terminal {
    background: rgba(9, 13, 22, 0.9);
    border: 1px solid #1e293b;
    padding: 25px;
    border-radius: 4px;
    margin-bottom: 30px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

.archive-search-inner {
    display: flex;
    gap: 15px;
    margin-top: 15px;
}

/* Объединенная инженерная группа полей поиска архивов */
.archive-search-input {
    flex-basis: 70%;
    min-width: 0;
    background: #020617;
    border: 1px solid #334155;
    color: #fff;
    padding: 12px 20px;
    font-family: monospace;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s ease;
}

.archive-search-input:focus {
    border-color: #38bdf8;
}

.threat-matrix-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.threat-tier-block {
    background: #1E293B;
    backdrop-filter: blur(4px);
    border: 1px solid #5b687c;
    padding: 20px;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tier-critical { border-top: 3px solid #f43f5e; }
.tier-warning { border-top: 3px solid #f59e0b; }
.tier-active { border-top: 3px solid #10b981; }

.threat-tier-block h3 {
    margin: 0 0 10px 0;
    font-size: 14px;
    letter-spacing: 1px;
    display: flex;
    justify-content: space-between;
}

.category-trigger-btn {
    background: #020617;
    border: 1px solid #334155;
    color: #94a3b8;
    padding: 10px 15px;
    font-family: monospace;
    font-size: 11px;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s ease;
    width: 100%;
}

.category-trigger-btn:hover {
    color: #fff;
    padding-left: 20px;
}

.tier-critical .category-trigger-btn:hover, .tier-critical .category-trigger-btn.active { border-color: #f43f5e; color: #f43f5e; background: rgba(244, 63, 94, 0.05); }
.tier-warning .category-trigger-btn:hover, .tier-warning .category-trigger-btn.active { border-color: #f59e0b; color: #f59e0b; background: rgba(245, 158, 11, 0.05); }
.tier-active .category-trigger-btn:hover, .tier-active .category-trigger-btn.active { border-color: #10b981; color: #10b981; background: rgba(16, 185, 129, 0.05); }

.posts-output-terminal {
    background: rgba(9, 13, 22, 0.9);
    border: 1px solid #1e293b;
    padding: 25px;
    border-radius: 4px;
}

.posts-stream {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 20px;
}

.threat-post-card {
    background: #0f172a;
    border: 1px solid #1e293b;
    padding: 20px;
    border-radius: 2px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.post-meta-line {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #64748b;
    border-bottom: 1px dashed #1e293b;
    padding-bottom: 8px;
}

/* =================================================================
   PWA RESPONSIVE MEDIA ADAPTATION CASCADE
   ================================================================= */
@media (max-width: 900px) {
    .threat-matrix-grid { grid-template-columns: 1fr !important; }
    .archive-search-inner { flex-direction: column; }
}

@media (max-width: 768px) {
    .archive-matrix-container {
        flex-direction: column;
        gap: 15px;
    }
    .archive-accordion-item {
        width: 100%;
    }
    .essence-grid { 
        grid-template-columns: 1fr !important; 
    }
}

/* =================================================================
   ACTUC INTELLIGENCE BUNKER UI MODULE (SHELTER COMPLIANCE)
   ================================================================= */

/* Базовая геометрия контейнера */
.terminal-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    font-family: 'Share Tech Mono', 'Courier New', monospace;
}

/* =================================================================
   ADAPTIVE TERMINAL TITLE MODULE
   ================================================================= */
.terminal-title {
    font-size: 28px;
    color: #00bcff;
    letter-spacing: 2px;
    white-space: nowrap;      /* По умолчанию на ПК держим в одну строку */
    overflow: hidden;         
    text-overflow: ellipsis;  
    flex: 1;                  
    margin-right: 15px;       
}

/* ХИРУРГИЧЕСКИЙ НАДРЕЗ ДЛЯ МОБИЛЬНЫХ ЭКРАНОВ (СМАРТФОНЫ) */
@media (max-width: 576px) {
    /* Разрешаем элементам шапки досье/ленты падать друг под друга */
    .d-flex.justify-content-between.align-items-center {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px;
    }

    .terminal-title {
        font-size: 14px;          /* Уменьшаем размер шрифта для читаемости одной рукой */
        white-space: normal;      /* РАЗРЕШАЕМ ПЕРЕНОС СТРОКИ */
        overflow: visible;        /* Проявляем скрытый текст */
        text-overflow: clip;      /* Отменяем троеточие */
        line-height: 1.4;
        display: block;           /* Переводим в блочный режим */
    }
    
    /* Если это заголовок внутри ленты STREAM, тоже аккуратно поджимаем размер */
    .stream-card-title {
        font-size: 15px !important;
        white-space: normal !important; /* Позволяет названию внутри карточки занять 2 строки */
        overflow: visible !important;
        text-overflow: clip !important;
    }
}

.section-divider-title {
    font-size: 28px;
    color: #00bcff;
    letter-spacing: 1px;
    border-bottom: 1px solid rgba(0, 188, 255, 0.1);
    padding-bottom: 5px;
}

/* МОДЕРНИЗАЦИЯ СЕТКИ: Переводим grid-master-70-30 в режим единого блока-колонки.
   Теперь он работает как упорядоченная вертикальная лента на любых экранах.
*/
.grid-master-70-30 {
    display: flex;
    flex-direction: column;   /* Строго сверху вниз */
    gap: 20px;
    width: 100%;
    box-sizing: border-box;
}

/* Оболочка для метаданных (бывшее правое ядро 30%), расположенная в самом верху */
.metadata-top-core {
    width: 100%;
    box-sizing: border-box;
    /* Стилизация контейнера сохраняет твой исходный вид маленького шрифта и параметров */
}

.left-core-flow {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
}

.grid-three-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

/* Сетка центрального блока 50/50 (Фикс вертикального наложения) */
.grid-master-50-50 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: stretch;
}

/* Контейнеры по скриншоту (Тонкие рамки без скруглений) */
.border-tactical {
    background: #090e16;
    border: 1px solid #1a2a42;
    padding: 20px;
    box-sizing: border-box;
}

.bg-matrix-dark { background: #1E293B; }
.bg-matrix-dim { background: #05080d; border: 1px solid rgba(0, 188, 255, 0.2); }

/* Цветовая палитра текста */
.text-accent-blue { color: #00bcff; font-family: monospace; }
.text-accent-blue-light { color: #94a3b8; line-height: 1.5; }
.text-title-heavy { font-size: 18px; color: #e2e8f0; letter-spacing: 1px; }
.text-muted-tactical { color: #e2e8f0; font-size: 13px; line-height: 1.6; }
.text-warn { color: #ff3b3b; font-weight: bold; }
.font-mono { font-family: monospace; }

/* Ссылки */
.text-link-tactical {
    color: #e2e8f0;
    font-size: 13px;
    text-decoration: none;
    margin-top: 5px;
}
.text-link-tactical:hover {
    color: #00bcff;
}

/* Панель Четырех Счетчиков Статистики */
.grid-quad-counters {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.counter-box {
    background: #0c131f;
    border: 1px solid #16243a;
    padding: 10px;
}

.counter-box span {
    font-size: 10px;
    display: block;
    letter-spacing: 1px;
}

.counter-value {
    font-size: 20px;
    font-weight: bold;
    margin-top: 5px;
}

.small-tag {
    font-size: 10px;
    color: #5c6f84;
}

.recent-field-activity {
    background: #05080d;
    padding: 10px;
    border: 1px solid #121e30;
    font-size: 11px;
}

/* Бордовые кнопки-теги */
.btn-tactical-tag {
    background: rgba(120, 20, 40, 0.2);
    border: 1px solid #5a1424;
    color: #ff4a6b;
    padding: 0 16px;          
    font-size: 12px;
    font-family: monospace;
    cursor: pointer;
    min-height: 44px;         
    display: inline-flex;
    align-items: center;
    touch-action: manipulation;
    transition: background 0.15s ease;
}
.btn-tactical-tag:hover {
    background: rgba(120, 20, 40, 0.4);
}

/* =================================================================
   ХИРУРГИЧЕСКИЙ ВОЗВРАТ ИНТЕРФЕЙСА ACTUC ПОСЛЕ АУДИТА
   ================================================================= */

/* 1. ИКОНКА БОТА В ЧАТЕ (Фикс вывалившегося щита) */
.bot-message-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #0d1624;
    border: 1px solid #1c2e47;
    padding: 10px 14px;
    box-sizing: border-box;
    width: 100%;
}
.bot-avatar-wrapper {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bot-avatar-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
}

/* 2. СТРОКА ВВОДА ЧАТА (Монолит, высота 85px) */
.chat-input-wrapper {
    display: flex;
    border: 1px solid #1c2e47;
    background: #05080d;
    height: 85px; /* Фиксированная высота */
    width: 100%;          
    box-sizing: border-box;
}
.form-control-tactical-chat {
    flex-grow: 1;
    background: transparent;
    border: none;
    color: #00bcff;
    padding: 12px;
    font-family: monospace;
    font-size: 13px;
    outline: none;
    resize: none;
    height: 100%;
    box-sizing: border-box;
}
.btn-send-integrated {
    background: #14243b;
    border: none;
    border-left: 1px solid #1c2e47;
    color: #00bcff;
    padding: 0 24px;          
    font-family: monospace;
    font-weight: bold;
    height: 100%;
    cursor: pointer;
    transition: background 0.15s ease;
}
.btn-send-integrated:hover { background: #1c3354; }

/* 3. ВИДЖЕТ-ПОИСКОВИК (Фикс выравнивания) */
.search-matrix-wrapper {
    display: flex;
    border: 1px solid #1c2e47;
    background: #05080d;
    height: 32px;
    align-items: center;
    margin-bottom: 10px;
}
.form-control-tactical-search {
    flex-grow: 1;
    background: transparent;
    border: none;
    color: #00bcff;
    padding: 0 10px;
    font-family: monospace;
    font-size: 12px;
    outline: none;
    height: 100%;
}
.btn-execute-scan {
    background: #14243b;
    color: #00bcff;
    border: none;
    border-left: 1px solid #1c2e47;
    padding: 0 15px;
    font-family: monospace;
    font-size: 11px;
    font-weight: bold;
    height: 100%;
    cursor: pointer;
    transition: background 0.15s ease;
}
.btn-execute-scan:hover { background: #1c3354; }

/* 4. КАРТОЧКИ АРХИВА (Унифицированный ультра-компактный вид) */
.archive-accordion-item {
    border: 1px solid #1c2e47;
    background: #0d1624;
    padding: 12px 20px; /* Сбалансированный отступ из Блоков 3 и 4 */
    margin-bottom: 6px;
    transition: background 0.15s ease, border-color 0.3s ease;
}
.archive-accordion-item:hover {
    background: #121e33;
    border-color: #64748B;
}

/* =================================================================
   SHELTER: ВОЗВРАТ ПЛАВАЮЩЕЙ ИКОНКИ БОТА В ШТАТНОЕ МЕСТО (СПРАВА)
   ================================================================= */
#desktop-float-chat-trigger {
    position: fixed !important;
    bottom: 50px !important;
    right: 30px !important; /* Строго правый нижний угол */
    left: auto !important;  /* Сброс ошибочного левого позиционирования */
    z-index: 99999 !important;
    display: block !important;
}

.float-balloon-link {
    width: 55px !important;
    height: 55px !important;
    background: #070b11 !important;
    border: 1px solid #00bcff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 0 15px rgba(0, 188, 255, 0.4) !important;
    transition: transform 0.2s ease-in-out, background 0.2s ease !important;
}

.float-balloon-link:hover { 
    transform: scale(1.1) !important; 
    background: #0d1624 !important;
}

/* Геометрия изображения внутри шара */
.float-balloon-link img {
    width: 32px !important;
    height: 32px !important;
    object-fit: contain !important;
    display: block !important;
}

/* =================================================================
   АДАПТИВНЫЙ ПОТОК BUNKER UI
   ================================================================= */
@media (max-width: 992px) {
    /* На смартфонах переводим все внутренние подблоки (50/50 и 3 колонки) в 1 колонку */
    .grid-master-50-50, 
    .grid-three-columns {
        grid-template-columns: 1fr !important;
    }
}

/* =================================================================
   ACTUC SOCIAL STREAM GRID COMPLIANCE
   ================================================================= */
.stream-feed-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    max-width: 680px; /* Идеальная мобильная ширина ленты */
    margin: 0 auto;
    padding: 0 10px 60px 10px;
    box-sizing: border-box;
}

/* Ссылка-оболочка на весь пост */
.stream-post-link-wrapper {
    text-decoration: none !important;
    color: inherit !important;
    width: 100%;
    display: block;
}

/* Модификатор поста для ленты, чтобы ограничить высоту видео и добавить кликабельность */
.stream-post-link-wrapper .border-tactical {
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.stream-post-link-wrapper .border-tactical:hover {
    border-color: #00bcff !important;
    background: #0d1624 !important;
}

/* Отключаем фокус и интерактив форм и ифреймов внутри ленты, делая их чисто визуальными */
.stream-post-link-wrapper iframe,
.stream-post-link-wrapper textarea,
.stream-post-link-wrapper button {
    pointer-events: none; 
    user-select: none;
}

/* Адаптив под экраны телефонов */
@media (max-width: 576px) {
    .stream-feed-container {
        padding: 0 0 60px 0;
    }
    .stream-feed-container .border-tactical {
        border-left: none !important;
        border-right: none !important;
        padding: 15px;
    }
}

/* =================================================================
   TWO-LINE TERMINAL TITLE ARCHITECTURE
   ================================================================= */
/* Стили для предзаголовка (уровень угрозы) */
.title-tier-prefix {
    color: #00bcff;
    font-size: 24px;
    letter-spacing: 2px;
}

/* Стили для основного текста заголовка */
.title-body-text {
    color: #ffffff;
    font-size: 28px;
    letter-spacing: 1px;
}

/* Переопределение глобального класса, чтобы убрать жесткую обрезку на мобильных */
.terminal-title {
    white-space: normal !important; /* Разрешаем перенос длинного названия */
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.3;
}

/* ХИРУРГИЧЕСКИЙ АДАПТИВ ДЛЯ ЭКРАНОВ ТЕЛЕФОНОВ */
@media (max-width: 576px) {
    .title-tier-prefix {
        font-size: 13px; /* Делаем предзаголовок маленьким и аккуратным */
        color: #64748b;  /* Приглушаем тон, чтобы выделить суть */
    }
    
    .title-body-text {
        font-size: 18px; /* Оптимальный размер для чтения названия поста на телефоне */
        color: #00bcff;  /* Переносим акцент синего цвета на само название */
        display: block;
        margin-top: 4px;
    }
}

/* =================================================================
   TACTICAL INTERFACE HOVER EFFECTS: ACTUC LINKS
   ================================================================= */
.tactical-profile-link {
    transition: color 0.2s ease, border-color 0.2s ease !important;
}

/* Эффект наведения: меняем цвет неона на тактический желтый */
.tactical-profile-link:hover {
    color: #fad033 !important;
    border-bottom-color: #fad033 !important;
    text-shadow: 0 0 4px rgba(250, 208, 51, 0.6);
}

/* =================================================================
   ACTUC INTERFACE EXTENSION: NOTIFICATIONS & MODALS
   ================================================================= */

/* Контейнер уведомлений над формами */
.toast-container-tactical {
    position: relative;
    width: 100%;
    grid-column: 1 / -1; /* Растягивает контейнер на всю ширину сетки, защищая формы от разброса */
    margin-bottom: 15px;
    z-index: 100;
}

/* Стили всплывающих сообщений */
.tactical-toast {
    background: #0d1117;
    border-left: 4px solid #FAD033;
    color: #e6edf3;
    padding: 12px 16px;
    font-family: monospace;
    font-size: 0.85rem;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5);
    animation: slideInFade 0.25s ease-out;
}

.tactical-toast.error {
    border-left-color: #ff453a;
    background: rgba(255, 69, 58, 0.05);
}

.tactical-toast.success {
    border-left-color: #30d5c8;
    background: rgba(48, 213, 200, 0.05);
}

.auth-utilities {
    margin-top: 15px;
    text-align: right;
}
.link-tactical {
    color: #38bdf8;
    font-family: monospace;
    font-size: 0.7rem;
    text-decoration: none;
    transition: color 0.2s;
}
.link-tactical:hover {
    color: #FAD033;
}

/* Модальные полноэкранные шлюзы (Изолируют интерфейс) */
.actuc-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    backdrop-filter: blur(4px);
}

.modal-content-tactical {
    background: #0b0e14;
    border: 1px solid #30363d;
    padding: 30px;
    width: 100%;
    max-width: 450px;
    box-shadow: 0 0 20px rgba(0,0,0,0.7);
}

.modal-content-tactical h3 {
    color: #FAD033;
    font-family: monospace;
    margin-top: 0;
    border-bottom: 1px solid #21262d;
    padding-bottom: 10px;
    font-size: 1.1rem;
}

.modal-instruction {
    font-family: monospace;
    color: #8b949e;
    font-size: 0.85rem;
    line-height: 1.4;
}

.modal-actions {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

/* КРИТИЧЕСКИЙ КЛАСС: Скрывает окна до востребования */
.hidden {
    display: none !important;
}

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

/* =================================================================
   BLOCK [20]: TACTICAL MODAL GATEWAYS (SAFE DISPLACEMENT V3)
   ================================================================= */
.actuc-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(8px);
    z-index: 9999;
    
    /* БЕЗОПАСНЫЙ СДВИГ: Форма существует для браузера, но выброшена за экран */
    display: flex !important;
    transform: translateY(-100%); /* Прячем вверх за пределы видимости */
    opacity: 0;
    pointer-events: none;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Силовой класс активации шлюза */
.actuc-modal-overlay.active {
    transform: translateY(0) !important; /* Возвращаем на экран при клике */
    opacity: 1 !important;
    pointer-events: auto !important;
    align-items: center;
    justify-content: center;
}

.actuc-modal-box {
    background: #0f172a;
    border: 2px solid #334155;
    box-shadow: 0 0 25px rgba(51, 65, 85, 0.3);
    padding: 30px;
    width: 100%;
    max-width: 400px;
    position: relative;
    box-sizing: border-box;
}

.actuc-modal-close {
    position: absolute;
    top: 15px;
    right: 15px;
    background: none;
    border: none;
    color: #64748b;
    font-family: monospace;
    cursor: pointer;
    font-size: 14px;
}

.actuc-modal-close:hover {
    color: #ef4444;
}

/* ================================================================= */
/* GLOBAL SEARCH TERMINAL COMPONENT (PWA COMPATIBLE)                 */
/* ================================================================= */
.search-modal-overlay {
    position: fixed;
    /* Окно начинается чуть ниже шапки (измени на высоту своей шапки, например 60px или 85px) */
    top: 85px; 
    left: 0; 
    width: 100vw; 
    height: calc(100vh - 85px); 
    background: rgba(15, 23, 42, 0.7); /* Мягкое затемнение фона */
    backdrop-filter: blur(4px);
    z-index: 2000;
    display: flex; 
    align-items: flex-start; 
    justify-content: center;
}
.search-modal-overlay.hidden { display: none !important; }

/* Контейнер результатов */
.search-modal-container {
    width: 100%; 
    max-width: 650px;
    background: #0f172a; 
    border: 1px solid #334155;
    border-top: none; /* Убираем верхнюю рамку, чтобы визуально «приклеить» к шапке */
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.7);
    /* На мобильных устройствах аккуратно растягивается вширь */
    margin: 0 auto;
}

/* Шапка внутри модального окна (Фикс позиции элементов) */
.search-modal-header {
    display: flex; 
    justify-content: space-between; /* Жестко разносит заголовок влево, а крестик в крайний правый угол */
    align-items: center;
    padding: 12px 20px; 
    border-bottom: 1px solid #1e293b; 
    background: #1e293b;
}
.search-modal-header h3 { 
    font-size: 13px; 
    color: #94a3b8; 
    letter-spacing: 1px; 
    margin: 0; 
    font-family: monospace;
}

/* Тактическая кнопка-крестик в правом верхнем углу */
.btn-close-hex {
    background: none; 
    border: none; 
    color: #64748b; 
    cursor: pointer; 
    font-size: 18px; /* Оптимальный размер для тач-скринов PWA */
    padding: 4px 8px; /* Увеличенная невидимая зона клика пальцем */
    margin: 0;
    transition: color 0.2s ease;
    line-height: 1;
}
.btn-close-hex:hover { 
    color: #f43f5e; /* Агрессивный красно-розовый отклик при наведении */
}

/* Фид (лента) выдачи результатов */
.search-results-feed { 
    max-height: 400px; 
    overflow-y: auto; 
    padding: 15px 20px; 
}
.search-empty-state, .search-loading-state {
    text-align: center; 
    color: #64748b; 
    font-size: 12px; 
    padding: 30px 0; 
    font-family: monospace;
}
.search-result-item {
    padding: 12px 0; 
    border-bottom: 1px solid #1e293b;
}
.search-result-item:last-child { 
    border-bottom: none; 
}

/* Тактическая ссылка на результат поиска (ФИКС ЦВЕТА) */
.search-item-title-link, 
.search-item-title-link:visited {
    font-size: 14px; 
    color: #38bdf8 !important; /* Принудительный чистый небесно-голубой цвет Sky 400 */
    text-decoration: none; 
    font-weight: bold; 
    display: inline-block; 
    margin-bottom: 4px;
    font-family: monospace;
}

/* Поведение при наведении курсора */
.search-item-title-link:hover,
.search-item-title-link:active {
    color: #ffffff !important; /* При наведении ссылка становится идеально белой */
    text-decoration: underline;
}

/* Описание, сектор и мета-данные */
.search-item-description { 
    font-size: 12px; 
    color: #94a3b8; 
    margin: 0; 
    line-height: 1.4; 
}

/* Настройки для мобильных PWA-интерфейсов */
@media (max-width: 768px) {
    .search-modal-overlay {
        top: 70px; /* Коррекция под мобильную высоту шапки */
        height: calc(100vh - 70px);
    }
    .search-modal-container {
        max-width: 100%;
        border-left: none;
        border-right: none;
    }
}

/* --- СТИЛИЗАЦИЯ ТАКТИЧЕСКОГО ФУТЕРА ACTUC --- */
.actuc-terminal-footer {
    width: 100%;
    background: #020617; /* Глубокий базовый фон матрицы */
    border-top: 1px dashed #1e293b; /* Пунктирная линия отсечения */
    padding: 20px 15px;
    font-family: 'Courier New', monospace;
    font-size: 11px;
    letter-spacing: 1px;
    box-sizing: border-box;
    
    /* PWA И МОБИЛЬНАЯ ОПТИМИЗАЦИЯ: 
       Учитывает безопасную зону снизу на современных смартфонах (iPhone Notch/Android Bars),
       чтобы ссылки не накладывались на системные жесты в режиме приложения. */
    padding-bottom: calc(20px + env(safe-area-inset-bottom));
}

.footer-matrix-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; /* Адаптивность: на мобилках строки встанут друг под друга */
    gap: 15px;
}

/* Стилизация юридических ссылок */
.footer-legal-line {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.footer-prompt {
    color: #64748b; /* Приглушенный стальной цвет */
}

.footer-divider {
    color: #1e293b;
}

.footer-link {
    color: #38bdf8; /* Фирменный тактический голубой */
    text-decoration: none;
    font-weight: bold;
    transition: all 0.2s ease-in-out;
}

.footer-link:hover {
    color: #fad033; /* Желтая подсветка при наведении */
    text-shadow: 0 0 4px rgba(250, 208, 51, 0.4);
}

/* Стилизация копирайта и статуса */
.footer-copyright-line {
    display: flex;
    gap: 15px;
    color: #475569;
}

.footer-status-node {
    color: #10b981; /* Зеленый огонек стабильности ноды */
    animation: footerPulse 3s infinite ease-in-out;
}

/* Микро-анимация HUD-индикатора */
@keyframes footerPulse {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
}

/* --- АДАПТИВНОСТЬ ПОД МОБИЛЬНЫЕ УСТРОЙСТВА И PWA РЕЖИМ --- */
@media (max-width: 768px) {
    .footer-matrix-container {
        flex-direction: column; /* Перестраиваем в колонку на смартфонах */
        text-align: center;
        justify-content: center;
        gap: 10px;
    }
    
    .footer-legal-line, .footer-copyright-line {
        justify-content: center;
        width: 100%;
    }

    /* Дополнительный зазор для мобильного PWA, если у тебя снизу 
       закреплено плавающее тактическое меню навигации */
    .actuc-terminal-footer {
        padding-bottom: calc(30px + env(safe-area-inset-bottom));
    }
}

/* --- СТИЛИ ДЛЯ ЮРИДИЧЕСКИХ СТРАНИЦ ACTUC --- */
.actuc-legal-container {
    max-width: 800px;
    margin: 60px auto;
    padding: 20px;
    font-family: 'Courier New', monospace;
    color: #e2e8f0;
}

.tactical-document {
    background: #1E293B;
    border: 1px solid #1e293b;
    padding: 40px;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
}

.doc-classification {
    color: #fad033; /* Желтый тактический цвет предупреждения */
    font-size: 12px;
    font-weight: bold;
    display: block;
    margin-bottom: 10px;
}

.doc-header h1 {
    font-size: 28px;
    letter-spacing: 2px;
    margin: 0 0 20px 0;
    color: #ffffff;
}

.doc-metadata p {
    margin: 5px 0;
    font-size: 13px;
    color: #94a3b8;
}

.doc-divider {
    border: 0;
    border-top: 1px dashed #334155;
    margin: 30px 0;
}

.doc-section {
    margin-bottom: 35px;
}

.doc-section h2 {
    font-size: 18px;
    color: #38bdf8; /* Тактический голубой */
    margin-bottom: 15px;
    border-bottom: 1px solid #1e293b;
    padding-bottom: 5px;
}

.doc-section p, .doc-section li {
    font-size: 14px;
    line-height: 1.6;
    color: #cbd5e1;
}

.doc-section ul {
    padding-left: 20px;
}

.doc-section li {
    margin-bottom: 10px;
}

.doc-section strong {
    color: #ffffff;
}

.doc-section a {
    color: #38bdf8;
    text-decoration: none;
}
.doc-section a:hover {
    text-decoration: underline;
}

@media (max-width: 768px) {
    .tactical-document {
        padding: 20px;
    }
    .doc-header h1 {
        font-size: 22px;
    }
}

/* ТАКТИЧЕСКИЕ СТИЛИ ДЛЯ ИКОНКИ РАНГА */
/* Контейнер для иконки в правом верхнем углу */
.career-card .tier-icon-wrapper {
    position: absolute;
    top: 10px;    /* Равно верхнему padding вашей карточки */
    right: 10px;  /* Равно правому padding вашей карточки */
    width: 42px;  /* Базовая ширина иконки (можно настроить под себя) */
    height: 42px; /* Базовая высота иконки */
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none; /* Чтобы иконка не мешала кликам по карточке */
}

/* Адаптивное поведение самого изображения внутри контейнера */
.career-card .tier-icon-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* Картинка масштабируется без искажения пропорций */
    filter: drop-shadow(0 0 6px rgba(252, 239, 54, 0.4)); /* Легкое тактическое свечение в тон заголовка */
}

/* Адаптивность для мобильных экранов (опционально) */
@media (max-width: 480px) {
    .career-card .tier-icon-wrapper {
        width: 26px;  /* Чуть уменьшаем иконку на смартфонах */
        height: 26px;
        top: 12px;
        right: 12px;
    }
}

/* ==========================================================
БЕЗОПАСНАЯ КОРРЕКЦИЯ ДЛЯ УСТРАНЕНИЯ СРЕЗА ПРИ ВХОДЕ (АДДОН)
========================================================== */

/* 1. Управляем только поведением автоскролла браузера */
#spa-my-dossier-screen {
    /* Задает виртуальный отступ только для фокусировки, 
        не влияя на реальные маргины и режим автора */
    scroll-margin-top: calc(95px + var(--pwa-safe-top, 0px)) !important;
}

/* 2. Отодвигаем родительский контейнер ЛД от липкого хедера */
#vanguard-secure-zone {
    padding-top: calc(95px + var(--pwa-safe-top, 0px)) !important;
    box-sizing: border-box;
}

/* 3. Полностью сохраняем вашу десктопную верстку */
@media (min-width: 992px) {
    #vanguard-secure-zone {
        padding-top: 0 !important; /* На десктопе отступы не нужны */
    }
    #spa-my-dossier-screen {
        scroll-margin-top: 0 !important;
    }
}

/* 4. Отключаем смещение, если активирован режим автора */
#spa-my-dossier-screen.external-author-mode {
    scroll-margin-top: 0 !important;
}
#vanguard-secure-zone:has(.external-author-mode) {
    padding-top: 0 !important;
}

/* =================================================================
   INTELLECTUAL ARSENAL (scoped — does not alter global card/input tokens)
   ================================================================= */
#intellectual-arsenal-zone .arsenal-header-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fad033;
    letter-spacing: 1px;
    text-transform: none;
}
#intellectual-arsenal-zone .arsenal-header-icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
    filter: drop-shadow(0 0 6px rgba(250, 208, 51, 0.55));
    flex-shrink: 0;
}
#intellectual-arsenal-zone .arsenal-instruction-banner {
    font-family: monospace;
    font-size: 12px;
    line-height: 1.55;
    color: #cbd5e1;
    background: rgba(15, 23, 42, 0.85);
    border: 1px dashed rgba(250, 208, 51, 0.35);
    padding: 12px 14px;
    margin: 0 0 16px 0;
}
#intellectual-arsenal-zone .arsenal-avatar-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}
#intellectual-arsenal-zone .arsenal-avatar-preview {
    width: 112px;
    height: 112px;
    background: #020617;
    border: 1px solid #eab308;
    box-shadow: 0 0 14px rgba(234, 179, 8, 0.35), inset 0 0 12px rgba(0, 0, 0, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    box-sizing: border-box;
}
#intellectual-arsenal-zone .arsenal-avatar-preview img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
#intellectual-arsenal-zone .arsenal-social-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
#intellectual-arsenal-zone .arsenal-social-row {
    display: flex;
    align-items: center;
    gap: 10px;
}
#intellectual-arsenal-zone .arsenal-network-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}
#intellectual-arsenal-zone .arsenal-social-row .tactical-input {
    flex: 1;
    min-width: 0;
}
#intellectual-arsenal-zone #arsenal-social-status {
    min-height: 16px;
    font-family: monospace;
    font-size: 11px;
}
#intellectual-arsenal-card.active .archive-accordion-trigger .accordion-chevron {
    color: #fad033;
}

/* =================================================================
   ROLE TRANSITION ENGINE (scoped)
   ================================================================= */
.metrics-role-identity {
    margin-top: 16px;
    padding: 12px 14px;
    background: #0f172a;
    border: 1px solid #1e293b;
}
#metrics-role-title {
    font-family: monospace;
    font-size: 14px;
    letter-spacing: 1px;
    color: #fad033;
    margin-bottom: 6px;
}
#metrics-role-description {
    font-family: monospace;
    font-size: 11px;
    line-height: 1.5;
    color: #94a3b8;
    margin: 0;
}
.role-transition-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.86);
    z-index: 10020;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}
.role-transition-panel {
    position: relative;
    width: min(640px, 100%);
    max-height: 88vh;
    overflow-y: auto;
    background: #0d0f0e;
    border: 2px solid #fad033;
    padding: 22px 22px 18px;
    font-family: monospace;
    box-shadow: 0 0 24px rgba(250, 208, 51, 0.18);
}
.role-transition-close {
    position: absolute;
    top: 8px;
    right: 12px;
    background: none;
    border: none;
    color: #fff;
    font-size: 22px;
    cursor: pointer;
}
.role-promo-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
    padding-right: 24px;
}
.role-promo-header img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    filter: drop-shadow(0 0 8px rgba(250, 208, 51, 0.55));
}
.role-promo-status {
    font-size: 10px;
    letter-spacing: 1px;
    color: #fad033;
    margin-bottom: 4px;
}
#role-promo-title,
#role-progress-title {
    margin: 0;
    color: #f8fafc;
    font-size: 16px;
}
.role-promo-copy {
    color: #cbd5e1;
    font-size: 12px;
    line-height: 1.55;
    margin: 0 0 14px 0;
}
#role-code-accordion {
    width: 100%;
    margin-bottom: 14px;
}
#role-code-body {
    color: #cbd5e1;
    font-size: 12px;
    line-height: 1.5;
}
#role-code-body h3 {
    color: #fad033;
    font-size: 13px;
}
.role-agree-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #e2e8f0;
    font-size: 12px;
    margin: 12px 0;
    cursor: pointer;
}
.role-agree-row input {
    margin-top: 2px;
}
.role-promo-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}
.role-promo-status-line {
    min-height: 16px;
    font-size: 11px;
    margin-bottom: 8px;
}
.role-progress-list {
    color: #e2e8f0;
    font-size: 12px;
    line-height: 1.6;
    margin: 0 0 14px 18px;
    padding: 0;
}
@media (max-width: 768px) {
    .role-transition-panel {
        padding: 18px 14px 14px;
        max-height: 92vh;
    }
    .role-promo-actions {
        flex-direction: column;
    }
    .role-promo-actions .tactical-btn {
        width: 100%;
    }
    .metrics-badge-wrapper {
        flex-direction: column;
        align-items: flex-start;
    }
}