/* ==========================================================================
   My servers — UI v2 (compact: top server switcher, one active server, tabs)
   Scope: #my-servers-tab.msv2 ; save bar & manage modal live in <body>.
   ========================================================================== */

#my-servers-tab.msv2 {
    --msv2-panel: rgba(8, 24, 38, .88);
    --msv2-panel-2: rgba(11, 32, 49, .96);
    --msv2-panel-3: rgba(13, 41, 62, .96);
    --msv2-border: #173952;
    --msv2-border-2: #245573;
    --msv2-text: #f2f7fb;
    --msv2-muted: #8fa8ba;
    --msv2-teal: #00e3b0;
    --msv2-teal-2: #00c496;
    --msv2-blue: #2f8dff;
    --msv2-warn: #ffbe45;
    --msv2-error: #ff5c66;
    --msv2-zombie: #d22a35;
    --msv2-hl: #ff8c1a;
    --msv2-gold: #e7b94b;
    --msv2-radius: 11px;
    --msv2-control: 8px;
    --msv2-font: 'Rajdhani', 'Segoe UI', Arial, sans-serif;
    font-family: var(--msv2-font) !important;
    color: var(--msv2-text);
}
.tab-content #my-servers-tab.msv2.tab-pane.active {
    max-width: 1600px !important;
    padding-bottom: 120px !important;
}
#my-servers-tab.msv2 .article-container { background: none !important; padding: 0 !important; font-weight: 400; }
/* без JS (или если инициализация упала) страница живёт как v1: все серверы видны, Save в потоке */
#my-servers-tab.msv2 .msv2-shell:not(.msv2-js) .msv2-server[hidden] { display: block !important; }
#my-servers-tab.msv2 .msv2-shell:not(.msv2-js) .msv2-server + .msv2-server { margin-top: 24px; }
#my-servers-tab.msv2 .msv2-shell:not(.msv2-js) .msv2-savebar[hidden] { display: block !important; position: static; margin-top: 12px; border-radius: 11px; }
#my-servers-tab.msv2 .msv2-shell:not(.msv2-js) .msv2-popover[hidden] { display: none !important; }
#my-servers-tab.msv2 *, #my-servers-tab.msv2 *::before, #my-servers-tab.msv2 *::after { box-sizing: border-box; }
#my-servers-tab.msv2 [hidden] { display: none !important; }
#my-servers-tab.msv2 button, #my-servers-tab.msv2 input, #my-servers-tab.msv2 select { font-family: inherit; }
#my-servers-tab.msv2 h2, #my-servers-tab.msv2 h3 {
    background: none !important; padding: 0 !important; margin: 0 !important;
    display: block !important; text-transform: none !important; letter-spacing: 0 !important;
    font-family: var(--msv2-font) !important; color: var(--msv2-text) !important;
}
#my-servers-tab.msv2 h3 { font-size: 17px; font-weight: 700; }
#my-servers-tab.msv2 a { color: #7fc0ff; text-decoration: none; }
#my-servers-tab.msv2 a:hover { color: #fff; }
#my-servers-tab.msv2 .msv2-muted { color: var(--msv2-muted); font-size: 13px; }
#my-servers-tab.msv2 .msv2-text-warn { color: var(--msv2-warn) !important; }
#my-servers-tab.msv2 .gold-color { color: var(--msv2-gold) !important; }
#my-servers-tab.msv2 .cvar-name { color: #b0fb52; }

/* ---------- cards ---------- */
#my-servers-tab.msv2 .msv2-card {
    background: var(--msv2-panel);
    border: 1px solid var(--msv2-border);
    border-radius: var(--msv2-radius);
    padding: 12px 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
#my-servers-tab.msv2 .msv2-card + .msv2-card { margin-top: 10px; }
#my-servers-tab.msv2 .msv2-card__head {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    flex-wrap: wrap; margin-bottom: 10px;
}
#my-servers-tab.msv2 .msv2-card__head h3 .fa { color: var(--msv2-muted); margin-right: 4px; font-size: 14px; }

/* ---------- controls ---------- */
#my-servers-tab.msv2 .msv2-input,
#my-servers-tab.msv2 .msv2-select,
#my-servers-tab.msv2 select,
#my-servers-tab.msv2 input[type="text"],
#my-servers-tab.msv2 input[type="search"] {
    height: 38px; padding: 0 12px !important;
    border-radius: var(--msv2-control) !important;
    border: 1px solid var(--msv2-border-2) !important;
    background: #071a2a !important; color: var(--msv2-text) !important;
    font-family: var(--msv2-font) !important; font-size: 14px !important; font-weight: 600;
    box-shadow: none !important; outline: none; text-shadow: none !important;
    max-width: 100%;
}
#my-servers-tab.msv2 select { padding-right: 28px !important; }
#my-servers-tab.msv2 select option { background: #0a2133; color: #fff; }
#my-servers-tab.msv2 .msv2-input:focus, #my-servers-tab.msv2 .msv2-select:focus,
#my-servers-tab.msv2 select:focus, #my-servers-tab.msv2 input:focus {
    border-color: var(--msv2-teal) !important;
    box-shadow: 0 0 0 2px rgba(0, 227, 176, .15) !important;
}
#my-servers-tab.msv2 input:disabled, #my-servers-tab.msv2 select:disabled { opacity: .55; cursor: not-allowed; }
#my-servers-tab.msv2 .msv2-input--pin { width: 96px; text-align: center; letter-spacing: 3px; }
#my-servers-tab.msv2 .msv2-input--pin::placeholder { letter-spacing: 0; font-size: 12px; }

/* switch (re-skins the site's sprite checkbox: input hidden, label > span draws) */
#my-servers-tab.msv2 #my-servers-form input[type="checkbox"] + label.msv2-switch {
    display: inline-block; margin: 0; cursor: pointer; line-height: 0; color: inherit; font-size: 0;
}
#my-servers-tab.msv2 #my-servers-form input[type="checkbox"] + label.msv2-switch span {
    display: inline-block; width: 44px; height: 24px; margin: 0;
    border-radius: 999px; background: #1a3347 !important; border: 1px solid var(--msv2-border-2);
    position: relative; transition: background .18s ease, border-color .18s ease;
    background-image: none !important;
}
#my-servers-tab.msv2 #my-servers-form input[type="checkbox"] + label.msv2-switch span::after {
    content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px;
    border-radius: 50%; background: #9fb6c6; transition: transform .18s ease, background .18s ease;
}
#my-servers-tab.msv2 #my-servers-form input[type="checkbox"]:checked + label.msv2-switch span {
    background: rgba(0, 227, 176, .22) !important; border-color: var(--msv2-teal);
    background-image: none !important;
}
#my-servers-tab.msv2 #my-servers-form input[type="checkbox"]:checked + label.msv2-switch span::after {
    transform: translateX(20px); background: var(--msv2-teal);
}
#my-servers-tab.msv2 #my-servers-form input[type="checkbox"]:disabled + label.msv2-switch span {
    opacity: .45; cursor: not-allowed;
}
#my-servers-tab.msv2 #my-servers-form input[type="checkbox"]:focus-visible + label.msv2-switch span {
    box-shadow: 0 0 0 3px rgba(47, 141, 255, .35);
}

