:root {
    --performio-navy: #0b1f3a;
    --performio-navy-2: #08182c;
    --performio-green: #2eb67d;
    --performio-surface: #ffffff;
    --performio-surface-soft: #f8f9fb;
    --performio-surface-muted: #f4f6f8;
    --performio-border-soft: #e6e9ed;
    --performio-text-strong: #2d3348;
    --performio-text-muted: #5c6670;
    --performio-radius-sm: 14px;
    --performio-radius-md: 18px;
    --performio-radius-lg: 24px;
    --performio-shadow-soft: 0 10px 24px rgba(11, 31, 58, 0.05);
    --performio-shadow-panel: 0 16px 38px rgba(11, 31, 58, 0.06);
    --performio-control-height: 50px;
}

html,
body {
    font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body {
    background:
        radial-gradient(circle at top left, rgba(255, 221, 181, 0.16), transparent 22%),
        linear-gradient(180deg, #f7f8fb 0%, #f4f6fb 100%);
    color: var(--performio-text-strong);
}

body.app-shell {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    min-height: 100vh;
    background: transparent;
}

.test-environment-banner {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1200;
    height: 10px;
    background: #e18a28;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.app-shell.test-environment .sidebar,
body.app-shell.test-environment .topbar {
    margin-top: 10px;
}

.app-main {
    min-width: 0;
}

.app-shell .sidebar {
    background: rgba(255, 255, 255, 0.88);
    color: var(--performio-text-strong);
    width: 280px;
    padding: 18px 14px;
    border-right: 1px solid var(--performio-border-soft);
    backdrop-filter: blur(18px);
    box-shadow: inset -1px 0 0 rgba(230, 233, 237, 0.82);
    overflow-y: auto;
    overscroll-behavior: contain;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.app-shell .sidebar-header {
    align-items: center;
    justify-content: flex-start;
}

.app-shell .sidebar .brand {
    gap: 12px;
    justify-content: flex-start;
    width: 100%;
}

.app-shell .sidebar .brand-copy,
.app-shell .sidebar-context,
.app-shell .sidebar .sidebar-user-meta,
.app-shell .sidebar .sidebar-help-link span,
.app-shell .sidebar .nav-link span,
.app-shell .sidebar .sidebar-profile-link strong,
.app-shell .sidebar .sidebar-profile-link small,
.app-shell .sidebar .sidebar-logout-inline {
    display: initial;
}

.app-shell .sidebar .brand-copy,
.sidebar-user-meta {
    display: grid;
}

.app-shell .sidebar .sidebar-close {
    display: none;
}

.app-shell .brand-mark {
    border-radius: 14px;
    box-shadow: 0 10px 22px rgba(245, 130, 32, 0.18);
}

.app-shell .brand-logo {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    object-fit: contain;
    display: block;
}

.app-shell .sidebar-nav {
    gap: 12px;
    overflow: visible;
    padding-bottom: 12px;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

.app-shell .sidebar-nav-compact {
    align-items: stretch;
}

.app-shell .sidebar-nav-compact .nav-link {
    width: 100%;
    min-height: 0;
    padding: 14px 16px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    border-radius: 16px;
    color: #353b52;
    background: transparent;
    border: 1px solid transparent;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.app-shell .sidebar-nav-compact .nav-link i {
    width: 18px;
    font-size: 1rem;
    color: #8d93a9;
    text-align: center;
}

.app-shell .sidebar-nav-compact .nav-link:hover,
.app-shell .sidebar-nav-compact .nav-link.active {
    color: #c07d1f;
    background: transparent;
    border-color: transparent;
    transform: none;
}

.app-shell .sidebar-nav-compact .nav-link.active i,
.app-shell .sidebar-nav-compact .nav-link:hover i {
    color: inherit;
}

.sidebar-nav-group {
    width: 100%;
    display: grid;
    justify-items: stretch;
    gap: 6px;
}

.sidebar-subnav {
    width: 100%;
    display: grid;
    gap: 6px;
}

.sidebar-subnav[hidden] {
    display: none;
}

.sidebar-subnav-link {
    min-height: 36px;
    padding: 0 14px 0 28px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    color: #7f879d;
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 600;
    border: 1px solid transparent;
    background: transparent;
}

.sidebar-subnav-link:hover,
.sidebar-subnav-link.active {
    color: #93621d;
    background: transparent;
    border-color: transparent;
}

.app-shell .sidebar-help-link {
    margin-top: auto;
    border-top: 0;
    padding-top: 0;
}

.app-shell .sidebar-user-card {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--performio-border-soft);
    display: grid;
    justify-items: center;
}

.sidebar-user-avatar,
.topbar-profile-avatar {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: linear-gradient(135deg, #d9dcef 0%, #bfc5ea 100%);
    color: var(--performio-navy);
    font-weight: 700;
    letter-spacing: -0.02em;
}

.app-shell .topbar {
    min-height: 88px;
    padding: 20px 28px;
    margin: 0;
    background: rgba(255, 255, 255, 0.82);
    border-bottom: 1px solid rgba(230, 233, 237, 0.92);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.84);
    backdrop-filter: blur(16px);
}

.app-shell .topbar-heading {
    align-items: center;
}

.topbar-title-block {
    display: grid;
    gap: 4px;
}

.topbar-kicker {
    color: #9198af;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.app-shell .topbar h1 {
    font-size: clamp(1.85rem, 3.1vw, 2.9rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
    color: var(--performio-text-strong);
}

.app-shell .topbar p {
    color: var(--performio-text-muted);
}

.app-shell .topbar-actions {
    gap: 10px;
}

.topbar-help-button,
.topbar-profile-chip,
.app-shell .tenant-pill {
    min-height: 46px;
    border-radius: 16px;
}

.topbar-help-button {
    padding-inline: 16px;
}

.app-shell .tenant-pill {
    min-width: 0;
    padding: 0 14px;
    border: 1px solid var(--performio-border-soft);
    background: rgba(255, 255, 255, 0.88);
    color: #6a7289;
    font-weight: 700;
}

.topbar-profile-chip {
    padding: 4px 8px 4px 6px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--performio-border-soft);
    background: rgba(255, 255, 255, 0.92);
    color: inherit;
    text-decoration: none;
    box-shadow: var(--performio-shadow-soft);
}

.topbar-profile-text {
    display: grid;
    gap: 1px;
    text-align: left;
}

.topbar-profile-text strong {
    font-size: 0.95rem;
    line-height: 1.1;
}

.topbar-profile-text small {
    color: var(--performio-text-muted);
    font-size: 0.78rem;
}

.app-shell .content {
    padding: 26px 24px 32px;
    gap: 18px;
}

.panel,
.metric-card,
.login-panel,
.ticketshop-hero,
.ticket-detail-hero,
.ticket-panel,
.ticket-order-summary,
.ticket-empty,
.ticket-event-card,
.marketing-overview-card,
.marketing-show-card,
.planning-prikker-day,
.planning-prikker-show-card,
.planning-prikker-service-card {
    border-radius: var(--performio-radius-md);
    border-color: var(--performio-border-soft);
    box-shadow: var(--performio-shadow-soft);
}

.panel,
.metric-card,
.login-panel {
    background: rgba(255, 255, 255, 0.96);
}

.panel {
    padding: 22px;
}

.panel-header {
    margin-bottom: 18px;
}

.panel-header h2,
.panel h2 {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--performio-text-strong);
}

.metric-grid {
    gap: 14px;
}

.metric-card {
    min-height: 118px;
    padding: 18px;
}

.metric-card strong {
    font-size: 1.2rem;
}

.metric,
.seating-editor-summary,
.ticketshop-hero-stat,
.planning-prikker-stat {
    border-radius: 16px;
    border-color: var(--performio-border-soft);
    background: var(--performio-surface-soft);
    box-shadow: none;
}

.module-tabs {
    gap: 8px;
    padding-bottom: 2px;
}

.module-tabs .nav-link,
.nav-tabs .nav-link {
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 999px;
    border: 1px solid transparent;
    color: #7a819a;
    background: transparent;
    font-weight: 600;
}

.module-tabs .nav-link.active,
.nav-tabs .nav-link.active,
.module-tabs .nav-link:hover,
.nav-tabs .nav-link:hover {
    color: #b67213;
    background: rgba(255, 244, 232, 0.94);
    border-color: rgba(242, 203, 150, 0.9);
}

.form-control,
.form-select,
.form-control-color,
.btn {
    min-height: var(--performio-control-height);
    border-radius: 16px;
}

.form-control,
.form-select {
    border-color: var(--performio-border-soft);
    box-shadow: 0 1px 2px rgba(11, 31, 58, 0.03);
}

.form-control::placeholder {
    color: #98a0b6;
}

.form-control:focus,
.form-select:focus {
    border-color: rgba(242, 203, 150, 0.95);
    box-shadow: 0 0 0 4px rgba(255, 232, 204, 0.7);
}

.btn {
    font-weight: 600;
    box-shadow: none;
}

.btn-sm {
    min-height: 40px;
    border-radius: 14px;
}

.btn-outline-primary {
    --bs-btn-bg: rgba(255, 255, 255, 0.9);
    --bs-btn-hover-color: var(--ticketshop-primary, var(--performio-blue));
}

.table-responsive,
.permission-matrix,
.planning-prikker-table-wrap {
    border-radius: var(--performio-radius-md);
}

.table {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: rgba(248, 249, 251, 0.88);
    --bs-table-hover-bg: rgba(255, 248, 239, 0.82);
    margin-bottom: 0;
}

.table thead th {
    padding: 16px 18px;
    border-bottom-color: var(--performio-border-soft);
    color: #8a91a8;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    background: rgba(255, 255, 255, 0.7);
}

.table tbody td {
    padding: 16px 18px;
    vertical-align: middle;
    border-top-color: var(--performio-border-soft);
}

.table tbody tr {
    transition: background-color 0.18s ease;
}

.table tbody tr:hover {
    background: rgba(255, 248, 239, 0.72);
}

.badge,
.ticket-genre-pill,
.seat-map-object span,
.planning-prikker-response-pill,
.planning-prikker-signup-state,
.status-pill {
    border-radius: 999px;
}

.pagination {
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.pagination .page-link {
    min-width: 40px;
    min-height: 40px;
    border-radius: 14px;
    border-color: transparent;
    color: #7b8195;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pagination .active .page-link,
.pagination .page-link:hover {
    color: #b67213;
    background: rgba(255, 244, 232, 0.94);
    border-color: rgba(242, 203, 150, 0.9);
}

@media (max-width: 991px) {
    .test-environment-banner {
        height: 8px;
        font-size: 0.58rem;
    }

    body.app-shell.test-environment .sidebar,
    body.app-shell.test-environment .topbar {
        margin-top: 8px;
    }

    body.app-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .app-shell .sidebar {
        width: min(320px, calc(100vw - 18px));
        min-height: 100dvh;
        height: 100dvh;
        padding: 16px 12px calc(24px + env(safe-area-inset-bottom, 0px));
        border-right: 1px solid var(--performio-border-soft);
        border-radius: 0 24px 24px 0;
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 22px 48px rgba(11, 31, 58, 0.14);
    }

    .app-shell .sidebar .brand {
        gap: 12px;
        justify-content: flex-start;
    }

    .app-shell .brand-logo {
        max-height: 180px;
    }

    .app-shell .sidebar .brand-copy,
    .app-shell .sidebar-context,
    .app-shell .sidebar .nav-link span,
    .app-shell .sidebar .sidebar-close,
    .app-shell .sidebar .sidebar-profile-link strong,
    .app-shell .sidebar .sidebar-profile-link small,
    .app-shell .sidebar .sidebar-logout-inline {
        display: initial;
    }

    .app-shell .sidebar .brand-copy,
    .sidebar-user-meta {
        display: grid;
    }

    .app-shell .sidebar-context {
        margin: 6px 0 2px;
        padding: 0 4px;
        font-size: 0.76rem;
        line-height: 1.2;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .app-shell .sidebar-context span {
        color: #9198af;
        font-size: 0.72rem;
        margin-bottom: 0;
        display: inline;
    }

    .app-shell .sidebar-context strong {
        color: var(--performio-text-strong);
        font-size: 0.78rem;
        line-height: 1.2;
        display: inline;
        margin-left: 4px;
    }

    .app-shell .sidebar-header {
        justify-content: space-between;
    }

    .app-shell .sidebar-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        padding: 0 12px;
        border: 1px solid var(--performio-border-soft);
        color: #7d849a;
        background: #fff;
    }

    .app-shell .sidebar-nav-compact {
        align-items: stretch;
        gap: 10px;
    }

    .sidebar-nav-group {
        justify-items: stretch;
    }

    .app-shell .sidebar-nav-compact .nav-link,
    .app-shell .sidebar-help-link {
        width: 100%;
        min-height: 0;
        padding: 14px 16px;
        justify-content: flex-start;
        gap: 14px;
        border-radius: 16px;
        border: 1px solid transparent;
        background: transparent;
        color: #353b52;
        transform: none;
    }

    .app-shell .sidebar-nav-compact .nav-link i,
    .app-shell .sidebar-help-link i {
        width: 18px;
        color: #8d93a9;
        text-align: center;
    }

    .app-shell .sidebar-nav-compact .nav-link.active,
    .app-shell .sidebar-nav-compact .nav-link:hover,
    .app-shell .sidebar-help-link.active,
    .app-shell .sidebar-help-link:hover {
        color: #93621d;
        background: transparent;
        border-color: transparent;
    }

    .sidebar-subnav {
        padding-left: 18px;
    }

    .sidebar-subnav[hidden] {
        display: grid !important;
    }

    .sidebar-nav-group.is-active .sidebar-subnav-link,
    .sidebar-subnav-link {
        display: inline-flex;
    }

    .sidebar-subnav-link {
        min-height: 36px;
        padding: 0 14px 0 28px;
        border-radius: 14px;
        background: transparent;
        border-color: transparent;
    }

    .app-shell .sidebar-user-card {
        margin-top: 10px;
        justify-items: stretch;
        gap: 10px;
    }

    .app-shell .sidebar-profile-link {
        justify-content: flex-start;
        gap: 12px;
    }

    .sidebar-user-meta small {
        color: var(--performio-text-muted);
    }

    .app-shell .sidebar-logout-inline {
        display: block;
    }

    .app-shell .sidebar-logout-inline .btn {
        width: 100%;
        border-color: var(--performio-border-soft);
        color: var(--performio-text-strong);
    }

    .app-shell .topbar {
        padding: 16px 18px;
    }

    .topbar-kicker,
    .topbar-title-block p,
    .topbar-help-button,
    .topbar-tenant-pill,
    .topbar-profile-text {
        display: none;
    }

    .app-shell .topbar h1 {
        font-size: 1.95rem;
    }

    .topbar-profile-chip {
        padding: 0;
        min-width: 44px;
        min-height: 44px;
        justify-content: center;
    }

    .app-shell .content {
        padding: 18px 16px 28px;
    }

    .panel,
    .metric-card {
        padding: 16px;
    }

    .table-responsive {
        overflow-x: auto;
        background: rgba(255, 255, 255, 0.96);
    }
}

.showcare-shell {
    display: grid;
    gap: 18px;
}

.showcare-header h2 {
    margin: 0;
    font-size: clamp(2rem, 3.2vw, 2.95rem);
    line-height: 1.04;
    letter-spacing: -0.04em;
}

.showcare-header p {
    margin: 10px 0 0;
    max-width: 72ch;
    color: #8790a8;
    font-size: 1.02rem;
}

.showcare-tabs,
.showcare-toolbar,
.showcare-table-wrap,
.showcare-detail-card {
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid var(--performio-border-soft);
    border-radius: 22px;
    box-shadow: var(--performio-shadow-soft);
}

.showcare-tabs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding: 8px;
}

.showcare-tab {
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: 16px;
    background: transparent;
    color: #8790a8;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.showcare-tab strong {
    min-width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: #f1f4fa;
    color: #8a92ab;
    font-size: 0.85rem;
}

.showcare-tab.is-active {
    color: #b67213;
    background: rgba(255, 244, 232, 0.92);
    border-color: rgba(242, 203, 150, 0.95);
}

.showcare-toolbar {
    padding: 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
}

.showcare-search {
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid var(--performio-border-soft);
    border-radius: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #98a0b6;
    background: #fff;
}

.showcare-search input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--performio-text-strong);
    font-size: 1rem;
}

.showcare-filter-button {
    min-width: 126px;
    min-height: 52px;
    border: 1px solid rgba(242, 203, 150, 0.95);
    border-radius: 16px;
    background: rgba(255, 248, 239, 0.92);
    color: #b67213;
    font-weight: 700;
}

.showcare-filter-button-compact {
    min-width: auto;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 10px;
    gap: 8px;
}

.producer-detail-shell {
    display: grid;
    gap: 14px;
}

.producer-section-heading {
    padding-top: 4px;
}

.producer-section-heading h3 {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--performio-text-strong);
}

.producer-contact-list {
    display: grid;
    gap: 12px;
}

.producer-contact-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    padding: 16px 18px;
    border: 1px solid rgba(230, 233, 237, 0.86);
    border-radius: 18px;
    background: #fff;
}

.producer-contact-card-main {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.producer-contact-card-head {
    display: grid;
    gap: 2px;
}

.producer-contact-card-head strong {
    font-size: 1rem;
    color: var(--performio-text-strong);
}

.producer-contact-card-head span {
    color: #8a92ab;
}

.producer-contact-facts {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
}

.producer-contact-facts div {
    min-width: 0;
}

.producer-contact-facts dt {
    margin: 0 0 4px;
    color: #8a92ab;
    font-size: 0.78rem;
    font-weight: 700;
}

.producer-contact-facts dd {
    margin: 0;
    color: var(--performio-text-strong);
    overflow-wrap: anywhere;
}

.producer-contact-card-actions {
    display: flex;
    align-items: flex-start;
}

.showcare-filter-button.is-open i {
    transform: rotate(180deg);
}

.showcare-filter-button i {
    transition: transform 0.2s ease;
}

.showcare-filter-panel {
    padding: 16px 18px 18px;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid var(--performio-border-soft);
    border-radius: 22px;
    box-shadow: var(--performio-shadow-soft);
}

.showcare-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.showcare-filter-field {
    display: grid;
    gap: 8px;
}

.showcare-filter-field span {
    color: #8a92ab;
    font-size: 0.82rem;
    font-weight: 700;
}

.showcare-filter-actions {
    margin-top: 14px;
    display: flex;
    justify-content: flex-end;
}

.showcare-table-wrap {
    overflow: hidden;
}

.showcare-table {
    width: 100%;
    border-collapse: collapse;
}

.showcare-table thead th {
    padding: 18px 20px;
    border-bottom: 1px solid var(--performio-border-soft);
    color: #97a0b8;
    font-size: 0.82rem;
    font-weight: 700;
    text-align: left;
}

.showcare-table tbody td {
    padding: 16px 20px;
    border-top: 1px solid var(--performio-border-soft);
    vertical-align: middle;
}

.showcare-row {
    cursor: pointer;
    transition: background-color 0.18s ease, box-shadow 0.18s ease;
}

.showcare-row:hover,
.showcare-row.is-active {
    background: rgba(245, 247, 252, 0.98);
}

.showcare-row.is-active td:first-child {
    box-shadow: inset 3px 0 0 #7c72ff;
}

.showcare-row:focus-visible {
    outline: 2px solid rgba(124, 114, 255, 0.35);
    outline-offset: -2px;
}

.showcare-show {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.showcare-avatar {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: inline-block;
    flex: 0 0 auto;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
    background-color: var(--showcare-genre, #d9c3a0);
}

.showcare-avatar.has-image {
    background-image:
        linear-gradient(135deg, var(--showcare-genre, #d9c3a0) 0%, rgba(255, 255, 255, 0) 72%),
        var(--showcare-avatar-image);
}

.showcare-show strong,
.showcare-cell-stack strong {
    display: block;
    font-size: 0.98rem;
    line-height: 1.2;
}

.showcare-show span,
.showcare-cell-stack span {
    display: block;
    margin-top: 4px;
    color: #8a92ab;
}

.showcare-status {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.9rem;
}

.showcare-status.is-warning {
    background: rgba(255, 236, 204, 0.96);
    color: #bb7a15;
}

.showcare-status.is-positive {
    background: rgba(226, 246, 236, 0.98);
    color: #229a67;
}

.showcare-status.is-attention {
    background: rgba(255, 238, 212, 0.98);
    color: #cb8520;
}

.showcare-status.is-neutral {
    background: rgba(238, 242, 248, 0.98);
    color: #72809b;
}

.showcare-empty {
    padding: 28px 18px;
    text-align: center;
    color: #8a92ab;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid var(--performio-border-soft);
    border-radius: 22px;
    box-shadow: var(--performio-shadow-soft);
}

.showcare-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.showcare-page-nav,
.showcare-page-list button {
    min-height: 42px;
    border: 1px solid var(--performio-border-soft);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    color: #7d859b;
    font-weight: 600;
}

.showcare-page-nav:disabled {
    opacity: 0.45;
    cursor: default;
}

.showcare-page-nav {
    padding: 0 16px;
}

.showcare-page-list {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #9ca4b8;
}

.showcare-page-list button {
    min-width: 42px;
    padding: 0 10px;
}

.showcare-page-list button.is-active {
    border-color: rgba(242, 203, 150, 0.95);
    background: rgba(255, 244, 232, 0.94);
    color: #b67213;
}

.showcare-detail-drawer {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    justify-content: flex-end;
    padding: 20px;
    background: rgba(12, 17, 34, 0);
    pointer-events: none;
    transition: background-color 0.24s ease;
}

.showcare-detail-drawer.is-open {
    background: rgba(12, 17, 34, 0.18);
    pointer-events: auto;
}

.showcare-detail-card {
    width: min(820px, calc(100vw - 40px));
    height: calc(100vh - 40px);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    transform: translateX(108%);
    transition: transform 0.26s ease;
}

.showcare-detail-drawer.is-open .showcare-detail-card {
    transform: translateX(0);
}

.showcare-detail-header {
    padding: 18px 20px;
    border-bottom: 1px solid var(--performio-border-soft);
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.showcare-detail-kicker {
    display: block;
    color: #98a0b6;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
}

.showcare-detail-header h3 {
    margin: 0;
    font-size: 1.35rem;
}

.showcare-detail-close {
    width: 42px;
    height: 42px;
    border: 1px solid var(--performio-border-soft);
    border-radius: 14px;
    background: #fff;
    color: #79829a;
}

.showcare-detail-body {
    min-height: 0;
    position: relative;
    overflow: auto;
    background: #fff;
}

.showcare-detail-loading {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 12px 18px;
    border-bottom: 1px solid var(--performio-border-soft);
    background: rgba(255, 255, 255, 0.94);
    color: #8a92ab;
    font-weight: 600;
}

.showcare-detail-content {
    min-height: 100%;
}

.showcare-detail-inner {
    padding: 22px;
}

.showcare-detail-inner .topbar,
.showcare-detail-inner .sidebar,
.showcare-detail-inner .sidebar-backdrop,
.showcare-detail-inner script {
    display: none !important;
}

.showcare-detail-inner .content {
    padding: 0 !important;
}

.showcare-detail-placeholder {
    min-height: 100%;
    padding: 36px 28px;
    display: grid;
    place-content: center;
    gap: 8px;
    text-align: center;
    color: #8891a8;
}

.showcare-detail-placeholder strong {
    color: var(--performio-text-strong);
    font-size: 1.05rem;
}

.showcare-detail-placeholder.is-error {
    justify-items: center;
}

body.showcare-detail-open {
    overflow: hidden;
}

.show-detail-shell {
    display: grid;
    gap: 18px;
}

.show-detail-hero,
.show-detail-section,
.show-detail-summary-card,
.show-detail-tabs {
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid var(--performio-border-soft);
    border-radius: 22px;
    box-shadow: var(--performio-shadow-soft);
}

.show-detail-hero {
    padding: 22px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: start;
}

.show-detail-hero-main h2 {
    margin: 6px 0 8px;
    font-size: clamp(1.6rem, 2vw, 2.15rem);
    line-height: 1.06;
    letter-spacing: -0.04em;
}

.show-detail-hero-main p {
    margin: 0;
    color: #8a92ab;
}

.show-detail-eyebrow {
    display: inline-block;
    color: #98a0b6;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.show-detail-hero-actions,
.show-detail-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.show-detail-hero-actions {
    justify-content: flex-end;
    align-items: flex-start;
}

.show-detail-action-button {
    min-width: 42px;
    min-height: 42px;
    padding: 0;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
}

.show-detail-action-button i {
    font-size: 0.95rem;
}

.show-detail-action-button.is-danger {
    border-color: rgba(220, 53, 69, 0.35);
}

.show-detail-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.show-detail-summary-card {
    padding: 18px 20px;
    display: grid;
    gap: 6px;
}

.show-detail-summary-card > span,
.show-detail-summary-card small {
    color: #8a92ab;
}

.show-detail-summary-card strong {
    font-size: 1rem;
    line-height: 1.28;
}

.show-detail-tabs {
    padding: 12px;
    display: grid;
    gap: 14px;
}

.show-detail-tablist {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-bottom: 4px;
}

.show-detail-tab {
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: #7d859b;
    font-weight: 700;
}

.show-detail-tab.is-active,
.show-detail-tab:hover {
    color: #b67213;
    background: rgba(255, 244, 232, 0.94);
    border-color: rgba(242, 203, 150, 0.9);
}

.show-detail-pane {
    display: none;
}

.show-detail-pane.is-active {
    display: grid;
    gap: 14px;
}

.show-detail-section-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.show-detail-section {
    padding: 20px;
    display: grid;
    gap: 16px;
}

.show-detail-section header {
    display: grid;
    gap: 4px;
}

.show-detail-section h3 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
}

.show-detail-section header p {
    margin: 0;
    color: #8a92ab;
    font-size: 0.92rem;
}

.show-detail-facts {
    margin: 0;
    display: grid;
    gap: 14px;
}

.show-detail-facts div {
    display: grid;
    gap: 4px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(230, 233, 237, 0.8);
}

.show-detail-facts div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.show-detail-facts dt {
    color: #8a92ab;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.show-detail-facts dd {
    margin: 0;
    line-height: 1.5;
}

.show-detail-note {
    color: var(--performio-text-strong);
    line-height: 1.65;
}

.show-detail-admin-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}

.show-detail-service-list {
    display: grid;
    gap: 12px;
}

.show-detail-service-card {
    padding: 14px 16px;
    border: 1px solid rgba(230, 233, 237, 0.82);
    border-radius: 18px;
    background: #f9fafc;
    display: grid;
    gap: 4px;
}

.show-detail-service-card span,
.show-detail-service-card small {
    color: #8a92ab;
}

.dashboard-shell {
    display: grid;
    gap: 18px;
}

.dashboard-hero-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
    gap: 18px;
}

.dashboard-brand-card,
.dashboard-status-card,
.dashboard-panel {
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid var(--performio-border-soft);
    border-radius: 24px;
    box-shadow: var(--performio-shadow-soft);
}

.dashboard-next-show-card {
    padding: 24px;
    display: grid;
    gap: 18px;
}

.dashboard-next-show-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 0;
}

.dashboard-next-show-body {
    display: grid;
    gap: 8px;
}

.dashboard-next-show-artist {
    margin: 0;
    color: #8a92ab;
    font-weight: 700;
}

.dashboard-next-show-body h2 {
    margin: 0;
    font-size: clamp(1.7rem, 2vw, 2.25rem);
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.dashboard-next-show-datetime {
    margin: 0;
    color: var(--performio-text-strong);
    font-weight: 600;
}

.dashboard-next-show-note {
    margin: 4px 0 0;
    color: #8a92ab;
    font-size: 0.92rem;
}

.dashboard-next-show-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.dashboard-quick-button {
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid rgba(230, 233, 237, 0.96);
    border-radius: 12px;
    background: #fff;
    color: var(--performio-text-strong);
    text-decoration: none;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.1;
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.dashboard-quick-button:hover,
.dashboard-quick-button:focus-visible {
    border-color: rgba(242, 203, 150, 0.9);
    background: rgba(255, 244, 232, 0.92);
    color: #b67213;
    transform: translateY(-1px);
}

.dashboard-brand-card {
    padding: 24px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}

.dashboard-brand-mark {
    min-width: 84px;
    min-height: 84px;
    display: grid;
    place-items: center;
    overflow: hidden;
}

.dashboard-brand-mark img {
    max-width: 140px;
    max-height: 88px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.dashboard-brand-mark span {
    font-size: 2rem;
    font-weight: 800;
    color: #c07d1f;
}

.dashboard-brand-copy h2 {
    margin: 6px 0 8px;
    font-size: clamp(1.7rem, 2vw, 2.35rem);
    line-height: 1.06;
    letter-spacing: -0.04em;
}

.dashboard-brand-copy p {
    margin: 0;
    color: #8a92ab;
}

.dashboard-eyebrow {
    display: inline-block;
    color: #98a0b6;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.dashboard-status-card {
    padding: 20px 22px;
}

.dashboard-status-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.dashboard-status-pill {
    min-height: 108px;
    padding: 16px;
    border: 1px solid rgba(230, 233, 237, 0.86);
    border-radius: 18px;
    background: #f9fafc;
    display: grid;
    align-content: space-between;
    gap: 10px;
}

.dashboard-status-pill span {
    color: #8a92ab;
    font-weight: 600;
}

.dashboard-status-pill strong {
    font-size: 1.9rem;
    line-height: 1;
}

.dashboard-main-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.dashboard-panel {
    padding: 22px;
}

.dashboard-link-button {
    width: 42px;
    height: 42px;
    border: 1px solid var(--performio-border-soft);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.94);
    color: #7d859b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.dashboard-link-button:hover,
.dashboard-link-button:focus-visible {
    border-color: rgba(242, 203, 150, 0.9);
    background: rgba(255, 244, 232, 0.92);
    color: #b67213;
    transform: translateY(-1px);
}

.dashboard-list {
    display: grid;
    gap: 12px;
}

.dashboard-list-item {
    padding: 16px 18px;
    border: 1px solid rgba(230, 233, 237, 0.86);
    border-radius: 18px;
    background: #f9fafc;
    color: inherit;
    text-decoration: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.dashboard-list-item:hover {
    border-color: rgba(242, 203, 150, 0.9);
    background: rgba(255, 248, 239, 0.88);
    transform: translateY(-1px);
}

.dashboard-list-item strong {
    display: block;
    font-size: 1rem;
}

.dashboard-list-item span {
    display: block;
    margin-top: 4px;
    color: #8a92ab;
}

.dashboard-list-meta,
.dashboard-badge-row {
    display: grid;
    justify-items: end;
    gap: 6px;
}

.dashboard-empty-state {
    padding: 22px;
    border: 1px dashed rgba(230, 233, 237, 0.92);
    border-radius: 18px;
    color: #8a92ab;
    background: #fafbfd;
}

.dashboard-chart {
    min-height: 280px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
    gap: 14px;
    align-items: end;
}

.dashboard-chart-item {
    min-width: 0;
    display: grid;
    gap: 10px;
    justify-items: center;
}

.dashboard-chart-value {
    font-weight: 700;
    color: var(--performio-text-strong);
}

.dashboard-chart-bar-wrap {
    width: 100%;
    height: 160px;
    border-radius: 18px;
    background: linear-gradient(180deg, #f6f8fb 0%, #eef2f7 100%);
    display: flex;
    align-items: flex-end;
    padding: 10px;
}

.dashboard-chart-bar {
    width: 100%;
    border-radius: 12px;
    background: linear-gradient(180deg, #f1be73 0%, #dc9652 100%);
    box-shadow: 0 10px 18px rgba(220, 150, 82, 0.18);
}

.dashboard-chart-label {
    color: var(--performio-text-strong);
    font-size: 0.86rem;
    font-weight: 700;
    text-align: center;
}

.dashboard-chart-subtitle {
    color: #8a92ab;
    font-size: 0.78rem;
    text-align: center;
    line-height: 1.35;
}

.planning-hub {
    display: grid;
    gap: 18px;
}

.planning-view-pane {
    display: none;
}

.planning-view-pane.is-active {
    display: block;
}

.planning-toolbar {
    grid-template-columns: minmax(0, 1fr);
}

.planning-show-table tbody td:first-child {
    min-width: 240px;
}

.planning-calendar-card {
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid var(--performio-border-soft);
    border-radius: 22px;
    box-shadow: var(--performio-shadow-soft);
    padding: 18px;
    display: grid;
    gap: 16px;
}

.planning-calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.planning-calendar-header h2 {
    margin: 0;
    font-size: 1.1rem;
}

.planning-calendar-header span {
    color: #8a92ab;
    font-weight: 600;
}

.planning-calendar-nav {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.planning-month-cell {
    min-width: 0;
    border: 1px solid rgba(230, 233, 237, 0.86);
    border-radius: 18px;
    background: #fbfcfe;
    padding: 14px;
    display: grid;
    gap: 12px;
}

.planning-calendar-day-head,
.planning-month-cell-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.planning-calendar-day-head strong,
.planning-month-cell-head {
    color: var(--performio-text-strong);
}

.planning-calendar-day-head span {
    color: #8a92ab;
}

.planning-week-calendar {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.planning-week-time-rail {
    display: grid;
    grid-template-rows: 46px repeat(16, minmax(56px, 1fr));
    gap: 0;
}

.planning-week-corner {
    border-bottom: 1px solid rgba(230, 233, 237, 0.86);
}

.planning-week-hour {
    color: #8a92ab;
    font-size: 0.8rem;
    padding-top: 6px;
    border-top: 1px solid rgba(230, 233, 237, 0.62);
}

.planning-week-columns {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 12px;
}

.planning-week-column {
    min-width: 0;
    display: grid;
    grid-template-rows: 46px minmax(0, 1fr);
    gap: 0;
}

.planning-week-day-grid {
    position: relative;
    min-height: 896px;
    border: 1px solid rgba(230, 233, 237, 0.86);
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(230, 233, 237, 0.75) 1px, transparent 1px) 0 0 / 100% calc(100% / 16),
        #fbfcfe;
    overflow: hidden;
}

.planning-week-slot {
    display: none;
}

.planning-week-event {
    position: absolute;
    left: 10px;
    right: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(242, 203, 150, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
    text-align: left;
    display: grid;
    align-content: start;
    gap: 4px;
    box-shadow: 0 8px 18px rgba(191, 125, 31, 0.08);
}

.planning-week-event strong {
    font-size: 0.86rem;
    line-height: 1.2;
}

.planning-week-event span,
.planning-week-empty {
    color: #8a92ab;
    font-size: 0.76rem;
    line-height: 1.3;
}

.planning-week-empty {
    position: absolute;
    left: 12px;
    right: 12px;
    top: 14px;
}

.planning-calendar-day-body,
.planning-month-cell-body {
    display: grid;
    gap: 8px;
    align-content: start;
}

.planning-calendar-item {
    width: 100%;
    padding: 12px;
    border: 1px solid rgba(230, 233, 237, 0.92);
    border-radius: 16px;
    background: #fff;
    text-align: left;
    display: grid;
    gap: 4px;
    transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.planning-calendar-item:hover,
.planning-calendar-item:focus-visible {
    border-color: rgba(242, 203, 150, 0.92);
    background: rgba(255, 248, 239, 0.92);
    transform: translateY(-1px);
}

.planning-calendar-item strong {
    font-size: 0.92rem;
    line-height: 1.25;
}

.planning-calendar-accent {
    display: block;
    width: 100%;
    height: 6px;
    border-radius: 999px;
    margin-top: 2px;
}

.planning-calendar-item span,
.planning-month-more,
.planning-calendar-empty {
    color: #8a92ab;
    font-size: 0.8rem;
}

.planning-calendar-item.is-compact {
    padding: 10px;
}

.planning-month-head,
.planning-month-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
}

.planning-month-head div {
    padding: 0 4px;
    color: #8a92ab;
    font-size: 0.82rem;
    font-weight: 700;
    text-align: center;
}

.planning-month-cell {
    min-height: 164px;
    align-content: start;
}

.planning-month-cell.is-outside {
    opacity: 0.48;
}

.planning-detail-shell {
    display: grid;
    gap: 16px;
}

.planning-detail-hero {
    padding: 20px;
    border: 1px solid var(--performio-border-soft);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: var(--performio-shadow-soft);
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
}

.planning-detail-artist,
.planning-detail-meta {
    margin: 0;
    color: #8a92ab;
}

.planning-detail-hero h2 {
    margin: 4px 0 8px;
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.planning-detail-tabs {
    padding: 12px;
}

.planning-detail-form,
.planning-detail-service-list,
.planning-detail-signup-list {
    display: grid;
    gap: 12px;
}

.planning-detail-inline-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.planning-detail-field {
    display: grid;
    gap: 8px;
}

.planning-detail-field span {
    color: #8a92ab;
    font-size: 0.82rem;
    font-weight: 700;
}

.planning-detail-service-card,
.planning-detail-signup-card {
    padding: 14px 16px;
    border: 1px solid rgba(230, 233, 237, 0.86);
    border-radius: 18px;
    background: #f9fafc;
    display: grid;
    gap: 6px;
}

.planning-detail-service-card span,
.planning-detail-service-card small,
.planning-detail-signup-card span {
    color: #8a92ab;
}

.planning-detail-service-assignees {
    display: grid;
    gap: 4px;
    padding-top: 6px;
    border-top: 1px solid rgba(230, 233, 237, 0.82);
}

.planning-detail-service-assignees strong {
    font-size: 0.8rem;
}

.planning-detail-assignee-list {
    margin: 0;
    padding-left: 18px;
    color: #8a92ab;
    display: grid;
    gap: 4px;
}

.planning-detail-assignee-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.planning-detail-assignee-list li span {
    flex: 1 1 auto;
}

.planning-detail-service-signups {
    display: grid;
    gap: 8px;
    padding-top: 6px;
    border-top: 1px solid rgba(230, 233, 237, 0.82);
}

.planning-detail-service-signups > strong {
    font-size: 0.8rem;
}

.planning-detail-signup-card.is-inline {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.planning-icon-action {
    min-width: 34px;
    min-height: 34px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.planning-manage-service-list .planning-detail-signup-card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.nav-hub-page {
    display: grid;
    gap: 22px;
}

.nav-hub-intro h2 {
    margin: 0;
    font-size: clamp(1.9rem, 3vw, 2.4rem);
    letter-spacing: -0.04em;
    color: var(--performio-navy);
}

.nav-hub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
}

.nav-hub-card {
    min-height: 168px;
    padding: 22px;
    border: 1px solid var(--performio-border-soft);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 38px rgba(16, 25, 48, 0.06);
    display: grid;
    align-content: space-between;
    gap: 18px;
    color: var(--performio-text-strong);
    text-decoration: none;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.nav-hub-card:hover,
.nav-hub-card:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(242, 203, 150, 0.95);
    box-shadow: 0 22px 44px rgba(16, 25, 48, 0.1);
    color: #93621d;
}

.nav-hub-card.is-disabled {
    opacity: 0.78;
    color: #7f879d;
    background: rgba(248, 249, 252, 0.96);
    box-shadow: none;
}

.nav-hub-card strong {
    font-size: 1.08rem;
    line-height: 1.35;
}

.nav-hub-card small {
    color: var(--performio-text-muted);
    font-size: 0.9rem;
}

.nav-hub-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 244, 232, 0.96);
    border: 1px solid rgba(242, 203, 150, 0.8);
    color: #c07d1f;
    font-size: 1rem;
}

.planning-detail-service-meta,
.planning-detail-signup-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

@media (max-width: 991px) {
    .showcare-toolbar {
        grid-template-columns: 1fr;
    }

    .showcare-filter-grid {
        grid-template-columns: 1fr;
    }

    .planning-week-calendar,
    .planning-week-columns,
    .planning-month-head,
    .planning-month-grid,
    .planning-detail-inline-fields {
        grid-template-columns: 1fr;
    }

    .planning-week-time-rail {
        display: none;
    }

    .planning-week-day-grid {
        min-height: 260px;
    }

    .planning-detail-hero {
        grid-template-columns: 1fr;
        display: grid;
    }

    .showcare-table thead {
        display: none;
    }

    .showcare-table,
    .showcare-table tbody,
    .showcare-table tr,
    .showcare-table td {
        display: block;
        width: 100%;
    }

    .showcare-table tbody td {
        padding: 0 14px;
        border-top: 0;
    }

    .showcare-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "show status"
            "program program"
            "genre genre";
        gap: 4px 12px;
        padding: 12px 0 14px;
        border-top: 1px solid var(--performio-border-soft);
    }

    .showcare-row:first-child {
        border-top: 0;
    }

    .showcare-table tbody td:nth-child(1) {
        grid-area: show;
        padding-top: 4px;
    }

    .showcare-table tbody td:nth-child(2) {
        grid-area: program;
    }

    .showcare-table tbody td:nth-child(3) {
        grid-area: genre;
    }

    .showcare-table tbody td:nth-child(4) {
        grid-area: status;
        padding-top: 4px;
        justify-self: end;
    }

    .showcare-show {
        align-items: flex-start;
        gap: 12px;
    }

    .showcare-table tbody td[data-label] {
        display: block;
    }

    .showcare-table tbody td[data-label]::before {
        content: none;
    }

    .showcare-avatar {
        width: 42px;
        height: 42px;
    }

    .showcare-show strong,
    .showcare-cell-stack strong {
        font-size: 0.94rem;
        line-height: 1.18;
    }

    .showcare-show span,
    .showcare-cell-stack span {
        margin-top: 3px;
        font-size: 0.82rem;
        line-height: 1.28;
    }

    .showcare-status {
        min-height: 30px;
        padding: 0 10px;
        font-size: 0.82rem;
    }

    .showcare-pagination {
        gap: 12px;
    }

    .showcare-page-nav {
        min-height: 42px;
        padding: 0 14px;
        border-radius: 14px;
        font-size: 0.92rem;
    }

    .showcare-page-list button {
        min-width: 40px;
        min-height: 40px;
    }

    .showcare-detail-drawer {
        padding: 10px;
        align-items: stretch;
    }

    .showcare-detail-card {
        height: calc(100vh - 20px);
        width: 100%;
    }

    .show-detail-summary-grid,
    .show-detail-section-grid,
    .show-detail-admin-form {
        grid-template-columns: 1fr;
    }

    .dashboard-hero-grid,
    .dashboard-status-grid {
        grid-template-columns: 1fr;
    }

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

    .dashboard-brand-card,
    .dashboard-list-item {
        grid-template-columns: 1fr;
    }

    .dashboard-list-meta,
    .dashboard-badge-row {
        justify-items: start;
    }

    .show-detail-hero {
        grid-template-columns: 1fr;
    }

    .show-detail-hero-actions {
        justify-content: flex-start;
    }
}

.platform-impersonation-banner {
    padding: 16px 18px;
}

.ticketing-index-actions .btn {
    min-height: 34px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.1;
}
.topbar-actions {
    gap: 14px;
}

.topbar-profile-chip {
    min-height: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    gap: 0;
}

.topbar-profile-chip:hover,
.topbar-profile-chip:focus-visible {
    background: transparent;
    box-shadow: none;
    color: var(--performio-navy);
}

.topbar-profile-text {
    align-items: flex-end;
    gap: 2px;
}

.topbar-profile-text strong {
    font-size: 0.98rem;
}

.topbar-profile-text small {
    color: var(--performio-muted);
}

.sidebar-user-card {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.sidebar-logout-inline {
    width: 100%;
    display: flex !important;
    justify-content: stretch;
}

.sidebar-logout-button {
    width: 100%;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 16px;
    gap: 14px;
    border-radius: 16px;
    border: 1px solid transparent;
    color: #7a819a;
    background: transparent;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.sidebar-logout-button:hover,
.sidebar-logout-button:focus-visible {
    background: rgba(255, 244, 232, 0.98);
    border-color: rgba(242, 203, 150, 0.9);
    color: #c07d1f;
    transform: translateY(-1px);
}

.sidebar-logout-button span {
    display: inline;
}

@media (max-width: 991.98px) {
    .topbar-profile-text {
        align-items: flex-start;
    }

    .sidebar-logout-button {
        width: 100%;
        min-height: 48px;
        justify-content: flex-start;
        padding: 0 16px;
        gap: 14px;
        border-radius: 16px;
        border: 1px solid var(--performio-border-soft);
        color: #353b52;
        background: rgba(255, 255, 255, 0.96);
        transform: none;
    }

    .sidebar-logout-button span {
        display: inline;
    }

    .sidebar-logout-inline {
        justify-content: stretch;
    }
}

.platform-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    background: transparent;
}

.platform-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    padding: 20px 16px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    background: rgba(255, 255, 255, 0.9);
    border-right: 1px solid var(--performio-border-soft);
    backdrop-filter: blur(16px);
}

.platform-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    color: var(--performio-text-strong);
}

.platform-brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-grid;
    place-items: center;
    background: linear-gradient(135deg, #f6b24f 0%, #efe7ff 100%);
    color: #fff;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(245, 130, 32, 0.18);
}

.platform-brand-copy {
    display: grid;
    gap: 2px;
}

.platform-brand-copy strong {
    font-size: 1.1rem;
}

.platform-brand-copy small {
    color: var(--performio-text-muted);
}

.platform-nav {
    display: grid;
    gap: 8px;
}

.platform-nav-link {
    min-height: 48px;
    padding: 0 14px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #667089;
    text-decoration: none;
    font-weight: 600;
    border: 1px solid transparent;
}

.platform-nav-link i {
    width: 18px;
    text-align: center;
    color: #8d93a9;
}

.platform-nav-link:hover,
.platform-nav-link.active {
    color: #b67213;
    background: rgba(255, 244, 232, 0.72);
    border-color: rgba(242, 203, 150, 0.85);
}

.platform-nav-link:hover i,
.platform-nav-link.active i {
    color: inherit;
}

.platform-sidebar-footer {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid var(--performio-border-soft);
    display: grid;
    gap: 14px;
}

.platform-user-meta {
    display: grid;
    gap: 2px;
}

.platform-user-meta strong {
    font-size: 0.98rem;
}

.platform-user-meta span {
    color: var(--performio-text-muted);
    font-size: 0.85rem;
    overflow-wrap: anywhere;
}

.platform-logout-button {
    min-height: 46px;
    padding: 0 14px;
    border-radius: 14px;
    border: 1px solid var(--performio-border-soft);
    background: #fff;
    color: #6c748b;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.platform-main {
    min-width: 0;
}

.platform-topbar {
    min-height: 96px;
    padding: 24px 30px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    background: rgba(255, 255, 255, 0.82);
    border-bottom: 1px solid rgba(230, 233, 237, 0.92);
    backdrop-filter: blur(16px);
}

.platform-topbar-heading {
    display: grid;
    gap: 6px;
}

.platform-topbar-kicker,
.platform-section-kicker,
.platform-summary-label {
    color: #98a0b6;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.platform-topbar h1 {
    margin: 0;
    font-size: clamp(1.9rem, 3vw, 2.7rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
}

.platform-topbar p,
.platform-section-head p,
.platform-form-card-head p {
    margin: 0;
    color: var(--performio-text-muted);
}

.platform-topbar-badge {
    min-height: 46px;
    padding: 0 16px;
    border: 1px solid var(--performio-border-soft);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.92);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #6c748b;
    font-weight: 700;
}

.platform-content {
    padding: 24px;
    display: grid;
    gap: 18px;
}

.platform-page-grid {
    display: grid;
    gap: 18px;
}

.platform-panel {
    padding: 24px;
}

.platform-section-head {
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.platform-section-head h2,
.platform-form-card-head h3 {
    margin: 4px 0 6px;
    font-size: 1.15rem;
    font-weight: 700;
}

.platform-section-head.is-compact {
    margin-bottom: 14px;
}

.platform-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.platform-summary-card,
.platform-form-card,
.platform-history-card {
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid var(--performio-border-soft);
    border-radius: 22px;
    box-shadow: var(--performio-shadow-soft);
}

.platform-summary-card {
    min-height: 132px;
    padding: 18px 20px;
    display: grid;
    align-content: space-between;
    gap: 8px;
}

.platform-summary-card strong {
    font-size: clamp(1.7rem, 2.2vw, 2.2rem);
    line-height: 1;
    letter-spacing: -0.04em;
}

.platform-summary-card small {
    color: var(--performio-text-muted);
}

.platform-card-grid {
    display: grid;
    grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
    gap: 18px;
}

.platform-card-grid-updates {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.platform-form-card {
    padding: 20px;
    display: grid;
    gap: 16px;
}

.platform-form-card.is-wide {
    grid-column: 1 / -1;
}

.platform-form-card-head {
    display: grid;
    gap: 4px;
}

.platform-table-wrap {
    border-radius: 22px;
}

.platform-table tbody td {
    vertical-align: middle;
}

.platform-cell-stack {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.platform-cell-stack strong,
.platform-cell-stack code {
    overflow-wrap: anywhere;
}

.platform-cell-stack span {
    color: #8a92ab;
}

.platform-action-group,
.platform-admin-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.platform-icon-button {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    border: 1px solid var(--performio-border-soft);
    background: #fff;
    color: #6c748b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: none;
}

.platform-icon-button:hover,
.platform-icon-button:focus-visible {
    color: #b67213;
    border-color: rgba(242, 203, 150, 0.95);
    background: rgba(255, 244, 232, 0.94);
}

.platform-icon-button.is-danger:hover,
.platform-icon-button.is-danger:focus-visible {
    color: #b93838;
    border-color: rgba(232, 153, 153, 0.9);
    background: rgba(255, 243, 243, 0.98);
}

.platform-icon-button.is-warning:hover,
.platform-icon-button.is-warning:focus-visible {
    color: #c27b11;
}

.platform-inline-details {
    position: relative;
}

.platform-inline-details summary {
    list-style: none;
    cursor: pointer;
}

.platform-inline-details summary::-webkit-details-marker {
    display: none;
}

.platform-inline-panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(320px, calc(100vw - 48px));
    padding: 16px;
    border: 1px solid var(--performio-border-soft);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(11, 31, 58, 0.12);
    z-index: 5;
}

.platform-note-panel {
    box-shadow: none;
}

.platform-note-list {
    display: grid;
    gap: 10px;
}

.platform-note-list.compact {
    gap: 6px;
}

.platform-note-list p {
    margin: 0;
    color: var(--performio-text-muted);
}

.platform-history-list {
    display: grid;
    gap: 14px;
}

.platform-history-card {
    padding: 18px 20px;
    display: grid;
    gap: 16px;
}

.platform-history-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.platform-history-meta {
    display: grid;
    gap: 4px;
    color: var(--performio-text-muted);
    font-size: 0.88rem;
    text-align: right;
}

@media (max-width: 1199px) {
    .platform-summary-grid,
    .platform-card-grid-updates {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .platform-shell {
        grid-template-columns: 1fr;
    }

    .platform-sidebar {
        position: static;
        height: auto;
    }

    .platform-topbar,
    .platform-section-head,
    .platform-history-card-head {
        flex-direction: column;
    }

    .platform-content {
        padding: 18px 16px 28px;
    }

    .platform-summary-grid,
    .platform-card-grid,
    .platform-card-grid-updates {
        grid-template-columns: 1fr;
    }

    .platform-history-meta {
        text-align: left;
    }
}

.ticketing-shell,
.ticketing-detail-shell {
    display: grid;
    gap: 18px;
}

.ticketing-summary-grid,
.planning-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ticketing-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.ticketing-detail-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ticketing-sales-table tbody td,
.ticketing-table tbody td {
    vertical-align: middle;
}

.ticketing-table .showcare-status {
    width: fit-content;
}

.nav-hub-intro {
    display: grid;
    gap: 6px;
}

.nav-hub-intro p {
    margin: 0;
    max-width: 62ch;
    color: var(--performio-text-muted);
}

.nav-hub-copy {
    display: grid;
    gap: 6px;
}

.nav-hub-copy small {
    margin: 0;
}

@media (max-width: 991px) {
    .ticketing-summary-grid,
    .planning-summary-grid,
    .ticketing-detail-metrics {
        grid-template-columns: 1fr;
    }

    .ticketing-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "show actions"
            "planning planning"
            "status status"
            "tickets revenue";
        gap: 6px 12px;
        padding: 12px 0 14px;
        border-top: 1px solid var(--performio-border-soft);
    }

    .ticketing-table tbody td:nth-child(1) {
        grid-area: show;
        padding-top: 4px;
    }

    .ticketing-table tbody td:nth-child(2) {
        grid-area: planning;
    }

    .ticketing-table tbody td:nth-child(3) {
        grid-area: status;
    }

    .ticketing-table tbody td:nth-child(4) {
        grid-area: tickets;
    }

    .ticketing-table tbody td:nth-child(5) {
        grid-area: revenue;
    }

    .ticketing-table tbody td:nth-child(6) {
        grid-area: actions;
        justify-self: end;
        padding-top: 4px;
    }

    .ticketing-row-actions {
        gap: 6px;
    }

    .ticketing-sales-table thead {
        display: none;
    }

    .ticketing-sales-table,
    .ticketing-sales-table tbody,
    .ticketing-sales-table tr,
    .ticketing-sales-table td {
        display: block;
        width: 100%;
    }

    .ticketing-sales-table tr {
        padding: 12px 0 14px;
        border-top: 1px solid var(--performio-border-soft);
    }

    .ticketing-sales-table tr:first-child {
        border-top: 0;
    }

    .ticketing-sales-table tbody td {
        padding: 0 14px;
        border-top: 0;
    }
}

.finance-shell,
.finance-detail-shell,
.basisbeheer-shell,
.basisbeheer-form-shell,
.theater-settings-shell {
    display: grid;
    gap: 18px;
}

.finance-head {
    margin-bottom: 0;
}

.finance-module-card {
    display: grid;
    gap: 16px;
}

.finance-module-actions {
    justify-content: space-between;
    align-items: center;
}

.theater-settings-section {
    background: rgba(255, 255, 255, 0.98);
}

.theater-settings-upload-card {
    padding: 16px 18px;
    border: 1px solid rgba(230, 233, 237, 0.86);
    border-radius: 18px;
    background: #fbfcfe;
    display: grid;
    gap: 10px;
    height: 100%;
}

.theater-settings-preview {
    padding: 12px;
    border: 1px solid rgba(230, 233, 237, 0.86);
    border-radius: 16px;
    background: #fff;
}

.theater-settings-preview img {
    max-width: 220px;
    max-height: 90px;
    object-fit: contain;
    display: block;
}

.theater-settings-preview.is-hero img {
    width: min(100%, 520px);
    max-width: 100%;
    max-height: 180px;
    object-fit: cover;
    border-radius: 10px;
}

.theater-settings-submit-row {
    display: flex;
    justify-content: flex-end;
    padding-top: 8px;
}

.basisbeheer-tabs {
    margin-top: -2px;
}

.basisbeheer-form-grid {
    padding: 22px;
}

.basisbeheer-table .status-dot {
    margin-right: 8px;
}

@media (max-width: 991px) {
    .finance-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "show actions"
            "program program"
            "producer producer"
            "cash borderel";
        gap: 6px 12px;
        padding: 12px 0 14px;
        border-top: 1px solid var(--performio-border-soft);
    }

    .finance-table tbody td:nth-child(1) {
        grid-area: show;
        padding-top: 4px;
    }

    .finance-table tbody td:nth-child(2) {
        grid-area: program;
    }

    .finance-table tbody td:nth-child(3) {
        grid-area: producer;
    }

    .finance-table tbody td:nth-child(4) {
        grid-area: cash;
    }

    .finance-table tbody td:nth-child(5) {
        grid-area: borderel;
    }

    .finance-table tbody td:nth-child(6) {
        grid-area: actions;
        justify-self: end;
        padding-top: 4px;
    }
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.brand-copy {
    display: grid;
    gap: 1px;
}

.brand-copy strong {
    font-size: 1.55rem;
    line-height: 1;
    color: var(--performio-navy);
}

.brand-copy small {
    color: #8a92ab;
    font-size: 0.78rem;
    font-weight: 600;
}

.topbar-modern {
    display: grid;
    grid-template-columns: auto minmax(0, 520px) auto;
    align-items: center;
    gap: 20px;
}

.topbar-search-shell {
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid var(--performio-border-soft);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    display: inline-flex;
    align-items: center;
    gap: 12px;
    justify-self: center;
    width: min(100%, 520px);
    color: #98a0b6;
}

.topbar-search-shell input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--performio-text-strong);
    font-size: 0.96rem;
}

.topbar-search-shortcut {
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    border-radius: 7px;
    background: #f4f6fb;
    color: #8a92ab;
    display: inline-grid;
    place-items: center;
    font-size: 0.72rem;
    font-weight: 700;
}

.topbar-icon-button {
    width: 42px;
    height: 42px;
    border: 1px solid var(--performio-border-soft);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    color: #5d667d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.topbar-icon-badge {
    position: absolute;
    top: 6px;
    right: 6px;
    min-width: 14px;
    height: 14px;
    padding: 0 3px;
    border-radius: 999px;
    background: #d18b1f;
    color: #fff;
    display: inline-grid;
    place-items: center;
    font-size: 0.62rem;
    font-weight: 700;
}

.topbar-profile-caret {
    color: #7c8498;
    font-size: 0.85rem;
}

.showcare-page-shell {
    gap: 16px;
}

.showcare-page-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.showcare-page-head h2 {
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.6rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
}

.showcare-page-head p {
    margin: 10px 0 0;
    max-width: 70ch;
    color: #8790a8;
}

.showcare-add-button {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: linear-gradient(135deg, #f09c23 0%, #d88210 100%);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 12px 20px rgba(216, 130, 16, 0.18);
}

.showcare-split-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.9fr) minmax(360px, 0.95fr);
    gap: 18px;
    align-items: start;
}

.showcare-list-column {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.showcare-toolbar-rich {
    grid-template-columns: minmax(0, 1fr) auto;
}

.showcare-toolbar-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.showcare-filter-button.is-muted {
    min-width: auto;
    border-color: var(--performio-border-soft);
    background: #fff;
    color: #55607a;
}

.showcare-table-rich thead th:nth-child(1) { width: 25%; }
.showcare-table-rich thead th:nth-child(6) { width: 16%; }
.showcare-table-rich thead th:nth-child(7) { width: 12%; }

.showcare-detail-inline {
    position: sticky;
    top: 104px;
    inset: auto;
    z-index: 3;
    display: block;
    padding: 0;
    background: transparent;
    pointer-events: auto;
}

.showcare-detail-inline .showcare-detail-card {
    width: 100%;
    height: auto;
    min-height: calc(100vh - 132px);
    transform: none;
}

.showcare-detail-inline .showcare-detail-header {
    padding: 18px 20px 12px;
}

.showcare-detail-inline .showcare-detail-close {
    display: none;
}

.showcare-detail-inline .showcare-detail-content {
    min-height: auto;
}

.showcare-detail-inline .showcare-detail-inner {
    padding: 0 20px 20px;
}

.show-detail-shell {
    gap: 14px;
}

.show-detail-hero,
.show-detail-tabs,
.show-detail-section {
    border-radius: 18px;
}

.show-detail-hero {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    grid-template-columns: minmax(0, 1fr) auto;
}

.show-detail-hero-main h2 {
    margin: 2px 0 0;
    font-size: clamp(1.55rem, 2.1vw, 2rem);
}

.show-detail-hero-main p {
    margin-top: 8px;
    line-height: 1.4;
}

.show-detail-hero-actions {
    gap: 8px;
}

.show-detail-tabs {
    padding: 0;
    overflow: hidden;
}

.show-detail-tablist {
    padding: 16px 18px 0;
    border-bottom: 1px solid var(--performio-border-soft);
}

.show-detail-tab {
    border-radius: 0;
    min-height: 44px;
    padding: 0 6px 12px;
    border-bottom: 2px solid transparent;
}

.show-detail-tab.is-active,
.show-detail-tab:hover {
    background: transparent;
    border-color: transparent transparent #e18a28 transparent;
}

.show-detail-pane {
    padding: 18px;
}

.show-detail-section-grid {
    grid-template-columns: 1fr;
}

.show-detail-section {
    padding: 16px 0 0;
    border: 0;
    border-top: 1px solid var(--performio-border-soft);
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.show-detail-section:first-child {
    padding-top: 0;
    border-top: 0;
}

.mobile-bottom-nav {
    display: none;
}

@media (max-width: 1199px) {
    .showcare-split-layout {
        grid-template-columns: 1fr;
    }

    .showcare-detail-inline {
        position: fixed;
        inset: 0;
        z-index: 1050;
        display: flex;
        justify-content: flex-end;
        padding: 10px;
        background: rgba(12, 17, 34, 0);
        pointer-events: none;
        transition: background-color 0.24s ease;
    }

    .showcare-detail-inline.is-open {
        background: rgba(12, 17, 34, 0.18);
        pointer-events: auto;
    }

    .showcare-detail-inline .showcare-detail-card {
        width: 100%;
        height: calc(100vh - 20px);
        min-height: 0;
        transform: translateX(108%);
        transition: transform 0.26s ease;
    }

    .showcare-detail-inline.is-open .showcare-detail-card {
        transform: translateX(0);
    }

    .showcare-detail-inline .showcare-detail-close {
        display: inline-flex;
    }
}

@media (max-width: 991px) {
    .topbar-modern {
        grid-template-columns: auto 1fr auto;
        gap: 12px;
        min-height: 72px;
        padding: 14px 16px;
    }

    .topbar-search-shell {
        display: none;
    }

    .topbar-actions {
        gap: 8px;
    }

    .topbar-icon-button {
        display: none;
    }

    .topbar-profile-chip {
        min-width: 42px;
    }

    .topbar-profile-text,
    .topbar-profile-caret,
    .topbar-kicker,
    .topbar-title-block {
        display: none !important;
    }

    .app-shell .content {
        padding: 14px 12px calc(92px + env(safe-area-inset-bottom)) !important;
    }

    .sidebar {
        padding-bottom: calc(24px + env(safe-area-inset-bottom));
    }

    .mobile-bottom-nav {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: calc(10px + env(safe-area-inset-bottom));
        z-index: 1200;
        min-height: 68px;
        padding: 8px 10px;
        border: 1px solid rgba(230, 233, 237, 0.96);
        border-radius: 22px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 14px 34px rgba(11, 31, 58, 0.14);
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 4px;
        backdrop-filter: blur(14px);
    }

    .mobile-bottom-nav-link {
        min-height: 50px;
        border: 0;
        border-radius: 16px;
        background: transparent;
        color: #7f879d;
        text-decoration: none;
        display: grid;
        justify-items: center;
        align-content: center;
        gap: 4px;
        font-size: 0.68rem;
        font-weight: 700;
        padding: 4px;
    }

    .mobile-bottom-nav-link i {
        font-size: 1rem;
    }

    .mobile-bottom-nav-link.active {
        color: #c07d1f;
        background: rgba(255, 244, 232, 0.94);
    }

    .mobile-bottom-nav-link-more {
        display: grid;
    }

    .showcare-page-head {
        align-items: center;
    }

    .showcare-page-head p {
        font-size: 0.9rem;
        line-height: 1.45;
    }

    .showcare-toolbar-rich {
        grid-template-columns: 1fr;
    }

    .showcare-toolbar-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .showcare-filter-button-compact {
        width: 100%;
        justify-content: center;
    }

    .showcare-table-rich thead {
        display: none;
    }

    .showcare-table-rich,
    .showcare-table-rich tbody,
    .showcare-table-rich tr,
    .showcare-table-rich td {
        display: block;
        width: 100%;
    }

    .showcare-table-rich tbody td {
        padding: 0 14px;
        border-top: 0;
    }

    .showcare-table-rich .showcare-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            'show status'
            'artist artist'
            'meta meta'
            'step step';
        gap: 6px 12px;
        padding: 14px 0;
        border-top: 1px solid var(--performio-border-soft);
    }

    .showcare-table-rich tbody td:nth-child(1) { grid-area: show; padding-top: 2px; }
    .showcare-table-rich tbody td:nth-child(2) { grid-area: artist; }
    .showcare-table-rich tbody td:nth-child(3),
    .showcare-table-rich tbody td:nth-child(4),
    .showcare-table-rich tbody td:nth-child(5) { grid-area: meta; }
    .showcare-table-rich tbody td:nth-child(6) { grid-area: step; }
    .showcare-table-rich tbody td:nth-child(7) { grid-area: status; justify-self: end; padding-top: 2px; }

    .showcare-table-rich tbody td:nth-child(3),
    .showcare-table-rich tbody td:nth-child(4),
    .showcare-table-rich tbody td:nth-child(5) {
        display: inline-block;
        width: auto;
        padding-right: 0;
    }

    .showcare-table-rich tbody td:nth-child(3) .showcare-cell-stack,
    .showcare-table-rich tbody td:nth-child(4) .showcare-cell-stack,
    .showcare-table-rich tbody td:nth-child(5) .showcare-cell-stack {
        display: inline-grid;
        gap: 2px;
        margin-right: 14px;
    }
}


/* Shell mobile and slide-in fixups */
.topbar-heading {
    justify-self: start;
}

.topbar-actions {
    justify-self: end;
    margin-left: auto;
}

.topbar-search-shell {
    width: min(100%, 640px);
}

.topbar-search-shortcut {
    display: none !important;
}

.topbar-mobile-brand {
    display: none;
}

@media (min-width: 992px) {
    .showcare-detail-inline {
        position: fixed;
        top: 96px;
        right: 24px;
        bottom: 24px;
        width: min(540px, calc(100vw - 48px));
        display: flex;
        align-items: stretch;
        justify-content: flex-end;
        background: transparent;
        box-shadow: none;
        opacity: 0;
        pointer-events: none;
        transform: translateX(24px);
        transition: opacity 0.24s ease, transform 0.24s ease;
        z-index: 1150;
    }

    .showcare-detail-inline .showcare-detail-card {
        width: 100%;
        max-width: none;
        margin-left: auto;
        transform: translateX(100%);
        transition: transform 0.28s ease;
    }

    .showcare-detail-inline.is-open {
        opacity: 1;
        pointer-events: auto;
        transform: translateX(0);
    }

    .showcare-detail-inline.is-open .showcare-detail-card {
        transform: translateX(0);
    }
}

@media (max-width: 991px) {
    .topbar-modern {
        grid-template-columns: 44px minmax(0, 1fr) 44px;
        gap: 10px;
        min-height: 72px;
    }

    .topbar-heading {
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    .topbar-mobile-brand {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
        max-width: 100%;
        text-decoration: none;
        color: var(--performio-text-strong);
        overflow: hidden;
    }

    .topbar-mobile-brand img {
        display: block;
        max-width: 100%;
        max-height: 34px;
        width: auto;
        object-fit: contain;
    }

    .topbar-mobile-brand span {
        display: block;
        font-size: 0.95rem;
        font-weight: 700;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .topbar-search-shell,
    .topbar-actions .topbar-icon-button {
        display: none !important;
    }

    .topbar-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .topbar-profile-chip {
        min-width: 42px;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .app-shell .sidebar {
        width: 100vw;
        max-width: 100vw;
        border-radius: 0;
        overflow-x: hidden;
        padding-bottom: calc(104px + env(safe-area-inset-bottom));
    }

    .app-shell .sidebar-context {
        margin: 8px 0 4px;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        line-height: 1.35;
    }

    .app-shell .sidebar-context span,
    .app-shell .sidebar-context strong {
        display: block;
        margin-left: 0;
    }

    .sidebar-subnav,
    .sidebar-subnav[hidden] {
        display: none !important;
    }

    .mobile-bottom-nav {
        left: 0;
        right: 0;
        bottom: 0;
        min-height: 70px;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
        border-left: 0;
        border-right: 0;
        border-bottom: 0;
        border-radius: 18px 18px 0 0;
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 -8px 24px rgba(11, 31, 58, 0.08);
        backdrop-filter: blur(14px);
    }

    .mobile-bottom-nav-link {
        min-height: 52px;
        gap: 3px;
        padding: 4px 2px;
        font-size: 0.58rem;
        line-height: 1.05;
        text-align: center;
    }

    .mobile-bottom-nav-link span {
        white-space: normal;
        word-break: keep-all;
    }

    .platform-shell {
        grid-template-columns: 1fr;
    }

    .platform-sidebar {
        display: none;
    }

    .platform-content {
        padding-bottom: calc(96px + env(safe-area-inset-bottom));
    }

    .platform-mobile-bottom-nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1200;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;
        min-height: 70px;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
        border-top: 1px solid rgba(230, 233, 237, 0.96);
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 -8px 24px rgba(11, 31, 58, 0.08);
    }

    .platform-mobile-bottom-form {
        margin: 0;
    }

    .platform-mobile-bottom-form .platform-mobile-bottom-link {
        width: 100%;
    }

    .platform-mobile-bottom-link {
        min-height: 52px;
        border: 0;
        background: transparent;
        color: #7f879d;
        text-decoration: none;
        display: grid;
        justify-items: center;
        align-content: center;
        gap: 4px;
        padding: 4px 2px;
        font-size: 0.62rem;
        font-weight: 700;
        line-height: 1.05;
    }

    .platform-mobile-bottom-link i {
        font-size: 1rem;
    }

    .platform-mobile-bottom-link.active {
        color: #c07d1f;
    }
}
/* Mobile polish round 2 */
.show-detail-price-list {
    display: grid;
    gap: 10px;
}

.show-detail-price-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: baseline;
}

.show-detail-price-row span {
    color: var(--performio-text-strong);
}

.show-detail-price-row strong {
    white-space: nowrap;
}

.show-detail-cta-button {
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid rgba(230, 233, 237, 0.96);
    border-radius: 12px;
    background: #fff;
    color: var(--performio-text-strong);
    text-decoration: none;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.show-detail-file-link {
    color: var(--performio-text-strong);
    text-decoration: none;
    font-weight: 600;
    word-break: break-word;
}

.show-detail-file-link:hover,
.show-detail-file-link:focus-visible,
.show-detail-cta-button:hover,
.show-detail-cta-button:focus-visible {
    color: #b67213;
}

.show-detail-contract-table td,
.show-detail-contract-table th {
    vertical-align: middle;
}

@media (max-width: 991px) {
    .showcare-tab {
        min-height: 36px;
        padding: 0 12px;
        font-size: 0.88rem;
        gap: 8px;
    }

    .showcare-tab strong {
        min-width: 22px;
        height: 22px;
        font-size: 0.76rem;
    }

    .showcare-status,
    .badge,
    .planning-prikker-response-pill,
    .planning-prikker-signup-state,
    .status-pill {
        min-height: 24px;
        padding: 0 8px;
        font-size: 0.72rem;
        line-height: 1;
        white-space: nowrap;
    }

    .platform-summary-card,
    .planning-prikker-stat,
    .dashboard-status-pill {
        min-height: 88px;
        padding: 12px 14px;
        gap: 6px;
        border-radius: 16px;
    }

    .platform-summary-card strong,
    .dashboard-status-pill strong,
    .planning-prikker-stat strong {
        font-size: 1.35rem;
    }

    .platform-summary-card small,
    .dashboard-status-pill span,
    .planning-prikker-stat span {
        font-size: 0.78rem;
        line-height: 1.25;
    }

    .ticketing-summary-grid,
    .planning-summary-grid,
    .dashboard-status-grid,
    .planning-prikker-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .dashboard-chart {
        min-height: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        align-items: stretch;
    }

    .dashboard-chart-item {
        grid-template-rows: auto 112px auto auto;
        align-items: end;
        gap: 8px;
    }

    .dashboard-chart-bar-wrap {
        height: 112px;
        padding: 8px;
    }

    .dashboard-chart-subtitle {
        min-height: 2.5em;
        font-size: 0.74rem;
    }

    .dashboard-link-button,
    .platform-icon-button {
        width: 36px;
        height: 36px;
        border-radius: 10px;
    }

    .dashboard-quick-button {
        min-height: 32px;
        padding: 0 10px;
        font-size: 0.82rem;
    }

    .nav-hub-intro p {
        font-size: 0.94rem;
    }

    .nav-hub-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .nav-hub-card {
        min-height: 0;
        padding: 14px 16px;
        grid-template-columns: 42px minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        border-radius: 18px;
    }

    .nav-hub-card small {
        display: none;
    }

    .nav-hub-icon {
        width: 42px;
        height: 42px;
    }

    .showcare-toolbar,
    .showcare-toolbar-rich {
        gap: 10px;
    }

    .showcare-toolbar-actions {
        grid-template-columns: 1fr;
    }

    .showcare-filter-button,
    .showcare-filter-button-compact {
        min-height: 42px;
        border-radius: 14px;
        font-size: 0.92rem;
    }

    .showcare-table-rich .showcare-row {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            'show status'
            'artist artist'
            'zaal genre'
            'datetime datetime'
            'step step';
        gap: 6px 10px;
        padding: 12px 0;
    }

    .showcare-table-rich tbody td:nth-child(1) { grid-area: show; }
    .showcare-table-rich tbody td:nth-child(2) { grid-area: artist; }
    .showcare-table-rich tbody td:nth-child(3) { grid-area: zaal; }
    .showcare-table-rich tbody td:nth-child(4) { grid-area: genre; }
    .showcare-table-rich tbody td:nth-child(5) { grid-area: datetime; }
    .showcare-table-rich tbody td:nth-child(6) { grid-area: step; }
    .showcare-table-rich tbody td:nth-child(7) { grid-area: status; }

    .showcare-table-rich tbody td:nth-child(3),
    .showcare-table-rich tbody td:nth-child(4),
    .showcare-table-rich tbody td:nth-child(5) {
        display: block;
        width: 100%;
        padding-right: 14px;
    }

    .showcare-table-rich tbody td:nth-child(3) .showcare-cell-stack,
    .showcare-table-rich tbody td:nth-child(4) .showcare-cell-stack,
    .showcare-table-rich tbody td:nth-child(5) .showcare-cell-stack {
        margin-right: 0;
        display: grid;
        gap: 2px;
    }

    .showcare-table-rich .showcare-show {
        align-items: center;
    }

    .showcare-table-rich .showcare-show strong {
        font-size: 0.92rem;
    }

    .showcare-table-rich .showcare-show span,
    .showcare-table-rich .showcare-cell-stack span {
        font-size: 0.8rem;
    }

    .showcare-detail-header {
        align-items: start;
    }

    .showcare-detail-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
        padding: 0;
        flex: 0 0 42px;
    }

    .showcare-detail-close i {
        line-height: 1;
        transform: translateY(-1px);
    }

    .show-detail-hero {
        gap: 12px;
    }

    .show-detail-hero-actions {
        justify-content: flex-end;
    }

    .show-detail-tablist {
        padding: 10px 12px 0;
        display: flex;
        flex-wrap: wrap;
        gap: 10px 14px;
    }

    .show-detail-tab {
        min-height: 32px;
        padding: 0 2px 10px;
        font-size: 0.9rem;
    }

    .show-detail-pane {
        padding: 14px;
    }

    .show-detail-price-row {
        gap: 8px;
    }

    .show-detail-price-row span,
    .show-detail-price-row strong {
        font-size: 0.95rem;
    }

    .show-detail-cta-button {
        width: 100%;
        min-height: 38px;
        font-size: 0.88rem;
    }

    .show-detail-contract-table {
        table-layout: fixed;
    }

    .show-detail-contract-table td,
    .show-detail-contract-table th {
        padding: 10px 8px;
        font-size: 0.82rem;
        word-break: break-word;
    }

    .planning-show-table .showcare-row,
    .ticketing-table .ticketing-row,
    .showcare-table [data-marketing-row] {
        gap: 6px 10px;
        padding: 12px 0;
    }

    .planning-show-table .showcare-status,
    .ticketing-table .showcare-status,
    .showcare-table [data-marketing-row] .showcare-status {
        justify-self: start;
    }

    .planning-show-table .showcare-cell-stack strong,
    .ticketing-table .showcare-cell-stack strong,
    .showcare-table [data-marketing-row] .showcare-cell-stack strong {
        font-size: 0.9rem;
    }

    .planning-show-table .showcare-cell-stack span,
    .ticketing-table .showcare-cell-stack span,
    .showcare-table [data-marketing-row] .showcare-cell-stack span {
        font-size: 0.78rem;
        line-height: 1.25;
    }

    .ticketing-row-actions {
        gap: 6px;
    }

    .ticketing-row-actions .platform-icon-button {
        width: 34px;
        height: 34px;
    }

    .marketing-show-card,
    .planning-prikker-day,
    .planning-prikker-show-card,
    .planning-prikker-service-card,
    .dashboard-panel,
    .panel {
        border-radius: 18px;
    }
}
/* Mobile polish round 3 */
.finance-compact-badge {
    font-size: 0.74rem;
    line-height: 1;
    padding: 0.34rem 0.5rem;
    border-radius: 999px;
}

.technical-overview-shell .showcare-page-head {
    align-items: center;
}

@media (max-width: 991px) {
    .ticketing-table .ticketing-row {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            'show actions'
            'planning planning'
            'status status'
            'tickets tickets'
            'revenue revenue';
        align-items: start;
    }

    .ticketing-table tbody td:nth-child(4),
    .ticketing-table tbody td:nth-child(5) {
        padding-right: 14px;
    }

    .ticketing-row-actions {
        justify-content: flex-end;
        align-items: center;
    }

    .ticketing-row-actions .platform-icon-button {
        width: 32px;
        height: 32px;
        min-width: 32px;
    }

    .showcare-table [data-marketing-row] {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            'show status'
            'program program'
            'marketing marketing';
        align-items: start;
    }

    .showcare-table [data-marketing-row] td:nth-child(1) { grid-area: show; }
    .showcare-table [data-marketing-row] td:nth-child(2) { grid-area: program; }
    .showcare-table [data-marketing-row] td:nth-child(3) { grid-area: marketing; }
    .showcare-table [data-marketing-row] td:nth-child(4) { grid-area: status; justify-self: end; }

    .showcare-table [data-marketing-row] .showcare-cell-stack strong,
    .technical-overview-table .showcare-cell-stack strong {
        font-size: 0.9rem;
    }

    .showcare-table [data-marketing-row] .showcare-cell-stack span,
    .technical-overview-table .showcare-cell-stack span {
        font-size: 0.78rem;
        line-height: 1.24;
    }

    .technical-overview-table .technical-overview-row {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            'show action'
            'program program'
            'technical technical';
        gap: 6px 10px;
        align-items: start;
    }

    .technical-overview-table td:nth-child(1) { grid-area: show; }
    .technical-overview-table td:nth-child(2) { grid-area: program; }
    .technical-overview-table td:nth-child(3) { grid-area: technical; }
    .technical-overview-table td:nth-child(4) { grid-area: action; justify-self: end; padding-top: 4px; }

    .technical-overview-table .platform-icon-button {
        width: 34px;
        height: 34px;
    }

    .box-office-index-summary .box-office-show-meta {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: start;
        gap: 12px;
    }

    .box-office-index-summary .box-office-show-meta > div {
        min-width: 0;
    }

    .box-office-index-summary .box-office-show-meta strong {
        font-size: 0.96rem;
        line-height: 1.28;
        word-break: break-word;
    }

    .box-office-index-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .box-office-index-actions .btn {
        width: 100%;
        min-height: 40px;
        padding-inline: 12px;
        white-space: normal;
        text-align: center;
    }

    .box-office-availability-badge {
        font-size: 0.72rem;
    }
}
.technical-detail-shell .technical-detail-category-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.technical-detail-document-list,
.technical-detail-staff-list {
    display: grid;
    gap: 14px;
}

.technical-detail-document-card,
.technical-detail-staff-card {
    display: grid;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid rgba(230, 233, 237, 0.92);
    border-radius: 18px;
    background: #f9fafc;
}

.technical-detail-document-main,
.technical-detail-staff-head,
.technical-detail-document-meta {
    display: grid;
    gap: 6px;
}

.technical-detail-document-main strong,
.technical-detail-staff-head strong {
    font-size: 1rem;
    line-height: 1.35;
}

.technical-detail-document-main span,
.technical-detail-document-main p,
.technical-detail-staff-head span,
.technical-detail-subtitle,
.technical-detail-empty {
    color: #7f889f;
}

.technical-detail-document-main p {
    margin: 0;
    line-height: 1.55;
}

.technical-detail-document-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.technical-detail-document-meta div {
    display: grid;
    gap: 4px;
}

.technical-detail-document-meta dt {
    color: #98a0b6;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.technical-detail-document-meta dd {
    margin: 0;
}

.technical-detail-staff-head {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
}

.technical-detail-approved-list {
    margin: 8px 0 0;
    padding-left: 18px;
    display: grid;
    gap: 6px;
}

.technical-detail-empty {
    padding: 18px;
    border: 1px dashed rgba(230, 233, 237, 0.96);
    border-radius: 18px;
    background: #fbfcfe;
}

@media (max-width: 991px) {
    .technical-detail-document-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .technical-detail-document-meta,
    .technical-detail-staff-head {
        grid-template-columns: minmax(0, 1fr);
    }

    .technical-detail-document-card,
    .technical-detail-staff-card {
        padding: 14px;
        border-radius: 16px;
    }
}

.technical-detail-shell .status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255, 244, 232, 0.94);
    border: 1px solid rgba(242, 203, 150, 0.9);
    color: #b67213;
    font-size: 0.84rem;
    font-weight: 700;
    white-space: nowrap;
}

.reports-hub-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.report-hub-card {
    min-height: 184px;
}

.report-hub-eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #98a0b6;
    margin-bottom: 8px;
}

.report-panel-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    align-items: flex-start;
}

.report-actions-bar {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.report-actions-group {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.report-check-option {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    width: 100%;
    padding: 0 14px;
    border: 1px solid var(--performio-border-soft);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--performio-text-strong);
    font-weight: 500;
}

.report-table th {
    font-size: 0.85rem;
    color: #98a0b6;
    font-weight: 700;
}

.report-table td {
    vertical-align: middle;
}

.report-summary-card {
    min-height: 112px;
}

.report-card-list {
    display: grid;
    gap: 12px;
}

.report-mobile-card {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid var(--performio-border-soft);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.96);
    color: var(--performio-text-strong);
    text-decoration: none;
    box-shadow: var(--performio-shadow-soft);
}

.report-mobile-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.report-mobile-card-head strong {
    font-size: 1rem;
    line-height: 1.35;
}

.report-mobile-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--performio-text-muted);
    font-size: 0.84rem;
}

.report-mobile-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 244, 232, 0.96);
    border: 1px solid rgba(242, 203, 150, 0.9);
    color: #b67213;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

@media (max-width: 991px) {
    .report-panel {
        padding: 16px;
    }

    .report-panel-header {
        gap: 12px;
    }

    .report-actions-bar,
    .report-actions-group {
        width: 100%;
    }

    .report-actions-group .btn,
    .report-actions-bar > .btn {
        flex: 1 1 calc(50% - 5px);
        justify-content: center;
    }

    .report-summary-card {
        min-height: 96px;
        padding: 16px;
    }

    .report-summary-card strong {
        font-size: 1.05rem;
    }

    .report-check-option {
        min-height: 40px;
        font-size: 0.9rem;
    }
}

.report-panel-header p,
.reports-hub-page .nav-hub-intro p {
    max-width: 62ch;
}

.report-summary-grid {
    gap: 12px;
}

.report-summary-card {
    min-height: 94px;
    padding: 14px 16px;
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(16, 25, 48, 0.05);
}

.report-summary-card .metric-label {
    font-size: 0.75rem;
    letter-spacing: 0.06em;
}

.report-summary-card strong {
    font-size: 1.08rem;
    line-height: 1.15;
}

.report-summary-card small {
    font-size: 0.78rem;
}

.report-list-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 14px;
}

.report-list-toolbar-copy {
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
    color: var(--performio-text-muted);
    font-size: 0.9rem;
}

.report-list-toolbar-copy strong {
    color: var(--performio-text-strong);
    font-size: 1rem;
}

.report-icon-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.report-icon-button {
    width: 40px;
    min-width: 40px;
    padding: 0;
    justify-content: center;
}

.report-table {
    border-top: 1px solid var(--performio-border-soft);
}

.report-table thead th {
    padding-top: 12px;
    padding-bottom: 12px;
}

.report-table tbody td {
    padding-top: 14px;
    padding-bottom: 14px;
}

.report-click-row {
    cursor: pointer;
}

.report-click-row > * {
    background-image: none !important;
}

.report-click-row:hover > *,
.report-click-row:focus > *,
.report-click-row:focus-visible > * {
    background: rgba(247, 249, 252, 0.9);
}

.report-click-row:focus-visible {
    outline: none;
}

.report-row-concept > * {
    background-image: none !important;
}

.report-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(225, 244, 233, 0.92);
    border: 1px solid rgba(188, 223, 198, 0.9);
    color: #278154;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

.report-status-pill.is-muted {
    background: rgba(240, 242, 247, 0.96);
    border-color: rgba(220, 225, 235, 0.96);
    color: #73809c;
}

.report-mobile-card-static {
    cursor: default;
}

.report-mobile-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
}

.report-mobile-detail-grid span {
    display: block;
    margin-bottom: 3px;
    color: #98a0b6;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.report-mobile-detail-grid strong {
    font-size: 0.88rem;
    line-height: 1.35;
}

.report-mobile-footer-note {
    color: var(--performio-text-muted);
    font-size: 0.82rem;
}

@media (max-width: 991px) {
    .report-list-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .report-list-toolbar-copy {
        font-size: 0.84rem;
    }

    .report-icon-button {
        width: 38px;
        min-width: 38px;
    }

    .report-panel-header p,
    .reports-hub-page .nav-hub-intro p {
        margin-bottom: 0;
        font-size: 0.92rem;
    }

    .report-summary-card {
        min-height: 82px;
        padding: 12px 14px;
    }

    .report-summary-card strong {
        font-size: 1rem;
    }

    .report-mobile-detail-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

.report-tool-button {
    width: 36px;
    min-width: 36px;
    min-height: 36px;
    padding: 0;
    border-radius: 12px;
    justify-content: center;
    border-color: rgba(223, 229, 239, 0.96);
    background: rgba(255, 255, 255, 0.96);
    color: var(--performio-blue);
    box-shadow: 0 4px 12px rgba(16, 25, 48, 0.04);
}

.report-tool-button i {
    font-size: 0.92rem;
}

.report-tool-button:hover,
.report-tool-button:focus-visible {
    color: #b67213;
    border-color: rgba(242, 203, 150, 0.95);
    background: rgba(255, 249, 242, 0.98);
}

.finance-report-detail-shell {
    gap: 18px;
}

.finance-report-summary-grid {
    margin-bottom: 0;
}

.finance-report-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.95fr);
    gap: 18px;
}

.finance-report-card {
    display: grid;
    gap: 16px;
}

.finance-report-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.finance-report-card-head p {
    margin: 4px 0 0;
    color: var(--performio-text-muted);
}

.finance-report-block {
    border: 1px solid var(--performio-border-soft);
    border-radius: 18px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.94);
}

