
:root{
  --nav:#10283c;
  --nav-dark:#0b1e2f;
  --teal:#128b78;
  --teal-dark:#0c7162;
  --bg:#f5f7f9;
  --surface:#ffffff;
  --line:#dce3e8;
  --line-soft:#e9eef1;
  --text:#182433;
  --muted:#687989;
  --green:#19785b;
  --green-bg:#e8f5ef;
  --amber:#94651b;
  --amber-bg:#fff4db;
  --red:#b33a43;
  --red-bg:#fff1f2;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  font-size:14px;
  -webkit-font-smoothing:antialiased;
}
button,input,select{font:inherit}
.app{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  grid-template-rows:58px minmax(calc(100vh - 58px),auto);
  grid-template-areas:"top top" "side main";
  min-height:100vh;
}
.top{
  grid-area:top;
  background:linear-gradient(90deg,var(--nav-dark),var(--nav));
  color:#fff;
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 18px;
  position:sticky;
  top:0;
  z-index:20;
}
.brand{font-size:18px;font-weight:750;min-width:250px}
.brand b{color:#3bd1b5}
.gsearch{
  flex:1;
  max-width:520px;
  margin:auto;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.07);
  border-radius:7px;
  padding:7px 12px;
}
.gsearch input{width:100%;border:0;background:transparent;color:#fff;outline:0;padding:3px}
.gsearch input::placeholder{color:#8193a1}
.badge,.build-badge{
  font-size:10px;
  font-weight:800;
  letter-spacing:.35px;
  border-radius:999px;
  padding:5px 8px;
}
.badge{background:rgba(37,196,167,.14);color:#c7f7ed}
.build-badge{background:rgba(255,255,255,.1);color:#d9e4eb}

.side{
  grid-area:side;
  background:linear-gradient(180deg,var(--nav),var(--nav-dark));
  padding:14px 10px;
  color:#dce5eb;
  min-height:calc(100vh - 58px);
}
.nav{
  display:block;
  width:100%;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  padding:11px 13px;
  border-radius:6px;
  margin-bottom:5px;
  cursor:pointer;
  font-weight:600;
}
.nav:hover{background:rgba(255,255,255,.06)}
.nav.active{background:#398d82;color:#fff}
.main{grid-area:main;padding:26px 30px;min-width:0}
.page{display:none}
.page.active{display:block}
.head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:20px;
}
.eyebrow{
  font-size:11px;
  font-weight:800;
  letter-spacing:1px;
  color:#617487;
}
h1{font-size:28px;line-height:1.1;margin:4px 0 6px}
h2{font-size:17px;line-height:1.2;margin:0 0 5px}
p{margin:0;color:var(--muted);line-height:1.45}

.btn{
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  min-height:36px;
  padding:8px 13px;
  border-radius:6px;
  font-weight:700;
  cursor:pointer;
}
.btn:hover{border-color:#b8c6cf;background:#fafcfd}
.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}
.btn.primary:hover{background:var(--teal-dark)}
.btn.danger{background:#fff7f7;color:var(--red);border-color:#efc9cc}
.btn.small{min-height:31px;padding:6px 10px;font-size:12px}

.card,.panel,.status-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:0 1px 2px rgba(16,39,59,.04),0 5px 18px rgba(16,39,59,.035);
}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.stat{padding:15px}
.stat .label{font-size:12px;color:var(--muted);font-weight:700}
.stat .value{font-size:26px;font-weight:800;margin-top:6px}
.tools{display:flex;gap:10px;margin:15px 0}
.tools input,.tools select,input,select{
  border:1px solid var(--line);
  border-radius:6px;
  padding:9px 10px;
  min-height:38px;
  background:#fff;
  outline:0;
}
input:focus,select:focus{border-color:#76bcae;box-shadow:0 0 0 3px rgba(18,139,120,.08)}
.tools input{min-width:290px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(330px,1fr));gap:14px}

.wcard{padding:16px;cursor:pointer}
.wtop{display:flex;justify-content:space-between;gap:12px}
.wname{font-size:17px;font-weight:800}
.wdesc{font-size:12px;color:var(--muted);margin-top:4px}
.tf{
  display:inline-block;
  background:#e8f6f2;
  color:#11735f;
  border:1px solid #c7e8de;
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
}
.meta{display:flex;gap:17px;margin:18px 0 11px;font-size:12px;color:#5f6e7d}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-size:11px;background:#f1f4f6;border:1px solid #e2e7ea;padding:4px 7px;border-radius:5px}
.open{border-top:1px solid #edf1f3;margin-top:13px;padding-top:11px;font-size:12px;color:#0d7c69;font-weight:750}
.crumb{font-size:12px;color:#748391;margin-bottom:10px}
.link{border:0;background:transparent;padding:0;color:#0d7c69;font-weight:700;cursor:pointer}
.callout{background:#eff8f6;border:1px solid #cce9e2;border-left:4px solid #1bb39a;padding:12px 14px;border-radius:6px;margin-bottom:15px;color:#365f58}

.ph{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:15px 16px;
  border-bottom:1px solid var(--line-soft);
}
.tablewrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:760px}
th{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.3px;
  color:#687582;
  background:#f8fafb;
  text-align:left;
  padding:10px 12px;
  border-bottom:1px solid var(--line);
}
td{padding:10px 12px;border-bottom:1px solid #edf0f2;font-size:12px}
.sym{font-weight:800;color:#126ec1}
.sub{display:block;color:#7a8794;font-size:11px;margin-top:2px}
.status{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
}
.ready{background:var(--green-bg);color:var(--green)}
.pending{background:#edf3fb;color:#346bb0}
.empty{padding:38px;text-align:center;color:var(--muted)}
.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:15px}
.summary>div{padding:15px}
.sv{font-size:17px;font-weight:800;margin-top:5px}

.modalbg{
  position:fixed;
  inset:0;
  background:rgba(8,22,34,.52);
  display:grid;
  place-items:center;
  padding:20px;
  z-index:50;
}
.hidden{display:none!important}
.modal{
  width:min(620px,96vw);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border-radius:10px;
  box-shadow:0 22px 65px rgba(0,0,0,.24);
}
.mh,.mf{
  padding:16px 18px;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.mf{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end;gap:8px}
.mb{padding:17px 18px}
.x{border:0;background:transparent;font-size:20px;cursor:pointer}
.form{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field.full{grid-column:1/-1}
.field label{
  font-size:11px;
  font-weight:800;
  color:#5d6b78;
  text-transform:uppercase;
  letter-spacing:.25px;
}
.help{font-size:11px;color:#7b8895;line-height:1.4}
.warn{background:#fff7e8;border:1px solid #efd6a7;color:#845e1f;padding:11px;border-radius:6px;margin-top:11px;font-size:12px}
.dangerbox{background:var(--red-bg);border:1px solid #efc6ca;color:#893039;padding:11px;border-radius:6px}
.okbox{background:#eff8f6;border:1px solid #cae8df;color:#236b5c;padding:11px;border-radius:6px}
.results{border:1px solid var(--line);border-radius:6px;max-height:250px;overflow:auto}
.ri{padding:9px 10px;border-bottom:1px solid #edf0f2;display:flex;justify-content:space-between;cursor:pointer}
.ri:hover,.ri.sel{background:#eff8f5}
.rmeta{font-size:10px;color:#798692}
.progress{height:8px;background:#edf1f3;border-radius:999px;overflow:hidden;margin-top:10px}
.progress>div{height:100%;background:#1aa68b;width:0;transition:.25s}
.toast{position:fixed;right:22px;bottom:22px;background:#16364d;color:#fff;padding:11px 14px;border-radius:7px;z-index:70;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;background:#f3f5f6;padding:2px 5px;border-radius:4px}
svg{width:100%;height:250px;background:linear-gradient(#fff,#fbfcfd)}

/* Data Status */
#sgrid{grid-template-columns:repeat(3,minmax(240px,1fr))}
.status-card{
  padding:18px;
  min-height:190px;
  display:flex;
  flex-direction:column;
}
.status-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.status-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:8px;
  background:#eef7f5;
  color:#147565;
  font-size:11px;
  font-weight:900;
  letter-spacing:.5px;
}
.health{
  font-size:10px;
  font-weight:850;
  padding:5px 8px;
  border-radius:999px;
}
.health.up{background:var(--green-bg);color:var(--green)}
.health.warn{background:var(--amber-bg);color:var(--amber)}
.status-card h2{font-size:18px;margin-bottom:7px}
.status-card p{min-height:42px}
.status-action{
  margin-top:auto;
  width:100%;
  border:0;
  border-top:1px solid var(--line-soft);
  padding:13px 0 0;
  background:transparent;
  color:#117967;
  font-weight:800;
  text-align:left;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.status-action:hover{color:#075e50}

/* Settings */
.settings-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:16px;
  align-items:start;
}
.settings-panel{overflow:hidden}
.settings-header{padding:17px 18px}
.settings-body{padding:18px}
.security-note{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:11px;
  align-items:start;
  background:#eff8f6;
  border:1px solid #cae8df;
  border-radius:7px;
  padding:12px 14px;
  color:#315e55;
}
.security-icon{
  width:30px;height:30px;border-radius:50%;
  background:#d9f1e9;color:#14735e;
  display:grid;place-items:center;font-weight:900;
}
.security-note b{display:block;margin-bottom:3px}
.security-note span{display:block;font-size:12px;color:#657872;line-height:1.4}
.settings-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 20px;
  margin-top:20px;
}
.secret-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.secret-row input{width:100%;min-width:0}
.settings-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border-top:1px solid var(--line-soft);
  margin-top:22px;
  padding-top:18px;
}
.settings-actions-right{display:flex;gap:8px}
.connection-card{padding:18px}
.connection-card h2{font-size:19px;margin:4px 0 13px}
.setting-status-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:11px 0;
  border-bottom:1px solid var(--line-soft);
  font-size:12px;
}
.setting-status-row span{color:var(--muted)}
.setting-status-row b{text-align:right}
.small-note{margin-top:14px;font-size:11px;line-height:1.5}

@media(max-width:1100px){
  #sgrid{grid-template-columns:1fr 1fr}
  .settings-layout{grid-template-columns:1fr}
}
@media(max-width:900px){
  .app{grid-template-columns:1fr;grid-template-areas:"top" "main"}
  .side{display:none}
  .main{padding:18px}
  .stats,.grid,#sgrid,.settings-grid{grid-template-columns:1fr}
  .brand{min-width:auto}
  .gsearch{display:none}
}

.instrument-result{appearance:none;-webkit-appearance:none;width:100%;border:0;border-bottom:1px solid #edf0f2;background:#fff;color:inherit;text-align:left;cursor:pointer;font:inherit}
.instrument-result:hover{background:#f3faf8}
.instrument-result.sel{background:#e7f5f1;box-shadow:inset 4px 0 0 #128b78}
.selected-instrument{margin-top:9px;border:1px solid #b9dfd6;background:#eff9f6;border-radius:7px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.selected-label{display:inline-flex;padding:3px 6px;border-radius:999px;background:#168a74;color:#fff;font-size:9px;font-weight:850;text-transform:uppercase}
.selected-meta{font-size:10px;color:#617281;white-space:nowrap}
.btn:disabled{opacity:.48;cursor:not-allowed}

.bulk-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:12px}.bulk-rows{margin-top:14px;border:1px solid var(--line);border-radius:7px;overflow:hidden;max-height:320px;overflow-y:auto}.bulk-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;border-bottom:1px solid var(--line-soft);background:#fff}.bulk-row:last-child{border-bottom:0}.bulk-row b{display:block;font-size:12px}.bulk-row span{font-size:10px;color:var(--muted)}.bulk-status{font-size:10px!important;font-weight:800;padding:4px 7px;border-radius:999px;white-space:nowrap}.bulk-status.running{background:#edf3fb;color:#356dac}.bulk-status.success{background:var(--green-bg);color:var(--green)}.bulk-status.failed{background:var(--red-bg);color:var(--red)}
#chartPanel .panel{position:relative}.chart-controls{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-bottom:1px solid var(--line-soft);font-size:11px;color:var(--muted)}.chart-controls>div{display:flex;gap:6px}.grid-line{stroke:#e8edf0;stroke-width:1;vector-effect:non-scaling-stroke}.axis-label{fill:#788692;font-size:10px}.candle-up{fill:#299474;stroke:#299474;vector-effect:non-scaling-stroke}.candle-down{fill:#d95861;stroke:#d95861;vector-effect:non-scaling-stroke}.wick{stroke-width:1}.hit{fill:transparent;stroke:none;cursor:crosshair}.chart-tip{position:absolute;z-index:8;min-width:175px;background:#10283c;color:#fff;border-radius:7px;padding:9px 10px;box-shadow:0 8px 24px rgba(0,0,0,.18);pointer-events:none;font-size:10px;line-height:1.45}.chart-tip b{display:block;margin-bottom:4px;font-size:11px}.chart-tip span{display:inline-block;margin-right:8px;color:#e8f1f5}

.head-actions,.instrument-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.health-summary{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:11px 15px;border-bottom:1px solid var(--line-soft);background:#fbfcfd}
.health-pill,.health-badge,.quality-badge{display:inline-flex;align-items:center;border-radius:999px;font-size:10px;font-weight:850;padding:5px 8px;border:0}
.health-pill.fresh,.health-badge.fresh{background:#e8f5ef;color:#19785b}.health-pill.warning,.health-badge.warning{background:#fff4db;color:#94651b}.health-pill.delayed,.health-badge.delayed{background:#fff1f2;color:#b33a43}.health-pill.missing,.health-badge.missing{background:#eef1f4;color:#66717d}
.health-note{font-size:10px;color:var(--muted);margin-left:auto}.quality-badge{cursor:pointer}.quality-badge.ok{background:#e8f5ef;color:#19785b}.quality-badge.review{background:#fff4db;color:#94651b}.quality-badge.issue{background:#fff1f2;color:#b33a43}
.checkcol{width:34px;text-align:center}.checkcol input{width:15px;height:15px}.actions-cell{white-space:nowrap}.date-link{border:0;background:transparent;color:#126ec1;padding:0;cursor:pointer;text-decoration:underline;text-decoration-style:dotted}.error-sub{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b33a43;font-size:10px;margin-top:3px}
.quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quality-grid>div{border:1px solid var(--line);border-radius:7px;padding:12px}.quality-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.quality-grid b{display:block;font-size:20px;margin-top:4px}
.chart-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line-soft);background:#fbfcfd}.chart-controls>div,.range-buttons{display:flex;gap:5px;flex-wrap:wrap}.volume-bar{opacity:.35}.current-line{stroke:#2d6fbd;stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.current-label{fill:#2d6fbd;font-size:10px;font-weight:800}.highlow-label{fill:#566776;font-size:10px;font-weight:700}
@media(max-width:1050px){.health-note{width:100%;margin-left:0}.actions-cell{white-space:normal}.chart-controls{align-items:flex-start;flex-direction:column}}


/* v2.1 - larger OHLC chart and browser fullscreen */
#chartPanel{
  overflow:hidden;
}
#chartPanel #chart{
  width:100%;
  height:520px;
  min-height:520px;
  background:#fff;
  display:block;
}
.chart-panel-header{
  position:relative;
  z-index:4;
  background:#fff;
}
.chart-header-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.fullscreen-control{
  min-width:92px;
}

/* Browser Fullscreen API */
#chartPanel:fullscreen,
#chartPanel:-webkit-full-screen{
  width:100vw;
  height:100vh;
  max-width:none;
  margin:0;
  border:0;
  border-radius:0;
  background:#fff;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#chartPanel:fullscreen .chart-panel-header,
#chartPanel:-webkit-full-screen .chart-panel-header{
  flex:0 0 auto;
}
#chartPanel:fullscreen .chart-controls,
#chartPanel:-webkit-full-screen .chart-controls{
  flex:0 0 auto;
}
#chartPanel:fullscreen #chart,
#chartPanel:-webkit-full-screen #chart{
  flex:1 1 auto;
  width:100%;
  height:calc(100vh - 132px);
  min-height:0;
  background:#fff;
}
#chartPanel:fullscreen > .tablewrap,
#chartPanel:-webkit-full-screen > .tablewrap{
  display:none;
}
#chartPanel:fullscreen .chart-tip,
#chartPanel:-webkit-full-screen .chart-tip{
  z-index:30;
}

@media(max-width:1050px){
  #chartPanel #chart{
    height:440px;
    min-height:440px;
  }
}

/* v2.2 - TradingView-style chart navigation */
#chart{
  cursor:crosshair;
  user-select:none;
  -webkit-user-select:none;
  touch-action:pan-y;
}
#chart.dragging{
  cursor:grabbing;
}
.chart-controls{
  gap:12px;
  flex-wrap:wrap;
}
.chart-nav-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}
.chart-hint{
  font-size:10px;
  color:var(--muted);
  margin-right:5px;
  white-space:nowrap;
}
@media(max-width:1050px){
  .chart-hint{display:none}
}

/* v2.3 quality-calendar note */
.quality[title]{cursor:help}

/* v3.0 Zone Engine */
.zone-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.25px;
  white-space:nowrap;
}
.zone-badge.z0{background:#eef2f5;color:#6c7a87}
.zone-badge.z1{background:#e7f5ef;color:#17745c}
.zone-badge.z2{background:#fff4d9;color:#94651b}
.zone-badge.z3{background:#fdebed;color:#a23c47}
.zone-age{display:block;margin-top:3px;font-size:9px;color:var(--muted)}
.fractal-high-line{
  stroke:#2779bd;
  stroke-width:1.25;
  stroke-dasharray:6 4;
  vector-effect:non-scaling-stroke;
}
.fractal-low-line{
  stroke:#8a5bb8;
  stroke-width:1.25;
  stroke-dasharray:6 4;
  vector-effect:non-scaling-stroke;
}
.fractal-high-label,.fractal-low-label{
  font-size:9px;
  font-weight:800;
}
.fractal-high-label{fill:#2779bd}
.fractal-low-label{fill:#8a5bb8}


.signal-buy-marker{fill:#23866a;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.signal-sell-marker{fill:#c84d57;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.signal-buy-label,.signal-sell-label{font-size:8px;font-weight:900;pointer-events:none}
.signal-buy-label{fill:#1c745c}.signal-sell-label{fill:#a53e47}
.tip-signal{font-weight:900!important}.tip-buy{color:#8ce0c2!important}.tip-sell{color:#ffadb4!important}


/* v3.3 - signal timeframe + trade simulation */
.signal-panel{
  border-top:1px solid var(--border);
  background:#fff;
}
.signal-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 16px 12px;
}
.signal-panel-head h3{
  margin:0 0 3px;
  font-size:14px;
}
.signal-panel-head p{
  margin:0;
  color:var(--muted);
  font-size:11px;
}
.signal-tf-label{
  display:flex;
  align-items:center;
  gap:8px;
  color:#536474;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.signal-tf-label select{
  height:34px;
  min-width:110px;
  padding:0 28px 0 10px;
  border:1px solid var(--border);
  border-radius:7px;
  background:#fff;
  color:var(--text);
  font-weight:700;
}
.signal-summary{
  display:grid;
  grid-template-columns:repeat(6,minmax(110px,1fr));
  gap:8px;
  padding:0 16px 14px;
}
.signal-stat{
  border:1px solid var(--border);
  border-radius:8px;
  padding:10px 11px;
  background:#fbfcfd;
  min-width:0;
}
.signal-stat span{
  display:block;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.45px;
  color:var(--muted);
  margin-bottom:5px;
  font-weight:800;
}
.signal-stat b{
  display:block;
  font-size:13px;
  color:var(--text);
  overflow-wrap:anywhere;
}
.signal-stat b small{
  font-size:10px;
  font-weight:700;
}
.signal-stat.total{
  background:#f6faf9;
}
.pnl-pos{color:#17745c!important;font-weight:800}
.pnl-neg{color:#b83f49!important;font-weight:800}
.signal-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  padding:4px 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
}
.signal-chip.buy{background:#e7f5ef;color:#17745c}
.signal-chip.sell{background:#fdebed;color:#a23c47}
.signal-table-wrap{
  max-height:260px;
  overflow:auto;
}
.signal-empty{
  text-align:center;
  color:var(--muted);
  padding:24px!important;
}
#chartPanel:fullscreen .signal-panel,
#chartPanel:-webkit-full-screen .signal-panel{
  display:none;
}
@media(max-width:1050px){
  .signal-summary{grid-template-columns:repeat(3,minmax(120px,1fr))}
}


/* v3.5 - optional short selling */
.signal-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  flex-wrap:wrap;
}
.short-toggle{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:11px;
  font-weight:700;
  color:#536474;
  white-space:nowrap;
  cursor:pointer;
}
.short-toggle input{
  width:16px;
  height:16px;
  accent-color:#2e8f7f;
  cursor:pointer;
}
.sim-mode{
  display:block;
  margin-top:3px;
  font-size:9px!important;
  color:var(--muted);
  font-weight:700!important;
}

.move-notice{
  margin-top:10px;
  padding:11px 12px;
  border-radius:8px;
  font-size:11px;
  line-height:1.5;
}
.move-notice.safe{
  background:#eef8f4;
  border:1px solid #c8e5da;
  color:#35695c;
}
.move-notice.warn{
  background:#fff6e5;
  border:1px solid #efd7a5;
  color:#765b25;
}

.instrument-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.wk52-cell{display:flex;flex-direction:column;gap:2px;white-space:nowrap;font-size:10px;color:var(--muted)}
.wk52-cell b{color:var(--text);font-weight:800}
.opp-badge{display:inline-flex;min-width:28px;justify-content:center;padding:3px 6px;border-radius:999px;font-size:10px;font-weight:900}
.opp-badge.buy{background:#e7f5ef;color:#17745c}.opp-badge.sell{background:#fdebed;color:#a23c47}
.opp-anchor{display:block;margin-top:3px;font-size:9px;color:var(--muted);white-space:nowrap}
.signal-table-wrap table{min-width:980px}

.strategy-stat{background:#f7fafc}
.strategy-sub{display:block;margin-top:3px;font-size:9px;color:var(--muted);white-space:nowrap}
.signal-controls select{min-width:135px}

/* v4.3 - every-opportunity accumulation */
.strategy-sub{
  line-height:1.35;
}

.strategy-fixed-pill{
  display:flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#f7fafc;
  font-size:12px;
  font-weight:700;
  color:var(--text);
}


/* =========================================================
   v5.1 — Automation Desk
   ========================================================= */
.automation-head{align-items:flex-end}
.automation-head-actions{display:flex;gap:8px}
.automation-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:16px;margin-bottom:16px}
.automation-status-card,.automation-schedule-card{
  border:1px solid var(--border);border-radius:14px;background:#fff;padding:20px;
  box-shadow:0 8px 28px rgba(15,23,42,.05)
}
.automation-status-card{
  background:linear-gradient(135deg,#0f172a 0%,#172554 100%);color:#fff;border-color:#172554
}
.auto-status-top,.auto-card-title,.auto-schedule-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.auto-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#14b8a6;margin-bottom:5px}
.automation-status-card .auto-kicker{color:#5eead4}
.automation-status-card h2,.automation-schedule-card h3{margin:0}
.automation-status-card p{color:#cbd5e1;margin:8px 0 16px}
.auto-live{font-size:10px;font-weight:900;letter-spacing:.08em;padding:7px 10px;border-radius:999px;background:#0f766e;color:#ccfbf1}
.auto-live.busy{background:#854d0e;color:#fef3c7}
.auto-live.error{background:#991b1b;color:#fee2e2}
.auto-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:13px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:#cbd5e1}
.auto-flow span{padding:6px 8px;background:rgba(255,255,255,.06);border-radius:6px}
.auto-flow b{color:#5eead4}
.auto-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.auto-schedule-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;color:var(--muted)}
.auto-schedule-grid input,.auto-schedule-grid select{height:36px;border:1px solid var(--border);border-radius:8px;padding:0 10px;background:#fff;color:var(--text)}
.auto-schedule-footer{padding-top:12px;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}
.auto-switch{position:relative;width:42px;height:24px}
.auto-switch input{opacity:0;width:0;height:0}
.auto-switch span{position:absolute;inset:0;border-radius:999px;background:#cbd5e1;cursor:pointer;transition:.2s}
.auto-switch span:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.auto-switch input:checked+span{background:#0f766e}
.auto-switch input:checked+span:before{transform:translateX(18px)}
.auto-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:22px}
.auto-metric{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.auto-metric span{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.auto-metric b{display:block;font-size:22px;margin-top:5px}
.auto-metric small{color:var(--muted)}
.auto-metric.buy{border-top:3px solid #059669}.auto-metric.sell{border-top:3px solid #dc2626}
.auto-section-head{display:flex;justify-content:space-between;align-items:flex-end;margin:20px 0 9px}
.auto-section-head h2{margin:2px 0 2px}.auto-section-head p{margin:0;color:var(--muted);font-size:12px}
.auto-run-time{font-size:11px;color:var(--muted)}
.auto-table-panel{padding:0;overflow:hidden}
.auto-table th{font-size:10px;white-space:nowrap}
.auto-table td{vertical-align:middle}
.auto-symbol{display:flex;flex-direction:column;gap:2px;min-width:120px}
.auto-symbol span{font-size:10px;color:var(--muted)}
.reason-tag{display:inline-flex;padding:4px 7px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:10px;font-weight:800;white-space:nowrap}
.reason-tag.sell{background:#fef2f2;color:#b91c1c}
.reason-sub{display:block;font-size:9px;color:var(--muted);margin-top:3px}
.warn-mini{display:block;color:#b45309;font-size:9px;margin-top:2px}
.auto-bottom-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-top:20px}
.auto-holdings-empty,.review-queue-empty{padding:24px;color:var(--muted);text-align:center}
.auto-holdings-list{padding:0 14px 14px}
.holding-row{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:10px;padding:11px 4px;border-bottom:1px solid var(--border);align-items:center}
.holding-row>div{display:flex;flex-direction:column;gap:2px}.holding-row span{font-size:9px;color:var(--muted)}.holding-row b{font-size:11px}
.review-queue{padding:10px 14px 14px}
.review-item{display:grid;grid-template-columns:48px 1fr auto 28px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}
.review-side{height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900}
.review-side.buy{background:#ecfdf5;color:#047857}.review-side.sell{background:#fef2f2;color:#b91c1c}
.review-main,.review-value{display:flex;flex-direction:column;gap:2px}.review-main span,.review-value span{font-size:9px;color:var(--muted)}
.icon-btn{border:0;background:transparent;font-size:18px;color:var(--muted);cursor:pointer}
.review-footer{display:flex;justify-content:space-between;align-items:center;padding-top:14px}
.review-footer>div{display:flex;flex-direction:column}.review-footer span{font-size:10px;color:var(--muted)}
.automation-safety-note{margin:16px 0;padding:12px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;color:#92400e;font-size:11px}
.strategy-fixed-pill{white-space:nowrap}
@media(max-width:1000px){
  .automation-hero,.auto-bottom-grid{grid-template-columns:1fr}
  .auto-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v5.2 — trading operations UX */
:root{
  --prepzo-navy:#0b1220;
  --prepzo-navy-2:#111c31;
  --prepzo-teal:#0f766e;
  --prepzo-teal-bright:#14b8a6;
  --prepzo-buy:#047857;
  --prepzo-sell:#b91c1c;
  --prepzo-amber:#b45309;
}
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:#f4f7fb}
.top{background:#fff;border-bottom:1px solid #e7edf5}
.brand{font-size:15px;letter-spacing:-.01em}.brand b{color:var(--prepzo-teal)}
.side{background:var(--prepzo-navy);padding-top:14px}
.nav-group-label{padding:12px 16px 6px;font-size:9px;font-weight:800;letter-spacing:.15em;color:#64748b}
.side .nav{margin:2px 8px;width:calc(100% - 16px);border-radius:8px;color:#cbd5e1;font-size:12px}
.side .nav:hover{background:rgba(255,255,255,.06);color:#fff}
.side .nav.active{background:linear-gradient(90deg,#0f766e,#115e59);color:#fff;box-shadow:0 4px 14px rgba(15,118,110,.22)}
.main{background:#f4f7fb}
.head h1,.automation-head h1{letter-spacing:-.03em}
.btn.primary{background:var(--prepzo-teal);border-color:var(--prepzo-teal)}
.btn.primary:hover{background:#115e59}
.market-badge{font-size:9px;font-weight:900;letter-spacing:.1em;color:#0f766e;background:#ecfdf5;border:1px solid #a7f3d0;padding:6px 8px;border-radius:999px}
.market-session-strip{display:grid;grid-template-columns:.8fr 1.4fr 1fr;gap:8px;margin:16px 0}
.market-session-strip>div{border:1px solid #e5eaf2;border-radius:10px;padding:10px;background:#f8fafc;display:flex;flex-direction:column;gap:2px}
.market-session-strip .market-main{background:#ecfdf5;border-color:#a7f3d0}
.market-session-strip span{font-size:8px;font-weight:900;letter-spacing:.12em;color:#64748b}
.market-session-strip b{font-size:14px}.market-session-strip small{font-size:9px;color:#64748b}
.trigger-mode{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.trigger-card{position:relative;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;border:1px solid #dfe6ef;border-radius:10px;padding:11px;cursor:pointer;background:#fff}
.trigger-card input{position:absolute;opacity:0}
.trigger-card:has(input:checked){border-color:#0f766e;box-shadow:0 0 0 2px rgba(15,118,110,.09);background:#f0fdfa}
.trigger-card>span:last-child{display:flex;flex-direction:column;gap:2px}
.trigger-card b{font-size:11px}.trigger-card small{font-size:9px;line-height:1.35;color:#64748b}
.trigger-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}
.trigger-icon.manual{background:#fff7ed;color:#b45309}.trigger-icon.automatic{background:#ecfdf5;color:#047857}
.auto-schedule-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.field-hint{display:block;margin-top:5px;font-size:9px;color:#64748b}
.auto-metric.buy b{color:var(--prepzo-buy)}.auto-metric.sell b{color:var(--prepzo-sell)}
@media(max-width:1100px){.auto-schedule-grid.compact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.trigger-mode,.market-session-strip{grid-template-columns:1fr}}

/* v5.3 — vertical trading workflow */
.automation-stack{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}
.automation-stack .automation-status-card,.automation-stack .automation-schedule-card{width:100%;min-height:auto}
.trading-scope-panel,.performance-review-panel{margin-bottom:18px}
.trading-scope-empty,.performance-empty,.performance-loading{padding:24px;color:var(--muted);text-align:center}
.trading-scope-list{padding:0 16px 16px}.scope-watchlist{padding:14px 0;border-bottom:1px solid var(--border)}.scope-watchlist:last-child{border-bottom:0}
.scope-watch-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.scope-watch-head>div{display:flex;flex-direction:column;gap:2px}.scope-watch-head span{font-size:10px;color:var(--muted)}
.scope-symbols{display:flex;gap:7px;flex-wrap:wrap}.scope-symbol{border:1px solid #dfe6ef;background:#fff;border-radius:8px;padding:7px 9px;display:flex;flex-direction:column;gap:1px;cursor:pointer;text-align:left}.scope-symbol:hover{border-color:#0f766e;background:#f0fdfa}.scope-symbol b{font-size:11px}.scope-symbol span{font-size:9px;color:var(--muted)}
.wcard-badges{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.trade-flag{font-size:8px;font-weight:900;letter-spacing:.08em;padding:4px 6px;border-radius:999px;white-space:nowrap}.trade-flag.on{background:#ecfdf5;color:#047857}.trade-flag.off{background:#f1f5f9;color:#64748b}
.toggle-line{display:flex!important;align-items:flex-start;gap:10px;padding:11px;border:1px solid var(--border);border-radius:9px;background:#f8fafc}.toggle-line input{margin-top:3px}.toggle-line span{display:flex;flex-direction:column;gap:2px}.toggle-line b{font-size:11px;color:var(--text)}.toggle-line small{font-size:9px;color:var(--muted)}
.performance-review-panel .ph select{min-width:260px;height:34px;border:1px solid var(--border);border-radius:8px;padding:0 9px;background:#fff}.performance-grid{padding:0 16px 16px;display:grid;gap:14px}.perf-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.perf-title>div{display:flex;flex-direction:column}.perf-title>div>b{font-size:18px}.perf-title span{font-size:10px;color:var(--muted)}
.perf-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.perf-metrics>div{padding:10px;border:1px solid var(--border);border-radius:9px;background:#f8fafc;display:flex;flex-direction:column;gap:3px}.perf-metrics span{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.perf-metrics b{font-size:12px}
.perf-section-title{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.lot-list{display:flex;gap:8px;flex-wrap:wrap}.lot-list>div{min-width:120px;padding:9px;border:1px solid #a7f3d0;background:#ecfdf5;border-radius:9px;display:flex;flex-direction:column}.lot-list span,.lot-list small{font-size:9px;color:#047857}.lot-list b{font-size:11px}
.signal-history{border:1px solid var(--border);border-radius:9px;overflow:hidden}.signal-history>div{display:grid;grid-template-columns:60px 110px 1fr 80px;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--border);font-size:10px}.signal-history>div:last-child{border-bottom:0}.performance-actions{display:flex;justify-content:flex-end;gap:8px}.performance-empty.small{padding:12px}
.auto-bottom-grid{display:flex;flex-direction:column;gap:16px}.auto-bottom-grid>.panel{width:100%}
@media(max-width:900px){.perf-metrics{grid-template-columns:repeat(2,1fr)}.signal-history>div{grid-template-columns:55px 1fr;}.performance-review-panel .ph{align-items:flex-start;gap:10px;flex-direction:column}.performance-review-panel .ph select{width:100%}}
\n/* v5.4 — trading configuration moved under Settings */\n.settings-section-head{margin:2px 0 12px}.settings-section-head h2{margin:2px 0 3px;font-size:18px}.settings-section-head p{margin:0;color:var(--muted);font-size:12px}\n.trading-settings-stack{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}\n.trading-settings-stack .automation-status-card,.trading-settings-stack .automation-schedule-card{width:100%;box-sizing:border-box}\n.trading-settings-stack .automation-status-card{min-height:auto;padding:17px 20px}\n.trading-settings-stack .auto-flow{padding-top:10px}\n#automation>.trading-scope-panel{margin-top:4px}\n
/* v5.5 - logical settings navigation */
.settings-shell{display:grid;grid-template-columns:245px minmax(0,1fr);gap:18px;align-items:start}
.settings-subnav{background:#fff;border:1px solid var(--border);border-radius:14px;padding:8px;position:sticky;top:76px}
.settings-nav-item{width:100%;border:0;background:transparent;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px;text-align:left;padding:10px;border-radius:9px;cursor:pointer;color:var(--text)}
.settings-nav-item:hover{background:#f8fafc}.settings-nav-item.active{background:#ecfdf5;color:#065f46}
.settings-nav-icon{width:30px;height:30px;border-radius:8px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}
.settings-nav-item.active .settings-nav-icon{background:#d1fae5;color:#047857}
.settings-nav-item>span:last-child{display:flex;flex-direction:column;gap:2px}.settings-nav-item b{font-size:11px}.settings-nav-item small{font-size:9px;color:#64748b;line-height:1.25}
.settings-content{min-width:0}.settings-pane{display:none}.settings-pane.active{display:block}
.settings-pane-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}
.settings-pane-head h2{margin:2px 0 3px}.settings-pane-head p{margin:0;color:var(--muted);font-size:11px}
.settings-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:0 6px 20px rgba(15,23,42,.035)}
.settings-card-title h3{margin:0 0 3px}.settings-card-title p{margin:0 0 14px;color:var(--muted);font-size:11px}
.settings-inline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.settings-inline-grid>div{border:1px solid #e8edf4;border-radius:10px;padding:11px;background:#f8fafc;display:flex;flex-direction:column;gap:3px}
.settings-inline-grid span{font-size:9px;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.settings-inline-grid b{font-size:11px}
.logical-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--border);padding-top:14px;margin-top:14px}
.logical-actions>span{font-size:10px;color:var(--muted)}
.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.settings-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:700;color:#64748b}
.settings-form-grid input{height:36px;border:1px solid var(--border);border-radius:8px;padding:0 10px;background:#f8fafc}
.settings-info-note{margin-top:14px;padding:11px 12px;border-radius:9px;background:#f8fafc;border:1px solid #e8edf4;color:#64748b;font-size:10px}
.system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-market-strip{margin-top:0}
#settings-angel .settings-layout{grid-template-columns:minmax(0,1fr) 280px}
@media(max-width:900px){.settings-shell{grid-template-columns:1fr}.settings-subnav{position:static;display:grid;grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.settings-subnav,.settings-inline-grid,.settings-form-grid{grid-template-columns:1fr}}


/* =========================================================
   v5.6 — Prepzo Console visual language
   Inspired by console.prepzoai.com: secure operations shell,
   compact enterprise typography, dark navigation and teal focus.
   ========================================================= */
:root{
  --console-bg:#f4f7fb;
  --console-surface:#ffffff;
  --console-surface-soft:#f8fafc;
  --console-navy:#0f1b2d;
  --console-navy-2:#13243b;
  --console-ink:#172033;
  --console-muted:#6f7d90;
  --console-line:#e4eaf1;
  --console-line-strong:#d7e0ea;
  --console-teal:#16877d;
  --console-teal-dark:#106d65;
  --console-teal-soft:#eaf8f5;
  --console-green:#16835d;
  --console-red:#c64b55;
  --console-amber:#b67828;
}
html,body{background:var(--console-bg)}
body{
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--console-ink);
  font-size:12px;
  letter-spacing:0;
}
.app{background:var(--console-bg)}
.top{
  height:58px;
  background:var(--console-surface);
  border-bottom:1px solid var(--console-line);
  box-shadow:0 1px 0 rgba(15,27,45,.02);
  padding:0 18px;
}
.brand{display:flex;align-items:center;gap:10px;font-size:13px;color:#516074;font-weight:600}
.brand-mark{
  width:28px;height:28px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--console-navy);color:#fff;font-size:13px;font-weight:800;box-shadow:0 3px 9px rgba(15,27,45,.16)
}
.brand b{font-weight:750;color:var(--console-ink)}
.brand em{font-style:normal;font-weight:500;color:#6e7c8e;margin-left:2px}
.gsearch input{
  height:32px;border:1px solid var(--console-line);border-radius:7px;background:#f9fbfd;
  color:var(--console-ink);font-size:11px;box-shadow:none
}
.gsearch input:focus{outline:none;border-color:#9ecdc8;box-shadow:0 0 0 3px rgba(22,135,125,.08);background:#fff}
.build-badge,.badge{border-radius:6px;font-size:9px;font-weight:800;letter-spacing:.04em;padding:5px 7px}
.side{
  top:58px;
  background:var(--console-navy);
  border-right:1px solid #0d1828;
  padding:14px 8px;
}
.nav-group-label{padding:13px 10px 6px;color:#728299;font-size:8px;letter-spacing:.16em;font-weight:800}
.side .nav{
  height:36px;margin:2px 0;width:100%;border-radius:7px;padding:0 11px;
  color:#afbdd0;font-size:11px;font-weight:600;text-align:left;transition:.15s ease;background:transparent
}
.side .nav:hover{background:rgba(255,255,255,.055);color:#e9f0f8}
.side .nav.active{
  background:#1a314c;color:#fff;box-shadow:inset 3px 0 0 var(--console-teal);font-weight:700
}
.main{padding-top:58px;background:var(--console-bg)}
.page{padding:22px 24px 34px}
.head{margin-bottom:16px;align-items:flex-end}
.eyebrow,.auto-kicker{color:var(--console-teal);font-size:8px;letter-spacing:.17em;font-weight:850}
.head h1{font-size:22px;line-height:1.15;margin:3px 0 4px;color:var(--console-ink);font-weight:760;letter-spacing:-.025em}
.head p{font-size:11px;color:var(--console-muted);margin:0;line-height:1.45}
.btn{
  height:32px;border:1px solid var(--console-line-strong);border-radius:7px;background:#fff;
  color:#344156;font-size:10px;font-weight:700;padding:0 11px;box-shadow:none
}
.btn:hover{border-color:#bac6d4;background:#f9fbfd}
.btn.primary{background:var(--console-teal);border-color:var(--console-teal);color:#fff}
.btn.primary:hover{background:var(--console-teal-dark);border-color:var(--console-teal-dark)}
.btn.danger{background:#fff;color:#b4454f;border-color:#ecc8cc}
.btn.small{height:28px;padding:0 9px;font-size:9px;border-radius:6px}
.card,.panel,.status-card,.settings-card,.automation-status-card,.automation-schedule-card{
  background:var(--console-surface);border:1px solid var(--console-line);border-radius:10px;
  box-shadow:0 4px 14px rgba(15,27,45,.035)
}
.panel{overflow:hidden}
.ph{padding:14px 16px;border-bottom:1px solid #edf1f5;background:#fff}
.ph h2,.auto-section-head h2,.settings-pane-head h2{font-size:14px;font-weight:750;letter-spacing:-.012em;color:var(--console-ink)}
.ph p,.auto-section-head p,.settings-pane-head p{font-size:10px;color:var(--console-muted);line-height:1.4}
.stats,.auto-metrics{gap:10px}
.card.stat,.auto-metric{padding:13px 14px;border-radius:9px;box-shadow:none}
.card.stat .label,.auto-metric span{font-size:8px;letter-spacing:.08em;color:#7b899b;font-weight:800}
.card.stat .value,.auto-metric b{font-size:19px;color:var(--console-ink);font-weight:760}
.auto-metric.buy{border-top:1px solid var(--console-line);border-left:3px solid var(--console-green)}
.auto-metric.sell{border-top:1px solid var(--console-line);border-left:3px solid var(--console-red)}
.auto-metric.buy b{color:var(--console-green)}.auto-metric.sell b{color:var(--console-red)}
.tools{background:#fff;border:1px solid var(--console-line);border-radius:9px;padding:9px}
.tools input,.tools select,select,input[type="date"],input[type="time"],.settings-form-grid input{
  border:1px solid var(--console-line-strong);border-radius:6px;background:#fff;color:var(--console-ink);font-size:10px
}
.grid{gap:12px}
.wcard{border-radius:9px;padding:15px;box-shadow:none;transition:.15s ease}
.wcard:hover{border-color:#b9dcd8;box-shadow:0 5px 15px rgba(15,27,45,.055);transform:translateY(-1px)}
.wname{font-size:13px;font-weight:750;color:var(--console-ink)}
.wdesc{font-size:10px;color:var(--console-muted)}
.tf,.trade-flag,.status,.health-pill,.signal-chip,.reason-tag,.market-badge,.strategy-fixed-pill{
  border-radius:999px;font-size:8px;font-weight:850;letter-spacing:.045em
}
.trade-flag.on,.status.ok,.health-pill.fresh{background:var(--console-teal-soft);color:var(--console-teal-dark);border-color:#bde6e0}
.trade-flag.off{background:#f2f5f8;color:#7a8796;border-color:#e4e9ef}
.tablewrap{background:#fff}
table{font-size:10px}
thead th{
  background:#f7f9fc;color:#68778a;font-size:8px;font-weight:850;letter-spacing:.055em;text-transform:uppercase;
  border-bottom:1px solid var(--console-line);padding-top:9px;padding-bottom:9px
}
tbody td{border-bottom:1px solid #eef2f6;color:#324055;padding-top:9px;padding-bottom:9px}
tbody tr:hover{background:#fbfcfe}
.sym,.auto-symbol b{font-weight:760;color:#1c293c}
.sub,.auto-symbol span{color:#7b8898;font-size:9px}
.callout,.settings-info-note,.automation-safety-note{
  border-radius:8px;border:1px solid #e3eaf1;background:#f8fafc;color:#657387;font-size:10px
}
.trading-scope-panel,.performance-review-panel,.auto-table-panel{border-radius:10px}
.scope-watchlist{border:1px solid var(--console-line);border-radius:8px;background:#fff}
.scope-symbol{border:1px solid #e6ebf1;border-radius:7px;background:#f9fbfd}
.scope-symbol:hover{border-color:#addbd6;background:#f0fbf9}
.auto-section-head{margin:18px 0 8px}
.signal-chip.buy,.reason-tag{background:#edf8f3;color:#167553}
.signal-chip.sell,.reason-tag.sell{background:#fbf0f1;color:#b9434c}
.pnl-pos{color:#167553!important}.pnl-neg{color:#b9434c!important}
.performance-grid{gap:12px}.perf-metrics>div{background:#f8fafc;border:1px solid #e9eef3;border-radius:7px}
.settings-shell{gap:14px}
.settings-subnav{border-radius:10px;border:1px solid var(--console-line);box-shadow:none;padding:6px}
.settings-nav-item{border-radius:7px;padding:9px}
.settings-nav-item.active{background:#edf8f6;color:#0f6d64}
.settings-nav-icon{background:#f2f5f8;border-radius:7px}
.settings-nav-item.active .settings-nav-icon{background:#dff3ef;color:#0f786f}
.settings-card{border-radius:10px;box-shadow:none;padding:16px}
.trigger-card{border-radius:8px}.trigger-card:has(input:checked){background:#eff9f7;border-color:#87cfc7;box-shadow:0 0 0 2px rgba(22,135,125,.07)}
.market-session-strip>div{border-radius:8px;background:#f8fafc}.market-session-strip .market-main{background:#eff9f5;border-color:#b8e5d7}
.modal-card,.modal{font-size:11px}
.mh{border-bottom:1px solid var(--console-line)}
.field label{font-size:9px;font-weight:800;color:#68778a;letter-spacing:.02em}
.field input,.field select{border-radius:6px;border-color:var(--console-line-strong)}
.chart-tip{background:var(--console-navy);border-radius:7px;box-shadow:0 8px 24px rgba(15,27,45,.22)}
@media(max-width:900px){.page{padding:16px}.top{padding:0 12px}}

/* v5.7 — page, action and section loaders */
.page-loader{position:fixed;inset:54px 0 0 188px;z-index:9998;display:flex;align-items:flex-start;justify-content:center;padding-top:70px;background:rgba(246,249,252,.72);backdrop-filter:blur(2px);transition:opacity .16s ease}
.page-loader.hidden{opacity:0;pointer-events:none}
.page-loader-card{display:flex;align-items:center;gap:13px;min-width:250px;padding:14px 17px;border:1px solid #dfe7ef;border-radius:12px;background:#fff;box-shadow:0 12px 34px rgba(15,23,42,.10)}
.page-loader-card>div:last-child{display:flex;flex-direction:column;gap:2px}.page-loader-card b{font-size:12px;color:#172033}.page-loader-card span{font-size:10px;color:#718096}
.prepzo-loader{width:28px;height:24px;display:flex;align-items:center;justify-content:center;gap:3px}
.prepzo-loader span{width:4px;height:10px;border-radius:999px;background:#0f766e;animation:prepzoPulse .9s infinite ease-in-out}
.prepzo-loader span:nth-child(2){animation-delay:.12s}.prepzo-loader span:nth-child(3){animation-delay:.24s}
.prepzo-loader.large{width:36px;height:30px}.prepzo-loader.large span{width:5px;height:15px}
@keyframes prepzoPulse{0%,80%,100%{transform:scaleY(.6);opacity:.45}40%{transform:scaleY(1.35);opacity:1}}
.section-loader{min-height:92px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:18px;color:#64748b}
.section-loader>div:last-child{display:flex;flex-direction:column;gap:2px}.section-loader b{font-size:11px;color:#334155}.section-loader span{font-size:9px;color:#94a3b8}
.btn-spinner{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:prepzoSpin .7s linear infinite;display:inline-block}
.btn:not(.primary) .btn-spinner{border-color:#cbd5e1;border-top-color:#0f766e}
@keyframes prepzoSpin{to{transform:rotate(360deg)}}.action-loading{cursor:wait!important;opacity:.88!important}
.skeleton-list{padding:10px 0;width:100%}.skeleton-row{min-height:42px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf1f5;padding:8px 12px}
.skeleton-block{display:block;height:10px;border-radius:5px;background:linear-gradient(90deg,#edf2f7 25%,#f8fafc 50%,#edf2f7 75%);background-size:200% 100%;animation:skeletonMove 1.15s infinite linear}
.skeleton-block.w30{width:30%}.skeleton-block.w20{width:20%}.skeleton-block.w15{width:15%}.skeleton-block.grow{flex:1}
@keyframes skeletonMove{to{background-position:-200% 0}}
@media(max-width:900px){.page-loader{left:0;inset:54px 0 0 0}}

/* =========================================================
   v5.8 — Prepzo Console login + Settings card workspace
   ========================================================= */
.auth-hidden{visibility:hidden}
.login-screen{
  position:fixed;inset:0;z-index:10000;background:#f4f6f8;
  display:flex;align-items:center;justify-content:center;padding:24px;
}
.login-screen.hidden{display:none}
.login-panel{
  width:390px;background:#fff;border:1px solid #dfe4ea;border-radius:14px;
  box-shadow:0 18px 50px rgba(15,23,42,.10);padding:28px;
}
.login-brand-mark,.console-brand-mark{
  width:34px;height:34px;border-radius:9px;background:#f8fafc;color:#152033;
  display:flex;align-items:center;justify-content:center;font-weight:800;border:1px solid #dfe4ea;
}
.login-brand{margin:-34px 0 0 46px;display:flex;flex-direction:column;gap:1px}
.login-brand b{font-size:13px}.login-brand span{font-size:9px;color:#64748b}
.login-divider{height:1px;background:#e7ebf0;margin:22px 0}
.login-kicker{font-size:9px;letter-spacing:.15em;font-weight:800;color:#64748b}
.login-copy h1{margin:5px 0 4px;font-size:26px;letter-spacing:-.035em}
.login-copy p{margin:0 0 18px;font-size:11px;color:#64748b}
#loginForm{display:flex;flex-direction:column;gap:13px}
#loginForm label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:700;color:#475569}
#loginForm input{height:38px;border:1px solid #d9e0e8;border-radius:8px;padding:0 11px;font-size:12px}
#loginForm input:focus{outline:none;border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.08)}
.login-button{height:40px;justify-content:center;margin-top:2px}
.login-error{padding:9px 10px;border-radius:7px;background:#fef2f2;color:#b91c1c;font-size:10px}
.login-error.hidden{display:none}.login-foot{margin-top:20px;padding-top:14px;border-top:1px solid #edf1f4;font-size:9px;color:#94a3b8;text-align:center}

.console-brand{display:flex;align-items:center;gap:9px;padding:10px 12px 18px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:12px}
.console-brand-mark{background:#f8fafc;border:0}
.console-brand>div:last-child{display:flex;flex-direction:column;gap:1px}
.console-brand b{font-size:11px;color:#fff}.console-brand span{font-size:8px;color:#94a3b8}

.sidebar-user{position:absolute;left:0;right:0;bottom:0;padding:14px 14px 12px;border-top:1px solid rgba(255,255,255,.08);background:#0f1929}
.sidebar-user-row{display:flex;gap:8px;align-items:center}.sidebar-avatar{width:28px;height:28px;border-radius:50%;background:#334155;color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}
.sidebar-user-row>div{display:flex;flex-direction:column}.sidebar-user-row small{font-size:8px;color:#94a3b8}.sidebar-user-row b{font-size:10px;color:#fff}
.sidebar-signout{margin-top:9px;border:0;background:none;color:#cbd5e1;font-size:9px;font-weight:700;cursor:pointer;padding:0}.sidebar-signout:hover{color:#fff}

.settings-console-head{padding-bottom:18px;border-bottom:1px solid #dfe5eb;margin-bottom:24px}
.settings-console-head h1,.settings-workspace-head h1{font-size:28px;letter-spacing:-.035em;margin:4px 0}
.settings-console-head p,.settings-workspace-head p{margin:0;color:#64748b;font-size:11px}
.settings-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.settings-tile{
  min-height:118px;border:1px solid #dce3ea;border-radius:10px;background:#fff;
  display:grid;grid-template-columns:38px 1fr 20px;align-items:center;gap:12px;text-align:left;
  padding:16px;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.02);transition:.15s ease;
}
.settings-tile:hover{border-color:#b9c5d2;box-shadow:0 5px 16px rgba(15,23,42,.06);transform:translateY(-1px)}
.settings-tile-icon{width:36px;height:36px;border-radius:8px;border:1px solid #dfe5eb;background:#f8fafc;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#475569}
.settings-tile-icon.api{font-size:11px}
.settings-tile-copy{display:flex;flex-direction:column;gap:6px}.settings-tile-copy b{font-size:12px;color:#1e293b}.settings-tile-copy small{font-size:9px;line-height:1.45;color:#64748b}
.settings-tile-arrow{font-size:18px;color:#94a3b8}
.settings-workspace.hidden,.settings-area.hidden,#settingsHome.hidden{display:none}
.settings-back{border:0;background:none;color:#64748b;font-size:10px;font-weight:700;cursor:pointer;padding:0;margin-bottom:18px}.settings-back:hover{color:#0f766e}
.settings-workspace-head{padding-bottom:15px;border-bottom:1px solid #e2e7ed;margin-bottom:18px}
.settings-card{background:#fff;border:1px solid #dce3ea;border-radius:10px;padding:18px}
.settings-inline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.settings-inline-grid>div{border:1px solid #e4e9ee;border-radius:8px;background:#f8fafc;padding:10px;display:flex;flex-direction:column;gap:3px}
.settings-inline-grid span{font-size:8px;color:#64748b;text-transform:uppercase;font-weight:800;letter-spacing:.06em}
.settings-inline-grid b{font-size:10px;color:#1e293b}
.system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1100px){.settings-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.settings-card-grid{grid-template-columns:1fr}}

/* =========================================================
   v5.8.2 — shell/layout hotfix
   ========================================================= */
:root{
  --console-top-h:54px;
  --console-side-w:206px;
}

html,body{
  width:100%;
  min-height:100%;
  overflow-x:hidden;
}

.app{
  min-height:100vh;
  display:block;
}

.top{
  position:fixed !important;
  top:0 !important;
  left:var(--console-side-w) !important;
  right:0 !important;
  height:var(--console-top-h) !important;
  z-index:3000 !important;
  display:flex !important;
  align-items:center !important;
  box-sizing:border-box !important;
}

.side{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  bottom:0 !important;
  width:var(--console-side-w) !important;
  height:100vh !important;
  z-index:3100 !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  padding-bottom:92px !important;
  display:block !important;
}

.console-brand{
  height:54px !important;
  box-sizing:border-box !important;
  margin:0 0 10px !important;
  padding:10px 14px !important;
}

.console-brand-mark{
  flex:0 0 34px !important;
}

.sidebar-user{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:auto !important;
  height:82px !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:12px 14px !important;
  background:#0f1929 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  overflow:hidden !important;
  z-index:2 !important;
}

.sidebar-user-row{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}

.sidebar-user-row>div{
  min-width:0 !important;
}

.sidebar-user-row b,
.sidebar-user-row small{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.sidebar-signout{
  display:block !important;
  width:auto !important;
  margin-top:7px !important;
}

.main{
  margin-left:var(--console-side-w) !important;
  padding-top:var(--console-top-h) !important;
  min-height:100vh !important;
  width:calc(100% - var(--console-side-w)) !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

.page{
  width:100% !important;
  box-sizing:border-box !important;
}

.gsearch{
  flex:1 1 auto !important;
  max-width:520px !important;
  margin:0 auto !important;
}

.page-loader{
  left:var(--console-side-w) !important;
  top:var(--console-top-h) !important;
}

/* Prevent any sidebar child from becoming viewport-wide. */
.side *,
.sidebar-user *{
  max-width:100% !important;
  box-sizing:border-box !important;
}

@media(max-width:900px){
  :root{--console-side-w:176px}
}

@media(max-width:700px){
  .side{
    transform:translateX(-100%);
  }
  .top{
    left:0 !important;
  }
  .main{
    margin-left:0 !important;
    width:100% !important;
  }
  .page-loader{
    left:0 !important;
  }
}

/* v5.9 — trusted session */
.remember-device{
  display:grid!important;
  grid-template-columns:18px 1fr;
  gap:8px!important;
  align-items:start;
  padding:2px 0;
  cursor:pointer;
}
.remember-device input{
  width:15px!important;height:15px!important;
  margin:2px 0 0!important;padding:0!important;
  accent-color:#0f766e;
}
.remember-device>span{display:flex;flex-direction:column;gap:2px}
.remember-device b{font-size:10px;color:#334155}
.remember-device small{font-size:9px;font-weight:400;line-height:1.35;color:#64748b}

/* v6.0 — Instrument Master under Settings */
.settings-master-actions{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px
}
.settings-master-actions h3{margin:0 0 3px;font-size:13px}
.settings-master-actions p{margin:0;color:#64748b;font-size:10px}
.settings-master-search{
  display:flex;align-items:center;gap:12px;margin-bottom:12px
}
.settings-master-search input{
  flex:1;height:36px;border:1px solid #dce3ea;border-radius:8px;padding:0 11px;font-size:11px;background:#fff
}
.settings-master-search input:focus{
  outline:none;border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.07)
}
.settings-master-search span{
  white-space:nowrap;font-size:9px;color:#64748b;font-weight:700
}
.settings-master-table-wrap{max-height:520px;overflow:auto;border:1px solid #e4e9ee;border-radius:8px}
.settings-master-table-wrap table{margin:0}
.settings-master-table-wrap thead th{position:sticky;top:0;background:#f8fafc;z-index:1}

/* v6.1 — remove redundant top header */
:root{
  --console-top-h:0px;
  --console-side-w:206px;
}

.top{display:none!important}

.side{
  top:0!important;
  height:100vh!important;
}

.main{
  margin-left:var(--console-side-w)!important;
  padding-top:0!important;
  min-height:100vh!important;
  width:calc(100% - var(--console-side-w))!important;
}

.page{
  padding-top:20px!important;
}

.page-loader{
  top:0!important;
  left:var(--console-side-w)!important;
}

.settings-console-head,
.settings-workspace-head{
  margin-top:0!important;
}

@media(max-width:700px){
  .main{margin-left:0!important;width:100%!important}
  .page-loader{left:0!important}
}

/* =========================================================
   v6.2 — summary-first Stock / Sector review
   ========================================================= */
.instrument-review-nav{margin-bottom:12px}
.instrument-review-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:20px;
  padding-bottom:17px;border-bottom:1px solid #dfe5eb
}
.instrument-review-symbol-row{display:flex;align-items:center;gap:9px}
.instrument-review-symbol-row h1{font-size:28px;letter-spacing:-.035em;margin:0}
.instrument-review-head p{margin:4px 0;color:#475569;font-size:12px}
.instrument-review-meta{display:flex;align-items:center;gap:6px;color:#94a3b8;font-size:9px;font-weight:700}
.instrument-kind{font-size:8px;font-weight:900;letter-spacing:.08em;color:#475569;background:#f1f5f9;border:1px solid #dce3ea;padding:5px 7px;border-radius:999px}
.instrument-review-price{text-align:right;display:flex;flex-direction:column;gap:2px}
.instrument-review-price span{font-size:9px;color:#64748b;text-transform:uppercase;font-weight:800;letter-spacing:.07em}
.instrument-review-price b{font-size:24px;letter-spacing:-.025em}
.instrument-review-price small{color:#64748b;font-size:10px}

.instrument-action-bar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin:14px 0 18px;padding:11px 13px;background:#fff;border:1px solid #dce3ea;border-radius:9px
}
.instrument-action-bar>div{display:flex;flex-direction:column;gap:2px}
.instrument-action-bar b{font-size:10px}.instrument-action-bar span{font-size:9px;color:#64748b}

.instrument-section{
  background:#fff;border:1px solid #dce3ea;border-radius:10px;
  padding:16px;margin-bottom:14px
}
.instrument-section.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.instrument-section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.instrument-section-head h2{margin:2px 0 2px;font-size:14px}
.instrument-section-head p{margin:0;color:#64748b;font-size:9px}

.instrument-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.instrument-metric-grid.performance{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}
.instrument-metric-grid>div{
  border:1px solid #e5eaf0;background:#f8fafc;border-radius:8px;padding:10px;
  display:flex;flex-direction:column;gap:3px;min-width:0
}
.instrument-metric-grid span{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:800}
.instrument-metric-grid b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.cycle-lots{display:flex;flex-direction:column;border:1px solid #e5eaf0;border-radius:8px;overflow:hidden}
.cycle-lot{display:grid;grid-template-columns:1fr 150px 150px;gap:12px;align-items:center;padding:9px 11px;border-bottom:1px solid #edf1f5}
.cycle-lot:last-child{border-bottom:0}.cycle-lot>div{display:flex;flex-direction:column}.cycle-lot span{font-size:9px;color:#64748b}.cycle-lot small{font-size:8px;color:#94a3b8}.cycle-lot b{font-size:10px}
.cycle-total{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:9px}
.cycle-total>div{background:#f8fafc;border-radius:8px;padding:9px;display:flex;flex-direction:column;gap:2px}
.cycle-total span{font-size:8px;color:#64748b;text-transform:uppercase;font-weight:800}.cycle-total b{font-size:10px}

.instrument-history-table{border:1px solid #e5eaf0;border-radius:8px;overflow:auto;max-height:330px}
.instrument-history-table table{margin:0}.instrument-history-table thead th{position:sticky;top:0;background:#f8fafc;z-index:1}

.instrument-signal-history{border:1px solid #e5eaf0;border-radius:8px;overflow:hidden}
.instrument-signal-row{display:grid;grid-template-columns:64px 95px 1fr 75px;gap:8px;align-items:center;padding:9px;border-bottom:1px solid #edf1f5;font-size:9px}
.instrument-signal-row:last-child{border-bottom:0}.instrument-signal-row b{font-size:9px}

.wk52-summary{border:1px solid #e5eaf0;border-radius:8px;padding:13px}
.wk52-values{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.wk52-values>div{display:flex;flex-direction:column;gap:2px}.wk52-values>div:nth-child(2){text-align:center}.wk52-values>div:last-child{text-align:right}
.wk52-values span{font-size:8px;color:#64748b;text-transform:uppercase;font-weight:800}.wk52-values b{font-size:10px}
.wk52-track{height:5px;background:#e2e8f0;border-radius:999px;margin:14px 2px;position:relative}
.wk52-track span{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:#0f766e;border:2px solid #fff;box-shadow:0 0 0 1px #0f766e;transform:translate(-50%,-50%)}
.wk52-distance{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wk52-distance>div{display:flex;flex-direction:column}.wk52-distance>div:last-child{text-align:right}
.wk52-distance b{font-size:11px}.wk52-distance span{font-size:8px;color:#64748b}

.symbol-review-link{border:0;background:none;padding:0;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;color:inherit}
.symbol-review-link b{font-size:10px;color:#1e293b}.symbol-review-link span{font-size:8px;color:#64748b}
.symbol-review-link:hover b{color:#0f766e;text-decoration:underline}

@media(max-width:1100px){
  .instrument-metric-grid{grid-template-columns:repeat(3,1fr)}
  .instrument-metric-grid.performance{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:800px){
  .instrument-section.two-col{grid-template-columns:1fr}
  .instrument-metric-grid,.instrument-metric-grid.performance{grid-template-columns:repeat(2,1fr)}
  .cycle-lot{grid-template-columns:1fr 100px 100px}
  .cycle-total{grid-template-columns:repeat(2,1fr)}
}

/* =========================================================
   v6.3 — Overview / Platform readiness
   ========================================================= */
.overview-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:20px
}
.overview-head h1{font-size:28px;letter-spacing:-.04em;margin:4px 0}
.overview-head p{margin:0;color:#64748b;font-size:11px}
.overview-head-actions{display:flex;align-items:center;gap:8px}
.overview-checked{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.overview-checked b{font-size:8px;color:#64748b}.overview-checked span{font-size:8px;color:#94a3b8}
.overview-status-pill{
  border:1px solid #d7dee7;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:800;color:#64748b;background:#f8fafc
}
.overview-status-pill.ready{color:#047857;background:#ecfdf5;border-color:#a7f3d0}
.overview-status-pill.attention{color:#b45309;background:#fffbeb;border-color:#fde68a}
.overview-divider{height:1px;background:#dfe5eb;margin:20px 0 24px}
.overview-section-head{margin-bottom:10px}
.overview-section-head h2{margin:3px 0 2px;font-size:14px}
.overview-section-head p{margin:0;font-size:9px;color:#64748b}
.overview-secondary-head{margin-top:24px}
.readiness-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.readiness-card{
  min-height:112px;border:1px solid #dce3ea;border-radius:10px;background:#fff;padding:13px 13px 12px;
  border-left:4px solid #cbd5e1
}
.readiness-card.ready{border-left-color:#0f766e}
.readiness-card.attention{border-left-color:#d97706}
.readiness-card.neutral{border-left-color:#94a3b8}
.readiness-card-label{font-size:8px;color:#64748b;font-weight:800;margin-bottom:6px}
.readiness-card-status{font-size:13px;font-weight:900;color:#1e293b;margin-bottom:14px}
.readiness-card-detail{font-size:8px;color:#64748b;line-height:1.4}
.overview-trading-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.overview-trading-card{
  background:#fff;border:1px solid #dce3ea;border-radius:10px;padding:12px;
  display:flex;flex-direction:column;gap:3px
}
.overview-trading-card span{font-size:8px;color:#64748b;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.overview-trading-card b{font-size:17px;color:#1e293b}
.overview-trading-card small{font-size:8px;color:#94a3b8}
.overview-footer-actions{display:flex;gap:8px;margin-top:18px}
@media(max-width:1050px){
  .readiness-grid,.overview-trading-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .overview-head{flex-direction:column}
  .overview-head-actions{width:100%;flex-wrap:wrap}
  .readiness-grid,.overview-trading-grid{grid-template-columns:1fr}
}

/* v6.3.1 Settings DOM / focused route hotfix */
#settingsWorkspace>.settings-area{width:100%}
#settingsWorkspace>.settings-area.hidden{display:none!important}
#settingsWorkspace>.settings-area:not(.hidden){display:block!important}
#settings-area-master .settings-master-table-wrap{min-height:180px}

/* v6.3.5 — Instrument Master background refresh */
.settings-master-refresh-actions{
  display:flex;align-items:center;gap:10px;justify-content:flex-end
}
.master-refresh-state{
  display:flex;align-items:center;gap:6px;white-space:nowrap;
  font-size:8px;color:#64748b
}
.master-refresh-state.hidden{display:none}
.master-refresh-state b{font-size:9px;color:#334155}
.master-refresh-state.running b{color:#0f766e}
.master-refresh-state.complete b{color:#047857}
.master-refresh-state.failed b{color:#b91c1c}
.master-refresh-state.failed span:last-child{
  max-width:320px;overflow:hidden;text-overflow:ellipsis
}
.mini-spinner{
  width:10px;height:10px;border:2px solid #cbd5e1;border-top-color:#0f766e;
  border-radius:50%;animation:prepzoSpin .7s linear infinite
}

/* v6.3.6 — deterministic routing + Angel One refresh confirmation */

.master-confirm-note{
  display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:start;
  padding:12px;border:1px solid #dce3ea;border-radius:9px;background:#f8fafc
}
.master-confirm-icon{
  width:34px;height:34px;border-radius:8px;background:#ecfdf5;color:#047857;
  display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:900
}
.master-confirm-note>div:last-child{display:flex;flex-direction:column;gap:3px}
.master-confirm-note b{font-size:11px;color:#1e293b}
.master-confirm-note span{font-size:9px;color:#64748b;line-height:1.45}
.master-confirm-details{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:11px
}
.master-confirm-details>div{
  border:1px solid #e5eaf0;border-radius:8px;padding:9px;
  display:flex;flex-direction:column;gap:3px
}
.master-confirm-details span{
  font-size:8px;color:#64748b;text-transform:uppercase;font-weight:800;letter-spacing:.05em
}
.master-confirm-details b{font-size:9px;color:#334155}
@media(max-width:700px){
  .master-confirm-details{grid-template-columns:1fr}
}

/* v6.4 — Instrument Master refresh timestamp */
.settings-master-refresh-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.master-last-refreshed{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  min-width:155px;
}
.master-last-refreshed span{
  font-size:8px;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:800;
}
.master-last-refreshed b{
  font-size:9px;
  color:#334155;
  white-space:nowrap;
}
.master-confirm-details{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media(max-width:760px){
  .settings-master-refresh-actions{
    align-items:flex-end;
    flex-direction:column;
  }
  .master-last-refreshed{
    align-items:flex-end;
  }
  .master-confirm-details{
    grid-template-columns:1fr;
  }
}

/* v6.5 — Instrument Master search-first UX */
.settings-master-search-v2{
  display:grid;
  grid-template-columns:minmax(360px,1fr) 145px auto;
  gap:9px;
  align-items:center;
  margin-bottom:12px;
}
.master-search-box{position:relative}
.master-search-box input{
  width:100%;height:39px;border:1px solid #d8e0e8;border-radius:8px;
  padding:0 38px 0 36px;background:#fff;font-size:10px;box-sizing:border-box;
}
.master-search-box input:focus{
  outline:none;border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.07);
}
.master-search-icon{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);
  color:#64748b;font-size:16px;pointer-events:none;
}
.master-search-clear{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  width:25px;height:25px;border:0;border-radius:6px;background:transparent;
  color:#64748b;cursor:pointer;font-size:16px;
}
.master-search-clear:hover{background:#f1f5f9;color:#1e293b}
.settings-master-search-v2 select{
  height:39px;border:1px solid #d8e0e8;border-radius:8px;background:#fff;
  padding:0 9px;font-size:10px;color:#334155;
}
.master-search-count{
  min-width:125px;text-align:right;font-size:8px;color:#64748b;
  font-weight:800;white-space:nowrap;
}
.master-search-hint{
  min-height:175px;border:1px dashed #d5dee8;border-radius:9px;background:#fafcfd;
  display:flex;align-items:center;justify-content:center;gap:12px;
}
.master-search-hint.hidden{display:none}
.master-search-hint-icon{
  width:40px;height:40px;border-radius:10px;background:#eef7f6;color:#0f766e;
  display:flex;align-items:center;justify-content:center;font-size:21px;
}
.master-search-hint>div:last-child{display:flex;flex-direction:column;gap:3px}
.master-search-hint b{font-size:11px;color:#334155}
.master-search-hint span{font-size:9px;color:#64748b}
.settings-master-table-wrap.hidden{display:none}
.settings-master-table-wrap{max-height:520px}
.master-inline-loading{
  min-height:115px;display:flex;align-items:center;justify-content:center;gap:8px;
  color:#64748b;font-size:9px;
}
.master-no-results{
  min-height:125px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:4px;text-align:center;
}
.master-no-results b{font-size:10px;color:#334155}
.master-no-results span{font-size:9px;color:#64748b;max-width:440px;line-height:1.45}

@media(max-width:900px){
  .settings-master-search-v2{grid-template-columns:1fr 130px}
  .master-search-count{grid-column:1 / -1;text-align:left}
}
@media(max-width:650px){
  .settings-master-search-v2{grid-template-columns:1fr}
}

/* v7.0 — Trading Holidays */
.holiday-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.holiday-toolbar h3{margin:0 0 3px;font-size:12px}
.holiday-toolbar p{margin:0;font-size:9px;color:#64748b}
.holiday-toolbar-actions{display:flex;align-items:center;gap:8px}
.holiday-toolbar-actions select{height:35px;border:1px solid #d8e0e8;border-radius:8px;background:#fff;padding:0 9px;font-size:10px;color:#334155}
.holiday-calendar-status{display:flex;align-items:center;gap:9px;border:1px solid #dce3ea;border-radius:9px;padding:10px 12px;background:#f8fafc;margin-bottom:12px}
.holiday-calendar-status>div{display:flex;flex-direction:column;gap:2px}
.holiday-calendar-status b{font-size:10px;color:#334155}
.holiday-calendar-status span{font-size:8px;color:#64748b}
.holiday-status-dot{width:9px;height:9px;border-radius:50%;background:#94a3b8;flex:0 0 auto}
.holiday-calendar-status.open .holiday-status-dot{background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.10)}
.holiday-calendar-status.closed .holiday-status-dot{background:#d97706;box-shadow:0 0 0 3px rgba(217,119,6,.10)}
.holiday-table-wrap{border:1px solid #e5eaf0;border-radius:8px;max-height:480px;overflow:auto}
.holiday-table-wrap table{margin:0}
.holiday-table-wrap thead th{position:sticky;top:0;background:#f8fafc;z-index:1}
.row-actions{white-space:nowrap;text-align:right}
.link.danger{color:#b91c1c}
.checkline{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;margin-top:12px}
.checkline input{width:auto!important}
@media(max-width:700px){.holiday-toolbar{flex-direction:column}.holiday-toolbar-actions{width:100%}}

/* v7.0.1 — Console-style runtime Trading Holidays */
.standalone-holiday-editor .holiday-editor-card{max-width:none}
.holiday-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.holiday-title-row h3{margin:0 0 3px;font-size:12px;color:#1d2939}
.holiday-title-row p{margin:0;font-size:9px;color:#667085}

.holiday-runtime-path{
  margin:12px 0;
  padding:9px 10px;
  border:1px solid #eaecf0;
  border-radius:8px;
  background:#fcfcfd;
  display:grid;
  grid-template-columns:auto minmax(220px,1fr) auto auto;
  align-items:center;
  gap:8px 12px;
}
.holiday-runtime-path span{font-size:8px;color:#667085;font-weight:800}
.holiday-runtime-path code{font-size:9px;color:#344054;overflow-wrap:anywhere}
.holiday-runtime-path b{font-size:9px;color:#344054;font-weight:700}

.holiday-editor-label{display:flex;flex-direction:column;gap:6px}
.holiday-editor-label>span{font-size:9px;color:#344054;font-weight:800}
.holiday-editor-label textarea{
  width:100%;box-sizing:border-box;resize:vertical;min-height:150px;
  border:1px solid #d0d5dd;border-radius:8px;padding:10px 11px;
  background:#fff;color:#344054;font:10px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.holiday-editor-label textarea:focus{
  outline:none;border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.07);
}
.holiday-format-help{margin:10px 0 0;font-size:9px;color:#667085;line-height:1.45}

.holiday-quality{
  margin-top:14px;padding:12px;
  border:1px solid #e4e7ec;border-radius:9px;background:#fcfcfd;
}
.holiday-quality-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.holiday-quality-head>b{font-size:9px;color:#667085;letter-spacing:.08em}
.holiday-quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 16px}
.holiday-quality-grid>div{display:flex;align-items:center;gap:7px}
.holiday-quality-grid>div span{
  width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:900
}
.holiday-quality-grid>div.good span{background:#dcfae6;color:#067647}
.holiday-quality-grid>div.bad span{background:#fee4e2;color:#b42318}
.holiday-quality-grid>div b{font-size:9px;color:#475467;font-weight:600}

.holiday-editor-actions,.holiday-save-row{margin-top:12px}
.holiday-editor-actions{display:flex;gap:8px}
.holiday-runtime-summary{
  margin-top:12px;padding:9px 10px;border:1px solid #e4e7ec;border-radius:8px;
  background:#f8fafc;font-size:9px;color:#667085
}
.holiday-save-row{
  display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end
}
.holiday-save-row label{display:flex;flex-direction:column;gap:5px}
.holiday-save-row label span{font-size:8px;color:#667085;font-weight:800}
.holiday-save-row input{
  height:36px;border:1px solid #d0d5dd;border-radius:8px;padding:0 10px;font-size:10px
}

@media(max-width:760px){
  .holiday-runtime-path{grid-template-columns:1fr}
  .holiday-quality-grid{grid-template-columns:1fr}
  .holiday-save-row{grid-template-columns:1fr}
  .holiday-title-row{flex-direction:column}
}
