/* Live dashboard adapters for the supplied AZBETER Bootstrap theme. */
:root { --ok:var(--green); --bad:var(--red); --warn:#ffc679; --accent:var(--blue); --mono:Consolas,monospace; }
.grid { display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); margin-bottom:18px; }
.panel { background:linear-gradient(125deg,#131e3b,#11192f); border:1px solid var(--line); border-radius:12px; padding:22px; min-width:0; }
.panel h2 { font-size:16px; font-weight:600; margin:0 0 18px; display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.wide { grid-column:1/-1; }
.kv { display:grid; grid-template-columns:minmax(100px,.9fr) minmax(0,1.3fr); gap:10px 14px; margin:0; font-size:13px; }
.kv dt { color:var(--muted); font-weight:400; }
.kv dd { margin:0; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.badge { border-radius:5px; padding:5px 9px; font-size:12px; font-weight:500; background:#252c41; color:#a2acc3; }
.badge.ok { color:var(--green); background:#16342f; }
.badge.warn { color:var(--warn); background:#382e27; }
.badge.bad { color:var(--red); background:#382030; }
.alert { border:1px solid #653349; border-radius:8px; padding:12px 16px; background:#30203d; color:var(--red); }
.alert.info { background:#16342f; color:var(--green); border-color:#285749; }
.progress { position:relative; height:8px; background:#25304b; margin-top:18px; overflow:hidden; }
.progress>span { display:block; height:100%; background:var(--blue); }
.progress>i { position:absolute; top:0; bottom:0; width:2px; background:var(--warn); }
.table-wrap { overflow-x:auto; scrollbar-width:thin; }
table { width:100%; border-collapse:collapse; font-size:13px; font-variant-numeric:tabular-nums; }
th,td { padding:12px 14px; border-bottom:1px solid var(--line); white-space:nowrap; }
th { color:#8393b4; font-weight:500; background:#0d172e; }
tbody tr:hover { background:#1b2946; }
.num { text-align:right; }
.pos { color:var(--green); } .neg,.error { color:var(--red); }
.mono { font-family:var(--mono); font-size:12px; }
.symbols { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:8px; }
.symbol { border:1px solid var(--line); border-radius:7px; background:#0e1830; padding:12px; display:flex; justify-content:space-between; align-items:center; gap:8px; }
form.settings { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; align-items:end; }
form.settings label { display:flex; flex-direction:column; gap:8px; color:var(--muted); font-size:13px; }
.settings input:not([type=radio]) { width:100%; padding:10px 12px; border:1px solid #33415f; border-radius:7px; background:#101931; color:#e1e9ff; font-variant-numeric:tabular-nums; }
.settings input:focus-visible { outline:2px solid #8095ff; outline-offset:2px; }
.settings input[type=radio] { accent-color:var(--blue); }
.radio { flex-direction:row!important; gap:8px!important; align-items:center; flex-wrap:wrap; }
.settings .actions { grid-column:1/-1; display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.settings button { padding:10px 16px; border:1px solid #6278ff; border-radius:7px; background:#5268ed; color:white; }
.topbar form { margin:0; }
@media(max-width:767px) { .sidebar { display:none; } .grid { grid-template-columns:1fr; } .panel { padding:17px; } .topbar { height:auto; min-height:64px; gap:10px; flex-wrap:wrap; padding:12px 0; } .topbar .mono { display:none; } }

html { scroll-padding-top: 20px; }
@media(max-width:767px) { .sidebar { display:flex; } .mobile-menu { display:inline-block; } }
#history .table .num { text-align:right; }
.chart { min-height:210px; }


.server-control > summary { cursor:pointer; padding:1rem 1.25rem; font-weight:600; font-size:1.1rem; }
.server-control-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.server-control-column { display:grid; grid-template-rows:1.6rem repeat(3,auto); gap:.6rem; align-content:start; }
.server-control-column h2 { margin:0; font-size:1rem; }
.server-control-column button { width:100%; }
.server-control .server-action-start { --control-color:#4cddb2; --control-hover:#75e7c5; }
.server-control .server-action-stop { --control-color:#ff7c91; --control-hover:#ff9aab; }
.server-control .server-action-restart { --control-color:#ffc679; --control-hover:#ffd59e; }
.server-control .btn { background:var(--control-color); border-color:var(--control-color); color:#081426; font-weight:600; }
.server-control .btn:hover:not(:disabled), .server-control .btn:active:not(:disabled) { background:var(--control-hover); border-color:var(--control-hover); color:#081426; }
.server-control .btn:focus-visible { outline:3px solid var(--control-color); outline-offset:3px; box-shadow:none; }
.server-control .btn:disabled { background:var(--control-color); border-color:var(--control-color); color:#081426; opacity:.45; }
.server-control-spacer { height:1.6rem; }
@media(max-width:575px) { .server-control-grid { gap:.4rem; } .server-control-column button { padding:.5rem .2rem; font-size:.75rem; } }

.comparison-toolbar { display:flex; align-items:end; flex-wrap:wrap; gap:1rem; margin:1rem 0; }
.comparison-toolbar label { min-width:210px; }
.comparison-scale-controls { display:flex; gap:.6rem; flex-wrap:wrap; align-items:end; margin:.8rem 0; }
.comparison-scale-controls label { display:grid; gap:.3rem; color:var(--muted); font-size:.8rem; }
.comparison-scale-controls input { width:130px; }
.comparison-scale-controls select { min-width:230px; }
@media(max-width:575px) { .comparison-scale-controls label:first-child { width:100%; } .comparison-scale-controls input { width:110px; } }
.comparison-table-wrap { max-height:620px; overflow:auto; }
.comparison-table thead th { position:sticky; top:0; z-index:1; background:#111c35; white-space:nowrap; }
.comparison-sort { border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; padding:0; text-align:left; }
.comparison-table th[aria-sort="ascending"] .comparison-sort::after { content:' ↑'; }
.comparison-table th[aria-sort="descending"] .comparison-sort::after { content:' ↓'; }
.comparison-table tbody tr { cursor:pointer; }
.comparison-table tbody tr.selected > td { background:rgba(99,130,255,.1); }
.comparison-table tbody tr:hover > td { background:rgba(99,130,255,.16); }
.comparison-table td { white-space:nowrap; }
.comparison-table input[type="checkbox"] { width:1.1rem; height:1.1rem; cursor:pointer; }
.comparison-name { display:inline-flex; align-items:center; gap:.5rem; }
.comparison-swatch { width:.7rem; height:.7rem; border-radius:50%; display:inline-block; flex-shrink:0; }
.comparison-legend { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:.8rem; }
.comparison-legend button { display:inline-flex; align-items:center; gap:.4rem; border:1px solid #2a3856; background:transparent; color:inherit; border-radius:6px; padding:.3rem .55rem; }
.comparison-legend button[aria-pressed="false"] { opacity:.45; text-decoration:line-through; }
.comparison-plot { position:relative; outline-offset:3px; }
.comparison-plot svg { display:block; width:100%; height:auto; min-height:200px; }
.comparison-plot svg text { fill:#8ca2c5; font-size:11px; }
.comparison-tooltip { position:absolute; z-index:3; pointer-events:auto; max-width:min(340px,90%); max-height:260px; overflow:auto; background:#0a1226; border:1px solid #53658e; border-radius:8px; padding:.65rem; font-size:.8rem; box-shadow:0 8px 25px #0006; }
.comparison-tooltip ul { list-style:none; padding:0; margin:.4rem 0 0; }
.comparison-tooltip li { display:flex; align-items:center; gap:.4rem; justify-content:space-between; }
.comparison-tooltip strong { margin-left:1rem; }
