:root {
    color-scheme: dark;

    --panel-background: #101214;
    --panel-background-soft: #15181c;
    --panel-card: #080a0c;
    --panel-card-secondary: #101317;
    --panel-border: #30363d;
    --panel-border-light: #495057;
    --panel-text: #f8f9fa;
    --panel-muted: #9ca3af;
    --panel-primary: #0d6efd;
    --panel-sidebar-width: 280px;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
}

body {
    min-height: 100vh;

    background:
        radial-gradient(
            circle at top,
            #20242a 0%,
            #15171a 38%,
            #101214 100%
        );

    color: var(--panel-text);
}

a {
    text-decoration: none;
}

.panel-navbar {
    min-height: 68px;

    background-color: rgba(5, 5, 5, 0.94);

    border-bottom: 1px solid var(--panel-border);

    backdrop-filter: blur(12px);

    position: sticky;
    top: 0;
    z-index: 1030;
}

.brand-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    background-color: rgba(13, 110, 253, 0.15);

    border: 1px solid rgba(13, 110, 253, 0.35);
    border-radius: 10px;
}

.admin-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    background-color: var(--panel-primary);

    color: #ffffff;
    font-weight: 700;

    border-radius: 50%;
}

.page-eyebrow,
.server-game-label,
.sidebar-label {
    color: #6ea8fe;

    font-size: 0.78rem;
    font-weight: 700;

    letter-spacing: 0.08em;

    text-transform: uppercase;
}

.server-card {
    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            rgba(17, 20, 24, 0.98),
            rgba(7, 9, 11, 0.98)
        );

    color: var(--panel-text);

    border: 1px solid var(--panel-border);
    border-radius: 16px;

    box-shadow:
        0 10px 30px
        rgba(0, 0, 0, 0.22);

    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.server-card:hover {
    transform: translateY(-4px);

    border-color: #6c757d;

    box-shadow:
        0 16px 35px
        rgba(0, 0, 0, 0.36);
}

.server-details dt,
.server-details dd {
    padding-top: 5px;
    padding-bottom: 5px;

    margin-bottom: 0;
}

.stat-card {
    height: 100%;

    padding: 22px;

    background:
        linear-gradient(
            145deg,
            rgba(10, 12, 14, 0.98),
            rgba(5, 6, 7, 0.98)
        );

    border: 1px solid var(--panel-border);
    border-radius: 16px;

    display: flex;
    flex-direction: column;

    box-shadow:
        0 8px 22px
        rgba(0, 0, 0, 0.2);
}

.stat-label,
.panel-info-label {
    color: var(--panel-muted);
    font-size: 0.9rem;
}

.stat-value {
    margin-top: 8px;

    font-size: 2rem;
    line-height: 1;
}

.status-badge {
    min-width: 82px;

    padding: 8px 12px;

    font-weight: 600;
    text-align: center;
}

.status-badge.online {
    background-color: #198754;
    color: #ffffff;
}

.status-badge.offline {
    background-color: #6c757d;
    color: #ffffff;
}

.status-badge.restarting {
    background-color: #ffc107;
    color: #212529;
}

.modal-content {
    background-color: #15181c;
    color: #ffffff;

    border: 1px solid var(--panel-border-light);
    border-radius: 16px;
}

.form-control {
    background-color: #101317;
    color: #ffffff;

    border-color: var(--panel-border-light);
}

.form-control:focus {
    background-color: #101317;
    color: #ffffff;

    border-color: var(--panel-primary);

    box-shadow:
        0 0 0 0.25rem
        rgba(13, 110, 253, 0.25);
}

.form-control::placeholder {
    color: #6c757d;
}

.btn {
    font-weight: 500;
}

.empty-state {
    padding: 70px 25px;

    background-color: rgba(8, 10, 12, 0.8);

    border: 1px dashed var(--panel-border-light);
    border-radius: 16px;

    text-align: center;
}

.empty-state-icon {
    margin-bottom: 15px;

    font-size: 3rem;
}

/* Panel pojedynczego serwera */

.server-panel-layout {
    min-height: calc(100vh - 68px);

    display: grid;
    grid-template-columns: var(--panel-sidebar-width) minmax(0, 1fr);
}

.server-sidebar {
    min-height: calc(100vh - 68px);

    padding: 24px 18px;

    background-color: rgba(8, 10, 12, 0.96);

    border-right: 1px solid var(--panel-border);

    display: flex;
    flex-direction: column;

    position: sticky;
    top: 68px;

    align-self: start;
}

.sidebar-server-info {
    padding: 15px;

    background-color: var(--panel-card-secondary);

    border: 1px solid var(--panel-border);
    border-radius: 14px;
}

.server-navigation {
    display: flex;
    flex-direction: column;
    gap: 5px;

    margin-top: 24px;
}

.server-nav-link {
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 11px 13px;

    color: #adb5bd;

    border: 1px solid transparent;
    border-radius: 10px;

    transition:
        background-color 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease;
}

.server-nav-link:hover {
    background-color: rgba(255, 255, 255, 0.04);

    color: #ffffff;

    border-color: var(--panel-border);
}

.server-nav-link.active {
    background-color: rgba(13, 110, 253, 0.16);

    color: #ffffff;

    border-color: rgba(13, 110, 253, 0.42);
}

.nav-icon {
    width: 24px;

    text-align: center;
}

.sidebar-footer {
    margin-top: auto;
    padding-top: 24px;
}

.server-panel-content {
    min-width: 0;

    padding: 36px;
}

.panel-info-card,
.panel-section-card {
    background:
        linear-gradient(
            145deg,
            rgba(15, 18, 21, 0.98),
            rgba(7, 9, 11, 0.98)
        );

    border: 1px solid var(--panel-border);
    border-radius: 16px;

    box-shadow:
        0 10px 26px
        rgba(0, 0, 0, 0.2);
}

.panel-info-card {
    height: 100%;

    padding: 20px;

    display: flex;
    flex-direction: column;
    gap: 7px;
}

.panel-info-value {
    overflow-wrap: anywhere;

    font-size: 1.2rem;
}

.panel-section-card {
    padding: 24px;
}

.panel-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;

    margin-bottom: 25px;
}

.resource-row + .resource-row {
    margin-top: 24px;
}

.progress {
    height: 9px;

    background-color: #252a30;
}

