/* Nevatronix Sales: additions on top of the shared app.css */
input[type=email], input[type=tel] { width: 100%; padding: 8px 10px; border: 1px solid var(--line);
  border-radius: 8px; font-family: inherit; font-size: 13px; background: var(--surface); }
textarea { font-family: inherit; font-size: 13px; }
.topbar { flex-wrap: wrap; height: auto; min-height: 56px; }
.nav { flex-wrap: wrap; }

.pill.lead { background: #efeeea; color: var(--ink-soft); }
.pill.draft, .pill.needs_info, .pill.stalled { background: #f6efe1; color: var(--amber); }
.pill.in_queue, .pill.in_quote { background: #eaf0f4; color: var(--blue); }
.pill.quote_issued { background: #efeae0; color: #7a5b22; }
.pill.won, .pill.handed_off { background: #e3efe4; color: var(--sage-dk); }
.pill.lost, .pill.no_bid { background: #f1efeb; color: var(--muted); }
.pill.late { background: #f6e3dd; color: var(--danger); }
.pill.due { background: #f6efe1; color: var(--amber); }
.pill.ok, .pill.met { background: #e3efe4; color: var(--sage-dk); }
.pill.lvl-incomplete { background: #f6e3dd; color: var(--danger); }
.pill.lvl-minimum { background: #f6efe1; color: var(--amber); }
.pill.lvl-good { background: #eaf0f4; color: var(--blue); }
.pill.lvl-complete { background: #e3efe4; color: var(--sage-dk); }

.board { display: grid; grid-template-columns: repeat(6, minmax(170px, 1fr)); gap: 12px; overflow-x: auto;
  padding-bottom: 6px; }
.col { background: #f1f0ec; border-radius: 12px; padding: 10px; min-height: 120px; }
.col h3 { display: flex; justify-content: space-between; margin: 2px 4px 10px; }
.opcard { display: block; background: var(--surface); border: 1px solid var(--line); border-radius: 10px;
  padding: 10px 11px; margin-bottom: 8px; color: var(--ink); box-shadow: var(--shadow); font-size: 12.5px; }
.opcard:hover { text-decoration: none; border-color: #cfd8e2; }
.opcard .ref { font-family: ui-monospace, Menlo, monospace; font-size: 11px; color: var(--muted); }
.opcard .t { font-weight: 600; margin: 2px 0; }
.opcard .meta { color: var(--muted); font-size: 11.5px; display: flex; flex-wrap: wrap; gap: 4px 8px; margin-top: 5px; }

.checklist { list-style: none; margin: 0; padding: 0; }
.checklist li { display: flex; gap: 10px; padding: 7px 0; border-bottom: 1px dashed var(--line); font-size: 13px; }
.checklist .mark { width: 18px; flex: none; font-weight: 700; }
.checklist li.ok .mark { color: var(--sage-dk); }
.checklist li.miss .mark { color: var(--danger); }
.checklist li.pref .mark { color: var(--muted); }
.checklist .hint { color: var(--muted); font-size: 12px; }

.uploader { border: 2px dashed var(--line); border-radius: 12px; padding: 16px; text-align: center;
  background: #fbfaf7; }
.uploader.drag { border-color: var(--sage); background: #f3f6f3; }
.upq { list-style: none; padding: 0; margin: 12px 0 0; text-align: left; }
.upq li { padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 12.5px; }
.upq .bar { height: 6px; background: #ecebe6; border-radius: 4px; overflow: hidden; margin-top: 5px; }
.upq .bar span { display: block; height: 100%; background: var(--sage); width: 0; }
.upq .err { color: var(--danger); }

.thread .msg { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; }
.thread .msg.staff { background: #f7f8fa; }
.thread .msg.internal { background: #fbf6ea; border-style: dashed; }
.thread .who { font-weight: 600; font-size: 12.5px; }
.thread .ts { color: var(--muted); font-size: 11.5px; margin-left: 6px; }
.thread .body { white-space: pre-wrap; margin-top: 4px; }

.steps { counter-reset: s; }
.stepcard { display: grid; grid-template-columns: 40px 1fr; gap: 12px; }
.stepcard .num { width: 30px; height: 30px; border-radius: 50%; background: var(--ink); color: #fff;
  display: flex; align-items: center; justify-content: center; font-weight: 600; }
.who-rep .num { background: var(--amber); }
.who-portal .num { background: var(--muted); }
.who-nevatronix .num { background: var(--sage-dk); }
.whochip { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.gatebox { background: #fbecea; border: 1px solid #e6c9c2; border-radius: 10px; padding: 10px 14px; margin-top: 10px;
  font-size: 12.5px; }
.gatebox ul { margin: 6px 0 0; padding-left: 18px; }

.twocol { display: grid; grid-template-columns: 1.4fr 1fr; gap: 18px; align-items: start; }
.kv { display: grid; grid-template-columns: 170px 1fr; gap: 4px 12px; font-size: 13px; }
.kv dt { color: var(--muted); }
.kv dd { margin: 0; }
details.act { border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; margin-bottom: 8px; }
details.act summary { cursor: pointer; font-weight: 600; font-size: 13px; }
.rules li { margin-bottom: 10px; }
.faq dt { font-weight: 600; margin-top: 14px; }
.faq dd { margin: 4px 0 0; color: var(--ink-soft); }
.bars .row { display: grid; grid-template-columns: 200px 1fr 40px; gap: 8px; align-items: center; font-size: 12.5px;
  margin-bottom: 5px; }
.bars .track { background: #ecebe6; border-radius: 4px; height: 10px; overflow: hidden; }
.bars .fill { background: var(--amber); height: 100%; }

@media (max-width: 900px) {
  .twocol, .grid2, .grid3, .dgrid { grid-template-columns: 1fr; }
  .kpis { grid-template-columns: repeat(2, 1fr); }
  .board { grid-template-columns: repeat(6, 220px); }
  .wrap { padding: 0 16px; }
  .kv { grid-template-columns: 1fr; }
}
.btn[disabled], .btn[disabled]:hover { opacity: .45; cursor: not-allowed; background: var(--sage); }
