/* IBS CMS Global Styles */
:root{
  --white:#ffffff;
  --dark-grey:#333333;
  --steel-blue:#4682b4;
  --dark-slate:#2f4f4f;
  --soft-grey:#f4f6f7;
  --border:#708090;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--dark-slate);font-family:Arial,Helvetica,sans-serif;font-size:14px}
a{color:var(--steel-blue);text-decoration:none}
a:hover{color:var(--dark-slate)}
img{max-width:100%;height:auto}
.app-wrapper{min-height:100vh}
.app-main{margin-left:250px;min-height:100vh;background:var(--white)}
.app-content{padding:20px}
.topbar{min-height:60px;background:var(--white);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:10px 20px;position:sticky;top:0;z-index:1020}
.sidebar{width:250px;min-height:100vh;background:var(--dark-slate);color:var(--white);position:fixed;inset:0 auto 0 0;overflow-y:auto;z-index:1030}
.sidebar-brand{padding:18px;font-size:18px;font-weight:700;border-bottom:1px solid var(--border)}
.sidebar-menu{list-style:none;margin:0;padding:12px}
.sidebar-menu a{display:flex;align-items:center;gap:10px;color:var(--white);padding:10px 12px;border-radius:4px;margin-bottom:4px}
.sidebar-menu a:hover,.sidebar-menu a.active{background:var(--steel-blue);color:var(--white)}
.card{border:1px solid var(--border);border-radius:5px;box-shadow:none}
.card-header{background:var(--soft-grey);color:var(--dark-slate);border-bottom:1px solid var(--border);font-weight:600}
.stat-card{border-left:5px solid var(--steel-blue)}
.stat-card .stat-value{font-size:28px;font-weight:700;color:var(--dark-grey)}
.btn-primary,.btn-main{background:var(--steel-blue);border-color:var(--steel-blue);color:var(--white)}
.btn-primary:hover,.btn-main:hover{background:var(--dark-slate);border-color:var(--dark-slate);color:var(--white)}
.btn-secondary{background:var(--dark-grey);border-color:var(--dark-grey)}
.btn-outline-primary{color:var(--steel-blue);border-color:var(--steel-blue)}
.btn-outline-primary:hover{background:var(--steel-blue);border-color:var(--steel-blue)}
.form-control,.form-select{border-color:var(--border);border-radius:4px}
.form-control:focus,.form-select:focus{border-color:var(--steel-blue);box-shadow:0 0 0 .15rem rgba(70,130,180,.20)}
.table{color:var(--dark-slate)}
.table thead th{background:var(--dark-slate);color:var(--white);border-color:var(--border)}
.table-hover tbody tr:hover{background:var(--soft-grey)}
.badge-active{background:var(--steel-blue);color:var(--white)}
.badge-inactive{background:var(--dark-grey);color:var(--white)}
.page-title{font-size:22px;font-weight:700;margin:0 0 18px;color:var(--dark-slate)}
.alert{border-radius:4px}
.required::after{content:" *";color:var(--dark-grey)}
.loader{width:34px;height:34px;border:4px solid var(--soft-grey);border-top-color:var(--steel-blue);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.app-overlay{display:none;position:fixed;inset:0;background:rgba(51,51,51,.35);z-index:1025}
.app-overlay.show{display:block}
@media(max-width:991.98px){
  .sidebar{transform:translateX(-100%);transition:.2s}
  .sidebar.show{transform:translateX(0)}
  .app-main{margin-left:0}
  .app-content{padding:15px}
}
@media print{
  .sidebar,.topbar,.no-print{display:none!important}
  .app-main{margin-left:0}
  body{background:var(--white);color:var(--dark-grey)}
}
