/* The Yard Ticket, including fields on the quote page. */
input, select, textarea { background: var(--bg); color: var(--ink); border: 1px solid var(--ink-3); border-radius: var(--radius);
  font: inherit; font-size: 1rem; caret-color: var(--accent); }
input:focus-visible, select:focus-visible, textarea:focus-visible, .sg-button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.sg-list { margin: 1rem 0; padding: 1rem 0; }
.sg-list[hidden], .sg-editor[hidden], .sg-actions[hidden] { display: none; }
.sg-list h2 { font-size: 1.25rem; }
.sg-help, .sg-error { color: var(--ink-2); margin: .5rem 0; }
.sg-preview { font-weight: 600; margin-top: .75rem; overflow-wrap: anywhere; }
.sg-lines { padding: 0; list-style: none; margin-top: .75rem; }
.sg-line, .quote-items .sg-line { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; justify-content: space-between;
  padding: 1rem 0; border-bottom: 1px solid var(--line); }
.sg-line > span { min-width: 0; flex: 1 1 20rem; overflow-wrap: anywhere; }
.quote-items .sg-line { padding: 1rem; }
.sg-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.sg-button, .quote-items .sg-button { min-height: 44px; padding: .5rem .9rem; font: inherit; font-weight: 600;
  color: var(--accent); background: var(--bg); border: 1px solid var(--ink-3); border-radius: var(--radius); cursor: pointer; }
.sg-button:hover { border-color: var(--accent); }
.sg-editor { flex: 1 1 100%; min-width: 0; }
.sg-editor label { display: block; font-weight: 600; margin: .4rem 0; }
.sg-editor input { width: 100%; min-height: 48px; padding: .7rem .9rem; box-sizing: border-box; }
.sg-editor .sg-actions { margin-top: .6rem; }
.sg-error { flex-basis: 100%; font-weight: 600; }
.sg-line ::selection, .sg-preview::selection { background: var(--accent); color: var(--accent-ink); }
@media (max-width: 719px) {
  .ss-none .ss-actions .btn { width: 100%; white-space: normal; }
}
