@font-face { font-family:'Manrope'; font-style:normal; font-weight:200 800; font-display:swap; src:url('/static/manrope-cyrillic-wght-normal.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:200 800; font-display:swap; src:url('/static/manrope-latin-wght-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* ---------- темы ---------- */
:root {
  --bg:#000; --panel:#0a0a0a; --panel2:#111; --panel3:#171717; --line:#262626; --line2:#333;
  --text:#ececec; --muted:#8d8d8d; --dim:#5f5f5f;
  --accent:#9dff00; --accent-bg:rgba(157,255,0,.12); --accent-line:rgba(157,255,0,.45);
  --up:#33d17f; --up-bg:rgba(51,209,127,.14); --down:#ff5a5f; --down-bg:rgba(255,90,95,.14); --warn:#f5a524;
  --ask-bar:rgba(255,90,95,.16); --bid-bar:rgba(51,209,127,.16); --font:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color-scheme: dark;
}
[data-theme="light"] {
  --bg:#f3f4f6; --panel:#fff; --panel2:#f7f7f8; --panel3:#ececee; --line:#dcdde1; --line2:#c8cad0;
  --text:#14161a; --muted:#6a6f78; --dim:#9aa0a8;
  --accent:#4d8a00; --accent-bg:rgba(77,138,0,.1); --accent-line:rgba(77,138,0,.5);
  --up:#0a8f4d; --up-bg:rgba(10,143,77,.1); --down:#c62f3a; --down-bg:rgba(198,47,58,.1); --warn:#b26a00;
  --ask-bar:rgba(198,47,58,.13); --bid-bar:rgba(10,143,77,.13);
  color-scheme: light;
}
* { box-sizing:border-box; }
html, body { margin:0; }
body { background:var(--bg); color:var(--text); font:500 12px/1.4 var(--font); }
a { color:inherit; }
button, input, select { font:inherit; color:inherit; }
button { cursor:pointer; }
.pos { color:var(--up); } .neg { color:var(--down); } .muted { color:var(--muted); }
.hidden { display:none !important; }

/* ---------- шапка ---------- */
.topbar { display:flex; align-items:center; gap:28px; padding:0 20px; height:56px; border-bottom:1px solid var(--line); background:var(--bg); }
.brand { display:flex; align-items:center; gap:8px; font-weight:700; font-size:15px; letter-spacing:.3px; text-decoration:none; }
.brand svg { width:26px; height:26px; }
.brand b { color:var(--accent); font-weight:700; }
.nav { display:flex; gap:22px; }
.nav a { text-decoration:none; font-size:14px; color:var(--text); padding:6px 0; }
.nav a.active, .nav a:hover { color:var(--accent); }
.topbar .spacer { flex:1; }
.tsearch { position:relative; }
.tsearch input { width:190px; background:var(--panel2); border:1px solid var(--line); border-radius:6px; padding:6px 10px; font-size:12px; outline:none; }
.tsearch input:focus { border-color:var(--accent-line); }
.iconbtn { background:var(--panel2); border:1px solid var(--line); border-radius:6px; height:30px; min-width:30px; padding:0 9px; display:inline-flex; align-items:center; justify-content:center; gap:6px; font-size:12px; }
.iconbtn:hover { border-color:var(--accent-line); }
.iconbtn.active { color:var(--accent); border-color:var(--accent-line); background:var(--accent-bg); }

/* ---------- выпадающие списки (свои, а не нативные — чтобы выглядели одинаково) ---------- */
.dd { position:relative; }
.dd-btn { display:flex; align-items:center; gap:10px; width:100%; height:36px; padding:0 12px; background:var(--panel2); border:1px solid var(--line2); border-radius:8px; text-align:left; }
.dd-btn:hover, .dd.open .dd-btn { border-color:var(--accent-line); }
.dd-btn .name { font-weight:600; font-size:13px; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dd-btn .chev { color:var(--muted); font-size:10px; }
.dd-list { position:absolute; z-index:50; left:0; right:0; top:calc(100% + 4px); min-width:200px; max-height:300px; overflow:auto; background:var(--panel2); border:1px solid var(--line2); border-radius:8px; padding:4px; margin:0; list-style:none; box-shadow:0 8px 24px rgba(0,0,0,.45); }
.dd-list li { display:flex; align-items:center; gap:8px; padding:7px 9px; border-radius:6px; cursor:pointer; font-size:12px; }
.dd-list li:hover, .dd-list li.sel { background:var(--panel3); }
.dd-list li.dis { opacity:.4; cursor:not-allowed; }
.dd-list .sub { margin-left:auto; color:var(--muted); font-size:11px; }
.vdotc { width:18px; height:18px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; color:#000; flex:none; }
.badge { display:inline-block; padding:1px 6px; border-radius:4px; background:var(--panel3); color:var(--muted); font-size:9px; font-weight:600; letter-spacing:.3px; text-transform:uppercase; }
.badge.green { background:var(--up-bg); color:var(--up); } .badge.red { background:var(--down-bg); color:var(--down); }

/* ---------- панель выбора пары ---------- */
.pairbar { display:flex; align-items:center; gap:10px; padding:14px 16px 0; }
.coinbox { position:relative; width:260px; }
.coinbox .box { display:flex; align-items:center; gap:8px; height:36px; padding:0 12px; background:var(--panel2); border:1px solid var(--line2); border-radius:8px; }
.coinbox input { flex:1; min-width:0; background:none; border:0; outline:none; font-weight:600; font-size:13px; text-transform:uppercase; }
.coinbox .quote { color:var(--muted); font-weight:600; font-size:13px; }
.pairbar .venue { width:230px; }
.swap { height:36px; width:40px; border-radius:8px; background:var(--panel2); border:1px solid var(--line2); font-size:16px; }
.swap:hover { border-color:var(--accent-line); color:var(--accent); }
.pairbar .right { margin-left:auto; display:flex; gap:8px; align-items:center; }
.chk-pop { position:absolute; right:0; top:calc(100% + 4px); z-index:50; background:var(--panel2); border:1px solid var(--line2); border-radius:8px; padding:8px 12px; display:flex; flex-direction:column; gap:8px; min-width:190px; box-shadow:0 8px 24px rgba(0,0,0,.45); }
.chk-pop label { display:flex; gap:8px; align-items:center; cursor:pointer; }
.chk-pop input { accent-color:var(--accent); }

/* ---------- сводная таблица ---------- */
.summary { margin:14px 16px 0; border:1px solid var(--line2); border-radius:6px; overflow:hidden; background:var(--bg); }
.summary table { width:100%; border-collapse:collapse; table-layout:fixed; }
.summary th, .summary td { border:1px solid var(--line2); padding:5px 8px; text-align:center; font-size:12px; white-space:nowrap; }
.summary th { font-weight:500; height:24px; color:var(--text); background:var(--bg); }
.summary th .info { color:var(--accent); margin-left:3px; font-size:10px; }
.summary td.coincell { width:150px; }
.summary .coin { display:flex; align-items:center; gap:10px; justify-content:center; font-weight:600; text-align:left; }
.summary .coin i { width:20px; height:20px; border:1px solid var(--line2); border-radius:50%; font-style:normal; font-size:7px; display:inline-flex; align-items:center; justify-content:center; color:var(--muted); }
.summary .spreadcell { line-height:1.5; font-weight:600; }
.summary .spreadcell small { color:var(--muted); font-weight:500; margin-right:3px; }
.legname { display:inline-flex; align-items:center; gap:6px; font-weight:600; }
.legname.up { color:var(--up); } .legname.down { color:var(--down); }
.pill { display:inline-block; margin-left:6px; padding:1px 6px; border-radius:4px; font-size:10px; font-weight:600; background:var(--panel3); color:var(--muted); }
.pill.up { background:var(--up-bg); color:var(--up); } .pill.down { background:var(--down-bg); color:var(--down); }
.pill.warn { background:rgba(245,165,36,.16); color:var(--warn); }
.fund-cell { display:inline-flex; gap:6px; align-items:center; }

/* ---------- рабочая область: график + стаканы + калькулятор ---------- */
.workspace { display:grid; grid-template-columns:minmax(0,1fr) 420px 340px; margin:0 16px; border:1px solid var(--line2); border-top:0; min-height:430px; background:var(--bg); }
.chart-panel { position:relative; min-width:0; border-right:1px solid var(--line2); display:flex; flex-direction:column; }
.chart-tools { position:absolute; z-index:5; top:8px; left:8px; display:flex; flex-direction:column; gap:3px; }
.chart-tools .lab { font-size:10px; color:var(--text); }
.chart-tools .row { display:flex; gap:8px; align-items:center; }
.interval { position:relative; }
.interval .dd-btn { height:30px; width:76px; border-radius:6px; padding:0 8px; gap:6px; }
.interval .dd-list { min-width:76px; right:auto; width:76px; }
.seg { display:inline-flex; border:1px solid var(--line2); border-radius:6px; overflow:hidden; background:var(--panel2); }
.seg button { background:none; border:0; border-right:1px solid var(--line2); padding:0 11px; height:30px; font-size:11px; font-weight:500; }
.seg button:last-child { border-right:0; }
.seg button.active { color:var(--accent); background:var(--accent-bg); }
#chart { flex:1; min-height:340px; }
.chart-note { position:absolute; left:12px; bottom:34px; max-width:min(560px, 70%); font-size:11px; line-height:1.35; color:var(--muted); background:var(--panel, rgba(0,0,0,.35)); padding:4px 8px; border-radius:4px; pointer-events:none; opacity:.9; }
.chart-msg { position:absolute; inset:60px 0 0 0; display:flex; align-items:center; justify-content:center; text-align:center; color:var(--muted); font-size:13px; padding:0 40px; pointer-events:none; }
.chart-foot { position:absolute; left:10px; bottom:6px; font-size:10px; color:var(--dim); z-index:5; pointer-events:none; }

.books { display:grid; grid-template-columns:1fr 1fr; border-right:1px solid var(--line2); min-width:0; }
.book { min-width:0; border-right:1px solid var(--line2); padding:7px 8px 6px; display:flex; flex-direction:column; }
.book:last-child { border-right:0; }
.book h4 { margin:0 0 5px; display:flex; align-items:center; justify-content:space-between; font-size:12px; font-weight:700; }
.dot { width:7px; height:7px; border-radius:50%; background:var(--dim); display:inline-block; }
.dot.ok { background:var(--up); } .dot.bad { background:var(--down); }
.book .head { display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:10px; margin-bottom:4px; gap:4px; }
.unit-seg button { height:18px; padding:0 6px; font-size:9px; }
.lv { position:relative; display:flex; justify-content:space-between; padding:2px 6px; font-size:11px; font-variant-numeric:tabular-nums; margin-bottom:1px; overflow:hidden; border-radius:2px; }
.lv .bar { position:absolute; top:0; right:0; bottom:0; width:0; z-index:0; }
.lv span { position:relative; z-index:1; }
.lv.ask { color:var(--down); } .lv.ask .bar { background:var(--ask-bar); }
.lv.bid { color:var(--up); } .lv.bid .bar { background:var(--bid-bar); }
.lv.best { font-weight:700; }
.lv .q { color:var(--text); }
.lv.ask .q { color:var(--down); } .lv.bid .q { color:var(--up); }
.book .mid { height:8px; }
.book .err { color:var(--down); font-size:11px; padding:10px 4px; }

.calc { padding:10px; overflow:auto; display:flex; flex-direction:column; gap:10px; min-width:0; }
.calc h5 { margin:0 0 6px; font-size:11px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.4px; }
.fgrid { display:grid; grid-template-columns:1fr 1fr; gap:6px 8px; }
.field label { display:block; font-size:10px; color:var(--muted); margin-bottom:3px; }
.field input { width:100%; height:32px; background:var(--panel2); border:1px solid var(--line2); border-radius:6px; padding:0 9px; font-size:12px; outline:none; }
.field input:focus { border-color:var(--accent-line); }
.btn-accent { height:32px; border-radius:6px; border:1px solid var(--accent-line); background:var(--accent-bg); color:var(--accent); font-weight:600; font-size:12px; width:100%; }
.btn-accent:hover { background:rgba(157,255,0,.2); }
.legcards { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px; }
.legcard { border-radius:8px; padding:8px 8px; font-size:10.5px; min-width:0; overflow:hidden; }
.legcard.up { background:var(--up-bg); } .legcard.down { background:var(--down-bg); }
.legcard h6 { margin:0 0 5px; font-size:11px; font-weight:700; } .legcard.up h6 { color:var(--up); } .legcard.down h6 { color:var(--down); }
.kv { display:flex; justify-content:space-between; align-items:baseline; gap:4px; padding:1px 0; min-width:0; } .kv .k { color:var(--muted); } .kv .v { font-weight:700; text-align:right; }
.result { background:var(--panel2); border:1px solid var(--line); border-radius:8px; padding:8px 10px; }
.result .kv { padding:3px 0; font-size:11px; }
.pnlrow { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; text-align:center; border:1px solid var(--line2); border-radius:8px; padding:8px 4px; }
.pnlrow .k { color:var(--muted); font-size:10px; } .pnlrow .v { font-weight:700; font-size:12px; margin-top:3px; }
.note { color:var(--muted); font-size:10px; line-height:1.5; }
.note.warn { color:var(--warn); }

/* ---------- нижние вкладки ---------- */
.bottom { margin:0 16px 16px; border:1px solid var(--line2); border-top:0; background:var(--bg); }
.tabs { display:flex; gap:22px; padding:0 14px; border-bottom:1px solid var(--line); }
.tabs button { background:none; border:0; border-bottom:2px solid transparent; padding:10px 0; color:var(--muted); font-size:12px; font-weight:500; }
.tabs button.active { color:var(--accent); border-bottom-color:var(--accent); }
.tabbody { padding:14px 18px; min-height:96px; font-size:12px; color:var(--text); }
.tabbody p { margin:0 0 8px; line-height:1.6; } .tabbody ul { margin:4px 0 8px 18px; padding:0; line-height:1.7; }
.vstat { display:flex; flex-wrap:wrap; gap:8px; }
.vstat .item { border:1px solid var(--line); border-radius:8px; padding:6px 10px; display:flex; gap:8px; align-items:center; }

/* ---------- сканер (главная) ---------- */
.page { padding:14px 16px 28px; }
.filters { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; margin-bottom:10px; }
.filters label { display:inline-flex; gap:6px; align-items:center; color:var(--muted); }
.filters input[type=number], .filters input[type=text], .filters select { background:var(--panel2); color:var(--text); border:1px solid var(--line2); border-radius:6px; padding:5px 8px; outline:none; }
.filters input[type=number] { width:90px; } .filters input[type=text] { width:100px; }
.filters input[type=checkbox] { accent-color:var(--accent); }
.venue-filters { display:flex; flex-wrap:wrap; gap:8px; width:100%; }
.venues { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.vdot { padding:2px 8px; border-radius:10px; font-size:11px; background:var(--panel3); color:var(--muted); }
.vdot.ok::before, .vdot.bad::before { content:"●"; margin-right:4px; }
.vdot.ok::before { color:var(--up); } .vdot.bad::before { color:var(--down); }
.banner { margin:0 0 10px; padding:8px 12px; border-radius:6px; background:var(--down-bg); color:var(--down); }
.banner.demo { background:rgba(245,165,36,.14); color:var(--warn); font-weight:600; }
.meta { color:var(--muted); margin-bottom:8px; }
.table-wrap { overflow-x:auto; }
.table-wrap table { width:100%; border-collapse:collapse; background:var(--panel); border:1px solid var(--line); }
.table-wrap th, .table-wrap td { padding:7px 10px; text-align:left; border-bottom:1px solid var(--line); white-space:nowrap; }
.table-wrap th { font-size:11px; color:var(--muted); background:var(--panel); position:sticky; top:0; font-weight:600; }
.table-wrap th.sortable { cursor:pointer; user-select:none; } .table-wrap th.sortable:hover { color:var(--text); }
td.num { text-align:right; font-variant-numeric:tabular-nums; } td.strong { font-weight:700; }
td.leg .venue { display:inline-block; min-width:84px; font-weight:600; } td.leg .price { color:var(--muted); font-variant-numeric:tabular-nums; }
td.leg .ccy { margin-left:6px; font-size:10px; color:var(--muted); }
td.token a { font-weight:700; text-decoration:none; } td.token a:hover { color:var(--accent); }
tr.suspect td { opacity:.55; }
.flag { display:inline-block; width:18px; height:18px; line-height:18px; text-align:center; border-radius:9px; font-size:10px; margin-right:3px; cursor:help; }
.flag.warn { background:var(--warn); color:#000; } .flag.approx, .flag.info { background:var(--panel3); color:var(--muted); }
.empty { padding:24px; text-align:center; color:var(--muted); }
footer { padding:6px 16px 28px; color:var(--muted); font-size:11px; max-width:1100px; line-height:1.6; }
.rel { position:relative; }
.page-banner { margin:10px 16px 0; }
.summary th.c-coin { width:100px; }
.fgrid { display:grid; grid-template-columns:1fr 1fr; gap:6px 8px; }

.attrib { padding:10px 16px 18px; font-size:10px; color:var(--muted); }
.attrib a { color:var(--muted); text-decoration:underline; }

/* ---------- адаптив ---------- */
.summary { overflow-x:auto; }
@media (max-width: 1280px) {
  .workspace { grid-template-columns:minmax(0,1fr) 400px; }
  .workspace .calc { grid-column:1 / -1; border-top:1px solid var(--line2); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; }
  .workspace .chart-panel { border-right:1px solid var(--line2); }
}
@media (max-width: 860px) {
  .topbar { gap:12px; padding:0 12px; }
  .tsearch input { width:120px; }
  .pairbar { flex-wrap:wrap; padding:12px 12px 0; }
  .pairbar .coinbox, .pairbar .venue { flex:1 1 150px; width:auto; min-width:0; }
  .pairbar .right { margin-left:0; width:100%; }
  .summary { margin:12px 12px 0; }
  .summary table { min-width:820px; }
  .workspace { grid-template-columns:minmax(0,1fr); margin:0 12px; }
  .workspace .chart-panel { border-right:0; border-bottom:1px solid var(--line2); }
  #chart { min-height:360px; }
  .chart-tools { position:static; padding:8px; }
  .books { border-right:0; border-bottom:1px solid var(--line2); }
  .workspace .calc { grid-template-columns:minmax(0,1fr); }
  .page-banner { margin:10px 12px 0; }
}
@media (max-width: 520px) {
  .tsearch { order:10; flex:1 1 100%; }
  .tsearch input { width:100%; }
  .nav { gap:14px; }
  .topbar { gap:14px; }
  .attrib { padding:10px 12px 18px; }
}

/* ---------- вкладка «Ввод/вывод» ---------- */
.tr-wrap { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:12px; margin-bottom:8px; }
.tr-card { border:1px solid var(--line); border-radius:8px; padding:10px 12px; min-width:0; }
.tr-card h6 { margin:0 0 6px; font-size:12px; font-weight:700; }
.tr-card p { margin:4px 0; line-height:1.5; }
.tr-table { width:100%; border-collapse:collapse; font-size:11px; }
.tr-table th { text-align:left; color:var(--muted); font-weight:500; padding:2px 6px 4px 0; }
.tr-table td { padding:2px 6px 2px 0; }
.tr-table td.pos { color:var(--up); } .tr-table td.neg { color:var(--down); }
.muted.small, p.small { font-size:10.5px; }

/* ---------- главная: вкладки-режимы, звёздочки, группы ---------- */
.modes { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 10px; }
.modes button { background:var(--panel2); border:1px solid var(--line2); border-radius:8px; padding:7px 14px; font-size:12px; font-weight:600; color:var(--muted); }
.modes button:hover { color:var(--text); border-color:var(--accent-line); }
.modes button.active { color:var(--accent); background:var(--accent-bg); border-color:var(--accent-line); }
.modes .count:not(:empty) { margin-left:4px; padding:0 6px; border-radius:8px; background:var(--panel3); font-size:10px; }
td.starcell { width:30px; padding-right:0 !important; }
button.star { background:none; border:0; padding:0 2px; font-size:16px; line-height:1; color:var(--dim); }
button.star:hover { color:var(--warn); }
button.star.on { color:var(--warn); }
button.more { margin-left:8px; padding:1px 7px; border-radius:10px; font-size:10px; font-weight:700; background:var(--panel3); border:1px solid var(--line2); color:var(--muted); }
button.more:hover, button.more.open { color:var(--accent); border-color:var(--accent-line); background:var(--accent-bg); }
tr.alt td { background:var(--panel2); font-size:11px; }
tr.alt td.token .arrow { color:var(--dim); margin-right:6px; }
tr.alt td.token a { font-weight:500; color:var(--muted); }
.table-wrap tbody tr { cursor:pointer; }
.table-wrap tbody tr:hover td { background:var(--panel3); }
.vcolor { display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:7px; vertical-align:middle; }
.kindbadge { display:inline-block; margin-right:6px; padding:0 5px; border-radius:4px; font-size:9px; font-weight:700; letter-spacing:.3px; background:rgba(151,252,228,.14); color:#6fe0c8; vertical-align:middle; }
td.leg .venue { min-width:0; margin-right:6px; }

/* ---------- шапка с аккаунтом (общая для всех страниц) ---------- */
.authslot { display:flex; gap:8px; align-items:center; }
.iconbtn { text-decoration:none; }
.iconbtn.primary { background:var(--accent); color:#000; border-color:var(--accent); font-weight:700; }
[data-theme="light"] .iconbtn.primary { color:#fff; }
.topbar { flex-wrap:wrap; row-gap:6px; }
@media (max-width:760px) { .topbar { gap:12px; height:auto; padding:8px 12px; } .nav { gap:14px; flex-wrap:wrap; } }
.saverow { display:flex; flex-direction:column; gap:6px; margin-top:10px; }
.saverow .btn-accent { align-self:flex-start; }

/* торговая панель на странице графика */
.bottom { overflow:hidden; }
.bottom .tabs { overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; }
.bottom .tabs button { white-space:nowrap; flex:0 0 auto; }
.calc-mode { margin-bottom:10px; }
.trade-panel { display:flex; flex-direction:column; gap:10px; min-width:0; }
.trade-panel[hidden] { display:none; }
.trade-panel .form { display:flex; flex-direction:column; gap:10px; }
.trade-panel .field input, .trade-panel .field select { width:100%; min-width:0; height:32px; background:var(--panel2); border:1px solid var(--line2); border-radius:6px; padding:0 9px; font-size:12px; outline:none; }
.trade-panel .field input[type=range] { padding:0; height:20px; }
.trade-panel .field input[type=checkbox] { width:auto; height:auto; }
.trade-panel .hint, .trade-panel .muted.small { display:block; font-size:10px; color:var(--muted); margin-top:3px; line-height:1.4; }
.trade-panel .seg { flex-wrap:wrap; max-width:100%; }
.trigrow { display:flex; gap:6px; align-items:center; flex-wrap:wrap; } .trigrow input { flex:1 1 90px; }
.presets { display:flex; gap:6px; flex-wrap:wrap; margin:2px 0 6px; }
.btnrow { display:flex; gap:8px; flex-wrap:wrap; }
.btn { height:30px; padding:0 12px; border-radius:6px; border:1px solid var(--line2); background:var(--panel2); font-size:12px; font-weight:600; }
.btn.small { height:26px; padding:0 9px; font-size:11px; } .btn.primary { background:var(--accent); color:#000; border-color:var(--accent); }
.btn.danger { color:var(--down); border-color:var(--down); background:var(--down-bg); } .btn:disabled { opacity:.5; cursor:default; }
.alert { padding:8px 10px; border-radius:6px; font-size:12px; line-height:1.5; background:var(--panel2); border:1px solid var(--line2); }
.alert.err { background:var(--down-bg); border-color:var(--down); } .alert.ok { background:var(--up-bg); border-color:var(--up); }
.card.inner { background:var(--panel2); border:1px solid var(--line2); border-radius:8px; padding:10px; } .card.inner p { margin:4px 0; }
.checkrow { display:block; font-size:12px; line-height:1.5; }
.tscroll { overflow-x:auto; }
table.plain { width:100%; border-collapse:collapse; font-size:12px; }
table.plain th { text-align:left; color:var(--muted); font-weight:600; padding:7px 8px; border-bottom:1px solid var(--line); white-space:nowrap; }
table.plain td { padding:7px 8px; border-bottom:1px solid var(--line); vertical-align:top; }

/* аватарки монет */
.coin-ava { width:28px; height:28px; border-radius:50%; flex:none; display:inline-block; object-fit:cover; background:var(--panel3); vertical-align:middle; }
.coin-ava.coin-sm { width:20px; height:20px; } .coin-ava.coin-lg { width:40px; height:40px; }
.coin-fb { display:inline-flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:12px; letter-spacing:.02em; }
.coin-fb.coin-sm { font-size:9px; } .coin-fb.coin-lg { font-size:15px; }
.coinbox { display:inline-flex; align-items:center; gap:10px; min-width:0; }
.coinname { display:flex; flex-direction:column; line-height:1.2; min-width:0; }
.coinname small { font-size:11px; font-weight:500; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:150px; }
.coin-h0 { background:hsl(0 52% 42%); }
.coin-h1 { background:hsl(30 52% 42%); }
.coin-h2 { background:hsl(60 52% 42%); }
.coin-h3 { background:hsl(90 52% 42%); }
.coin-h4 { background:hsl(120 52% 42%); }
.coin-h5 { background:hsl(150 52% 42%); }
.coin-h6 { background:hsl(180 52% 42%); }
.coin-h7 { background:hsl(210 52% 42%); }
.coin-h8 { background:hsl(240 52% 42%); }
.coin-h9 { background:hsl(270 52% 42%); }
.coin-h10 { background:hsl(300 52% 42%); }
.coin-h11 { background:hsl(330 52% 42%); }

/* переключатель языка в шапке */
[data-theme="light"] td.thin { color: var(--warn, #d9a441); }
td.leg .live { margin-left:4px; font-size:11px; color:var(--accent); }
