/* Admin module part 1: dashboard, clients, servers, tasks, nodes, locations, games, tariffs */
.admin-alerts { margin-bottom: 14px; }
.admin-alert { padding: 7px 12px; border-radius: 3px; margin-bottom: 6px; border: 1px solid; }
.admin-alert.bad { background: #fdf1f0; border-color: #e4b9b8; color: #b94a48; }
.admin-alert.warn { background: #fff8ec; border-color: #f0d59e; color: #8a6d3b; }
.admin-alert a { color: inherit; text-decoration: underline; margin-left: 6px; }
.admin-tile a { color: inherit; text-decoration: none; }
.admin-tile .sub { font-size: 11px; color: #999; }
.admin-cols { display: flex; gap: 16px; flex-wrap: wrap; }
.admin-cols > .admin-card { flex: 1 1 320px; min-width: 0; }
.admin-cols > .admin-card.w2 { flex: 2 1 480px; }
.admin-card h3 .pull-right { font-weight: normal; font-size: 12px; }
.admin-card .table { margin-bottom: 0; }
.admin-bar { position: relative; background: #eef1f5; border-radius: 3px; height: 16px; min-width: 90px; overflow: hidden; }
.admin-bar-in { height: 100%; background: #5cb85c; }
.admin-bar-in.bar-warning { background: #f0ad4e; }
.admin-bar-in.bar-danger { background: #d9534f; }
.admin-bar span { position: absolute; left: 0; right: 0; top: 0; text-align: center; font-size: 10px; line-height: 16px; color: #222; }
.admin-node-ok { color: #468847; } .admin-node-down { color: #b94a48; font-weight: bold; }
.admin-filters .form-inline label, .admin-filters .form-inline input, .admin-filters .form-inline select, .admin-filters .form-inline .btn { display: inline-block; vertical-align: middle; margin-bottom: 8px; }
.admin-filters .form-inline label { margin-right: 4px; color: #666; }
.admin-filters .form-inline input[type=text], .admin-filters .form-inline input[type=date] { margin-right: 8px; }
.admin-filters .form-inline select { margin-right: 8px; width: auto; }
.admin-main .admin-card { overflow-x: auto; }
.admin-tiles .admin-tile { flex: 1 1 130px; max-width: 340px; }
.form-inline label.checkbox, .admin-form label.checkbox.inline { display: inline-block; }
.admin-inline-form label.checkbox { display: inline-block; }
.admin-filters .btn { margin-right: 4px; }
.admin-count { color: #888; font-size: 12px; margin: 6px 0; }
.admin-sort a { color: #333; text-decoration: none; }
.admin-sort a:hover { text-decoration: underline; }
.admin-sort a.on { color: #3a7bd5; }
.admin-inline-form form, .admin-btns form { display: inline; }
.admin-btns .btn { margin: 1px 2px 1px 0; }
.admin-inline-form .btn { margin: 1px 2px 1px 0; }
.admin-form .row-fluid [class*="span"] { min-height: 0; }
.admin-form input[type=text], .admin-form input[type=number], .admin-form input[type=email], .admin-form input[type=datetime-local], .admin-form textarea, .admin-form select { width: 100%; box-sizing: border-box; height: auto; }
.admin-form input[type=number] { width: 120px; }
.admin-form textarea { min-height: 70px; }
.admin-form textarea.tall { min-height: 200px; }
.admin-form .control-group { margin-bottom: 10px; }
.admin-form .checkbox { font-weight: normal; }
.admin-form .form-actions { background: #f8f9fb; border-top: 1px solid #eee; padding: 12px 16px; margin: 10px -16px -14px; }
.admin-form select[multiple] { min-height: 160px; }
.admin-ops { display: flex; flex-wrap: wrap; gap: 12px; }
.admin-op { flex: 1 1 300px; border: 1px solid #e3e7ee; border-radius: 4px; padding: 10px 12px; background: #fafbfd; }
.admin-op h4 { font-size: 13px; margin: 0 0 6px; }
.admin-op input[type=text], .admin-op input[type=number], .admin-op select, .admin-op input[type=datetime-local] { margin-bottom: 4px; }
.admin-op .help { font-size: 11px; color: #888; }
.admin-op.danger { border-color: #e4b9b8; background: #fdf5f5; }
.admin-tools { display: flex; flex-wrap: wrap; gap: 6px; }
.admin-tools a { display: inline-block; background: #fff; border: 1px solid #d9dde1; border-radius: 3px; padding: 3px 9px; color: #333; text-decoration: none; font-size: 12px; }
.admin-tools a:hover { background: #3a7bd5; color: #fff; border-color: #3a7bd5; }
.admin-power .btn { margin-right: 4px; }
.admin-sec { display: inline-block; margin-right: 14px; }
.admin-secret { font-family: Consolas, Menlo, monospace; background: #f4f6f9; padding: 2px 6px; border-radius: 3px; }
.admin-secret.blur { filter: blur(4px); cursor: pointer; }
.admin-chart { margin: 6px 0 4px; }
.admin-chart .bar span { display: none; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); background: #222; color: #fff; font-size: 10px; padding: 1px 4px; border-radius: 2px; white-space: nowrap; z-index: 2; }
.admin-chart .bar:hover span { display: block; }
.admin-chart-x { display: flex; justify-content: space-between; font-size: 10px; color: #999; }
.admin-table-sm td, .admin-table-sm th { font-size: 12px; }
.admin-main .table td.nowrap, .nowrap { white-space: nowrap; }
.admin-main .table .r { text-align: right; }
.admin-main .table tr.deleted td { color: #999; background: #fafafa; }
.admin-main .table tr.blocked td { background: #fdf5f5; }
.admin-th-check { width: 22px; }
.admin-main .table tr.warn td { background: #fff8ec; }
.admin-json-ok { color: #468847; font-size: 11px; } .admin-json-err { color: #b94a48; font-size: 11px; }
.admin-game-ico { width: 20px; height: 20px; vertical-align: middle; margin-right: 4px; }
.admin-settings-box { background: #f8f9fb; border: 1px dashed #cfd6e4; padding: 8px 12px; border-radius: 4px; margin-bottom: 12px; font-size: 12px; }
.admin-settings-box b { margin-right: 4px; }
.admin-empty-sm { color: #999; font-style: italic; }
.admin-server-head { display: flex; gap: 18px; flex-wrap: wrap; align-items: flex-start; }
.admin-server-head .admin-kv { flex: 1 1 380px; }
.admin-status-big { font-size: 15px; }
.admin-mono { font-family: Consolas, Menlo, monospace; font-size: 12px; }
.admin-refs td.r { text-align: right; }
.admin-legend { font-size: 11px; color: #888; }
.admin-warn-text { color: #b94a48; }
@media (max-width: 800px) { .admin-cols { flex-direction: column; } }
.admin-main .table tr.admin-node-row td { border-bottom: 0; }
.admin-main .table tr.admin-node-actions td { border-top: 0; padding-top: 0; padding-bottom: 8px; }
.admin-main .table-striped tr.admin-node-actions td { background: transparent; }
.admin-main .table-striped tbody tr.admin-node-row:nth-child(4n+1) td, .admin-main .table-striped tbody tr.admin-node-row:nth-child(4n+1) + tr td { background: #f8f9fb; }
.admin-main .table-striped tbody tr.admin-node-row:nth-child(4n+3) td, .admin-main .table-striped tbody tr.admin-node-row:nth-child(4n+3) + tr td { background: #fff; }
