/*
 * Единен визуален стил (светъл, минималистичен).
 * Зарежда се последен във всяка страница и заменя разпръснатите inline стилове.
 */
:root {
    --app-bg:        #f6f7f9;
    --app-surface:   #ffffff;
    --app-border:    #e5e7eb;
    --app-text:      #111827;
    --app-muted:     #6b7280;
    --app-accent:    #2563eb;
    --app-accent-bg: #eff4ff;
    --app-zebra:     #eef1f6;
    --app-border-strong: #c3c9d4;
    --app-text-2:    #4b5563;
    --app-radius:    12px;
}
[data-bs-theme="dark"] {
    --app-bg:        #0f1115;
    --app-surface:   #171a21;
    --app-border:    #272b34;
    --app-text:      #e5e7eb;
    --app-muted:     #9ca3af;
    --app-accent:    #6c93f5;
    --app-accent-bg: #1c2438;
    --app-zebra:     #1d212b;
    --app-border-strong: #3a4050;
    --app-text-2:    #b6bcc8;
}

body {
    background: var(--app-bg) !important;
    color: var(--app-text);
    min-height: 100vh;
}

/* ── Карти: бяла повърхност, тънък контур, без сенки и цветни рамки ───────── */
.card, .login-card, .action-card, .stat-card, .table-card {
    background: var(--app-surface) !important;
    border: 1px solid var(--app-border) !important;
    border-radius: var(--app-radius) !important;
    box-shadow: none !important;
    transform: none !important;
}
.card-header {
    background: transparent !important;
    border-bottom: 1px solid var(--app-border) !important;
}
.action-card:hover, .stat-card:hover, .login-card:hover {
    border-color: var(--app-accent) !important;
    transform: none !important;
    box-shadow: none !important;
}

/* ── Таблици ──────────────────────────────────────────────────────────────── */
.table > :not(caption) > * > * { background: transparent; }
.table thead th, .ticket-table thead th {
    background: transparent !important;
    border-bottom: 1px solid var(--app-border) !important;
    color: var(--app-muted);
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.table tbody td { border-color: var(--app-border); vertical-align: middle; }
.table-hover tbody tr:hover > * { background: var(--app-accent-bg); }

/* Списък със сигнали: тъмен читаем текст, оцветена шапка, зебра, цветна черта по приоритет */
.ticket-table { border-collapse: separate; border-spacing: 0; color: var(--app-text); }
.ticket-table thead th {
    background: var(--app-zebra) !important;
    color: var(--app-text) !important;
    border-top: 1px solid var(--app-border);
    border-bottom: 2px solid var(--app-border-strong) !important;
    padding: .7rem .75rem; white-space: nowrap; font-size: .74rem;
}
.ticket-table thead th a { color: inherit; }
.ticket-table tbody td { padding: .7rem .75rem; border-bottom: 1px solid var(--app-border); border-top: 0; }
.ticket-table tbody tr { cursor: pointer; background: transparent !important; }
.ticket-table tbody tr:nth-child(even) > td { background: var(--app-zebra) !important; }
.ticket-table tbody tr:hover > td { background: var(--app-accent-bg) !important; }
.ticket-table tbody td:first-child { box-shadow: inset 4px 0 0 var(--prio, transparent); }
.ticket-table tr.prio-urgent { --prio: #dc3545; }
.ticket-table tr.prio-high   { --prio: #fd7e14; }
.ticket-table tr.prio-medium { --prio: #0dcaf0; }
.ticket-table tr.prio-low    { --prio: #198754; }
.ticket-table .badge { font-weight: 600; font-size: .74rem; padding: .4em .75em; }
.ticket-table .text-muted { color: var(--app-text-2) !important; }
.ticket-table .row-actions { white-space: nowrap; }
.ticket-table .row-actions .btn { border-color: var(--app-border-strong); color: var(--app-text); background: var(--app-surface); }
.ticket-table .row-actions .btn.text-danger { color: #dc3545; }
.ticket-table thead th:first-child, .ticket-table tbody td:first-child { padding-left: 1.1rem; }
.ticket-table .col-number { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .02em; }

/* ── Единна навигация ─────────────────────────────────────────────────────── */
#mainNavbar {
    background: var(--app-surface) !important;
    border-bottom: 1px solid var(--app-border);
    --bs-navbar-color: var(--app-muted);
    --bs-navbar-hover-color: var(--app-text);
    --bs-navbar-active-color: var(--app-accent);
    --bs-navbar-brand-color: var(--app-text);
    --bs-navbar-brand-hover-color: var(--app-text);
}
#mainNavbar .nav-link { border-radius: 8px; padding: .4rem .65rem; }
#mainNavbar .nav-link.active { background: var(--app-accent-bg); color: var(--app-accent); font-weight: 600; }
#mainNavbar .navbar-toggler { border-color: var(--app-border); }
#mainNavbar .navbar-toggler-icon { filter: invert(.45); }
#mainNavbar .btn-outline-light {
    color: var(--app-text);
    border-color: var(--app-border);
    background: transparent;
}
#mainNavbar .btn-outline-light:hover, #mainNavbar .btn-outline-light:focus,
#mainNavbar .btn-outline-light.show {
    background: var(--app-accent-bg);
    border-color: var(--app-accent);
    color: var(--app-accent);
}
#mainNavbar .text-light { color: var(--app-muted) !important; }
#mainNavbar .dropdown-menu {
    border: 1px solid var(--app-border);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
}
#mainNavbar .dropdown-item.active, #mainNavbar .dropdown-item:active {
    background: var(--app-accent-bg);
    color: var(--app-accent);
}

/* ── Единен акцент ────────────────────────────────────────────────────────── */
.btn-primary {
    --bs-btn-bg: var(--app-accent);
    --bs-btn-border-color: var(--app-accent);
    --bs-btn-hover-bg: #1d4ed8;
    --bs-btn-hover-border-color: #1d4ed8;
}
.form-control, .form-select { border-color: var(--app-border); border-radius: 8px; }
.form-control:focus, .form-select:focus {
    border-color: var(--app-accent);
    box-shadow: 0 0 0 .2rem rgba(37, 99, 235, .15);
}
.text-muted { color: var(--app-muted) !important; }
.bg-light { background: var(--app-bg) !important; }

/* ── Футър ────────────────────────────────────────────────────────────────── */
footer.bg-dark {
    background: var(--app-surface) !important;
    border-top: 1px solid var(--app-border);
    color: var(--app-muted) !important;
}
footer .text-light, footer .link-light { color: var(--app-muted) !important; }
footer a { color: var(--app-accent) !important; text-decoration: none; }

/* ── Кутия с контакти (главна страница) ───────────────────────────────────── */
.contacts-card {
    background: var(--app-surface) !important;
    border: 2px dashed var(--app-muted) !important;
    border-radius: var(--app-radius) !important;
}
.contacts-card pre { font-family: inherit !important; color: var(--app-text); }

/* ── Единна ширина на съдържанието ────────────────────────────────────────── */
.container { max-width: 1200px !important; }
body > .container, body > .container-fluid, .page-wrap, .dashboard-shell {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ── Тъмна тема: поправки на остатъчни inline правила ────────────────────── */
[data-bs-theme="dark"] .contacts-card { border: 2px dashed var(--app-muted) !important; }
[data-bs-theme="dark"] .badge.bg-light,
[data-bs-theme="dark"] .badge.text-dark.border {
    background: var(--app-border) !important;
    color: var(--app-text) !important;
    border-color: var(--app-border) !important;
}