/* buttons */
#my-servers-tab.msv2 .msv2-btn, .msv2-savebar .msv2-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 40px; padding: 0 16px !important; margin: 0 !important;
    border-radius: var(--msv2-control, 8px) !important; border: 1px solid #245573 !important;
    background: #0b2536 !important; color: #f2f7fb !important;
    font-family: 'Rajdhani', 'Segoe UI', Arial, sans-serif !important; font-size: 14px !important; font-weight: 700 !important;
    letter-spacing: .3px; text-transform: none !important; text-shadow: none !important;
    cursor: pointer; text-decoration: none; line-height: 1.2; white-space: normal; text-align: center;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
    box-shadow: none !important; filter: none !important;
}
#my-servers-tab.msv2 .msv2-btn:hover, .msv2-savebar .msv2-btn:hover { border-color: #3a7ea6 !important; transform: translateY(-1px); color: #fff !important; }
#my-servers-tab.msv2 .msv2-btn:disabled, #my-servers-tab.msv2 .msv2-btn[disabled], .msv2-savebar .msv2-btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }
#my-servers-tab.msv2 .msv2-btn .fa-spinner { display: none; }
#my-servers-tab.msv2 .msv2-btn--primary, .msv2-savebar .msv2-btn--primary {
    background: linear-gradient(180deg, #0be0b3, #00b98c) !important; border-color: #0aa885 !important; color: #03130f !important;
}
#my-servers-tab.msv2 .msv2-btn--primary:hover, .msv2-savebar .msv2-btn--primary:hover { color: #03130f !important; box-shadow: 0 8px 22px rgba(0, 227, 176, .28) !important; }
#my-servers-tab.msv2 .msv2-btn--play {
    background: linear-gradient(180deg, #0be0b3, #00b98c) !important; border-color: #0aa885 !important; color: #03130f !important;
    min-height: 44px; padding: 0 22px !important; font-size: 15px !important;
}
#my-servers-tab.msv2 .msv2-btn--play:hover { color: #03130f !important; box-shadow: 0 8px 22px rgba(0, 227, 176, .3) !important; }
#my-servers-tab.msv2 .msv2-btn--accent {
    background: linear-gradient(135deg, #e8a640, #d2691e) !important; border-color: #b8641d !important; color: #1a1a1a !important;
}
#my-servers-tab.msv2 .msv2-btn--accent:hover { color: #1a1a1a !important; }
#my-servers-tab.msv2 .msv2-btn--accent.is-dirty { animation: msv2-pulse 1.4s ease-in-out infinite; }
@keyframes msv2-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(232, 166, 64, .0) !important; }
    50% { box-shadow: 0 0 0 5px rgba(232, 166, 64, .35) !important; }
}
#my-servers-tab.msv2 .msv2-btn--ghost { background: rgba(255, 255, 255, .04) !important; }
#my-servers-tab.msv2 .msv2-btn--gold {
    background: linear-gradient(180deg, #f3cf6a, #d7a63a) !important; border-color: #b58a2c !important; color: #241a05 !important;
}
#my-servers-tab.msv2 .msv2-btn--gold:hover { color: #241a05 !important; box-shadow: 0 8px 22px rgba(231, 185, 75, .3) !important; }
#my-servers-tab.msv2 .msv2-btn--big { min-height: 48px; font-size: 16px !important; padding: 0 22px !important; }
#my-servers-tab.msv2 .msv2-btn--danger {
    background: rgba(255, 92, 102, .12) !important; border-color: rgba(255, 92, 102, .55) !important; color: #ff8d94 !important;
}
#my-servers-tab.msv2 .msv2-btn--danger:hover { background: rgba(255, 92, 102, .22) !important; color: #fff !important; }
#my-servers-tab.msv2 .msv2-btn--mode-zombie { border-color: rgba(210, 42, 53, .6) !important; color: #ff8d94 !important; }
#my-servers-tab.msv2 .msv2-btn--mode-hl { border-color: rgba(255, 140, 26, .6) !important; color: #ffb066 !important; }
#my-servers-tab.msv2 .msv2-btn--mode-back { border-color: rgba(0, 227, 176, .5) !important; color: #7ff0d4 !important; }
#my-servers-tab.msv2 .msv2-iconbtn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 32px; height: 32px; border-radius: 8px; border: 1px solid transparent;
    background: none; color: var(--msv2-muted); cursor: pointer; padding: 0;
}
#my-servers-tab.msv2 .msv2-iconbtn:hover { color: #fff; border-color: var(--msv2-border-2); background: rgba(255, 255, 255, .04); }

/* badges / pills */
#my-servers-tab.msv2 .msv2-badge {
    display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 8px;
    border-radius: 6px; font-size: 11px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase;
    border: 1px solid var(--msv2-border-2); color: #cfe0ec; background: rgba(255, 255, 255, .03); white-space: nowrap;
}
#my-servers-tab.msv2 .msv2-badge--cs { border-color: rgba(0, 227, 176, .5); color: #7ff0d4; }
#my-servers-tab.msv2 .msv2-badge--zombie { border-color: rgba(210, 42, 53, .7); color: #ff8d94; background: rgba(210, 42, 53, .12); }
#my-servers-tab.msv2 .msv2-badge--hl { border-color: rgba(255, 140, 26, .7); color: #ffb066; background: rgba(255, 140, 26, .12); }
#my-servers-tab.msv2 .msv2-badge--owner { border-color: rgba(231, 185, 75, .6); color: #f3d37c; }
#my-servers-tab.msv2 .msv2-badge--helper { border-color: rgba(47, 141, 255, .6); color: #8cc0ff; }
#my-servers-tab.msv2 .msv2-badge--promoted { border-color: rgba(231, 185, 75, .6); color: #f3d37c; background: rgba(231, 185, 75, .1); }
#my-servers-tab.msv2 .msv2-pill {
    display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 12px;
    border-radius: 9px; border: 1px solid var(--msv2-border); background: rgba(7, 26, 42, .8);
    font-size: 14px; font-weight: 700; white-space: nowrap;
}
#my-servers-tab.msv2 .msv2-pill .fa { color: var(--msv2-muted); }
#my-servers-tab.msv2 .msv2-dot { width: 9px; height: 9px; border-radius: 50%; background: #6b7f8f; display: inline-block; flex: 0 0 auto; }
#my-servers-tab.msv2 .msv2-dot--on, #my-servers-tab.msv2 .msv2-pill--state.is-on .msv2-dot { background: var(--msv2-teal); box-shadow: 0 0 0 3px rgba(0, 227, 176, .18); }
#my-servers-tab.msv2 .msv2-dot--off, #my-servers-tab.msv2 .msv2-pill--state.is-off .msv2-dot { background: #7b8a97; }
#my-servers-tab.msv2 .msv2-pill--state.is-on { border-color: rgba(0, 227, 176, .45); color: #7ff0d4; }
#my-servers-tab.msv2 .msv2-pill--state.is-off { color: var(--msv2-muted); }
#my-servers-tab.msv2 .msv2-pill--state .msv2-pill__off, #my-servers-tab.msv2 .msv2-pill--state.is-off .msv2-pill__on { display: none; }
#my-servers-tab.msv2 .msv2-pill--state.is-off .msv2-pill__off { display: inline; }

/* thumbs */
#my-servers-tab.msv2 .msv2-thumb {
    position: relative; display: inline-block; overflow: hidden; flex: 0 0 auto;
    border-radius: 9px; background: linear-gradient(135deg, #0d2a40, #071a2a); border: 1px solid var(--msv2-border);
}
#my-servers-tab.msv2 .msv2-thumb img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
#my-servers-tab.msv2 .msv2-thumb__fallback {
    position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center;
    font-size: 11px; color: var(--msv2-muted); text-align: center; padding: 4px; word-break: break-all; z-index: 0;
}
#my-servers-tab.msv2 .msv2-thumb img { z-index: 1; }
#my-servers-tab.msv2 .msv2-thumb--mini { width: 64px; height: 40px; }
#my-servers-tab.msv2 .msv2-thumb--head { width: 116px; height: 68px; }
#my-servers-tab.msv2 .msv2-thumb--map { width: 160px; height: 96px; }

/* ==========================================================================
   Top bar
   ========================================================================== */
#my-servers-tab.msv2 .msv2-topbar {
    position: relative; display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin-bottom: 12px; min-height: 44px; padding: 8px 10px;
    background: var(--msv2-panel); border: 1px solid var(--msv2-border); border-radius: var(--msv2-radius);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
