/* ==========================================================================
   OCD — Online Case Diary custom theme
   Site-wide visual refresh layered on top of AdminLTE 2 / Bootstrap 3.
   Loaded once from includes/header.php, so it applies to every page.
   ========================================================================== */

:root{
  --ocd-navy: #1B2A4A;
  --ocd-navy-dark: #121D34;
  --ocd-navy-light: #24365C;
  --ocd-gold: #B08D45;
  --ocd-gold-dark: #96742F;
  --ocd-slate: #44546A;
  --ocd-bg: #F4F6F9;
  --ocd-card-border: #E3E7EE;
  --ocd-text: #2A2E35;
  --ocd-danger: #B23A3A;
  --ocd-success: #3A7D44;
}

body{
  background: var(--ocd-bg);
  color: var(--ocd-text);
  font-family: "Source Sans Pro", "SolaimanLipi", Helvetica, Arial, sans-serif;
}

/* ---------- Top header / navbar ---------- */
.skin-blue .main-header .navbar,
.main-header .navbar{
  background: #2E7D32;
}
.skin-blue .main-header .logo,
.main-header .logo{
  background: #FFF;
  border-bottom: 3px solid var(--ocd-gold);
}
.skin-blue .main-header .logo:hover{
  background: var(--ocd-navy);
}
.skin-blue .main-header li.user-header{
  background: var(--ocd-navy);
}
.skin-blue .main-header .navbar .sidebar-toggle:hover{
  background: var(--ocd-navy-light);
}
.skin-blue .main-header .navbar .dropdown-toggle{
  color: #EDEFF3;
}

/* ---------- Sidebar ---------- */
.skin-blue .main-sidebar,
.main-sidebar{
  background: #2E7D32;
}
.skin-blue .sidebar-menu > li.header{
  background: #2E7D32;
  color: var(--ocd-gold);
}
.skin-blue .sidebar-menu > li > a{
  color: #C9D2E0;
  border-left: 3px solid transparent;
}
.skin-blue .sidebar-menu > li:hover > a,
.skin-blue .sidebar-menu > li.active > a{
  color: #FFFFFF;
  background: var(--ocd-navy-light);
  border-left-color: var(--ocd-gold);
}
.skin-blue .sidebar-menu > li > .treeview-menu{
  background: #2E7D32;
}
.skin-blue .sidebar-menu li.treeview-menu > li > a{
  color: #B8C2D4;
}
.skin-blue .sidebar-menu li.treeview-menu > li > a:hover,
.skin-blue .sidebar-menu li.treeview-menu > li.active > a{
  color: #FFFFFF;
}
.skin-blue .sidebar a{
  transition: background-color .15s ease-in-out, color .15s ease-in-out;
}

