/* ============================================================
   НЕОНОВАЯ ТЕМА AutoDiagnost2 — единственная активная тема.
   Файл подключается ПОСЛЕДНИМ (_theme.html), поэтому каскад
   перебивает bootstrap, style.css и theme.css.
   ============================================================ */

:root {
    --neon-blue: #00f3ff !important;
    --neon-purple: #bf00ff !important;
    --dark-blue: #0a0a2a !important;
    --darker-blue: #05051a !important;
    --light-blue: #1e3a8a !important;
    --glow-color: rgba(0, 243, 255, 0.3) !important;
    --theme-bg: #05051a !important;
    --theme-text: #e0e0ff !important;
    --theme-card-bg: rgba(10, 10, 42, 0.7) !important;
    --theme-border: rgba(0, 243, 255, 0.25) !important;
    --theme-hover: rgba(0, 243, 255, 0.35) !important;
    /* Перебиваем переменные старых тем */
    --ad-bg: #05051a !important;
    --ad-bg-soft: #0a0a2a !important;
    --ad-text: #e0e0ff !important;
    --ad-muted: #8a8fd0 !important;
    --ad-border: rgba(0, 243, 255, 0.25) !important;
    --ad-card-bg: rgba(10, 10, 42, 0.7) !important;
    --ad-card-shadow: 0 0 15px rgba(0, 243, 255, 0.15) !important;
    --ad-input-bg: rgba(10, 10, 42, 0.5) !important;
    --ad-input-text: #e0e0ff !important;
    --ad-table-stripe: rgba(0, 243, 255, 0.05) !important;
    --ad-hover: rgba(0, 243, 255, 0.12) !important;
    --ad-code-bg: #0a0a2a !important;
    --primary-color: #00f3ff !important;
}

/* ---------- Фон и текст ---------- */
html, body {
    background: linear-gradient(135deg, var(--darker-blue) 0%, var(--dark-blue) 100%) !important;
    background-attachment: fixed !important;
    color: var(--theme-text) !important;
    min-height: 100vh;
}

h1, h2, h3, h4, h5, h6, p, span, div, a, li, label, td, th, small {
    color: inherit;
}

a { color: var(--neon-blue) !important; }
a:hover { color: var(--neon-purple) !important; text-shadow: 0 0 8px var(--neon-blue); }

/* ---------- Navbar ---------- */
.navbar, .navbar.bg-primary, .navbar.bg-light, .navbar.navbar-light, .navbar.navbar-dark {
    background: rgba(10, 10, 42, 0.95) !important;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--theme-border) !important;
    box-shadow: 0 2px 20px rgba(0, 243, 255, 0.15) !important;
}

.navbar-brand, .navbar-brand * {
    color: var(--neon-blue) !important;
    text-shadow: 0 0 10px var(--neon-blue), 0 0 20px rgba(0, 243, 255, 0.5) !important;
}

.navbar .nav-link { color: var(--theme-text) !important; }
.navbar .nav-link:hover { color: var(--neon-blue) !important; text-shadow: 0 0 8px var(--neon-blue); }

/* ---------- Кнопки ---------- */
.btn-primary,
.btn-primary:not(:disabled):not(.disabled) {
    background: linear-gradient(45deg, var(--neon-blue), var(--neon-purple)) !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: 0 0 15px var(--glow-color) !important;
    color: #000 !important;
    font-weight: 600 !important;
    transition: all .3s ease;
}

.btn-primary:hover, .btn-primary:focus {
    background: linear-gradient(45deg, var(--neon-purple), var(--neon-blue)) !important;
    box-shadow: 0 0 25px var(--neon-blue), 0 0 50px var(--glow-color) !important;
    transform: translateY(-2px) !important;
    color: #000 !important;
}

