/* assets/servers.css — oldschool (GameTracker-era) theme for servers.php, server.php, server_add.php */

.gt {
    --gt-bg: #181818;
    --gt-panel: #242424;
    --gt-row: #2a2a2a;
    --gt-row-alt: #232323;
    --gt-row-hover: #363636;
    --gt-edge: #0b0b0b;
    --gt-hl: #3d3d3d;
    --gt-text: #c9c9c9;
    --gt-muted: #8a8a8a;
    --gt-link: #f0a30a;
    --gt-link-hover: #ffd35c;
    --gt-good: #7fd13b;
    --gt-bad: #e04b3a;
    background:
        radial-gradient(ellipse at top, rgba(240,163,10,.06), transparent 55%),
        repeating-linear-gradient(45deg, #1a1a1a 0 2px, #181818 2px 4px);
    color: var(--gt-text);
    font: 11px/1.45 Verdana, Tahoma, "DejaVu Sans", Arial, sans-serif;
    padding: 18px 0 40px;
}
@media (max-width: 767px) { .gt { font-size: 12.5px; } }

.gt-wrap { max-width: 1000px; margin: 0 auto; padding: 0 10px; }
.gt a { color: var(--gt-link); text-decoration: none; }
.gt a:hover { color: var(--gt-link-hover); text-decoration: underline; }
.gt b, .gt strong { color: #eee; }
.gt .muted { color: var(--gt-muted); }
.gt .good { color: var(--gt-good); font-weight: bold; }
.gt .bad { color: var(--gt-bad); font-weight: bold; }
.gt .mono { font-family: "Lucida Console", Consolas, monospace; }
.gt .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* breadcrumb / page title */
.gt-crumbs { margin-bottom: 8px; color: var(--gt-muted); }
.gt-crumbs span { margin: 0 5px; }
.gt-h1 { margin: 0 0 12px; font: bold 17px/1.25 Tahoma, Verdana, sans-serif; color: #fff; text-shadow: 0 1px 0 #000; word-break: break-word; }

/* layout */
.gt-cols { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 12px; align-items: start; }
.gt-cols-2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: start; }
@media (max-width: 899px) { .gt-cols, .gt-cols-2 { grid-template-columns: minmax(0, 1fr); } }

/* blocks with glossy title bar */
.gt-block {
    margin-bottom: 12px;
    background: var(--gt-panel);
    border: 1px solid var(--gt-edge);
    border-radius: 4px;
    box-shadow: inset 0 0 0 1px #333, 0 2px 6px rgba(0,0,0,.5);
    overflow: hidden;
}
.gt-block-title {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    min-height: 26px; padding: 3px 10px;
    background: linear-gradient(#4b4b4b, #333 48%, #262626 52%, #2d2d2d);
    border-bottom: 1px solid var(--gt-edge);
    color: #fff; font: bold 11px Tahoma, Verdana, sans-serif; letter-spacing: .4px; text-transform: uppercase;
    text-shadow: 0 1px 0 #000;
}
.gt-block-title small { font-weight: normal; text-transform: none; letter-spacing: 0; color: #aaa; }
.gt-block-body { padding: 10px; }
.gt-block-body.flush { padding: 0; }

/* tables */
.gt-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.gt-table { width: 100%; border-collapse: collapse; }
.gt-table th {
    padding: 4px 6px; text-align: left; white-space: nowrap;
    background: linear-gradient(#3c3c3c, #2c2c2c); border: 1px solid var(--gt-edge);
    color: #e5e5e5; font-weight: bold; text-shadow: 0 1px 0 #000;
}
.gt-table th a { color: #e5e5e5; }
.gt-table th a.on { color: var(--gt-link); }
.gt-table td { padding: 4px 6px; border-bottom: 1px solid #1a1a1a; vertical-align: middle; }
.gt-table tbody tr:nth-child(odd) td { background: var(--gt-row); }
.gt-table tbody tr:nth-child(even) td { background: var(--gt-row-alt); }
.gt-table tbody tr:hover td { background: var(--gt-row-hover); }
.gt-table .name { max-width: 0; width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gt-table td.rank { color: #fff; font-weight: bold; text-align: center; }
.gt-table td.map { max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* key/value info table */
.gt-kv { width: 100%; border-collapse: collapse; }
.gt-kv th { width: 34%; padding: 5px 8px; text-align: right; color: var(--gt-muted); font-weight: normal; white-space: nowrap; vertical-align: top; border-bottom: 1px solid #1c1c1c; }
.gt-kv td { padding: 5px 8px; color: #e8e8e8; border-bottom: 1px solid #1c1c1c; word-break: break-word; }
.gt-kv tr:nth-child(odd) { background: #272727; }

/* game icon badge */
.gt-gicon {
    display: inline-block; min-width: 36px; padding: 0 3px; height: 15px; line-height: 13px;
    border: 1px solid #000; border-radius: 2px;
    background: linear-gradient(color-mix(in srgb, var(--g) 100%, #fff 18%), var(--g));
    color: #111; font: bold 9px Tahoma, Verdana, sans-serif; text-align: center; letter-spacing: .2px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35); vertical-align: middle;
}

/* status */
.gt-status { font-weight: bold; text-transform: uppercase; font-size: 10px; }
.gt-status.on { color: var(--gt-good); }
.gt-status.off { color: var(--gt-bad); }
.gt-led { display: inline-block; width: 8px; height: 8px; border-radius: 50%; border: 1px solid #000; vertical-align: middle; background: radial-gradient(circle at 35% 35%, #ff8a7a, #9b1c10); }
.gt-led.on { background: radial-gradient(circle at 35% 35%, #d7ff9a, #3c8a0c); box-shadow: 0 0 5px rgba(127,209,59,.6); }

/* player bar */
.gt-pbar { display: inline-block; width: 64px; height: 9px; border: 1px solid #000; background: #111; vertical-align: middle; box-shadow: 0 1px 0 #3a3a3a; }
.gt-pbar span { display: block; height: 100%; background: linear-gradient(#b6f06a, #5aa71c); }
.gt-pbar.mid span { background: linear-gradient(#ffe27a, #d9a00b); }
.gt-pbar.full span { background: linear-gradient(#ff8a73, #c0321d); }

/* buttons & inputs */
.gt-btn, .gt input[type=submit], .gt button.gt-btn {
    display: inline-block; cursor: pointer; padding: 4px 11px;
    border: 1px solid #0d0d0d; border-radius: 3px;
    background: linear-gradient(#626262, #444 50%, #3a3a3a 51%, #474747);
    color: #fff !important; font: bold 11px Tahoma, Verdana, sans-serif; text-shadow: 0 -1px 0 #000;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.25); white-space: nowrap;
}
.gt-btn:hover { background: linear-gradient(#727272, #515151 50%, #464646 51%, #545454); text-decoration: none !important; }
.gt-btn.orange { background: linear-gradient(#ffcf5c, #f5a623 50%, #e08e0b 51%, #f0a30a); color: #1f1300 !important; text-shadow: 0 1px 0 rgba(255,255,255,.35); }
.gt-btn.orange:hover { background: linear-gradient(#ffdc80, #ffb63d 50%, #ec9a14 51%, #fbb026); }
.gt-btn.red { background: linear-gradient(#e0705f, #b83a28 50%, #a22d1c 51%, #b53726); }
.gt-btn.big { padding: 7px 16px; font-size: 12px; }
.gt-input, .gt select.gt-input, .gt textarea.gt-input {
    padding: 4px 6px; border: 1px solid #0a0a0a; border-radius: 2px;
    background: #111; color: #e5e5e5; font: 11px Verdana, Tahoma, sans-serif;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.8), 0 1px 0 #3a3a3a;
}
.gt-input:focus { outline: 1px solid var(--gt-link); }
@media (max-width: 767px) { .gt-input, .gt-btn { font-size: 13px !important; padding: 7px 10px; } }

/* tabs */
.gt-tabs { display: flex; flex-wrap: wrap; gap: 2px; }
.gt-tabs a { padding: 3px 8px; border: 1px solid var(--gt-edge); border-radius: 3px 3px 0 0; background: linear-gradient(#3a3a3a, #2a2a2a); color: #ccc; font-weight: bold; }
.gt-tabs a.on { background: linear-gradient(#5a4210, #3a2a08); color: var(--gt-link-hover); }
.gt-tabs a:hover { text-decoration: none; color: #fff; }

/* sidebar lists */
.gt-list { list-style: none; margin: 0; padding: 0; }
.gt-list li { display: flex; align-items: center; gap: 6px; padding: 4px 8px; border-bottom: 1px solid #1c1c1c; }
.gt-list li:nth-child(odd) { background: #282828; }
.gt-list li.on { background: #3a2c0c; }
.gt-list .count { margin-left: auto; color: var(--gt-muted); }

/* messages */
.gt-msg { margin-bottom: 12px; padding: 7px 10px; border: 1px solid; border-radius: 3px; font-weight: bold; }
.gt-msg.ok { border-color: #3f6e17; background: #1f3310; color: #c7f09a; }
.gt-msg.err { border-color: #7a2418; background: #3a130d; color: #ffb3a8; }

/* stat boxes */
.gt-stats { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--gt-edge); background: #1c1c1c; }
.gt-stats div { padding: 6px 4px; text-align: center; border-right: 1px solid #111; }
.gt-stats div:last-child { border-right: 0; }
.gt-stats b { display: block; font: bold 16px Tahoma, Verdana, sans-serif; color: #fff; }
.gt-stats span { color: var(--gt-muted); font-size: 10px; text-transform: uppercase; }

/* player graph: classic green-on-black */
.gt-graph { position: relative; border: 1px solid #000; background: #050805; box-shadow: inset 0 0 0 1px #1c2a1c; }
.gt-graph svg { display: block; width: 100%; height: auto; }
.gt-graph .gt-xl { position: relative; height: 16px; font: 10px "Lucida Console", Consolas, monospace; color: #5d8f4a; }
.gt-graph .gt-xl span { position: absolute; transform: translateX(-50%); white-space: nowrap; }
.gt-tip { position: absolute; top: 0; z-index: 2; pointer-events: none; transform: translate(-50%, -115%); padding: 3px 6px; border: 1px solid #000; background: #fffbe0; color: #111; font: 11px Verdana, sans-serif; white-space: nowrap; box-shadow: 2px 2px 0 rgba(0,0,0,.6); }

/* token box */
.gt-token { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border: 1px dashed var(--gt-link); background: #2d2208; }
.gt-token .mono { font-size: 18px; font-weight: bold; letter-spacing: 2px; color: #fff; }
.gt-code { display: block; padding: 6px 8px; border: 1px solid #000; background: #0d0d0d; color: #9f6; font: 11px "Lucida Console", Consolas, monospace; word-break: break-all; }

/* game picker (add server) */
.gt-games { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; }
.gt-games label { display: flex; align-items: center; gap: 7px; padding: 7px 8px; border: 1px solid var(--gt-edge); border-radius: 3px; background: linear-gradient(#2f2f2f, #262626); cursor: pointer; color: #ddd; font-weight: bold; }
.gt-games label:hover { background: linear-gradient(#383838, #2c2c2c); }
.gt-games input { accent-color: #f0a30a; }
.gt-games label:has(input:checked) { border-color: #a36d05; background: linear-gradient(#4a3610, #2e2208); color: #fff; }

/* mobile: server list rows collapse to cards */
@media (max-width: 767px) {
    .gt-table.stack thead { display: none; }
    .gt-table.stack, .gt-table.stack tbody, .gt-table.stack tr, .gt-table.stack td { display: block; width: auto; max-width: none; }
    .gt-table.stack tr { padding: 7px 8px; border-bottom: 1px solid #111; }
    .gt-table.stack tbody tr:nth-child(odd) { background: var(--gt-row); }
    .gt-table.stack tbody tr:nth-child(even) { background: var(--gt-row-alt); }
    .gt-table.stack td { padding: 2px 0; border: 0; background: none !important; white-space: normal; }
    .gt-table.stack td.map { max-width: none; }
    .gt-table.stack td.rank { display: inline-block; text-align: left; margin-right: 6px; }
    .gt-table.stack td.name { display: inline; }
    .gt-table.stack td[data-label]::before { content: attr(data-label) ": "; color: var(--gt-muted); }
}
