:root{
  --dhara-navy:#0f2942;
  --dhara-navy-dark:#0a1c2e;
  --dhara-accent:#e8862b;
  --dhara-accent-dark:#c76f1c;
  --dhara-bg:#f4f6f9;
  --dhara-card-border:#e5e9ef;
}
body{background:var(--dhara-bg);font-family:'Segoe UI',Roboto,-apple-system,sans-serif;color:#1f2933;}
.topbar{background:linear-gradient(90deg,var(--dhara-navy) 0%,var(--dhara-navy-dark) 100%);box-shadow:0 2px 8px rgba(0,0,0,.15);}
.navbar-brand{letter-spacing:.5px;}

.app-wrapper{display:flex;min-height:calc(100vh - 56px);}
.app-sidebar{
  width:230px;flex-shrink:0;background:var(--dhara-navy);color:#cfd8e3;
  position:sticky;top:56px;height:calc(100vh - 56px);overflow-y:auto;
}
.sidebar-brand{padding:1rem;font-weight:700;color:#fff;font-size:1.2rem;}
.sidebar-nav{padding:.5rem 0;}
.sidebar-nav .nav-heading{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:#7c93ab;padding:.9rem 1rem .3rem;}
.sidebar-nav .nav-link{color:#cfd8e3;padding:.55rem 1rem;font-size:.92rem;border-left:3px solid transparent;}
.sidebar-nav .nav-link i{width:20px;margin-right:6px;}
.sidebar-nav .nav-link:hover{background:rgba(255,255,255,.06);color:#fff;}
.sidebar-nav .nav-link.active{background:rgba(232,134,43,.15);color:#fff;border-left-color:var(--dhara-accent);font-weight:600;}

.app-content{flex:1;padding:1.5rem;min-width:0;}
.app-footer{background:#fff;border-top:1px solid var(--dhara-card-border);}

.card{border:1px solid var(--dhara-card-border);border-radius:10px;box-shadow:0 1px 3px rgba(15,41,66,.04);}
.card-header{background:#fff;border-bottom:1px solid var(--dhara-card-border);font-weight:600;}

.stat-card{border-radius:12px;padding:1.1rem 1.3rem;color:#fff;position:relative;overflow:hidden;}
.stat-card .stat-icon{position:absolute;right:.8rem;top:.6rem;font-size:2.4rem;opacity:.25;}
.stat-card .stat-value{font-size:1.7rem;font-weight:700;}
.stat-card .stat-label{font-size:.82rem;opacity:.9;}
.bg-grad-navy{background:linear-gradient(135deg,#0f2942,#1b4468);}
.bg-grad-orange{background:linear-gradient(135deg,#e8862b,#c76f1c);}
.bg-grad-green{background:linear-gradient(135deg,#1a9c62,#0f7549);}
.bg-grad-red{background:linear-gradient(135deg,#c0392b,#922019);}
.bg-grad-purple{background:linear-gradient(135deg,#6c4bbe,#4a3186);}
.bg-grad-teal{background:linear-gradient(135deg,#0e8f8f,#0a6767);}

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

.table thead th{background:#f8f9fb;font-size:.78rem;text-transform:uppercase;letter-spacing:.4px;color:#5c6b7a;border-bottom:2px solid var(--dhara-card-border);white-space:nowrap;}
.table td{vertical-align:middle;font-size:.9rem;}
.badge{font-weight:500;font-size:.75rem;}

.login-page{min-height:100vh;background:linear-gradient(135deg,var(--dhara-navy) 0%,#1b4468 60%,var(--dhara-accent) 150%);display:flex;align-items:center;justify-content:center;}
.login-card{max-width:400px;width:100%;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.3);}

.item-row td{vertical-align:middle;}
.text-muted-sm{font-size:.78rem;color:#8492a6;}

@media print{
  .no-print{display:none !important;}
  .app-sidebar,.topbar,.app-footer{display:none !important;}
  .app-content{padding:0;}
  body{background:#fff;}
}

@media (max-width: 991.98px){
  .app-sidebar{position:fixed;left:-240px;top:56px;z-index:1040;transition:left .25s ease;box-shadow:4px 0 12px rgba(0,0,0,.2);}
  .app-sidebar.open{left:0;}
}
