/* Compact member-list controls and an optional analytics panel. */
.ml-panel{overflow:visible}.ml-title-count{font-size:12px;color:var(--muted);margin-left:6px;font-weight:400}
.ml-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 20px;position:relative;border-bottom:1px solid var(--line)}
.ml-scope{display:flex;gap:4px}.ml-scope button{padding:6px 12px;border-radius:18px;font-size:12px;color:var(--muted)}
.ml-scope button.active{background:var(--nav-selected);color:var(--ink);font-weight:600}
#ml-course{max-width:230px;min-width:0;padding:7px 28px 7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font-size:12px;text-overflow:ellipsis}

.ml-back{font-size:11px;color:var(--muted);padding:8px}.ml-context{display:block;padding:4px 8px 10px;color:var(--muted);font-size:10px}

.ml-active-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px 20px;background:var(--wash);border-bottom:1px solid var(--line)}
.ml-chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:7px;font-size:11px;min-height:30px;overflow:hidden;max-width:100%;background:var(--paper)}
.ml-chip>small{color:var(--muted);padding:3px 8px;border-right:1px solid var(--line);white-space:nowrap}.ml-chip>span{padding:3px 8px;overflow-wrap:anywhere}.ml-chip>button{display:flex;align-items:center;justify-content:center;align-self:stretch;width:28px;border-left:1px solid var(--line);flex-shrink:0;color:var(--muted)}.ml-chip .icon{width:13px;height:13px}.ml-chip>button:hover{background:var(--nav-hover)}
.ml-clear{font-size:11px;color:var(--muted);margin-left:auto;padding:5px}
.ml-body{display:grid;grid-template-columns:minmax(0,1fr)}.ml-body.with-stats{grid-template-columns:minmax(0,1fr) 290px}.ml-list{min-width:0}
.ml-stats{padding:20px;border-left:1px solid var(--line);background:var(--wash);min-width:0;align-self:stretch}
.ml-stats-heading{display:flex;align-items:flex-start;justify-content:space-between;font-size:12px;color:var(--muted);gap:10px}.ml-stats-heading strong{font-size:28px;color:var(--ink);font-weight:600}.ml-stats-heading small{display:block;font-size:10px;margin-top:3px}