.finance-report-table {
    margin: 0;
}

.finance-report-table th,
.finance-report-table td {
    padding: 12px 14px;
}

.finance-report-table thead th {
    color: #98a0b6;
    font-size: 0.82rem;
    font-weight: 700;
}

.finance-report-breakdown-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.finance-report-definition-list {
    margin: 0;
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid var(--performio-border-soft);
    border-radius: 18px;
    background: rgba(249, 250, 252, 0.88);
}

.finance-report-definition-list div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: baseline;
}

.finance-report-definition-list dt {
    margin: 0;
    color: #98a0b6;
    font-size: 0.77rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.finance-report-definition-list dd {
    margin: 0;
    color: var(--performio-text-strong);
    font-weight: 600;
    text-align: right;
}

.finance-report-definition-list dd.is-strong {
    font-size: 1rem;
}

.finance-report-definition-list dd.is-alert {
    color: #b54f30;
}

.finance-report-actions-row {
    justify-content: flex-end;
}

@media (max-width: 991px) {
    .report-tool-button {
        width: 34px;
        min-width: 34px;
        min-height: 34px;
        border-radius: 11px;
    }

    .finance-report-grid,
    .finance-report-breakdown-grid {
        grid-template-columns: 1fr;
    }

    .finance-report-table th,
    .finance-report-table td {
        padding: 10px 12px;
        font-size: 0.88rem;
    }
}
