@import url("/_shared/layout.css");
.setup { padding: 16px 18px; }
.setup-head { display: flex; gap: 10px; align-items: flex-end; }
.edit summary { cursor: pointer; font-weight: 600; color: var(--brand); padding: 12px 0 0; font-size: 14px; }
.edit .pad { padding-top: 14px; }
em.cur-unit { font-style: normal; color: var(--muted); font-weight: 500; }
.unit-input { position: relative; display: flex; align-items: center; }
.unit-input input { padding-right: 64px !important; width: 100%; min-height: 48px; padding: 12px 14px; border-radius: var(--r); border: 1.5px solid var(--line-2); background: #fff; font-size: 16px; }
.unit-input input:focus { outline: none; border-color: var(--c2); box-shadow: 0 0 0 4px color-mix(in srgb, var(--c2) 16%, transparent); }
.unit-input b { position: absolute; right: 14px; font-weight: 600; color: var(--muted); font-size: 14px; pointer-events: none; }
.big-inputs .unit-input input { font: 700 26px/1 var(--display); min-height: 60px; }
input[aria-invalid="true"] { border-color: var(--bad) !important; box-shadow: 0 0 0 4px #ffe4e6 !important; }
.price-card { padding: 26px; }
.price { font-size: clamp(48px, 7vw, 72px); margin: 4px 0 14px; word-break: break-all; }
#receipt.did-update .price { animation: qbump .45s var(--ease); }
@keyframes qbump { 0% { transform: translateY(6px); opacity: .3; } 100% { transform: none; opacity: 1; } }
.floor { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 12px 14px; border-radius: var(--r); background: var(--soft); margin-bottom: 16px; }
.floor span:first-child { font-weight: 600; color: var(--brand); }
.floor b { font: 700 20px/1 var(--display); }
.floor .small { flex-basis: 100%; }
.receipt .r-line { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px dashed var(--line); font-size: 15px; }
.receipt .r-label { display: flex; flex-direction: column; min-width: 0; }
.receipt .r-note { font-size: 12.5px; color: var(--muted); overflow-wrap: anywhere; }
.receipt .r-amt { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.receipt .r-subtotal { border-bottom: 1px solid var(--line-2); font-weight: 600; }
.receipt .r-total { border-bottom: 0; font-weight: 700; font-size: 17px; }
.quote { margin-top: 14px; }
.quote summary { cursor: pointer; font-weight: 600; padding: 6px 0; }
.quote pre { white-space: pre-wrap; font: 14px/1.6 ui-monospace, "SF Mono", Menlo, monospace; background: var(--paper); border-radius: var(--r); padding: 16px; margin: 8px 0 0; }
@media print {
  body > *:not(main), main > *:not(.app), .two-col > div:first-child, .sticky-col .step-n, .sticky-col .step-h, .price-card, .row, #status-line { display: none !important; }
  .two-col { display: block; }
  .quote summary { display: none; }
  .quote pre { background: none; font-size: 13pt; }
}
.setup-head .btn { min-height: 48px; }
