/* platform-ui.css (v15)
   Styles for portal/admin pages so they match the main site.
*/
:root{
  --muted: #586579;
  --surface: #ffffff;
  --border: #e4eaf2;
  --shadow: 0 10px 25px rgba(2,18,46,0.06);
}

.small{ font-size:0.9rem; color: var(--muted); }
.lead{ font-size:1.05rem; color:#334155; max-width: 760px; }

.card{
  background: var(--surface);
  border:1px solid var(--border);
  border-radius: 14px;
  box-shadow: var(--shadow);
}
.grid-3{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}
.actions{ display:flex; gap:12px; flex-wrap: wrap; align-items:center; }
.field{ display:flex; flex-direction:column; gap:6px; }
.field label{ font-weight:700; color:#052f6d; font-size:0.92rem; }
.field input, .field select, .field textarea{
  padding: 0.75rem;
  border: 1px solid #ccd6ea;
  border-radius: 14px;
  font: inherit;
}
.field textarea{ min-height: 120px; resize: vertical; }

.alert{
  border-radius: 14px;
  padding: 12px 14px;
  border: 1px solid #dbe7ff;
  background: #eef4ff;
  color: #052f6d;
}
.alert.ok{ border-color:#b7f0c8; background:#ecfff2; color:#0b5a2a; }
.alert.error{ border-color:#ffc7c7; background:#fff0f0; color:#7a0b0b; }

/* Machine rows on quote builder */
.machine-rows{ display:flex; flex-direction:column; gap:12px; }
.machine-row{ display:grid; grid-template-columns: 1.2fr 0.8fr 1fr; gap: 12px; }
@media (max-width: 820px){
  .machine-row{ grid-template-columns: 1fr; }
}
