/* Кадр главной. Только композиция уже одобренного макета кабинета.
   Новой палитры нет: цвета из токенов или из того же кадра. */
.layout-cabinet{font-size:13px;min-height:100dvh}
.layout-cabinet h1,.layout-cabinet h2{font-family:var(--font-display)}
.app-page{padding:0 var(--pad-cabinet) calc(98px + env(safe-area-inset-bottom));min-height:100dvh}
.app-topbar{height:64px;display:flex;align-items:center;gap:10px}
.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#2f5d2d,#202e48);color:#dcfad2;font-size:11px;display:flex;align-items:center;justify-content:center;border:1px solid #3f6a3c;flex-shrink:0}
.app-topbar .greeting{font-size:9px;color:var(--text-3);margin-bottom:3px}
.app-topbar .username{font-size:12px;overflow-wrap:anywhere}
.cabinet-logo{display:block;width:110px;height:37px;object-fit:contain;object-position:left center;margin-bottom:2px}
.app-topbar .icon-btn{width:32px;height:32px}
.stat-label{color:var(--text-2);font-size:11px}
.account-total{padding:20px 18px 0;border:1px solid #2b4a25;border-radius:16px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 100% 0,#65ef4218,transparent 70%),linear-gradient(145deg,#15301e,#0e1c2d 75%)}
.account-total+.account-total{margin-top:var(--sp-3)}
.account-total:after{content:"";position:absolute;width:120px;height:120px;border:1px solid #65ef420c;transform:rotate(-25deg);right:-70px;top:30px;pointer-events:none}
.total-number{font:37px var(--font-mono);letter-spacing:-2px;margin:11px 0 18px;overflow-wrap:anywhere}
.total-number small{font-size:23px;color:var(--text-3);letter-spacing:-1px}
.balance-breakdown{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #2d4429;padding:14px 0}
.balance-breakdown>div+div{border-left:1px solid #2d4429;padding-left:16px}
.balance-breakdown b{display:block;font:14px var(--font-mono);margin-top:7px;font-weight:450;overflow-wrap:anywhere}
.balance-breakdown .stat-label{font-size:9px}
.eye-btn{color:var(--text-3);padding:0;display:flex}
.quick-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:14px 0 18px}
.quick-actions button{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 3px;background:var(--surface-2);border:1px solid var(--border);font-size:10px;text-align:center}
.quick-actions button:first-child{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.quick-actions .icon{width:15px;height:15px}
.live-card{border:1px solid var(--border);border-radius:14px;padding:15px 15px 0;background:linear-gradient(135deg,#10261c,var(--surface));overflow:hidden}
.live-number{font:25px var(--font-mono);letter-spacing:-1.3px;color:var(--accent);margin:13px 0 6px;overflow-wrap:anywhere}
.live-number .fraction{font-size:18px;color:#65ef4298}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:24px 0 12px}
.section-title h2{font-size:15px;margin:0;font-weight:550;letter-spacing:-.3px}
.section-title h2 span{margin-left:6px}
.section-title button{font-size:10px;color:var(--accent);display:flex;align-items:center;gap:3px}
.section-title button .icon{width:12px;height:12px}
.reinvest-banner{padding:14px;background:linear-gradient(135deg,#2b254c,var(--surface));border:1px solid #b8abff44;border-radius:14px;margin:16px 0}
.reinvest-banner h3{font-family:var(--font-display);font-size:12px;margin:0 0 5px;font-weight:500}
.reinvest-banner p{font-size:10px;color:var(--text-2);margin:0;line-height:1.6;overflow-wrap:anywhere}
.reinvest-go{color:var(--st-review)}
.screen-note{font-size:9px;line-height:1.8;color:var(--text-3);margin-top:13px;overflow-wrap:anywhere}
.transaction p,.mini-plan .amount,.username{overflow-wrap:anywhere}
.layout-cabinet .navbar{position:fixed;left:50%;transform:translateX(-50%);width:100%;max-width:var(--bp-max);bottom:0}

/* Кадр депозитов. Заголовок и строка тарифа — из макета.
   Новых цветов и порогов нет. */
.page-heading{padding:17px 0 8px}
.page-heading h1{margin:0;font-size:25px;font-weight:500;letter-spacing:-.9px;line-height:1.15}
.dep-tabs{margin-top:24px}
.plan-more .push{margin-left:auto}
.plan-bottom span,.plan-rate,.plan-name,.deposit-summary b{overflow-wrap:anywhere}

/* Карточка депозита. Вторичный кадр макета: назад, сумма, таблица условий.
   Цвета и размеры уже были в макете. Новой палитры нет. */
.back-header{display:flex;align-items:center;gap:12px;height:62px;border-bottom:1px solid var(--border);margin-bottom:20px}
.back-header h1{margin:0;font-size:16px;font-weight:500;letter-spacing:-.3px}
.back-header .icon-btn{width:28px;height:28px;background:transparent;border:0;padding:0}
.hero-stat{text-align:center;padding:18px 0 24px}
.hero-stat b{display:block;margin:10px 0;font:36px var(--font-mono);letter-spacing:-1.5px;overflow-wrap:anywhere}
.hero-stat p{margin:0;font-size:10px;line-height:1.7;color:var(--text-3);overflow-wrap:anywhere}
.status-orb{width:54px;height:54px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border:1px solid #65ef4233;border-radius:50%;background:var(--accent-soft);color:var(--accent)}
.status-orb .icon{width:24px;height:24px}
.data-row b{overflow-wrap:anywhere}

/* Форма открытия. Поля и карточки тарифа уже были в ките.
   Новых цветов и порогов нет. */
.plan-card[role="button"]{cursor:pointer;color:inherit;text-align:left}
.plan-card.is-disabled[role="button"]{cursor:not-allowed}
.back-header h1.grow{min-width:0}

/* Кадр истории. Чипы и строки операции уже были в ките.
   Новых цветов и порогов нет. */
.hist-filters{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-2)}
.hist-filters .field{margin-bottom:0}
.hist-filters .filter-chips{margin-bottom:0}
/* Повтор на пустом поле: вторичная заливка кита сливается с фоном. Те же токены, новый цвет не задаётся. */
.state-panel .btn.secondary{background:var(--surface-3);border-color:var(--border-strong);color:var(--text)}

/* Экраны пополнения, вывода, команды и админки */
.btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.btn-row .btn{flex:1 1 auto;min-height:40px;padding:8px 12px}
.btn.danger{border-color:var(--border-strong);color:var(--text)}
select.input{appearance:auto}
textarea.input{min-height:76px;resize:vertical;font:inherit}
.copy-line{display:flex;gap:8px;align-items:center}
.copy-line .input{flex:1;min-width:0;font-family:var(--font-mono);font-size:12px}
.success-note{color:var(--accent);font-size:12px;margin-top:8px}
/* Команда: кликабельные линии и список партнёров линии */
.line-blocks{display:flex;flex-direction:column;gap:10px}
.line-block{display:block;width:100%;text-align:left;font:inherit;color:var(--text);background:var(--surface,var(--card,transparent));border:1px solid var(--border);border-radius:16px;padding:14px 16px;cursor:pointer;transition:border-color .15s}
.line-block:hover,.line-block:focus-visible{border-color:var(--accent)}
.line-block-head{display:flex;align-items:center;gap:8px}
.line-block-head .grow{flex:1}
.line-block-head .icon{width:16px;height:16px;color:var(--text-2)}
.line-block-pct{font-size:12px;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:2px 8px}
.line-block-count{font-size:13px;color:var(--text-2)}
.line-block-stats,.team-member-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.line-block-stats>span,.team-member-stats>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.line-block-stats b,.team-member-stats b{overflow-wrap:anywhere}
.team-member-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.team-member-stats{margin-top:6px}
/* «Живой» доход: цифры растут онлайн, ширина цифр одинаковая — число не дёргается */
.live-number,.live-ticking{font-variant-numeric:tabular-nums}
.live-ticking.is-live,.live-number.is-live{color:var(--accent)}
.live-number.is-live::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-radius:50%;background:var(--accent);vertical-align:middle;animation:live-pulse 1s ease-in-out infinite}
.live-number.is-paused::after,.live-ticking.is-paused::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-radius:50%;background:#ef6666;vertical-align:middle;animation:none}
.pill.weekend-paused .dot{background:#ef6666;box-shadow:none}
.weekend-note{font-size:11px;line-height:1.5;color:var(--text-2);margin:8px 0 12px}
@keyframes live-pulse{0%,100%{opacity:.25}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.live-number.is-live::after{animation:none;opacity:.8}}

/* Сохранённые кошельки и адрес с копированием по клику */
.chip-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: -4px 0 12px; }
.chip { border: 1px solid var(--border); background: transparent; color: var(--text); border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 13px; cursor: pointer; }
.chip:hover, .chip:focus-visible { border-color: var(--accent, #65ef42); }
.copy-code { display: block; overflow-wrap: anywhere; user-select: all; cursor: copy; padding: 8px 10px; margin: 6px 0; border-radius: 8px; background: rgba(127, 127, 127, .12); }
.fund-wallet .copy-code { border: 2px solid #48d597; padding: 12px; line-height: 1.65; direction: ltr; }
.fund-qr { display: block; width: 232px; height: 232px; max-width: 100%; object-fit: contain; box-sizing: border-box; background: #fff; padding: 12px; border-radius: 12px; margin: 16px auto; }
/* Общий баланс → попап по монетам */
.account-total.is-clickable{cursor:pointer}
.account-total .coins-open{position:relative;z-index:1;margin:2px 0 12px;padding:6px 0;min-height:0;font-size:var(--fs-sm);color:var(--accent);background:none;border:0}
.coins-panel{max-height:86vh;overflow-y:auto}
.coins-list .coin-card .data-row{padding:6px 0}
.coin-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.filter-chips.coin-pick button{width:100%;min-width:0;min-height:42px;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.coin-pick [data-asset="USDT"],.coin-pick [data-asset="BTC"]{grid-column:1}
.coin-pick [data-asset="USDC"],.coin-pick [data-asset="ETH"]{grid-column:2}
.filter-chips.coin-pick .coin-green{color:#a7f3d0;border-color:#218956;background:#0c3526}
.filter-chips.coin-pick .coin-blue{color:#bfdbfe;border-color:#327fc7;background:#102e51}
.filter-chips.coin-pick .coin-blue:disabled{opacity:1;cursor:default}
.filter-chips.coin-pick .coin-green.active{color:#021c12;border-color:#4ade80;background:#4ade80}
.filter-chips.coin-pick .coin-blue.active{color:#06172b;border-color:#60a5fa;background:#60a5fa}
.filter-chips.coin-pick button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
