/* MedCore premium shell: one visual language for every operational module. */
:root{
  --mc-sidebar:292px;
  --mc-sidebar-collapsed:76px;
  --mc-header-height:84px;
  --mc-premium-teal:#168a9b;
  --mc-premium-navy:#123f52;
  --mc-premium-gold:#c58b2a;
  --mc-premium-line:#d7e2e6;
  --mc-premium-soft:#f4f8f9;
  --mc-premium-ink:#18313b;
}

body.app-body{
  color:var(--mc-premium-ink);
  background:#eef3f4;
}

.app{
  grid-template-columns:var(--mc-sidebar) minmax(0,1fr);
}

.sidebar{
  width:var(--mc-sidebar);
  padding:12px 11px 10px;
  background:#0d5266;
  border-right:1px solid rgba(255,255,255,.12);
  box-shadow:8px 0 24px rgba(14,46,57,.12);
}

.sidebar .brand{
  min-height:88px;
  margin:0 4px 8px;
  padding:8px 10px;
  border-bottom:1px solid rgba(255,255,255,.14);
}

.sidebar .brand-app-logo{
  width:205px;
  max-width:100%;
  max-height:68px;
  object-fit:contain;
}

.sidebar .nav-groups{
  flex:1;
  min-height:0;
  gap:3px;
  padding:2px 5px 24px 2px;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}

.sidebar .nav-groups::-webkit-scrollbar{width:7px}
.sidebar .nav-groups::-webkit-scrollbar-track{background:rgba(255,255,255,.05)}
.sidebar .nav-groups::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.27);
  border-radius:4px;
}

.sidebar .nav-section,
.sidebar .nav-section-direct{
  overflow:visible;
  border-radius:6px;
}

.sidebar details.nav-section[open]{
  margin-bottom:9px;
  padding-bottom:7px;
  background:rgba(255,255,255,.055);
}

.sidebar .nav-section-title,
.sidebar .nav-section-direct{
  min-height:42px;
  padding:8px 10px;
  gap:9px;
  border-radius:6px;
  font-size:13px;
  line-height:1.25;
  letter-spacing:0;
}

.sidebar .nav-section-title{
  grid-template-columns:24px minmax(0,1fr) 10px;
}

.sidebar .nav-section-direct{
  grid-template-columns:24px minmax(0,1fr);
}

.sidebar .nav-section-label{
  min-width:0;
  overflow:visible;
  white-space:normal!important;
  overflow-wrap:normal;
  word-break:normal;
  text-overflow:clip;
  line-height:1.25!important;
}

.sidebar .nav-section-title::after{
  content:""!important;
  display:block!important;
  width:6px;
  height:6px;
  border-right:1.5px solid rgba(255,255,255,.72);
  border-bottom:1.5px solid rgba(255,255,255,.72);
  transform:rotate(45deg);
  transition:transform .18s ease;
}

.sidebar details.nav-section:not([open])>.nav-section-title::after{
  transform:rotate(-45deg);
}

.sidebar .nav-section-title:hover,
.sidebar .nav-section-direct:hover{
  background:rgba(255,255,255,.09);
}

.sidebar .nav-section-title.active,
.sidebar .nav-section-direct.active{
  color:#fff;
  background:rgba(255,255,255,.13);
  box-shadow:inset 3px 0 0 var(--mc-premium-gold);
}

.sidebar .nav-section-links{
  display:grid;
  gap:2px;
  margin:3px 0 0 15px!important;
  padding:3px 2px 3px 27px!important;
  border-left:1px solid rgba(255,255,255,.2);
}

.sidebar .nav-section-links a{
  min-height:30px;
  padding:6px 8px!important;
  border-radius:5px;
  font-size:12px;
  line-height:1.32;
  letter-spacing:0;
  white-space:normal;
  overflow:visible;
  overflow-wrap:normal;
  word-break:normal;
  text-overflow:clip;
}

.sidebar .nav-section-links a:hover{
  color:#fff;
  background:rgba(255,255,255,.09);
}

.sidebar .nav-section-links a.active{
  color:#17333d;
  background:#fff;
  box-shadow:inset 3px 0 0 var(--mc-premium-gold);
  font-weight:700;
}

.sidebar .sidebar-footer{
  margin:8px 4px 0;
  padding-top:9px;
  border-top:1px solid rgba(255,255,255,.14);
}

