/* MEUTFS Beta 35: WoltLab 6.2-native UMR cards; no hardcoded brand colours. */
.meutfsUmr {
    --meutfs-umr-accent: var(--wcfContentLink, currentColor);
    --meutfs-umr-border: var(--wcfContentBorderInner, var(--wcfContentBorder, currentColor));
    --meutfs-umr-surface: var(--wcfContentContainerBackground, var(--wcfContentBackground, transparent));
    --meutfs-umr-strong: var(--wcfContentText, inherit);
    --meutfs-umr-background: var(--wcfContentBackground, transparent);
    max-width: 100%; min-width: 0;
}
.meutfsUmr *, .meutfsUmr *::before, .meutfsUmr *::after { box-sizing: border-box; }
.meutfsUmr .meutfsUmrToolbar {
    display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; margin-block:1rem;
    padding:.7rem; border:1px solid var(--meutfs-umr-border); border-radius:var(--wcfBorderRadiusContainer, .4rem); background:var(--meutfs-umr-surface);
}
.meutfsUmrToolbarSearch { flex:1 1 230px; }
.meutfsUmrToolbarSearch input { box-sizing:border-box; width:100%; max-width:100%; }
.meutfsUmrFilters, .meutfsUmrExpandActions { display:flex; flex-wrap:wrap; align-items:center; gap:.3rem; }
.meutfsUmr .meutfsUmrFilters .button[aria-pressed='true'] { font-weight:700; outline:2px solid var(--meutfs-umr-accent); outline-offset:-2px; }
.meutfsUmrResultCount { width:100%; font-size:.85em; opacity:.78; }
.meutfsUmrElement { margin-block:1.35rem 2rem; min-width:0; }
.meutfsUmrElementHeading { margin-bottom:.8rem; }
.meutfsUmrUnit {
    display:block; min-width:0; max-width:100%; margin:0; overflow:hidden;
    border:1px solid var(--meutfs-umr-border); border-radius:var(--wcfBorderRadiusContainer, .35rem);
    background:var(--meutfs-umr-surface); color:inherit;
}
.meutfsUmrUnit + .meutfsUmrUnit { margin-top:.6rem; }
.meutfsUmrUnitHeader { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.3rem .8rem; align-items:center; padding:.8rem; min-width:0; }
.meutfsUmrUnit--branch > summary { cursor:pointer; list-style:none; padding-right:2.2rem; position:relative; }
.meutfsUmrUnit--branch > summary::-webkit-details-marker { display:none; }
.meutfsUmrUnit--branch > summary::after { content:'▸'; position:absolute; right:1rem; top:1.1rem; transform:rotate(0); transition:transform .15s; opacity:.7; }
.meutfsUmrUnit--branch[open] > summary::after { transform:rotate(90deg); }
.meutfsUmr .meutfsMobileNav { max-width:100%; overflow-x:auto; }
.meutfsUmrUnit--branch > summary:hover { background:var(--meutfs-umr-background); }
.meutfsUmrUnitHeading { display:flex; min-width:0; flex-direction:column; gap:.12rem; overflow-wrap:anywhere; }
.meutfsUmrEyebrow { font-size:.75em; letter-spacing:.065em; font-weight:700; text-transform:uppercase; color:var(--meutfs-umr-accent); }
.meutfsUmrUnitName { font-size:1.07em; line-height:1.3; font-weight:700; color:inherit; }
.meutfsUmrStrength { display:flex; gap:.55rem; align-items:baseline; white-space:nowrap; font-size:.9em; }
.meutfsUmrStrength strong { color:var(--meutfs-umr-accent); }
.meutfsUmrCount { opacity:.78; font-variant-numeric:tabular-nums; }
.meutfsUmrMeter { display:block; grid-column:1/-1; width:100%; height:6px; border-radius:99px; background:var(--meutfs-umr-border); overflow:hidden; }
.meutfsUmrMeterFill { display:block; height:100%; background:var(--meutfs-umr-accent); border-radius:99px; }
.meutfsUmrUnitBody { padding:.2rem 1rem 1.05rem; min-width:0; }
.meutfsUmrUnit--leaf > .meutfsUmrUnitBody { padding-top:.3rem; }
.meutfsUmrUnitBody > .meutfsUmrBillets { border-top:1px solid var(--meutfs-umr-border); padding-top:.38rem; }
.meutfsUmrUnitGrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%, 460px),1fr)); gap:1rem; align-items:start; min-width:0; }
.meutfsUmrFeaturedChildren { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; margin-bottom:1rem; }
.meutfsUmrFeaturedChildren .meutfsUmrUnit { border-top:2px solid var(--meutfs-umr-accent); }
.meutfsUmrUnitBody > .meutfsUmrUnitGrid { padding-top:.6rem; }
/* Cards nested in squads must not become progressively narrower. */
.meutfsUmrUnitGrid .meutfsUmrUnitGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:.6rem; }
.meutfsUmrUnitGrid .meutfsUmrUnitGrid > .meutfsUmrUnit { margin:0; }
.meutfsUmrUnitGrid .meutfsUmrUnitHeader { padding:.9rem; }
.meutfsUmrUnitGrid .meutfsUmrUnitBody { padding:0 .85rem .9rem; }
.meutfsUmrUnitGrid .meutfsUmrUnitName { font-size:1em; }
.meutfsUmrBillets { list-style:none; padding:0; margin:0; min-width:0; }
.meutfsUmrBilletRow { display:grid; grid-template-columns:9px minmax(38px,auto) 29px minmax(0,1fr) auto; gap:.4rem; align-items:center; min-width:0; padding:.38rem .2rem; border-radius:var(--wcfBorderRadius, .2rem); }
.meutfsUmrBilletRow--vacant { opacity:.78; }
.meutfsUmrStatus { display:block; width:8px; height:8px; border-radius:50%; background:var(--meutfs-umr-border); }
.meutfsUmrStatus--filled { background:var(--meutfs-umr-accent); }
.meutfsUmrBilletBadge { display:inline-block; min-width:42px; max-width:112px; padding:.14rem .3rem; border:1px solid var(--meutfs-umr-accent); border-radius:var(--wcfBorderRadius, .25rem); color:var(--meutfs-umr-accent); font-size:.78em; text-align:center; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.meutfsUmrRank { display:flex; align-items:center; justify-content:center; min-width:25px; font-size:.72em; }
.meutfsUmrRank img { display:block; max-width:28px; max-height:28px; object-fit:contain; }
.meutfsUmrBilletPerson { display:flex; flex-direction:column; gap:.1rem; min-width:0; overflow-wrap:anywhere; font-size:.94em; }
.meutfsUmrBilletPerson > strong { font-weight:650; }
.meutfsUmrBilletPerson a { font-weight:650; color:inherit; text-decoration:none; }
.meutfsUmrBilletPerson a:hover { text-decoration:underline; }
.meutfsUmrBilletFullName { font-size:.8em; opacity:.66; line-height:1.2; }
.meutfsUmrVacantText { opacity:.7; font-style:italic; }
.meutfsUmrSecondary { font-size:.7em; border:1px solid var(--meutfs-umr-border); border-radius:.2rem; padding:.15rem .2rem; opacity:.7; white-space:nowrap; }
.meutfsUmrTeam { margin:.6rem 0 .35rem; border-top:1px solid var(--meutfs-umr-border); padding-top:.55rem; }
.meutfsUmrTeamTitle { margin:0 0 .4rem; font-size:.88em; font-weight:700; opacity:.9; }
.meutfsUmrTeamTitle small { float:right; font-weight:400; font-size:.85em; opacity:.7; }
.meutfsUmrNoBillets { margin:.4rem 0; font-size:.84em; opacity:.75; }
.meutfsUmrReserveHeading { padding:.8rem .9rem; display:flex; flex-wrap:wrap; align-items:baseline; gap:.25rem .8rem; }
.meutfsUmrReserveHeading .meutfsUmrEyebrow { width:100%; }
.meutfsUmrReserveHeading .meutfsUmrUnitName { margin:0; }
.meutfsUmrReserveCount { margin-left:auto; opacity:.75; }
.meutfsUmrReserveList { padding:.3rem .9rem 1rem; }
.meutfsUmr [hidden], .meutfsUmr .meutfsUmrUnit[hidden], .meutfsUmr .meutfsUmrTeam[hidden], .meutfsUmr .meutfsUmrBilletRow[hidden] { display:none!important; }

@media(max-width:650px) {
    .meutfsUmrUnitGrid { grid-template-columns:minmax(0,1fr); gap:.8rem; }
    .meutfsUmr .meutfsUmrToolbar { padding:.5rem; }
    .meutfsUmrFilters, .meutfsUmrExpandActions { width:100%; }
    .meutfsUmrFilters .button, .meutfsUmrExpandActions .button { flex:1 1 auto; }
    .meutfsUmrUnitHeader { padding:.7rem; }
    .meutfsUmrBilletRow { gap:.32rem; grid-template-columns:8px minmax(36px,auto) 24px minmax(0,1fr); }
    .meutfsUmrRank img { max-width:24px; max-height:24px; }
    .meutfsUmrSecondary { grid-column:4; width:max-content; max-width:100%; }
}
@media(prefers-reduced-motion:reduce) { .meutfsUmrUnit--branch > summary::after {transition:none;} }

/* Separate elements render on their own registered WoltLab page. */
.meutfsUmr .meutfsUmrElement { width:100%; }
.meutfsUmr .meutfsUmrUnit--hq > .meutfsUmrUnitBody,
.meutfsUmr .meutfsUmrFeaturedChildren > .meutfsUmrUnit { background:var(--meutfs-umr-surface); }
.meutfsUmr .meutfsUmrBilletBadge { background:var(--meutfs-umr-background); }
.meutfsUmr .meutfsUmrBilletRow--vacant .meutfsUmrBilletBadge { color:var(--meutfs-umr-strong); border-color:var(--meutfs-umr-border); }
.meutfsUmr .meutfsUmrBilletPerson a { color:var(--wcfContentLink, inherit); }
.meutfsUmr .meutfsUmrBilletRow:hover { background:var(--meutfs-umr-background); }
@media (max-width:480px) {
  .meutfsUmrUnitBody { padding:.2rem .55rem .7rem; }
  .meutfsUmrBilletFullName { overflow-wrap:anywhere; }
}

/* Beta 34 – four semantic, full-width tiers (Unit > Subunit > Group > Team).
   Cards never sit inside other cards. This leaves their text and rank images legible. */
.meutfsUmrElementDirect {
    background:var(--meutfs-umr-surface);
    border:1px solid var(--meutfs-umr-border);
    border-radius:var(--wcfBorderRadiusContainer, .4rem);
    padding:.8rem 1rem; margin:1rem 0 1.5rem;
}
.meutfsUmrTier { width:100%; min-width:0; margin:1.3rem 0 1.8rem; }
.meutfsUmrTier + .meutfsUmrTier { border-top:1px solid var(--meutfs-umr-border); padding-top:1.1rem; }
.meutfsUmrTierHeader { display:flex; flex-wrap:wrap; align-items:baseline; gap:.6rem; margin-bottom:.7rem; }
.meutfsUmrTierTitle { margin:0; font-size:1.1em; font-weight:700; color:var(--meutfs-umr-strong); }
.meutfsUmrTierCount { color:var(--meutfs-umr-strong); opacity:.7; font-variant-numeric:tabular-nums; }
.meutfsUmrTierGrid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%, 460px),1fr));
    gap:1rem; align-items:start; width:100%; min-width:0;
}
.meutfsUmrTierGrid > .meutfsUmrUnit,
.meutfsUmrTierGrid > .meutfsUmrUnit + .meutfsUmrUnit { margin:0; width:100%; min-width:0; }
.meutfsUmrTierGrid .meutfsUmrUnitHeader { padding:.9rem 1rem; }
.meutfsUmrTierGrid .meutfsUmrUnitBody { padding:.2rem 1rem 1rem; }
.meutfsUmrTierGrid .meutfsUmrUnitName { font-size:1.05em; }
.meutfsUmrParent { display:block; opacity:.7; font-weight:400; font-size:.82em; line-height:1.35; }
.meutfsUmrTier--1 .meutfsUmrUnit { border-top:2px solid var(--meutfs-umr-accent); }
.meutfsUmrTier--2 .meutfsUmrUnit,
.meutfsUmrTier--3 .meutfsUmrUnit,
.meutfsUmrTier--4 .meutfsUmrUnit { border-top:1px solid var(--meutfs-umr-border); }
.meutfsUmrTierGrid > .meutfsUmrUnit > .meutfsUmrUnitHeader,
.meutfsUmrTierGrid > .meutfsUmrUnit > summary { background:transparent; }
@media(max-width:650px) {
    .meutfsUmrTierGrid { grid-template-columns:minmax(0,1fr); gap:.75rem; }
    .meutfsUmrTierGrid .meutfsUmrUnitHeader { padding:.7rem; }
    .meutfsUmrTierGrid .meutfsUmrUnitBody { padding:.2rem .7rem .75rem; }
    .meutfsUmrElementDirect { padding:.7rem; }
}

