*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{color:#3d4551;background:#f5f2eb;font-family:DM Sans,sans-serif;line-height:1.5}.positive{color:#0a8754!important}.negative{color:#c33!important}.login-page{background:#f5f2eb;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border:1px solid #0000000f;border-radius:16px;width:100%;max-width:400px;padding:40px 32px}.login-card h1{color:#1b365d;text-align:center;margin-bottom:24px;font-family:DM Sans,sans-serif;font-size:20px;font-weight:700}.login-card input{color:#3d4551;background:#fafaf7;border:1px solid #0000000f;border-radius:8px;outline:none;width:100%;margin-bottom:12px;padding:12px 14px;font-family:JetBrains Mono,monospace;font-size:13px;transition:border-color .2s}.login-card input:focus{border-color:#c9a84c66}.login-card input::placeholder{color:#6b7280}.login-card .btn{color:#fff;letter-spacing:.06em;cursor:pointer;background:linear-gradient(135deg,#c9a84c,#1b365d);border:none;border-radius:8px;width:100%;padding:12px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:700;transition:opacity .2s}.login-card .btn:hover{opacity:.9}.login-card .error{color:#c33;text-align:center;margin-top:8px;font-size:12px}.dashboard-page{flex-direction:column;height:100vh;display:flex;overflow:hidden}.nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:100;background:#fffffffa;border-bottom:1px solid #c9a84c14;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 28px;display:flex;box-shadow:0 2px 8px #0000000f,0 1px #c9a84c0f}.nav-logo{align-items:center;gap:10px;display:flex}.logo-mark{color:#fff;background:linear-gradient(135deg,#c9a84c 0%,#1b365d 100%);border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:800;display:flex;overflow:hidden;box-shadow:0 0 20px #c9a84c4d}.logo-text{letter-spacing:.06em;color:#1b365d;text-transform:uppercase;background:linear-gradient(135deg,#1b365d 0%,#c9a84c 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Syne,sans-serif;font-size:15px;font-weight:700}.nav-tag{letter-spacing:.12em;text-transform:uppercase;color:#8b95a2;margin-left:4px;font-size:11px;font-weight:500}.nav-right{align-items:center;gap:20px;display:flex}.status-dot{background:#0a8754;border-radius:50%;width:6px;height:6px;animation:2s infinite pulse;box-shadow:0 0 8px #0a8754}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.status-dot.stale{background:#f0a830;animation:none;box-shadow:0 0 8px #f0a830}.nav-logo-img{object-fit:contain;border-radius:6px;width:auto;height:32px}.last-updated{color:#8b95a2;letter-spacing:.04em;font-family:JetBrains Mono,monospace;font-size:11px}.exit-btn{letter-spacing:.1em;text-transform:uppercase;color:#8b95a2;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 16px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;transition:all .2s}.exit-btn:hover{color:#5a6878;background:#00000008}.main{flex-direction:column;flex:1;gap:16px;min-height:0;padding:20px 28px;display:flex;overflow:hidden}.strategy-card{background:#fff;border:1px solid #0000000f;border-radius:16px;flex-shrink:0;overflow:hidden;box-shadow:0 1px 3px #00000014}.card-header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:16px 24px 12px;display:flex}.card-title-row{align-items:center;gap:10px;display:flex}.card-title{color:#1b365d;letter-spacing:.02em;font-size:14px;font-weight:700}.protocol-badge{color:#c9a84c;letter-spacing:.06em;background:#c9a84c12;border:1px solid #c9a84c26;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:flex}.hr-badge{color:#f0c040;background:#ffc8001a;border:1px solid #ffc80033;border-radius:10px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.hr-badge.healthy{color:#0a8754;background:#0a87541a;border-color:#0a875433}.hr-badge.danger{color:#c33;background:#ff6b6b1a;border-color:#ff6b6b33}.card-total{color:#6b7280;font-family:JetBrains Mono,monospace;font-size:12px}.card-body{grid-template-columns:1fr 1fr;gap:0;display:grid}.assets-panel{border-right:1px solid #0000000f;padding:16px 24px}.section-label{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;margin-bottom:8px;font-size:11px;font-weight:600}.assets-table{border-collapse:collapse;width:100%}.assets-table th{letter-spacing:.1em;text-transform:uppercase;color:#5a6878;text-align:left;border-bottom:1px solid #0000000a;padding:0 0 10px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.assets-table th:last-child{text-align:right}.assets-table td{border-bottom:1px solid #00000008;padding:10px 0;font-size:13px}.asset-name-cell{align-items:center;gap:8px;display:flex}.asset-icon{object-fit:cover;border-radius:50%;flex-shrink:0;width:22px;height:22px}.asset-name{color:#3d4551;letter-spacing:.04em;font-size:12px;font-weight:600}.asset-amount{color:#6b7280;font-family:JetBrains Mono,monospace;font-size:11px}.asset-usd{text-align:right;color:#1b365d;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700}.asset-usd--borrowed{color:#c33}.supply-divider{letter-spacing:.08em;text-transform:uppercase;color:#0a8754;padding:8px 0 4px;font-size:11px;font-weight:700}.borrow-divider{letter-spacing:.08em;text-transform:uppercase;color:#8a3a3a;padding:8px 0 4px;font-size:11px;font-weight:700}.metrics-panel{flex-direction:column;gap:14px;padding:16px 24px;display:flex}.kpi-grid{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.kpi-card{background:#fafaf7;border:1px solid #0000000f;border-radius:12px;padding:12px 14px;box-shadow:0 1px 3px #00000014}.kpi-label{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;margin-bottom:6px;font-size:12px;font-weight:600}.kpi-value{color:#1b365d;letter-spacing:-.02em;font-family:JetBrains Mono,monospace;font-size:17px;font-weight:700}.kpi-value.pnl-positive{color:#0a8754;text-shadow:0 0 16px #0a875440}.kpi-value.pnl-negative{color:#c33;text-shadow:0 0 16px #ff6b6b40}.kpi-value.roi{color:#c9a84c;text-shadow:0 0 16px #c9a84c40}.since-label{color:#6b7280;margin-top:4px;font-family:JetBrains Mono,monospace;font-size:11px}.distribution-section{margin-top:2px}.platform-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.platform-row{align-items:center;gap:10px;display:flex}.plat-icon{border-radius:50%;flex-shrink:0;width:18px;height:18px}.platform-name{color:#7a9aba;flex:1;font-size:12px;font-weight:500}.platform-value{color:#1b365d;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700}.platform-pct{color:#8b95a2;text-align:right;width:40px;font-family:JetBrains Mono,monospace;font-size:11px}.platform-bar-track{background:#0000000f;border-radius:2px;width:100%;height:2px;margin-top:3px}.platform-bar-fill{border-radius:2px;height:2px;transition:width .5s}.movements-section{border-top:1px solid #0000000a;margin-top:8px;padding-top:8px}.movements-list{flex-direction:column;gap:4px;margin-top:6px;display:flex}.movement-row{align-items:center;gap:8px;padding:4px 0;display:flex}.movement-type{text-align:center;flex-shrink:0;width:16px;font-size:11px}.movement-type.deposit{color:#0a8754}.movement-type.withdrawal{color:#c33}.movement-date{color:#8b95a2;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:11px}.movement-amount{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.movement-amount.deposit{color:#0a8754}.movement-amount.withdrawal{color:#c33}.movements-more{color:#8b95a2;text-align:center;cursor:default;margin-top:4px;font-size:11px}.chart-card{background:#fff;border:1px solid #0000000f;border-radius:16px;flex-direction:column;flex:1;min-height:120px;display:flex;overflow:hidden;box-shadow:0 1px 3px #00000014}.chart-header{border-bottom:1px solid #0000000f;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 24px 10px;display:flex}.chart-title{color:#1b365d;letter-spacing:.02em;font-size:13px;font-weight:700}.range-tabs{background:#0000000a;border-radius:8px;gap:2px;padding:3px;display:flex}.range-tab{letter-spacing:.06em;cursor:pointer;color:#8b95a2;background:0 0;border:none;border-radius:6px;padding:5px 10px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;transition:all .15s}.range-tab:hover{color:#c9a84c}.range-tab.active{color:#c9a84c;background:#f0ede6;box-shadow:0 1px 3px #00000014}.chart-body{flex:1;min-height:0;padding:8px 8px 4px;overflow:hidden}.chart-container{width:100%;height:100%;overflow:hidden}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.summary-strip{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.summary-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#fffffffa 0%,#fafaf7f2 100%);border:1px solid #c9a84c14;border-radius:14px;flex-direction:column;gap:4px;padding:16px 20px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000f,0 2px 6px #0000000a}.summary-card:before{content:"";opacity:0;background:linear-gradient(90deg,#0000,#c9a84c4d,#0000);height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.summary-card:hover{border-color:#c9a84c26;transform:translateY(-2px);box-shadow:0 1px 3px #00000014,0 4px 12px #0000000f,0 0 20px #c9a84c0d}.summary-card:hover:before{opacity:1}.summary-label{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;align-items:center;font-size:12px;font-weight:600;display:flex}.summary-value{color:#1b365d;letter-spacing:-.02em;text-shadow:0 0 24px #e0eeff14;font-family:JetBrains Mono,monospace;font-size:32px;font-weight:700}.summary-value.positive{color:#0a8754;text-shadow:0 0 20px #0a875440}.summary-value.negative{color:#c33;text-shadow:0 0 20px #ff6b6b40}.summary-sub{color:#8b95a2;font-family:JetBrains Mono,monospace;font-size:12px}.dashboard-page-scroll{flex-direction:column;min-height:100vh;display:flex}.dashboard-page-scroll .main{flex:unset;overflow:visible}.strategy-section{flex-direction:column;gap:16px;display:flex}.card-subtitle{color:#8b95a2;margin-left:4px;font-size:11px;font-weight:500}.card-icon{color:#1b365d;background:linear-gradient(135deg,#e2ded6,#f0ede6);border:1px solid #0096ff33;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:flex}.pnl-badge{align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;display:flex}.pnl-badge.positive{color:#0a8754}.pnl-badge.negative{color:#c33}.pnl-pct{border-radius:8px;padding:2px 7px;font-size:11px;font-weight:700}.pnl-pct.positive{color:#0a8754;background:#0a87541f}.pnl-pct.negative{color:#c33;background:#ff6b6b1f}.bybit-loan-panel{border-right:1px solid #0000000f;padding:16px 24px}.loan-header{align-items:center;gap:8px;margin-bottom:14px;display:flex}.loan-title{color:#1b365d;letter-spacing:.02em;font-size:13px;font-weight:700}.loan-subtitle{color:#8b95a2;margin-top:2px;font-size:11px}.margin-ratio-badge{border-radius:10px;flex-shrink:0;margin-left:auto;padding:3px 10px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.margin-ratio-badge.healthy{color:#0a8754;background:#0a87541f;border:1px solid #0a875440}.margin-ratio-badge.danger{color:#c33;background:#ff6b6b1f;border:1px solid #ff6b6b40}.collateral-total{color:#6b7280;align-items:center;gap:6px;margin-bottom:12px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.collateral-total-value{color:#1b365d;font-weight:700}.collateral-divider{letter-spacing:.08em;text-transform:uppercase;color:#f7a600;padding:8px 0 4px;font-size:11px;font-weight:700}.borrowed-divider{letter-spacing:.08em;text-transform:uppercase;color:#8a3a3a;padding:8px 0 4px;font-size:11px;font-weight:700}.balance-card{text-align:center;background:#fafaf7;border:1px solid #0000000f;border-radius:12px;padding:16px 18px;box-shadow:0 1px 3px #00000014}.balance-label{letter-spacing:.12em;text-transform:uppercase;color:#6b7280;margin-bottom:8px;font-size:11px;font-weight:600}.balance-value{color:#1b365d;letter-spacing:-.02em;font-family:JetBrains Mono,monospace;font-size:22px;font-weight:700}.tradfi-info-block{background:#fafaf7;border:1px solid #0000000f;border-radius:12px;padding:16px 18px;box-shadow:0 1px 3px #00000014}.tradfi-info-row{border-bottom:1px solid #00000008;justify-content:space-between;align-items:center;padding:7px 0;display:flex}.tradfi-info-row:last-child{border-bottom:none}.tradfi-info-key{color:#8b95a2;font-size:11px;font-weight:500}.tradfi-info-val{color:#1b365d;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700}.nav-user{color:#c9a84c;letter-spacing:.04em;font-family:JetBrains Mono,monospace;font-size:12px}.dmitry-chart-body{flex:none;width:100%;height:220px;padding:8px 8px 4px;position:relative;overflow:hidden}.nikita-chart-body{flex:1;width:100%;min-height:250px;padding:8px 8px 4px;position:relative;overflow:hidden}.dmitry-hero-balance{padding:4px 0 6px}.dmitry-hero-value{color:#1b365d;letter-spacing:-.03em;font-family:JetBrains Mono,monospace;font-size:28px;font-weight:700}.dmitry-kpi-compact{border-top:1px solid #0000000a;border-bottom:1px solid #0000000a;gap:20px;padding:6px 0;display:flex}.kpi-mini{flex-direction:column;gap:2px;display:flex}.kpi-mini-label{letter-spacing:.1em;text-transform:uppercase;color:#6b7280;font-size:11px;font-weight:600}.kpi-mini-value{color:#1b365d;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700}.kpi-mini-value.pnl-positive{color:#0a8754}.kpi-mini-value.pnl-negative{color:#c33}.kpi-mini-value.roi{color:#c9a84c}.card-chart-section{border-top:1px solid #0000000f}.skeleton{background:linear-gradient(90deg,#fff 25%,#e2ded6 50%,#fff 75%) 0 0/200% 100%;border-radius:16px;animation:1.5s infinite skeleton-shimmer}@media (max-width:768px){.card-body{grid-template-columns:1fr}.assets-panel,.bybit-loan-panel{border-bottom:1px solid #0000000f;border-right:none}.main,.nav{padding:12px 16px}.dashboard-page,.dashboard-page-scroll{height:auto;overflow-y:auto}.summary-strip,.kpi-grid{grid-template-columns:1fr}.positions-trades-grid,.margin-row{grid-template-columns:1fr!important}}.moex-block{border-top:1px solid #0000000f;flex-direction:column;flex:1;margin-top:8px;padding-top:4px;display:flex}.moex-loading,.moex-error{color:#8b95a2;padding:8px 0;font-size:12px}.moex-error{color:#c33}.moex-tabs{border-bottom:1px solid #0000000f;gap:0;margin-bottom:6px;display:flex}.moex-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:4px 4px 0 0;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:11px;transition:all .2s}.moex-tab:hover{color:#5a6878;background:#00000005}.moex-tab.active{color:#3d4551;background:#6a9aba0f;border-bottom-color:#c9a84c}.moex-scroll-area{scrollbar-width:thin;scrollbar-color:#6a9aba4d transparent;max-height:200px;overflow-y:auto}.moex-scroll-area::-webkit-scrollbar{width:4px}.moex-scroll-area::-webkit-scrollbar-track{background:0 0}.moex-scroll-area::-webkit-scrollbar-thumb{background:#6a9aba4d;border-radius:2px}.moex-table{border-collapse:collapse;width:100%;font-size:11px}.moex-table th{text-align:left;color:#8b95a2;text-transform:uppercase;letter-spacing:.04em;z-index:1;background:#fff;border-bottom:1px solid #0000000a;padding:8px 6px 10px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;position:sticky;top:0}.moex-table td{color:#a0b8d0;white-space:nowrap;border-bottom:1px solid #00000005;padding:7px 6px}.moex-table tr:hover td{background:#00000005}.moex-table .r{text-align:right}.moex-table .mono{font-family:JetBrains Mono,monospace;font-size:11px}.moex-ticker{color:#3d4551;margin-right:4px;font-size:11px;font-weight:600}.moex-board{color:#6b7280;vertical-align:middle;background:#0000000a;border-radius:3px;padding:1px 4px;font-size:11px}.moex-side{border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.moex-side.buy{color:#0a8754;background:#0a875414}.moex-side.sell{color:#c33;background:#ff6b6b14}.positions-trades-grid{background:#0000000f;border-radius:12px 12px 0 0;grid-template-columns:1fr 1fr;gap:1px;min-height:120px;margin-top:4px;display:grid;overflow:hidden}.margin-row{background:#0000000f;border-radius:0 0 12px 12px;grid-template-columns:1fr 1fr;align-items:stretch;gap:1px;margin-top:auto;padding-top:4px;display:grid;overflow:hidden}.margin-row>.risk-metrics-block{background:#fff;border-top:none;border-radius:0;margin-top:0}.ptr-col{background:#fff;flex-direction:column;display:flex;overflow-y:auto}.ptr-header{border-bottom:1px solid #0000000a;justify-content:space-between;align-items:center;padding:2px 14px;display:flex}.ptr-title{letter-spacing:.1em;text-transform:uppercase;color:#6b7280;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600}.ptr-header-badge-moex{color:#4a7aff;background:#4a7aff1a;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.ptr-header-badge-ctrader{color:#0a8754;background:#0a87541a;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.moex-table thead tr:first-child th{border-bottom:none;padding-bottom:2px}.ctrader-placeholder{text-align:center;color:#8b95a2;justify-content:center;align-items:center;height:100%;min-height:80px;padding:20px;font-size:12px;font-style:italic;display:flex}@keyframes spin-anim{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin-anim}.refresh-btn{color:#6b7280;cursor:pointer;background:#c9a84c0d;border:1px solid #c9a84c1a;border-radius:6px;justify-content:center;align-items:center;gap:6px;margin-right:12px;padding:5px 12px;transition:all .25s;display:flex}.refresh-btn:hover:not(:disabled){color:#c9a84c;background:linear-gradient(135deg,#c9a84c1a 0%,#a0823214 100%);border-color:#c9a84c40;box-shadow:0 0 12px #c9a84c1a}.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.risk-metrics-block{background:#0a192f80;border:1px solid #0000000f;border-radius:6px;flex-direction:column;flex:1;margin-top:12px;padding:12px 16px 10px;display:flex;box-shadow:0 1px 3px #00000014}.risk-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.risk-title{letter-spacing:.04em;color:#1b365d;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.margin-call-alert{color:#fff;background:#e53e3e;border-radius:4px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;animation:1.5s ease-in-out infinite pulse-alert}@keyframes pulse-alert{0%,to{opacity:1}50%{opacity:.6}}.risk-level-badge{letter-spacing:.03em;border-radius:4px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.risk-level-badge.low{color:#48bb78;background:#48bb781f}.risk-level-badge.medium{color:#ecc94b;background:#ecc94b1f}.risk-level-badge.high{color:#ed8936;background:#ed89361f}.risk-level-badge.critical{color:#fc8181;background:#fc818126}.risk-stability-badge{border-radius:6px;align-items:center;gap:4px;margin-left:auto;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;display:inline-flex}.risk-stability-badge.warn{color:#f5a623;background:#f5a6231a;border:1px solid #f5a62333}.risk-stability-badge.ok{color:#68d391;opacity:.8;background:#68d39114;border:1px solid #68d39126}.risk-grid{grid-template-columns:repeat(2,1fr);gap:10px 16px;display:grid}@media (max-width:768px){.risk-grid{grid-template-columns:repeat(2,1fr)}}.risk-kpi{flex-direction:column;gap:2px;display:flex}.risk-kpi-label{color:#6b7280;letter-spacing:.02em;font-family:JetBrains Mono,monospace;font-size:11px}.risk-kpi-value{color:#3d4551;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600}.risk-kpi-delta{font-family:JetBrains Mono,monospace;font-size:11px}.risk-kpi-delta.positive{color:#48bb78}.risk-kpi-delta.negative{color:#fc8181}.risk-timestamp{color:#6b7280;text-align:right;opacity:.7;margin-top:auto;padding-top:8px;font-family:JetBrains Mono,monospace;font-size:11px;transition:opacity .2s}.risk-metrics-block:hover .risk-timestamp{opacity:1}.risk-placeholder{color:#8b95a2;padding:12px 0;font-family:JetBrains Mono,monospace;font-size:12px}.executor-section{margin-bottom:32px;animation:.4s both fadeInUp}.executor-section:first-child{animation-delay:50ms}.executor-section:nth-child(2){animation-delay:.12s}.executor-section:nth-child(3){animation-delay:.19s}.executor-divider{align-items:center;gap:16px;margin-bottom:14px;padding-left:4px;display:flex}.executor-divider:after{content:"";background:linear-gradient(90deg,#c9a84c26,#0000 80%);flex:1;height:1px}.executor-title{color:#6b7280;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600}.clients-grid{flex:1;grid-template-columns:1fr 1fr;align-items:stretch;gap:12px;min-height:0;display:grid}.client-tile{background:#fff;border:1px solid #00000008;border-radius:12px;flex-direction:column;padding:8px 12px;transition:border-color .3s,box-shadow .3s,transform .3s;animation:.4s both fadeInUp;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000a,0 1px 2px #00000005}.client-tile:before{content:"";opacity:.5;background:linear-gradient(90deg,#c9a84c,#a0823299,#0000);height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.client-tile:hover{border-color:#c9a84c33;transform:translateY(-1px);box-shadow:0 1px 3px #00000014,0 2px 8px #0000000f,0 0 16px #c9a84c0f}.client-tile:hover:before{opacity:1}.client-tile:first-child{animation-delay:50ms}.client-tile:nth-child(2){animation-delay:.1s}.client-tile:nth-child(3){animation-delay:.15s}.client-tile:nth-child(4){animation-delay:.2s}.tile-header-compact{border-bottom:1px solid #0000000a;justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.tile-left{align-items:center;gap:8px;display:flex}.tile-header-info{min-width:0}.tile-right-kpis{align-items:flex-end;gap:16px;display:flex}.tile-kpi-block{flex-direction:column;align-items:flex-end;gap:0;display:flex}.tile-kpi-label{letter-spacing:.12em;text-transform:uppercase;color:#6b7280;font-size:10px;font-weight:600;line-height:1}.tile-kpi-val{color:#1b365d;text-shadow:0 0 16px #e0eeff0f;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:800;line-height:1.3}.tile-kpi-val.positive{color:#0a8754;text-shadow:0 0 14px #0a875433}.tile-kpi-val.negative{color:#c33;text-shadow:0 0 14px #ff6b6b33}.tile-strategies-strip{border-bottom:1px solid #0000000a;flex-wrap:wrap;gap:6px;padding:5px 0 4px;display:flex}.tile-strategy-inline{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tile-strategy-name{color:#a0b8d0;font-size:11px;font-weight:600}.tile-platform-inline{color:#5a6878;background:#8ab4e814;border:1px solid #8ab4e826;border-radius:6px;align-items:center;gap:4px;margin-right:4px;padding:2px 6px;font-size:11px;display:inline-flex}.tile-platform-inline .tile-platform-value{color:#3d4551;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}@media (max-width:768px){.clients-grid{grid-template-columns:1fr}}.client-card{background:#fff;border:1px solid #0000000f;border-radius:16px;transition:border-color .25s;overflow:hidden;box-shadow:0 1px 3px #00000014}.client-card:hover{border-color:#c9a84c1f}.client-header{background:linear-gradient(#c9a84c05 0%,#0000 100%);border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:18px 24px 14px;display:flex}.client-name-row{align-items:center;gap:12px;display:flex}.client-avatar{color:#c9a84c;background:linear-gradient(135deg,#f0ede6 0%,#fafaf7 100%);border:1px solid #c9a84c33;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:700;display:flex}.client-name{color:#1b365d;letter-spacing:.02em;font-family:DM Sans,sans-serif;font-size:16px;font-weight:700}.client-strategies-count{color:#8b95a2;margin-top:2px;font-family:JetBrains Mono,monospace;font-size:11px}.client-summary-kpis{gap:24px;display:flex}.client-kpi{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.client-kpi-label{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;font-size:11px;font-weight:600}.client-kpi-value{color:#1b365d;font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700}.client-kpi-value.positive{color:#0a8754}.client-kpi-value.negative{color:#c33}.client-strategy-section{border-top:1px solid #0000000a}.client-strategy-header{justify-content:space-between;align-items:center;padding:12px 24px 8px;display:flex}.client-strategy-title-row{align-items:center;gap:10px;display:flex}.client-strategy-title{color:#1b365d;letter-spacing:.02em;font-size:13px;font-weight:600}.client-strategy-type-badge{letter-spacing:.08em;text-transform:uppercase;color:#c9a84c;background:#c9a84c0f;border:1px solid #c9a84c1f;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.client-strategy-body{grid-template-columns:1fr 1fr;gap:0;padding:0 24px 12px;display:grid}.client-strategy-balance-panel{border-right:1px solid #0000000a;padding:12px 16px 12px 0}.client-strategy-platforms-panel{padding:12px 0 12px 16px}.admin-page{background:#f5f2eb;flex-direction:column;min-height:100vh;display:flex}.admin-tabs{background:#fffffff5;border-bottom:1px solid #0000000f;flex-shrink:0;gap:0;padding:0 28px;display:flex}.admin-tab{letter-spacing:.06em;text-transform:uppercase;color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:14px 24px 12px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;transition:all .25s;position:relative}.admin-tab:hover{color:#7a9aba;background:#c9a84c05}.admin-tab.active{color:#c9a84c;background:#c9a84c0a;border-bottom-color:#0000}.admin-tab.active:after{content:"";background:linear-gradient(90deg,#0000,#c9a84c,#0000);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:12px;right:12px;box-shadow:0 0 8px #c9a84c66}.admin-main{scroll-behavior:smooth;flex-direction:column;flex:1;gap:24px;padding:20px 28px 40px;display:flex;overflow-y:auto}.admin-loading,.admin-section{flex-direction:column;gap:16px;display:flex}.admin-section-title{color:#1b365d;letter-spacing:.01em;padding-left:4px;font-family:DM Sans,sans-serif;font-size:18px;font-weight:600}.admin-table-wrap{background:#fff;border:1px solid #0000000f;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014,0 2px 6px #0000000d}.admin-table{border-collapse:collapse;width:100%}.admin-table thead{background:0 0}.admin-table th{letter-spacing:.05em;text-transform:uppercase;color:#8b95a2;text-align:left;border-bottom:1px solid #c9a84c14;padding:14px 18px 12px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500}.admin-table td{color:#1b365d;vertical-align:middle;border-bottom:1px solid #0000000a;border-left:3px solid #0000;padding:14px 18px;font-size:13px;transition:border-left-color .2s,background .2s}.admin-table tbody tr{transition:background .2s}.admin-table tbody tr:nth-child(odd){background:#c9a84c03}.admin-table tbody tr:hover{background:#c9a84c0a}.admin-table tbody tr:hover td:first-child{border-left-color:#c9a84c}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table .align-right{text-align:right}.admin-table .mono{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700}.admin-table .text-muted{color:#6b7280}.admin-table .user-name{color:#1b365d;font-weight:600}.admin-table .user-email{color:#6b7280;font-family:JetBrains Mono,monospace;font-size:11px}.admin-table .strategy-name{color:#1b365d;font-weight:600}.admin-table .strategies-cell{color:#7a9aba;max-width:200px;font-size:12px}.admin-table .platforms-cell{flex-wrap:wrap;gap:4px;display:flex}.role-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.role-investor{color:#c9a84c;background:#c9a84c14;border:1px solid #c9a84c26}.role-executor{color:#0a8754;background:#0a875414;border:1px solid #0a875426}.role-manager{color:#f0c040;background:#f0c04014;border:1px solid #f0c04026}.role-admin{color:#c33;background:#ff6b6b14;border:1px solid #ff6b6b26}.type-badge{letter-spacing:.06em;color:#7a9aba;text-transform:uppercase;background:#0000000f;border:1px solid #0000000f;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.platform-pill{color:#5a6878;background:linear-gradient(135deg,#8ab4e814 0%,#c9a84c0a 100%);border:1px solid #8ab4e826;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;transition:border-color .2s,background .2s;display:inline-flex}.platform-pill:hover{background:linear-gradient(135deg,#8ab4e81f 0%,#c9a84c0f 100%);border-color:#8ab4e840}.platform-pill-bal{color:#6b7280;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.data-freshness-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;max-width:1100px;display:grid}.freshness-card{background:#fff;border:1px solid #0000000f;border-left:3px solid #9aa2ae;border-radius:12px;flex-direction:column;gap:8px;padding:16px 18px;transition:border-color .25s,transform .25s,box-shadow .25s;display:flex;box-shadow:0 1px 3px #00000014}.freshness-card:has(.freshness-dot.fresh){border-left-color:#0a8754}.freshness-card:has(.freshness-dot.warm){border-left-color:#f0a830}.freshness-card:has(.freshness-dot.stale){border-left-color:#c33}.freshness-card:hover{transform:translateY(-1px);box-shadow:0 1px 3px #00000014,0 2px 8px #0000000f}.freshness-header{justify-content:space-between;align-items:center;display:flex}.freshness-name{color:#1b365d;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600}.freshness-dot{border-radius:50%;width:8px;height:8px}.freshness-dot.fresh{background:#0a8754;animation:2s ease-in-out infinite dotPulse;box-shadow:0 0 8px #0a8754}.freshness-dot.warm{background:#f0a830;box-shadow:0 0 8px #f0a830}.freshness-dot.stale{background:#c33;box-shadow:0 0 8px #c33}.freshness-info{justify-content:space-between;align-items:center;display:flex}.freshness-label{color:#6b7280;font-family:JetBrains Mono,monospace;font-size:11px}.freshness-count{color:#8b95a2;font-size:11px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dotPulse{0%,to{opacity:1;box-shadow:0 0 8px}50%{opacity:.7;box-shadow:0 0 14px}}.admin-section{animation:.35s both fadeInUp}.admin-section:first-child{animation-delay:50ms}.admin-section:nth-child(2){animation-delay:.1s}.admin-section:nth-child(3){animation-delay:.15s}
