/* Shared list toolbars and locally bundled Lucide icons. */
.admin-icon {
    width: 18px;
    height: 18px;
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    color: currentColor;
}

.table.table-filter {
    margin-bottom: 0;
    border-top: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
}

.table.table-filter td {
    border: 0;
    padding: 10px 0;
    vertical-align: middle;
}

.table-filter td:last-child:not(:first-child) {
    text-align: right;
}

.table-filter label {
    margin-bottom: 0;
}

.table-filter input[type="search"] {
    width: 185px;
    max-width: 100%;
}

.table-filter .btn,
.edit-navigation .btn,
.btn.game-editor-button,
a.btn.escv-toolbar,
button.btn.escv-toolbar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 40px;
    height: 38px;
    padding: 7px;
    margin: 0 3px 0 0;
    vertical-align: middle;
}

.table-filter .btn .admin-icon,
.edit-navigation .admin-icon,
.btn.game-editor-button > img,
.btn.game-editor-button > .admin-icon,
.btn.escv-toolbar > img,
.btn.escv-toolbar > .admin-icon {
    width: 24px;
    height: 24px;
    margin: 0;
    padding: 0;
}

.admin-actions {
    white-space: nowrap;
}

.edit-navigation {
    display: inline-flex;
    gap: 3px;
    vertical-align: middle;
    white-space: nowrap;
}

.edit-navigation .btn {
    float: none;
    margin: 0;
}

.game-editor-button,
.editor-toolbar-row .btn,
.table-filter .btn,
.edit-navigation .btn {
    transition: filter 140ms ease;
}

.game-editor-button:hover,
.editor-toolbar-row .btn:hover,
.table-filter .btn:hover,
.edit-navigation .btn:hover {
    filter: brightness(0.91);
}

.game-editor-button:focus-visible,
.editor-toolbar-row .btn:focus-visible,
.table-filter .btn:focus-visible,
.edit-navigation .btn:focus-visible {
    filter: brightness(0.91);
    outline: 2px solid #008acb;
    outline-offset: 3px;
}

.admin-actions a.escv {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    color: #008acb;
}

.admin-actions a.escv:hover,
.admin-actions a.escv:focus-visible {
    color: #00699b;
    background-color: #e8f5fc;
    border-radius: 3px;
}

.game-workflow-column {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 16px;
}

.game-workflow {
    width: 440px;
    max-width: 100%;
    margin-left: auto;
    padding: 0;
    font-family: inherit;
}

.game-workflow-stages {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.game-workflow-stage {
    position: relative;
    flex: 1;
    min-width: 0;
    text-align: center;
    color: #6b7d89;
}

.game-workflow-stage:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 20px;
    left: calc(50% + 25px);
    width: calc(100% - 50px);
    height: 3px;
    border-radius: 3px;
    background: #dce7ef;
}

.game-workflow-marker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid #dce7ef;
    border-radius: 15px;
    background: white;
}

.game-workflow-marker .admin-icon {
    width: 21px;
    height: 21px;
}

.game-workflow-label {
    display: block;
    margin-top: 8px;
    padding: 0 2px;
    font-size: 12px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.game-workflow-stage.is-complete {
    color: #187d80;
}

.is-complete .game-workflow-marker {
    background: #e7f7f4;
    border-color: #bce4dc;
}

.game-workflow-stage.is-complete::after {
    background: #9ed8cf;
}

.game-workflow-stage.is-current {
    color: #006b9e;
    font-weight: 700;
}

.is-current .game-workflow-marker {
    color: white;
    background: #008acb;
    border-color: #008acb;
    box-shadow: 0 0 0 4px #e0f3ff;
    transform: rotate(-5deg);
}

.is-current .game-workflow-marker .admin-icon {
    transform: rotate(5deg);
}

.is-paused .is-current .game-workflow-marker {
    background: #a56a00;
    border-color: #a56a00;
    box-shadow: 0 0 0 4px #fff1d3;
}

#game-owner-search + .select2-container .select2-selection--single {
    height: 38px;
    border-color: #ced4da;
    border-radius: 6px;
}

#game-owner-search + .select2-container .select2-selection__rendered {
    line-height: 36px;
    padding-left: 12px;
}

#game-owner-search + .select2-container .select2-selection__arrow {
    height: 36px;
}

@media (max-width: 991px) and (min-width: 768px) {
    .game-workflow-column {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.admin-actions a.escv:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}