/* ---------- Buttons ---------- */
.btn-primary{
  background-color: var(--ocd-navy);
  border-color: var(--ocd-navy);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active{
  background-color: var(--ocd-navy-light);
  border-color: var(--ocd-navy-light);
}
.btn-flat{
  border-radius: 4px;
}
.btn-default.btn-flat{
  border-color: var(--ocd-card-border);
}
a{
  color: var(--ocd-navy);
}
a:hover, a:focus{
  color: #FFF;
}

/* ---------- Cards / boxes ---------- */
.box{
  border-radius: 6px;
  border-top: 3px solid var(--ocd-navy);
  box-shadow: 0 1px 4px rgba(27, 42, 74, 0.08);
}
.box.box-primary{
  border-top-color: var(--ocd-gold);
}
.box-header.with-border{
  border-bottom: 1px solid var(--ocd-card-border);
}
.small-box{
  border-radius: 6px;
  box-shadow: 0 1px 4px rgba(27, 42, 74, 0.10);
}

/* ---------- Tables / DataTables ---------- */
.table > thead > tr > th{
  border-bottom: 2px solid var(--ocd-navy);
  color: #FFF;
}
.table-bordered{
  border-color: var(--ocd-card-border);
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > td{
  border-color: var(--ocd-card-border);
}
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after{
  color: var(--ocd-gold);
}

/* ---------- Breadcrumb / content header ---------- */
.content-header h1{
  color: var(--ocd-navy);
  font-weight: 600;
}
.breadcrumb{
  background: transparent;
}
.breadcrumb > li + li:before{
  color: var(--ocd-gold);
}

/* ---------- Login page ---------- */
.login-page{
  background: linear-gradient(160deg, #2E7D32 0%, var(--ocd-navy) 55%, var(--ocd-slate) 100%);
}
.login-box{
  margin-top: 6%;
}
.login-box-body{
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0,0,0,0.28);
  border-top: 4px solid var(--ocd-gold);
  padding: 28px 26px 20px;
}
.login-box-body .form-control{
  border-radius: 4px;
  border-color: #D8DCE3;
}
.login-box-body .form-control:focus{
  border-color: var(--ocd-gold);
  box-shadow: 0 0 0 3px rgba(176,141,69,0.15);
}
.login-page h2{
  border-bottom-color: var(--ocd-gold) !important;
}
.login-box-body .btn-primary{
  width: 100%;
  border-radius: 4px;
  font-weight: 600;
  letter-spacing: .02em;
}

/* ---------- User panel / notifications ---------- */
.user-panel > .info,
.user-panel > .info > a{
  color: #EDEFF3;
}

/* ---------- Misc polish ---------- */
::selection{
  background: var(--ocd-gold);
  color: #fff;
}
.modal-header{
  background: var(--ocd-navy);
  color: #fff;
  border-radius: 5px 5px 0 0;
}
.modal-header .close{
  color: #fff;
  opacity: .8;
}
.label-primary{
  background-color: var(--ocd-navy);
}

/* ==========================================================================
   Larger, easier-to-read text across the whole app (2026-09-23)
   Base size 14px → 16px. Bangla script needs a bit more size to be legible.
   To make everything bigger/smaller later, change --ocd-font-base only.
   ========================================================================== */
:root{
  --ocd-font-base: 16px;
  --ocd-font-small: 14px;
}
html{ font-size: var(--ocd-font-base); }
body{ font-size: var(--ocd-font-base); line-height: 1.55; }

/* Page title + breadcrumb */
.content-header > h1{ font-size: 26px; }
.content-header > h1 > small{ font-size: 16px; }
.content-header > .breadcrumb{ font-size: var(--ocd-font-small); }

/* Top navbar + sidebar menu */
.main-header .logo{ font-size: 22px; }
.navbar-nav > li > a{ font-size: var(--ocd-font-base); }
.sidebar-menu > li > a,
.sidebar-menu .treeview-menu > li > a{ font-size: 15.5px; padding-top: 11px; padding-bottom: 11px; }
.sidebar-menu > li.header{ font-size: 13px; }

/* Boxes, buttons, forms */
.box-title, .box-header .box-title{ font-size: 19px; }
.btn{ font-size: 15px; }
.btn-sm, .btn-group-sm > .btn{ font-size: 14px; }
.btn-xs{ font-size: 13px; }
.form-control, .input-sm, select.input-sm{ font-size: 15.5px; height: auto; min-height: 36px; }
.input-sm, select.input-sm{ min-height: 32px; }
textarea.form-control{ min-height: 60px; }
label, .control-label{ font-size: 15.5px; }
.help-block, .text-muted small{ font-size: var(--ocd-font-small); }
.label, .badge{ font-size: 13px; }

/* Select2 dropdowns */
.select2-container .select2-selection--single{ height: 36px; }
.select2-container--default .select2-selection--single .select2-selection__rendered{ line-height: 34px; font-size: 15.5px; }
.select2-results__option{ font-size: 15.5px; }

/* Modals */
.modal-title{ font-size: 20px; }
.modal-body{ font-size: var(--ocd-font-base); }

/* Tables + DataTables */
.table, .table > tbody > tr > td, .table > thead > tr > th{ font-size: 15.5px; }
.table > tbody > tr > td{ padding: 10px 8px; }
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_paginate,
.dt-buttons .dt-button{ font-size: 15px; }
.dataTables_wrapper .dataTables_filter input{ font-size: 15px; height: 34px; }
.dropdown-menu > li > a{ font-size: 15px; padding: 7px 18px; }

/* Dashboard (user-home.php) — its own styles use small sizes, lift them too */
body .dash-stat-card .stat-label{ font-size: 16px; }
body .dash-stat-card .stat-value{ font-size: 38px; }
body .dash-stat-card .stat-sub{ font-size: 14px; }
body .chart-card h4{ font-size: 19px; }
body .dash-table thead th{ font-size: 15px; }
body .dash-table tbody td{ font-size: 15.5px; }
body .dash-table tbody td .muted{ font-size: 14px; }
body .badge-step, body .badge-side-badi, body .badge-side-bibadi,
body .badge-priority-urgent, body .badge-priority-normal, body .days-over{ font-size: 13px; }
body .insight-card h5{ font-size: 16px; }
body .insight-card p{ font-size: 14.5px; }
body .quick-links a{ font-size: 15.5px; }
body .btn-print-today{ font-size: 15px; }

/* Footer */
.main-footer{ font-size: 15px; }

/* Small screens: keep things from overflowing */
@media (max-width: 767px){
  :root{ --ocd-font-base: 15.5px; }
  .content-header > h1{ font-size: 22px; }
  body .dash-stat-card .stat-value{ font-size: 32px; }
}
