:root{
  --bg:#0a0e17; --panel:#121826; --panel-2:#1a2233; --border:#222c40;
  --text:#e6edf7; --muted:#8a96aa; --primary:#ffbe2e; --primary-h:#ffd25a;
  --green:#23c275; --red:#ef4856; --blue:#4d8ff5;
}
*{box-sizing:border-box;margin:0;padding:0;font-family:'Inter','Segoe UI',sans-serif;-webkit-tap-highlight-color:transparent}
html,body{overflow-x:hidden;max-width:100%}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{background:var(--bg);color:var(--text);min-height:100vh}
/* Убирает 300ms задержку double-tap zoom на кнопках/ссылках */
button,.btn,.icon-btn,a,select,input[type=submit],input[type=button]{touch-action:manipulation}
a{color:inherit;text-decoration:none;cursor:pointer}
.hidden{display:none !important}
.muted{color:var(--muted)}
.small{font-size:12px}
.red{color:var(--red)} .green{color:var(--green)}
.link{color:var(--blue);cursor:pointer}
.link:hover{text-decoration:underline}
.mono{font-family:'SF Mono','Menlo','Consolas',monospace;font-size:12px;color:var(--muted)}

/* ===== NAVBAR ===== */
.navbar{display:flex;justify-content:space-between;align-items:center;padding:14px 32px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}
.logo{font-weight:800;font-size:20px;letter-spacing:1px;display:inline-flex;align-items:center}
.logo span{color:var(--primary)}
.admin-badge{background:var(--red);color:#fff;font-size:11px;padding:2px 8px;border-radius:4px;margin-left:8px}
.nav-links{display:flex;align-items:center;gap:20px}
.nav-links a{color:var(--muted);transition:color .2s;display:inline-flex;align-items:center;gap:4px}
.nav-links a:hover,.nav-links a.active{color:var(--text)}

/* ===== BUTTONS ===== */
.btn{padding:10px 18px;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:all .15s;background:transparent;color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1}
.btn-primary{background:var(--primary);color:#000}
.btn-primary:hover{background:var(--primary-h)}
.btn-ghost{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}
.btn-ghost:hover{background:var(--border)}
.btn-danger{background:rgba(239,72,86,.12);color:#ef4856;border:1px solid rgba(239,72,86,.3);display:inline-flex;align-items:center;gap:6px}
.btn-danger:hover{background:rgba(239,72,86,.2);border-color:rgba(239,72,86,.5)}
.btn-danger.small{padding:8px 12px;font-size:12px}
.btn-buy{background:var(--green);color:#fff;flex:1}
.btn-buy:hover{background:#1ba968}
.btn-sell{background:var(--red);color:#fff;flex:1}
.btn-sell:hover{background:#d63d4a}
.btn.big{padding:14px 28px;font-size:16px}
.btn.full{width:100%;margin-top:8px}
.btn.small{padding:5px 10px;font-size:12px}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* Icon button (только иконка) */
.icon-btn{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);padding:8px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}
.icon-btn:hover{color:var(--text);border-color:var(--muted);background:var(--border)}
.icon-btn.small{padding:5px}

/* ===== LANDING ===== */
.hero{text-align:center;padding:80px 32px 60px;background:radial-gradient(ellipse at center,rgba(255,190,46,.08),transparent 70%)}
.hero h1{font-size:54px;font-weight:800;line-height:1.1;margin-bottom:20px}
.hero .lead{font-size:20px;color:var(--muted);max-width:600px;margin:0 auto 32px}
.hero-actions{display:flex;gap:16px;justify-content:center;margin-bottom:60px;flex-wrap:wrap}
.hero-stats{display:flex;justify-content:center;gap:60px;flex-wrap:wrap}
.hero-stats > div{display:flex;flex-direction:column}
.hero-stats b{font-size:32px;color:var(--primary)}
.hero-stats span{color:var(--muted);font-size:13px}

.section{padding:80px 32px;max-width:1200px;margin:0 auto}
.section.dark{background:var(--panel);max-width:none;margin:0;padding-left:max(32px,calc((100vw - 1200px)/2));padding-right:max(32px,calc((100vw - 1200px)/2))}
.section h2{font-size:36px;text-align:center;margin-bottom:12px}
.subtitle{text-align:center;color:var(--muted);margin-bottom:48px}

/* ===== PRICING ===== */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.price-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:28px 22px;text-align:center;transition:all .25s;cursor:pointer;position:relative;overflow:hidden}
.price-card:hover{transform:translateY(-4px);border-color:var(--primary)}
.price-card.featured{border-color:var(--primary)}
.price-card.featured::before{content:'ХИТ';position:absolute;top:12px;right:-32px;background:var(--primary);color:#000;padding:3px 36px;font-size:11px;font-weight:700;transform:rotate(45deg)}
.price-card .acct-size{font-size:32px;font-weight:800;color:var(--primary);margin-bottom:6px}
.price-card .acct-pct{color:var(--muted);font-size:13px;margin-bottom:18px}
.price-card .acct-price{font-size:28px;font-weight:700;margin-bottom:18px}
.price-card .acct-features{text-align:left;list-style:none;font-size:13px;color:var(--muted);margin-bottom:18px}
.price-card .acct-features li{padding:5px 0;display:flex;align-items:center;gap:8px;line-height:1.4}

/* ===== RULES ===== */
.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;max-width:1200px;margin:0 auto}
.rule-card{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:24px}
.rule-icon{margin-bottom:10px;display:flex;align-items:center;justify-content:flex-start}
.rule-card h3{margin-bottom:8px}
.rule-card p{color:var(--muted);font-size:14px;line-height:1.5}
.warning-box{margin:40px auto 0;max-width:800px;background:rgba(239,72,86,.08);border:1px solid rgba(239,72,86,.4);border-radius:10px;padding:24px;text-align:center}
.warning-box h3{color:var(--red);margin-bottom:10px;display:inline-flex;align-items:center;gap:8px}

/* ===== STAGES TABLE (hashhedge-style) ===== */
.stages-table{width:100%;max-width:900px;margin:32px auto 0;border-collapse:separate;border-spacing:0;background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.stages-table th{padding:18px 14px;background:var(--panel-2);color:var(--primary);font-size:14px;font-weight:700;text-align:center;border-bottom:1px solid var(--border)}
.stages-table th:first-child{text-align:left;color:var(--muted);font-weight:600}
.stages-table td{padding:14px;text-align:center;border-bottom:1px solid var(--border);font-size:14px}
.stages-table td:first-child{text-align:left;color:var(--muted)}
.stages-table tr:last-child td{border-bottom:none}
.stages-table tr:hover td{background:rgba(255,255,255,.02)}
.stages-table .funded-col{background:rgba(255,190,46,.04)}

/* ===== STEPS ===== */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.step{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:24px;text-align:center}
.step-num{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#000;display:flex;align-items:center;justify-content:center;font-weight:800;margin:0 auto 12px}
.step p{color:var(--muted);font-size:14px;margin-top:6px}

.footer{padding:32px;text-align:center;color:var(--muted);border-top:1px solid var(--border);font-size:13px}

/* ===== MODAL ===== */
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:1000;align-items:center;justify-content:center;padding:20px}
.modal.active{display:flex}
.modal-content{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:32px;width:100%;max-width:440px;position:relative;max-height:90vh;overflow-y:auto}
.modal-content h2{margin-bottom:20px}
.modal-content input,.modal-content select{width:100%;padding:11px 14px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);margin-bottom:12px;font-size:14px;outline:none}
.modal-content input:focus,.modal-content select:focus{border-color:var(--primary)}
.modal-content label{display:block;font-size:13px;color:var(--muted);margin:8px 0 4px}
.close{position:absolute;top:14px;right:18px;font-size:26px;cursor:pointer;color:var(--muted);line-height:1}
.close:hover{color:var(--text)}
.error{color:var(--red);font-size:13px;margin-top:8px;min-height:18px}
.success{color:var(--green);font-size:13px;margin-top:8px;min-height:18px}

/* ===== DASHBOARD ===== */
.app{background:var(--bg)}
.container{max-width:1200px;margin:0 auto;padding:32px}
.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;flex-wrap:wrap;gap:12px}
.page-header h1{font-size:28px}
.accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.account-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:22px;cursor:pointer;transition:all .2s}
.account-card:hover{border-color:var(--primary);transform:translateY(-2px)}
.account-card.terminated{opacity:.7;border-color:rgba(239,72,86,.4)}
.account-card.terminated:hover{border-color:rgba(239,72,86,.7)}
.account-card.passed{border-color:rgba(35,194,117,.5)}
.account-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.account-balance{font-size:24px;font-weight:800;color:var(--primary)}
.badge{padding:3px 10px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;display:inline-block}
.badge.active{background:rgba(35,194,117,.18);color:var(--green)}
.badge.terminated{background:rgba(239,72,86,.18);color:var(--red)}
.badge.passed{background:rgba(77,143,245,.18);color:var(--blue)}
.badge.pending{background:rgba(255,190,46,.18);color:var(--primary)}
.account-kv{display:flex;justify-content:space-between;font-size:13px;padding:5px 0;color:var(--muted)}
.account-kv b{color:var(--text)}
.account-card .progress{margin-top:12px}
.acc-state-info{display:flex;align-items:center;gap:6px;margin-top:8px}

.empty{text-align:center;padding:80px 20px}
.empty h2{margin-bottom:10px}
.empty p{color:var(--muted);margin-bottom:20px}

/* ===== TABS (для вкладок в личном кабинете) ===== */
.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:24px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{padding:14px 20px;background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:14px;font-weight:600;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.tab:hover{color:var(--text)}
.tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.tab-panel{display:none}
.tab-panel.active{display:block}

/* ===== OVERVIEW (сводная страница) ===== */
.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}
.overview-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px}
.overview-card .stat-label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.overview-card .stat-value{font-size:24px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}
.overview-card .stat-value.green{color:var(--green)}
.overview-card .stat-value.red{color:var(--red)}
.overview-card .stat-value.primary{color:var(--primary)}
.overview-card .stat-sub{font-size:11px;color:var(--muted);margin-top:4px}

.overview-section{margin-bottom:24px}
.overview-section h3{font-size:16px;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.overview-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.overview-filters select{padding:7px 10px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);outline:none;font-size:13px;min-width:160px}

/* ===== PAYOUTS ===== */
.payout-summary{background:linear-gradient(135deg,rgba(255,190,46,.06),rgba(35,194,117,.03));border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:24px}
.payout-summary h2{margin-bottom:8px;color:var(--primary)}
.payout-amount-big{font-size:36px;font-weight:800;color:var(--green);font-variant-numeric:tabular-nums;margin:8px 0}
.payout-form{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:24px}
.payout-form label{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin:14px 0 6px}
.payout-form label:first-child{margin-top:0}
.payout-form input,.payout-form select{width:100%;padding:11px 14px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:14px;outline:none}
.payout-form input:focus,.payout-form select:focus{border-color:var(--primary)}
.payout-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:600px){
  .payout-form .form-row{grid-template-columns:1fr}
}
.payout-info-box{background:rgba(77,143,245,.06);border:1px solid rgba(77,143,245,.3);border-radius:8px;padding:14px;margin-bottom:16px;font-size:13px;color:var(--muted);display:flex;gap:10px;align-items:flex-start}
.payout-info-box svg{color:var(--blue);flex-shrink:0;margin-top:2px}
.payout-info-box b{color:var(--text)}

/* ===== TRADE PAGE ===== */
.trade-page{background:#080b13;overflow-x:hidden}
.trade-layout{display:grid;grid-template-columns:260px 1fr 280px;gap:14px;padding:14px;height:calc(100vh - 56px)}
.trade-side{display:flex;flex-direction:column;gap:14px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}
.trade-side::-webkit-scrollbar{display:none;width:0}
.trade-main{display:flex;flex-direction:column;gap:14px;overflow-y:auto;overflow-x:hidden;min-width:0;scrollbar-width:none;-ms-overflow-style:none}
.trade-main::-webkit-scrollbar{display:none;width:0}

.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}
.card h3{font-size:12px;margin-bottom:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;display:flex;align-items:center}
.card input,.card select{width:100%;padding:9px 12px;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:6px;margin-bottom:10px;font-size:13px;outline:none}
.card input:focus,.card select:focus{border-color:var(--primary)}
.card label{display:block;font-size:11px;color:var(--muted);margin:6px 0 4px;text-transform:uppercase;letter-spacing:.3px}

.kv{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:13px;gap:8px}
.kv span{color:var(--muted)}
.kv b{font-variant-numeric:tabular-nums}
.big-num{font-size:18px;color:var(--primary)}

.progress{background:var(--panel-2);border-radius:4px;height:6px;margin-top:10px;overflow:hidden}
.progress-bar{height:100%;background:var(--green);width:0;transition:width .3s}
.progress-bar.danger{background:var(--red)}

.rules-list{list-style:none;font-size:12px;color:var(--muted);line-height:1.9}
.rules-list li{display:flex;align-items:center;gap:8px;padding:2px 0}

/* === Market bar === */
.market-bar{display:flex;gap:6px;overflow-x:auto;padding:8px;background:var(--panel);border-radius:8px;border:1px solid var(--border);scrollbar-width:none;-ms-overflow-style:none}
.market-bar::-webkit-scrollbar{display:none;height:0;width:0}
.market-item{padding:7px 12px;border-radius:6px;background:var(--panel-2);cursor:pointer;white-space:nowrap;font-size:12px;border:1px solid transparent;display:inline-flex;align-items:center;gap:8px;transition:all .15s;flex-shrink:0}
.market-item:hover{background:var(--border)}
.market-item.active{border-color:var(--primary);background:rgba(255,190,46,.08)}
.market-item .sym{font-weight:700}
.market-item .px{color:var(--text);font-variant-numeric:tabular-nums}
.market-item .ch{font-size:11px;font-variant-numeric:tabular-nums;font-weight:600}

/* === Chart toolbar === */
.chart-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap}
.chart-symbol-info{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.chart-price-block{display:flex;flex-direction:column;line-height:1.2;gap:2px}
.chart-price-block #curPriceBig{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:-.3px}
.chart-price-block .change-24h{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.chart-price-block .change-24h.green{color:var(--green)}
.chart-price-block .change-24h.red{color:var(--red)}
.chart-price-block .change-24h.muted{color:var(--muted)}
.chart-toolbar-actions{display:flex;align-items:center;gap:8px}

/* === Symbol select dropdown === */
.symbol-select-wrap{position:relative}
.symbol-select-btn{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:8px 14px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;display:inline-flex;align-items:center;gap:8px;transition:all .15s;min-width:140px}
.symbol-select-btn:hover{border-color:var(--primary)}
.symbol-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:var(--panel);border:1px solid var(--border);border-radius:8px;width:340px;max-width:90vw;z-index:100;box-shadow:0 12px 32px rgba(0,0,0,.5);overflow:hidden}
.symbol-dropdown input{width:100%;padding:10px 14px;background:var(--panel-2);border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:13px;outline:none}
.symbol-dropdown-list{max-height:360px;overflow-y:auto}
.symbol-dropdown-list::-webkit-scrollbar{width:6px}
.symbol-dropdown-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.symbol-dropdown-item{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:center;padding:9px 14px;cursor:pointer;font-size:13px;border-bottom:1px solid rgba(255,255,255,.02);transition:background .1s}
.symbol-dropdown-item:hover{background:var(--panel-2)}
.symbol-dropdown-item.active{background:rgba(255,190,46,.1)}
.symbol-dropdown-item .sdi-sym{font-weight:700}
.symbol-dropdown-item .sdi-cat{font-size:10px;text-transform:uppercase;letter-spacing:.4px}
.symbol-dropdown-item .sdi-px{font-variant-numeric:tabular-nums;font-size:12px}
.symbol-dropdown-item .sdi-ch{font-size:11px;font-variant-numeric:tabular-nums;font-weight:600;min-width:56px;text-align:right}
.symbol-dropdown-empty{padding:24px;text-align:center;color:var(--muted);font-size:13px}

/* === Interval bar === */
.interval-bar{display:flex;gap:2px;background:var(--panel-2);padding:3px;border-radius:6px;border:1px solid var(--border)}
.iv-btn{background:transparent;border:none;color:var(--muted);padding:5px 10px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;transition:all .15s}
.iv-btn:hover{color:var(--text)}
.iv-btn.active{background:var(--primary);color:#000}

/* === Chart === */
.chart-wrap{position:relative;background:#0e1320;border:1px solid var(--border);border-radius:8px;height:440px;overflow:hidden;flex-shrink:0}
#chartContainer{width:100%;height:100%;position:relative}
.chart-wrap.fullscreen{height:100vh !important;border-radius:0;border:none}
.chart-wrap:fullscreen{background:#0e1320}
.chart-wrap:-webkit-full-screen{background:#0e1320}

.fs-exit-btn{position:absolute;top:12px;right:12px;z-index:10;background:rgba(18,24,38,.9);border:1px solid var(--border);color:var(--muted);padding:8px;border-radius:6px;cursor:pointer;display:inline-flex;backdrop-filter:blur(4px)}
.fs-exit-btn:hover{color:var(--text);border-color:var(--primary)}

/* === Tables === */
.data-table{width:100%;border-collapse:collapse;font-size:13px}
.data-table th,.data-table td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}
.data-table th{color:var(--muted);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px;border-bottom-color:var(--border)}
.data-table tbody tr:hover{background:rgba(255,255,255,.02)}
.data-table tbody tr:last-child td{border-bottom:none}

.order-buttons{display:flex;gap:8px;margin-top:14px}

.banner{padding:12px 24px;text-align:center;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center}
.banner-red{background:rgba(239,72,86,.12);border-bottom:1px solid var(--red);color:var(--red)}
.banner-green{background:rgba(35,194,117,.12);border-bottom:1px solid var(--green);color:var(--green)}
.banner-amber{background:rgba(255,190,46,.12);border-bottom:1px solid var(--primary);color:var(--primary)}

.violations-card #violationLog{font-size:12px}
.violation-entry{display:flex;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}
.violation-entry:last-child{border-bottom:none}

/* === Admin === */
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}
.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:18px}
.stat-card span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;margin-bottom:6px;letter-spacing:.4px}
.stat-card b{font-size:24px}

.filters{margin-bottom:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.filters select{padding:8px 12px;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none}

input[type=range]{width:100%;accent-color:var(--primary)}
input,select,textarea{font-family:inherit}

/* ===== TOAST NOTIFICATIONS ===== */
.pc-toast-container{
  position:fixed;top:16px;left:50%;transform:translateX(-50%);
  z-index:10000;display:flex;flex-direction:column;gap:8px;
  max-width:calc(100vw - 32px);width:auto;pointer-events:none;
}
.pc-toast{
  background:var(--panel);border:1px solid var(--border);border-radius:10px;
  padding:12px 16px;display:flex;align-items:center;gap:10px;
  box-shadow:0 8px 28px rgba(0,0,0,.5);
  min-width:280px;max-width:520px;
  opacity:0;transform:translateY(-12px);
  transition:opacity .25s ease,transform .25s ease;
  pointer-events:auto;font-size:14px;line-height:1.4;
}
.pc-toast.pc-toast-show{opacity:1;transform:translateY(0)}
.pc-toast.pc-toast-hide{opacity:0;transform:translateY(-12px)}
.pc-toast-icon{display:inline-flex;align-items:center;flex-shrink:0}
.pc-toast-msg{flex:1;color:var(--text);word-break:break-word}
.pc-toast-close{background:none;border:none;color:var(--muted);
  font-size:22px;line-height:1;cursor:pointer;padding:0 0 0 6px;
  flex-shrink:0;font-family:inherit}
.pc-toast-close:hover{color:var(--text)}
.pc-toast-success{border-left:3px solid var(--green)}
.pc-toast-success .pc-toast-icon{color:var(--green)}
.pc-toast-error{border-left:3px solid var(--red)}
.pc-toast-error .pc-toast-icon{color:var(--red)}
.pc-toast-warning{border-left:3px solid var(--primary)}
.pc-toast-warning .pc-toast-icon{color:var(--primary)}
.pc-toast-info{border-left:3px solid var(--blue)}
.pc-toast-info .pc-toast-icon{color:var(--blue)}

@media (max-width:600px){
  .pc-toast-container{top:8px;left:8px;right:8px;transform:none;max-width:none}
  .pc-toast{min-width:0;width:100%;font-size:13px;padding:10px 12px}
}

/* ===== STICKY QUOTE BAR (котировка над графиком, всегда видна) ===== */
.sticky-quote-bar{
  position:sticky;top:0;z-index:30;
  background:var(--panel);border:1px solid var(--border);border-radius:8px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 14px;flex-wrap:wrap;
}

/* ===== SECURITY-PAGE (для прозрачности перед бета-тестом) ===== */
.security-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:18px}
.security-card.green-acc{border-left:3px solid var(--green)}
.security-card.red-acc{border-left:3px solid var(--red)}
.security-card.yellow-acc{border-left:3px solid var(--primary)}
.security-card h3{margin-bottom:10px;display:flex;align-items:center;gap:10px}
.security-card p{color:var(--muted);font-size:14px;line-height:1.6}
.security-card ul{margin:10px 0 0 20px;color:var(--muted);font-size:14px;line-height:1.7}

/* === Mobile === */
@media (max-width:1200px){
  .trade-layout{grid-template-columns:1fr;height:auto}
  .trade-side{order:2}
  .trade-main{order:1}
  .chart-wrap{height:380px}
}
@media (max-width:600px){
  .hero h1{font-size:32px}
  .hero .lead{font-size:16px}
  .hero-stats{gap:30px}
  .navbar{padding:12px 16px}
  .nav-links{gap:12px}
  .section{padding:40px 16px}
  .section h2{font-size:24px}
  .chart-toolbar{padding:10px}
  .chart-symbol-info{gap:12px}
  .chart-price-block #curPriceBig{font-size:20px}
  .chart-price-block .change-24h{font-size:13px}
  .container{padding:16px}
  .stages-table{font-size:12px}
  .stages-table th,.stages-table td{padding:10px 6px}
}

/* === Усиленная мобильная адаптация === */
@media (max-width:1024px){
  /* На планшетах торговый терминал в одну колонку */
  .trade-layout{padding:8px;gap:8px}
}

@media (max-width:768px){
  /* Антизум на iOS — все инпуты ≥16px */
  input,select,textarea{font-size:16px!important}

  /* Большие тап-таргеты ≥44px */
  .btn,.icon-btn,.market-item,.iv-btn,.symbol-select-btn,.tab,
  .nav-links a,.symbol-dropdown-item{min-height:44px}

  /* Карточки тоньше */
  .card{padding:12px}
  .card h3{font-size:13px}

  /* Таблицы — горизонтальный скролл (антискролл по странице остаётся) */
  .data-table{font-size:12px;min-width:600px}
  .data-table th,.data-table td{padding:8px 6px}

  /* Котировка над графиком всегда видна — она у нас в chart-toolbar */
  .chart-toolbar{
    position:sticky;top:0;z-index:20;
    background:var(--panel);
    flex-wrap:wrap;gap:8px;
  }
  .chart-symbol-info{flex:1;min-width:0}
  .chart-toolbar-actions{width:100%;justify-content:space-between}
  .chart-price-block #curPriceBig{font-size:18px;font-weight:700}

  /* Терминал — без бокового скролла */
  .trade-page{overflow-x:hidden}
  .trade-layout{height:auto;min-height:calc(100vh - 56px)}
  .trade-side,.trade-main{overflow:visible;max-height:none}

  /* Модалки — на весь экран на мобильном */
  .modal-content{margin:8px;padding:20px 16px;max-height:calc(100vh - 16px);overflow-y:auto}

  /* Навбар — без переноса логотипа */
  .navbar{padding:10px 12px;flex-wrap:wrap}
  .logo{font-size:14px}
  .nav-links{gap:10px;font-size:13px;flex-wrap:wrap}

  /* Кнопки покупки — на всю ширину */
  .acct-card{margin-bottom:14px}

  /* Маркет-бар фиксируем под navbar */
  .market-bar{padding:6px;gap:4px}
  .market-item{padding:6px 8px;font-size:11px}

  /* Формы — растянуты на всю ширину */
  .modal-content input,.modal-content select{width:100%;box-sizing:border-box}

  /* Hero — компактнее */
  .hero h1{font-size:26px;line-height:1.25}
  .hero .lead{font-size:14px}
  .hero-stats{gap:18px;flex-wrap:wrap;justify-content:center}
  .hero-stats > div{flex:0 0 auto;min-width:80px}
  .hero-stats b{font-size:20px}

  /* Тостер — на всю ширину сверху */
  .pc-toast-container{top:8px;left:8px;right:8px;transform:none;max-width:none}

  /* Layout dashboard tabs */
  .tabs{gap:6px;flex-wrap:wrap}
  .tab{padding:10px 12px;font-size:12px;flex:1;min-width:140px}

  /* Stages-table — мобильная скроллится */
  .stages-table{font-size:11px;min-width:540px}
  .stages-table th,.stages-table td{padding:8px 4px}

  /* Стоп-вкладки */
  .order-buttons{flex-direction:column;gap:8px}
  .order-buttons .btn{width:100%}

  /* Подвал */
  .footer{padding:16px;font-size:12px;text-align:center}
}

@media (max-width:480px){
  /* Очень узкие телефоны */
  .hero{padding:30px 12px}
  .hero h1{font-size:22px}
  .acct-card{padding:18px}
  .acct-price{font-size:28px}
  .pricing-grid{grid-template-columns:1fr;gap:12px}
  .rules-grid{grid-template-columns:1fr;gap:12px}
  .overview-stats{grid-template-columns:1fr 1fr;gap:8px}
  .overview-card{padding:12px}
  .stat-value{font-size:18px}
  .navbar .logo span{display:none}
}

/* Антискролл фоновый при открытой модалке */
body.modal-open{overflow:hidden;position:fixed;width:100%}

/* Безопасные отступы для устройств с вырезом */
@supports (padding: env(safe-area-inset-top)){
  .navbar{padding-top:max(10px,env(safe-area-inset-top))}
  .pc-toast-container{top:max(8px,env(safe-area-inset-top))}
}

/* ════════════════════════════════════════════════════════════
   МОБИЛЬНЫЕ АНТИ-ШУМЫ (визуальная шлифовка)
   ──────────────────────────────────────────────────────────── */

/* Модалки — фоновый блюр и плавный «вылет», корректная высота с iOS-баром */
.modal{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.modal-content{overscroll-behavior:contain}

/* Никакого «оттяга» страницы под фиксированной модалкой/нижним sticky */
.modal,.pc-toast-container{overscroll-behavior:contain}

/* Поля ввода — снимаем iOS-тени/блик ТОЛЬКО с текстовых полей и селектов.
   На кнопках appearance/text-fill-color не трогаем, иначе ломаются цвета
   (.btn-primary, .btn-buy, .btn-sell). */
input[type=text],input[type=email],input[type=password],input[type=number],
input[type=search],input[type=tel],input[type=url],textarea,select{
  -webkit-appearance:none;appearance:none;
}
/* Чтобы плейсхолдер на iOS не был слишком бледным */
::placeholder{color:var(--muted);opacity:1}

/* Скроллбары форм/таблиц в табле/мобайле — тоньше и не «мигают» */
@media (max-width:1024px){
  .data-table-wrap,.trade-side,.trade-main,.modal-content{
    scrollbar-width:thin;scrollbar-color:var(--border) transparent;
  }
}

/* Финальная подчистка под мобилку */
@media (max-width:768px){
  /* Чтобы при появлении клавиатуры sticky-элементы не «прыгали» */
  .navbar,.chart-toolbar,.sticky-quote-bar{will-change:transform}

  /* Тосты лучше читаются и не перекрывают navbar */
  .pc-toast{box-shadow:0 4px 16px rgba(0,0,0,.35)}

  /* Кнопки в ряд — не вылезают за экран */
  .hero-actions{width:100%}
  .hero-actions .btn{flex:1 1 auto;min-width:140px}

  /* Карточки цен — больше воздуха и не клеятся друг к другу */
  .pricing-grid{grid-template-columns:1fr;gap:14px}
  .price-card{padding:22px 18px}
  .price-card .acct-size{font-size:26px}
  .price-card .acct-price{font-size:24px}

  /* Покупка — модальное окно с приоритетом vh без скачков iOS-бара */
  .modal-content{
    max-height:min(100dvh - 16px, calc(100vh - 16px));
  }

  /* Длинные ID/адреса/email не должны рвать вёрстку */
  .mono,.acct-id,.payout-form input,.kv b{word-break:break-all}

  /* На горизонтальных таблицах подсказываем, что таблица скроллится */
  .data-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

  /* Footer — больше воздуха снизу под home-bar iOS */
  .footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}
}

/* Очень узкие телефоны: компактнее карточки тосты */
@media (max-width:380px){
  .pc-toast{font-size:12px;padding:9px 10px}
  .hero h1{font-size:20px}
  .nav-links{font-size:12px;gap:8px}
  .btn{padding:9px 14px;font-size:13px}
}

/* Уважаем "уменьшить движение" — на iOS включено у многих */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}

/* ════════════════════════════════════════════════════════════
   ЗАПРЕТ PINCH-ZOOM НА МОБИЛЬНЫХ
   ────────────────────────────────────────────────────────────
   touch-action: pan-x pan-y разрешает обычную прокрутку, но
   запрещает масштабирование двумя пальцами. Жест-зум и double-tap
   дополнительно перехватываются в js/core.js (capture-фаза).
════════════════════════════════════════════════════════════ */
html,body{touch-action:pan-x pan-y}
