/* MMUST CU Phase 51.5 — Member Portal visual hierarchy, contrast & dashboard polish */
:root{
  --p515-blue:#0099FF;
  --p515-orange:#FF9900;
  --p515-ink:#172033;
  --p515-copy:#344054;
  --p515-muted:#59697a;
  --p515-soft:#f4f7fa;
  --p515-border:#d7e1ea;
  --p515-shadow:0 12px 34px rgba(15,23,42,.065);
}

/* Portal canvas and header */
.member-portal-body{color:var(--p515-ink)!important;background:#f4f7fa!important}
.member-portal-body .v3-header{
  background:rgba(255,255,255,.985)!important;
  border-bottom:2px solid rgba(0,153,255,.82)!important;
  box-shadow:0 8px 24px rgba(15,23,42,.055)!important;
}
.member-portal-body .v3-nav-wrap{min-height:82px!important;gap:22px!important}
.member-portal-body .v3-brand{max-width:610px!important}
.member-portal-body .v3-brand img{width:47px!important;height:47px!important;flex:0 0 47px!important}
.member-portal-body .v3-brand .brand-copy{width:auto!important;min-width:0!important;line-height:1.08!important}
.member-portal-body .v3-brand strong{
  font-size:15px!important;line-height:1.12!important;letter-spacing:-.015em!important;
  color:#142033!important;white-space:normal!important;word-spacing:normal!important
}
.member-portal-body .v3-brand small{
  display:block!important;margin-top:5px!important;font-size:9px!important;font-weight:900!important;
  letter-spacing:.045em!important;word-spacing:normal!important;color:var(--p515-blue)!important
}
.member-portal-body .header-actions{gap:9px!important}
.member-portal-body .portal-header-link{
  min-height:46px!important;border-radius:14px!important;border-color:#d8e2eb!important;
  box-shadow:0 5px 15px rgba(15,23,42,.035)!important;font-size:12px!important
}
.member-portal-body .portal-header-profile{background:#151515!important;border-color:#151515!important;padding-right:15px!important}
.member-portal-body .portal-header-profile:hover{background:#007fd3!important;border-color:#007fd3!important}

/* Sidebar: quieter, sharper, easier to scan */
.member-portal-layout{grid-template-columns:264px minmax(0,1fr)!important;background:#f4f7fa!important}
.member-portal-sidebar{
  top:82px!important;height:calc(100vh - 82px)!important;border-right:1px solid #dce5ed!important;
  box-shadow:8px 0 28px rgba(15,23,42,.035)!important
}
.portal-sidebar-head{min-height:70px!important;padding:11px 14px!important}
.portal-sidebar-profile{
  margin:10px 10px 7px!important;padding:12px!important;border-radius:16px!important;
  background:linear-gradient(135deg,#047fc9,#0099FF)!important;
  box-shadow:0 10px 24px rgba(0,153,255,.17)!important
}
.portal-sidebar-profile strong{font-size:13px!important;color:#fff!important}
.portal-sidebar-profile span,.portal-sidebar-profile small{font-size:10px!important;color:rgba(255,255,255,.90)!important}
.portal-profile-avatar{border-radius:12px!important;box-shadow:0 0 0 2px rgba(255,255,255,.7)!important}
.portal-sidebar-nav{scrollbar-width:thin;scrollbar-color:#cbd7e1 transparent!important;padding:4px 9px 12px!important}
.portal-sidebar-nav::-webkit-scrollbar{width:6px}.portal-sidebar-nav::-webkit-scrollbar-track{background:transparent}.portal-sidebar-nav::-webkit-scrollbar-thumb{background:#cbd7e1;border-radius:999px}
.portal-nav-heading{color:#637384!important;font-weight:900!important;letter-spacing:.10em!important}
.portal-nav-section>a{min-height:47px!important;border-radius:11px!important}
.portal-nav-copy strong{font-size:12px!important;color:#263548!important;font-weight:800!important}
.portal-nav-copy small{color:#667789!important;font-weight:600!important}
.portal-nav-section>a.is-active{
  background:#eef8ff!important;border-color:#c9eaff!important;border-left-color:var(--p515-blue)!important;
  box-shadow:inset 0 0 0 1px rgba(0,153,255,.05)!important
}
.portal-nav-section>a.is-active .portal-nav-copy strong{color:#006fae!important}
.portal-sidebar-footer>a>strong{color:#273548!important}

/* Global portal text contrast */
.member-portal-content{background:#f4f7fa!important;color:var(--p515-ink)!important}
.member-portal-content .member-shell{padding-top:20px!important}
.member-portal-content .member-head p,
.member-portal-content .muted,
.member-portal-content .panel p,
.member-portal-content .panel small,
.member-portal-content .stat-card span,
.member-portal-content .announcement-row p,
.member-portal-content .event-strip p,
.member-portal-content .journey-facts small,
.member-portal-content .dashboard-community-item p{color:var(--p515-muted)!important}
.member-portal-content .panel{border-color:var(--p515-border)!important;box-shadow:var(--p515-shadow)!important}
.member-portal-content .panel-top h2{color:#172033!important;font-weight:850!important}
.member-portal-content .panel-top>a,.member-portal-content .journey-action{color:#0079c8!important;font-weight:850!important}

/* Dashboard greeting: remove repeated Notifications/Profile buttons; header/sidebar already provide them. */
.phase11-dashboard .dashboard-welcome{margin-bottom:14px!important;padding:18px 22px!important}
.phase11-dashboard .dashboard-welcome .head-actions{display:none!important}
.phase11-dashboard .dashboard-welcome h1{color:#172033!important}
.phase11-dashboard .dashboard-welcome p{font-weight:550!important;color:#5c6b7a!important}

/* Dashboard statistics: stronger hierarchy and less pale copy. */
.phase11-dashboard .stat-grid{gap:13px!important;margin-bottom:18px!important}
.phase11-dashboard .stat-card{
  min-height:118px!important;padding:17px 18px!important;border:1px solid var(--p515-border)!important;
  border-top:4px solid var(--p515-blue)!important;background:#fff!important;
  box-shadow:0 8px 24px rgba(15,23,42,.055)!important;transition:transform .18s ease,box-shadow .18s ease!important
}
.phase11-dashboard .stat-card:nth-child(even){border-top-color:var(--p515-orange)!important}
.phase11-dashboard .stat-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,23,42,.085)!important}
.phase11-dashboard .stat-card small{font-size:9px!important;color:#667789!important;font-weight:900!important;letter-spacing:.09em!important}
.phase11-dashboard .stat-card strong{margin:8px 0 6px!important;font-size:29px!important;color:#172033!important;font-weight:900!important}
.phase11-dashboard .stat-card span{font-size:10px!important;line-height:1.45!important;color:#59697a!important;font-weight:650!important}

/* Correct dashboard architecture: main column + useful right rail, no dead grid cell. */
.phase11-dashboard .dashboard-layout{
  grid-template-columns:minmax(0,1.72fr) minmax(300px,.72fr)!important;
  gap:18px!important;align-items:start!important
}
.phase11-dashboard .dashboard-main,.phase11-dashboard .dashboard-side{display:grid!important;gap:16px!important;align-content:start!important;min-width:0!important}
.phase11-dashboard .daily-word-dashboard-wrap{width:100%!important;margin:0!important;min-width:0!important}

/* Daily Word dashboard hero — high contrast and deliberate hierarchy. */
.phase11-dashboard .daily-word-dashboard-card{
  min-height:188px!important;border-radius:22px!important;padding:24px 26px!important;
  grid-template-columns:minmax(0,1fr) 150px!important;gap:24px!important;align-items:center!important;
  box-shadow:0 18px 44px rgba(0,91,146,.17)!important;border:1px solid rgba(255,255,255,.22)!important;
  text-decoration:none!important
}
.phase11-dashboard .daily-word-dashboard-card:after{
  background:linear-gradient(105deg,rgba(4,21,38,.34),rgba(4,21,38,.08) 55%,rgba(4,21,38,.22))!important
}
.phase11-dashboard .daily-word-dashboard-copy>span{
  display:block!important;font:900 10px/1.2 "Montserrat",sans-serif!important;letter-spacing:.10em!important;
  color:rgba(255,255,255,.86)!important
}
.phase11-dashboard .daily-word-dashboard-copy>strong{
  display:block!important;margin:9px 0 12px!important;font-size:clamp(27px,2.6vw,38px)!important;
  line-height:1.04!important;color:#fff!important;font-weight:900!important;letter-spacing:-.025em!important
}
.phase11-dashboard .daily-word-dashboard-copy>p{
  margin:0!important;max-width:720px!important;font-size:13px!important;line-height:1.65!important;
  color:rgba(255,255,255,.92)!important;font-weight:650!important
}
.phase11-dashboard .daily-word-dashboard-copy>em{
  display:inline-flex!important;margin-top:15px!important;color:#fff!important;font-size:10px!important;font-style:normal!important;
  font-weight:900!important;letter-spacing:.02em!important;opacity:.95!important
}
.phase11-dashboard .daily-word-dashboard-card aside{
  min-height:116px!important;padding-left:24px!important;border-left:1px solid rgba(255,255,255,.33)!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;text-align:center!important;color:#fff!important
}
.phase11-dashboard .daily-word-dashboard-card aside b{font-size:34px!important;line-height:1!important;color:#fff!important;font-weight:900!important}
.phase11-dashboard .daily-word-dashboard-card aside small{margin-top:7px!important;color:rgba(255,255,255,.88)!important;font-weight:800!important;font-size:10px!important}
.phase11-dashboard .daily-word-dashboard-card aside em{margin-top:15px!important;color:#fff!important;font-style:normal!important;font-size:10px!important;font-weight:900!important}

/* Event/announcement cards */
.phase11-dashboard .feature-panel{border-top:4px solid var(--p515-blue)!important}
.phase11-dashboard .event-strip{background:#f8fafc!important;border:1px solid #dbe5ed!important;padding:15px!important;gap:15px!important}
.phase11-dashboard .event-strip b{color:#243247!important;font-weight:850!important}
.phase11-dashboard .event-strip p{color:#59697a!important;font-weight:550!important}
.phase11-dashboard .announcement-row h3 a{color:#1f2e42!important;font-weight:850!important}
.phase11-dashboard .announcement-row p{color:#5a6978!important;font-weight:520!important}
.phase11-dashboard .announcement-row small{color:#68798a!important;font-weight:800!important}

/* Right-side rail */
.phase11-dashboard .dashboard-side>.panel{padding:20px!important}
.phase11-dashboard .journey-year strong,.phase11-dashboard .dashboard-community-item h3{color:#172033!important}
.phase11-dashboard .journey-facts b{color:#243247!important}

/* Member Portal Assist: compact circular launcher on desktop so it does not compete with cards. */
@media(min-width:761px){
  .member-portal-body .mmustcu-assist{right:18px!important;bottom:18px!important}
  .member-portal-body .mmustcu-assist-launcher{
    width:50px!important;min-width:50px!important;height:50px!important;min-height:50px!important;padding:5px!important;
    justify-content:center!important;border:2px solid #fff!important;box-shadow:0 0 0 2px #0099FF,0 10px 24px rgba(15,23,42,.18)!important
  }
  .member-portal-body .mmustcu-assist-launcher-label{display:none!important}
  .member-portal-body .mmustcu-assist-launcher-icon{width:36px!important;height:36px!important}
}

/* Tablet/mobile: maintain hierarchy without squeezing. */
@media(max-width:1050px){
  .member-portal-layout{display:block!important}
  .member-portal-sidebar{top:0!important;height:100dvh!important}
  .member-portal-body .v3-nav-wrap{min-height:70px!important}
  .phase11-dashboard .dashboard-layout{grid-template-columns:1fr!important}
  .phase11-dashboard .dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .phase11-dashboard .dashboard-side .community-panel{grid-column:1/-1!important}
}
@media(max-width:760px){
  .member-portal-content .member-shell{padding-top:12px!important}
  .phase11-dashboard .dashboard-welcome{padding:16px!important}
  .phase11-dashboard .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .phase11-dashboard .stat-card{min-height:104px!important;padding:13px!important}
  .phase11-dashboard .stat-card strong{font-size:23px!important}
  .phase11-dashboard .daily-word-dashboard-card{min-height:0!important;padding:20px!important;grid-template-columns:1fr!important;gap:16px!important}
  .phase11-dashboard .daily-word-dashboard-copy>strong{font-size:29px!important}
  .phase11-dashboard .daily-word-dashboard-copy>p{font-size:12px!important}
  .phase11-dashboard .daily-word-dashboard-card aside{
    min-height:0!important;padding:14px 0 0!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.30)!important;
    flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:9px!important;text-align:left!important
  }
  .phase11-dashboard .daily-word-dashboard-card aside b{font-size:22px!important}
  .phase11-dashboard .daily-word-dashboard-card aside small,.phase11-dashboard .daily-word-dashboard-card aside em{margin:0!important}
  .phase11-dashboard .dashboard-side{grid-template-columns:1fr!important}
  .phase11-dashboard .dashboard-side .community-panel{grid-column:auto!important}
}
@media(max-width:430px){
  .phase11-dashboard .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .phase11-dashboard .stat-card small{font-size:8px!important}.phase11-dashboard .stat-card span{font-size:9px!important}
  .phase11-dashboard .daily-word-dashboard-copy>strong{font-size:26px!important}
}
@media(prefers-reduced-motion:reduce){.phase11-dashboard .stat-card{transition:none!important}.phase11-dashboard .stat-card:hover{transform:none!important}}
