/* V114 Dashboard Alignment + Portal Polish
   Purpose: make admin, portal, partner, mentor and internal dashboards feel compact, aligned and usable before final V115 packaging. */
:root{
  --mkh-v114-sidebar: 226px;
  --mkh-v114-sidebar-admin: 236px;
  --mkh-v114-content-gutter: clamp(16px, 1.85vw, 26px);
  --mkh-v114-card-radius: 20px;
  --mkh-v114-card-pad: clamp(15px, 1.5vw, 22px);
  --mkh-v114-soft-border: rgba(10, 34, 18, .08);
  --mkh-v114-shadow: 0 16px 44px rgba(11, 39, 18, .075);
}

html,body{overflow-x:hidden!important;background:#f6faf6!important;}
body{font-size:14.4px!important;line-height:1.45!important;}

/* App shell: fixed compact rail + real usable content column */
.admin-shell,.portal-shell,.partner-app-shell{width:100%!important;max-width:100%!important;min-height:100vh!important;overflow-x:hidden!important;background:#f6faf6!important;}
.admin-shell>.row,.portal-shell>.row,.partner-app-shell>.row{
  display:grid!important;
  grid-template-columns:var(--mkh-v114-sidebar-admin) minmax(0,1fr)!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  max-width:100%!important;
  min-height:100vh!important;
  margin:0!important;
  align-items:stretch!important;
}
.portal-shell>.row,.partner-app-shell>.row{grid-template-columns:var(--mkh-v114-sidebar) minmax(0,1fr)!important;}

.admin-shell .admin-sidebar,
.portal-shell .portal-sidebar,
.partner-app-shell .portal-sidebar,
.partner-app-shell .partner-sidebar{
  width:var(--mkh-v114-sidebar)!important;
  max-width:var(--mkh-v114-sidebar)!important;
  min-width:var(--mkh-v114-sidebar)!important;
  flex:0 0 var(--mkh-v114-sidebar)!important;
  padding:17px 13px!important;
  position:sticky!important;
  top:0!important;
  height:100vh!important;
  min-height:100vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
  box-shadow:10px 0 34px rgba(0,45,16,.11)!important;
  align-self:start!important;
}
.admin-shell .admin-sidebar{width:var(--mkh-v114-sidebar-admin)!important;max-width:var(--mkh-v114-sidebar-admin)!important;min-width:var(--mkh-v114-sidebar-admin)!important;flex-basis:var(--mkh-v114-sidebar-admin)!important;}

.admin-shell main,.portal-shell main,.partner-app-shell main,
.admin-shell main.col-xl-10,.portal-shell main.col-xl-10,.partner-app-shell main.col-xl-10{
  min-width:0!important;width:100%!important;max-width:100%!important;flex:1 1 auto!important;margin:0!important;padding:0!important;overflow-x:hidden!important;background:linear-gradient(135deg,#f8fbf8,#eef7f0 56%,#fbfdfb)!important;
}

/* Content wrappers should use the available width, not a narrow centered column with blank right side. */
.admin-v105-page,.v104-main,.v106-main,.partner-main,.portal-page-shell,.m89-wrap,
.admin-shell main>.p-4,.portal-shell main>.p-4,.partner-app-shell main>.p-4,
.v110-shell,.v111-shell,.v112-shell,.v113-shell{
  width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box!important;
  padding:18px var(--mkh-v114-content-gutter) 34px!important;position:relative;z-index:1;
}
.dashboard-topbar{width:100%!important;max-width:none!important;margin:0!important;padding:15px var(--mkh-v114-content-gutter) 8px!important;}

/* Compact but premium typography */
.dashboard-topbar h1,.dashboard-title-block h1,.admin-v105-hero h2,.v104-hero h1,.v106-topline h1,.v106-hero h2,
.program-command-hero h1,.v108-program-hero h1,.m89-title{
  font-size:clamp(1.55rem,2.25vw,2.45rem)!important;line-height:1.05!important;letter-spacing:-.045em!important;margin-bottom:.42rem!important;
}
.admin-v105-hero p,.v104-hero p,.v106-topline p,.v106-hero p,.dashboard-title-block .small-muted,.m89-copy{font-size:.92rem!important;line-height:1.55!important;max-width:780px!important;}
.v104-section-title,.admin-v105-panel h3,.v106-card h3,.m89-heading{font-size:clamp(1.05rem,1.45vw,1.35rem)!important;letter-spacing:-.028em!important;line-height:1.15!important;}
.v104-kicker,.v106-kicker,.admin-v105-kicker,.v107-kicker,.side-section-label{font-size:.66rem!important;letter-spacing:.14em!important;}

/* Cards, panels and heroes: less vertical waste, stronger rhythm */
.admin-v105-hero,.v104-hero,.v106-hero,.partner-impact-hero,.dashboard-hero-premium,.program-command-hero,.internal-hero{
  border-radius:24px!important;padding:clamp(18px,2vw,27px)!important;margin-bottom:16px!important;max-width:100%!important;overflow:hidden!important;
}
.admin-v105-panel,.v104-card,.v106-card,.v107-card,.program-command-card,.partner-panel,.dashboard-list-card,.m89-mini,.m89-stat,.premium-metric,.dashboard-quick-card{
  border-radius:var(--mkh-v114-card-radius)!important;padding:var(--mkh-v114-card-pad)!important;box-shadow:var(--mkh-v114-shadow)!important;border:1px solid var(--mkh-v114-soft-border)!important;min-width:0!important;
}
.v104-section,.m89-section{margin-bottom:16px!important;}
.admin-v105-panel-header,.v104-section-head,.v106-card-head,.v107-toolbar,.m89-toolbar{margin-bottom:12px!important;gap:10px!important;align-items:center!important;}

/* Dashboard grids: auto-fit to avoid blank right side and awkward empty columns. */
.admin-v105-stat-grid,.admin-v105-workgrid,.admin-v105-shortcuts,.v104-grid.four,.v104-mini-grid,.v106-strip,.program-command-stats,.m89-mini-grid,.dashboard-quick-grid{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;gap:12px!important;width:100%!important;max-width:100%!important;
}
.v104-grid.three,.v106-grid.three,.v107-grid.three,.partner-dashboard-grid,.program-command-grid{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(235px,1fr))!important;gap:14px!important;width:100%!important;max-width:100%!important;
}
.v104-grid.two,.v106-grid.two,.v106-grid.two-one,.admin-v105-hero-grid,.v104-hero-grid,.partner-programs-layout,.partner-detail-grid{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,.78fr)!important;gap:14px!important;width:100%!important;max-width:100%!important;
}
.v106-grid.two-one{grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr)!important;}
.admin-v105-workgrid{grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr)!important;}