#my-servers-tab.msv2 .msv2-shell.is-list .msv2-server { display: none !important; }
#my-servers-tab.msv2 .msv2-shell.is-list .msv2-switcher-trigger { display: none; }
#my-servers-tab.msv2 .msv2-shell.is-list .msv2-popover {
    position: static; width: 100%; max-height: none; margin: 4px 0 0; flex-basis: 100%;
    box-shadow: none; background: rgba(7, 26, 42, .6);
}
#my-servers-tab.msv2 .msv2-shell.is-list .msv2-popover__list { max-height: 640px; }
#my-servers-tab.msv2 .msv2-switcher-trigger {
    display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px;
    border-radius: var(--msv2-control); border: 1px solid var(--msv2-border-2);
    background: #0b2536; color: var(--msv2-text); font-weight: 700; font-size: 15px; cursor: pointer;
}
#my-servers-tab.msv2 .msv2-switcher-trigger:hover, #my-servers-tab.msv2 .msv2-switcher-trigger[aria-expanded="true"] { border-color: var(--msv2-teal); }
#my-servers-tab.msv2 .msv2-switcher-trigger b { color: var(--msv2-teal); }
#my-servers-tab.msv2 .msv2-chips { display: flex; gap: 6px; }
#my-servers-tab.msv2 .msv2-chips--single { display: none; }
#my-servers-tab.msv2 .msv2-chip {
    height: 38px; min-width: 64px; padding: 0 14px; border-radius: var(--msv2-control);
    border: 1px solid var(--msv2-border-2); background: #0b2536; color: #bfd0db; font-weight: 700; font-size: 14px; cursor: pointer;
}
#my-servers-tab.msv2 .msv2-chip:hover, #my-servers-tab.msv2 .msv2-chip.is-active { color: #fff; border-color: var(--msv2-teal); box-shadow: inset 0 0 0 1px rgba(0, 227, 176, .15); }
#my-servers-tab.msv2 .msv2-summary { display: flex; gap: 8px; flex-wrap: wrap; margin-left: 6px; }
#my-servers-tab.msv2 .msv2-summary__item {
    display: flex; flex-direction: column; justify-content: center; min-height: 42px; padding: 4px 12px;
    border-radius: var(--msv2-control); border: 1px solid var(--msv2-border-2); background: #0b2536; line-height: 1.15;
}
#my-servers-tab.msv2 .msv2-summary__label { font-size: 10.5px; letter-spacing: .8px; text-transform: uppercase; color: var(--msv2-muted); }
#my-servers-tab.msv2 .msv2-summary__value { font-size: 15px; font-weight: 700; }
#my-servers-tab.msv2 .msv2-summary__meta { font-size: 11px; color: var(--msv2-muted); }
#my-servers-tab.msv2 .msv2-summary__link { font-size: 11px; }
#my-servers-tab.msv2 .msv2-summary__item--gold { border-color: rgba(231, 185, 75, .35); }
#my-servers-tab.msv2 .msv2-summary__item--warn { border-color: rgba(255, 190, 69, .55); }
#my-servers-tab.msv2 .msv2-summary__item--warn .msv2-summary__value, #my-servers-tab.msv2 .msv2-summary__item--warn .msv2-summary__meta { color: var(--msv2-warn); }
#my-servers-tab.msv2 .msv2-rent-btn {
    margin-left: auto; display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 18px;
    border-radius: var(--msv2-control); border: 1px solid #0aa885;
    background: linear-gradient(180deg, #0adfb1, #00b98c); color: #02120f; font-weight: 800; font-size: 14px; cursor: pointer;
}
#my-servers-tab.msv2 .msv2-rent-btn[aria-expanded="true"] { filter: brightness(1.08); }

/* popover */
#my-servers-tab.msv2 .msv2-popover {
    position: absolute; top: calc(100% + 8px); left: 0; z-index: 60;
    width: min(940px, 100%); max-height: 520px; display: flex; flex-direction: column;
    background: var(--msv2-panel-2); border: 1px solid var(--msv2-border-2); border-radius: var(--msv2-radius);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .5); overflow: hidden;
}
#my-servers-tab.msv2 .msv2-popover__head {
    display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap;
    padding: 12px 14px; border-bottom: 1px solid var(--msv2-border);
}
#my-servers-tab.msv2 .msv2-popover__head strong { display: block; font-size: 15px; }
#my-servers-tab.msv2 .msv2-popover__head span { font-size: 12px; color: var(--msv2-muted); }
#my-servers-tab.msv2 .msv2-popover__search { position: relative; flex: 1 1 220px; max-width: 320px; }
#my-servers-tab.msv2 .msv2-popover__search .fa { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); color: var(--msv2-muted); }
#my-servers-tab.msv2 .msv2-popover__search input { width: 100%; padding-left: 32px !important; }
#my-servers-tab.msv2 .msv2-popover__list { overflow-y: auto; padding: 6px; }
#my-servers-tab.msv2 .msv2-item {
    display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px;
    width: 100%; padding: 6px 10px; border-radius: 9px; border: 1px solid transparent; color: var(--msv2-text);
}
#my-servers-tab.msv2 .msv2-item:hover { background: rgba(255, 255, 255, .04); border-color: var(--msv2-border); }
#my-servers-tab.msv2 .msv2-item.is-selected { background: rgba(0, 227, 176, .08); border-color: rgba(0, 227, 176, .35); }
#my-servers-tab.msv2 .msv2-item__open {
    display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 12px; min-width: 0;
    background: none; border: none; padding: 0; color: inherit; text-align: left; cursor: pointer; font-family: inherit;
}
#my-servers-tab.msv2 .msv2-item__open:hover .msv2-item__name { color: var(--msv2-teal); }
#my-servers-tab.msv2 .msv2-item__main { min-width: 0; }
#my-servers-tab.msv2 .msv2-item__name { display: block; font-size: 15px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#my-servers-tab.msv2 .msv2-item__sub { display: block; font-size: 12px; color: var(--msv2-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#my-servers-tab.msv2 .msv2-item__meta { display: grid; grid-template-columns: auto auto 70px 118px; align-items: center; gap: 10px; }
#my-servers-tab.msv2 .msv2-item__players { font-weight: 700; font-size: 14px; white-space: nowrap; }
#my-servers-tab.msv2 .msv2-item__players .fa { color: var(--msv2-muted); }
#my-servers-tab.msv2 .msv2-item__state { display: flex; align-items: center; gap: 6px; justify-content: flex-end; font-size: 12px; color: var(--msv2-muted); white-space: nowrap; }
#my-servers-tab.msv2 .msv2-item__paid.is-expiring { color: var(--msv2-warn); font-weight: 700; }
#my-servers-tab.msv2 .msv2-item__promoted { color: var(--msv2-gold); }
#my-servers-tab.msv2 .msv2-item__actions { display: flex; align-items: center; gap: 6px; }
#my-servers-tab.msv2 .msv2-btn--row { position: relative; min-height: 36px; padding: 0 12px !important; font-size: 13px !important; white-space: nowrap; }
#my-servers-tab.msv2 .msv2-btn--row .smm-btn-badge { position: absolute; top: -8px; right: -8px; margin: 0; line-height: 18px; height: 18px; z-index: 3; box-shadow: 0 0 0 2px #0b2536; }
#my-servers-tab.msv2 .msv2-item__actions .msv2-btn--row:hover { z-index: 4; }
#my-servers-tab.msv2 .msv2-btn--row .fa { color: var(--msv2-teal); }
#my-servers-tab.msv2 .msv2-btn--row .fa-check { color: #7ff0d4 !important; }
#my-servers-tab.msv2 .msv2-btn--row-danger { border-color: rgba(255, 92, 102, .4) !important; }
#my-servers-tab.msv2 .msv2-btn--row-danger .fa-power-off { color: var(--msv2-error); }
#my-servers-tab.msv2 .msv2-btn--row-primary { border-color: rgba(0, 227, 176, .5) !important; background: rgba(0, 227, 176, .1) !important; }
#my-servers-tab.msv2 .msv2-popover__empty { padding: 28px; text-align: center; color: var(--msv2-muted); }

/* rent panel */
#my-servers-tab.msv2 .msv2-rent { margin-bottom: 14px; }
#my-servers-tab.msv2 .msv2-rent__form { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
#my-servers-tab.msv2 .msv2-field { display: flex; flex-direction: column; gap: 5px; min-width: 260px; flex: 1 1 260px; max-width: 420px; }
#my-servers-tab.msv2 .msv2-field__label { font-size: 12px; color: var(--msv2-muted); text-transform: uppercase; letter-spacing: .6px; }
#my-servers-tab.msv2 .msv2-rent__balance { font-size: 14px; color: var(--msv2-muted); display: inline-flex; gap: 8px; align-items: center; flex-wrap: wrap; min-height: 40px; }
#my-servers-tab.msv2 .msv2-specs { margin-top: 12px; border-top: 1px solid var(--msv2-border); padding-top: 10px; }
#my-servers-tab.msv2 .msv2-specs summary { cursor: pointer; font-weight: 700; color: #cfe0ec; list-style: none; display: flex; align-items: center; gap: 8px; }
#my-servers-tab.msv2 .msv2-specs summary::-webkit-details-marker { display: none; }
#my-servers-tab.msv2 .msv2-specs summary::after { content: '\f078'; font-family: FontAwesome; font-size: 11px; color: var(--msv2-muted); margin-left: auto; transition: transform .15s; }
#my-servers-tab.msv2 .msv2-specs[open] summary::after { transform: rotate(180deg); }
#my-servers-tab.msv2 .msv2-specs__body { margin-top: 10px; font-size: 13.5px; line-height: 1.5; color: #cfe0ec; }
#my-servers-tab.msv2 .msv2-specs__body ul { list-style: none; padding: 0; margin: 0; }
#my-servers-tab.msv2 .msv2-specs__body li { margin: 4px 0; }
#my-servers-tab.msv2 .msv2-specs__body .cvar-name { font-size: 12px; }
#my-servers-tab.msv2 .msv2-specs__body select { max-width: 100%; margin-top: 6px; }