.ml-chart-caption{font-size:11px;color:var(--muted);margin:0 0 20px}.ml-bars{display:grid;gap:18px}.ml-bar-row{display:grid;grid-template-columns:88px minmax(0,1fr) 24px;align-items:center;gap:8px;font-size:10px}.ml-bar-row>span{color:var(--nav-text)}.ml-bar-row>strong{text-align:right;font-size:11px;font-weight:500}
.ml-bar-track{height:16px;border-radius:3px;background:var(--nav-hover);overflow:hidden}.ml-bar-track i{display:block;height:100%;background:var(--blue);border-radius:3px;min-width:0}
.ml-stat-summary{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;margin-top:24px;font-size:12px}.ml-stat-note,.ml-zero{font-size:10px;line-height:1.8;color:var(--muted);margin:14px 0 0}
.ml-panel .mgr-table{min-width:680px}.ml-panel .mgr-table td{padding:15px 14px}.ml-panel .mgr-footnote{padding-top:14px;border-top:1px solid var(--line)}
.ml-panel button:focus-visible,.ml-panel select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(max-width:1100px){.ml-body.with-stats{grid-template-columns:minmax(0,1fr) 260px}.ml-stats{padding:16px}.ml-bar-row{grid-template-columns:80px minmax(0,1fr) 20px;gap:5px}}
@media(max-width:800px){.ml-toolbar{padding:12px;gap:10px}.ml-toolbar #ml-course{order:3;max-width:none;width:100%}.ml-tools{gap:5px}.ml-scope button{padding:8px;font-size:11px;min-height:44px}.ml-active-filters{padding:12px}.ml-chip{min-height:36px}.ml-chip>button{width:36px}.ml-body.with-stats{grid-template-columns:minmax(0,1fr)}.ml-stats{grid-row:1;border-left:0;border-bottom:1px solid var(--line);padding:20px}.ml-bar-row{grid-template-columns:110px minmax(0,1fr) 28px}.ml-bars{gap:12px}}
@media(max-width:650px){.ml-panel .mgr-table{min-width:0}.ml-panel .mgr-table td{padding:0}.ml-panel .page-heading{padding:14px}.ml-toolbar{gap:6px}.ml-tools{gap:4px}}

/* Independent statistic and plan-slice selectors. */
.ml-stat-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0 18px}
.ml-stat-controls>div{min-width:0}.ml-stat-label{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}
.ml-slice-select{position:relative}
.ml-slice-select>summary{display:flex;align-items:center;gap:6px;min-height:38px;padding:8px;border:1px solid var(--line);border-radius:7px;font-size:12px;background:var(--paper);color:var(--ink);cursor:pointer;list-style:none;justify-content:space-between}
.ml-slice-select>summary>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ml-slice-select>summary::-webkit-details-marker{display:none}.ml-slice-select>summary .icon{width:14px;height:14px;flex-shrink:0}.ml-slice-select[open]>summary,.ml-slice-select>summary:hover{background:var(--nav-hover)}
.ml-slice-options{position:absolute;right:0;top:calc(100% + 6px);width:220px;max-width:calc(100vw - 64px);max-height:320px;overflow:auto;padding:6px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 26px #0003;z-index:25}
.ml-metric-select .ml-slice-options{left:0;right:auto;width:170px}.ml-slice-options .ml-choice>span{overflow-wrap:anywhere}.ml-slice-options .ml-choice .icon{flex-shrink:0}
.ml-slice-select>summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(max-width:800px){.ml-slice-select>summary{min-height:44px}}

/* Filter categories stay visible beside their candidate menu, as in Linear. */
.ml-filter-popover{width:240px;padding:0;overflow:visible;max-height:none;border-radius:12px}
.ml-filter-popover .ml-pop-close{z-index:2;top:11px}
.ml-filter-search{display:flex;align-items:center;gap:8px;margin:0;padding:15px 14px;border-bottom:1px solid var(--line);color:var(--muted)}
.ml-filter-search>.icon{width:16px;height:16px;flex-shrink:0}
.ml-filter-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;padding:0;box-shadow:none}
.ml-filter-search:focus-within{box-shadow:inset 0 -2px var(--blue)}
.ml-filter-categories{padding:8px}.ml-filter-category{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;border-radius:7px;padding:9px 10px;font-size:13px;text-align:left;color:var(--ink)}
.ml-filter-category>.icon{width:18px;height:18px;color:var(--muted);flex-shrink:0}.ml-filter-category>span{flex:1}.ml-filter-category>.icon:last-child{width:12px;height:12px}
.ml-filter-category:hover,.ml-filter-category.active,.ml-filter-option:hover{background:var(--nav-selected)}
.ml-filter-submenu{position:absolute;right:calc(100% + 8px);top:0;width:300px;max-width:calc(100vw - 32px);background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 38px #0003;overflow:hidden}
.ml-filter-subheading{display:flex;align-items:center;gap:4px;padding:7px 12px 0;color:var(--ink)}.ml-filter-subheading strong{font-size:12px;font-weight:500}.ml-filter-subheading .ml-back{font-size:16px;padding:5px;min-width:30px}
.ml-filter-context{font-size:11px;color:var(--muted);margin:4px 16px 0;line-height:1.6}
.ml-filter-submenu .ml-filter-search{padding:12px 16px}.ml-filter-option-list{padding:8px;max-height: min(420px,45dvh);overflow:auto}
.ml-filter-option{width:100%;min-height:42px;display:flex;align-items:center;gap:9px;padding:9px 8px;border-radius:7px;color:var(--ink);font-size:12px;text-align:left}
.ml-filter-option[aria-pressed=true]{background:var(--nav-selected)}.ml-filter-option>.icon{width:18px;height:18px;flex-shrink:0;color:var(--muted)}
.ml-option-check{width:14px;height:14px;flex-shrink:0;border:1px solid var(--muted);border-radius:4px;opacity:0}.ml-filter-option:hover .ml-option-check,.ml-filter-option:focus-visible .ml-option-check,.ml-option-check.checked{opacity:1}.ml-option-check.checked{color:var(--blue);border-color:var(--blue);display:flex;align-items:center;justify-content:center}.ml-option-check .icon{width:12px;height:12px}
.ml-option-label{flex:1;overflow-wrap:anywhere;line-height:1.5}.ml-filter-option>small{font-size:11px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.ml-status-0{--status-color:#6a7be0}.ml-status-1{--status-color:#bb8e22}.ml-status-2{--status-color:#8a909b}.ml-status-3{--status-color:#c97542}.ml-status-4{--status-color:#5a9da6}.ml-status-5{--status-color:#b47749}.ml-status-6{--status-color:#9974c3}
.ml-filter-footer{margin:0;padding:12px 16px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.ml-filter-empty{font-size:12px;color:var(--muted);padding:8px;line-height:1.7}
@media(max-width:800px){.ml-filter-popover{width:310px}.ml-filter-popover.has-submenu .ml-filter-root{display:none}.ml-filter-submenu{position:static;width:100%;max-width:none;border:0;box-shadow:none}.ml-filter-subheading{padding-right:40px}.ml-filter-option,.ml-filter-category{min-height:44px}.ml-filter-search input{font-size:16px}.ml-filter-option-list{max-height:45dvh}.ml-filter-popover .ml-pop-close{top:9px}.ml-option-check{opacity:1}}

/* The category list opens directly; back navigation is only needed on mobile. */
.ml-filter-popover>.ml-pop-close{display:none}
.ml-filter-subheading{padding:14px 16px 0}
.ml-filter-subheading .ml-back{display:none}
@media(max-width:800px){.ml-filter-popover.has-submenu>.ml-pop-close{display:flex}.ml-filter-subheading{padding:7px 40px 0 12px}.ml-filter-subheading .ml-back{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}}

/* Shared identity and tag icons in member rows and filter options. */
.ml-member-identity{display:flex;align-items:center;gap:10px;min-width:150px}
.ml-member-identity>div{min-width:0}.ml-member-identity strong{font-size:12px;font-weight:500}.ml-member-identity small{font-size:12px!important;color:var(--ink)!important;margin-top:4px!important}
.ml-member-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:#dfe9fb;color:#466690;font-size:14px;font-weight:600}
.ml-avatar-1{background:#dbeddf;color:#4b765c}.ml-avatar-2{background:#e9e1f5;color:#806099}.ml-avatar-3{background:#f3e6db;color:#9a6b44}.ml-avatar-4{background:#dcedef;color:#527b85}
.ml-list-status,.ml-list-plan{display:flex;align-items:center;gap:6px;line-height:1.6;font-size:11px}.ml-list-plan{margin-top:6px}.ml-list-plan>.icon{color:var(--muted)}
.ml-list-status>.icon,.ml-list-plan>.icon{width:16px;height:16px;flex-shrink:0}.ml-chip-value{display:inline-flex;align-items:center;gap:5px}
@media(max-width:650px){.ml-member-identity{min-width:0}.ml-member-avatar{width:38px;height:38px}}

/* Entire member rows open the existing detail dialog. */
.ml-member-row{cursor:pointer}.ml-member-row:hover>td{background:var(--nav-hover)}
.ml-member-row:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.ml-member-row:focus-visible>td{background:var(--nav-hover)}
.ml-panel .mgr-table th:last-child,.ml-panel .mgr-table td:last-child{position:static;box-shadow:none}
@media(max-width:650px){.ml-member-row:hover{background:var(--nav-hover)}.ml-panel .mgr-table td:last-child{grid-column:auto;display:block}.ml-panel .mgr-table td:last-child:before{display:block}}

/* Extra criteria appear only for scheduled plan changes. */
.ml-reservation-controls{display:flex;align-items:end;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--wash)}
.ml-reservation-field{display:block;min-width:0;width:220px}.ml-reservation-field>span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.ml-reservation-field .ml-slice-options{width:260px;left:0;right:auto}.ml-reservation-field .ml-slice-select>summary{min-height:36px}
.ml-reservation-arrow{align-self:center;color:var(--muted);margin-top:19px}.ml-plan-arrow{color:var(--muted)}.ml-reservation-detail{padding:0 24px 16px;font-size:12px}.ml-reservation-detail p{margin:0;padding:10px;background:var(--wash);border-radius:6px}.ml-reservation-detail small{display:block;color:var(--muted);margin-top:5px}
@media(max-width:650px){.ml-reservation-controls{padding:12px;gap:8px}.ml-reservation-field{flex:1;width:0}.ml-reservation-field .ml-slice-select>summary{min-height:44px}.ml-reservation-field:last-child .ml-slice-options{left:auto;right:0}.ml-reservation-arrow{font-size:12px}}

/* Status glyphs and bars share the same palette as the member list. */
.ml-status-icon[class]{color:var(--status-color,var(--muted))}
.ml-status-bar .ml-bar-track i{background:var(--status-color)}
.ml-stats .ml-status-bar{grid-template-columns:104px minmax(0,1fr) 20px;gap:6px}
.ml-bar-label{display:flex;align-items:center;gap:5px;line-height:1.5}.ml-bar-label>.icon{width:14px;height:14px;flex-shrink:0}
.ml-choice-label{display:flex;align-items:center;gap:7px;min-width:0}.ml-choice-label>.icon{width:15px;height:15px;flex-shrink:0;color:var(--muted)}
.ml-plan-select>summary>span{flex:1;text-align:left}.ml-plan-select>summary>.icon:first-child{color:var(--muted)}

/* Source follows the existing plan filter and is never a second filter. */
.ml-reservation-source{display:flex;align-items:center;gap:6px;min-height:36px;padding:8px;font-size:12px;color:var(--ink)}
.ml-reservation-source>.icon{width:15px;height:15px;color:var(--muted);flex-shrink:0}.ml-reservation-source>span{overflow-wrap:anywhere}
@media(max-width:650px){.ml-reservation-source{min-height:44px}}

/* Member detail uses the same status renderer and palette as the list. */
.member-detail-status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px}
.member-detail-status>.icon,.member-detail .member-tag>.ml-status-icon{width:16px;height:16px;flex-shrink:0;vertical-align:middle}
.member-detail .member-tag{display:inline-flex;align-items:center;gap:6px}

/* Keep each status paired with its own course or plan. */
.ml-membership+.ml-membership{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.ml-membership{min-height:62px}
.ml-course-membership{min-height:0}.ml-course-membership+.ml-course-membership{margin-top:8px;padding-top:8px}.ml-course-membership .ml-list-plan{margin-top:2px}

/* Independent match modes for each multi-value filter. */
.ml-filter-match{display:flex;gap:4px;margin:4px 10px 10px;padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--wash)}
.ml-filter-match>button{flex:1;min-width:0;min-height:36px;padding:6px 3px;font-size:11px;border-radius:4px;color:var(--muted)}
.ml-filter-match>button small{display:block;font-size:9px;margin-top:2px}.ml-filter-match>button[aria-pressed=true]{background:var(--nav-selected);color:var(--ink);font-weight:600}
.ml-match-badge{font-size:9px;font-weight:500;color:var(--ink);margin-left:3px}
@media(max-width:800px){.ml-filter-match>button{min-height:44px}}

/* Restore the existing four member totals independently of list filters. */
.ml-summary{container-type:inline-size;padding:20px 20px 12px;border-bottom:1px solid var(--line);background:var(--paper)}
.ml-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ml-summary-grid>div{min-width:0;text-align:center;padding:2px 4px}.ml-summary-grid span{font-size:12px;font-weight:600;color:var(--ink);display:block}
.ml-summary-grid strong{display:block;margin-top:8px;font-size:28px;font-weight:600;line-height:1.2;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums;color:var(--ink)}
.ml-summary>p{margin:10px 0 0;font-size:10px;color:var(--muted)}
@media(max-width:650px){.ml-summary{padding:16px 12px 12px}.ml-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.ml-summary-grid strong{font-size:26px}}

@container(max-width:560px){.ml-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}}

/* Member detail tags pair each status with a course or plan on a second line. */
.member-tag-sections .member-tag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:16px 24px;width:100%}
.member-detail .member-tag{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin:0;padding:4px 0;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:14px;line-height:1.6;min-width:0}
.member-tag-row{display:flex;align-items:flex-start;gap:8px;min-width:0}.member-tag-row>.icon{width:18px;height:18px;flex:0 0 18px;margin-top:2px}
.member-tag-name>.icon{color:var(--muted)}.member-tag-row>span{min-width:0;overflow-wrap:anywhere}
.member-tag-sections section>.member-plan-group{display:block}.member-plan-group+.member-plan-group{margin-top:20px}.member-plan-group h4{margin:0 0 10px;font-size:11px;font-weight:500;color:var(--muted)}
