:root {
    --np-primary: #009F93;
    --np-primary-dark: #007f76;
}
.btn-np {
    background-color: var(--np-primary);
    border-color: var(--np-primary);
    color: #fff;
}
.btn-np:hover,
.btn-np:focus {
    background-color: var(--np-primary-dark);
    border-color: var(--np-primary-dark);
    color: #fff;
}
a { color: var(--np-primary); text-decoration: underline; }
a:hover { color: var(--np-primary-dark); }
#adminHeader { position: sticky; top: 0; z-index: 1030; /* Above content, below modals */ }
.navbar-brand {
    padding-top: 0;
    padding-bottom: 0;
}

.navbar-brand img.np-logo {
    display: block;
    height: 100%;
    max-height: 40px;
}
#themeToggle i {  font-size: 1rem; vertical-align: -0.1em; }
.admin-content { padding-top: 1rem; }
.btn-primary { background-color: var(--np-primary); border-color: var(--np-primary); }
.btn-primary:hover { background-color: var(--np-primary-dark); border-color: var(--np-primary-dark); }
#log {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 0.85rem;
    line-height: 1.35;
}
.log-scroll {
    max-height: calc(100vh - 200px); /* header + controls */
    overflow-y: auto;
}
.entry { border-bottom:1px solid #333; padding:4px; position: relative; padding-left: 12px; }
.entry::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: transparent; }
.entry.fatal { background: #ffe5e5; color: #900; font-weight: bold; }
.entry.exception { background: #fff0e0; color: #a05000; font-weight: bold; }
.entry.warning { background: #fffbe5; color: #8a6d00; }
.entry.deprecated { background: #f4f4f4; color: #666; }
.entry.notice { color: #555; }
.entry.recent-1h::before { background: #1a8f3a; }
.entry.recent-24h::before { background: #8fc8a0; }
.entry.is-new { outline: 1px solid rgba(0, 150, 255, 0.4); }
/* Dashboard cards */
.dashboard-card .card-title {
    font-size: 0.95rem;
    font-weight: 600;
}

.dashboard-card p {
    margin-bottom: 0.5rem;
}

.dashboard-card .metric {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.2;
}

.log-metrics {
    font-size: 0.85rem;
}

.log-row {
    display: grid;
    grid-template-columns: 1fr auto 24px;
    align-items: center;
    padding: 4px 0;
}

.log-env {
    font-weight: 500;
}

.log-count {
    text-align: right;
    padding-right: 8px;
}
.log-icon {
    text-align: center;
}

.log-icon a {
    color: var(--np-primary);
    opacity: 0.85;
    font-weight: 600;
}

.log-icon a:hover {
    opacity: 1;
}
.log-env {
    font-weight: 600;
    color: inherit;
}
.metric-zero  { color: #6c757d; }           /* neutral grey */
.metric-low   { color: #d97706; }           /* strong amber */
.metric-mid   { color: #dc2626; }           /* strong red */
.metric-high  { color: #991b1b; font-weight: 700; } /* deep red */
.log-icon a {
    color: var(--log-icon);
}

/* optional subtle separator */

.log-row + .log-row {
    border-top: 1px solid rgba(128,128,128,0.15);
}

[data-bs-theme="dark"] .log-row + .log-row {
    border-top: 1px solid rgba(255,255,255,0.08);
}

/* Bootstrap bg-light */
body.light { background-color: #f8f9fa; color: #212529; }
/* Bootstrap muted */
.log-meta { color: #6c757d; }
/* Bootstrap bg-dark */
body.dark  { background:#333; color:#fff; }
body.dark .text-muted { color: #aaa !important; }
body.dark .card { background-color: #1e1e1e; border-color: #444; }
body.dark .card-title,
body.dark .card-text { color: #e5e5e5; }
body.dark .dashboard-card p { color: #e5e5e5; }
body.dark .dashboard-card .metric {
    color: #e5e5e5;
}
body.dark .log-meta { color: #aaa; }
body.dark .entry { border-bottom: 1px solid #444; }
body.dark .entry.fatal { background: #2a0000; color: #ffb3b3; }
body.dark .entry.exception { background: #2a1a00; color: #ffd2a6; }
body.dark .entry.warning { background: #2a2400; color: #ffe08a; }
body.dark .entry.deprecated { background: #222; color: #888; }
body.dark .entry.notice { background: #1f1f1f; color: #bbb; }
body.dark .entry.recent-1h::before { background: #4cd27a; }
body.dark .entry.recent-24h::before { background: #3a6f4a; }
body.dark .btn-outline-secondary { color: #ddd; border-color: #777; }
body.dark .btn-outline-secondary:hover { background-color: #777; color: #121212; border-color: #777; }
body.dark .btn-outline-primary { border-color: var(--np-primary); color: var(--np-primary); }
body.dark .btn-outline-primary:hover { background-color: var(--np-primary); color: #121212; }
body.dark .form-select { background-color: #222; color: #eee; border-color: #555; }
body.dark .form-select:focus { background-color: #222; color: #fff; border-color: var(--np-primary); box-shadow: 0 0 0 0.2rem rgba(0, 159, 147, 0.25); }
body.dark .log-env { color: #f1f3f5;   /* clean bright grey */ }
body.dark .metric-zero  { color: #9ca3af; }  /* visible soft grey */
body.dark .metric-low   { color: #f59e0b; }  /* bright amber */
body.dark .metric-mid   { color: #ff4d4f; }  /* bright red */
body.dark .metric-high  { color: #ff2d2d; font-weight: 700; }
body.dark .log-icon a {
    color: #4fd1c5; /* brighter teal in dark */
}
@media (max-width: 576px) {
    .log-meta {
        line-height: 1.3;
    }
}
