/*!
 * Medcare-template v1.0.0
 * Medcare HMS build: light mode only, teal theme; unused template layouts/apps removed.
 * License: MIT (see LICENSE). Third-party plugin licenses: THIRD-PARTY-NOTICES.md
 */

/* ------------------------------------------------------------------
   1. Design tokens
------------------------------------------------------------------- */
:root {
  --mc-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mc-header-h: 56px;
  --mc-sidebar-w: 240px;
  --mc-sidebar-w-min: 64px;
  --mc-sidebar-w-wide: 290px;
  --mc-radius: .5rem;

  --mc-theme: #0d9488;
  --mc-theme-rgb: 13, 148, 136;
  --mc-theme-hover: #0b7d73;
  --mc-theme-color: #fff;

  --mc-body-bg: #eef1f5;
  --mc-body-color: #2b3440;
  --mc-muted: #6b7785;
  --mc-border: #dfe4ea;
  --mc-card-bg: #fff;
  --mc-header-bg: #fff;
  --mc-header-color: #2b3440;
  --mc-header-border: #e3e8ee;

  --mc-sidebar-bg: #1e2a36;
  --mc-sidebar-color: rgba(255, 255, 255, .62);
  --mc-sidebar-hover: #fff;
  --mc-sidebar-sub-bg: rgba(0, 0, 0, .18);
  --mc-sidebar-header: rgba(255, 255, 255, .38);
  --mc-sidebar-divider: rgba(255, 255, 255, .08);

  --mc-panel-head-bg: #25313c;
  --mc-panel-head-color: #fff;

  --mc-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .06);
  --mc-shadow: 0 4px 16px rgba(15, 23, 42, .08);

  --bs-body-font-family: var(--mc-font);
  --bs-body-font-size: .875rem;
  --bs-primary: var(--mc-theme);
  --bs-primary-rgb: var(--mc-theme-rgb);
  --bs-link-color-rgb: var(--mc-theme-rgb);
  --bs-link-hover-color-rgb: var(--mc-theme-rgb);
}

/* ------------------------------------------------------------------
   2. Base
------------------------------------------------------------------- */
html { scroll-behavior: smooth; }
body {
  font-family: var(--mc-font);
  font-size: .875rem;
  background: var(--mc-body-bg);
  color: var(--mc-body-color);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--mc-theme); }
a:hover { color: var(--mc-theme-hover); }
h1, h2, h3, h4, h5, h6 { font-weight: 600; }
.text-muted, .mc-muted { color: var(--mc-muted) !important; }
.fw-500 { font-weight: 500 !important; }
.fw-600 { font-weight: 600 !important; }
.fs-10px { font-size: 10px !important; } .fs-11px { font-size: 11px !important; } .fs-12px { font-size: 12px !important; }
.fs-13px { font-size: 13px !important; } .fs-14px { font-size: 14px !important; } .fs-16px { font-size: 16px !important; }
.fs-18px { font-size: 18px !important; } .fs-20px { font-size: 20px !important; } .fs-24px { font-size: 24px !important; }
.fs-32px { font-size: 32px !important; } .fs-48px { font-size: 48px !important; }
.w-20px { width: 20px; } .w-30px { width: 30px; } .w-40px { width: 40px; } .w-50px { width: 50px; } .w-100px { width: 100px; } .w-150px { width: 150px; } .w-200px { width: 200px; }
.h-5px { height: 5px !important; } .h-8px { height: 8px !important; } .h-200px { height: 200px; } .h-250px { height: 250px; } .h-300px { height: 300px; } .h-350px { height: 350px; } .h-400px { height: 400px; }
.min-w-0 { min-width: 0; }
.cursor-pointer { cursor: pointer; }
.bg-body-mc { background: var(--mc-body-bg) !important; }
.border-mc { border-color: var(--mc-border) !important; }

