:root { --npv-navy: #102f52; --npv-blue: #0879ad; --npv-sky: #eaf5fa; --npv-ink: #1d2d3e; --npv-muted: #6e7f92; --npv-line: #e4ebf1; --npv-bg: #f4f7fa; }
body { background: var(--npv-bg); color: var(--npv-ink); }
body.sidebar-mini .content-wrapper { background: var(--npv-bg); min-height: calc(100vh - 57px); }
.main-sidebar { background: linear-gradient(180deg, #102f52 0%, #0a243e 100%) !important; box-shadow: 4px 0 18px rgba(14, 35, 59, .12); }
.main-sidebar .brand-link { height: 64px; display: flex; align-items: center; border-bottom: 1px solid rgba(255,255,255,.1); color: #fff !important; }
.main-sidebar .brand-text { font-weight: 700 !important; font-size: .93rem; letter-spacing: .03em; }
.nav-sidebar>.nav-item>.nav-link { margin: 4px 10px; padding: 11px 13px; border-radius: 7px; color: rgba(255,255,255,.75); font-weight: 600; }
.nav-sidebar>.nav-item>.nav-link:hover, .nav-sidebar>.nav-item>.nav-link.active { background: rgba(67, 169, 215, .2) !important; color: #fff !important; box-shadow: none; }
.nav-sidebar .nav-icon { font-size: .95rem !important; margin-right: 5px !important; }
.user-panel { border-bottom-color: rgba(255,255,255,.1) !important; }.user-panel .info a { color: #fff !important; font-weight: 600; }
.content-header { padding: 17px 18px 8px; }.content-header .navbar { padding: 7px 12px; border-radius: 10px; background: #fff !important; box-shadow: 0 2px 10px rgba(31,56,84,.06); }
.content { padding: 8px 18px 24px; }.card { border: 0; border-radius: 12px; box-shadow: 0 4px 18px rgba(25,53,84,.07); overflow: hidden; }
.card-header { padding: 17px 20px; border-bottom: 1px solid var(--npv-line); background: #fff; }.card-title { color: var(--npv-navy); font-size: 1.05rem !important; font-weight: 700; }
.card-body { padding: 20px; }.btn { border-radius: 7px; font-weight: 600; padding: .45rem .85rem; }.btn-primary { background: var(--npv-blue); border-color: var(--npv-blue); }.btn-primary:hover, .btn-primary:focus { background: #056590; border-color: #056590; }
.btn-success { background: #16876d; border-color: #16876d; }.btn-danger { background: #c9515f; border-color: #c9515f; }
.form-control, .custom-select, select.form-control { min-height: 39px; border: 1px solid #d7e1e9; border-radius: 7px; box-shadow: none !important; }.form-control:focus, .custom-select:focus { border-color: var(--npv-blue); box-shadow: 0 0 0 3px rgba(8,121,173,.12) !important; }
.table { margin-bottom: 0; color: #314357; }.table thead th { border-top: 0; border-bottom: 1px solid #dce6ee; background: #f6f9fb; color: #4f6172; font-size: .76rem; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }.table td, .table th { padding: .85rem .8rem; vertical-align: middle; border-color: #edf1f5; }.table tbody tr:hover { background: #f7fbfd; }
.dataTables_wrapper .dataTables_filter input, .dataTables_wrapper .dataTables_length select { border: 1px solid #d7e1e9; border-radius: 6px; padding: 5px 8px; background: #fff; }.dataTables_wrapper .dataTables_paginate .paginate_button.current { border: 0 !important; border-radius: 6px; background: var(--npv-blue) !important; color: #fff !important; }
.small-box { border-radius: 12px; box-shadow: 0 5px 18px rgba(25,53,84,.1); overflow: hidden; }.small-box>.inner { padding: 18px; }.small-box h3 { font-weight: 700; }.small-box .small-box-footer { background: rgba(0,0,0,.08); }
.main-footer { margin-left: 250px; padding: 15px 20px; border-top: 0; background: #fff; color: var(--npv-muted); font-size: .85rem; }.login-page { background: radial-gradient(circle at top left, #e3f2f8, #f5f7fa 55%); }
@media (max-width: 991.98px) { .main-footer { margin-left: 0; }.content { padding: 8px 10px 20px; }.content-header { padding: 12px 10px 8px; } }