/* Stats should be clickable, compact and readable. */
a.v104-stat,a.v104-mini,a.v106-strip>a,.admin-v105-stat,.v108-click-card,.program-command-stat{
  min-height:96px!important;text-decoration:none!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:5px!important;transition:transform .16s ease, box-shadow .16s ease!important;
}
a.v104-stat:hover,a.v104-mini:hover,a.v106-strip>a:hover,.admin-v105-stat:hover,.v108-click-card:hover,.program-command-stat:hover{transform:translateY(-2px)!important;box-shadow:0 20px 44px rgba(0,55,20,.14)!important;}
.v104-stat strong,.v104-mini strong,.v106-strip strong,.admin-v105-stat strong,.program-command-stat strong{font-size:clamp(1.25rem,1.9vw,1.85rem)!important;line-height:1!important;}
.v104-stat span,.v104-mini span,.v106-strip span,.admin-v105-stat span,.program-command-stat span{font-size:.68rem!important;letter-spacing:.11em!important;text-transform:uppercase!important;font-weight:900!important;}
.v104-stat em,.v104-mini small,.v106-strip em,.admin-v105-stat small,.program-command-stat small{font-size:.78rem!important;line-height:1.35!important;}

/* Sidebar density and group rhythm */
.admin-sidebar .admin-logo,.portal-logo,.partner-sidebar .portal-logo{max-width:88px!important;max-height:43px!important;margin-bottom:10px!important;object-fit:contain!important;}
.admin-sidebar .small,.portal-sidebar .small,.partner-sidebar .small{font-size:.72rem!important;line-height:1.35!important;margin-bottom:10px!important;}
.admin-sidebar .btn,.portal-sidebar .btn,.partner-sidebar .btn{font-size:.72rem!important;padding:.38rem .62rem!important;border-radius:999px!important;}
.admin-sidebar .admin-nav-group{padding-top:9px!important;margin-top:5px!important;border-top:1px solid rgba(255,255,255,.07)!important;}
.admin-sidebar .admin-nav-group:first-child{border-top:0!important;margin-top:0!important;padding-top:0!important;}
.admin-sidebar .text-uppercase,.portal-sidebar .text-uppercase,.partner-sidebar .side-section-label{font-size:.58rem!important;letter-spacing:.14em!important;margin:5px 0 4px!important;color:rgba(255,255,255,.46)!important;}
.admin-sidebar .side-nav,.portal-sidebar .side-nav,.partner-sidebar .side-nav{gap:3px!important;}
.admin-sidebar .side-nav a,.portal-sidebar .side-nav a,.partner-sidebar .side-nav a{
  min-height:29px!important;padding:5px 8px!important;border-radius:10px!important;font-size:.74rem!important;font-weight:760!important;gap:7px!important;line-height:1.08!important;white-space:normal!important;
}
.admin-sidebar .side-dot,.portal-sidebar .side-dot,.partner-sidebar .side-dot{width:6px!important;height:6px!important;border-radius:99px!important;}

