/* Общий дизайн Lynxflare: графитовый фон, салатовый акцент, янтарная подсветка, тонкие «волны» на фоне.
   Подключается последним на каждой странице и переопределяет токены из style.css. */

:root {
  --bg:#0a0d0b; --panel:#0f1411; --panel2:#151b17; --panel3:#1c241f; --line:#1f2822; --line2:#2b362f;
  --text:#eef2ec; --muted:#93a097; --dim:#64716a;
  --accent:#aef23a; --accent-bg:rgba(174,242,58,.10); --accent-line:rgba(174,242,58,.42);
  --amber:#ffb547;
  --up:#4ade80; --up-bg:rgba(74,222,128,.13); --down:#ff6b6b; --down-bg:rgba(255,107,107,.13);
  --menu-shadow:0 18px 44px -12px rgba(0,0,0,.75);
}
[data-theme="light"] {
  --bg:#f4f6f1; --panel:#ffffff; --panel2:#f6f8f3; --panel3:#ebefe7; --line:#dfe4d9; --line2:#cdd4c6;
  --text:#12170f; --muted:#5f6b58; --dim:#8a9583;
  --accent:#4a8a00; --accent-bg:rgba(74,138,0,.10); --accent-line:rgba(74,138,0,.5);
  --amber:#b26a00; --menu-shadow:0 18px 44px -14px rgba(20,30,10,.28);
}
body { font-family:var(--font); font-weight:500; font-size:13px; letter-spacing:-.003em; }
body { background-image:radial-gradient(ellipse 60% 320px at 50% -90px, var(--accent-bg), transparent 70%); }

