/* Game-server module (Server / Servermanager / Plugin / ServerOwner controllers).
   Part 1 — <style> blocks the original panel repeated on several server pages (kept here once, verbatim):
   .servertable + status badges + map modal (server_index.html), .server-settings-block (every tool page).
   Every other per-page <style> block stays inline in its view, exactly like the original.
   Part 2 — small engine-only additions (disabled tabs, inline SVG charts instead of Highcharts). */

/* ===== .servertable — server cards of /server/index.html and the header card of the server tool pages ===== */
.servertable { margin-bottom: 20px !important; border-radius: 6px !important; overflow: hidden; border: 1px solid #dde0e6 !important; box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.07) !important; }
.servertable td { padding: 7px 14px !important; border-color: #e8eaed !important; }
.servertable tr:first-child > td { background: #f5f6f8 !important; border-bottom: 1px solid #dde0e6 !important; padding: 9px 14px !important; }
.servertable tr:nth-child(even) > td { background-color: #fafbfc !important; }
.servertable .img-polaroid { border-radius: 7px !important; border-color: #d8dce3 !important; box-shadow: 0 2px 8px rgba(0,0,0,0.10) !important; transition: box-shadow 0.18s ease, transform 0.18s ease !important; }
.servertable .img-polaroid:hover { box-shadow: 0 6px 20px rgba(0,0,0,0.18) !important; }
.servertable .btn { border-radius: 3px !important; box-shadow: 0 1px 3px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.18) !important; transition: box-shadow 0.15s, transform 0.1s !important; }
.servertable .btn:not([disabled]):hover { box-shadow: 0 2px 6px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.18) !important; }
.servertable .btn:not([disabled]):active { transform: translateY(0) !important; box-shadow: 0 1px 2px rgba(0,0,0,0.12) !important; }
.servertable .btn[disabled] { box-shadow: none !important; opacity: 0.5 !important; }
.servertable.notactive { opacity: 0.85 !important; }
.serverstatus .text-success { display: inline-block; padding: 2px 9px; border-radius: 4px; font-size: 12px; font-weight: 600; background: #e6f9ef; color: #2a9d5c !important; border: 1px solid #b8e8d0; vertical-align: middle; }
.serverstatus .text-error { display: inline-block; padding: 2px 9px; border-radius: 4px; font-size: 12px; font-weight: 600; background: #fdecea; color: #c0392b !important; border: 1px solid #f5bfba; vertical-align: middle; }
.serverstatus .text-info { display: inline-block; padding: 2px 9px; border-radius: 4px; font-size: 12px; font-weight: 600; background: #eaf3fb; color: #2176ae !important; border: 1px solid #b8d8f0; vertical-align: middle; }
.servername { font-size: 13px; font-weight: 600; color: #2c3e50; letter-spacing: 0.02em; }
.servername::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #4a90d9; margin-right: 7px; vertical-align: middle; box-shadow: 0 0 0 0 rgba(74,144,217,0.4); animation: name-pulse 2.5s infinite; }
@keyframes name-pulse { 0% { box-shadow: 0 0 0 0 rgba(74,144,217,0.45); } 60% { box-shadow: 0 0 0 5px rgba(74,144,217,0); } 100% { box-shadow: 0 0 0 0 rgba(74,144,217,0); } }
.serverplayer { font-weight: 700; font-size: 16px; color: #2a9d5c; }
.serversize { font-weight: 600; font-size: 14px; color: #888; }
.servermap p { display: inline-block; padding: 1px 8px; background: #f0f2f5; border: 1px solid #dde0e6; border-radius: 4px; font-size: 12px; font-weight: 600; color: #444; letter-spacing: 0.03em; margin: 0 0 10px 0; }
.date-badge { font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace; background: #f0f2f5; border: 1px solid #e2e5ea; border-radius: 4px; padding: 2px 8px; letter-spacing: 0.03em; display: inline-block; color: #1f2937; font-size: 13px; }
.server-rank-badge { display: inline-block; padding: 2px 9px; border-radius: 4px; font-size: 12px; font-weight: 600; background: #f5f5f5; color: #555; border: 1px solid #ddd; vertical-align: middle; margin-left: 6px; }
.status-reinstall { display: inline-block; padding: 2px 9px; border-radius: 4px; font-size: 12px; font-weight: 600; background: #fff8e1; color: #b45309; border: 1px solid #fcd34d; animation: reinstall-blink 1.4s ease-in-out infinite; }
@keyframes reinstall-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
/* map modal */
.map-select-modal .modal-dialog { width: 620px; }
.map-select-modal .modal-content { border: 1px solid #e5e9f0; border-radius: 12px; overflow: hidden; box-shadow: 0 8px 32px rgba(0,0,0,0.10); }
.map-modal-header { display: flex; align-items: center; justify-content: space-between; padding: 13px 18px; background: #f8f9fb; border-bottom: 1px solid #e5e9f0; }
.map-modal-title-row { display: flex; align-items: center; gap: 10px; }
.map-modal-icon { width: 8px; height: 8px; border-radius: 50%; background: #6366f1; box-shadow: 0 0 0 3px rgba(99,102,241,0.15); flex-shrink: 0; }
.map-modal-title { margin: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: #374151; }
.map-modal-close { font-size: 20px; font-weight: 400; color: #9ca3af; opacity: 1; line-height: 1; text-decoration: none; transition: color 0.15s; }
.map-modal-close:hover { color: #374151; }
.map-modal-body { padding: 14px; max-height: 440px; overflow-y: auto; background: #f8f9fb; display: flex; flex-wrap: wrap; gap: 8px; align-content: flex-start; }
.map-change-link { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 calc(33.333% - 6px); box-sizing: border-box; padding: 9px 12px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; font-size: 13px; font-weight: 500; color: #374151; background: #ffffff; border: 1px solid #e5e9f0; border-radius: 8px; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; box-shadow: 0 1px 3px rgba(0,0,0,0.05); transition: background 0.12s, border-color 0.12s, color 0.12s, box-shadow 0.12s; }
.map-change-link::before { content: ''; flex-shrink: 0; width: 6px; height: 6px; border-radius: 50%; background: #6366f1; opacity: 0.35; transition: opacity 0.12s; }
.map-change-link:hover { background: #f5f7ff; border-color: #a5b4fc; color: #4338ca; box-shadow: 0 2px 8px rgba(99,102,241,0.12); text-decoration: none; }
.map-change-link:hover::before { opacity: 1; }
.map-change-link.text-error { background: #f5f7ff !important; border-color: #6366f1 !important; color: #4338ca !important; font-weight: 700 !important; }
.map-change-link.text-error::before { opacity: 1 !important; }
.map-modal-footer { display: flex; align-items: center; justify-content: space-between; padding: 12px 18px; background: #f8f9fb; border-top: 1px solid #e5e9f0; }
.map-modal-count { font-size: 12px; color: #9ca3af; }
.map-modal-count b { color: #374151; }
.map-modal-btn-close { display: inline-block; padding: 6px 18px; font-size: 13px; font-weight: 600; color: #374151 !important; background: #ffffff; border: 1px solid #e5e9f0 !important; border-radius: 8px; cursor: pointer; text-decoration: none; transition: background 0.12s, border-color 0.12s; }
.map-modal-btn-close:hover { background: #f0f2f5 !important; text-decoration: none; }
.map-modal-body::-webkit-scrollbar { width: 8px; }
.map-modal-body::-webkit-scrollbar-track { background: #e5e9f0; border-radius: 10px; }
.map-modal-body::-webkit-scrollbar-thumb { background: #6366f1; border-radius: 10px; border: 2px solid #e5e9f0; }
.map-modal-body::-webkit-scrollbar-thumb:hover { background: #4338ca; }
@media (max-width: 640px) { .map-select-modal .modal-dialog { width: 95%; } .map-change-link { flex: 0 0 calc(50% - 4px); } }

/* ===== .server-settings-block — intro block of the tool pages (picture 73x85; rcon/tariff/size/admins pages override the size inline) ===== */
.server-settings-block{max-width:715px;width:100%;box-sizing:border-box;padding:10px 15px;display:flex;align-items:center;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;font-size:13.5px;color:#333;background:repeating-linear-gradient( 45deg,#f9f9f9,#f9f9f9 2px,#f0f0f0 4px,#f0f0f0 5px );border:1px solid #d0d0d0;border-radius:4px;box-shadow:0 3px 10px rgba(0,0,0,0.08);transition:box-shadow 0.25s ease,transform 0.25s ease,border-color 0.25s ease;margin-bottom:20px;}
.server-settings-block:hover{transform:translateY(0px);box-shadow:0 5px 14px rgba(0,0,0,0.10);border-color:#c7c7c7;}
.server-settings-block img{width:73px;height:85px;margin-right:15px;flex-shrink:0;}
.server-settings-text{flex:1;border-left:4px solid #3CB879;padding-left:12px;line-height:1.4;font-weight:600;}

/* ===== .cfg-toast — «saved» notices of the config / admins / plugin-config pages ===== */
.cfg-toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:6px;font-size:13.5px;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;margin-bottom:16px;max-width:715px;box-shadow:0 2px 8px rgba(0,0,0,0.08);}
.cfg-toast--success{background:#d6f5e3;border:1px solid #7fcca0;color:#1e6f3e;}
.cfg-toast--info{background:#e0f0ff;border:1px solid #7db8e6;color:#1a5276;}
.cfg-toast--error{background:#fde8e8;border:1px solid #e6a0a0;color:#922;}
.cfg-toast__icon{font-size:15px;font-weight:700;color:#3CB879;}
.cfg-toast__close{margin-left:auto;background:none;border:none;font-size:18px;line-height:1;cursor:pointer;color:#7fba9a;padding:0 2px;transition:color 0.2s;}
.cfg-toast__close:hover{color:#1e6f3e;}

/* ===== Part 2 — engine additions ===== */
/* Bootstrap 2 gives .table no background: paint the cards white so the odd rows do not show the page background */
.servertable, .ftp-table { background: #fff; }
/* plain-Bootstrap blocks of the original (console controls, crash log, ip-block fieldsets) sit directly on the page
   background: a white box keeps them readable on the dark panel wallpaper (markup inside is the original one) */
.console-box, .crashlog-box, fieldset.ipblock-box { background: #fff; border: 1px solid #dde3ea; border-radius: 7px; padding: 6px 20px 18px; margin: 0 0 20px; box-shadow: 0 3px 10px rgba(0,0,0,0.08), 0 1px 4px rgba(0,0,0,0.06); }
.console-box > br { display: none; }
.console-box .span9 { width: 658px; }
.console-box .span6 { width: 428px; }
.console-box .span3 { width: 210px; }
.console-box #textConsole { margin-top: 12px; margin-bottom: 0; }
.crashlog-box { padding-top: 18px; }
.crashlog-box #container > .alert { margin-bottom: 14px; }
fieldset.ipblock-box legend { font-size: 16px; line-height: 32px; margin-bottom: 12px; color: #374151; font-weight: 600; }
fieldset.ipblock-box select#unblock { width: 100%; max-width: 420px; font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace; }
/* co-owner without the privilege: greyed .srvnav tab and sidebar item */
#sidebar .operations > li.disabled > a, #sidebar .operations > li.disabled > a > i { color: #aab2bd !important; }
.srvnav .nav-tabs > li.disabled > a, .srvnav .nav-tabs > li.disabled > a:hover { color: #aab2bd; cursor: not-allowed; background: #f3f4f6; border-color: #e6e9ee; }
/* the map modal is a plain Bootstrap 2 .modal: the custom header/body/footer blocks need no padding of their own */
.map-select-modal { border-radius: 12px; border: 1px solid #e5e9f0; overflow: hidden; }
.map-select-modal .map-modal-note { width: 100%; padding: 10px 14px; background: #fff; border: 1px solid #e5e9f0; border-radius: 8px; font-size: 13.5px; color: #555; box-sizing: border-box; }
/* the «Сервер продлён!» animation sits directly on the page background: white card for readability */
.prolong-success { background: #fff; border: 1px solid #dde3ea; border-radius: 7px; box-shadow: 0 3px 10px rgba(0,0,0,0.08), 0 1px 4px rgba(0,0,0,0.06); margin-bottom: 20px; }
/* validation errors of the co-owner / admins forms rendered as .cfg-toast lists */
.cfg-toast ul { margin: 0; padding-left: 18px; }
/* stats: inline SVG charts drawn by mod-server.js in the Highcharts-like containers */
.st2 .chart-wrap .sgh-chart { display: block; width: 100%; height: 320px; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
.st2 .chart-wrap .sgh-chart .ct { font-size: 15px; font-weight: 700; fill: #2c3e50; }
.st2 .chart-wrap .sgh-chart .cs { font-size: 12px; fill: #8b9099; }
.st2 .chart-wrap .sgh-chart .grid { stroke: #e6e6e6; stroke-width: 1; }
.st2 .chart-wrap .sgh-chart .axis { stroke: #ccd6eb; stroke-width: 1; }
.st2 .chart-wrap .sgh-chart .tick { font-size: 11px; fill: #666; }
.st2 .chart-wrap .sgh-chart .area { fill: rgba(60,184,121,0.18); }
.st2 .chart-wrap .sgh-chart .line { fill: none; stroke: #3CB879; stroke-width: 2.5; stroke-linejoin: round; }
.st2 .chart-wrap .sgh-chart .line2 { fill: none; stroke: #4a90d9; stroke-width: 2; stroke-dasharray: 6 4; }
.st2 .chart-wrap .sgh-chart .dot { fill: #fff; stroke: #3CB879; stroke-width: 2; }
.st2 .chart-wrap .sgh-chart .dot2 { fill: #fff; stroke: #4a90d9; stroke-width: 2; }
.st2 .chart-wrap .sgh-chart .legend { font-size: 12px; fill: #333; }
.st2 .chart-wrap .sgh-chart .empty { font-size: 13px; fill: #9aa0a8; }
/* the ban modal of RCON Кик and the API modal are Bootstrap 2 .modal blocks: reset the default paddings */
.rcon-modal .modal-body, .api-modal .modal-body { padding: 0; }
