/* Ideal Sales (sales.py): loaded after portal.css and coord.css, only on the sales pages. */
.sstats { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.srow { grid-template-columns: minmax(0, 1fr) 140px 150px auto; }
.pill { display: inline-block; border: 1px solid var(--ink); border-radius: 999px; padding: 2px 12px;
        font-size: 14px; font-weight: 700; }
form.inline { display: inline; }

/* New proposal: the three proposal types, then the lead list. */
.tpls { margin-bottom: 8px; }
.tpl { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; }
.tpl input, .lead input { width: 20px; height: 20px; margin-top: 3px; accent-color: var(--ink); flex: none; }
.tpl span { display: flex; flex-direction: column; }
.tpl:has(input:checked) { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.leads { max-height: 420px; overflow-y: auto; border: 1px solid var(--line); border-radius: 6px; margin-top: 10px; }
.lead { display: flex; gap: 12px; align-items: flex-start; padding: 10px 14px; border-bottom: 1px solid var(--line);
        cursor: pointer; font-weight: 300 !important; margin: 0 !important; }
.lead > span { display: flex; flex-direction: column; }
.lead:has(input:checked) { background: var(--wash); }
.lead[hidden] { display: none; }

/* One proposal: the form beside the numbers. */
.dealgrid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 20px; align-items: start; }
.dealform { gap: 16px; }
.dealform .card { display: flex; flex-direction: column; }
.dealform .card h2 { margin-top: 0; }
.dealform input:disabled, .dealform select:disabled, .dealform textarea:disabled { background: var(--wash); color: var(--ink-2); }
.dealside { position: sticky; top: 16px; }
.pair { display: grid; grid-template-columns: minmax(0, 1fr) 130px; gap: 12px; }
.pair > div { display: flex; flex-direction: column; }
.actions { display: flex; gap: 12px; flex-wrap: wrap; }
.actions .btn { margin-top: 0; }
.quote h2 { margin-top: 0; }
.qt { width: 100%; border-collapse: collapse; font-size: 15px; }
.qt td { padding: 6px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.qt td:last-child { text-align: right; white-space: nowrap; padding-left: 12px; }
.qt td .small { display: block; }
.qt .sub td { font-style: italic; color: var(--ink-2); font-size: 14px; }
.qt .tot td { font-weight: 700; }
.qt .grand td { font: 500 22px/1.2 "Oswald", Impact, sans-serif; border-bottom: 2px solid var(--ink); padding-top: 10px; }
.probs, .warns { margin: 0 0 12px; padding: 10px 14px 10px 30px; border-radius: 4px; font-size: 15px; }
.probs { background: #FBEDEF; border-left: 4px solid var(--accent); }
.warns { background: #FFF7E6; border-left: 4px solid #C88A00; }
.review { margin-top: 20px; }
.docs { list-style: none; padding: 0; margin: 0 0 8px; }
.docs li { padding: 8px 0; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; }
.sendform textarea { font: inherit; }

@media (max-width: 900px) {
  .dealgrid { grid-template-columns: minmax(0, 1fr); }
  .dealside { position: static; order: -1; }
  .sstats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .srow { grid-template-columns: minmax(0, 1fr) auto; }
  .srow .lwhen, .srow .btn { display: none; }
  .pair { grid-template-columns: minmax(0, 1fr) 100px; }
  .sstats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
