#gf-player-limit-panel{
    display:none!important;
}

.gf-server-limit-box{
    padding:10px;
    display:grid;
    gap:8px;
    background:#171e22;
    border:1px solid #303a40;
    border-radius:2px;
}

.gf-server-limit-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.gf-server-limit-head>div{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.gf-server-limit-head strong{
    color:#eef2f4;
    font-size:10px;
}

.gf-server-limit-head small{
    color:#758188;
    font-size:8px;
}

#serverLimitBadge{
    padding:3px 6px;
    background:#222b30;
    color:#aab5ba;
    border:1px solid #39454b;
    border-radius:2px;
    font-size:7px;
    font-weight:900;
}

.gf-server-limit-controls{
    display:flex;
    align-items:center;
    gap:8px;
}

#serverPlayerLimit{
    width:110px;
    min-height:38px;
}

.gf-server-unlimited{
    min-height:38px;
    display:inline-flex;
    grid-template-columns:none!important;
    align-items:center;
    gap:6px;
    padding:0 9px;
    background:#20282d;
    border:1px solid #343f46;
    border-radius:2px;
}

.gf-server-unlimited input{
    min-height:0!important;
}

.gf-server-row-actions{
    display:flex;
    align-items:center;
    gap:7px;
}

.gf-server-edit{
    min-height:38px;
    padding:0 12px;
    background:#20282d;
    color:#c8d0d4;
    border:1px solid #364148;
    border-radius:2px;
    font-size:10px;
    font-weight:850;
    cursor:pointer;
}

.gf-server-edit:hover{
    background:#2b353b;
    color:#fff;
}

.gf-server-edit-modal{
    position:fixed;
    inset:0;
    z-index:8000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    background:rgba(5,8,10,.82);
    backdrop-filter:blur(7px);
}

.gf-server-edit-modal.hidden{
    display:none!important;
}

.gf-server-edit-card{
    width:min(460px,100%);
    display:grid;
    gap:12px;
    padding:16px;
    background:#151c20;
    color:#eef2f4;
    border:1px solid #303a40;
    border-radius:2px;
    box-shadow:0 24px 70px rgba(0,0,0,.48);
}

.gf-server-edit-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.gf-server-edit-head small{
    color:#6f7b82;
    font-size:7px;
    font-weight:900;
    letter-spacing:1.5px;
}

.gf-server-edit-head h2{
    margin:4px 0 0;
    font-size:18px;
}

.gf-server-edit-head>button{
    width:34px;
    height:34px;
    padding:0;
    background:#222b30;
    color:#929da3;
    border:1px solid #344047;
    border-radius:2px;
    font-size:20px;
    cursor:pointer;
}

.gf-server-edit-card>label{
    display:grid;
    gap:6px;
}

.gf-server-edit-card>label>span{
    color:#89959b;
    font-size:9px;
    font-weight:850;
}

.gf-server-edit-card input,
.gf-server-edit-card select{
    min-height:40px;
    padding:0 10px;
    background:#101619;
    color:#eef3f5;
    border:1px solid #344047;
    border-radius:2px;
    outline:none;
}

.gf-server-edit-limit{
    padding:10px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 95px auto;
    align-items:center;
    gap:8px;
    background:#11181b;
    border:1px solid #2d383e;
    border-radius:2px;
}

