/* Trading desk: compact persistent activity on desktop, stacked on mobile. */
.desk-heading-meta {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  align-items:center
}
.desk-tabs {
  display:flex;
  gap:8px;
  padding:0 28px 12px;
  max-width:1900px;
  margin:auto
}
.desk-tab {
  background:#15253a;
  border:1px solid #34485f;
  color:#a6bad2;
  border-radius:10px 10px 0 0;
  padding:10px 18px;
  font-size:13px;
  font-weight:650
}
.desk-tab[aria-selected=true] {
  background:#244b48;
  color:#91ead1;
  border-color:#488e7f
}
.desk-tab-panel[hidden] {
  display:none !important
}
.combined-badge {
  max-width:min(100%, 520px);
  overflow:hidden;
  text-overflow:ellipsis
}
.positive-badge {
  border-color:#488e7f;
  color:#91ead1
}
.negative-badge {
  border-color:#8a4450;
  color:#efa5ae
}
.desk-heading {
  padding:28px 28px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px
}
.desk-heading h1 {
  font-size:30px;
  font-weight:750;
  margin:5px 0
}
.desk-heading p,.muted {
  color:#899bb3
}
.desk-eyebrow {
  font-size:11px;
  letter-spacing:2px;
  color:#58d5bc
}
.desk-grid {
  display:grid;
  grid-template-columns:310px minmax(0,1fr);
  gap:20px;
  padding:0 28px 28px;
  max-width:1900px;
  margin:auto
}
.desk-main {
  display:grid;
  gap:18px;
  min-width:0
}
.desk-panel {
  background:#101d2e;
  border:1px solid #26364b;
  border-radius:14px;
  padding:20px;
  color:#e6eef8
}
.desk-panel h2 {
  font-size:17px;
  font-weight:650;
  margin:0 0 14px
}
.panel-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.desk-badge {
  background:#1d3043;
  border:1px solid #365169;
  color:#bde8df;
  padding:7px 11px;
  border-radius:30px;
  font-size:11px;
  font-weight:700;
  white-space:nowrap
}
.activity-panel {
  position:sticky;
  top:16px;
  align-self:start;
  height:calc(100vh - 115px);
  min-height:400px;
  display:flex;
  flex-direction:column
}
.activity-panel>.muted {
  font-size:12px
}
#activity, #india-activity, #futures-activity {
  overflow:auto;
  flex:1
}
.activity-item {
  border-left:2px solid #335b64;
  padding:3px 0 3px 12px;
  margin:15px 0
}
.activity-item p {
  font-size:12px;
  line-height:1.55;
  overflow-wrap:anywhere;
  margin:5px 0
}
.activity-meta {
  font-size:10px;
  color:#67c9b4;
  letter-spacing:.5px
}
.live-dot {
  width:8px;
  height:8px;
  border-radius:50%;
  background:#61d7b5
}
.desk-metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px
}
.desk-metrics strong {
  display:block;
  font-size:24px;
  margin-top:10px;
  overflow-wrap:anywhere
}
.desk-metrics .muted {
  font-size:12px
}
.desk-notice {
  padding:14px 18px;
  border:1px solid #8a6633;
  border-radius:12px;
  background:#332819;
  color:#f0d5a1;
  margin-bottom:12px
}
.desk-notice-action .desk-button {
  display:inline-block;
  margin:8px 8px 0 0;
  text-decoration:none
}
.control-fields {
  display:flex;
  align-items:end;
  gap:12px;
  flex-wrap:wrap;
  margin:16px 0
}
.control-fields label {
  display:grid;
  gap:7px;
  font-size:12px;
  color:#adc0d6;
  flex:1;
  min-width:180px
}
.control-fields input {
  background:#091422;
  color:#e6eef8;
  border:1px solid #344960;
  border-radius:8px;
  padding:11px;
  width:100%
}
.control-buttons {
  display:flex;
  gap:10px;
  flex-wrap:wrap
}
.desk-button {
  background:#24384f;
  border:1px solid #3a5069;
  color:#e7eef8;
  border-radius:8px;
  padding:10px 14px;
  font-size:12px;
  font-weight:650
}
.desk-button:hover {
  filter:brightness(1.2)
}
.desk-button:disabled {
  opacity:.45;
  cursor:wait
}
.desk-button.primary {
  background:#49c6a4;
  border-color:#49c6a4;
  color:#081e1a
}
.desk-button.danger {
  background:#ce5263;
  border-color:#ce5263;
  color:white
}
.desk-button.danger-outline {
  border-color:#d77e87;
  color:#efa5ae;
  background:transparent
}
.target-track {
  height:6px;
  background:#26364b;
  border-radius:6px;
  overflow:hidden;
  margin-top:18px
}
#target-progress {
  height:100%;
  background:#49c6a4;
  transition:width .3s
}
#target-caption {
  font-size:12px;
  margin:8px 0
}
.small {
  font-size:11px;
  line-height:1.6;
  margin-top:12px;
  margin-bottom:0
}
.positive {
  color:#63d6ae
}
.negative {
  color:#ed8e9b
}
.category-filters {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin:5px 0 16px
}
.category-button {
  border:1px solid #34485f;
  background:#15253a;
  color:#a6bad2;
  border-radius:20px;
  font-size:11px;
  padding:6px 10px
}
.category-button[aria-pressed=true] {
  background:#244b48;
  color:#91ead1;
  border-color:#488e7f
}
.desk-table-wrap {
  overflow:auto
}
.desk-table {
  width:100%;
  font-size:12px;
  border-collapse:collapse
}
.desk-table th {
  text-align:left;
  color:#8ba0b9;
  font-weight:500;
  white-space:nowrap;
  padding:10px;
  border-bottom:1px solid #354457
}
.desk-table td {
  padding:12px 10px;
  border-bottom:1px solid #213148;
  font-variant-numeric:tabular-nums
}
.desk-table td:last-child {
  min-width:120px
}
#updated {
  font-size:11px
}
.desk-heading p {
  font-size:13px;
  margin-bottom:0
}
body {
  background:#091320;
  color:#e6eef8
}
@media(max-width:1100px) {
  .desk-grid {
  grid-template-columns:250px minmax(0,1fr);
  padding:0 16px 20px;
  gap:14px
}
.desk-metrics {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.desk-panel {
  padding:16px
}

}
@media(max-width:760px) {
  .desk-heading {
  padding:20px 16px;
  align-items:start;
  flex-direction:column
}
.desk-grid {
  grid-template-columns:1fr
}
.activity-panel {
  position:static;
  height:300px;
  min-height:0;
  order:2
}
.desk-main {
  order:1
}
.desk-metrics strong {
  font-size:21px
}
.panel-heading {
  flex-wrap:wrap
}

}


.desk-main {
  grid-template-columns:minmax(0,1fr)
}
.desk-panel {
  min-width:0
}
.desk-table-wrap {
  max-width:100%
}
@media(max-width:760px) {
  .desk-grid {
  grid-template-columns:minmax(0,1fr)
}

}


/* Separate Crypto / Nifty P/L cards in the header. */
.pnl-card {
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:150px;
  padding:10px 16px;
  border-radius:12px;
  background:#132337;
  border:1px solid #34485f
}
.pnl-label {
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#899bb3
}
.pnl-card strong {
  font-size:22px;
  font-weight:750;
  color:#e6eef8;
  font-variant-numeric:tabular-nums
}
.pnl-card.is-positive { border-color:#488e7f }
.pnl-card.is-positive strong { color:#91ead1 }
.pnl-card.is-negative { border-color:#8a4450 }
.pnl-card.is-negative strong { color:#efa5ae }

/* Session control buttons: clear pressable targets with state feedback. */
.control-buttons .desk-button,
.control-fields .desk-button {
  min-height:44px;
  padding:11px 18px;
  font-size:13px;
  cursor:pointer;
  transition:transform .08s ease, filter .15s ease, box-shadow .15s ease, opacity .15s ease
}
.desk-button:not(:disabled):active {
  transform:translateY(1px) scale(.98)
}
.desk-button:focus-visible {
  outline:2px solid #91ead1;
  outline-offset:2px
}
.desk-button:disabled {
  opacity:.35;
  cursor:not-allowed;
  filter:grayscale(.6)
}
.desk-button:disabled:hover {
  filter:grayscale(.6)
}
.desk-button.is-busy {
  opacity:.85;
  cursor:progress;
  filter:none
}
.desk-button.is-busy::before {
  content:"";
  display:inline-block;
  width:12px;
  height:12px;
  margin-right:8px;
  vertical-align:-1px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:desk-spin .7s linear infinite
}
@keyframes desk-spin { to { transform:rotate(360deg) } }
.desk-button.is-suggested {
  box-shadow:0 0 0 3px rgba(73,198,164,.35);
  animation:desk-pulse 2s ease-in-out infinite
}
@keyframes desk-pulse {
  50% { box-shadow:0 0 0 6px rgba(73,198,164,.12) }
}
.command-result {
  min-height:1.4em;
  font-size:13px;
  margin-top:12px;
  padding:0;
  border-radius:8px
}
.command-result.is-pending,
.command-result.is-success,
.command-result.is-error {
  padding:9px 12px;
  border:1px solid
}
.command-result.is-pending { color:#f0d5a1; border-color:#6b5a33; background:#241f12 }
.command-result.is-success { color:#91ead1; border-color:#488e7f; background:#10271f }
.command-result.is-error { color:#efa5ae; border-color:#8a4450; background:#2a141a }
.desk-badge.state-running { border-color:#488e7f; color:#91ead1 }
.desk-badge.state-paused { border-color:#8a7440; color:#f0d5a1 }
.desk-badge.state-exit { border-color:#8a4450; color:#efa5ae }
.desk-badge.state-target { border-color:#8a7440; color:#f0d5a1 }
@media(max-width:760px) {
  .desk-heading-meta { width:100%; justify-content:stretch }
  .pnl-card { flex:1 1 140px }
  .control-buttons .desk-button { flex:1 1 calc(50% - 10px) }
}

/* ── Futures controls redesign ────────────────────────────────── */
.futures-controls-card {
  display:grid;
  gap:20px
}
.futures-controls-card .panel-heading {
  margin-bottom:4px
}
.futures-contract-row {
  display:flex;
  align-items:end;
  gap:12px
}
.futures-contract-row label {
  flex:1;
  display:grid;
  gap:6px;
  font-size:12px;
  color:#adc0d6
}
.futures-contract-row select {
  appearance:none;
  background:#091422 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23899bb3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;
  color:#e6eef8;
  border:1px solid #344960;
  border-radius:8px;
  padding:11px 36px 11px 14px;
  font-size:14px;
  font-weight:600;
  width:100%;
  cursor:pointer;
  transition:border-color .15s ease
}
.futures-contract-row select:focus {
  outline:none;
  border-color:#49c6a4;
  box-shadow:0 0 0 2px rgba(73,198,164,.2)
}
.futures-bot-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap
}
.futures-bot-actions .desk-button {
  flex:1 1 140px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  font-size:14px;
  font-weight:700;
  border-radius:10px
}
.futures-risk-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  gap:8px;
  margin-top:4px
}
.futures-risk-item {
  background:#0e1a2a;
  border:1px solid #26364b;
  border-radius:10px;
  padding:10px 14px;
  text-align:center
}
.futures-risk-item .risk-value {
  display:block;
  font-size:16px;
  font-weight:700;
  color:#91ead1;
  margin-bottom:2px
}
.futures-risk-item .risk-label {
  font-size:10px;
  color:#899bb3;
  text-transform:uppercase;
  letter-spacing:.04em
}
.futures-status-line {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  color:#899bb3
}
.futures-status-line .status-icon {
  display:inline-flex;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#899bb3;
  flex-shrink:0
}
.futures-status-line .status-icon.is-active { background:#49c6a4 }
.futures-status-line .status-icon.is-waiting { background:#f0d5a1 }
.futures-status-line .status-icon.is-error { background:#ce5263 }
@media(max-width:760px) {
  .futures-bot-actions .desk-button { flex:1 1 100% }
  .futures-risk-grid { grid-template-columns:repeat(2, 1fr) }
}


.tf-tabs {
  margin-bottom:8px
}
.tf-tabs .category-button .tf-count {
  margin-left:6px;
  color:#91ead1;
  font-weight:650
}
.tf-summary {
  font-size:12px;
  color:#a6bad2;
  margin:0 0 8px
}
.tf-pick {
  display:inline-block;
  border-radius:10px;
  padding:2px 8px;
  font-size:11px;
  white-space:nowrap;
  border:1px solid #34485f;
  color:#a6bad2
}
.tf-pick.is-qualified {
  border-color:#488e7f;
  color:#91ead1
}
.tf-pick.is-forced {
  border-color:#8a7440;
  color:#f0c14b
}
