/* MNEMOSYNE Dark Theme */

:root {
    --mn-bg: #0d1117;
    --mn-bg-secondary: #161b22;
    --mn-bg-tertiary: #1c2128;
    --mn-border: #30363d;
    --mn-text: #e6edf3;
    --mn-text-muted: #8b949e;
    --mn-accent: #58a6ff;
    --mn-accent-hover: #79c0ff;
    --mn-success: #3fb950;
    --mn-warning: #d29922;
    --mn-danger: #f85149;
    --mn-info: #58a6ff;
}

body {
    background-color: var(--mn-bg);
    color: var(--mn-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}

/* Navbar */
.navbar-dark-mn {
    background-color: var(--mn-bg-secondary) !important;
    border-bottom: 1px solid var(--mn-border);
}

.navbar-dark-mn .navbar-brand {
    color: var(--mn-accent);
    font-weight: 700;
    letter-spacing: 2px;
}

.navbar-dark-mn .nav-link {
    color: var(--mn-text-muted);
}

.navbar-dark-mn .nav-link:hover,
.navbar-dark-mn .nav-link.active {
    color: var(--mn-text);
}

/* Cards */
.card-mn {
    background-color: var(--mn-bg-secondary);
    border: 1px solid var(--mn-border);
    border-radius: 6px;
}

.card-mn .card-header {
    background-color: var(--mn-bg-tertiary);
    border-bottom: 1px solid var(--mn-border);
    color: var(--mn-text);
}

.card-mn .card-body {
    color: var(--mn-text);
}

/* Tables */
.table-mn {
    color: var(--mn-text);
}

.table-mn thead th {
    background-color: var(--mn-bg-tertiary);
    border-bottom-color: var(--mn-border);
    color: var(--mn-text-muted);
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.table-mn td {
    border-bottom-color: var(--mn-border);
    vertical-align: middle;
}

.table-mn tbody tr:hover {
    background-color: var(--mn-bg-tertiary);
}

/* Forms */
.form-control-mn,
.form-select-mn {
    background-color: var(--mn-bg-tertiary);
    border: 1px solid var(--mn-border);
    color: var(--mn-text);
}

.form-control-mn:focus,
.form-select-mn:focus {
    background-color: var(--mn-bg-tertiary);
    border-color: var(--mn-accent);
    color: var(--mn-text);
    box-shadow: 0 0 0 0.2rem rgba(88, 166, 255, 0.25);
}

.form-control-mn::placeholder {
    color: var(--mn-text-muted);
}

/* Buttons */
.btn-mn-primary {
    background-color: var(--mn-accent);
    border-color: var(--mn-accent);
    color: #fff;
}

.btn-mn-primary:hover {
    background-color: var(--mn-accent-hover);
    border-color: var(--mn-accent-hover);
    color: #fff;
}

.btn-mn-outline {
    background-color: transparent;
    border: 1px solid var(--mn-border);
    color: var(--mn-text);
}

.btn-mn-outline:hover {
    background-color: var(--mn-bg-tertiary);
    border-color: var(--mn-text-muted);
    color: var(--mn-text);
}

/* Badges */
.badge-tier {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.badge-tier-public { background-color: #6c757d; }
.badge-tier-professional { background-color: #0d6efd; }
.badge-tier-research { background-color: #6f42c1; }
.badge-tier-government { background-color: #d29922; }
.badge-tier-admin { background-color: #f85149; }

/* Risk badges */
.risk-low { color: var(--mn-success); }
.risk-medium { color: var(--mn-warning); }
.risk-high { color: var(--mn-danger); }
.risk-critical { color: #ff7b72; font-weight: 700; }

.badge-risk-low { background-color: var(--mn-success); }
.badge-risk-medium { background-color: var(--mn-warning); }
.badge-risk-high { background-color: var(--mn-danger); }
.badge-risk-critical { background-color: #ff7b72; }

/* Stat cards */
.stat-card {
    text-align: center;
    padding: 1.25rem;
}

.stat-card .stat-value {
    font-size: 2rem;
    font-weight: 700;
    color: var(--mn-accent);
}

.stat-card .stat-label {
    color: var(--mn-text-muted);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Delta indicators */
.delta-up { color: var(--mn-danger); }
.delta-down { color: var(--mn-success); }
.delta-flat { color: var(--mn-text-muted); }

/* Loading spinner */
.mn-spinner {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3rem;
}

/* Login page */
.login-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-card {
    width: 100%;
    max-width: 420px;
}

/* Modals */
.modal-content-mn {
    background-color: var(--mn-bg-secondary);
    border: 1px solid var(--mn-border);
    color: var(--mn-text);
}

.modal-content-mn .modal-header {
    border-bottom-color: var(--mn-border);
}

.modal-content-mn .modal-footer {
    border-top-color: var(--mn-border);
}

.modal-content-mn .btn-close {
    filter: invert(1);
}

/* Pagination */
.page-link-mn {
    background-color: var(--mn-bg-secondary);
    border-color: var(--mn-border);
    color: var(--mn-text);
}

.page-link-mn:hover {
    background-color: var(--mn-bg-tertiary);
    border-color: var(--mn-border);
    color: var(--mn-accent);
}

.page-item.active .page-link-mn {
    background-color: var(--mn-accent);
    border-color: var(--mn-accent);
    color: #fff;
}

.page-item.disabled .page-link-mn {
    background-color: var(--mn-bg-tertiary);
    border-color: var(--mn-border);
    color: var(--mn-text-muted);
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--mn-bg);
}

::-webkit-scrollbar-thumb {
    background: var(--mn-border);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--mn-text-muted);
}

/* Alert overrides */
.alert-mn-danger {
    background-color: rgba(248, 81, 73, 0.1);
    border: 1px solid rgba(248, 81, 73, 0.3);
    color: #ff7b72;
}

.alert-mn-success {
    background-color: rgba(63, 185, 80, 0.1);
    border: 1px solid rgba(63, 185, 80, 0.3);
    color: var(--mn-success);
}

.alert-mn-warning {
    background-color: rgba(210, 153, 34, 0.1);
    border: 1px solid rgba(210, 153, 34, 0.3);
    color: var(--mn-warning);
}

.alert-mn-info {
    background-color: rgba(88, 166, 255, 0.1);
    border: 1px solid rgba(88, 166, 255, 0.3);
    color: var(--mn-accent);
}

/* Empty state */
.empty-state {
    text-align: center;
    padding: 3rem;
    color: var(--mn-text-muted);
}

.empty-state i {
    font-size: 3rem;
    margin-bottom: 1rem;
    display: block;
}

/* Sidebar active */
.list-group-item-mn {
    background-color: var(--mn-bg-secondary);
    border-color: var(--mn-border);
    color: var(--mn-text);
}

.list-group-item-mn:hover,
.list-group-item-mn.active {
    background-color: var(--mn-bg-tertiary);
    border-color: var(--mn-border);
    color: var(--mn-accent);
}

/* Utility */
.text-mn-muted { color: var(--mn-text-muted) !important; }
.text-mn-accent { color: var(--mn-accent) !important; }
.border-mn { border-color: var(--mn-border) !important; }
.bg-mn-secondary { background-color: var(--mn-bg-secondary) !important; }
.bg-mn-tertiary { background-color: var(--mn-bg-tertiary) !important; }