/* ==========================================================================
   Active server
   ========================================================================== */
#my-servers-tab.msv2 .msv2-server { display: block; }
#my-servers-tab.msv2 .msv2-head {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px;
    padding: 12px 16px; margin-bottom: 10px;
}
#my-servers-tab.msv2 .msv2-head__main { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
#my-servers-tab.msv2 .msv2-head__title { display: flex; align-items: center; gap: 4px; min-width: 0; }
#my-servers-tab.msv2 .msv2-head__name { font-size: 24px !important; font-weight: 700 !important; line-height: 1.1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
#my-servers-tab.msv2 .msv2-head__meta { display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; font-size: 13.5px; color: #cfe0ec; }
#my-servers-tab.msv2 .msv2-head__stats { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
#my-servers-tab.msv2 .msv2-server--zombie .msv2-head { border-color: rgba(210, 42, 53, .45); box-shadow: inset 4px 0 0 rgba(210, 42, 53, .8), 0 10px 30px rgba(0,0,0,.25); }
#my-servers-tab.msv2 .msv2-server--hl .msv2-head { border-color: rgba(255, 140, 26, .45); box-shadow: inset 4px 0 0 rgba(255, 140, 26, .8), 0 10px 30px rgba(0,0,0,.25); }

/* tabs */
#my-servers-tab.msv2 .msv2-tabs {
    display: flex; gap: 4px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;
    margin-bottom: 12px; padding: 4px; border-radius: var(--msv2-radius);
    background: rgba(8, 24, 38, .7); border: 1px solid var(--msv2-border);
}
#my-servers-tab.msv2 .msv2-tabs::-webkit-scrollbar { display: none; }
#my-servers-tab.msv2 .msv2-tab {
    display: inline-flex; align-items: center; gap: 7px; min-height: 44px; padding: 0 16px; flex: 0 0 auto;
    border-radius: 8px; border: 1px solid transparent; background: none; color: #bfd0db;
    font-size: 14px; font-weight: 700; cursor: pointer; white-space: nowrap; position: relative;
}
#my-servers-tab.msv2 .msv2-tab .fa { color: var(--msv2-muted); }
#my-servers-tab.msv2 .msv2-tab:hover { color: #fff; background: rgba(255, 255, 255, .04); }
#my-servers-tab.msv2 .msv2-tab.is-active { color: #fff; background: rgba(0, 227, 176, .1); border-color: rgba(0, 227, 176, .35); }
#my-servers-tab.msv2 .msv2-tab.is-active .fa { color: var(--msv2-teal); }
#my-servers-tab.msv2 .msv2-tab--danger.is-active { background: rgba(255, 92, 102, .1); border-color: rgba(255, 92, 102, .4); }
#my-servers-tab.msv2 .msv2-tab--danger.is-active .fa { color: var(--msv2-error); }
#my-servers-tab.msv2 .msv2-tab__badge {
    display: inline-block; min-width: 18px; height: 18px; line-height: 18px; padding: 0 5px; border-radius: 9px;
    background: #c0392b; color: #fff; font-size: 11px; text-align: center;
}
#my-servers-tab.msv2 .msv2-panel { display: none; }
#my-servers-tab.msv2 .msv2-panel.is-active { display: block; }

/* rows */
#my-servers-tab.msv2 .msv2-rows { display: flex; flex-direction: column; }
#my-servers-tab.msv2 .msv2-row {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    min-height: 46px; padding: 6px 0; border-top: 1px solid rgba(255, 255, 255, .05);
}
#my-servers-tab.msv2 .msv2-rows--grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 0; }
#my-servers-tab.msv2 .msv2-rows--grid > .msv2-row:not(.msv2-row--full):nth-child(even) { padding-right: 24px; border-right: 1px solid rgba(255, 255, 255, .09); }
#my-servers-tab.msv2 .msv2-rows--grid > .msv2-row:not(.msv2-row--full):nth-child(odd) { padding-left: 24px; }
#my-servers-tab.msv2 .msv2-rows--grid .msv2-row--full { grid-column: 1 / -1; }
#my-servers-tab.msv2 .msv2-rows--grid > .msv2-row:nth-child(2) { border-top: 1px solid rgba(255, 255, 255, .05); }
#my-servers-tab.msv2 .msv2-rows > .msv2-row:first-child { border-top: none; }
#my-servers-tab.msv2 .msv2-row__text { min-width: 0; flex: 1 1 auto; }
#my-servers-tab.msv2 .msv2-row__title { font-size: 15px; font-weight: 700; color: var(--msv2-text); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
#my-servers-tab.msv2 .msv2-row__title label { cursor: pointer; font-weight: 700 !important; color: var(--msv2-text) !important; font-size: 15px !important; }
#my-servers-tab.msv2 .msv2-row__title .fa.notice { color: #b0fb52; font-size: 12px; }
#my-servers-tab.msv2 .msv2-row__desc { font-size: 12.5px; color: var(--msv2-muted); line-height: 1.3; margin-top: 1px; }
#my-servers-tab.msv2 .msv2-row__desc label { cursor: pointer; color: var(--msv2-muted) !important; font-size: 12.5px !important; font-weight: 400 !important; }
#my-servers-tab.msv2 .msv2-row__cvar { color: rgba(255, 255, 255, .32); font-size: 11.5px; margin-left: 6px; }
#my-servers-tab.msv2 .msv2-row__control { flex: 0 0 auto; display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; max-width: 60%; }
#my-servers-tab.msv2 .msv2-row__control .msv2-select { min-width: 120px; max-width: 220px; }
#my-servers-tab.msv2 .msv2-row__control--wide .msv2-input { width: 300px; max-width: 100%; }
#my-servers-tab.msv2 .msv2-row.is-dirty .msv2-row__title { color: var(--msv2-warn); }
#my-servers-tab.msv2 .msv2-row.is-dirty .msv2-row__title label { color: var(--msv2-warn) !important; }
#my-servers-tab.msv2 .msv2-row.is-hidden-search { display: none; }
#my-servers-tab.msv2 .cvar-forced { display: block; color: var(--msv2-warn); font-size: 11.5px; margin-top: 2px; }

/* overview */
#my-servers-tab.msv2 .msv2-overview { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 14px; align-items: start; }
#my-servers-tab.msv2 .msv2-overview__side { position: sticky; top: 72px; }
#my-servers-tab.msv2 .msv2-status { margin: 0; display: flex; flex-direction: column; }
#my-servers-tab.msv2 .msv2-status > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 0; border-top: 1px solid rgba(255, 255, 255, .05); }
#my-servers-tab.msv2 .msv2-status > div:first-child { border-top: none; }
#my-servers-tab.msv2 .msv2-status dt { color: var(--msv2-muted); font-size: 13.5px; font-weight: 500; display: flex; align-items: center; gap: 8px; }
#my-servers-tab.msv2 .msv2-status dt .fa { width: 16px; text-align: center; }
#my-servers-tab.msv2 .msv2-status dd { margin: 0; font-weight: 700; font-size: 14px; text-align: right; }
#my-servers-tab.msv2 .msv2-quick { display: flex; flex-direction: column; gap: 8px; }
#my-servers-tab.msv2 .msv2-btn--quick { justify-content: flex-start; min-height: 46px; font-size: 15px !important; }
#my-servers-tab.msv2 .msv2-btn--quick .fa { width: 18px; text-align: center; color: var(--msv2-teal); }
#my-servers-tab.msv2 .msv2-btn--quick-danger { border-color: rgba(255, 92, 102, .4) !important; }
#my-servers-tab.msv2 .msv2-btn--quick-danger .fa { color: var(--msv2-error); }
#my-servers-tab.msv2 .msv2-btn--quick .fa-check { color: #7ff0d4 !important; }
#my-servers-tab.msv2 .msv2-mapbox { display: flex; gap: 14px; align-items: flex-start; }
#my-servers-tab.msv2 .msv2-mapbox__controls { flex: 1 1 auto; min-width: 0; }
#my-servers-tab.msv2 .myservers-map { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
#my-servers-tab.msv2 .myservers-map .map-search-wrapper { flex: 1 1 220px; min-width: 200px; max-width: 360px; position: relative; }
#my-servers-tab.msv2 .myservers-map .map-search-input { width: 100%; }
#my-servers-tab.msv2 .myservers-map .map-search-select-hidden { display: none; }
#my-servers-tab.msv2 .map-search-dropdown {
    display: none; position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 30;
    max-height: 240px; overflow-y: auto; background: var(--msv2-panel-2); border: 1px solid var(--msv2-border-2); border-radius: 8px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .45);
}
#my-servers-tab.msv2 .map-search-dropdown.open { display: block; }
#my-servers-tab.msv2 .map-search-option {
    display: block; width: 100%; padding: 8px 12px; border: none; background: none; color: var(--msv2-text);
    text-align: left; font-family: inherit; font-size: 14px; cursor: pointer;
}
#my-servers-tab.msv2 .map-search-option:hover { background: rgba(0, 227, 176, .1); }
#my-servers-tab.msv2 .map-search-option.hidden { display: none; }
#my-servers-tab.msv2 .myservers-map__hint { margin-top: 6px; font-size: 12px; }
#my-servers-tab.msv2 .msv2-modes { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, .05); }
#my-servers-tab.msv2 .msv2-modes__label { font-size: 13px; color: var(--msv2-muted); }
#my-servers-tab.msv2 .msv2-linkline { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
#my-servers-tab.msv2 .msv2-linkline a { font-size: 14px; word-break: break-all; color: #fff; text-decoration: underline; }
#my-servers-tab.msv2 .msv2-pin { gap: 6px; }
#my-servers-tab.msv2 .msv2-pin .msv2-btn { min-height: 38px; padding: 0 12px !important; font-size: 13px !important; }
#my-servers-tab.msv2 .msv2-pin .fa-check { color: #97b124; }