/* Theme utilities */
.bg-theme { background-color: var(--mc-theme) !important; color: var(--mc-theme-color); }
.text-theme { color: var(--mc-theme) !important; }
.border-theme { border-color: var(--mc-theme) !important; }
.bg-theme-soft { background-color: rgba(var(--mc-theme-rgb), .12) !important; }
.btn-theme {
  --bs-btn-color: #fff; --bs-btn-bg: var(--mc-theme); --bs-btn-border-color: var(--mc-theme);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--mc-theme-hover); --bs-btn-hover-border-color: var(--mc-theme-hover);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--mc-theme-hover); --bs-btn-active-border-color: var(--mc-theme-hover);
  --bs-btn-disabled-bg: var(--mc-theme); --bs-btn-disabled-border-color: var(--mc-theme);
  --bs-btn-focus-shadow-rgb: var(--mc-theme-rgb);
}
.btn-outline-theme {
  --bs-btn-color: var(--mc-theme); --bs-btn-border-color: var(--mc-theme);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--mc-theme); --bs-btn-hover-border-color: var(--mc-theme);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--mc-theme); --bs-btn-active-border-color: var(--mc-theme);
  --bs-btn-focus-shadow-rgb: var(--mc-theme-rgb);
}
.btn-primary { --bs-btn-bg: var(--mc-theme); --bs-btn-border-color: var(--mc-theme); --bs-btn-hover-bg: var(--mc-theme-hover); --bs-btn-hover-border-color: var(--mc-theme-hover); --bs-btn-active-bg: var(--mc-theme-hover); --bs-btn-active-border-color: var(--mc-theme-hover); }
.form-control:focus, .form-select:focus, .form-check-input:focus {
  border-color: rgba(var(--mc-theme-rgb), .6);
  box-shadow: 0 0 0 .2rem rgba(var(--mc-theme-rgb), .18);
}
.form-check-input:checked { background-color: var(--mc-theme); border-color: var(--mc-theme); }
.nav-pills .nav-link.active { background-color: var(--mc-theme); }
.page-link { color: var(--mc-theme); }
.active > .page-link, .page-link.active { background-color: var(--mc-theme); border-color: var(--mc-theme); }
.progress-bar { background-color: var(--mc-theme); }
.progress-bar.bg-success, .progress-bar.bg-danger, .progress-bar.bg-warning, .progress-bar.bg-info, .progress-bar.bg-secondary, .progress-bar.bg-dark { background-color: inherit; }
.dropdown-item.active, .dropdown-item:active { background-color: var(--mc-theme); }
.btn-icon { width: 2.25rem; height: 2.25rem; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.btn-icon.btn-sm { width: 1.75rem; height: 1.75rem; }
.btn-icon.btn-lg { width: 3rem; height: 3rem; }
.card { --bs-card-bg: var(--mc-card-bg); --bs-card-border-color: var(--mc-border); box-shadow: var(--mc-shadow-sm); }
.table { --bs-table-bg: transparent; }
.table > :not(caption) > * > * { border-bottom-color: var(--mc-border); }
.table thead th { font-weight: 600; font-size: .8rem; text-transform: uppercase; letter-spacing: .02em; color: var(--mc-muted); white-space: nowrap; }

/* Soft badges */
.badge-soft-success { background: rgba(22,163,74,.14); color: #15803d; }
.badge-soft-danger  { background: rgba(220,38,38,.14); color: #b91c1c; }
.badge-soft-warning { background: rgba(217,119,6,.16); color: #b45309; }
.badge-soft-info    { background: rgba(8,145,178,.14); color: #0e7490; }
.badge-soft-primary { background: rgba(var(--mc-theme-rgb),.14); color: var(--mc-theme); }
.badge-soft-secondary { background: rgba(100,116,139,.16); color: #475569; }

@keyframes mc-spin { to { transform: rotate(360deg); } }

/* ------------------------------------------------------------------
   4. App shell
------------------------------------------------------------------- */
.mc-app { min-height: 100vh; }

/* Header */
.mc-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1030;
  height: var(--mc-header-h);
  display: flex; align-items: center;
  background: var(--mc-header-bg); color: var(--mc-header-color);
  border-bottom: 1px solid var(--mc-header-border);
  box-shadow: var(--mc-shadow-sm);
}
.mc-brand {
  width: var(--mc-sidebar-w); height: 100%;
  display: flex; align-items: center; gap: .6rem;
  padding: 0 1.25rem;
  color: inherit; text-decoration: none;
  font-weight: 700; font-size: 1.05rem; letter-spacing: -.01em;
  flex-shrink: 0;
}
.mc-brand:hover { color: inherit; }
.mc-brand-logo {
  width: 32px; height: 32px; border-radius: 8px;
  background: var(--mc-theme); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.mc-brand-logo svg { width: 18px; height: 18px; }
.mc-brand b { color: var(--mc-theme); font-weight: 700; }
.mc-header-toggler {
  background: none; border: 0; color: inherit;
  width: 40px; height: 40px; border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem;
}
.mc-header-toggler:hover { background: rgba(var(--mc-theme-rgb), .1); color: var(--mc-theme); }

.mc-header-nav { margin-left: auto; display: flex; align-items: center; gap: .25rem; padding-right: .75rem; }
.mc-header-nav .mc-nav-link {
  position: relative; color: inherit; text-decoration: none;
  height: 40px; min-width: 40px; padding: 0 .5rem; border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
}
.mc-header-nav .mc-nav-link:hover { background: rgba(var(--mc-theme-rgb), .1); color: var(--mc-theme); }
.mc-header-nav .mc-nav-link > .bi { font-size: 1.15rem; }

/* Sidebar */
.mc-sidebar {
  position: fixed; top: var(--mc-header-h); bottom: 0; left: 0; z-index: 1020;
  width: var(--mc-sidebar-w);
  background: var(--mc-sidebar-bg);
  display: flex; flex-direction: column;
  transition: width .2s ease, transform .25s ease;
}
.mc-sidebar-scroll { flex: 1; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent; }
.mc-sidebar-scroll::-webkit-scrollbar { width: 6px; }
.mc-sidebar-scroll::-webkit-scrollbar-thumb { background: rgba(255,255,255,.18); border-radius: 3px; }
.mc-sidebar-profile {
  display: block; padding: 1.1rem 1.25rem; color: #fff; text-decoration: none;
  background: linear-gradient(135deg, rgba(var(--mc-theme-rgb), .55), rgba(var(--mc-theme-rgb), .15));
}
.mc-sidebar-profile:hover { color: #fff; }
.mc-sidebar-profile .mc-avatar { border: 2px solid rgba(255,255,255,.35); }
.mc-sidebar-profile-name { font-weight: 600; margin-top: .6rem; display: flex; align-items: center; justify-content: space-between; }
.mc-sidebar-profile-role { font-size: .75rem; opacity: .75; }
.mc-sidebar-search { padding: .75rem 1rem .25rem; }
.mc-sidebar-search .form-control { background: rgba(255,255,255,.07); border-color: transparent; color: #fff; }
.mc-sidebar-search .form-control::placeholder { color: rgba(255,255,255,.4); }

.mc-menu { list-style: none; margin: 0; padding: .5rem 0 1rem; }
.mc-menu-header {
  padding: 1rem 1.25rem .4rem; font-size: .68rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .08em; color: var(--mc-sidebar-header);
  white-space: nowrap;
}
.mc-menu-item { position: relative; }
.mc-menu-link {
  display: flex; align-items: center; gap: .75rem;
  padding: .55rem 1.25rem; color: var(--mc-sidebar-color); text-decoration: none;
  white-space: nowrap; line-height: 1.35;
  transition: color .15s ease, background .15s ease;
}
.mc-menu-link:hover, .mc-menu-item.mc-expand > .mc-menu-link { color: var(--mc-sidebar-hover); }
.mc-menu-icon {
  width: 30px; height: 30px; flex-shrink: 0; border-radius: 7px;
  display: inline-flex; align-items: center; justify-content: center; font-size: 1.02rem;
  background: rgba(255,255,255,.05);
}
.mc-menu-item.mc-active > .mc-menu-link { color: #fff; }
.mc-menu > .mc-menu-item.mc-active > .mc-menu-link { background: rgba(var(--mc-theme-rgb), .16); box-shadow: inset 3px 0 0 var(--mc-theme); }
.mc-menu > .mc-menu-item.mc-active > .mc-menu-link .mc-menu-icon { background: var(--mc-theme); color: #fff; }
.mc-menu-text { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.mc-menu-caret { font-size: .7rem; opacity: .6; transition: transform .2s ease; }
.mc-menu-item.mc-expand > .mc-menu-link .mc-menu-caret { transform: rotate(90deg); }

.mc-menu-submenu { list-style: none; margin: 0; padding: .35rem 0; background: var(--mc-sidebar-sub-bg); display: none; }
.mc-menu-item.mc-expand > .mc-menu-submenu { display: block; }
.mc-menu-submenu .mc-menu-link { padding: .42rem 1.25rem .42rem 3.6rem; font-size: .83rem; position: relative; }
.mc-menu-submenu .mc-menu-link::before {
  content: ""; position: absolute; left: 2.35rem; top: 50%; width: 6px; height: 6px; margin-top: -3px;
  border-radius: 50%; border: 1.5px solid currentColor; opacity: .55;
}
.mc-menu-submenu .mc-menu-item.mc-active > .mc-menu-link::before { background: var(--mc-theme); border-color: var(--mc-theme); opacity: 1; }
.mc-menu-submenu .mc-menu-submenu .mc-menu-link { padding-left: 4.4rem; }
.mc-menu-submenu .mc-menu-submenu .mc-menu-link::before { left: 3.2rem; }
.mc-sidebar-minify {
  border: 0; border-top: 1px solid var(--mc-sidebar-divider);
  background: transparent; color: var(--mc-sidebar-color);
  padding: .65rem 1.25rem; text-align: left; display: flex; align-items: center; gap: .75rem;
}
.mc-sidebar-minify:hover { color: #fff; }
.mc-sidebar-minify .bi { transition: transform .2s ease; font-size: 1.1rem; width: 30px; text-align: center; }
.mc-sidebar-backdrop { display: none; }

/* Content */
.mc-content {
  margin-left: var(--mc-sidebar-w);
  padding: calc(var(--mc-header-h) + 1.5rem) 1.875rem 1.5rem;
  min-height: 100vh;
  transition: margin .2s ease;
}
.mc-footer {
  margin-left: var(--mc-sidebar-w);
  padding: 1rem 1.875rem; color: var(--mc-muted); font-size: .8rem;
  border-top: 1px solid var(--mc-border); background: var(--mc-card-bg);
  display: flex; flex-wrap: wrap; gap: .5rem; justify-content: space-between;
  transition: margin .2s ease;
}

/* Minified sidebar */
.mc-sidebar-minified .mc-sidebar { width: var(--mc-sidebar-w-min); }
.mc-sidebar-minified .mc-content, .mc-sidebar-minified .mc-footer { margin-left: var(--mc-sidebar-w-min); }
.mc-sidebar-minified .mc-sidebar-scroll { overflow: visible; }
.mc-sidebar-minified .mc-menu > .mc-menu-item > .mc-menu-link .mc-menu-text, .mc-sidebar-minified .mc-menu-caret, .mc-sidebar-minified .mc-menu-header, .mc-sidebar-minified .mc-sidebar-profile, .mc-sidebar-minified .mc-sidebar-search, .mc-sidebar-minified .mc-sidebar-minify span { display: none; }
.mc-sidebar-minified .mc-menu-link { padding: .55rem 17px; }
.mc-sidebar-minified .mc-sidebar-minify { padding-left: 17px; }
.mc-sidebar-minified .mc-sidebar-minify .bi { transform: rotate(180deg); }
.mc-sidebar-minified .mc-menu > .mc-menu-item > .mc-menu-submenu { display: none !important; }
/* Hovering an icon flies out its name, with the submenu (if any) right under it. */
.mc-sidebar-minified .mc-menu > .mc-menu-item:hover > .mc-menu-link .mc-menu-text {
  display: flex; align-items: center; position: absolute; left: 100%; top: 0; bottom: 0; min-width: 220px; padding: 0 1.25rem 0 1rem;
  background: var(--mc-sidebar-bg); color: #fff; font-weight: 600; border-radius: 0 var(--mc-radius) var(--mc-radius) 0; box-shadow: var(--mc-shadow); z-index: 2;
}
.mc-sidebar-minified .mc-menu > .mc-menu-item:hover:has(> .mc-menu-submenu) > .mc-menu-link .mc-menu-text { border-radius: 0 var(--mc-radius) 0 0; box-shadow: none; }
.mc-sidebar-minified .mc-menu > .mc-menu-item:hover > .mc-menu-submenu {
  display: block !important; position: absolute; left: 100%; top: 100%; min-width: 220px;
  background: var(--mc-sidebar-bg); border-radius: 0 0 var(--mc-radius) 0; box-shadow: var(--mc-shadow); z-index: 2;
}
.mc-sidebar-minified .mc-menu > .mc-menu-item > .mc-menu-submenu .mc-menu-link { padding-left: 2.5rem; }
.mc-sidebar-minified .mc-menu > .mc-menu-item > .mc-menu-submenu .mc-menu-link::before { left: 1.3rem; }
.mc-sidebar-minified .mc-brand { width: var(--mc-sidebar-w-min); padding: 0 16px; }
.mc-sidebar-minified .mc-brand-text { display: none; }

/* Hover-expand sidebar */

/* Responsive shell */
@media (max-width: 991.98px) {
  .mc-sidebar { transform: translateX(-100%); width: var(--mc-sidebar-w) !important; z-index: 1040; }
  .mc-content, .mc-footer,
  .mc-sidebar-minified .mc-content, .mc-sidebar-minified .mc-footer { margin-left: 0; margin-right: 0; }
  .mc-content { padding-left: 1rem; padding-right: 1rem; }
  .mc-mobile-open .mc-sidebar { transform: none; box-shadow: var(--mc-shadow); }
  .mc-mobile-open .mc-sidebar-backdrop { display: block; position: fixed; inset: var(--mc-header-h) 0 0 0; background: rgba(0,0,0,.4); z-index: 1035; }
  .mc-brand { width: auto; }
  .mc-sidebar-minified .mc-menu-text, .mc-sidebar-minified .mc-menu-caret, .mc-sidebar-minified .mc-menu-header,
  .mc-sidebar-minified .mc-sidebar-profile { display: revert; }
  .mc-sidebar-minified .mc-sidebar-scroll { overflow-y: auto; }
  .mc-sidebar-minified .mc-brand-text { display: inline; }
  
}
@media (max-width: 575.98px) {
  .mc-header-nav .mc-hide-xs { display: none !important; }
}

/* ------------------------------------------------------------------
   5. Panels (cards with toolbar)
------------------------------------------------------------------- */
.mc-panel {
  background: var(--mc-card-bg); border-radius: var(--mc-radius);
  box-shadow: var(--mc-shadow-sm); margin-bottom: 1.5rem; position: relative;
  border: 1px solid var(--mc-border);
}
.mc-panel-heading {
  display: flex; align-items: center; gap: .75rem;
  padding: .7rem 1rem; border-radius: var(--mc-radius) var(--mc-radius) 0 0;
  background: var(--mc-panel-head-bg); color: var(--mc-panel-head-color);
}
.mc-panel-title { font-size: .9rem; font-weight: 600; margin: 0; flex: 1; min-width: 0; display: flex; align-items: center; gap: .5rem; }
.mc-panel-tools { display: flex; gap: .3rem; }

 
 
.mc-panel-body { padding: 1rem; }
.mc-panel-footer { padding: .75rem 1rem; border-top: 1px solid var(--mc-border); }

.mc-panel-heading.bg-light, .mc-panel-light .mc-panel-heading { background: var(--mc-card-bg); color: var(--mc-body-color); border-bottom: 1px solid var(--mc-border); }
.mc-panel-danger .mc-panel-heading { background: #dc2626; }
.mc-panel-warning .mc-panel-heading { background: #d97706; }
.mc-panel-info .mc-panel-heading { background: #0891b2; }
.mc-panel-table .table { margin: 0; }
.mc-panel-table .table > :not(caption) > * > * { padding: .7rem 1rem; }

/* ------------------------------------------------------------------
   6. Widgets
------------------------------------------------------------------- */
.mc-stat {
  position: relative; overflow: hidden; color: #fff;
  border-radius: var(--mc-radius); padding: 1.15rem 1.25rem 0; margin-bottom: 1.5rem;
  box-shadow: var(--mc-shadow-sm);
}
.mc-stat-icon { position: absolute; right: 1rem; top: .9rem; font-size: 3.5rem; line-height: 1; opacity: .18; }
.mc-stat-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 600; opacity: .85; }
.mc-stat-value { font-size: 1.75rem; font-weight: 700; margin: .2rem 0 .35rem; letter-spacing: -.02em; }
.mc-stat-desc { font-size: .78rem; opacity: .85; }
.mc-stat-link {
  display: flex; justify-content: space-between; align-items: center;
  margin: .9rem -1.25rem 0; padding: .55rem 1.25rem; background: rgba(0,0,0,.12);
  color: rgba(255,255,255,.9); text-decoration: none; font-size: .78rem;
}
.mc-stat-link:hover { color: #fff; background: rgba(0,0,0,.2); }
.mc-stat .progress { height: 3px; background: rgba(255,255,255,.25); margin-top: .6rem; }
.mc-stat .progress-bar { background: #fff; }
.mc-grad-teal   { background: linear-gradient(135deg, #0d9488, #14b8a6); }
.mc-grad-blue   { background: linear-gradient(135deg, #1d4ed8, #3b82f6); }
.mc-grad-purple { background: linear-gradient(135deg, #6d28d9, #a855f7); }
.mc-grad-pink   { background: linear-gradient(135deg, #be185d, #ec4899); }
.mc-grad-red    { background: linear-gradient(135deg, #b91c1c, #ef4444); }
.mc-grad-orange { background: linear-gradient(135deg, #c2410c, #f97316); }
.mc-grad-amber  { background: linear-gradient(135deg, #b45309, #f59e0b); }
.mc-grad-green  { background: linear-gradient(135deg, #15803d, #22c55e); }
.mc-grad-cyan   { background: linear-gradient(135deg, #0e7490, #06b6d4); }
.mc-grad-slate  { background: linear-gradient(135deg, #1e293b, #475569); }

.mc-mini-stat { display: flex; align-items: center; gap: 1rem; }
.mc-mini-stat-icon { width: 48px; height: 48px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.35rem; flex-shrink: 0; }
.mc-soft-teal { background: rgba(13,148,136,.13); color: #0d9488; }
.mc-soft-blue { background: rgba(37,99,235,.13); color: #2563eb; }
.mc-soft-purple { background: rgba(124,58,237,.13); color: #7c3aed; }
.mc-soft-orange { background: rgba(234,88,12,.13); color: #ea580c; }
.mc-soft-red { background: rgba(220,38,38,.13); color: #dc2626; }
.mc-soft-green { background: rgba(22,163,74,.13); color: #16a34a; }
.mc-soft-amber { background: rgba(217,119,6,.13); color: #d97706; }
.mc-soft-pink { background: rgba(219,39,119,.13); color: #db2777; }
.mc-soft-cyan { background: rgba(8,145,178,.13); color: #0891b2; }
.mc-soft-slate { background: rgba(71,85,105,.13); color: #475569; }

/* Avatars (initials, no external images) */
.mc-avatar {
  --mc-av: 40px;
  width: var(--mc-av); height: var(--mc-av); border-radius: 50%; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 600; font-size: calc(var(--mc-av) * .38); color: #fff; text-transform: uppercase;
  background: #64748b; user-select: none;
}
.mc-avatar-xs { --mc-av: 24px; } .mc-avatar-sm { --mc-av: 32px; } .mc-avatar-lg { --mc-av: 56px; }
.mc-avatar-xl { --mc-av: 80px; } .mc-avatar-xxl { --mc-av: 120px; }
.mc-avatar-group { display: inline-flex; }
.mc-avatar-group .mc-avatar { border: 2px solid var(--mc-card-bg); margin-left: -10px; }
.mc-avatar-group .mc-avatar:first-child { margin-left: 0; }
.mc-av-0 { background: #0d9488; } .mc-av-1 { background: #2563eb; } .mc-av-2 { background: #7c3aed; } .mc-av-3 { background: #db2777; }
.mc-av-4 { background: #ea580c; } .mc-av-5 { background: #16a34a; } .mc-av-6 { background: #0891b2; } .mc-av-7 { background: #b45309; }
.mc-av-8 { background: #475569; } .mc-av-9 { background: #dc2626; }
.mc-status-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; border: 2px solid var(--mc-card-bg); }
.mc-avatar-wrap { position: relative; display: inline-flex; }
.mc-avatar-wrap .mc-status-dot { position: absolute; right: 0; bottom: 0; }

/* Lists */
.mc-list { list-style: none; margin: 0; padding: 0; }
.mc-list > li { display: flex; gap: .85rem; align-items: center; padding: .75rem 1rem; border-bottom: 1px solid var(--mc-border); }
.mc-list > li:last-child { border-bottom: 0; }
.mc-list-title { font-weight: 600; margin: 0; }
.mc-list-desc { font-size: .8rem; color: var(--mc-muted); margin: 0; }

/* Timeline */
.mc-timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.mc-timeline::before { content: ""; position: absolute; left: 118px; top: 0; bottom: 0; width: 3px; background: var(--mc-border); border-radius: 2px; }
.mc-timeline > li { position: relative; display: flex; gap: 1.5rem; margin-bottom: 1.5rem; }
.mc-timeline-time { width: 90px; text-align: right; flex-shrink: 0; padding-top: .35rem; }
.mc-timeline-time .mc-date { font-size: .75rem; color: var(--mc-muted); display: block; }
.mc-timeline-time .mc-time { font-weight: 600; font-size: 1rem; }
.mc-timeline-dot {
  width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0; margin-left: -1px; margin-top: .35rem; z-index: 1;
  background: var(--mc-card-bg); border: 4px solid var(--mc-theme);
}
.mc-timeline-body { flex: 1; min-width: 0; background: var(--mc-card-bg); border: 1px solid var(--mc-border); border-radius: var(--mc-radius); padding: 1rem 1.25rem; box-shadow: var(--mc-shadow-sm); }
@media (max-width: 575.98px) {
  .mc-timeline::before { left: 10px; }
  .mc-timeline-time { display: none; }
  .mc-timeline > li { gap: .85rem; }
}

/* Todo */

/* ------------------------------------------------------------------
   8. Auth / error / coming soon
------------------------------------------------------------------- */
.mc-auth { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 2rem 1rem; background: var(--mc-body-bg); }
.mc-auth-card { width: 100%; max-width: 420px; background: var(--mc-card-bg); border-radius: 14px; box-shadow: var(--mc-shadow); padding: 2.25rem; }

.mc-auth-brand { display: flex; align-items: center; gap: .6rem; font-weight: 700; font-size: 1.25rem; margin-bottom: 1.5rem; color: var(--mc-body-color); text-decoration: none; }
.mc-auth-bg {
  background-color: #0f2f35;
  background-image: url("../../auth-pattern.svg");
  background-size: cover; background-position: center;
}

.mc-profile-cover { height: 200px; border-radius: var(--mc-radius) var(--mc-radius) 0 0; background: url("../../profile-cover.svg") center / cover no-repeat, var(--mc-theme); }
.mc-profile-head { padding: 0 1.5rem 1.25rem; display: flex; gap: 1.25rem; align-items: flex-end; flex-wrap: wrap; margin-top: -56px; }
.mc-profile-head .mc-avatar { border: 4px solid var(--mc-card-bg); }
/* Scroll-to-top */
.mc-to-top {
  position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 1040;
  width: 42px; height: 42px; border-radius: 50%; border: 0;
  background: var(--mc-theme); color: #fff; box-shadow: var(--mc-shadow);
  opacity: 0; visibility: hidden; transform: translateY(10px); transition: all .2s ease;
}
.mc-to-top.mc-show { opacity: 1; visibility: visible; transform: none; }

/* Plugin skins */
.dataTables_wrapper .dataTables_paginate .paginate_button, div.dt-container .dt-paging .dt-paging-button { border-radius: 6px !important; }
div.dt-container .dt-search input, div.dt-container .dt-length select { border-radius: 6px; }
.fc { --fc-border-color: var(--mc-border); --fc-button-bg-color: var(--mc-theme); --fc-button-border-color: var(--mc-theme); --fc-button-hover-bg-color: var(--mc-theme-hover); --fc-button-hover-border-color: var(--mc-theme-hover); --fc-button-active-bg-color: var(--mc-theme-hover); --fc-button-active-border-color: var(--mc-theme-hover); --fc-today-bg-color: rgba(var(--mc-theme-rgb), .08); --fc-page-bg-color: var(--mc-card-bg); }
.fc .fc-toolbar-title { font-size: 1.15rem; font-weight: 600; }
.mc-chart { position: relative; }

/* Print (invoice etc.) */
@media print {
  .mc-header, .mc-sidebar, .mc-footer, .mc-to-top, .mc-no-print { display: none !important; }
  .mc-content { margin: 0 !important; padding: 0 !important; }
  body { background: #fff; }
}
.mc-panel-table td, .mc-nowrap td { white-space: nowrap; }

.text-purple { color: #7c3aed !important; }
.mc-card-bg { background: var(--mc-card-bg) !important; }