.gf-server-edit-limit>div{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.gf-server-edit-limit strong{
    font-size:9px;
}

.gf-server-edit-limit small{
    color:#707d84;
    font-size:8px;
}

.gf-server-edit-limit>label{
    display:flex;
    align-items:center;
    gap:5px;
    color:#9aa5aa;
    font-size:8px;
}

.gf-server-edit-limit>label input{
    min-height:0;
}

.gf-server-edit-message{
    min-height:16px;
    color:#9aa6ac;
    font-size:9px;
}

.gf-server-edit-actions{
    display:flex;
    justify-content:flex-end;
    gap:7px;
}

.gf-server-edit-actions button{
    min-height:38px;
    padding:0 12px;
    border-radius:2px;
    font-size:10px;
    font-weight:900;
    cursor:pointer;
}

.gf-server-edit-actions .primary{
    background:#eef2f4;
    color:#111719;
    border:1px solid #fff;
}

.gf-server-edit-actions .danger{
    margin-right:auto;
    background:#2d1f22;
    color:#e5b7bc;
    border:1px solid #55363b;
}

@media(max-width:720px){
    .gf-server-row-actions{
        grid-column:2;
        grid-row:1 / span 2;
        flex-direction:column;
    }

    .gf-server-edit-limit{
        grid-template-columns:1fr;
    }
}


/* V7: player count is intentionally hidden from the server browser. */
.gf-server-player-count,
.server-player-count{
    display:none!important;
}

/* V7: edit is a compact grey wrench button. */
.gf-server-edit{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    display:inline-grid!important;
    place-items:center!important;
    background:#20282d!important;
    color:#8f9aa0!important;
    border:1px solid #364148!important;
    border-radius:8px!important;
}

.gf-server-edit:hover{
    background:#2b353b!important;
    color:#d7dee1!important;
}

.gf-server-edit svg{
    width:15px;
    height:15px;
    display:block;
    fill:currentColor;
}

/* No player limit exists in the edit dialog in V7. */
.gf-server-edit-limit{
    display:none!important;
}

/* V11: server test / role access settings */
.gf-server-feature-box{
    padding:10px;
    display:grid;
    gap:9px;
    background:#131a1e;
    border:1px solid #2f3940;
    border-radius:2px;
}

.gf-server-feature-box.compact{
    margin-top:2px;
}

.gf-server-feature-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.gf-server-feature-head>div{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.gf-server-feature-head strong{
    color:#edf2f4;
    font-size:10px;
}

.gf-server-feature-head small{
    color:#738087;
    font-size:8px;
}

.gf-server-feature-toggle{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:flex-start!important;
    gap:8px!important;
    min-height:0!important;
    padding:9px!important;
    background:#182126;
    border:1px solid #2c373d;
    border-radius:2px;
}

.gf-server-feature-toggle>input{
    width:16px!important;
    height:16px!important;
    min-height:0!important;
    padding:0!important;
    margin:1px 0 0!important;
    accent-color:#aab6bc;
}

.gf-server-feature-toggle>span{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.gf-server-feature-toggle b{
    color:#dfe6e9;
    font-size:9px;
}

.gf-server-feature-toggle small{
    color:#77858c;
    font-size:8px;
    line-height:1.35;
}

.gf-server-role-selection{
    display:grid;
    gap:6px;
}

.gf-server-role-selection>span{
    color:#89969d;
    font-size:8px;
    font-weight:850;
}

.gf-server-role-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px;
    max-height:168px;
    overflow:auto;
}

.gf-server-role-option{
    min-width:0;
    min-height:0!important;
    padding:7px!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:center!important;
    gap:6px!important;
    background:#10171a;
    border:1px solid #2c363c;
    border-radius:2px;
}

.gf-server-role-option input{
    width:15px!important;
    height:15px!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
}

.gf-server-role-option span{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:1px;
}

.gf-server-role-option b{
    overflow:hidden;
    color:#dce3e6;
    font-size:8px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.gf-server-role-option small{
    color:#69777e;
    font-size:7px;
}

.gf-server-badge.test-enabled{
    border-color:#435848;
    color:#a9c5ae;
    background:#18231b;
}

.gf-server-badge.role-lock{
    border-color:#4b4b5d;
    color:#b2b2c9;
    background:#1d1d29;
}

.gf-server-join:disabled{
    cursor:not-allowed;
    opacity:.52;
}

.gf-server-edit-card{
    max-height:min(760px,calc(100dvh - 28px));
    overflow:auto;
}

@media(max-width:720px){
    .gf-server-role-grid{
        grid-template-columns:1fr;
    }
}


/* V13 map type selection */
.gf-server-map-box{
    padding:10px;
    display:grid;
    gap:9px;
    background:#171e22;
    border:1px solid #303a40;
    border-radius:2px;
}
.gf-server-map-head>div{display:flex;flex-direction:column;gap:2px}
.gf-server-map-head strong{color:#eef2f4;font-size:10px}
.gf-server-map-head small{color:#758188;font-size:8px}
.gf-server-map-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.gf-server-map-option{
    min-width:0;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:flex-start;
    gap:8px;
    padding:9px;
    border:1px solid #303b42;
    border-radius:2px;
    background:#12191d;
    cursor:pointer;
}
.gf-server-map-option:has(input:checked){border-color:#73848d;background:#202a2f;box-shadow:inset 0 0 0 1px rgba(210,223,229,.08)}
.gf-server-map-option input{margin-top:2px;accent-color:#cbd6da}
.gf-server-map-option span{min-width:0;display:grid;gap:3px}
.gf-server-map-option b{color:#e9eef0;font-size:9px}
.gf-server-map-option small{color:#849198;font-size:7px;line-height:1.45}
.gf-server-badge.map-type{color:#aebdc4;border-color:#46545b}
.gf-server-edit-map-readonly{padding:9px;display:grid;gap:3px;border:1px solid #303a40;border-radius:2px;background:#11181c}
.gf-server-edit-map-readonly span{color:#758188;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.gf-server-edit-map-readonly b{color:#edf2f4;font-size:10px}
.gf-server-edit-map-readonly small{color:#7d8b92;font-size:7px}
@media(max-width:900px){.gf-server-map-options{grid-template-columns:1fr}}

/* V15 Engine Map selection */
.gf-server-engine-map-row{margin-top:8px;padding:10px;border:1px solid #2b373d;border-radius:2px;background:#0f161a;display:grid;gap:6px}.gf-server-engine-map-row.hidden{display:none}.gf-server-engine-map-row label{color:#dfe7ea;font-size:9px;font-weight:900}.gf-server-engine-map-row select{width:100%;min-height:36px;padding:7px 8px;border:1px solid #2d3940;border-radius:2px;background:#11191e;color:#edf2f4}.gf-server-engine-map-row small{color:#829198;font-size:8px;line-height:1.4}
