/* ═══════════════════════════════════════════════════════════════════════
   MwAdmissionTicketDisplay — mw-atd-* (single ticket) + mw-atc-* (owner cell)
   Lineage: MwMembershipChips (mw-mc-*) — same 12px radius, surface fill,
   hairline border, colour-tinted inner pill. Reads only --mud-palette-* so it
   themes for free. Per-instance colours arrive via inline --atd-type / --atd-status.
   Icons are <MudIcon> SVGs (no web font); sizes/colours overridden below.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── shared ── */
.mw-atd {
    --atd-type: #8a8f99;
    --atd-status: #9aa1ad;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    position: relative;
    box-sizing: border-box;
}
.mw-atd-accent { position: absolute; left: 0; top: 0; bottom: 0; background: var(--atd-type); }
.mw-atd-tile {
    display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
    color: var(--atd-type);
    background: color-mix(in srgb, var(--atd-type) 16%, var(--mud-palette-surface));
    border: 1px solid color-mix(in srgb, var(--atd-type) 32%, transparent);
}
.mw-atd-tile .mud-icon-root { color: var(--atd-type); }
.mw-atd-status-badge {
    display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0;
    color: var(--atd-status); font-weight: 500; white-space: nowrap;
    background: color-mix(in srgb, var(--atd-status) 15%, transparent);
    border: 1px solid color-mix(in srgb, var(--atd-status) 30%, transparent);
    border-radius: 7px;
}
.mw-atd-status-badge .mud-icon-root { color: var(--atd-status); }
.mw-atd-primary { color: var(--mud-palette-text-primary); font-weight: 500; }
.mw-atd-secondary { color: var(--mud-palette-text-secondary); }
.mw-atd-link { color: var(--mud-palette-text-disabled); flex-shrink: 0; }
.mw-atd.is-void { opacity: .58; }
.mw-atd.is-void .mw-atd-primary { text-decoration: line-through; text-decoration-thickness: 1px; }

