/* Shared small-screen layout for the public site and the member workspace. */
.workspace-menu,.workspace-nav-backdrop{display:none}
.nav-group{border-bottom:1px solid #ffffff15}
.nav-group summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:11px 12px;color:#e5f2f1;font-size:13px;font-weight:700;cursor:pointer;list-style:none}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary::after{content:'+';font-size:18px;font-weight:400;color:#9fc4c7}
.nav-group[open] summary{color:#fff}
.nav-group[open] summary::after{content:'−'}
.nav-group summary:hover,.nav-group summary:focus-visible{background:#285462}
.nav-group-links{padding:0 0 8px}
.nav-group-links a{display:block;padding:10px 12px 10px 22px;color:#bbd2d5;font-size:12px;line-height:1.45}
.nav-group-links a:hover,.nav-group-links a:focus-visible{background:#285462;color:#fff}
.nav-group-links a[aria-current="page"]{background:#2b6370;color:#fff;font-weight:700;border-left:3px solid #a8dfd5;padding-left:19px}
.admin-nav>form{margin-top:auto;padding-top:12px}
.mail-history-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 18px}
.mail-history-filters label{display:grid;gap:6px;color:#476974;font-size:12px;font-weight:700}
.mail-history-filters select{min-width:145px;min-height:42px;border:1px solid #cadbdd;background:#fff;color:#1b3640;padding:8px 12px;font:inherit}
.mail-history-pages{display:flex;gap:9px;margin:16px 0 32px}
.mail-error{display:block;max-width:220px;overflow:hidden;text-overflow:ellipsis;color:#a04e38;font-size:11px}

@media (max-width:700px){
  html{scroll-padding-top:110px}
  .top{position:sticky;top:0;z-index:50}
  .top .wrap{height:64px;gap:12px}
  .brand{min-width:0;gap:10px}
  .brand-mark{width:36px;height:36px;flex:none;font-size:15px}
  .brand strong{display:block;font-size:12px;line-height:1.35}
  .brand small{font-size:7px;letter-spacing:.08em}
  .mobile-menu{flex:none;min-height:38px;min-width:46px}
  .nav{top:64px;left:0;right:0;max-height:calc(100dvh - 64px);overflow-y:auto;padding:12px 20px 20px;gap:0;border-top:1px solid #e3eded}
  .nav.open a,.nav.open a:not(.portal),.nav.open a:nth-child(n+2):nth-child(-n+4){display:block;margin:0;padding:13px 8px;border-bottom:1px solid #edf2f2;color:#173c48;font-size:14px}
  .nav.open .portal{margin-top:10px;padding:13px 15px;color:#fff;text-align:center;border:0}
  .page{padding:36px 0 60px}
  .page h1{font-size:31px;line-height:1.25}
  .page h2{line-height:1.35}
  .lede{line-height:1.75}
  .info-panel,.content-card{padding:20px 17px}
  .form-card{padding:20px 17px;gap:15px}
  .form-card input,.form-card select,.form-card textarea,.content-card input,.content-card select,.content-card textarea{font-size:16px;min-height:44px}
  .submit,.small-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center}
  .document-row{grid-template-columns:26px minmax(0,1fr);padding:17px 4px}
  .document-row strong{line-height:1.55;overflow-wrap:anywhere}
  .document-row>div{flex-wrap:wrap;gap:12px 18px}
  .document-row a{font-size:12px}

  .workspace-shell{display:block}
  .workspace-menu{display:flex;align-items:center;gap:10px;position:sticky;top:64px;z-index:41;width:100%;min-height:49px;border:0;border-bottom:1px solid #315564;background:#153440;color:#fff;padding:8px 16px;text-align:left;font-size:13px;font-weight:700;box-shadow:0 4px 12px #15344020}
  .workspace-current{margin-left:auto;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a9d3d2;font-weight:500}
  .workspace-menu-icon{font-size:17px;line-height:1}
  .workspace-shell.nav-open .workspace-nav-backdrop{display:block;position:fixed;inset:113px 0 0;z-index:39;background:#08232a75}
  .workspace-shell .admin-nav{display:none}
  .workspace-shell.nav-open .admin-nav{display:flex;position:fixed;top:113px;left:0;right:0;z-index:40;height:auto;max-height:calc(100dvh - 113px);overflow-x:hidden;overflow-y:auto;flex-direction:column;padding:12px 16px 20px;box-shadow:0 15px 25px #08232a30}
  .workspace-shell .admin-nav>a,.workspace-shell .admin-nav button{width:100%;white-space:normal;min-height:43px;padding:12px 14px;font-size:13px}
  .workspace-shell .nav-group summary{min-height:48px;padding:12px 14px;font-size:14px}
  .workspace-shell .nav-group-links a{min-height:43px;padding:12px 14px 12px 28px;font-size:13px}
  .workspace-shell .nav-group-links a[aria-current="page"]{padding-left:25px}
  .workspace-main{min-height:72vh}
  .admin-main{padding:22px 16px 56px}
  .admin-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:20px}
  .admin-heading h1,.workspace-page h1{font-size:26px;line-height:1.3}
  .admin-heading .admin-actions,.admin-heading>form{width:100%;flex-wrap:wrap}
  .admin-actions .small-button{max-width:100%;white-space:normal;text-align:center}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .stat-grid>div{padding:16px}
  .stat-grid strong{font-size:25px}
  .admin-card{min-width:0}
  .table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .table-wrap table{width:max-content;min-width:100%}
  .table-wrap th,.table-wrap td{padding:12px 14px}
  .roster-filters{display:flex;gap:7px;overflow-x:auto;padding:3px 0 12px;scrollbar-width:thin}
  .roster-filters .small-button{flex:none;white-space:nowrap}
  .legacy-batch label{flex:1 1 145px;min-width:0}
  .details{grid-template-columns:1fr}
  .content-card .small-button{margin:3px 4px 3px 0}
  .profile-prompt-backdrop{align-items:center;overflow-y:auto}
  .profile-prompt{max-height:calc(100dvh - 40px);overflow-y:auto}
  .mail-history-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .mail-history-filters label,.mail-history-filters select{min-width:0;width:100%}
  .mail-history-filters button{grid-column:1/-1}

  .overview-hero{min-height:650px}
  .overview-hero-inner{min-height:610px;padding-top:54px;padding-bottom:105px}
  .overview-hero h1{font-size:clamp(47px,12vw,64px);line-height:1.18;margin:28px 0 20px}
  .overview-intro{font-size:14px;line-height:1.8}
  .overview-actions{gap:9px;margin-top:26px}
  .overview-scroll{display:none}
  .overview-history .history-grid,.overview-mission,.overview-practice,.overview-organization,.overview-training{padding-top:70px;padding-bottom:70px}
  .overview-join{padding-top:75px;padding-bottom:80px}
  .training-rail button{min-height:55px}
  .training-panel{min-height:280px;padding-bottom:30px}
}

@media (max-width:420px){
  .overview-actions{display:grid;grid-template-columns:1fr}
  .overview-button{width:100%;min-width:0}
  .overview-hero-foot .wrap{gap:5px;letter-spacing:0}
  .overview-hero-foot .wrap span:last-child{display:none}
  .training-rail button{padding:12px 9px}
  .admin-heading .admin-actions .small-button{flex:1 1 auto}
  .legacy-batch label{flex-basis:100%;width:100%}
}