/* settings */
#my-servers-tab.msv2 .msv2-settings__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
#my-servers-tab.msv2 .msv2-settings__head h3 { font-size: 20px; }
#my-servers-tab.msv2 .msv2-search { position: relative; flex: 0 1 300px; min-width: 200px; }
#my-servers-tab.msv2 .msv2-search .fa { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); color: var(--msv2-muted); }
#my-servers-tab.msv2 .msv2-search input { width: 100%; padding-left: 32px !important; }
#my-servers-tab.msv2 .msv2-presets-slot:empty { display: none; }
#my-servers-tab.msv2 .mode-presets { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
#my-servers-tab.msv2 .mode-presets__label { font-size: 12px; color: var(--msv2-muted); text-transform: uppercase; letter-spacing: .6px; margin-right: 4px; }
#my-servers-tab.msv2 .mode-presets__button {
    min-height: 38px; padding: 0 18px; border-radius: var(--msv2-control); border: 1px solid var(--msv2-border-2);
    background: #071a2a; color: var(--msv2-text); font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer;
    transition: border-color .15s, background .15s;
}
#my-servers-tab.msv2 .mode-presets__button:hover { border-color: var(--msv2-teal); }
#my-servers-tab.msv2 .mode-presets__button--applied { border-color: var(--msv2-teal); background: rgba(0, 227, 176, .15); color: #7ff0d4; }
#my-servers-tab.msv2 .msv2-hint { margin: 0 0 12px; padding: 10px 12px; border-radius: 8px; line-height: 1.5; font-size: 13.5px; color: #dbe7ef; border: 1px solid var(--msv2-border); background: rgba(255, 255, 255, .02); }
#my-servers-tab.msv2 .msv2-hint--cw { border-color: rgba(151, 177, 36, .4); }
#my-servers-tab.msv2 .msv2-hint--hl { border-color: rgba(255, 140, 26, .5); }
#my-servers-tab.msv2 .msv2-hint--zm { border-color: rgba(210, 42, 53, .5); }
#my-servers-tab.msv2 .msv2-groups { display: flex; flex-direction: column; gap: 8px; }
#my-servers-tab.msv2 .msv2-group { border: 1px solid var(--msv2-border); border-radius: 10px; background: rgba(7, 26, 42, .6); }
#my-servers-tab.msv2 .msv2-group__head {
    display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 14px; cursor: pointer; list-style: none;
    font-size: 15px; font-weight: 700; user-select: none;
}
#my-servers-tab.msv2 .msv2-group__head::-webkit-details-marker { display: none; }
#my-servers-tab.msv2 .msv2-group__head > .fa:first-child { color: var(--msv2-muted); width: 16px; text-align: center; }
#my-servers-tab.msv2 .msv2-group__title { flex: 1 1 auto; }
#my-servers-tab.msv2 .msv2-group__count { font-size: 11px; color: var(--msv2-muted); padding: 1px 7px; border-radius: 9px; border: 1px solid var(--msv2-border); }
#my-servers-tab.msv2 .msv2-group__chevron { font-size: 11px; color: var(--msv2-muted); transition: transform .15s; }
#my-servers-tab.msv2 .msv2-group[open] > .msv2-group__head .msv2-group__chevron { transform: rotate(180deg); }
#my-servers-tab.msv2 .msv2-group[open] > .msv2-group__head { border-bottom: 1px solid var(--msv2-border); }
#my-servers-tab.msv2 .msv2-group.has-dirty > .msv2-group__head .msv2-group__title::after { content: '•'; color: var(--msv2-warn); margin-left: 6px; }
#my-servers-tab.msv2 .msv2-group > .msv2-rows { padding: 0 14px; }
#my-servers-tab.msv2 .msv2-group.is-hidden-search { display: none; }
#my-servers-tab.msv2 .msv2-settings__nothing { padding: 24px; text-align: center; color: var(--msv2-muted); }
#my-servers-tab.msv2 .msv2-legend { margin-top: 12px; font-size: 12.5px; color: var(--msv2-muted); }
#my-servers-tab.msv2 .msv2-legend .fa { color: #b0fb52; }

/* rotation */
#my-servers-tab.msv2 .msv2-rotation { margin-top: 6px; padding-top: 6px; border-top: 1px solid rgba(255, 255, 255, .05); }
#my-servers-tab.msv2 .msv2-rotation__list-title { font-size: 12px; color: var(--msv2-muted); text-transform: uppercase; letter-spacing: .6px; margin: 10px 0 6px; }
#my-servers-tab.msv2 .msv2-rotation__list { display: flex; flex-direction: column; gap: 6px; }
#my-servers-tab.msv2 .mapcycle-item { display: flex; align-items: center; gap: 10px; }
#my-servers-tab.msv2 .mapcycle-item::before { content: counter(msv2-map) '.'; counter-increment: msv2-map; color: var(--msv2-muted); font-weight: 700; width: 22px; text-align: right; }
#my-servers-tab.msv2 .msv2-rotation__list { counter-reset: msv2-map; }
#my-servers-tab.msv2 .mapcycle-item .msv2-rotation__thumb { width: 64px; height: 40px; }
#my-servers-tab.msv2 .mapcycle-item select { min-width: 200px; max-width: 320px; }
#my-servers-tab.msv2 .msv2-rotation__remove, #my-servers-tab.msv2 .mapcycle-item > a {
    display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px;
    color: #ff8d94 !important; border: 1px solid rgba(255, 92, 102, .35); font-size: 14px; margin: 0 !important;
}
#my-servers-tab.msv2 .msv2-rotation__remove:hover, #my-servers-tab.msv2 .mapcycle-item > a:hover { background: rgba(255, 92, 102, .15); color: #fff !important; }
#my-servers-tab.msv2 .msv2-rotation__add { display: flex; align-items: center; gap: 10px; margin-top: 10px; }

