.mlc-page {
    background: var(--mlc-bg, var(--phinit-color-bg, #edf1f6));
    color: var(--mlc-text, var(--phinit-color-ink, #1e293b));
    display: grid;
    gap: var(--mlc-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(--mlc-content-pad-y, 0);
    padding-inline: var(--mlc-content-pad-x, var(--phinit-space-6, 1.5rem));
}

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

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

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

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

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

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

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

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

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

.mlc-filter {
    display: block;
}

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

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

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

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

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

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

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

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

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

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

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

.mlc-chip,
.mlc-table-action {
    align-items: center;
    border: 1px solid var(--mlc-border, var(--phinit-color-border, #dbe4ef));
    border-radius: var(--mlc-radius, var(--phinit-radius-sm, 6px));
    color: var(--mlc-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;
}

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

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

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

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

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

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

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

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

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

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

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

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

.mlc-placeholder,
.mlc-sidebar-card__placeholder,
.mlc-table-placeholder {
    align-items: center;
    background: color-mix(in srgb, var(--mlc-accent, #1e3a5f) 12%, var(--mlc-surface, #ffffff));
    color: var(--mlc-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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.sb-widget--linkcollection-minimal .mlc-sidebar-rotator {
    min-height: auto;
}

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

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

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

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

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

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

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

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

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

    .mlc-filter-grid,
    .mlc-category-nav,
    .mlc-category-list,
    .mlc-search-form {
        grid-template-columns: 1fr;
    }

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

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

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