.server-panel-details {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.server-panel-details > div {
    display: flex;
    justify-content: space-between;
    gap: 20px;

    padding: 12px 0;

    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.server-panel-details > div:last-child {
    border-bottom: 0;
}

.server-panel-details dt {
    color: var(--panel-muted);
    font-weight: 500;
}

.server-panel-details dd {
    margin: 0;

    text-align: right;
    overflow-wrap: anywhere;
}

.placeholder-section {
    min-height: 420px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 40px 20px;

    text-align: center;
}

.placeholder-icon {
    margin-bottom: 20px;

    font-size: 4rem;
}

.development-badge {
    margin-top: 24px;

    padding: 8px 13px;

    background-color: rgba(13, 110, 253, 0.12);

    color: #8bb9fe;

    border: 1px solid rgba(13, 110, 253, 0.3);
    border-radius: 999px;

    font-size: 0.85rem;
}

@media (max-width: 991.98px) {
    .server-panel-layout {
        display: block;
    }

    .server-sidebar {
        min-height: auto;

        position: static;

        border-right: 0;
        border-bottom: 1px solid var(--panel-border);
    }

    .server-navigation {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sidebar-footer {
        margin-top: 20px;
        padding-top: 0;
    }

    .server-panel-content {
        padding: 28px 20px;
    }
}

@media (max-width: 575.98px) {
    .server-card .btn {
        width: 100%;
    }

    .server-navigation {
        grid-template-columns: 1fr;
    }

    .server-panel-content {
        padding: 24px 14px;
    }

    .panel-section-card {
        padding: 18px;
    }
}


/* Konsola v0.7 */

.console-panel {
    overflow: hidden;

    background-color: #07090b;

    border: 1px solid var(--panel-border);
    border-radius: 16px;

    box-shadow:
        0 12px 32px
        rgba(0, 0, 0, 0.32);
}

.console-toolbar {
    min-height: 70px;

    padding: 14px 18px;

    background-color: #111419;

    border-bottom: 1px solid var(--panel-border);

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

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

.console-actions .form-control {
    width: 220px;
}

.console-indicator {
    display: inline-block;

    width: 10px;
    height: 10px;

    border-radius: 50%;
}

.console-indicator.connected {
    background-color: #20c997;

    box-shadow:
        0 0 10px
        rgba(32, 201, 151, 0.7);
}

.console-indicator.connecting {
    background-color: #ffc107;

    box-shadow:
        0 0 10px
        rgba(255, 193, 7, 0.7);
}

.console-indicator.disconnected {
    background-color: #dc3545;

    box-shadow:
        0 0 10px
        rgba(220, 53, 69, 0.6);
}

.console-output {
    height: 560px;

    padding: 18px;

    overflow-x: auto;
    overflow-y: auto;

    background-color: #030405;

    color: #cdd6df;

    font-family:
        Consolas,
        "Courier New",
        monospace;

    font-size: 0.88rem;
    line-height: 1.65;

    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.console-line {
    min-height: 23px;

    padding: 1px 7px;

    border-left: 3px solid transparent;
}

.console-line:hover {
    background-color: rgba(255, 255, 255, 0.035);
}

.console-line-info {
    color: #cdd6df;
}

.console-line-success {
    color: #75d69c;

    border-left-color: #198754;
}

.console-line-warning {
    color: #ffd66b;

    border-left-color: #ffc107;
}

.console-line-error {
    color: #ff8e99;

    border-left-color: #dc3545;
}

.console-line-test {
    color: #8bb9fe;

    border-left-color: #0d6efd;
}

.console-footer {
    padding: 10px 18px;

    background-color: #111419;

    color: var(--panel-muted);

    border-top: 1px solid var(--panel-border);

    display: flex;
    justify-content: flex-end;
    gap: 24px;

    font-size: 0.8rem;
}

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

    .console-actions {
        width: 100%;
    }

    .console-actions .form-control {
        width: 100%;
    }

    .console-output {
        height: 480px;
    }
}
/* v0.8.0 — Menedżer plików */
.file-manager {
    overflow: hidden;
    background: var(--panel-card);
    border: 1px solid var(--panel-border);
    border-radius: 16px;
}

.file-manager-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px;
    border-bottom: 1px solid var(--panel-border);
}

.file-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    min-height: 52px;
    padding: 12px 22px;
    background: rgba(255, 255, 255, 0.018);
    border-bottom: 1px solid var(--panel-border);
}

.file-breadcrumb-button {
    padding: 2px 5px;
    color: #8bb9fe;
    background: transparent;
    border: 0;
    border-radius: 5px;
}

.file-breadcrumb-button:hover,
.file-breadcrumb-button:focus-visible {
    color: #b8d3ff;
    background: rgba(13, 110, 253, 0.12);
}

.file-breadcrumb-separator {
    color: var(--panel-muted);
}

.file-manager-summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    padding: 10px 22px;
    font-size: 0.82rem;
    border-bottom: 1px solid var(--panel-border);
}

.file-manager-state {
    min-height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    padding: 30px;
}

.file-manager-empty-icon {
    font-size: 2.5rem;
}

.file-manager-table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--panel-text);
    --bs-table-border-color: var(--panel-border);
}

.file-manager-table thead th {
    padding: 13px 18px;
    color: var(--panel-muted);
    background: rgba(255, 255, 255, 0.025);
    font-size: 0.76rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.file-manager-table tbody td {
    padding: 13px 18px;
}

.file-manager-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.025);
}

.file-item-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    max-width: 100%;
    padding: 0;
    color: var(--panel-text);
    background: transparent;
    border: 0;
    text-align: left;
}

.file-item-button[data-item-type="directory"] {
    color: #8bb9fe;
    cursor: pointer;
}

.file-item-button[data-item-type="directory"]:hover {
    color: #b8d3ff;
    text-decoration: underline;
}

.file-item-icon {
    width: 24px;
    flex: 0 0 24px;
    text-align: center;
    font-size: 1.15rem;
}

.file-item-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .file-manager-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .file-manager-summary .ms-auto {
        width: 100%;
        margin-left: 0 !important;
    }

    .file-manager-table thead th:nth-child(2),
    .file-manager-table tbody td:nth-child(2),
    .file-manager-table thead th:nth-child(4),
    .file-manager-table tbody td:nth-child(4) {
        display: none;
    }
}

