.slimezurium {
    --sz-bg: var(--theme-body-background, var(--bs-body-bg, #fff));
    --sz-surface: var(--theme-navbar-background, var(--bs-tertiary-bg, var(--bs-light, #f8f9fa)));
    --sz-soft: var(--theme-dropdown-background, var(--bs-secondary-bg, #f1f3f5));
    --sz-text: var(--theme-body-color, var(--bs-body-color, #212529));
    --sz-muted: color-mix(in srgb, var(--sz-text) 68%, transparent);
    --sz-border: color-mix(in srgb, var(--theme-button-background, var(--sz-text)) 38%, transparent);
    --sz-primary: var(--theme-button-background, currentColor);
    --sz-button-text: var(--theme-button-color, var(--bs-btn-color, #fff));
    --sz-success: var(--bs-success, #198754);
    --sz-danger: var(--bs-danger, #dc3545);
    display: grid;
    gap: 1.35rem;
    color: var(--sz-text);
    padding-bottom: 2rem;
}

.sz-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 340px);
    gap: 1.25rem;
    align-items: end;
    padding: clamp(1.65rem, 4vw, 3.2rem);
    border: 1px solid var(--sz-border);
    border-radius: .8rem;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--sz-primary) 13%, transparent), transparent 52%),
        linear-gradient(180deg, color-mix(in srgb, var(--sz-surface) 90%, white), var(--sz-surface));
    color: var(--sz-text);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .22);
}

.sz-hero::before {
    position: absolute;
    content: "";
    inset: 0 0 auto;
    height: 4px;
    background: var(--sz-primary);
}

.sz-hero > * {
    position: relative;
}

.sz-kicker,
.sz-material {
    color: var(--sz-primary);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.sz-hero h1 {
    max-width: 800px;
    margin: .35rem 0 .75rem;
    font-size: clamp(2rem, 5vw, 4.5rem);
    line-height: 1;
    letter-spacing: 0;
}

.sz-hero.compact h1 {
    font-size: clamp(2rem, 4vw, 3.4rem);
}

.sz-hero p,
.sz-panel-head p,
.sz-row span,
.sz-empty,
.sz-status small {
    color: var(--sz-muted);
}

.sz-status {
    display: grid;
    gap: .45rem;
    padding: 1.1rem;
    border: 1px solid var(--sz-border);
    border-radius: .7rem;
    background: color-mix(in srgb, var(--sz-soft) 82%, transparent);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .035);
}

.sz-status-link {
    color: var(--sz-text);
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.sz-status-link:hover {
    transform: translateY(-2px);
    border-color: var(--sz-primary);
    color: var(--sz-text);
    background: color-mix(in srgb, var(--sz-soft) 70%, var(--sz-primary));
}

.sz-status-link small {
    display: inline-flex;
    gap: .35rem;
    align-items: center;
}

.sz-status-line {
    display: inline-flex;
    gap: .5rem;
    align-items: center;
    color: var(--sz-muted);
    font-size: .82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.sz-module-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    padding: .75rem;
    border: 1px solid var(--sz-border);
    border-radius: .85rem;
    background: var(--sz-surface);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .14);
}

.sz-module-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 3.15rem;
    padding: .6rem .75rem;
    border: 1px solid color-mix(in srgb, var(--sz-border) 70%, transparent);
    border-radius: .65rem;
    background: var(--sz-bg);
    color: var(--sz-text);
    font-weight: 900;
    text-align: center;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.sz-module-nav a:hover {
    transform: translateY(-2px);
    border-color: var(--sz-primary);
    color: var(--sz-text);
}

.sz-module-nav a.active {
    border-color: var(--sz-primary);
    background: var(--sz-primary);
    color: var(--sz-button-text);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--sz-primary) 24%, transparent);
}

.sz-module-nav i {
    font-size: 1.05rem;
}

.sz-dot {
    width: .7rem;
    height: .7rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--sz-danger);
    box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--sz-danger) 22%, transparent);
}

.sz-dot.online {
    background: var(--sz-success);
    box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--sz-success) 22%, transparent);
}

.sz-metrics,
.sz-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .9rem;
}

.sz-metrics article,
.sz-panel,
.sz-card {
    border: 1px solid var(--sz-border);
    border-radius: .75rem;
    background: var(--sz-surface);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
}

.sz-metrics article {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: .25rem;
    padding: 1.05rem;
}

.sz-metrics article::before {
    position: absolute;
    content: "";
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--sz-primary);
}

.sz-metrics i {
    width: 2.3rem;
    height: 2.3rem;
    display: grid;
    place-items: center;
    margin-bottom: .45rem;
    border-radius: .55rem;
    background: var(--sz-primary);
    color: var(--sz-button-text);
}

.sz-metrics span {
    display: block;
    color: var(--sz-muted);
    font-size: .86rem;
}

.sz-metrics strong {
    font-size: 1.8rem;
}

.sz-panel {
    padding: clamp(1rem, 2.2vw, 1.35rem);
}

.sz-panel-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    margin-bottom: 1.1rem;
}

.sz-panel-head.compact {
    align-items: start;
}

.sz-panel h2 {
    margin: 0 0 .25rem;
    font-size: clamp(1.45rem, 2.6vw, 2rem);
}

.sz-filters,
.sz-board-form {
    display: flex;
    gap: .5rem;
    align-items: end;
    padding: .35rem;
    border: 1px solid var(--sz-border);
    border-radius: .7rem;
    background: var(--sz-bg);
}

.sz-shop-filters {
    grid-template-columns: minmax(160px, 1.5fr) minmax(130px, 1fr) minmax(110px, .8fr) minmax(120px, .8fr) auto;
}

.sz-global-search {
    min-width: min(520px, 100%);
    grid-template-columns: minmax(220px, 1fr) auto;
}

