/* Topbar, mission strip, login, and per-view layout grids. */

/* -- Topbar -------------------------------------------------------------- */
.tb1 {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 52px;
  padding: 0 22px;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}
.wordmark { display: flex; align-items: baseline; gap: 10px; }
.wordmark .name { font-size: 19px; font-weight: 700; letter-spacing: 0.01em; }
.wordmark .name i { color: var(--accent); font-style: normal; }
.wordmark .eyebrow {
  font-family: var(--hud);
  font-size: 8.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}
#logo { width: 22px; height: 22px; flex: none; }

#mission {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: var(--mono);
  font-size: 11.5px;
  font-variant-numeric: tabular-nums;
}
#mission .m {
  display: flex;
  align-items: baseline;
  gap: 5px;
  cursor: pointer;
  white-space: nowrap;
}
#mission .m:hover .lbl { color: var(--accent); }
#mission .m b { font-weight: 600; }
#mission .lamp {
  width: 8px;
  height: 8px;
  background: var(--pos);
  box-shadow: 0 0 6px var(--pos);
}
#mission .lamp.halve { background: var(--st-serious); box-shadow: 0 0 6px var(--st-serious); }
#mission .lamp.week_halt, #mission .lamp.account_halt { background: var(--neg); box-shadow: 0 0 8px var(--neg); }

.tb2 {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 22px;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}
.tb2 .tab {
  font-family: var(--hud);
  font-size: 9.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  background: none;
  border: none;
  padding: 9px 12px 7px;
  border-bottom: 2px solid transparent;
  cursor: pointer;
}
.tb2 .tab:hover { color: var(--ink); }
.tb2 .tab.on { color: var(--accent); border-bottom-color: var(--accent); }
.tb2 .right { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.tb2 .clockchip { font-family: var(--mono); font-size: 10.5px; color: var(--muted); }

/* -- Login --------------------------------------------------------------- */
#login {
  position: fixed;
  inset: 0;
  z-index: 250;
  background: var(--page);
  display: none;
  align-items: center;
  justify-content: center;
}
#login.on { display: flex; }
#login .card { width: 320px; }

/* -- View grids ----------------------------------------------------------- */
#v-today .g { grid-template-columns: 7fr 5fr; align-items: start; }
#v-market .g { grid-template-columns: 7fr 5fr; align-items: start; }
#v-screener .g { grid-template-columns: 1fr; }
#v-planner .g { grid-template-columns: 7fr 5fr; align-items: start; }
#v-positions .g { grid-template-columns: 1fr; }
#v-journal .g { grid-template-columns: 8fr 4fr; align-items: start; }
#v-weekend .g { grid-template-columns: 220px 1fr; align-items: start; }
#v-settings .g { grid-template-columns: 1fr 1fr; align-items: start; }

@media (max-width: 980px) {
  #v-today .g, #v-market .g, #v-planner .g, #v-journal .g,
  #v-weekend .g, #v-settings .g { grid-template-columns: 1fr; }
  #mission { flex-wrap: wrap; }
}

/* Focus-list proximity meter rows */
.focusrow { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; padding: 9px 0; border-bottom: 1px solid var(--grid); }
.focusrow .prox { grid-column: 1 / -1; }

/* Weekend stepper rail */
.steps .step {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  border-left: 2px solid var(--border);
  cursor: pointer;
  font-size: 12px;
  color: var(--ink2);
}
.steps .step.on { border-left-color: var(--accent); color: var(--ink); background: var(--wash); }
.steps .step.done { color: var(--muted); }
.steps .step.done::after { content: '✓'; color: var(--pos); margin-left: auto; font-family: var(--mono); }

/* Weekend: kv rows reuse the drawer look outside the drawer */
#v-weekend .kv { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-bottom: 1px solid var(--grid); font-size: 12px; }
#v-weekend .kv b { font-family: var(--mono); font-weight: 500; font-variant-numeric: tabular-nums; }

/* Settings: staged risk-per-trade tiles */
.riskopt { background: var(--surface); border: 1px solid var(--border); padding: 12px 14px; cursor: pointer; }
.riskopt:hover { border-color: var(--baseline); }
.riskopt.on { border-color: var(--accent); background: var(--wash); }
.riskopt .desc { margin-top: 4px; font-size: 10.5px; color: var(--muted); line-height: 1.5; }

/* Weekend week-handoff: only .print-sheet reaches paper */
@media print {
  body { overflow: visible; }
  body::before, body::after { display: none; }
  body * { visibility: hidden; }
  .print-sheet, .print-sheet * { visibility: visible; }
  .print-sheet { position: fixed; inset: 0; overflow: visible; background: #fff; border: none; }
  .print-sheet, .print-sheet * { color: #000 !important; border-color: #888 !important; }
  .print-sheet .ct::before { background: #000; box-shadow: none; }
  .print-sheet th { background: none; }
  .print-sheet .noprint { display: none; }
}

/* Playbook drawer cards */
.playcard .hdr { background: var(--surface2); border: 1px solid var(--border); padding: 10px 12px; margin-bottom: 8px; }
.playcard .hdr .tag { font-family: var(--hud); font-size: 8.5px; letter-spacing: 0.12em; color: var(--accent); text-transform: uppercase; }
.playcard .hdr .nm { font-size: 15px; font-weight: 700; }
.playcard .sect { display: grid; grid-template-columns: 84px 1fr; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--grid); font-size: 12px; }
.playcard .sect .k { font-family: var(--hud); font-size: 8.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); padding-top: 2px; }
.playcard .facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--rule); border: 1px solid var(--rule); margin-bottom: 8px; }
.playcard .facts > div { background: var(--surface); padding: 6px 8px; }