/* ── lg : ticket-stub card ── */
.mw-atd--lg {
    --notch-bg: var(--mud-palette-background);
    width: 320px; max-width: 100%;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-table-lines);
    border-radius: 14px; overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .14), 0 12px 28px -16px rgba(0, 0, 0, .4);
}
.mw-atd--lg .mw-atd-accent { width: 5px; border-radius: 14px 0 0 14px; }
.mw-atd-card-head { display: flex; align-items: center; gap: 13px; padding: 17px 18px 14px 22px; }
.mw-atd--lg .mw-atd-tile { width: 42px; height: 42px; border-radius: 11px; }
.mw-atd--lg .mw-atd-tile .mud-icon-root { font-size: 23px; }
.mw-atd-card-type { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.mw-atd-type-name {
    font-weight: 700; font-size: 16px; letter-spacing: -.01em;
    color: var(--mud-palette-text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mw-atd-type-sub {
    font-size: 11px; color: var(--mud-palette-text-disabled);
    text-transform: uppercase; letter-spacing: .07em; margin-top: 2px;
}
.mw-atd--lg .mw-atd-status-badge { font-size: 11px; padding: 4px 9px; }
.mw-atd--lg .mw-atd-status-badge .mud-icon-root { font-size: 14px; }
.mw-atd-card-holder { padding: 2px 22px 18px; }
.mw-atd-holder-name {
    font-size: 21px; font-weight: 500; letter-spacing: -.01em;
    color: var(--mud-palette-text-primary); display: block; line-height: 1.15;
}
.mw-atd-holder-name .mw-atd-unassigned { color: var(--mud-palette-text-disabled); font-style: italic; font-weight: 400; }
.mw-atd-holder-meta { display: inline-flex; align-items: center; gap: 5px; margin-top: 7px; font-size: 12px; color: var(--mud-palette-text-secondary); }
.mw-atd-holder-meta .mud-icon-root { font-size: 14px; color: var(--atd-type); }
.mw-atd-perf { position: relative; height: 0; border-top: 1.5px dashed var(--mud-palette-table-lines); margin: 0 16px; }
.mw-atd-perf::before, .mw-atd-perf::after {
    content: ""; position: absolute; top: 50%; width: 16px; height: 16px;
    border-radius: 50%; background: var(--notch-bg); transform: translateY(-50%);
}
.mw-atd-perf::before { left: -24px; box-shadow: inset -1px 0 0 0 var(--mud-palette-table-lines); }
.mw-atd-perf::after { right: -24px; box-shadow: inset 1px 0 0 0 var(--mud-palette-table-lines); }
.mw-atd-card-stub { padding: 16px 22px 18px; display: grid; gap: 11px; }
.mw-atd-row { display: grid; grid-template-columns: 84px 1fr; gap: 12px; align-items: baseline; font-size: 12.5px; }
.mw-atd-row .k { color: var(--mud-palette-text-disabled); text-transform: uppercase; letter-spacing: .06em; font-size: 10.5px; font-weight: 500; padding-top: 1px; }
.mw-atd-row .v { color: var(--mud-palette-text-primary); min-width: 0; }
.mw-atd-row .v.mono { font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, monospace; font-size: 12px; letter-spacing: .02em; }
.mw-atd-owner-chip {
    display: inline-flex; align-items: center; gap: 5px;
    background: var(--mud-palette-background); border: 1px solid var(--mud-palette-table-lines);
    border-radius: 7px; padding: 2px 7px 2px 5px; font-size: 11.5px;
}
.mw-atd-owner-chip .mud-icon-root { font-size: 14px; color: var(--mud-palette-primary); }

/* ── md : inline chip ── */
.mw-atd--md {
    display: inline-flex; align-items: center; gap: 10px; width: 100%; max-width: 320px;
    padding: 7px 11px 7px 13px;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-table-lines);
    border-radius: 12px; overflow: hidden;
    transition: border-color .16s ease, background .16s ease;
}
.mw-atd--md:hover { border-color: color-mix(in srgb, var(--atd-type) 55%, var(--mud-palette-table-lines)); }
.mw-atd--md .mw-atd-accent { width: 3px; }
.mw-atd--md .mw-atd-tile { width: 30px; height: 30px; border-radius: 9px; }
.mw-atd--md .mw-atd-tile .mud-icon-root { font-size: 18px; }
.mw-atd-body { display: flex; flex-direction: column; min-width: 0; flex: 1; line-height: 1.3; }
.mw-atd--md .mw-atd-primary { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mw-atd--md .mw-atd-primary .mw-atd-unassigned { color: var(--mud-palette-text-disabled); font-style: italic; font-weight: 400; }
.mw-atd--md .mw-atd-secondary { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mw-atd--md .mw-atd-status-badge { font-size: 10.5px; padding: 2px 7px; }
.mw-atd--md .mw-atd-status-badge .mud-icon-root { font-size: 13px; }
.mw-atd--md .mw-atd-link { font-size: 15px; }
.mw-atd--md .mw-atd-link .mud-icon-root { font-size: 15px; color: var(--mud-palette-text-disabled); }

/* ── sm : dense cell pill ── */
.mw-atd--sm {
    display: inline-flex; align-items: center; gap: 5px; height: 21px;
    padding: 0 7px 0 6px; vertical-align: middle;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-table-lines);
    border-radius: 11px; font-size: 11px; font-weight: 500;
    color: var(--mud-palette-text-primary); white-space: nowrap; cursor: default;
    transition: border-color .15s ease;
}
.mw-atd--sm:hover { border-color: color-mix(in srgb, var(--atd-type) 60%, var(--mud-palette-table-lines)); }
.mw-atd--sm .mw-atd-sm-ico { font-size: 14px; color: var(--atd-type); }
.mw-atd--sm .mw-atd-sm-ico .mud-icon-root { font-size: 14px; color: var(--atd-type); }
.mw-atd--sm .mw-atd-sm-status {
    width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0;
    background: var(--atd-status);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--atd-status) 22%, transparent);
}
.mw-atd--sm.is-void { text-decoration: line-through; text-decoration-color: var(--mud-palette-text-disabled); }

/* ═══════════════════════════════════════════════════════════════════════
   CONTINGENTS CELL — mw-atc-* (collapsed → unfold, for one owner)
   ═══════════════════════════════════════════════════════════════════════ */
.mw-atc { font-family: Roboto, Helvetica, Arial, sans-serif; display: inline-block; width: 100%; }
.mw-atc-empty { color: var(--mud-palette-text-disabled); font-size: 12px; }
.mw-atc-summary {
    display: inline-flex; align-items: center; gap: 9px; width: 100%;
    background: transparent; border: none; cursor: pointer; text-align: left;
    padding: 3px 4px; border-radius: 8px; color: inherit; font: inherit;
    transition: background .14s;
}
.mw-atc-summary:hover { background: var(--mud-palette-table-hover); }
.mw-atc-total { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; font-size: 13px; color: var(--mud-palette-text-primary); flex-shrink: 0; }
.mw-atc-total .mud-icon-root { font-size: 16px; color: var(--mud-palette-text-secondary); }
.mw-atc-total small { font-weight: 400; font-size: 11px; color: var(--mud-palette-text-disabled); }
.mw-atc-pills { display: inline-flex; gap: 5px; flex-wrap: wrap; flex: 1; min-width: 0; }
.mw-atc-pill {
    --fill: 0%;
    display: inline-flex; align-items: center; gap: 3px; font-size: 11px; font-weight: 500;
    padding: 2px 8px; border-radius: 9px; white-space: nowrap;
    border: 1px solid color-mix(in srgb, var(--atd-type) 38%, var(--mud-palette-table-lines));
    background: linear-gradient(90deg,
        color-mix(in srgb, var(--atd-type) 28%, var(--mud-palette-surface)) var(--fill),
        var(--mud-palette-surface) var(--fill));
    color: var(--mud-palette-text-primary);
}
.mw-atc-pill .mud-icon-root { font-size: 14px; color: var(--atd-type); }
.mw-atc-pill b { font-weight: 700; }
.mw-atc-pill .cap { color: var(--mud-palette-text-secondary); }
.mw-atc-chev { margin-left: auto; flex-shrink: 0; }
.mw-atc-summary .mw-atc-chev .mud-icon-root { font-size: 18px; color: var(--mud-palette-text-secondary); transition: transform .22s; }
.mw-atc.is-open .mw-atc-summary .mw-atc-chev .mud-icon-root { transform: rotate(180deg); }
.mw-atc-panel { margin: 8px 0 2px; padding-left: 12px; border-left: 2px solid var(--mud-palette-table-lines); }
.mw-atc-cont { padding: 11px 0; border-top: 1px solid var(--mud-palette-table-lines); }
.mw-atc-cont:first-child { border-top: none; padding-top: 2px; }
.mw-atc-cont-head { display: flex; align-items: center; gap: 9px; margin-bottom: 8px; }
.mw-atc-cont-head .mw-atd-tile { width: 26px; height: 26px; border-radius: 8px; }
.mw-atc-cont-head .mw-atd-tile .mud-icon-root { font-size: 16px; }
.mw-atc-cont-name { font-weight: 500; font-size: 13px; flex: 1; color: var(--mud-palette-text-primary); }
.mw-atc-cap { font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, monospace; font-size: 11.5px; color: var(--mud-palette-text-primary); white-space: nowrap; }
.mw-atc-cap small { color: var(--mud-palette-text-disabled); margin-left: 5px; }
.mw-atc-pips { display: flex; gap: 2px; margin: 0 0 10px; }
.mw-atc-pip { height: 5px; flex: 1; border-radius: 2px; background: var(--mud-palette-table-lines); }
.mw-atc-pip.f { --c: #888; background: var(--c); box-shadow: 0 0 5px -1px color-mix(in srgb, var(--c) 70%, transparent); }
.mw-atc-rows { display: flex; flex-direction: column; gap: 1px; }
.mw-atc-trow { display: flex; align-items: center; gap: 9px; padding: 4px 7px; border-radius: 7px; font-size: 12.5px; }
.mw-atc-trow:hover { background: var(--mud-palette-table-hover); }
.mw-atc-tdot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; background: var(--atd-status); box-shadow: 0 0 0 2px color-mix(in srgb, var(--atd-status) 22%, transparent); }
.mw-atc-tname { flex: 1; color: var(--mud-palette-text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mw-atc-tname i { color: var(--mud-palette-text-disabled); font-style: italic; }
.mw-atc-tstatus { display: inline-flex; align-items: center; gap: 3px; font-size: 11px; color: var(--atd-status); white-space: nowrap; }
.mw-atc-tstatus .mud-icon-root { font-size: 13px; color: var(--atd-status); }
.mw-atc-trow.is-void .mw-atc-tname { text-decoration: line-through; color: var(--mud-palette-text-disabled); }
.mw-atc-tlink .mud-icon-root { font-size: 14px; color: var(--mud-palette-text-disabled); }
.mw-atc-free { font-size: 11.5px; color: var(--mud-palette-text-disabled); font-style: italic; padding: 5px 7px 2px; }
