@import url('components.css');
@import url('utilities.css');
@import url('../vendor/fontawesome/css/fontawesome.css');
@import url('../vendor/fontawesome/css/solid.css');
:root {
    --app-primary: #845adf;
    --app-primary-hover: #6d46c4;
    --app-secondary: #64748b;
    --app-body-bg: #f5f6fa;
    --app-sidebar-bg: #1d2331;
    --app-header-bg: #fff;
    --app-card-bg: #fff;
    --app-border: #e8eaf1;
    --app-text: #1d2939;
    --app-muted: #7b8190;
    --app-success: #26bf7b;
    --app-danger: #e65353;
    --app-warning: #f5a524;
    --app-info: #4aa3df;
    --app-sidebar-width: 250px;
    --app-radius: 7px;
    --app-shadow: 0 2px 8px rgba(23,31,56,.05)
}

* {
    box-sizing: border-box
}

.mcc-bt-select {
    max-width: 100%;
    min-width: 0;
    overflow: visible;
    position: relative;
    width: 100%;
}
.mcc-bt-select-native {
    height: 1px;
    left: -9999px;
    opacity: 0;
    position: absolute;
    width: 1px;
}
.mcc-bt-select-toggle {
    align-items: center;
    background: #fff;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    color: var(--app-text);
    display: flex;
    justify-content: space-between;
    min-height: 38px;
    overflow: hidden;
    padding: .55rem .75rem;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
}
.mcc-bt-select-toggle:hover {
    border-color: var(--app-primary);
}
.mcc-bt-select-toggle:focus-visible {
    border-color: var(--app-primary);
    box-shadow: 0 0 0 .2rem rgba(132,90,223,.18);
    outline: 0;
}
.mcc-bt-select-toggle:after {
    border-bottom: 0;
    border-left: .25rem solid transparent;
    border-right: .25rem solid transparent;
    border-top: .3rem solid currentColor;
    content: '';
    flex: 0 0 auto;
    margin-left: .75rem;
}
.mcc-bt-select-menu {
    background: #fff;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow);
    left: 0;
    max-width: 100%;
    min-width: min(100%, 18rem);
    padding: .6rem;
    position: absolute;
    right: 0;
    top: calc(100% + .25rem);
    z-index: 60;
    width: 100%;
}
.mcc-bt-select-menu[hidden] {
    display: none;
}
.mcc-bt-select-menu-portal {
    max-width: min(300px, calc(100vw - 1rem));
    min-width: 0;
    position: fixed !important;
    width: auto;
    z-index: 10000 !important;
}
.mcc-bt-select-search {
    border: 1px solid var(--app-border);
    border-radius: 4px;
    margin-bottom: .45rem;
    max-width: 100%;
    padding: .4rem .5rem;
    width: 100%;
}
.mcc-bt-select-search:focus {
    border-color: var(--app-primary);
    box-shadow: 0 0 0 .15rem rgba(132,90,223,.14);
    outline: 0;
}
.mcc-bt-select-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .35rem;
    margin-bottom: .35rem;
}
.mcc-bt-select-count {
    color: var(--app-muted);
    font-size: .78rem;
}
.mcc-bt-select-select-all,
.mcc-bt-select-clear {
    background: transparent;
    border: 0;
    color: var(--app-primary);
    font-size: .78rem;
    padding: .2rem;
}
.mcc-bt-select-select-all:hover,
.mcc-bt-select-select-all:focus-visible,
.mcc-bt-select-clear:hover,
.mcc-bt-select-clear:focus-visible {
    color: var(--app-primary-hover);
    text-decoration: underline;
}
.mcc-bt-select-options {
    max-height: 15rem;
    overflow-y: auto;
}
.mcc-bt-select-empty {
    color: var(--app-muted);
    font-size: .82rem;
    padding: .55rem .25rem;
}
.mcc-bt-select-option {
    align-items: center;
    color: var(--app-text);
    display: inline-flex;
    gap: 6px;
    line-height: 1.2;
    margin: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: .4rem .25rem;
    min-height: 32px;
    white-space: nowrap;
    width: 100%;
}
.mcc-bt-select-option span {
    display: block;
    line-height: 1.35;
    min-width: 0;
}
.mcc-bt-select-option:hover {
    background: rgba(132,90,223,.07);
    border-radius: 4px;
}
.mcc-bt-select-option input:focus-visible {
    outline: 2px solid var(--app-primary);
    outline-offset: 2px;
}
.mcc-bt-select-option input {
    appearance: auto;
    flex: 0 0 auto;
    height: 16px;
    margin: 0;
    max-width: 16px;
    min-height: 0;
    min-width: 16px;
    padding: 0;
    width: 16px;
}

.mcc-bt-select-option input[type="checkbox"],
.mcc-bt-select-option input[type="radio"] {
    align-self: center;
    flex: 0 0 16px;
    height: 16px;
    margin: 0;
    min-height: 0;
    min-width: 16px;
    padding: 0;
    width: 16px;
}

.mcc-form-field .mcc-bt-select-option input[type="checkbox"] {
    flex: 0 0 16px;
    height: 16px;
    margin: 0;
    max-width: 16px;
    width: 16px;
}

.mcc-role-permission-form,
.mcc-role-permission-form .mcc-form-field,
.mcc-role-permission-form .mcc-bt-select {
    overflow: visible;
    position: relative;
}

.mcc-role-permission-form .mcc-form-field:has(.mcc-bt-select-open),
.mcc-role-permission-form .mcc-bt-select.mcc-bt-select-open {
    z-index: 1200;
}

.mcc-role-permission-form .mcc-bt-select-menu {
    max-width: min(42rem, calc(100vw - 2rem));
    min-width: 100%;
    width: max-content;
    z-index: 1201;
}

.mcc-role-permission-form .mcc-bt-select-option {
    white-space: normal;
}
@media (max-width: 575.98px) {
    .mcc-bt-select-menu {
        max-height: min(70vh, 24rem);
    }
    .mcc-bt-select-options {
        max-height: min(45vh, 14rem);
    }
}
html {
    font-size: 16px
}
body {
    margin: 0;
    background: var(--app-body-bg);
    color: var(--app-text);
    font: 14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif
}
a {
    color: var(--app-primary);
    text-decoration: none
}
a:hover {
    color: var(--app-primary-hover)
}
button,input,select,textarea {
    font: inherit
}
button {
    cursor: pointer
}
.mcc-skip-link {
    position: fixed;
    left: 1rem;
    top: -5rem;
    z-index: 1000;
    background: #fff;
    color: var(--app-text);
    padding: .6rem 1rem;
    border-radius: 4px;
    box-shadow: var(--app-shadow)
}
.mcc-skip-link:focus {
    top: 1rem
}
.mcc-app-shell {
    align-items: stretch;
    display: flex;
    min-height: 100vh
}

.mcc-public-test-app {
    background: var(--app-body-bg);
    color: var(--app-text);
    min-height: 100vh;
}

.mcc-public-test-shell {
    margin: 0 auto;
    max-width: 1180px;
    min-height: 100vh;
    padding: 1.25rem 1rem 2rem;
}

.mcc-public-test-brand {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-bottom: 1.25rem;
}

.mcc-public-test-logo {
    display: block;
    height: auto;
    max-height: 76px;
    max-width: min(240px, 80vw);
    width: auto;
}

.mcc-public-test-main {
    width: 100%;
}

.mcc-public-test-container {
    margin: 0 auto;
    max-width: 1080px;
    width: 100%;
}

.mcc-public-test-footer {
    color: var(--app-muted);
    font-size: .8rem;
    padding-top: 1.25rem;
    text-align: center;
}

@media (max-width: 576px) {
    .mcc-public-test-shell {
        padding-left: .75rem;
        padding-right: .75rem;
    }

    .mcc-public-test-logo {
        max-height: 64px;
    }
}
.mcc-sidebar {
    background: var(--app-sidebar-bg);
    color: #a9b1c0;
    display: flex;
    flex: 0 0 var(--app-sidebar-width);
    flex-direction: column;
    min-height: 100vh;
    padding: 1.15rem .9rem;
    position: sticky;
    top: 0;
    z-index: 30
}
.mcc-brand {
    align-items: center;
    color: #fff;
    display: flex;
    gap: .7rem;
    padding: 0
}
.mcc-brand-mark {
    align-items: center;
    background: var(--app-primary);
    border-radius: 5px;
    color: #fff;
    display: inline-flex;
    font-size: 1.1rem;
    font-weight: 800;
    height: 36px;
    justify-content: center;
    width: 36px
}
.mcc-brand strong,.mcc-brand small {
    display: block
}
.mcc-brand small {
    color: #8f99aa;
    font-size: .69rem
}
.mcc-sidebar-label,.mcc-nav-group-label {
    color: #697487;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase
}
.mcc-sidebar-label {
    padding: .75rem .7rem .55rem
}
.mcc-sidebar-nav {
    display: grid;
    gap: .6rem
}
.mcc-nav-group {
    display: grid;
    gap: .15rem
}
.mcc-nav-group-label {
    padding: .65rem .7rem .3rem
}
.mcc-nav-link {
    align-items: center;
    border-radius: 5px;
    color: #a9b1c0;
    display: flex;
    gap: .7rem;
    padding: .62rem .7rem;
    transition: background .15s ease,color .15s ease
}
.mcc-nav-link:hover,.mcc-nav-link:focus-visible,.mcc-nav-link.is-active {
    background: rgba(132,90,223,.16);
    color: #fff
}
.mcc-nav-link.is-active {
    box-shadow: inset 3px 0 0 var(--app-primary)
}
.mcc-nav-icon {
    align-items: center;
    display: inline-flex;
    height: 1.15rem;
    justify-content: center;
    width: 1.15rem
}
.mcc-nav-svg {
    fill: none;
    height: 1rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
    width: 1rem
}
.mcc-sidebar-footer {
    align-items: center;
    color: #8490a2;
    display: flex;
    font-size: .73rem;
    gap: .4rem;
    margin-top: auto;
    padding: .9rem .7rem 0
}
.mcc-sidebar-footer small {
    margin-left: auto
}
.mcc-status-dot {
    background: var(--app-success);
    border-radius: 50%;
    height: 7px;
    width: 7px
}
.mcc-main {
    align-items: stretch;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 100vh;
    min-width: 0;
    width: 0
}
.mcc-topbar {
    align-items: center;
    background: var(--app-header-bg);
    border-bottom: 1px solid var(--app-border);
    display: flex;
    height: 64px;
    padding: 0 1.5rem
}
.mcc-topbar-spacer {
    flex: 1
}
.mcc-active-branch-selector {
    align-items: center;
    display: flex;
    gap: .45rem;
    margin: 0 1rem 0 0;
}
.mcc-active-branch-selector select {
    max-width: 220px;
    min-width: 155px;
}
.mcc-active-branch-selector .mcc-button {
    white-space: nowrap;
}
.mcc-icon-button {
    background: transparent;
    border: 0;
    color: #697487;
    font-size: 1.15rem;
    line-height: 1;
    padding: .45rem
}
.mcc-sidebar-toggle {
    display: none
}
.mcc-topbar-date {
    color: var(--app-muted);
    font-size: .78rem;
    margin-right: 1.35rem
}
.mcc-account {
    position: relative
}
.mcc-account summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: .55rem;
    list-style: none
}
.mcc-account summary::-webkit-details-marker {
    display: none
}
.mcc-avatar {
    align-items: center;
    background: #eee9fb;
    border-radius: 50%;
    color: var(--app-primary);
    display: inline-flex;
    font-size: .76rem;
    font-weight: 700;
    height: 32px;
    justify-content: center;
    width: 32px
}
.mcc-account-email {
    color: #4a5568;
    font-size: .8rem;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis
}
.mcc-account-menu {
    background: #fff;
    border: 1px solid var(--app-border);
    border-radius: 5px;
    box-shadow: var(--app-shadow);
    min-width: 145px;
    padding: .3rem;
    position: absolute;
    right: 0;
    top: calc(100% + .65rem);
    z-index: 50
}
.mcc-account-menu form {
    margin: 0
}
.mcc-content {
    flex: 1 0 auto;
    min-width: 0;
    overflow: visible;
    width: 100%
}
.mcc-page-container {
    margin: 0 auto;
    max-width: 1500px;
    padding: 1.35rem 1.5rem 2.2rem;
    width: 100%
}
.mcc-breadcrumbs {
    align-items: center;
    color: var(--app-muted);
    display: flex;
    font-size: .75rem;
    gap: .45rem;
    margin-bottom: 1rem
}
.mcc-breadcrumbs a {
    color: var(--app-muted)
}
.mcc-page-heading {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.35rem
}
.mcc-page-heading h1 {
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -.01em;
    line-height: 1.25;
    margin: .25rem 0 0
}
.mcc-eyebrow {
    color: var(--app-primary);
    font-size: .66rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase
}
.mcc-footer {
    align-items: center;
    border-top: 1px solid var(--app-border);
    color: var(--app-muted);
    display: flex;
    flex: 0 0 auto;
    font-size: .74rem;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    position: static;
    width: 100%
}
.mcc-mobile-backdrop {
    display: none
}
.mcc-page-container>section,.mcc-card,.card {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow);
    padding: 1.15rem
}
.mcc-page-container>section+section {
    margin-top: 1rem
}
.hero-panel {
    background: linear-gradient(135deg,#eee9fb,#fff);
    border: 1px solid #e2dafa;
    border-radius: var(--app-radius);
    padding: 1.4rem
}
.hero-panel h2 {
    font-size: 1.05rem;
    font-weight: 600;
    margin-top: 0
}
.section-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 1rem
}
.section-heading h2 {
    margin-bottom: 0
}
.metric-grid,.card-grid {
    display: grid;
    gap: 1rem
}
.metric-grid {
    grid-template-columns: repeat(auto-fit,minmax(170px,1fr))
}
.card-grid {
    grid-template-columns: repeat(auto-fit,minmax(220px,1fr))
}
.metric-card {
    background: #fff;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow);
    padding: 1rem
}
.metric-card strong {
    display: block;
    font-size: 1.5rem;
    font-weight: 650
}
.metric-card span,.muted,.unavailable,.help {
    color: var(--app-muted)
}
.table-wrap {
    border: 1px solid var(--app-border);
    border-radius: 5px;
    overflow-x: auto
}
.mcc-form-grid {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}
table {
    border-collapse: collapse;
    min-width: 620px;
    width: 100%
}
caption {
    text-align: left;
    font-weight: 600;
    padding: .75rem 1rem
}
th,td {
    border-bottom: 1px solid var(--app-border);
    padding: .72rem .9rem;
    text-align: left;
    vertical-align: top
}
th {
    background: #fafbfc;
    color: #6d7585;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase
}
tbody tr:hover {
    background: #fbfaff
}
tr:last-child td {
    border-bottom: 0
}
.status {
    font-weight: 650
}
.status-ok {
    color: #168454
}
.status-warn {
    color: #aa6a0a
}
.status-danger,.cancelled {
    color: #b42318
}
.mcc-page-container label {
    color: #475467;
    font-size: .8rem;
    font-weight: 600
}
.mcc-page-container input,.mcc-page-container select,.mcc-page-container textarea,.mcc-auth-card input {
    background: #fff;
    border: 1px solid #d6dbe5;
    border-radius: 5px;
    color: var(--app-text);
    min-height: 40px;
    padding: .5rem .65rem
}
.mcc-page-container textarea {
    min-height: 100px
}
.mcc-page-container input:focus,.mcc-page-container select:focus,.mcc-page-container textarea:focus,.mcc-auth-card input:focus {
    border-color: var(--app-primary);
    box-shadow: 0 0 0 3px rgba(132,90,223,.14);
    outline: 0
}
.button,.button-link,.button-ghost,.mcc-button {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 5px;
    display: inline-flex;
    font-size: .8rem;
    font-weight: 650;
    gap: .4rem;
    justify-content: center;
    min-height: 38px;
    padding: .5rem .85rem
}
.button,.button-link,.mcc-button-primary {
    background: var(--app-primary);
    color: #fff
}
.button:hover,.button-link:hover,.mcc-button-primary:hover {
    background: var(--app-primary-hover);
    color: #fff
}
.mcc-button-success {
    background: var(--app-success);
    border-color: var(--app-success);
    color: #fff;
}
.mcc-button-success:hover,
.mcc-button-success:focus-visible {
    background: #1d9f66;
    border-color: #1d9f66;
    color: #fff;
}
.button-ghost,.mcc-button-secondary {
    background: #fff;
    border-color: var(--app-border);
    color: var(--app-text)
}
.mcc-button-label {
    color: #fff;
}
.mcc-button-primary .mcc-button-label,
.mcc-button-primary i,
.mcc-button-primary svg {
    color: #fff;
}
.mcc-button-secondary .mcc-button-label {
    color: var(--app-text);
}
.mcc-button-secondary i,
.mcc-button-secondary svg {
    color: var(--app-text);
}
.mcc-button-secondary:hover {
    background: var(--app-primary);
    border-color: var(--app-primary);
    color: var(--app-card-bg);
}
.mcc-button-secondary:hover .mcc-button-label,
.mcc-button-secondary:hover i,
.mcc-button-secondary:hover svg {
    color: var(--app-card-bg);
}
.mcc-button:disabled,
.mcc-button[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: .55;
}
.mcc-button[aria-busy="true"] {
    cursor: wait;
}
.mcc-trial-media-file-name {
    max-width: 18rem;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.mcc-trial-media-actions-cell {
    min-width: 12rem;
}
.mcc-trial-media-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}
.mcc-trial-media-actions .mcc-button {
    min-height: 36px;
    white-space: nowrap;
}
.mcc-trial-media-actions .mcc-button:focus-visible {
    outline: 3px solid rgba(132, 90, 223, .3);
    outline-offset: 2px;
}
@media (max-width: 767.98px) {
    .mcc-trial-media-actions-cell {
        min-width: 10rem;
    }
    .mcc-trial-media-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .mcc-trial-media-actions .mcc-button {
        justify-content: flex-start;
        width: 100%;
    }
}

/* Session and Attendance page rhythm. */
.mcc-scheduling-card,
.mcc-attendance-session-page > section,
.mcc-scheduling-detail > section {
    margin-bottom: 1.25rem;
}

.mcc-attendance-session-page > section:last-child,
.mcc-scheduling-detail > section:last-child {
    margin-bottom: 0;
}

.mcc-scheduling-card .mcc-card-heading,
.mcc-session-detail-card .mcc-card-heading,
.mcc-session-detail-hero .mcc-card-heading {
    margin: 0 0 1rem;
    padding-bottom: .85rem;
}

.mcc-scheduling-card .mcc-form-grid {
    column-gap: 1rem;
    row-gap: 1.15rem;
}

.mcc-scheduling-card .mcc-form-grid > [class*="col-"] {
    margin-bottom: 0 !important;
}

.mcc-scheduling-card .mcc-form-grid > [class*="col-"] > label,
.mcc-session-edit-form .mcc-form-field > label,
.mcc-session-inline-form .mcc-form-field > label {
    line-height: 1.35;
}

.mcc-scheduling-card .mcc-form-help,
.mcc-session-edit-form .mcc-form-help,
.mcc-session-inline-form .mcc-form-help {
    display: block;
    margin: .35rem 0 0;
}

.mcc-scheduling-card .mcc-form-actions,
.mcc-session-edit-form .mcc-modal-actions {
    border-top: 1px solid var(--app-border);
    margin-top: .15rem;
    padding-top: 1rem;
}

.mcc-scheduling-detail,
.mcc-attendance-session-page {
    min-width: 0;
}

.mcc-scheduling-detail > section,
.mcc-attendance-session-page > section {
    padding: 1.25rem;
}

.mcc-scheduling-detail > section > .mcc-empty-state,
.mcc-attendance-session-page > section > .mcc-empty-state {
    margin: .25rem 0 0;
}

.mcc-scheduling-detail .mcc-table-wrap,
.mcc-attendance-session-page .mcc-table-wrap {
    margin-top: 1.15rem;
}

.mcc-scheduling-detail .mcc-attendance-summary-meta {
    margin-bottom: .15rem;
}

.mcc-attendance-session-page .mcc-attendance-bulk-form {
    align-items: flex-end;
    background: var(--app-body-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    flex-direction: column;
    gap: .65rem;
    margin: 1.15rem 0 0;
    padding: .85rem 1rem;
}

.mcc-attendance-session-page > .mcc-alert {
    align-items: flex-start;
    display: flex;
    gap: .6rem;
    margin: 0 0 1.25rem;
    padding: .85rem 1rem;
}

.mcc-attendance-session-page .mcc-attendance-summary-grid {
    margin-bottom: .15rem;
}

.mcc-attendance-session-page .mcc-attendance-session-table th,
.mcc-attendance-session-page .mcc-attendance-session-table td {
    min-width: 0;
}

.mcc-attendance-session-page .attendance-status-cell {
    min-width: 12rem;
}

.mcc-attendance-session-page .attendance-status-select {
    min-width: 11rem;
    width: 100%;
}

.mcc-attendance-session-page .roster-actions .mcc-page-actions {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    gap: .65rem;
    min-width: 0;
}

.mcc-attendance-session-page .roster-actions .mcc-session-attendance-form {
    align-items: stretch;
    flex-direction: column;
    gap: .55rem;
}

.mcc-attendance-session-page .roster-actions .mcc-session-attendance-form select,
.mcc-attendance-session-page .roster-actions .mcc-session-attendance-form input,
.mcc-attendance-session-page .roster-actions .mcc-session-attendance-form .mcc-button {
    min-width: 0;
    width: 100%;
}

.mcc-attendance-session-page .mcc-session-feedback-modal .mcc-modal-actions {
    gap: .65rem;
    margin-top: 1rem;
}

.mcc-attendance-session-page .mcc-attendance-bulk-form .mcc-form-help {
    align-self: stretch;
    margin: 0;
}

.mcc-attendance-session-page .attendance-correction-reason {
    align-self: stretch;
    margin: 0;
    max-width: 40rem;
}

.mcc-attendance-session-page .attendance-correction-reason textarea {
    width: 100%;
}

.mcc-attendance-session-page .mcc-page-actions,
.mcc-scheduling-detail .mcc-page-actions {
    gap: .65rem;
}

.mcc-attendance-session-page .attendance-session-header-actions {
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.mcc-attendance-session-page .mcc-session-attendance-form {
    gap: .65rem;
    margin: .15rem 0;
}

.mcc-attendance-session-page .attendance-empty-state {
    padding: 2rem 1rem;
}

@media (max-width: 767px) {
    .mcc-scheduling-card,
    .mcc-attendance-session-page > section,
    .mcc-scheduling-detail > section {
        margin-bottom: 1rem;
        padding: 1rem;
    }

    .mcc-scheduling-card .mcc-form-grid {
        row-gap: 1rem;
    }

    .mcc-scheduling-card .mcc-form-actions,
    .mcc-session-edit-form .mcc-modal-actions {
        align-items: stretch;
        flex-direction: column;
        gap: .65rem;
    }

    .mcc-scheduling-card .mcc-form-actions .mcc-button,
    .mcc-session-edit-form .mcc-modal-actions .mcc-button {
        width: 100%;
    }

    .mcc-attendance-session-page .mcc-attendance-bulk-form {
        align-items: stretch;
        gap: .65rem;
        margin: 1rem 0 0;
    }

    .mcc-attendance-session-page .mcc-attendance-bulk-form .mcc-button {
        width: 100%;
    }

    .mcc-attendance-session-page > .mcc-alert {
        margin-bottom: 1rem;
    }

    .mcc-attendance-session-page .roster-actions .mcc-page-actions {
        gap: .75rem;
    }

    .mcc-attendance-session-page .attendance-session-header-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .mcc-attendance-session-page .attendance-session-header-actions .mcc-button {
        width: 100%;
    }
}
.message,.flash,.mcc-alert {
    border-radius: 5px;
    margin: 0 0 1rem;
    padding: .7rem .9rem
}
.message[role=alert],.flash.error,.mcc-alert-danger {
    background: #fff1f1;
    color: #b42318
}
.message[role=status],.flash.success,.mcc-alert-success {
    background: #effaf3;
    color: #176b3a
}
.mcc-alert-warning {
    background: #fff8e6;
    color: #986500
}
.mcc-alert-info {
    background: #eef8ff;
    color: #075985
}
.mcc-button:focus-visible,.button:focus-visible,.button-link:focus-visible,.button-ghost:focus-visible,.mcc-nav-link:focus-visible,.mcc-icon-button:focus-visible,.mcc-account summary:focus-visible {
    outline: 3px solid #f0b429;
    outline-offset: 2px
}
.mcc-auth-page {
    background: #f5f6fa;
    min-height: 100vh
}
.mcc-auth-shell {
    align-items: center;
    display: grid;
    gap: 4rem;
    grid-template-columns: minmax(0,1fr) minmax(320px,430px);
    margin: 0 auto;
    max-width: 1020px;
    min-height: 100vh;
    padding: 2rem
}
.mcc-auth-branding {
    padding: 2rem
}
.mcc-auth-branding h1 {
    font-size: 2.35rem;
    font-weight: 650;
    line-height: 1.12;
    margin: 1.15rem 0 .75rem;
    max-width: 500px
}
.mcc-auth-branding p {
    color: var(--app-muted);
    font-size: 1rem;
    max-width: 420px
}
.mcc-auth-card {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow);
    box-sizing: border-box;
    justify-self: center;
    max-width: 430px;
    padding: 1.5rem;
    width: 100%
}
.mcc-auth-logo-wrap {
    display: flex;
    justify-content: center;
    margin: 0 auto 1rem;
    width: 100%
}
.mcc-auth-logo {
    display: block;
    height: 112px;
    max-width: 100%;
    object-fit: contain;
    width: 96px
}
.mcc-auth-card-heading {
    border-bottom: 1px solid var(--app-border);
    margin-bottom: 1.15rem;
    padding-bottom: .8rem
}
.mcc-auth-card-heading h2 {
    font-size: 1.45rem;
    font-weight: 600;
    margin: .3rem 0 0
}
.mcc-auth-card-heading p {
    color: var(--app-muted);
    font-size: .78rem;
    margin: .4rem 0 0
}
.mcc-auth-card .mcc-alert {
    font-size: .78rem;
    line-height: 1.45;
    margin-bottom: 1rem
}
.mcc-portal-debug-otp {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .75rem;
}
.mcc-portal-debug-otp span {
    font-family: var(--app-font-mono, monospace);
    font-weight: 700;
    letter-spacing: .12em;
}
.mcc-form {
    display: grid;
    gap: 1rem;
    margin-top: 1.4rem
}
.mcc-form-field {
    display: grid;
    gap: .3rem
}
.mcc-form-field label {
    font-size: .8rem;
    font-weight: 600
}
.mcc-form-field input {
    width: 100%
}
.mcc-auth-password-field {
    position: relative
}
.mcc-auth-password-field i {
    color: var(--app-muted);
    left: .7rem;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1
}
.mcc-auth-password-field input {
    padding-left: 2.15rem
}
.mcc-auth-actions {
    margin-top: .25rem
}
.mcc-auth-card .mcc-button {
    gap: .4rem
}
.mcc-auth-choice-field {
    border: 0;
    margin: 0;
    padding: 0;
}
.mcc-auth-choice-field legend {
    font-size: .8rem;
    font-weight: 600;
    margin-bottom: .3rem
}
.mcc-auth-choice-options {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem 1rem
}
.mcc-auth-choice {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: .55rem;
    min-height: 1.5rem
}
.mcc-auth-choice input {
    accent-color: var(--app-primary);
    flex: 0 0 auto;
    margin: 0;
    width: auto
}
.mcc-button-block {
    width: 100%
}
@media(max-width:991px) {
    .mcc-sidebar {
        bottom: 0;
        left: 0;
        position: fixed;
        top: 0;
        transform: translateX(-100%);
        transition: transform .2s ease
    }
    .sidebar-open .mcc-sidebar {
        transform: translateX(0)
    }
    .sidebar-open {
        overflow: hidden
    }
    .mcc-mobile-backdrop {
        background: rgba(15,23,42,.45);
        inset: 0;
        position: fixed;
        z-index: 20
    }
    .sidebar-open .mcc-mobile-backdrop {
        display: block
    }
    .mcc-topbar {
        padding: 0 1.15rem
    }
    .mcc-page-container {
        padding-left: 1.15rem;
        padding-right: 1.15rem
    }
    .mcc-sidebar-toggle {
        display: inline-flex
    }
}
@media(min-width:992px) {
    .mcc-sidebar-toggle {
        display: none
    }
}
@media(max-width:700px) {
    .mcc-topbar {
        flex-wrap: wrap;
        height: auto;
        min-height: 64px;
        padding-bottom: .55rem;
        padding-top: .55rem;
    }
    .mcc-active-branch-selector {
        flex: 1 1 100%;
        margin: .25rem 0;
        order: 1;
    }
    .mcc-active-branch-selector select {
        flex: 1 1 auto;
        max-width: none;
        min-width: 0;
    }
    .mcc-topbar-date {
        display: none
    }
    .mcc-account-email {
        max-width: 110px
    }
    .mcc-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: .25rem;
        padding-left: 1.15rem;
        padding-right: 1.15rem
    }
    .mcc-auth-shell {
        gap: 1rem;
        grid-template-columns: 1fr;
        padding: 1rem
    }
    .mcc-auth-branding {
        padding: 1rem
    }
    .mcc-auth-branding h1 {
        font-size: 1.9rem
    }
    .mcc-auth-card {
        max-width: 460px;
        padding: 1.35rem
    }
}

/* Admission Test detail presentation. */
.mcc-admission-test-detail {
    min-width: 0;
}

.mcc-paper-set-choice {
    align-items: flex-start;
    border: 1px solid var(--mcc-border, #d9dee7);
    border-radius: 0.5rem;
    display: flex;
    gap: 0.75rem;
    margin: 0.75rem 0;
    max-width: 32rem;
    padding: 1rem;
}

.mcc-paper-set-choice span {
    display: grid;
    flex: 1 1 auto;
    gap: 0.25rem;
    min-width: 0;
}
.mcc-admission-test-radio-label {
    align-items: flex-start;
    cursor: pointer;
    display: flex;
    gap: .6rem;
    min-width: 0;
}
.mcc-admission-test-radio-label input[type="radio"] {
    align-self: flex-start;
    flex: 0 0 1rem;
    height: 1rem;
    margin: .2rem 0 0;
    min-height: 1rem;
    min-width: 1rem;
    width: 1rem;
}
.mcc-admission-test-radio-label:has(input[type="radio"]:focus-visible) {
    outline: 2px solid var(--app-primary);
    outline-offset: 3px;
}
.mcc-admission-test-radio-label > span {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.mcc-admission-test-detail .mcc-detail-card {
    min-width: 0;
}
.mcc-admission-test-detail .mcc-card-heading {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}
.mcc-admission-test-detail .mcc-card-heading > * {
    min-width: 0;
}
.mcc-admission-test-detail h2,
.mcc-admission-test-detail h3 {
    overflow-wrap: anywhere;
}
.mcc-admission-test-summary-grid,
.mcc-admission-test-personal-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.mcc-admission-test-summary-primary {
    grid-column: 1 / -1;
}
.mcc-admission-test-summary-primary .mcc-table-primary-text {
    display: block;
    font-size: 1.05rem;
    font-weight: 700;
}
.mcc-admission-test-summary-primary .mcc-table-secondary-text {
    display: block;
    margin-top: .25rem;
}
.mcc-admission-test-detail dt {
    color: var(--app-muted);
    font-size: .76rem;
    font-weight: 700;
    margin-bottom: .25rem;
}
.mcc-admission-test-detail dd {
    margin: 0;
    overflow-wrap: anywhere;
}
.mcc-admission-test-detail dd > .mcc-table-secondary-text {
    display: block;
    margin-top: .25rem;
}
.mcc-admission-test-page {
    margin-top: 1rem;
    min-width: 0;
    overflow: visible;
}
.mcc-admission-test-page .mcc-card-heading {
    margin-bottom: .75rem;
}
.mcc-admission-test-question-list {
    display: grid;
    gap: 1rem;
    min-width: 0;
}
.mcc-admission-test-question-block {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    min-width: 0;
    padding: 1rem;
}
.mcc-admission-test-question-heading {
    align-items: flex-start;
    display: flex;
    gap: .65rem;
    min-width: 0;
}
.mcc-admission-test-question-number {
    color: var(--app-primary);
    flex: 0 0 auto;
    font-weight: 700;
}
.mcc-admission-test-question-text {
    flex: 1 1 auto;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}
.mcc-admission-test-answer-label {
    color: var(--app-muted);
    font-size: .76rem;
    font-weight: 700;
    margin: .85rem 0 .35rem;
}
.mcc-admission-test-options {
    display: grid;
    gap: .4rem;
    list-style: none;
    margin: 0;
    min-width: 0;
    padding: 0;
}
.mcc-admission-test-option,
.mcc-admission-test-answer {
    border-radius: .35rem;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.mcc-admission-test-option {
    border: 1px solid transparent;
    padding: .55rem .65rem;
}
.mcc-admission-test-option.is-selected {
    background: var(--app-primary-soft, rgba(13, 110, 253, .08));
    border-color: var(--app-primary);
    color: var(--app-primary);
    font-weight: 700;
}
.mcc-admission-test-answer {
    background: var(--app-surface, #f8f9fa);
    border: 1px solid var(--app-border);
    margin: 0;
    padding: .6rem .7rem;
}
.mcc-admission-test-answer.is-selected {
    border-color: var(--app-primary);
    font-weight: 700;
}
.mcc-admission-test-answer.is-not-answered {
    color: var(--app-muted);
    font-style: italic;
}
.mcc-admission-test-edit-panel {
    border-top: 1px solid var(--app-border);
    margin-top: 1rem;
    padding-top: 1rem;
}
.mcc-admission-test-edit-panel summary {
    color: var(--app-primary);
    cursor: pointer;
    font-weight: 700;
}
.mcc-admission-test-edit-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1rem;
}
.mcc-admission-test-detail .mcc-admission-action-menu {
    flex: 0 0 auto;
}
.mcc-admission-test-detail .mcc-admission-action-dropdown {
    min-width: 240px;
}
.mcc-admission-test-detail .mcc-alert {
    overflow-wrap: anywhere;
}
.mcc-wrap-anywhere {
    overflow-wrap: anywhere;
    white-space: normal !important;
}
.mcc-admission-test-wizard {
    min-width: 0;
}

.mcc-public-admission-test-wizard {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.mcc-public-admission-test-wizard .mcc-wizard-question-list {
    gap: 1rem;
}

.mcc-public-admission-test-wizard .mcc-wizard-controls {
    margin-top: 0;
}

.mcc-prefill-indicator {
    display: inline-block;
    margin-left: 0.35rem;
    color: var(--mcc-muted, #667085);
    font-size: 0.75rem;
    font-weight: 600;
}
.mcc-wizard-header,
.mcc-wizard-step {
    box-sizing: border-box;
    min-width: 0;
    overflow: visible;
    width: 100%;
}
.mcc-wizard-progress {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 1.25rem 0 0;
    padding: 0;
}
.mcc-wizard-progress li {
    align-items: center;
    color: var(--app-muted);
    display: flex;
    flex-direction: column;
    font-size: .76rem;
    gap: .35rem;
    min-width: 0;
    text-align: center;
}
.mcc-wizard-progress li span {
    align-items: center;
    background: var(--app-page-bg);
    border: 1px solid var(--app-border);
    border-radius: 50%;
    display: flex;
    height: 2rem;
    justify-content: center;
    width: 2rem;
}
.mcc-wizard-progress li.is-current,
.mcc-wizard-progress li.is-complete {
    color: var(--app-primary);
}
.mcc-wizard-progress li.is-current span,
.mcc-wizard-progress li.is-complete span {
    background: var(--app-primary);
    border-color: var(--app-primary);
    color: #fff;
}
.mcc-wizard-step[hidden] {
    display: none;
}
.mcc-wizard-question-list {
    display: grid;
    gap: 1rem;
    min-width: 0;
}
.mcc-wizard-question {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    margin: 0;
    min-width: 0;
    padding: 1rem;
}
.mcc-wizard-question legend {
    float: none;
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.45;
    margin: 0 0 .75rem;
    max-width: 100%;
    overflow-wrap: anywhere;
    width: 100%;
}
.mcc-wizard-options {
    display: grid;
    gap: .5rem;
}
.mcc-wizard-option {
    color: var(--app-text);
    font-size: .9rem;
    font-weight: 400;
    line-height: 1.35;
    margin: 0;
}
.mcc-wizard-option span {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.mcc-paper-set-step {
    overflow: visible;
}
.mcc-paper-set-options {
    border: 0;
    margin: 0;
    max-width: 100%;
    min-width: 0;
    padding: 0;
}
.mcc-paper-set-options .mcc-paper-set-choice {
    max-width: none;
    width: 100%;
}
.mcc-paper-set-choice input:disabled {
    cursor: not-allowed;
    opacity: 1;
}
.mcc-wizard-step .form-control,
.mcc-wizard-step select,
.mcc-wizard-step textarea,
.mcc-wizard-step input {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
}
.mcc-wizard-review-step {
    margin-top: 1rem;
}
.mcc-wizard-controls {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: space-between;
    margin-top: 1rem;
}
.mcc-wizard-controls [data-wizard-next],
.mcc-wizard-controls [data-wizard-submit] {
    margin-left: auto;
}
.mcc-wizard-controls [hidden] {
    display: none;
}
.mcc-wizard-review-table {
    min-width: 640px !important;
}
@media (max-width: 700px) {
    .mcc-wizard-progress {
        grid-template-columns: 1fr;
        text-align: left;
    }
    .mcc-wizard-progress li {
        align-items: center;
        flex-direction: row;
        text-align: left;
    }
    .mcc-wizard-controls {
        justify-content: stretch;
    }
    .mcc-wizard-controls .mcc-button {
        flex: 1 1 140px;
        margin-left: 0;
    }
    .mcc-wizard-header,
    .mcc-wizard-step {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .mcc-paper-set-choice {
        padding: .8rem;
    }
}

/* Shared UI rhythm: keep page actions, cards, filters, tables, and dialogs consistent. */
.mcc-page-heading {
    align-items: flex-end;
    margin-bottom: 1.15rem;
}

.mcc-page-heading h1 {
    line-height: 1.15;
    margin-bottom: .25rem;
}

.mcc-page-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.mcc-page-actions .mcc-button {
    min-height: 40px;
}

.mcc-table-wrap {
    max-width: 100%;
}

.mcc-modal-dialog {
    max-width: min(720px, calc(100vw - 2rem));
}

@media (max-width: 700px) {
    .mcc-page-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: .75rem;
    }

    .mcc-page-actions {
        width: 100%;
    }

    .mcc-page-actions .mcc-button {
        flex: 1 1 auto;
        justify-content: center;
    }
}
@media (min-width: 701px) and (max-width: 991.98px) {
    .mcc-wizard-progress {
        gap: .75rem;
    }
    .mcc-wizard-question {
        padding: .9rem;
    }
}
@media (max-width: 700px) {
    .mcc-admission-test-detail .mcc-card-heading {
        align-items: stretch;
        flex-direction: column;
    }
    .mcc-admission-test-detail .mcc-admission-actions,
    .mcc-admission-test-detail .mcc-admission-actions > button {
        width: 100%;
    }
    .mcc-admission-test-question-block {
        padding: .8rem;
    }
}
@media(max-width:575px) {
    .mcc-auth-logo {
        height: 96px;
        width: 84px
    }
}

/* Keep the status controls and action separated without changing their controls. */
.mcc-admission-detail > section[aria-labelledby="status-heading"] .mcc-status-form {
    align-items: end;
    column-gap: .75rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: .75rem;
}
.mcc-admission-detail > section[aria-labelledby="status-heading"] .mcc-status-form > .mcc-detail-form-actions {
    margin-top: 0;
}
@media (max-width: 700px) {
    .mcc-admission-detail > section[aria-labelledby="status-heading"] .mcc-status-form {
        gap: .75rem;
        grid-template-columns: 1fr;
    }
}

.mcc-admission-terms-trigger {
    margin-bottom: 1rem;
}

.mcc-admission-terms-modal .mcc-admission-terms-dialog {
    max-width: 760px;
}

.mcc-admission-terms-modal-body {
    max-height: min(70vh, 720px);
    overflow-y: auto;
    padding-right: .35rem;
}

.mcc-admission-terms {
    color: var(--app-text);
    line-height: 1.55;
}

.mcc-admission-terms-section + .mcc-admission-terms-section {
    border-top: 1px solid var(--app-border);
    margin-top: 1.25rem;
    padding-top: 1.25rem;
}

.mcc-admission-terms h3 {
    color: var(--app-heading);
    font-size: 1rem;
    margin: 0 0 .65rem;
}

.mcc-admission-terms p {
    margin: 0 0 .75rem;
}

.mcc-admission-terms-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mcc-admission-terms-list li {
    margin: 0 0 .65rem;
}

.mcc-admission-print-terms {
    border-top: 1px solid var(--app-border);
    margin-top: 1.5rem;
    padding-top: 1.5rem;
}

.mcc-admission-print-terms > h2 {
    color: var(--app-heading);
    font-size: 1.25rem;
    margin: 0 0 1rem;
}

@media print {
    body.mcc-app {
        background: #fff;
        color: #000;
    }

    .mcc-skip-link,
    .mcc-sidebar,
    .mcc-topbar,
    .mcc-mobile-backdrop,
    .mcc-breadcrumbs,
    .mcc-page-heading,
    .mcc-footer,
    .mcc-page-actions,
    .mcc-admission-actions,
    .mcc-admission-response,
    .mcc-admission-terms-trigger,
    .mcc-admission-terms-modal {
        display: none !important;
    }

    .mcc-app-shell,
    .mcc-main,
    .mcc-content,
    .mcc-page-container,
    .mcc-admission-form-shell,
    .mcc-admission-form,
    .mcc-admission-print-terms {
        background: #fff !important;
        box-shadow: none !important;
        color: #000 !important;
        margin: 0 !important;
        max-width: none !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .mcc-admission-print-terms {
        border-top: 1px solid #000;
        display: block !important;
        margin-top: 1.5rem !important;
        padding-top: 1rem !important;
        page-break-before: always;
    }

    .mcc-admission-print-terms > .mcc-admission-section-body {
        display: block !important;
    }

    .mcc-admission-print-terms h2,
    .mcc-admission-terms h3 {
        color: #000 !important;
        page-break-after: avoid;
    }

    .mcc-admission-terms,
    .mcc-admission-terms p,
    .mcc-admission-terms-list li {
        color: #000 !important;
    }

    .mcc-admission-terms-section,
    .mcc-admission-terms-list li {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .mcc-admission-terms-section + .mcc-admission-terms-section {
        border-top-color: #000;
    }
}

.mcc-achievement-award-card {
    overflow: visible;
}

.mcc-achievement-award-form-page,
.mcc-achievement-award-form-page .mcc-achievement-award-card,
.mcc-achievement-award-form-page .mcc-achievement-award-form {
    overflow: visible;
}

.mcc-achievement-award-form {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.mcc-achievement-award-form .mcc-form-field {
    min-width: 0;
    position: relative;
}

.mcc-achievement-award-form .mcc-form-field:has(.mcc-bt-select) {
    z-index: 70;
}

.mcc-achievement-award-form .mcc-bt-select-menu {
    z-index: 1000;
}

.mcc-achievement-award-form .mcc-form-field:has(#award-achievement) {
    position: relative;
    z-index: 1001;
}

.mcc-achievement-award-form .mcc-form-field[hidden] {
    display: none;
}

.mcc-achievement-award-form .mcc-form-field-wide {
    grid-column: 1 / -1;
}

.mcc-achievement-award-form .mcc-form-field > small {
    color: var(--app-muted);
    display: block;
    font-size: .76rem;
    line-height: 1.45;
}

.mcc-achievement-award-form .mcc-bt-select,
.mcc-achievement-award-form .mcc-bt-select-menu {
    max-width: 100%;
    width: 100%;
}

.mcc-achievement-award-form .mcc-form-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    justify-content: flex-end;
    margin-top: .35rem;
}

@media (max-width: 700px) {
    .mcc-achievement-award-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .mcc-achievement-award-form .mcc-form-field-wide {
        grid-column: auto;
    }

    .mcc-achievement-award-form .mcc-form-actions {
        justify-content: stretch;
    }

    .mcc-achievement-award-form .mcc-form-actions .mcc-button {
        flex: 1 1 100%;
    }
}

/* Dashboard layout */
.mcc-dashboard {
    display: grid;
    gap: 1rem;
    min-width: 0;
    width: 100%;
}

/* Parent and Student portal dashboard */
.mcc-portal-body {
    background: #f7f8fc;
    min-width: 0;
}

.mcc-portal-dashboard {
    color: var(--app-text);
    min-height: 100vh;
    min-width: 0;
}

.mcc-portal-header {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid var(--app-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    min-height: 72px;
    padding: .8rem clamp(1rem, 3vw, 2rem);
}

.mcc-portal-menu-toggle,
.mcc-portal-menu-close {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--app-muted);
    cursor: pointer;
    display: none;
    justify-content: center;
}

.mcc-portal-menu-toggle:focus-visible,
.mcc-portal-menu-close:focus-visible,
.mcc-portal-nav a:focus-visible,
.mcc-portal-nav form button:focus-visible {
    box-shadow: 0 0 0 3px rgba(132, 90, 223, .18);
    outline: 0;
}

.mcc-portal-brand,
.mcc-portal-header-start,
.mcc-portal-header-actions,
.mcc-portal-nav a,
.mcc-portal-actions {
    align-items: center;
    display: flex;
}

.mcc-portal-brand {
    color: var(--app-text);
    gap: .7rem;
    min-width: 0;
    text-decoration: none;
}

.mcc-portal-header-start {
    gap: .75rem;
    min-width: 0;
}

.mcc-portal-brand img {
    height: 48px;
    object-fit: contain;
    width: 48px;
}

.mcc-portal-brand-copy {
    display: grid;
    gap: .12rem;
    min-width: 0;
}

.mcc-portal-brand-copy strong {
    font-size: 1rem;
    line-height: 1.2;
    white-space: nowrap;
}

.mcc-portal-brand-copy small {
    color: var(--app-muted);
    font-size: .68rem;
    white-space: nowrap;
}

.mcc-portal-header-actions {
    flex-wrap: wrap;
    gap: .6rem;
    justify-content: flex-end;
}

.mcc-portal-header-actions form {
    margin: 0;
}

.mcc-portal-avatar {
    align-items: center;
    background: #eeeafb;
    border-radius: 50%;
    color: var(--app-primary);
    display: inline-flex;
    font-weight: 700;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.mcc-portal-user-summary {
    align-items: center;
    display: flex;
    gap: .35rem;
}

.mcc-portal-user-copy {
    display: grid;
    gap: .1rem;
    min-width: 0;
}

.mcc-portal-user-copy strong {
    font-size: .75rem;
    white-space: nowrap;
}

.mcc-portal-user-copy small {
    color: var(--app-muted);
    font-size: .66rem;
}

.mcc-portal-notification {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--app-muted);
    cursor: pointer;
    display: inline-flex;
    font-size: 1rem;
    justify-content: center;
    min-height: 34px;
    min-width: 34px;
    padding: .35rem;
    position: relative;
}

.mcc-portal-notification:focus-visible,
.mcc-portal-logout-button:focus-visible {
    box-shadow: 0 0 0 3px rgba(132, 90, 223, .18);
    outline: 0;
}

.mcc-portal-notification span {
    align-items: center;
    background: var(--app-danger, #b42318);
    border: 2px solid #fff;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: .56rem;
    height: 17px;
    justify-content: center;
    position: absolute;
    right: -1px;
    top: -1px;
    width: 17px;
}

.mcc-portal-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    min-width: 0;
}

.mcc-portal-backdrop {
    display: none;
}

.mcc-portal-sidebar {
    background: #fff;
    border-right: 1px solid var(--app-border);
    min-height: calc(100vh - 72px);
    padding: 1.2rem .85rem;
}

.mcc-portal-profile {
    align-items: center;
    border-bottom: 1px solid var(--app-border);
    display: flex;
    gap: .65rem;
    margin-bottom: 1rem;
    padding: .2rem .45rem 1rem;
}

.mcc-portal-profile-avatar {
    align-items: center;
    background: #eeeafb;
    border-radius: 50%;
    color: var(--app-primary);
    display: inline-flex;
    flex: 0 0 38px;
    font-size: .75rem;
    font-weight: 700;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.mcc-portal-profile strong,
.mcc-portal-profile .mcc-status-badge {
    display: block;
}

.mcc-portal-profile strong {
    font-size: .78rem;
    margin-bottom: .28rem;
    overflow-wrap: anywhere;
}

.mcc-portal-profile small {
    color: var(--app-muted);
    display: block;
    font-size: .68rem;
}

.mcc-portal-sidebar-label,
.mcc-portal-sidebar-note {
    color: var(--app-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    margin: 0 .65rem .65rem;
    text-transform: uppercase;
}

.mcc-portal-sidebar-note {
    display: block;
    font-size: .65rem;
    font-weight: 500;
    letter-spacing: 0;
    margin-top: 1.4rem;
    text-transform: none;
}

.mcc-portal-nav {
    display: grid;
    gap: .25rem;
}

.mcc-portal-nav-group {
    color: var(--app-muted);
    font-size: .63rem;
    font-weight: 750;
    letter-spacing: .08em;
    margin: .7rem .65rem .1rem;
    text-transform: uppercase;
}

.mcc-portal-nav a {
    border-radius: 7px;
    color: var(--app-muted);
    gap: .65rem;
    padding: .7rem .65rem;
    text-decoration: none;
}

.mcc-portal-nav a:hover,
.mcc-portal-nav a.is-active,
.mcc-portal-nav form button:hover {
    background: #f0edfb;
    color: var(--app-primary);
}

.mcc-portal-nav i {
    text-align: center;
    width: 1rem;
}

.mcc-portal-nav form {
    margin: 0;
}

.mcc-portal-nav form button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 7px;
    color: var(--app-muted);
    cursor: pointer;
    display: flex;
    font: inherit;
    gap: .65rem;
    padding: .7rem .65rem;
    text-align: left;
    width: 100%;
}

.mcc-portal-sidebar-footer {
    border-top: 1px solid var(--app-border);
    margin-top: 1.2rem;
    padding: .8rem .45rem 0;
}

.mcc-portal-sidebar-footer form {
    margin: .75rem 0 0;
}

.mcc-portal-sidebar-footer form button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 7px;
    color: var(--app-muted);
    cursor: pointer;
    display: flex;
    font: inherit;
    gap: .65rem;
    padding: .65rem .2rem;
    width: 100%;
}

.mcc-portal-sidebar-footer form button:hover {
    color: var(--app-primary);
}

.mcc-portal-main {
    display: grid;
    gap: 1rem;
    min-width: 0;
    padding: clamp(1rem, 3vw, 2rem);
}

.mcc-portal-demo-label {
    background: #fff8e7;
    border: 1px solid #f1d890;
    border-radius: 7px;
    color: #765b12;
    font-size: .74rem;
    padding: .55rem .75rem;
}

.mcc-portal-dashboard .mcc-status-badge {
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    font-size: .67rem;
    font-weight: 700;
    padding: .25rem .5rem;
}

.mcc-portal-dashboard .mcc-status-badge-info {
    background: #e8f5ff;
    color: #075985;
}

.mcc-portal-dashboard .mcc-status-badge-success {
    background: #e9f8ef;
    color: #16713c;
}

.mcc-portal-dashboard .mcc-status-badge-warning {
    background: #fff6df;
    color: #986500;
}

.mcc-portal-dashboard .mcc-status-badge-neutral {
    background: #eef1f5;
    color: #526176;
}

.mcc-portal-welcome {
    background: #fff;
    border-color: var(--app-border);
    display: block;
    min-width: 0;
    padding: 1.25rem 1.4rem;
}

.mcc-portal-welcome > div:first-child {
    flex: 1 1 auto;
    min-width: 0;
}

.mcc-portal-welcome .mcc-eyebrow {
    display: inline-block;
    margin-bottom: .15rem;
}

.mcc-portal-welcome-profile {
    align-items: center;
    background: rgba(255, 255, 255, .72);
    border: 1px solid #e4ddf5;
    border-radius: 10px;
    display: flex;
    gap: .75rem;
    flex: 0 0 270px;
    min-width: 0;
    padding: .7rem .85rem;
}

.mcc-portal-welcome-avatar {
    align-items: center;
    background: var(--app-primary);
    border: 4px solid #eeeafb;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    flex: 0 0 58px;
    font-size: .9rem;
    font-weight: 700;
    height: 58px;
    justify-content: center;
    width: 58px;
}

.mcc-portal-welcome h1 {
    font-size: clamp(1.3rem, 2.5vw, 1.7rem);
    margin: .25rem 0 .4rem;
}

.mcc-portal-welcome p {
    color: var(--app-muted);
    margin: 0;
    max-width: 680px;
}

.mcc-portal-welcome-summary {
    align-items: center;
    color: var(--app-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: .72rem;
    gap: .55rem;
    margin-top: .9rem;
}

.mcc-portal-welcome-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: 1rem;
}

.mcc-portal-welcome-chips span {
    align-items: center;
    background: rgba(255, 255, 255, .8);
    border: 1px solid #e4ddf5;
    border-radius: 999px;
    color: var(--app-muted);
    display: inline-flex;
    font-size: .68rem;
    gap: .35rem;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: .35rem .55rem;
}

.mcc-portal-welcome-chips i {
    color: var(--app-primary);
}

.mcc-portal-welcome-meta {
    align-items: flex-start;
    color: var(--app-muted);
    display: flex;
    flex-direction: column;
    font-size: .75rem;
    gap: .5rem;
    text-align: left;
}

.mcc-portal-welcome-meta strong {
    color: var(--app-text);
    font-size: .86rem;
}

.mcc-portal-kpi-grid,
.mcc-portal-content-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
}

.mcc-portal-content-grid {
    display: contents;
}

.mcc-portal-main {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.mcc-portal-demo-label,
.mcc-portal-welcome,
.mcc-portal-kpi-grid,
.mcc-portal-footer {
    grid-column: 1 / -1;
}

.mcc-portal-section {
    grid-column: 1 / -1;
}

.mcc-portal-main #academy {
    grid-column: 1 / -1;
    order: 4;
}

.mcc-portal-main #schedule,
.mcc-portal-main #matches,
.mcc-portal-main #tournaments {
    grid-column: 1 / span 8;
}

.mcc-portal-main #schedule {
    order: 10;
}

.mcc-portal-main #matches {
    order: 30;
}

.mcc-portal-main #tournaments {
    order: 40;
}

.mcc-portal-main #attendance,
.mcc-portal-main #development,
.mcc-portal-main #coach {
    grid-column: 9 / span 4;
}

.mcc-portal-main #attendance {
    order: 20;
}

.mcc-portal-main #development {
    order: 50;
}

.mcc-portal-main #coach {
    order: 60;
}

.mcc-portal-main #training {
    order: 15;
}

.mcc-portal-main #notices {
    order: 70;
}

.mcc-portal-main #documents {
    order: 80;
}

.mcc-portal-main #activity {
    order: 90;
}

.mcc-portal-main [aria-labelledby="portal-actions-heading"] {
    order: 100;
}

.mcc-portal-footer {
    align-items: center;
    border-top: 1px solid var(--app-border);
    color: var(--app-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: .7rem;
    gap: .75rem 1rem;
    justify-content: space-between;
    padding: .9rem .25rem .2rem;
}

.mcc-portal-footer strong {
    color: var(--app-text);
}

/* Keep portal cards in their contained section grids. */
.mcc-portal-main {
    grid-template-columns: none;
}

.mcc-portal-main > * {
    order: initial;
}

.mcc-portal-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
}

.mcc-portal-main #academy,
.mcc-portal-main #schedule,
.mcc-portal-main #matches,
.mcc-portal-main #tournaments,
.mcc-portal-main #attendance,
.mcc-portal-main #development,
.mcc-portal-main #coach,
.mcc-portal-main #training,
.mcc-portal-main #notices,
.mcc-portal-main #documents,
.mcc-portal-main #activity,
.mcc-portal-main [aria-labelledby="portal-actions-heading"] {
    grid-column: auto;
}

@media (max-width: 1000px) {
    .mcc-portal-content-grid {
        grid-template-columns: 1fr;
    }
}

/* Portal navigation opens focused pages instead of hash-only sections. */
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) .mcc-portal-welcome,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) .mcc-portal-kpi-grid,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) .mcc-portal-content-grid {
    display: contents;
}

.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #academy,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #schedule,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #training,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #matches,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #tournaments,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #attendance,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #development,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #coach,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #notices,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #documents,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #activity {
    display: none;
}

.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) [aria-labelledby="portal-actions-heading"] {
    display: none;
}

.mcc-portal-main[data-portal-page="profile"] .mcc-portal-welcome,
.mcc-portal-main[data-portal-page="academy"] #academy,
.mcc-portal-main[data-portal-page="coach"] #coach,
.mcc-portal-main[data-portal-page="schedule"] #schedule,
.mcc-portal-main[data-portal-page="schedule"] #training,
.mcc-portal-main[data-portal-page="matches"] #matches,
.mcc-portal-main[data-portal-page="tournaments"] #tournaments,
.mcc-portal-main[data-portal-page="attendance"] #attendance,
.mcc-portal-main[data-portal-page="development"] #development,
.mcc-portal-main[data-portal-page="documents"] #documents,
.mcc-portal-main[data-portal-page="notices"] #notices {
    display: block !important;
}

.mcc-portal-kpi {
    min-width: 0;
    overflow: hidden;
    position: relative;
}

.mcc-portal-kpi > span,
.mcc-portal-kpi small {
    color: var(--app-muted);
    display: block;
    font-size: .74rem;
}

.mcc-portal-kpi strong {
    color: var(--app-primary);
    display: block;
    font-size: 1.4rem;
    margin: .45rem 0 .2rem;
    overflow-wrap: anywhere;
}

.mcc-portal-kpi > i {
    color: #e8e3f8;
    font-size: 2.4rem;
    position: absolute;
    right: .8rem;
    top: .8rem;
}

.mcc-portal-section {
    min-width: 0;
    overflow: hidden;
}

.mcc-portal-section-heading {
    align-items: flex-start;
    border-bottom: 1px solid var(--app-border);
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    margin-bottom: .9rem;
    padding-bottom: .7rem;
}

.mcc-portal-section-heading h2 {
    font-size: 1rem;
    margin: .25rem 0 0;
}

.mcc-button-small {
    font-size: .72rem;
    padding: .4rem .65rem;
}

.mcc-portal-schedule-list,
.mcc-portal-notices,
.mcc-portal-document-list {
    display: grid;
    min-width: 0;
}

.mcc-portal-schedule-list article,
.mcc-portal-document-list article {
    align-items: center;
    border-bottom: 1px solid var(--app-border);
    display: flex;
    gap: .7rem;
    min-width: 0;
    padding: .7rem 0;
}

.mcc-portal-schedule-list article:last-child,
.mcc-portal-document-list article:last-child {
    border-bottom: 0;
}

.mcc-portal-schedule-list time {
    align-items: center;
    background: #f0edfb;
    border-radius: 7px;
    color: var(--app-primary);
    display: flex;
    flex: 0 0 44px;
    flex-direction: column;
    padding: .35rem;
}

.mcc-portal-schedule-list time strong {
    font-size: 1.1rem;
}

.mcc-portal-schedule-list time span {
    font-size: .62rem;
    font-weight: 700;
}

.mcc-portal-schedule-list article > div,
.mcc-portal-document-list article > div {
    flex: 1 1 auto;
    min-width: 0;
}

.mcc-portal-section-description {
    color: var(--app-muted);
    margin: 0 0 1rem;
}

.mcc-portal-achievement-list {
    display: grid;
    gap: .75rem;
}

.mcc-portal-achievement-item {
    align-items: flex-start;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    min-width: 0;
    padding: .85rem 1rem;
}

.mcc-portal-achievement-item > div {
    min-width: 0;
}

.mcc-portal-achievement-item h3 {
    font-size: .95rem;
    margin: .25rem 0 .3rem;
    overflow-wrap: anywhere;
}

.mcc-portal-achievement-item p {
    color: var(--app-muted);
    margin: 0 0 .35rem;
    overflow-wrap: anywhere;
}

.mcc-portal-achievement-item small {
    color: var(--app-muted);
    display: block;
}

@media (max-width: 540px) {
    .mcc-portal-achievement-item {
        display: block;
    }

    .mcc-portal-achievement-item > .mcc-status-badge {
        display: inline-block;
        margin-top: .65rem;
    }
}

.mcc-portal-schedule-list article strong,
.mcc-portal-schedule-list article div span,
.mcc-portal-document-list article strong,
.mcc-portal-document-list article small {
    display: block;
    overflow-wrap: anywhere;
}

.mcc-portal-schedule-list article div span,
.mcc-portal-document-list article small {
    color: var(--app-muted);
    font-size: .72rem;
    margin-top: .2rem;
}

.mcc-portal-attendance-total {
    align-items: baseline;
    display: flex;
    gap: .5rem;
}

.mcc-portal-attendance-total strong {
    color: var(--app-primary);
    font-size: 2rem;
}

.mcc-portal-attendance-total span {
    color: var(--app-muted);
    font-size: .75rem;
}

.mcc-portal-progress {
    background: #eeeaf8;
    border-radius: 999px;
    height: 8px;
    margin: .8rem 0 1rem;
    overflow: hidden;
}

.mcc-portal-progress span {
    background: var(--app-primary);
    border-radius: inherit;
    display: block;
    height: 100%;
}

.mcc-portal-attendance-grid {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mcc-portal-attendance-grid span {
    color: var(--app-muted);
    font-size: .72rem;
}

.mcc-portal-attendance-grid b {
    color: var(--app-text);
    margin-right: .25rem;
}

.mcc-portal-details {
    display: grid;
    gap: .75rem 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.mcc-portal-details dt {
    color: var(--app-muted);
    font-size: .68rem;
    margin-bottom: .15rem;
}

.mcc-portal-details dd {
    font-size: .8rem;
    font-weight: 600;
    margin: 0;
    overflow-wrap: anywhere;
}

.mcc-portal-notices article {
    border-bottom: 1px solid var(--app-border);
    display: grid;
    gap: .35rem;
    padding: .65rem 0;
}

.mcc-portal-notices article:last-child {
    border-bottom: 0;
}

.mcc-portal-notices strong,
.mcc-portal-notices small {
    overflow-wrap: anywhere;
}

.mcc-portal-notices small {
    color: var(--app-muted);
    font-size: .7rem;
}

.mcc-portal-document-list article > i {
    color: var(--app-primary);
    flex: 0 0 1rem;
}

.mcc-portal-info-grid {
    display: grid;
    gap: .75rem 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mcc-portal-info-grid div,
.mcc-portal-coach-summary p {
    margin: 0;
}

.mcc-portal-info-grid span,
.mcc-portal-coach-summary strong {
    color: var(--app-muted);
    display: block;
    font-size: .68rem;
    margin-bottom: .2rem;
}

.mcc-portal-info-grid strong,
.mcc-portal-coach-summary span {
    display: block;
    font-size: .77rem;
    overflow-wrap: anywhere;
}

.mcc-portal-coach-summary {
    display: grid;
    gap: .7rem;
    margin-bottom: 1rem;
}

.mcc-portal-record-list {
    display: grid;
    gap: .7rem;
}

.mcc-portal-record-list article {
    align-items: center;
    border-bottom: 1px solid var(--app-border);
    display: flex;
    gap: .75rem;
    min-width: 0;
    padding: .35rem 0 .7rem;
}

.mcc-portal-record-list article:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.mcc-portal-record-list article > div {
    flex: 1 1 auto;
    min-width: 0;
}

.mcc-portal-record-list strong,
.mcc-portal-record-list span,
.mcc-portal-record-list small {
    display: block;
    overflow-wrap: anywhere;
}

.mcc-portal-record-list span,
.mcc-portal-record-list small {
    color: var(--app-muted);
    font-size: .7rem;
    margin-top: .18rem;
}

.mcc-portal-record-list > article > small {
    flex: 0 0 auto;
    max-width: 115px;
}

.mcc-portal-table-wrap {
    max-width: 100%;
    overflow-x: auto;
}

.mcc-portal-table {
    border-collapse: collapse;
    min-width: 720px;
    width: 100%;
}

.mcc-portal-table th,
.mcc-portal-table td {
    border-bottom: 1px solid var(--app-border);
    padding: .7rem .55rem;
    text-align: left;
    vertical-align: top;
}

.mcc-portal-table th {
    color: var(--app-muted);
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
}

.mcc-portal-table td {
    font-size: .75rem;
    overflow-wrap: anywhere;
}

.mcc-portal-development-list {
    display: grid;
    gap: .7rem;
}

.mcc-portal-development-list p {
    display: grid;
    gap: .35rem;
    grid-template-columns: 1fr auto;
    margin: 0;
    position: relative;
}

.mcc-portal-development-list span {
    font-size: .75rem;
}

.mcc-portal-development-list strong {
    color: var(--app-primary);
    font-size: .75rem;
}

.mcc-portal-development-list i {
    background: var(--app-primary);
    border-radius: 999px;
    display: block;
    grid-column: 1 / -1;
    height: 6px;
    position: relative;
}

.mcc-portal-development-list i::before {
    background: #eeeaf8;
    border-radius: inherit;
    content: '';
    inset: 0 -100% 0 0;
    position: absolute;
    z-index: -1;
}

.mcc-portal-section-note {
    color: var(--app-muted);
    font-size: .72rem;
    line-height: 1.5;
    margin: 1rem 0 0;
}

.mcc-portal-activity-list {
    display: grid;
    gap: .65rem;
}

.mcc-portal-activity-list p {
    align-items: flex-start;
    display: flex;
    gap: .65rem;
    margin: 0;
}

.mcc-portal-activity-list p > i {
    color: var(--app-primary);
    flex: 0 0 1rem;
    padding-top: .15rem;
    text-align: center;
}

.mcc-portal-activity-list strong,
.mcc-portal-activity-list small {
    display: block;
    overflow-wrap: anywhere;
}

.mcc-portal-activity-list small {
    color: var(--app-muted);
    font-size: .68rem;
    margin-top: .15rem;
}

.mcc-portal-notice-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mcc-portal-notice-grid article {
    border: 1px solid var(--app-border);
    border-radius: 7px;
    display: grid;
    gap: .4rem;
    padding: .8rem;
}

.mcc-portal-notice-grid strong,
.mcc-portal-notice-grid small {
    overflow-wrap: anywhere;
}

.mcc-portal-notice-grid small {
    color: var(--app-muted);
    font-size: .68rem;
    line-height: 1.4;
}

.mcc-portal-actions {
    flex-wrap: wrap;
    gap: .65rem;
}

@media (max-width: 1000px) {
    .mcc-portal-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mcc-portal-content-grid {
        grid-template-columns: 1fr;
    }

    .mcc-portal-notice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .mcc-portal-header,
    .mcc-portal-welcome {
        align-items: flex-start;
    }

    .mcc-portal-header {
        flex-direction: row;
        min-height: 64px;
        padding: .65rem 1rem;
    }

    .mcc-portal-menu-toggle {
        display: inline-flex;
        flex: 0 0 2.25rem;
        font-size: 1.1rem;
        height: 2.25rem;
        width: 2.25rem;
    }

    .mcc-portal-header-actions {
        align-items: center;
        flex-wrap: nowrap;
        width: auto;
    }

    .mcc-portal-welcome-meta {
        justify-content: flex-start;
        text-align: left;
    }

    .mcc-portal-welcome-profile {
        width: 100%;
    }

    .mcc-portal-layout {
        display: block;
    }

    .mcc-portal-main #academy,
    .mcc-portal-main #schedule,
    .mcc-portal-main #training,
    .mcc-portal-main #attendance,
    .mcc-portal-main #matches,
    .mcc-portal-main #tournaments,
    .mcc-portal-main #development,
    .mcc-portal-main #coach,
    .mcc-portal-main #notices,
    .mcc-portal-main #documents,
    .mcc-portal-main #activity,
    .mcc-portal-main [aria-labelledby="portal-actions-heading"] {
        grid-column: 1 / -1;
    }

    .mcc-portal-sidebar {
        bottom: 0;
        box-shadow: var(--app-shadow);
        left: 0;
        min-height: 100vh;
        overflow-y: auto;
        padding: 1rem;
        position: fixed;
        top: 0;
        transform: translateX(-105%);
        transition: transform .2s ease;
        width: min(82vw, 280px);
        z-index: 80;
    }

    .mcc-portal-nav-open .mcc-portal-sidebar {
        transform: translateX(0);
    }

    .mcc-portal-nav-open {
        overflow: hidden;
    }

    .mcc-portal-menu-close {
        display: inline-flex;
        font-size: 1.1rem;
        height: 2.25rem;
        margin-left: auto;
        width: 2.25rem;
    }

    .mcc-portal-backdrop {
        background: rgba(15, 23, 42, .48);
        border: 0;
        inset: 0;
        opacity: 0;
        pointer-events: none;
        position: fixed;
        transition: opacity .2s ease;
        z-index: 70;
    }

    .mcc-portal-nav-open .mcc-portal-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .mcc-portal-sidebar-label,
    .mcc-portal-sidebar-note {
        display: block;
    }

    .mcc-portal-nav {
        display: grid;
        gap: .35rem;
        margin-top: .8rem;
    }

    .mcc-portal-nav a {
        font-size: .75rem;
        padding: .55rem .65rem;
    }

    .mcc-portal-main {
        padding: 1rem;
    }

    .mcc-portal-section-heading {
        flex-wrap: wrap;
    }

    .mcc-portal-info-grid,
    .mcc-portal-notice-grid {
        grid-template-columns: 1fr;
    }

    .mcc-portal-record-list article {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .mcc-portal-record-list article > small {
        flex-basis: calc(100% - 3.2rem);
        margin-left: 3.2rem;
        max-width: none;
    }

    .mcc-portal-record-list article > .mcc-status-badge {
        margin-left: 3.2rem;
    }

    .mcc-portal-schedule-list article,
    .mcc-portal-document-list article {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .mcc-portal-schedule-list article > .mcc-status-badge,
    .mcc-portal-document-list article > .mcc-status-badge {
        margin-left: 3.2rem;
    }

    .mcc-portal-actions .mcc-button {
        flex: 1 1 100%;
        justify-content: center;
    }
}

@media (max-width: 420px) {
    .mcc-portal-header-start {
        gap: .25rem;
    }

    .mcc-portal-brand {
        gap: .35rem;
    }

    .mcc-portal-brand img {
        height: 38px;
        width: 38px;
    }

    .mcc-portal-brand-copy strong {
        font-size: .75rem;
    }

    .mcc-portal-brand-copy small,
    .mcc-portal-user-copy,
    .mcc-portal-header-actions > .mcc-status-badge {
        display: none;
    }

    .mcc-portal-header-actions {
        gap: .15rem;
    }

    .mcc-portal-logout-button {
        min-height: 34px;
        min-width: 34px;
        padding: .35rem;
    }

    .mcc-portal-kpi-grid,
    .mcc-portal-details {
        grid-template-columns: 1fr;
    }

    .mcc-portal-header-actions .mcc-button {
        flex: 1 1 auto;
    }
}

.dashboard-surface {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: 10px;
    box-shadow: none;
    min-width: 0;
    padding: 1rem 1.1rem;
    width: 100%;
}

.dashboard-hero {
    align-items: flex-end;
    background: linear-gradient(135deg, #172b4d, #304f7a);
    border-radius: 12px;
    color: #fff;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: 1.35rem 1.5rem;
}

.dashboard-hero h1 {
    color: #fff;
    font-size: clamp(1.45rem, 2vw, 2rem);
    margin: .2rem 0 0;
}

.dashboard-hero .mcc-eyebrow,
.dashboard-hero-copy,
.dashboard-hero-date {
    color: rgba(255, 255, 255, .78);
}

.dashboard-hero-filters {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-end;
}

.dashboard-hero-filters label {
    display: grid;
    gap: .25rem;
}

.dashboard-hero-filters label > span {
    color: rgba(255, 255, 255, .78);
    font-size: .65rem;
    font-weight: 700;
}

.dashboard-hero-filters input,
.dashboard-hero-filters select,
.dashboard-hero-filters button,
.dashboard-hero-filters a {
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 6px;
    font-size: .72rem;
    min-height: 34px;
    padding: .4rem .55rem;
}

.dashboard-hero-filters input,
.dashboard-hero-filters select {
    background: #fff;
    color: var(--app-text);
    min-width: 8.5rem;
}

.dashboard-hero-filters button {
    background: var(--app-primary);
    color: #fff;
    cursor: pointer;
    font-weight: 700;
}

.dashboard-hero-filters a {
    color: #fff;
    text-decoration: none;
}

.dashboard-filter-helper {
    color: var(--app-muted);
    font-size: .75rem;
    margin: .1rem 0 0;
}

.dashboard-hero-copy {
    font-size: .82rem;
    margin: .45rem 0 0;
    max-width: 42rem;
}

.dashboard-hero-date {
    font-size: .76rem;
    white-space: nowrap;
}

.dashboard-filter-summary {
    cursor: pointer;
    list-style: none;
    margin: 0;
}

.dashboard-filter-summary::-webkit-details-marker {
    display: none;
}

.dashboard-filter-summary > span:first-child {
    display: grid;
    gap: .15rem;
}

.dashboard-filter-summary strong {
    color: var(--app-text);
    font-size: 1rem;
}

.dashboard-filters[open] .dashboard-filter-summary {
    margin-bottom: .85rem;
}

.dashboard-director-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(240px, .8fr) minmax(0, 1.4fr);
    margin-bottom: 1rem;
    min-width: 0;
}

.dashboard-distribution-list {
    display: grid;
    gap: .65rem;
}

.dashboard-distribution-row {
    align-items: center;
    background: #fff;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    padding: .75rem;
}

.dashboard-distribution-row strong {
    color: var(--app-primary);
    font-size: 1.35rem;
}

.dashboard-distribution-label {
    min-width: 8.5rem;
}

.dashboard-distribution-value {
    align-items: center;
    display: flex;
    gap: .65rem;
    justify-content: flex-end;
    min-width: 0;
    width: min(58%, 17rem);
}

.dashboard-distribution-value i {
    background: #e6eef9;
    border-radius: 999px;
    display: block;
    height: .5rem;
    min-width: 4rem;
    overflow: hidden;
    width: 100%;
}

.dashboard-distribution-value i b {
    background: linear-gradient(90deg, #1464d2, #49a7ff);
    border-radius: inherit;
    display: block;
    height: 100%;
}

.dashboard-branch-card-grid {
    display: grid;
    gap: .7rem;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.dashboard-branch-card {
    background: #fff;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    padding: .8rem;
}

.dashboard-branch-card h3 {
    color: var(--app-text);
    font-size: .82rem;
    margin: 0 0 .7rem;
    overflow-wrap: anywhere;
}

.dashboard-branch-card-metrics {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-branch-card-metrics span {
    display: grid;
    gap: .15rem;
}

.dashboard-branch-card-metrics strong {
    color: var(--app-primary);
    font-size: 1.25rem;
}

.dashboard-branch-card-metrics small {
    color: var(--app-muted);
    font-size: .66rem;
}

.dashboard-coach-directory .table-responsive {
    margin: -.25rem -.25rem -.25rem;
}

.dashboard-reference-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 1rem;
    min-width: 0;
}

.dashboard-reference-grid .dashboard-surface {
    min-width: 0;
}

.dashboard-unavailable-panel {
    background: #f7f8fb;
    border: 1px dashed #cbd3df;
    border-radius: 8px;
    color: var(--app-muted);
    padding: .9rem;
}

.dashboard-unavailable-panel strong {
    color: var(--app-text);
    display: block;
    font-size: .78rem;
}

.dashboard-unavailable-panel p {
    font-size: .72rem;
    margin: .35rem 0 0;
}

.dashboard-coaching-batch-table {
    margin-bottom: 0;
    min-width: 31rem;
}

.dashboard-schedule-list {
    display: grid;
    gap: .55rem;
}

.dashboard-schedule-row {
    align-items: center;
    border-bottom: 1px solid var(--app-border);
    display: flex;
    gap: .7rem;
    padding: .5rem 0;
}

.dashboard-schedule-row:last-child {
    border-bottom: 0;
}

.dashboard-schedule-row > strong {
    color: var(--app-primary);
    flex: 0 0 3.2rem;
    font-size: .78rem;
}

.dashboard-schedule-row span {
    min-width: 0;
}

.dashboard-schedule-row b,
.dashboard-schedule-row small {
    display: block;
}

.dashboard-schedule-row b {
    font-size: .76rem;
}

.dashboard-schedule-row small {
    color: var(--app-muted);
    font-size: .68rem;
    margin-top: .15rem;
    overflow-wrap: anywhere;
}

.dashboard-workload-unavailable {
    margin-bottom: 1rem;
}

.dashboard-kpi-unavailable strong {
    color: var(--app-muted);
    font-size: 1rem;
}

.mcc-dashboard .table-responsive {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    overscroll-behavior-x: contain;
    position: relative;
}

.mcc-dashboard .table {
    min-width: 34rem;
}

.mcc-topbar:has(+ .mcc-content:has(.mcc-dashboard)) {
    position: relative;
    z-index: 100;
}

.mcc-dashboard ~ * {
    position: relative;
}

.mcc-account-menu {
    z-index: 1000;
}

.dashboard-branch-card-detail {
    border-top: 1px solid var(--app-border);
    display: grid;
    gap: .2rem;
    margin-top: .7rem;
    padding-top: .6rem;
}

.dashboard-branch-card-detail strong {
    color: var(--app-text);
    font-size: .68rem;
}

.dashboard-branch-card-detail span {
    color: var(--app-muted);
    font-size: .67rem;
    overflow-wrap: anywhere;
}

.dashboard-branch-coaching-chart {
    align-items: center;
    display: flex;
    gap: .55rem;
}

.dashboard-branch-donut {
    background: conic-gradient(
        #1464d2 0 var(--group-percent),
        #f0a21a var(--group-percent) calc(var(--group-percent) + var(--personal-percent)),
        #e5edf8 calc(var(--group-percent) + var(--personal-percent)) 100%
    );
    border: 4px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px #d8e5f4;
    flex: 0 0 2.7rem;
    height: 2.7rem;
    position: relative;
    width: 2.7rem;
}

.dashboard-branch-donut::after {
    background: #fff;
    border-radius: 50%;
    content: '';
    inset: .55rem;
    position: absolute;
}

.dashboard-branch-legend {
    display: grid;
    gap: .2rem;
}

.dashboard-branch-legend > span {
    align-items: center;
    display: flex;
    gap: .25rem;
    white-space: nowrap;
}

.dashboard-legend-dot {
    border-radius: 50%;
    display: inline-block;
    height: .45rem;
    width: .45rem;
}

.dashboard-legend-group {
    background: #1464d2;
}

.dashboard-legend-personal {
    background: #f0a21a;
}

.dashboard-branch-batch-row {
    align-items: center;
    display: grid;
    gap: .3rem;
    grid-template-columns: minmax(3.5rem, .8fr) 1fr auto;
}

.dashboard-branch-batch-row em {
    font-style: normal;
    overflow-wrap: anywhere;
}

.dashboard-branch-batch-row i {
    background: #e7eef8;
    border-radius: 99px;
    display: block;
    height: .35rem;
    overflow: hidden;
}

.dashboard-branch-batch-row i b {
    background: #3a83e8;
    border-radius: inherit;
    display: block;
    height: 100%;
}

.dashboard-branch-batch-row strong {
    color: #10266d;
    font-size: .68rem;
}

.dashboard-coach-table {
    margin-bottom: 0;
    min-width: 31rem;
}

.dashboard-coach-table th,
.dashboard-coach-table td {
    vertical-align: middle;
}

.dashboard-table-stack {
    display: grid;
    gap: .35rem;
}

.dashboard-unavailable .dashboard-status-row {
    gap: 1rem;
}

.dashboard-unavailable .dashboard-status-row strong {
    color: var(--app-muted);
    font-size: .72rem;
    font-weight: 500;
    text-align: right;
}

.dashboard-section-heading {
    align-items: flex-start;
    border-bottom: 1px solid var(--app-border);
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    margin-bottom: .85rem;
    padding-bottom: .7rem;
}

.dashboard-section-heading h2,
.dashboard-subsection-heading h3 {
    font-weight: 600;
    margin: .2rem 0 0;
}

.dashboard-section-heading h2 {
    color: var(--app-text);
    font-size: 1rem;
}

.dashboard-section-heading a,
.dashboard-subsection-heading a {
    font-size: .75rem;
    white-space: nowrap;
}

.dashboard-section-note,
.dashboard-muted-empty {
    color: var(--app-muted);
    font-size: .74rem;
}

.dashboard-kpi-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
    min-width: 0;
}

.dashboard-kpi {
    background: #fff;
    border: 1px solid var(--app-border);
    border-radius: 7px;
    color: var(--app-text);
    display: flex;
    flex-direction: column;
    min-height: 112px;
    min-width: 0;
    padding: .8rem;
    position: relative;
}

.dashboard-kpi:hover,
.dashboard-kpi:focus-visible {
    border-color: var(--app-primary);
    color: var(--app-text);
}

.dashboard-kpi:focus-visible,
.dashboard-action-item:focus-visible,
.dashboard-activity-link:focus-visible {
    box-shadow: 0 0 0 3px rgba(132, 90, 223, .14);
    outline: 0;
}

.dashboard-kpi-label {
    color: var(--app-muted);
    font-size: .75rem;
    font-weight: 650;
}

.dashboard-kpi-icon {
    align-items: center;
    background: #edf3ff;
    border-radius: 50%;
    color: #1464d2;
    display: flex;
    font-size: 1rem;
    height: 2.2rem;
    justify-content: center;
    margin-bottom: .45rem;
    width: 2.2rem;
}

.dashboard-kpi:nth-child(2) .dashboard-kpi-icon {
    background: #ffe9ee;
    color: #d72d5d;
}

.dashboard-kpi:nth-child(3) .dashboard-kpi-icon {
    background: #f1eaff;
    color: #7a34c8;
}

.dashboard-kpi:nth-child(4) .dashboard-kpi-icon {
    background: #fff0df;
    color: #e36b00;
}

.dashboard-kpi:nth-child(5) .dashboard-kpi-icon {
    background: #e7f8ec;
    color: #1c9b54;
}

.dashboard-kpi:nth-child(6) .dashboard-kpi-icon {
    background: #ffeaf7;
    color: #c02e80;
}

.dashboard-kpi strong {
    color: var(--app-primary);
    font-size: 1.55rem;
    line-height: 1.2;
    margin-top: .35rem;
}

.dashboard-kpi-description {
    color: var(--app-muted);
    font-size: .7rem;
    margin-top: auto;
    padding-top: .35rem;
}

.dashboard-primary-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr);
    min-width: 0;
}

.dashboard-attention {
    border-top: 3px solid var(--app-primary);
}

.dashboard-count {
    background: #f5f2fc;
    border-radius: 999px;
    color: var(--app-primary);
    font-size: .72rem;
    font-weight: 700;
    padding: .3rem .55rem;
    white-space: nowrap;
}

.dashboard-attention-list,
.dashboard-quick-action-list,
.dashboard-status-list,
.dashboard-activity-list {
    display: grid;
    min-width: 0;
}

.dashboard-action-item,
.dashboard-activity-row {
    align-items: center;
    border-bottom: 1px solid var(--app-border);
    color: var(--app-text);
    display: flex;
    gap: .75rem;
    min-width: 0;
    padding: .65rem 0;
}

.dashboard-action-item:last-child,
.dashboard-activity-row:last-child {
    border-bottom: 0;
}

.dashboard-action-item > span,
.dashboard-activity-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.dashboard-action-item strong,
.dashboard-action-item small,
.dashboard-activity-copy strong,
.dashboard-activity-copy small {
    display: block;
}

.dashboard-action-item strong,
.dashboard-activity-copy strong {
    font-size: .78rem;
}

.dashboard-action-item small,
.dashboard-activity-copy small {
    color: var(--app-muted);
    font-size: .72rem;
    margin-top: .15rem;
    overflow-wrap: anywhere;
}

.dashboard-action-item > i {
    color: var(--app-muted);
    font-size: .75rem;
}

.dashboard-action-item:hover,
.dashboard-action-item:hover > i {
    color: var(--app-primary-hover);
}

.dashboard-quick-action-list {
    gap: .55rem;
}

.dashboard-quick-action-list .mcc-button {
    justify-content: flex-start;
    min-height: 36px;
    width: 100%;
}

.dashboard-quick-action-list .mcc-button-secondary {
    border-color: var(--app-primary);
    color: var(--app-primary);
}

.dashboard-quick-action-list .mcc-button-secondary:hover,
.dashboard-quick-action-list .mcc-button-secondary:focus-visible {
    background: var(--app-primary);
    border-color: var(--app-primary);
    color: #fff;
}

.dashboard-analytics-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
}

.dashboard-status-row {
    align-items: center;
    border-bottom: 1px solid var(--app-border);
    display: flex;
    justify-content: space-between;
    padding: .5rem 0;
}

.dashboard-status-row:last-child {
    border-bottom: 0;
}

.dashboard-status-row span {
    color: var(--app-muted);
    font-size: .78rem;
}

.dashboard-attendance-summary {
    align-items: baseline;
    display: flex;
    gap: .4rem;
}

.dashboard-attendance-summary strong {
    font-size: 1.7rem;
}

.dashboard-attendance-summary span,
.dashboard-attendance-breakdown span {
    color: var(--app-muted);
    font-size: .74rem;
}

.dashboard-attendance-breakdown {
    display: grid;
    gap: .35rem;
    grid-template-columns: repeat(2, 1fr);
    margin-top: .85rem;
}

.dashboard-attendance-breakdown b {
    color: var(--app-text);
    margin-right: .2rem;
}

.dashboard-upcoming-groups {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-upcoming {
    border: 1px solid var(--app-border);
    padding: 1rem 1.1rem;
}

.dashboard-calendar-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
}

.dashboard-activity-list {
    gap: .75rem;
}

.dashboard-activity-card {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: 7px;
    box-shadow: none;
    padding: .95rem 1rem;
}

.dashboard-activity-card:last-child {
    border-bottom: 1px solid var(--app-border);
}

.dashboard-activity-card .dashboard-activity-copy {
    overflow-wrap: anywhere;
}

.dashboard-upcoming-group {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: 10px;
    box-shadow: none;
    min-width: 0;
    padding: 1rem 1.1rem;
}

.dashboard-upcoming-group .dashboard-activity-list {
    margin-top: .75rem;
}

.dashboard-subsection-heading {
    align-items: baseline;
    border-left: 2px solid var(--app-primary);
    display: flex;
    justify-content: space-between;
    margin-bottom: .25rem;
    padding-left: .55rem;
}

.dashboard-subsection-heading h3 {
    font-size: .82rem;
}

.dashboard-muted-empty {
    margin: .65rem 0;
}

.dashboard-activity-date {
    align-items: center;
    color: var(--app-primary);
    display: inline-flex;
    flex: 0 0 48px;
    flex-direction: column;
    font-size: .68rem;
    justify-content: center;
    text-align: center;
}

.dashboard-activity-date b {
    font-size: .7rem;
}

.dashboard-activity-type {
    color: var(--app-primary);
    flex: 0 0 auto;
    font-size: .7rem;
    white-space: nowrap;
}

.dashboard-activity-link {
    color: var(--app-text);
    text-decoration: none;
}

.dashboard-activity-link:hover {
    color: var(--app-text);
}

.dashboard-recent-list .dashboard-activity-row {
    padding: .55rem 0;
}

.dashboard-empty {
    align-items: center;
    color: var(--app-muted);
    display: flex;
    justify-content: center;
    min-height: 76px;
    text-align: center;
}

.dashboard-empty p {
    font-size: .78rem;
    margin: 0;
}

.dashboard-empty-inline {
    justify-content: flex-start;
    text-align: left;
}

/* Reference-aligned Director Dashboard composition. */
.mcc-page-container:has(> .mcc-dashboard) > .mcc-breadcrumbs,
.mcc-page-container:has(> .mcc-dashboard) > .mcc-page-heading {
    display: none;
}

.mcc-dashboard {
    background: #f5f9ff;
    gap: .75rem;
    max-width: none;
    padding-bottom: 1rem;
}

.dashboard-hero {
    align-items: center;
    background: #fff;
    border: 1px solid #d8e5f4;
    border-radius: 0;
    color: #10266d;
    margin: -.25rem 0 0;
    padding: .8rem 1rem;
}

.dashboard-hero h1 {
    color: #10266d;
    font-size: clamp(1.5rem, 2.6vw, 2.25rem);
    letter-spacing: -.03em;
}

.dashboard-hero .mcc-eyebrow,
.dashboard-hero-copy,
.dashboard-hero-date {
    color: #3f5aa1;
}

.dashboard-hero-copy {
    font-size: .78rem;
}

.dashboard-hero-filters input,
.dashboard-hero-filters select,
.dashboard-hero-filters button,
.dashboard-hero-filters a {
    border-color: #c9d9ef;
}

.dashboard-hero-filters label > span {
    color: #536da9;
}

.dashboard-hero-filters button {
    background: #1464d2;
}

.dashboard-hero-filters a {
    color: #1464d2;
}

.dashboard-kpi-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.dashboard-kpi {
    background: #fff;
    border-color: #d8e5f4;
    min-height: 136px;
    padding: .75rem;
}

.dashboard-summary {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.dashboard-summary > .dashboard-section-heading {
    padding: 0 .2rem;
}

.dashboard-primary-grid,
.dashboard-analytics-grid,
.dashboard-director-grid,
.dashboard-reference-grid {
    align-items: stretch;
}

.dashboard-primary-grid > .dashboard-surface,
.dashboard-analytics-grid > .dashboard-surface,
.dashboard-director-grid > .dashboard-surface,
.dashboard-reference-grid > .dashboard-surface {
    height: 100%;
}

.dashboard-kpi-label {
    color: #10266d;
    font-size: .7rem;
    white-space: nowrap;
}

.dashboard-kpi strong {
    color: #10266d;
    font-size: 1.45rem;
}

.dashboard-kpi-description {
    color: #4661a1;
    font-size: .66rem;
}

.dashboard-branch-summary {
    background: transparent;
    border: 0;
    padding: 0;
}

.dashboard-branch-summary > .dashboard-section-heading {
    padding: 0 .2rem;
}

.dashboard-branch-summary .dashboard-branch-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dashboard-branch-card {
    border-color: #d8e5f4;
    box-shadow: 0 2px 10px rgba(33, 81, 145, .06);
    min-width: 0;
}

.dashboard-branch-card-heading {
    align-items: center;
    display: flex;
    gap: .55rem;
    margin-bottom: .7rem;
}

.dashboard-branch-card-heading h3 {
    margin: 0;
}

.dashboard-branch-avatar {
    align-items: center;
    background: #e7f1ff;
    border-radius: 50%;
    color: #1464d2;
    display: inline-flex;
    flex: 0 0 2rem;
    height: 2rem;
    justify-content: center;
    width: 2rem;
}

.dashboard-reference-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1.2fr);
}

.dashboard-reference-grid .dashboard-surface,
.dashboard-batch-distribution,
.dashboard-upcoming,
.dashboard-workload-unavailable {
    background: #fff;
    border-color: #d8e5f4;
    box-shadow: 0 2px 10px rgba(33, 81, 145, .05);
}

.dashboard-batch-list {
    display: grid;
    gap: .35rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-batch-row {
    align-items: center;
    background: #f5f9ff;
    border: 1px solid #e0eaf7;
    border-radius: 6px;
    display: flex;
    justify-content: space-between;
    min-width: 0;
    padding: .55rem .7rem;
}

.dashboard-batch-row span {
    min-width: 0;
}

.dashboard-batch-row strong,
.dashboard-batch-row small {
    display: block;
    overflow-wrap: anywhere;
}

.dashboard-batch-row strong {
    color: #10266d;
    font-size: .75rem;
}

.dashboard-batch-row small {
    color: #647aa9;
    font-size: .65rem;
    margin-top: .1rem;
}

.dashboard-batch-row > b {
    color: #1464d2;
    font-size: 1rem;
    margin-left: .5rem;
}

@media (max-width: 1100px) {
    .dashboard-kpi-grid,
    .dashboard-branch-summary .dashboard-branch-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.mcc-reports-page,
.mcc-report-page {
    display: grid;
    gap: 1rem;
}

.mcc-report-catalog {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.mcc-report-card {
    display: grid;
    gap: .85rem;
    min-height: 220px;
    padding: 1.25rem;
}

.mcc-report-card-icon {
    align-items: center;
    background: #e8f0ff;
    border-radius: 12px;
    color: #2f63be;
    display: inline-flex;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.mcc-report-card h2 {
    color: var(--app-text);
    font-size: 1.08rem;
    margin: .25rem 0 .35rem;
}

.mcc-report-card p {
    color: var(--app-muted);
    font-size: .86rem;
    line-height: 1.55;
    margin: 0;
}

.mcc-report-card .mcc-button {
    align-self: end;
    justify-self: start;
}

.mcc-report-filter-card {
    padding: 1rem;
}

.mcc-filter-grid {
    align-items: end;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mcc-filter-grid .mcc-form-field {
    display: grid;
    gap: .4rem;
    min-width: 0;
}

.mcc-filter-grid .mcc-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    grid-column: 1 / -1;
}

.mcc-report-results-card {
    min-width: 0;
    padding: 1rem;
}

.mcc-report-table {
    min-width: 720px;
}

.mcc-report-table th {
    white-space: nowrap;
}

@media (max-width: 900px) {
    .mcc-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .mcc-filter-grid {
        grid-template-columns: 1fr;
    }

    .mcc-filter-grid .mcc-form-actions {
        grid-column: auto;
    }
}

@media (max-width: 760px) {
    .dashboard-kpi-grid,
    .dashboard-branch-summary .dashboard-branch-card-grid,
    .dashboard-reference-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-batch-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .dashboard-kpi-grid,
    .dashboard-branch-summary .dashboard-branch-card-grid,
    .dashboard-reference-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .dashboard-hero-filters {
        width: 100%;
    }

    .dashboard-distribution-row {
        align-items: stretch;
        flex-direction: column;
        gap: .55rem;
    }

    .dashboard-distribution-label,
    .dashboard-distribution-value {
        width: 100%;
    }

    .dashboard-distribution-value {
        justify-content: space-between;
    }
}

@media (max-width: 1000px) {
    .dashboard-primary-grid,
    .dashboard-analytics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-attention {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .dashboard-hero {
        align-items: flex-start;
        flex-direction: column;
        padding: 1.1rem;
    }

    .dashboard-hero-filters {
        justify-content: flex-start;
        width: 100%;
    }

    .dashboard-hero-filters label,
    .dashboard-hero-filters input,
    .dashboard-hero-filters select,
    .dashboard-hero-filters button,
    .dashboard-hero-filters a {
        flex: 1 1 8rem;
        min-width: 0;
    }

    .dashboard-hero-date {
        white-space: normal;
    }

    .dashboard-director-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-reference-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-primary-grid,
    .dashboard-analytics-grid,
    .dashboard-upcoming-groups {
        grid-template-columns: 1fr;
    }

    .dashboard-attention {
        grid-column: auto;
    }

    .dashboard-section-heading {
        flex-wrap: wrap;
    }
}

/* Lifecycle section spacing only. */
.mcc-admission-detail > section[aria-labelledby="status-heading"] {
    padding: 1.15rem;
}
.mcc-admission-detail > section[aria-labelledby="status-heading"] .mcc-card-heading {
    margin: 0 0 1rem;
    padding-bottom: .75rem;
}
.mcc-admission-detail > section[aria-labelledby="status-heading"] .mcc-detail-status-line {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    line-height: 1.4;
    margin: 0;
}
.mcc-admission-detail > section[aria-labelledby="status-heading"] .mcc-detail-status-line + .mcc-muted {
    margin: .75rem 0 0;
}
.mcc-admission-detail > section[aria-labelledby="status-heading"] .mcc-status-form {
    margin-top: 1rem;
    padding-top: 1rem;
}
.mcc-admission-detail > section[aria-labelledby="status-heading"] .mcc-status-fields {
    gap: .75rem 1rem;
}
.mcc-admission-detail > section[aria-labelledby="status-heading"] .mcc-detail-form-actions {
    gap: .75rem;
    margin-top: .9rem;
}
@media (max-width: 700px) {
    .mcc-admission-detail > section[aria-labelledby="status-heading"] .mcc-status-fields {
        gap: .75rem;
        grid-template-columns: 1fr;
    }
}

@media (max-width: 430px) {
    .dashboard-kpi-grid {
        grid-template-columns: 1fr;
    }
}

/* Director Dashboard reference composition. */
.mcc-page-container:has(> .mcc-dashboard) {
    background: #eef5ff;
    max-width: none;
    padding: .75rem 1rem 1.75rem;
}

.mcc-page-container:has(> .mcc-dashboard) > .mcc-dashboard {
    display: grid;
    gap: .7rem;
    grid-template-columns: minmax(0, 1fr);
}

.mcc-dashboard > .dashboard-hero {
    order: 1;
}

.mcc-dashboard > .dashboard-summary {
    order: 2;
}

.mcc-dashboard > .dashboard-branch-summary {
    order: 3;
}

.mcc-dashboard > .dashboard-primary-grid {
    order: 4;
}

.mcc-dashboard > .dashboard-analytics-grid {
    order: 5;
}

.mcc-dashboard > .dashboard-director-grid {
    order: 6;
}

.mcc-dashboard > .dashboard-reference-grid {
    order: 7;
}

.mcc-dashboard > .dashboard-batch-distribution {
    order: 8;
}

.mcc-dashboard > .dashboard-workload-unavailable {
    order: 9;
}

.mcc-dashboard > .dashboard-upcoming {
    order: 10;
}

.mcc-dashboard > .dashboard-recent {
    order: 11;
}

.mcc-dashboard > .dashboard-filters,
.mcc-dashboard > .dashboard-unavailable {
    order: 90;
}

.mcc-dashboard .dashboard-hero {
    background: linear-gradient(135deg, #edf5ff 0%, #ffffff 72%);
    box-shadow: 0 3px 12px rgba(20, 66, 128, .08);
    min-height: 5.2rem;
}

.mcc-dashboard .dashboard-hero > div {
    min-width: 0;
}

.mcc-dashboard .dashboard-hero h1 {
    color: #10266d;
    font-size: clamp(1.45rem, 2.25vw, 2.1rem);
    line-height: 1.05;
    white-space: nowrap;
}

.mcc-dashboard .dashboard-hero-copy {
    color: #4964a2;
    font-size: .8rem;
}

.mcc-dashboard .dashboard-hero-filters {
    align-items: end;
    flex-wrap: nowrap;
}

.mcc-dashboard .dashboard-hero-filters input,
.mcc-dashboard .dashboard-hero-filters select {
    background: #fff;
    border-color: #c9d9ef;
    color: #10266d;
    font-weight: 650;
    min-width: 8rem;
}

.mcc-dashboard .dashboard-hero-filters button {
    background: #1464d2;
    border-color: #1464d2;
}

.mcc-dashboard .dashboard-summary,
.mcc-dashboard .dashboard-branch-summary {
    margin: 0;
}

.mcc-dashboard .dashboard-kpi-grid {
    gap: .6rem;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.mcc-dashboard .dashboard-kpi {
    border-color: #d3e2f5;
    border-radius: .65rem;
    box-shadow: 0 3px 10px rgba(20, 66, 128, .06);
    min-height: 7.1rem;
    padding: .7rem;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.mcc-dashboard .dashboard-kpi:hover,
.mcc-dashboard .dashboard-kpi:focus-visible {
    border-color: #8eb7eb;
    box-shadow: 0 7px 16px rgba(20, 66, 128, .12);
    transform: translateY(-1px);
}

.mcc-dashboard .dashboard-kpi-icon {
    height: 2.45rem;
    margin-bottom: .35rem;
    width: 2.45rem;
}

.mcc-dashboard .dashboard-kpi strong {
    font-size: 1.6rem;
}

.mcc-dashboard .dashboard-branch-summary {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.mcc-dashboard .dashboard-branch-card-grid {
    gap: .65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mcc-dashboard .dashboard-branch-card {
    background: linear-gradient(135deg, #f1f8ff, #fff);
    border-color: #cfe0f5;
    box-shadow: 0 2px 9px rgba(20, 66, 128, .06);
    padding: .75rem;
}

.mcc-dashboard .dashboard-branch-card:nth-child(2) {
    background: linear-gradient(135deg, #f1fff7, #fff);
}

.mcc-dashboard .dashboard-branch-card:nth-child(3) {
    background: linear-gradient(135deg, #fff8ef, #fff);
}

.mcc-dashboard .dashboard-branch-card-metrics span {
    background: rgba(255, 255, 255, .86);
    border: 1px solid #e0eaf7;
    border-radius: .4rem;
    padding: .35rem .45rem;
    text-align: center;
}

.mcc-dashboard .dashboard-branch-card-detail {
    background: rgba(255, 255, 255, .62);
    border-top-color: #dce8f6;
}

.mcc-dashboard .dashboard-branch-totals {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.mcc-dashboard .dashboard-branch-totals > .dashboard-section-heading {
    margin-bottom: .7rem;
}

.mcc-dashboard .dashboard-branch-totals .dashboard-branch-card {
    border-radius: .75rem;
    display: flex;
    flex-direction: column;
    gap: .65rem;
    min-height: 100%;
    padding: .85rem;
}

.mcc-dashboard .dashboard-branch-totals-heading {
    align-items: center;
    display: flex;
    gap: .5rem;
}

.mcc-dashboard .dashboard-branch-totals-heading h3 {
    color: #10266d;
    font-size: .95rem;
    margin: 0;
}

.mcc-dashboard .dashboard-branch-totals-marker {
    background: #1464d2;
    border-radius: 999px;
    display: inline-block;
    flex: 0 0 .45rem;
    height: 1.35rem;
    width: .45rem;
}

.mcc-dashboard .dashboard-branch-totals .dashboard-branch-card-metrics {
    gap: .5rem;
    margin: 0;
}

.mcc-dashboard .dashboard-branch-totals .dashboard-branch-card-metrics span {
    flex: 1 1 0;
    min-width: 0;
}

.mcc-dashboard .dashboard-branch-totals .dashboard-branch-card-detail {
    border-radius: .45rem;
    margin: 0;
    padding: .55rem .6rem;
}

.mcc-dashboard .dashboard-branch-totals .dashboard-branch-card-detail strong {
    display: block;
    margin-bottom: .25rem;
}

.mcc-dashboard .dashboard-branch-totals .dashboard-branch-card-detail span {
    display: block;
    line-height: 1.35;
}

.mcc-dashboard .dashboard-primary-grid,
.mcc-dashboard .dashboard-analytics-grid,
.mcc-dashboard .dashboard-director-grid,
.mcc-dashboard .dashboard-reference-grid {
    gap: .7rem;
    margin: 0;
}

.mcc-dashboard .dashboard-primary-grid {
    grid-template-columns: minmax(0, 1.3fr) minmax(15rem, .7fr);
}

.mcc-dashboard .dashboard-analytics-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mcc-dashboard .dashboard-analytics-grid > .dashboard-branch-totals {
    grid-column: 1 / -1;
}

.mcc-dashboard .dashboard-director-grid {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
}

.mcc-dashboard .dashboard-reference-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mcc-dashboard .dashboard-surface {
    border-color: #d3e2f5;
    box-shadow: 0 2px 9px rgba(20, 66, 128, .05);
}

.mcc-dashboard .dashboard-section-heading {
    border-bottom-color: #dce8f6;
    margin-bottom: .65rem;
    padding-bottom: .55rem;
}

.mcc-dashboard .dashboard-section-heading h2,
.mcc-dashboard .dashboard-subsection-heading h3 {
    color: #10266d;
}

.mcc-dashboard .dashboard-coach-table th,
.mcc-dashboard .dashboard-coach-table td,
.mcc-dashboard .dashboard-coaching-batch-table th,
.mcc-dashboard .dashboard-coaching-batch-table td {
    font-size: .7rem;
    padding: .45rem .4rem;
}

.mcc-dashboard .dashboard-upcoming,
.mcc-dashboard .dashboard-batch-distribution,
.mcc-dashboard .dashboard-workload-unavailable,
.mcc-dashboard .dashboard-recent {
    margin: 0;
}

@media (max-width: 1180px) {
    .mcc-dashboard .dashboard-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mcc-dashboard .dashboard-branch-card-grid,
    .mcc-dashboard .dashboard-analytics-grid,
    .mcc-dashboard .dashboard-reference-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .mcc-dashboard .dashboard-hero h1 {
        white-space: normal;
    }

    .mcc-dashboard .dashboard-hero-filters {
        align-items: stretch;
        flex-wrap: wrap;
        width: 100%;
    }

    .mcc-dashboard .dashboard-hero-filters label,
    .mcc-dashboard .dashboard-hero-filters input,
    .mcc-dashboard .dashboard-hero-filters select,
    .mcc-dashboard .dashboard-hero-filters button,
    .mcc-dashboard .dashboard-hero-filters a {
        flex: 1 1 9rem;
    }

    .mcc-dashboard .dashboard-primary-grid,
    .mcc-dashboard .dashboard-analytics-grid,
    .mcc-dashboard .dashboard-director-grid,
    .mcc-dashboard .dashboard-reference-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .mcc-page-container:has(> .mcc-dashboard) {
        padding: .55rem .65rem 1.25rem;
    }

    .mcc-dashboard .dashboard-kpi-grid,
    .mcc-dashboard .dashboard-branch-card-grid {
        grid-template-columns: 1fr;
    }
}

/* Shared table containment: scrolling belongs to the table wrapper, never the page. */
.mcc-content,.mcc-page-container,.mcc-page-container>* {
    min-width: 0;
    max-width: 100%
}
.table-wrap,.mcc-table-wrap {
    border: 1px solid var(--app-border);
    border-radius: 5px;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch
}
.table-wrap table,.mcc-table-wrap table {
    border-collapse: collapse;
    min-width: 620px;
    width: max-content
}
.mcc-table-wrap .mcc-table {
    min-width: 100%;
    width: max-content
}
.mcc-follow-up-table th {
    white-space: nowrap
}
.mcc-follow-up-table th i {
    color: var(--app-primary);
    margin-right: .25rem
}
.mcc-follow-up-table td,
.mcc-follow-up-table th {
    padding: .8rem .9rem
}
.mcc-follow-up-table .mcc-follow-up-type,
.mcc-follow-up-table .mcc-follow-up-date,
.mcc-follow-up-table .mcc-follow-up-user {
    white-space: nowrap
}
.mcc-follow-up-table .mcc-follow-up-note {
    max-width: 280px;
    min-width: 180px
}
.mcc-follow-up-table .mcc-follow-up-note,
.mcc-follow-up-table .mcc-follow-up-user {
    color: var(--app-text)
}
.mcc-follow-up-table .mcc-follow-up-date time,
.mcc-follow-up-table td time {
    color: var(--app-muted);
    white-space: nowrap
}
.mcc-follow-up-empty {
    align-items: center;
    color: var(--app-muted);
    display: flex;
    flex-direction: column;
    gap: .45rem;
    justify-content: center;
    margin: 0;
    padding: 1.5rem 1rem;
    text-align: center
}
.mcc-follow-up-empty i {
    color: var(--app-primary);
    font-size: 1.35rem
}
.table-wrap td,.table-wrap th,.mcc-table-wrap td,.mcc-table-wrap th {
    overflow-wrap: anywhere
}
.table-wrap td:last-child,.table-wrap th:last-child,.mcc-table-wrap td:last-child,.mcc-table-wrap th:last-child {
    white-space: nowrap
}
.mcc-user-filters {
    margin-bottom: 0;
}
.mcc-user-filters[hidden] {
    display: none;
}
.mcc-user-filter-form {
    display: grid;
    gap: 1rem;
}
.mcc-user-filter-fields {
    display: grid;
    grid-template-columns: minmax(220px, 420px);
}
.mcc-user-filter-field {
    display: grid;
    gap: .4rem;
}
.mcc-user-filter-actions,
.mcc-user-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.mcc-user-filter-actions {
    justify-content: flex-start;
}
.mcc-user-list-card {
    padding: 1.15rem 1.2rem;
}
.mcc-user-list-heading {
    align-items: flex-start;
    border-bottom: 1px solid var(--app-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding-bottom: .85rem;
}
.mcc-user-list-heading h2 {
    margin: .2rem 0 0;
}
.mcc-user-list-supporting-text {
    color: var(--app-muted);
    font-size: .78rem;
    margin: .4rem 0 0;
}
.mcc-user-table-wrap {
    border-radius: 7px;
}
.mcc-user-table-wrap .mcc-user-table {
    min-width: 900px;
    table-layout: fixed;
    width: 100%;
}
.mcc-user-col-name {
    width: 18%;
}
.mcc-user-col-email {
    width: 24%;
}
.mcc-user-col-role {
    width: 15%;
}
.mcc-user-col-branch {
    width: 18%;
}
.mcc-user-col-status {
    width: 12%;
}
.mcc-user-col-actions {
    width: 170px;
}
.mcc-user-table th,
.mcc-user-table td {
    padding: .85rem 1rem;
}
.mcc-user-table tbody th {
    color: var(--app-text);
    font-size: .82rem;
    letter-spacing: 0;
    text-transform: none;
}
.mcc-user-name {
    display: block;
    font-weight: 650;
    overflow-wrap: anywhere;
}
.mcc-user-email {
    color: var(--app-primary);
    display: inline-block;
    overflow-wrap: anywhere;
}
.mcc-user-assignment {
    color: var(--app-text);
    max-width: 220px;
    overflow-wrap: anywhere;
}
.mcc-user-table th:last-child,
.mcc-user-table td:last-child {
    min-width: 170px;
}
.mcc-user-actions {
    min-width: max-content;
    white-space: nowrap;
}
.mcc-user-empty-state {
    align-items: center;
    color: var(--app-muted);
    display: flex;
    flex-direction: column;
    gap: .45rem;
    justify-content: center;
    padding: 2rem 1rem 1.5rem;
    text-align: center;
}
.mcc-user-empty-state i {
    color: var(--app-primary);
    font-size: 1.35rem;
}
.mcc-user-empty-state h2,
.mcc-user-empty-state p {
    margin: 0;
}
.mcc-user-empty-state h2 {
    color: var(--app-text);
    font-size: .95rem;
}
.mcc-user-empty-state p {
    font-size: .78rem;
}
.mcc-user-form {
    display: grid;
    gap: 1rem;
}
.mcc-user-form-section {
    padding: 1.15rem 1.2rem;
}
.mcc-user-form-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mcc-user-form-field {
    display: grid;
    gap: .4rem;
}
.mcc-user-form-field small {
    color: var(--app-muted);
    font-size: .74rem;
}
.mcc-user-form-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: flex-end;
}
@media (max-width: 700px) {
    .mcc-user-list-heading {
        flex-direction: column;
        gap: .65rem;
    }
    .mcc-user-filter-fields {
        grid-template-columns: minmax(0, 1fr);
    }
    .mcc-user-filter-actions,
    .mcc-user-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .mcc-user-filter-actions .mcc-button,
    .mcc-user-actions .mcc-button {
        justify-content: center;
        width: 100%;
    }
    .mcc-user-form-grid {
        grid-template-columns: 1fr;
    }
    .mcc-user-form-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .mcc-user-form-actions .mcc-button {
        width: 100%;
    }
}
.mcc-lead-info {
    display: inline-block;
    position: relative
}
.mcc-lead-info-panel {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: 0 8px 24px rgba(23,31,56,.16);
    display: none;
    gap: .25rem;
    left: var(--mcc-popover-left,8px);
    min-width: 220px;
    padding: .7rem;
    position: fixed;
    top: var(--mcc-popover-top,8px);
    white-space: normal;
    z-index: 200
}
.mcc-lead-info.is-open .mcc-lead-info-panel,.mcc-lead-info:hover .mcc-lead-info-panel,.mcc-lead-info:focus-within .mcc-lead-info-panel {
    display: grid
}
.mcc-lead-info-panel strong {
    font-size: .75rem
}
.mcc-lead-info-panel span {
    font-size: .75rem
}
.mcc-lead-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem
}
.mcc-lead-actions .mcc-button:not(.mcc-button-danger) {
    border-color: var(--app-primary);
    color: var(--app-primary);
    min-height: 32px;
    padding: .4rem .7rem
}
.mcc-lead-actions .mcc-button-primary {
    color: var(--app-card-bg)
}
.mcc-lead-actions .mcc-button-primary,
.mcc-lead-detail .mcc-button-primary {
    border-color: var(--app-primary)
}
.mcc-lead-actions .mcc-button-secondary:not(.mcc-button-danger),
.mcc-lead-detail .mcc-button-secondary {
    border-color: var(--app-primary);
    color: var(--app-primary)
}
.mcc-lead-actions .mcc-button-secondary:not(.mcc-button-danger):hover,
.mcc-lead-detail .mcc-button-secondary:hover {
    background: var(--app-primary);
    border-color: var(--app-primary);
    color: var(--app-card-bg)
}
.mcc-lead-actions .mcc-button:not(.mcc-button-danger):focus-visible,
.mcc-lead-detail .mcc-button:focus-visible {
    outline-color: var(--app-primary)
}
.mcc-lead-action {
    gap: .4rem;
    min-width: 82px
}
.mcc-button-danger {
    background: var(--app-card-bg);
    border-color: var(--app-danger);
    color: var(--app-danger)
}
.mcc-button-danger:hover {
    background: var(--app-danger);
    border-color: var(--app-danger);
    color: var(--app-card-bg)
}
.mcc-button-danger:focus-visible {
    outline-color: var(--app-danger)
}
.mcc-lead-detail .mcc-button-danger:focus-visible {
    outline-color: var(--app-danger)
}
.mcc-detail-actions .mcc-button {
    gap: .4rem
}
.mcc-detail-actions .mcc-inline-form {
    display: inline-flex;
    margin: 0;
}
@media(max-width:700px) {
    .mcc-lead-actions {
        align-items: stretch;
        flex-direction: column
    }
    .mcc-lead-actions .mcc-button {
        justify-content: flex-start;
        width: 100%
    }
}
.mcc-lead-info {
    position: relative
}
.mcc-lead-info summary {
    cursor: pointer;
    list-style: none;
    text-align: center;
    width: 32px
}
.mcc-lead-info summary::-webkit-details-marker {
    display: none
}
.mcc-lead-info-panel {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow);
    display: none;
    gap: .25rem;
    min-width: 220px;
    padding: .7rem;
    white-space: normal
}
.mcc-lead-info[open] .mcc-lead-info-panel,.mcc-lead-info:hover .mcc-lead-info-panel,.mcc-lead-info:focus-within .mcc-lead-info-panel {
    display: grid
}
.mcc-lead-info-panel strong {
    font-size: .75rem
}
.mcc-lead-info-panel span {
    font-size: .75rem
}
.mcc-lead-name {
    font-weight: 650
}

.mcc-lead-name-cell {
    max-width: 160px;
    width: 160px;
}

.mcc-lead-name-cell .mcc-lead-name {
    display: block;
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mcc-lead-contact {
    color: var(--app-muted);
    display: grid;
    font-size: .78rem;
    font-weight: 400;
    gap: .08rem;
    margin-top: .2rem
}
.mcc-lead-contact a {
    overflow-wrap: anywhere
}
.mcc-player-contact-summary {
    gap: .35rem;
    max-width: 260px;
}
.mcc-player-contact-line {
    align-items: flex-start;
    display: flex;
    gap: .4rem;
    min-width: 0;
}
.mcc-player-contact-line i {
    color: var(--app-primary);
    flex: 0 0 .9rem;
    margin-top: .12rem;
    text-align: center;
}
.mcc-player-contact-line a {
    min-width: 0;
    overflow-wrap: anywhere;
}
.mcc-lead-relationships {
    min-width: 210px;
    width: 210px;
}
.mcc-lead-relationship-list {
    display: grid;
    gap: .3rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.mcc-lead-relationship-list li {
    align-items: baseline;
    display: flex;
    gap: .65rem;
    justify-content: space-between;
    line-height: 1.35;
    min-width: 0;
}
.mcc-lead-relationship-list li span {
    color: var(--app-muted);
    overflow-wrap: anywhere;
}
.mcc-lead-relationship-list li strong {
    color: var(--app-text);
    flex: 0 0 auto;
    font-size: .78rem;
}
/* Lead details: shared responsive card and definition-list presentation. */
.mcc-detail-hero {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between
}
.mcc-detail-hero h2 {
    font-size: 1.5rem;
    margin: .25rem 0 .65rem
}
.mcc-detail-badges,.mcc-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem
}
.mcc-detail-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2,minmax(0,1fr));
    margin-top: 1rem
}
.mcc-lead-trials .mcc-card-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: space-between;
}
.mcc-lead-trial-heading-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}
.mcc-detail-card {
    margin-top: 1rem
}
.mcc-trial-workflow {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    margin-top: 1rem;
    padding: 1rem
}
.mcc-trial-workflow-steps {
    display: flex;
    gap: .75rem;
    list-style: none;
    margin: 0;
    padding: 0
}
.mcc-trial-workflow-step {
    align-items: center;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    gap: .4rem;
    min-width: 0;
    padding: .7rem
}
.mcc-trial-workflow-step.is-completed {
    border-color: var(--app-success);
    color: var(--app-success)
}
.mcc-trial-workflow-step.is-current {
    border-color: var(--app-primary);
    box-shadow: 0 0 0 2px rgba(23,43,77,.08);
    color: var(--app-primary)
}
.mcc-trial-workflow-step.is-upcoming {
    color: var(--app-muted)
}
.mcc-trial-workflow-icon {
    font-size: .9rem
}
.mcc-trial-workflow-label {
    font-size: .82rem;
    font-weight: 700
}
.mcc-trial-workflow-step .mcc-badge {
    margin-left: auto
}
.mcc-trial-workflow-terminal {
    background: var(--app-card-bg);
    border-left: 3px solid var(--app-danger);
    color: var(--app-danger);
    margin: 1rem 0 0;
    padding: .65rem .8rem
}
.mcc-trial-action-area {
    border-top: 1px solid var(--app-border);
    margin-top: 1.25rem;
    padding-top: 1rem
}
.mcc-trial-action-area .mcc-card-heading {
    border-bottom: 0;
    margin-bottom: .25rem;
    padding-bottom: 0
}
.mcc-trial-action-area h3 {
    font-size: .9rem;
    margin: .2rem 0 0
}
.mcc-trial-workflow-panel {
    background: var(--app-body-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    padding: 1rem
}
.mcc-trial-workflow-panel h3 {
    border-bottom: 1px solid var(--app-border);
    font-size: .95rem;
    margin: 0 0 .85rem;
    padding-bottom: .65rem
}
.mcc-detail-list {
    display: grid;
    gap: .8rem;
    grid-template-columns: minmax(125px,.35fr) minmax(0,1fr);
    margin: 0
}
.mcc-detail-list dt {
    color: var(--app-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase
}
.mcc-detail-list dd,.mcc-detail-list dd a {
    margin: 0;
    max-width: 100%;
    overflow-wrap: anywhere
}
.mcc-history {
    display: grid;
    gap: .7rem;
    list-style: none;
    margin: 0;
    padding: 0
}
.mcc-history li {
    border-left: 3px solid var(--app-primary);
    display: grid;
    gap: .15rem;
    padding: .25rem 0 .25rem .85rem
}
.mcc-history-meta {
    color: var(--app-muted);
    font-size: 10px;
    line-height: 1.35;
}
.mcc-follow-up-history .mcc-card-heading {
    border-bottom: 1px solid var(--app-border);
    margin-bottom: 1rem;
    padding-bottom: .85rem
}
.mcc-follow-up-history .mcc-history {
    gap: 1rem
}
.mcc-follow-up-history .mcc-activity-item {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-left: 3px solid var(--app-primary);
    border-radius: var(--app-radius);
    gap: .45rem;
    padding: .85rem 1rem
}
.mcc-follow-up-history .mcc-activity-type {
    color: var(--app-text);
    font-size: .9rem;
    letter-spacing: .01em
}
.mcc-follow-up-history .mcc-activity-status {
    justify-self: start
}
.mcc-follow-up-history .mcc-activity-notes {
    color: var(--app-text);
    line-height: 1.55;
    overflow-wrap: anywhere;
    white-space: pre-wrap
}
.mcc-follow-up-history .mcc-activity-schedule,
.mcc-follow-up-history .mcc-activity-owner {
    color: var(--app-muted);
    font-size: .78rem
}
.mcc-follow-up-history .mcc-activity-schedule i,
.mcc-follow-up-history .mcc-activity-owner i {
    color: var(--app-primary);
    margin-right: .25rem
}
.mcc-follow-up-history .mcc-activity-item > form {
    border-top: 1px solid var(--app-border);
    margin-top: .45rem;
    padding-top: .85rem
}
.mcc-follow-up-history .mcc-empty-state {
    margin: 0;
    padding: 1.25rem
}
@media(max-width:700px) {
    .mcc-detail-hero {
        flex-direction: column
    }
    .mcc-detail-actions {
        width: 100%
    }
    .mcc-detail-actions .mcc-button {
        flex: 1
    }
    .mcc-detail-grid {
        grid-template-columns: 1fr
    }
    .mcc-lead-trials .mcc-card-heading {
        align-items: flex-start;
        flex-direction: column;
    }
    .mcc-lead-trial-heading-actions {
        justify-content: space-between;
        width: 100%;
    }
    .mcc-lead-trial-heading-actions .mcc-button {
        justify-content: center;
        width: 100%;
    }
    .mcc-detail-list {
        gap: .2rem;
        grid-template-columns: 1fr
    }
    .mcc-detail-list dd {
        margin-bottom: .55rem
    }
    .mcc-trial-workflow-steps {
        display: block
    }
    .mcc-trial-workflow-step {
        margin-bottom: .5rem
    }
}
.mcc-page-heading {
    flex-wrap: wrap;
    gap: 1rem
}
.mcc-page-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end
}

/* Tournament forms use the same card and action rhythm as other create pages. */
.mcc-tournament-form-page {
    max-width: 100%;
    min-width: 0;
}

.mcc-tournament-form-header {
    margin-bottom: 1rem;
}

.mcc-tournament-form-header h1 {
    margin: .25rem 0 .35rem;
}

.mcc-tournament-form-header p {
    color: var(--app-muted);
    margin: 0;
}

.mcc-tournament-form {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.mcc-tournament-form-section {
    margin: 0;
    min-width: 0;
}

.mcc-tournament-form-section .mcc-card-heading {
    align-items: flex-start;
    margin-bottom: 1rem;
}

.mcc-tournament-form-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mcc-tournament-form-grid-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mcc-tournament-form .mcc-form-field {
    min-width: 0;
}

.mcc-tournament-form .mcc-form-field > .form-control,
.mcc-tournament-form .mcc-form-field > .mcc-bt-select {
    max-width: 100%;
    width: 100%;
}

.mcc-tournament-form .mcc-bt-select-menu {
    max-width: min(34rem, calc(100vw - 2rem));
    min-width: 100%;
    overflow: visible;
    width: max-content;
    z-index: 120;
}

.mcc-tournament-form .mcc-bt-select {
    position: relative;
    z-index: 20;
}

.mcc-tournament-form .mcc-bt-select-options {
    max-width: 100%;
}

.mcc-form-optional {
    color: var(--app-muted);
    font-size: .78rem;
    font-weight: 400;
}

.mcc-tournament-form-feedback {
    margin: 0;
}

.mcc-tournament-form-actions {
    justify-content: flex-end;
    margin: 0;
}

@media (max-width: 767.98px) {
    .mcc-tournament-form-grid,
    .mcc-tournament-form-grid-two {
        grid-template-columns: minmax(0, 1fr);
    }

    .mcc-tournament-form-actions {
        justify-content: stretch;
    }

.mcc-tournament-form-actions .mcc-button {
        flex: 1 1 100%;
    }
}

.mcc-admission-installment-note {
    margin: -0.35rem 1.25rem 1rem;
}

.mcc-admission-installment-tracking-table {
    min-width: 1180px;
}

.mcc-admission-installment-tracking-table th,
.mcc-admission-installment-tracking-table td {
    vertical-align: middle;
    white-space: nowrap;
}

.mcc-admission-installment-tracking-table th:nth-child(1),
.mcc-admission-installment-tracking-table td:nth-child(1) {
    white-space: normal;
    min-width: 11rem;
}

.mcc-admission-installment-tracking-table .mcc-amount-column {
    text-align: right;
}

.mcc-admission-installment-tracking-table .mcc-table-secondary-text {
    display: block;
}

.mcc-page-subtitle {
    color: var(--app-muted);
    font-size: .82rem;
    margin: .35rem 0 0;
    max-width: 42rem;
}

.mcc-installment-summary {
    padding-bottom: 1rem;
}

.mcc-installment-summary .mcc-follow-up-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mcc-installment-status-all {
    background: #eef1ff;
    color: #30458f;
}

.mcc-installment-status-upcoming {
    background: #e8f5ff;
    color: #075985;
}

.mcc-installment-status-today {
    background: #fff6df;
    color: #865b00;
}

.mcc-installment-status-overdue {
    background: #ffeded;
    color: #9f1d16;
}

.mcc-installment-admission-cell {
    min-width: 12rem;
}

.mcc-installment-admission-cell > a,
.mcc-installment-admission-cell > span {
    display: block;
    line-height: 1.35;
}

.mcc-installment-admission-cell > span {
    color: var(--app-muted);
    font-size: .78rem;
    margin-top: .2rem;
    overflow-wrap: anywhere;
}

.mcc-installment-applicant-name {
    color: var(--app-text);
    font-weight: 700;
}

.mcc-installment-due-badge,
.mcc-installment-payment-status {
    white-space: nowrap;
}

.mcc-installment-due-upcoming {
    background: #e8f5ff;
    color: #075985;
}

.mcc-installment-due-due-today {
    background: #fff6df;
    color: #865b00;
}

.mcc-installment-due-overdue {
    background: #ffeded;
    color: #9f1d16;
}

.mcc-installment-payment-status {
    background: #f2f3f5;
    color: #59636f;
}

.mcc-status-payment-neutral {
    background: #f2f3f5;
    color: #59636f;
}

.mcc-status-payment-partial {
    background: #fff6df;
    color: #986500;
}

.mcc-status-payment-paid {
    background: #e9f8ef;
    color: #16713c;
}

.mcc-status-payment-overpaid {
    background: #ffeded;
    color: #b42318;
}

.mcc-admission-installment-status-group + .mcc-admission-installment-status-group {
    border-top: 1px solid var(--app-border);
    margin-top: 1.25rem;
    padding-top: 1.25rem;
}

.mcc-admission-installment-status-group h3 {
    color: var(--app-text);
    font-size: .95rem;
    margin: 0 0 .75rem;
}

.mcc-admission-installment-status-table {
    min-width: 58rem;
}

.mcc-clear-filters-action {
    margin-left: .25rem;
}

.mcc-admission-installment-filters {
    position: relative;
    z-index: 1200;
}

.mcc-admission-installment-filters:has(.mcc-bt-select-open),
.mcc-admission-installment-filters:has(.mcc-date-picker.is-open) {
    z-index: 4000;
}

.mcc-payment-details-card,
.mcc-payment-form-card,
.mcc-payment-history-card {
    min-width: 0;
}

.mcc-payment-summary-grid {
    display: grid;
    gap: .85rem 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
}

.mcc-payment-summary-grid > div {
    background: var(--app-surface-muted, #f7f8fa);
    border: 1px solid var(--app-border, #e4e7eb);
    border-radius: .55rem;
    min-width: 0;
    padding: .7rem .8rem;
}

.mcc-payment-summary-grid dt {
    color: var(--app-muted);
    font-size: .74rem;
    font-weight: 700;
    margin-bottom: .25rem;
}

.mcc-payment-summary-grid dd {
    color: var(--app-text);
    font-size: .9rem;
    margin: 0;
    overflow-wrap: anywhere;
}

.mcc-payment-form-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mcc-payment-notes-field {
    grid-column: span 2;
}

.mcc-payment-actions {
    justify-content: flex-end;
    margin-top: 1rem;
}

.mcc-payment-amount {
    text-align: right;
    white-space: nowrap;
}

.mcc-payment-history-table {
    min-width: 52rem;
}

.mcc-payment-history-table th:nth-child(3),
.mcc-payment-history-table td:nth-child(3) {
    text-align: right;
}

.mcc-payment-empty-state {
    margin-bottom: 0;
}

@media (max-width: 900px) {
    .mcc-installment-summary .mcc-follow-up-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mcc-payment-summary-grid,
    .mcc-payment-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mcc-payment-notes-field {
        grid-column: span 2;
    }
}

@media (max-width: 540px) {
    .mcc-page-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: .8rem;
    }

    .mcc-installment-summary .mcc-follow-up-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mcc-clear-filters-action {
        margin-left: 0;
    }

    .mcc-payment-summary-grid,
    .mcc-payment-form-grid {
        grid-template-columns: 1fr;
    }

    .mcc-payment-notes-field {
        grid-column: auto;
    }
}

.mcc-tournament-detail {
    max-width: 100%;
    min-width: 0;
}

.mcc-tournament-detail-header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
    min-width: 0;
}

.mcc-tournament-detail-header h1 {
    margin: .25rem 0 .35rem;
    overflow-wrap: anywhere;
}

.mcc-tournament-detail-header p {
    color: var(--app-muted);
    margin: 0;
}

.mcc-tournament-detail-header > .mcc-badge {
    flex: 0 0 auto;
    margin-top: .35rem;
}

.mcc-tournament-detail-card {
    margin-top: 1rem;
    min-width: 0;
}
.mcc-tournament-overview-grid {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.mcc-tournament-overview-grid > div {
    background: var(--app-body-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    display: grid;
    gap: .25rem;
    min-width: 0;
    padding: .85rem;
}
.mcc-tournament-overview-grid span,
.mcc-tournament-overview-grid small {
    color: var(--app-muted);
    font-size: .72rem;
}
.mcc-tournament-overview-grid strong {
    color: var(--app-text);
    font-size: 1.2rem;
    overflow-wrap: anywhere;
}
@media (max-width: 800px) {
    .mcc-tournament-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 520px) {
    .mcc-tournament-overview-grid {
        grid-template-columns: 1fr;
    }
}

.mcc-tournament-detail-list {
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}
.mcc-tournament-participant-counts {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.mcc-tournament-detail-list dd,
.mcc-tournament-table th,
.mcc-tournament-table td {
    overflow-wrap: anywhere;
}

.mcc-tournament-detail-description {
    grid-column: 1 / -1;
}

.mcc-fixture-workflow {
    align-items: stretch;
    justify-content: flex-start;
}

.mcc-fixture-workflow .mcc-inline-form {
    align-items: center;
    display: flex;
    flex: 1 1 18rem;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 0;
    min-width: 0;
}

.mcc-fixture-workflow .mcc-inline-form .form-control {
    flex: 1 1 12rem;
    min-width: 0;
}

.mcc-fixture-workflow .mcc-inline-form .mcc-button {
    flex: 0 0 auto;
}

@media (max-width: 767.98px) {
    .mcc-fixture-workflow .mcc-inline-form {
        align-items: stretch;
        flex-basis: 100%;
    }

    .mcc-fixture-workflow .mcc-inline-form .form-control,
    .mcc-fixture-workflow .mcc-inline-form .mcc-button {
        flex-basis: 100%;
        width: 100%;
    }
}

.mcc-tournament-history-values {
    display: grid;
    gap: .35rem;
    margin: 0;
    min-width: 12rem;
}

.mcc-tournament-history-value {
    display: grid;
    gap: .25rem;
    grid-template-columns: minmax(6rem, auto) minmax(8rem, 1fr);
}

.mcc-tournament-history-value dt,
.mcc-tournament-history-value dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.mcc-tournament-history-value dt {
    color: var(--app-muted);
    font-size: .75rem;
    font-weight: 650;
}

.mcc-tournament-history-value dd {
    white-space: pre-wrap;
}

.mcc-tournament-history-table .mcc-tournament-history-values {
    font-size: .78rem;
}

@media (max-width: 767.98px) {
    .mcc-tournament-detail-header {
        flex-direction: column;
    }

    .mcc-tournament-detail-header > .mcc-badge {
        margin-top: 0;
    }

    .mcc-tournament-detail-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .mcc-tournament-detail-description {
        grid-column: auto;
    }
}

/* Match list keeps wide data inside the shared table wrapper. */
.mcc-match-list,
.mcc-match-list .mcc-card,
.mcc-match-list .mcc-table-wrap {
    max-width: 100%;
    min-width: 0;
}
.mcc-match-form {
    display: grid;
    gap: 1rem;
}
.mcc-match-form .mcc-form-section {
    min-width: 0;
    overflow: visible;
    padding: 1.15rem;
}
.mcc-match-form .mcc-form-section:has(.mcc-bt-select-open) {
    position: relative;
    z-index: 20;
}
.mcc-match-form .mcc-section-heading {
    align-items: flex-start;
    border-bottom: 1px solid var(--app-border);
    display: flex;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding-bottom: .7rem;
}
.mcc-match-form .mcc-section-heading h2 {
    font-size: 1.05rem;
    margin: .2rem 0 0;
}
.mcc-match-form .mcc-form-grid {
    display: grid;
    gap: 1rem 1.15rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}
.mcc-match-form .mcc-form-field {
    align-content: start;
    min-width: 0;
}
.mcc-match-form .mcc-form-field:has(.mcc-bt-select-open) {
    position: relative;
    z-index: 100;
}
.mcc-match-form .mcc-bt-select-open .mcc-bt-select-menu {
    z-index: 1001;
}
.mcc-match-form .mcc-form-field-full {
    margin-top: 1rem;
}
.mcc-match-form .mcc-match-form-feedback {
    margin: 0;
}
@media (max-width: 700px) {
    .mcc-match-form .mcc-form-grid {
        grid-template-columns: 1fr;
    }
}
.mcc-match-filter-card,
.mcc-match-table-card {
    margin-top: 1rem;
}
.mcc-match-filter-card .mcc-card-heading,
.mcc-match-table-card .mcc-card-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: space-between;
}
.mcc-match-table .mcc-match-opponent {
    min-width: 220px;
    max-width: 260px;
    overflow-wrap: anywhere;
    padding-bottom: .75rem;
    padding-top: .75rem;
}
.mcc-match-reference {
    color: #64748b;
    font-size: .56rem;
    font-weight: 700;
    letter-spacing: .06em;
    margin-bottom: .35rem;
    text-transform: uppercase;
}
.mcc-match-team {
    color: #0f172a;
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.35;
    padding: .3rem .55rem;
}
.mcc-match-team-home {
    background: #eef4ff;
    border-left: 3px solid #2563eb;
    border-radius: .35rem;
}
.mcc-match-team-away {
    background: #fff7ed;
    border-left: 3px solid #f97316;
    border-radius: .35rem;
}
.mcc-match-vs {
    color: #2563eb;
    font-size: .56rem;
    font-weight: 700;
    letter-spacing: .08em;
    margin: .3rem 0;
    padding-left: .55rem;
}
.mcc-fixture-reference {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.mcc-fixture-vs {
    color: #2563eb;
    font-size: .7em;
    letter-spacing: .08em;
}
.mcc-match-detail-hero h2 {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}
.mcc-match-detail-vs {
    color: #2563eb;
    font-size: .72em;
    letter-spacing: .08em;
    white-space: nowrap;
}
.mcc-fixture-matchup {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: .18rem;
    min-width: 12rem;
}
.mcc-fixture-team {
    color: #0f172a;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.mcc-table-meta {
    color: #64748b;
    display: block;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1.35;
    text-transform: uppercase;
}
.mcc-table-primary {
    color: #0f172a;
    display: block;
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap;
}
.mcc-match-linkage-tags {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    margin-top: .35rem;
}
.mcc-match-linkage-tags .mcc-badge {
    font-size: .68rem;
    font-weight: 600;
}
.mcc-match-table .mcc-match-date {
    white-space: nowrap;
}
.mcc-match-assignment {
    min-width: 10rem;
}
.mcc-performance-import-card {
    overflow: visible;
}
.mcc-performance-import-heading {
    align-items: center;
    gap: 1rem;
}
.mcc-performance-import-form {
    align-items: end;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
}
.mcc-performance-import-field {
    min-width: 0;
}
.mcc-performance-import-field input[type="file"] {
    background: #fff;
    min-height: 42px;
    padding: .55rem .7rem;
}
.mcc-performance-import-actions {
    justify-content: flex-end;
    margin: 0;
}
@media (max-width: 700px) {
    .mcc-performance-import-heading {
        align-items: flex-start;
        flex-direction: column;
    }
    .mcc-performance-import-form {
        grid-template-columns: 1fr;
    }
    .mcc-performance-import-actions {
        justify-content: flex-start;
    }
}
.mcc-match-assignment .mcc-table-secondary-text {
    display: block;
    font-size: .68rem;
    line-height: 1.45;
}
.mcc-match-actions,
.mcc-pagination-actions,
.mcc-form-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.mcc-match-actions .mcc-button {
    min-height: 34px;
    padding: .4rem .65rem;
}
@media (max-width: 700px) {
.mcc-match-list .mcc-table-wrap table {
        min-width: 760px;
    }
    .mcc-match-actions .mcc-button {
        flex: 1 1 100%;
    }
    .mcc-pagination {
        align-items: flex-start;
        flex-direction: column;
        gap: .75rem;
    }
    .mcc-pagination-actions,
    .mcc-form-actions {
        width: 100%;
    }
    .mcc-form-actions .mcc-button,
    .mcc-pagination-actions .mcc-button {
        flex: 1 1 auto;
    }
}
.mcc-match-detail {
    max-width: 100%;
}
.mcc-match-detail-hero {
    min-width: 0;
}
.mcc-match-detail-hero h2,
.mcc-match-detail dd,
.mcc-match-history-changes {
    overflow-wrap: anywhere;
}
.mcc-match-detail-type {
    min-width: 7rem;
    text-align: right;
}
.mcc-match-detail-type strong {
    display: block;
    margin-top: .3rem;
}
.mcc-match-history-changes {
    min-width: 16rem;
}
.mcc-match-history-changes > div + div {
    border-top: 1px solid var(--app-border);
    margin-top: .7rem;
    padding-top: .7rem;
}
.mcc-match-history-changes strong {
    color: var(--app-muted);
    display: block;
    font-size: .72rem;
    letter-spacing: .04em;
    margin-bottom: .3rem;
    text-transform: uppercase;
}
.mcc-match-metadata-list {
    display: grid;
    gap: .25rem .75rem;
    grid-template-columns: minmax(6rem, auto) minmax(0, 1fr);
    margin: 0;
}
.mcc-match-metadata-list dt {
    color: var(--app-muted);
    font-size: .75rem;
    font-weight: 700;
}
.mcc-match-metadata-list dd {
    margin: 0;
}

.mcc-match-performance {
    max-width: 100%;
}

.mcc-match-performance-card {
    min-width: 0;
}

.mcc-performance-accordion-item {
    display: block;
    overflow: hidden;
    padding: 0;
    width: 100%;
}

.mcc-performance-accordion-list {
    display: block;
}

.mcc-performance-accordion-list .mcc-performance-accordion-item {
    margin-bottom: 4px;
}

.mcc-performance-accordion-trigger {
    align-items: center;
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: flex;
    gap: .5rem;
    justify-content: space-between;
    min-width: 0;
    padding: .35rem .5rem;
    text-align: left;
    width: 100%;
}

.mcc-performance-accordion-trigger > span:first-child {
    min-width: 0;
}

.mcc-performance-accordion-trigger:focus-visible {
    outline: 3px solid var(--app-focus, #2563eb);
    outline-offset: -3px;
}

.mcc-performance-player-name {
    display: block;
    font-size: 1.05rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.mcc-performance-player-id {
    color: var(--app-muted);
    display: block;
    font-size: .8rem;
    margin-top: .1rem;
}

.mcc-performance-accordion-summary {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    gap: .25rem;
}

.mcc-performance-accordion-icon {
    color: var(--app-muted);
    font-size: 1.25rem;
    line-height: 1;
}

.mcc-performance-accordion-panel {
    border-top: 1px solid var(--app-border);
    padding: .35rem .5rem;
}

.mcc-performance-accordion-panel > .mcc-detail-grid {
    align-items: start;
    gap: .5rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mcc-performance-accordion-panel .mcc-performance-fielding {
    border-top: 0;
    margin-top: 0;
    padding-top: 0;
}

.mcc-performance-accordion-panel[hidden] {
    display: none;
}

@media (max-width: 575.98px) {
    .mcc-performance-accordion-trigger {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .mcc-performance-accordion-summary {
        margin-left: auto;
    }
}

@media (max-width: 991.98px) {
    .mcc-performance-accordion-panel > .mcc-detail-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.mcc-match-performance fieldset {
    border: 1px solid var(--app-border);
    border-radius: .5rem;
    min-width: 0;
    padding: .3rem;
}

.mcc-match-performance legend {
    color: var(--app-muted);
    font-size: .78rem;
    font-weight: 700;
    padding: 0 .35rem;
    text-transform: uppercase;
}

.mcc-match-performance label {
    display: grid;
    gap: .15rem;
    margin-bottom: 4px;
}

.mcc-match-performance input,
.mcc-match-performance select,
.mcc-match-performance textarea {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.mcc-performance-unit-input {
    align-items: center;
    display: grid;
    gap: .35rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.mcc-performance-unit-input > span {
    color: var(--app-muted);
    font-size: .8rem;
    font-weight: 600;
}

.mcc-performance-help {
    color: var(--app-muted);
    display: block;
    font-size: .74rem;
    line-height: 1.35;
}

.mcc-performance-help-wrap {
    display: inline-block;
    position: relative;
}

.mcc-performance-help-trigger {
    align-items: center;
    background: var(--app-primary);
    border: 0;
    border-radius: 50%;
    color: var(--app-card-bg);
    cursor: help;
    display: inline-grid;
    font-size: .68rem;
    height: 1rem;
    justify-content: center;
    line-height: 1;
    margin-left: .2rem;
    padding: 0;
    vertical-align: middle;
    width: 1rem;
}

.mcc-performance-help-trigger:focus-visible {
    outline: 2px solid var(--app-focus, #2563eb);
    outline-offset: 2px;
}

.mcc-performance-help-tooltip {
    background: var(--app-sidebar-bg);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow);
    color: var(--app-card-bg);
    font-size: .75rem;
    font-weight: 400;
    left: 0;
    line-height: 1.4;
    max-width: min(24rem, calc(100vw - 2rem));
    padding: .55rem .7rem;
    position: absolute;
    top: calc(100% + .35rem);
    width: max-content;
    z-index: 20;
}

.mcc-performance-help-tooltip[hidden] {
    display: none;
}

.mcc-performance-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .75rem;
}

.mcc-performance-fielding {
    border-top: 1px solid var(--app-border);
    margin-top: 1rem;
    padding-top: 1rem;
}

.mcc-performance-fielding h3 {
    font-size: 1rem;
    margin: 0;
}

.mcc-performance-fielding .mcc-section-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: space-between;
}

.mcc-match-performance-card h2 {
    overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
    .mcc-match-detail-hero {
        display: block;
    }
    .mcc-match-detail-type {
        margin-top: 1rem;
        text-align: left;
    }
    .mcc-match-history-changes {
        min-width: 0;
    }
}
@media(max-width:700px) {
    .mcc-page-actions {
        width: 100%
    }
    .mcc-page-actions .mcc-button {
        flex: 1
    }
}
.mcc-modal {
    align-items: center;
    background: rgba(29,35,49,.32);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 1rem;
    position: fixed;
    z-index: 2000
}
.mcc-modal[hidden] {
    display: none
}
.mcc-modal-dialog {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow);
    max-height: calc(100vh - 2rem);
    max-width: 560px;
    overflow-y: auto;
    padding: 1.25rem;
    position: relative;
    z-index: 2001;
    width: 100%
}
.mcc-modal-heading {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem
}
.mcc-modal-heading h2 {
    font-size: 1.15rem;
    margin: .25rem 0 0
}
.mcc-modal-instruction {
    margin: 0 0 1rem
}
.mcc-import-form {
    display: grid;
    gap: .65rem
}
.mcc-import-form label {
    margin: 0
}
.mcc-import-form .mcc-alert {
    margin: .35rem 0 0
}
.mcc-import-form .mcc-import-result {
    border: 1px solid;
    border-radius: var(--app-radius);
    padding: .75rem .9rem;
    white-space: pre-line
}
.mcc-import-form .mcc-import-result i {
    margin-right: .35rem
}
.mcc-import-form .mcc-alert-success {
    background: #effaf3;
    border-color: var(--app-success);
    color: #176b3a
}
.mcc-import-form .mcc-alert-warning {
    background: #fff8e6;
    border-color: var(--app-warning);
    color: #7a5700
}
.mcc-import-form .mcc-alert-danger {
    background: #fff1f1;
    border-color: var(--app-danger);
    color: #b42318
}
.mcc-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
    margin-top: .5rem
}
.mcc-modal-actions .mcc-button:disabled {
    cursor: not-allowed;
    opacity: .55
}
.mcc-admission-action-menu {
    display: inline-block;
    position: relative;
}
.mcc-admission-action-dropdown {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow);
    max-width: calc(100vw - 16px);
    min-width: 190px;
    padding: .35rem;
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 1102;
}
.mcc-admission-action-dropdown[hidden] {
    display: none;
}
.mcc-admission-action-dropdown.is-open {
    display: block;
}
.mcc-admission-action-dropdown button,
.mcc-admission-action-dropdown a.mcc-admission-action-link {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: calc(var(--app-radius) - 1px);
    color: var(--app-text);
    display: flex;
    gap: .55rem;
    padding: .6rem .7rem;
    text-align: left;
    width: 100%;
}
.mcc-admission-action-dropdown button > i,
.mcc-admission-action-dropdown a.mcc-admission-action-link > i {
    flex: 0 0 1rem;
    font-size: 1rem;
    text-align: center;
    width: 1rem;
}
.mcc-admission-action-dropdown button:hover,
.mcc-admission-action-dropdown button:focus-visible,
.mcc-admission-action-dropdown a.mcc-admission-action-link:hover,
.mcc-admission-action-dropdown a.mcc-admission-action-link:focus-visible {
    background: var(--app-page-bg);
}
.mcc-player-action-menu,
.mcc-coach-action-menu,
.mcc-session-action-menu {
    display: inline-block;
    position: relative;
}
.mcc-player-action-dropdown,
.mcc-coach-action-dropdown,
.mcc-session-action-dropdown {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow);
    max-width: calc(100vw - 16px);
    max-height: min(70vh, 26rem);
    min-width: 210px;
    overflow-y: auto;
    padding: .35rem;
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 1102;
}
.mcc-player-action-dropdown[hidden],
.mcc-coach-action-dropdown[hidden],
.mcc-session-action-dropdown[hidden] {
    display: none;
}

.mcc-player-action-dropdown.is-open {
    position: fixed !important;
    right: auto !important;
    z-index: 99999 !important;
}
.mcc-session-results-card {
    overflow: visible;
}
.mcc-session-summary {
    align-items: center;
    border-bottom: 1px solid var(--app-border);
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding-bottom: .85rem;
}
.mcc-session-summary h2 {
    font-size: 1rem;
    margin: .2rem 0 0;
}
.mcc-session-summary-meta {
    align-items: center;
    color: var(--app-text);
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: flex-end;
}
.mcc-session-table-wrap {
    overflow-x: auto;
    overflow-y: visible;
}
.mcc-session-table-wrap .mcc-session-list-table {
    min-width: 0;
    width: 100%;
}
.mcc-session-list-table {
    min-width: 0;
    table-layout: fixed;
    width: 100%;
}
.mcc-session-list-table th,
.mcc-session-list-table td {
    font-size: .76rem;
    overflow-wrap: anywhere;
    padding: .55rem .45rem;
    vertical-align: middle;
}
.mcc-session-list-table .mcc-badge {
    white-space: nowrap;
}
.mcc-session-list-table th:first-child {
    width: 14%;
}
.mcc-session-list-table th:nth-child(2) {
    width: 11%;
}
.mcc-session-list-table th:nth-child(3) {
    width: 12%;
}
.mcc-session-list-table th:nth-child(4),
.mcc-session-list-table th:nth-child(5) {
    width: 11%;
}
.mcc-session-list-table th:nth-child(6) {
    width: 15%;
}
.mcc-session-list-table th:nth-child(7),
.mcc-session-list-table th:nth-child(8) {
    width: 9%;
}
.mcc-session-list-table th:last-child {
    width: 12%;
}
.mcc-session-date,
.mcc-session-time-range {
    display: block;
}
.mcc-session-date {
    font-weight: 700;
}
.mcc-session-time-range {
    color: var(--app-muted);
    font-size: .8rem;
    margin-top: .2rem;
}
.mcc-session-action-menu {
    min-width: max-content;
    z-index: 2;
}
.mcc-session-action-dropdown {
    z-index: 1103;
}
.mcc-session-results-card .mcc-empty-state {
    margin: .25rem 0;
}
@media (max-width: 700px) {
    .mcc-session-list-table {
        min-width: 760px;
        table-layout: auto;
    }

    .mcc-session-summary,
    .mcc-session-summary-meta {
        align-items: flex-start;
        justify-content: flex-start;
    }
    .mcc-session-summary-meta {
        flex-direction: column;
    }
    .mcc-session-results-card .mcc-pagination {
        align-items: flex-start;
        flex-direction: column;
        gap: .75rem;
    }
    .mcc-session-results-card .mcc-pagination-actions {
        width: 100%;
    }
    .mcc-session-results-card .mcc-pagination-actions .mcc-button {
        flex: 1 1 auto;
    }
}

@media (min-width: 701px) {
    .mcc-session-table-wrap {
        overflow-x: hidden;
    }
}
.mcc-player-action-dropdown.is-open,
.mcc-coach-action-dropdown.is-open,
.mcc-session-action-dropdown.is-open {
    display: block;
}
.mcc-player-action-dropdown button,
.mcc-player-action-dropdown a,
.mcc-coach-action-dropdown button,
.mcc-session-action-dropdown button,
.mcc-session-action-dropdown a {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: calc(var(--app-radius) - 1px);
    color: var(--app-text);
    display: flex;
    gap: .55rem;
    padding: .6rem .7rem;
    text-align: left;
    width: 100%;
}
.mcc-player-action-dropdown button > i,
.mcc-player-action-dropdown a > i,
.mcc-coach-action-dropdown button > i,
.mcc-session-action-dropdown button > i,
.mcc-session-action-dropdown a > i {
    flex: 0 0 1rem;
    font-size: 1rem;
    text-align: center;
    width: 1rem;
}
.mcc-player-action-dropdown button:hover,
.mcc-player-action-dropdown button:focus-visible,
.mcc-player-action-dropdown a:hover,
.mcc-player-action-dropdown a:focus-visible,
.mcc-coach-action-dropdown button:hover,
.mcc-coach-action-dropdown button:focus-visible,
.mcc-session-action-dropdown button:hover,
.mcc-session-action-dropdown button:focus-visible,
.mcc-session-action-dropdown a:hover,
.mcc-session-action-dropdown a:focus-visible {
    background: var(--app-page-bg);
}
@media (max-width: 700px) {
    .mcc-player-action-dropdown {
        min-width: min(210px, calc(100vw - 16px));
    }
}
.mcc-player-list-name {
    background: transparent;
    border: 0;
    color: var(--app-primary);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    padding: 0;
    text-align: left;
}
.mcc-player-list-name:hover,
.mcc-player-list-name:focus-visible {
    text-decoration: underline;
}
.mcc-player-filter-grid {
    min-width: 0;
}
.mcc-player-filter-grid > .mcc-player-filter-field {
    min-width: 0;
}
.mcc-player-filter-field > label {
    display: block;
    margin-bottom: .35rem;
}
.mcc-player-filter-field > select,
.mcc-player-filter-field > input {
    box-sizing: border-box;
    min-height: 2.75rem;
    min-width: 0;
    overflow: hidden;
    padding: .65rem .75rem;
    text-overflow: ellipsis;
    width: 100%;
}
.mcc-player-modal-dialog,
.mcc-coach-modal-dialog {
    max-width: 900px;
    padding: 1.25rem;
}
.mcc-coach-modal-body {
    min-width: 0;
}
.mcc-coach-form .mcc-button:disabled {
    cursor: not-allowed;
    opacity: .55;
}
.mcc-player-modal-body {
    min-width: 0;
}
.mcc-player-modal-body > form,
.mcc-coach-modal-body > form {
    margin: 0;
}
.mcc-player-goal-form {
    display: grid;
    gap: 1rem;
}
.mcc-player-goal-form .mcc-form-field {
    margin: 0;
}
.mcc-player-goal-content {
    overflow-wrap: anywhere;
}
.mcc-player-goal-content h3 {
    margin-bottom: .5rem;
}
.mcc-player-goal-content p {
    margin-bottom: .5rem;
    white-space: normal;
}
.mcc-goal-table-group {
    line-height: 1.45;
}
.mcc-goal-table-value {
    display: block;
}
.mcc-goal-table-value + .mcc-goal-table-value {
    margin-top: .25rem;
}
.mcc-player-modal-loading,
.mcc-coach-modal-loading {
    color: var(--app-muted);
    padding: 1.5rem .5rem;
    text-align: center;
}
.mcc-player-list-summary {
    border-top: 1px solid var(--app-border);
    padding-top: 1rem;
}
.mcc-player-modal .mcc-form-actions {
    justify-content: flex-end;
}
.mcc-coach-page,
.mcc-coach-profile-page {
    display: grid;
    gap: 1rem;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}
.mcc-coach-page > .mcc-card {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.mcc-coach-filter-card[hidden] {
    display: none !important;
}

.mcc-batches-page {
    min-width: 0;
}

.mcc-batches-page .mcc-batches-results-card {
    margin: 0;
}

.mcc-batches-page .mcc-table {
    min-width: 0;
    width: 100%;
}

.mcc-player-360-index {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.mcc-player-360-index > .mcc-card {
    margin: 0;
    min-width: 0;
}

.mcc-player-360-filter-card[hidden] {
    display: none !important;
}

.mcc-player-360-search-form {
    display: grid;
    gap: .45rem;
}

.mcc-player-360-search-form .mcc-form-actions {
    align-items: center;
    display: flex;
    gap: .65rem;
}

.mcc-player-360-search-form .mcc-form-actions .form-control {
    flex: 1 1 auto;
    min-width: 0;
}

.mcc-achievements-page {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.mcc-achievements-page > .mcc-card {
    margin: 0;
    min-width: 0;
}

.mcc-achievement-filter-card[hidden] {
    display: none !important;
}

.mcc-player-360-detail {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.mcc-player-360-detail > .mcc-card {
    margin: 0;
}

.mcc-player-360-hero {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.mcc-player-360-kpi-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mcc-player-360-kpi-card {
    display: grid;
    gap: .2rem;
    margin: 0;
    min-width: 0;
    padding: 1rem;
}

.mcc-player-360-kpi-card strong {
    color: var(--app-text);
    font-size: 1.65rem;
    line-height: 1.1;
}

.mcc-player-360-kpi-card > span:last-child {
    color: var(--app-muted);
    font-size: .78rem;
}

.mcc-player-360-kpi-accent {
    background: linear-gradient(135deg, #f1eaff, #fff);
}

.mcc-player-360-hero h1 {
    margin: .15rem 0 .35rem;
}

.mcc-player-360-hero h1 span {
    color: var(--app-muted);
    font-weight: 500;
}

.mcc-player-360-section-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mcc-player-360-section {
    min-width: 0;
}

.mcc-player-360-section .mcc-card-heading,
.mcc-player-360-detail > .mcc-card:not(.mcc-player-360-hero) .mcc-card-heading {
    border-bottom: 1px solid var(--app-border);
    margin-bottom: .85rem;
    padding-bottom: .65rem;
}

.mcc-player-360-section .mcc-card-heading h2,
.mcc-player-360-detail > .mcc-card:not(.mcc-player-360-hero) .mcc-card-heading h2 {
    margin: 0;
}

.mcc-player-360-section .mcc-empty-state {
    margin: 0;
    padding: 1rem;
}

.mcc-player-360-summary {
    display: grid;
    gap: .6rem;
    grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
}

.mcc-player-360-summary div {
    background: var(--app-surface-muted, #f7f8fa);
    border: 1px solid var(--app-border);
    border-radius: .45rem;
    display: grid;
    gap: .25rem;
    padding: .7rem;
}

.mcc-player-360-summary span {
    color: var(--app-muted);
    font-size: .72rem;
    text-transform: capitalize;
}

.mcc-player-360-summary strong {
    font-size: 1.2rem;
}

@media (max-width: 760px) {
    .mcc-player-360-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .mcc-player-360-section-grid {
        grid-template-columns: 1fr;
    }
}

.mcc-player-360-results-card .mcc-card-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
}

@media (max-width: 700px) {
    .mcc-player-360-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .mcc-player-360-kpi-grid {
        grid-template-columns: 1fr;
    }
}
    .mcc-player-360-search-form .mcc-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .mcc-player-360-search-form .mcc-button {
        width: 100%;
    }
}

@media (max-width: 700px) {
    .mcc-batches-page .mcc-table,
    .mcc-batches-page .mcc-table thead,
    .mcc-batches-page .mcc-table tbody,
    .mcc-batches-page .mcc-table tr,
    .mcc-batches-page .mcc-table th,
    .mcc-batches-page .mcc-table td {
        display: block;
        width: 100%;
    }

    .mcc-batches-page .mcc-table thead {
        display: none;
    }

    .mcc-batches-page .mcc-table tr {
        border-bottom: 1px solid var(--app-border);
        padding: .75rem 0;
    }

    .mcc-batches-page .mcc-table tr:last-child {
        border-bottom: 0;
    }

    .mcc-batches-page .mcc-table th,
    .mcc-batches-page .mcc-table td {
        border: 0;
        padding: .35rem 0 .35rem 7rem;
        position: relative;
        text-align: left;
    }

    .mcc-batches-page .mcc-table [data-label]::before {
        color: var(--app-muted);
        content: attr(data-label);
        font-size: .72rem;
        font-weight: 700;
        left: 0;
        position: absolute;
        text-transform: uppercase;
        top: .4rem;
    }
}
.mcc-coach-filter-form {
    align-items: end;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    min-width: 0;
}
.mcc-coach-field {
    display: grid;
    gap: .4rem;
    min-width: 0;
}
.mcc-coach-field input,
.mcc-coach-field select,
.mcc-coach-field textarea {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}
.mcc-coach-filter-actions,
.mcc-coach-form-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
}
.mcc-coach-filter-actions {
    grid-column: 1 / -1;
}
.mcc-coach-form {
    display: grid;
    gap: 1rem;
}
.mcc-coach-form-fields {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mcc-coach-form-fields > .mcc-help {
    align-self: end;
    margin: 0;
}
.mcc-coach-table th,
.mcc-coach-table td,
.mcc-coach-related-table th,
.mcc-coach-related-table td {
    vertical-align: middle;
}
.mcc-coach-table th:nth-last-child(-n + 3),
.mcc-coach-table td:nth-last-child(-n + 3) {
    text-align: center;
}
.mcc-coach-table td:last-child,
.mcc-coach-table th:last-child {
    white-space: nowrap;
}
.mcc-coach-directory-card .mcc-table-wrap {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    width: 100%;
}
.mcc-coach-directory-card .mcc-coach-table {
    min-width: 760px;
    max-width: none;
    width: max-content;
}
.mcc-coach-directory-card .mcc-coach-table th,
.mcc-coach-directory-card .mcc-coach-table td {
    overflow-wrap: anywhere;
}
.mcc-coach-directory-card .mcc-coach-table th:first-child,
.mcc-coach-directory-card .mcc-coach-table td:first-child {
    min-width: 170px;
}
.mcc-coach-directory-card .mcc-coach-table th:nth-child(2),
.mcc-coach-directory-card .mcc-coach-table td:nth-child(2) {
    min-width: 160px;
}
.mcc-coach-directory-card .mcc-coach-table th:nth-child(3),
.mcc-coach-directory-card .mcc-coach-table td:nth-child(3) {
    min-width: 130px;
}
.mcc-coach-table .mcc-lead-contact {
    display: block;
    margin-top: .2rem;
    overflow-wrap: anywhere;
}
.mcc-coach-profile-card .mcc-card-heading {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}
.mcc-coach-kpi-grid .metric-card {
    min-width: 0;
}
.mcc-coach-kpi-grid .metric-card strong {
    margin: .35rem 0;
}
.mcc-coach-related-table th[scope="row"] {
    color: var(--app-text);
    font-size: .82rem;
    letter-spacing: normal;
    text-transform: none;
}
.mcc-coach-related-table td,
.mcc-coach-related-table th {
    padding: .75rem .85rem;
}
.mcc-coach-modal-body > form.mcc-coach-form {
    gap: 1.25rem;
}
.mcc-coach-profile-page {
    max-width: 1280px;
    margin: 0 auto;
    width: 100%;
}
.mcc-coach-detail-page {
    display: grid;
    gap: 1rem;
    margin: 0 auto;
    max-width: 1280px;
    width: 100%;
}
.mcc-coach-detail-heading p {
    margin-bottom: 0;
}
.mcc-coach-summary-actions {
    align-items: center;
    border-top: 1px solid var(--app-border);
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-start;
    margin-top: 1rem;
    padding-top: 1rem;
}
.mcc-coach-profile-card {
    align-items: flex-start;
    gap: 1.5rem;
    overflow: hidden;
}
.mcc-coach-profile-card .mcc-card-heading h2 {
    overflow-wrap: anywhere;
}
.mcc-coach-profile-card .mcc-definition-list dd {
    min-width: 0;
    overflow-wrap: anywhere;
}
.mcc-coach-profile-card .mcc-detail-badges {
    flex-shrink: 0;
}
.mcc-coach-branch-badge {
    display: inline-flex;
    max-width: 100%;
    white-space: normal;
}
.mcc-coach-branch-value {
    overflow-wrap: anywhere;
}
.mcc-coach-related-card,
.mcc-coach-kpi-card {
    min-width: 0;
}
.mcc-coach-related-card .mcc-card-heading,
.mcc-coach-kpi-card .mcc-card-heading {
    align-items: center;
    gap: 1rem;
    min-width: 0;
}
.mcc-coach-related-card .mcc-card-heading > div,
.mcc-coach-kpi-card .mcc-card-heading > div {
    min-width: 0;
}
.mcc-coach-related-card .mcc-card-heading h2,
.mcc-coach-kpi-card .mcc-card-heading h2 {
    overflow-wrap: anywhere;
}
.mcc-coach-kpi-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
.mcc-coach-kpi-grid .metric-card strong {
    overflow-wrap: anywhere;
}
.mcc-coach-related-table {
    min-width: 760px;
}
.mcc-coach-related-table td,
.mcc-coach-related-table th {
    overflow-wrap: anywhere;
}
.mcc-coach-related-table td:last-child {
    min-width: 180px;
}
.mcc-coach-related-table td:last-child form {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.mcc-coach-related-table td:last-child input,
.mcc-coach-related-table td:last-child select {
    min-width: 150px;
    max-width: 100%;
}
.mcc-coach-status-badge {
    white-space: nowrap;
}
.mcc-coach-leave-actions {
    min-width: 240px;
}
.mcc-coach-leave-actions form + form {
    margin-top: .5rem;
}
.mcc-coach-form-actions .mcc-button,
.mcc-coach-related-table .mcc-button {
    align-items: center;
    display: inline-flex;
    gap: .4rem;
    justify-content: center;
}
.mcc-coach-profile-page .mcc-button,
.mcc-coach-profile-page select,
.mcc-coach-profile-page input,
.mcc-coach-profile-page textarea,
.mcc-coach-profile-page .mcc-card {
    box-sizing: border-box;
    max-width: 100%;
}
.mcc-coach-profile-page .mcc-table-wrap {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    width: 100%;
}
.mcc-coach-modal-dialog {
    box-sizing: border-box;
    max-width: calc(100vw - 2rem);
    min-width: 0;
    width: 100%;
}
@media (max-width: 700px) {
    .mcc-coach-filter-form {
        grid-template-columns: 1fr;
    }
    .mcc-coach-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .mcc-coach-filter-actions .mcc-button {
        justify-content: center;
        width: 100%;
    }
    .mcc-coach-directory-card .mcc-coach-table {
        min-width: 680px;
    }
    .mcc-coach-action-menu,
    .mcc-coach-action-menu > .mcc-button {
        max-width: 100%;
    }
    .mcc-coach-action-menu > .mcc-button {
        white-space: normal;
    }
    .mcc-coach-profile-card {
        gap: 1rem;
    }
    .mcc-coach-profile-card .mcc-card-heading,
    .mcc-coach-related-card .mcc-card-heading,
    .mcc-coach-kpi-card .mcc-card-heading {
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .mcc-coach-profile-card .mcc-detail-badges {
        width: 100%;
    }
    .mcc-coach-profile-card .mcc-detail-grid {
        grid-template-columns: 1fr;
    }
    .mcc-coach-kpi-grid {
        grid-template-columns: 1fr;
    }
    .mcc-coach-profile-page .mcc-coach-form-actions,
    .mcc-coach-profile-page .mcc-coach-summary-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .mcc-coach-profile-page .mcc-coach-form-actions .mcc-button,
    .mcc-coach-profile-page .mcc-coach-summary-actions .mcc-button {
        justify-content: center;
        width: 100%;
    }
    .mcc-coach-summary-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .mcc-coach-summary-actions .mcc-button {
        justify-content: center;
        width: 100%;
    }
    .mcc-coach-related-table {
        min-width: 680px;
    }
    .mcc-coach-related-table td:last-child form {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }
    .mcc-coach-related-table td:last-child input,
    .mcc-coach-related-table td:last-child select,
    .mcc-coach-related-table td:last-child .mcc-button {
        min-width: 0;
        width: 100%;
    }
}
@media(max-width:700px) {
    .mcc-player-modal-dialog,
    .mcc-coach-modal-dialog {
        max-height: calc(100vh - 1rem);
        padding: 1rem;
    }
    .mcc-player-list-summary {
        gap: .65rem;
        grid-template-columns: 1fr;
    }
    .mcc-coach-filter-form,
    .mcc-coach-form-fields {
        grid-template-columns: 1fr;
    }
    .mcc-coach-filter-actions,
    .mcc-coach-form-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }
    .mcc-coach-filter-actions .mcc-button,
    .mcc-coach-form-actions .mcc-button {
        margin: 0;
        width: 100%;
    }
    .mcc-coach-profile-card .mcc-card-heading {
        align-items: stretch;
        flex-direction: column;
    }
}
.mcc-admission-modal-dialog {
    max-width: 900px;
    padding: 1.25rem;
}
.mcc-admission-modal-dialog .mcc-modal-header {
    border-bottom: 1px solid var(--app-border);
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
}
.mcc-admission-modal-dialog .mcc-modal-close,
.mcc-player-modal-dialog .mcc-modal-close,
.mcc-coach-modal-dialog .mcc-modal-close {
    align-items: center;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--app-radius);
    color: var(--app-text);
    cursor: pointer;
    display: inline-flex;
    font-size: 1.25rem;
    height: 2.25rem;
    justify-content: center;
    line-height: 1;
    padding: 0;
    position: relative;
    width: 2.25rem;
    z-index: 1;
}
.mcc-admission-modal-dialog .mcc-modal-close:hover,
.mcc-player-modal-dialog .mcc-modal-close:hover,
.mcc-coach-modal-dialog .mcc-modal-close:hover {
    background: var(--app-body-bg);
}
.mcc-admission-modal-dialog .mcc-modal-close:focus-visible,
.mcc-player-modal-dialog .mcc-modal-close:focus-visible,
.mcc-coach-modal-dialog .mcc-modal-close:focus-visible {
    border-color: var(--app-primary);
    outline: 2px solid var(--app-primary);
    outline-offset: 2px;
}
.mcc-admission-modal-dialog .mcc-modal-body {
    min-width: 0;
    position: relative;
    z-index: 0;
}
.mcc-admission-modal-dialog [data-admission-modal-body] {
    min-width: 0;
}
.mcc-admission-modal-dialog .mcc-admission-detail {
    gap: .9rem;
}
.mcc-admission-modal-dialog .mcc-admission-detail-hero,
.mcc-admission-modal-dialog .mcc-admission-detail .mcc-detail-card {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: none;
    padding: 1rem;
}
.mcc-admission-modal-dialog .mcc-admission-detail-hero {
    background: var(--app-body-bg);
}
.mcc-admission-modal-dialog .mcc-admission-detail .mcc-card-heading {
    border-bottom: 1px solid var(--app-border);
    margin-bottom: .8rem;
    padding-bottom: .65rem;
}
.mcc-admission-modal-dialog .mcc-admission-detail .mcc-detail-grid,
.mcc-admission-modal-dialog .mcc-admission-documents-grid {
    gap: .9rem;
}
.mcc-admission-modal-dialog .mcc-admission-detail .mcc-detail-list {
    gap: .65rem .9rem;
}
.mcc-admission-modal-dialog .mcc-admission-detail .mcc-checklist-grid {
    gap: .6rem .9rem;
}
.mcc-admission-modal-dialog .mcc-admission-edit-card {
    background: transparent;
    border: 0;
    padding: 0;
}
.mcc-admission-modal-dialog .mcc-admission-edit-card .mcc-admission-form {
    display: grid;
    gap: .9rem;
    margin: 0;
}
.mcc-admission-modal-dialog .mcc-admission-edit-card .mcc-admission-section {
    background: var(--app-body-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    margin: 0;
    padding: 1rem;
}
.mcc-admission-modal-dialog .mcc-admission-edit-card .mcc-admission-actions {
    margin-top: 0;
}
.mcc-admission-modal-frame-wrap {
    min-height: 280px;
}
.mcc-admission-modal-frame-wrap iframe {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    display: block;
    height: min(70vh, 700px);
    width: 100%;
}
.mcc-admission-modal-panel {
    display: grid;
    gap: 1rem;
}
.mcc-admission-modal-panel[hidden] {
    display: none;
}
@media(max-width:700px) {
    .mcc-modal {
        align-items: flex-start;
        padding: .75rem
    }
    .mcc-modal-dialog {
        margin-top: 1rem;
        padding: 1rem
    }
    .mcc-modal-actions {
        flex-direction: column-reverse
    }
    .mcc-modal-actions .mcc-button {
        width: 100%
    }
}
.table-wrap,
.mcc-table-wrap,
.mcc-table-responsive {
    border: 1px solid var(--app-border);
    border-radius: 5px;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    width: 100%;
}
.mcc-table-scroll {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}
.mcc-table-scroll table {
    border-collapse: collapse;
    min-width: 620px;
    width: max-content;
}
.mcc-admission-table tbody tr:nth-last-child(-n + 2) .mcc-admission-action-dropdown {
    bottom: calc(100% + 4px);
    top: auto;
}
.mcc-scheduling-card {
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}
.mcc-scheduling-card:has(.mcc-bt-select) {
    overflow: visible;
}
.mcc-scheduling-card .mcc-form-field:has(.mcc-bt-select) {
    position: relative;
    z-index: 70;
}
.mcc-scheduling-card .mcc-bt-select-open {
    position: relative;
    z-index: 1000;
}
.mcc-scheduling-card .mcc-bt-select-open .mcc-bt-select-menu {
    z-index: 1001;
}
.mcc-scheduling-card .mcc-card-heading {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: .75rem;
}
.mcc-session-create-card,
.mcc-session-create-card .mcc-session-create-form,
.mcc-session-create-card .mcc-session-form-section,
.mcc-session-create-card .mcc-session-form-field {
    overflow: visible;
}
.mcc-session-create-card {
    display: grid;
    gap: 1rem;
    min-width: 0;
}
.mcc-session-create-form {
    display: grid;
    gap: 1.5rem;
    isolation: isolate;
    position: relative;
    z-index: 1;
}
.mcc-session-form-section {
    min-width: 0;
    position: relative;
    z-index: 0;
}
.mcc-session-form-section-heading {
    border-bottom: 1px solid var(--app-border);
    margin-bottom: 1rem;
    padding-bottom: .65rem;
}
.mcc-session-form-section-heading h3 {
    font-size: 1rem;
    margin: 0 0 .3rem;
}
.mcc-session-form-section-heading p {
    color: var(--app-muted);
    font-size: .82rem;
    margin: 0;
}
.mcc-session-create-grid,
.mcc-session-datetime-grid {
    display: grid;
    gap: 1rem 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mcc-session-form-field,
.mcc-session-datetime-field {
    align-content: start;
    display: grid;
    gap: .45rem;
    min-width: 0;
}
.mcc-session-create-card .mcc-session-form-section {
    background: var(--app-card-bg);
    border-color: var(--app-border);
    box-shadow: 0 2px 8px rgba(33, 81, 145, .04);
    padding: 1rem;
}
.mcc-session-form-field > label,
.mcc-session-datetime-field > .mcc-session-datetime-label {
    line-height: 1.35;
    min-height: 1.2rem;
}
.mcc-session-form-field .form-control,
.mcc-session-form-field .mcc-bt-select-toggle {
    min-height: 42px;
    width: 100%;
}
.mcc-session-form-field .mcc-form-help,
.mcc-session-form-field .mcc-field-error {
    margin: 0;
    overflow-wrap: anywhere;
}
.mcc-session-datetime-label {
    color: var(--app-text);
    font-size: .88rem;
    font-weight: 700;
}
.mcc-session-datetime-inputs {
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr);
}
.mcc-session-end-time-inputs {
    grid-template-columns: minmax(0, 1fr);
}
.mcc-session-form-field:has(.mcc-bt-select),
.mcc-session-form-section:has(.mcc-bt-select-open),
.mcc-session-form-section:has(.mcc-date-picker.is-open) {
    position: relative;
    z-index: 1000;
}
.mcc-session-batch-field:has(.mcc-bt-select-open) {
    z-index: 4100;
}
.mcc-session-batch-field .mcc-bt-select-menu {
    z-index: 4101;
}
.mcc-session-form-field:has(.mcc-bt-select-open),
.mcc-session-form-field:has(.mcc-date-picker.is-open),
.mcc-session-form-field .mcc-bt-select-open {
    position: relative;
    z-index: 4000;
}
.mcc-session-create-card .mcc-bt-select-menu {
    max-width: min(42rem, calc(100vw - 2rem));
    min-width: 100%;
    width: max-content;
    z-index: 4001;
}
.mcc-session-create-card .mcc-session-batch-field:has(.mcc-bt-select-open) {
    overflow: visible;
    position: relative;
    z-index: 4100;
}
.mcc-session-create-card .mcc-session-batch-field .mcc-bt-select-menu {
    box-sizing: border-box;
    left: 0;
    max-width: min(300px, calc(100vw - 2rem));
    min-width: 0;
    overflow: visible;
    right: auto;
    width: 100%;
    z-index: 4101;
}
.mcc-session-create-card .mcc-session-batch-field .mcc-bt-select-option,
.mcc-session-create-card .mcc-session-batch-field .mcc-bt-select-option span {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
}
.mcc-session-create-card .mcc-session-coach-field:has(.mcc-bt-select-open) {
    overflow: visible;
    position: relative;
    z-index: 4100;
}
.mcc-session-create-card .mcc-session-form-section:has(.mcc-session-coach-field .mcc-bt-select-open) {
    overflow: visible;
    position: relative;
    z-index: 4100;
}
.mcc-session-create-card .mcc-session-coach-field .mcc-bt-select,
.mcc-session-create-card .mcc-session-coach-field .mcc-bt-select-toggle {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}
.mcc-session-create-card .mcc-session-coach-field .mcc-bt-select-menu {
    box-sizing: border-box;
    left: 0;
    max-width: min(300px, calc(100vw - 2rem));
    min-width: 0;
    overflow: visible;
    right: auto;
    width: 100%;
    z-index: 4101;
}
.mcc-session-create-card .mcc-session-coach-field .mcc-bt-select-option,
.mcc-session-create-card .mcc-session-coach-field .mcc-bt-select-option span {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
}
.mcc-session-create-card .mcc-session-skill-field {
    position: relative;
    z-index: 1;
}
.mcc-session-create-card .mcc-session-skill-field:has(.mcc-bt-select-open) {
    z-index: 1200;
}
.mcc-session-create-card .mcc-session-form-section:has(.mcc-session-skill-field .mcc-bt-select-open) {
    position: relative;
    z-index: 1300;
}
.mcc-session-create-card .mcc-session-skill-field .mcc-bt-select-open {
    position: relative;
    z-index: 1400;
}
.mcc-session-create-card .mcc-session-skill-field .mcc-bt-select,
.mcc-session-create-card .mcc-session-skill-field .mcc-bt-select-toggle {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}
.mcc-session-create-card .mcc-session-skill-field .mcc-bt-select-menu {
    left: 0;
    max-width: 300px;
    min-width: 0;
    right: auto;
    width: 100%;
    z-index: 1401;
}
.mcc-session-create-card .mcc-session-skill-field .mcc-bt-select-option {
    overflow-wrap: anywhere;
    white-space: normal;
}
.mcc-session-create-card .mcc-session-skill-field .mcc-bt-select-option span {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
}
.mcc-session-form-actions {
    align-items: center;
    background: var(--app-card-bg);
    border-top: 1px solid var(--app-border);
    display: flex;
    gap: .75rem;
    justify-content: flex-end;
    margin-top: .15rem;
    padding-top: 1rem;
    position: relative;
    z-index: 2000;
}
.mcc-session-empty-state {
    background: var(--app-surface-muted, #f7f8fa);
    border: 1px dashed var(--app-border);
    border-radius: .45rem;
    padding: .7rem .8rem;
}
.mcc-session-form-feedback {
    margin: 0;
}
@media (max-width: 767px) {
    .mcc-session-create-grid,
    .mcc-session-datetime-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .mcc-session-datetime-inputs {
        grid-template-columns: minmax(0, 1fr);
    }
    .mcc-session-form-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .mcc-session-form-actions .mcc-button {
        width: 100%;
    }
    .mcc-session-create-card .mcc-session-skill-field .mcc-bt-select-menu {
        max-width: calc(100vw - 2rem);
    }
}
.mcc-session-player-details {
    display: grid;
    gap: .35rem;
    margin-top: .75rem;
}
.mcc-session-player-detail {
    background: var(--app-surface-muted, #f7f8fa);
    border: 1px solid var(--app-border);
    border-radius: .45rem;
    display: grid;
    gap: .15rem;
    padding: .55rem .7rem;
}
.mcc-session-player-detail strong {
    color: var(--app-text);
}
.mcc-session-player-detail span {
    color: var(--app-muted);
    font-size: .875rem;
}
.mcc-scheduling-filter-form {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}
.mcc-scheduling-filter-form > [class*="col-"] {
    min-width: 0;
}
.mcc-scheduling-card .mcc-table-wrap {
    max-width: 100%;
    min-width: 0;
}
.mcc-scheduling-detail {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
}
.mcc-scheduling-detail .mcc-card {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}
.mcc-scheduling-detail .mcc-card-heading {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: space-between;
    min-width: 0;
}
.mcc-scheduling-detail .mcc-card-heading > div {
    min-width: 0;
}
.mcc-scheduling-detail .mcc-card-heading h2,
.mcc-scheduling-detail .mcc-card-heading p {
    overflow-wrap: anywhere;
}
.mcc-scheduling-detail .mcc-card-heading .mcc-button {
    flex: 0 0 auto;
}
.mcc-scheduling-detail .mcc-detail-hero > span {
    flex: 0 0 auto;
}
.mcc-scheduling-detail .mcc-table-wrap {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
}
.mcc-scheduling-detail .mcc-table-wrap table {
    min-width: 680px;
}
.mcc-session-history-note {
    margin: 0 0 .5rem;
}
.mcc-session-snapshot-meta {
    display: block;
    flex-basis: 100%;
    overflow-wrap: anywhere;
}
.mcc-session-snapshot-form {
    margin: 0;
}
.mcc-session-metadata-summary {
    display: grid;
    gap: .75rem;
    min-width: 0;
}
.mcc-session-metadata-summary h3 {
    color: var(--app-muted);
    font-size: .7rem;
    letter-spacing: .05em;
    margin: 0 0 .4rem;
    text-transform: uppercase;
}
.mcc-session-metadata-list {
    display: grid;
    gap: .35rem;
    margin: 0;
    min-width: 0;
}
.mcc-session-metadata-list > div {
    display: grid;
    gap: .5rem;
    grid-template-columns: minmax(110px, .35fr) minmax(0, 1fr);
    min-width: 0;
}
.mcc-session-metadata-list dt {
    color: var(--app-muted);
    font-weight: 600;
}
.mcc-session-metadata-list dd {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}
.mcc-session-metadata-list .mcc-session-metadata-list {
    border-left: 2px solid var(--app-border);
    padding-left: .65rem;
}
.mcc-session-history-table th,
.mcc-session-history-table td {
    min-width: 0;
    vertical-align: top;
}
.mcc-session-history-table th {
    white-space: normal;
}
.mcc-scheduling-detail .mcc-page-actions {
    max-width: 100%;
    min-width: 0;
}
.mcc-scheduling-detail .mcc-page-action-form {
    display: inline-flex;
    margin: 0;
}
.mcc-scheduling-detail .mcc-page-action-form .mcc-button {
    white-space: nowrap;
}
.mcc-status-badge.is-completed {
    background: var(--app-success);
    border-color: var(--app-success);
    color: #fff;
}
.mcc-session-detail-hero .mcc-detail-hero {
    align-items: flex-start;
    min-width: 0;
}
.mcc-session-detail-hero .mcc-detail-hero > div,
.mcc-session-information > div {
    min-width: 0;
}
.mcc-session-information {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}
.mcc-session-information > div {
    background: var(--app-body-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    padding: .9rem 1rem;
}
.mcc-session-information dt {
    color: var(--app-muted);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .05em;
    margin-bottom: .35rem;
    text-transform: uppercase;
}
.mcc-session-information dd {
    font-weight: 600;
    margin: 0;
    overflow-wrap: anywhere;
}
.mcc-session-information dd .mcc-muted {
    display: block;
    font-size: .78rem;
    font-weight: 400;
    margin-top: .2rem;
}
.mcc-session-roster,
.mcc-session-lineage {
    display: grid;
    gap: .5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.mcc-session-roster li,
.mcc-session-lineage li {
    align-items: center;
    border-bottom: 1px solid var(--app-border);
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: space-between;
    min-width: 0;
    padding: .65rem 0;
}
.mcc-session-roster li > span:first-child,
.mcc-session-lineage li > span {
    min-width: 0;
    overflow-wrap: anywhere;
}
.mcc-attendance-summary-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
}
.mcc-attendance-summary-item {
    align-items: center;
    background: var(--app-body-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    min-width: 0;
    padding: .8rem;
}
.mcc-attendance-summary-item span {
    color: var(--app-muted);
    overflow-wrap: anywhere;
}
.mcc-attendance-summary-item strong {
    color: var(--app-text);
    font-size: 1.15rem;
}
.mcc-attendance-summary-meta {
    align-items: center;
    border-top: 1px solid var(--app-border);
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1rem;
    padding-top: .85rem;
}
.mcc-attendance-summary-meta span {
    color: var(--app-muted);
}
.mcc-attendance-summary-meta strong {
    color: var(--app-text);
}
.mcc-attendance-status {
    white-space: normal;
}
.mcc-attendance-status.is-present,
.mcc-attendance-summary-item.is-present { background: var(--app-card-bg); border-color: var(--app-success); color: var(--app-success); }
.mcc-attendance-status.is-absent,
.mcc-attendance-summary-item.is-absent { background: var(--app-card-bg); border-color: var(--app-danger); color: var(--app-danger); }
.mcc-attendance-status.is-leave,
.mcc-attendance-status.is-medical,
.mcc-attendance-summary-item.is-leave,
.mcc-attendance-summary-item.is-medical { background: var(--app-card-bg); border-color: var(--app-warning); color: var(--app-warning); }
.mcc-attendance-status.is-late,
.mcc-attendance-summary-item.is-late { background: var(--app-card-bg); border-color: var(--app-warning); color: var(--app-warning); }
.mcc-attendance-status.is-cancelled,
.mcc-attendance-status.is-neutral,
.mcc-attendance-summary-item.is-cancelled,
.mcc-attendance-summary-item.is-neutral { background: var(--app-body-bg); border-color: var(--app-border); color: var(--app-muted); }
.mcc-attendance-session-table-wrap {
    margin-top: 1rem;
}
.mcc-session-attendance-form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    min-width: 0;
}
.mcc-session-attendance-form .form-control {
    flex: 1 1 150px;
    max-width: 100%;
    min-width: 0;
}
.mcc-session-attendance-form .mcc-button {
    flex: 0 0 auto;
}
.mcc-session-feedback-form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    min-width: 0;
}
.mcc-session-feedback-form label {
    flex: 1 1 9rem;
    min-width: 0;
}
.mcc-session-feedback-form input,
.mcc-session-feedback-form select {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}
.mcc-session-feedback-form .mcc-button {
    flex: 0 0 auto;
}
.mcc-session-feedback-table td,
.mcc-session-feedback-table th {
    overflow-wrap: anywhere;
    vertical-align: top;
}
.mcc-feedback-preview {
    margin: .35rem 0 0;
    max-width: 22rem;
    overflow-wrap: anywhere;
}
.mcc-session-feedback-modal .mcc-modal-dialog {
    max-width: 34rem;
}
.mcc-session-feedback-modal .mcc-modal-body {
    min-width: 0;
}
.mcc-session-inline-form {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    min-width: 0;
}
.mcc-session-inline-form .mcc-form-field {
    flex: 1 1 220px;
    min-width: 0;
}
.mcc-session-inline-form .mcc-button {
    flex: 0 0 auto;
}
.mcc-session-inline-form .mcc-date-picker,
.mcc-session-inline-form input,
.mcc-session-inline-form select {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}
.mcc-session-inline-form .mcc-field-error {
    overflow-wrap: anywhere;
}
.mcc-session-detail .mcc-page-heading,
.mcc-scheduling-detail .mcc-table-wrap pre {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}
.mcc-scheduling-detail details {
    max-width: 100%;
    overflow-wrap: anywhere;
}
.mcc-session-modal {
    align-items: flex-start;
    box-sizing: border-box;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 1rem;
    z-index: 2200;
}
.mcc-session-modal .mcc-modal-dialog {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    max-height: none;
    max-width: min(920px, calc(100vw - 2rem));
    min-width: 0;
    overflow: visible;
    padding: 1.25rem;
    width: 100%;
}
.mcc-session-modal-dialog:has(.mcc-bt-select) {
    overflow: visible;
}
.mcc-session-modal .mcc-modal-heading {
    border-bottom: 1px solid var(--app-border);
    flex: 0 0 auto;
    margin-bottom: 1rem;
    min-width: 0;
    padding-bottom: .9rem;
}
.mcc-session-modal .mcc-modal-heading > div {
    min-width: 0;
}
.mcc-session-modal .mcc-modal-heading h2 {
    overflow-wrap: anywhere;
}
.mcc-session-modal .mcc-modal-close {
    align-items: center;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--app-radius);
    color: var(--app-text);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 2.25rem;
    height: 2.25rem;
    justify-content: center;
    padding: 0;
    width: 2.25rem;
}
.mcc-session-modal .mcc-modal-close:hover {
    background: var(--app-body-bg);
}
.mcc-session-modal .mcc-modal-close:focus-visible {
    border-color: var(--app-primary);
    outline: 2px solid var(--app-primary);
    outline-offset: 2px;
}
.mcc-session-modal .mcc-modal-body {
    min-width: 0;
    overflow-x: hidden;
    overflow-y: visible;
    padding: .1rem .1rem .25rem;
}
.mcc-session-modal .mcc-form-field:has(.mcc-bt-select-open),
.mcc-session-modal .mcc-bt-select.mcc-bt-select-open,
.mcc-session-modal .mcc-form-field:has(.mcc-date-picker.is-open) {
    position: relative;
    z-index: 2300;
}
.mcc-session-modal .mcc-bt-select-menu {
    max-width: min(42rem, calc(100vw - 2rem));
    min-width: 100%;
    width: max-content;
    z-index: 2301;
}
.mcc-session-modal .mcc-session-skill-field {
    position: relative;
    z-index: 1;
}
.mcc-session-modal .mcc-session-skill-field:has(.mcc-bt-select-open) {
    z-index: 2300;
}
.mcc-session-modal .mcc-session-skill-field .mcc-bt-select,
.mcc-session-modal .mcc-session-skill-field .mcc-bt-select-toggle {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}
.mcc-session-modal .mcc-session-skill-field .mcc-bt-select-menu {
    left: 0;
    max-width: 300px;
    min-width: 0;
    right: auto;
    width: 100%;
    z-index: 2301;
}
.mcc-session-modal .mcc-session-skill-field .mcc-bt-select-option,
.mcc-session-modal .mcc-session-skill-field .mcc-bt-select-option span {
    overflow-wrap: anywhere;
    white-space: normal;
}
.mcc-session-modal .mcc-session-modal-loading {
    align-items: center;
    color: var(--app-muted);
    display: flex;
    gap: .5rem;
    justify-content: center;
    min-height: 12rem;
}
.mcc-session-edit-form {
    min-width: 0;
}
.mcc-session-edit-form .mcc-form-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}
.mcc-session-edit-form .mcc-form-field {
    align-content: start;
    gap: .45rem;
    min-width: 0;
}
.mcc-session-edit-form .mcc-form-field-full {
    grid-column: 1 / -1;
}
.mcc-session-edit-form input,
.mcc-session-edit-form select,
.mcc-session-edit-form textarea {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}
.mcc-session-edit-form select[multiple] {
    min-height: 8rem;
}
.mcc-session-edit-form option {
    overflow-wrap: anywhere;
}
.mcc-session-edit-form .mcc-field-error,
.mcc-session-edit-form .mcc-form-help,
.mcc-session-edit-form .mcc-modal-instruction {
    overflow-wrap: anywhere;
}
.mcc-session-edit-form .mcc-session-edit-feedback {
    margin-top: 1rem;
}
.mcc-session-edit-form .mcc-modal-actions {
    background: var(--app-card-bg);
    border-top: 1px solid var(--app-border);
    bottom: 0;
    margin-top: 1rem;
    padding-top: 1rem;
    position: sticky;
    z-index: 2202;
}
@media (max-width: 700px) {
    .mcc-scheduling-card .mcc-card-heading {
        align-items: stretch;
    }
    .mcc-scheduling-card .mcc-card-heading .mcc-session-action-menu,
    .mcc-scheduling-card .mcc-card-heading .mcc-button {
        width: 100%;
    }
    .mcc-scheduling-detail .mcc-detail-hero {
        flex-direction: column;
    }
    .mcc-scheduling-detail .mcc-page-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }
    .mcc-scheduling-detail .mcc-page-actions .mcc-button {
        justify-content: center;
        width: 100%;
    }
    .mcc-scheduling-detail .mcc-page-action-form {
        width: 100%;
    }
    .mcc-scheduling-detail .mcc-card-heading .mcc-button {
        width: 100%;
    }
    .mcc-session-metadata-list > div {
        grid-template-columns: minmax(0, 1fr);
        gap: .15rem;
    }
    .mcc-session-attendance-form {
        align-items: stretch;
        flex-direction: column;
    }
    .mcc-session-attendance-form .form-control,
    .mcc-session-attendance-form .mcc-button {
        flex: 1 1 auto;
        width: 100%;
    }
    .mcc-attendance-summary-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: .35rem;
    }
    .mcc-attendance-session-table {
        min-width: 0 !important;
    }
    .mcc-attendance-session-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }
    .mcc-attendance-session-table,
    .mcc-attendance-session-table tbody,
    .mcc-attendance-session-table tr,
    .mcc-attendance-session-table th,
    .mcc-attendance-session-table td {
        display: block;
        width: 100%;
    }
    .mcc-attendance-session-table tr {
        border-bottom: 1px solid var(--app-border);
        padding: .75rem 0;
    }
    .mcc-attendance-session-table th,
    .mcc-attendance-session-table td {
        border: 0;
        padding: .35rem 0;
        text-align: left;
    }
    .mcc-attendance-session-table td::before {
        color: var(--app-muted);
        content: attr(data-label);
        display: block;
        font-size: .7rem;
        font-weight: 700;
        letter-spacing: .04em;
        margin-bottom: .2rem;
        text-transform: uppercase;
    }
}
@media (max-width: 767px) {
    .mcc-session-modal {
        align-items: flex-start;
        padding: .5rem;
    }
    .mcc-session-modal .mcc-modal-dialog {
        max-height: none;
        max-width: calc(100vw - 1rem);
        padding: 1rem;
    }
    .mcc-session-edit-form .mcc-form-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .mcc-session-edit-form .mcc-form-field-full {
        grid-column: auto;
    }
    .mcc-session-edit-form .mcc-modal-actions {
        flex-direction: column-reverse;
    }
    .mcc-session-edit-form .mcc-modal-actions .mcc-button {
        width: 100%;
    }
    .mcc-session-information {
        grid-template-columns: minmax(0, 1fr);
    }
    .mcc-session-detail-hero .mcc-detail-hero {
        flex-direction: column;
    }
    .mcc-session-inline-form {
        align-items: stretch;
        flex-direction: column;
    }
    .mcc-session-inline-form .mcc-form-field,
    .mcc-session-inline-form .mcc-button {
        flex: 1 1 auto;
        width: 100%;
    }
}
/* Shared non-native date picker. */
.mcc-date-picker {
    display: block;
    position: relative
}
.mcc-date-picker.is-open {
    z-index: 1100
}
.mcc-date-picker>input {
    width: 100%;
    min-width: 0
}
.mcc-date-picker-popup {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: 5px;
    box-shadow: var(--app-shadow);
    padding: .65rem;
    position: fixed;
    right: auto;
    top: 0;
    width: 250px;
    z-index: 1101
}
.mcc-date-picker-popup[data-mcc-date-picker-overlay] {
    z-index: 2301;
}
.mcc-date-picker-head {
    align-items: center;
    display: flex;
    gap: .35rem;
    justify-content: space-between
}
.mcc-date-picker-select-label {
    flex: 1 1 auto;
    min-width: 0;
}
.mcc-date-picker-select-label select {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: 4px;
    color: var(--app-text);
    min-height: 2rem;
    min-width: 0;
    padding: .25rem .35rem;
    width: 100%;
}
.mcc-date-picker-head button,.mcc-date-picker-days button {
    background: transparent;
    border: 0;
    border-radius: 4px;
    color: var(--app-text);
    padding: .35rem
}
.mcc-date-picker-head button:hover,.mcc-date-picker-days button:hover {
    background: #eee9fb;
    color: var(--app-primary)
}
.mcc-date-picker-days button.is-today {
    box-shadow: inset 0 0 0 1px var(--app-primary);
    font-weight: 700
}
.mcc-date-picker-days button.is-selected {
    background: var(--app-primary);
    color: #fff;
    font-weight: 700
}
.mcc-date-picker-week {
    color: var(--app-muted);
    font-size: .7rem;
    letter-spacing: .05em;
    margin: .5rem 0;
    text-align: center;
    word-spacing: .35rem
}
.mcc-date-picker-days {
    display: grid;
    grid-template-columns: repeat(7,1fr);
    text-align: center
}
.mcc-date-picker-days span {
    min-height: 32px
}
.mcc-date-picker-days button:focus-visible,.mcc-date-picker-head button:focus-visible {
    outline: 3px solid #f0b429;
    outline-offset: 2px
}
@media(max-width:700px) {
    .mcc-date-picker-popup {
        left: 0;
        right: auto;
        max-width: calc(100vw - 2rem);
        width: 250px
    }
}
/* Full product navigation keeps unavailable entries visible without creating fake links. */
.mcc-nav-link-disabled {
    cursor: default;
    opacity: .62
}
.mcc-nav-link-disabled small {
    color: var(--app-muted);
    font-size: .58rem;
    margin-left: auto;
    white-space: nowrap
}
.mcc-admission-form {
    align-items: start;
    margin-left: -0.5rem;
    margin-right: -0.5rem
}
.mcc-admission-edit-card .mcc-admission-form {
    margin-left: 0;
    margin-right: 0
}
.mcc-admission-page-heading {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between
}
.mcc-admission-page-heading h2 {
    margin-bottom: .25rem
}
.mcc-admission-section + .mcc-admission-section {
    margin-top: 1rem
}
.mcc-admission-section .mcc-form-field {
    min-width: 0
}
.mcc-admission-section .mcc-form-field > input,
.mcc-admission-section .mcc-form-field > select,
.mcc-admission-section .mcc-form-field > textarea {
    display: block;
    width: 100%
}
.mcc-admission-note {
    margin: 0
}
.mcc-admission-actions {
    align-items: center;
    display: flex;
    gap: .65rem;
    justify-content: flex-end;
    margin-top: 1rem
}
.mcc-admission-response {
    text-align: right;
}
.mcc-admission-form>fieldset {
    background: #fcfcfe;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    margin: 0;
    min-width: 0;
    padding: 1rem
}
.mcc-admission-form>fieldset legend {
    color: var(--app-text);
    font-size: .9rem;
    font-weight: 700;
    padding: 0 .35rem
}
.mcc-admission-form input,.mcc-admission-form select,.mcc-admission-form textarea {
    width: 100%
}

/* Admission screens: keep the existing data and actions easy to scan. */
.mcc-admission-filters,
.mcc-admission-list-card,
.mcc-admission-form-shell,
.mcc-admission-detail {
    border: 1px solid var(--app-border);
    border-radius: 7px;
    box-shadow: none;
    padding: 1.15rem;
}
.mcc-admission-filters[hidden] {
    display: none;
}
.mcc-follow-up-filters[hidden] {
    display: none;
}
.mcc-follow-up-summary-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}
.mcc-follow-up-summary-card {
    background: var(--app-surface-muted, #f7f8fa);
    border: 1px solid var(--app-border);
    border-radius: 7px;
    color: var(--app-text);
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
    padding: .8rem;
    text-decoration: none;
}
.mcc-follow-up-status-all {
    background: #eef1ff;
    color: #30458f;
}
.mcc-follow-up-status-pending {
    background: #fff6df;
    color: #865b00;
}
.mcc-follow-up-status-scheduled {
    background: #e8f5ff;
    color: #075985;
}
.mcc-follow-up-status-completed {
    background: #e9f8ef;
    color: #16713c;
}
.mcc-follow-up-status-cancelled {
    background: #f2f3f5;
    color: #59636f;
}
.mcc-follow-up-status-overdue {
    background: #ffeded;
    color: #9f1d16;
}
.mcc-follow-up-status-neutral {
    background: #f2f3f5;
    color: #59636f;
}
.mcc-follow-up-summary-card:hover,
.mcc-follow-up-summary-card:focus-visible,
.mcc-follow-up-summary-card.is-active {
    border-color: var(--app-primary, #1f5f99);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--app-primary, #1f5f99) 18%, transparent);
}
.mcc-follow-up-summary-label {
    color: var(--app-muted);
    font-size: .78rem;
    font-weight: 650;
    line-height: 1.2;
}
.mcc-follow-up-summary-count {
    font-size: 1.35rem;
    line-height: 1;
}

/* Fee schedule cards keep their state colors after the shared summary-card skin. */
.mcc-installment-summary .mcc-installment-status-all {
    background: #eef1ff;
    border-color: #cbd5ff;
    color: #30458f;
}

.mcc-installment-summary .mcc-installment-status-upcoming {
    background: #e8f5ff;
    border-color: #b9e1fb;
    color: #075985;
}

.mcc-installment-summary .mcc-installment-status-today {
    background: #fff6df;
    border-color: #f3d38b;
    color: #865b00;
}

.mcc-installment-summary .mcc-installment-status-overdue {
    background: #ffeded;
    border-color: #f2b8b5;
    color: #9f1d16;
}
.mcc-follow-up-admission-cell {
    min-width: 180px;
}
.mcc-follow-up-admission-cell > a,
.mcc-follow-up-admission-cell > span {
    display: block;
    line-height: 1.35;
}
.mcc-follow-up-admission-cell > a + a,
.mcc-follow-up-admission-cell > span {
    color: var(--app-muted);
    font-size: .8rem;
    margin-top: .2rem;
    overflow-wrap: anywhere;
}
.mcc-follow-up-applicant-name {
    color: var(--app-text);
    font-weight: 700;
    line-height: 1.4;
}
.mcc-follow-up-admission-cell > .mcc-follow-up-applicant-name {
    color: var(--app-text);
    font-size: inherit;
    margin-top: 0;
}
.mcc-follow-up-action-menu {
    display: inline-block;
}
.mcc-follow-up-detail-text {
    line-height: 1.6;
    margin: 0;
    overflow-wrap: anywhere;
}
.mcc-follow-up-action-dropdown {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow);
    max-width: calc(100vw - 16px);
    min-width: 190px;
    padding: .35rem;
    z-index: 1102;
}
.mcc-follow-up-action-dropdown[hidden] {
    display: none;
}
.mcc-follow-up-action-dropdown a {
    border-radius: calc(var(--app-radius) - 1px);
    color: var(--app-text);
    display: block;
    padding: .6rem .7rem;
    text-decoration: none;
    white-space: nowrap;
}
.mcc-follow-up-action-dropdown a:hover,
.mcc-follow-up-action-dropdown a:focus-visible {
    background: var(--app-page-bg);
}
.mcc-follow-up-detail-actions {
    isolation: isolate;
    overflow: visible;
    position: relative;
    z-index: 1100;
}
.mcc-follow-up-detail-actions .mcc-follow-up-action-dropdown {
    max-width: calc(100vw - 1rem);
    z-index: 12000;
}
.mcc-filter-count {
    align-items: center;
    background: var(--app-primary, #1f5f99);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: .72rem;
    height: 1.25rem;
    justify-content: center;
    margin-left: .35rem;
    min-width: 1.25rem;
    padding: 0 .3rem;
}
.mcc-follow-up-filter-form {
    align-items: end;
}
.mcc-follow-up-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}
.mcc-meeting-follow-up-table-wrap {
    overflow-x: auto;
    overflow-y: visible;
    position: relative;
}
.mcc-meeting-follow-up-table-wrap .mcc-table {
    min-width: 1120px;
    table-layout: auto;
}
.mcc-meeting-follow-up-table-wrap .mcc-table th,
.mcc-meeting-follow-up-table-wrap .mcc-table td {
    vertical-align: top;
}
.mcc-meeting-follow-up-reference {
    min-width: 130px;
}
.mcc-meeting-follow-up-applicant {
    max-width: 220px;
    min-width: 170px;
    overflow-wrap: anywhere;
    white-space: normal;
}
.mcc-meeting-follow-up-next-action {
    max-width: 190px;
    min-width: 150px;
    overflow-wrap: anywhere;
    white-space: normal;
}
.mcc-follow-up-action-menu {
    white-space: nowrap;
}
.mcc-meeting-follow-up-detail-hero {
    align-items: center;
}
.mcc-meeting-follow-up-detail-grid {
    margin-top: 1rem;
}
.mcc-meeting-follow-up-applicant-name,
.mcc-meeting-follow-up-detail-grid .mcc-detail-list dd {
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}
.mcc-meeting-follow-up-form-card {
    isolation: isolate;
    overflow: visible;
    position: relative;
    z-index: 1;
}
.mcc-meeting-follow-up-form-header {
    margin-top: 1rem;
}
.mcc-meeting-follow-up-form-header .mcc-card-heading {
    align-items: flex-start;
    gap: 1rem;
}
.mcc-meeting-follow-up-form-header .mcc-card-heading > div {
    min-width: 0;
}
.mcc-meeting-follow-up-form-header h2,
.mcc-meeting-follow-up-form-section h2 {
    overflow-wrap: anywhere;
}
.mcc-meeting-follow-up-form-card:has(.mcc-date-picker.is-open) {
    z-index: 100;
}
.mcc-meeting-follow-up-form-card:has(.mcc-meeting-follow-up-admission-test-field .mcc-bt-select-open) {
    position: relative;
    z-index: 1000;
}
.mcc-meeting-follow-up-admission-test-field {
    position: relative;
    z-index: 1;
}
.mcc-meeting-follow-up-admission-test-field:has(.mcc-bt-select-open) {
    z-index: 4000;
}
.mcc-meeting-follow-up-admission-test-field .mcc-bt-select {
    min-width: 0;
    overflow: visible;
    position: relative;
    width: 100%;
}
.mcc-meeting-follow-up-admission-test-field .mcc-bt-select-menu {
    max-width: min(42rem, calc(100vw - 2rem));
    min-width: 100%;
    width: 100%;
    z-index: 4001;
}
.mcc-meeting-follow-up-admission-test-field .mcc-bt-select-option {
    white-space: normal;
}
.mcc-meeting-follow-up-admission-test-field .mcc-bt-select-option span {
    overflow-wrap: anywhere;
    white-space: normal;
}
.mcc-meeting-follow-up-form-card .mcc-date-picker-popup {
    max-width: min(250px, calc(100vw - 2rem));
    z-index: 50000;
}
.mcc-meeting-follow-up-form-card .mcc-form-field {
    min-width: 0;
}
.mcc-meeting-follow-up-form-card .mcc-form-field label {
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.mcc-meeting-follow-up-form-card .form-control {
    min-height: 42px;
    max-width: 100%;
    width: 100%;
}
.mcc-meeting-follow-up-form-card select.form-control {
    min-width: 0;
}
.mcc-meeting-follow-up-form-card .mcc-field-error {
    line-height: 1.35;
    margin: 0;
    overflow-wrap: anywhere;
}
.mcc-meeting-follow-up-form-card .row {
    margin-left: -.5rem;
    margin-right: -.5rem;
}
.mcc-meeting-follow-up-form-card .row > [class*="col-"] {
    padding-left: .5rem;
    padding-right: .5rem;
}
.mcc-meeting-follow-up-form-section + .mcc-meeting-follow-up-form-section {
    border-top: 1px solid var(--app-border);
    margin-top: 1.25rem;
    padding-top: 1.25rem;
}
.mcc-meeting-follow-up-summary-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.mcc-meeting-follow-up-summary-grid .mcc-summary-item {
    display: grid;
    gap: .3rem;
    min-width: 0;
}
.mcc-meeting-follow-up-summary-grid .mcc-summary-item strong,
.mcc-meeting-follow-up-summary-grid .mcc-summary-item span,
.mcc-meeting-follow-up-summary-grid .mcc-summary-item a {
    display: block;
    overflow-wrap: anywhere;
}
.mcc-meeting-follow-up-summary-grid .mcc-summary-item strong {
    color: var(--app-muted);
    font-size: .72rem;
    letter-spacing: .05em;
    margin-bottom: .3rem;
    text-transform: uppercase;
}
.mcc-meeting-follow-up-textarea {
    min-height: 7rem;
    resize: vertical;
}
.mcc-meeting-follow-up-form-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    justify-content: flex-end;
    margin-top: 1.25rem;
}
.mcc-meeting-follow-up-form-actions .mcc-button {
    min-width: 9rem;
}
.mcc-admission-filter-grid {
    align-items: end;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mcc-admission-filter-grid .mcc-form-field {
    display: grid;
    gap: .35rem;
    min-width: 0;
}
.mcc-admission-filter-grid input,
.mcc-admission-filter-grid select {
    width: 100%;
}
.mcc-admission-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.mcc-admission-test-filters,
.mcc-admission-test-list-card,
.mcc-admission-test-status-summary {
    overflow: visible;
}
.mcc-admission-test-status-counts {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}
.mcc-admission-test-status-count {
    align-items: center;
    background: var(--app-surface-muted, #f7f8fa);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    display: flex;
    flex-direction: column;
    gap: .45rem;
    justify-content: center;
    min-width: 0;
    padding: .75rem .5rem;
    text-align: center;
}
.mcc-admission-test-status-count strong {
    color: var(--app-text);
    font-size: 1.25rem;
}
.mcc-admission-test-filter-form {
    align-items: end;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.mcc-admission-test-filter-field {
    min-width: 0;
}
.mcc-admission-test-filter-field label {
    display: block;
    line-height: 1.35;
    margin-bottom: .35rem;
    min-height: 1.2em;
}
.mcc-admission-test-filter-field input,
.mcc-admission-test-filter-field select {
    min-height: 42px;
    width: 100%;
}
.mcc-admission-test-filter-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    grid-column: 1 / -1;
    justify-content: flex-end;
}
.mcc-admission-test-table-wrap {
    overflow-x: auto;
    overflow-y: visible;
}
.mcc-admission-test-list-table {
    min-width: 1080px;
}
.mcc-admission-test-list-table th,
.mcc-admission-test-list-table td {
    vertical-align: top;
}
.mcc-admission-test-list-table tbody th:first-child {
    max-width: 240px;
    min-width: 180px;
    overflow-wrap: anywhere;
}

.mcc-admission-test-identity {
    display: grid;
    gap: .25rem;
    min-width: 0;
}

.mcc-admission-test-identity a,
.mcc-admission-test-identity span {
    overflow-wrap: anywhere;
}

.mcc-admission-test-list-table tbody th:first-child .mcc-table-secondary-text {
    display: block;
    white-space: nowrap;
}
.mcc-admission-test-list-table td:nth-child(5) .mcc-table-secondary-text {
    display: block;
    white-space: nowrap;
}
.mcc-admission-test-list-card .mcc-admission-action-menu {
    align-items: center;
    border: 0;
    display: inline-flex;
    min-width: 7rem;
    padding: 0;
    position: relative;
    z-index: 2;
}
.mcc-admission-test-list-table td:last-child {
    border-top: 0;
    text-align: center;
    vertical-align: middle;
}
.mcc-admission-test-list-card .mcc-admission-action-menu > .mcc-button {
    align-items: center;
    display: inline-flex;
    gap: .45rem;
    justify-content: center;
    min-height: 38px;
    padding: .55rem .75rem;
    white-space: nowrap;
    width: 100%;
}
.mcc-admission-test-list-card .mcc-admission-action-dropdown {
    z-index: 12000;
}
.mcc-admission-status-action {
    border-top: 1px solid var(--mcc-border, #e5e7eb);
}
.mcc-admission-status-action > summary {
    cursor: pointer;
    list-style: none;
}
.mcc-admission-status-action > summary::-webkit-details-marker {
    display: none;
}
.mcc-admission-status-form {
    display: grid;
    gap: .45rem;
    padding: .65rem .75rem .75rem;
    min-width: 17rem;
}
.mcc-admission-status-form label {
    color: var(--mcc-muted, #64748b);
    font-size: .78rem;
    font-weight: 600;
}
.mcc-admission-status-form select,
.mcc-admission-status-form textarea {
    border: 1px solid var(--mcc-border, #cbd5e1);
    border-radius: .35rem;
    font: inherit;
    padding: .45rem .55rem;
    width: 100%;
}
.mcc-admission-status-form .mcc-button {
    justify-content: center;
    width: 100%;
}
.mcc-admission-status-modal {
    z-index: 13000;
}
.mcc-admission-status-modal .mcc-modal-dialog {
    max-width: 520px;
}
.mcc-admission-status-modal .mcc-modal-close {
    align-items: center;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--app-radius);
    color: var(--app-text);
    cursor: pointer;
    display: inline-flex;
    font-size: 1.5rem;
    height: 2.25rem;
    justify-content: center;
    line-height: 1;
    padding: 0;
    width: 2.25rem;
}
.mcc-admission-status-modal .mcc-modal-close:hover,
.mcc-admission-status-modal .mcc-modal-close:focus-visible {
    background: var(--app-page-bg);
    border-color: var(--app-primary);
    outline: 2px solid var(--app-primary);
    outline-offset: 2px;
}
.mcc-admission-status-modal-form {
    display: grid;
    gap: 1rem;
}
.mcc-admission-status-modal-form .invalid-feedback:not([hidden]) {
    display: block;
}
.mcc-admission-status-page-message {
    margin-bottom: 1rem;
}
@media (max-width: 1100px) {
    .mcc-admission-test-status-counts {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .mcc-admission-test-filter-form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 700px) {
    .mcc-admission-test-status-counts,
    .mcc-admission-test-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 480px) {
    .mcc-admission-test-status-counts,
    .mcc-admission-test-filter-form {
        grid-template-columns: 1fr;
    }

    .mcc-admission-test-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .mcc-admission-test-filter-actions .mcc-button {
        justify-content: center;
        width: 100%;
    }
}
@media (max-width: 900px) {
    .mcc-follow-up-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .mcc-meeting-follow-up-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 540px) {
    .mcc-follow-up-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mcc-follow-up-filter-actions .mcc-button {
        flex: 1 1 100%;
        text-align: center;
    }
    .mcc-meeting-follow-up-summary-grid {
        grid-template-columns: 1fr;
    }
    .mcc-meeting-follow-up-form-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }
    .mcc-meeting-follow-up-form-actions .mcc-button {
        width: 100%;
    }
    .mcc-meeting-follow-up-form-header .mcc-card-heading {
        gap: .75rem;
    }
    .mcc-meeting-follow-up-form-section {
        padding-top: .25rem;
    }
}
.mcc-admission-list-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
}
.mcc-admission-table th,
.mcc-admission-table td {
    overflow-wrap: anywhere;
}
.mcc-admission-table tbody th {
    color: var(--app-text);
    font-size: .8rem;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
}
.mcc-admission-identity {
    min-width: 220px;
    white-space: normal !important;
}

.mcc-admission-identity .mcc-table-primary-text,
.mcc-admission-identity .mcc-table-secondary-text {
    display: block;
    overflow-wrap: anywhere;
}

.mcc-admission-identity .mcc-table-primary-text {
    margin-top: 0;
}

.mcc-admission-identity .mcc-table-secondary-text + .mcc-table-secondary-text {
    margin-top: .2rem;
}
.mcc-table-primary-text {
    font-weight: 650;
}
.mcc-table-secondary-text {
    color: var(--app-muted);
    display: block;
    font-size: 10px;
    line-height: 1.35;
    margin-top: .35rem;
}

.mcc-goal-timeline,
.mcc-session-plan-timeline {
    color: var(--app-muted);
    font-size: 10px;
    line-height: 1.35;
}
.mcc-admission-test-list-date {
    font-size: 10px;
}
.mcc-status-badge {
    white-space: nowrap;
}
.mcc-status-intake,
.mcc-status-in_review {
    background: #eef1f5;
    color: #526176;
}
.mcc-status-documents_pending {
    background: #fff6df;
    color: #986500;
}
.mcc-status-approved {
    background: #e9f8ef;
    color: #16713c;
}
.mcc-status-completed {
    background: #e9f8ef;
    color: #16713c;
}
.mcc-status-rejected,
.mcc-status-withdrawn {
    background: #ffeded;
    color: #b42318;
}
.mcc-status-converted {
    background: #e8f5ff;
    color: #075985;
}
.mcc-checklist-state {
    color: var(--app-muted);
    font-size: .78rem;
    font-weight: 650;
    white-space: nowrap;
}
.mcc-checklist-state.is-complete {
    color: #16713c;
}
.mcc-admission-actions-inline {
    justify-content: flex-start;
}
.mcc-admission-empty-state {
    border: 1px dashed var(--app-border);
    border-radius: 5px;
    margin-top: .25rem;
}
.mcc-admission-form-shell {
    margin-bottom: 1rem;
}
.mcc-admission-form-shell .mcc-admission-form {
    margin: 1rem 0 0;
}
.mcc-admission-form-shell .mcc-admission-section + .mcc-admission-section {
    margin-top: 1.25rem;
}
.mcc-admission-form-shell .mcc-admission-section {
    padding: 1.15rem;
}
.mcc-admission-fields,
.mcc-admission-upload-layout {
    margin-left: -.5rem;
    margin-right: -.5rem;
    row-gap: 1rem;
}
.mcc-admission-fields .mcc-form-field {
    flex: 0 0 50%;
    margin: 0;
    max-width: 50%;
    min-width: 0;
}
.mcc-admission-fields .mcc-form-field > input,
.mcc-admission-fields .mcc-form-field > select,
.mcc-admission-fields .mcc-form-field > textarea {
    width: 100%;
}
.mcc-admission-form-shell .mcc-admission-documents-section {
    padding: 1.15rem;
}
.mcc-admission-form > fieldset {
    background: #fff;
    padding: 1.15rem;
}
.mcc-admission-detail {
    display: grid;
    gap: 1rem;
}
.mcc-admission-detail > .mcc-card {
    box-shadow: none;
    margin: 0;
}
.mcc-detail-actions-panel {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}
.mcc-admission-detail {
    background: transparent;
    border: 0;
    box-shadow: none;
    gap: 1rem;
    padding: 0;
}
.mcc-admission-detail-hero {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    min-width: 0;
}
.mcc-admission-detail-identity {
    min-width: 0;
}
.mcc-admission-detail-hero h2 {
    font-size: 1.35rem;
    line-height: 1.25;
    margin: .25rem 0 .2rem;
    overflow-wrap: anywhere;
}
.mcc-admission-reference {
    color: var(--app-muted);
    font-size: .8rem;
    margin: 0 0 .75rem;
}
.mcc-admission-detail .mcc-detail-grid {
    margin-top: 0;
}
.mcc-admission-detail .mcc-detail-card {
    min-width: 0;
}
.mcc-detail-heading-with-status {
    align-items: center;
    display: flex;
    justify-content: space-between;
}
.mcc-detail-status-line {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin: 0;
}
.mcc-detail-empty-state {
    margin: 0;
    padding: 1rem;
    text-align: left;
}
.mcc-trial-summary-card .mcc-card-heading {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: .75rem;
}
.mcc-trial-summary-card .mcc-detail-badges {
    justify-content: flex-end;
}
.mcc-trial-summary-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 0;
}
.mcc-trial-summary-item {
    border-left: 2px solid var(--app-primary);
    display: grid;
    gap: .35rem;
    min-width: 0;
    padding-left: .75rem;
}
.mcc-trial-summary-item dt {
    color: var(--app-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.mcc-trial-summary-item dd {
    font-size: .92rem;
    font-weight: 650;
    margin: 0;
    overflow-wrap: anywhere;
}
.mcc-trial-notes {
    border-top: 1px solid var(--app-border);
    margin-top: 1.15rem;
    padding-top: 1rem;
}
.mcc-trial-notes h3 {
    font-size: .78rem;
    letter-spacing: .05em;
    margin: 0 0 .45rem;
    text-transform: uppercase;
}
.mcc-trial-notes p {
    background: var(--app-body-bg);
    border-radius: 5px;
    line-height: 1.55;
    margin: 0;
    padding: .8rem .9rem;
    white-space: normal;
}
.mcc-checklist-form,
.mcc-status-form {
    margin: 0;
}
.mcc-checklist-grid {
    display: grid;
    gap: .65rem 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mcc-checklist-item {
    align-items: flex-start;
    color: var(--app-text);
    display: flex;
    font-size: .8rem;
    gap: .55rem;
    line-height: 1.4;
}
.mcc-checklist-item input {
    flex: 0 0 auto;
    margin-top: .2rem;
}
.mcc-detail-form-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
}
.mcc-status-form {
    border-top: 1px solid var(--app-border);
    margin-top: 1rem;
    padding-top: 1rem;
}
.mcc-status-fields {
    align-items: center;
    display: grid;
    gap: .45rem .75rem;
    grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr);
}
.mcc-status-fields label {
    white-space: nowrap;
}
.mcc-status-fields input,
.mcc-status-fields select {
    min-width: 0;
    width: 100%;
}
.mcc-lifecycle-summary {
    border-bottom: 1px solid var(--app-border);
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-bottom: 1rem;
}
.mcc-lifecycle-item {
    display: grid;
    gap: .4rem;
    min-width: 0;
}
.mcc-lifecycle-label {
    color: var(--app-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.mcc-lifecycle-value {
    font-size: .9rem;
    font-weight: 650;
    overflow-wrap: anywhere;
}
.mcc-lifecycle-meta {
    color: var(--app-muted);
    font-size: .76rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.mcc-lifecycle-item form {
    margin: 0;
}
.mcc-lifecycle-section .mcc-status-form {
    margin-top: 1rem;
}
.mcc-lifecycle-section .mcc-status-fields {
    align-items: start;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mcc-status-field {
    display: grid;
    gap: .35rem;
    min-width: 0;
}
.mcc-admission-detail .mcc-history {
    gap: .85rem;
}
.mcc-admission-detail .mcc-history li {
    border: 1px solid var(--app-border);
    border-left: 3px solid var(--app-primary);
    border-radius: 5px;
    padding: .7rem .85rem;
}
.mcc-admission-documents-panel,
.mcc-admission-documents-section {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    min-width: 0;
    padding: 1rem;
}
.mcc-admission-documents-panel {
    margin-top: 1rem;
}
.mcc-admission-documents-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mcc-admission-upload-layout {
    row-gap: 1rem;
}
.mcc-admission-upload-area {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    min-width: 0;
    padding: 1rem;
}
.mcc-admission-photo-area,
.mcc-admission-files-area {
    min-width: 0;
}
.mcc-admission-photo-area h3,
.mcc-admission-files-area h3 {
    font-size: .9rem;
    margin: 0 0 .7rem;
}
.mcc-admission-photo-preview {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    display: block;
    height: auto;
    max-width: 100%;
    width: 100%;
}
.mcc-admission-image-link,
.mcc-admission-document-preview {
    display: block;
    max-width: 100%;
    width: 100%;
}
.mcc-admission-document-preview {
    background: var(--app-body-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    overflow: hidden;
    max-width: 100%;
    width: 100%;
}
.mcc-admission-document-image {
    display: block;
    height: auto;
    max-width: 100%;
    width: 100%;
}
.mcc-admission-image-document-row {
    row-gap: .65rem;
}
.mcc-admission-image-document-column {
    min-width: 0;
}
.mcc-admission-image-document {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    height: 100%;
    min-width: 0;
    padding: .65rem;
}
.mcc-admission-image-document-meta {
    min-width: 0;
    padding-top: .55rem;
}
.mcc-admission-image-document-meta strong,
.mcc-admission-image-document-meta span {
    display: block;
    overflow-wrap: anywhere;
}
.mcc-admission-image-document-meta strong {
    font-size: .8rem;
}
.mcc-admission-image-document-meta span {
    color: var(--app-muted);
    font-size: .72rem;
    margin-top: .2rem;
}
.mcc-admission-image-document .mcc-admission-document-actions {
    margin-top: .55rem;
}
.mcc-admission-document-icon {
    align-items: center;
    background: var(--app-body-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    color: var(--app-muted);
    display: flex !important;
    flex: 0 0 auto;
    height: 56px;
    justify-content: center;
    width: 56px;
}
.mcc-admission-photo-empty {
    align-items: center;
    background: var(--app-body-bg);
    border: 1px dashed var(--app-border);
    border-radius: var(--app-radius);
    color: var(--app-muted);
    display: flex;
    height: 150px;
    justify-content: center;
    margin-bottom: 1rem;
    max-width: 150px;
    padding: .75rem;
    text-align: center;
    width: 150px;
}
.mcc-admission-file-name {
    font-size: .78rem;
    margin: 0;
    overflow-wrap: anywhere;
}
.mcc-admission-file-meta {
    align-items: center;
    display: flex;
    gap: .5rem;
    margin: .65rem 0;
}
.mcc-admission-file-state {
    color: var(--app-muted);
    font-size: .72rem;
    white-space: nowrap;
}
.mcc-admission-file-input {
    margin-bottom: .35rem;
}
.mcc-admission-file-input::file-selector-button {
    background: var(--app-primary);
    border: 0;
    border-radius: var(--app-radius);
    color: #fff;
    cursor: pointer;
    margin: -.35rem .65rem -.35rem -.35rem;
    padding: .45rem .7rem;
}
.mcc-admission-file-empty {
    border: 1px dashed var(--app-border);
    border-radius: var(--app-radius);
    margin: 0;
    padding: 1rem;
    text-align: left;
}
.mcc-admission-upload-form {
    border-top: 1px solid var(--app-border);
    display: grid;
    gap: .45rem;
    margin-top: 1rem;
    padding-top: 1rem;
}
.mcc-admission-upload-form .mcc-help {
    margin: 0 0 .35rem;
}
.mcc-admission-upload-form .mcc-button {
    justify-self: start;
}
.mcc-admission-document-list {
    display: grid;
    gap: .65rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.mcc-admission-document-list li {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    min-width: 0;
    padding: .75rem;
}
.mcc-admission-document-list li > div {
    min-width: 0;
}
.mcc-admission-document-list strong,
.mcc-admission-document-list span {
    display: block;
    overflow-wrap: anywhere;
}
.mcc-admission-document-list strong {
    font-size: .8rem;
}
.mcc-admission-document-list li > div:first-child span {
    color: var(--app-muted);
    font-size: .72rem;
    margin-top: .2rem;
}
.mcc-admission-document-actions {
    display: flex !important;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: .4rem;
}
.mcc-admission-document-actions .mcc-button {
    min-height: 32px;
    padding: .35rem .6rem;
}
.mcc-admission-document-actions form {
    margin: 0;
}
@media (max-width: 900px) {
    .mcc-admission-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 700px) {
    .mcc-admission-filter-grid {
        grid-template-columns: 1fr;
    }
    .mcc-admission-fields .mcc-form-field {
        flex-basis: 100%;
        max-width: 100%;
    }
    .mcc-admission-filter-actions,
    .mcc-admission-filter-actions .mcc-button {
        width: 100%;
    }
    .mcc-admission-filter-actions .mcc-button {
        justify-content: center;
    }
    .mcc-admission-list-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: .35rem;
    }
    .mcc-detail-actions-panel,
    .mcc-detail-actions-panel .mcc-button {
        width: 100%;
    }
    .mcc-detail-actions-panel .mcc-button {
        justify-content: center;
    }
    .mcc-checklist-grid,
    .mcc-status-fields,
    .mcc-lifecycle-summary {
        grid-template-columns: 1fr;
    }
    .mcc-lifecycle-section .mcc-status-fields {
        grid-template-columns: 1fr;
    }
    .mcc-status-fields label {
        margin-top: .35rem;
    }
    .mcc-detail-heading-with-status {
        align-items: flex-start;
        flex-direction: column;
        gap: .55rem;
    }
    .mcc-trial-summary-card .mcc-detail-badges {
        justify-content: flex-start;
    }
    .mcc-trial-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mcc-admission-documents-grid {
        grid-template-columns: 1fr;
    }
    .mcc-admission-document-list li {
        align-items: flex-start;
        flex-direction: column;
    }
    .mcc-admission-document-actions,
    .mcc-admission-document-actions .mcc-button,
    .mcc-admission-upload-form .mcc-button {
        width: 100%;
    }
    .mcc-admission-document-actions .mcc-button,
    .mcc-admission-upload-form .mcc-button {
        justify-content: center;
    }
}
@media(max-width:700px) {
    .mcc-admission-page-heading {
        align-items: stretch;
        flex-direction: column
    }
    .mcc-admission-page-heading .mcc-button,
    .mcc-admission-actions .mcc-button {
        width: 100%
    }
    .mcc-admission-actions {
        align-items: stretch;
        flex-direction: column-reverse
    }
}
/* Central compact staff navigation. The sidebar owns its own scroll area; page content never does. */
.mcc-sidebar {
    align-self: flex-start;
    height: 100vh;
    max-height: 100vh;
    overflow-y: auto;
    transition: flex-basis .2s ease,width .2s ease
}
@media (min-width: 992px) {
    .mcc-app-shell {
        height: 100vh;
        max-height: 100vh;
        overflow: hidden;
    }

    .mcc-main {
        height: 100vh;
        min-height: 0;
        overflow: hidden;
    }

    .mcc-content {
        flex: 1 1 auto;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
    }
}
.mcc-brand {
    min-width: 0
}
.mcc-sidebar-collapse {
    align-items: center;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 5px;
    color: #a9b1c0;
    display: inline-flex;
    font-size: .78rem;
    gap: .25rem;
    margin-left: auto;
    padding: .35rem
}
.mcc-sidebar-collapse:hover {
    background: rgba(255,255,255,.08);
    color: #fff
}
.mcc-sidebar-collapse>span:first-child {
    font-size: 1.35rem;
    line-height: .8
}
.mcc-nav-group-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 5px;
    color: #8792a5;
    display: flex;
    font-size: .67rem;
    font-weight: 750;
    gap: .7rem;
    letter-spacing: .08em;
    padding: .62rem .7rem;
    text-align: left;
    text-transform: uppercase;
    width: 100%
}
.mcc-nav-group-toggle:hover,.mcc-nav-group-toggle:focus-visible {
    background: rgba(255,255,255,.06);
    color: #fff
}
.mcc-nav-group-chevron {
    font-size: 1rem;
    margin-left: auto;
    transition: transform .15s ease
}
.mcc-nav-group-toggle[aria-expanded=true] .mcc-nav-group-chevron {
    transform: rotate(180deg)
}
.mcc-nav-group-items {
    display: grid;
    gap: .15rem;
    padding-left: .35rem
}
.mcc-nav-group-items[hidden] {
    display: none
}
.mcc-nav-link-label,.mcc-brand-copy,.mcc-sidebar-footer-copy {
    transition: opacity .15s ease
}
.mcc-sidebar-footer {
    flex-wrap: wrap
}
.mcc-sidebar-footer small {
    margin-left: auto
}
.mcc-sidebar-collapse:focus-visible,.mcc-nav-group-toggle:focus-visible {
    outline: 3px solid #f0b429;
    outline-offset: 2px
}
.mcc-brand-logo-wrap {
    align-items: center;
    background: #fff;
    border-radius: 4px;
    display: inline-flex;
    flex: 0 0 44px;
    justify-content: center;
    height: 56px;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 44px
}
.mcc-brand-logo {
    display: block;
    height: 56px;
    max-width: 100%;
    object-fit: contain;
    width: 44px
}
.mcc-brand {
    align-items: flex-start
}
.mcc-brand .mcc-sidebar-collapse {
    margin-top: .25rem
}
@media(min-width:992px) {
    body.sidebar-collapsed .mcc-sidebar {
        flex-basis: 76px;
        width: 76px;
        padding-left: .55rem;
        padding-right: .55rem
    }
    body.sidebar-collapsed .mcc-brand {
        justify-content: center;
        padding-left: 0;
        padding-right: 0
    }
    body.sidebar-collapsed .mcc-brand-logo-wrap {
        flex-basis: 42px;
        height: 54px;
        width: 42px
    }
    body.sidebar-collapsed .mcc-brand-logo {
        height: 54px;
        width: 42px
    }
    body.sidebar-collapsed .mcc-brand-copy,body.sidebar-collapsed .mcc-sidebar-label,body.sidebar-collapsed .mcc-nav-group-label,body.sidebar-collapsed .mcc-nav-link-label,body.sidebar-collapsed .mcc-sidebar-footer-copy {
        display: none
    }
    body.sidebar-collapsed .mcc-sidebar-collapse {
        margin-left: 0
    }
    body.sidebar-collapsed .mcc-sidebar-collapse .mcc-sidebar-control-label {
        display: none
    }
    body.sidebar-collapsed .mcc-nav-link,body.sidebar-collapsed .mcc-nav-group-toggle {
        justify-content: center;
        padding-left: .45rem;
        padding-right: .45rem
    }
    body.sidebar-collapsed .mcc-nav-group-items {
        padding-left: 0
    }
    body.sidebar-collapsed .mcc-nav-group-chevron {
        display: none
    }
    body.sidebar-collapsed .mcc-sidebar-footer {
        justify-content: center
    }
    .mcc-sidebar-collapse {
        display: inline-flex
    }
}
@media(max-width:991px) {
    .mcc-sidebar {
        max-width: calc(100vw - 3rem);
        width: 250px
    }
    .mcc-sidebar-collapse {
        display: none
    }
    .mcc-sidebar-nav {
        padding-bottom: 1rem
    }
    .mcc-nav-group-toggle {
        min-height: 42px
    }
}
.mcc-nav-link-disabled {
    cursor: default;
    opacity: .5;
    pointer-events: none
}
.mcc-coming-soon {
    color: #778197;
    font-size: .58rem;
    margin-left: auto;
    white-space: nowrap
}
.mcc-nav-link-disabled .mcc-nav-icon {
    opacity: .8
}

.mcc-document-filter-card,
.mcc-document-list-card,
.mcc-document-summary-card,
.mcc-document-verification-card,
.mcc-document-history-card {
    overflow: visible;
    margin-bottom: 1rem;
}

.mcc-document-filter-card[hidden] {
    display: none !important;
}

.mcc-document-summary-card .mcc-card-heading {
    align-items: flex-start;
    gap: 1rem;
}

.mcc-document-summary-card .mcc-badge-group {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.mcc-document-summary-card .mcc-detail-actions-panel {
    align-items: center;
    border-top: 1px solid var(--app-border);
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1rem;
    padding-top: 1rem;
}

.mcc-document-summary-card .mcc-detail-actions-panel .mcc-button {
    min-width: 9rem;
}

.mcc-document-verification-form {
    background: var(--app-surface-muted, #f7f8fa);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    display: grid;
    gap: .85rem 1rem;
    grid-template-columns: minmax(10rem, .55fr) minmax(0, 1.45fr) auto;
    margin-top: 1rem;
    padding: 1rem;
}

.mcc-document-verification-form .mcc-form-actions {
    align-self: end;
    padding: 0;
}

.mcc-document-filter-form,
.mcc-document-verification-form {
    align-items: end;
}

.mcc-document-filter-form {
    gap: 1rem 1.25rem;
}

.mcc-document-filter-form .mcc-form-group {
    flex: 1 1 220px;
    min-width: 0;
}

.mcc-document-filter-form .mcc-form-actions {
    flex: 0 0 auto;
    padding-bottom: .1rem;
}

.mcc-document-table-wrap {
    overflow-x: auto;
}

.mcc-document-table {
    min-width: 980px;
}

.mcc-document-table th,
.mcc-document-table td {
    vertical-align: middle;
}

.mcc-document-primary,
.mcc-document-primary + small {
    display: block;
    overflow-wrap: anywhere;
}

.mcc-document-table td .mcc-badge {
    display: inline-flex;
    margin: .15rem .25rem .15rem 0;
}

.mcc-document-history-list {
    display: grid;
    gap: 1rem;
}

.mcc-document-history-event {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    min-width: 0;
    padding: 1rem;
}

.mcc-document-history-values {
    border-top: 1px solid var(--app-border);
    display: grid;
    gap: .45rem;
    margin-top: .85rem;
    padding-top: .85rem;
}

.mcc-document-history-values > div {
    display: grid;
    gap: .35rem;
    grid-template-columns: minmax(120px, .35fr) minmax(0, 1fr);
}

.mcc-document-history-values > div span,
.mcc-document-history-values > div strong {
    overflow-wrap: anywhere;
}

.mcc-fitness-page {
    display: grid;
    gap: 1rem;
}

.mcc-fitness-page .mcc-page-heading {
    margin-bottom: 0;
}

.mcc-fitness-filter-card,
.mcc-fitness-results-card {
    margin: 0;
}

.mcc-fitness-filter-card[hidden] {
    display: none !important;
}

.mcc-fitness-filter-form {
    align-items: end;
    display: grid;
    gap: .85rem 1rem;
    grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, .8fr)) auto;
}

.mcc-fitness-filter-form .mcc-form-group {
    display: grid;
    gap: .4rem;
    min-width: 0;
}

.mcc-fitness-filter-form .mcc-form-actions {
    display: flex;
    gap: .5rem;
    padding: 0;
}

.mcc-fitness-table-wrap {
    overflow-x: auto;
}

.mcc-fitness-table {
    min-width: 680px;
}

.mcc-fitness-table th,
.mcc-fitness-table td {
    vertical-align: middle;
}

.mcc-fitness-date {
    color: var(--app-muted);
    font-size: .82rem;
}

@media (max-width: 800px) {
    .mcc-fitness-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mcc-fitness-filter-form .mcc-form-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 520px) {
    .mcc-fitness-filter-form {
        grid-template-columns: 1fr;
    }

    .mcc-fitness-filter-form .mcc-form-actions {
        flex-direction: column;
        grid-column: auto;
    }

    .mcc-fitness-filter-form .mcc-button {
        justify-content: center;
        width: 100%;
    }
}

@media (max-width: 700px) {
    .mcc-document-filter-form,
    .mcc-document-verification-form {
        align-items: stretch;
        flex-direction: column;
    }

    .mcc-document-filter-form .mcc-form-group {
        flex-basis: auto;
        width: 100%;
    }

    .mcc-document-filter-form .mcc-form-actions,
    .mcc-document-filter-form .mcc-button,
    .mcc-document-verification-form .mcc-form-actions,
    .mcc-document-verification-form .mcc-button {
        width: 100%;
    }

    .mcc-document-filter-form .mcc-button,
    .mcc-document-verification-form .mcc-button {
        justify-content: center;
    }

    .mcc-document-summary-card .mcc-card-heading {
        flex-direction: column;
    }

    .mcc-document-summary-card .mcc-badge-group {
        justify-content: flex-start;
    }

    .mcc-document-summary-card .mcc-detail-actions-panel .mcc-button,
    .mcc-document-verification-form .mcc-button {
        width: 100%;
    }

    .mcc-document-verification-form {
        grid-template-columns: 1fr;
    }

    .mcc-document-history-values > div {
        grid-template-columns: 1fr;
    }
}
@media(min-width:992px) {
    body.sidebar-collapsed .mcc-coming-soon {
        display: none
    }
}
.stack-form,.filter-form {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-end;
    margin: 1rem 0
}
.stack-form label,.filter-form label {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    font-size: .8rem;
    font-weight: 600;
    min-width: 220px
}
.stack-form input,.stack-form select,.stack-form textarea,.filter-form input,.filter-form select {
    background: #fff;
    border: 1px solid var(--app-border);
    border-radius: 5px;
    color: var(--app-text);
    min-height: 40px;
    padding: .5rem .65rem
}
.inline-form {
    align-items: flex-end;
    display: inline-flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: .25rem 0
}
.inline-form label {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    font-size: .8rem;
    font-weight: 600
}
.inline-form button,.inline-form a,.stack-form button,.filter-form button,.filter-form a {
    align-items: center;
    background: #fff;
    border: 1px solid var(--app-border);
    border-radius: 5px;
    color: var(--app-text);
    display: inline-flex;
    font-size: .8rem;
    font-weight: 650;
    min-height: 38px;
    padding: .5rem .85rem
}
.inline-form button:hover,.inline-form a:hover,.stack-form button:hover,.filter-form button:hover,.filter-form a:hover {
    background: #f1edfc;
    border-color: var(--app-primary);
    color: var(--app-primary)
}
.mcc-page-container .card-grid .card {
    min-width: 0
}
.mcc-page-container .card-grid .button-link {
    margin-top: .5rem
}
.mcc-table-wrap form,.table-wrap form {
    margin: 0
}
.mcc-table-wrap .d-inline,.table-wrap .d-inline {
    display: inline-flex
}
.mcc-table-wrap .btn-link,.table-wrap .btn-link {
    background: #fff;
    border: 1px solid var(--app-border);
    border-radius: 5px;
    color: var(--app-text);
    font-size: .78rem;
    font-weight: 650;
    min-height: 32px;
    padding: .35rem .6rem
}
.mcc-table-wrap .btn-link:hover,.table-wrap .btn-link:hover {
    background: #f1edfc;
    border-color: var(--app-primary);
    color: var(--app-primary)
}
@media(max-width:700px) {
    .stack-form,.filter-form {
        align-items: stretch;
        flex-direction: column
    }
    .stack-form label,.filter-form label {
        min-width: 0;
        width: 100%
    }
    .stack-form button,.filter-form button,.filter-form a {
        justify-content: center;
        width: 100%
    }
    .inline-form {
        align-items: stretch;
        display: flex;
        width: 100%
    }
    .inline-form button,.inline-form a {
        justify-content: center;
        width: 100%
    }
}
.mcc-nav-group-chevron {
    font-size: .72rem;
    margin-left: auto;
    transform: none!important;
    width: .9rem
}
.mcc-player-profile {
    display: grid;
    gap: 1.15rem;
    min-width: 0
}
.mcc-player-profile .mcc-detail-card {
    margin-top: 0
}
.mcc-player-hero {
    align-items: flex-start;
    background: linear-gradient(135deg, #f7f5ff 0%, var(--app-card-bg) 68%);
    border-color: #e2dafa;
    min-width: 0
}
.mcc-player-identity {
    align-items: center;
    display: flex;
    gap: 1rem;
    min-width: 0
}
.mcc-player-avatar-column {
    align-items: center;
    display: flex;
    flex: 0 0 180px;
    flex-direction: column;
    gap: .7rem;
    min-width: 0;
}
.mcc-player-avatar {
    align-items: center;
    background: #eee9fb;
    border: 1px solid #e2dafa;
    border-radius: 50%;
    color: var(--app-primary);
    display: inline-flex;
    flex: 0 0 72px;
    font-size: 1.35rem;
    font-weight: 750;
    height: 72px;
    justify-content: center;
    letter-spacing: .04em;
    width: 72px
}
.mcc-player-avatar-image {
    object-fit: cover;
}
.mcc-player-photo-upload {
    display: grid;
    gap: .4rem;
    min-width: 0;
    width: 100%;
}
.mcc-player-photo-upload label {
    color: var(--app-muted);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-align: center;
    text-transform: uppercase;
}
.mcc-player-photo-upload .form-control {
    font-size: .74rem;
    min-width: 0;
    padding: .45rem;
    width: 100%;
}
.mcc-player-photo-upload .mcc-button {
    justify-content: center;
    width: 100%;
}
.mcc-player-heading-copy {
    min-width: 0
}
.mcc-player-heading-copy h2 {
    overflow-wrap: anywhere
}
.mcc-player-heading-copy h2,
.mcc-player-profile .mcc-card-heading h2 {
    color: var(--app-text);
    font-weight: 700;
}
.mcc-player-reference {
    color: var(--app-muted);
    font-size: .8rem;
    margin: 0 0 .65rem
}
.mcc-player-hero-contact {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem 1rem;
    margin-top: .75rem;
}
.mcc-player-hero-contact a {
    align-items: center;
    color: var(--app-muted);
    display: inline-flex;
    font-size: .78rem;
    gap: .35rem;
    overflow-wrap: anywhere;
}
.mcc-player-hero-contact a:hover,
.mcc-player-hero-contact a:focus-visible {
    color: var(--app-primary);
}
.mcc-player-hero-contact i {
    color: var(--app-primary);
}
.mcc-player-actions {
    justify-content: flex-end;
    min-width: 0
}
.mcc-player-profile .mcc-detail-actions .mcc-button {
    gap: .4rem;
}
.mcc-player-profile .mcc-card-heading {
    align-items: flex-start;
    border-bottom: 1px solid var(--app-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding-bottom: .8rem;
}
.mcc-player-profile .mcc-card-heading h2 {
    font-size: 1.05rem;
    margin: .2rem 0 0;
}
.mcc-player-profile .mcc-card-heading .mcc-card-subtitle {
    margin-bottom: 0;
}
.mcc-player-profile .mcc-detail-grid > .mcc-card,
.mcc-player-profile > .mcc-detail-card {
    box-shadow: none;
}
.mcc-player-summary-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr))
}
.mcc-player-summary-card {
    border-top: 3px solid var(--app-primary);
    display: grid;
    gap: .25rem;
    min-width: 0;
    padding: 1rem
}
.mcc-player-summary-card-heading {
    align-items: center;
    display: flex;
    gap: .45rem
}
.mcc-player-summary-icon {
    color: var(--app-primary);
    font-size: .8rem
}
.mcc-player-summary-card strong {
    font-size: .95rem;
    overflow-wrap: anywhere
}
.mcc-player-summary-card > span:last-child {
    color: var(--app-muted);
    font-size: .75rem
}
.mcc-player-status-active {
    background: #e9f8ef;
    color: #16713c;
}
.mcc-player-status-inactive,
.mcc-player-status-left_academy,
.mcc-player-status-alumni {
    background: #eef1f5;
    color: #526176;
}
.mcc-player-status-suspended {
    background: #ffeded;
    color: #b42318;
}
.mcc-player-table-wrap {
    overflow-x: auto;
    overflow-y: visible;
}
.mcc-player-list-card {
    overflow: visible;
}
.mcc-player-table {
    min-width: 980px;
    table-layout: fixed;
    width: 100%;
}
.mcc-player-table th,
.mcc-player-table td {
    overflow-wrap: anywhere;
    vertical-align: top;
}
.mcc-player-table th:nth-child(1) { width: 27%; }
.mcc-player-table th:nth-child(2) { width: 23%; }
.mcc-player-table th:nth-child(3) { width: 24%; }
.mcc-player-table th:nth-child(4) { width: 12%; }
.mcc-player-table th:nth-child(5) { width: 14%; }
.mcc-player-table tbody th {
    color: var(--app-text);
    font-size: .8rem;
    letter-spacing: normal;
    text-transform: none;
}
.mcc-player-table .mcc-player-identity-cell,
.mcc-player-table .mcc-player-placement-cell {
    min-width: 12rem;
}
.mcc-player-table .mcc-player-summary-cell,
.mcc-player-table .mcc-player-status-cell {
    min-width: 7rem;
}
.mcc-player-table .mcc-table-secondary-text,
.mcc-player-table .mcc-player-contact-summary,
.mcc-player-table .mcc-player-coach-summary {
    display: block;
    line-height: 1.4;
}
.mcc-player-table .mcc-player-action-menu {
    white-space: nowrap;
    position: relative;
    z-index: 20;
}
.mcc-player-table .mcc-player-action-menu:has([aria-expanded="true"]) {
    z-index: 3100;
}

.mcc-player-table .mcc-player-action-menu > [data-player-actions-toggle] {
    font-size: .78rem;
    min-height: 2rem;
    padding: .35rem .55rem;
}

.mcc-player-table .mcc-player-action-dropdown {
    min-width: 180px;
    padding: .25rem;
}

.mcc-player-table .mcc-player-action-dropdown a,
.mcc-player-table .mcc-player-action-dropdown button {
    gap: .45rem;
    padding: .45rem .55rem;
}
.mcc-detail-action-menu {
    position: relative;
}
.mcc-detail-action-menu summary {
    cursor: pointer;
    list-style: none;
}
.mcc-detail-action-menu summary::-webkit-details-marker {
    display: none;
}
.mcc-detail-action-dropdown {
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: .7rem;
    box-shadow: var(--app-shadow);
    display: grid;
    gap: .15rem;
    min-width: 13rem;
    padding: .4rem;
    position: absolute;
    right: 0;
    top: calc(100% + .4rem);
    z-index: 1200;
}

.mcc-detail-action-dropdown-portal {
    max-width: min(18rem, calc(100vw - 1rem));
    filter: none !important;
    isolation: isolate;
    opacity: 1 !important;
    overflow: visible !important;
    position: fixed !important;
    transform: none !important;
    width: min(18rem, calc(100vw - 16px));
    z-index: 999999 !important;
}

.mcc-action-menu-overlay {
    filter: none !important;
    inset: 0;
    isolation: isolate;
    opacity: 1 !important;
    overflow: visible !important;
    pointer-events: none;
    position: fixed;
    transform: none !important;
    z-index: 999999 !important;
}

.mcc-detail-action-dropdown a {
    align-items: center;
    border-radius: .45rem;
    color: var(--app-text);
    display: flex;
    gap: .55rem;
    padding: .55rem .7rem;
    text-decoration: none;
    white-space: nowrap;
}
.mcc-detail-action-dropdown a:hover,
.mcc-detail-action-dropdown a:focus-visible {
    background: var(--app-muted-bg, #f8fafc);
}
.mcc-player-coach-summary {
    display: grid;
    gap: .25rem;
    min-width: 0;
}
.mcc-player-coach-summary .mcc-player-coach-item {
    background: var(--app-surface-muted, #f7f8fa);
    border: 1px solid var(--app-border);
    border-radius: .4rem;
    display: grid;
    gap: .12rem;
    min-width: 0;
    padding: .3rem .45rem;
}
.mcc-player-coach-summary strong {
    color: var(--app-muted);
    display: block;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1.3;
    text-transform: uppercase;
}
.mcc-player-coach-summary .mcc-player-coach-name {
    color: var(--app-text);
    display: block;
    font-size: .8rem;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.mcc-player-profile .mcc-card-subtitle {
    color: var(--app-muted);
    font-size: .76rem;
    margin: .3rem 0 0
}
.mcc-player-detail-grid {
    margin-top: 0
}
.mcc-player-detail-grid > .mcc-card {
    min-width: 0
}
.mcc-player-form {
    align-items: flex-start
}
.mcc-form-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: flex-end;
    margin-top: .35rem
}
.mcc-player-form-feedback {
    display: flex;
    justify-content: flex-end;
    margin-top: .35rem;
    text-align: right;
}
.mcc-player-form-feedback[hidden] {
    display: none;
}
.mcc-player-form-feedback .mcc-alert {
    margin: 0;
}
.mcc-player-form .mcc-button:disabled {
    cursor: not-allowed;
    opacity: .55;
}
.attendance-save-feedback {
    display: flex;
    justify-content: flex-end;
    margin-top: .35rem;
    text-align: right;
}
.attendance-save-feedback[hidden] {
    display: none;
}
.attendance-save-feedback.mcc-alert-success,
.attendance-save-feedback.mcc-alert-danger {
    margin-bottom: .35rem;
    padding: .45rem .65rem;
}
.mcc-attendance-session-page {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
}

.mcc-attendance-session-page .mcc-session-information dd {
    overflow-wrap: anywhere;
}

.mcc-attendance-session-page .attendance-snapshot-form,
.mcc-attendance-session-page .attendance-save-form {
    max-width: 100%;
    min-width: 0;
}

.mcc-player-profile .mcc-detail-list dd {
    line-height: 1.45;
}
.mcc-player-profile .mcc-detail-empty-state {
    align-items: center;
    background: var(--app-body-bg);
    border: 1px dashed var(--app-border);
    border-radius: var(--app-radius);
    color: var(--app-muted);
    display: flex;
    flex-direction: column;
    gap: .35rem;
    justify-content: center;
    margin: 0;
    padding: 1.35rem 1rem;
    text-align: center;
}
.mcc-player-profile .mcc-detail-empty-state i {
    color: var(--app-primary);
    font-size: 1.2rem;
    margin-bottom: .15rem;
}
.mcc-player-profile .mcc-detail-empty-state strong {
    color: var(--app-text);
    font-size: .86rem;
}
.mcc-player-profile .mcc-detail-empty-state span {
    font-size: .76rem;
}
.mcc-player-profile .mcc-table th,
.mcc-player-profile .mcc-table td {
    vertical-align: middle;
}
.mcc-related-form,
.mcc-assignment-form {
    border-top: 1px solid var(--app-border);
    margin-top: 1rem;
    padding-top: 1rem
}
.mcc-placement-intro {
    align-items: flex-start;
    color: var(--app-muted);
    display: flex;
    gap: .65rem;
    margin-bottom: 1rem;
    padding: 0
}
.mcc-placement-intro > i {
    color: var(--app-primary);
    margin-top: .15rem
}
.mcc-placement-intro p {
    font-size: .78rem;
    margin: 0
}
.mcc-placement-current {
    background: #fcfcfe;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    padding: 1rem
}
.mcc-placement-current-row {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1rem
}
.mcc-placement-current-item {
    align-items: baseline;
    display: grid;
    flex: 1 1 160px;
    gap: .2rem;
    min-width: 0;
}
.mcc-placement-current-item span {
    color: var(--app-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase
}
.mcc-placement-current-item strong {
    font-size: .95rem;
    overflow-wrap: anywhere
}
.mcc-placement-flow-arrow {
    align-self: center;
    color: var(--app-primary);
    font-size: 1.1rem;
    font-weight: 700
}
.mcc-assignment-form-heading {
    display: grid;
    gap: .15rem;
    margin-bottom: .2rem
}
.mcc-assignment-form-heading strong {
    font-size: .9rem
}
.mcc-placement-form-help {
    color: var(--app-muted);
    font-size: .76rem
}
.mcc-placement-assignment-area {
    margin-top: 1rem
}
.mcc-placement-section-note {
    color: var(--app-muted);
    font-size: .75rem
}
.mcc-placement-branch-action {
    margin-top: 1rem
}
.mcc-placement-assignment-grid {
    margin-top: 1rem
}
.mcc-placement-assignment-value {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .65rem;
    margin-bottom: .3rem
}
.mcc-placement-assignment-value span {
    color: var(--app-muted);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase
}
.mcc-placement-assignment-value strong {
    overflow-wrap: anywhere
}
.mcc-placement-section .mcc-button {
    gap: .4rem
}
.mcc-placement-section .mcc-button-primary {
    border-color: var(--app-primary)
}
.mcc-placement-section .mcc-button-secondary {
    border-color: var(--app-primary);
    color: var(--app-primary)
}
.mcc-placement-section .mcc-button-secondary:hover {
    background: var(--app-primary);
    border-color: var(--app-primary);
    color: var(--app-card-bg)
}
.mcc-placement-section .mcc-button:focus-visible {
    outline-color: var(--app-primary)
}
.mcc-placement-section .mcc-assignment-form {
    background: #fcfcfe;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    margin-left: 0;
    margin-right: 0;
    margin-top: 1rem;
    padding: 1rem
}
.mcc-placement-history-heading {
    margin: 0
}
.mcc-placement-history-panel {
    background: #fcfcfe;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    margin-top: 1rem;
    padding: 1rem
}
.mcc-contact-table th,
.mcc-contact-table td {
    overflow-wrap: anywhere
}
.mcc-table-primary-text {
    display: inline-block;
    margin-right: .35rem;
    max-width: 100%;
    overflow-wrap: anywhere;
    vertical-align: middle
}
.mcc-history-table-wrap {
    margin-top: 1rem
}
.mcc-player-profile .mcc-table-wrap {
    min-width: 0;
}
.mcc-marketing-dashboard {
    display: grid;
    gap: 1rem;
    min-width: 0
}
.mcc-marketing-dashboard > .mcc-card {
    margin: 0;
}
.mcc-marketing-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: -.35rem;
}
.mcc-marketing-filters[hidden] {
    display: none;
}
.mcc-marketing-dashboard .mcc-card-heading {
    border-bottom: 1px solid var(--app-border);
    margin-bottom: .85rem;
    padding-bottom: .65rem;
}
.mcc-marketing-dashboard .metric-card {
    background: linear-gradient(135deg, #f5f9ff, #ffffff);
    border: 1px solid #d8e5f4;
    border-radius: .65rem;
    box-shadow: 0 2px 8px rgba(33, 81, 145, .05);
    padding: .85rem;
}
.mcc-marketing-dashboard .metric-card strong {
    color: #10266d;
    display: block;
    font-size: 1.55rem;
    margin-top: .2rem;
}
.mcc-marketing-filters,
.mcc-marketing-section {
    min-width: 0
}
.mcc-marketing-filter-form {
    align-items: flex-start;
    margin-top: 0
}
.mcc-marketing-filter-form .form-control {
    min-width: 0;
    width: 100%
}
.mcc-marketing-custom-range .row {
    margin-left: -.35rem;
    margin-right: -.35rem
}

/* Player Goals keeps each related value readable without widening the page. */
.mcc-player-goals-page {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
    width: 100%;
}

.mcc-player-goals-filter,
.mcc-player-goals-page > .mcc-card {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.mcc-player-goals-filter .mcc-card-heading {
    margin-bottom: .75rem;
    margin-top: 0;
}

.mcc-player-goals-table-wrap {
    max-width: 100%;
    margin-top: 1rem;
    overflow-x: auto;
    overflow-y: visible;
    width: 100%;
}

.mcc-player-goals-table {
    min-width: 760px;
    table-layout: fixed;
    width: 100%;
}

.mcc-player-goals-table th,
.mcc-player-goals-table td {
    overflow-wrap: anywhere;
    padding: .9rem .85rem;
    vertical-align: top;
}

.mcc-player-goals-table th {
    white-space: normal;
}

.mcc-player-goals-table th:nth-child(1),
.mcc-player-goals-table td:nth-child(1) {
    width: 28%;
}

.mcc-player-goals-table th:nth-child(2),
.mcc-player-goals-table td:nth-child(2) {
    width: 32%;
}

.mcc-player-goals-table th:nth-child(3),
.mcc-player-goals-table td:nth-child(3) {
    width: 28%;
}

.mcc-player-goals-table th:last-child,
.mcc-player-goals-table td:last-child {
    width: 12%;
}

.mcc-goal-table-group {
    display: grid;
    gap: .45rem;
    min-width: 0;
}

.mcc-goal-table-value {
    display: block;
    line-height: 1.45;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.mcc-goal-primary-value {
    font-weight: 650;
}

.mcc-goal-description {
    color: var(--app-muted);
    display: -webkit-box;
    line-height: 1.5;
    max-height: 4.5em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.mcc-goal-timeline {
    display: grid;
    gap: .2rem;
    margin-top: .15rem;
}

.mcc-goal-actions {
    display: inline-block;
    min-width: 7.5rem;
    position: relative;
    z-index: 1201;
}

.mcc-goal-actions summary {
    align-items: center;
    display: inline-flex;
    gap: .4rem;
    justify-content: center;
    min-width: 7.5rem;
}

.mcc-player-goals-table tbody tr:has(.mcc-goal-actions[open]) {
    position: relative;
    z-index: 1200;
}

.mcc-player-goals-table .mcc-detail-action-dropdown {
    min-width: 11rem;
    z-index: 1300;
}

.mcc-player-goals-table tbody tr:nth-last-child(-n + 2) .mcc-detail-action-dropdown {
    bottom: calc(100% + .4rem);
    top: auto;
}

.mcc-player-goals-page .mcc-pagination {
    align-items: center;
    border-top: 1px solid var(--app-border);
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1rem;
    justify-content: space-between;
    margin-top: 1rem;
    padding-top: 1rem;
}

.mcc-player-goals-page .mcc-pagination-actions {
    justify-content: flex-end;
}

@media (max-width: 760px) {
    .mcc-player-goals-table-wrap {
        border: 0;
        overflow: visible;
    }

    .mcc-player-goals-table,
    .mcc-player-goals-table tbody,
    .mcc-player-goals-table tr,
    .mcc-player-goals-table td {
        display: block;
        width: 100%;
    }

    .mcc-player-goals-table {
        min-width: 0;
    }

    .mcc-player-goals-table thead {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }

    .mcc-player-goals-table tbody tr {
        background: var(--app-card-bg);
        border: 1px solid var(--app-border);
        border-radius: var(--app-radius);
        margin-bottom: .75rem;
        overflow: visible;
    }

    .mcc-player-goals-table tbody tr:last-child {
        margin-bottom: 0;
    }

    .mcc-player-goals-table td {
        border-bottom: 1px solid var(--app-border);
        padding: .8rem 1rem;
    }

    .mcc-player-goals-table td::before {
        color: var(--app-muted);
        content: attr(data-label);
        display: block;
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .06em;
        margin-bottom: .35rem;
        text-transform: uppercase;
    }

    .mcc-player-goals-table td:last-child {
        border-bottom: 0;
    }

    .mcc-goal-actions,
    .mcc-goal-actions summary {
        width: 100%;
    }

    .mcc-goal-actions[open] {
        position: relative;
        z-index: 2;
    }

    .mcc-player-goals-table tbody tr:nth-last-child(-n + 2) .mcc-detail-action-dropdown {
        bottom: auto;
        top: calc(100% + .4rem);
    }

    .mcc-player-goals-page .mcc-pagination {
        align-items: flex-start;
        flex-direction: column;
    }

    .mcc-player-goals-page .mcc-pagination-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .mcc-player-goals-page .mcc-pagination-actions .mcc-button {
        flex: 1 1 auto;
    }
}

/* Player Session Plans share the MCC card rhythm while keeping the long form readable. */
.mcc-player-session-plans-page,
.mcc-player-session-plan-form-page,
.mcc-player-session-plan-detail-page,
.mcc-player-feedback-page,
.mcc-player-feedback-form-page,
.mcc-player-feedback-detail-page,
.mcc-player-feedback-annual-page {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
}

.mcc-player-feedback-page,
.mcc-player-feedback-form-page,
.mcc-player-feedback-detail-page,
.mcc-player-feedback-annual-page {
    max-width: 100%;
    overflow-x: clip;
    width: 100%;
}

.mcc-player-feedback-page {
    gap: .75rem;
}

.mcc-player-feedback-page > .mcc-card {
    padding: 1rem;
}

.mcc-player-feedback-page > .mcc-card .mcc-card-heading {
    margin-bottom: .75rem;
}

.mcc-player-feedback-page #player-feedback-filters .mcc-player-filter-grid {
    align-items: end;
    gap: .75rem 0;
}

.mcc-player-feedback-page #player-feedback-filters .mcc-player-filter-field {
    margin-bottom: 0 !important;
}

.mcc-player-feedback-page #player-feedback-filters .mcc-player-filter-field label {
    line-height: 1.4;
    margin-bottom: .3rem;
}

.mcc-player-feedback-page #player-feedback-filters .mcc-player-filter-field .form-control {
    min-height: calc(1.5em + .75rem + 2px);
}

.mcc-player-feedback-page .mcc-table-wrap {
    margin-top: .25rem;
}

.mcc-player-feedback-page .mcc-player-table-wrap {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
}

.mcc-player-feedback-page > .mcc-card {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.mcc-player-feedback-table {
    min-width: 760px;
    table-layout: fixed;
    width: 100%;
}

.mcc-player-feedback-page .mcc-player-feedback-table {
    max-width: none;
    min-width: 100%;
    width: 100%;
}

@media (min-width: 761px) {
    .mcc-player-feedback-page .mcc-player-table-wrap {
        overflow: visible;
    }

    .mcc-player-feedback-page .mcc-player-feedback-table {
        min-width: 100%;
        width: 100%;
    }
}

.mcc-player-feedback-table th:nth-child(1),
.mcc-player-feedback-table td:nth-child(1) {
    width: 26%;
}

.mcc-player-feedback-table th:nth-child(2),
.mcc-player-feedback-table td:nth-child(2) {
    width: 18%;
}

.mcc-player-feedback-table th:nth-child(3),
.mcc-player-feedback-table td:nth-child(3) {
    width: 18%;
}

.mcc-player-feedback-table th:nth-child(4),
.mcc-player-feedback-table td:nth-child(4) {
    width: 24%;
}

.mcc-player-feedback-table th:nth-child(5),
.mcc-player-feedback-table td:nth-child(5) {
    width: 14%;
}

.mcc-player-feedback-table th,
.mcc-player-feedback-table td {
    overflow-wrap: anywhere;
    padding: .7rem .75rem;
    vertical-align: top;
}

.mcc-player-feedback-table td:last-child {
    text-align: center;
    vertical-align: middle;
}

.mcc-player-feedback-detail-table {
    min-width: 640px;
    table-layout: fixed;
    width: 100%;
}

.mcc-player-feedback-detail-table th,
.mcc-player-feedback-detail-table td {
    padding: .85rem;
    vertical-align: top;
}

.mcc-player-feedback-detail-table td:last-child {
    text-align: center;
    vertical-align: middle;
}

.mcc-player-feedback-detail-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

.mcc-player-feedback-detail-table-wrap .mcc-player-feedback-detail-table {
    min-width: 100%;
}

.mcc-player-feedback-actions {
    display: flex;
    justify-content: center;
    min-width: 7.5rem;
    position: relative;
    z-index: 1201;
}

.mcc-player-feedback-actions summary,
.mcc-player-feedback-actions > [data-player-actions-toggle] {
    align-items: center;
    display: inline-flex;
    gap: .4rem;
    justify-content: center;
    min-width: 7.5rem;
}

.mcc-player-feedback-page .mcc-pagination {
    align-items: center;
    border-top: 1px solid var(--app-border);
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin-top: .75rem;
    padding-top: .75rem;
}

.mcc-player-feedback-page .mcc-pagination-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: flex-end;
}

.mcc-feedback-table-group {
    display: grid;
    gap: .35rem;
    min-width: 0;
}

.mcc-feedback-table-value,
.mcc-feedback-primary-value {
    display: block;
    line-height: 1.45;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.mcc-feedback-primary-value {
    font-weight: 650;
}

.mcc-feedback-period-badge {
    background: var(--app-primary-soft, #e9f1ff);
    border: 1px solid var(--app-border);
    border-radius: 999px;
    color: var(--app-primary, #1d4f91);
    display: inline-flex;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.2;
    padding: .35rem .6rem;
    white-space: nowrap;
}

.mcc-player-feedback-detail-grid,
.mcc-player-feedback-context {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mcc-player-feedback-summary-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.mcc-player-feedback-detail-page .mcc-detail-meta-date {
    color: var(--app-muted);
    font-size: 10px;
    line-height: 1.35;
}

.mcc-player-feedback-summary-grid > div {
    display: grid;
    gap: .3rem;
    min-width: 0;
}

.mcc-player-feedback-summary-grid dt {
    color: var(--app-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.mcc-player-feedback-summary-grid dd {
    margin: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.mcc-player-feedback-content-card {
    min-width: 0;
}

.mcc-player-feedback-content {
    background: var(--app-page-bg, #f8fafc);
    border: 1px solid var(--app-border);
    border-radius: .55rem;
    line-height: 1.6;
    max-width: 100%;
    min-height: 5rem;
    overflow-wrap: anywhere;
    padding: 1rem;
    white-space: normal;
}

.mcc-player-feedback-form-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1rem;
}

.mcc-player-feedback-form {
    display: grid;
    gap: 1rem;
}

.mcc-player-feedback-form textarea {
    min-height: 9rem;
    resize: vertical;
}

.mcc-player-feedback-form .mcc-form-actions {
    border-top: 1px solid var(--app-border);
    margin-top: .5rem;
    padding-top: 1rem;
}

.mcc-player-feedback-selector-page {
    display: grid;
    gap: 1rem;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
}

.mcc-player-feedback-search {
    max-width: 42rem;
    position: relative;
    z-index: 2;
}

.mcc-player-feedback-search-results {
    background: #fff;
    border: 1px solid var(--app-border);
    border-radius: .7rem;
    box-shadow: var(--app-shadow);
    display: grid;
    gap: .2rem;
    left: 0;
    max-height: min(55vh, 22rem);
    overflow-y: auto;
    padding: .35rem;
    position: absolute;
    right: 0;
    top: calc(100% + .35rem);
    z-index: 99999;
}

.mcc-feedback-player-search-result {
    border-radius: .5rem;
    color: var(--app-text);
    display: grid;
    gap: .2rem;
    padding: .65rem .75rem;
    text-decoration: none;
}

.mcc-feedback-player-search-result:hover,
.mcc-feedback-player-search-result:focus-visible {
    background: var(--app-page-bg);
    color: var(--app-text);
    text-decoration: none;
}

.mcc-feedback-player-search-result.is-active,
.mcc-player-feedback-search-results .mcc-feedback-player-search-result.is-active {
    background: var(--app-primary-soft, rgba(13, 110, 253, .08));
    color: var(--app-primary);
    text-decoration: none;
}

.mcc-player-feedback-search-results .mcc-feedback-player-search-result.is-active strong,
.mcc-player-feedback-search-results .mcc-feedback-player-search-result.is-active span {
    color: var(--app-primary);
}

.mcc-feedback-player-search-result span {
    color: var(--app-muted);
    font-size: .8rem;
}

.mcc-player-feedback-search-empty {
    margin-top: .75rem;
    padding: 1rem;
}

.mcc-player-feedback-search-hint {
    margin: .5rem 0 0;
}

.mcc-player-feedback-search-selected {
    color: var(--app-text);
    font-size: .82rem;
    line-height: 1.45;
    margin: .5rem 0 0;
    overflow-wrap: anywhere;
}

.mcc-player-feedback-search-clear {
    margin-top: .5rem;
}

.mcc-player-goal-create-page {
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
}

.mcc-player-goal-create-page > .mcc-card {
    overflow: visible;
}

.mcc-goal-player-search {
    max-width: 42rem;
}

.mcc-goal-selected-player {
    align-items: center;
    border: 1px solid var(--app-border);
    border-radius: .7rem;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .75rem;
    margin-top: 1rem;
    padding: .8rem 1rem;
}

.mcc-goal-selected-player .mcc-eyebrow {
    flex-basis: 100%;
}

.mcc-goal-selected-player .mcc-button {
    margin-left: auto;
}

.mcc-goal-create-form {
    margin-top: 1.25rem;
}

.mcc-goal-player-summary {
    margin-bottom: 1rem;
}

.mcc-goal-player-search-results button {
    background: transparent;
    border: 0;
    cursor: pointer;
    font: inherit;
    text-align: left;
    width: 100%;
}

@media (max-width: 575.98px) {
    .mcc-goal-selected-player {
        align-items: flex-start;
        flex-direction: column;
    }

    .mcc-goal-selected-player .mcc-button {
        margin-left: 0;
    }
}

.mcc-form-error {
    color: var(--app-danger);
    font-size: .8rem;
    line-height: 1.4;
    margin: .4rem 0 0;
}

.mcc-player-feedback-field-wide,
.mcc-player-feedback-detail-field {
    grid-column: 1 / -1;
}

.mcc-player-feedback-context-grid .mcc-player-feedback-detail-field {
    grid-column: auto;
}

.mcc-player-feedback-content-field {
    border-top: 1px solid var(--app-border);
    padding-top: 1rem;
}

.mcc-player-feedback-detail-field,
.mcc-player-feedback-report-quarter,
.mcc-player-feedback-year-summary {
    min-width: 0;
}

.mcc-player-feedback-detail-field p,
.mcc-player-feedback-report-quarter dd {
    line-height: 1.55;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.mcc-player-feedback-meta {
    color: var(--app-muted);
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
    margin-top: 1rem;
}

.mcc-player-feedback-annual-page > .mcc-card {
    display: grid;
    gap: 1rem;
}

.mcc-player-feedback-report-quarter {
    border: 1px solid var(--app-border);
    margin-top: 1rem;
    padding: 1rem;
}

.mcc-player-feedback-report-context {
    color: var(--app-muted);
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
    margin-bottom: 1rem;
}

.mcc-player-feedback-report-selector {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 2fr) minmax(10rem, 1fr);
    max-width: 58rem;
}

.mcc-player-feedback-report-selector > .mcc-form-field {
    align-content: start;
    display: grid;
    gap: .3rem;
    min-width: 0;
}

.mcc-player-feedback-report-selector > .mcc-form-field > label {
    font-size: .8rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    min-height: 1.12rem;
}

.mcc-player-feedback-report-selector .mcc-player-feedback-search {
    display: grid;
    gap: .3rem;
    max-width: none;
}

.mcc-player-feedback-report-selector .mcc-player-feedback-search > input,
.mcc-player-feedback-report-selector > .mcc-form-field > select {
    box-sizing: border-box;
    font-size: .875rem;
    line-height: 1.5;
    min-height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    width: 100%;
}

.mcc-player-feedback-report-selector .mcc-player-feedback-search-results {
    left: 0;
    right: 0;
    top: calc(100% + .3rem);
}

.mcc-player-feedback-annual-filter,
.mcc-player-feedback-report-empty,
.mcc-player-feedback-report-quarter,
.mcc-player-feedback-year-summary {
    min-width: 0;
}

.mcc-player-feedback-report-player-field,
.mcc-player-feedback-report-player-field .mcc-player-feedback-search {
    min-width: 0;
    width: 100%;
}

.mcc-player-feedback-report-summary {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
}

.mcc-player-feedback-report-summary > div,
.mcc-player-feedback-quarter-content > div {
    display: grid;
    gap: .3rem;
    min-width: 0;
}

.mcc-player-feedback-report-summary dt,
.mcc-player-feedback-quarter-content dt {
    color: var(--app-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.mcc-player-feedback-report-summary dd,
.mcc-player-feedback-quarter-content dd {
    margin: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.mcc-player-feedback-report-quarter {
    margin-top: 0;
}

.mcc-player-feedback-quarter-meta {
    display: grid;
    gap: .25rem;
    margin-bottom: 1rem;
}

.mcc-player-feedback-quarter-meta span {
    color: var(--app-muted);
    overflow-wrap: anywhere;
}

.mcc-player-feedback-quarter-content {
    display: grid;
    gap: 1rem;
    margin: 0;
}

.mcc-player-feedback-quarter-content dd {
    background: var(--app-page-bg, #f8fafc);
    border: 1px solid var(--app-border);
    border-radius: .55rem;
    line-height: 1.6;
    min-height: 4rem;
    padding: .85rem 1rem;
    white-space: normal;
}

.mcc-feedback-quarter-empty {
    margin: 0;
    padding: 1rem;
}

.mcc-player-feedback-report-selector .mcc-form-actions {
    align-items: end;
    display: flex;
    gap: .75rem;
    grid-column: 1 / -1;
    margin-top: 0;
    padding-top: 0;
}

.mcc-player-feedback-report-context strong {
    color: var(--app-text);
    margin-right: .25rem;
}

.mcc-player-feedback-report-quarters {
    display: grid;
    gap: 1rem;
}

.mcc-player-feedback-report-quarter {
    margin-top: 0;
}

.mcc-player-feedback-report-quarter .mcc-card-heading {
    align-items: center;
    margin-bottom: .75rem;
}

.mcc-player-feedback-report-quarter .mcc-card-heading h3 {
    margin-bottom: 0;
}

.mcc-feedback-missing-badge {
    background: var(--app-muted-soft, #f2f4f7);
    border: 1px solid var(--app-border);
    border-radius: 999px;
    color: var(--app-muted);
    font-size: .75rem;
    font-weight: 700;
    padding: .3rem .55rem;
}

.mcc-player-feedback-report-quarter h3,
.mcc-player-feedback-year-summary h3 {
    margin-bottom: .6rem;
}

.mcc-player-feedback-report-quarter dl {
    display: grid;
    gap: .35rem;
    margin-bottom: 0;
}

.mcc-player-feedback-report-quarter dt {
    color: var(--app-muted);
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.mcc-player-feedback-report-quarter dd {
    margin-bottom: .65rem;
}

.mcc-player-feedback-year-summary {
    border-top: 1px solid var(--app-border);
    margin-top: 1rem;
    padding-top: 1rem;
}

@media (max-width: 760px) {
    .mcc-player-feedback-report-selector,
    .mcc-player-feedback-report-summary {
        grid-template-columns: 1fr;
    }

    .mcc-player-feedback-summary-grid {
        grid-template-columns: 1fr;
    }

    .mcc-player-feedback-detail-grid,
    .mcc-player-feedback-context,
    .mcc-player-feedback-form-grid {
        grid-template-columns: 1fr;
    }

    .mcc-player-feedback-report-selector {
        grid-template-columns: 1fr;
    }

    .mcc-player-feedback-detail-table-wrap {
        overflow: visible;
    }

    .mcc-player-feedback-detail-table {
        min-width: 0;
    }

    .mcc-player-feedback-detail-table-wrap .mcc-player-feedback-detail-table {
        min-width: 0;
    }

    .mcc-player-feedback-detail-table thead {
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        white-space: nowrap;
        width: 1px;
    }

    .mcc-player-feedback-detail-table,
    .mcc-player-feedback-detail-table tbody,
    .mcc-player-feedback-detail-table tr,
    .mcc-player-feedback-detail-table td {
        display: block;
        width: 100%;
    }

    .mcc-player-feedback-detail-table tr {
        border: 1px solid var(--app-border);
        border-radius: .75rem;
        margin-bottom: .75rem;
        overflow: visible;
    }

    .mcc-player-feedback-detail-table td {
        border-bottom: 1px solid var(--app-border);
        padding: .75rem 1rem;
    }

    .mcc-player-feedback-detail-table td::before {
        color: var(--app-muted);
        content: attr(data-label);
        display: block;
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .05em;
        margin-bottom: .3rem;
        text-transform: uppercase;
    }

    .mcc-player-feedback-detail-table td:last-child {
        border-bottom: 0;
    }

    .mcc-player-feedback-table thead {
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        white-space: nowrap;
        width: 1px;
    }

    .mcc-player-feedback-table,
    .mcc-player-feedback-table tbody,
    .mcc-player-feedback-table tr,
    .mcc-player-feedback-table td {
        display: block;
        width: 100%;
    }

    .mcc-player-feedback-table tr {
        border: 1px solid var(--app-border);
        border-radius: .75rem;
        margin-bottom: .75rem;
        overflow: visible;
    }

    .mcc-player-feedback-table td {
        border-bottom: 1px solid var(--app-border);
        padding: .75rem 1rem;
    }

    .mcc-player-feedback-table td::before {
        color: var(--app-muted);
        content: attr(data-label);
        display: block;
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .05em;
        margin-bottom: .3rem;
        text-transform: uppercase;
    }

    .mcc-player-feedback-table td:last-child {
        border-bottom: 0;
    }

    .mcc-player-feedback-page .mcc-player-table-wrap {
        max-width: 100%;
        min-width: 0;
        overflow-x: auto;
        overflow-y: hidden;
        width: 100%;
    }

    .mcc-player-feedback-page .mcc-player-feedback-table {
        min-width: 0;
        width: 100%;
    }

    .mcc-player-feedback-actions,
    .mcc-player-feedback-actions summary {
        width: 100%;
    }
}

.mcc-player-session-plans-page {
    grid-template-columns: minmax(0, 1fr);
    max-width: 100%;
    overflow-x: clip;
}

.mcc-player-session-plan-filter,
.mcc-player-session-plans-page > .mcc-card {
    min-width: 0;
}

.mcc-player-session-plan-filter .mcc-card-heading {
    margin-top: 0;
}

.mcc-player-session-plan-filter {
    overflow: visible;
    position: relative;
    z-index: 100;
}

.mcc-player-session-plan-filter:has(.mcc-date-picker.is-open) {
    z-index: 2300;
}

.mcc-player-session-plan-heading-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.mcc-player-session-plan-table,
.mcc-player-session-plan-summary-table,
.mcc-player-session-plan-history-table {
    min-width: 760px;
    width: 100%;
}

.mcc-player-session-plan-table {
    border-collapse: collapse;
    table-layout: fixed;
}

.mcc-player-session-plan-table-wrap .mcc-player-session-plan-table {
    min-width: 100%;
    width: 100%;
}

.mcc-player-session-plan-table th:nth-child(1) { width: 28%; }
.mcc-player-session-plan-table th:nth-child(2) { width: 32%; }
.mcc-player-session-plan-table th:nth-child(3) { width: 26%; }
.mcc-player-session-plan-table th:nth-child(4) { width: 14%; }

.mcc-player-session-plan-table-wrap {
    margin-top: 1rem;
}

.mcc-player-session-plan-table th,
.mcc-player-session-plan-table td,
.mcc-player-session-plan-summary-table th,
.mcc-player-session-plan-summary-table td,
.mcc-player-session-plan-history-table th,
.mcc-player-session-plan-history-table td {
    overflow-wrap: anywhere;
    padding: .85rem;
    vertical-align: top;
}

.mcc-player-session-plan-table td .mcc-table-secondary-text {
    display: block;
}

.mcc-player-session-plan-table td:last-child {
    text-align: center;
    vertical-align: middle;
}

.mcc-player-session-plan-summary {
    display: grid;
    gap: .3rem;
}

.mcc-session-plan-table-group {
    display: grid;
    gap: .45rem;
    min-width: 0;
}

.mcc-session-plan-table-value {
    display: block;
    line-height: 1.45;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.mcc-session-plan-primary-value {
    font-weight: 650;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.mcc-session-plan-timeline {
    display: grid;
    gap: .2rem;
    margin-top: .15rem;
}

.mcc-session-plan-status-line {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.mcc-player-session-plan-summary span,
.mcc-player-session-plan-meta,
.mcc-player-session-plan-context-grid .mcc-muted {
    color: var(--app-muted);
}

.mcc-player-session-plan-actions {
    display: flex;
    justify-content: center;
    min-width: 6.5rem;
    position: relative;
    z-index: 1201;
}

.mcc-player-session-plan-table tbody tr:has(.mcc-player-session-plan-actions[open]) {
    position: relative;
    z-index: 1200;
}

.mcc-player-session-plan-table .mcc-detail-action-dropdown {
    min-width: 11rem;
    z-index: 1300;
}

.mcc-player-session-plan-actions summary {
    align-items: center;
    display: inline-flex;
    gap: .4rem;
    justify-content: center;
    min-width: 6.5rem;
}

.mcc-player-session-plan-table td:last-child {
    padding-left: .5rem;
    padding-right: .5rem;
}

.mcc-player-session-plan-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    position: relative;
    z-index: 1;
}

.mcc-player-session-plan-table-wrap .mcc-player-session-plan-table td,
.mcc-player-session-plan-table-wrap .mcc-player-session-plan-table th {
    min-width: 0;
    white-space: normal;
}

.mcc-player-session-plans-page .mcc-pagination {
    align-items: center;
    border-top: 1px solid var(--app-border);
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1rem;
    justify-content: space-between;
    margin-top: 1rem;
    padding-top: 1rem;
}

.mcc-player-session-plans-page .mcc-pagination-actions {
    justify-content: flex-end;
}

.mcc-player-session-plans-page .mcc-detail-action-menu {
    position: relative;
    z-index: 1201;
}

.mcc-player-session-plans-page .mcc-detail-action-dropdown {
    max-width: min(18rem, calc(100vw - 1rem));
    z-index: 50000;
}

.mcc-player-session-plan-context-grid,
.mcc-player-session-plan-detail-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mcc-player-session-plan-context-grid > div,
.mcc-player-session-plan-detail-field {
    display: grid;
    gap: .3rem;
    min-width: 0;
}

.mcc-player-session-plan-context-grid strong {
    overflow-wrap: anywhere;
}

.mcc-player-session-plan-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
    line-height: 1.45;
}

.mcc-player-session-plan-detail-field {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    padding: .8rem;
}

.mcc-player-session-plan-detail-field dt {
    color: var(--app-muted);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.mcc-player-session-plan-detail-field dd {
    line-height: 1.5;
    margin: 0;
    overflow-wrap: anywhere;
    white-space: normal;
}

.mcc-player-session-plan-form {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.mcc-player-session-plan-form-card {
    gap: 0;
    padding: 1.25rem;
}

.mcc-readonly-field {
    align-items: center;
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    display: flex;
    min-height: 2.5rem;
    overflow-wrap: anywhere;
    padding: .65rem .75rem;
}

.mcc-player-session-plan-form-context {
    margin-top: 1rem;
}

.mcc-player-session-plan-form-section {
    min-width: 0;
    padding: .25rem 0 1.25rem;
}

.mcc-player-session-plan-form-section + .mcc-player-session-plan-form-section {
    border-top: 1px solid var(--app-border);
    padding-top: 1.25rem;
}

.mcc-player-session-plan-form-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mcc-player-session-plan-form-field-wide {
    grid-column: span 2;
}

.mcc-player-session-plan-form-actions {
    border-top: 1px solid var(--app-border);
    margin-top: .25rem;
    padding-top: 1.25rem;
}

.mcc-player-session-plan-form textarea {
    line-height: 1.5;
    min-height: 5.5rem;
    resize: vertical;
}

.mcc-player-session-plan-form .mcc-bt-select,
.mcc-player-session-plan-form .mcc-bt-select-toggle {
    max-width: 100%;
    width: 100%;
}

.mcc-player-session-plan-form .mcc-bt-select-menu {
    max-width: min(100%, 24rem);
    z-index: 10000;
}

.mcc-player-session-plan-legacy-focus {
    border-top: 1px solid var(--app-border);
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1rem;
    padding-top: 1rem;
}

.mcc-player-session-practice-card .mcc-card-heading {
    margin-top: 0;
}

.mcc-player-session-plan-history-table .mcc-player-session-plan-history-snapshot {
    max-width: 28rem;
    white-space: normal;
}

@media (max-width: 760px) {
    .mcc-player-session-plan-heading-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .mcc-player-session-plan-heading-actions .mcc-button {
        width: 100%;
    }

    .mcc-player-session-plan-table,
    .mcc-player-session-plan-summary-table,
    .mcc-player-session-plan-history-table,
    .mcc-player-session-plan-table tbody,
    .mcc-player-session-plan-summary-table tbody,
    .mcc-player-session-plan-history-table tbody,
    .mcc-player-session-plan-table tr,
    .mcc-player-session-plan-summary-table tr,
    .mcc-player-session-plan-history-table tr,
    .mcc-player-session-plan-table td,
    .mcc-player-session-plan-summary-table td,
    .mcc-player-session-plan-history-table td {
        display: block;
        min-width: 0;
        width: 100%;
    }

    .mcc-player-session-plan-table thead,
    .mcc-player-session-plan-summary-table thead,
    .mcc-player-session-plan-history-table thead {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }

    .mcc-player-session-plan-table-wrap {
        border: 0;
        overflow: visible;
    }

    .mcc-player-session-plan-table-wrap .mcc-player-session-plan-table {
        min-width: 0;
        width: 100%;
    }

    .mcc-player-session-plan-table tbody tr,
    .mcc-player-session-plan-summary-table tbody tr,
    .mcc-player-session-plan-history-table tbody tr {
        border: 1px solid var(--app-border);
        border-radius: var(--app-radius);
        margin-bottom: .75rem;
        overflow: visible;
    }

    .mcc-player-session-plan-table tbody tr:last-child,
    .mcc-player-session-plan-summary-table tbody tr:last-child,
    .mcc-player-session-plan-history-table tbody tr:last-child {
        margin-bottom: 0;
    }

    .mcc-player-session-plan-table td,
    .mcc-player-session-plan-summary-table td,
    .mcc-player-session-plan-history-table td {
        border-bottom: 1px solid var(--app-border);
        padding: .75rem 1rem;
    }

    .mcc-player-session-plan-table td::before,
    .mcc-player-session-plan-summary-table td::before,
    .mcc-player-session-plan-history-table td::before {
        color: var(--app-muted);
        content: attr(data-label);
        display: block;
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .05em;
        margin-bottom: .3rem;
        text-transform: uppercase;
    }

    .mcc-player-session-plan-table td:last-child,
    .mcc-player-session-plan-summary-table td:last-child,
    .mcc-player-session-plan-history-table td:last-child {
        border-bottom: 0;
    }

    .mcc-player-session-plan-actions,
    .mcc-player-session-plan-actions summary {
        width: 100%;
    }

    .mcc-player-session-plan-context-grid,
    .mcc-player-session-plan-detail-grid,
    .mcc-player-session-plan-form-grid {
        grid-template-columns: 1fr;
    }

    .mcc-player-session-plan-form-field-wide {
        grid-column: auto;
    }

    .mcc-player-session-plan-form-card {
        padding: 1rem;
    }

    .mcc-player-session-plans-page .mcc-pagination {
        align-items: flex-start;
        flex-direction: column;
    }

    .mcc-player-session-plans-page .mcc-pagination-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .mcc-player-session-plans-page .mcc-pagination-actions .mcc-button {
        flex: 1 1 auto;
    }
}
.mcc-marketing-custom-range [class*="col-"] {
    padding-left: .35rem;
    padding-right: .35rem
}
.mcc-marketing-filter-form .mcc-form-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: .35rem
}
.mcc-marketing-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr))
}
.mcc-marketing-kpi-grid .metric-card {
    min-width: 0
}
.mcc-marketing-unavailable-list {
    display: grid;
    gap: .7rem .9rem;
    grid-template-columns: minmax(150px, .35fr) minmax(0, 1fr);
    margin: 0
}
.mcc-marketing-unavailable-list dt {
    color: var(--app-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase
}
.mcc-marketing-unavailable-list dd {
    margin: 0;
    overflow-wrap: anywhere
}
.mcc-marketing-table th,
.mcc-marketing-table td {
    font-size: .78rem;
    overflow-wrap: anywhere;
    padding: .65rem .7rem;
    vertical-align: middle
}
.mcc-marketing-table th {
    white-space: nowrap;
}
@media(max-width:900px) {
    .mcc-marketing-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}
@media(max-width:700px) {
    .mcc-marketing-filter-form .mcc-form-actions {
        align-items: stretch;
        flex-direction: column
    }
    .mcc-marketing-filter-form .mcc-form-actions .mcc-button {
        justify-content: center;
        width: 100%
    }
    .mcc-marketing-kpi-grid {
        grid-template-columns: 1fr
    }
    .mcc-marketing-unavailable-list {
        gap: .25rem;
        grid-template-columns: 1fr
    }
    .mcc-marketing-unavailable-list dd {
        margin-bottom: .45rem
    }
}
@media(max-width:900px) {
    .mcc-player-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}
@media(max-width:700px) {
    .mcc-placement-flow-arrow {
        display: none
    }
    .mcc-placement-current-row {
        display: grid;
        grid-template-columns: 1fr
    }
    .mcc-player-hero {
        flex-direction: column
    }
    .mcc-player-identity {
        align-items: flex-start;
        width: 100%
    }
    .mcc-player-avatar-column {
        flex: 0 0 132px;
        width: 132px;
    }
    .mcc-player-profile .mcc-card-heading {
        flex-direction: column;
        gap: .55rem;
    }
    .mcc-player-hero-contact {
        align-items: flex-start;
        flex-direction: column;
    }
    .mcc-player-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%
    }
    .mcc-player-actions .mcc-button,
    .mcc-form-actions .mcc-button {
        justify-content: center;
        width: 100%
    }
    .mcc-player-summary-grid {
        grid-template-columns: 1fr
    }
    .mcc-player-summary-card {
        padding: .85rem 1rem
    }
    .mcc-player-identity {
        gap: .75rem
    }
    .mcc-player-avatar {
        flex-basis: 60px;
        font-size: 1.1rem;
        height: 60px;
        width: 60px
    }
}

@media (max-width: 700px) {
    .mcc-player-profile .mcc-player-status-table,
    .mcc-player-profile .mcc-player-contact-table,
    .mcc-player-profile .mcc-player-placement-table {
        display: block;
        min-width: 0 !important;
        width: 100% !important;
    }

    .mcc-player-profile .mcc-player-status-table thead,
    .mcc-player-profile .mcc-player-contact-table thead,
    .mcc-player-profile .mcc-player-placement-table thead {
        display: none;
    }

    .mcc-player-profile .mcc-player-status-table tbody,
    .mcc-player-profile .mcc-player-contact-table tbody,
    .mcc-player-profile .mcc-player-placement-table tbody {
        display: grid;
        gap: .75rem;
    }

    .mcc-player-profile .mcc-player-status-table tr,
    .mcc-player-profile .mcc-player-contact-table tr,
    .mcc-player-profile .mcc-player-placement-table tr {
        background: var(--app-card-bg);
        border: 1px solid var(--app-border);
        border-radius: var(--app-radius);
        display: grid;
        gap: .35rem;
        padding: .8rem;
    }

    .mcc-player-profile .mcc-player-status-table th,
    .mcc-player-profile .mcc-player-status-table td,
    .mcc-player-profile .mcc-player-contact-table th,
    .mcc-player-profile .mcc-player-contact-table td,
    .mcc-player-profile .mcc-player-placement-table th,
    .mcc-player-profile .mcc-player-placement-table td {
        border: 0;
        min-width: 0;
        padding: .25rem 0;
        text-align: left;
        white-space: normal !important;
    }

    .mcc-player-profile .mcc-player-status-table td[data-label],
    .mcc-player-profile .mcc-player-contact-table td[data-label],
    .mcc-player-profile .mcc-player-placement-table td[data-label] {
        display: grid;
        gap: .35rem;
        grid-template-columns: minmax(6rem, 31%) minmax(0, 1fr);
    }

    .mcc-player-profile .mcc-player-status-table td[data-label]::before,
    .mcc-player-profile .mcc-player-contact-table td[data-label]::before,
    .mcc-player-profile .mcc-player-placement-table td[data-label]::before {
        color: var(--app-muted);
        content: attr(data-label);
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .04em;
        text-transform: uppercase;
    }

    .mcc-player-profile .mcc-player-status-table th[scope="row"],
    .mcc-player-profile .mcc-player-contact-table th[scope="row"],
    .mcc-player-profile .mcc-player-placement-table th[scope="row"] {
        border-bottom: 1px solid var(--app-border);
        padding-bottom: .5rem;
    }

    .mcc-player-profile .mcc-player-status-table td[colspan],
    .mcc-player-profile .mcc-player-contact-table td[colspan],
    .mcc-player-profile .mcc-player-placement-table td[colspan] {
        display: block;
    }
}

/* New Admission form layout; scoped to this page to preserve edit and completion screens. */
.mcc-admission-new-form-shell {
    background: var(--app-card-bg);
    margin: 0 auto 1.5rem;
    max-width: 1100px;
    padding: clamp(1rem, 2.5vw, 1.75rem);
}

.mcc-admission-new-heading {
    align-items: center;
    gap: 1rem;
    margin: 0;
    padding-bottom: 1.1rem;
}

.mcc-admission-new-heading h2 {
    font-size: 1.35rem;
    line-height: 1.3;
}

.mcc-admission-new-intro {
    color: var(--app-muted);
    margin: .4rem 0 0;
}

.mcc-admission-new-form-shell .mcc-admission-form {
    display: grid;
    gap: 1rem;
    margin: 1.25rem 0 0;
}

.mcc-admission-new-form-shell .mcc-admission-section {
    background: var(--app-body-bg);
    border-color: var(--app-border);
    border-radius: 9px;
    padding: 1.25rem;
}

.mcc-admission-new-form-shell .mcc-admission-section legend {
    float: none;
    margin: 0 0 .75rem;
    width: auto;
}

/* Admission create/edit panels use native details for keyboard-accessible collapse. */
.mcc-admission-form details.mcc-admission-section {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    margin: 0;
    min-width: 0;
    overflow: visible;
    padding: 0;
}

.mcc-admission-form details.mcc-admission-section + details.mcc-admission-section {
    margin-top: .75rem;
}

.mcc-admission-section-summary {
    align-items: center;
    color: var(--app-text);
    cursor: pointer;
    display: flex;
    font-size: 1rem;
    font-weight: 700;
    gap: .75rem;
    justify-content: space-between;
    list-style: none;
    min-height: 2.75rem;
    padding: .65rem .9rem;
}

.mcc-admission-section-summary::-webkit-details-marker {
    display: none;
}

.mcc-admission-section-summary::after {
    color: var(--app-muted);
    content: '+';
    flex: 0 0 auto;
    font-size: 1.35rem;
    line-height: 1;
}

.mcc-admission-section[open] > .mcc-admission-section-summary {
    border-bottom: 1px solid var(--app-border);
}

.mcc-admission-section[open] > .mcc-admission-section-summary::after {
    content: '−';
}

.mcc-admission-section-summary:focus-visible {
    outline: 3px solid var(--app-primary);
    outline-offset: -3px;
}

.mcc-admission-form .mcc-checkbox-label {
    align-items: flex-start;
    color: var(--app-text);
    display: inline-flex;
    gap: .55rem;
    line-height: 1.45;
    margin: .15rem 0 0;
}

.mcc-admission-form .mcc-checkbox-label input[type="checkbox"] {
    flex: 0 0 auto;
    height: 1.1rem;
    margin: .12rem 0 0;
    width: 1.1rem;
}

.mcc-admission-form .mcc-checkbox-label:has(input[type="checkbox"]:focus-visible) {
    border-radius: .2rem;
    outline: 3px solid var(--app-primary);
    outline-offset: .2rem;
}

.mcc-admission-form-shell .mcc-admission-signature-section .mcc-checkbox-label {
    align-items: flex-start;
    display: inline-flex;
    gap: 18px;
    margin-left: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
    width: 100%;
}

.mcc-admission-form-shell .mcc-admission-fields > .mcc-admission-declaration-field {
    flex: 0 0 100%;
    grid-column: 1 / -1;
    max-width: none;
    min-width: 0;
    width: 100%;
}

.mcc-admission-form-shell .mcc-admission-declaration-field .mcc-checkbox-label {
    align-items: center;
    display: flex;
    gap: 18px;
    margin-left: 0;
    max-width: none;
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
    width: 100%;
}

.mcc-admission-form-shell .mcc-admission-declaration-field .mcc-checkbox-label > input[type="checkbox"] {
    flex: 0 0 auto;
    height: 18px;
    margin: 0;
    width: 18px;
}

.mcc-admission-form-shell .mcc-admission-declaration-field .mcc-checkbox-label > span {
    display: block;
    flex: 1 1 auto;
    line-height: 1.5;
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: left;
    white-space: normal;
}

.mcc-admission-section-body {
    min-width: 0;
    padding: .85rem;
}

.mcc-admission-form details[data-admission-section]:not([open]) > .mcc-admission-section-body {
    display: none;
}

.mcc-admission-subsection,
.mcc-admission-subgroup {
    background: #f8f9fc;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    margin: 0 0 .75rem;
    overflow: visible;
    padding: .75rem;
    position: relative;
}

.mcc-admission-subsection {
    margin-bottom: .75rem;
}

.mcc-admission-subsection:last-child {
    margin-bottom: 0;
}

.mcc-admission-subsection > summary {
    display: none;
}

.mcc-admission-subsection > .mcc-admission-section-body {
    padding: 0;
}

.mcc-admission-subgroup:last-child {
    margin-bottom: 0;
}

.mcc-admission-subgroup > h3 {
    border-bottom: 1px solid var(--app-border);
    color: var(--app-text);
    font-size: .9rem;
    font-weight: 700;
    margin: 0 0 .5rem;
    padding-bottom: .4rem;
}

.mcc-admission-textarea-block,
.mcc-admission-cricket-controls {
    margin-top: 1rem;
}

.mcc-admission-textarea-block {
    border-bottom: 1px solid var(--app-border);
    padding-bottom: 1rem;
}

.mcc-admission-textarea-block h4,
.mcc-admission-cricket-controls h4 {
    color: var(--app-text);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .02em;
    margin: 0 0 .75rem;
}

.mcc-admission-textarea-block .mcc-admission-fields {
    align-items: start;
}

.mcc-admission-textarea-block textarea.form-control {
    min-height: 7rem;
    resize: vertical;
}

.mcc-admission-subsection .mcc-field-error,
.mcc-admission-subsection .has-error,
.mcc-admission-subgroup .mcc-field-error,
.mcc-admission-subgroup .has-error {
    color: var(--app-danger);
}

.mcc-admission-subsection-field {
    display: contents;
}

.mcc-signature-field {
    min-width: 0;
}

.mcc-signature-canvas {
    background: #fff;
    border: 2px solid var(--app-border);
    border-radius: var(--app-radius);
    box-sizing: border-box;
    cursor: crosshair;
    display: block;
    height: auto;
    max-width: 100%;
    min-height: 120px;
    overflow: visible;
    padding: .35rem;
    touch-action: none;
    width: 100%;
}

.mcc-signature-border {
    border-color: var(--app-secondary);
}

.mcc-signature-canvas:focus-visible {
    outline: 3px solid var(--app-primary);
    outline-offset: 2px;
}

.mcc-signature-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .55rem;
}

.mcc-signature-actions .mcc-button {
    min-width: 5.5rem;
}

.mcc-admission-section-body > .mcc-admission-section {
    margin-top: 1rem;
}

.mcc-admission-section-body > .mcc-admission-section:first-child {
    margin-top: 0;
}

.mcc-admission-section-body > .mcc-admission-section > legend {
    border-bottom: 1px solid var(--app-border);
    color: var(--app-text);
    font-size: .9rem;
    font-weight: 700;
    margin-bottom: 1rem;
    padding: 0 .35rem;
    padding-bottom: .65rem;
}

.mcc-admission-section[data-admission-section-group="personal"] {
    scroll-margin-top: 1rem;
}

.mcc-admission-section:has(.mcc-bt-select-menu:not([hidden])),
.mcc-admission-section:has(.mcc-date-picker.is-open) {
    position: relative;
    z-index: 80;
}

.mcc-admission-test-fees:has(.mcc-date-picker.is-open) {
    position: relative;
    z-index: 4000;
    overflow: visible;
}

.mcc-admission-test-fees,
.mcc-admission-test-fees * {
    box-sizing: border-box;
}

.mcc-admission-test-fees {
    min-width: 0;
    overflow: visible;
    width: 100%;
}

.mcc-admission-test-fees .row {
    margin-left: -.75rem;
    margin-right: -.75rem;
}

.mcc-admission-test-fees .mcc-admission-fee-column,
.mcc-admission-test-fees .mcc-form-field,
.mcc-admission-test-fees [data-admission-test-schedule] {
    min-width: 0;
}

.mcc-admission-test-fees .mcc-form-field {
    width: 100%;
}

.mcc-admission-test-fees .mcc-form-field > label,
.mcc-admission-test-fees h2,
.mcc-admission-test-fees h3,
.mcc-admission-test-fees .mcc-muted,
.mcc-admission-test-fees .mcc-empty-state {
    overflow-wrap: anywhere;
}

.mcc-admission-test-fees .mcc-admission-fee-input-group {
    align-items: stretch;
    display: flex;
    min-width: 0;
    width: 100%;
}

.mcc-admission-test-fees .mcc-admission-fee-plan-prepend {
    display: flex;
    flex: 0 1 48%;
    min-width: 0;
}

.mcc-admission-test-fees .mcc-admission-fee-plan-prepend select {
    min-width: 0;
    width: 100%;
}

.mcc-admission-test-fees .mcc-admission-fee-input-group > .form-control {
    flex: 1 1 52%;
    min-width: 0;
    width: 1%;
}

.mcc-admission-test-fees .mcc-admission-fee-total-field {
    max-width: 100%;
}

.mcc-admission-test-fees .mcc-admission-installment-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    width: 100%;
}

.mcc-admission-test-fees .mcc-admission-installment-schedule {
    border: 1px solid var(--app-border);
    border-radius: .65rem;
    margin-top: .5rem;
    min-width: 0;
    overflow: visible;
    padding: 1rem;
    position: relative;
}

.mcc-admission-test-fees .mcc-admission-installment-schedule-heading {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .75rem;
    justify-content: space-between;
    margin-bottom: .75rem;
}

.mcc-admission-test-fees .mcc-admission-installment-schedule-heading h3 {
    margin: 0;
}

.mcc-admission-test-fees .mcc-admission-installment-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: .75rem;
}

.mcc-admission-test-fees .mcc-admission-installment-table {
    min-width: 760px;
    table-layout: fixed;
    width: 100%;
}

.mcc-admission-test-fees .mcc-admission-installment-table th,
.mcc-admission-test-fees .mcc-admission-installment-table td {
    min-width: 0;
    overflow-wrap: anywhere;
    vertical-align: top;
}

.mcc-admission-test-fees .mcc-admission-installment-table th:first-child,
.mcc-admission-test-fees .mcc-admission-installment-table td:first-child {
    width: 6rem;
}

.mcc-admission-test-fees .mcc-admission-installment-table th:last-child,
.mcc-admission-test-fees .mcc-admission-installment-table td:last-child {
    width: 6rem;
}

.mcc-admission-test-fees .mcc-admission-installment-input-group {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    gap: .35rem;
    min-width: 0;
    width: 100%;
}

.mcc-admission-test-fees .mcc-admission-installment-input-group > .form-control {
    min-width: 0;
    width: 100%;
}

.mcc-admission-test-fees .mcc-admission-installment-table input,
.mcc-admission-test-fees .mcc-admission-installment-table button {
    max-width: 100%;
}

.mcc-admission-test-fees .mcc-date-picker {
    min-width: 0;
    max-width: 100%;
    overflow: visible;
    position: relative;
    width: 100%;
}

.mcc-admission-test-fees .mcc-date-picker.is-open {
    position: relative;
    z-index: 4001;
}

.mcc-admission-test-fees .mcc-date-picker-popup {
    max-width: min(250px, calc(100vw - 2rem));
    z-index: 4002;
}

@media (max-width: 767.98px) {
    .mcc-admission-test-fees .mcc-admission-fee-column {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .mcc-admission-test-fees .mcc-admission-fee-plan-prepend {
        flex-basis: 50%;
    }
}

@media (max-width: 700px) {
    .mcc-admission-section-summary {
        min-height: 3rem;
        padding: .75rem .9rem;
    }

    .mcc-admission-section-body {
        padding: .9rem;
    }
}

.mcc-admission-new-form-shell .mcc-admission-fields {
    display: grid;
    gap: 1rem 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.mcc-admission-new-form-shell .mcc-admission-fields .mcc-form-field {
    display: grid;
    flex: initial;
    gap: .4rem;
    margin: 0;
    max-width: none;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
}

.mcc-admission-new-form-shell .mcc-admission-fields .mcc-form-field > label {
    font-weight: 600;
    margin: 0;
}

.mcc-admission-new-form-shell .mcc-admission-fields .form-control {
    min-height: 42px;
}

.mcc-admission-new-form-shell .mcc-admission-upload-layout {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    margin: 0;
}

.mcc-admission-new-form-shell .mcc-admission-upload-area {
    background: var(--app-card-bg);
    max-width: none;
    padding: 1.15rem;
    width: auto;
}

.mcc-admission-new-form-shell .mcc-admission-upload-area label {
    font-weight: 600;
}

.mcc-admission-new-form-shell .mcc-admission-actions {
    border-top: 1px solid var(--app-border);
    gap: .75rem;
    margin: 0;
    padding-top: 1rem;
}

.mcc-admission-new-form-shell .mcc-admission-response {
    margin: 0;
    text-align: left;
}

@media (max-width: 760px) {
    .mcc-admission-new-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .mcc-admission-new-form-shell .mcc-admission-fields,
    .mcc-admission-new-form-shell .mcc-admission-upload-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .mcc-admission-new-form-shell .mcc-admission-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .mcc-admission-new-form-shell .mcc-admission-actions .mcc-button {
        justify-content: center;
        width: 100%;
    }
}

/* Keep Development detail overrides after shared component and page rules. */
.mcc-development-form {
    display: grid;
    gap: 1rem 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.mcc-development-form .mcc-form-field {
    align-content: start;
    display: grid;
    gap: .4rem;
    min-width: 0;
}

.mcc-development-form .mcc-form-field-wide,
.mcc-development-form .mcc-form-actions {
    grid-column: 1 / -1;
}

.mcc-development-form .mcc-form-field > label {
    font-weight: 650;
}

.mcc-development-form .form-control,
.mcc-development-form .mcc-bt-select-toggle {
    min-height: 42px;
    width: 100%;
}

.mcc-development-form textarea.form-control {
    min-height: 8rem;
    resize: vertical;
}

.mcc-development-form .mcc-help,
.mcc-development-form .mcc-field-error {
    margin: 0;
}

@media (max-width: 700px) {
    .mcc-development-form {
        grid-template-columns: 1fr;
    }

    .mcc-development-form .mcc-form-field-wide,
    .mcc-development-form .mcc-form-actions {
        grid-column: auto;
    }
}

.mcc-development-page {
    box-sizing: border-box;
    display: grid;
    gap: 1rem;
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
    width: 100%;
}

.mcc-development-page > .mcc-card {
    margin: 0;
}

.mcc-development-filter-card,
.mcc-development-results-card {
    min-width: 0;
    width: 100%;
}

.mcc-development-filter-card[hidden] {
    display: none;
}

.mcc-development-filter-card .mcc-card-heading,
.mcc-development-results-card .mcc-card-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
}

.mcc-development-filter-card .mcc-card-heading {
    margin-bottom: .85rem;
}

.mcc-development-header-card .mcc-card-heading {
    align-items: flex-start;
    border-bottom: 1px solid var(--app-border);
    flex-wrap: wrap;
    gap: .75rem;
    margin-bottom: .85rem;
    padding-bottom: .65rem;
}

.mcc-development-header-card .mcc-card-heading > div {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: anywhere;
}

.mcc-development-heading-actions {
    align-items: center;
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: .55rem;
    margin-left: auto;
}

.mcc-development-heading-actions .mcc-button {
    flex: 0 1 auto;
    max-width: 100%;
}

.mcc-development-filter-form[hidden] {
    display: none;
}

.mcc-development-page .development-table {
    min-width: 0;
    table-layout: fixed;
    width: 100%;
}

.mcc-development-page .mcc-table-wrap .development-table {
    min-width: 0;
    width: 100%;
}

.mcc-development-page .development-table th:first-child {
    width: 30%;
}

.mcc-development-page .development-table th:nth-child(2) {
    width: 30%;
}

.mcc-development-page .development-table th:nth-child(3) {
    width: 14%;
}

.mcc-development-page .development-table th:nth-child(4) {
    width: 14%;
}

.mcc-development-page .development-table th:nth-child(5) {
    width: 12%;
}

.mcc-development-page .development-table th,
.mcc-development-page .development-table td {
    overflow-wrap: anywhere;
    vertical-align: middle;
}

.mcc-development-page .development-table th:last-child,
.mcc-development-page .development-table td:last-child {
    white-space: nowrap;
}

.mcc-development-assignment-meta {
    color: var(--app-muted);
    display: block;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.35;
    margin-top: .2rem;
}

.mcc-development-assignment-meta span {
    align-items: baseline;
    display: grid;
    gap: .25rem;
    grid-template-columns: 3.6rem minmax(0, 1fr);
    line-height: 1.35;
}

.mcc-development-assignment-meta-badge {
    background: #f5f8fc;
    border: 1px solid #e1e9f3;
    border-radius: .25rem;
    margin-top: .15rem;
    padding: .12rem .3rem;
}

.mcc-development-assignment-meta b {
    color: var(--app-text);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.mcc-development-assignment-meta em {
    font-style: normal;
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 1400px) {
    .mcc-development-heading-actions {
        gap: .4rem;
    }
}

@media (max-width: 700px) {
    .mcc-development-page .mcc-table-wrap {
        overflow: visible;
    }

    .mcc-development-page .development-table,
    .mcc-development-page .development-table thead,
    .mcc-development-page .development-table tbody,
    .mcc-development-page .development-table tr,
    .mcc-development-page .development-table th,
    .mcc-development-page .development-table td {
        display: block;
    }

    .mcc-development-page .development-table {
        min-width: 0;
        width: 100%;
    }

    .mcc-development-page .development-table thead {
        clip: rect(0 0 0 0);
        height: 1px;
        overflow: hidden;
        position: absolute;
        width: 1px;
    }

    .mcc-development-page .development-table tbody {
        display: grid;
        gap: .65rem;
    }

    .mcc-development-page .development-table tr {
        border: 1px solid var(--app-border);
        border-radius: var(--app-radius);
        padding: .65rem .75rem;
    }

    .mcc-development-page .development-table th,
    .mcc-development-page .development-table td {
        border: 0;
        padding: .3rem 0;
        text-align: left;
        white-space: normal;
    }

    .mcc-development-page .development-table [data-label]::before {
        color: var(--app-muted);
        content: attr(data-label);
        display: block;
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .04em;
        margin-bottom: .15rem;
        text-transform: uppercase;
    }

    .mcc-development-page .development-table td:last-child {
        padding-top: .55rem;
    }

    .mcc-development-page .development-table td:last-child .mcc-button {
        justify-content: center;
        width: 100%;
    }
}

.mcc-development-form .mcc-form-field {
    flex: 1 1 calc(33.333% - 30px);
    margin: 0 15px 1rem;
    min-width: min(100%, 240px);
}

.mcc-development-form .mcc-form-field-wide,
.mcc-development-form .mcc-development-actions {
    flex-basis: 100%;
}

.mcc-development-form .mcc-development-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
    margin: 0 15px;
}

.mcc-development-form select {
    max-width: 100%;
    min-width: 0;
}

.mcc-development-form .mcc-help,
.mcc-development-form .mcc-field-error {
    overflow-wrap: anywhere;
}

@media (max-width: 700px) {
    .mcc-development-form .mcc-form-field {
        flex-basis: 100%;
    }

    .mcc-development-form .mcc-development-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .mcc-development-form .mcc-development-actions .mcc-button {
        justify-content: center;
        width: 100%;
    }
}

.mcc-development-detail-page .mcc-development-detail-heading {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding-bottom: 1rem;
}

.mcc-development-detail-page .mcc-development-detail-heading h1 {
    font-size: 1.5rem;
    line-height: 1.25;
    margin: .25rem 0 .35rem;
    overflow-wrap: anywhere;
}

.mcc-development-detail-page .mcc-development-detail-heading .mcc-card-subtitle {
    color: var(--app-muted);
    margin: 0;
    max-width: 60ch;
}

.mcc-development-detail-page .mcc-development-plan-status {
    flex-shrink: 0;
    margin-top: .25rem;
}

.mcc-development-detail-page .mcc-development-summary {
    gap: 1rem;
}

.mcc-development-detail-page .mcc-development-summary dt {
    margin: 0;
}

.mcc-development-detail-page .mcc-development-summary dd {
    font-size: .95rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.mcc-development-detail-page .mcc-development-notes {
    background: var(--app-body-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    margin-top: 1.25rem;
    padding: 1rem 1.15rem;
}

.mcc-development-detail-page .mcc-development-notes h2 {
    font-size: .9rem;
    font-weight: 700;
}

.mcc-development-detail-page .mcc-development-notes p {
    line-height: 1.65;
    margin: 0;
    overflow-wrap: anywhere;
}

.mcc-development-detail-page .mcc-development-goals-heading h2 {
    font-size: 1.1rem;
}

.mcc-development-detail-page .mcc-development-goal {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1.15rem;
}

.mcc-development-detail-page .mcc-development-goal-heading h3 {
    font-size: .95rem;
    line-height: 1.4;
    margin: 0;
    overflow-wrap: anywhere;
}

.mcc-development-detail-page .mcc-development-goal-heading .mcc-card-subtitle {
    color: var(--app-muted);
    margin: .3rem 0 0;
}

.mcc-development-detail-page .mcc-development-progress-form,
.mcc-development-detail-page .mcc-development-goal-form {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.mcc-development-detail-page .mcc-development-progress-form .mcc-form-actions,
.mcc-development-detail-page .mcc-development-goal-form .mcc-form-actions {
    grid-column: 1 / -1;
    margin-top: 0;
}

.mcc-development-detail-page .mcc-development-goal-form {
    border-top: 1px solid var(--app-border);
    margin-top: 1.5rem;
    padding-top: 1.25rem;
}

.mcc-development-detail-page .mcc-development-detail-actions {
    border-top: 1px solid var(--app-border);
    margin-top: 1.25rem;
    padding-top: 1rem;
}

.mcc-development-detail-page .mcc-development-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
}

@media (max-width: 700px) {
    .mcc-development-detail-page .mcc-development-detail-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .mcc-development-detail-page .mcc-development-plan-status {
        margin-top: 0;
    }

    .mcc-development-detail-page .mcc-development-summary {
        gap: .75rem;
        grid-template-columns: 1fr;
    }

    .mcc-development-detail-page .mcc-development-goal {
        gap: .85rem;
        padding: .9rem;
    }

    .mcc-development-detail-page .mcc-development-progress-form,
    .mcc-development-detail-page .mcc-development-goal-form {
        grid-template-columns: 1fr;
    }

    .mcc-development-detail-page .mcc-development-progress-form .mcc-form-actions,
    .mcc-development-detail-page .mcc-development-goal-form .mcc-form-actions {
        grid-column: auto;
    }

    .mcc-development-detail-page .mcc-development-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .mcc-development-detail-page .mcc-development-actions .mcc-button {
        justify-content: center;
        width: 100%;
    }

    .mcc-development-detail-page .mcc-development-history-table,
    .mcc-development-detail-page .mcc-development-history-table thead,
    .mcc-development-detail-page .mcc-development-history-table tbody,
    .mcc-development-detail-page .mcc-development-history-table tr,
    .mcc-development-detail-page .mcc-development-history-table th,
    .mcc-development-detail-page .mcc-development-history-table td {
        display: block;
    }

    .mcc-development-detail-page .mcc-table-wrap .mcc-development-history-table {
        min-width: 0;
        width: 100%;
    }

    .mcc-development-detail-page .mcc-development-history-table thead {
        clip: rect(0 0 0 0);
        height: 1px;
        overflow: hidden;
        position: absolute;
        width: 1px;
    }

    .mcc-development-detail-page .mcc-development-history-table tbody {
        display: grid;
        gap: .65rem;
    }

    .mcc-development-detail-page .mcc-development-history-table tr {
        border: 1px solid var(--app-border);
        border-radius: var(--app-radius);
        padding: .65rem .75rem;
    }

    .mcc-development-detail-page .mcc-development-history-table th,
    .mcc-development-detail-page .mcc-development-history-table td {
        border: 0;
        padding: .3rem 0;
        text-align: left;
    }

    .mcc-development-detail-page .mcc-development-history-table [data-label]::before {
        color: var(--app-muted);
        content: attr(data-label);
        display: block;
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .04em;
        margin-bottom: .15rem;
        text-transform: uppercase;
    }
}

.mcc-ground-form-page {
    display: grid;
    gap: 1rem;
}

.mcc-ground-form-card {
    margin: 0 auto;
    max-width: 960px;
    width: 100%;
}

.mcc-ground-form-heading {
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
}

.mcc-ground-form-heading h1 {
    font-size: 1.4rem;
    line-height: 1.3;
    margin: .25rem 0 .35rem;
}

.mcc-ground-form-heading .mcc-card-subtitle {
    color: var(--app-muted);
    margin: 0;
}

.mcc-ground-form {
    display: grid;
    gap: 1.25rem;
}

.mcc-ground-form-section {
    background: var(--app-body-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    padding: 1.15rem;
}

.mcc-ground-form-fields {
    display: grid;
    gap: 1rem 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: .75rem;
}

.mcc-ground-form-fields .mcc-form-field {
    gap: .4rem;
    min-width: 0;
}

.mcc-ground-form-fields .mcc-form-field label {
    font-weight: 600;
    margin: 0;
}

.mcc-ground-form-fields .mcc-form-field label span {
    color: var(--app-danger);
}

.mcc-ground-form-fields .form-control {
    min-height: 42px;
    width: 100%;
}

.mcc-ground-form-fields textarea.form-control {
    min-height: 110px;
    resize: vertical;
}

.mcc-ground-form-field-wide {
    grid-column: 1 / -1;
}

.mcc-ground-form .mcc-ground-response {
    margin: 0;
}

.mcc-ground-form-actions {
    align-items: center;
    border-top: 1px solid var(--app-border);
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
    padding-top: 1rem;
}

.mcc-equipment-form-card {
    margin: 0 auto;
    max-width: 900px;
    width: 100%;
}

.mcc-equipment-form-fields {
    display: grid;
    gap: 1rem 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mcc-equipment-form-fields .mcc-form-field {
    gap: .4rem;
    min-width: 0;
}

.mcc-equipment-form-fields .mcc-form-field label {
    font-weight: 600;
    margin: 0;
}

.mcc-equipment-form-fields .mcc-form-field label span {
    color: var(--app-danger);
}

.mcc-equipment-form-fields .form-control {
    min-height: 42px;
    width: 100%;
}

.mcc-equipment-fixed-branch {
    background: var(--app-body-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    margin: 0;
    min-height: 42px;
    padding: .55rem .75rem;
}

.mcc-equipment-form-actions {
    align-items: center;
    border-top: 1px solid var(--app-border);
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
    margin-top: 1.25rem;
    padding-top: 1rem;
}

.mcc-equipment-delete-details {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 1.25rem 0 0;
}

.mcc-equipment-delete-details > div {
    background: var(--app-body-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    padding: .75rem;
}

.mcc-equipment-delete-details dt {
    color: var(--app-muted);
    font-size: .85rem;
    margin-bottom: .25rem;
}

.mcc-equipment-delete-details dd {
    font-weight: 600;
    margin: 0;
}

.mcc-equipment-form-actions form {
    margin: 0;
}

.mcc-program-batch-form-page {
    display: grid;
    gap: 1rem;
}

.mcc-program-batch-form-card {
    margin: 0 auto;
    max-width: 960px;
    width: 100%;
}

.mcc-program-batch-form-heading {
    border-bottom: 1px solid var(--app-border);
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
}

.mcc-program-batch-form-heading h1 {
    font-size: 1.4rem;
    line-height: 1.3;
    margin: .25rem 0 .35rem;
}

.mcc-program-batch-form-heading .mcc-card-subtitle {
    color: var(--app-muted);
    margin: 0;
}

.mcc-program-batch-form {
    display: grid;
    gap: 1.25rem;
}

.mcc-program-batch-form-fields {
    display: grid;
    gap: 1rem 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mcc-program-form-fields {
    grid-template-columns: minmax(0, 1fr);
}

.mcc-program-batch-form-fields .mcc-form-field {
    gap: .4rem;
    min-width: 0;
}

.mcc-program-batch-form-fields .mcc-form-field label {
    font-weight: 600;
    margin: 0;
}

.mcc-program-batch-form-fields .mcc-form-field label span {
    color: var(--app-danger);
}

.mcc-program-batch-form-fields .mcc-form-field label .mcc-form-optional {
    color: var(--app-muted);
    font-size: .82em;
    font-weight: 400;
}

.mcc-program-batch-form-fields .form-control {
    min-height: 42px;
    width: 100%;
}

.mcc-program-batch-fixed-branch {
    background: var(--app-body-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    margin: 0;
    min-height: 42px;
    padding: .55rem .75rem;
}

.mcc-program-batch-form-response {
    margin: 0;
}

.mcc-program-batch-form-actions {
    align-items: center;
    border-top: 1px solid var(--app-border);
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
    padding-top: 1rem;
}

@media (max-width: 700px) {
    .mcc-ground-form-section {
        padding: .9rem;
    }

    .mcc-ground-form-fields {
        grid-template-columns: 1fr;
    }

    .mcc-ground-form-field-wide {
        grid-column: auto;
    }

    .mcc-ground-form-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .mcc-ground-form-actions .mcc-button {
        justify-content: center;
        width: 100%;
    }

    .mcc-equipment-form-fields {
        grid-template-columns: 1fr;
    }

    .mcc-equipment-form-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .mcc-program-batch-form-fields,
    .mcc-program-form-fields {
        grid-template-columns: 1fr;
    }

    .mcc-program-batch-form-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .mcc-program-batch-form-actions .mcc-button {
        justify-content: center;
        width: 100%;
    }

    .mcc-equipment-delete-details {
        grid-template-columns: 1fr;
    }

    .mcc-equipment-form-actions form,
    .mcc-equipment-form-actions form .mcc-button,
    .mcc-equipment-form-actions > .mcc-button {
        width: 100%;
    }
}

.mcc-follow-up-filter-card {
    margin-bottom: 1rem;
    padding: 1.15rem 1.2rem;
}

.mcc-follow-up-filter-card[hidden] {
    display: none;
}

.mcc-follow-up-filter-card .mcc-card-heading {
    margin-bottom: 1rem;
}

.mcc-follow-up-filter-card .mcc-card-heading h2 {
    margin-top: .2rem;
}

.mcc-follow-up-filter-help {
    color: var(--app-muted);
    font-size: .78rem;
    margin: .4rem 0 0;
}

.mcc-follow-up-filter-form {
    align-items: end;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mcc-follow-up-filter-field {
    min-width: 0;
}

.mcc-follow-up-filter-field input,
.mcc-follow-up-filter-field select {
    width: 100%;
}

.mcc-follow-up-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    grid-column: 1 / -1;
    justify-content: flex-end;
}

@media (max-width: 900px) {
    .mcc-follow-up-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .mcc-follow-up-filter-form {
        grid-template-columns: 1fr;
    }

    .mcc-follow-up-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .mcc-follow-up-filter-actions .mcc-button {
        justify-content: center;
        width: 100%;
    }
}

/* Meeting Follow-up filters use the shared MCC field rhythm without changing query behavior. */
.mcc-follow-up-filters {
    overflow: visible;
    position: relative;
}
.mcc-follow-up-filters .mcc-follow-up-filter-form {
    align-items: end;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    overflow: visible;
}
.mcc-follow-up-filters .mcc-follow-up-filter-form > [class*="col-"] {
    flex: initial;
    margin-bottom: 0 !important;
    max-width: none;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
    width: auto;
}
.mcc-follow-up-filters .mcc-follow-up-filter-form label {
    display: block;
    line-height: 1.35;
    margin-bottom: .35rem;
    min-height: 1.2em;
    overflow-wrap: anywhere;
}
.mcc-follow-up-filters .mcc-follow-up-filter-form input,
.mcc-follow-up-filters .mcc-follow-up-filter-form select,
.mcc-follow-up-filters .mcc-follow-up-filter-form .mcc-bt-select-toggle {
    min-height: 42px;
    width: 100%;
}
.mcc-follow-up-filters .mcc-follow-up-filter-form .mcc-bt-select,
.mcc-follow-up-filters .mcc-follow-up-filter-form .mcc-date-picker {
    min-width: 0;
    overflow: visible;
    position: relative;
    width: 100%;
}
.mcc-follow-up-filters .mcc-follow-up-filter-form > [class*="col-"]:has(.mcc-bt-select-open),
.mcc-follow-up-filters .mcc-follow-up-filter-form > [class*="col-"]:has(.mcc-date-picker.is-open) {
    position: relative;
    z-index: 1000;
}
.mcc-follow-up-filters .mcc-follow-up-filter-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    grid-column: 1 / -1;
    justify-content: flex-end;
}
@media (max-width: 900px) {
    .mcc-follow-up-filters .mcc-follow-up-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 540px) {
    .mcc-follow-up-filters .mcc-follow-up-filter-form {
        grid-template-columns: 1fr;
    }

    .mcc-follow-up-filters .mcc-follow-up-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .mcc-follow-up-filters .mcc-follow-up-filter-actions .mcc-button {
        justify-content: center;
        width: 100%;
    }
}

/* Admissions UI consistency overrides. These selectors apply after legacy module rules. */
.mcc-admission-filters,
.mcc-admission-list-card,
.mcc-admission-form-shell,
.mcc-admission-complete-page > .mcc-card {
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow);
}

.mcc-admission-filter-grid {
    align-items: end;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mcc-admission-filter-actions {
    align-items: end;
    justify-content: flex-end;
}

.mcc-admission-filter-actions .mcc-button {
    min-width: 8.5rem;
}

.mcc-admission-list-heading {
    gap: 1rem;
}

.mcc-admission-list-card {
    overflow: visible;
}

.mcc-admission-table .mcc-admission-identity,
.mcc-admission-table .mcc-admission-branch-cell {
    min-width: 12rem;
}

.mcc-admission-table .mcc-table-primary-text,
.mcc-admission-table .mcc-table-secondary-text {
    display: block;
    line-height: 1.4;
}

.mcc-admission-table .mcc-table-secondary-text + .mcc-table-secondary-text {
    margin-top: .2rem;
}

.mcc-admission-table td:last-child {
    min-width: 8rem;
    text-align: right;
    white-space: nowrap;
}

.mcc-table-scroll table.mcc-admission-table {
    min-width: 800px;
    width: 100%;
}

.mcc-admission-list-card .mcc-table-responsive,
.mcc-admission-list-card .mcc-table-scroll {
    width: 100%;
}

.mcc-admission-table th:nth-child(4),
.mcc-admission-table td:nth-child(4),
.mcc-admission-table th:nth-child(5),
.mcc-admission-table td:nth-child(5) {
    white-space: nowrap;
}

.mcc-admission-table th,
.mcc-admission-table td {
    padding: .75rem .9rem;
    vertical-align: middle;
}

.mcc-admission-table thead th {
    background: var(--app-body-bg);
    color: var(--app-muted);
}

.mcc-admission-table tbody tr:last-child th {
    border-bottom: 0;
}

.mcc-admission-action-dropdown button,
.mcc-admission-action-dropdown a.mcc-admission-action-link {
    font: inherit;
    min-height: 38px;
}

.mcc-admission-action-dropdown button:focus-visible,
.mcc-admission-action-dropdown a.mcc-admission-action-link:focus-visible {
    outline: 3px solid var(--app-primary);
    outline-offset: -2px;
}

.mcc-admission-action-menu > .mcc-button {
    align-items: center;
    justify-content: space-between;
    min-width: 7.5rem;
}

.mcc-action-caret {
    border-bottom: 0;
    border-left: .3rem solid transparent;
    border-right: .3rem solid transparent;
    border-top: .35rem solid currentColor;
    display: inline-block;
    height: 0;
    margin-left: .5rem;
    width: 0;
}

.mcc-admission-action-menu > .mcc-button[aria-expanded="true"] .mcc-action-caret {
    border-bottom: .35rem solid currentColor;
    border-top: 0;
}

.mcc-admission-action-dropdown {
    z-index: 3000;
}

.mcc-admission-list-action-menu {
    position: relative;
    z-index: 20;
}

.mcc-admission-list-action-menu:has([aria-expanded="true"]) {
    z-index: 3100;
}

.mcc-admission-form-shell {
    margin-bottom: 1rem;
}

.mcc-admission-form > .mcc-admission-section {
    background: var(--app-body-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    margin: 0;
    padding: 1.25rem;
}

.mcc-admission-form > .mcc-admission-section + .mcc-admission-section {
    margin-top: 0;
}

.mcc-admission-form > .mcc-admission-section > legend {
    color: var(--app-text);
    font-size: .95rem;
    font-weight: 700;
    margin-bottom: .9rem;
    padding: 0 .35rem;
}

.mcc-admission-form > .mcc-admission-section.row {
    display: grid;
    gap: 1rem 1.25rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mcc-admission-form > .mcc-admission-section.row > legend {
    grid-column: 1 / -1;
}

.mcc-admission-form > .mcc-admission-section.row > .mcc-form-field,
.mcc-admission-form > .mcc-admission-section.row > .col-12 {
    margin: 0;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
    width: auto;
}

.mcc-admission-form .mcc-form-field {
    gap: .4rem;
    min-width: 0;
}

.mcc-admission-form .mcc-form-field > label,
.mcc-admission-upload-area > label,
.mcc-admission-complete-form label {
    color: var(--app-text);
    font-weight: 600;
}

.mcc-admission-form .mcc-form-field .form-control,
.mcc-admission-upload-area .form-control,
.mcc-admission-complete-form .form-control {
    min-height: 40px;
}

.mcc-admission-form .mcc-field-error {
    margin: 0;
}

.mcc-admission-actions {
    align-items: center;
    border-top: 1px solid var(--app-border);
    gap: .75rem;
    margin-top: .25rem;
    padding-top: 1rem;
}

.mcc-admission-actions .mcc-button {
    min-width: 8.5rem;
}

.mcc-admission-response {
    text-align: left;
}

.mcc-admission-detail-hero,
.mcc-admission-detail .mcc-detail-card,
.mcc-admission-detail .mcc-admission-documents-section {
    background: var(--app-card-bg);
    box-shadow: var(--app-shadow);
}

.mcc-admission-detail-hero {
    padding: 1.35rem;
}

.mcc-admission-detail .mcc-card-heading {
    gap: .75rem;
}

.mcc-admission-detail .mcc-detail-actions-panel {
    align-items: center;
}

.mcc-admission-detail .mcc-history li {
    background: var(--app-body-bg);
}

.mcc-admission-modal-dialog {
    overflow-y: auto;
    padding: 0;
}

.mcc-admission-modal-dialog .mcc-modal-header {
    padding: 1.25rem 1.35rem 1rem;
}

.mcc-admission-modal-dialog .mcc-modal-body,
.mcc-admission-modal-dialog .mcc-admission-modal-panel,
.mcc-admission-modal-dialog .mcc-admission-modal-frame-wrap {
    padding: 0 1.35rem 1.35rem;
}

.mcc-admission-modal-dialog .mcc-admission-modal-panel {
    gap: 1rem;
}

.mcc-admission-modal-dialog .mcc-modal-actions {
    border-top: 1px solid var(--app-border);
    margin-top: .25rem;
    padding-top: 1rem;
}

.mcc-admission-modal-dialog .mcc-modal-actions .mcc-button {
    min-width: 8.5rem;
}

.mcc-admission-complete-page {
    display: grid;
    gap: 1rem;
}

.mcc-admission-complete-page > .mcc-card,
.mcc-admission-complete-form > .mcc-card {
    margin: 0;
}

.mcc-admission-complete-form {
    display: grid;
    gap: 1rem;
}

.mcc-admission-complete-form .mcc-admission-complete-actions {
    align-items: center;
    justify-content: flex-end;
    margin: 0;
}

.mcc-admission-complete-actions > .col-12 {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
    padding-left: 0;
    padding-right: 0;
}

@media (max-width: 900px) {
    .mcc-admission-filter-grid,
    .mcc-admission-form > .mcc-admission-section.row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .mcc-admission-filter-grid,
    .mcc-admission-form > .mcc-admission-section.row {
        grid-template-columns: 1fr;
    }

    .mcc-admission-filter-actions,
    .mcc-admission-actions,
    .mcc-admission-complete-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .mcc-admission-complete-actions > .col-12 {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .mcc-admission-filter-actions .mcc-button,
    .mcc-admission-actions .mcc-button,
    .mcc-admission-complete-actions .mcc-button {
        justify-content: center;
        margin: 0 !important;
        width: 100%;
    }

    .mcc-admission-modal-dialog .mcc-modal-header {
        padding: 1rem 1rem .85rem;
    }

    .mcc-admission-modal-dialog .mcc-modal-body,
    .mcc-admission-modal-dialog .mcc-admission-modal-panel,
    .mcc-admission-modal-dialog .mcc-admission-modal-frame-wrap {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}



.mcc-achievement-filter-form {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.mcc-achievement-filter-form .mcc-form-field-wide {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    grid-column: 1 / -1;
}

.mcc-checkbox-label {
    align-items: center;
    display: inline-flex;
    gap: .45rem;
    margin: 0 auto 0 0;
}

.mcc-achievement-awards-table {
    min-width: 1120px;
    width: 100%;
}

.mcc-achievement-awards-table th,
.mcc-achievement-awards-table td {
    overflow-wrap: anywhere;
    vertical-align: middle;
}

.mcc-achievement-awards-table .mcc-award-actions {
    min-width: 260px;
    white-space: normal;
}

.mcc-award-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.mcc-award-actions form {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin: 0;
}

.mcc-award-actions form .form-control {
    max-width: 150px;
    min-width: 120px;
}

.mcc-achievement-awards-table time {
    color: var(--app-muted);
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .mcc-achievement-filter-form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .mcc-achievement-filter-form {
        grid-template-columns: 1fr;
    }

    .mcc-achievement-filter-form .mcc-form-field-wide {
        align-items: flex-start;
        flex-direction: column;
    }

    .mcc-achievement-awards-table {
        min-width: 0;
    }

    .mcc-achievement-awards-table thead {
        display: none;
    }

    .mcc-achievement-awards-table,
    .mcc-achievement-awards-table tbody,
    .mcc-achievement-awards-table tr,
    .mcc-achievement-awards-table th,
    .mcc-achievement-awards-table td {
        display: block;
        width: 100%;
    }

    .mcc-achievement-awards-table tr {
        border-bottom: 1px solid var(--app-border);
        padding: .8rem;
    }

    .mcc-achievement-awards-table tr:last-child {
        border-bottom: 0;
    }

    .mcc-achievement-awards-table th,
    .mcc-achievement-awards-table td {
        border: 0;
        padding: .35rem 0 .35rem 7rem;
        position: relative;
        text-align: left;
    }

    .mcc-achievement-awards-table th::before,
    .mcc-achievement-awards-table td::before {
        color: var(--app-muted);
        content: attr(data-label);
        font-size: .72rem;
        font-weight: 700;
        left: 0;
        position: absolute;
        text-transform: uppercase;
        top: .4rem;
    }

    .mcc-achievement-awards-table .mcc-award-actions {
        padding-left: 0;
    }

    .mcc-achievement-awards-table .mcc-award-actions::before {
        content: none;
    }

    .mcc-award-actions form,
    .mcc-award-actions form .form-control,
    .mcc-award-actions .mcc-button {
        max-width: 100%;
        width: 100%;
    }
}

/* New Admission form presentation follows the shared MCC card rhythm. */
.mcc-admission-new-form-shell {
    overflow: visible;
}

.mcc-admission-new-form-shell .mcc-admission-form {
    gap: .75rem;
}

.mcc-admission-new-form-shell .mcc-admission-section {
    background: var(--app-card-bg);
    box-shadow: var(--app-shadow);
    overflow: visible;
    padding: .9rem;
}

.mcc-admission-new-form-shell .mcc-admission-section legend {
    color: var(--app-text);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .01em;
}

.mcc-admission-new-form-shell .mcc-admission-fields {
    align-items: start;
    gap: .75rem 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mcc-admission-new-form-shell .mcc-form-field {
    align-content: start;
    min-width: 0;
}

.mcc-admission-new-form-shell .mcc-form-field > label {
    line-height: 1.35;
    min-height: 1.2rem;
}

.mcc-admission-new-form-shell .mcc-form-field .form-control,
.mcc-admission-new-form-shell .mcc-form-field .mcc-bt-select-toggle {
    min-height: 42px;
}

.mcc-admission-new-form-shell .mcc-form-field textarea.form-control {
    min-height: 86px;
    resize: vertical;
}

.mcc-admission-new-form-shell .mcc-field-error {
    line-height: 1.35;
    margin: 0;
    overflow-wrap: anywhere;
}

.mcc-admission-new-form-shell .mcc-admission-section:has(.mcc-bt-select),
.mcc-admission-new-form-shell .mcc-form-field:has(.mcc-bt-select) {
    position: relative;
    z-index: 30;
}

.mcc-admission-new-form-shell .mcc-bt-select {
    position: relative;
    z-index: 31;
}

.mcc-admission-new-form-shell .mcc-bt-select-menu {
    max-width: min(34rem, calc(100vw - 2rem));
    min-width: 100%;
    overflow: visible;
    width: max-content;
    z-index: 120;
}

.mcc-admission-new-form-shell .mcc-date-picker.is-open {
    z-index: 1100;
}

.mcc-admission-new-form-shell .mcc-admission-upload-layout {
    align-items: stretch;
}

.mcc-admission-new-form-shell .mcc-admission-upload-area {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    min-width: 0;
}

.mcc-admission-new-form-shell .mcc-admission-actions {
    align-items: center;
    justify-content: flex-end;
    margin-top: 0;
}

/* Keep Admission btSelect menus above every form panel and neighboring field. */
.mcc-admission-form-shell,
.mcc-admission-form-shell .mcc-admission-form,
.mcc-admission-form-shell .mcc-admission-section,
.mcc-admission-form-shell .mcc-admission-section-body,
.mcc-admission-form-shell .mcc-admission-subgroup,
.mcc-admission-form-shell .mcc-admission-subsection,
.mcc-admission-form-shell .mcc-admission-bottom-block,
.mcc-admission-form-shell .mcc-admission-signature-section {
    overflow: visible;
}

.mcc-admission-form-shell .mcc-admission-form {
    isolation: isolate;
    overflow: visible;
    position: relative;
    z-index: 1;
}

.mcc-admission-form-shell .mcc-admission-form > .mcc-admission-section,
.mcc-admission-form-shell .mcc-admission-form > .mcc-admission-subsection,
.mcc-admission-form-shell .mcc-admission-form > .mcc-admission-subgroup,
.mcc-admission-form-shell .mcc-admission-form > .mcc-admission-bottom-block,
.mcc-admission-form-shell .mcc-admission-form > .mcc-admission-actions {
    overflow: visible;
    position: relative;
    z-index: 0;
}

.mcc-admission-form-shell .mcc-admission-section {
    position: relative;
    z-index: 1;
}

.mcc-admission-form-shell .mcc-admission-section:has(.mcc-bt-select-menu:not([hidden])),
.mcc-admission-form-shell .mcc-form-field:has(.mcc-bt-select-menu:not([hidden])) {
    z-index: 1000;
}

.mcc-admission-form-shell .mcc-form-field:has(.mcc-bt-select) {
    position: relative;
    z-index: 1001;
}

.mcc-admission-form-shell .mcc-bt-select {
    position: relative;
    z-index: 1002;
}

.mcc-admission-form-shell .mcc-bt-select-menu {
    max-width: min(34rem, calc(100vw - 2rem));
    min-width: 100%;
    overflow: visible;
    position: absolute;
    width: max-content;
    z-index: 1003;
}

.mcc-admission-form-shell .mcc-admission-section.mcc-bt-select-open,
.mcc-admission-form-shell .mcc-admission-subgroup.mcc-bt-select-open,
.mcc-admission-form-shell .mcc-admission-subsection.mcc-bt-select-open {
    position: relative;
    z-index: 2000;
}

.mcc-admission-form-shell .mcc-form-field.mcc-bt-select-open,
.mcc-admission-form-shell .mcc-bt-select.mcc-bt-select-open {
    position: relative;
    z-index: 4001;
}

.mcc-admission-form-shell .mcc-bt-select-open > .mcc-bt-select-menu,
.mcc-admission-form-shell .mcc-bt-select.mcc-bt-select-open > .mcc-bt-select-menu {
    z-index: 4002;
}

/* Keep the complete open section above neighboring section stacking contexts. */
.mcc-admission-form-shell .mcc-admission-section.mcc-bt-select-open:has(.mcc-bt-select-menu:not([hidden])) {
    position: relative;
    z-index: 5000;
}

/* Branch ownership is the first control in the Admission flow; keep its menu above every later panel. */
.mcc-admission-form-shell .mcc-admission-section:has(#branch),
.mcc-admission-form-shell .mcc-admission-subsection:has(#branch),
.mcc-admission-form-shell .mcc-form-field:has(#branch),
.mcc-admission-form-shell .mcc-bt-select:has(#branch),
.mcc-admission-form-shell .mcc-admission-section:has(#admission-branch),
.mcc-admission-form-shell .mcc-admission-subsection:has(#admission-branch),
.mcc-admission-form-shell .mcc-form-field:has(#admission-branch) {
    overflow: visible;
    position: relative;
    z-index: 3000;
}

.mcc-admission-form-shell .mcc-bt-select:has(#branch) > .mcc-bt-select-menu {
    max-width: min(34rem, calc(100vw - 2rem));
    min-width: 100%;
    overflow: visible;
    width: max-content;
    z-index: 3001;
}

.mcc-admission-form-shell .mcc-admission-section:has(#trial),
.mcc-admission-form-shell .mcc-admission-subsection:has(#trial),
.mcc-admission-form-shell .mcc-form-field:has(#trial),
.mcc-admission-form-shell .mcc-bt-select:has(#trial),
.mcc-admission-form-shell .mcc-admission-section:has(#trial-id),
.mcc-admission-form-shell .mcc-admission-subsection:has(#trial-id),
.mcc-admission-form-shell .mcc-form-field:has(#trial-id),
.mcc-admission-form-shell .mcc-bt-select:has(#trial-id) {
    overflow: visible;
    position: relative;
    z-index: 3100;
}

.mcc-admission-form-shell .mcc-bt-select:has(#trial) > .mcc-bt-select-menu,
.mcc-admission-form-shell .mcc-bt-select:has(#trial-id) > .mcc-bt-select-menu {
    max-width: min(34rem, calc(100vw - 2rem));
    min-width: 100%;
    overflow: visible;
    width: max-content;
    z-index: 3101;
}

.mcc-admission-form-shell .mcc-admission-section:has(#admission-batch-coach),
.mcc-admission-form-shell .mcc-admission-subsection:has(#admission-batch-coach),
.mcc-admission-form-shell .mcc-form-field:has(#admission-batch-coach),
.mcc-admission-form-shell .mcc-bt-select:has(#admission-batch-coach),
.mcc-admission-form-shell .mcc-admission-section:has(#admission-personal-coach),
.mcc-admission-form-shell .mcc-admission-subsection:has(#admission-personal-coach),
.mcc-admission-form-shell .mcc-form-field:has(#admission-personal-coach),
.mcc-admission-form-shell .mcc-bt-select:has(#admission-personal-coach) {
    overflow: visible;
    position: relative;
    z-index: 3200;
}

.mcc-admission-form-shell .mcc-bt-select:has(#admission-batch-coach) > .mcc-bt-select-menu,
.mcc-admission-form-shell .mcc-bt-select:has(#admission-personal-coach) > .mcc-bt-select-menu {
    max-width: 300px;
    width: min(300px, calc(100vw - 32px));
    min-width: 0;
    box-sizing: border-box;
    overflow: visible;
    z-index: 3201;
}

@media (max-width: 767.98px) {
    .mcc-admission-new-form-shell {
        padding: 1rem;
    }

    .mcc-admission-new-form-shell .mcc-admission-section {
        padding: .75rem;
    }

    .mcc-admission-new-form-shell .mcc-admission-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .mcc-admission-new-form-shell .mcc-admission-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .mcc-admission-new-form-shell .mcc-admission-actions .mcc-button {
        width: 100%;
    }
}

/* Keep the complete Admission form layout identical on create and edit. */
.mcc-admission-form-shell,
.mcc-admission-form-shell *,
.mcc-admission-form-shell *::before,
.mcc-admission-form-shell *::after {
    box-sizing: border-box;
}

.mcc-admission-form-shell,
.mcc-admission-form-shell .mcc-admission-form,
.mcc-admission-form-shell .mcc-admission-section,
.mcc-admission-form-shell .mcc-admission-section-body,
.mcc-admission-form-shell .mcc-admission-subsection,
.mcc-admission-form-shell .mcc-admission-subgroup,
.mcc-admission-form-shell .mcc-admission-bottom-block,
.mcc-admission-form-shell .mcc-admission-signature-section {
    min-width: 0;
    overflow: visible;
}

.mcc-admission-form-shell .mcc-admission-form {
    margin-left: 0;
    margin-right: 0;
}

.mcc-admission-form-shell .mcc-admission-section.row,
.mcc-admission-form-shell .mcc-admission-fields {
    display: grid;
    gap: .75rem 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-left: 0;
    margin-right: 0;
    min-width: 0;
    width: 100%;
}

.mcc-admission-form-shell .mcc-admission-training-fields {
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr);
}

.mcc-admission-form-shell .mcc-admission-training-fields > .mcc-form-field,
.mcc-admission-form-shell .mcc-admission-training-fields > fieldset.mcc-form-field {
    background: #fff;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    grid-column: 1 / -1;
    padding: .75rem;
    width: 100%;
}

.mcc-admission-form-shell .mcc-admission-training-fields > fieldset.mcc-form-field {
    min-width: 0;
}

.mcc-admission-form-shell .mcc-admission-trial-ratings {
    background: var(--app-surface-muted, #f8fafc);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    grid-column: 1 / -1;
    margin-top: 0;
    min-width: 0;
    padding: .9rem;
}

.mcc-admission-form-shell .mcc-admission-trial-ratings h3 {
    color: var(--app-text);
    font-size: .95rem;
    margin: 0 0 .35rem;
}

.mcc-admission-form-shell .mcc-admission-rating-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: .75rem;
}

.mcc-admission-form-shell .mcc-admission-rating-grid > .col-12 {
    max-width: none !important;
    min-width: 0;
    width: 100% !important;
}

.mcc-admission-form-shell .mcc-admission-rating-grid .mcc-form-field,
.mcc-admission-form-shell .mcc-admission-rating-grid .mcc-form-field > label,
.mcc-admission-form-shell .mcc-admission-rating-grid .mcc-form-field > .form-control,
.mcc-admission-form-shell .mcc-admission-rating-grid .mcc-form-field > select {
    max-width: none !important;
    min-width: 0;
    width: 100% !important;
}

.mcc-admission-form-shell .mcc-admission-rating-grid .mcc-form-field > label {
    display: block;
    overflow-wrap: anywhere;
    white-space: normal;
}

.mcc-admission-form-shell .mcc-admission-rating-grid .mcc-form-field > .form-control,
.mcc-admission-form-shell .mcc-admission-rating-grid .mcc-form-field > select {
    min-height: 42px;
}

.mcc-admission-form-shell [data-admission-rating-empty] {
    display: none;
    margin: 0;
    min-height: 0;
    padding: 0;
}

.mcc-admission-form-shell [data-admission-rating-empty]:not([hidden]) {
    display: block;
    margin: .35rem 0 0;
}

@media (max-width: 991.98px) {
    .mcc-admission-form-shell .mcc-admission-rating-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .mcc-admission-form-shell .mcc-admission-rating-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.mcc-admission-form-shell .mcc-coaching-dependent-fields {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1rem;
    min-width: 0;
    width: 100%;
}

.mcc-admission-form-shell .mcc-coaching-dependent-fields > .mcc-form-field {
    margin: 0;
    max-width: none;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
}

.mcc-admission-form-shell .mcc-coaching-dependent-fields > .mcc-form-field > select {
    font-size: .95rem;
    min-height: 2.75rem;
    min-width: 0;
    overflow: hidden;
    padding: .65rem .75rem;
    text-overflow: ellipsis;
    width: 100%;
}

@media (max-width: 991.98px) {
    .mcc-admission-form-shell .mcc-coaching-dependent-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .mcc-admission-form-shell .mcc-coaching-dependent-fields {
        grid-template-columns: minmax(0, 1fr);
    }
}

.mcc-admission-form-shell .mcc-admission-training-fields > .mcc-form-field > label,
.mcc-admission-form-shell .mcc-admission-training-fields > fieldset.mcc-form-field > legend {
    color: var(--app-text);
    font-size: .95rem;
    font-weight: 700;
    margin-bottom: .75rem;
}

.mcc-admission-form-shell .mcc-admission-training-fields fieldset .form-check {
    display: inline-flex;
    margin-bottom: .5rem;
    margin-right: 1.25rem;
}

.mcc-admission-form-shell .mcc-admission-training-fields fieldset .form-check-input {
    flex: 0 0 auto;
    margin-right: .45rem;
    width: auto;
}

.mcc-admission-form-shell .mcc-admission-training-fields fieldset .form-check-label {
    font-weight: 500;
}

.mcc-admission-form-shell .mcc-admission-branch-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mcc-admission-form-shell .mcc-admission-section.row > legend {
    grid-column: 1 / -1;
}

.mcc-admission-form-shell .mcc-admission-section.row > .mcc-form-field,
.mcc-admission-form-shell .mcc-admission-fields > .mcc-form-field,
.mcc-admission-form-shell .mcc-admission-fields > .mcc-admission-subsection-field,
.mcc-admission-form-shell .mcc-admission-fields > [class*="col-"] {
    flex: none;
    margin: 0;
    max-width: none;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
    width: auto;
}

.mcc-admission-form-shell .mcc-admission-fields > .col-6,
.mcc-admission-form-shell .mcc-admission-fields > .mcc-admission-fee-column {
    grid-column: span 1;
}

.mcc-admission-form-shell .mcc-admission-fields > .mcc-signature-field {
    grid-column: 1 / -1;
}

.mcc-admission-form-shell .mcc-admission-fields > .mcc-admission-subsection-field {
    display: contents;
}

.mcc-admission-form-shell .mcc-admission-fee-column {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.mcc-admission-form-shell .mcc-admission-fee-tax-column {
    display: flex;
}

.mcc-admission-form-shell .mcc-admission-fee-tax-column > .mcc-form-field {
    min-width: 0;
    width: 100%;
}

.mcc-admission-form-shell .mcc-admission-fee-error-slot {
    min-height: 1.05rem;
}

.mcc-admission-form-shell .mcc-admission-fee-input-group {
    align-items: stretch;
    display: flex;
    margin: 0;
    min-width: 0;
    width: 100%;
}

.mcc-admission-form-shell .mcc-admission-fee-input-group:focus-within {
    border-radius: .375rem;
    box-shadow: 0 0 0 .2rem rgba(79, 70, 229, .2);
}

.mcc-admission-form-shell .mcc-admission-fee-input-group .input-group-prepend {
    display: flex;
    flex: 0 0 auto;
    min-width: 0;
}

.mcc-admission-form-shell .mcc-admission-fee-input-group .input-group-text,
.mcc-admission-form-shell .mcc-admission-fee-input-group .input-group-prepend > .form-control {
    align-items: center;
    background: var(--app-muted-bg, #f3f5f8);
    border: 1px solid var(--app-border);
    display: flex;
    min-height: 42px;
    padding: .45rem .65rem;
}

.mcc-admission-form-shell .mcc-admission-fee-input-group .input-group-prepend > .form-control {
    border-radius: .375rem 0 0 .375rem;
    border-right: 0;
    display: block;
    flex: 0 1 10rem;
    max-width: 11rem;
    min-width: 8rem;
    width: auto;
}

.mcc-admission-form-shell .mcc-admission-fee-input-group > .form-control {
    border-radius: 0 .375rem .375rem 0;
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
}

.mcc-admission-form-shell .mcc-admission-fee-input-group .input-group-text {
    border-radius: .375rem 0 0 .375rem;
    color: var(--app-muted);
    font-weight: 600;
}

.mcc-admission-form-shell .mcc-form-field {
    align-content: start;
    display: grid;
    gap: .4rem;
    min-width: 0;
}

.mcc-admission-form-shell .mcc-form-field > label {
    line-height: 1.35;
    margin: 0;
    min-height: 1.35em;
    overflow-wrap: anywhere;
}

.mcc-admission-form-shell .mcc-form-field > input,
.mcc-admission-form-shell .mcc-form-field > select,
.mcc-admission-form-shell .mcc-form-field > textarea,
.mcc-admission-form-shell .mcc-form-field > .mcc-bt-select,
.mcc-admission-form-shell .mcc-form-field > .mcc-date-picker {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.mcc-admission-form-shell .mcc-form-field:has(> textarea) {
    grid-column: 1 / -1;
}

.mcc-admission-form-shell .mcc-form-field.col-6:has(> textarea) {
    grid-column: auto;
}

.mcc-admission-form-shell .mcc-form-field > textarea {
    height: auto;
    min-height: 7rem;
    resize: vertical;
}

.mcc-admission-form-shell .mcc-admission-installment-schedule {
    grid-column: 1 / -1;
    min-width: 0;
    width: 100%;
}

.mcc-admission-form-shell .mcc-admission-installment-table {
    min-width: 760px;
    width: 100%;
}

.mcc-admission-form-shell .mcc-admission-installment-table th,
.mcc-admission-form-shell .mcc-admission-installment-table td {
    min-width: 8rem;
    vertical-align: top;
}

.mcc-admission-form-shell .mcc-admission-installment-table th:first-child,
.mcc-admission-form-shell .mcc-admission-installment-table td:first-child {
    min-width: 6rem;
}

.mcc-admission-form-shell .mcc-admission-installment-table th:last-child,
.mcc-admission-form-shell .mcc-admission-installment-table td:last-child {
    min-width: 6rem;
}

.mcc-admission-form-shell .mcc-admission-installment-table td > .mcc-date-picker,
.mcc-admission-form-shell .mcc-admission-installment-table td > .form-control {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.mcc-admission-form-shell .mcc-admission-installment-input-group {
    align-items: stretch;
    display: flex;
    margin-bottom: .5rem;
    min-width: 0;
    width: 100%;
}

.mcc-admission-form-shell .mcc-admission-installment-input-group .input-group-prepend {
    display: flex;
    flex: 0 0 auto;
}

.mcc-admission-form-shell .mcc-admission-installment-input-group .input-group-text {
    align-items: center;
    background: var(--app-muted-bg, #f3f5f8);
    border: 1px solid var(--app-border);
    color: var(--app-muted);
    display: flex;
    font-size: .8rem;
    padding: .45rem .55rem;
    white-space: nowrap;
}

.mcc-admission-form-shell .mcc-admission-installment-input-group > .mcc-date-picker,
.mcc-admission-form-shell .mcc-admission-installment-input-group > .form-control {
    flex: 1 1 auto;
    max-width: 100%;
    min-width: 0;
    width: 1%;
}

.mcc-admission-form-shell .mcc-admission-installment-input-group > .mcc-date-picker .form-control {
    width: 100%;
}

.mcc-admission-form-shell .mcc-admission-installment-table td > .mcc-date-picker {
    margin-bottom: .5rem;
}

.mcc-admission-form-shell .mcc-admission-installment-table td > .form-control + .mcc-date-picker,
.mcc-admission-form-shell .mcc-admission-installment-table td > .mcc-date-picker + .form-control {
    margin-top: .5rem;
}

@media (max-width: 767.98px) {
    .mcc-admission-form-shell .mcc-admission-installment-table {
        display: block;
        min-width: 0;
        width: 100%;
    }

    .mcc-admission-form-shell .mcc-admission-installment-table thead {
        display: none;
    }

    .mcc-admission-form-shell .mcc-admission-installment-table tbody,
    .mcc-admission-form-shell .mcc-admission-installment-table tr,
    .mcc-admission-form-shell .mcc-admission-installment-table td {
        display: block;
        min-width: 0;
        width: 100%;
    }

    .mcc-admission-form-shell .mcc-admission-installment-table tr {
        border: 1px solid var(--mcc-border-color, #d8dee8);
        margin-bottom: 1rem;
        padding: .75rem;
    }

    .mcc-admission-form-shell .mcc-admission-installment-table td {
        border: 0;
        padding: .5rem 0;
    }

    .mcc-admission-form-shell .mcc-admission-installment-table td[data-label]::before {
        content: attr(data-label);
        display: block;
        font-weight: 600;
        margin-bottom: .35rem;
        overflow-wrap: anywhere;
    }
}

.mcc-admission-form-shell .mcc-form-field:has(> .mcc-signature-canvas),
.mcc-admission-form-shell .mcc-signature-field {
    grid-column: 1 / -1;
}

.mcc-admission-form-shell .mcc-checkbox-label {
    align-items: center;
    display: inline-flex;
    gap: 0;
    min-height: 42px;
    width: 100%;
}

.mcc-admission-form-shell .form-check {
    align-items: center;
    column-gap: 0;
    display: inline-flex;
    gap: 0;
    margin: 0;
    min-height: 1.5rem;
}

.mcc-admission-form-shell .mcc-checkbox-options {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.mcc-admission-form-shell .mcc-checkbox-options .form-check-label {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.mcc-admission-form-shell .mcc-checkbox-options .form-check {
    margin: 0;
}

.mcc-admission-form-shell .form-check > .form-check-input {
    margin-left: 0;
    margin-right: 0;
}

.mcc-admission-form-shell .form-check > .form-check-label {
    margin-left: 18px;
    margin-right: 0;
}

.mcc-admission-form-shell .form-check-input,
.mcc-admission-form-shell .mcc-checkbox-label input[type="checkbox"] {
    flex: 0 0 auto;
    height: 1.1rem;
    margin: 0;
    width: 1.1rem;
}

.mcc-admission-form-shell .form-check-label,
.mcc-admission-form-shell .mcc-checkbox-label {
    line-height: 1.35;
    margin: 0;
}

.mcc-admission-form-shell .form-check > .form-check-label,
.mcc-admission-form-shell .mcc-checkbox-label {
    margin-left: 18px;
}

.mcc-admission-form-shell .mcc-field-error,
.mcc-admission-form-shell .mcc-help {
    margin-bottom: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.mcc-admission-form-shell .mcc-admission-response,
.mcc-admission-form-shell .mcc-admission-actions {
    grid-column: 1 / -1;
    min-width: 0;
    width: 100%;
}

.mcc-admission-form-shell .mcc-admission-actions {
    flex-wrap: wrap;
    margin-left: 0;
    margin-right: 0;
}

.mcc-admission-form-shell .mcc-date-picker {
    min-width: 0;
    overflow: visible;
    position: relative;
    z-index: 1;
}

.mcc-admission-form-shell .mcc-date-picker.is-open {
    z-index: 4000;
}

.mcc-admission-form-shell .mcc-form-field:has(.mcc-bt-select).mcc-bt-select-open,
.mcc-admission-form-shell .mcc-form-field:has(.mcc-date-picker.is-open) {
    position: relative;
    z-index: 4001;
}

.mcc-admission-form-shell .mcc-date-picker-popup {
    max-width: min(250px, calc(100vw - 2rem));
    z-index: 4002;
}

.mcc-date-picker-popup[data-mcc-date-picker-overlay] {
    max-height: calc(100vh - 1rem);
    overflow: visible;
    pointer-events: auto;
    z-index: 50000;
}

.mcc-admission-form-shell .mcc-admission-installment-schedule .table-responsive {
    overflow: visible;
}

@media (max-width: 767.98px) {
    .mcc-admission-form-shell .mcc-admission-section.row,
    .mcc-admission-form-shell .mcc-admission-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .mcc-admission-form-shell .mcc-admission-training-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .mcc-admission-form-shell .mcc-admission-branch-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .mcc-admission-form-shell .mcc-admission-fee-column {
        grid-column: 1 / -1;
    }

    .mcc-admission-form-shell .mcc-admission-form {
        gap: 1rem;
    }
}
.mcc-parent-portal-page {
    display: grid;
    gap: 1rem;
}

.mcc-performance-form-page {
    display: grid;
    gap: 1rem;
}

.mcc-session-progress-badge {
    align-items: baseline;
    border-radius: 999px;
    display: inline-flex;
    gap: .35rem;
    padding: .3rem .65rem;
    white-space: nowrap;
}

.mcc-session-progress-badge strong {
    font-size: 1rem;
}

.mcc-session-progress-badge > span {
    font-size: .75rem;
    font-weight: 700;
}

.mcc-session-progress-personal {
    background: #e9f2ff;
    color: #1456a0;
}

.mcc-session-progress-elite {
    background: #f4eaff;
    color: #7338a8;
}

.mcc-performance-form {
    display: grid;
    gap: 1.5rem;
    width: 100%;
}

.mcc-performance-form .mcc-session-form-section {
    background: var(--app-card-bg);
    border-color: var(--app-border);
    box-shadow: 0 2px 8px rgba(33, 81, 145, .04);
    margin: 0;
    overflow: visible;
    padding: 1rem;
}

.mcc-performance-form .mcc-session-form-section-heading {
    border-bottom: 1px solid var(--app-border);
    margin-bottom: 1rem;
    padding-bottom: .65rem;
}

.mcc-performance-form .mcc-session-form-section-heading h3 {
    font-size: 1rem;
    margin: 0 0 .3rem;
}

.mcc-performance-form .mcc-session-form-section-heading p {
    color: var(--app-muted);
    font-size: .82rem;
    margin: 0;
}

.mcc-performance-form .mcc-session-create-grid {
    gap: 1rem 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mcc-performance-form .mcc-session-form-field {
    align-content: start;
    display: grid;
    gap: .45rem;
    min-width: 0;
}

.mcc-performance-form .mcc-session-form-field > label {
    line-height: 1.35;
    min-height: 1.2rem;
}

.mcc-performance-form .mcc-session-form-field .form-control {
    min-height: 42px;
    width: 100%;
}

.mcc-performance-metrics-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.mcc-performance-form .mcc-form-actions {
    align-items: center;
    border-top: 1px solid var(--app-border);
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
    margin-top: .5rem;
    padding-top: 1rem;
}

@media (max-width: 700px) {
    .mcc-performance-form .mcc-session-create-grid,
    .mcc-performance-metrics-grid {
        grid-template-columns: 1fr !important;
    }

    .mcc-performance-form .mcc-form-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .mcc-performance-form .mcc-form-actions .mcc-button {
        justify-content: center;
        width: 100%;
    }
}

.mcc-portal-child-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.mcc-portal-child-card {
    display: grid;
    gap: 1rem;
    margin: 0;
}

.mcc-portal-child-card .mcc-detail-grid,
.mcc-parent-portal-page .mcc-detail-grid {
    margin: 0;
}

.mcc-portal-page-heading {
    align-items: flex-end;
    background: linear-gradient(135deg, #ffffff 0%, #f6f1ff 100%);
    border: 1px solid var(--app-border);
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(31, 41, 55, .06);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: 1.35rem 1.5rem;
}

.mcc-portal-page-heading h1 {
    color: var(--app-text);
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    letter-spacing: -.02em;
    margin: .25rem 0 .35rem;
}

.mcc-portal-page-heading p {
    color: var(--app-muted);
    margin: 0;
}

.mcc-portal-section,
.mcc-portal-kpi,
.mcc-portal-welcome {
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(31, 41, 55, .05);
}

.mcc-portal-linked-player-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.mcc-portal-linked-player {
    background: #fbfcff;
    border: 1px solid var(--app-border);
    border-radius: 10px;
    display: grid;
    gap: .8rem;
    padding: 1rem;
}

.mcc-portal-linked-player h3 {
    color: var(--app-text);
    font-size: 1rem;
    margin: .25rem 0 0;
}

.mcc-portal-mini-detail-grid {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.mcc-portal-mini-detail-grid div {
    min-width: 0;
}

.mcc-portal-mini-detail-grid dt {
    color: var(--app-muted);
    font-size: .72rem;
    margin-bottom: .15rem;
}

.mcc-portal-mini-detail-grid dd {
    color: var(--app-text);
    font-size: .86rem;
    margin: 0;
    overflow-wrap: anywhere;
}

.mcc-portal-section-heading {
    align-items: flex-start;
    gap: .75rem;
}

.mcc-portal-section-heading h2 {
    color: var(--app-text);
    font-size: 1.15rem;
    letter-spacing: -.01em;
}

.mcc-portal-section-description,
.mcc-portal-empty-description {
    color: var(--app-muted);
    line-height: 1.6;
}

.mcc-portal-main[data-portal-page="progress"] #activity {
    display: block !important;
}

.mcc-portal-main[data-portal-page="schedule"] #schedule {
    display: none !important;
}

@media (max-width: 700px) {
    .mcc-portal-page-heading {
        align-items: flex-start;
        flex-direction: column;
        padding: 1rem;
    }
}

/* Final portal page scoping rules: keep each menu item focused on its own page. */
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) .mcc-portal-welcome,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) .mcc-portal-kpi-grid,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) .mcc-portal-linked-players,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) .mcc-portal-content-grid,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #academy,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #schedule,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #training,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #matches,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #tournaments,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #attendance,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #development,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #coach,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #notices,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #documents,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) #activity,
.mcc-portal-main[data-portal-page]:not([data-portal-page="dashboard"]) [aria-labelledby="portal-actions-heading"] {
    display: none;
}

.mcc-portal-main[data-portal-page="profile"] .mcc-portal-welcome,
.mcc-portal-main[data-portal-page="profile"] .mcc-portal-linked-players,
.mcc-portal-main[data-portal-page="academy"] #academy,
.mcc-portal-main[data-portal-page="coach"] #coach,
.mcc-portal-main[data-portal-page="schedule"] #schedule,
.mcc-portal-main[data-portal-page="schedule"] #training,
.mcc-portal-main[data-portal-page="matches"] #matches,
.mcc-portal-main[data-portal-page="tournaments"] #tournaments,
.mcc-portal-main[data-portal-page="attendance"] #attendance,
.mcc-portal-main[data-portal-page="development"] #development,
.mcc-portal-main[data-portal-page="documents"] #documents,
.mcc-portal-main[data-portal-page="notices"] #notices {
    display: block;
}

.mcc-portal-main[data-portal-page="schedule"] .mcc-portal-content-grid,
.mcc-portal-main[data-portal-page="academy"] .mcc-portal-content-grid,
.mcc-portal-main[data-portal-page="coach"] .mcc-portal-content-grid,
.mcc-portal-main[data-portal-page="matches"] .mcc-portal-content-grid,
.mcc-portal-main[data-portal-page="tournaments"] .mcc-portal-content-grid,
.mcc-portal-main[data-portal-page="attendance"] .mcc-portal-content-grid,
.mcc-portal-main[data-portal-page="development"] .mcc-portal-content-grid,
.mcc-portal-main[data-portal-page="documents"] .mcc-portal-content-grid,
.mcc-portal-main[data-portal-page="notices"] .mcc-portal-content-grid {
    display: contents !important;
}

.mcc-portal-main[data-portal-page="progress"] .mcc-portal-content-grid {
    display: contents !important;
}

/* Modern portal visual system. */
.mcc-portal-body {
    background: #f4f7fb;
    color: #172033;
}

.mcc-portal-dashboard {
    background: #f4f7fb;
    min-height: 100vh;
}

.mcc-portal-header {
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid #e5eaf2;
    box-shadow: 0 4px 18px rgba(20, 38, 72, .05);
    min-height: 72px;
    padding: .85rem clamp(1rem, 3vw, 2.25rem);
    position: sticky;
    top: 0;
    z-index: 40;
}

.mcc-portal-brand {
    color: #172033;
    gap: .7rem;
}

.mcc-portal-brand img {
    background: #fff;
    border: 1px solid #e5eaf2;
    border-radius: 10px;
    height: 42px;
    object-fit: contain;
    padding: .25rem;
    width: 42px;
}

.mcc-portal-brand-copy strong {
    color: #18233a;
    font-size: .95rem;
    font-weight: 800;
}

.mcc-portal-brand-copy small {
    color: #7a869b;
    font-size: .7rem;
}

.mcc-portal-header-actions {
    gap: .8rem;
}

.mcc-portal-user-summary {
    border-left: 1px solid #e5eaf2;
    gap: .55rem;
    padding-left: .8rem;
}

.mcc-portal-avatar,
.mcc-portal-profile-avatar {
    background: linear-gradient(135deg, #e7efff, #dce7ff);
    color: #2954a3;
}

.mcc-portal-sidebar {
    background: #17233a;
    border-right: 1px solid #23324d;
    box-shadow: 8px 0 24px rgba(12, 25, 50, .08);
    padding: 1.25rem .85rem;
    width: 248px;
}

.mcc-portal-profile {
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 14px;
    margin-bottom: 1.25rem;
    padding: .8rem;
}

.mcc-portal-profile strong {
    color: #fff;
    font-size: .86rem;
}

.mcc-portal-profile small,
.mcc-portal-sidebar-note {
    color: #9eabc2;
}

.mcc-portal-nav {
    gap: .2rem;
}

.mcc-portal-nav-group {
    color: #8594ad;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .12em;
    margin-top: .9rem;
    padding: .45rem .8rem .25rem;
    text-transform: uppercase;
}

.mcc-portal-nav a,
.mcc-portal-nav form button {
    border-radius: 10px;
    color: #b7c2d6;
    font-size: .86rem;
    gap: .7rem;
    padding: .68rem .8rem;
}

.mcc-portal-nav a:hover,
.mcc-portal-nav a.is-active,
.mcc-portal-nav form button:hover {
    background: #2b5bb8;
    color: #fff;
}

.mcc-portal-main {
    gap: 1rem;
    max-width: 1440px;
    padding: clamp(1rem, 2.4vw, 2rem) clamp(1rem, 3vw, 2.5rem) 2.5rem;
}

.mcc-portal-page-heading {
    background: linear-gradient(135deg, #fff 0%, #f6f9ff 100%);
    border: 1px solid #e3e9f3;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(37, 58, 98, .05);
    margin: 0;
    padding: 1.35rem 1.5rem;
}

.mcc-portal-page-heading h1 {
    color: #16213a;
    font-size: clamp(1.45rem, 2vw, 2.1rem);
    font-weight: 800;
}

.mcc-portal-page-heading p {
    color: #758199;
    font-size: .9rem;
}

.mcc-portal-welcome,
.mcc-portal-section,
.mcc-portal-kpi {
    background: #fff;
    border: 1px solid #e3e9f3;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(37, 58, 98, .045);
    margin: 0;
}

.mcc-portal-welcome {
    background: linear-gradient(135deg, #fff 0%, #eef5ff 100%);
    padding: clamp(1.25rem, 3vw, 2rem);
}

.mcc-portal-welcome h1 {
    color: #14213a;
    font-size: clamp(1.35rem, 2.4vw, 2rem);
    font-weight: 800;
}

.mcc-portal-welcome p,
.mcc-portal-section-description {
    color: #6c7890;
    font-size: .9rem;
}

.mcc-portal-kpi-grid {
    gap: 1rem;
}

.mcc-portal-kpi {
    min-height: 132px;
    overflow: hidden;
    padding: 1.15rem;
    position: relative;
}

.mcc-portal-kpi > span,
.mcc-portal-kpi small {
    color: #7a869b;
}

.mcc-portal-kpi strong {
    color: #17233a;
    font-size: 1.65rem;
    font-weight: 800;
}

.mcc-portal-kpi > i {
    background: #edf3ff;
    border-radius: 50%;
    color: #3569c5;
    padding: .7rem;
}

.mcc-portal-section {
    padding: clamp(1rem, 2vw, 1.35rem);
}

.mcc-portal-section-heading {
    border-bottom: 1px solid #edf0f5;
    margin-bottom: 1rem;
    padding-bottom: .8rem;
}

.mcc-portal-section-heading h2 {
    color: #1a2740;
    font-size: 1.1rem;
    font-weight: 800;
}

.mcc-portal-table-wrap {
    border: 1px solid #e6ebf2;
    border-radius: 12px;
    overflow-x: auto;
}

.mcc-portal-table {
    min-width: 560px;
}

.mcc-portal-table th {
    background: #f6f8fc;
    color: #65728a;
    font-size: .72rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.mcc-portal-table td {
    color: #31405b;
    font-size: .86rem;
}

.mcc-portal-empty-state,
.mcc-empty-state {
    background: #f8fafd;
    border: 1px dashed #d7dfeb;
    border-radius: 12px;
    color: #71809a;
    padding: 1.25rem;
}

.mcc-portal-footer {
    border-top: 1px solid #e3e9f3;
    color: #7a869b;
    margin-top: .5rem;
    padding-top: 1.1rem;
}

@media (max-width: 991px) {
    .mcc-portal-sidebar {
        width: min(290px, 86vw);
    }

    .mcc-portal-main {
        padding: 1rem .9rem 2rem;
    }
}

@media (max-width: 560px) {
    .mcc-portal-header {
        min-height: 64px;
        padding: .7rem .8rem;
    }

    .mcc-portal-user-copy,
    .mcc-portal-header-actions > .mcc-status-badge {
        display: none;
    }

    .mcc-portal-page-heading,
    .mcc-portal-welcome,
    .mcc-portal-section,
    .mcc-portal-kpi {
        border-radius: 12px;
    }

    .mcc-portal-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mcc-portal-kpi {
        min-height: 112px;
        padding: .9rem;
    }

    .mcc-portal-kpi strong {
        font-size: 1.3rem;
    }

    .mcc-portal-mini-detail-grid {
        grid-template-columns: 1fr;
    }
}

/* Portal content layout v2: one consistent spacing and section rhythm. */
.mcc-portal-main {
    align-content: start;
    display: grid;
    gap: 1.25rem;
}

.mcc-portal-main > *,
.mcc-portal-main .mcc-portal-content-grid > * {
    box-sizing: border-box;
    margin: 0;
    min-width: 0;
}

.mcc-portal-page-heading,
.mcc-portal-welcome,
.mcc-portal-section,
.mcc-portal-kpi {
    padding: 1.35rem;
}

.mcc-portal-page-heading {
    align-items: center;
    min-height: 118px;
}

.mcc-portal-page-heading > div,
.mcc-portal-welcome > div,
.mcc-portal-section-heading > div {
    min-width: 0;
}

.mcc-portal-page-heading .mcc-eyebrow,
.mcc-portal-section-heading .mcc-eyebrow {
    display: block;
    margin-bottom: .35rem;
}

.mcc-portal-page-heading h1,
.mcc-portal-welcome h1,
.mcc-portal-section-heading h2 {
    line-height: 1.2;
    margin-top: 0;
}

.mcc-portal-page-heading p,
.mcc-portal-welcome p,
.mcc-portal-section-description {
    margin-bottom: 0;
    max-width: 72ch;
}

.mcc-portal-welcome {
    display: grid;
    gap: .9rem;
}

.mcc-portal-welcome-summary {
    align-items: center;
    border-top: 1px solid rgba(47, 91, 184, .12);
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    padding-top: .85rem;
}

.mcc-portal-kpi-grid {
    align-items: stretch;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mcc-portal-kpi {
    display: grid;
    gap: .35rem;
    min-height: 132px;
}

.mcc-portal-kpi > i {
    align-self: start;
    justify-self: end;
    margin-top: -2.2rem;
}

.mcc-portal-content-grid {
    align-items: stretch;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mcc-portal-section {
    display: grid;
    gap: 1rem;
    min-height: 100%;
}

.mcc-portal-section-heading {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    margin: 0;
    min-height: 48px;
    padding-bottom: .85rem;
}

.mcc-portal-section-heading h2 {
    margin-bottom: 0;
}

.mcc-portal-section-heading .mcc-status-badge,
.mcc-portal-section-heading .mcc-button {
    flex: 0 0 auto;
}

.mcc-portal-section > .mcc-empty-state,
.mcc-portal-section > .mcc-portal-empty-state {
    align-content: center;
    display: grid;
    gap: .35rem;
    min-height: 140px;
    text-align: center;
}

.mcc-portal-section > .mcc-portal-table-wrap,
.mcc-portal-section > .mcc-portal-record-list,
.mcc-portal-section > .mcc-portal-schedule-list,
.mcc-portal-section > .mcc-portal-activity-list {
    align-self: start;
    min-width: 0;
    width: 100%;
}

.mcc-portal-table th,
.mcc-portal-table td {
    padding: .8rem .85rem;
    vertical-align: middle;
}

.mcc-portal-attendance-grid,
.mcc-portal-info-grid,
.mcc-portal-coach-summary {
    gap: .8rem;
}

@media (max-width: 1100px) {
    .mcc-portal-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .mcc-portal-content-grid {
        grid-template-columns: 1fr;
    }

    .mcc-portal-page-heading,
    .mcc-portal-welcome,
    .mcc-portal-section,
    .mcc-portal-kpi {
        padding: 1rem;
    }

    .mcc-portal-section-heading {
        flex-direction: column;
    }

    .mcc-portal-section-heading .mcc-status-badge,
    .mcc-portal-section-heading .mcc-button {
        align-self: flex-start;
    }
}

@media (max-width: 480px) {
    .mcc-portal-kpi-grid {
        grid-template-columns: 1fr;
    }
}

.mcc-portal-coach-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mcc-portal-coach-card {
    align-items: center;
    background: #f7f9fd;
    border: 1px solid #e4eaf3;
    border-radius: 12px;
    display: flex;
    gap: .85rem;
    min-width: 0;
    padding: 1rem;
}

.mcc-portal-coach-icon {
    align-items: center;
    background: #e4efff;
    border-radius: 50%;
    color: #2e62bd;
    display: inline-flex;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.mcc-portal-coach-card h3 {
    color: #192640;
    font-size: 1rem;
    margin: .2rem 0 .45rem;
    overflow-wrap: anywhere;
}

.mcc-portal-coach-meta {
    border-top: 1px solid #edf0f5;
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding-top: 1rem;
}

.mcc-portal-coach-meta span {
    color: #7a869b;
    display: block;
    font-size: .72rem;
    margin-bottom: .2rem;
}

.mcc-portal-coach-meta strong {
    color: #2d3c57;
    display: block;
    font-size: .84rem;
    overflow-wrap: anywhere;
}

@media (max-width: 760px) {
    .mcc-portal-coach-grid,
    .mcc-portal-coach-meta {
        grid-template-columns: 1fr;
    }
}

.mcc-portal-academy-summary {
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mcc-portal-academy-summary > div {
    background: #f7f9fd;
    border: 1px solid #e4eaf3;
    border-radius: 12px;
    display: grid;
    gap: .25rem;
    min-width: 0;
    padding: .9rem;
}

.mcc-portal-academy-icon {
    align-items: center;
    background: #e5efff;
    border-radius: 8px;
    color: #2c62bd;
    display: inline-flex;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.mcc-portal-academy-summary strong {
    color: #233452;
    font-size: .9rem;
    overflow-wrap: anywhere;
}

.mcc-portal-academy-summary small {
    color: #7a869b;
    font-size: .72rem;
}

.mcc-portal-next-session {
    background: linear-gradient(135deg, #edf4ff, #f9fbff);
    border: 1px solid #dce8fb;
    border-radius: 12px;
    display: grid;
    gap: .25rem;
    padding: 1rem;
}

.mcc-portal-next-session strong {
    color: #1d3768;
    font-size: 1rem;
}

.mcc-portal-next-session > span:last-child {
    color: #64718a;
    font-size: .82rem;
}

@media (max-width: 760px) {
    .mcc-portal-academy-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 460px) {
    .mcc-portal-academy-summary {
        grid-template-columns: 1fr;
    }
}

/* Dashboard-specific composition. */
.mcc-portal-main[data-portal-page="dashboard"] .mcc-portal-page-heading {
    background: transparent;
    border: 0;
    box-shadow: none;
    min-height: 0;
    padding: .25rem 0 0;
}

.mcc-portal-main[data-portal-page="dashboard"] .mcc-portal-page-heading h1 {
    font-size: 1.05rem;
    margin-bottom: .15rem;
}

.mcc-portal-main[data-portal-page="dashboard"] .mcc-portal-page-heading p {
    font-size: .82rem;
}

.mcc-portal-main[data-portal-page="dashboard"] .mcc-portal-welcome {
    background: linear-gradient(120deg, #ffffff 0%, #edf4ff 56%, #f4efff 100%);
    min-height: 190px;
    padding: clamp(1.4rem, 3vw, 2.2rem);
}

.mcc-portal-main[data-portal-page="dashboard"] .mcc-portal-welcome h1 {
    font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.mcc-portal-main[data-portal-page="dashboard"] .mcc-portal-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mcc-portal-main[data-portal-page="dashboard"] .mcc-portal-kpi:nth-child(1) {
    border-top: 3px solid #3c78d8;
}

.mcc-portal-main[data-portal-page="dashboard"] .mcc-portal-kpi:nth-child(2) {
    border-top: 3px solid #25a66a;
}

.mcc-portal-main[data-portal-page="dashboard"] .mcc-portal-kpi:nth-child(3) {
    border-top: 3px solid #8d62d7;
}

.mcc-portal-main[data-portal-page="dashboard"] .mcc-portal-kpi:nth-child(4) {
    border-top: 3px solid #e39a35;
}

.mcc-portal-main[data-portal-page="dashboard"] .mcc-portal-content-grid {
    align-items: stretch;
}

.mcc-portal-main[data-portal-page="dashboard"] #training {
    grid-column: 1 / -1;
}

.mcc-portal-main[data-portal-page="dashboard"] .mcc-portal-footer {
    margin-top: .25rem;
}

@media (max-width: 1100px) {
    .mcc-portal-main[data-portal-page="dashboard"] .mcc-portal-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Remove dashboard duplication and keep one clear information hierarchy. */
.mcc-portal-main[data-portal-page="dashboard"] .mcc-portal-page-heading,
.mcc-portal-main[data-portal-page="dashboard"] #schedule,
.mcc-portal-main[data-portal-page="dashboard"] [aria-labelledby="portal-actions-heading"] {
    display: none !important;
}

.mcc-portal-main[data-portal-page="dashboard"] #attendance {
    grid-column: 1 / -1;
}

.mcc-portal-main[data-portal-page="dashboard"] #training {
    margin-top: .1rem;
}

.mcc-portal-main[data-portal-page="dashboard"] #academy,
.mcc-portal-main[data-portal-page="dashboard"] #coach,
.mcc-portal-main[data-portal-page="dashboard"] #development,
.mcc-portal-main[data-portal-page="dashboard"] #activity,
.mcc-portal-main[data-portal-page="dashboard"] #matches,
.mcc-portal-main[data-portal-page="dashboard"] #tournaments {
    min-height: 250px;
}

.mcc-portal-main[data-portal-page="dashboard"] .mcc-portal-linked-players {
    margin-top: -.1rem;
}

