html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

a, .btn-link {
    color: #006bb7;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}
/* ============ KotgemTrader Portal ============ */
body { background:#0f1115; color:#e6e8eb; font-family: 'Segoe UI', system-ui, sans-serif; }
.dash-header { padding: 18px 24px 4px; }
.dash-header h1 { margin:0; font-size:26px; }
.dash-header .sub { color:#8a919c; font-size:13px; }
.cards { display:grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap:16px; padding:18px 24px; }
.card { background:#181b22; border:1px solid #232833; border-radius:14px; padding:16px; transition:border-color .2s; }
.card.running { border-color:#2e7d49; box-shadow:0 0 0 1px #2e7d4940; }
.card-top { display:flex; justify-content:space-between; align-items:flex-start; }
.owner { color:#8a919c; font-size:12px; text-transform:uppercase; letter-spacing:.5px; }
.name { font-size:17px; font-weight:600; margin-top:2px; }
.status { font-size:11px; font-weight:700; padding:3px 8px; border-radius:20px; }
.status.on { background:#12351f; color:#4ad991; }
.status.off { background:#2a2e37; color:#8a919c; }
.tags { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }
.tag { font-size:11px; background:#232833; color:#b9c0cc; padding:3px 9px; border-radius:6px; }
.tag.demo { background:#2a3550; color:#9ab8ff; }
.equity { margin:10px 0; }
.eq-main { font-size:26px; font-weight:700; }
.eq-main span { font-size:13px; color:#8a919c; font-weight:400; }
.eq-sub { font-size:13px; margin-top:2px; }
.pos { color:#4ad991; } .neg { color:#e0707a; } .zero { color:#e0c24f; }
.err { color:#e0707a; font-size:12px; margin:6px 0; }
.actions { display:flex; gap:8px; margin-top:12px; }
.btn { border:none; border-radius:8px; padding:8px 14px; font-weight:600; cursor:pointer; font-size:13px; text-decoration:none; display:inline-flex; align-items:center; }
.btn.start { background:#2e7d49; color:#fff; }
.btn.stop { background:#8a3a3a; color:#fff; }
.btn.link { background:#232833; color:#b9c0cc; }
.acct-detail { padding:18px 24px; }
.acct-detail table { width:100%; border-collapse:collapse; margin-top:10px; }
.acct-detail th, .acct-detail td { text-align:left; padding:7px 10px; border-bottom:1px solid #232833; font-size:13px; }
.acct-detail th { color:#8a919c; font-weight:600; }
.logbox { background:#0c0e12; border:1px solid #232833; border-radius:10px; padding:12px; height:280px; overflow:auto; font-family:Consolas,monospace; font-size:12px; color:#a8b0bd; margin-top:12px; }

/* ============ Kokpit (hesap detay) ============ */
.cockpit { padding:16px 24px 40px; max-width:1500px; }
.back { color:#8a919c; text-decoration:none; font-size:13px; }
.cock-head { display:flex; align-items:center; gap:24px; margin:12px 0; flex-wrap:wrap; }
.cock-head h1 { margin:2px 0; font-size:24px; }
.chips { display:flex; gap:8px; margin-top:6px; }
.eq-block { margin-left:auto; text-align:right; }
.controls { display:flex; gap:8px; }
.err-bar { background:#3a1e1e; color:#e0707a; padding:8px 12px; border-radius:8px; margin:8px 0; font-size:13px; }
.presets { display:flex; align-items:center; gap:8px; margin:10px 0 4px; flex-wrap:wrap; }
.presets .lbl { color:#8a919c; font-size:13px; }
.pbtn { border:none; border-radius:8px; padding:8px 14px; font-weight:600; cursor:pointer; font-size:13px; color:#fff; }
.pbtn.guclu { background:#2c6e91; } .pbtn.kar { background:#1e7f5c; } .pbtn.orhan { background:#c9a227; color:#1e1e24; }
.cock-grid { display:grid; grid-template-columns: 320px 1fr 340px; gap:16px; margin-top:12px; }
@media (max-width:1200px){ .cock-grid{ grid-template-columns:1fr; } }
.panel { background:#181b22; border:1px solid #232833; border-radius:14px; padding:16px; }
.panel h3 { margin:0 0 12px; font-size:15px; }
.form { display:grid; gap:10px; }
.form label { display:flex; flex-direction:column; font-size:12px; color:#8a919c; gap:4px; }
.form label.hl { color:#7ce0a0; font-weight:600; }
.form input, .form select { background:#0f1115; border:1px solid #2a2f3a; border-radius:7px; color:#e6e8eb; padding:7px 9px; font-size:14px; }
.form input:disabled { opacity:.4; }
.form-actions { display:flex; gap:8px; margin-top:12px; }
.hint { color:#6b7280; font-size:11px; margin-top:8px; line-height:1.5; }
.muted { color:#8a919c; font-size:13px; }
.grid { width:100%; border-collapse:collapse; }
.grid th, .grid td { text-align:left; padding:6px 8px; border-bottom:1px solid #232833; font-size:12.5px; }
.grid th { color:#8a919c; font-weight:600; }
.grid td.long { color:#4ad991; font-weight:600; } .grid td.short { color:#e0a24f; font-weight:600; }
.grid td.reason { color:#8a919c; }
.summary { font-size:13px; margin:8px 0; color:#b9c0cc; }
.mini { background:#232833; border:none; color:#b9c0cc; border-radius:6px; padding:2px 8px; font-size:12px; cursor:pointer; margin-left:6px; }
.mini.danger { background:#5a2a2a; color:#e0a0a0; }
.btn.ghost { background:#232833; color:#b9c0cc; }
.btn.ghost:disabled { opacity:.4; cursor:default; }

/* ============ MOBİL (telefon) — içerik sayfaları ============ */
@media (max-width:640px){
    .dash-header, .cards, .cockpit, .acct-detail, .markets { padding-left:12px; padding-right:12px; }
    .cards { grid-template-columns:1fr; gap:12px; }
    .dash-header h1 { font-size:20px; }
    /* Kokpit başlığı: dikey yığ, özsermaye sola */
    .cock-head { flex-direction:column; align-items:stretch; gap:10px; }
    .cock-head h1 { font-size:20px; }
    .eq-block { margin-left:0; text-align:left; }
    .eq-main { font-size:22px; }
    .controls { flex-wrap:wrap; }
    .controls .btn { flex:1; justify-content:center; }
    /* Preset butonları küçült */
    .presets { gap:6px; }
    .pbtn { padding:7px 10px; font-size:12px; }
    /* Ayar formu tek kolon (zaten) + dokunmatik hedef büyüt */
    .form input, .form select { padding:9px; font-size:15px; }
    /* Araç çubukları sarsın, tam genişlik */
    .ai-toolbar { flex-wrap:wrap; gap:8px; }
    .ai-toolbar .sym-sel, .ai-toolbar .btn { width:100%; }
    .sortbtns { display:flex; flex-wrap:wrap; gap:6px; width:100%; }
    /* Tablolar: küçük font; geniş olanlar overflow-x sarmalayıcı içinde kaydırılır */
    .grid th, .grid td { padding:5px 6px; font-size:11.5px; }
    .table-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .report-cards { grid-template-columns:1fr 1fr; }
    .info-grid { grid-template-columns:1fr; }
    .logbox { height:200px; }
    .live-actions { flex-wrap:wrap; }
    .live-balance { font-size:11.5px; }
    .tvchart { height:320px; }
    .live-form { flex-direction:column; }
    .live-form input, .live-form .btn { width:100%; }
}

/* ============ Grafik ============ */
.chart-panel { margin-top:12px; }
.chart-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.chart-head h3 { margin:0; }
.sym-sel { background:#0f1115; border:1px solid #2a2f3a; border-radius:7px; color:#e6e8eb; padding:6px 10px; font-size:14px; }
.tvchart { height:460px; width:100%; border-radius:10px; overflow:hidden; background:#0f1115; }

/* ============ Piyasalar ============ */
.markets { padding:16px 24px 40px; }
.movers { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:12px 0; }
@media (max-width:800px){ .movers{ grid-template-columns:1fr; } }
.mover-box { background:#181b22; border:1px solid #232833; border-radius:12px; padding:12px 16px; }
.mover-box.up { border-left:3px solid #2e7d49; } .mover-box.down { border-left:3px solid #8a3a3a; }
.mover-box h4 { margin:0 0 8px; font-size:13px; color:#b9c0cc; }
.mover-row { display:flex; justify-content:space-between; padding:3px 0; font-size:13px; }
.market-toolbar { display:flex; gap:12px; align-items:center; margin:14px 0 8px; flex-wrap:wrap; }
.search { flex:1; min-width:220px; background:#0f1115; border:1px solid #2a2f3a; border-radius:8px; color:#e6e8eb; padding:9px 12px; font-size:14px; }
.sortbtns { display:flex; gap:6px; }
.sortb { background:#232833; border:none; color:#b9c0cc; border-radius:7px; padding:8px 14px; font-size:13px; cursor:pointer; }
.sortb.active { background:#2c6e91; color:#fff; }
.market-grid td.sym b { font-size:14px; } .market-grid td.sym .q { color:#5c6370; font-size:11px; }
.market-grid tr:hover { background:#1c2029; }
.market-grid a.mini { background:#232833; color:#9ab8ff; text-decoration:none; }
.soon { font-size:9px; background:#2a2e37; color:#8a919c; padding:1px 5px; border-radius:8px; margin-left:4px; }
.nav-link.disabled { opacity:.55; }
/* ============ Tam sayfa grafik ============ */
.chartpage { padding:16px 24px 24px; }
.chartpage h1 { margin:4px 0; } .chartpage .q { color:#5c6370; font-size:18px; }
.tvfull { height:calc(100vh - 160px); min-height:480px; width:100%; border-radius:10px; overflow:hidden; background:#0f1115; }

/* ============ Yeni hesap formu + sil ============ */
.newform { background:#181b22; border:1px solid #2c6e91; border-radius:12px; padding:16px 20px; margin:0 24px 8px; }
.newform h3 { margin:0 0 12px; font-size:15px; }
.nf-row { display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap; }
.nf-row label { display:flex; flex-direction:column; font-size:12px; color:#8a919c; gap:4px; }
.nf-row input, .nf-row select { background:#0f1115; border:1px solid #2a2f3a; border-radius:7px; color:#e6e8eb; padding:8px 10px; font-size:14px; min-width:150px; }
.btn.del { background:#3a2020; color:#e0a0a0; padding:8px 10px; }
.btn.del:hover { background:#5a2a2a; }

/* ============ AI Analiz ============ */
.ai-toolbar { display:flex; gap:12px; align-items:center; margin:14px 0; flex-wrap:wrap; }
.ai-toolbar label { color:#8a919c; font-size:13px; display:flex; align-items:center; gap:8px; }
.ai-result { background:#181b22; border:1px solid #232833; border-radius:12px; padding:18px 20px; margin-top:12px; }
.ai-result.loading { color:#c9a227; }
.ai-result .ai-meta { color:#8a919c; font-size:12px; margin-bottom:10px; }
.ai-result pre { white-space:pre-wrap; word-wrap:break-word; font-family:'Segoe UI',system-ui,sans-serif; font-size:14px; line-height:1.6; color:#dfe3e8; margin:0; }

/* ============ Haberler ============ */
.news-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:12px; margin-top:12px; }
.news-item { display:block; background:#181b22; border:1px solid #232833; border-radius:12px; padding:14px 16px; text-decoration:none; color:#e6e8eb; transition:border-color .15s; }
.news-item:hover { border-color:#2c6e91; }
.news-top { display:flex; justify-content:space-between; margin-bottom:6px; }
.news-src { font-size:11px; color:#9ab8ff; font-weight:600; text-transform:uppercase; letter-spacing:.4px; }
.news-time { font-size:11px; color:#6b7280; }
.news-title { font-size:14.5px; font-weight:600; line-height:1.4; }
.news-sum { font-size:12.5px; color:#8a919c; margin-top:6px; line-height:1.5; }

/* ============ Canlı bağlantı ============ */
.live-panel { margin-top:12px; border-color:#5a3a3a; }
.live-panel.islive { border-color:#8a3a3a; background:#1e1518; }
.live-form { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.live-form input[type=password] { background:#0f1115; border:1px solid #2a2f3a; border-radius:7px; color:#e6e8eb; padding:8px 10px; font-size:14px; min-width:240px; }
.live-auto { display:flex; align-items:center; gap:6px; font-size:13px; color:#e0a24f; }
.live-connected { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.live-badge { background:#3a1418; color:#ff7a85; font-weight:700; padding:5px 12px; border-radius:20px; font-size:13px; }
.live-actions { display:flex; gap:8px; }

/* ============ Giriş + üst bar ============ */
.login-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; background:#0f1115; }
.login-box { background:#181b22; border:1px solid #232833; border-radius:16px; padding:32px 28px; width:340px; display:flex; flex-direction:column; gap:12px; }
.login-logo { font-size:24px; font-weight:700; text-align:center; }
.login-sub { color:#8a919c; text-align:center; margin-bottom:8px; }
.login-box input { background:#0f1115; border:1px solid #2a2f3a; border-radius:8px; color:#e6e8eb; padding:11px 12px; font-size:15px; }
.login-btn { width:100%; padding:11px; font-size:15px; justify-content:center; margin-top:4px; }
.login-hint { color:#6b7280; font-size:11px; text-align:center; margin-top:6px; }
.topbar { display:flex; justify-content:flex-end; align-items:center; gap:12px; }
.whoami { color:#b9c0cc; font-size:13px; }
.admin-badge { background:#3a2f14; color:#e0c24f; font-size:10px; padding:2px 7px; border-radius:10px; margin-left:6px; }
.logout-btn { background:#232833; border:none; color:#b9c0cc; border-radius:7px; padding:6px 14px; font-size:13px; cursor:pointer; }
.logout-btn:hover { background:#2a2e37; }

.pbtn.boll { background:#6b4fa0; }

.pbtn.adaptif { background:#0e7c86; }

.help { display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; margin-left:4px;
        border:none; border-radius:50%; background:#2a3550; color:#9ab8ff; font-size:10px; font-weight:700; cursor:pointer;
        vertical-align:middle; user-select:none; padding:0; line-height:1; }
.help:hover { background:#3a5fa0; color:#fff; }
.help-hint { font-size:11px; color:#6b7280; font-weight:400; }
.help-box { display:flex; align-items:flex-start; gap:10px; margin:8px 0 10px; padding:10px 12px;
        background:#0e1830; border:1px solid #2a3f66; border-left:3px solid #3a5fa0; border-radius:8px;
        font-size:12.5px; line-height:1.55; color:#d3d7de; }
.help-close { margin-left:auto; background:none; border:none; color:#8a919c; cursor:pointer; font-size:14px; flex-shrink:0; }
.help-close:hover { color:#fff; }

.live-balance { margin-top:10px; padding:8px 12px; background:#0f1420; border:1px solid #1c2a3a; border-radius:10px; font-size:13px; color:#b9c0cc; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.live-balance b { color:#e6e8eb; }

.pbtn.gece { background:#1b2a4a; color:#cfe0ff; }
.pbtn.info { background:#232833; color:#b9c0cc; }
.pbtn.info:hover { background:#2a2e37; }

/* ============ Strateji açıklama paneli ============ */
.info-panel { background:#141821; border:1px solid #232833; border-radius:14px; padding:16px 18px; margin:8px 0 6px; }
.info-head h3 { margin:0 0 4px; font-size:16px; }
.info-head p { color:#8a919c; font-size:12.5px; line-height:1.55; margin:0 0 12px; }
.info-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px; }
.info-card { background:#181b22; border:1px solid #232833; border-radius:12px; padding:13px 14px; }
.info-card-h { margin-bottom:8px; }
.pbtn.mini-chip { padding:5px 10px; font-size:12px; cursor:default; display:inline-block; }
.info-meta { color:#8a919c; font-size:11px; text-transform:uppercase; letter-spacing:.3px; margin-bottom:7px; }
.info-what { color:#d3d7de; font-size:12.5px; line-height:1.55; margin:0 0 8px; }
.info-when { color:#9aa2ae; font-size:12px; line-height:1.5; margin:0; }
.info-when b { color:#c9cfda; }

/* ============ Rapor + tıklanır satır ============ */
.report-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:14px 0; }
.rc { background:#181b22; border:1px solid #232833; border-radius:12px; padding:14px 16px; }
.rc-lbl { color:#8a919c; font-size:11px; text-transform:uppercase; letter-spacing:.4px; }
.rc-val { font-size:22px; font-weight:700; margin-top:4px; color:#e6e8eb; }
.clickrow { cursor:pointer; }
.clickrow:hover { background:#1c2029; }

/* ============ Genişletilmiş form + özel presetler ============ */
.form label.chk { flex-direction:row; align-items:center; gap:7px; color:#b9c0cc; }
.form label.chk input { width:auto; }
.custwrap { display:inline-flex; align-items:center; }
.pbtn.custom { background:#3a3550; }
.pdel { background:#3a2020; border:none; color:#e0a0a0; border-radius:0 8px 8px 0; padding:8px 8px; cursor:pointer; font-size:13px; margin-left:-2px; }
.pbtn.custom { border-radius:8px 0 0 8px; }
.save-preset { display:inline-flex; align-items:center; gap:4px; margin-left:8px; }
.save-preset input { background:#0f1115; border:1px solid #2a2f3a; border-radius:8px; color:#e6e8eb; padding:7px 10px; font-size:13px; width:140px; }
.pbtn.savep { background:#1e7f5c; }