/* Beta 35: canonical parent/child blocks, with broad sibling cards. Children
   are visually BELOW their owning organization's heading, never in a global
   list shared by unrelated Units. Only WoltLab style tokens are used. */
.meutfsUmrFamilyGrid, .meutfsUmrHierarchyChildren {
    display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%, 560px),1fr));
    align-items:start; gap:1rem; min-width:0; width:100%;
}
.meutfsUmrFamilyGrid--root { margin-block:.85rem 1.3rem; }
.meutfsUmrHierarchyNode { min-width:0; max-width:100%; margin:0; display:block; }
.meutfsUmrHierarchyNode > .meutfsUmrHierarchyHeader {
    display:grid; position:relative; margin:0; padding:.85rem 1rem;
    background:var(--meutfs-umr-surface); border:1px solid var(--meutfs-umr-border);
    border-radius:var(--wcfBorderRadiusContainer, .4rem); color:var(--meutfs-umr-strong);
}
.meutfsUmrHierarchyNode--branch > summary.meutfsUmrHierarchyHeader { cursor:pointer; list-style:none; padding-right:2.25rem; }
.meutfsUmrHierarchyNode--branch > summary.meutfsUmrHierarchyHeader::-webkit-details-marker { display:none; }
.meutfsUmrHierarchyNode--branch > summary.meutfsUmrHierarchyHeader::after {
    content:'▸'; position:absolute; right:1rem; top:1rem; color:var(--meutfs-umr-strong);
    transform:rotate(0deg); transition:transform .15s ease;
}
.meutfsUmrHierarchyNode--branch[open] > summary.meutfsUmrHierarchyHeader::after { transform:rotate(90deg); }
.meutfsUmrHierarchyNode > .meutfsUmrHierarchyHeader--hq { border-top:2px solid var(--meutfs-umr-accent); }
.meutfsUmrHierarchyNode > .meutfsUmrHierarchyOwnBillets {
    margin:0; border:1px solid var(--meutfs-umr-border); border-top:0;
    border-radius:0 0 var(--wcfBorderRadiusContainer, .4rem) var(--wcfBorderRadiusContainer, .4rem);
    padding:.3rem .8rem .75rem; background:var(--meutfs-umr-surface); min-width:0;
}
.meutfsUmrHierarchyNode:has(> .meutfsUmrHierarchyOwnBillets) > .meutfsUmrHierarchyHeader {
    border-bottom-left-radius:0; border-bottom-right-radius:0;
}
.meutfsUmrHierarchyChildren {
    border-left:2px solid var(--meutfs-umr-border);
    margin:.85rem 0 0 .55rem; padding-left:.75rem; padding-bottom:.15rem;
    grid-template-columns:repeat(auto-fit,minmax(min(100%, 480px),1fr));
}
.meutfsUmrHierarchyChildren > .meutfsUmrHierarchyNode { margin:0; }
.meutfsUmrHierarchyNode[hidden], .meutfsUmrHierarchyChildren[hidden] { display:none!important; }
@media (max-width:700px) {
    .meutfsUmrFamilyGrid, .meutfsUmrHierarchyChildren { grid-template-columns:minmax(0,1fr); gap:.8rem; }
    .meutfsUmrHierarchyChildren { margin-left:.25rem; padding-left:.5rem; }
    .meutfsUmrHierarchyNode > .meutfsUmrHierarchyHeader { padding:.7rem; }
    .meutfsUmrHierarchyNode--branch > summary.meutfsUmrHierarchyHeader { padding-right:1.9rem; }
}
@media(prefers-reduced-motion:reduce) { .meutfsUmrHierarchyNode--branch > summary.meutfsUmrHierarchyHeader::after {transition:none;} }
