.mas-page {
    background: var(--mas-bg, var(--phinit-color-bg, #edf1f6));
    color: var(--mas-text, var(--phinit-color-ink, #1e293b));
    display: grid;
    gap: var(--mas-section-gap, var(--phinit-space-4, 1rem));
    margin-inline: auto;
    margin-block: 0;
    max-width: min(100%, var(--phinit-content-wide, 1200px));
    padding-block: var(--mas-content-pad-y, 0);
    padding-inline: var(--mas-content-pad-x, var(--phinit-space-6, 1.5rem));
}

body.m365adminsites-theme-embed:not(.is-member) .page-wrap {
    padding-top: var(--mas-spacing-top, 25px) !important;
    padding-bottom: var(--mas-spacing-bottom, 50px) !important;
}

body:has(.mas-page):not(.is-member) .page-wrap {
    padding-top: var(--mas-spacing-top, 25px) !important;
    padding-bottom: var(--mas-spacing-bottom, 50px) !important;
}

body.m365adminsites-theme-embed:not(.is-member) #main-content {
    display: block;
}

body.m365adminsites-theme-embed #content.site-content,
body.m365adminsites-theme-embed .site-content {
    background: var(--mas-bg, var(--phinit-color-bg, #edf1f6));
}

.mas-header {
    background: var(--mas-surface, var(--phinit-color-surface, #ffffff));
    border: 1px solid var(--mas-border, var(--phinit-color-border, #dbe4ef));
    border-radius: var(--mas-radius, var(--phinit-radius-md, 10px));
    display: grid;
    gap: var(--phinit-space-3, .75rem);
    padding: var(--phinit-space-6, 1.5rem);
}

.mas-header h1,
.mas-card h3,
.mas-card h3 a,
.mas-card-section h2,
.mas-table-section h2 {
    color: var(--mas-text, var(--phinit-color-ink, #1e293b));
}

.mas-header h1,
.mas-card-section h2,
.mas-table-section h2 {
    margin: 0;
}

.mas-overline,
.mas-card__kicker,
.mas-sidebar-card__kicker {
    color: var(--mas-accent, var(--phinit-color-accent, #1e3a5f));
    font-size: var(--phinit-text-xs, .75rem);
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.mas-intro {
    color: var(--mas-muted, var(--phinit-color-ink-secondary, #64748b));
    line-height: var(--phinit-leading-body, 1.7);
    margin: 0;
    max-width: 72ch;
}

.mas-filter {
    display: block;
}

.mas-filter-grid {
    align-items: stretch;
    display: grid;
    gap: 0;
    grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr);
}

.mas-filter-card {
    background: var(--mas-surface, var(--phinit-color-surface, #ffffff));
    border: 1px solid var(--mas-border, var(--phinit-color-border, #dbe4ef));
    display: grid;
    gap: var(--phinit-space-3, .75rem);
    padding: var(--phinit-space-4, 1rem);
}

.mas-filter-card--categories {
    border-radius: var(--mas-radius, var(--phinit-radius-md, 10px)) 0 0 var(--mas-radius, var(--phinit-radius-md, 10px));
}

.mas-filter-card--search {
    border-left: 0;
    border-radius: 0 var(--mas-radius, var(--phinit-radius-md, 10px)) var(--mas-radius, var(--phinit-radius-md, 10px)) 0;
}

.mas-filter-grid > .mas-filter-card--search:first-child {
    border-left: 1px solid var(--mas-border, var(--phinit-color-border, #dbe4ef));
    border-radius: var(--mas-radius, var(--phinit-radius-md, 10px));
}

.mas-filter-card__label {
    color: var(--mas-muted, var(--phinit-color-ink-secondary, #64748b));
    font-size: var(--phinit-text-xs, .75rem);
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.mas-category-nav {
    align-items: start;
    display: grid;
    gap: var(--phinit-space-3, .75rem);
    grid-template-columns: minmax(5rem, .32fr) minmax(0, 1fr);
}

.mas-category-list {
    display: grid;
    gap: var(--phinit-space-2, .5rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mas-search-form {
    align-content: start;
    display: grid;
    gap: var(--phinit-space-2, .5rem);
    grid-template-columns: minmax(0, 1fr) auto;
}

.mas-search-form label {
    color: var(--mas-muted, var(--phinit-color-ink-secondary, #64748b));
    font-size: var(--phinit-text-sm, .875rem);
    font-weight: 600;
    grid-column: 1 / -1;
}

.mas-search-form input[type="search"] {
    background: var(--mas-surface, var(--phinit-color-surface, #ffffff));
    border: 1px solid var(--mas-border, var(--phinit-color-border, #dbe4ef));
    border-radius: var(--mas-radius, var(--phinit-radius-sm, 6px));
    color: var(--mas-text, var(--phinit-color-ink, #1e293b));
    min-height: 44px;
    min-width: 0;
    padding: var(--phinit-space-2, .5rem) var(--phinit-space-3, .75rem);
}

.mas-chip,
.mas-table-action {
    align-items: center;
    border: 1px solid var(--mas-border, var(--phinit-color-border, #dbe4ef));
    border-radius: var(--mas-radius, var(--phinit-radius-sm, 6px));
    color: var(--mas-text, var(--phinit-color-ink, #1e293b));
    display: inline-flex;
    font-size: var(--phinit-text-sm, .875rem);
    font-weight: 600;
    justify-content: center;
    min-height: 40px;
    padding: var(--phinit-space-2, .5rem) var(--phinit-space-3, .75rem);
    text-decoration: none;
}

.mas-category-list .mas-chip {
    justify-content: flex-start;
    text-align: left;
}

.mas-table-action {
    justify-content: center;
    text-align: center;
}

.mas-chip--all {
    justify-content: center;
    min-height: 100%;
    text-align: center;
}

.mas-chip:hover,
.mas-chip.is-active,
.mas-table-action:hover {
    border-color: var(--mas-accent, var(--phinit-color-accent, #1e3a5f));
    color: var(--mas-accent, var(--phinit-color-accent, #1e3a5f));
}

.mas-btn,
.sb-widget--adminsites .sb-widget-button {
    background: var(--mas-button-bg, var(--phinit-color-accent, #1e3a5f));
    border: 1px solid var(--mas-button-bg, var(--phinit-color-accent, #1e3a5f));
    border-radius: var(--mas-radius, var(--phinit-radius-sm, 6px));
    color: var(--mas-button-text, #ffffff);
    min-height: 44px;
    text-decoration: none;
}

.mas-btn--link,
.mas-btn.phinit-btn--link {
    background: transparent;
    border-color: transparent;
    color: var(--mas-accent, var(--phinit-color-accent, #1e3a5f));
}

.mas-card-section,
.mas-table-section {
    display: grid;
    gap: var(--mas-section-gap, var(--phinit-space-4, 1rem));
}

.mas-grid {
    display: grid;
    gap: var(--phinit-space-4, 1rem);
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr));
}

.mas-card {
    background: var(--mas-surface, var(--phinit-color-surface, #ffffff));
    border: 1px solid var(--mas-border, var(--phinit-color-border, #dbe4ef));
    border-radius: var(--mas-radius, var(--phinit-radius-md, 10px));
    display: grid;
    overflow: hidden;
}

.mas-card__media {
    background: color-mix(in srgb, var(--mas-accent, #1e3a5f) 8%, var(--mas-surface, #ffffff));
    display: block;
    min-height: var(--mas-card-image-h, 118px);
    overflow: hidden;
    text-decoration: none;
}

.mas-card__media img,
.mas-sidebar-card__image,
.mas-table-image {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.mas-card__media img {
    aspect-ratio: 16 / 9;
    max-height: var(--mas-card-image-h, 118px);
}

.mas-placeholder,
.mas-sidebar-card__placeholder,
.mas-table-placeholder {
    align-items: center;
    background: color-mix(in srgb, var(--mas-accent, #1e3a5f) 12%, var(--mas-surface, #ffffff));
    color: var(--mas-accent, var(--phinit-color-accent, #1e3a5f));
    display: flex;
    font-family: var(--phinit-font-display, system-ui);
    font-size: var(--phinit-text-h2, 1.5rem);
    font-weight: 600;
    justify-content: center;
}

.mas-placeholder {
    min-height: var(--mas-card-image-h, 118px);
}

.mas-card__body {
    display: grid;
    gap: var(--phinit-space-2, .5rem);
    padding: var(--phinit-space-4, 1rem);
}

.mas-card__body p,
.mas-card__body h3 {
    margin: 0;
}

.mas-card__subtitle {
    color: var(--mas-muted, var(--phinit-color-ink-secondary, #64748b));
}

.mas-card__actions,
.mas-table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--phinit-space-2, .5rem);
    margin-top: var(--phinit-space-2, .5rem);
}

.mas-table-wrap {
    background: var(--mas-surface, var(--phinit-color-surface, #ffffff));
    border: 1px solid var(--mas-border, var(--phinit-color-border, #dbe4ef));
    border-radius: var(--mas-radius, var(--phinit-radius-md, 10px));
    overflow-x: auto;
}

.mas-table {
    border-collapse: collapse;
    min-width: 760px;
    width: 100%;
}

.mas-table th,
.mas-table td {
    border-bottom: 1px solid var(--mas-border, var(--phinit-color-border, #dbe4ef));
    padding: var(--phinit-space-3, .75rem);
    text-align: left;
    vertical-align: top;
}

.mas-table-wrap--compact th,
.mas-table-wrap--compact td {
    padding: var(--phinit-space-2, .5rem);
}

.mas-table th {
    color: var(--mas-muted, var(--phinit-color-ink-secondary, #64748b));
    font-size: var(--phinit-text-xs, .75rem);
    letter-spacing: .05em;
    text-transform: uppercase;
}

.mas-table small {
    color: var(--mas-muted, var(--phinit-color-ink-secondary, #64748b));
}

.mas-table-image,
.mas-table-placeholder {
    border-radius: var(--mas-radius, var(--phinit-radius-sm, 6px));
    height: var(--mas-image-h, 72px);
    width: min(8rem, calc(var(--mas-image-h, 72px) * 1.5));
}

.mas-pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--phinit-space-3, .75rem);
    justify-content: center;
}

.mas-pagination__info {
    color: var(--mas-muted, var(--phinit-color-ink-secondary, #64748b));
    font-size: var(--phinit-text-sm, .875rem);
}

.sb-widget--adminsites {
    position: relative;
}

.mas-sidebar-rotator {
    display: grid;
    min-height: var(--mas-sidebar-min-h, 12.25rem);
    position: relative;
}

.mas-sidebar-slide {
    grid-area: 1 / 1;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
}

.mas-sidebar-slide.is-active {
    opacity: 1;
    pointer-events: auto;
}

.mas-sidebar-card {
    border: 1px solid var(--border-color, var(--mas-border, #dbe4ef));
    border-radius: var(--border-radius, var(--mas-radius, 10px));
    color: var(--text-primary, var(--mas-text, #1e293b));
    display: grid;
    overflow: hidden;
    text-decoration: none;
}

.mas-sidebar-card__image,
.mas-sidebar-card__placeholder {
    aspect-ratio: 16 / 9;
    height: var(--mas-sidebar-image-h, 118px);
    min-height: 0;
}

.sb-widget--adminsites-compact .mas-sidebar-card {
    grid-template-columns: minmax(5rem, .38fr) minmax(0, 1fr);
}

.sb-widget--adminsites-compact .mas-sidebar-card__image,
.sb-widget--adminsites-compact .mas-sidebar-card__placeholder {
    aspect-ratio: auto;
    height: 100%;
    min-height: var(--mas-sidebar-min-h, 9rem);
}

.sb-widget--adminsites-minimal .mas-sidebar-rotator {
    min-height: auto;
}

.sb-widget--adminsites-minimal .mas-sidebar-card {
    border-left: 3px solid var(--mas-accent, var(--phinit-color-accent, #1e3a5f));
}

.mas-sidebar-card__body {
    display: grid;
    gap: var(--phinit-space-1, .25rem);
    padding: var(--phinit-space-3, .75rem);
}

.mas-sidebar-card__title {
    color: var(--text-primary, var(--mas-text, #1e293b));
    line-height: 1.3;
}

.mas-sidebar-card__subtitle {
    color: var(--text-secondary, var(--mas-muted, #64748b));
    font-size: var(--phinit-text-xs, .75rem);
}

.mas-sidebar-controls {
    display: flex;
    gap: var(--phinit-space-2, .5rem);
    justify-content: flex-end;
    margin: var(--phinit-space-2, .5rem) 0;
}

.mas-sidebar-control {
    align-items: center;
    background: var(--bg-primary, var(--mas-surface, #ffffff));
    border: 1px solid var(--border-color, var(--mas-border, #dbe4ef));
    border-radius: var(--border-radius, 8px);
    color: var(--text-primary, var(--mas-text, #1e293b));
    cursor: pointer;
    display: inline-flex;
    height: 32px;
    justify-content: center;
    width: 32px;
}

body.dark-mode .mas-card,
body.dark-mode .mas-header,
body.dark-mode .mas-filter,
body.dark-mode .mas-table-wrap {
    background: var(--bg-primary, #1e293b);
}

@media (max-width: 768px) {
    .mas-page {
        padding-block: var(--mas-content-pad-y, 0);
        padding-inline: min(var(--mas-content-pad-x, 1rem), var(--phinit-space-4, 1rem));
    }

    .mas-filter-grid,
    .mas-category-nav,
    .mas-category-list,
    .mas-search-form,
    .sb-widget--adminsites-compact .mas-sidebar-card {
        grid-template-columns: 1fr;
    }

    .mas-filter-card--categories,
    .mas-filter-card--search {
        border: 1px solid var(--mas-border, var(--phinit-color-border, #dbe4ef));
        border-radius: var(--mas-radius, var(--phinit-radius-md, 10px));
    }

    .mas-search-form input[type="search"],
    .mas-btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mas-sidebar-slide {
        transition: none;
    }
}
