@import url("tokens.css?v=1");
/* SavagePay — UI v3 (тёмная тема, фирменный лайм) */
:root{
  --bg:#0a0a0b;--card:#141416;--surface:#1b1b1e;--surface2:#232327;--text:#f4f4f5;--muted:#9a9aa3;--line:#26262b;--line2:#1e1e22;
  --primary:#bfeb02;--primary2:#d4f53c;--primary-d:#c8f01c;--on-primary:#0a0a0a;--grad:linear-gradient(135deg,#d6f73f 0%,#bfeb02 55%,#a3cc00 100%);
  --ok:#10b981;--ok-bg:rgba(16,185,129,.14);--warn:#f59e0b;--warn-bg:rgba(245,158,11,.14);--bad:#ef4444;--bad-bg:rgba(239,68,68,.14);--info:#06b6d4;
  --side:#050506;--side2:#0d0d0f;
  color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-size:var(--fs-14);line-height:var(--lh-14);font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
a{color:var(--primary-d);text-decoration:none}a:hover{color:var(--primary2)}
h1{font-size:var(--fs-24);line-height:var(--lh-24);margin:0;font-weight:800;letter-spacing:var(--ls-tight)}
h2{font-size:var(--fs-16);margin:0 0 var(--sp-12);font-weight:700;display:flex;align-items:center;gap:var(--sp-8);line-height:var(--lh-16)}h3{font-size:var(--fs-14);margin:var(--sp-16) 0 var(--sp-8);line-height:var(--lh-14)}
.ico{width:20px;height:20px;flex-shrink:0;vertical-align:-4px}
code{font-family:var(--font-mono);background:var(--surface2);color:#d9f99d;padding:0 var(--sp-4);border-radius:var(--r-8);font-size:inherit;word-break:break-all}
pre{background:#0b1120;color:rgba(191,235,2,.35);padding:var(--sp-16) var(--sp-16);border-radius:var(--r-12);overflow:auto;font-size:var(--fs-12);line-height:var(--lh-12);max-height:460px}
pre code{background:none;color:inherit;padding:0;word-break:normal}
small,.small{font-size:var(--fs-12);line-height:var(--lh-12)}.muted{color:var(--muted)}.text-ok{color:var(--ok)!important}.text-bad{color:var(--bad)!important}
.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.row{display:flex;gap:var(--sp-8);align-items:center;flex-wrap:wrap}

/* ---------- Каркас ---------- */
.app-body{display:flex;min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:linear-gradient(180deg,var(--side) 0%,var(--side2) 100%);color:#3f3f46;display:flex;flex-direction:column;z-index:40;transition:transform .25s ease}
.brand{display:flex;align-items:center;gap:var(--sp-12);padding:var(--sp-24) var(--sp-24) var(--sp-16);color:#fff;font-weight:800;font-size:var(--fs-16);letter-spacing:0;line-height:var(--lh-16)}
.brand:hover{color:#fff}
.brand-logo{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:var(--r-12);background:var(--grad);box-shadow:0 8px 20px -6px rgba(191,235,2,.7);color:#fff}
.brand-logo .ico{width:20px;height:20px}
.nav{flex:1;padding:var(--sp-8) var(--sp-12);overflow-y:auto}
.nav a{display:flex;align-items:center;gap:var(--sp-12);color:#71717a;padding:var(--sp-12) var(--sp-12);margin:var(--sp-4) 0;border-radius:var(--r-12);font-weight:500;transition:background .15s,color .15s}
.nav a:hover{background:rgba(148,163,184,.1);color:#fff}
.nav a.active{background:linear-gradient(135deg,rgba(191,235,2,.95),rgba(191,235,2,.95));color:#fff;box-shadow:0 8px 20px -10px rgba(191,235,2,.9)}
.side-user{display:flex;align-items:center;gap:var(--sp-12);margin:var(--sp-12);padding:var(--sp-12);border-radius:var(--r-16);background:rgba(148,163,184,.08)}
.side-user form{margin-left:auto}
.side-user-info{min-width:0}.side-user-info b{display:block;color:#fff;font-size:var(--fs-14);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:var(--lh-14)}.side-user-info small{color:#71717a}
.avatar{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--grad);color:#fff;font-weight:700;flex-shrink:0}
.icon-btn{display:inline-grid;place-items:center;width:var(--control-h-sm);height:var(--control-h-sm);border:0;border-radius:var(--r-8);background:transparent;color:inherit;cursor:pointer;transition:background .15s}
.icon-btn:hover{background:rgba(148,163,184,.18)}
.main-wrap{flex:1;margin-left:var(--sidebar-w);min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--sp-12);height:var(--topbar-h);padding:0 var(--page-pad-x);background:rgba(10,10,11,.82);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);box-shadow:inset 0 -1px 0 rgba(255,255,255,.06)}
.topbar-title{font-weight:700;color:#d4d4d8}
.topbar-right{margin-left:auto;display:flex;gap:var(--sp-8);align-items:center}
.nav-toggle{display:none}
.chip{display:inline-flex;align-items:center;gap:var(--sp-8);height:var(--control-h-sm);padding:0 var(--sp-12);border-radius:var(--r-full);background:var(--card);border:1px solid var(--line);font-size:var(--fs-12);color:#d4d4d8;white-space:nowrap;cursor:default;line-height:var(--lh-12)}
button.chip{cursor:pointer;font:inherit;font-size:var(--fs-12);line-height:var(--lh-12)}button.chip:hover{border-color:var(--primary);color:var(--primary-d)}
.chip-rate b{color:var(--primary-d)}.chip-role{background:var(--grad);color:#fff;border:0;font-weight:600}
.content{padding:var(--page-pad-y) var(--page-pad-x) var(--sp-48);max-width:var(--content-max);width:100%;position:relative;transition:opacity .2s}
.content.loading{opacity:.55;pointer-events:none}
.content.fade-in{animation:fadeIn .28s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
#progress{position:fixed;top:0;left:0;height:4px;width:0;background:var(--grad);z-index:100;transition:width .25s ease,opacity .3s;opacity:0;box-shadow:0 0 10px rgba(191,235,2,.6)}
#progress.on{opacity:1}
.skeleton-overlay{position:absolute;inset:var(--page-pad-y) var(--page-pad-x);display:grid;gap:var(--sp-16);align-content:start;z-index:5}
.sk{border-radius:var(--r-16);background:linear-gradient(90deg,#1d1d21 25%,#26262b 50%,#1d1d21 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* ---------- Заголовки и карточки ---------- */
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-16);margin-bottom:var(--section-gap);flex-wrap:wrap}
.page-sub{margin:var(--sp-8) 0 0;color:var(--muted);max-width:760px}
.page-actions{display:flex;gap:var(--sp-8);flex-wrap:wrap}
.content>h1{margin-bottom:var(--section-gap)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-16);padding:var(--card-pad);margin-bottom:var(--section-gap);box-shadow:var(--shadow)}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-12);margin-bottom:var(--sp-16);flex-wrap:wrap}.card-head h2{margin:0}
.card h2 .ico{color:var(--primary)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--section-gap);margin-bottom:var(--section-gap)}.grid-2>.card{margin-bottom:0}
.grid-chart{display:grid;grid-template-columns:2fr 1fr;gap:0 var(--section-gap)}.grid-chart>.card{margin-bottom:var(--section-gap)}
.grid-test{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:var(--section-gap);align-items:start}
.chart-box{position:relative;width:100%}.chart-box canvas{display:block;width:100%;height:100%}
.chart-tip{position:absolute;pointer-events:none;background:#f4f4f5;color:#fff;padding:var(--sp-8) var(--sp-12);border-radius:var(--r-8);font-size:var(--fs-12);white-space:nowrap;box-shadow:var(--shadow-lg);transform:translate(-50%,-110%);z-index:3;line-height:var(--lh-12)}

/* ---------- Показатели ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:var(--grid-gap);margin-bottom:var(--section-gap)}
.stat{display:flex;gap:var(--sp-16);align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--r-16);padding:var(--sp-16);box-shadow:var(--shadow);position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}
.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.stat::after{content:"";position:absolute;right:calc(var(--sp-32) * -1);top:calc(var(--sp-32) * -1);width:92px;height:92px;border-radius:50%;opacity:.08;background:var(--tone,#6366f1)}
.stat-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-12);color:#fff;background:var(--tone-grad,var(--grad));flex-shrink:0;box-shadow:0 8px 18px -8px var(--tone,#6366f1)}
.stat-ico .ico{width:20px;height:20px}
.stat-body{min-width:0}.stat-label{color:var(--muted);font-size:var(--fs-12);font-weight:500;line-height:var(--lh-12)}
.stat-value{font-size:var(--fs-20);font-weight:800;letter-spacing:var(--ls-tight);margin-top:var(--sp-4);white-space:normal;overflow:visible;overflow-wrap:anywhere;word-break:break-word;font-variant-numeric:tabular-nums;line-height:var(--lh-20)}
.stat-value small{font-size:var(--fs-12);font-weight:500;color:var(--muted);line-height:var(--lh-12)}.stat-sub{font-size:var(--fs-12);color:var(--muted);margin-top:var(--sp-4);line-height:var(--lh-12)}
.tone-blue{--tone:#3b82f6;--tone-grad:linear-gradient(135deg,#3b82f6,#6366f1)}
.tone-green{--tone:#10b981;--tone-grad:linear-gradient(135deg,#10b981,#14b8a6)}.tone-green .stat-value{color:#059669}
.tone-violet{--tone:#8b5cf6;--tone-grad:linear-gradient(135deg,#8b5cf6,#d946ef)}
.tone-amber{--tone:#f59e0b;--tone-grad:linear-gradient(135deg,#f59e0b,#f97316)}
.tone-pink{--tone:#ec4899;--tone-grad:linear-gradient(135deg,#ec4899,#f43f5e)}
.tone-cyan{--tone:#06b6d4;--tone-grad:linear-gradient(135deg,#06b6d4,#3b82f6)}
.tone-slate{--tone:#9a9aa3;--tone-grad:linear-gradient(135deg,#9a9aa3,#d4d4d8)}
.mini-stats{display:flex;flex-wrap:wrap;gap:var(--sp-8) var(--sp-24);padding:var(--sp-12) var(--sp-16);margin-bottom:var(--sp-12);background:var(--surface);border-radius:var(--r-12);color:#a1a1aa;font-size:var(--fs-14);line-height:var(--lh-14)}

/* ---------- Таблицы ---------- */
.table-wrap{overflow-x:auto;scrollbar-width:none;border-radius:var(--r-12)}.table-wrap::-webkit-scrollbar{height:0}.table-wrap table{width:100%;min-width:0}.table-wrap th,.table-wrap td{white-space:normal;overflow-wrap:anywhere}
table{width:100%;border-collapse:collapse}
th,td{padding:var(--cell-pad-y) var(--cell-pad-x);border-bottom:1px solid var(--line2);text-align:left;vertical-align:middle}
th{font-size:var(--fs-12);color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-wide);background:var(--surface);white-space:nowrap;line-height:var(--lh-12)}
th.num{text-align:right}
tr{transition:background .12s}tr:hover td{background:var(--surface)}
tr.row-muted td{color:#71717a}tr.total-row td{background:var(--surface);font-weight:700;border-top:2px solid var(--line)}
table.kv th{width:40%;background:none;text-transform:none;letter-spacing:0;font-size:var(--fs-14);line-height:var(--lh-14)}
.badge{display:inline-flex;align-items:center;gap:var(--sp-8);padding:var(--sp-4) var(--sp-12);border-radius:var(--r-full);font-size:var(--fs-12);font-weight:600;white-space:nowrap;line-height:var(--lh-12)}
.badge .dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.badge-ok{background:var(--ok-bg);color:#34d399}.badge-warn{background:var(--warn-bg);color:#fbbf24}.badge-bad{background:var(--bad-bg);color:#f87171}.badge-muted{background:var(--surface2);color:#9a9aa3}
.badge-warn .dot{animation:pulse 1.4s infinite}
@keyframes pulse{50%{opacity:.3}}
.live-dot{display:inline-flex;align-items:center;gap:var(--sp-8);font-size:var(--fs-12);color:#059669;font-weight:600;line-height:var(--lh-12)}
.live-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.18);animation:tpulse 1.6s infinite}

/* ---------- Формы ---------- */
label{display:block;margin-bottom:var(--field-gap);font-size:var(--fs-14);color:#d4d4d8;font-weight:500;line-height:var(--lh-14)}
input,select,textarea{display:block;width:100%;margin-top:var(--label-gap);height:var(--control-h);padding:0 var(--control-pad-x);border:1px solid #34343a;border-radius:var(--r-12);font:inherit;background:var(--card);color:var(--text);transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(191,235,2,.15)}
.input-lg{font-size:var(--fs-20);font-weight:700;height:var(--control-h-lg);padding:0 var(--sp-16);line-height:var(--lh-20)}
input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0}
input[type=file]{height:auto;padding:var(--sp-8) 0}
textarea{height:auto;min-height:calc(var(--control-h) * 2);padding:var(--sp-8) var(--control-pad-x)}
label.check{display:flex;align-items:center;gap:var(--sp-8)}label.check input{width:auto;margin:0}
.form-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(192px,1fr));gap:0 var(--sp-16);align-items:end}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--sp-12)}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 var(--sp-12)}
.form-actions{margin-bottom:var(--field-gap)}
.form-error{background:var(--bad-bg);color:#f87171;padding:var(--sp-12) var(--sp-12);border-radius:var(--r-8);margin-bottom:var(--sp-12);font-size:var(--fs-14);line-height:var(--lh-14)}
.filters{display:flex;flex-wrap:wrap;gap:var(--sp-8);margin-bottom:var(--section-gap);align-items:flex-end}
.filters input,.filters select{width:auto;margin:0}.filters label{margin:0;display:flex;align-items:center;gap:var(--sp-8)}
.card-filters{padding:var(--sp-16)}.card-filters .filters{margin:0}
.seg{display:flex;gap:var(--sp-8);padding:var(--sp-4);background:var(--surface);border-radius:var(--r-12);margin-bottom:var(--sp-16)}
.seg label{flex:1;margin:0}.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:flex;align-items:center;justify-content:center;gap:var(--sp-8);min-height:var(--control-h-sm);padding:0 var(--sp-8);border-radius:var(--r-8);cursor:pointer;font-weight:600;color:#9a9aa3;transition:all .15s}
.seg input:checked+span{background:var(--card);color:var(--primary-d);box-shadow:0 2px 8px -2px rgba(0,0,0,.4)}
.quick-amounts{display:flex;flex-wrap:wrap;gap:var(--sp-8);margin:calc(var(--sp-8) * -1) 0 var(--sp-16)}

/* ---------- Кнопки ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-8);height:var(--control-h);padding:0 var(--sp-16);border:1px solid #34343a;border-radius:var(--r-12);background:var(--card);color:#e4e4e7;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .1s,box-shadow .15s,background .15s,border-color .15s}
.btn:hover{border-color:#46464d;background:var(--surface);color:#e4e4e7}.btn:active{transform:scale(.98)}
.btn-primary{background:var(--grad);border:0;color:#fff;box-shadow:0 8px 20px -8px rgba(191,235,2,.7)}
.btn-primary:hover{color:#fff;background:var(--grad);box-shadow:0 10px 26px -8px rgba(191,235,2,.85);filter:brightness(1.05)}
.btn-success{background:linear-gradient(135deg,#10b981,#059669);border:0;color:#fff;box-shadow:0 8px 20px -8px rgba(5,150,105,.7)}.btn-success:hover{color:#fff;background:linear-gradient(135deg,#10b981,#059669);filter:brightness(1.05)}
.btn-soft{background:rgba(191,235,2,.10);border-color:transparent;color:var(--primary-d)}.btn-soft:hover{background:rgba(191,235,2,.18);border-color:transparent;color:var(--primary-d)}
.btn-danger,.btn-danger-soft{background:rgba(239,68,68,.12);border-color:transparent;color:#dc2626}.btn-danger:hover,.btn-danger-soft:hover{background:rgba(239,68,68,.22);color:#f87171;border-color:transparent}
.btn-ghost{border-color:transparent;background:none}
.btn-sm{height:var(--control-h-sm);padding:0 var(--sp-12);font-size:var(--fs-12);border-radius:var(--r-8);line-height:var(--lh-12)}.btn-lg{height:var(--control-h-lg);padding:0 var(--sp-24);font-size:var(--fs-16);line-height:var(--lh-16)}
.btn .ico{width:16px;height:16px}.btn-block{display:flex;width:100%;margin-top:var(--sp-8)}
.btn[disabled],.btn.is-loading{opacity:.65;cursor:default;pointer-events:none}
.btn.is-loading::after{content:"";width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--sp-8);margin:var(--sp-12) 0}
form.inline,.inline{display:inline}
.inline-form{display:flex;gap:var(--sp-8);margin-bottom:var(--sp-8)}.inline-form input{margin:0;min-width:160px;height:var(--control-h-sm)}

/* ---------- Сообщения ---------- */
.alert{padding:var(--sp-12) var(--sp-16);border-radius:var(--r-12);margin-bottom:var(--sp-16);border:1px solid}
.alert-success{background:var(--ok-bg);border-color:rgba(16,185,129,.35);color:#6ee7b7}.alert-error{background:var(--bad-bg);border-color:rgba(239,68,68,.35);color:rgba(239,68,68,.45)}.alert-warn{background:var(--warn-bg);border-color:rgba(245,158,11,.35);color:#fcd34d}
#toasts{position:fixed;right:var(--sp-24);bottom:var(--sp-24);z-index:200;display:flex;flex-direction:column;gap:var(--sp-12);max-width:380px}
.toast{display:flex;gap:var(--sp-12);align-items:flex-start;padding:var(--sp-12) var(--sp-16);border-radius:var(--r-16);color:#fff;background:#e4e4e7;box-shadow:var(--shadow-lg);animation:toastIn .25s ease;font-weight:500}
.toast.success{background:linear-gradient(135deg,#10b981,#059669)}.toast.error{background:linear-gradient(135deg,#ef4444,#dc2626)}.toast.warn{background:linear-gradient(135deg,#f59e0b,#d97706)}
.toast.out{opacity:0;transform:translateX(20px);transition:all .3s}
@keyframes toastIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.empty-state{text-align:center;padding:var(--sp-32) var(--sp-16);color:var(--muted)}
.empty-ico{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:var(--r-16);background:rgba(191,235,2,.10);color:var(--primary);margin-bottom:var(--sp-12)}.empty-ico .ico{width:28px;height:28px}
.empty-state p{margin:0 0 var(--sp-16)}
.pager{display:flex;gap:var(--sp-8);margin-top:var(--sp-16);flex-wrap:wrap}.pager a,.pager span{min-width:36px;text-align:center;padding:var(--sp-8) var(--sp-12);border:1px solid var(--line);border-radius:var(--r-8);background:var(--card)}
.pager .current{background:var(--grad);color:#fff;border-color:transparent}

/* ---------- Переключатель ---------- */
.switch{display:inline-flex;align-items:center;gap:var(--sp-8);background:none;border:0;cursor:pointer;padding:0;font:inherit}
.switch span{position:relative;width:44px;height:24px;background:#3f3f46;border-radius:var(--r-full);transition:background .2s}
.switch span::after{content:"";position:absolute;top:var(--sp-4);left:var(--sp-4);width:16px;height:16px;border-radius:50%;background:var(--card);box-shadow:0 2px 4px rgba(0,0,0,.2);transition:left .2s}
.switch.on span{background:linear-gradient(135deg,#10b981,#14b8a6)}.switch.on span::after{left:var(--sp-24)}
.switch em{font-style:normal;font-size:var(--fs-12);color:var(--muted);min-width:64px;text-align:left;font-weight:600;line-height:var(--lh-12)}.switch.on em{color:#059669}
.switch[disabled]{opacity:.5}

/* ---------- Реквизиты ---------- */
.req-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--grid-gap)}
.req-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-16);padding:var(--sp-16);box-shadow:var(--shadow);overflow:hidden;transition:transform .15s,box-shadow .15s,opacity .2s}
.req-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.req-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--grad)}
.req-card.m-sbp::before{background:linear-gradient(135deg,#06b6d4,#10b981)}
.req-card.is-off{opacity:.62}.req-card.is-off::before{background:#3f3f46}
.req-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-12)}
.req-method{display:inline-flex;align-items:center;gap:var(--sp-8);padding:var(--sp-4) var(--sp-12);border-radius:var(--r-full);background:rgba(191,235,2,.10);color:var(--primary-d);font-size:var(--fs-12);font-weight:700;line-height:var(--lh-12)}
.m-sbp .req-method{background:rgba(6,182,212,.14);color:#67e8f9}
.req-number{font-family:var(--font-mono);font-size:var(--fs-20);font-weight:700;letter-spacing:var(--ls-wide);color:#f4f4f5;line-height:var(--lh-20)}
.req-owner{color:var(--muted);font-size:var(--fs-14);margin:var(--sp-4) 0 var(--sp-12);line-height:var(--lh-14)}.req-owner .ico{width:16px;height:16px}
.req-meta{display:flex;justify-content:space-between;font-size:var(--fs-12);color:var(--muted);margin-bottom:var(--sp-12);line-height:var(--lh-12)}.req-meta b{color:#d4d4d8}
.req-limit-label{display:flex;justify-content:space-between;font-size:var(--fs-12);color:var(--muted);margin-bottom:var(--sp-4);line-height:var(--lh-12)}
.progress,.timer-bar{height:8px;border-radius:var(--r-full);background:var(--surface2);overflow:hidden}
.progress span,.timer-bar span{display:block;height:100%;border-radius:var(--r-full);background:var(--grad);transition:width .5s}
.req-actions{display:flex;justify-content:flex-end;gap:var(--sp-8);margin-top:var(--sp-16)}

/* ---------- Модальное окно ---------- */
.modal{position:fixed;inset:0;z-index:150;display:none;align-items:center;justify-content:center;padding:var(--sp-16)}
.modal.open,.modal:target{display:flex}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);animation:fadeOnly .2s}
.modal-card{position:relative;width:100%;max-width:560px;max-height:calc(100vh - 32px);overflow:auto;background:var(--card);border-radius:var(--r-16);padding:var(--modal-pad);box-shadow:var(--shadow-lg);animation:modalIn .25s cubic-bezier(.2,.9,.3,1.2)}
.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-16)}.modal-head h2{margin:0;font-size:var(--fs-20);line-height:var(--lh-20)}
.modal-actions{display:flex;justify-content:flex-end;gap:var(--sp-8);margin-top:var(--sp-8)}
@keyframes modalIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@keyframes fadeOnly{from{opacity:0}}
body.modal-open{overflow:hidden}

/* ---------- Сделки трейдера ---------- */
.order-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--grid-gap)}
.order-card{background:linear-gradient(180deg,#17171a,#121214);border:1px solid var(--line);border-radius:var(--r-16);padding:var(--sp-16);box-shadow:var(--shadow);animation:fadeIn .3s}
.order-card.expired{opacity:.5}
.order-card-head{display:flex;justify-content:space-between;align-items:center}
.order-amount{font-size:var(--fs-32);font-weight:800;letter-spacing:var(--ls-tight);margin:var(--sp-12) 0 var(--sp-8);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:var(--lh-32)}
.order-req{font-size:var(--fs-14);color:#d4d4d8;margin-bottom:var(--sp-8);line-height:var(--lh-14)}.order-req span{color:var(--muted)}.order-req .ico{width:16px;height:16px;color:var(--primary)}
.order-meta{display:flex;flex-wrap:wrap;gap:var(--sp-4) var(--sp-16);font-size:var(--fs-12);color:var(--muted);margin-bottom:var(--sp-12);line-height:var(--lh-12)}.order-meta b{color:#d4d4d8}
.timer-bar{margin-bottom:var(--sp-8)}.timer-bar span{background:linear-gradient(90deg,#10b981,#14b8a6)}
.timer{font-variant-numeric:tabular-nums;font-weight:700;color:#059669}.timer.big{font-size:var(--fs-16);line-height:var(--lh-16)}
.timer.soon{color:#d97706}.timer.over{color:#dc2626}

/* ---------- Тест API ---------- */
.endpoint{display:grid;gap:var(--sp-8);padding:var(--sp-12);margin-bottom:var(--sp-16);background:var(--surface);border-radius:var(--r-12)}
.endpoint small{display:block;color:var(--muted);font-size:var(--fs-12);text-transform:uppercase;letter-spacing:var(--ls-wide);font-weight:700;line-height:var(--lh-12)}
.pay-card{position:relative;border-radius:var(--r-16);padding:var(--sp-24);margin-bottom:var(--sp-16);color:#fff;background:radial-gradient(120% 120% at 0% 0%,#6366f1 0%,#a3cc00 45%,#a21caf 100%);box-shadow:var(--shadow-lg);overflow:hidden;animation:fadeIn .3s}
.pay-card.m-sbp{background:radial-gradient(120% 120% at 0% 0%,#0891b2 0%,#0d9488 50%,#34d399 100%)}
.pay-card::after{content:"";position:absolute;right:0;top:0;transform:translate(28%,-28%);width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.08)}
.pay-card code{background:rgba(255,255,255,.18);color:#fff}
.pay-card .req-method{background:rgba(255,255,255,.2);color:#fff;margin-right:var(--sp-8)}
.pay-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-8);flex-wrap:wrap;position:relative;z-index:1}
.pay-head .badge{background:rgba(255,255,255,.95)}
.pay-amount{font-size:var(--fs-32);font-weight:800;letter-spacing:var(--ls-tight);margin:var(--sp-16) 0 var(--sp-4);line-height:var(--lh-32)}.pay-amount span{opacity:.7}
.pay-label{opacity:.85;font-size:var(--fs-14);line-height:var(--lh-14)}
.pay-req{display:flex;align-items:center;gap:var(--sp-8);font-family:var(--font-mono);font-size:var(--fs-24);font-weight:700;letter-spacing:var(--ls-wide);margin:var(--sp-4) 0 var(--sp-16);line-height:var(--lh-24)}
.pay-req .icon-btn{color:#fff;background:rgba(255,255,255,.15)}
.pay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:var(--sp-12);position:relative;z-index:1}
.pay-grid>div{background:rgba(255,255,255,.12);border-radius:var(--r-12);padding:var(--sp-12) var(--sp-12)}
.pay-grid small{display:block;opacity:.75;font-size:var(--fs-12);line-height:var(--lh-12)}.pay-grid b{font-size:var(--fs-14);line-height:var(--lh-14)}
.pay-card .timer{color:#fff}.pay-card .timer.soon{color:#fde68a}.pay-card .timer.over{color:rgba(239,68,68,.35)}
.pay-actions{display:flex;gap:var(--sp-8);margin-top:var(--sp-16);flex-wrap:wrap;position:relative;z-index:1}
.pay-actions .btn{background:rgba(255,255,255,.95);border:0}
.req-line{margin-bottom:var(--sp-12);font-size:var(--fs-14);line-height:var(--lh-14)}

/* ---------- Документация ---------- */
.doc h2{margin-top:var(--sp-24);padding-top:var(--sp-16);border-top:1px solid var(--line)}.doc h2:first-child{border:0;margin-top:0}
.secret{letter-spacing:var(--ls-wide)}
.qr{display:flex;justify-content:center;margin:var(--sp-16) 0;padding:var(--sp-16);background:var(--card);border-radius:var(--r-16);border:1px solid var(--line)}.qr svg,.qr img{width:200px;height:200px}

/* ---------- Вход / установка ---------- */
.auth-body{min-height:100vh;background:#0b1120;position:relative;overflow-x:hidden}
.auth-bg span{position:fixed;border-radius:50%;filter:blur(80px);opacity:.55;z-index:0}
.auth-bg span:nth-child(1){width:520px;height:520px;background:#6366f1;top:0;left:0;transform:translate(-24%,-32%)}
.auth-bg span:nth-child(2){width:460px;height:460px;background:#d946ef;bottom:0;right:0;transform:translate(22%,36%)}
.auth-bg span:nth-child(3){width:320px;height:320px;background:#06b6d4;top:40%;left:55%;opacity:.35}
.auth-wrap{position:relative;z-index:1;max-width:440px;margin:0 auto;padding:var(--sp-48) var(--sp-16)}
.auth-brand{display:flex;align-items:center;justify-content:center;gap:var(--sp-12);color:#fff;font-weight:800;font-size:var(--fs-20);margin-bottom:var(--sp-24);line-height:var(--lh-20)}
.auth-wrap .card{border:0;border-radius:var(--r-16);padding:var(--sp-32);box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.auth-card h1{font-size:var(--fs-24);margin-bottom:var(--sp-4);line-height:var(--lh-24)}
.auth-wrap .alert{position:relative}

/* ---------- Адаптив ---------- */
@media (max-width:1100px){.grid-chart,.grid-test{grid-template-columns:1fr}}
@media (max-width:900px){
  .sidebar{transform:translateX(-100%)}
  body.nav-open .sidebar{transform:none;box-shadow:var(--shadow-lg)}
  .sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:35}
  body.nav-open .sidebar-backdrop{display:block}
  .main-wrap{margin-left:0}.nav-toggle{display:inline-grid}
  .content{padding-bottom:var(--sp-32)}
  .grid-2{grid-template-columns:1fr}.chip-role{display:none}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{padding:var(--sp-12);gap:var(--sp-12)}.stat-ico{width:36px;height:36px}.stat-value{font-size:var(--fs-16);line-height:var(--lh-16);white-space:normal;overflow:visible;overflow-wrap:anywhere}
  h1{font-size:var(--fs-20);line-height:var(--lh-20)}
}
@media (max-width:520px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}.chip-rate{display:none}.pay-amount{font-size:var(--fs-32);line-height:var(--lh-32)}.pay-req{font-size:var(--fs-20);line-height:var(--lh-20)}.stats{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- Трафик трейдера ---------- */
.traffic-btn{display:inline-flex;align-items:center;gap:var(--sp-8);border:0;cursor:pointer;font:inherit;font-weight:700;font-size:var(--fs-14);padding:var(--sp-8) var(--sp-16) var(--sp-8) var(--sp-12);border-radius:var(--r-full);
  background:rgba(239,68,68,.14);color:#f87171;box-shadow:inset 0 0 0 1px rgba(239,68,68,.35);transition:all .2s;line-height:var(--lh-14)}
.traffic-btn:hover{filter:brightness(.97)}
.traffic-btn:disabled{opacity:.6;cursor:wait}
.traffic-dot{width:12px;height:12px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.2)}
.traffic-btn.on{background:rgba(16,185,129,.14);color:#34d399;box-shadow:inset 0 0 0 1px rgba(16,185,129,.35)}
.traffic-btn.on .traffic-dot{background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.25);animation:tpulse 1.6s infinite}
.traffic-btn.big{flex-direction:column;align-items:center;gap:var(--sp-4);padding:var(--sp-16) var(--sp-24);border-radius:var(--r-16);font-size:var(--fs-20);min-width:232px;
  background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;box-shadow:0 12px 30px -12px rgba(239,68,68,.8);line-height:var(--lh-20)}
.traffic-btn.big.on{background:linear-gradient(135deg,#10b981,#14b8a6);box-shadow:0 12px 30px -12px rgba(16,185,129,.8)}
.traffic-btn.big .traffic-dot{background:var(--card);box-shadow:0 0 0 4px rgba(255,255,255,.3)}
.traffic-btn.big .traffic-label{display:flex;align-items:center;gap:var(--sp-8)}
.traffic-btn.big{display:inline-grid;grid-template-columns:auto auto;column-gap:var(--sp-12);align-items:center;justify-content:center}
.traffic-btn.big .traffic-hint{grid-column:1/-1;font-size:var(--fs-12);font-weight:500;opacity:.92;line-height:var(--lh-12)}
.traffic-card{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-16);flex-wrap:wrap;padding:var(--sp-16) var(--sp-24);margin-bottom:var(--section-gap);border-radius:var(--r-16);
  background:linear-gradient(135deg,rgba(239,68,68,.10),#fff);box-shadow:var(--shadow);border:1px solid rgba(239,68,68,.25)}
.traffic-card.on{background:linear-gradient(135deg,rgba(16,185,129,.10),#fff);border-color:rgba(16,185,129,.3)}
.traffic-card-text{display:flex;flex-direction:column;gap:var(--sp-4);max-width:560px}.traffic-card-text b{font-size:var(--fs-16);line-height:var(--lh-16)}.traffic-card-text span{color:var(--muted);font-size:var(--fs-14);line-height:var(--lh-14)}
@keyframes tpulse{0%,100%{box-shadow:0 0 0 3px rgba(16,185,129,.25)}50%{box-shadow:0 0 0 6px rgba(16,185,129,.08)}}

/* ---------- Заработок / отчёты ---------- */
.amt-pos{color:#059669}.amt-neg{color:#dc2626;font-weight:700}
tr.row-neg td{background:rgba(239,68,68,.10)}tr.row-neg:hover td{background:rgba(239,68,68,.14)}
tr.row-total td{font-weight:700;background:var(--surface);border-top:2px solid var(--line)}
tr.row-muted td{opacity:.6}
.filter-card{padding:var(--sp-16);display:flex}.filter-card.filters{margin-bottom:var(--section-gap)}
.inline-filters{margin:0}.inline-filters select,.inline-filters input{height:var(--control-h-sm);padding:0 var(--sp-12)}
.card-head .inline-filters{margin-left:auto}
.bank-name{display:inline-flex;align-items:center;gap:var(--sp-12)}
.bank-ico{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--r-8);background:linear-gradient(135deg,rgba(191,235,2,.10),rgba(168,85,247,.12));color:var(--primary)}
.bank-ico .ico{width:16px;height:16px}
@media (max-width:720px){.traffic-btn:not(.big) .traffic-label{display:none}.traffic-btn:not(.big){padding:var(--sp-8)}.traffic-btn.big{width:100%}}

/* ---------- Споры и callback ---------- */
.badge-dispute{background:rgba(168,85,247,.16);color:#c084fc}.badge-dispute .dot{background:#a855f7}
.btn-warn{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;border:0;box-shadow:0 8px 18px -10px rgba(245,158,11,.9)}.btn-warn:hover{filter:brightness(1.05);color:#fff}
.amt-changed{color:#c084fc}
.card-dispute.is-open{border:1px solid rgba(168,85,247,.35);background:linear-gradient(180deg,rgba(168,85,247,.10),#fff 120px)}
.timeline{list-style:none;margin:0;padding:0 0 0 var(--sp-16);border-left:2px solid rgba(168,85,247,.3)}
.timeline li{position:relative;padding:0 0 var(--sp-16) var(--sp-12)}
.timeline li::before{content:"";position:absolute;left:calc(var(--sp-24) * -1);top:var(--sp-4);width:12px;height:12px;border-radius:50%;background:rgba(168,85,247,.45);box-shadow:0 0 0 3px var(--card)}
.timeline .tl-amount::before{}.timeline li.tl-amount::before{background:#a855f7}.timeline li.tl-complete::before{background:#10b981}.timeline li.tl-cancel::before{background:#71717a}
.timeline li.tl-request::before{background:#f59e0b}.timeline li.tl-open::before{background:#f97316}
.tl-head{display:flex;gap:var(--sp-8);flex-wrap:wrap;align-items:baseline}
.tl-amount{margin-top:var(--sp-4)}.tl-amount s{color:var(--muted)}
.tl-comment{margin-top:var(--sp-4);padding:var(--sp-8) var(--sp-12);background:var(--surface);border-radius:var(--r-8);font-size:var(--fs-14);color:#d4d4d8;line-height:var(--lh-14)}
.dispute-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-12);margin:var(--sp-12) 0;padding:var(--sp-12);border-radius:var(--r-12);background:var(--surface)}
.dispute-sum small,.dp-grid small{display:block;color:var(--muted);font-size:var(--fs-12);line-height:var(--lh-12)}.dispute-sum b{font-size:var(--fs-16);line-height:var(--lh-16)}
.dispute-preview{margin:calc(var(--sp-4) * -1) 0 var(--sp-12);padding:var(--sp-12);border-radius:var(--r-12);background:linear-gradient(135deg,rgba(168,85,247,.10),rgba(191,235,2,.10));border:1px solid rgba(168,85,247,.35)}
.dp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-12)}.dp-grid b{display:block;font-size:var(--fs-14);line-height:var(--lh-14)}.dp-grid em{font-style:normal;font-size:var(--fs-12);font-weight:600;line-height:var(--lh-12)}
.dispute-preview p{margin:var(--sp-8) 0 0}
.seg-wide{display:flex}.seg-wide label{flex:1}
table.compact td,table.compact th{padding:var(--sp-8) var(--sp-8)}
.cb-snippet code{display:inline-block;max-width:420px;white-space:pre-wrap;word-break:break-all;font-size:var(--fs-12);line-height:var(--lh-12)}
textarea{width:100%;font:inherit;padding:var(--sp-8) var(--control-pad-x);border:1px solid var(--line);border-radius:var(--r-12);resize:vertical;margin-top:var(--label-gap);background:var(--card)}
textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 4px rgba(191,235,2,.12)}
@media (max-width:640px){.dispute-sum,.dp-grid{grid-template-columns:1fr}}

/* ---------- Чеки ---------- */
.receipt-badge{display:inline-flex;align-items:center;gap:var(--sp-4);border:1px solid rgba(191,235,2,.35);background:rgba(191,235,2,.10);color:var(--primary);border-radius:var(--r-full);padding:var(--sp-4) var(--sp-8) var(--sp-4) var(--sp-8);font-weight:600;font-size:var(--fs-12);line-height:var(--lh-12);font-family:inherit;cursor:pointer;vertical-align:middle}
.receipt-badge .ico{width:16px;height:16px}
.receipt-badge em{font-style:normal;background:#ef4444;color:#fff;border-radius:var(--r-full);padding:0 var(--sp-8);font-size:var(--fs-12);text-transform:uppercase;letter-spacing:var(--ls-wide);line-height:var(--lh-12)}
.receipt-badge.is-new{border-color:rgba(239,68,68,.45);background:rgba(239,68,68,.12);color:#f87171;animation:rpulse 1.6s infinite}
@keyframes rpulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.35)}50%{box-shadow:0 0 0 5px rgba(239,68,68,0)}}
.badge.pulse{animation:rpulse 1.6s infinite}
.order-flags{display:flex;gap:var(--sp-8);align-items:center;flex-wrap:wrap;margin-left:auto;margin-right:var(--sp-8)}
.modal-card.modal-wide{max-width:920px}
.receipts-meta{margin-bottom:var(--sp-12)}
.receipt-list{display:grid;gap:var(--sp-8);margin-bottom:var(--sp-12)}
.receipt-item{display:flex;align-items:center;gap:var(--sp-8);border:1px solid var(--line);border-radius:var(--r-12);padding:var(--sp-4) var(--sp-8) var(--sp-4) var(--sp-4);transition:.15s}
.receipt-item.active{border-color:var(--primary);background:rgba(191,235,2,.07)}
.receipt-open{flex:1;display:flex;align-items:center;gap:var(--sp-12);border:0;background:none;text-align:left;cursor:pointer;padding:var(--sp-8);font:inherit;color:inherit;min-width:0}
.receipt-open b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipt-open small{color:var(--muted)}
.receipt-ico{width:40px;height:40px;border-radius:var(--r-8);display:grid;place-items:center;font-weight:800;font-size:var(--fs-12);line-height:1;font-family:inherit;color:#fff;flex:none}
.receipt-ico.pdf{background:linear-gradient(135deg,#ef4444,#f97316)}.receipt-ico.img{background:linear-gradient(135deg,#06b6d4,#6366f1)}
.receipt-viewer{border:1px solid var(--line);border-radius:var(--r-16);overflow:hidden;background:var(--surface)}
.receipt-viewer iframe{display:block;width:100%;height:70vh;border:0;background:var(--card)}
.receipt-viewer img{display:block;max-width:100%;max-height:70vh;margin:0 auto}
.upload-row{display:flex;gap:var(--sp-12);align-items:center;flex-wrap:wrap;margin:var(--sp-8) 0 var(--sp-16);padding:var(--sp-12);border:2px dashed #3f3f46;border-radius:var(--r-12);background:var(--surface)}
.upload-row input[type=file]{flex:1;min-width:180px;border:0;background:none;padding:var(--sp-4)}
.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 var(--sp-8);border-radius:var(--r-full);background:#ef4444;color:#fff;font-weight:700;font-size:var(--fs-12);line-height:var(--lh-12);font-family:inherit;text-align:center}

/* ---------- Платёжные ссылки ---------- */

.copy-field{display:flex;gap:var(--sp-8);align-items:center;margin:var(--sp-12) 0}
.copy-field input{flex:1;min-width:0;font-family:var(--font-mono);font-size:var(--fs-12);background:var(--surface);line-height:var(--lh-12)}
details.more{margin:var(--sp-8) 0 var(--sp-12);border:1px solid var(--line);border-radius:var(--r-12);padding:var(--sp-8) var(--sp-12)}
details.more summary{cursor:pointer;color:var(--primary-d);font-weight:600;font-size:var(--fs-14);line-height:var(--lh-14)}
details.more[open] summary{margin-bottom:var(--sp-8)}
.paylink-result{border:2px solid rgba(16,185,129,.35);background:linear-gradient(180deg,rgba(16,185,129,.08),#fff)}
.flash-in{animation:flashIn .6s ease}
@keyframes flashIn{0%{transform:scale(.97);box-shadow:0 0 0 6px rgba(16,185,129,.25)}100%{transform:none}}
.pay-card.m-any{border-top-color:#71717a}

/* ---------- Комиссии по суммам ---------- */

.tier-chips{display:flex;flex-wrap:wrap;gap:var(--sp-8)}
.tier-chip{display:flex;flex-direction:column;min-width:120px;padding:var(--sp-12) var(--sp-16);border-radius:var(--r-16);border:1px solid var(--line);background:var(--card)}
.tier-chip small{color:var(--muted)}.tier-chip b{font-size:var(--fs-20);font-variant-numeric:tabular-nums;line-height:var(--lh-20)}
.tier-chip em{font-style:normal;font-size:var(--fs-12);color:var(--muted);line-height:var(--lh-12)}
.tier-chip.is-user{border-color:rgba(168,85,247,.45);background:rgba(168,85,247,.12)}.tier-chip.is-user em{color:#a3cc00}
.tier-chip.is-active{border-color:var(--primary);box-shadow:0 0 0 3px rgba(191,235,2,.15)}

/* ========== SavagePay: фирменная тема (переопределения) ========== */
::selection{background:rgba(191,235,2,.35);color:#fff}
body{background:radial-gradient(1200px 600px at 100% -10%,rgba(191,235,2,.05),transparent 60%),var(--bg)}
a:hover{color:#e2ff6a}
h1,h2,h3{color:#fafafa}

/* лайм + чёрный текст */

.btn-primary,.btn-primary:hover,.nav a.active,.avatar,.chip-role,.pager .current,.brand-logo{color:var(--on-primary)}
.btn-primary{box-shadow:0 8px 22px -10px rgba(191,235,2,.75)}.btn-primary:hover{box-shadow:0 10px 26px -8px rgba(191,235,2,.85)}
.nav a.active{background:var(--grad);box-shadow:0 8px 22px -12px rgba(191,235,2,.9);font-weight:700}
.nav a.active .ico{color:var(--on-primary)}
.nav a{color:#a1a1aa}.nav a:hover{background:rgba(255,255,255,.05);color:#fff}
.sidebar{border-right:1px solid #1a1a1d;color:#d4d4d8}
.side-user{background:rgba(255,255,255,.04);border:1px solid #1d1d21}
.brand{padding:var(--sp-24) var(--sp-24) var(--sp-16)}
.brand-img{display:block;height:40px;width:auto;max-width:200px;object-fit:contain}
.brand-mark-img{height:36px;width:auto}
.topbar-title{color:#e4e4e7}
.chip{background:var(--surface);border-color:var(--line);color:#d4d4d8}
.chip-rate b{color:var(--primary)}
.card h2 .ico{color:var(--primary)}
.btn{background:var(--surface);border-color:#2e2e33;color:#e4e4e7}
.btn:hover{background:var(--surface2);border-color:#3f3f46;color:#fff}
.btn-ghost{background:none;border-color:transparent}.btn-ghost:hover{background:rgba(255,255,255,.05)}
.btn-soft{background:rgba(191,235,2,.10);color:var(--primary)}.btn-soft:hover{background:rgba(191,235,2,.18);color:#d9ff4a}
.btn-danger,.btn-danger-soft{color:#f87171}
.btn-warn,.btn-warn:hover{color:#111}
.btn-primary,.btn-primary:hover{background:var(--grad);border-color:transparent;color:var(--on-primary)}
.btn-primary:hover{filter:brightness(1.06)}
.btn-success,.btn-success:hover{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:transparent;color:#04120a}
.btn-warn,.btn-warn:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-color:transparent}
input,select,textarea{background:#0f0f11;border-color:#2e2e33;color:var(--text)}
input::placeholder,textarea::placeholder{color:#5c5c66}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(191,235,2,.14)}
select option{background:#141416;color:#f4f4f5}
input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.85)}
input[type=file]{background:transparent;border:0;color:#a1a1aa}
label{color:#d4d4d8}
.seg{background:#0f0f11;border:1px solid var(--line)}
.seg input:checked+span{background:var(--grad);color:var(--on-primary);box-shadow:0 4px 14px -6px rgba(191,235,2,.6)}
.seg span{color:#a1a1aa}
th{background:#18181b;color:#8b8b94}
tr:hover td{background:rgba(255,255,255,.02)}
.switch span::after{background:#fff}
.switch.on span{background:var(--grad)}.switch.on span::after{background:#0a0a0a}
.switch.on em,.live-dot,.tone-green .stat-value,.amt-pos,.timer{color:#34d399}
.live-dot::before{background:#34d399}
.tone-blue{--tone:#bfeb02;--tone-grad:linear-gradient(135deg,#d6f73f,#a3cc00)}
.tone-blue .stat-ico,.stat-ico:not([class*=tone]) {color:#0a0a0a}
.stats .tone-blue .stat-ico{color:#0a0a0a}
.tone-violet{--tone:#a1a1aa;--tone-grad:linear-gradient(135deg,#3f3f46,#27272a)}
.tone-slate{--tone:#71717a;--tone-grad:linear-gradient(135deg,#52525b,#27272a)}
.tone-pink{--tone:#bfeb02;--tone-grad:linear-gradient(135deg,#d6f73f,#a3cc00)}.tone-pink .stat-ico{color:#0a0a0a}
.tone-cyan{--tone:#bfeb02;--tone-grad:linear-gradient(135deg,#2a2a2e,#1b1b1e)}.tone-cyan .stat-ico{color:#bfeb02;border:1px solid rgba(191,235,2,.35)}
.stat{background:linear-gradient(180deg,#17171a,#131315)}
.stat::after{opacity:.10}
.badge-muted{background:#26262b;color:#a1a1aa}
.badge-ok{color:#34d399}.badge-warn{color:#fbbf24}.badge-bad{color:#f87171}
.badge-dispute{color:#d8b4fe}
.empty-ico{background:rgba(191,235,2,.10);color:var(--primary)}
.req-card{background:linear-gradient(180deg,#17171a,#131315)}
.req-method{background:rgba(191,235,2,.12);color:var(--primary)}
.req-number{color:#fafafa}
.req-card.m-sbp::before{background:linear-gradient(135deg,#06b6d4,#10b981)}
.order-card{border-color:#2a2a2f}
.order-amount{background:none;color:#fafafa;-webkit-text-fill-color:currentColor}
.modal-card{background:#141416;border:1px solid #26262b}
.modal-backdrop{background:rgba(0,0,0,.72)}
.icon-btn:hover{background:rgba(255,255,255,.07)}
code{background:#1f1f23;color:#d9f99d}
pre{background:#070708;color:#d9f99d;border:1px solid #1d1d21}
.chart-tip{background:#000;border:1px solid #2e2e33}
.toast{background:#1c1c1f;border:1px solid #2e2e33}
.toast.success{background:linear-gradient(135deg,#bfeb02,#9fcc00);color:#0a0a0a;border:0}
.alert-success{color:#6ee7b7}.alert-error{color:#fca5a5}.alert-warn{color:#fcd34d}
.sk{background:linear-gradient(90deg,#18181b 25%,#222226 50%,#18181b 75%);background-size:200% 100%}
.pager a,.pager span{background:var(--surface)}
.progress span,.timer-bar span{background:var(--grad)}
.traffic-btn.on{background:rgba(191,235,2,.12);color:var(--primary);box-shadow:inset 0 0 0 1px rgba(191,235,2,.4)}
.traffic-btn.on .traffic-dot{background:var(--primary);box-shadow:0 0 0 3px rgba(191,235,2,.25)}
.traffic-btn.big.on{background:var(--grad);color:#0a0a0a;box-shadow:0 12px 30px -12px rgba(191,235,2,.8)}
.traffic-btn.big.on .traffic-dot{background:#0a0a0a;box-shadow:0 0 0 4px rgba(0,0,0,.2)}
.traffic-card{background:linear-gradient(135deg,rgba(239,68,68,.10),#141416)}
.traffic-card.on{background:linear-gradient(135deg,rgba(191,235,2,.10),#141416);border-color:rgba(191,235,2,.3)}
.bank-ico{background:rgba(191,235,2,.10)}
.receipt-badge{background:rgba(191,235,2,.10);color:var(--primary)}
.receipt-badge.is-new{color:#fca5a5}
.receipt-viewer{background:#0f0f11}
.tier-chip{background:var(--surface)}
.tier-chip.is-user{border-color:rgba(191,235,2,.5);background:rgba(191,235,2,.08)}.tier-chip.is-user em{color:var(--primary)}
.paylink-result{border-color:rgba(191,235,2,.4);background:linear-gradient(180deg,rgba(191,235,2,.07),#141416)}
.qr{background:#fff}

/* карточка «Тест API» */

.pay-card{background:radial-gradient(120% 140% at 0% 0%,#2e3d00 0%,#161b06 45%,#0e0e10 100%);border:1px solid rgba(191,235,2,.28)}
.pay-card.m-sbp{background:radial-gradient(120% 140% at 0% 0%,#053b38 0%,#0a1d1c 50%,#0e0e10 100%);border-color:rgba(20,184,166,.3)}
.pay-card.m-any{background:radial-gradient(120% 140% at 0% 0%,#2a2a2f 0%,#151517 60%,#0e0e10 100%)}
.pay-amount{color:#fff}.pay-card .req-method{background:rgba(191,235,2,.18);color:var(--primary)}
.pay-actions .btn{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.12)}
.pay-actions .btn:hover{background:rgba(255,255,255,.14)}
.pay-head .badge{background:rgba(0,0,0,.45)}

/* вход / установка */

.auth-body{background:#050506}
.auth-bg span:nth-child(1){background:#bfeb02;opacity:.16}
.auth-bg span:nth-child(2){background:#5a7000;opacity:.25}
.auth-bg span:nth-child(3){background:#ffffff;opacity:.04}
.auth-brand{flex-direction:column;gap:var(--sp-12);margin-bottom:var(--sp-24)}
.auth-brand .brand-img{height:64px;max-width:300px}
.auth-wrap .card{background:rgba(20,20,22,.92);border:1px solid #26262b;backdrop-filter:blur(10px)}
.timeline li::before{box-shadow:0 0 0 3px #141416}
.tl-comment,.dispute-sum{background:var(--surface)}
.logo-preview{display:flex;align-items:center;justify-content:center;padding:var(--sp-24);margin-bottom:var(--sp-12);border-radius:var(--r-16);background:#050506;border:1px solid var(--line)}
.logo-preview img{max-height:72px;max-width:100%}

/* ===================== v7: модалки без внутренней прокрутки, переписка, апелляции, пополнения ===================== */
/* Модальное окно: карточка не скроллится сама; если окно не помещается (очень маленький экран) — прокручивается слой целиком, полоса скрыта */
.modal{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;padding:var(--sp-24) var(--sp-16)}
.modal::-webkit-scrollbar{display:none;width:0;height:0}
.modal.open,.modal:target{display:flex;align-items:flex-start}
.modal-backdrop{position:fixed}
.modal-card{max-height:none;overflow:visible;margin:auto;padding:var(--modal-pad)}
.modal-card .modal-head{margin-bottom:var(--sp-12)}
.modal-card label{margin-bottom:var(--modal-field-gap)}
.modal-card textarea{min-height:64px}
.modal-card .seg{margin-bottom:var(--modal-field-gap)}
.modal-card p.small{margin:0 0 var(--sp-12)}
.modal-card .form-error{margin:var(--sp-4) 0 var(--sp-12)}
.modal-actions{position:relative;padding-top:var(--sp-4)}
.modal-card.modal-2col{max-width:860px}
.m2-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4) var(--sp-24);align-items:start}
.m2-col{min-width:0}
.m2-info{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-12) var(--sp-12);margin-bottom:var(--sp-12);background:var(--surface);border-radius:var(--r-12)}
.m2-info small{color:var(--muted);font-size:var(--fs-12);line-height:var(--lh-12)}.m2-info b{font-size:var(--fs-16);line-height:var(--lh-16)}
.m2-col .dispute-preview,.m2-col [data-dispute-preview]{margin-bottom:var(--sp-12)}
.m2-col .dp-grid{grid-template-columns:1fr;gap:var(--sp-8)}
.m2-col .dp-grid>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-4) var(--sp-8);padding:var(--sp-8) var(--sp-12);background:var(--surface);border-radius:var(--r-8)}
.m2-col .dp-grid small{flex-basis:100%}
@media (max-width:760px){.m2-grid{grid-template-columns:1fr;gap:0}.modal{padding:var(--sp-12)}}
@media (max-height:560px){.modal{padding:var(--sp-8)}}
.seg-col{flex-direction:column}.seg-col span{justify-content:flex-start}
.check-inline{display:inline-flex;align-items:center;gap:var(--sp-8);margin:0 0 var(--modal-field-gap)}.check-inline input{width:auto;margin:0}

/* Переключатель трафика (чекбокс-свитч) */
.traffic-switch{position:relative;display:inline-flex;align-items:center;gap:var(--sp-12);margin:0;cursor:pointer;user-select:none;font-weight:700;font-size:var(--fs-14);min-height:var(--control-h);padding:var(--sp-4) var(--sp-16) var(--sp-4) var(--sp-8);border-radius:var(--r-full);
  background:rgba(239,68,68,.12);color:#fca5a5;box-shadow:inset 0 0 0 1px rgba(239,68,68,.3);transition:background .2s,color .2s,box-shadow .2s;line-height:var(--lh-14)}
.traffic-switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.ts-track{position:relative;flex:none;width:40px;height:24px;border-radius:var(--r-full);background:#3f3f46;transition:background .2s}
.ts-thumb{position:absolute;top:var(--sp-4);left:var(--sp-4);width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.35);transition:transform .22s cubic-bezier(.3,1.4,.5,1)}
.traffic-switch.on{background:rgba(191,235,2,.12);color:var(--primary);box-shadow:inset 0 0 0 1px rgba(191,235,2,.4)}
.traffic-switch input:checked+.ts-track{background:var(--grad)}
.traffic-switch input:checked+.ts-track .ts-thumb{transform:translateX(16px);background:#0a0a0a}
.traffic-switch input:focus-visible+.ts-track{box-shadow:0 0 0 4px rgba(191,235,2,.3)}
.traffic-switch.busy{opacity:.65;cursor:wait}
.ts-text{display:flex;flex-direction:column;line-height:var(--lh-16)}
.traffic-switch.big{padding:var(--sp-16) var(--sp-24) var(--sp-16) var(--sp-16);border-radius:var(--r-16);font-size:var(--fs-16);gap:var(--sp-16);min-width:260px;line-height:var(--lh-16)}
.traffic-switch.big .ts-track{width:56px;height:32px}.traffic-switch.big .ts-thumb{width:24px;height:24px;top:var(--sp-4);left:var(--sp-4)}
.traffic-switch.big input:checked+.ts-track .ts-thumb{transform:translateX(24px)}
.traffic-switch.big .traffic-hint{font-size:var(--fs-12);font-weight:500;opacity:.85;margin-top:var(--sp-4);line-height:var(--lh-12)}
.traffic-switch.big.on{background:rgba(191,235,2,.10)}
@media (max-width:720px){.traffic-switch:not(.big) .ts-text{display:none}.traffic-switch:not(.big){padding:var(--sp-4) var(--sp-8)}.traffic-switch.big{width:100%}}

/* Свитчи методов мерчанта (админка) */
.method-switches{display:flex;flex-direction:column;gap:var(--sp-12)}
.method-switch{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-12);padding:var(--sp-12) var(--sp-12);background:var(--surface);border-radius:var(--r-12)}
.method-switch>div{display:flex;flex-direction:column}.method-switch small{color:var(--muted)}
.method-switches.all-off .method-switch:not(:first-child){opacity:.55}

/* Статус трафика мерчанта (кабинет) */
.merchant-traffic{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-16);flex-wrap:wrap;padding:var(--sp-16);margin-bottom:var(--section-gap);border-radius:var(--r-16);border:1px solid var(--line);background:var(--card)}
.merchant-traffic .mt-text{display:flex;align-items:center;gap:var(--sp-12)}.merchant-traffic .mt-text>div{display:flex;flex-direction:column;gap:var(--sp-4)}
.merchant-traffic .mt-text span{color:var(--muted);font-size:var(--fs-14);line-height:var(--lh-14)}.merchant-traffic .mt-text .ico{width:24px;height:24px;flex:none}
.merchant-traffic.ok{border-color:rgba(191,235,2,.3)}.merchant-traffic.ok .mt-text .ico{color:var(--primary)}
.merchant-traffic.partial{border-color:rgba(245,158,11,.35)}.merchant-traffic.partial .mt-text .ico{color:#fbbf24}
.merchant-traffic.off{border-color:rgba(239,68,68,.4);background:linear-gradient(135deg,rgba(239,68,68,.08),var(--card))}.merchant-traffic.off .mt-text .ico{color:#f87171}
.mt-chips{display:flex;gap:var(--sp-8);flex-wrap:wrap}
.mt-chip{display:inline-flex;align-items:center;gap:var(--sp-8);padding:var(--sp-8) var(--sp-12);border-radius:var(--r-full);background:var(--surface);font-weight:700;font-size:var(--fs-14);line-height:var(--lh-14)}
.mt-chip i{width:8px;height:8px;border-radius:50%;background:#ef4444}.mt-chip.on i{background:var(--primary);box-shadow:0 0 0 3px rgba(191,235,2,.2)}
.mt-chip small{font-weight:500;color:var(--muted)}

/* Переписка по сделке */
.card-chat{display:flex;flex-direction:column}
.chat-wrap{display:flex;flex-direction:column;gap:var(--sp-12)}
.chat-list{display:flex;flex-direction:column;gap:var(--sp-8);max-height:420px;overflow-y:auto;padding:var(--sp-4) var(--sp-4);scrollbar-width:thin}
.chat-empty{margin:var(--sp-8) 0}
.msg{max-width:86%;padding:var(--sp-8) var(--sp-12);border-radius:var(--r-16);background:var(--surface);border:1px solid var(--line);align-self:flex-start}
.msg.mine{align-self:flex-end;background:rgba(191,235,2,.09);border-color:rgba(191,235,2,.28)}
.msg-system{align-self:center;max-width:94%;background:transparent;border-style:dashed;font-size:var(--fs-12);color:#d4d4d8;line-height:var(--lh-12)}
.msg-admin:not(.mine){border-color:rgba(168,85,247,.4);background:rgba(168,85,247,.08)}
.msg-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-8);font-size:var(--fs-12);margin-bottom:var(--sp-4);line-height:var(--lh-12)}
.msg-admin .msg-head b{color:#d8b4fe}.msg-trader .msg-head b{color:#7dd3fc}.msg-merchant .msg-head b{color:#fcd34d}.msg-system .msg-head b{color:var(--muted)}
.msg-body{font-size:var(--fs-14);line-height:var(--lh-14);white-space:normal;word-break:break-word}
.msg-file{display:flex;align-items:center;gap:var(--sp-12);margin-top:var(--sp-8);padding:var(--sp-8) var(--sp-8);border-radius:var(--r-8);background:rgba(0,0,0,.25);color:var(--text);text-decoration:none;font-size:var(--fs-14);line-height:var(--lh-14)}
.msg-file .receipt-ico{width:32px;height:32px;font-size:var(--fs-12);line-height:var(--lh-12)}
.chat-form{display:flex;flex-direction:column;gap:var(--sp-8);margin-top:var(--sp-4);padding-top:var(--sp-12);border-top:1px solid var(--line)}
.chat-form textarea{margin:0;min-height:56px}
.chat-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-8)}
.chat-attach{margin:0;max-width:60%;overflow:hidden}.chat-attach span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-form .form-error{margin:0}
.order-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--section-gap);margin-bottom:var(--section-gap)}.order-grid>.card{margin-bottom:0}
@media (max-width:980px){.order-grid{grid-template-columns:1fr}}

/* Апелляции */
.appeals{display:flex;flex-direction:column;gap:var(--sp-12)}
.appeal{padding:var(--sp-16) var(--sp-16);border-radius:var(--r-16);border:1px solid var(--line);background:var(--surface)}
.appeal-pending{border-color:rgba(245,158,11,.4)}.appeal-escalated{border-color:rgba(168,85,247,.45)}.appeal-accepted{border-color:rgba(191,235,2,.3)}
.appeal-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-8);margin-bottom:var(--sp-12)}
.appeal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(152px,1fr));gap:var(--sp-8);margin-bottom:var(--sp-8)}
.appeal-grid>div{padding:var(--sp-8) var(--sp-12);background:var(--card);border-radius:var(--r-8);display:flex;flex-direction:column;gap:var(--sp-4)}
.appeal-grid small{color:var(--muted);font-size:var(--fs-12);line-height:var(--lh-12)}.appeal-grid b{font-size:var(--fs-14);line-height:var(--lh-14)}.appeal-grid em{font-style:normal}
.appeal-actions{margin-top:var(--sp-12);justify-content:flex-end}
.text-bad{color:#f87171}
.file-drop input[type=file]{padding:var(--sp-12);border:1px dashed #3f3f46;border-radius:var(--r-12);background:#0f0f11}

/* Пополнение USDT */
.deposit-addr{display:flex;gap:var(--sp-16);align-items:center;padding:var(--sp-12);margin-bottom:var(--sp-12);background:var(--surface);border-radius:var(--r-16)}
.deposit-addr .qr{flex:none;width:132px;height:132px;padding:var(--sp-8);background:#fff;border-radius:var(--r-12);color:#0a0a0a;font-size:var(--fs-12);display:grid;place-items:center;text-align:center;line-height:var(--lh-12)}
.deposit-addr .qr svg{width:100%;height:100%;display:block}
.deposit-addr-text{display:flex;flex-direction:column;gap:var(--sp-8);min-width:0;align-items:flex-start}
code.addr{display:block;max-width:100%;font-size:var(--fs-14);word-break:break-all;padding:var(--sp-8) var(--sp-12);background:#0f0f11;border-radius:var(--r-8);color:var(--primary);line-height:var(--lh-14)}
.deposit-rules{margin:var(--sp-4) 0 0;padding-left:var(--sp-16)}.deposit-rules li{margin:var(--sp-4) 0}
@media (max-width:520px){.deposit-addr{flex-direction:column;align-items:stretch}.deposit-addr .qr{align-self:center}}

/* История реквизита */
.req-hist-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-16)}
.req-hist-title{display:flex;align-items:center;gap:var(--sp-12)}.req-hist-title>div{display:flex;flex-direction:column}
.bank-ico{width:40px;height:40px;border-radius:var(--r-12);display:grid;place-items:center;font-weight:800;flex:none}
.limit-bar{flex:1;min-width:260px;max-width:520px;display:flex;flex-direction:column;gap:var(--sp-8)}
.limit-text{display:flex;justify-content:space-between;gap:var(--sp-12);font-size:var(--fs-14);line-height:var(--lh-14)}.limit-text span{color:var(--muted)}
.bar{height:12px;border-radius:var(--r-full);background:#26262b;overflow:hidden}.bar i{display:block;height:100%;background:var(--grad);border-radius:var(--r-full)}.bar i.hot{background:linear-gradient(135deg,#f59e0b,#ef4444)}

/* Массовый запрос callback */
.col-check{width:40px;text-align:center;cursor:pointer}
.col-check input[type=checkbox],input[data-bulk-item],input[data-check-all]{display:inline-block;width:16px;height:16px;min-width:16px;margin:0;padding:0;border:0;box-shadow:none;vertical-align:middle;cursor:pointer;pointer-events:auto;opacity:1;position:static;appearance:auto;-webkit-appearance:checkbox;accent-color:var(--primary)}
.col-check input[type=checkbox]:disabled{cursor:not-allowed;opacity:.35}
tr:has(input[data-bulk-item]) td{cursor:pointer}tr:has(input[data-bulk-item]:checked) td{background:rgba(191,235,2,.06)}
.bulk-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-12) var(--sp-16);padding:var(--sp-12) var(--sp-16);margin-bottom:var(--sp-12);border-radius:var(--r-12);background:var(--surface);border:1px solid var(--line)}
.bulk-bar.active{border-color:rgba(191,235,2,.45);background:rgba(191,235,2,.06)}
.bulk-info{display:inline-flex;align-items:center;gap:var(--sp-8);font-size:var(--fs-14);line-height:var(--lh-14)}
.bulk-report{margin-bottom:var(--sp-12);padding:var(--sp-12) var(--sp-16);border-radius:var(--r-12);background:var(--surface);font-size:var(--fs-14);line-height:var(--lh-14)}
.bulk-report-list{display:flex;flex-direction:column;gap:var(--sp-8)}
.nav-badge+.nav-badge{margin-left:var(--sp-4)}

/* ---------- v7: логотипы банков ---------- */
.blogo{display:inline-grid;place-items:center;flex:none;border-radius:50%;font-weight:800;letter-spacing:var(--ls-tight);overflow:hidden;line-height:1;vertical-align:middle;user-select:none}
.blogo-sm{width:24px;height:24px;font-size:var(--fs-12);line-height:var(--lh-12)}
.blogo-md{width:32px;height:32px;font-size:var(--fs-12);line-height:var(--lh-12)}
.blogo-lg{width:48px;height:48px;font-size:var(--fs-16);line-height:var(--lh-16)}
.blogo.has-img{background:#fff!important;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.blogo img{width:100%;height:100%;object-fit:contain;display:block}
.bank-label{display:inline-flex;align-items:center;gap:var(--sp-8);min-width:0;vertical-align:middle}
.bank-label>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bank-name{display:inline-flex;align-items:center;gap:var(--sp-12);flex-wrap:wrap}
.logo-field{display:flex;align-items:center;gap:var(--sp-16)}
.logo-field .file-drop{flex:1;min-width:0}
.logo-preview-box{background:#3f3f46;color:#fff}
.logo-preview-box em{font-style:normal}
.logo-preview-box.has-img em{display:none}
.logo-preview-box img[hidden]{display:none}
select.bp-native{position:absolute!important;opacity:0;pointer-events:none;width:1px!important;height:1px!important;padding:0!important;margin:0;border:0}
.bank-picker{position:relative;margin-top:var(--sp-8)}
.bp-btn{width:100%;display:flex;align-items:center;gap:var(--sp-12);text-align:left;background:#0f0f11;border:1px solid #2e2e33;border-radius:var(--r-12);padding:var(--sp-4) var(--sp-32) var(--sp-4) var(--sp-12);color:inherit;font:inherit;cursor:pointer;position:relative;min-height:var(--control-h)}
.bp-btn::after{content:'';position:absolute;right:var(--sp-16);top:50%;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);opacity:.6;transition:transform .15s}
.bank-picker.open .bp-btn{border-color:var(--primary)}
.bank-picker.open .bp-btn::after{transform:translateY(-30%) rotate(225deg)}
.bp-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + var(--sp-8));max-height:260px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-12);padding:var(--sp-8);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.bp-item{display:flex;align-items:center;gap:var(--sp-12);padding:var(--sp-8) var(--sp-12);border-radius:var(--r-8);cursor:pointer;font-weight:500}
.bp-item:hover{background:rgba(255,255,255,.06)}
.bp-item.active{background:rgba(191,235,2,.12);color:var(--primary)}
.chat-attach input[type=file]{display:none}
input[type=color]{height:var(--control-h);padding:var(--sp-4) var(--sp-8);cursor:pointer}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:0;border-radius:var(--r-8)}

/* ========== v10: вкладки, комиссия вывода, логи API, каскад ========== */
.tabs{display:flex;gap:var(--sp-8);flex-wrap:wrap;margin:0 0 var(--section-gap);padding:var(--sp-4);background:var(--card);border:1px solid var(--line);border-radius:var(--r-16);width:fit-content;max-width:100%}
.tab{display:inline-flex;align-items:center;gap:var(--sp-8);height:var(--control-h-sm);padding:0 var(--sp-16);border-radius:var(--r-8);color:var(--muted);font-weight:600;white-space:nowrap;transition:background .15s,color .15s}
.tab .ico{width:16px;height:16px}
.tab:hover{color:var(--text);background:var(--surface)}
.tab.active{background:var(--grad);color:var(--on-primary);box-shadow:0 8px 22px -12px rgba(191,235,2,.9)}
.tab-count{font-size:var(--fs-12);min-width:20px;padding:0 var(--sp-8);border-radius:var(--r-full);background:var(--surface2);color:var(--text);text-align:center;line-height:var(--lh-12)}
.tab.active .tab-count{background:rgba(0,0,0,.18);color:var(--on-primary)}
.wd-quote{display:grid;gap:var(--sp-8);margin:var(--sp-4) 0 var(--sp-12);padding:var(--sp-12) var(--sp-16);border-radius:var(--r-12);background:var(--surface);border:1px solid var(--line)}
.wd-quote>div{display:flex;justify-content:space-between;gap:var(--sp-12);font-size:var(--fs-14);line-height:var(--lh-14)}.wd-quote span{color:var(--muted)}
.wd-quote b{font-variant-numeric:tabular-nums}
.wd-quote .wd-net{border-top:1px dashed var(--line);padding-top:var(--sp-8);font-size:var(--fs-16);line-height:var(--lh-16)}.wd-quote .wd-net b{color:var(--primary)}
.wd-quote.bad{border-color:rgba(239,68,68,.45)}.wd-quote.bad .wd-net b{color:#f87171}
pre.code-block{margin:var(--sp-8) 0 var(--sp-12);padding:var(--sp-12) var(--sp-16);background:#0c0c0e;border:1px solid var(--line);border-radius:var(--r-12);font-size:var(--fs-12);line-height:var(--lh-12);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;color:#d4d4d8}
.mono{font-family:var(--font-mono)}
textarea.code-input{font-size:var(--fs-12);line-height:var(--lh-12);font-family:var(--font-mono);min-height:280px}
fieldset.cred-box,fieldset.checks{border:1px solid var(--line);border-radius:var(--r-12);padding:var(--sp-12) var(--sp-16) var(--sp-4);margin:0 0 var(--sp-12)}
fieldset.checks{display:flex;flex-wrap:wrap;gap:var(--sp-4) var(--sp-16)}fieldset.checks legend,fieldset.cred-box legend{padding:0 var(--sp-8)}
.copy-row{display:flex;align-items:center;gap:var(--sp-8);flex-wrap:wrap}.copy-row code{padding:var(--sp-8) var(--sp-12);background:var(--surface);border-radius:var(--r-8);word-break:break-all;flex:1;min-width:0}
.cascade-head .switch{flex-shrink:0}
.fee-table input{margin:0;max-width:140px}.fee-table td{vertical-align:middle}
.api-log-table td,.plog-table td{vertical-align:middle}
.badge-info{background:rgba(6,182,212,.15);color:#22d3ee}
.tl-share{color:#c084fc}
@media (max-width:720px){.tabs{width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.tab{padding:0 var(--sp-12)}}
.wd-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:var(--sp-4) var(--sp-16);align-items:start}
.wd-form .wd-fields{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:0 var(--sp-16)}
.wd-form .wd-quote{margin-top:var(--sp-24)}
.wd-form .form-error,.wd-form .form-actions{grid-column:1/-1}
.stat-value-sm{font-size:var(--fs-16);line-height:var(--lh-16)}
@media (max-width:860px){.wd-form,.wd-form .wd-fields{grid-template-columns:1fr}.wd-form .wd-quote{margin-top:0}}

/* React-интерфейс (assets/app): обёртки не участвуют в раскладке — как у классических страниц */
#root,.react-root{display:contents}.react-boot{min-height:100vh}

/* Скелетоны и служебные отступы React-страниц (только токены) */
.sk-title{height:32px;width:40%;margin-bottom:var(--section-gap)}
.sk-stat{height:88px}
.sk-block{height:260px}
.sk-control{height:var(--control-h);margin-top:var(--label-gap)}
.stats-after{margin-top:var(--section-gap)}
td code{font-size:var(--fs-12);line-height:var(--lh-12)}

html,body{overflow-x:clip}
.main-wrap,.content,.card,.page{max-width:100%}
.filters,.row,.page-actions,.page-head{flex-wrap:wrap}
.modal-card .seg{flex-wrap:wrap}
.modal-card .seg label{flex:1 1 140px}
.appeal-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
