*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#1a1a2e;color:#eee;min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh}.header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#16213e;border-bottom:1px solid #0f3460}.header h1{font-size:1.5rem;color:#e94560}.connection-status{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.connection-status.connected{background:#2d6a4f;color:#52b788}.connection-status.disconnected{background:#9d0208;color:#ff6b6b}.nav{display:flex;gap:.5rem;padding:1rem 2rem;background:#16213e;border-bottom:1px solid #0f3460}.nav button{padding:.5rem 1rem;background:transparent;border:1px solid #0f3460;color:#aaa;border-radius:6px;cursor:pointer;transition:all .2s}.nav button:hover{background:#0f3460;color:#fff}.nav button.active{background:#e94560;border-color:#e94560;color:#fff}.main{flex:1;padding:2rem;overflow-y:auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#16213e;padding:1.5rem;border-radius:8px;border:1px solid #0f3460}.stat-card h3{font-size:.875rem;color:#888;margin-bottom:.5rem}.stat-value{font-size:1.75rem;font-weight:600}.stat-value.positive{color:#52b788}.stat-value.negative{color:#ff6b6b}.stat-label{font-size:.75rem;color:#666;margin-top:.25rem}.analysis-card{background:#16213e;padding:1.5rem;border-radius:8px;border:1px solid #0f3460;margin-bottom:2rem}.analysis-card h2{margin-bottom:1rem}.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.analysis-header h2{margin-bottom:0}.refresh-btn{padding:.5rem 1rem;background:#0f3460;border:1px solid #16213e;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;transition:all .2s}.refresh-btn:hover:not(:disabled){background:#e94560}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.cached-notice{font-size:.75rem;color:#e9c46a;margin-bottom:1rem;padding:.5rem;background:#e9c46a1a;border-radius:4px}.analysis-card.loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:#888}.analysis-price{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.analysis-price .price{font-size:2rem;font-weight:600}.analysis-time{font-size:.75rem;color:#666;margin-bottom:1rem}.indicators-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.indicator{background:#0f3460;padding:1rem;border-radius:6px}.indicator.buy{border-left:3px solid #52b788}.indicator.sell{border-left:3px solid #ff6b6b}.indicator.neutral{border-left:3px solid #888}.indicator h4{font-size:.875rem;color:#888;margin-bottom:.5rem}.indicator-value{font-size:.875rem;margin-bottom:.5rem}.indicator-signal{font-size:.75rem;font-weight:600}.indicator.buy .indicator-signal{color:#52b788}.indicator.sell .indicator-signal{color:#ff6b6b}table{width:100%;border-collapse:collapse}th,td{padding:.75rem;text-align:left;border-bottom:1px solid #0f3460}th{font-size:.75rem;color:#888;text-transform:uppercase;font-weight:500}td.positive{color:#52b788}td.negative{color:#ff6b6b}.positions-preview,.orders-preview{background:#16213e;padding:1.5rem;border-radius:8px;border:1px solid #0f3460;margin-bottom:1.5rem}.positions-preview h3,.orders-preview h3{margin-bottom:1rem}.no-data{color:#666;font-style:italic;padding:1rem}.positions-table h2{margin-bottom:1.5rem}.add-position-form{background:#16213e;padding:1.5rem;border-radius:8px;border:1px solid #0f3460;margin-bottom:2rem}.add-position-form h3{margin-bottom:1rem}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.form-row input{flex:1;min-width:120px;padding:.75rem;background:#0f3460;border:1px solid #16213e;border-radius:6px;color:#fff;font-size:.875rem}.form-row button{padding:.75rem 1.5rem;background:#e94560;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500}.form-row button:disabled{opacity:.6;cursor:not-allowed}.positions-section{background:#16213e;padding:1.5rem;border-radius:8px;border:1px solid #0f3460;margin-bottom:1.5rem}.positions-section h3{margin-bottom:1rem}.btn-close{padding:.5rem 1rem;background:#9d0208;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem}.settings-panel h2{margin-bottom:1.5rem}.settings-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.settings-tabs button{padding:.5rem 1rem;background:transparent;border:1px solid #0f3460;color:#aaa;border-radius:6px;cursor:pointer}.settings-tabs button.active{background:#e94560;border-color:#e94560;color:#fff}.settings-form,.weights-form{background:#16213e;padding:1.5rem;border-radius:8px;border:1px solid #0f3460}.form-group{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #0f3460}.form-group label{flex:1;font-size:.875rem}.form-group input,.form-group select{width:200px;padding:.5rem;background:#0f3460;border:1px solid #16213e;border-radius:4px;color:#fff;font-size:.875rem}.btn-save{margin-top:1.5rem;padding:.75rem 1.5rem;background:#e94560;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500}.btn-save:disabled{opacity:.6;cursor:not-allowed}.weights-form .weight-group{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid #0f3460}.weights-form label{width:150px}.weights-form input[type=range]{flex:1}.weight-value{width:50px;text-align:right;font-weight:600}.weights-info{margin-bottom:1rem;color:#888}.ai-proposal h2{margin-bottom:1.5rem}.ai-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.btn-generate{padding:.75rem 1.5rem;background:#2d6a4f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500}.btn-generate:disabled{opacity:.6;cursor:not-allowed}.filter-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.filter-tabs button{padding:.5rem 1rem;background:transparent;border:1px solid #0f3460;color:#aaa;border-radius:6px;cursor:pointer}.filter-tabs button.active{background:#e94560;border-color:#e94560;color:#fff}.proposals-list{display:flex;flex-direction:column;gap:1rem}.proposal-card{background:#16213e;padding:1.5rem;border-radius:8px;border:1px solid #0f3460}.proposal-card.pending{border-left:3px solid #e9c46a}.proposal-card.approved{border-left:3px solid #52b788}.proposal-card.denied{border-left:3px solid #ff6b6b}.proposal-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.status-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.pending{background:#e9c46a;color:#1a1a2e}.status-badge.approved{background:#52b788;color:#1a1a2e}.status-badge.denied{background:#ff6b6b;color:#1a1a2e}.proposal-type{font-size:.875rem;color:#888}.proposal-date{font-size:.75rem;color:#666;margin-left:auto}.parameter-change{background:#0f3460;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.875rem}.old-value{color:#ff6b6b;text-decoration:line-through}.new-value{color:#52b788}.arrow{color:#888}.reasoning{font-size:.875rem;color:#ccc;line-height:1.5}.proposal-actions{display:flex;gap:1rem;margin-top:1rem}.btn-approve,.btn-deny{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:500}.btn-approve{background:#52b788;color:#1a1a2e}.btn-deny{background:#9d0208;color:#fff}.resolved-at{font-size:.75rem;color:#666;margin-top:.5rem}.llm-config h2{margin-bottom:1rem}.llm-config .info-text{color:#888;margin-bottom:1.5rem;font-size:.875rem}.config-form{background:#16213e;padding:1.5rem;border-radius:8px;border:1px solid #0f3460;max-width:500px}.config-form .form-group{display:block;margin-bottom:1rem}.config-form label{display:block;margin-bottom:.5rem;font-size:.875rem;color:#888}.config-form input,.config-form select{width:100%;padding:.75rem;background:#0f3460;border:1px solid #16213e;border-radius:6px;color:#fff;font-size:.875rem}.button-group{display:flex;gap:1rem;margin-top:1.5rem}.btn-test{padding:.75rem 1.5rem;background:#0f3460;border:1px solid #16213e;border-radius:6px;color:#fff;cursor:pointer;font-weight:500}.btn-test:disabled{opacity:.6;cursor:not-allowed}.message{padding:.75rem;border-radius:6px;margin-top:1rem;font-size:.875rem}.message.success{background:#2d6a4f;color:#52b788}.message.error{background:#9d0208;color:#ff6b6b}.header-actions{display:flex;align-items:center;gap:1rem}.activity-toggle{padding:.5rem 1rem;background:transparent;border:1px solid #0f3460;color:#aaa;border-radius:6px;cursor:pointer;transition:all .2s}.activity-toggle:hover{background:#0f3460;color:#fff}.activity-toggle.active{background:#e94560;border-color:#e94560;color:#fff}.main.with-sidebar{display:flex;gap:1rem}.main.with-sidebar .content{flex:1;min-width:0}.sidebar{width:350px;flex-shrink:0}.activity-log{background:#16213e;border-radius:8px;border:1px solid #0f3460;height:calc(100vh - 180px);display:flex;flex-direction:column}.activity-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #0f3460}.activity-header h3{font-size:1rem;margin:0}.btn-run{padding:.5rem 1rem;background:#2d6a4f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;font-size:.75rem}.btn-run:hover:not(:disabled){background:#40916c}.btn-run:disabled{opacity:.6;cursor:not-allowed}.btn-run.running{background:#e9c46a;color:#1a1a2e}.activity-filters{display:flex;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid #0f3460}.activity-filters button{padding:.25rem .5rem;background:transparent;border:1px solid #0f3460;color:#aaa;border-radius:4px;cursor:pointer;font-size:.7rem}.activity-filters button.active{background:#e94560;border-color:#e94560;color:#fff}.activity-list{flex:1;overflow-y:auto;padding:.5rem}.activity-item{padding:.75rem;border-radius:6px;margin-bottom:.5rem;background:#0f3460}.activity-item.trade{border-left:3px solid #52b788}.activity-item.analysis{border-left:3px solid #e9c46a}.activity-item.system{border-left:3px solid #4cc9f0}.activity-item.cron{border-left:3px solid #9d4edd}.activity-item.error{border-left:3px solid #ff6b6b}.activity-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.activity-type{font-size:.65rem;font-weight:600}.activity-time{font-size:.65rem;color:#666}.activity-message{font-size:.8rem;margin:0;color:#ccc}.activity-details{font-size:.7rem;color:#888;margin:.25rem 0 0;word-break:break-word}.signal-strong-buy{background:#52b788}.signal-buy{background:#95d5b2}.signal-neutral{background:#aaa}.signal-sell{background:#f4978e}.signal-strong-sell{background:#e63946}.analysis-content{display:flex;gap:2rem}.analysis-main{flex:1}.recent-coins-sidebar{width:220px;flex-shrink:0;border-left:1px solid #0f3460;padding-left:1.5rem}.recent-coins-sidebar h3{font-size:.875rem;color:#888;margin-bottom:.75rem;text-transform:uppercase}.recent-coins-badges{display:flex;flex-wrap:wrap;gap:.5rem}.coin-badge{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .6rem;border-radius:4px;cursor:pointer;transition:all .2s;position:relative}.coin-badge-name{font-size:.75rem;font-weight:600;color:#1a1a2e}.coin-badge-signal{position:absolute;top:-8px;right:-8px;background:#1a1a2e;color:#fff;font-size:.55rem;padding:.15rem .35rem;border-radius:3px;opacity:0;white-space:nowrap;transition:opacity .2s;pointer-events:none}.coin-badge:hover .coin-badge-signal{opacity:1}.coin-badge.active{box-shadow:0 0 0 2px #e94560}.coin-badge-strong_buy{background:#52b788}.coin-badge-buy{background:#95d5b2}.coin-badge-neutral{background:#666}.coin-badge-sell{background:#f4978e}.coin-badge-strong_sell{background:#e63946}