/* Lists/tables/forms: cleaner density */
.table-responsive,.data-table-shell{border-radius:16px!important;overflow:auto!important;}
.table{font-size:.84rem!important;min-width:760px;}
.table th,.table td{padding:.62rem .72rem!important;vertical-align:middle!important;}
.table thead th{font-size:.66rem!important;letter-spacing:.09em!important;}
.form-control,.form-select{min-height:39px!important;border-radius:12px!important;font-size:.86rem!important;}
.btn{border-radius:12px!important;font-weight:760!important;}
.btn-sm,.v104-btn.small,.v106-btn.small,.v107-btn.small{font-size:.76rem!important;padding:.42rem .65rem!important;}
.v104-btn,.v106-btn,.v107-btn{font-size:.83rem!important;padding:.55rem .82rem!important;}

/* Reduce overly tall empty states and rows. */
.v104-empty,.v106-empty,.v107-empty,.admin-v105-empty{border-radius:16px!important;padding:14px!important;min-height:auto!important;font-size:.86rem!important;}
.v104-list,.v106-list,.v107-list,.admin-v105-list{gap:8px!important;}
.v104-list-item,.v106-row-card,.v107-list-item,.admin-v105-list-item{padding:10px 11px!important;border-radius:15px!important;gap:10px!important;}
.v104-list-item strong,.v106-row-card strong,.v107-list-item strong,.admin-v105-list-title{font-size:.9rem!important;line-height:1.2!important;}
.v104-list-item small,.v106-row-card span,.v107-list-item small,.admin-v105-list-meta{font-size:.76rem!important;line-height:1.35!important;}

/* Hero/media fit */
.hero-stat-grid,.hero-orbit-card,.hero-impact-panel{max-width:100%!important;}
img{max-width:100%;}
.media-cover,.event-cover,.program-thumb img,.training-card img{object-fit:contain!important;background:#f4f8f4!important;}

/* Keep public pages premium but not oversized. */
.section-title{font-size:clamp(1.75rem,3.2vw,3.1rem)!important;line-height:1.03!important;letter-spacing:-.05em!important;}
.hero-title{font-size:clamp(2.65rem,7.4vw,5.4rem)!important;line-height:.92!important;}
.section-space{padding:clamp(44px,5vw,76px) 0!important;}

/* Laptop fallback */
@media(max-width:1199.98px){
  :root{--mkh-v114-sidebar:214px;--mkh-v114-sidebar-admin:226px;--mkh-v114-content-gutter:18px;}
  .admin-shell>.row,.portal-shell>.row,.partner-app-shell>.row{grid-template-columns:var(--mkh-v114-sidebar-admin) minmax(0,1fr)!important;display:grid!important;}
  .portal-shell>.row,.partner-app-shell>.row{grid-template-columns:var(--mkh-v114-sidebar) minmax(0,1fr)!important;}
  .admin-shell .admin-sidebar,.portal-shell .portal-sidebar,.partner-app-shell .portal-sidebar,.partner-app-shell .partner-sidebar{position:sticky!important;height:100vh!important;min-height:100vh!important;}
  .v104-grid.two,.v106-grid.two,.v106-grid.two-one,.admin-v105-hero-grid,.v104-hero-grid,.admin-v105-workgrid{grid-template-columns:1fr!important;}
}

@media(max-width:991.98px){
  .admin-shell>.row,.portal-shell>.row,.partner-app-shell>.row{display:block!important;}
  .admin-shell .admin-sidebar,.portal-shell .portal-sidebar,.partner-app-shell .portal-sidebar,.partner-app-shell .partner-sidebar{
    position:relative!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:auto!important;border-radius:0 0 22px 22px!important;padding:14px!important;
  }
  .admin-sidebar .side-nav,.portal-sidebar .side-nav,.partner-sidebar .side-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;}
  .admin-sidebar .admin-nav-group{min-width:0!important;}
  .admin-v105-page,.v104-main,.v106-main,.partner-main,.portal-page-shell,.m89-wrap,.dashboard-topbar{padding-left:15px!important;padding-right:15px!important;}
}

@media(max-width:640px){
  body{font-size:14px!important;}
  .admin-sidebar .side-nav,.portal-sidebar .side-nav,.partner-sidebar .side-nav{grid-template-columns:1fr!important;}
  .admin-v105-stat-grid,.v104-grid.four,.v104-mini-grid,.v106-strip,.v104-grid.three,.v106-grid.three,.v107-grid.three,.dashboard-quick-grid{grid-template-columns:1fr!important;}
  .hero-title{font-size:clamp(2.35rem,13vw,3.8rem)!important;}
}