/* v0.8.1 — edytor plików */
.file-item-editable { cursor: pointer; }
.file-item-editable:hover { color: #b8d3ff; text-decoration: underline; }
.file-item-button:disabled { opacity: .58; cursor: not-allowed; }
.file-editor-modal-content { min-height: min(820px, 92vh); background: #10141c; color: var(--panel-text); }
.file-editor-modal-content .modal-header,
.file-editor-modal-content .modal-footer { border-color: var(--panel-border); }
.file-editor-meta { display:flex; flex-wrap:wrap; gap:18px; padding:8px 16px; font-size:.8rem; color:var(--panel-muted); border-bottom:1px solid var(--panel-border); }
.monaco-editor-host,
.file-editor-fallback { width:100%; height:min(650px, 70vh); min-height:440px; }
.file-editor-fallback { padding:16px; resize:none; border:0; outline:0; background:#1e1e1e; color:#d4d4d4; font:14px/1.55 Consolas, "Courier New", monospace; }
.file-editor-overlay { position:absolute; inset:0; z-index:10; display:flex; align-items:center; justify-content:center; gap:10px; background:rgba(16,20,28,.88); }
.min-width-0 { min-width:0; }
@media (max-width: 767.98px) {
    .file-editor-modal-content { min-height: 96vh; }
    .monaco-editor-host, .file-editor-fallback { min-height: 60vh; height: 60vh; }
}

/* v0.8.2 — upload, pobieranie i usuwanie plików */
.file-drop-zone {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    margin: 16px 22px;
    padding: 18px;
    color: var(--panel-muted);
    background: rgba(13, 110, 253, 0.035);
    border: 1px dashed rgba(139, 185, 254, 0.42);
    border-radius: 12px;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.file-drop-zone:hover,
.file-drop-zone:focus-visible,
.file-drop-zone.is-dragging {
    color: var(--panel-text);
    background: rgba(13, 110, 253, 0.1);
    border-color: #8bb9fe;
    outline: none;
}
.file-drop-zone.is-dragging { transform: scale(1.005); }
.file-drop-zone-icon { font-size: 1.5rem; }
.file-item-actions { display: inline-flex; gap: 6px; }
.file-item-actions .btn { min-width: 34px; }
.panel-modal-content { background: #10141c; color: var(--panel-text); }
.panel-modal-content .modal-header,
.panel-modal-content .modal-footer { border-color: var(--panel-border); }
.file-upload-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 310px;
    overflow-y: auto;
}
.file-upload-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--panel-border);
    border-radius: 9px;
}
@media (max-width: 767.98px) {
    .file-drop-zone { margin: 12px; }
    .file-manager-table thead th:last-child,
    .file-manager-table tbody td:last-child { display: table-cell; }
    .file-item-actions { flex-direction: column; }
}

/* v0.9.0 — menedżer modów */
.mods-drop-zone {
    min-height: 130px;
    border: 2px dashed var(--bs-border-color);
    border-radius: 0.75rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 1.5rem;
    text-align: center;
    transition: border-color .15s ease, background-color .15s ease;
}
.mods-drop-zone.dragging {
    border-color: var(--bs-primary);
    background: rgba(var(--bs-primary-rgb), .08);
}
.mods-table td, .mods-table th { vertical-align: middle; }

/* v0.9.1 — menedżer backupów */
.backup-table td, .backup-table th { vertical-align: middle; }
.backup-notice {
    padding: .85rem 1rem;
    color: var(--panel-muted);
    background: rgba(255, 193, 7, .06);
    border: 1px solid rgba(255, 193, 7, .22);
    border-radius: .65rem;
}
.backup-latest-value { font-size: 1rem; line-height: 1.35; }
@media (max-width: 767.98px) {
    .backup-table thead th:nth-child(2),
    .backup-table tbody td:nth-child(2) { display: none; }
    .backup-actions { display: flex; flex-direction: column; }
}

/* v1.0.0 — harmonogram */
.scheduler-table td, .scheduler-table th { vertical-align: middle; }
.scheduler-next-value { font-size: .95rem; line-height: 1.3; }
.scheduler-notice {
    padding: .85rem 1rem;
    color: var(--panel-muted);
    background: rgba(13, 110, 253, .06);
    border: 1px solid rgba(13, 110, 253, .25);
    border-radius: .65rem;
}
.scheduler-actions { white-space: nowrap; }
.scheduler-weekdays { display: flex; flex-wrap: wrap; gap: .55rem; }
.scheduler-day-option input { position: absolute; opacity: 0; pointer-events: none; }
.scheduler-day-option span {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 52px; padding: .5rem .75rem; border: 1px solid var(--panel-border);
    border-radius: .55rem; cursor: pointer; transition: .15s ease;
}
.scheduler-day-option input:checked + span { border-color: var(--bs-primary); background: rgba(var(--bs-primary-rgb), .18); color: #fff; }
.scheduler-history { display: flex; flex-direction: column; gap: .65rem; }
.scheduler-history-item {
    display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem;
    padding: .85rem 1rem; border: 1px solid var(--panel-border); border-radius: .65rem;
    background: rgba(255, 255, 255, .02);
}
@media (max-width: 991.98px) {
    .scheduler-table thead th:nth-child(4), .scheduler-table tbody td:nth-child(4) { display: none; }
}
@media (max-width: 767.98px) {
    .scheduler-table thead th:nth-child(3), .scheduler-table tbody td:nth-child(3) { display: none; }
    .scheduler-actions { display: flex; flex-direction: column; gap: .3rem; }
}

/* =========================================================
   v1.0.2 — PROFESSIONAL UI/UX REFRESH
   ========================================================= */
:root {
    --panel-background: #080b12;
    --panel-background-soft: #0d111a;
    --panel-card: #101622;
    --panel-card-secondary: #141b29;
    --panel-border: rgba(148, 163, 184, 0.16);
    --panel-border-light: rgba(148, 163, 184, 0.28);
    --panel-text: #eef2ff;
    --panel-muted: #8d99ad;
    --panel-primary: #5b7cfa;
    --panel-primary-hover: #6f8cff;
    --panel-accent: #38bdf8;
    --panel-success: #22c55e;
    --panel-danger: #ef4444;
    --panel-warning: #f59e0b;
    --panel-sidebar-width: 286px;
    --panel-navbar-height: 72px;
    --panel-radius: 18px;
    --panel-shadow: 0 18px 45px rgba(0, 0, 0, 0.28);
}

html { background: var(--panel-background); }
body.panel-body {
    min-height: 100vh;
    background:
        radial-gradient(circle at 12% -5%, rgba(91, 124, 250, 0.16), transparent 28%),
        radial-gradient(circle at 90% 8%, rgba(56, 189, 248, 0.08), transparent 24%),
        var(--panel-background);
    color: var(--panel-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.panel-navbar {
    min-height: var(--panel-navbar-height);
    background: rgba(8, 11, 18, 0.82);
    border-bottom: 1px solid var(--panel-border);
    backdrop-filter: blur(18px) saturate(140%);
    box-shadow: 0 8px 30px rgba(0,0,0,.18);
}

.brand-icon {
    width: 42px; height: 42px; border-radius: 13px;
    background: linear-gradient(145deg, rgba(91,124,250,.28), rgba(56,189,248,.12));
    border: 1px solid rgba(111,140,255,.42);
    color: #a9b9ff; font-size: 1.2rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 8px 22px rgba(91,124,250,.18);
}
.brand-copy { display:flex; flex-direction:column; line-height:1.05; }
.brand-copy strong { font-size:1rem; letter-spacing:.01em; }
.brand-copy small { margin-top:5px; color:var(--panel-muted); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }

.panel-icon-button {
    width:40px; height:40px; padding:0; display:inline-flex; align-items:center; justify-content:center;
    color:#b8c2d4; background:rgba(255,255,255,.035); border:1px solid var(--panel-border); border-radius:12px;
}
.panel-icon-button:hover { color:#fff; background:rgba(91,124,250,.14); border-color:rgba(91,124,250,.38); }
.system-health { align-items:center; gap:8px; color:var(--panel-muted); font-size:.8rem; }
.system-health-dot { width:8px; height:8px; border-radius:50%; background:var(--panel-success); box-shadow:0 0 12px rgba(34,197,94,.75); }
.admin-profile { display:flex; align-items:center; gap:10px; padding-left:4px; }
.admin-profile strong,.admin-profile small { display:block; line-height:1.25; }
.admin-profile strong { font-size:.82rem; }.admin-profile small { color:var(--panel-muted); font-size:.7rem; }
.admin-avatar { width:40px; height:40px; background:linear-gradient(145deg,#5b7cfa,#735df5); box-shadow:0 8px 20px rgba(91,124,250,.3); }

.server-panel-layout { min-height:calc(100vh - var(--panel-navbar-height)); grid-template-columns:var(--panel-sidebar-width) minmax(0,1fr); }
.server-sidebar {
    min-height:calc(100vh - var(--panel-navbar-height)); top:var(--panel-navbar-height);
    padding:22px 16px 18px; background:rgba(10,14,22,.94); border-right:1px solid var(--panel-border);
    box-shadow:12px 0 35px rgba(0,0,0,.13); z-index:1020;
}
.sidebar-server-info { padding:16px; background:linear-gradient(145deg,rgba(91,124,250,.13),rgba(20,27,41,.75)); border:1px solid rgba(91,124,250,.22); border-radius:16px; }
.sidebar-server-topline { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.sidebar-server-icon { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:11px; color:#9aabff; background:rgba(91,124,250,.15); }
.sidebar-server-name { margin:0 0 6px; font-size:1rem; font-weight:700; overflow-wrap:anywhere; }
.sidebar-server-address { display:flex; align-items:center; gap:7px; color:var(--panel-muted); font-size:.78rem; }
.sidebar-section-label { margin:24px 12px 9px; color:#64748b; font-size:.67rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.server-navigation { gap:4px; margin-top:0; }
.server-nav-link { position:relative; padding:10px 12px; color:#98a5b9; border-radius:11px; font-size:.88rem; font-weight:550; }
.server-nav-link .nav-icon { width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; font-size:.95rem; }
.server-nav-link:hover { color:#eaf0ff; background:rgba(255,255,255,.045); border-color:transparent; transform:translateX(2px); }
.server-nav-link.active { color:#fff; background:linear-gradient(90deg,rgba(91,124,250,.25),rgba(91,124,250,.08)); border:1px solid rgba(91,124,250,.24); box-shadow:inset 3px 0 0 #6f8cff; }
.server-nav-link.active .nav-icon { color:#aebcff; background:rgba(91,124,250,.15); }
.sidebar-nav-divider { display:block; height:1px; margin:10px 8px; background:var(--panel-border); }
.sidebar-footer { margin-top:auto; padding-top:20px; }
.sidebar-back-link { border:1px solid var(--panel-border); background:rgba(255,255,255,.025); }
.sidebar-version { padding:13px 12px 0; color:#586579; font-size:.68rem; text-align:center; }

.server-panel-content { padding:34px clamp(20px,3vw,46px) 48px; max-width:1600px; width:100%; margin:0 auto; }
.page-eyebrow,.server-game-label,.sidebar-label { color:#8299ff; }
h1,h2,h3,h4,h5,h6 { letter-spacing:-.02em; }
.text-secondary { color:var(--panel-muted)!important; }

.panel-info-card,.panel-section-card,.stat-card,.server-card,.console-panel,.file-manager,.mods-manager,.backups-manager,.scheduler-manager {
    background:linear-gradient(150deg,rgba(18,24,37,.96),rgba(12,17,27,.96));
    border:1px solid var(--panel-border); border-radius:var(--panel-radius); box-shadow:var(--panel-shadow);
}
.panel-info-card { position:relative; overflow:hidden; min-height:124px; padding:20px; }
.panel-info-card::after { content:""; position:absolute; right:-26px; bottom:-38px; width:105px; height:105px; border-radius:50%; background:rgba(91,124,250,.08); }
.panel-info-label { text-transform:uppercase; letter-spacing:.1em; font-size:.68rem; font-weight:750; }
.panel-info-value { margin-top:13px; font-size:1.55rem; letter-spacing:-.03em; }
.panel-section-card { padding:24px; }
.panel-section-header { padding-bottom:17px; margin-bottom:20px; border-bottom:1px solid var(--panel-border); }
.resource-row { padding:18px 0; border-bottom:1px solid rgba(148,163,184,.1); }
.resource-row:last-child { border-bottom:0; }
.progress { height:8px; background:#080c13; border-radius:99px; overflow:hidden; }
.progress-bar { background:linear-gradient(90deg,#5b7cfa,#38bdf8); border-radius:99px; }

.btn { border-radius:11px; padding:.62rem .95rem; font-weight:650; letter-spacing:.005em; transition:transform .15s ease, box-shadow .15s ease, background .15s ease; }
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:linear-gradient(135deg,#5b7cfa,#6f68ef); border-color:transparent; box-shadow:0 8px 20px rgba(91,124,250,.22); }
.btn-primary:hover { background:linear-gradient(135deg,#6685ff,#7b73fa); border-color:transparent; }
.btn-success { background:#178948; border-color:#209f59; }.btn-danger { background:#c93645; border-color:#dc4755; }.btn-warning { background:#d99513; border-color:#eba522; color:#111827; }
.form-control,.form-select { min-height:42px; background:#0b1019; color:#edf2ff; border:1px solid var(--panel-border-light); border-radius:11px; }
.form-control:focus,.form-select:focus { background:#0b1019; color:#fff; border-color:#6f8cff; box-shadow:0 0 0 .22rem rgba(91,124,250,.17); }
.table { --bs-table-bg:transparent; --bs-table-color:#dbe3f1; --bs-table-border-color:rgba(148,163,184,.12); }
.table thead th { color:#8190a6; font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; border-bottom-color:var(--panel-border); }
.modal-content { background:#101622; border:1px solid var(--panel-border-light); box-shadow:0 28px 80px rgba(0,0,0,.48); }

.status-badge { min-width:auto; padding:7px 10px; font-size:.7rem; border:1px solid transparent; }
.status-badge.online { background:rgba(34,197,94,.13); color:#6ee7a0; border-color:rgba(34,197,94,.25); }
.status-badge.offline { background:rgba(148,163,184,.1); color:#aab4c3; border-color:rgba(148,163,184,.16); }
.status-badge.restarting { background:rgba(245,158,11,.13); color:#fbc05c; border-color:rgba(245,158,11,.24); }

/* Home dashboard */
body:not(:has(.server-panel-layout)) main.container { max-width:1440px; }
.stat-card { position:relative; min-height:142px; justify-content:center; overflow:hidden; padding:24px; }
.stat-card::before { content:""; position:absolute; inset:auto -25px -55px auto; width:130px; height:130px; border-radius:50%; background:radial-gradient(circle,rgba(91,124,250,.16),transparent 68%); }
.stat-value { font-size:2.35rem; }
.server-card { border-radius:20px; }
.server-card:hover { transform:translateY(-5px); border-color:rgba(91,124,250,.34); box-shadow:0 24px 55px rgba(0,0,0,.35); }
.server-card .card-body { padding:23px; }

.console-panel { box-shadow:0 22px 55px rgba(0,0,0,.38); }
.console-toolbar,.console-footer { background:#101622; }
.console-output { background:#060910; }

.panel-reveal { animation:panelReveal .42s cubic-bezier(.2,.75,.25,1) both; animation-delay:var(--reveal-delay,0ms); }
@keyframes panelReveal { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }

.sidebar-overlay { display:none; position:fixed; inset:var(--panel-navbar-height) 0 0; background:rgba(2,6,12,.68); backdrop-filter:blur(3px); z-index:1010; }

@media (max-width: 991.98px) {
    .server-panel-layout { display:block; }
    .server-sidebar { position:fixed; left:0; top:var(--panel-navbar-height); bottom:0; width:min(86vw,var(--panel-sidebar-width)); min-height:0; transform:translateX(-105%); transition:transform .24s ease; overflow-y:auto; border-bottom:0; }
    .sidebar-mobile-open .server-sidebar { transform:translateX(0); }
    .sidebar-mobile-open .sidebar-overlay { display:block; }
    .server-navigation { display:flex; }
    .server-panel-content { padding:26px 18px 40px; }
}
@media (max-width:575.98px) {
    :root { --panel-navbar-height:64px; }
    .brand-copy small,.system-health { display:none!important; }
    .brand-icon { width:38px;height:38px; }
    .server-panel-content { padding:22px 13px 36px; }
    .panel-section-card { padding:18px; }
    .panel-info-card { min-height:105px; }
}

/* v1.0.2a — rzeczywiście zwijany i wysuwany sidebar */
:root {
    --panel-sidebar-collapsed-width: 88px;
}

#sidebar-toggle {
    flex: 0 0 auto;
}

.sidebar-mobile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--panel-border);
}

@media (min-width: 992px) {
    .server-panel-layout,
    .server-sidebar,
    .server-panel-content {
        transition: grid-template-columns .24s ease, width .24s ease, padding .24s ease;
    }

    body.sidebar-collapsed .server-panel-layout {
        grid-template-columns: var(--panel-sidebar-collapsed-width) minmax(0, 1fr);
    }

    body.sidebar-collapsed .server-sidebar {
        width: var(--panel-sidebar-collapsed-width);
        padding-left: 12px;
        padding-right: 12px;
        overflow-x: hidden;
    }

    body.sidebar-collapsed .sidebar-server-info {
        padding: 10px;
        display: flex;
        justify-content: center;
    }

    body.sidebar-collapsed .sidebar-server-topline {
        margin: 0;
    }

    body.sidebar-collapsed .sidebar-server-topline .status-badge,
    body.sidebar-collapsed .sidebar-server-info .sidebar-label,
    body.sidebar-collapsed .sidebar-server-name,
    body.sidebar-collapsed .sidebar-server-address,
    body.sidebar-collapsed .sidebar-section-label,
    body.sidebar-collapsed .server-nav-link > span:last-child,
    body.sidebar-collapsed .sidebar-version {
        display: none !important;
    }

    body.sidebar-collapsed .server-navigation {
        margin-top: 22px;
    }

    body.sidebar-collapsed .server-nav-link {
        justify-content: center;
        padding: 10px;
        transform: none;
    }

    body.sidebar-collapsed .server-nav-link:hover {
        transform: none;
    }

    body.sidebar-collapsed .server-nav-link .nav-icon {
        width: 32px;
        height: 32px;
        flex: 0 0 32px;
    }

    body.sidebar-collapsed .server-nav-link.active {
        box-shadow: inset 0 0 0 1px rgba(91,124,250,.24);
    }

    body.sidebar-collapsed .sidebar-footer {
        padding-top: 16px;
    }
}

@media (max-width: 991.98px) {
    body.sidebar-mobile-open {
        overflow: hidden;
    }

    .server-sidebar {
        visibility: hidden;
        box-shadow: 24px 0 60px rgba(0,0,0,.48);
    }

    .sidebar-mobile-open .server-sidebar {
        visibility: visible;
    }

    .sidebar-overlay {
        opacity: 0;
        display: block;
        pointer-events: none;
        transition: opacity .24s ease;
    }

    .sidebar-mobile-open .sidebar-overlay {
        opacity: 1;
        pointer-events: auto;
    }
}


/* v1.0.2c — poprawka kliknięcia przycisku menu */
#sidebar-toggle {
    position: relative;
    z-index: 1105;
    pointer-events: auto !important;
    cursor: pointer;
}

@media (min-width: 992px) {
    body.sidebar-collapsed .server-sidebar {
        min-width: var(--panel-sidebar-collapsed-width);
        max-width: var(--panel-sidebar-collapsed-width);
    }
}

/* v1.0.2d — stabilny layout sidebara + wymuszenie aktualnych reguł */
@media (min-width: 992px) {
    .server-panel-layout {
        display: grid !important;
        grid-template-columns: var(--panel-sidebar-width) minmax(0, 1fr) !important;
        transition: grid-template-columns .24s ease !important;
    }

    body.sidebar-collapsed .server-panel-layout {
        grid-template-columns: var(--panel-sidebar-collapsed-width) minmax(0, 1fr) !important;
    }

    .server-sidebar {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        transition: padding .24s ease, width .24s ease !important;
    }

    body.sidebar-collapsed .server-sidebar {
        width: var(--panel-sidebar-collapsed-width) !important;
        min-width: var(--panel-sidebar-collapsed-width) !important;
        max-width: var(--panel-sidebar-collapsed-width) !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        overflow: hidden !important;
    }

    body.sidebar-collapsed .sidebar-server-info {
        padding: 10px !important;
        display: flex !important;
        justify-content: center !important;
    }

    body.sidebar-collapsed .sidebar-server-topline {
        margin: 0 !important;
        justify-content: center !important;
    }

    body.sidebar-collapsed .sidebar-server-topline .status-badge,
    body.sidebar-collapsed .sidebar-server-info .sidebar-label,
    body.sidebar-collapsed .sidebar-server-name,
    body.sidebar-collapsed .sidebar-server-address,
    body.sidebar-collapsed .sidebar-section-label,
    body.sidebar-collapsed .server-nav-link > span:last-child,
    body.sidebar-collapsed .sidebar-version,
    body.sidebar-collapsed .sidebar-nav-divider {
        display: none !important;
    }

    body.sidebar-collapsed .server-navigation {
        margin-top: 22px !important;
        display: flex !important;
        grid-template-columns: none !important;
    }

    body.sidebar-collapsed .server-nav-link {
        width: 100% !important;
        justify-content: center !important;
        gap: 0 !important;
        padding: 10px !important;
        transform: none !important;
    }

    body.sidebar-collapsed .server-nav-link .nav-icon {
        width: 34px !important;
        height: 34px !important;
        flex: 0 0 34px !important;
    }

    body.sidebar-collapsed .sidebar-footer {
        padding-top: 16px !important;
    }
}

/* v1.2.0 — Konsola Live Premium */
.console-premium .console-toolbar { align-items:flex-start; }
.console-status-group { display:flex; align-items:center; gap:12px; min-width:165px; }
.console-search-wrap { position:relative; min-width:250px; }
.console-search-wrap i { position:absolute; left:11px; top:50%; transform:translateY(-50%); color:var(--panel-muted); pointer-events:none; }
.console-search-wrap .form-control { width:100%; padding-left:34px; background:#090d14; border-color:rgba(255,255,255,.1); color:#e6edf7; }
.console-filterbar { min-height:50px; padding:10px 18px; display:flex; align-items:center; flex-wrap:wrap; gap:8px; background:#0c111a; border-bottom:1px solid var(--panel-border); }
.console-level-filter { border:1px solid rgba(255,255,255,.1); border-radius:999px; padding:6px 11px; background:transparent; color:var(--panel-muted); font-size:.78rem; transition:.18s ease; }
.console-level-filter:hover,.console-level-filter.active { color:#fff; background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.2); }
.filter-dot { width:7px; height:7px; display:inline-block; margin-right:6px; border-radius:50%; background:#8b96a8; }
.filter-dot.info { background:#75a7ff; }.filter-dot.success { background:#4fd196; }.filter-dot.warning { background:#ffca57; }.filter-dot.error { background:#ff6b7a; }
.console-paused-badge { margin-left:auto; border:1px solid rgba(255,193,7,.35); border-radius:999px; padding:5px 10px; color:#ffd66b; background:rgba(255,193,7,.08); font-size:.78rem; }
#console-pause-button.active { color:#101317; background:#ffc107; border-color:#ffc107; }
.console-output:empty::before { content:"Brak wpisów w konsoli."; color:#667085; }
.console-line { border-radius:4px; }
.console-line-default { color:#cdd6df; }.console-line-test { color:#8bb9fe; border-left-color:#0d6efd; }
.console-shortcut-hint { margin-left:auto; opacity:.65; }
.console-shortcut-hint kbd { background:#202737; border:1px solid rgba(255,255,255,.12); box-shadow:none; }
@media (max-width: 991.98px) { .console-search-wrap { width:100%; min-width:0; } .console-paused-badge { margin-left:0; } .console-shortcut-hint { display:none; } }

/* v2.0.0 — Dashboard Premium */
.dashboard-premium {
    display: grid;
    gap: 22px;
}

.dashboard-hero {
    position: relative;
    overflow: hidden;
    min-height: 190px;
    padding: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    border: 1px solid rgba(124, 131, 255, .22);
    border-radius: 24px;
    background:
        radial-gradient(circle at 86% 20%, rgba(56, 189, 248, .18), transparent 28%),
        radial-gradient(circle at 10% 110%, rgba(124, 131, 255, .2), transparent 34%),
        linear-gradient(135deg, rgba(18, 24, 38, .98), rgba(8, 12, 20, .98));
    box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
}

.dashboard-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(to left, black, transparent 72%);
}

.dashboard-hero-copy,
.dashboard-live-status {
    position: relative;
    z-index: 1;
}

.dashboard-kicker,
.dashboard-card-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #8fa0ff;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dashboard-hero h2 {
    margin: 12px 0 8px;
    font-size: clamp(1.8rem, 3vw, 2.65rem);
    letter-spacing: -.045em;
}

.dashboard-hero p {
    max-width: 730px;
    margin: 0;
    color: #99a6b8;
}

.dashboard-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 20px;
    color: #b9c5d6;
    font-size: .82rem;
}

.dashboard-hero-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.dashboard-live-status {
    min-width: 220px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 18px;
    background: rgba(5, 9, 16, .58);
    backdrop-filter: blur(15px);
}

.dashboard-live-status small {
    display: block;
    color: #7f8ba0;
}

.dashboard-live-status strong {
    display: block;
    margin-top: 2px;
    font-size: 1.05rem;
}

.live-status-dot {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    border-radius: 50%;
    background: #6b7280;
    box-shadow: 0 0 0 7px rgba(107,114,128,.12);
}

.live-status-dot.online {
    background: #35d47f;
    box-shadow: 0 0 0 7px rgba(53,212,127,.12), 0 0 20px rgba(53,212,127,.6);
    animation: dashboardPulse 2s infinite;
}

@keyframes dashboardPulse {
    0%, 100% { box-shadow: 0 0 0 7px rgba(53,212,127,.12), 0 0 20px rgba(53,212,127,.5); }
    50% { box-shadow: 0 0 0 11px rgba(53,212,127,.04), 0 0 28px rgba(53,212,127,.68); }
}

.dashboard-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.metric-card,
.dashboard-card,
.server-details-card {
    border: 1px solid rgba(148,163,184,.14);
    background: linear-gradient(145deg, rgba(15,21,32,.96), rgba(7,11,18,.98));
    box-shadow: 0 18px 48px rgba(0,0,0,.26);
}

.metric-card {
    position: relative;
    overflow: hidden;
    min-height: 178px;
    padding: 20px;
    border-radius: 19px;
}

.metric-card::after {
    content: "";
    position: absolute;
    right: -45px;
    bottom: -60px;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(124,131,255,.12), transparent 68%);
}

.metric-card-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.metric-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    font-size: 1.15rem;
}

.metric-icon.cpu { color: #a9afff; background: rgba(124,131,255,.14); }
.metric-icon.memory { color: #69d8ff; background: rgba(56,189,248,.13); }
.metric-icon.disk { color: #65e2a0; background: rgba(34,197,94,.13); }
.metric-icon.network { color: #ffc76a; background: rgba(245,158,11,.13); }

.metric-trend,
.metric-caption {
    color: #76839a;
    font-size: .73rem;
}

.metric-label {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: 20px;
    color: #8895a8;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.metric-value {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: 4px;
    font-size: 1.8rem;
    line-height: 1.15;
    letter-spacing: -.045em;
}

.metric-caption {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: 10px;
}

.metric-progress {
    position: relative;
    z-index: 1;
    height: 6px;
    margin-top: 17px;
    overflow: hidden;
    border-radius: 999px;
    background: #070b12;
}

.metric-progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #6f78ff, #9b8cff);
    transition: width .5s ease;
}

.metric-progress.memory span { background: linear-gradient(90deg, #1fa9df, #60d8ff); }
.metric-progress.disk span { background: linear-gradient(90deg, #159c57, #54df91); }

.dashboard-main-grid,
.dashboard-bottom-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(320px, .8fr);
    gap: 18px;
}

.dashboard-bottom-grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(340px, .85fr);
}

.dashboard-card {
    min-width: 0;
    padding: 22px;
    border-radius: 21px;
}

.dashboard-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.dashboard-card-header h3 {
    margin: 5px 0 0;
    font-size: 1.06rem;
    letter-spacing: -.02em;
}

.chart-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
    color: #8b98aa;
    font-size: .72rem;
}

.chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.legend-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.legend-dot.cpu { background: #7c83ff; }
.legend-dot.memory { background: #38bdf8; }

.dashboard-chart-wrap {
    height: 285px;
}

.dashboard-chart-wrap canvas {
    width: 100%;
    height: 100%;
}

.quick-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
}

.quick-action {
    min-height: 84px;
    padding: 13px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid rgba(148,163,184,.13);
    border-radius: 15px;
    background: rgba(8,13,21,.78);
    color: #dce5f2;
    font-size: .8rem;
    font-weight: 700;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.quick-action i { font-size: 1.25rem; color: #8fa0ff; }
.quick-action:hover { transform: translateY(-2px); border-color: rgba(124,131,255,.42); background: rgba(20,28,43,.92); color: #fff; }
.quick-action.danger i { color: #ff7b88; }

.dashboard-console-preview {
    min-height: 245px;
    max-height: 310px;
    overflow: auto;
    border: 1px solid rgba(148,163,184,.1);
    border-radius: 14px;
    background: #050810;
}

.console-preview-line {
    display: grid;
    grid-template-columns: 70px 78px minmax(0, 1fr);
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(148,163,184,.08);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .75rem;
}

.console-preview-line:last-child { border-bottom: 0; }
.console-preview-time { color: #66738a; }
.console-preview-level { font-weight: 800; }
.console-preview-line.info .console-preview-level { color: #75a7ff; }
.console-preview-line.success .console-preview-level { color: #4fd196; }
.console-preview-line.warning .console-preview-level { color: #ffca57; }
.console-preview-line.error .console-preview-level { color: #ff6b7a; }
.console-preview-message { min-width: 0; overflow-wrap: anywhere; color: #c6d0df; }

.dashboard-text-link {
    color: #91a2ff;
    font-size: .78rem;
    font-weight: 700;
}

.activity-feed {
    display: grid;
    gap: 3px;
}

.activity-item {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 11px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(148,163,184,.09);
}

.activity-item:last-child { border-bottom: 0; }
.activity-icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
}
.activity-icon.info { color: #75a7ff; background: rgba(59,130,246,.12); }
.activity-icon.success { color: #55d99a; background: rgba(34,197,94,.12); }
.activity-icon.warning { color: #ffca57; background: rgba(245,158,11,.12); }
.activity-icon.error { color: #ff7380; background: rgba(239,68,68,.12); }
.activity-copy { min-width: 0; }
.activity-copy strong { display: block; color: #dce5f2; font-size: .8rem; font-weight: 650; line-height: 1.35; }
.activity-copy span { display: block; margin-top: 4px; color: #6f7b90; font-size: .69rem; }

.dashboard-empty-state {
    padding: 28px;
    color: #6f7b90;
    text-align: center;
    font-size: .8rem;
}

.server-details-card {
    padding: 16px 20px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    border-radius: 18px;
}

.server-detail-item {
    min-width: 0;
    padding: 8px 12px;
    border-right: 1px solid rgba(148,163,184,.1);
}
.server-detail-item:last-child { border-right: 0; }
.server-detail-item span { display: block; color: #718096; font-size: .68rem; text-transform: uppercase; letter-spacing: .07em; }
.server-detail-item strong { display: block; margin-top: 5px; overflow: hidden; color: #dce5f2; font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 1199.98px) {
    .dashboard-metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .dashboard-main-grid,
    .dashboard-bottom-grid { grid-template-columns: 1fr; }
    .server-details-card { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .server-detail-item:nth-child(3) { border-right: 0; }
}

@media (max-width: 767.98px) {
    .dashboard-hero { padding: 23px; align-items: stretch; flex-direction: column; }
    .dashboard-live-status { min-width: 0; width: 100%; }
    .dashboard-metric-grid { grid-template-columns: 1fr; }
    .server-details-card { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .server-detail-item:nth-child(3) { border-right: 1px solid rgba(148,163,184,.1); }
    .server-detail-item:nth-child(even) { border-right: 0; }
    .console-preview-line { grid-template-columns: 60px 68px minmax(0,1fr); gap: 7px; }
}

@media (max-width: 479.98px) {
    .dashboard-card { padding: 18px; }
    .dashboard-card-header { flex-direction: column; }
    .chart-legend { justify-content: flex-start; }
    .quick-action-grid { grid-template-columns: 1fr 1fr; }
    .server-details-card { grid-template-columns: 1fr; }
    .server-detail-item,
    .server-detail-item:nth-child(3),
    .server-detail-item:nth-child(even) { border-right: 0; border-bottom: 1px solid rgba(148,163,184,.1); }
    .server-detail-item:last-child { border-bottom: 0; }
    .console-preview-line { grid-template-columns: 1fr; }
    .console-preview-time { display: none; }
}

/* FS25 Live v2.1.0 */
.fs25-live-card{margin-top:1.25rem;overflow:hidden;position:relative}.fs25-live-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;background:linear-gradient(90deg,#56d364,#2dd4bf,transparent)}.fs25-detection-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .72rem;border-radius:999px;font-size:.74rem;font-weight:700;border:1px solid rgba(148,163,184,.18);color:#94a3b8;background:rgba(15,23,42,.65)}.fs25-detection-badge.ready{color:#86efac;border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.08)}.fs25-detection-badge.missing{color:#fcd34d;border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.08)}.fs25-detection-badge.loading i{animation:fs25-spin 1s linear infinite}@keyframes fs25-spin{to{transform:rotate(360deg)}}.fs25-live-grid{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(4,minmax(120px,1fr));gap:.85rem}.fs25-live-highlight,.fs25-live-stat{border:1px solid rgba(148,163,184,.12);background:linear-gradient(145deg,rgba(18,28,48,.92),rgba(10,15,27,.88));border-radius:16px;min-height:112px}.fs25-live-highlight{display:flex;align-items:center;gap:1rem;padding:1.15rem}.fs25-live-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;font-size:1.35rem;color:#86efac;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.2)}.fs25-live-highlight div{min-width:0}.fs25-live-highlight small,.fs25-live-stat span{display:block;color:#8290a7;font-size:.75rem}.fs25-live-highlight strong{display:block;font-size:1.12rem;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs25-live-highlight div>span{display:block;margin-top:.25rem;color:#94a3b8;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs25-live-stat{padding:.95rem;display:flex;flex-direction:column;justify-content:center;gap:.25rem}.fs25-live-stat>i{color:#60a5fa;font-size:1.05rem;margin-bottom:.15rem}.fs25-live-stat strong{font-size:1rem;color:#f8fafc}.fs25-status-message{margin-top:.85rem;padding:.7rem .85rem;border-radius:12px;background:rgba(15,23,42,.5);color:#8492a8;font-size:.78rem;border:1px solid rgba(148,163,184,.08)}@media(max-width:1399px){.fs25-live-grid{grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(125px,1fr))}}@media(max-width:991px){.fs25-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fs25-live-highlight{grid-column:1/-1}}@media(max-width:575px){.fs25-live-grid{grid-template-columns:1fr}.fs25-live-highlight{grid-column:auto}.fs25-live-card .dashboard-card-header{align-items:flex-start;gap:.75rem}.fs25-live-highlight,.fs25-live-stat{min-height:96px}}

/* Mods Manager Premium v2.2.0 */
.mods-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.mods-summary-card{position:relative;min-height:108px;padding:17px;border:1px solid rgba(148,163,184,.13);border-radius:17px;background:linear-gradient(145deg,rgba(17,25,41,.96),rgba(9,14,24,.9));overflow:hidden}.mods-summary-card span{display:block;color:#8390a5;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.mods-summary-card strong{display:block;margin-top:9px;color:#eef3fb;font-size:1.45rem;letter-spacing:-.04em}.mods-summary-card>i{position:absolute;right:14px;bottom:10px;color:rgba(124,131,255,.2);font-size:2.25rem}.mods-summary-card.success>i{color:rgba(34,197,94,.2)}.mods-summary-card.warning>i{color:rgba(245,158,11,.22)}.mods-summary-card.danger>i{color:rgba(239,68,68,.22)}.mods-summary-card.info>i{color:rgba(56,189,248,.22)}.mods-toolbar-card{padding:14px 16px}.mods-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 220px 190px;gap:10px}.mods-search-wrap{position:relative}.mods-search-wrap>i{position:absolute;left:13px;top:50%;transform:translateY(-50%);z-index:2;color:#75839a}.mods-search-wrap .form-control{padding-left:38px}.mods-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:13px;padding-top:13px;border-top:1px solid rgba(148,163,184,.12)}.mods-checkbox-cell{width:45px;text-align:center}.mods-table td,.mods-table th{vertical-align:middle}.mod-main-cell{display:flex;align-items:flex-start;gap:13px;min-width:320px}.mod-cover{width:48px;height:48px;flex:0 0 48px;object-fit:cover;border-radius:12px;border:1px solid rgba(148,163,184,.15);background:#0a0f19}.mod-cover-placeholder{display:grid;place-items:center;color:#8492aa;font-size:1.15rem}.mod-main-copy{min-width:0}.mod-description{max-width:520px;margin-top:5px;color:#76849a;font-size:.72rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mods-row-invalid{background:rgba(127,29,29,.1)}.mods-table-footer{display:flex;justify-content:space-between;gap:12px;padding:11px 16px;border-top:1px solid rgba(148,163,184,.1);color:#758197;font-size:.72rem}.mods-drop-zone.dragging{border-color:#7c83ff;background:rgba(124,131,255,.08)}
@media(max-width:1399px){.mods-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:991px){.mods-toolbar{grid-template-columns:1fr 1fr}.mods-search-wrap{grid-column:1/-1}.mods-selection-bar{align-items:flex-start;flex-direction:column}}@media(max-width:767px){.mods-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mods-toolbar{grid-template-columns:1fr}.mods-search-wrap{grid-column:auto}.mods-table-footer{flex-direction:column}.mod-main-cell{min-width:260px}}@media(max-width:480px){.mods-summary-grid{grid-template-columns:1fr 1fr}.mods-summary-card{min-height:94px;padding:14px}.mods-summary-card strong{font-size:1.2rem}}

/* v2.3.0 Notification Center + Health Check */
.notification-toggle{position:relative}.notification-badge{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;border:2px solid #080b12}.notification-overlay{position:fixed;inset:0;background:rgba(2,6,15,.58);backdrop-filter:blur(2px);z-index:1090;opacity:0;visibility:hidden;transition:.22s}.notification-overlay.open{opacity:1;visibility:visible}.notification-drawer{position:fixed;top:0;right:0;bottom:0;width:min(430px,100vw);z-index:1100;background:#0b101b;border-left:1px solid #253047;box-shadow:-24px 0 70px rgba(0,0,0,.45);transform:translateX(105%);transition:transform .28s ease;display:flex;flex-direction:column}.notification-drawer.open{transform:none}.notification-drawer>header{padding:22px;border-bottom:1px solid #222c40;display:flex;justify-content:space-between;align-items:center}.notification-drawer header small{color:#7f8da8;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.notification-drawer header h2{font-size:22px;margin:3px 0 0}.notification-actions{padding:14px 18px;border-bottom:1px solid #1d2637}.notification-list{overflow:auto;padding:12px;display:grid;gap:8px}.notification-item{display:flex;gap:12px;padding:14px;border:1px solid #202b40;border-radius:14px;background:#101725;color:#dbe5f7;text-decoration:none;position:relative;transition:.18s}.notification-item:hover{transform:translateY(-1px);border-color:#3c4d70;background:#141d2e}.notification-item.unread{background:#121d32;border-color:#304b7e}.notification-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#1a2436;color:#7fa5ff;flex:0 0 auto}.level-success .notification-icon{color:#43d18b;background:rgba(31,166,105,.13)}.level-warning .notification-icon{color:#f8bd4c;background:rgba(245,158,11,.12)}.level-error .notification-icon{color:#ff687d;background:rgba(239,68,68,.12)}.notification-copy{min-width:0;display:grid;gap:3px}.notification-copy strong{font-size:14px}.notification-copy span{font-size:12px;color:#96a3b9;line-height:1.45}.notification-copy small{font-size:11px;color:#66748d}.notification-unread-dot{position:absolute;right:13px;top:16px;width:7px;height:7px;border-radius:50%;background:#5b82ff;box-shadow:0 0 12px #5b82ff}.notification-empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#78869e;gap:6px}.notification-empty>i{font-size:28px}.notification-empty.error{color:#ff8495}.health-card{margin-bottom:24px}.health-status-badge{border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:6px;background:#172136;color:#91a1bc}.health-status-badge.ok{background:rgba(31,166,105,.14);color:#55dc9b}.health-status-badge.warning{background:rgba(245,158,11,.13);color:#ffc65d}.health-status-badge.critical{background:rgba(239,68,68,.13);color:#ff7185}.health-ok{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid rgba(47,204,135,.23);background:rgba(24,159,101,.07);border-radius:15px}.health-ok>i{font-size:31px;color:#43d18b}.health-ok div{display:grid;gap:4px}.health-ok span{color:#8d9bb1;font-size:13px}.health-issue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.health-issue{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid #28344a;border-radius:13px;color:#dbe5f7;text-decoration:none;background:#111827}.health-issue:hover{border-color:#455a80}.health-issue>i:first-child{font-size:20px;color:#ffc65d}.health-issue.critical>i:first-child{color:#ff7185}.health-issue span{display:grid;gap:3px}.health-issue small{color:#8795ac;font-size:12px}@media(max-width:700px){.health-issue-grid{grid-template-columns:1fr}.notification-drawer{width:100%}}
/* File Manager 2.0 */
.file-manager-controls{display:flex;gap:.65rem;align-items:center;margin:1rem 0}.file-search{max-width:420px;flex:1}.file-manager-controls .form-select{max-width:180px}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-top:1rem}.file-grid-card{position:relative;background:rgba(18,25,39,.72);border:1px solid rgba(148,163,184,.16);border-radius:14px;min-height:160px;padding:.75rem;transition:.18s}.file-grid-card:hover{transform:translateY(-2px);border-color:rgba(59,130,246,.55)}.file-grid-open{width:100%;height:100%;border:0;background:none;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;overflow:hidden}.file-grid-open strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-grid-open small{color:var(--bs-secondary-color);font-size:.75rem}.file-grid-icon{font-size:2.8rem}.file-grid-check{position:absolute;left:.65rem;top:.55rem;z-index:2}.file-grid-more{position:absolute;right:.45rem;top:.35rem;border:0;background:transparent;color:inherit;font-size:1.3rem}.file-context-menu{position:fixed;z-index:1095;width:205px;padding:.4rem;background:#101827;border:1px solid rgba(148,163,184,.25);border-radius:10px;box-shadow:0 20px 50px rgba(0,0,0,.45)}.file-context-menu button{display:block;width:100%;padding:.55rem .7rem;border:0;border-radius:7px;background:transparent;color:#e5e7eb;text-align:left}.file-context-menu button:hover{background:rgba(59,130,246,.18)}.file-preview-body{min-height:300px;display:flex;align-items:center;justify-content:center;background:#0b1220}.file-image-preview{max-width:100%;max-height:70vh;object-fit:contain}.file-text-preview{width:100%;max-height:70vh;overflow:auto;margin:0;padding:1.2rem;color:#dbeafe;background:#08111f;border-radius:10px;white-space:pre-wrap}.file-manager-table tbody tr{cursor:context-menu}.file-manager-table tbody tr:hover{background:rgba(59,130,246,.07)}
@media(max-width:760px){.file-manager-controls{align-items:stretch;flex-direction:column}.file-search,.file-manager-controls .form-select{max-width:none}.file-manager-summary{gap:.6rem;flex-wrap:wrap}.file-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Server Wizard v2.5.0 */
.server-wizard-modal{overflow:hidden;border:1px solid rgba(148,163,184,.2);background:#0b111d}.server-wizard-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:560px}.wizard-sidebar{padding:30px 24px;background:linear-gradient(180deg,#111a2a,#0c1320);border-right:1px solid rgba(148,163,184,.14)}.wizard-progress-ring{--wizard-progress:72deg;width:92px;height:92px;margin:0 auto 28px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#667eea var(--wizard-progress),#202b3d 0);position:relative}.wizard-progress-ring:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#101827}.wizard-progress-ring span{position:relative;z-index:1;font-weight:800;color:#eef2ff}.wizard-steps{list-style:none;padding:0;margin:0;display:grid;gap:7px}.wizard-steps li{display:flex;align-items:center;gap:12px;padding:11px;border-radius:12px;color:#7f8da4;transition:.2s}.wizard-steps li>span{width:30px;height:30px;border-radius:50%;border:1px solid #354158;display:grid;place-items:center;font-size:.78rem;font-weight:800;flex:0 0 auto}.wizard-steps li div{display:grid;gap:1px}.wizard-steps li strong{font-size:.84rem;color:inherit}.wizard-steps li small{font-size:.68rem}.wizard-steps li.active{background:rgba(99,102,241,.14);color:#cbd5ff}.wizard-steps li.active>span{background:#6366f1;border-color:#6366f1;color:#fff}.wizard-steps li.complete{color:#72dba7}.wizard-steps li.complete>span{background:rgba(34,197,94,.15);border-color:#34c881}.wizard-content{padding:38px 42px;min-width:0}.wizard-step{display:none;animation:wizardFade .22s ease}.wizard-step.active{display:block}.wizard-kicker{margin:0 0 6px;color:#7c83ff;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;font-weight:800}.wizard-step h3{font-size:1.7rem;letter-spacing:-.03em}.map-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.map-choice{position:relative;min-height:132px;padding:20px;border:1px solid #27334a;border-radius:16px;background:#111827;cursor:pointer;display:flex;flex-direction:column;gap:5px;transition:.18s}.map-choice:hover,.map-choice.selected{border-color:#6973ff;background:rgba(87,96,224,.1);transform:translateY(-1px)}.map-choice input{position:absolute;right:14px;top:14px}.map-choice i{font-size:1.7rem;color:#7c83ff;margin-bottom:5px}.map-choice small{color:#8290a7}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wizard-field-card{padding:22px;border:1px solid #27334a;border-radius:16px;background:#111827}.wizard-field-card label{font-weight:700}.range-labels{display:flex;justify-content:space-between;color:#748299;font-size:.72rem}.wizard-security-note{display:flex;align-items:center;gap:14px;padding:17px;border:1px solid rgba(34,197,94,.2);border-radius:14px;background:rgba(34,197,94,.06)}.wizard-security-note i{font-size:1.55rem;color:#48d391}.wizard-security-note div{display:grid;gap:2px}.wizard-security-note span{color:#8f9db2;font-size:.8rem}.wizard-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wizard-summary>div{padding:15px;border:1px solid #27334a;border-radius:13px;background:#111827;display:grid;gap:5px}.wizard-summary span{color:#7f8da4;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.wizard-summary strong{font-size:.9rem;overflow-wrap:anywhere}.wizard-footer{padding:16px 22px}@keyframes wizardFade{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}@media(max-width:991px){.server-wizard-layout{grid-template-columns:1fr}.wizard-sidebar{border-right:0;border-bottom:1px solid rgba(148,163,184,.14);padding:18px}.wizard-progress-ring{display:none}.wizard-steps{grid-template-columns:repeat(5,1fr);gap:4px}.wizard-steps li{justify-content:center;padding:8px}.wizard-steps li div{display:none}.wizard-content{padding:28px 22px}}@media(max-width:650px){.wizard-steps li>span{width:27px;height:27px}.map-choice-grid,.resource-grid,.wizard-summary{grid-template-columns:1fr}.wizard-content{padding:24px 16px}.wizard-footer{align-items:stretch}.wizard-footer,.wizard-footer>div{flex-wrap:wrap}.wizard-footer .btn{flex:1}}

/* WebAdmin działa, ale właściwy proces gry jeszcze nie jest online. */
.status-badge.webadmin {
    background: rgba(245, 158, 11, 0.16);
    color: #f59e0b;
    border: 1px solid rgba(245, 158, 11, 0.30);
}
