:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
button, input, select, textarea, a { min-height: 44px; }
textarea { min-height: 7rem; resize: vertical; }
.quote-item { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 12px 0; padding: 14px; border: 1px solid #bcc6c2; background: #fff; }
.quote-item input[name="description"], .quote-item select { grid-column: span 2; }
.download-admin-pdf { display: inline-block; background: var(--orange); color: #fff; font-weight: bold; padding: 15px 22px; margin: 10px 0 0 8px; }
img { max-width: 100%; height: auto; }
@media (max-width: 900px) {
  header { padding-inline: 5%; }
  section { padding: 42px 5%; }
  .dashboard > div { padding: 28px 5%; min-width: 0; }
  .dashboard table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .quote { max-width: calc(100% - 24px); }
}
@media (max-width: 700px) {
  body { font-size: 16px; overflow-x: hidden; }
  header { gap: 7px; }
  header span { width: 100%; }
  nav { gap: 12px; font-size: 14px; }
  .hero { min-height: 420px; padding: 64px 6%; }
  .hero h1 { font-size: clamp(40px, 13vw, 58px); }
  h2 { font-size: 28px; }
  .form { width: 100%; }
  .form form { grid-template-columns: 1fr; }
  .form textarea, .form select, output { grid-column: auto; }
  input, select, textarea, button { width: 100%; font-size: 16px; }
  label { display: grid; gap: 8px; }
  .dashboard aside { grid-template-columns: repeat(3, max-content); grid-auto-flow: row; gap: 12px; }
  .dashboard aside b { grid-column: 1 / -1; }
  .metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .metrics b { padding: 14px; font-size: 22px; }
  .quote-item { grid-template-columns: 1fr; }
  .quote-item input[name="description"], .quote-item select { grid-column: auto; }
  .quote { max-width: 100%; margin: 0; padding: 20px 14px; font-size: 15px; overflow-wrap: anywhere; }
  .quote-title { display: block; }
  .quote-title h1 { font-size: 42px; }
  .quote-meta { gap: 16px; }
  .quote table { display: block; overflow-x: auto; white-space: nowrap; }
  .quote td:first-child, .quote th:first-child { white-space: normal; min-width: 145px; }
  .actions { display: grid; grid-template-columns: 1fr; gap: 8px; padding: 14px; }
  .actions button { margin: 0; }
  .download-admin-pdf { width: 100%; margin-left: 0; text-align: center; }
}
