beast-agent 2.76.5 → 2.77.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/agent/bots.js +669 -664
- package/src/agent/customtools.js +6 -19
- package/src/agent/engine.js +55 -307
- package/src/agent/seeds/tool-yazma/SKILL.md +13 -16
- package/src/agent/skills.js +14 -35
- package/src/agent/supertonic.js +622 -0
- package/src/agent/tools.js +3 -7
- package/src/main.js +77 -6068
- package/src/preload.js +2 -17
- package/src/renderer/i18n.js +14 -8
- package/src/renderer/index.html +0 -297
- package/src/renderer/renderer.js +142 -2280
- package/src/renderer/style.css +3 -825
- package/src/agent/defaulttools/mt5_barlar2/run.js +0 -188
- package/src/agent/defaulttools/mt5_barlar2/tool.json +0 -23
- package/src/agent/defaulttools/mt5_bekleyen/run.js +0 -105
- package/src/agent/defaulttools/mt5_bekleyen/tool.json +0 -18
- package/src/agent/defaulttools/mt5_durum/run.js +0 -93
- package/src/agent/defaulttools/mt5_durum/tool.json +0 -10
- package/src/agent/defaulttools/mt5_emir/run.js +0 -98
- package/src/agent/defaulttools/mt5_emir/tool.json +0 -17
- package/src/agent/defaulttools/mt5_emir_iptal/run.js +0 -90
- package/src/agent/defaulttools/mt5_emir_iptal/tool.json +0 -12
- package/src/agent/defaulttools/mt5_fiyat/run.js +0 -87
- package/src/agent/defaulttools/mt5_fiyat/tool.json +0 -16
- package/src/agent/defaulttools/mt5_gecmis/run.js +0 -87
- package/src/agent/defaulttools/mt5_gecmis/tool.json +0 -12
- package/src/agent/defaulttools/mt5_kapat/run.js +0 -108
- package/src/agent/defaulttools/mt5_kapat/tool.json +0 -15
- package/src/agent/defaulttools/mt5_m15_m5/m15m5.py +0 -60
- package/src/agent/defaulttools/mt5_m15_m5/run.js +0 -73
- package/src/agent/defaulttools/mt5_m15_m5/tool.json +0 -10
- package/src/agent/defaulttools/mt5_pozisyon_gecmis/run.js +0 -144
- package/src/agent/defaulttools/mt5_pozisyon_gecmis/tool.json +0 -12
- package/src/agent/defaulttools/mt5_shot/run.js +0 -649
- package/src/agent/defaulttools/mt5_shot/stitch.js +0 -151
- package/src/agent/defaulttools/mt5_shot/tool.json +0 -25
- package/src/agent/defaulttools/mt5_sltp/run.js +0 -92
- package/src/agent/defaulttools/mt5_sltp/tool.json +0 -14
- package/src/agent/financetools.js +0 -1025
- package/src/agent/finindicators.js +0 -254
- package/src/agent/finrisk.js +0 -289
- package/src/agent/finstats.js +0 -239
- package/src/agent/finwatch.js +0 -302
- package/src/agent/mt5/BeastFinance.mq5 +0 -498
- package/src/agent/mt5/BeastShot.tpl +0 -0
- package/src/agent/mt5setup.js +0 -542
- package/src/agent/scripts/mt5_bridge.py +0 -575
- package/src/agent/seeds/haber-duygu/SKILL.md +0 -49
- package/src/agent/seeds/mql5/SKILL.md +0 -154
- package/src/agent/seeds/price-action/SKILL.md +0 -60
- package/src/agent/seeds/risk-yonetimi/SKILL.md +0 -52
- package/src/mt5bridge.js +0 -215
package/src/renderer/style.css
CHANGED
|
@@ -324,8 +324,8 @@ body:not(.ide-mode):not(.studio-mode):not(.sandbox-mode) #watchPane { display: f
|
|
|
324
324
|
#studioBtn.on { background: var(--accent-dim); color: var(--accent); }
|
|
325
325
|
|
|
326
326
|
/* model refresh butonları — çekerken döner */
|
|
327
|
-
#modelRefreshBtn.spin
|
|
328
|
-
#modelRefreshBtn.spin
|
|
327
|
+
#modelRefreshBtn.spin { opacity: .7; pointer-events: none; }
|
|
328
|
+
#modelRefreshBtn.spin { animation: beast-spin 0.9s linear infinite; }
|
|
329
329
|
@keyframes beast-spin { to { transform: rotate(360deg); } }
|
|
330
330
|
|
|
331
331
|
/* ---------- cron modülü (ayarlar sekmesi) ---------- */
|
|
@@ -1504,8 +1504,6 @@ body.browser-open .mini-overlay { right: var(--bw, 480px); }
|
|
|
1504
1504
|
.mini-row.off .mr-name, .mini-row.off .mr-meta { opacity: 0.45; }
|
|
1505
1505
|
.mr-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ok); flex: none; }
|
|
1506
1506
|
.mini-row.off .mr-dot { background: var(--muted); }
|
|
1507
|
-
/* Beast Finance fiyat alarmları: izleyici listesinde turuncu nokta ile ayrılır */
|
|
1508
|
-
.wp-row.alarm .wp-dot, .mini-row.alarm .mr-dot { background: #e6a117; }
|
|
1509
1507
|
.mr-main { flex: 1; min-width: 0; }
|
|
1510
1508
|
.mr-name { font-weight: 700; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
1511
1509
|
.mr-meta { color: var(--muted); font-size: 11px; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
@@ -2325,7 +2323,7 @@ body.browser-open #settingsDialog { width: min(70vw, calc(100vw - var(--bw, 480p
|
|
|
2325
2323
|
color: var(--muted);
|
|
2326
2324
|
margin-top: 2px;
|
|
2327
2325
|
}
|
|
2328
|
-
/* ajan DM görseli (
|
|
2326
|
+
/* ajan DM görseli (ekran görüntüsü paylaşımı) */
|
|
2329
2327
|
.dmt-msg .dmt-img {
|
|
2330
2328
|
display: block;
|
|
2331
2329
|
max-width: 100%;
|
|
@@ -2469,20 +2467,6 @@ body.browser-open #settingsDialog { width: min(70vw, calc(100vw - var(--bw, 480p
|
|
|
2469
2467
|
letter-spacing: 0.4px;
|
|
2470
2468
|
}
|
|
2471
2469
|
|
|
2472
|
-
/* sembol seçicide bölüm başlıkları (geçmiş / tüm semboller) */
|
|
2473
|
-
.fin-sym-sec {
|
|
2474
|
-
font-size: 10px;
|
|
2475
|
-
font-weight: 800;
|
|
2476
|
-
letter-spacing: 0.6px;
|
|
2477
|
-
color: var(--accent);
|
|
2478
|
-
padding: 8px 4px 3px;
|
|
2479
|
-
border-bottom: 1px solid var(--border);
|
|
2480
|
-
margin-bottom: 3px;
|
|
2481
|
-
white-space: nowrap;
|
|
2482
|
-
overflow: hidden;
|
|
2483
|
-
text-overflow: ellipsis;
|
|
2484
|
-
}
|
|
2485
|
-
|
|
2486
2470
|
/* ---------- BOT SİSTEMİ (sol panel alt bölümü + bot sayfası) ---------- */
|
|
2487
2471
|
|
|
2488
2472
|
/* üst bardaki aktif bot rozeti */
|
|
@@ -5280,809 +5264,3 @@ body.mcp-mode #mcpRow { display: flex; flex-direction: row; }
|
|
|
5280
5264
|
pointer-events: none;
|
|
5281
5265
|
}
|
|
5282
5266
|
|
|
5283
|
-
/* ================= BEAST FINANCE MODU =================
|
|
5284
|
-
Studio/Sandbox'tan farklı düzen: SOL sidebar (sohbet geçmişi + izleyiciler)
|
|
5285
|
-
ve ORTA chat AYNI kalır; SAĞDA MT5 işlem paneli açılır. İki ajan:
|
|
5286
|
-
chat copilot'ı (aktif sohbet) + otonom TRADER (farklı API/model). */
|
|
5287
|
-
|
|
5288
|
-
#finPanel { display: none; }
|
|
5289
|
-
|
|
5290
|
-
body.finance-mode #main { position: relative; }
|
|
5291
|
-
|
|
5292
|
-
body.finance-mode #finPanel {
|
|
5293
|
-
display: flex;
|
|
5294
|
-
flex-direction: column;
|
|
5295
|
-
position: absolute;
|
|
5296
|
-
top: 46px;
|
|
5297
|
-
right: 0;
|
|
5298
|
-
bottom: 0;
|
|
5299
|
-
width: var(--finW, 400px);
|
|
5300
|
-
min-width: 320px;
|
|
5301
|
-
background: var(--bg);
|
|
5302
|
-
border-left: 1px solid var(--border);
|
|
5303
|
-
z-index: 40;
|
|
5304
|
-
}
|
|
5305
|
-
|
|
5306
|
-
/* chat alanı sağda panel payı kadar kırpılır */
|
|
5307
|
-
body.finance-mode #chatScroll,
|
|
5308
|
-
body.finance-mode #composerWrap { margin-right: var(--finW, 400px); }
|
|
5309
|
-
|
|
5310
|
-
#finBtn.on { background: var(--accent-dim); color: var(--accent); }
|
|
5311
|
-
|
|
5312
|
-
#finHead {
|
|
5313
|
-
flex: none;
|
|
5314
|
-
display: flex;
|
|
5315
|
-
align-items: center;
|
|
5316
|
-
gap: 7px;
|
|
5317
|
-
padding: 9px 12px;
|
|
5318
|
-
border-bottom: 1px solid var(--border);
|
|
5319
|
-
background: var(--panel);
|
|
5320
|
-
}
|
|
5321
|
-
#finTitle { font-size: 11px; font-weight: 800; letter-spacing: 1px; color: var(--accent); }
|
|
5322
|
-
#finTerm {
|
|
5323
|
-
font-size: 11px;
|
|
5324
|
-
color: var(--muted);
|
|
5325
|
-
max-width: 150px;
|
|
5326
|
-
white-space: nowrap;
|
|
5327
|
-
overflow: hidden;
|
|
5328
|
-
text-overflow: ellipsis;
|
|
5329
|
-
}
|
|
5330
|
-
#finHead button {
|
|
5331
|
-
background: none;
|
|
5332
|
-
border: none;
|
|
5333
|
-
color: var(--muted);
|
|
5334
|
-
font-size: 13px;
|
|
5335
|
-
cursor: pointer;
|
|
5336
|
-
padding: 3px 7px;
|
|
5337
|
-
border-radius: 6px;
|
|
5338
|
-
}
|
|
5339
|
-
#finHead button:hover { background: var(--panel2); color: var(--text); }
|
|
5340
|
-
|
|
5341
|
-
.fin-dot {
|
|
5342
|
-
flex: none;
|
|
5343
|
-
width: 9px;
|
|
5344
|
-
height: 9px;
|
|
5345
|
-
border-radius: 50%;
|
|
5346
|
-
background: var(--muted);
|
|
5347
|
-
}
|
|
5348
|
-
.fin-dot.on { background: #22c55e; box-shadow: 0 0 6px rgba(34, 197, 94, 0.7); }
|
|
5349
|
-
.fin-dot.off { background: #ef4444; }
|
|
5350
|
-
.fin-dot.busy { background: #eab308; box-shadow: 0 0 6px rgba(234, 179, 8, 0.7); }
|
|
5351
|
-
|
|
5352
|
-
#finBody {
|
|
5353
|
-
flex: 1;
|
|
5354
|
-
min-height: 0;
|
|
5355
|
-
overflow-y: auto;
|
|
5356
|
-
display: flex;
|
|
5357
|
-
flex-direction: column;
|
|
5358
|
-
gap: 8px;
|
|
5359
|
-
padding: 10px;
|
|
5360
|
-
}
|
|
5361
|
-
|
|
5362
|
-
.fin-card {
|
|
5363
|
-
flex: none;
|
|
5364
|
-
border: 1px solid var(--border);
|
|
5365
|
-
border-radius: 10px;
|
|
5366
|
-
background: var(--panel);
|
|
5367
|
-
padding: 9px 10px;
|
|
5368
|
-
}
|
|
5369
|
-
.fin-card.fin-grow { flex: 1 1 auto; min-height: 90px; display: flex; flex-direction: column; }
|
|
5370
|
-
.fin-card-title {
|
|
5371
|
-
font-size: 10px;
|
|
5372
|
-
font-weight: 800;
|
|
5373
|
-
letter-spacing: 1px;
|
|
5374
|
-
color: var(--muted);
|
|
5375
|
-
margin-bottom: 7px;
|
|
5376
|
-
display: flex;
|
|
5377
|
-
align-items: center;
|
|
5378
|
-
gap: 6px;
|
|
5379
|
-
}
|
|
5380
|
-
.fin-grip {
|
|
5381
|
-
flex: none;
|
|
5382
|
-
cursor: grab;
|
|
5383
|
-
color: var(--muted);
|
|
5384
|
-
font-size: 12px;
|
|
5385
|
-
line-height: 1;
|
|
5386
|
-
letter-spacing: -1px;
|
|
5387
|
-
opacity: 0.7;
|
|
5388
|
-
user-select: none;
|
|
5389
|
-
-webkit-user-select: none;
|
|
5390
|
-
}
|
|
5391
|
-
.fin-grip:hover { color: var(--accent); opacity: 1; }
|
|
5392
|
-
.fin-grip:active { cursor: grabbing; }
|
|
5393
|
-
.fin-card.fin-dragging { opacity: 0.45; border-style: dashed; }
|
|
5394
|
-
.fin-card.fin-drop-top { box-shadow: 0 -3px 0 0 var(--accent); }
|
|
5395
|
-
.fin-card.fin-drop-bottom { box-shadow: 0 3px 0 0 var(--accent); }
|
|
5396
|
-
|
|
5397
|
-
.fin-grid {
|
|
5398
|
-
display: grid;
|
|
5399
|
-
grid-template-columns: 1fr 1fr;
|
|
5400
|
-
gap: 6px 10px;
|
|
5401
|
-
}
|
|
5402
|
-
.fin-kv { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
|
|
5403
|
-
.fin-kv span { font-size: 10px; color: var(--muted); }
|
|
5404
|
-
.fin-kv b { font-size: 13px; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
5405
|
-
|
|
5406
|
-
.fin-row { display: flex; align-items: center; gap: 8px; margin-bottom: 7px; }
|
|
5407
|
-
.fin-row:last-child { margin-bottom: 0; }
|
|
5408
|
-
.fin-row.fin-mini { gap: 6px; }
|
|
5409
|
-
.fin-row.fin-mini label { flex: none; font-size: 10px; color: var(--muted); min-width: 44px; }
|
|
5410
|
-
.fin-row.fin-mini input { width: 60px; }
|
|
5411
|
-
.fin-row input, .fin-row select {
|
|
5412
|
-
flex: 1;
|
|
5413
|
-
min-width: 0;
|
|
5414
|
-
background: var(--panel2);
|
|
5415
|
-
border: 1px solid var(--border);
|
|
5416
|
-
color: var(--text);
|
|
5417
|
-
font-size: 12px;
|
|
5418
|
-
padding: 4px 7px;
|
|
5419
|
-
border-radius: 6px;
|
|
5420
|
-
}
|
|
5421
|
-
.fin-row input:focus, .fin-row select:focus { border-color: var(--accent); outline: none; }
|
|
5422
|
-
|
|
5423
|
-
/* TRADE AJANI formu — etiket üstte, kontrol altta; tur/max lot 2 kolon */
|
|
5424
|
-
.fin-field { display: flex; flex-direction: column; gap: 3px; min-width: 0; margin-bottom: 8px; }
|
|
5425
|
-
.fin-field > span { font-size: 10px; color: var(--muted); }
|
|
5426
|
-
.fin-field input, .fin-field select, .fin-field textarea {
|
|
5427
|
-
width: 100%;
|
|
5428
|
-
min-width: 0;
|
|
5429
|
-
background: var(--panel2);
|
|
5430
|
-
border: 1px solid var(--border);
|
|
5431
|
-
color: var(--text);
|
|
5432
|
-
font-size: 12px;
|
|
5433
|
-
padding: 4px 7px;
|
|
5434
|
-
border-radius: 6px;
|
|
5435
|
-
}
|
|
5436
|
-
.fin-field input:focus, .fin-field select:focus, .fin-field textarea:focus { border-color: var(--accent); outline: none; }
|
|
5437
|
-
.fin-time-row { display: flex; gap: 6px; }
|
|
5438
|
-
.fin-time-row input { flex: 1; min-width: 0; }
|
|
5439
|
-
/* Ajan talimatı: çok satırlı not alanı (dikey büyütülebilir) */
|
|
5440
|
-
.fin-field textarea {
|
|
5441
|
-
resize: vertical;
|
|
5442
|
-
min-height: 46px;
|
|
5443
|
-
max-height: 140px;
|
|
5444
|
-
line-height: 1.35;
|
|
5445
|
-
font-family: inherit;
|
|
5446
|
-
}
|
|
5447
|
-
.fin-field .fin-sym-select { width: 100%; }
|
|
5448
|
-
.fin-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
|
|
5449
|
-
.fin-grid2 .fin-field { margin-bottom: 8px; }
|
|
5450
|
-
.fin-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
|
|
5451
|
-
.fin-grid3 .fin-field { margin-bottom: 8px; }
|
|
5452
|
-
.fin-hint { font-style: normal; opacity: 0.75; }
|
|
5453
|
-
/* RİSK OTOMASYONU + PERFORMANS kartları */
|
|
5454
|
-
.fin-check label { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--text); cursor: pointer; }
|
|
5455
|
-
.fin-check input { accent-color: var(--accent); margin: 0; }
|
|
5456
|
-
.fin-kv b.pos { color: #22c55e; }
|
|
5457
|
-
.fin-kv b.neg { color: #ef4444; }
|
|
5458
|
-
.fin-equity { height: 34px; margin-bottom: 8px; color: var(--muted); }
|
|
5459
|
-
.fin-equity svg { width: 100%; height: 100%; display: block; }
|
|
5460
|
-
.fin-equity svg.up { color: #22c55e; }
|
|
5461
|
-
.fin-equity svg.down { color: #ef4444; }
|
|
5462
|
-
.fin-alerts { margin-top: 6px; display: flex; flex-direction: column; gap: 4px; }
|
|
5463
|
-
.fin-alert {
|
|
5464
|
-
display: flex;
|
|
5465
|
-
align-items: center;
|
|
5466
|
-
gap: 6px;
|
|
5467
|
-
font-size: 11px;
|
|
5468
|
-
background: var(--panel2);
|
|
5469
|
-
border-radius: 4px;
|
|
5470
|
-
padding: 3px 6px;
|
|
5471
|
-
min-width: 0;
|
|
5472
|
-
}
|
|
5473
|
-
.fin-alert .fa-sym { font-weight: 700; }
|
|
5474
|
-
.fin-alert .fa-cond { color: #eab308; font-variant-numeric: tabular-nums; }
|
|
5475
|
-
.fin-alert .fa-note { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
5476
|
-
/* ekib sayısı + otomatik atama özeti */
|
|
5477
|
-
.fin-team { display: flex; align-items: center; gap: 8px; min-width: 0; }
|
|
5478
|
-
.fin-team-btn { font-weight: 600; display: inline-flex; align-items: center; gap: 5px; }
|
|
5479
|
-
.fin-team-item {
|
|
5480
|
-
display: flex; align-items: flex-start; gap: 8px;
|
|
5481
|
-
padding: 6px 8px; border-radius: 6px;
|
|
5482
|
-
cursor: pointer;
|
|
5483
|
-
}
|
|
5484
|
-
.fin-team-item:hover { background: var(--panel2); }
|
|
5485
|
-
.fin-team-item input { flex: none; width: auto; margin: 2px 0 0 0; }
|
|
5486
|
-
.fin-team-txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
|
|
5487
|
-
.fin-team-txt b { font-size: 12px; color: var(--text); }
|
|
5488
|
-
.fin-team-txt i { font-size: 10.5px; font-style: normal; color: var(--muted); }
|
|
5489
|
-
.fin-team-hint {
|
|
5490
|
-
flex: 1;
|
|
5491
|
-
min-width: 0;
|
|
5492
|
-
font-size: 10.5px;
|
|
5493
|
-
color: var(--muted);
|
|
5494
|
-
white-space: nowrap;
|
|
5495
|
-
overflow: hidden;
|
|
5496
|
-
text-overflow: ellipsis;
|
|
5497
|
-
}
|
|
5498
|
-
/* POZİSYONLAR kartı içi bölüm başlığı (bekleyen emirler) */
|
|
5499
|
-
.fin-sect-title {
|
|
5500
|
-
display: flex;
|
|
5501
|
-
align-items: center;
|
|
5502
|
-
gap: 6px;
|
|
5503
|
-
margin: 9px 0 6px;
|
|
5504
|
-
padding-top: 8px;
|
|
5505
|
-
border-top: 1px dashed var(--border);
|
|
5506
|
-
font-size: 10px;
|
|
5507
|
-
font-weight: 800;
|
|
5508
|
-
letter-spacing: 1px;
|
|
5509
|
-
color: var(--muted);
|
|
5510
|
-
}
|
|
5511
|
-
|
|
5512
|
-
/* TRADE AJANI sembol seçme düğmesi — tıklayınca MT5 sembol seçici açılır */
|
|
5513
|
-
.fin-sym-select {
|
|
5514
|
-
flex: 1;
|
|
5515
|
-
min-width: 0;
|
|
5516
|
-
text-align: left;
|
|
5517
|
-
background: var(--panel2);
|
|
5518
|
-
border: 1px solid var(--border);
|
|
5519
|
-
color: var(--text);
|
|
5520
|
-
font-size: 12px;
|
|
5521
|
-
padding: 4px 8px;
|
|
5522
|
-
border-radius: 6px;
|
|
5523
|
-
cursor: pointer;
|
|
5524
|
-
white-space: nowrap;
|
|
5525
|
-
overflow: hidden;
|
|
5526
|
-
text-overflow: ellipsis;
|
|
5527
|
-
}
|
|
5528
|
-
.fin-sym-select:hover { border-color: var(--accent); color: var(--accent); }
|
|
5529
|
-
.fin-check {
|
|
5530
|
-
flex: 1;
|
|
5531
|
-
display: flex;
|
|
5532
|
-
align-items: center;
|
|
5533
|
-
gap: 6px;
|
|
5534
|
-
font-size: 11px;
|
|
5535
|
-
color: var(--text);
|
|
5536
|
-
cursor: pointer;
|
|
5537
|
-
min-width: 0;
|
|
5538
|
-
white-space: nowrap;
|
|
5539
|
-
overflow: hidden;
|
|
5540
|
-
text-overflow: ellipsis;
|
|
5541
|
-
}
|
|
5542
|
-
.fin-check input { flex: none; width: auto; }
|
|
5543
|
-
/* ANALİZ EKİBİ: rol seçim kutuları (Risk / Teknik / Makro) */
|
|
5544
|
-
.fin-roles-row label { flex: none; font-size: 10px; color: var(--muted); min-width: 44px; }
|
|
5545
|
-
.fin-roles {
|
|
5546
|
-
flex: 1; min-width: 0;
|
|
5547
|
-
display: flex; flex-wrap: wrap; gap: 4px;
|
|
5548
|
-
}
|
|
5549
|
-
.fin-role {
|
|
5550
|
-
flex: none;
|
|
5551
|
-
display: inline-flex; align-items: center; gap: 4px;
|
|
5552
|
-
font-size: 10.5px; color: var(--text);
|
|
5553
|
-
background: var(--panel2);
|
|
5554
|
-
border: 1px solid var(--border);
|
|
5555
|
-
border-radius: 8px;
|
|
5556
|
-
padding: 2px 8px 2px 5px;
|
|
5557
|
-
cursor: pointer;
|
|
5558
|
-
user-select: none;
|
|
5559
|
-
}
|
|
5560
|
-
.fin-role:hover { border-color: var(--accent); }
|
|
5561
|
-
.fin-role:has(input:checked) { border-color: var(--accent); color: var(--accent); background: var(--accent-dim); }
|
|
5562
|
-
.fin-role input { flex: none; width: auto; margin: 0; }
|
|
5563
|
-
.fin-role input:disabled { opacity: 0.45; cursor: default; }
|
|
5564
|
-
.fin-role-auto { font-weight: 700; }
|
|
5565
|
-
/* Otomatik moddaki SAYI girişi */
|
|
5566
|
-
.fin-field .fin-role-count {
|
|
5567
|
-
flex: none; width: 52px;
|
|
5568
|
-
background: var(--panel2); color: var(--text);
|
|
5569
|
-
border: 1px solid var(--border); border-radius: 8px;
|
|
5570
|
-
font-size: 12px; font-weight: 700; text-align: center;
|
|
5571
|
-
padding: 3px 3px;
|
|
5572
|
-
}
|
|
5573
|
-
.fin-field .fin-role-count:focus { border-color: var(--accent); outline: none; }
|
|
5574
|
-
.fin-field .fin-role-count:disabled { opacity: 0.45; }
|
|
5575
|
-
.fin-start {
|
|
5576
|
-
flex: none;
|
|
5577
|
-
background: var(--accent);
|
|
5578
|
-
border: 1px solid var(--accent);
|
|
5579
|
-
/* dark modda accent beyazımsı olur — sabit beyaz yazı butonda kaybolurdu;
|
|
5580
|
-
--accent-contrast iki temada da doğru kontrastı verir (siyah↔beyaz) */
|
|
5581
|
-
color: var(--accent-contrast);
|
|
5582
|
-
font-size: 11px;
|
|
5583
|
-
font-weight: 800;
|
|
5584
|
-
letter-spacing: 0.2px;
|
|
5585
|
-
padding: 6px 14px;
|
|
5586
|
-
border-radius: 7px;
|
|
5587
|
-
cursor: pointer;
|
|
5588
|
-
transition: filter 0.12s ease, box-shadow 0.12s ease, transform 0.06s ease;
|
|
5589
|
-
}
|
|
5590
|
-
.fin-start:hover { filter: brightness(1.08); box-shadow: 0 1px 6px rgba(0, 0, 0, 0.22); }
|
|
5591
|
-
.fin-start:active { transform: translateY(1px); filter: brightness(0.96); }
|
|
5592
|
-
.fin-start.stop {
|
|
5593
|
-
background: #b91c1c;
|
|
5594
|
-
border-color: #b91c1c;
|
|
5595
|
-
color: #fff; /* kırmızı zeminde beyaz her iki temada da okunur */
|
|
5596
|
-
}
|
|
5597
|
-
.fin-start.stop:hover { background: #991b1b; border-color: #991b1b; }
|
|
5598
|
-
|
|
5599
|
-
/* TRADE AJANI kartı — vurgulu görünüm (accent çerçeve + yumuşak zemin) */
|
|
5600
|
-
.fin-card-trader {
|
|
5601
|
-
border-color: var(--accent);
|
|
5602
|
-
box-shadow: 0 0 0 1px var(--accent-dim), 0 2px 10px rgba(0, 0, 0, 0.1);
|
|
5603
|
-
background: linear-gradient(180deg, var(--accent-dim), transparent 46%), var(--panel);
|
|
5604
|
-
}
|
|
5605
|
-
.fin-card-trader .fin-card-title { color: var(--text); }
|
|
5606
|
-
.fin-card-trader .fin-row { margin-bottom: 8px; }
|
|
5607
|
-
.fin-card-trader .fin-btn-row { margin-top: 2px; }
|
|
5608
|
-
.fin-btn-row .fin-start { flex: 1; width: 100%; padding: 7px 14px; }
|
|
5609
|
-
|
|
5610
|
-
#finTraderStatus {
|
|
5611
|
-
margin-top: 8px;
|
|
5612
|
-
font-size: 10.5px;
|
|
5613
|
-
color: var(--muted);
|
|
5614
|
-
background: var(--panel2);
|
|
5615
|
-
border: 1px solid var(--border);
|
|
5616
|
-
border-radius: 7px;
|
|
5617
|
-
padding: 5px 8px;
|
|
5618
|
-
white-space: nowrap;
|
|
5619
|
-
overflow: hidden;
|
|
5620
|
-
text-overflow: ellipsis;
|
|
5621
|
-
}
|
|
5622
|
-
#finTraderStatus::before { content: '● '; font-size: 9px; color: var(--muted); }
|
|
5623
|
-
#finTraderStatus.on { color: var(--text); border-color: var(--accent); }
|
|
5624
|
-
#finTraderStatus.on::before { color: #22c55e; }
|
|
5625
|
-
#finTraderStatus.on.busy { color: var(--accent); }
|
|
5626
|
-
#finTraderStatus.on.busy::before { color: #f59e0b; }
|
|
5627
|
-
|
|
5628
|
-
/* POZİSYON YÖNETİCİSİ kartı — trader durum satırıyla aynı görünüm */
|
|
5629
|
-
#finPosStatus {
|
|
5630
|
-
margin-top: 8px;
|
|
5631
|
-
font-size: 10.5px;
|
|
5632
|
-
color: var(--muted);
|
|
5633
|
-
background: var(--panel2);
|
|
5634
|
-
border: 1px solid var(--border);
|
|
5635
|
-
border-radius: 7px;
|
|
5636
|
-
padding: 5px 8px;
|
|
5637
|
-
white-space: nowrap;
|
|
5638
|
-
overflow: hidden;
|
|
5639
|
-
text-overflow: ellipsis;
|
|
5640
|
-
}
|
|
5641
|
-
#finPosStatus::before { content: '● '; font-size: 9px; color: var(--muted); }
|
|
5642
|
-
#finPosStatus.on { color: var(--text); border-color: var(--accent); }
|
|
5643
|
-
#finPosStatus.on::before { color: #22c55e; }
|
|
5644
|
-
#finPosStatus.on.busy { color: var(--accent); }
|
|
5645
|
-
#finPosStatus.on.busy::before { color: #f59e0b; }
|
|
5646
|
-
|
|
5647
|
-
/* TALİMAT KILAVUZU (? butonu + modal) */
|
|
5648
|
-
.fin-help-btn {
|
|
5649
|
-
width: 16px;
|
|
5650
|
-
height: 16px;
|
|
5651
|
-
margin-left: 6px;
|
|
5652
|
-
border-radius: 50%;
|
|
5653
|
-
border: 1px solid var(--border);
|
|
5654
|
-
background: var(--panel2);
|
|
5655
|
-
color: var(--muted);
|
|
5656
|
-
font-size: 10px;
|
|
5657
|
-
font-weight: 700;
|
|
5658
|
-
line-height: 1;
|
|
5659
|
-
padding: 0;
|
|
5660
|
-
cursor: pointer;
|
|
5661
|
-
vertical-align: 1px;
|
|
5662
|
-
}
|
|
5663
|
-
.fin-help-btn:hover { color: var(--text); border-color: var(--accent); }
|
|
5664
|
-
.fin-help-dialog { max-width: 620px; }
|
|
5665
|
-
#finHelpBody { max-height: 62vh; overflow: auto; }
|
|
5666
|
-
.fin-help-head { font-size: 11px; color: var(--muted); margin: 2px 0 10px; }
|
|
5667
|
-
.fin-help-sec {
|
|
5668
|
-
font-size: 10.5px;
|
|
5669
|
-
font-weight: 700;
|
|
5670
|
-
letter-spacing: 0.04em;
|
|
5671
|
-
text-transform: uppercase;
|
|
5672
|
-
color: var(--muted);
|
|
5673
|
-
margin: 12px 0 6px;
|
|
5674
|
-
}
|
|
5675
|
-
.fin-help-item {
|
|
5676
|
-
border: 1px solid var(--border);
|
|
5677
|
-
border-radius: 7px;
|
|
5678
|
-
padding: 6px 8px;
|
|
5679
|
-
margin-bottom: 6px;
|
|
5680
|
-
background: var(--panel2);
|
|
5681
|
-
}
|
|
5682
|
-
.fin-help-code { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 4px; }
|
|
5683
|
-
.fin-help-code code {
|
|
5684
|
-
font-size: 10.5px;
|
|
5685
|
-
padding: 1px 5px;
|
|
5686
|
-
border-radius: 4px;
|
|
5687
|
-
background: rgba(127, 127, 127, 0.14);
|
|
5688
|
-
border: 1px solid var(--border);
|
|
5689
|
-
}
|
|
5690
|
-
.fin-help-desc { font-size: 11px; color: var(--muted); line-height: 1.5; }
|
|
5691
|
-
.fin-help-desc b { color: var(--text); }
|
|
5692
|
-
.fin-help-text { font-size: 11px; color: var(--muted); line-height: 1.55; }
|
|
5693
|
-
.fin-help-text b { color: var(--text); }
|
|
5694
|
-
.fin-help-ex {
|
|
5695
|
-
margin: 8px 0 2px;
|
|
5696
|
-
padding: 8px 10px;
|
|
5697
|
-
border-radius: 7px;
|
|
5698
|
-
border: 1px dashed var(--border);
|
|
5699
|
-
background: var(--panel2);
|
|
5700
|
-
font-size: 11px;
|
|
5701
|
-
line-height: 1.6;
|
|
5702
|
-
white-space: pre-wrap;
|
|
5703
|
-
color: var(--text);
|
|
5704
|
-
}
|
|
5705
|
-
|
|
5706
|
-
#finPosList, #finOrdList, #finSymList { display: flex; flex-direction: column; gap: 5px; }
|
|
5707
|
-
.fin-empty { font-size: 11px; color: var(--muted); padding: 2px 0 4px; }
|
|
5708
|
-
|
|
5709
|
-
.fin-pos {
|
|
5710
|
-
display: flex;
|
|
5711
|
-
align-items: center;
|
|
5712
|
-
gap: 7px;
|
|
5713
|
-
font-size: 11px;
|
|
5714
|
-
background: var(--panel2);
|
|
5715
|
-
border: 1px solid var(--border);
|
|
5716
|
-
border-radius: 7px;
|
|
5717
|
-
padding: 5px 8px;
|
|
5718
|
-
}
|
|
5719
|
-
.fin-pos .fp-sym { font-weight: 700; min-width: 54px; }
|
|
5720
|
-
.fin-pos .fp-dir {
|
|
5721
|
-
flex: none;
|
|
5722
|
-
font-weight: 800;
|
|
5723
|
-
font-size: 9px;
|
|
5724
|
-
padding: 2px 5px;
|
|
5725
|
-
border-radius: 5px;
|
|
5726
|
-
letter-spacing: 0.5px;
|
|
5727
|
-
}
|
|
5728
|
-
.fin-pos .fp-dir.buy { background: rgba(34, 197, 94, 0.16); color: #22c55e; }
|
|
5729
|
-
.fin-pos .fp-dir.sell { background: rgba(239, 68, 68, 0.16); color: #ef4444; }
|
|
5730
|
-
.fin-pos .fp-meta { flex: 1; min-width: 0; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
5731
|
-
.fin-pos .fp-pl { font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
|
|
5732
|
-
.fin-pos .fp-pl.pos { color: #22c55e; }
|
|
5733
|
-
.fin-pos .fp-pl.neg { color: #ef4444; }
|
|
5734
|
-
.fin-pos .fp-close {
|
|
5735
|
-
flex: none;
|
|
5736
|
-
background: none;
|
|
5737
|
-
border: none;
|
|
5738
|
-
color: var(--muted);
|
|
5739
|
-
font-size: 12px;
|
|
5740
|
-
cursor: pointer;
|
|
5741
|
-
padding: 2px 5px;
|
|
5742
|
-
border-radius: 5px;
|
|
5743
|
-
}
|
|
5744
|
-
.fin-pos .fp-close:hover { background: rgba(239, 68, 68, 0.15); color: #ef4444; }
|
|
5745
|
-
/* bekleyen emir satırı: amber sol şerit ile pozisyondan ayrışır */
|
|
5746
|
-
.fin-pos.fin-ord { border-left: 2px solid #f59e0b; }
|
|
5747
|
-
|
|
5748
|
-
.fin-sym {
|
|
5749
|
-
display: flex;
|
|
5750
|
-
align-items: center;
|
|
5751
|
-
justify-content: space-between;
|
|
5752
|
-
gap: 7px;
|
|
5753
|
-
font-size: 11px;
|
|
5754
|
-
padding: 4px 6px;
|
|
5755
|
-
border-radius: 6px;
|
|
5756
|
-
background: var(--panel2);
|
|
5757
|
-
border: 1px solid var(--border);
|
|
5758
|
-
}
|
|
5759
|
-
.fin-sym .fs-name { font-weight: 700; }
|
|
5760
|
-
.fin-sym .fs-price { font-variant-numeric: tabular-nums; }
|
|
5761
|
-
.fin-sym .fs-up { color: #22c55e; }
|
|
5762
|
-
.fin-sym .fs-down { color: #ef4444; }
|
|
5763
|
-
.fin-sym .fs-spread { color: var(--muted); font-size: 10px; }
|
|
5764
|
-
|
|
5765
|
-
#finLog {
|
|
5766
|
-
flex: 1;
|
|
5767
|
-
min-height: 0;
|
|
5768
|
-
overflow-y: auto;
|
|
5769
|
-
font-family: Consolas, monospace;
|
|
5770
|
-
font-size: 10.5px;
|
|
5771
|
-
line-height: 1.55;
|
|
5772
|
-
color: var(--muted);
|
|
5773
|
-
white-space: pre-wrap;
|
|
5774
|
-
word-break: break-word;
|
|
5775
|
-
}
|
|
5776
|
-
#finLog .fin-log-new { color: var(--text); }
|
|
5777
|
-
|
|
5778
|
-
/* PİYASA başlığındaki sembol ekleme ikonu */
|
|
5779
|
-
.fin-card-title button {
|
|
5780
|
-
background: none;
|
|
5781
|
-
border: none;
|
|
5782
|
-
color: var(--muted);
|
|
5783
|
-
font-size: 13px;
|
|
5784
|
-
line-height: 1;
|
|
5785
|
-
cursor: pointer;
|
|
5786
|
-
padding: 1px 6px;
|
|
5787
|
-
border-radius: 5px;
|
|
5788
|
-
}
|
|
5789
|
-
.fin-card-title button:hover { background: var(--accent-dim); color: var(--accent); }
|
|
5790
|
-
.fin-card-title button.on { background: var(--accent-dim); color: var(--accent); }
|
|
5791
|
-
|
|
5792
|
-
/* MT5 sembol seçici modalı */
|
|
5793
|
-
.fin-sym-dialog { width: 460px; max-width: calc(100vw - 40px); }
|
|
5794
|
-
.fin-sym-count { font-size: 11px; color: var(--muted); margin-left: auto; margin-right: 6px; }
|
|
5795
|
-
#finSymSearch {
|
|
5796
|
-
width: 100%;
|
|
5797
|
-
box-sizing: border-box;
|
|
5798
|
-
background: var(--panel2);
|
|
5799
|
-
border: 1px solid var(--border);
|
|
5800
|
-
color: var(--text);
|
|
5801
|
-
font-size: 12px;
|
|
5802
|
-
padding: 6px 9px;
|
|
5803
|
-
border-radius: 7px;
|
|
5804
|
-
margin-bottom: 8px;
|
|
5805
|
-
}
|
|
5806
|
-
#finSymSearch:focus { border-color: var(--accent); outline: none; }
|
|
5807
|
-
.fin-sym-dialog .mini-body {
|
|
5808
|
-
flex: 1;
|
|
5809
|
-
min-height: 0;
|
|
5810
|
-
display: flex;
|
|
5811
|
-
flex-direction: column;
|
|
5812
|
-
overflow: hidden;
|
|
5813
|
-
}
|
|
5814
|
-
#finSymPick {
|
|
5815
|
-
flex: 1;
|
|
5816
|
-
min-height: 0;
|
|
5817
|
-
overflow-y: auto;
|
|
5818
|
-
display: flex;
|
|
5819
|
-
flex-direction: column;
|
|
5820
|
-
gap: 3px;
|
|
5821
|
-
}
|
|
5822
|
-
.fin-sym-row {
|
|
5823
|
-
display: flex;
|
|
5824
|
-
align-items: center;
|
|
5825
|
-
gap: 8px;
|
|
5826
|
-
font-size: 12px;
|
|
5827
|
-
padding: 5px 8px;
|
|
5828
|
-
border-radius: 6px;
|
|
5829
|
-
cursor: pointer;
|
|
5830
|
-
border: 1px solid transparent;
|
|
5831
|
-
}
|
|
5832
|
-
.fin-sym-row:hover { background: var(--panel2); }
|
|
5833
|
-
.fin-sym-row.on { background: var(--accent-dim); border-color: var(--accent); }
|
|
5834
|
-
.fin-sym-row .fsr-check {
|
|
5835
|
-
flex: none;
|
|
5836
|
-
width: 14px;
|
|
5837
|
-
text-align: center;
|
|
5838
|
-
color: var(--accent);
|
|
5839
|
-
font-weight: 800;
|
|
5840
|
-
}
|
|
5841
|
-
.fin-sym-row .fsr-name { flex: none; min-width: 84px; font-weight: 700; color: var(--text); }
|
|
5842
|
-
.fin-sym-row .fsr-desc {
|
|
5843
|
-
flex: 1;
|
|
5844
|
-
min-width: 0;
|
|
5845
|
-
color: var(--muted);
|
|
5846
|
-
white-space: nowrap;
|
|
5847
|
-
overflow: hidden;
|
|
5848
|
-
text-overflow: ellipsis;
|
|
5849
|
-
}
|
|
5850
|
-
.fin-sym-hint {
|
|
5851
|
-
flex: none;
|
|
5852
|
-
margin-top: 8px;
|
|
5853
|
-
font-size: 10.5px;
|
|
5854
|
-
color: var(--muted);
|
|
5855
|
-
text-align: center;
|
|
5856
|
-
}
|
|
5857
|
-
|
|
5858
|
-
/* ROL → SKILL eşleştirme modalı (TRADE AJANI ⚙) */
|
|
5859
|
-
.fin-skills-dialog { width: 540px; max-width: calc(100vw - 40px); }
|
|
5860
|
-
.fin-skills-dialog .mini-body {
|
|
5861
|
-
flex: 1;
|
|
5862
|
-
min-height: 0;
|
|
5863
|
-
display: flex;
|
|
5864
|
-
flex-direction: column;
|
|
5865
|
-
overflow: hidden;
|
|
5866
|
-
}
|
|
5867
|
-
#finSkillsList {
|
|
5868
|
-
flex: 1;
|
|
5869
|
-
min-height: 0;
|
|
5870
|
-
overflow-y: auto;
|
|
5871
|
-
display: flex;
|
|
5872
|
-
flex-direction: column;
|
|
5873
|
-
gap: 10px;
|
|
5874
|
-
}
|
|
5875
|
-
.fin-skill-role {
|
|
5876
|
-
position: relative;
|
|
5877
|
-
border: 1px solid var(--border);
|
|
5878
|
-
border-radius: 8px;
|
|
5879
|
-
padding: 8px 9px;
|
|
5880
|
-
background: var(--panel2);
|
|
5881
|
-
}
|
|
5882
|
-
.fin-skill-role-head { display: flex; flex-direction: column; gap: 1px; margin-bottom: 7px; }
|
|
5883
|
-
.fin-skill-role-head b { font-size: 11.5px; color: var(--text); }
|
|
5884
|
-
.fin-skill-role-head span { font-size: 10px; color: var(--muted); }
|
|
5885
|
-
.fin-skill-clear {
|
|
5886
|
-
position: absolute;
|
|
5887
|
-
top: 6px;
|
|
5888
|
-
right: 6px;
|
|
5889
|
-
background: none;
|
|
5890
|
-
border: none;
|
|
5891
|
-
color: var(--muted);
|
|
5892
|
-
line-height: 0;
|
|
5893
|
-
padding: 3px 5px;
|
|
5894
|
-
border-radius: 6px;
|
|
5895
|
-
cursor: pointer;
|
|
5896
|
-
}
|
|
5897
|
-
.fin-skill-clear:hover { color: #ef4444; background: var(--accent-dim); }
|
|
5898
|
-
.fin-skill-req {
|
|
5899
|
-
align-self: flex-start;
|
|
5900
|
-
margin-top: 2px;
|
|
5901
|
-
font-size: 9.5px;
|
|
5902
|
-
font-weight: 800;
|
|
5903
|
-
letter-spacing: 0.5px;
|
|
5904
|
-
color: var(--muted);
|
|
5905
|
-
}
|
|
5906
|
-
.fin-skill-chips { display: flex; flex-wrap: wrap; gap: 4px; }
|
|
5907
|
-
.fin-skill-chip {
|
|
5908
|
-
display: inline-flex;
|
|
5909
|
-
align-items: center;
|
|
5910
|
-
gap: 4px;
|
|
5911
|
-
font-size: 10.5px;
|
|
5912
|
-
color: var(--text);
|
|
5913
|
-
background: var(--panel);
|
|
5914
|
-
border: 1px solid var(--border);
|
|
5915
|
-
border-radius: 8px;
|
|
5916
|
-
padding: 2px 8px 2px 5px;
|
|
5917
|
-
cursor: pointer;
|
|
5918
|
-
user-select: none;
|
|
5919
|
-
}
|
|
5920
|
-
.fin-skill-chip:hover { border-color: var(--accent); }
|
|
5921
|
-
.fin-skill-chip.on { border-color: var(--accent); color: var(--accent); background: var(--accent-dim); }
|
|
5922
|
-
.fin-skill-chip input { flex: none; width: auto; margin: 0; }
|
|
5923
|
-
|
|
5924
|
-
/* MT5 ÖĞRENME HAFIZASI modalı (TRADE AJANI 🧠) */
|
|
5925
|
-
.fin-learn-dialog { width: 580px; max-width: calc(100vw - 40px); }
|
|
5926
|
-
.fin-learn-dialog .mini-body {
|
|
5927
|
-
flex: 1;
|
|
5928
|
-
min-height: 0;
|
|
5929
|
-
display: flex;
|
|
5930
|
-
flex-direction: column;
|
|
5931
|
-
overflow: hidden;
|
|
5932
|
-
}
|
|
5933
|
-
#finLearnList {
|
|
5934
|
-
flex: 1;
|
|
5935
|
-
min-height: 0;
|
|
5936
|
-
overflow-y: auto;
|
|
5937
|
-
display: flex;
|
|
5938
|
-
flex-direction: column;
|
|
5939
|
-
gap: 8px;
|
|
5940
|
-
}
|
|
5941
|
-
#finLearnClear {
|
|
5942
|
-
flex: none;
|
|
5943
|
-
border: 1px solid var(--border);
|
|
5944
|
-
background: var(--panel2);
|
|
5945
|
-
color: var(--muted);
|
|
5946
|
-
font-size: 10.5px;
|
|
5947
|
-
font-weight: 700;
|
|
5948
|
-
border-radius: 7px;
|
|
5949
|
-
padding: 4px 8px;
|
|
5950
|
-
cursor: pointer;
|
|
5951
|
-
margin-right: 6px;
|
|
5952
|
-
}
|
|
5953
|
-
#finLearnClear:hover { color: #ef4444; border-color: #ef4444; }
|
|
5954
|
-
.fin-learn-sym { border: 1px solid var(--border); border-radius: 8px; padding: 7px 9px; background: var(--panel2); }
|
|
5955
|
-
.fin-learn-sym-head { display: flex; align-items: center; gap: 7px; cursor: pointer; }
|
|
5956
|
-
.fin-learn-sym-head b { flex: none; font-size: 12px; color: var(--accent); }
|
|
5957
|
-
.fin-learn-sym-stats {
|
|
5958
|
-
flex: 1;
|
|
5959
|
-
min-width: 0;
|
|
5960
|
-
font-size: 10px;
|
|
5961
|
-
color: var(--muted);
|
|
5962
|
-
overflow: hidden;
|
|
5963
|
-
text-overflow: ellipsis;
|
|
5964
|
-
white-space: nowrap;
|
|
5965
|
-
}
|
|
5966
|
-
.fin-learn-sym-notes { flex: none; font-size: 9.5px; font-weight: 800; letter-spacing: 0.4px; color: var(--muted); }
|
|
5967
|
-
.fin-learn-sum-btn {
|
|
5968
|
-
flex: none;
|
|
5969
|
-
border: 1px solid var(--border);
|
|
5970
|
-
background: var(--panel);
|
|
5971
|
-
color: var(--muted);
|
|
5972
|
-
font-size: 9px;
|
|
5973
|
-
font-weight: 800;
|
|
5974
|
-
letter-spacing: 0.4px;
|
|
5975
|
-
border-radius: 5px;
|
|
5976
|
-
padding: 2px 6px;
|
|
5977
|
-
cursor: pointer;
|
|
5978
|
-
}
|
|
5979
|
-
.fin-learn-sum-btn:hover { color: var(--accent); border-color: var(--accent); }
|
|
5980
|
-
.fin-learn-sum-btn:disabled { opacity: 0.5; cursor: default; }
|
|
5981
|
-
.fin-learn-summary {
|
|
5982
|
-
border: 1px solid var(--border);
|
|
5983
|
-
border-left: 3px solid var(--accent);
|
|
5984
|
-
border-radius: 6px;
|
|
5985
|
-
background: var(--panel);
|
|
5986
|
-
padding: 6px 8px;
|
|
5987
|
-
font-size: 10.5px;
|
|
5988
|
-
color: var(--text);
|
|
5989
|
-
line-height: 1.45;
|
|
5990
|
-
word-break: break-word;
|
|
5991
|
-
}
|
|
5992
|
-
.fin-learn-summary-at { font-size: 9px; color: var(--muted); margin: 3px 0 2px; }
|
|
5993
|
-
.fin-learn-drop,
|
|
5994
|
-
.fin-learn-note-del {
|
|
5995
|
-
flex: none;
|
|
5996
|
-
border: none;
|
|
5997
|
-
background: none;
|
|
5998
|
-
color: var(--muted);
|
|
5999
|
-
line-height: 0;
|
|
6000
|
-
padding: 3px 4px;
|
|
6001
|
-
border-radius: 6px;
|
|
6002
|
-
cursor: pointer;
|
|
6003
|
-
}
|
|
6004
|
-
.fin-learn-drop:hover,
|
|
6005
|
-
.fin-learn-note-del:hover { color: #ef4444; background: var(--accent-dim); }
|
|
6006
|
-
.fin-learn-body { margin-top: 6px; border-top: 1px dashed var(--border); padding-top: 6px; }
|
|
6007
|
-
.fin-learn-detail-stats { font-size: 10px; color: var(--muted); margin-bottom: 6px; }
|
|
6008
|
-
.fin-learn-sec { font-size: 9.5px; font-weight: 800; letter-spacing: 0.5px; color: var(--muted); margin: 6px 0 4px; }
|
|
6009
|
-
.fin-learn-note {
|
|
6010
|
-
display: flex;
|
|
6011
|
-
align-items: flex-start;
|
|
6012
|
-
gap: 6px;
|
|
6013
|
-
padding: 4px 5px;
|
|
6014
|
-
border-radius: 6px;
|
|
6015
|
-
background: var(--panel);
|
|
6016
|
-
border: 1px solid var(--border);
|
|
6017
|
-
margin-bottom: 4px;
|
|
6018
|
-
}
|
|
6019
|
-
.fin-learn-kind {
|
|
6020
|
-
flex: none;
|
|
6021
|
-
font-size: 9px;
|
|
6022
|
-
font-weight: 800;
|
|
6023
|
-
letter-spacing: 0.4px;
|
|
6024
|
-
border-radius: 5px;
|
|
6025
|
-
padding: 2px 5px;
|
|
6026
|
-
border: 1px solid var(--border);
|
|
6027
|
-
color: var(--muted);
|
|
6028
|
-
text-transform: uppercase;
|
|
6029
|
-
}
|
|
6030
|
-
.fin-learn-kind.k-pattern { color: #22c55e; border-color: #22c55e; }
|
|
6031
|
-
.fin-learn-kind.k-mistake { color: #ef4444; border-color: #ef4444; }
|
|
6032
|
-
.fin-learn-kind.k-rule { color: #e6a117; border-color: #e6a117; }
|
|
6033
|
-
.fin-learn-note-text { flex: 1; min-width: 0; font-size: 10.5px; color: var(--text); word-break: break-word; }
|
|
6034
|
-
.fin-learn-note-at { flex: none; font-size: 9px; color: var(--muted); }
|
|
6035
|
-
.fin-learn-trade { font-size: 10px; color: var(--muted); padding: 2px 4px; border-radius: 5px; }
|
|
6036
|
-
.fin-learn-trade.win { color: #22c55e; }
|
|
6037
|
-
.fin-learn-trade.loss { color: #ef4444; }
|
|
6038
|
-
|
|
6039
|
-
/* FINANCE GÖRÜNÜM AYARLARI modalı (başlıktaki ⚙) — isteğe bağlı bölümler */
|
|
6040
|
-
.fin-card[hidden] { display: none; }
|
|
6041
|
-
.fin-settings-dialog { width: min(440px, 90vw); height: auto; max-height: min(560px, 84vh); }
|
|
6042
|
-
.fin-set-hint {
|
|
6043
|
-
font-size: 11px;
|
|
6044
|
-
color: var(--muted);
|
|
6045
|
-
line-height: 1.45;
|
|
6046
|
-
margin-bottom: 10px;
|
|
6047
|
-
}
|
|
6048
|
-
.fin-set-row {
|
|
6049
|
-
display: flex;
|
|
6050
|
-
align-items: flex-start;
|
|
6051
|
-
gap: 9px;
|
|
6052
|
-
background: var(--panel);
|
|
6053
|
-
border: 1px solid var(--border);
|
|
6054
|
-
border-radius: 9px;
|
|
6055
|
-
padding: 9px 10px;
|
|
6056
|
-
margin-bottom: 6px;
|
|
6057
|
-
cursor: pointer;
|
|
6058
|
-
user-select: none;
|
|
6059
|
-
}
|
|
6060
|
-
.fin-set-row:hover { border-color: var(--accent); }
|
|
6061
|
-
.fin-set-row.on { border-color: var(--accent); background: var(--accent-dim); }
|
|
6062
|
-
.fin-set-row input { flex: none; width: auto; margin: 2px 0 0; accent-color: var(--accent); }
|
|
6063
|
-
.fin-set-row .fsr-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
|
|
6064
|
-
.fin-set-row .fsr-main b { font-size: 12px; color: var(--text); letter-spacing: 0.4px; }
|
|
6065
|
-
.fin-set-row .fsr-main i { font-style: normal; font-size: 10.5px; color: var(--muted); }
|
|
6066
|
-
.fin-set-note { margin-top: 8px; font-size: 10.5px; color: var(--muted); line-height: 1.4; }
|
|
6067
|
-
.fin-set-sep { height: 1px; margin: 10px 0; background: var(--border); }
|
|
6068
|
-
.fin-set-sub {
|
|
6069
|
-
display: flex;
|
|
6070
|
-
flex-direction: column;
|
|
6071
|
-
gap: 6px;
|
|
6072
|
-
margin: 2px 0 6px;
|
|
6073
|
-
padding: 9px 10px;
|
|
6074
|
-
background: var(--panel);
|
|
6075
|
-
border: 1px solid var(--border);
|
|
6076
|
-
border-radius: 9px;
|
|
6077
|
-
}
|
|
6078
|
-
.fin-set-sub[hidden] { display: none; }
|
|
6079
|
-
.fin-set-lbl { font-size: 10.5px; color: var(--muted); letter-spacing: 0.5px; }
|
|
6080
|
-
.fin-th-row { display: flex; align-items: center; gap: 8px; }
|
|
6081
|
-
.fin-th-row input[type="time"] { flex: 1; min-width: 0; }
|
|
6082
|
-
.fin-dm-tg-state { font-size: 11.5px; color: var(--text); line-height: 1.4; word-break: break-word; }
|
|
6083
|
-
.fin-set-btn {
|
|
6084
|
-
align-self: flex-start;
|
|
6085
|
-
font-size: 10.5px;
|
|
6086
|
-
padding: 3px 8px;
|
|
6087
|
-
cursor: pointer;
|
|
6088
|
-
}
|