/* ---------- шапка ---------- */
.topbar { position:sticky; top:0; z-index:40; display:flex; flex-wrap:nowrap; align-items:center; gap:10px; height:64px; padding:0 24px;
  background:color-mix(in srgb, var(--bg) 88%, transparent); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.brand { font-size:18px; font-weight:800; letter-spacing:-.02em; margin-right:14px; flex:none; }
.brand svg { width:28px; height:28px; }
.nav { display:flex; gap:4px; flex:none; }
.nav a { font-size:14px; font-weight:600; color:var(--muted); padding:8px 14px; border-radius:999px; transition:color .15s, background .15s; }
.nav a:hover { color:var(--text); background:var(--panel2); }
.nav a.active { color:var(--accent); background:var(--accent-bg); }
.topbar .spacer { flex:1 1 auto; min-width:8px; }

.tsearch { position:relative; display:flex; align-items:center; order:0; flex:0 1 230px; min-width:150px; }
.tsearch > svg { position:absolute; left:12px; width:14px; height:14px; color:var(--dim); pointer-events:none; }
.tsearch input { width:100%; height:38px; padding:0 14px 0 34px; border-radius:999px; background:var(--panel2); border:1px solid var(--line); font-size:13px; font-weight:500; }
.tsearch input::placeholder { color:var(--dim); }
.tsearch input:focus { border-color:var(--accent-line); box-shadow:0 0 0 3px var(--accent-bg); }
.tsearch .dd-list { left:0; right:0; top:calc(100% + 6px); min-width:240px; }

.iconbtn { height:38px; min-width:38px; padding:0 12px; border-radius:999px; background:var(--panel2); border:1px solid var(--line); color:var(--text); font-size:13px; font-weight:600; gap:7px; flex:none; transition:border-color .15s, background .15s; }
.iconbtn svg { flex:none; width:15px; height:15px; }
.iconbtn:hover { border-color:var(--accent-line); }
.iconbtn.iconsq { padding:0; width:38px; }
.iconbtn.primary { background:var(--accent); color:#0a0d0b; border-color:var(--accent); font-weight:800; }
.iconbtn.primary:hover { filter:brightness(1.06); }
[data-theme="light"] .iconbtn.primary { color:#fff; }
.authslot { display:flex; align-items:center; gap:8px; flex:none; }

/* выпадающие меню (язык, профиль) */
.menuwrap { position:relative; flex:none; }
.menubtn b { font-weight:800; letter-spacing:.01em; }
.menubtn .uname { max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.menubtn > svg:last-child { color:var(--muted); transition:transform .15s; }
.menuwrap.open .menubtn { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg); }
.menuwrap.open .menubtn > svg:last-child { transform:rotate(180deg); }
.menu { position:absolute; right:0; top:calc(100% + 8px); z-index:60; min-width:150px; margin:0; padding:6px; list-style:none; background:var(--panel2); border:1px solid var(--line2); border-radius:16px; box-shadow:var(--menu-shadow); }
.menu li { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 12px; border-radius:10px; font-size:14px; font-weight:600; cursor:pointer; color:var(--text); outline:none; }
.menu li a { display:block; flex:1; text-decoration:none; color:inherit; margin:-10px -12px; padding:10px 12px; }
.menu li:hover, .menu li:focus-visible { background:var(--panel3); }
.menu li.sel { color:var(--accent); }
.menu li.sel svg { width:15px; height:15px; color:var(--accent); }
.menu li.danger { color:var(--down); }
.menuwrap.langdd .menu { min-width:132px; }

/* ---------- контент: заголовки, карточки, кнопки ---------- */
.container h1 { font-size:34px; font-weight:300; text-transform:uppercase; letter-spacing:.01em; line-height:1.1; margin:36px 0 12px; }
.container h1::after { content:""; display:block; width:56px; height:3px; border-radius:3px; background:var(--accent); margin-top:14px; }
.container .lead { max-width:760px; color:var(--muted); font-size:15px; line-height:1.65; }
h2 { font-weight:700; letter-spacing:-.01em; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:20px; }
.btn { border-radius:999px; height:42px; padding:0 20px; font-weight:700; }
.btn.small { height:32px; padding:0 14px; }
.btn.primary { background:var(--accent); color:#0a0d0b; border-color:var(--accent); box-shadow:0 8px 28px -10px var(--accent-line); }
[data-theme="light"] .btn.primary { color:#fff; }
.btn.big { height:52px; padding:0 30px; font-size:15px; letter-spacing:.02em; }
.btn-accent { border-radius:999px; }
.badge, .tag { border-radius:999px; }
.tabs button { border-radius:999px; }
table th { text-transform:none; }
.field input[type=text], .field input[type=email], .field input[type=password], .field input[type=number], .field select, .field textarea { border-radius:14px; background:var(--panel2); }

/* ---------- тарифы ---------- */
.plans { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:20px; margin-top:26px; align-items:stretch; }
.plan { position:relative; display:flex; flex-direction:column; padding:30px 28px; border-radius:24px; overflow:hidden; }
.plan h3 { font-size:15px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.plan .price { font-size:34px; font-weight:800; letter-spacing:-.02em; margin:12px 0 4px; }
.plan:nth-child(2) { background:linear-gradient(180deg, var(--panel2), var(--panel)); border-color:var(--accent-line); box-shadow:0 0 0 1px var(--accent-bg), 0 32px 80px -40px var(--accent-line); }
.plan:nth-child(2)::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg, transparent, var(--accent), var(--amber), transparent); }
.plan:nth-child(2)::after { content:""; position:absolute; inset:0; pointer-events:none; background:url('/static/waves-lime.svg') right bottom/cover no-repeat; opacity:.16; }
.plan > * { position:relative; z-index:1; }
.plan:nth-child(2) h3 { color:var(--accent); }
.plan .btn { align-self:stretch; margin-top:auto; }
.plan .btn.big { margin-top:22px; }
.plan li::before { content:"✓"; }

/* ---------- фандинг ---------- */
.fundbar { border-radius:20px; padding:16px 18px; gap:14px 18px; }
.fundbar .viewseg { align-self:flex-end; }
.seg { border-radius:999px; background:var(--panel2); border:1px solid var(--line2); padding:3px; }
.seg button { height:32px; border:0; border-radius:999px; padding:0 16px; font-size:12px; font-weight:700; color:var(--muted); }
.seg button.active { background:var(--accent); color:#0a0d0b; }
[data-theme="light"] .seg button.active { color:#fff; }
.venuechip { border-radius:999px; background:var(--panel); }
.venuechip i { width:9px; height:9px; border-radius:50%; flex:none; }
.venuecell { white-space:nowrap; font-weight:600; }
.venuecell i { display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:8px; vertical-align:middle; }
.sortbtn { font-weight:700; letter-spacing:.01em; }
.fcell.pos { color:var(--up); } .fcell.neg { color:var(--down); }
.fcell.hi { background:var(--down-bg); }
.fcell.lo { background:var(--up-bg); }
.fcell.strong, td.strong { font-weight:800; }

/* ---------- подвал ---------- */
.sitefooter { margin-top:72px; padding:30px 24px 34px; border-top:1px solid var(--line); background:linear-gradient(180deg, transparent, var(--panel)); }
.sitefooter .footlinks { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 22px; font-size:14px; font-weight:600; margin:0 0 10px; }
.sitefooter .footlinks a { color:var(--muted); text-decoration:none; }
.sitefooter .footlinks a:hover { color:var(--accent); }

/* ---------- главная ---------- */
.lp-bg { height:1000px; }
.lp-bg::before, .lp-bg::after { content:""; position:absolute; left:0; right:0; background-repeat:no-repeat; background-size:cover; pointer-events:none; }
.lp-bg::before { top:20px; height:640px; background-image:url('/static/waves-lime.svg'); background-position:center top; opacity:.5; -webkit-mask-image:linear-gradient(180deg, #000 30%, transparent); mask-image:linear-gradient(180deg, #000 30%, transparent); }
.lp-bg::after { top:380px; height:640px; background-image:url('/static/waves-amber.svg'); background-position:center top; opacity:.22; -webkit-mask-image:linear-gradient(180deg, #000 20%, transparent); mask-image:linear-gradient(180deg, #000 20%, transparent); }
[data-theme="light"] .lp-bg::before { opacity:.28; } [data-theme="light"] .lp-bg::after { opacity:.14; }
.lp .topbar { background:color-mix(in srgb, var(--bg) 70%, transparent); border-bottom-color:var(--line); max-width:none; padding:0 24px; }
.lp-hero h1 { font-weight:300; text-transform:uppercase; letter-spacing:-.01em; font-size:54px; line-height:1.06; }
.lp-hero h1 em { font-weight:800; }
.lp-btn { border-radius:999px; }
.lp-head h2, .lp-cta h2 { font-weight:300; text-transform:uppercase; letter-spacing:0; }
.lp-card, .lp-steps li, .lp-stat, .lp .guidelinks li { border-radius:24px; }
.lp-ico { border-radius:16px; width:50px; height:50px; background:var(--accent); border-color:var(--accent); }
.lp-ico svg { stroke:#0a0d0b; }
[data-theme="light"] .lp-ico svg { stroke:#fff; }
.lp-stat b { font-weight:300; font-size:36px; }
.lp-live { border-radius:26px; }
.lp-cta { border-radius:32px; background:radial-gradient(ellipse 70% 130% at 50% 0%, var(--accent-bg), transparent 70%), url('/static/waves-lime.svg') center/cover no-repeat, var(--panel); }

/* ---------- узкие экраны ---------- */
@media (max-width:1100px) {
  .topbar { gap:8px; padding:0 14px; }
  .brand { margin-right:4px; }
  .nav a { padding:8px 10px; }
  .tsearch { flex-basis:170px; min-width:120px; }
  .menubtn .uname { max-width:90px; }
}
@media (max-width:860px) {
  .topbar { flex-wrap:wrap; height:auto; padding:10px 14px; row-gap:8px; }
  .nav { order:5; flex:1 1 100%; overflow-x:auto; scrollbar-width:none; }
  .tsearch { order:6; flex:1 1 100%; }
}
@media (max-width:520px) {
  .container h1 { font-size:26px; }
  .lp-hero h1 { font-size:32px; }
  .menubtn .uname { display:none; }
  .iconbtn.primary { padding:0 10px; }
}

/* ---------- оплата: промокод и кнопки способов оплаты ---------- */
.promobox { display:flex; align-items:center; gap:10px; max-width:460px; margin:14px 0 8px; padding:6px 6px 6px 14px; background:var(--panel2); border:1px solid var(--line2); border-radius:999px; }
.promobox:focus-within { border-color:var(--accent-line); box-shadow:0 0 0 3px var(--accent-bg); }
.promobox > svg { color:var(--accent); flex:none; }
.promobox input { flex:1; min-width:0; background:none; border:0; outline:none; font-size:14px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.promobox input::placeholder { text-transform:none; letter-spacing:0; font-weight:500; color:var(--dim); }
.promobox .btn { height:36px; }
.paygroup { margin-top:22px; } .paygroup-title { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:0 0 6px; font-size:16px; }
.plan.addon { border-style:dashed; } .plan .addon-note { font-size:12.5px; color:var(--accent); margin:-4px 0 6px; }
.payplans { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:16px; margin-top:16px; }
.payplan { display:flex; flex-direction:column; gap:14px; padding:20px; background:var(--panel2); border:1px solid var(--line2); border-radius:22px; }
.payplan.discounted { border-color:var(--accent-line); box-shadow:0 0 0 1px var(--accent-bg), 0 24px 60px -36px var(--accent-line); }
.payhead { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.paydays { font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.payprice { display:flex; align-items:baseline; gap:10px; }
.payprice strong { font-size:28px; font-weight:800; letter-spacing:-.02em; }
.payprice s { color:var(--dim); font-size:14px; }
.paybadge { background:var(--accent); color:#0a0d0b; font-size:12px; font-weight:800; padding:3px 9px; border-radius:999px; }
[data-theme="light"] .paybadge { color:#fff; }
.paybtns { display:flex; flex-direction:column; gap:10px; }
.paysplit { display:grid; gap:10px; grid-template-columns:1fr 1fr; }
.paysplit.n1 { grid-template-columns:1fr; }
.paybtn { display:flex; align-items:center; gap:12px; width:100%; padding:12px 16px 12px 12px; text-align:left; color:var(--text); background:var(--panel); border:1px solid var(--line2); border-radius:18px; transition:transform .15s, border-color .15s, box-shadow .15s, background .15s; }
.paybtn:hover:not(:disabled) { transform:translateY(-2px); border-color:var(--accent-line); box-shadow:0 14px 34px -18px var(--accent-line); background:var(--panel3); }
.paybtn:disabled { opacity:.6; cursor:progress; }
.paybtn > svg:last-child { margin-left:auto; color:var(--muted); flex:none; transition:transform .15s, color .15s; }
.paybtn:hover > svg:last-child { transform:translateX(3px); color:var(--accent); }
.payico { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:13px; background:var(--accent-bg); border:1px solid var(--accent-line); color:var(--accent); flex:none; }
.paytx { display:flex; flex-direction:column; min-width:0; }
.paytx b { font-size:15px; font-weight:800; }
.paytx small { font-size:11.5px; color:var(--muted); font-weight:500; line-height:1.3; }
.paybtn.wide { background:linear-gradient(90deg, var(--accent-bg), transparent 70%), var(--panel); border-color:var(--accent-line); padding:14px 18px 14px 14px; }
.paybtn.wide .payico { background:var(--accent); color:#0a0d0b; border-color:var(--accent); width:46px; height:46px; }
[data-theme="light"] .paybtn.wide .payico { color:#fff; }
.paybtn.half .paytx small { display:none; }
@media (max-width:520px) { .paysplit { grid-template-columns:1fr; } .paybtn.half .paytx small { display:block; } .payplans { grid-template-columns:1fr; } }

/* ======================================================================
   График пары: отдельные скруглённые карточки с зазорами
   ====================================================================== */
.pairbar { gap:12px; padding:18px 20px 0; flex-wrap:wrap; }
.coinbox .box { height:44px; border-radius:999px; padding:0 18px; background:var(--panel); border-color:var(--line2); }
.coinbox .box:focus-within { border-color:var(--accent-line); box-shadow:0 0 0 3px var(--accent-bg); }
.pairbar .coinbox { width:250px; }
.pairbar .venue { width:240px; }
.dd-btn { height:44px; border-radius:999px; padding:0 16px; background:var(--panel); border-color:var(--line2); }
.dd-list { border-radius:16px; background:var(--panel2); border-color:var(--line2); box-shadow:var(--menu-shadow); padding:6px; }
.dd-list li { border-radius:10px; }
.swap { height:44px; width:44px; border-radius:50%; background:var(--panel); border-color:var(--line2); }
.pairbar .right { gap:10px; }
.pairbar .iconbtn { height:44px; padding:0 18px; }
.page-banner { margin:14px 20px 0; border-radius:14px; }

.summary { margin:16px 20px 0; border:1px solid var(--line); border-radius:22px; background:var(--panel); }
.summary table { border-collapse:separate; border-spacing:0; }
.summary th, .summary td { border:0; border-bottom:1px solid var(--line); padding:12px 12px; font-size:13px; background:none; }
.summary tr:last-child td { border-bottom:0; }
.summary th { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); height:auto; padding-top:14px; padding-bottom:10px; }
.summary td + td, .summary th + th { border-left:1px solid var(--line); }
.summary .spreadcell { font-size:14px; }
.summary .coin { font-size:15px; font-weight:800; }
.pill { border-radius:999px; padding:2px 8px; }

.workspace { gap:14px; margin:14px 20px 0; border:0; background:none; min-height:480px; }
.chart-panel, .books, .calc { background:var(--panel); border:1px solid var(--line); border-radius:22px; overflow:hidden; }
.chart-panel { padding-top:62px; }
.chart-tools { top:14px; left:16px; flex-direction:row; align-items:center; gap:12px; }
.chart-tools .lab { display:none; }
.interval .dd-btn { height:36px; width:84px; border-radius:999px; }
.seg button { font-weight:700; }
.chart-tools .seg button { height:34px; padding:0 14px; }
#chart { min-height:380px; }
.chart-note { border-radius:10px; }
.books { border-right:1px solid var(--line); }
.book { border-right:1px solid var(--line); padding:14px 12px 10px; }
.book h4 { font-size:14px; font-weight:800; margin-bottom:8px; }
.book .head { font-size:11px; color:var(--dim); }
.lv { border-radius:7px; padding:3px 8px; font-size:12px; margin-bottom:2px; }
.calc { padding:18px; gap:16px; }
.calc h5 { font-size:11px; letter-spacing:.1em; color:var(--dim); }
.field input { height:40px; border-radius:12px; padding:0 12px; font-size:13px; background:var(--panel2); }
.field label { font-size:11px; }
.btn-accent { height:40px; border-radius:999px; background:var(--accent); color:#0a0d0b; border-color:var(--accent); font-weight:800; font-size:13px; }
[data-theme="light"] .btn-accent { color:#fff; }
.btn-accent:hover { filter:brightness(1.06); background:var(--accent); }
.legcard { border-radius:14px; padding:10px 10px; font-size:11px; }
.result { border-radius:14px; }
.pnlrow { border-radius:14px; }

.bottom { margin:14px 20px 20px; border:1px solid var(--line); border-radius:22px; background:var(--panel); overflow:hidden; }
.bottom .tabs { gap:6px; padding:12px 14px; border-bottom:1px solid var(--line); }
.bottom .tabs button { border:0; border-radius:999px; padding:8px 16px; font-size:13px; font-weight:700; color:var(--muted); }
.bottom .tabs button:hover { color:var(--text); background:var(--panel2); }
.bottom .tabs button.active { color:var(--accent); background:var(--accent-bg); }
.tabbody { padding:18px 22px; font-size:13px; }
.vstat .item { border-radius:999px; padding:7px 14px; }

@media (max-width:1280px) { .workspace .calc { border-top:1px solid var(--line); } }
@media (max-width:860px) {
  .pairbar { padding:14px 12px 0; }
  .pairbar .coinbox, .pairbar .venue { width:auto; flex:1 1 150px; }
  .summary, .page-banner, .bottom { margin-left:12px; margin-right:12px; }
  .workspace { margin:14px 12px 0; }
  .chart-panel { padding-top:0; }
  .chart-tools { position:static; padding:12px; flex-wrap:wrap; }
}

/* ======================================================================
   Сканер
   ====================================================================== */
.page { padding:18px 20px 28px; max-width:none; }
.venues { gap:8px; margin-bottom:14px; }
.vdot { border-radius:999px; padding:4px 12px; font-size:12px; font-weight:600; background:var(--panel); border:1px solid var(--line); }
.modes { gap:8px; margin-bottom:14px; }
.modes button { border-radius:999px; padding:9px 18px; font-size:13px; font-weight:700; background:var(--panel); border-color:var(--line2); }
.modes button.active { background:var(--accent); color:#0a0d0b; border-color:var(--accent); }
[data-theme="light"] .modes button.active { color:#fff; }
.modes .count:not(:empty) { background:rgba(0,0,0,.18); color:inherit; }
.filters { background:var(--panel); border:1px solid var(--line); border-radius:22px; padding:16px 20px; gap:14px 20px; align-items:flex-end; margin-bottom:14px; }
.filters label { display:flex; flex-direction:column; align-items:flex-start; gap:6px; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--dim); }
.filters label:has(input[type=checkbox]) { flex-direction:row; align-items:center; gap:8px; font-size:13px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--muted); padding-bottom:9px; }
.filters input[type=number], .filters input[type=text], .filters select { height:40px; border-radius:999px; padding:0 14px; font-size:13px; font-weight:600; text-transform:none; letter-spacing:0; color:var(--text); }
.filters input:focus, .filters select:focus { border-color:var(--accent-line); box-shadow:0 0 0 3px var(--accent-bg); }
.venue-filters { gap:8px; padding-top:4px; }
.venue-filters label, .venue-filters .vf { border-radius:999px; }
.meta { font-size:12px; margin:0 4px 10px; }
.table-wrap { background:var(--panel); border:1px solid var(--line); border-radius:22px; }
.table-wrap table { border:0; background:none; border-collapse:separate; border-spacing:0; }
.table-wrap th { padding:14px 12px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); background:var(--panel); border-bottom:1px solid var(--line2); }
.table-wrap th.sortable:hover { color:var(--accent); }
.table-wrap td { padding:12px 12px; border-bottom:1px solid var(--line); font-size:13px; }
.table-wrap tbody tr { transition:background .12s; }
.table-wrap tbody tr:hover td { background:var(--panel2); }
.table-wrap tbody tr:last-child td { border-bottom:0; }
td.token a { font-size:14px; font-weight:800; }
td.num.strong { font-size:14px; }
button.more { border-radius:999px; }
.empty { padding:40px 24px; }
footer { max-width:1100px; margin:0 auto; padding:10px 20px 34px; }
@media (max-width:860px) {
  .page { padding:14px 12px 24px; }
  .filters { padding:14px; gap:12px; }
}

/* ======================================================================
   Правая колонка графика: торговля + калькулятор в отдельном окне
   ====================================================================== */
.workspace { grid-template-columns:minmax(0,1fr) 400px 380px; }
.workspace .calc { display:flex; flex-direction:column; gap:12px; padding:16px; overflow:auto; max-height:none; }
.calc-mode { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0; }
.calc-title { display:flex; align-items:center; gap:8px; }
.calc-title h3 { margin:0; font-size:16px; font-weight:800; letter-spacing:-.01em; }
.btn-ghost { display:inline-flex; align-items:center; gap:7px; height:36px; padding:0 14px; border-radius:999px; border:1px solid var(--line2); background:var(--panel2); color:var(--text); font-size:12px; font-weight:700; cursor:pointer; transition:border-color .15s, background .15s, color .15s; }
.btn-ghost:hover { border-color:var(--accent-line); color:var(--accent); background:var(--accent-bg); }
.btn-ghost svg { width:15px; height:15px; }
.trade-panel { gap:12px; }
.trade-panel .trade-tabs { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); width:100%; }
.trade-panel .trade-tabs button { padding:0 4px; height:34px; font-size:12px; }
.trade-panel .form { gap:12px; }
.trade-panel .field input, .trade-panel .field select { height:40px; border-radius:12px; padding:0 12px; font-size:13px; border:1px solid var(--line2); background:var(--panel2); color:var(--text); }
.trade-panel .field input:focus, .trade-panel .field select:focus { border-color:var(--accent-line); }
.trade-panel .field input[type=range] { height:22px; padding:0; accent-color:var(--accent); border:0; background:none; }
.trade-panel .field label { font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--dim); font-weight:700; }
.trade-panel .seg { width:100%; }
.trade-panel .seg button { flex:1 1 auto; }
.trade-panel .btn { height:36px; border-radius:999px; font-weight:700; }
.trade-panel .btn.small { height:30px; padding:0 12px; }
.trade-panel .btnrow { gap:8px; }
.trade-panel .btnrow .btn { flex:1 1 0; height:44px; font-size:14px; }
.trade-panel .btn.primary { background:var(--accent); color:#0a0d0b; border-color:var(--accent); }
[data-theme="light"] .trade-panel .btn.primary { color:#fff; }
.trade-panel .btn.primary:hover { filter:brightness(1.06); }
.trade-panel .presets { gap:6px; margin:0; }
.trade-panel .presets .btn { flex:1 1 0; }
.trade-panel .trigrow { flex-wrap:nowrap; }
.trade-panel .trigrow .btn.small { flex:none; }
.trade-panel .card.inner { border-radius:16px; padding:12px 14px; }
.trade-panel .kv { display:flex; justify-content:space-between; gap:10px; font-size:12px; padding:3px 0; }
.trade-panel .kv .k { color:var(--muted); } .trade-panel .kv .v { font-weight:700; }
.trade-panel .alert { border-radius:14px; }
.trade-panel .note.warn { padding:9px 12px; border-radius:12px; background:rgba(255,181,71,.10); border:1px solid rgba(255,181,71,.3); color:var(--amber); font-size:12px; }

.tp-pair { background:var(--panel2); border:1px solid var(--line); border-radius:16px; padding:11px 14px; display:flex; flex-direction:column; gap:8px; }
.tp-names { display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.tp-names b { font-size:16px; font-weight:800; }
.tp-legs { display:flex; gap:10px; font-size:12px; font-weight:700; } .tp-legs .up { color:var(--up); } .tp-legs .down { color:var(--down); }
.tp-live { display:flex; gap:8px; flex-wrap:wrap; }
.chip { display:inline-flex; align-items:center; height:24px; padding:0 10px; border-radius:999px; background:var(--panel3); font-size:12px; font-weight:800; font-variant-numeric:tabular-nums; }
.chip.pos { color:var(--up); background:var(--up-bg); } .chip.neg { color:var(--down); background:var(--down-bg); }

.advanced { border:1px solid var(--line); border-radius:16px; background:var(--panel2); }
.advanced > summary { list-style:none; cursor:pointer; padding:11px 14px; font-size:12px; font-weight:700; color:var(--muted); display:flex; align-items:center; justify-content:space-between; gap:10px; }
.advanced > summary::-webkit-details-marker { display:none; }
.advanced > summary::after { content:""; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .15s; margin-right:4px; flex:none; }
.advanced[open] > summary { color:var(--text); border-bottom:1px solid var(--line); }
.advanced[open] > summary::after { transform:rotate(-135deg); }
.adv-body { display:flex; flex-direction:column; gap:12px; padding:14px; }

.tradegate { display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; padding:30px 18px; border:1px dashed var(--line2); border-radius:20px; background:linear-gradient(180deg, var(--accent-bg), transparent 70%); }
.tg-ico { width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:var(--accent-bg); border:1px solid var(--accent-line); color:var(--accent); margin-bottom:4px; }
.tradegate b { font-size:15px; font-weight:800; } .tg-text { color:var(--muted); font-size:13px; line-height:1.5; max-width:260px; }
.tg-btn { margin-top:8px; display:inline-flex; align-items:center; justify-content:center; height:42px !important; padding:0 26px !important; text-decoration:none; }
.tradeload { padding:24px 0; text-align:center; }

/* модальное окно (калькулятор) */
.modal { position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:16px; background:rgba(4,7,5,.66); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
.modal.hidden { display:none; }
.modal-card { width:min(560px,100%); max-height:92vh; overflow:auto; background:var(--panel); border:1px solid var(--line2); border-radius:26px; padding:20px 22px 22px; box-shadow:var(--menu-shadow); }
.modal-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.modal-head h3 { margin:0; font-size:18px; font-weight:800; letter-spacing:-.01em; }
.modal-body { display:flex; flex-direction:column; gap:16px; }
.modal-body h5 { margin:0 0 8px; font-size:11px; letter-spacing:.1em; color:var(--dim); text-transform:uppercase; }
body.modal-open { overflow:hidden; }

@media (max-width:1280px) {
  .workspace { grid-template-columns:minmax(0,1fr) 400px; }
  .workspace .calc { grid-column:1 / -1; display:flex; }
  .workspace .calc .trade-panel { max-width:560px; }
}
@media (max-width:860px) {
  .workspace { grid-template-columns:minmax(0,1fr); }
  .workspace .calc .trade-panel { max-width:none; }
}
.trade-panel .seg { display:grid; grid-template-columns:repeat(auto-fit, minmax(84px, 1fr)); gap:2px; border-radius:18px; }
.trade-panel .seg button { padding:0 8px; white-space:nowrap; }
.trade-panel .trade-tabs { grid-template-columns:repeat(4, minmax(0,1fr)); border-radius:999px; }
.trade-panel .trigrow { flex-wrap:wrap; }
.trade-panel .trigrow > .seg { flex:1 1 100%; }
.trade-panel .trigrow > input { flex:1 1 100%; }
.trade-panel .field .trigrow > input { flex:1 1 90px; }
.advanced > summary { line-height:1.4; }

/* плашка партнёрки с замочком */
.partnerlock { position:relative; display:flex; gap:18px; align-items:flex-start; margin:14px 0 4px; padding:20px 22px; border-radius:22px; overflow:hidden;
  border:1px solid var(--accent-line); background:linear-gradient(135deg, var(--accent-bg), transparent 62%), var(--panel2); }
.partnerlock::after { content:""; position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle, rgba(255,181,71,.16), transparent 68%); pointer-events:none; }
.pl-ico { flex:none; width:56px; height:56px; border-radius:18px; display:grid; place-items:center; color:var(--accent); background:var(--panel); border:1px solid var(--accent-line); box-shadow:0 0 0 6px var(--accent-bg); }
.pl-body { min-width:0; position:relative; z-index:1; }
.pl-head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.pl-head b { font-size:17px; font-weight:800; letter-spacing:-.01em; }
.pl-tag { font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--amber); background:rgba(255,181,71,.12); border:1px solid rgba(255,181,71,.35); border-radius:999px; padding:3px 9px; }
.pl-text { margin:8px 0 12px; color:var(--muted); font-size:13px; line-height:1.55; max-width:560px; }
.pl-tiers { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.pl-tier { display:flex; flex-direction:column; gap:1px; padding:8px 14px; border-radius:14px; background:var(--panel); border:1px solid var(--line2); min-width:92px; }
.pl-tier b { font-size:18px; font-weight:800; color:var(--accent); } .pl-tier small { font-size:11px; color:var(--muted); }
.pl-btn { display:inline-flex; align-items:center; justify-content:center; height:42px !important; padding:0 24px !important; border-radius:999px !important; font-size:14px !important; text-decoration:none; }
@media (max-width:560px) { .partnerlock { flex-direction:column; padding:16px; } }

/* админка: связанные аккаунты и карточка пользователя */
.cluster { border:1px solid var(--line2); border-radius:18px; padding:14px 16px; margin:0 0 12px; background:var(--panel2); }
.cluster.risk-high { border-color:rgba(255,107,107,.55); background:linear-gradient(135deg, var(--down-bg), transparent 60%), var(--panel2); }
.cluster.risk-medium { border-color:rgba(255,181,71,.45); }
.cl-head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.userlink { color:var(--accent); text-decoration:underline; text-underline-offset:2px; }
.userdetail { border:1px solid var(--accent-line); border-radius:20px; padding:16px 18px; background:var(--panel2); }
.ud-head { display:flex; align-items:center; gap:12px; flex-wrap:wrap; } .ud-head b { font-size:16px; } .ud-head .btn { margin-left:auto; }
.userdetail h4 { margin:16px 0 6px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); }
tr.warnrow td { background:rgba(255,181,71,.07); }

/* ===== Приглашения и партнёрка (кабинет) ===== */
.invhero { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:18px; padding:22px; border-radius:22px; background:linear-gradient(135deg,var(--accent-bg),var(--panel) 55%); border:1px solid var(--accent-line); }
.invhero-main { display:flex; flex-direction:column; gap:10px; min-width:0; }
.invhero-title { display:flex; gap:14px; align-items:center; }
.invhero-title h3 { margin:0; font-size:20px; letter-spacing:-.01em; } .invhero-title p { margin:2px 0 0; font-size:13px; }
.invhero-ico { flex:none; width:46px; height:46px; border-radius:15px; display:grid; place-items:center; color:var(--accent); background:var(--panel); border:1px solid var(--accent-line); }
.invperks { display:flex; flex-wrap:wrap; gap:8px; }
.invperk { font-size:12px; padding:5px 11px; border-radius:999px; background:var(--panel); border:1px solid var(--line2); color:var(--muted); }
.invperk.accent { color:var(--accent); border-color:var(--accent-line); background:var(--accent-bg); font-weight:700; }
.invlink { display:flex; gap:8px; } .invlink input { flex:1; min-width:0; height:44px; border-radius:12px; font-size:13px; }
.invlink .btn { height:44px; padding:0 22px; border-radius:12px; flex:none; }
.invshare { display:flex; gap:8px; align-items:center; flex-wrap:wrap; } .sharebtn { text-decoration:none; border-radius:999px; }
.invcode { display:flex; flex-direction:column; gap:8px; align-items:flex-start; justify-content:center; padding:18px; border-radius:18px; background:var(--panel); border:1px dashed var(--accent-line); }
.invcode-val { font-size:26px; letter-spacing:.14em; color:var(--accent); font-family:ui-monospace,Consolas,monospace; word-break:break-all; }
.invstats { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-top:14px; }
.invstat { position:relative; display:flex; flex-direction:column; gap:4px; padding:14px 16px; border-radius:16px; background:var(--panel); border:1px solid var(--line2); }
.invstat strong { font-size:21px; letter-spacing:-.01em; } .invstat.accent strong { color:var(--accent); }
.invstat-ico { width:30px; height:30px; border-radius:10px; display:grid; place-items:center; color:var(--accent); background:var(--accent-bg); margin-bottom:4px; }
.invhow { margin-top:14px; }
.invsteps { list-style:none; margin:12px 0 10px; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; counter-reset:none; }
.invsteps li { display:flex; gap:12px; align-items:flex-start; padding:14px; border-radius:16px; background:var(--bg); border:1px solid var(--line); }
.invsteps p { margin:3px 0 0; font-size:12.5px; line-height:1.5; }
.invstep-n { flex:none; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; font-weight:800; font-size:13px; color:#10150b; background:var(--accent); }
.invsteps.compact { grid-template-columns:1fr; gap:10px; margin-bottom:0; }
.partnerlock.pl-compact { margin-top:14px; align-items:center; }
.partnerlock.pl-big { padding:30px 30px; margin:0; border-radius:26px; align-items:center; border-color:rgba(255,181,71,.4); background:linear-gradient(135deg,rgba(255,181,71,.10),var(--panel) 60%); }
.partnerlock.pl-big .pl-text { font-size:14.5px; max-width:640px; }
.pl-ico.big { width:76px; height:76px; border-radius:24px; color:var(--amber); border-color:rgba(255,181,71,.45); box-shadow:0 0 0 8px rgba(255,181,71,.08), 0 0 36px rgba(255,181,71,.18); }
.pl-ico.open { color:var(--accent); }
.partnerlock.pl-open { margin:0; align-items:center; border-color:var(--accent-line); background:linear-gradient(135deg,var(--accent-bg),var(--panel) 60%); }
.pl-tag.ok { color:var(--accent); background:var(--accent-bg); border-color:var(--accent-line); }
.pl-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:4px; } .pl-actions .btn.disabled { opacity:.55; cursor:not-allowed; }
.pltiers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:14px; }
.pltier { display:flex; flex-direction:column; gap:3px; padding:18px; border-radius:18px; background:var(--panel); border:1px solid var(--line2); position:relative; overflow:hidden; }
.pltier strong { font-size:34px; letter-spacing:-.02em; color:var(--accent); line-height:1.1; }
.pltier.t2 { border-color:var(--accent-line); } .pltier.t3 { border-color:rgba(255,181,71,.45); } .pltier.t3 strong { color:var(--amber); }
.pltier-n { font-size:10.5px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); } .pltier-d { font-size:12.5px; color:var(--muted); }
#acc-tabs .tabico { display:inline-grid; place-items:center; margin-right:5px; vertical-align:-2px; }
#acc-tabs button.tab-locked { color:var(--amber); }
@media (max-width:820px) { .invhero { grid-template-columns:1fr; } .invsteps, .pltiers { grid-template-columns:1fr; } }
@media (max-width:560px) { .invhero { padding:16px; } .invlink { flex-direction:column; } .invlink .btn { width:100%; } .partnerlock.pl-big { padding:20px 16px; flex-direction:column; } }
.invstats { grid-template-columns:repeat(5,minmax(0,1fr)); }
@media (max-width:900px) { .invstats { grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); } }
.invlink input { background:var(--bg); color:var(--text); border:1px solid var(--line2); padding:0 14px; }
.invhow h3, .pltwo h3 { margin-top:0; }
.pltwo { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; } .pltwo .card { margin:0; }
@media (max-width:820px) { .pltwo { grid-template-columns:1fr; } }

/* ===== Гайды: карточки, категории, шапка статьи, врезки ===== */
.catchips { display:flex; gap:8px; flex-wrap:wrap; margin:16px 0 4px; }
.catchip { height:34px; padding:0 16px; border-radius:999px; border:1px solid var(--line2); background:var(--panel); color:var(--muted); font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.catchip:hover { color:var(--text); border-color:var(--accent-line); } .catchip.active { color:#10150b; background:var(--accent); border-color:var(--accent); }
.guidelist { grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; }
.guidecard { display:flex !important; flex-direction:column; padding:0 !important; overflow:hidden; border-radius:20px !important; transition:transform .15s, border-color .15s; }
.guidecard:hover { transform:translateY(-2px); }
.gc-cover { width:100%; aspect-ratio:16/8; object-fit:cover; display:block; border-bottom:1px solid var(--line); }
.gc-body { padding:16px 18px 18px; display:flex; flex-direction:column; gap:6px; }
.gc-body h3 { margin:0; font-size:17px; line-height:1.3; } .gc-body p { font-size:13.5px; line-height:1.5; }
.gc-cat { align-self:flex-start; font-size:10.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); background:var(--accent-bg); border:1px solid var(--accent-line); border-radius:999px; padding:2px 9px; }
.gc-meta { color:var(--dim); font-size:12px; margin-top:4px; }
.article-cover { width:100%; max-height:340px; object-fit:cover; border-radius:20px; border:1px solid var(--line); margin:6px 0 18px; display:block; }
.article-meta { color:var(--muted); font-size:13px; margin:-6px 0 22px; }
.article figure { margin:6px 0 18px; } .article figure img { margin:0; display:block; }
.article figcaption { font-size:12.5px; color:var(--muted); text-align:center; margin-top:8px; }
.callout { margin:0 0 16px; padding:14px 18px; border-radius:14px; border:1px solid var(--line2); background:var(--panel); border-left-width:4px; }
.callout strong { display:block; font-size:13px; letter-spacing:.04em; text-transform:uppercase; margin-bottom:4px; }
.callout p { margin:0 !important; font-size:14.5px !important; }
.callout.tip { border-color:var(--accent-line); border-left-color:var(--accent); background:var(--accent-bg); } .callout.tip strong { color:var(--accent); }
.callout.warn { border-color:rgba(255,181,71,.35); border-left-color:var(--amber); background:rgba(255,181,71,.08); } .callout.warn strong { color:var(--amber); }
.callout.note { border-left-color:var(--muted); }

/* ===== Редактор гайдов ===== */
.container.wide { max-width:1320px; }
.warnText { color:var(--amber); } .okText { color:var(--up); }
.ge { display:grid; grid-template-columns:260px minmax(0,1fr); gap:16px; align-items:start; }
.ge-side { position:sticky; top:76px; display:flex; flex-direction:column; gap:12px; padding:14px; margin:0; max-height:calc(100vh - 100px); overflow:auto; }
.ge-list { display:flex; flex-direction:column; gap:6px; }
.ge-item { text-align:left; display:flex; flex-direction:column; gap:5px; padding:10px 12px; border-radius:12px; border:1px solid var(--line); background:var(--bg); color:var(--text); font:inherit; cursor:pointer; }
.ge-item b { font-size:13.5px; line-height:1.3; font-weight:700; } .ge-item:hover { border-color:var(--accent-line); } .ge-item.active { border-color:var(--accent); background:var(--accent-bg); }
.ge-sub { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.ge-main { display:flex; flex-direction:column; gap:14px; min-width:0; } .ge-main .card { margin:0; }
.ge-meta { display:flex; flex-direction:column; gap:12px; }
.ge-meta input { width:100%; background:var(--bg); color:var(--text); border:1px solid var(--line2); border-radius:12px; padding:0 14px; height:42px; font:inherit; }
.ge-meta input.ge-title { height:54px; font-size:22px; font-weight:800; letter-spacing:-.01em; }
.ge-meta label { display:flex; flex-direction:column; gap:5px; font-size:12px; color:var(--muted); min-width:0; }
.ge-row { display:grid; grid-template-columns:1.2fr 1.2fr .8fr .6fr; gap:12px; }
.ge-cover { grid-template-columns:auto auto 1fr; align-items:center; }
.ge-coverbox { width:200px; height:90px; border-radius:12px; border:1px dashed var(--line2); display:grid; place-items:center; overflow:hidden; background:var(--bg); }
.ge-coverbox img { width:100%; height:100%; object-fit:cover; }
.ge-coverbtns { display:flex; flex-direction:column; gap:8px; }
.ge-draft { flex-direction:row !important; align-items:center; gap:8px !important; font-size:13px !important; color:var(--text) !important; } .ge-draft input { width:auto; height:auto; }
.ge-edit { padding:0 !important; }
.ge-toolbar { display:flex; flex-wrap:wrap; gap:6px; align-items:center; padding:10px 12px; border-bottom:1px solid var(--line); background:var(--panel); position:sticky; top:64px; z-index:5; border-radius:22px 22px 0 0; }
.ge-tool { height:32px; padding:0 11px; border-radius:9px; border:1px solid var(--line2); background:var(--bg); color:var(--text); font:inherit; font-size:12.5px; font-weight:700; cursor:pointer; }
.ge-tool:hover { border-color:var(--accent-line); color:var(--accent); } .ge-sep { width:1px; height:22px; background:var(--line2); margin:0 4px; }
.ge-tabs { display:none; gap:6px; padding:8px 12px 0; } .ge-tabs button { height:32px; padding:0 14px; border-radius:9px 9px 0 0; border:1px solid var(--line2); border-bottom:0; background:var(--bg); color:var(--muted); font:inherit; font-size:13px; cursor:pointer; } .ge-tabs button.active { color:var(--text); background:var(--panel); border-color:var(--accent-line); }
.ge-panes { display:grid; grid-template-columns:1fr 1fr; min-height:520px; }
.ge-pane { min-width:0; }
.ge-write { position:relative; border-right:1px solid var(--line); }
.ge-write textarea { width:100%; height:100%; min-height:520px; resize:vertical; border:0; outline:0; background:var(--bg); color:var(--text); padding:18px 20px; font:14px/1.65 ui-monospace,Menlo,Consolas,monospace; display:block; }
.ge-drop { position:absolute; inset:8px; display:grid; place-items:center; border:2px dashed var(--accent); border-radius:14px; background:rgba(10,13,11,.88); color:var(--accent); font-weight:800; pointer-events:none; }
.ge-view { padding:18px 24px; overflow:auto; max-height:760px; background:var(--panel); }
.ge-foot { border-radius:0 0 22px 22px; display:flex; gap:12px; align-items:center; flex-wrap:wrap; padding:12px 16px; border-top:1px solid var(--line); background:var(--panel); position:sticky; bottom:0; }
.ge-spacer { flex:1; }
.ge-help summary { cursor:pointer; font-weight:700; } .ge-helpgrid { display:grid; grid-template-columns:minmax(220px,auto) 1fr; gap:8px 18px; margin-top:12px; font-size:13px; align-items:center; } .ge-helpgrid code { background:var(--panel3); padding:3px 8px; border-radius:6px; }
.ge-modal { position:fixed; inset:0; z-index:100; background:rgba(0,0,0,.6); display:grid; place-items:center; padding:20px; }
.ge-modalbox { width:min(900px,100%); max-height:88vh; overflow:auto; background:var(--panel); border:1px solid var(--line2); border-radius:22px; padding:20px 22px; }
.ge-modalhead { display:flex; gap:10px; align-items:center; } .ge-modalhead h3 { margin:0; flex:1; } .ge-upl { cursor:pointer; display:inline-flex; align-items:center; }
.ge-mediagrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; margin-top:12px; }
.ge-media { display:flex; flex-direction:column; gap:6px; padding:10px; border-radius:14px; background:var(--bg); border:1px solid var(--line); }
.ge-media img { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:10px; cursor:pointer; border:1px solid var(--line); }
.ge-mname { word-break:break-all; } .ge-mrow { display:flex; gap:6px; flex-wrap:wrap; }
@media (max-width:1100px) { .ge-panes { grid-template-columns:1fr; } .ge-tabs { display:flex; } .ge-panes .ge-view { display:none; } .ge-panes.show-view .ge-view { display:block; } .ge-panes.show-view .ge-write { display:none; } .ge-write { border-right:0; } }
@media (max-width:900px) { .ge { grid-template-columns:1fr; } .ge-side { position:static; max-height:none; } .ge-row, .ge-cover { grid-template-columns:1fr 1fr; } .ge-toolbar { top:0; } }
.guidelist { align-items:start; }
@media (max-width:560px) { .ge-meta input.ge-title { font-size:18px; height:48px; } }

/* ---- реферальный баланс ---- */
.balcard{margin-top:16px;border:1px solid var(--accent);background:linear-gradient(135deg,var(--accent-bg),transparent 60%)}
.balhead{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.balmain{display:flex;flex-direction:column;gap:2px}
.balval{font-size:2rem;line-height:1.1;font-variant-numeric:tabular-nums}
.balacts{display:flex;gap:8px;flex-wrap:wrap}
.balprog{margin-top:14px;display:flex;flex-direction:column;gap:6px}
.balbar{height:8px;border-radius:99px;background:rgba(127,127,127,.2);overflow:hidden}
.balbar>span{display:block;height:100%;background:var(--accent);border-radius:99px}
.balform{margin-top:14px;padding-top:14px;border-top:1px dashed rgba(127,127,127,.35);max-width:460px}
.balhist-h{margin:18px 0 8px}
.balpay{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border-radius:10px;border:1px dashed rgba(127,127,127,.4)}
.balpay.ok{border-style:solid;border-color:var(--accent)}
.balpay-tx{display:flex;flex-direction:column;flex:1;min-width:0}
.balpay-ico{display:inline-flex;opacity:.8}
.pl-lead{font-size:1.25rem;font-weight:700;margin:2px 0 4px}
@media (max-width:600px){.balval{font-size:1.6rem}.balacts{width:100%}.balacts .btn{flex:1;text-align:center}}
.balprog-row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}

/* управление позициями (вкладка «Позиции» на странице графика) */
.poscard { margin-top:10px; }
.pm-head { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:baseline; margin-bottom:8px; }
.pm-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px 14px; }
.pm-cell { display:flex; flex-direction:column; font-size:12px; min-width:0; }
.pm-cell .k, .pm-orders .k { color:var(--muted); font-size:10px; margin-bottom:2px; }
.pm-cell .v, .pm-cell span:last-child { word-break:break-word; }
.pm-orders { margin-top:10px; padding-top:8px; border-top:1px solid var(--line); }
.pm-order { display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; justify-content:space-between; font-size:12px; margin-top:4px; }
.pm-acts, .pm-bar { margin-top:10px; align-items:center; }
.pm-bar { margin:0 0 6px; }
.pm-form { margin-top:10px; padding-top:10px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:10px; max-width:460px; }
.pm-spread { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.pm-spread input { flex:1 1 110px; min-width:90px; }
.btn.armed { background:var(--down); color:#fff; border-color:var(--down); }
.btn.small.active { color:var(--accent); border-color:var(--accent-line); background:var(--accent-bg); }
.pm-form .hint { font-size:11px; color:var(--muted); }

/* ====================== сканер: сводка, тепловые полосы, компактная таблица, карточки на телефоне ====================== */
.kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:4px 0 14px; }
.kpi { position:relative; display:flex; flex-direction:column; gap:3px; padding:14px 16px; border-radius:16px; min-width:0; overflow:hidden;
       background:linear-gradient(160deg,var(--panel2),var(--panel)); border:1px solid var(--line); box-shadow:0 16px 40px -28px rgba(0,0,0,.9); }
.kpi::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:linear-gradient(var(--accent),transparent); opacity:.7; }
.kpi-k { font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:600; }
.kpi-v { font-size:26px; line-height:1.15; font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
.kpi-v.pos { color:var(--up); } .kpi-v.neg { color:var(--down); }
.kpi-s { font-size:11.5px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.venues { gap:8px; margin-bottom:12px; }
.vdot { padding:4px 11px; border-radius:999px; border:1px solid var(--line); background:var(--panel2); }
.vdot.ok::before { text-shadow:0 0 8px var(--up); }

.modes { padding:4px; border:1px solid var(--line); border-radius:999px; background:var(--panel); width:fit-content; max-width:100%; gap:2px; }
.modes button { border:0; background:none; border-radius:999px; padding:8px 16px; }
.modes button.active { background:var(--accent); color:#0a0d0b; box-shadow:0 6px 18px -8px var(--accent-line); }

.filterbox { margin:0 0 12px; border:1px solid var(--line); border-radius:16px; background:var(--panel); }
.filterbox > summary { cursor:pointer; list-style:none; padding:11px 16px; font-weight:700; font-size:13px; display:flex; align-items:center; gap:8px; user-select:none; }
.filterbox > summary::-webkit-details-marker { display:none; }
.filterbox > summary::after { content:"▾"; margin-left:auto; color:var(--muted); transition:transform .15s; }
.filterbox:not([open]) > summary::after { transform:rotate(-90deg); }
.filterbox .count:not(:empty) { padding:0 7px; border-radius:9px; background:var(--accent-bg); color:var(--accent); font-size:11px; }
.filterbox .filters { margin:0; padding:2px 16px 14px; }
.filterbox .venue-filters { flex:1 0 100%; margin-top:2px; padding-top:12px; border-top:1px solid var(--line); }

.table-wrap { border:1px solid var(--line); border-radius:18px; background:linear-gradient(180deg,var(--panel),var(--bg)); box-shadow:0 24px 60px -34px rgba(0,0,0,.95); overflow-x:auto; }
.table-wrap table { border:0; background:none; border-collapse:separate; border-spacing:0; }
.table-wrap th { padding:11px 9px; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; background:color-mix(in srgb,var(--panel) 88%,transparent); backdrop-filter:blur(8px); z-index:2; border-bottom:1px solid var(--line2); }
.table-wrap td { padding:9px 9px; }
.table-wrap tbody tr td:first-child { box-shadow:inset 3px 0 0 transparent; }
.table-wrap tr.t1 td:first-child { box-shadow:inset 3px 0 0 color-mix(in srgb,var(--up) 45%,transparent); }
.table-wrap tr.t2 td:first-child { box-shadow:inset 3px 0 0 var(--up); }
.table-wrap tr.t3 td:first-child { box-shadow:inset 3px 0 0 var(--accent), inset 14px 0 18px -14px var(--accent); }
.table-wrap tbody tr { transition:background .12s; }
.table-wrap tbody tr:hover td { background:var(--panel2); }
td.heat { background-image:linear-gradient(90deg,var(--up) calc(var(--w,0) * 1%),transparent 0),linear-gradient(90deg,var(--up-bg) calc(var(--w,0) * 1%),transparent 0); background-size:100% 2px,100% 100%; background-position:left bottom,0 0; background-repeat:no-repeat; }
td.fl-up { animation:flashup 1.6s ease-out; } td.fl-dn { animation:flashdn 1.6s ease-out; }
@keyframes flashup { 0% { box-shadow:inset 0 0 0 999px rgba(51,209,127,.32); } 100% { box-shadow:inset 0 0 0 999px rgba(51,209,127,0); } }
@keyframes flashdn { 0% { box-shadow:inset 0 0 0 999px rgba(255,90,95,.32); } 100% { box-shadow:inset 0 0 0 999px rgba(255,90,95,0); } }
td.leg .price { margin-left:2px; }
tr.skel td { padding:14px 9px; } .skel-bar { display:block; height:12px; border-radius:6px; background:linear-gradient(100deg,var(--panel2) 30%,var(--panel3) 50%,var(--panel2) 70%); background-size:200% 100%; animation:shimmer 1.3s linear infinite; }
@keyframes shimmer { from { background-position:200% 0; } to { background-position:-200% 0; } }
#chart { position:relative; }
#chart.loading::after { content:""; position:absolute; inset:0; z-index:5; pointer-events:none; border-radius:12px; background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.05) 50%,transparent 70%); background-size:200% 100%; animation:shimmer 1.3s linear infinite; }
.notfound { text-align:center; padding:72px 0 96px; }
.nf-code { font-size:96px; font-weight:800; line-height:1; margin:0 0 6px; letter-spacing:-.04em; background:linear-gradient(135deg,var(--accent),var(--up)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.nf-links { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:22px; }

/* Колонки таблицы сканера: 1 ★, 2 монета, 3 лонг, 4 шорт, 5 In, 6 Out, 7 после комиссий, 8 In на объём, 9 фандинг %/ч, 10 APR, 11 объём, 12 флаги.
   Добавляете колонку в app.js (COLUMNS) — поправьте номера здесь и в блоке для телефонов ниже. */
@media (max-width:1560px) { .table-wrap th:nth-child(9), .table-wrap td:nth-child(9) { display:none; } }
@media (max-width:1330px) { .table-wrap th:nth-child(10), .table-wrap td:nth-child(10) { display:none; } }
@media (max-width:980px) { .kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } }

@media (max-width:720px) {
  .kpi { padding:11px 12px; } .kpi-v { font-size:21px; }
  .modes { border-radius:18px; }
  .table-wrap { border:0; background:none; box-shadow:none; overflow:visible; }
  .table-wrap table, .table-wrap tbody { display:block; }
  .table-wrap thead { display:none; }
  .table-wrap tbody tr { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; margin-bottom:10px; padding:12px 14px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(160deg,var(--panel2),var(--panel)); }
  .table-wrap tbody tr.alt { margin:-4px 0 10px 14px; padding:9px 12px; }
  .table-wrap td { display:block; padding:0; border:0; white-space:normal; background:none !important; box-shadow:none !important; }
  .table-wrap td:nth-child(1) { order:1; width:auto; } .table-wrap td:nth-child(2) { order:2; flex:1 1 0; min-width:0; } .table-wrap td.token .coinbox { flex-wrap:nowrap; } .table-wrap td.token button.more { margin-left:6px; } .table-wrap td:nth-child(5) { order:3; font-size:20px; text-align:right; }
  .table-wrap td:nth-child(3) { order:4; flex:1 0 100%; } .table-wrap td:nth-child(4) { order:5; flex:1 0 100%; }
  .table-wrap td:nth-child(6), .table-wrap td:nth-child(7), .table-wrap td:nth-child(8), .table-wrap td:nth-child(11) { order:6; flex:1 1 22%; text-align:left; font-size:12px; color:var(--muted); }
  .table-wrap td:nth-child(6)::before { content:"Out "; } .table-wrap td:nth-child(7)::before { content:"Net "; } .table-wrap td:nth-child(8)::before { content:"In на объём "; } .table-wrap td:nth-child(11)::before { content:"Vol "; }
  .table-wrap td:nth-child(9), .table-wrap td:nth-child(10) { display:none; }
  .table-wrap td:nth-child(12) { order:7; margin-left:auto; }
  .table-wrap tr.t3, .table-wrap tr.t2 { border-color:color-mix(in srgb,var(--up) 45%,var(--line)); }
  .table-wrap tr.t3 { box-shadow:0 0 0 1px var(--accent-line), 0 10px 30px -18px var(--accent); }
}
@media (prefers-reduced-motion:reduce) { td.fl-up, td.fl-dn, .skel-bar, #chart.loading::after { animation:none; } }
.filterbox .filters { background:none; border:0; border-radius:0; box-shadow:none; }


/* ---------- тарифы: сроки и вопросы ---------- */
.terms { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin:14px 0 8px; }
.terms .card { display:flex; flex-direction:column; gap:8px; align-items:flex-start; margin:0; }
.terms .termtitle { font-weight:700; color:var(--muted); font-size:13px; text-transform:uppercase; letter-spacing:.04em; }
.terms .price { font-size:26px; font-weight:800; }
.terms .btn { margin-top:auto; }
.faq { display:grid; gap:10px; margin-top:12px; }
.faq details { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:0 18px; }
.faq details[open] { border-color:var(--accent-line); }
.faq summary { cursor:pointer; padding:14px 0; font-weight:700; font-size:14px; list-style:none; display:flex; justify-content:space-between; gap:12px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; color:var(--accent); font-size:18px; line-height:1; }
.faq details[open] summary::after { content:"−"; }
.faq p { margin:0 0 16px; color:var(--muted); line-height:1.65; font-size:13.5px; }

/* ---------- сканер: мини-график, строка «подробнее», наборы фильтров, вкладка «Ввод/вывод» ---------- */
.spark { display:inline-block; vertical-align:middle; margin:0 8px 1px 0; overflow:visible; }
.spark polyline { fill:none; stroke-width:1.4; stroke-linejoin:round; stroke-linecap:round; }
.spark.up polyline { stroke:var(--up); } .spark.up circle { fill:var(--up); }
.spark.dn polyline { stroke:var(--down); } .spark.dn circle { fill:var(--down); }
.detailbtn { border:1px solid var(--line2); background:var(--panel2); color:var(--muted); border-radius:8px; width:24px; height:24px; padding:0; line-height:1; cursor:pointer; margin-left:4px; vertical-align:middle; }
.detailbtn:hover, .detailbtn.open { color:var(--accent); border-color:var(--accent-line); }
tr.detail > td { padding:0 !important; background:var(--panel2); border-bottom:1px solid var(--line); }
.detailbox .dcol { min-width:0; }
.detailbox { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; padding:14px 18px 16px; text-align:left; white-space:normal; }
.detailbox h6 { margin:0 0 8px; font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.detailbox .small { font-size:12px; margin:4px 0; }
.calc-inputs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:10px; }
.calc-inputs label { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); }
.calc-inputs input, .presets-row input[type=text] { height:34px; border-radius:999px; padding:0 12px; background:var(--panel); color:var(--text); border:1px solid var(--line2); font-size:13px; font-weight:600; outline:none; }
.calc-inputs input { width:92px; }
.calc-inputs input:focus, .presets-row input[type=text]:focus { border-color:var(--accent-line); box-shadow:0 0 0 3px var(--accent-bg); }
.calc-out { display:grid; grid-template-columns:1fr auto; gap:3px 12px; margin:0; font-size:13px; }
.calc-out dt { color:var(--muted); } .calc-out dd { margin:0; text-align:right; font-variant-numeric:tabular-nums; }
.calc-out dd.total { font-weight:800; }
.bigspark .spark { display:block; margin:0 0 6px; width:100%; height:auto; max-width:260px; }
.dactions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:10px; }
.dactions a.btn-ghost { text-decoration:none; }
.presets-bar { flex:1 0 100%; margin-top:4px; padding-top:12px; border-top:1px solid var(--line); display:grid; gap:10px; }
.presets-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.presets-title { font-size:12px; color:var(--muted); font-weight:700; }
.preset-chips { display:flex; flex-wrap:wrap; gap:6px; }
.preset-chip { display:inline-flex; align-items:center; border:1px solid var(--line2); border-radius:999px; background:var(--panel2); overflow:hidden; }
.preset-chip .chipbtn { border:0; background:none; color:var(--text); padding:5px 12px; font-size:12px; font-weight:700; cursor:pointer; }
.preset-chip .chipbtn:hover { color:var(--accent); }
.preset-chip .chipdel { border:0; background:none; color:var(--muted); padding:5px 9px 5px 2px; cursor:pointer; font-size:14px; }
.preset-chip .chipdel:hover { color:var(--down); }
.presets-row input[type=text] { width:180px; }
.tools-msg { min-height:1em; }
.xfer { margin:0 0 16px; }
.xfer h2 { margin:6px 0 6px; font-size:18px; }
.xfer-table { width:100%; border-collapse:collapse; font-size:13px; }
.xfer-table th, .xfer-table td { padding:8px 10px; text-align:left; border-bottom:1px solid var(--line); }
.xfer-table td.num { text-align:right; font-variant-numeric:tabular-nums; }
.xfer-table tr.blocked { background:var(--down-bg, rgba(255,90,90,.07)); }
.note.paper { color:var(--accent); } .note.warn { color:var(--down); }
@media (max-width:900px) { .detailbox { grid-template-columns:1fr; } }

/* ---- Исправления вёрстки (оплата на тарифах, график) ---- */
/* Карточка тарифа: заголовок и цена в столбик, кнопки прижаты книзу, чтобы три карточки выглядели ровно */
.payplan { min-width:0; }
.payhead { flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:6px; }
.payprice { flex-wrap:wrap; }
.paybtns { margin-top:auto; min-width:0; }
.paybtn { min-width:0; }
.paytx b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* CryptoBot / xRocket: две кнопки в ряд, только если помещаются; иначе одна под другой. Стрелка на узких кнопках не нужна */
.paysplit, .paysplit.n2 { grid-template-columns:repeat(auto-fit, minmax(132px, 1fr)); }
.paysplit.n1 { grid-template-columns:1fr; }
.paysplit > * { min-width:0; }
.paybtn.half { padding:8px 10px 8px 8px; gap:8px; }
.paybtn.half .payico { width:34px; height:34px; border-radius:11px; }
.paybtn.half > svg:last-child { display:none; }
.paybtn.half .paytx b { font-size:14px; }
/* График: холст lightweight-charts сам подстраивается под высоту колонки. Без contain:size он удерживал строку сетки
   раскрытой после «Дополнительно» (колонка выросла, холст вырос вслед за ней и больше не давал ей сжаться). */
#chart { flex:1 1 0; min-height:380px; contain:size; }
@media (max-width:1100px) { #chart { min-height:360px; } }
/* «Оплатить с баланса» в узкой карточке тарифа: текст сверху, кнопка на всю ширину под ним */
.payplan .balpay { flex-wrap:wrap; margin-top:0; }
.payplan .balpay-tx { flex:1 1 120px; }
.payplan .balpay .btn { flex:1 1 100%; justify-content:center; }
@media (max-width:520px) { .paybtn.half .paytx small { display:none; } }
/* Трёхколоночный график: высота рабочей области не зависит от содержимого панели торговли — длинные формы («Дополнительно», позиции)
   прокручиваются внутри панели, а график и стаканы не растягиваются на пол-экрана. */
@media (min-width:1281px) {
  .workspace { grid-template-rows:minmax(0, clamp(700px, calc(100vh - 150px), 1000px)); }
  .workspace .books { min-height:0; overflow:hidden; }
  .workspace .calc { min-height:0; }
}
/* Страница монеты на телефоне: таблицы прокручиваются вбок, а названия бирж не рвутся посреди слова */
.tscroll table.plain { min-width:460px; }
.tscroll table.plain td, .tscroll table.plain th { white-space:nowrap; word-break:normal; }
/* График на телефоне: переключатель режимов занимает всю ширину в сетке 2×2, а не обрезается справа */
@media (max-width:620px) {
  .chart-tools .row { flex-wrap:wrap; width:100%; }
  .chart-tools .seg { flex:1 1 100%; display:grid; grid-template-columns:1fr 1fr; }
  .chart-tools .seg button { padding:0 6px; white-space:nowrap; }
}

/* ---------- админка: вкладки, управление пользователем, бухгалтерия ---------- */
.admtabs { display:inline-flex; flex-wrap:wrap; gap:4px; margin:6px 0 18px; }
.admtabs button { height:36px; border:0; border-radius:999px; padding:0 16px; font-weight:700; background:none; color:var(--muted); }
.admtabs button.active { background:var(--accent); color:#0a0d0b; }
.admtab > .card { margin-bottom:16px; }
.admuser { display:grid; gap:12px; padding:6px 0; }
.admblock { border:1px solid var(--line); border-radius:14px; padding:10px 14px; background:var(--panel2); }
.admblock h4 { margin:0 0 8px; font-size:13px; }
.admblock .field.inline { display:flex; flex-direction:column; gap:2px; }
.grid2 { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; }
.grid2 .card h4 { margin:0 0 8px; }
#settings-list .row { align-items:center; margin-bottom:8px; }
.settitle { flex:1 1 320px; font-size:13px; }
.subtip { margin-top:12px; } .subtip summary { cursor:pointer; color:var(--accent); font-weight:600; }
.funnel { display:grid; gap:6px; margin:8px 0 12px; }
.funnel-row { display:grid; grid-template-columns:minmax(150px,240px) 1fr 70px 110px; gap:10px; align-items:center; font-size:13px; }
.funnel-bar { height:12px; border-radius:999px; background:var(--panel2); overflow:hidden; border:1px solid var(--line); }
.funnel-fill { display:block; height:100%; background:var(--accent); border-radius:999px; }
.weekly { white-space:pre-wrap; background:var(--panel2); border:1px solid var(--line); border-radius:12px; padding:12px; font-size:12.5px; }
.refcodes { margin-top:16px; }
#growth-card h4 { margin:18px 0 6px; }
@media (max-width:620px) { .funnel-row { grid-template-columns:1fr 60px; } .funnel-bar, .funnel-row > .muted { display:none; } }
.recon { border-color:var(--warn); margin-bottom:16px; }
.recon-row { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding:10px 0; border-top:1px solid var(--line); }
.recon-row.acked { opacity:.7; }

/* ---------- первые шаги ---------- */
#onboarding .onb { margin:0 0 14px; }
.onb { padding:16px 18px; }
.onb-head { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; margin-bottom:14px; }
.onb-ttl { display:flex; align-items:baseline; gap:10px; white-space:nowrap; } .onb-ttl h3 { margin:0; }
.onb-bar { height:6px; border-radius:999px; background:var(--panel2); overflow:hidden; }
.onb-bar span { display:block; height:100%; background:var(--accent); }
.onb-btns { display:flex; gap:8px; }
.onb-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; }
.onb-list li { display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--panel2); min-height:64px; }
.onb-list li.next { border-color:var(--accent-line); box-shadow:0 0 0 1px var(--accent-bg); }
.onb-list li.done { opacity:.65; }
.onb-tx { display:flex; flex-direction:column; gap:2px; min-width:0; }
.onb-list a { font-weight:700; font-size:13.5px; text-decoration:none; color:var(--text); line-height:1.3; }
.onb-list li.next a { color:var(--accent); }
.onb-list small { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.35; font-size:12px; }
.onb-mark { flex:none; width:22px; height:22px; border-radius:50%; border:1px solid var(--line2); display:inline-flex; align-items:center; justify-content:center; font-size:11.5px; font-weight:800; color:var(--muted); }
.onb-list li.done .onb-mark { background:var(--accent-bg); border-color:var(--accent-line); color:var(--accent); }
.onb-list li.next .onb-mark { background:var(--accent); border-color:var(--accent); color:var(--on-accent); }
@media (max-width:1100px) { .onb-list { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:600px) { .onb-head { grid-template-columns:1fr auto; } .onb-bar { grid-column:1 / -1; grid-row:2; } .onb-list { grid-template-columns:1fr; } }
.paynets { margin:6px 0; } .paynets summary { cursor:pointer; font-size:13px; color:var(--accent); padding:4px 0; } .paynets .paysplit { margin-top:6px; }

/* ---- «Тарифы»: срок одним переключателем, три карточки, одно оформление ---- */
.pricing .pr-head { text-align:center; display:flex; flex-direction:column; align-items:center; gap:6px; }
.pricing .pr-head .lead { max-width:640px; }
.pr-period { display:inline-flex; margin-top:10px; }
.pr-period button { display:inline-flex; align-items:center; gap:6px; height:38px; padding:0 18px; font-size:13px; }
.segoff { font-size:11px; font-weight:800; padding:1px 6px; border-radius:999px; background:var(--accent-bg); color:var(--accent); }
.pr-period button.active .segoff { background:rgba(0,0,0,.18); color:inherit; }
.plans3 { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:20px; margin-top:26px; align-items:stretch; }
@media (max-width:980px) { .plans3 { grid-template-columns:1fr; max-width:520px; margin-left:auto; margin-right:auto; } }
.plans3 .plan { margin-top:0; }
.plan-head { align-items:center; }
.plan-head h3 { margin:0; }
.plan-sub { margin:4px 0 0; min-height:1.4em; }
.plan .price { display:flex; align-items:baseline; gap:4px; margin:14px 0 0; }
.price-num { font-family:var(--mono); font-size:38px; font-weight:800; letter-spacing:-.03em; }
.price-unit { font-size:15px; font-weight:700; color:var(--muted); }
.price-note { min-height:1.3em; }
.plan-list { flex:1; }
.plan.hot { border-color:color-mix(in srgb, var(--violet) 55%, transparent); background:linear-gradient(160deg, color-mix(in srgb, var(--violet) 10%, var(--panel)), var(--panel)); }
.plan.hot::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg, var(--violet), var(--accent2, var(--accent))); }
.plan.hot h3 { color:var(--violet); }
.btn.disabled { opacity:.5; pointer-events:none; }
.center { text-align:center; }
.checkout { max-width:720px; margin:0 auto; }
.checkout-sum { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding-bottom:14px; border-bottom:1px solid var(--line); }
.checkout-sum > div:first-child { display:flex; flex-direction:column; gap:2px; }
.checkout-title { font-size:20px; }
.checkout-price { display:flex; align-items:baseline; gap:8px; }
.checkout-price strong { font-family:var(--mono); font-size:26px; }
.paylist-title { margin:18px 0 10px; }
.paylist { display:flex; flex-direction:column; gap:8px; }
.paylist .paybtn.wide { background:var(--panel); border-color:var(--line2); }
.paylist .paybtn.wide:first-child { background:linear-gradient(90deg, var(--accent-bg), transparent 70%), var(--panel); border-color:var(--accent-line); }
.paylist .paybtn.wide:not(:first-child) .payico { background:var(--accent-bg); color:var(--accent); border-color:var(--accent-line); }

/* ---- тикет открытия: две ноги, сумма, плечо, расчёт ---- */
.tk-legs { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.tk-leg { border:1px solid var(--line2); border-radius:14px; padding:10px 12px; background:var(--panel2); display:flex; flex-direction:column; gap:4px; min-width:0; }
.tk-leg.long { box-shadow:inset 0 3px 0 var(--up); } .tk-leg.short { box-shadow:inset 0 3px 0 var(--down); }
.tk-leg-top { display:flex; align-items:center; gap:8px; min-width:0; } .tk-leg-top b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tk-side { font-size:10.5px; font-weight:800; letter-spacing:.08em; padding:2px 7px; border-radius:999px; }
.tk-leg.long .tk-side { background:color-mix(in srgb, var(--up) 18%, transparent); color:var(--up); }
.tk-leg.short .tk-side { background:color-mix(in srgb, var(--down) 18%, transparent); color:var(--down); }
.tk-px { font-family:var(--mono); font-size:18px; font-weight:700; }
.tk-meta { display:flex; flex-direction:column; font-size:11px; color:var(--muted); line-height:1.4; }
.tk-size { grid-template-columns:1fr 1fr; }
.tk-lev { gap:6px; }
.tk-lev-head { display:flex; justify-content:space-between; align-items:baseline; }
.tk-lev-val { font-family:var(--mono); color:var(--accent); }
.tk-lev.kept .tk-lev-val { color:var(--muted); font-family:inherit; font-size:12px; }
.tk-lev-row { display:flex; align-items:center; gap:10px; }
.tk-lev-row input[type=range] { flex:1; }
.trade-panel .tk-lev-row input[type=number] { width:70px; flex:none; }
.tk-marks { display:flex; gap:6px; flex-wrap:wrap; }
.tk-lev .checkrow { font-size:12px; color:var(--muted); }
.tk-sum { border:1px solid var(--line); border-radius:14px; padding:10px 12px; background:var(--panel2); display:grid; gap:4px; }
.tk-sum .kv { display:flex; justify-content:space-between; gap:10px; font-size:12.5px; }
.tk-sum .kv .k { color:var(--muted); } .tk-sum .kv .v { font-family:var(--mono); text-align:right; }
.chip { border:1px solid var(--line2); background:var(--panel2); color:var(--muted); border-radius:999px; padding:3px 10px; font-size:12px; font-weight:700; cursor:pointer; }
.chip:hover { color:var(--text); border-color:var(--accent-line); }
.trade-panel .tk-lev .checkrow { text-transform:none; letter-spacing:0; font-weight:500; font-size:12px; color:var(--muted); display:flex; align-items:center; gap:6px; }
.onb-narrow .onb-list { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.onb-narrow .onb { margin-bottom:16px; }
@media (max-width:600px) { .onb-narrow .onb-list { grid-template-columns:1fr; } }
.onb-narrow + .statgrid { grid-template-columns:repeat(3, minmax(0, 1fr)); } @media (max-width:600px) { .onb-narrow + .statgrid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
/* фандинг: поля одной высоты, строки таблицы по центру */
.fundbar { align-items:flex-end; }
.fundbar .field input, .fundbar .field select { height:42px; box-sizing:border-box; }
.fundbar .check { height:42px; display:inline-flex; align-items:center; }
table.funding td { vertical-align:middle; }
.pr-period button { white-space:nowrap; }
#plans-note { margin-top:14px; }
.checkout > p.muted.small:last-child { margin-top:12px; }
@media (max-width:420px) { .pr-period button { padding:0 12px; font-size:12px; } }
.cta-card { margin-top:28px; }

/* ---- окно PnL-картинки ---- */
.pnlmodal { position:fixed; inset:0; z-index:100; background:rgba(0,0,0,.7); display:flex; align-items:center; justify-content:center; padding:16px; }
.pnlbox { width:min(980px, 100%); max-height:100%; overflow:auto; margin:0; display:flex; flex-direction:column; gap:12px; }
.pnlcanvas { width:100%; height:auto; border-radius:16px; border:1px solid var(--line2); display:block; }
.pnlbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; }
.pnlbar .seg button { height:34px; padding:0 14px; border:0; border-radius:999px; background:none; color:var(--muted); font-weight:700; cursor:pointer; }
.pnlbar .seg button.active { background:var(--accent); color:var(--on-accent); }
.pnlbar .btn.primary { margin-left:auto; }
.pnlopts { display:flex; flex-wrap:wrap; gap:8px 18px; }
.pnlopts .check { font-size:13px; display:inline-flex; align-items:center; gap:6px; cursor:pointer; }
.pnlopts input { width:16px; height:16px; accent-color:var(--accent); }
