/* CHARME 2.0 / member header and dashboard readability — scoped patch 2026-10-29.
   Authenticated navigation compacted, full set preserved in drawer.
   Visual-only; leaves authentication, submissions, and queries untouched. */
.top.v12-header[data-member-nav="1"]{z-index:90}
.top.v12-header[data-member-nav="1"]>.wrap{
    width:min(1380px,calc(100% - 46px));max-width:1380px;display:flex;
    flex-wrap:nowrap;align-items:center;gap:clamp(10px,1.25vw,20px);
}
.top.v12-header[data-member-nav="1"] .v12-logo{flex:0 0 auto;min-width:172px}
.top.v12-header[data-member-nav="1"] .nav{
    display:flex;min-width:0;flex:1 1 auto;margin:0;
    align-items:center;justify-content:flex-end;gap:clamp(5px,.9vw,15px);
}
.top.v12-header[data-member-nav="1"] .nav>a{
    flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
    width:auto;max-width:none;min-height:42px;
    padding:10px clamp(7px,.65vw,12px);font-size:clamp(12px,.82vw,14px);
    line-height:1.35;white-space:nowrap;word-break:keep-all;
    color:#24473a;font-weight:750;border-radius:11px;text-decoration:none;
}
.top.v12-header[data-member-nav="1"] .nav>a:hover{background:#eff4f0;color:#114633}
.top.v12-header[data-member-nav="1"] .nav>a[aria-current="page"]{
    background:#174c38;color:#fff!important;
}
.top.v12-header[data-member-nav="1"] .nav>a[aria-current="page"]:after{display:none}
.top.v12-header[data-member-nav="1"] .cm20-header-logout{
    margin:0;flex:0 0 auto;display:block;
}
.top.v12-header[data-member-nav="1"] .cm20-header-logout button{
    appearance:none;min-height:43px;white-space:nowrap;border:1px solid #a3bdac;
    border-radius:12px;background:#fff;color:#154633;font-size:13px;font-weight:800;
    padding:10px 13px;line-height:1.3;cursor:pointer;
}
.top.v12-header[data-member-nav="1"] .cm20-header-logout button:hover{background:#edf5ef}
.top.v12-header[data-member-nav="1"] .cm20-header-mobile-mypage{display:none}
.top.v12-header[data-member-nav="1"] .menu-btn{
    display:flex!important;flex:0 0 43px;width:43px;height:43px;
    margin:0;align-items:center;justify-content:center;
    border-radius:12px;background:#f0f5f1;border:1px solid #d8e5dc;
}
.top.v12-header[data-member-nav="1"] .menu-btn:focus-visible,
.top.v12-header[data-member-nav="1"] .cm20-header-logout button:focus-visible,
.top.v12-header[data-member-nav="1"] .nav>a:focus-visible,
.top.v12-header[data-member-nav="1"] .cm20-header-mobile-mypage:focus-visible{
    outline:3px solid #c7a05d;outline-offset:2px;
}
/* Original nav CSS hid links at 1280px. Compact members have a short, dedicated list. */
@media(min-width:1101px){
  body:is(.homepage,.subpage) .top.v12-header[data-member-nav="1"] .nav>a[href="about.php"],
  body:is(.homepage,.subpage) .top.v12-header[data-member-nav="1"] .nav>a[href="instructor-register.php"],
  body:is(.homepage,.subpage) .top.v12-header[data-member-nav="1"] .nav>a[href="learning-studio.php"]{display:inline-flex}
}
@media(max-width:1350px) and (min-width:1101px){
  .top.v12-header[data-member-nav="1"] .nav{gap:2px}
  .top.v12-header[data-member-nav="1"] .nav>a{padding:9px 7px;font-size:12px}
  .top.v12-header[data-member-nav="1"] .v12-logo{min-width:142px}
}
@media(max-width:1100px){
  body:is(.homepage,.subpage) .top.v12-header[data-member-nav="1"] .nav{display:none!important}
  .top.v12-header[data-member-nav="1"]>.wrap{width:calc(100% - 34px);gap:12px}
  .top.v12-header[data-member-nav="1"] .v12-logo{min-width:0}
  .top.v12-header[data-member-nav="1"] .cm20-header-mobile-mypage{
      display:inline-flex;align-items:center;justify-content:center;
      margin-left:auto;padding:9px 15px;min-height:43px;border-radius:11px;
      background:#174c38;color:#fff;font-size:13px;font-weight:800;
      white-space:nowrap;text-decoration:none;
  }
  .top.v12-header[data-member-nav="1"] .cm20-header-logout{display:none}
}
@media(max-width:650px){
  .top.v12-header[data-member-nav="1"]>.wrap{width:calc(100% - 26px);gap:9px}
  .top.v12-header[data-member-nav="1"] .v12-logo .logo-word{font-size:21px}
  .top.v12-header[data-member-nav="1"] .v12-logo .logo-english{font-size:6px}
  .top.v12-header[data-member-nav="1"] .cm20-header-mobile-mypage{
      font-size:12px;padding:8px 11px;min-height:39px;
  }
  .top.v12-header[data-member-nav="1"] .menu-btn{
      width:39px;height:39px;min-width:39px;flex-basis:39px;
  }
}
/* Member dashboard typography, specifically protect foreground on dark gradients. */
body:is(.subpage,.homepage) .cm20-main{color:#173b31}
body:is(.subpage,.homepage) .cm20-main .cm20-account-primary{
    border:1px solid rgba(255,255,255,.14);overflow:hidden;
}
body:is(.subpage,.homepage) .cm20-main .cm20-account-primary>span{
    color:#ffe0a3!important;font-size:13px;font-weight:850;letter-spacing:.11em;
}
body:is(.subpage,.homepage) .cm20-main .cm20-account-primary h2{
    color:#fff!important;opacity:1!important;text-shadow:none!important;
    font-size:clamp(25px,3vw,38px)!important;line-height:1.35;
}
body:is(.subpage,.homepage) .cm20-main .cm20-account-primary p,
body:is(.subpage,.homepage) .cm20-main .cm20-account-primary p :is(span,strong){
    color:#f6faf7!important;font-size:clamp(15px,1.1vw,17px)!important;
    opacity:1!important;line-height:1.85;
}
body:is(.subpage,.homepage) .cm20-main .cm20-account-primary .cm20-account-action{
    color:#1d3429!important;background:#f2dca6;font-weight:850;
}
body:is(.subpage,.homepage) .cm20-main .cm20-account-primary .cm20-account-action-alt{
    color:#fff!important;background:#ffffff18;border-color:#c8ded3;
}
body:is(.subpage,.homepage) .cm20-main .cm20-s10 .cm20-s10-hero{
    background:linear-gradient(120deg,#ecf6f0 0%,#fffaf0 100%)!important;
    border:1px solid #cbded1;border-radius:21px;
    padding:clamp(22px,3.5vw,36px);box-shadow:0 12px 34px rgba(23,63,49,.06);
    color:#183b2e!important;
}
body:is(.subpage,.homepage) .cm20-main .cm20-s10 .cm20-s10-hero>span{
    color:#70521e!important;font-size:12px;font-weight:800;letter-spacing:.11em;
}
body:is(.subpage,.homepage) .cm20-main .cm20-s10 .cm20-s10-hero h2{
    color:#133e30!important;opacity:1!important;
    font-size:clamp(23px,2.6vw,33px)!important;line-height:1.4;
    letter-spacing:-.035em;text-shadow:none!important;
}
body:is(.subpage,.homepage) .cm20-main .cm20-s10 .cm20-s10-hero p{
    color:#365649!important;opacity:1!important;line-height:1.85;font-size:16px!important;
}
body:is(.subpage,.homepage) .cm20-main .cm20-s10 .cm20-s10-hero .cm20-button{
    color:#fff!important;background:#174c38;border:1px solid #174c38;
    font-size:15px!important;font-weight:800;
}
body:is(.subpage,.homepage) .cm20-main .cm20-s10-subnav a{
    font-size:14px;min-height:45px;padding:10px 16px;
}
body:is(.subpage,.homepage) .cm20-main .cm20-card:not(.cm20-account-primary) h2{
    color:#183e32;font-size:clamp(22px,2.3vw,30px);line-height:1.4;
}
body:is(.subpage,.homepage) .cm20-main .cm20-card:not(.cm20-account-primary) p{
    color:#38584a;font-size:clamp(15px,1.07vw,17px);line-height:1.82;
}
body:is(.subpage,.homepage) .cm20-main .cm20-card:not(.cm20-account-primary) strong{color:#183e32}
body:is(.subpage,.homepage) .cm20-main .cm20-card:not(.cm20-account-primary) .cm20-button{
    font-size:15px;min-height:47px;line-height:1.45;
}
@media(max-width:650px){
  body:is(.subpage,.homepage) .cm20-main .cm20-s10 .cm20-s10-hero{padding:22px 18px}
  body:is(.subpage,.homepage) .cm20-main .cm20-account-primary{padding:22px 18px}
  body:is(.subpage,.homepage) .cm20-main .cm20-s10-subnav{gap:7px}
  body:is(.subpage,.homepage) .cm20-main .cm20-s10-subnav a{flex:1 1 auto;font-size:13px;padding:10px}
}
