/**
 * OPUS NetPulse — Dark NOC skin
 *
 * Layered over AdminLTE 3.2's native body.dark-mode, retuned to the dashboard's
 * NOC palette: near-black navy ground, #0f1728 panels, #1c2942 hairlines,
 * glowing status colors. Scoped entirely under body.dark-mode, so dropping the
 * class (np_theme=light cookie) restores the stock light look untouched.
 * The dashboard's own .noc-* styles remain self-contained and unaffected.
 */

body.dark-mode {
    background-color: #0a0f1c;
    color: #c3cfe4;
}
body.dark-mode .wrapper,
body.dark-mode .content-wrapper {
    background-color: #0a0f1c !important;
    color: #c3cfe4;
}

/* ---- chrome: top nav + sidebar ---- */
body.dark-mode .main-header {
    background-color: #0d1425 !important;
    border-bottom: 1px solid #1c2942 !important;
}
body.dark-mode .main-header .nav-link { color: #8fa3c4 !important; }
body.dark-mode .main-header .nav-link:hover { color: #e8effc !important; }
body.dark-mode .main-sidebar,
body.dark-mode .main-sidebar .sidebar {
    background-color: #0d1425 !important;
}
body.dark-mode .brand-link { border-bottom: 1px solid #1c2942 !important; background-color: #0d1425 !important; }
body.dark-mode .sidebar .nav-link { color: #8fa3c4 !important; }
body.dark-mode .sidebar .nav-link.active {
    background-color: #1c2942 !important;
    color: #e8effc !important;
    box-shadow: none !important;
}
body.dark-mode .sidebar .nav-link:hover:not(.active) { background-color: #121c31 !important; color: #c3cfe4 !important; }
body.dark-mode .main-footer { background-color: #0d1425 !important; border-top: 1px solid #1c2942 !important; color: #54658a; }

/* ---- cards / callouts ---- */
body.dark-mode .card {
    background-color: #0f1728 !important;
    border-color: #1c2942 !important;
    color: #c3cfe4;
    box-shadow: none !important;
}
body.dark-mode .card-header {
    border-bottom-color: #1c2942 !important;
    background-color: transparent !important;
}
body.dark-mode .card-footer { background-color: #0d1425 !important; border-top-color: #1c2942 !important; }
body.dark-mode .card-title { color: #e8effc; }
body.dark-mode .callout { background-color: #121c31 !important; color: #c3cfe4; }
body.dark-mode .info-box { background-color: #0f1728 !important; color: #c3cfe4; }
body.dark-mode .modal-content { background-color: #0f1728; border-color: #1c2942; }

/* ---- tables ---- */
body.dark-mode .table { color: #c3cfe4; }
body.dark-mode .table td, body.dark-mode .table th { border-color: #141e33 !important; }
body.dark-mode .table thead th { border-bottom-color: #1c2942 !important; color: #54658a; }
body.dark-mode .table-hover tbody tr:hover { background-color: #121c31 !important; color: #e8effc; }
body.dark-mode .table-striped tbody tr:nth-of-type(odd) { background-color: #0d1425 !important; }
body.dark-mode .table .bg-light, body.dark-mode .thead-light th { background-color: #121c31 !important; color: #8fa3c4 !important; }
body.dark-mode .table-danger, body.dark-mode .table-danger > td { background-color: rgba(244, 63, 94, .12) !important; color: #fbc4cc; }
body.dark-mode .table-warning, body.dark-mode .table-warning > td { background-color: rgba(245, 158, 11, .10) !important; color: #f3e5c8; }
body.dark-mode .table-success, body.dark-mode .table-success > td { background-color: rgba(34, 197, 94, .10) !important; }

/* ---- forms ---- */
body.dark-mode .form-control,
body.dark-mode .custom-select,
body.dark-mode select,
body.dark-mode textarea {
    background-color: #0d1425 !important;
    border-color: #1c2942 !important;
    color: #c3cfe4 !important;
}
body.dark-mode .form-control:focus { border-color: #2b3d63 !important; box-shadow: 0 0 0 .15rem rgba(56, 189, 248, .15) !important; }
body.dark-mode .form-control::placeholder { color: #3f4f70; }
body.dark-mode .input-group-text { background-color: #121c31; border-color: #1c2942; color: #8fa3c4; }

/* ---- buttons: keep semantic colors, mute the default/light ones ---- */
body.dark-mode .btn-default,
body.dark-mode .btn-light {
    background-color: #121c31;
    border-color: #1c2942;
    color: #8fa3c4;
}
body.dark-mode .btn-default:hover, body.dark-mode .btn-light:hover { background-color: #1c2942; color: #e8effc; }
body.dark-mode .btn-outline-secondary { color: #8fa3c4; border-color: #2b3d63; }
body.dark-mode .page-link { background-color: #0f1728; border-color: #1c2942; color: #8fa3c4; }

/* ---- text + misc ---- */
body.dark-mode .text-muted { color: #54658a !important; }
body.dark-mode a { color: #7fb3e0; }
body.dark-mode a:hover { color: #b5d7f2; }
body.dark-mode .breadcrumb { background-color: transparent; }
body.dark-mode .breadcrumb-item.active { color: #54658a; }
body.dark-mode code { color: #7dd3fc; background: transparent; }
body.dark-mode pre { background-color: #0d1425; color: #c3cfe4; border: 1px solid #1c2942; }
body.dark-mode hr { border-top-color: #1c2942; }
body.dark-mode .dropdown-menu { background-color: #0f1728; border-color: #1c2942; }
body.dark-mode .dropdown-item { color: #c3cfe4; }
body.dark-mode .dropdown-item:hover { background-color: #121c31; color: #e8effc; }
body.dark-mode .alert-success { background-color: rgba(34, 197, 94, .12); border-color: rgba(34, 197, 94, .4); color: #a7e3c0; }
body.dark-mode .alert-danger { background-color: rgba(244, 63, 94, .12); border-color: rgba(244, 63, 94, .4); color: #fbc4cc; }
body.dark-mode .alert-warning { background-color: rgba(245, 158, 11, .12); border-color: rgba(245, 158, 11, .4); color: #f3e5c8; }
body.dark-mode .alert-info { background-color: rgba(56, 189, 248, .10); border-color: rgba(56, 189, 248, .4); color: #bae6fd; }

/* ---- workbench instrument cards (light-designed) retuned ---- */
body.dark-mode .wb-inst {
    background: #0f1728 !important;
    border-color: #1c2942 !important;
    color: #c3cfe4 !important;
    box-shadow: none !important;
}
body.dark-mode .wb-inst .wb-inst-label { color: #68799b !important; }
body.dark-mode .wb-inst .wb-inst-val { color: #eaf1ff !important; }
body.dark-mode .wb-inst .wb-inst-sub { color: #68799b !important; }
body.dark-mode .meter { background: #1a2440 !important; }

/* ---- ticket thread (tickets/view.php) ---- */
body.dark-mode .ticket-message.internal {
    background: rgba(245, 158, 11, .10);
    border-left-color: #f59e0b;
}
body.dark-mode .ticket-message { border-left-color: #3b82f6; }
body.dark-mode .ticket-message.system { border-left-color: #54658a; }
body.dark-mode .ticket-message.requester { border-left-color: #4ade80; }