.btn-success, .btn-warning, .btn-info {
    background: linear-gradient(45deg, var(--neon-blue), #00c3a0) !important;
    border: none !important;
    box-shadow: 0 0 12px var(--glow-color) !important;
    color: #000 !important;
    font-weight: 600 !important;
}

.btn-success:hover, .btn-warning:hover, .btn-info:hover {
    box-shadow: 0 0 25px var(--neon-blue) !important;
    transform: translateY(-2px) !important;
    color: #000 !important;
}

.btn-danger {
    background: linear-gradient(45deg, #ff0055, var(--neon-purple)) !important;
    border: none !important;
    box-shadow: 0 0 12px rgba(255, 0, 85, .4) !important;
    color: #fff !important;
}

.btn-danger:hover {
    box-shadow: 0 0 25px #ff0055 !important;
    transform: translateY(-2px) !important;
}

.btn-outline-primary {
    color: var(--neon-blue) !important;
    border: 1px solid var(--neon-blue) !important;
    box-shadow: 0 0 8px rgba(0, 243, 255, 0.2) !important;
    background: transparent !important;
}
.btn-outline-primary:hover {
    background: rgba(0, 243, 255, 0.15) !important;
    box-shadow: 0 0 15px var(--neon-blue) !important;
    color: #fff !important;
}

.btn-outline-light, .btn-outline-secondary, .btn-secondary {
    color: var(--theme-text) !important;
    border-color: var(--theme-border) !important;
    background: rgba(10, 10, 42, 0.5) !important;
}
.btn-outline-light:hover, .btn-outline-secondary:hover {
    border-color: var(--neon-blue) !important;
    color: var(--neon-blue) !important;
}

/* ---------- Карточки (перебивает theme.css c !important) ---------- */
.card, .card-soft {
    background: var(--theme-card-bg) !important;
    color: var(--theme-text) !important;
    border: 1px solid var(--theme-border) !important;
    border-radius: 14px !important;
    box-shadow: 0 0 15px rgba(0, 243, 255, 0.08), inset 0 0 20px rgba(0, 243, 255, 0.03) !important;
    transition: all .3s ease;
}

.card:hover, .card-soft:hover {
    border-color: var(--theme-hover) !important;
    box-shadow: 0 10px 30px rgba(0, 243, 255, 0.25) !important;
}

.card-header, .card-footer {
    background: rgba(5, 5, 26, 0.9) !important;
    color: var(--neon-blue) !important;
    border-color: var(--theme-border) !important;
    text-shadow: 0 0 6px rgba(0, 243, 255, 0.6);
}

html[data-theme="dark"] .card-header.bg-primary,
html[data-theme="dark"] .card-header.bg-success,
html[data-theme="dark"] .card-header.bg-danger,
html[data-theme="dark"] .card-header.bg-info,
html[data-theme="dark"] .card-header.bg-warning,
html[data-theme="dark"] .card-header.bg-secondary,
html[data-theme="dark"] .card-header.bg-dark {
    background: rgba(5, 5, 26, 0.9) !important;
    color: var(--neon-blue) !important;
}

.card-body { color: var(--theme-text) !important; }

.list-group-item {
    background: var(--theme-card-bg) !important;
    color: var(--theme-text) !important;
    border-color: var(--theme-border) !important;
}
.list-group-item.list-group-item-action:hover { background: var(--ad-hover) !important; }

/* ---------- Формы ---------- */
.form-control, .form-select, textarea.form-control {
    background: rgba(10, 10, 42, 0.6) !important;
    color: var(--neon-blue) !important;
    border: 1px solid var(--theme-border) !important;
    caret-color: var(--neon-blue);
    transition: all .3s ease;
}
.form-control:focus, .form-select:focus {
    background: rgba(10, 10, 42, 0.8) !important;
    color: #fff !important;
    border-color: var(--neon-blue) !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 243, 255, 0.25), 0 0 15px var(--glow-color) !important;
}
.form-control::placeholder { color: var(--ad-muted) !important; opacity: .8; }
.form-label, .form-check-label { color: var(--theme-text) !important; }
.form-text { color: var(--ad-muted) !important; }

/* ---------- Бейджи ---------- */
.badge, .badge.bg-primary, .badge.bg-secondary, .badge.bg-info, .badge.bg-success, .badge.bg-warning, .badge.bg-danger {
    background: rgba(0, 243, 255, 0.1) !important;
    color: var(--neon-blue) !important;
    border: 1px solid rgba(0, 243, 255, 0.4) !important;
    text-shadow: 0 0 6px rgba(0, 243, 255, 0.5);
}

/* ---------- Статусные бейджи заявок ---------- */
.status-badge { border-radius: 4px; font-size: 0.875rem; }
.status-new        { background: rgba(0, 243, 255, .12) !important; color: var(--neon-blue) !important; box-shadow: 0 0 8px rgba(0,243,255,.25); }
.status-collecting { background: rgba(191, 0, 255, .12) !important; color: #d98fff !important; box-shadow: 0 0 8px rgba(191,0,255,.25); }
.status-waiting    { background: rgba(255, 193, 7, .12) !important; color: #ffd54d !important; box-shadow: 0 0 8px rgba(255,193,7,.25); }
.status-ready      { background: rgba(0, 255, 157, .12) !important; color: #4dffb8 !important; box-shadow: 0 0 8px rgba(0,255,157,.25); }
.status-processing { background: rgba(0, 122, 255, .14) !important; color: #66b3ff !important; box-shadow: 0 0 8px rgba(0,122,255,.25); }
.status-completed  { background: rgba(0, 255, 157, .12) !important; color: #4dffb8 !important; box-shadow: 0 0 8px rgba(0,255,157,.25); }
.status-insufficient, .status-failed { background: rgba(255, 0, 85, .12) !important; color: #ff6699 !important; box-shadow: 0 0 8px rgba(255,0,85,.25); }
.status-cancelled  { background: rgba(108, 117, 125, .18) !important; color: #b8bcc4 !important; }
.status-retry      { background: rgba(255, 193, 7, .12) !important; color: #ffd54d !important; box-shadow: 0 0 8px rgba(255,193,7,.25); }

/* ---------- Таблицы (перебивает theme.css) ---------- */
.table { color: var(--theme-text) !important; --bs-table-bg: transparent !important; }
.table > :not(caption) > * > * {
    background: transparent !important;
    color: var(--theme-text) !important;
    border-color: var(--theme-border) !important;
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
    background: rgba(0, 243, 255, 0.05) !important;
    color: var(--theme-text) !important;
}
.table-hover > tbody > tr:hover > * { background: rgba(0, 243, 255, 0.12) !important; }
.table-bordered, .table-bordered > :not(caption) > * > * {
    border-color: var(--theme-border) !important;
}

/* ---------- Алерты ---------- */
.alert {
    background: rgba(10, 10, 42, 0.85) !important;
    color: var(--theme-text) !important;
    border: 1px solid var(--theme-border) !important;
    box-shadow: 0 0 12px rgba(0, 243, 255, 0.1) !important;
}
.alert-success { border-left: 4px solid #00ff9d !important; }
.alert-info    { border-left: 4px solid var(--neon-blue) !important; }
.alert-warning { border-left: 4px solid #ffc107 !important; }
.alert-danger  { border-left: 4px solid #ff0055 !important; }

/* ---------- Пагинация ---------- */
.pagination .page-link {
    color: var(--theme-text) !important;
    background: rgba(10, 10, 42, 0.6) !important;
    border: 1px solid var(--theme-border) !important;
}
.pagination .page-link:hover {
    color: var(--neon-blue) !important;
    box-shadow: 0 0 10px var(--glow-color) !important;
}
.pagination .page-item.active .page-link {
    background: linear-gradient(45deg, var(--neon-blue), var(--neon-purple)) !important;
    border-color: var(--neon-blue) !important;
    color: #000 !important;
}

/* ---------- Модальные окна и дропдауны ---------- */
.modal-content {
    background: rgba(10, 10, 42, 0.97) !important;
    border: 1px solid var(--theme-border) !important;
    box-shadow: 0 0 30px rgba(0, 243, 255, 0.25) !important;
    color: var(--theme-text) !important;
}
.modal-header, .modal-footer { border-color: var(--theme-border) !important; }

.dropdown-menu {
    background: rgba(10, 10, 42, 0.97) !important;
    border: 1px solid var(--theme-border) !important;
    box-shadow: 0 0 20px rgba(0, 243, 255, 0.2) !important;
}
.dropdown-item { color: var(--theme-text) !important; }
.dropdown-item:hover { background: rgba(0, 243, 255, 0.12) !important; color: var(--neon-blue) !important; }

/* ---------- Аккордеон, табы ---------- */
.accordion-item { background: var(--theme-card-bg) !important; border-color: var(--theme-border) !important; }
.accordion-button { background: var(--dark-blue) !important; color: var(--theme-text) !important; box-shadow: none !important; }
.accordion-button:not(.collapsed) { background: rgba(0, 243, 255, 0.12) !important; color: var(--neon-blue) !important; }
.accordion-body { background: var(--theme-card-bg) !important; color: var(--theme-text) !important; }

.nav-tabs .nav-link { color: var(--ad-muted) !important; }
.nav-tabs .nav-link.active {
    background: var(--theme-card-bg) !important;
    color: var(--neon-blue) !important;
    border-color: var(--theme-border) var(--theme-border) var(--theme-card-bg) !important;
}

/* ---------- Утилиты, перебивающие светлые фоны ---------- */
.bg-light, .rounded.bg-light, .bg-white { background: var(--dark-blue) !important; color: var(--theme-text) !important; }
.bg-dark { background: #05051a !important; }
.text-dark { color: var(--theme-text) !important; }
.text-muted { color: var(--ad-muted) !important; }
.text-primary { color: var(--neon-blue) !important; }
.text-success { color: #00ff9d !important; }
.text-danger { color: #ff5580 !important; }
.text-warning { color: #ffd54d !important; }
.bg-success { background: rgba(0, 255, 157, 0.15) !important; }
.bg-danger  { background: rgba(255, 0, 85, 0.15) !important; }
.border, .border-top, .border-bottom, .border-start, .border-end { border-color: var(--theme-border) !important; }

hr { border-color: var(--theme-border) !important; }
code, pre { background: var(--ad-code-bg) !important; color: #7df9ff !important; }
kbd { background: var(--dark-blue) !important; color: var(--neon-blue) !important; }

footer, footer.bg-dark, footer.bg-light, footer.site {
    background: rgba(5, 5, 26, 0.95) !important;
    color: var(--ad-muted) !important;
    border-top: 1px solid var(--theme-border) !important;
}
footer .text-muted, footer.text-white, footer .text-white { color: var(--ad-muted) !important; }

/* ---------- Переключатель темы ---------- */
.theme-toggle {
    cursor: pointer;
    border: 1px solid var(--theme-border) !important;
    background: rgba(10, 10, 42, 0.6) !important;
    color: var(--neon-blue) !important;
    border-radius: 8px;
    padding: .25rem .55rem;
    line-height: 1;
    font-size: 1rem;
    box-shadow: 0 0 8px rgba(0, 243, 255, 0.2);
}
.theme-toggle:hover {
    background: rgba(0, 243, 255, 0.15) !important;
    box-shadow: 0 0 15px var(--glow-color);
}

/* ---------- Hero-секция лендинга (перебивает инлайн-градиент) ---------- */
.hero {
    background: linear-gradient(135deg, var(--darker-blue) 0%, var(--light-blue) 50%, var(--neon-purple) 130%) !important;
    color: #fff !important;
    padding: 72px 0 64px !important;
    position: relative;
    overflow: hidden;
}
.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 120%, rgba(0, 243, 255, 0.25), transparent 60%);
    pointer-events: none;
}
.hero h1 {
    color: #fff !important;
    text-shadow: 0 0 15px var(--neon-blue), 0 0 40px rgba(0, 243, 255, 0.6) !important;
}
.hero .lead, .hero p { color: #c9d4ff !important; }
.hero .btn-warning {
    background: linear-gradient(45deg, var(--neon-blue), var(--neon-purple)) !important;
    color: #000 !important;
    box-shadow: 0 0 20px var(--glow-color) !important;
}
.hero .btn-outline-light {
    border-color: var(--neon-blue) !important;
    color: var(--neon-blue) !important;
}
.hero .btn-outline-light:hover {
    background: rgba(0, 243, 255, 0.15) !important;
    box-shadow: 0 0 15px var(--neon-blue) !important;
}

/* ---------- Неоновые эффекты ---------- */
.glow { text-shadow: 0 0 10px var(--neon-blue), 0 0 20px var(--neon-blue); }

.neon-border {
    border: 1px solid var(--theme-hover) !important;
    box-shadow: 0 0 15px rgba(0, 243, 255, 0.25) !important;
}

.neon-glow { box-shadow: 0 0 15px rgba(0, 243, 255, 0.35) !important; }

.neon-hover:hover { box-shadow: 0 0 20px rgba(0, 243, 255, 0.5) !important; }

.step-num {
    background: linear-gradient(45deg, var(--neon-blue), var(--neon-purple)) !important;
    color: #000 !important;
    box-shadow: 0 0 12px var(--glow-color) !important;
}

.pulse { animation: neon-pulse 2s infinite; }

@keyframes neon-pulse {
    0% { opacity: 0.7; }
    50% { opacity: 1; }
    100% { opacity: 0.7; }
}

/* ---------- Скроллбар ---------- */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--darker-blue); }
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--neon-blue), var(--neon-purple));
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover { background: var(--neon-blue); }
