@import "/UI/Core/Styles/Theme.scss";

.mod-menu-page {
    width: 100%;
    min-height: 0;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 10px;
    padding: 12px;

    .mod-shell {
        width: 100%;
        max-width: 1540px;
        min-height: 0;
        flex-grow: 1;
        flex-direction: column;
        gap: 10px;
        margin-left: auto;
        margin-right: auto;
    }

    .mod-header {
        width: 100%;
        flex-direction: column;
        flex-shrink: 0;
        gap: 8px;
        @include menu-surface-glass();
    }

    .mod-tabs {
        flex-shrink: 0;
    }

    .mod-eyebrow {
        @include menu-eyebrow();
    }

    .mod-tabs {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
    }

    .mod-tabs UIButton .ui-button.mod-tab {
        background-color: rgba( 0, 0, 0, 0.5 );
        align-items: center;
        justify-content: center;
        border-radius: 5px;
        border: 1px solid rgba( 255, 255, 255, 0.12 );
        margin: 0;
    }

    .mod-tabs UIButton .ui-button.mod-tab:hover:not( .disabled ) {
        background-color: rgba( $grey, 0.22 );
    }

    .mod-tabs UIButton .ui-button.mod-tab.active {
        background-color: rgba( $traitor-red, 0.2 );
        border-color: rgba( $traitor-red, 0.45 );
    }

    .mod-columns {
        width: 100%;
        flex-grow: 1;
        min-height: 0;
        flex-direction: row;
        justify-content: flex-start;
        align-items: stretch;
        gap: 10px;
    }

    .mod-col-left {
        width: 500px;
        min-width: 500px;
        max-width: 500px;
        flex-shrink: 0;
        min-height: 0;
        margin-left:8px;
    }

    .mod-col-center {
        width: 500px;
        min-width: 500px;
        flex-shrink: 0;
        align-self: flex-start;

        UIButton .ui-button.mod-action {
            transition: background-color 0.1s ease;
        }

        UIButton .ui-button.mod-action:active {
            background-color: rgba( $traitor-red, 0.64 );
        }
    }

    .mod-col-right {
        width: 500px;
        min-width: 500px;
        flex-shrink: 0;
        align-self: flex-start;

        UIButton .ui-button.mod-action {
            transition: background-color 0.1s ease;
        }

        UIButton .ui-button.mod-action:active {
            background-color: rgba( $traitor-red, 0.64 );
        }

        .slidercontrol {
            min-height: 24px;
        }

        .slider-value-tooltip,
        .ui-slider-tooltip,
        .value-tooltip {
            display: none;
        }

        .value-tooltip > .label,
        .value-tooltip > label,
        .value-tooltip > .tail {
            display: none;
        }
    }

    .mod-main-scroll {
        flex-direction: column;
        gap: 16px;
    }

    .mod-main-scroll.dropdown-blocking {
        pointer-events: none;
    }

    .mod-rank-select {
        width: 90px;
        flex-shrink: 0;
        flex-direction: column;
        position: relative;
        pointer-events: all;
    }

    .mod-rank-select.is-open {
        z-index: 200;
    }

    .mod-main-scroll.dropdown-blocking .mod-rank-select:not(.is-open) {
        pointer-events: none;
    }

    .mod-main-scroll.dropdown-blocking UIButton,
    .mod-main-scroll.dropdown-blocking .ui-button,
    .mod-main-scroll.dropdown-blocking TextEntry {
        pointer-events: none;
    }

    .mod-main-scroll.dropdown-blocking .mod-rank-select.is-open UIButton,
    .mod-main-scroll.dropdown-blocking .mod-rank-select.is-open .ui-button,
    .mod-main-scroll.dropdown-blocking .mod-rank-menu UIButton,
    .mod-main-scroll.dropdown-blocking .mod-rank-menu .ui-button {
        pointer-events: all;
    }


    UIButton .ui-button.mod-rank-trigger {
        width: 100%;
        flex-direction: row-reverse;
        justify-content: space-between;
        border-radius: 3px;
        padding: 4px 8px;
        font-size: 12px;
    }

    .mod-rank-menu {
        position: absolute;
        top: 100%;
        left: 0;
        margin-top: 4px;
        width: 90px;
        border: 1px solid rgba( white, 0.22 );
        border-radius: 6px;
        background-color: rgba( 0, 0, 0, 0.95 );
        box-shadow: 0px 6px 18px rgba( 0, 0, 0, 0.5 );
        padding: 3px;
        flex-direction: column;
        gap: 2px;
        z-index: 200;
        pointer-events: all;
    }

    UIButton .ui-button.mod-rank-item {
        width: 100%;
        justify-content: flex-start;
        flex-shrink: 0;
        padding: 4px 8px;
        font-size: 12px;
        border: 0;
        border-radius: 3px;
        box-shadow: none;
        background-color: transparent;
    }

    UIButton .ui-button.mod-rank-item:hover:not( .disabled ) {
        background-color: rgba( white, 0.08 );
    }

    UIButton .ui-button.mod-rank-item.active {
        background-color: rgba( $traitor-red, 0.45 );
    }

    .mod-col-pointshop-manifest {
        flex-grow: 1;
        min-width: 520px;
        min-height: 0;
        align-self: stretch;
        gap: 8px;
    }

    .mod-pointshop-manifest-scroll {
        flex-direction: column;
        flex-grow: 1;
        min-height: 0;
        gap: 8px;
        padding-right: 6px;
    }

    .mod-col-round-logs {
        flex-grow: 1;
        min-width: 520px;
        min-height: 0;
        align-self: stretch;
        gap: 8px;
    }

    .mod-round-logs-header {
        flex-direction: column;
        flex-shrink: 0;
        gap: 8px;
    }

    .mod-round-logs-controls-row {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 14px;
        flex-shrink: 0;
    }

    .mod-round-logs-filter-toggle {
        flex-direction: row;
        align-items: center;
        gap: 6px;
        cursor: pointer;
        flex-shrink: 0;
    }

    .mod-round-logs-filters {
        flex-shrink: 0;
        flex-wrap: wrap;
    }

    .mod-round-logs-player-select {
        width: 260px;
        max-width: 260px;
        flex-shrink: 0;
        align-self: flex-start;
        flex-direction: column;
        position: relative;
        pointer-events: all;
    }

    UIButton .ui-button.mod-round-logs-player-trigger {
        width: 100%;
        flex-direction: row-reverse;
        justify-content: space-between;
        border-radius: 3px;
    }

    .mod-round-logs-player-menu {
        position: absolute;
        top: 100%;
        left: 0;
        margin-top: 4px;
        width: 260px;
        max-height: 260px;
        overflow-y: scroll;
        border: 1px solid rgba( white, 0.22 );
        border-radius: 6px;
        background-color: rgba( 0, 0, 0, 0.95 );
        box-shadow: 0px 6px 18px rgba( 0, 0, 0, 0.5 );
        padding: 4px;
        flex-direction: column;
        gap: 2px;
        z-index: 200;
        pointer-events: all;
    }

    UIButton .ui-button.mod-round-logs-player-item {
        width: 100%;
        justify-content: flex-start;
        flex-shrink: 0;
        padding: 8px 12px;
        border: 0;
        border-radius: 3px;
        box-shadow: none;
        background-color: transparent;
    }

    UIButton .ui-button.mod-round-logs-player-item:hover:not( .disabled ) {
        background-color: rgba( white, 0.08 );
    }

    UIButton .ui-button.mod-round-logs-player-item.active {
        background-color: rgba( $traitor-red, 0.45 );
    }

    .mod-round-logs-scroll {
        width: 100%;
        height: 0;
        flex-grow: 1;
        min-height: 0;
        max-height: 100%;
        flex-direction: column;
        gap: 4px;
        overflow-y: scroll;
        padding-right: 6px;
    }

    .mod-round-logs-scroll.dropdown-blocking {
        pointer-events: none;
    }

    .mod-col-stretch {
        align-self: stretch;
        flex-grow: 1;
        min-height: 0;
    }

    .mod-evidence-scroll {
        width: 100%;
        height: 0;
        flex-grow: 1;
        min-height: 0;
        max-height: 100%;
        flex-direction: column;
        gap: 4px;
        overflow-y: scroll;
        padding-right: 6px;
    }

    .mod-pointshop-manifest-list {
        flex-direction: column;
        gap: 6px;
    }

    .mod-pointshop-manifest-row {
        flex-direction: row;
        align-items: center;
        gap: 8px;
        flex-shrink: 0;
        padding: 6px 8px;
        border-radius: 4px;
        background-color: rgba( 0, 0, 0, 0.25 );
    }

    .mod-pointshop-manifest-cell {
        flex-shrink: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        text-shadow: none;
    }

    .mod-pointshop-manifest-name {
        flex-grow: 1;
        flex-shrink: 1;
        min-width: 0;
    }

    .mod-pointshop-manifest-ident {
        width: 220px;
        color: rgba( 255, 255, 255, 0.55 );
    }

    .mod-pointshop-manifest-price {
        width: 64px;
        text-align: right;
    }

    .mod-pointshop-manifest-category {
        width: 120px;
    }

    UIButton .ui-button.mod-pointshop-manifest-remove {
        width: 92px;
        flex-shrink: 0;
        justify-content: center;
    }

    .mod-pointshop-settings {
        width: 100%;
        flex-direction: column;
        gap: 12px;
    }

    .mod-pointshop-card {
        width: 100%;
        flex-direction: column;
        gap: 8px;
        padding: 10px 12px;
        border-radius: 6px;
        border: 1px solid rgba( 255, 255, 255, 0.08 );
        background-color: rgba( 0, 0, 0, 0.32 );
    }

    .mod-pointshop-eyebrow {
        @include menu-eyebrow();
        flex-shrink: 0;
    }

    .mod-pointshop-caption {
        @include menu-copy( $size: 11px, $color: rgba( 255, 255, 255, 0.62 ), $tracking: 0.4px );
        flex-shrink: 0;
    }

    .mod-pointshop-credits-row {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 16px;
    }

    .mod-pointshop-action-row {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
    }

    .mod-pointshop-field {
        flex-direction: column;
        gap: 4px;
    }

    .mod-pointshop-field-row {
        flex-direction: row;
        align-items: center;
        gap: 8px;
    }

    .mod-pointshop-field-label {
        width: 80px;
        flex-shrink: 0;
        text-shadow: none;
    }

    .mod-pointshop-field-title {
        text-shadow: none;
    }

    .mod-pointshop-text-entry {
        margin: 0;
        height: 28px;
        font-size: 12px;

        .content-label,
        .prefix-label,
        .suffix-label,
        .placeholder {
            font-size: 12px;
            padding: 4px 8px;
        }
    }

    .mod-pointshop-text-entry-grow {
        flex-grow: 1;
        min-width: 0;
    }

    .mod-pointshop-category-buttons {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 6px;
    }

    UIButton .ui-button.mod-pointshop-chip {
        padding: 5px 10px;
        border-radius: 4px;
        border: 1px solid rgba( 255, 255, 255, 0.12 );
        background-color: rgba( 0, 0, 0, 0.4 );
        font-size: 11px;
        letter-spacing: 1.6px;
    }

    UIButton .ui-button.mod-pointshop-chip:hover:not( .disabled ):not( .active ) {
        background-color: rgba( $grey, 0.22 );
        border-color: rgba( 255, 255, 255, 0.22 );
    }

    UIButton .ui-button.mod-pointshop-chip.active {
        background-color: rgba( $traitor-red, 0.2 );
        border-color: rgba( $traitor-red, 0.45 );
    }

    .mod-section-header {
        @include menu-eyebrow();
        margin-top: 4px;
        padding-bottom: 4px;
        border-bottom: 1px solid rgba( white, 0.18 );
        flex-shrink: 0;
    }

    .mod-section-header + .mod-section-header,
    .mod-reports-list + .mod-section-header,
    .mod-rounds-list + .mod-section-header {
        margin-top: 14px;
    }

    .mod-reports-list,
    .mod-rounds-list {
        flex-direction: column;
        gap: 8px;
        flex-shrink: 0;
        max-height: 32vh;
        overflow-y: scroll;
        padding-right: 4px;

        UIButton {
            width: 100%;
        }

        UIButton .ui-button.player-row {
            width: 100%;
            cursor: pointer;
            text-align: left;
            padding: 8px 12px;
            border-radius: 8px;
            border: 0;
            box-shadow: none;
            background-color: rgba( black, 0.3 );
            justify-content: flex-start;
        }

        UIButton .ui-button.player-row > label {
            flex-grow: 1;
            text-align: left;
        }

        UIButton .ui-button.player-row:hover:not( .disabled ) {
            background-color: rgba( $grey, 0.5 );
        }

        UIButton .ui-button.player-row.active {
            background-color: rgba( $traitor-red, 0.4 );
        }
    }

    .player-list {
        UIButton {
            width: 100%;
        }

        UIButton .ui-button.player-row {
            width: 100%;
            cursor: pointer;
            text-align: left;
            padding: 8px 12px;
            border-radius: 8px;
            border: 0;
            box-shadow: none;
            background-color: rgba( black, 0.3 );
            justify-content: flex-start;
        }

        UIButton .ui-button.player-row > label {
            flex-grow: 1;
            text-align: left;
        }

        UIButton .ui-button.player-row:hover:not( .disabled ) {
            background-color: rgba( $grey, 0.5 );
        }

        UIButton .ui-button.player-row.active {
            background-color: rgba( $traitor-red, 0.4 );
        }
    }

    .report-text-box {
        background-color: rgba( 0, 0, 0, 0.4 );
        border-radius: 8px;
        padding: 10px 12px;
        border: 1px solid rgba( 255, 255, 255, 0.12 );
    }

    UIButton .ui-button.report-btn--slay {
        background-color: rgba( $traitor-red, 0.3 );
        border: 1px solid rgba( $traitor-red, 0.5 );
    }

    UIButton .ui-button.report-btn--slay:hover:not( .disabled ) {
        background-color: rgba( $traitor-red, 0.5 );
    }
}
