:root {
  --medical-primary: #087f8c;
  --medical-primary-dark: #075f69;
  --medical-primary-soft: #e9f7f7;
  --medical-navy: #16324f;
  --medical-sky: #eaf3fb;
  --medical-success: #1d9a6c;
  --medical-warning: #d98e18;
  --medical-danger: #d9534f;
  --medical-surface: #ffffff;
  --medical-bg: #f3f7fa;
  --medical-border: #dce7ed;
  --medical-text: #263746;
  --medical-muted: #6b7d8a;
  --medical-radius: 12px;
  --medical-shadow: 0 8px 26px rgba(26, 63, 84, .08);
}

body:not(.login-page) {
  color: var(--medical-text);
  background: var(--medical-bg);
}

.content-wrapper { background: var(--medical-bg); }
.content-wrapper > .content { padding-top: 1rem; }

.main-header.navbar-primary {
  background: linear-gradient(110deg, var(--medical-primary-dark), var(--medical-primary)) !important;
  border: 0;
  box-shadow: 0 3px 14px rgba(7, 69, 78, .18);
}

.main-header .nav-link { border-radius: 8px; transition: background-color .2s, transform .2s; }
.main-header .nav-link:hover { background: rgba(255,255,255,.12); transform: translateY(-1px); }

.main-sidebar.sidebar-dark-primary { background: #132d42; }
.brand-link { border-bottom-color: rgba(255,255,255,.08) !important; }
.brand-link .brand-text { font-weight: 600 !important; letter-spacing: .01em; }
.nav-sidebar .nav-link { margin-bottom: 3px; border-radius: 8px; }
.nav-sidebar .nav-link.active {
  background: var(--medical-primary) !important;
  box-shadow: 0 5px 14px rgba(8,127,140,.28) !important;
}
.nav-treeview > .nav-item > .nav-link.active { color: #fff !important; }

.card {
  border: 1px solid var(--medical-border);
  border-radius: var(--medical-radius);
  box-shadow: var(--medical-shadow);
}
.card-header {
  border-bottom: 1px solid var(--medical-border);
  background: #fbfdfe;
  border-radius: var(--medical-radius) var(--medical-radius) 0 0 !important;
  font-weight: 600;
}
.card-header.bg-blue, .bg-blue {
  background: var(--medical-primary) !important;
  color: #fff;
}

.btn { border-radius: 8px; font-weight: 600; transition: transform .15s, box-shadow .15s; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--medical-primary); border-color: var(--medical-primary); }
.btn-primary:hover, .btn-primary:focus { background: var(--medical-primary-dark); border-color: var(--medical-primary-dark); box-shadow: 0 5px 12px rgba(8,127,140,.2); }
.btn-success { background: var(--medical-success); border-color: var(--medical-success); }
.btn-warning { background: #fff7e7; border-color: #f0c875; color: #76500f; }
.btn-danger { background: var(--medical-danger); border-color: var(--medical-danger); }

.form-control, .custom-select, .select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border-color: #cfdde4;
  border-radius: 8px;
  color: var(--medical-text);
}
.form-control:focus, .custom-select:focus,
.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: var(--medical-primary);
  box-shadow: 0 0 0 .18rem rgba(8,127,140,.12);
}
.form-control[readonly] { background: #f4f7f9; color: #526675; }
.input-group-text { border-color: #cfdde4; background: #eef5f7; color: #385365; font-weight: 600; }

.table thead th { border-top: 0; border-bottom: 2px solid #cfe0e7; background: #eef5f7; color: var(--medical-navy); }
.modal-content { border: 0; border-radius: 14px; box-shadow: 0 20px 55px rgba(20,50,70,.2); }
.main-footer { border-top: 1px solid var(--medical-border); color: var(--medical-muted); }

@media (max-width: 767.98px) {
  .content-wrapper > .content { padding: .75rem .5rem; }
  .card { border-radius: 10px; }
  .btn { min-height: 40px; }
}