.sz-filters input,
.sz-filters select,
.sz-board-form select {
    min-height: 2.5rem;
    border: 0;
    border-radius: .4rem;
    background: color-mix(in srgb, var(--sz-soft) 75%, transparent);
    color: var(--sz-text);
    padding: 0 .75rem;
}

.sz-filters button,
.sz-board-form button {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
}

.sz-filters .btn-primary,
.sz-board-form .btn-primary,
.sz-module-links .btn-primary,
.sz-link.btn-primary {
    background: var(--sz-primary) !important;
    border-color: var(--sz-primary) !important;
    color: var(--sz-button-text) !important;
}

.sz-filters .btn-primary:hover,
.sz-board-form .btn-primary:hover,
.sz-module-links .btn-primary:hover,
.sz-link.btn-primary:hover {
    color: var(--sz-button-text) !important;
    filter: brightness(.92);
}

.sz-link,
.sz-module-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.35rem;
    font-weight: 800;
    padding: 0 .8rem;
}

.sz-link:hover,
.sz-module-links a:hover {
    filter: brightness(.95);
}

.sz-module-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: .7rem;
}

.sz-card {
    position: relative;
    overflow: hidden;
    display: grid;
    align-content: space-between;
    gap: 1rem;
    min-height: 188px;
    padding: 1rem;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.sz-card::before {
    position: absolute;
    content: "";
    inset: 0 0 auto;
    height: 3px;
    background: var(--sz-primary);
    opacity: .9;
}

.sz-card:hover {
    transform: translateY(-3px);
    border-color: var(--sz-primary);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .25);
}

.sz-card-title {
    display: grid;
    gap: .3rem;
}

.sz-card h3 {
    margin: .15rem 0 0;
    font-size: 1.08rem;
    line-height: 1.25;
}

.sz-price {
    display: grid;
    gap: .15rem;
}

.sz-price span {
    color: var(--sz-muted);
    font-size: .75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.sz-price strong {
    color: var(--sz-text);
    font-size: clamp(1.55rem, 2.7vw, 2rem);
    font-weight: 900;
    line-height: 1;
}

.sz-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.sz-card-meta span {
    padding: .25rem .5rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--sz-bg) 70%, var(--sz-primary));
    color: var(--sz-text);
    font-size: .78rem;
    font-weight: 700;
}

.sz-location {
    color: var(--sz-muted);
    font-weight: 700;
}

.sz-price-search-panel {
    display: grid;
    gap: .2rem;
}

.sz-price-results {
    display: grid;
    gap: .8rem;
}

.sz-price-result {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    gap: 1rem;
    align-items: stretch;
    padding: 1rem;
    border: 1px solid var(--sz-border);
    border-radius: .75rem;
    background: var(--sz-bg);
    transition: border-color .18s ease, transform .18s ease, background .18s ease;
}

.sz-price-result:hover {
    transform: translateY(-2px);
    border-color: var(--sz-primary);
    background: color-mix(in srgb, var(--sz-bg) 91%, var(--sz-primary));
}

.sz-price-result-main {
    display: grid;
    gap: 1rem;
    align-content: space-between;
    min-width: 0;
}

.sz-price-result-main h3 {
    margin: .2rem 0 0;
    font-size: clamp(1.2rem, 2.2vw, 1.65rem);
}

.sz-price-global strong {
    color: var(--sz-primary);
    font-size: clamp(1.8rem, 3vw, 2.4rem);
}

.sz-price-breakdown {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}

.sz-price-breakdown div {
    display: grid;
    gap: .18rem;
    align-content: center;
    min-width: 0;
    padding: .8rem;
    border-radius: .65rem;
    background: color-mix(in srgb, var(--sz-surface) 72%, transparent);
}

.sz-price-breakdown span {
    color: var(--sz-muted);
    font-size: .75rem;
    font-weight: 900;
    text-transform: uppercase;
}

.sz-price-breakdown strong {
    overflow-wrap: anywhere;
    font-size: 1.05rem;
}

.sz-price-breakdown small {
    color: var(--sz-muted);
    font-weight: 700;
}

.sz-two-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
}

.sz-list {
    display: grid;
    gap: .6rem;
}

.sz-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .8rem;
    align-items: center;
    padding: .85rem .95rem;
    border: 1px solid var(--sz-border);
    border-radius: .6rem;
    background: var(--sz-bg);
    transition: border-color .18s ease, transform .18s ease, background .18s ease;
}

.sz-row:hover {
    transform: translateX(3px);
    border-color: var(--sz-primary);
    background: color-mix(in srgb, var(--sz-bg) 86%, var(--sz-primary));
}

.sz-row div:not(.sz-rank) {
    display: grid;
    min-width: 0;
}

.sz-row strong,
.sz-row span {
    overflow-wrap: anywhere;
}

.sz-row b {
    color: var(--sz-primary);
    font-size: 1.05rem;
    white-space: nowrap;
}

.leaderboard .sz-row {
    grid-template-columns: 3.2rem minmax(0, 1fr) auto;
}

.sz-rank {
    display: grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: .6rem;
    background: var(--sz-primary);
    color: var(--sz-button-text);
    font-weight: 900;
}

@media (max-width: 900px) {
    .sz-hero,
    .sz-two-columns,
    .sz-price-result {
        grid-template-columns: 1fr;
    }

    .sz-module-nav {
        grid-template-columns: 1fr;
    }

    .sz-panel-head,
    .sz-filters,
    .sz-board-form,
    .sz-shop-filters,
    .sz-global-search {
        display: grid;
        grid-template-columns: 1fr;
    }

    .sz-price-breakdown {
        grid-template-columns: 1fr;
    }

    .sz-filters button,
    .sz-board-form button {
        width: 100%;
    }
}