/* moderation */
#my-servers-tab.msv2 .msv2-moderation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; align-items: start; }
#my-servers-tab.msv2 .msv2-moderation .msv2-card + .msv2-card { margin-top: 0; }
#my-servers-tab.msv2 .msv2-helpers__list { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; font-size: 14px; }
#my-servers-tab.msv2 .msv2-helpers__list:empty::before { content: '—'; color: var(--msv2-muted); }
#my-servers-tab.msv2 .msv2-helpers__list.fa-spinner::before { color: var(--msv2-muted); }
#my-servers-tab.msv2 .msv2-helpers__list > div { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 8px; background: rgba(255, 255, 255, .03); border: 1px solid var(--msv2-border); }
#my-servers-tab.msv2 .msv2-helpers__list a.admin_delete { color: #ff8d94 !important; cursor: pointer; margin-left: auto; font-size: 12px; }
#my-servers-tab.msv2 .msv2-helpers__list br { display: none; }
#my-servers-tab.msv2 .msv2-helpers__add { display: flex; gap: 8px; flex-wrap: wrap; }
#my-servers-tab.msv2 .msv2-helpers__add .msv2-input { flex: 1 1 160px; max-width: 220px; }
#my-servers-tab.msv2 .msv2-helpers__msg { display: block; margin-top: 8px; font-size: 12.5px; color: var(--msv2-muted); }
#my-servers-tab.msv2 .msv2-modgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
#my-servers-tab.msv2 .msv2-modgrid .server_admins { display: contents; }
#my-servers-tab.msv2 .msv2-modbtn {
    display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-height: 56px; padding: 10px 12px !important; margin: 0 !important;
    border-radius: 9px !important; border: 1px solid var(--msv2-border-2) !important; background: #0b2536 !important; color: var(--msv2-text) !important;
    font-family: var(--msv2-font) !important; font-size: 14px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important;
    cursor: pointer; text-shadow: none !important; position: relative; line-height: 1.2;
}
#my-servers-tab.msv2 .msv2-modbtn:hover { border-color: var(--msv2-teal) !important; }
#my-servers-tab.msv2 .msv2-modbtn .fa { color: var(--msv2-teal); margin-right: 4px; }
#my-servers-tab.msv2 .msv2-modbtn .fa.notice { color: var(--msv2-teal); }
#my-servers-tab.msv2 .msv2-modbtn small { font-size: 11.5px; color: var(--msv2-muted); font-weight: 500; }
#my-servers-tab.msv2 .msv2-modbtn--sub { min-height: 44px; flex-direction: row; align-items: center; font-weight: 600 !important; background: rgba(255, 255, 255, .02) !important; }
#my-servers-tab.msv2 .smm-btn-badge {
    position: absolute; top: 8px; right: 10px; display: inline-block; min-width: 18px; text-align: center;
    padding: 0 5px; border-radius: 9px; font-size: 11px; font-weight: 700; background: #c0392b; color: #fff;
}

/* payment */
#my-servers-tab.msv2 .msv2-payment { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; align-items: start; }
#my-servers-tab.msv2 .msv2-payment .msv2-card + .msv2-card { margin-top: 0; }
#my-servers-tab.msv2 .msv2-card--pay { border-color: rgba(231, 185, 75, .35); }
#my-servers-tab.msv2 .msv2-payment__date { font-size: 30px; font-weight: 700; line-height: 1; margin: 4px 0 8px; }
#my-servers-tab.msv2 .msv2-payment__warn { color: var(--msv2-warn); font-weight: 700; margin-bottom: 10px; }
#my-servers-tab.msv2 .msv2-payment__hint { margin: 10px 0; line-height: 1.4; }
#my-servers-tab.msv2 .msv2-payment__balance { font-size: 14px; color: var(--msv2-muted); display: flex; gap: 8px; flex-wrap: wrap; }
#my-servers-tab.msv2 .msv2-payment__promo { display: flex; gap: 8px; flex-wrap: wrap; }
#my-servers-tab.msv2 .msv2-payment__promoted { margin-top: 10px; color: var(--msv2-gold); font-weight: 700; }
#my-servers-tab.msv2 .msv2-pill--promo { height: 30px; font-size: 12.5px; border-color: rgba(231, 185, 75, .5); color: #f3d37c; }
#my-servers-tab.msv2 .msv2-pill--promo .fa { color: var(--msv2-gold); }
#my-servers-tab.msv2 .msv2-promo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; margin-top: 4px; }
#my-servers-tab.msv2 .msv2-promo { display: flex; flex-direction: column; gap: 4px; }
#my-servers-tab.msv2 .msv2-btn--promo { flex-direction: column; align-items: flex-start; gap: 2px; min-height: 58px; padding: 8px 12px !important; text-align: left; width: 100%; }
#my-servers-tab.msv2 .msv2-btn--promo .msv2-promo__label { font-size: 13px; font-weight: 600; color: #cfe0ec; }
#my-servers-tab.msv2 .msv2-btn--promo .msv2-promo__price { font-size: 17px; color: var(--msv2-gold); }
#my-servers-tab.msv2 .msv2-btn--promo-long { border-color: rgba(231, 185, 75, .4) !important; }
#my-servers-tab.msv2 .msv2-promo.is-locked .msv2-btn--promo { opacity: .5; cursor: not-allowed; transform: none; }
#my-servers-tab.msv2 .msv2-promo__meta { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 12px; color: var(--msv2-muted); padding: 0 2px; }
#my-servers-tab.msv2 .msv2-promo__discount { color: #7ff0d4; font-weight: 700; }
#my-servers-tab.msv2 .msv2-promo__lock { color: var(--msv2-warn); }
#my-servers-tab.msv2 .msv2-promo-help { margin-top: 14px; border-top: 1px solid rgba(255, 255, 255, .06); padding-top: 10px; }
#my-servers-tab.msv2 .msv2-promo-help summary { cursor: pointer; list-style: none; font-weight: 700; font-size: 14px; color: #cfe0ec; display: flex; align-items: center; gap: 8px; }
#my-servers-tab.msv2 .msv2-promo-help summary::-webkit-details-marker { display: none; }
#my-servers-tab.msv2 .msv2-promo-help summary .fa { color: var(--msv2-teal); }
#my-servers-tab.msv2 .msv2-promo-help ul { margin: 8px 0 0; padding: 0 0 0 18px; font-size: 13px; line-height: 1.45; color: #cfe0ec; }
#my-servers-tab.msv2 .msv2-promo-help li { margin: 4px 0; }
#my-servers-tab.msv2 .msv2-promo-help li::marker { color: var(--msv2-teal); }

/* danger */
#my-servers-tab.msv2 .msv2-card--danger { border-color: rgba(255, 92, 102, .4); }
#my-servers-tab.msv2 .msv2-card--danger h3 .fa { color: var(--msv2-error); }
#my-servers-tab.msv2 .msv2-card--danger .fa-check { color: #7ff0d4 !important; }

/* footer messages (used by JS as a phrase dictionary) */
#my-servers-tab.msv2 .msv2-footer { margin-top: 10px; }
#my-servers-tab.msv2 #server_owner_messages { display: none; }

/* ==========================================================================
   Sticky save bar (moved to <body> by JS; also works inline)
   ========================================================================== */
