:root{font-family:Space Grotesk,Trebuchet MS,sans-serif;color:#e8eef6;background:radial-gradient(circle at 10% 10%,#1f3348,#08111b 45%,#060b12)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:transparent}#root{min-height:100vh}.page-shell{min-height:100vh;padding:20px}.center-layout{display:grid;place-items:center}.dashboard-layout{display:flex;flex-direction:column;gap:16px}.dashboard-columns{display:flex;gap:24px;align-items:flex-start}.dashboard-left-column{flex:0 0 350px;max-width:350px}.dashboard-right-column{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:20px}.top-nav{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.top-nav-brand{display:flex;align-items:center;gap:14px}.top-nav-logo{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#ffb02f,#ff7031);color:#0f1821;font-size:20px;font-weight:800}.top-nav-subtitle{margin:0;color:#b1c3d5;font-size:13px}.top-nav-user{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.top-nav-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.top-nav-link{border:1px solid #385270;border-radius:10px;background:#0f1b2a8c;color:#dbe7f3;padding:10px 14px;text-decoration:none;transition:background .2s ease,border-color .2s ease}.top-nav-link:hover{background:#21425dbf}.top-nav-link-active{background:linear-gradient(135deg,#21425d,#2f5d87);border-color:#4e79a1}.top-nav-email{margin:0;font-size:20px;font-weight:700}.ghost-button{border:1px solid #385270;border-radius:10px;background:transparent;color:#dbe7f3;padding:10px 14px;cursor:pointer}.card{background:linear-gradient(160deg,#ffffff14,#ffffff05);border:1px solid rgba(170,200,225,.25);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-card{width:min(460px,94vw);padding:32px;text-align:center}.login-card h1{margin-bottom:8px}.login-card p{color:#c2cfdb}.app-login-form{display:grid;gap:10px;margin-top:16px;text-align:left}.app-login-form label{color:#b4c5d8;font-size:13px}.app-login-form input{background:#0f1b2a;border:1px solid #2a4058;border-radius:10px;color:#deebf6;padding:10px}.auth-switch{margin:14px 0 0;font-size:13px}.auth-switch a{color:#7dd7ff;text-decoration:none}.lock-badge{width:56px;height:56px;margin:0 auto 16px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#ffb02f,#ff7031);color:#0f1821;font-size:24px;font-weight:800}.cta-btn{border:0;border-radius:12px;background:linear-gradient(145deg,#00c289,#0093d0);color:#051019;font-size:16px;font-weight:700;padding:12px 18px;margin-top:8px;cursor:pointer}.status{margin-top:14px;color:#9ad3ff}.error-text{margin-top:8px;color:#ff9ca5}.metrics-panel{display:flex;gap:16px;padding:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.metric-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9eb0c2;margin:0 0 4px}.metric-value{margin:0;font-size:28px;font-weight:700}.metric-instrument{font-size:22px}.instrument-meta{margin:4px 0 0;color:#a4b5c7;font-size:13px}.positive{color:#42dd9f}.negative{color:#ff6363}.token-form{min-width:min(360px,100%)}.token-form label{display:block;font-size:12px;color:#9eb0c2;margin-bottom:6px}.token-field{display:flex;gap:8px;flex-wrap:wrap}.token-field input{flex:1 1 140px;min-width:120px;background:#0f1b2a;border:1px solid #2a4058;border-radius:10px;color:#deebf6;padding:8px 10px}.token-field button{border:0;border-radius:10px;padding:8px 12px;cursor:pointer;background:#23435f;color:#dce8f5}.instrument-panel{padding:14px 16px}.broker-panel{padding:16px;width:100%}.broker-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.broker-user{margin:4px 0 0;color:#a9bed3;font-size:13px}.broker-badge{border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.broker-on{background:#22c55e2e;color:#b7f7cf}.broker-off{background:#ef444429;color:#ffc7d0}.broker-form{display:grid;gap:8px;margin-top:14px}.broker-form label{color:#b4c5d8;font-size:13px}.broker-form input{background:#0f1b2a;border:1px solid #2a4058;border-radius:10px;color:#deebf6;padding:10px}.broker-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.token-button{border:0;border-radius:10px;background:#21425d;color:#dce8f5;padding:11px 14px;cursor:pointer;font-weight:600}.broker-connect-btn:disabled,.token-button:disabled,.ghost-button:disabled{opacity:.6;cursor:not-allowed}.broker-warning{margin:12px 0 0;color:#ffd39a;font-size:13px}.instrument-panel label{display:block;margin-bottom:8px;color:#b4c5d8;font-size:13px}.search-row{display:flex;gap:8px}.search-row input,.search-row select{background:#0f1b2a;border:1px solid #2a4058;border-radius:10px;color:#deebf6;padding:10px}.search-row input{flex:1 1 auto}.search-row select{width:94px}.instrument-hint{margin:8px 0 0;color:#9fb5cb;font-size:13px}.instrument-results{list-style:none;margin:10px 0 0;padding:0;max-height:260px;overflow:auto;border:1px solid rgba(170,200,225,.22);border-radius:12px}.instrument-result-item+.instrument-result-item{border-top:1px solid rgba(170,200,225,.15)}.instrument-result-btn{width:100%;text-align:left;border:0;background:transparent;color:#dbe7f3;padding:10px 12px;cursor:pointer}.instrument-result-btn:hover{background:#4276a333}.instrument-result-main{display:block;font-weight:600}.instrument-result-sub{display:block;margin-top:3px;color:#a7b9cb;font-size:12px}.chart-panel{min-height:88vh;padding:8px}.chart-container{width:100%;height:100%;min-height:0}.chart-canvas-host{width:100%;height:100%}.trading-view{display:flex;flex-direction:column;gap:14px;min-height:100%}.chart-tabs{display:inline-flex;gap:10px;flex-wrap:wrap;padding:8px}.chart-tab{border:1px solid #385270;border-radius:12px;background:#0f1b2abf;color:#dbe7f3;padding:10px 14px;cursor:pointer;font-weight:600}.chart-tab-active{border-color:#24c0ff;background:linear-gradient(145deg,#16324a,#0f2132);color:#fff;box-shadow:inset 0 0 0 1px #24c0ff3d}.chart-inline-error{min-height:600px}.trading-chart-shell{display:flex;flex-direction:column;gap:12px;width:100%;height:650px;min-height:650px;background:#131722;padding:10px;border-radius:8px}.trading-chart-body{flex:1 1 auto;min-height:0}.backtest-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.backtest-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.backtest-controls label{color:#b4c5d8;font-size:12px}.backtest-controls input{width:120px;background:#0f1b2a;border:1px solid #2a4058;border-radius:10px;color:#deebf6;padding:10px}.backtest-controls select{min-width:120px;background:#0f1b2a;border:1px solid #2a4058;border-radius:10px;color:#deebf6;padding:10px}.live-panel{padding:16px}.live-grid{display:flex;gap:20px;align-items:flex-start}.arm-column{flex:0 0 300px;max-width:300px}.bots-column{flex:1 1 auto;min-width:0}.live-subpanel{padding:16px}.arm-form{display:grid;gap:8px}.arm-form label{color:#b4c5d8;font-size:12px}.arm-form input{background:#0f1b2a;border:1px solid #2a4058;border-radius:10px;color:#deebf6;padding:10px}.bots-table-wrap{margin-top:8px;overflow:auto;max-height:320px;border-radius:12px}.bots-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.bots-summary{margin:4px 0 0;color:#9fb4c9;font-size:12px}.bots-controls{display:flex;gap:8px;flex-wrap:wrap}.bots-controls input,.bots-controls select{background:#0f1b2a;border:1px solid #2a4058;border-radius:10px;color:#deebf6;padding:10px}.bots-controls input{min-width:180px}.bots-table{width:100%;border-collapse:collapse;min-width:560px}.bots-table th,.bots-table td{border-bottom:1px solid rgba(170,200,225,.18);padding:10px 8px;text-align:left;font-size:13px}.bots-table th{color:#9fb4c9;font-size:12px;text-transform:uppercase;letter-spacing:.06em;position:sticky;top:0;z-index:1;background:#1a2634}.bots-table-wrap::-webkit-scrollbar{width:10px;height:10px}.bots-table-wrap::-webkit-scrollbar-track{background:#0f1b2abf;border-radius:999px}.bots-table-wrap::-webkit-scrollbar-thumb{background:#5a82aaa6;border-radius:999px}.bots-table-wrap::-webkit-scrollbar-thumb:hover{background:#78a5d2cc}.logs-page{padding:20px}.logs-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.logs-title{margin:4px 0 0;font-size:28px}.logs-filter-bar{display:flex;gap:15px;margin-bottom:20px;background:#131722d9;padding:15px;border-radius:12px;flex-wrap:wrap}.logs-filter-bar input,.logs-filter-bar select{padding:10px 12px;background:#1e222d;color:#fff;border:1px solid #444;border-radius:8px}.logs-filter-bar input{min-width:280px;flex:1 1 320px}.logs-table-wrap{background:#131722e0;border-radius:12px;overflow:auto}.logs-table{width:100%;border-collapse:collapse;text-align:left;min-width:760px}.logs-table thead{background:#1e222d;border-bottom:1px solid #2a2e39}.logs-table th,.logs-table td{padding:12px 15px;border-bottom:1px solid #2a2e39}.logs-table th{color:#888;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.logs-empty{padding:20px;text-align:center;color:#b1c3d5}.logs-symbol{font-weight:700}.logs-type-buy{color:#00e676;font-weight:700}.logs-type-sell{color:#ff1744;font-weight:700}.logs-reason{color:#aab7c5}.bots-empty{color:#9fb4c9}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.status-armed{color:#d9ffe9;background:#15803d59;animation:pulse 1.2s infinite}.status-disarmed{color:#ffd8dd;background:#ef444442}.disarm-btn{border:0;border-radius:8px;padding:7px 10px;font-weight:600;background:linear-gradient(135deg,#ff6b6b,#e11d48);color:#081018;cursor:pointer}.disarm-btn:disabled{opacity:.6;cursor:not-allowed}.live-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.live-status-wrap{display:inline-flex;align-items:center;gap:8px}.live-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.live-dot-off{background:#ef4444;box-shadow:0 0 0 2px #ef444433}.live-dot-armed{background:#22c55e;box-shadow:0 0 0 2px #22c55e40;animation:pulse 1.2s infinite}.live-status-text{color:#a7bed4;font-size:13px}.live-controls{margin-top:12px;display:flex;gap:10px;align-items:end;flex-wrap:wrap}.live-controls label{display:block;width:100%;color:#b4c5d8;font-size:13px;margin-bottom:-2px}.live-controls input{width:120px;background:#0f1b2a;border:1px solid #2a4058;border-radius:10px;color:#deebf6;padding:10px}.live-toggle-btn{border:0;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer;color:#071019}.live-toggle-btn:disabled{cursor:not-allowed;opacity:.65}.btn-arm{background:linear-gradient(135deg,#2cd97b,#14b86d)}.btn-arm-disabled{background:#555;color:#aaa;cursor:not-allowed}.btn-disarm{background:linear-gradient(135deg,#ff6b6b,#e11d48)}.live-symbol{margin:10px 0 0;color:#a9bed3;font-size:13px}.loading-wrap{display:grid;place-items:center;gap:10px}.loading-wrap p{margin:0;color:#b5c7d8}.loading-wrap.in-panel{min-height:360px}.spinner{width:32px;height:32px;border:3px solid rgba(200,214,230,.25);border-top-color:#77c6ff;border-radius:50%;animation:spin .9s linear infinite}.error-block{color:#ff8d95;min-height:360px;display:grid;place-items:center}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{box-shadow:0 0 #22c55e66}70%{box-shadow:0 0 0 8px #22c55e00}to{box-shadow:0 0 #22c55e00}}@media(max-width:768px){.page-shell{padding:14px}.metric-value{font-size:24px}.top-nav-user{width:100%;justify-content:space-between}.top-nav-links,.logs-filter-bar input,.logs-filter-bar select{width:100%}.dashboard-columns{flex-direction:column}.dashboard-left-column,.dashboard-right-column,.arm-column,.bots-column{max-width:none;width:100%;flex:1 1 auto}.metric-instrument{font-size:20px}.search-row{flex-wrap:wrap}.search-row select{width:100%}.broker-actions{flex-direction:column}.broker-actions button,.broker-panel{width:100%}.live-grid{flex-direction:column}.chart-panel{min-height:74vh}.trading-chart-shell{height:560px;min-height:560px}}
