.metric-grid {
  grid-template-columns: repeat(auto-fit, minmax(205px, 1fr));
}

.target-value small {
  color: var(--muted);
  font-size: 14px;
}

.profit-flow {
  align-items: stretch;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
}

.flow-step {
  background: #f5f7f4;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 15px;
  position: relative;
}

.flow-step:not(:last-child)::after {
  color: var(--muted);
  content: "←";
  font-size: 22px;
  left: -17px;
  position: absolute;
  top: 34px;
  z-index: 2;
}

.flow-step small {
  color: var(--muted);
  display: block;
  margin-bottom: 8px;
}

.flow-step strong {
  display: block;
  font-size: 21px;
}

.flow-step span {
  color: var(--muted);
  display: block;
  font-size: 11px;
  margin-top: 6px;
}

.flow-step.final {
  background: var(--nav);
  color: #fff;
}

.flow-step.final small {
  color: #b9ccc5;
}

@media (max-width: 1000px) {
  .profit-flow { grid-template-columns: 1fr 1fr; }
  .flow-step::after { display: none; }
}

@media (max-width: 600px) {
  .profit-flow { grid-template-columns: 1fr; }
}

.expense-impact {
  background: #fff7e5;
  border: 1px solid #f0d59e;
  border-radius: 13px;
  color: #704c08;
  line-height: 1.6;
  margin-top: 18px;
  padding: 13px 15px;
}

.demo-entry {
  margin-top: 10px;
}

.demo-banner {
  background: #fff2c8;
  border: 1px solid #e5c65f;
  border-radius: 12px;
  color: #684b00;
  margin-top: 16px;
  padding: 11px 14px;
}

.overhead-actions {
  align-items: center;
  display: flex;
  gap: 8px;
}

.paid-button {
  background: #edf2ee !important;
  border-radius: 9px !important;
  color: var(--muted) !important;
  padding: 7px 10px !important;
}

.paid-button.paid {
  background: var(--green2) !important;
  color: var(--green) !important;
}

.pending-box {
  background: #f5f7f4;
  border-radius: 12px;
  display: grid;
  font-size: 12px;
  gap: 5px;
  margin-top: 15px;
  padding: 12px;
}

.pending-box span { color: var(--muted); }

.field-note {
  color: var(--muted);
  display: block;
  font-size: 11px;
  font-weight: 500;
  margin-top: 5px;
}

.live-summary .net-estimate {
  background: #dff4e7;
  border-radius: 10px;
  color: #145c36;
}

.live-summary .summary-note {
  color: var(--muted);
  font-size: 12px;
  grid-column: 1 / -1;
  margin: 3px 8px 0;
}

.live-summary .management-total {
  background: #dff4e7;
  border: 1px solid #9bcfaf;
  border-radius: 10px;
  color: #145c36;
  grid-column: 1 / -1;
  padding: 12px;
}

.live-summary .management-total span {
  color: var(--muted);
  display: block;
  font-size: 11px;
  margin-top: 4px;
}

.line-row.expense-row {
  grid-template-columns: 1fr 1.1fr .8fr .8fr 1fr .75fr 38px;
}

.line-row.payment-row {
  grid-template-columns: .8fr .9fr 1fr .7fr 38px;
}

@media (max-width: 900px) {
  .line-row.expense-row,
  .line-row.payment-row { grid-template-columns: 1fr 1fr; }
}

.data-table tbody tr.settled,
.data-table tbody tr.settled:hover {
  background: #e1f5e7;
}

.data-table tbody tr.settled .client-cell strong {
  color: var(--green);
}

#forgot-password {
  margin-top: 12px;
}

.recovery-code-card {
  max-width: 560px;
  padding: 4px;
}

.recovery-code-card > p {
  line-height: 1.65;
}

.recovery-code-value {
  background: #f1f6f3;
  border: 1px solid #b9d3c4;
  border-radius: 13px;
  color: var(--green);
  display: block;
  font-size: clamp(16px, 3vw, 23px);
  font-weight: 800;
  letter-spacing: 1.5px;
  margin: 18px 0;
  overflow-wrap: anywhere;
  padding: 18px;
  text-align: center;
  user-select: all;
}

.recovery-actions {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 18px;
}

.recovery-confirm {
  align-items: center;
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
}

.recovery-confirm input {
  height: 18px;
  margin: 0;
  width: 18px;
}

@media (max-width: 520px) {
  .recovery-actions { grid-template-columns: 1fr; }
}
.portal-return{display:flex;align-items:center;justify-content:center;text-decoration:none;margin-top:12px;box-sizing:border-box}
#access-screen .lock-card{max-width:430px}
#access-screen .security-note{margin-top:18px}