.msv2-savebar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(6, 19, 30, .96); border-top: 1px solid rgba(255, 190, 69, .4);
    box-shadow: 0 -12px 40px rgba(0, 0, 0, .45); backdrop-filter: blur(8px);
    font-family: 'Rajdhani', 'Segoe UI', Arial, sans-serif; color: #f2f7fb;
    animation: msv2-savebar-in .2s ease-out;
}
.msv2-savebar[hidden] { display: none !important; }
@keyframes msv2-savebar-in { from { transform: translateY(100%); } to { transform: translateY(0); } }
.msv2-savebar__inner { max-width: 1600px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.msv2-savebar__text { display: flex; align-items: center; gap: 12px; min-width: 0; }
.msv2-savebar__text > .fa { font-size: 22px; color: #ffbe45; }
.msv2-savebar__text b { display: block; font-size: 15px; color: #ffbe45; }
.msv2-savebar__text small { display: block; font-size: 12.5px; color: #8fa8ba; }
.msv2-savebar.is-error .msv2-savebar__text > .fa, .msv2-savebar.is-error .msv2-savebar__text b { color: #ff5c66; }
.msv2-savebar.is-error { border-top-color: rgba(255, 92, 102, .5); }
.msv2-savebar.is-saved .msv2-savebar__text > .fa, .msv2-savebar.is-saved .msv2-savebar__text b { color: #00e3b0; }
.msv2-savebar.is-saved { border-top-color: rgba(0, 227, 176, .5); }
.msv2-savebar__actions { display: flex; gap: 8px; margin-left: auto; }
.msv2-savebar__actions .msv2-btn { min-width: 130px; min-height: 44px; }
.msv2-savebar .save-btn3 .fa-spinner { display: none; }
.msv2-savebar .save-btn3:disabled .fa-spinner { display: inline-block; }
.msv2-savebar .save-btn3:disabled .fa-floppy-o { display: none; }
.msv2-savebar .save-btn3 span { color: inherit !important; }

/* toast */
.msv2-toast {
    position: fixed; left: 50%; bottom: 90px; transform: translateX(-50%) translateY(20px); z-index: 95;
    padding: 10px 16px; border-radius: 9px; background: rgba(11, 32, 49, .98); border: 1px solid #245573; color: #f2f7fb;
    font-family: 'Rajdhani', 'Segoe UI', Arial, sans-serif; font-size: 14px; font-weight: 700; opacity: 0; pointer-events: none;
    transition: opacity .2s, transform .2s; box-shadow: 0 16px 40px rgba(0, 0, 0, .45);
}
.msv2-toast.is-show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ==========================================================================
   Server manage modal (same markup as v1)
   ========================================================================== */
#server_manage_overlay {
    display: none; position: fixed; z-index: 99999; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.65); backdrop-filter: blur(2px);
}
#server_manage_modal {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: min(760px, 94vw); max-height: 86vh; display: flex; flex-direction: column;
    background: rgba(10,14,24,0.98); border: 1px solid rgba(255,255,255,0.12);
    border-radius: 12px; padding: 0; color: #fff;
    font-family: 'Rajdhani','Segoe UI',sans-serif;
    box-shadow: 0 20px 60px rgba(0,0,0,0.6);
}
#server_manage_modal .smm-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid rgba(255,255,255,0.08); }
#server_manage_modal .smm-title { font-size: 15px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.85); }
#server_manage_modal .smm-title .cvar-name { font-size: 15px; color: #b0fb52; }
#server_manage_modal .smm-close { cursor: pointer; color: rgba(255,255,255,0.5); font-size: 18px; padding: 4px 6px; }
#server_manage_modal .smm-close:hover { color: #ff8181; }
#server_manage_modal .smm-tabs { display: flex; gap: 4px; padding: 10px 18px 0; flex-wrap: wrap; }
#server_manage_modal .smm-tab {
    cursor: pointer; padding: 7px 14px; border-radius: 6px 6px 0 0; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
    color: rgba(255,255,255,0.5) !important; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06); border-bottom: none;
    text-decoration: none; user-select: none;
}
#server_manage_modal .smm-tab:hover { color: #fff !important; }
#server_manage_modal .smm-tab.active { color: #fff !important; background: rgba(74,138,181,0.25); border-color: rgba(74,138,181,0.4); }
#server_manage_modal .smm-count { display: inline-block; min-width: 16px; text-align: center; margin-left: 4px; padding: 0 5px; border-radius: 9px; font-size: 11px; background: rgba(255,255,255,0.12); color: rgba(255,255,255,0.7); }
#server_manage_modal .smm-count.smm-count--alert { background: #c0392b; color: #fff; }
#server_manage_modal .smm-toolbar { display: flex; gap: 8px; align-items: center; padding: 12px 18px; border-bottom: 1px solid rgba(255,255,255,0.08); }
#server_manage_modal .smm-toolbar input { flex: 1; padding: 8px 12px; border-radius: 6px; border: 1px solid rgba(255,255,255,0.12); background: rgba(0,0,0,0.3); color: #fff; font-family: 'Rajdhani',sans-serif; font-size: 14px; outline: none; }
#server_manage_modal .smm-toolbar input:focus { border-color: rgba(74,138,181,0.5); }
#server_manage_modal .smm-refresh { padding: 8px 14px !important; border-radius: 6px !important; border: 1px solid #245573 !important; background: #0b2536 !important; color: #fff !important; font-family: 'Rajdhani',sans-serif !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
#server_manage_modal .smm-body { overflow-y: auto; flex: 1; min-height: 120px; padding: 0 18px; }
#server_manage_modal .smm-table { width: 100%; border-collapse: collapse; font-size: 13px; }
#server_manage_modal .smm-table th { position: sticky; top: 0; background: rgba(10,14,24,0.98); z-index: 1; text-align: left; padding: 8px 8px; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,0.4); border-bottom: 1px solid rgba(255,255,255,0.1); }
#server_manage_modal .smm-table td { padding: 7px 8px; border-bottom: 1px solid rgba(255,255,255,0.04); vertical-align: top; }
#server_manage_modal .smm-table tr:hover td { background: rgba(255,255,255,0.02); }
#server_manage_modal .smm-table a { color: #7bbce0 !important; text-decoration: none; }
#server_manage_modal .smm-table a:hover { color: #fff !important; }
#server_manage_modal .smm-action { cursor: pointer; display: inline-block; padding: 2px 10px; margin: 1px 2px; border-radius: 4px; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; user-select: none; }
#server_manage_modal .smm-action--kick { background: rgba(232,192,64,0.15); color: #e8c040 !important; }
#server_manage_modal .smm-action--ban { background: rgba(192,57,43,0.2); color: #ff8181 !important; }
#server_manage_modal .smm-action--unban, #server_manage_modal .smm-action--approve { background: rgba(176,251,82,0.12); color: #b0fb52 !important; }
#server_manage_modal .smm-action--deny { background: rgba(192,57,43,0.2); color: #ff8181 !important; }
#server_manage_modal .smm-action:hover { filter: brightness(1.3); }
#server_manage_modal .smm-empty { text-align: center; color: rgba(255,255,255,0.4); padding: 30px 0; font-size: 14px; }
#server_manage_modal .smm-foot { display: flex; align-items: center; justify-content: space-between; padding: 10px 18px; border-top: 1px solid rgba(255,255,255,0.08); font-size: 12px; color: rgba(255,255,255,0.4); }
#server_manage_modal .smm-msg { word-break: break-word; white-space: pre-wrap; color: rgba(255,255,255,0.75); }
#server_manage_modal .smm-sub { color: rgba(255,255,255,0.4); font-size: 12px; }
#server_manage_modal .smm-status--approved { color: #b0fb52; font-weight: 700; }
#server_manage_modal .smm-status--denied { color: #ff8181; font-weight: 700; }
#server_manage_modal .smm-status--kick { color: #e8c040; font-weight: 700; }
#server_manage_modal .smm-deny-form { margin-top: 6px; }
#server_manage_modal textarea { width: 100%; box-sizing: border-box; min-height: 50px; padding: 6px 10px; border-radius: 6px; border: 1px solid rgba(255,255,255,0.15); background: rgba(0,0,0,0.45); color: #fff; font-family: 'Rajdhani','Segoe UI',sans-serif; font-size: 13px; outline: none; resize: vertical; }
#server_manage_modal textarea:focus { border-color: rgba(74,138,181,0.5); }
#server_manage_modal textarea::placeholder { color: rgba(255,255,255,0.35); }
#server_manage_modal .smm-options { padding: 8px 18px 10px; border-bottom: 1px solid rgba(255,255,255,0.06); display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; }
#server_manage_modal .smm-options label { display: inline-flex !important; align-items: center; margin: 0 !important; font-size: 13px; color: #fff; cursor: pointer; font-weight: 600; }
#server_manage_modal .smm-options input[type="checkbox"] { -webkit-appearance: checkbox; appearance: auto; display: inline-block !important; position: static !important; width: 14px; height: 14px; margin: 0 8px 0 0; padding: 0; opacity: 1 !important; visibility: visible !important; cursor: pointer; }
#server_manage_modal .smm-options__hint { color: rgba(255,255,255,0.4); font-size: 12px; }
#server_manage_modal .smm-inline-check { display: flex !important; align-items: center; gap: 7px; margin: 6px 0 !important; font-size: 12px; color: rgba(255,255,255,0.75); cursor: pointer; font-weight: 600; }
#server_manage_modal .smm-inline-check input[type="checkbox"] { -webkit-appearance: checkbox; appearance: auto; display: inline-block !important; position: static !important; width: 13px; height: 13px; margin: 0; opacity: 1 !important; visibility: visible !important; }
#server_manage_modal .smm-status--forever { color: #ff8181; font-weight: 700; }
#server_manage_modal .smm-action--forever { background: rgba(192,57,43,0.35); color: #ffb3b3 !important; }
#server_manage_modal .smm-action--remove { background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.75) !important; }

/* map picker (quick action in the list) */
.msv2-mapmodal-overlay {
    position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 99998; background: rgba(0, 0, 0, .65); backdrop-filter: blur(2px);
    display: flex; align-items: center; justify-content: center; padding: 16px;
    font-family: 'Rajdhani', 'Segoe UI', Arial, sans-serif; color: #f2f7fb;
}
.msv2-mapmodal-overlay[hidden] { display: none !important; }
.msv2-mapmodal {
    width: min(560px, 100%); max-height: 84vh; display: flex; flex-direction: column;
    background: rgba(11, 32, 49, .98); border: 1px solid #245573; border-radius: 12px; box-shadow: 0 24px 60px rgba(0, 0, 0, .6);
}
.msv2-mapmodal__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; border-bottom: 1px solid #173952; }
.msv2-mapmodal__head strong { display: block; font-size: 17px; }
.msv2-mapmodal__head .msv2-muted { font-size: 13px; color: #8fa8ba; }
.msv2-mapmodal__head .msv2-iconbtn { width: 32px; height: 32px; border-radius: 8px; border: 1px solid transparent; background: none; color: #8fa8ba; cursor: pointer; }
.msv2-mapmodal__head .msv2-iconbtn:hover { color: #fff; border-color: #245573; }
.msv2-mapmodal__search { position: relative; margin: 12px 16px 8px; }
.msv2-mapmodal__search .fa { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); color: #8fa8ba; }
.msv2-mapmodal__search input {
    width: 100%; height: 38px; padding: 0 12px 0 32px; border-radius: 8px; border: 1px solid #245573; background: #071a2a; color: #f2f7fb;
    font-family: inherit; font-size: 14px; font-weight: 600; outline: none;
}
.msv2-mapmodal__search input:focus { border-color: #00e3b0; }
.msv2-mapmodal__list { overflow-y: auto; padding: 0 8px 8px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.msv2-mapmodal__item {
    display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 10px; padding: 6px 8px;
    border-radius: 8px; border: 1px solid transparent; background: none; color: #f2f7fb; text-align: left; cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 600;
}
.msv2-mapmodal__item:hover { background: rgba(0, 227, 176, .1); border-color: rgba(0, 227, 176, .35); }
.msv2-mapmodal__item.is-current { border-color: #245573; opacity: .6; }
.msv2-mapmodal__item.is-hidden { display: none; }
.msv2-mapmodal__item .msv2-mapthumb { width: 64px; height: 40px; border-radius: 6px; overflow: hidden; background: #071a2a; border: 1px solid #173952; position: relative; }
.msv2-mapmodal__item .msv2-mapthumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.msv2-mapmodal__item span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.msv2-mapmodal__hint { padding: 8px 16px 12px; font-size: 12.5px; color: #8fa8ba; border-top: 1px solid #173952; }
.msv2-mapmodal__empty { grid-column: 1 / -1; padding: 20px; text-align: center; color: #8fa8ba; }
.msv2-mapmodal__empty[hidden] { display: none; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1279px) {
    #my-servers-tab.msv2 .msv2-overview { grid-template-columns: minmax(0, 1fr) 280px; }
    #my-servers-tab.msv2 .msv2-item { grid-template-columns: minmax(0, 1fr) auto; }
    #my-servers-tab.msv2 .msv2-item__actions { grid-column: 1 / -1; justify-content: flex-end; }
}
@media (max-width: 1023px) {
    #my-servers-tab.msv2 .msv2-overview { grid-template-columns: 1fr; }
    #my-servers-tab.msv2 .msv2-overview__side { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    #my-servers-tab.msv2 .msv2-overview__side .msv2-card + .msv2-card { margin-top: 0; }
    #my-servers-tab.msv2 .msv2-item__meta { grid-template-columns: auto auto auto auto; }
    #my-servers-tab.msv2 .msv2-moderation, #my-servers-tab.msv2 .msv2-payment { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    .tab-content #my-servers-tab.msv2.tab-pane.active { padding-left: 16px !important; padding-right: 16px !important; overflow-x: hidden; }
    #my-servers-tab.msv2 .msv2-topbar { gap: 8px; }
    #my-servers-tab.msv2 .msv2-switcher-trigger { flex: 1 1 auto; justify-content: center; }
    #my-servers-tab.msv2 .msv2-rent-btn { margin-left: 0; flex: 1 1 auto; }
    #my-servers-tab.msv2 .msv2-chips { width: 100%; }
    #my-servers-tab.msv2 .msv2-chip { flex: 1 1 0; min-width: 0; min-height: 44px; }
    #my-servers-tab.msv2 .msv2-summary { width: 100%; margin-left: 0; display: grid; grid-template-columns: 1fr 1fr; }
    #my-servers-tab.msv2 .msv2-popover { width: 100%; max-height: 70vh; }
    #my-servers-tab.msv2 .msv2-popover__head { position: sticky; top: 0; background: var(--msv2-panel-2); z-index: 1; }
    #my-servers-tab.msv2 .msv2-item { grid-template-columns: 1fr; gap: 8px; padding: 10px; border-color: var(--msv2-border); margin-bottom: 6px; }
    #my-servers-tab.msv2 .msv2-item__open { grid-template-columns: 56px minmax(0, 1fr); }
    #my-servers-tab.msv2 .msv2-item__meta { display: flex; flex-wrap: wrap; gap: 8px; }
    #my-servers-tab.msv2 .msv2-item__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
    #my-servers-tab.msv2 .msv2-btn--row { min-height: 44px; }
    .msv2-mapmodal__list { grid-template-columns: 1fr; }
    #my-servers-tab.msv2 .msv2-head { grid-template-columns: auto minmax(0, 1fr); gap: 12px; }
    #my-servers-tab.msv2 .msv2-thumb--head { width: 88px; height: 56px; }
    #my-servers-tab.msv2 .msv2-head__name { font-size: 20px !important; white-space: normal; }
    #my-servers-tab.msv2 .msv2-head__stats { grid-column: 1 / -1; justify-content: flex-start; }
    #my-servers-tab.msv2 .msv2-btn--play { flex: 1 1 100%; min-height: 48px; }
    #my-servers-tab.msv2 .msv2-tabs { flex-wrap: wrap; overflow: visible; }
    #my-servers-tab.msv2 .msv2-tab { padding: 0 12px; flex: 1 1 auto; justify-content: center; }
    #my-servers-tab.msv2 .msv2-overview__side { grid-template-columns: 1fr; order: -1; }
    #my-servers-tab.msv2 .msv2-quick { display: grid; grid-template-columns: 1fr 1fr; }
    #my-servers-tab.msv2 .msv2-quick .msv2-btn--quick:first-child { grid-column: 1 / -1; }
    #my-servers-tab.msv2 .msv2-row { flex-wrap: wrap; }
    #my-servers-tab.msv2 .msv2-rows--grid { grid-template-columns: 1fr; }
    #my-servers-tab.msv2 .msv2-rows--grid > .msv2-row:not(.msv2-row--full):nth-child(even) { padding-right: 0; border-right: none; }
    #my-servers-tab.msv2 .msv2-rows--grid > .msv2-row:not(.msv2-row--full):nth-child(odd) { padding-left: 0; }
    #my-servers-tab.msv2 .msv2-shell.is-list .msv2-popover__list { max-height: none; }
    #my-servers-tab.msv2 .msv2-row__text { flex: 1 1 180px; }
    #my-servers-tab.msv2 .msv2-row__control { max-width: 100%; flex: 1 1 auto; justify-content: flex-end; }
    #my-servers-tab.msv2 .msv2-row__control--wide .msv2-input { width: 100%; }
    #my-servers-tab.msv2 .msv2-row__control .msv2-select { max-width: 100%; }
    #my-servers-tab.msv2 .msv2-mapbox { flex-direction: column; }
    #my-servers-tab.msv2 .msv2-thumb--map { width: 100%; height: 140px; }
    #my-servers-tab.msv2 .myservers-map .map-search-wrapper { max-width: 100%; flex-basis: 100%; }
    #my-servers-tab.msv2 .myservers-map .myservers-map__apply { flex: 1 1 100%; min-height: 44px; }
    #my-servers-tab.msv2 .msv2-settings__head { flex-direction: column; align-items: stretch; }
    #my-servers-tab.msv2 .msv2-search { flex-basis: auto; }
    #my-servers-tab.msv2 .mode-presets__button { flex: 1 1 0; }
    #my-servers-tab.msv2 .msv2-modgrid { grid-template-columns: 1fr; }
    #my-servers-tab.msv2 .msv2-pin { width: 100%; }
    #my-servers-tab.msv2 .msv2-promo-grid { grid-template-columns: 1fr 1fr; }
    #my-servers-tab.msv2 .msv2-pin .msv2-btn { flex: 1 1 auto; min-height: 44px; }
    #my-servers-tab.msv2 .mapcycle-item select { min-width: 0; flex: 1 1 auto; }
    #my-servers-tab.msv2 .msv2-card { padding: 14px; }
    .msv2-savebar__actions { width: 100%; margin-left: 0; }
    .msv2-savebar__actions .msv2-btn { flex: 1 1 0; min-width: 0; }
    #server_manage_modal { width: 96vw; max-height: 92vh; }
}
