:root {
  --oboko-green: #087a55;
  --oboko-green-dark: #075f45;
  --oboko-green-soft: #edf8f4;
  --oboko-ink: #17212b;
  --oboko-muted: #667085;
  --oboko-border: #e5e9ef;
  --oboko-surface: #ffffff;
  --oboko-bg: #f6f8fa;
  --oboko-danger: #d92d20;
  --oboko-warning: #b54708;
  --oboko-radius: 14px;
  --oboko-shadow: 0 8px 24px rgba(16, 24, 40, .055);
}

body.nk-body { background: var(--oboko-bg) !important; color: var(--oboko-ink); }
.nk-sidebar.is-dark { background: #073f31 !important; border-right: 0; }
.nk-sidebar .nk-sidebar-head { border-bottom: 1px solid rgba(255,255,255,.08); }
.nk-sidebar .nk-menu-heading .overline-title { color: rgba(255,255,255,.48) !important; letter-spacing: .085em; font-size: .66rem; }
.nk-sidebar .nk-menu-link { border-radius: 9px; margin: 2px 10px; color: rgba(255,255,255,.78) !important; transition: .18s ease; }
.nk-sidebar .nk-menu-link:hover { background: rgba(255,255,255,.08); color: #fff !important; }
.nk-sidebar .nk-menu-item.active > .nk-menu-link,
.nk-sidebar .nk-menu-link.active { background: rgba(255,255,255,.13); color: #fff !important; box-shadow: inset 3px 0 0 rgba(255,255,255,.9); }
.nk-sidebar .nk-menu-icon { color: inherit !important; }
.nk-sidebar .oboko-legacy .nk-menu-link { opacity: .72; }

.nk-header.is-light { background: rgba(255,255,255,.96) !important; border-bottom: 1px solid var(--oboko-border); box-shadow: none; backdrop-filter: blur(12px); }
.nk-header .user-avatar { background: var(--oboko-green-soft); color: var(--oboko-green-dark); }

.nk-content { padding-top: 28px; }
.nk-block-head-sm { padding-bottom: 18px; }
.page-title, .nk-block-title { color: var(--oboko-ink); letter-spacing: -.025em; }
.nk-block-des.text-soft, .text-soft { color: var(--oboko-muted) !important; }

.card, .card-bordered { border: 1px solid var(--oboko-border) !important; border-radius: var(--oboko-radius) !important; box-shadow: none; background: var(--oboko-surface); }
.card:hover.oboko-hover-card { box-shadow: var(--oboko-shadow); transform: translateY(-1px); }
.card-inner { padding: 1.25rem; }

.btn-primary { background: var(--oboko-green) !important; border-color: var(--oboko-green) !important; }
.btn-primary:hover, .btn-primary:focus { background: var(--oboko-green-dark) !important; border-color: var(--oboko-green-dark) !important; }
.btn-outline-primary { color: var(--oboko-green) !important; border-color: rgba(8,122,85,.35) !important; }
.btn-outline-primary:hover { background: var(--oboko-green-soft) !important; color: var(--oboko-green-dark) !important; }
.text-primary, .text-primary-alt { color: var(--oboko-green) !important; }

.form-control, .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple {
  border-color: #d9dee7 !important; border-radius: 9px !important; min-height: 42px;
}
.form-control:focus { border-color: rgba(8,122,85,.7) !important; box-shadow: 0 0 0 3px rgba(8,122,85,.08) !important; }

.table { color: #344054; }
.table thead th { color: #667085; font-size: .72rem; letter-spacing: .025em; text-transform: uppercase; background: #fbfcfd; border-bottom: 1px solid var(--oboko-border); }
.table tbody tr { transition: background .15s ease; }
.table tbody tr:hover { background: #fbfdfc; }
.table td, .table th { vertical-align: middle; }

.badge { border-radius: 999px; font-weight: 600; }
.badge-outline-success, .badge-success { color: #027a48 !important; background: #ecfdf3 !important; border-color: #abefc6 !important; }
.badge-outline-warning, .badge-warning { color: #b54708 !important; background: #fffaeb !important; border-color: #fedf89 !important; }
.badge-outline-danger, .badge-danger { color: #b42318 !important; background: #fef3f2 !important; border-color: #fecdca !important; }
.badge-outline-info, .badge-info { color: #175cd3 !important; background: #eff8ff !important; border-color: #b2ddff !important; }

.oboko-page-kicker { color: var(--oboko-green); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .35rem; }
.oboko-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.oboko-stat-card { min-height: 126px; padding: 18px; position: relative; overflow: hidden; }
.oboko-stat-card .label { color: var(--oboko-muted); font-size: .78rem; font-weight: 600; }
.oboko-stat-card .value { color: var(--oboko-ink); font-size: 1.65rem; font-weight: 700; line-height: 1.15; margin-top: 8px; letter-spacing: -.035em; }
.oboko-stat-card .meta { color: #7b8494; font-size: .72rem; margin-top: 7px; }
.oboko-stat-icon { width: 38px; height: 38px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: var(--oboko-green-soft); color: var(--oboko-green); font-size: 1.15rem; position: absolute; right: 16px; top: 16px; }
.oboko-section-title { display:flex; justify-content:space-between; gap:16px; align-items:flex-end; margin-bottom:12px; }
.oboko-section-title h5 { margin:0; font-size:1rem; }
.oboko-section-title p { margin:3px 0 0; color:var(--oboko-muted); font-size:.78rem; }
.oboko-quick-list { list-style:none; padding:0; margin:0; }
.oboko-quick-list li { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0; border-bottom:1px solid var(--oboko-border); }
.oboko-quick-list li:last-child { border-bottom:0; }
.oboko-quick-list .name { color:var(--oboko-ink); font-weight:600; font-size:.84rem; }
.oboko-quick-list .sub { color:var(--oboko-muted); font-size:.72rem; margin-top:2px; }
.oboko-dot { width:8px; height:8px; border-radius:50%; background:var(--oboko-green); display:inline-block; margin-right:7px; }
.oboko-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.oboko-action { border:1px solid var(--oboko-border); border-radius:11px; padding:12px; display:flex; gap:10px; align-items:center; color:var(--oboko-ink); background:#fff; transition:.16s ease; }
.oboko-action:hover { border-color:rgba(8,122,85,.3); background:var(--oboko-green-soft); color:var(--oboko-green-dark); }
.oboko-action .icon { width:32px; height:32px; border-radius:9px; display:flex; align-items:center; justify-content:center; background:var(--oboko-green-soft); color:var(--oboko-green); }
.oboko-action strong { display:block; font-size:.78rem; }
.oboko-action span { display:block; font-size:.69rem; color:var(--oboko-muted); margin-top:1px; }

.oboko-health { display:inline-flex; align-items:center; gap:7px; padding:6px 10px; border-radius:999px; background:#ecfdf3; color:#027a48; font-size:.72rem; font-weight:700; }
.oboko-health.warn { background:#fffaeb; color:#b54708; }
.oboko-health.bad { background:#fef3f2; color:#b42318; }

.oboko-settings-section { border:1px solid var(--oboko-border); border-radius:14px; padding:18px; margin-bottom:16px; background:#fff; }
.oboko-settings-section h5 { margin-bottom:4px; }
.oboko-settings-section > p { color:var(--oboko-muted); font-size:.78rem; margin-bottom:18px; }
.oboko-security-note { border-left:3px solid var(--oboko-green); background:var(--oboko-green-soft); padding:12px 14px; border-radius:0 10px 10px 0; font-size:.78rem; color:#315b4d; }

.oboko-auth-page { min-height:100vh; background:linear-gradient(145deg,#f3f8f6 0%,#ffffff 55%,#eef6f3 100%); display:flex; align-items:center; }
.oboko-auth-card { border:0 !important; box-shadow:0 18px 55px rgba(16,24,40,.10); border-radius:18px !important; overflow:hidden; }
.oboko-auth-brand { width:52px; height:52px; object-fit:contain; }
.oboko-auth-card .card-inner { padding:30px; }
.oboko-auth-title { font-size:1.45rem; letter-spacing:-.03em; margin-bottom:5px; }
.oboko-auth-sub { font-size:.82rem; color:var(--oboko-muted); }

@media (max-width:1199.98px) {
  .oboko-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:767.98px) {
  .nk-content { padding-top:20px; }
  .card-inner { padding:1rem; }
  .oboko-stat-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .oboko-stat-card { min-height:112px; padding:14px; }
  .oboko-stat-card .value { font-size:1.35rem; }
  .oboko-stat-icon { width:32px; height:32px; right:12px; top:12px; }
  .oboko-action-grid { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .oboko-stat-grid { grid-template-columns:1fr; }
}