.app main{
  min-width:0;
}

.app-header{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto auto;
  align-items:center;
  min-height:var(--mc-header-height);
  margin:0 0 10px;
  padding:11px 14px;
  border:1px solid var(--mc-premium-line);
  border-top:3px solid var(--mc-premium-teal);
  border-radius:6px;
  background:#fff;
  box-shadow:0 6px 18px rgba(28,61,73,.07);
}

.app-header.context-only{
  min-height:var(--mc-header-height);
}

.app-header .header-left{
  min-width:0;
  gap:11px;
}

.app-header .module-eyebrow{
  display:block;
  margin:0 0 3px;
  padding:0;
  color:var(--mc-premium-teal);
  background:transparent;
  border:0;
  border-radius:0;
  font-size:10px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.app-header h1{
  margin:0;
  color:var(--mc-premium-navy);
  font-size:22px;
  line-height:1.16;
  letter-spacing:0;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}

.app-header p{
  max-width:720px;
  margin:3px 0 0;
  color:#60757e;
  font-size:12px;
  line-height:1.35;
  letter-spacing:0;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}

.module-header-actions{
  display:flex;
  align-items:center;
  gap:2px;
  padding:3px;
  border:1px solid #dce6e9;
  border-radius:6px;
  background:#f6f9fa;
}

.module-header-actions a{
  min-height:34px;
  padding:7px 9px;
  border-radius:4px!important;
  color:#395761;
  font-size:12px;
  line-height:1.2;
}

.module-header-actions a:hover,
.module-header-actions a.active{
  color:var(--mc-premium-navy);
  background:#fff;
  box-shadow:0 1px 5px rgba(31,65,76,.1);
}

.header-user{
  min-width:0;
  padding:5px 0 5px 12px;
  border-left:1px solid #e0e8eb;
}

.module-subnav{
  margin:0 0 10px;
  padding:4px;
  border:1px solid var(--mc-premium-line);
  border-radius:6px;
  background:#fff;
  box-shadow:none;
}

.module-subnav a{
  border-radius:4px;
  letter-spacing:0;
}

.page-hero,
.cash-command-bar,
.finance-command-bar,
.document-command-bar,
.admin-command-bar,
.campaign-command-bar,
.campaign-detail-head,
.professional-command-bar,
.provider-command-bar,
.quote-module-head,
.quote-history-head{
  min-height:64px;
  margin-bottom:10px;
  padding:12px 15px;
  border:1px solid var(--mc-premium-line);
  border-left:3px solid var(--mc-premium-teal);
  border-radius:6px;
  background:#fff;
  box-shadow:0 3px 12px rgba(28,61,73,.045);
}

.page-hero h1,
.page-hero h2,
.cash-command-bar h1,
.cash-command-bar h2,
.finance-command-bar h1,
.finance-command-bar h2,
.document-command-bar h1,
.document-command-bar h2,
.admin-command-bar h1,
.admin-command-bar h2,
.campaign-command-bar h1,
.campaign-command-bar h2,
.campaign-detail-head h1,
.campaign-detail-head h2,
.professional-command-bar h1,
.professional-command-bar h2,
.provider-command-bar h1,
.provider-command-bar h2,
.quote-module-head h1,
.quote-module-head h2,
.quote-history-head h1,
.quote-history-head h2{
  color:var(--mc-premium-navy);
  letter-spacing:0;
}

.card,
.panel,
.table-wrap,
.metric-card,
.stat-card{
  border-color:var(--mc-premium-line);
  border-radius:6px;
}

.btn,
button,
input,
select,
textarea{
  border-radius:5px;
}

/* Commercial workspace */
.commercial-overview{
  grid-template-columns:minmax(230px,.8fr) minmax(600px,2fr);
  padding:15px;
}

.commercial-overview-icon{
  width:42px;
  height:42px;
  border-radius:6px;
  background:var(--mc-premium-navy);
  font-size:17px;
  font-weight:850;
}

.commercial-overview-metrics{
  grid-template-columns:repeat(5,minmax(0,1fr));
}

.commercial-overview-metrics>a,
.commercial-overview-metrics>div{
  min-height:82px;
  padding:10px 11px;
  border-radius:6px;
  background:#fff;
}

.commercial-overview-metrics>a:hover{
  border-color:var(--mc-premium-teal);
  box-shadow:0 4px 12px rgba(28,61,73,.08);
}

.commercial-flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin:0 0 10px;
  border:1px solid var(--mc-premium-line);
  border-radius:6px;
  background:#fff;
  overflow:hidden;
}

.commercial-flow a{
  position:relative;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:9px;
  min-height:66px;
  padding:10px 12px;
  color:#35515b;
  text-decoration:none;
  border-right:1px solid var(--mc-premium-line);
}

.commercial-flow a:last-child{border-right:0}
.commercial-flow a:hover{background:#f6fafb}
.commercial-flow a.active{background:#edf7f8}
.commercial-flow a.active::after{
  content:"";
  position:absolute;
  inset:auto 10px 0;
  height:3px;
  background:var(--mc-premium-teal);
}

.commercial-flow span{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid #b8cdd3;
  border-radius:50%;
  color:var(--mc-premium-teal);
  font-size:12px;
  font-weight:850;
}

.commercial-flow b{align-self:end;font-size:12px}
.commercial-flow small{align-self:start;color:#6b7f86;font-size:10px}

.commercial-filter-bar{
  display:grid;
  grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(145px,.65fr)) auto;
  align-items:end;
  gap:9px;
  margin:0;
  padding:12px 14px;
  border-bottom:1px solid var(--mc-premium-line);
  background:#f8fafb;
}

.commercial-filter-bar .field{margin:0}
.commercial-filter-bar label{
  display:block;
  margin-bottom:4px;
  color:#526b74;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
}

.commercial-filter-bar input,
.commercial-filter-bar select{width:100%;min-height:38px}

.commercial-filter-actions{
  display:flex;
  align-items:center;
  gap:5px;
  min-height:38px;
}

.commercial-result-context{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:8px 14px;
  color:#526b74;
  background:#eef6f7;
  border-bottom:1px solid var(--mc-premium-line);
  font-size:11px;
}

.commercial-table-card td:last-child{white-space:nowrap}

.commercial-checklist{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:0 0 14px;
}

.commercial-checklist p{
  position:relative;
  margin:0;
  padding:10px 11px 10px 34px;
  border:1px solid #e2e8ea;
  border-radius:6px;
  background:#fafcfc;
  color:#6b7f86;
  font-size:12px;
}

.commercial-checklist p::before{
  content:"";
  position:absolute;
  left:11px;
  top:11px;
  width:12px;
  height:12px;
  border:1px solid #a9bac0;
  border-radius:50%;
}

.commercial-checklist p.done{
  color:#276756;
  border-color:#c7e2d8;
  background:#f2f9f6;
}

.commercial-checklist p.done::before{
  content:"✓";
  display:grid;
  place-items:center;
  color:#fff;
  background:#27856d;
  border-color:#27856d;
  font-size:9px;
}

.gc-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0 0 14px;
}

.gc-actions a{
  display:block;
  min-height:70px;
  padding:11px 12px;
  color:var(--mc-premium-ink);
  text-decoration:none;
  border:1px solid var(--mc-premium-line);
  border-radius:6px;
  background:#fff;
}

.gc-actions a:hover{
  border-color:var(--mc-premium-teal);
  background:#f6fafb;
}

.gc-actions b,
.gc-actions span{display:block}
.gc-actions b{font-size:12px}
.gc-actions span{margin-top:4px;color:#6b7f86;font-size:10px;line-height:1.35}

body.content-repeats-title .content>.page-hero:first-child:not(:has(.page-actions,.actions)){
  display:none;
}

body.content-repeats-title .content>.page-hero:first-child:has(.page-actions,.actions)>div:first-child{
  display:none;
}

body.content-repeats-title .content>.page-hero:first-child:has(.page-actions,.actions){
  justify-content:flex-end;
  min-height:auto;
  padding:7px 9px;
  border-left-width:1px;
}

/* Harmonize self-contained clinical and documentary screens with the master shell. */
.hc-card,
.cv-card,
.dg-card,
.hc-attention,
.hc-kpi,
.hc-mini,
.cv-box,
.cv-empty,
.dg-kpi,
.dg-logo,
.dg-note,
.dg-table-wrap{
  border-radius:6px!important;
  border-color:var(--mc-premium-line)!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(28,61,73,.05)!important;
}

.hc-hero,
.cv-hero,
.dg-hero{
  padding:14px 16px!important;
  border:1px solid var(--mc-premium-line)!important;
  border-left:4px solid var(--mc-premium-teal)!important;
  border-radius:6px!important;
  color:var(--mc-premium-ink)!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(28,61,73,.05)!important;
}

.hc-hero::after,
.cv-hero::after{display:none!important}

.hc-hero h2,
.cv-hero h2,
.dg-hero h1{
  margin:0 0 4px!important;
  color:var(--mc-premium-navy)!important;
  font-size:20px!important;
  letter-spacing:0!important;
}

.hc-hero p,
.cv-hero p,
.dg-hero p{color:#60757e!important}

.hc-btn,
.cv-btn,
.dg-btn,
.hc-input,
.cv-form input,
.cv-form textarea,
.dg-field input,
.dg-field select,
.dg-table select{
  border-radius:5px!important;
  letter-spacing:0!important;
}

.hc-btn.primary,
.cv-btn.primary,
.dg-btn.primary{
  border-color:var(--mc-premium-teal)!important;
  color:#fff!important;
  background:var(--mc-premium-teal)!important;
}

.hc-tabs a{
  border-radius:5px!important;
  letter-spacing:0!important;
}

.hc-tabs a.active{
  border-color:var(--mc-premium-navy)!important;
  background:var(--mc-premium-navy)!important;
}

.hc-table,
.cv-table{border-collapse:collapse!important;border-spacing:0!important}
.hc-table th,
.hc-table td,
.cv-table th,
.cv-table td{border-radius:0!important}

@media(max-width:1280px) and (min-width:1051px){
  :root{--mc-sidebar:276px}
  .sidebar .brand-app-logo{width:192px}
  .app-header{grid-template-columns:minmax(230px,1fr) auto auto}
  .commercial-overview{grid-template-columns:1fr}
  .commercial-filter-bar{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(135px,.6fr));}
  .commercial-filter-actions{grid-column:1/-1;justify-content:flex-end}
}

@media(max-width:1180px) and (min-width:1051px){
  .app-header{grid-template-columns:minmax(0,1fr) auto}
  .module-header-actions{display:none}
}

@media(max-width:1050px){
  :root{--mc-sidebar:310px}
  .app{grid-template-columns:1fr}
  .sidebar{width:min(var(--mc-sidebar),88vw)}
  .app-header{
    grid-template-columns:minmax(0,1fr) auto;
    min-height:76px;
  }
  .module-header-actions{display:none}
  .commercial-overview{grid-template-columns:1fr}
  .commercial-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gc-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .commercial-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .commercial-flow a:nth-child(2){border-right:0}
  .commercial-flow a:nth-child(-n+2){border-bottom:1px solid var(--mc-premium-line)}
  .commercial-filter-bar{grid-template-columns:1fr 1fr}
  .commercial-filter-actions{grid-column:1/-1}
}

@media(max-width:720px){
  .app-header{
    grid-template-columns:minmax(0,1fr);
    min-height:70px;
    padding:9px 10px;
  }
  .app-header h1{font-size:19px}
  .app-header p{font-size:11px}
  .header-user{display:none}
  .module-subnav{
    display:flex!important;
    max-width:100%;
    gap:2px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:thin;
  }
  .module-subnav a{
    flex:0 0 auto;
    width:auto!important;
    min-width:max-content;
    white-space:nowrap;
  }
  .page-hero,
  .cash-command-bar,
  .finance-command-bar,
  .document-command-bar,
  .admin-command-bar,
  .campaign-command-bar,
  .professional-command-bar,
  .provider-command-bar{
    padding:10px 11px;
  }
  .commercial-overview-metrics,
  .commercial-flow,
  .commercial-filter-bar,
  .commercial-checklist,
  .gc-actions{grid-template-columns:1fr}
  .commercial-overview{
    display:grid;
    padding:12px;
  }
  .commercial-flow a{
    min-height:58px;
    border-right:0;
    border-bottom:1px solid var(--mc-premium-line);
  }
  .commercial-flow a:last-child{border-bottom:0}
  .commercial-filter-actions{grid-column:auto}
  .commercial-result-context{display:block}
  .commercial-result-context span{display:block;margin-top:2px}
}
