.address-autocomplete { position: relative; }
.address-suggestions { position: absolute; top: 100%; left: 0; right: 0; z-index: 1040; border: 1px solid var(--hbl-border); background: #fff; }
.address-suggestion { padding: 12px; cursor: pointer; border-bottom: 1px solid #edf0ed; font-size: .9rem; }
.address-suggestion:hover, .address-suggestion[aria-selected="true"] { background: #edf4f0; color: var(--hbl-ink); }
.google-maps-attribution { padding: 8px 12px; text-align: right; color: #5e5e5e; font: 500 16px Arial, sans-serif; letter-spacing: normal; white-space: nowrap; }
.customer-card { border: 1px solid var(--hbl-border); background: #fff; padding: 20px; border-radius: 4px; }
.record-tabs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); overflow: visible; gap: 4px; }
.record-tabs .nav-link { min-width: 0; margin: 0; white-space: normal; min-height: 48px; border-radius: 3px 3px 0 0; color: var(--hbl-green); }
.record-tabs .nav-link.active { font-weight: 600; border-bottom: 3px solid var(--hbl-green); }
.record-card { border: 1px solid var(--hbl-border); background: #fff; padding: 20px; border-radius: 4px; box-shadow: 0 2px 8px rgb(0 0 0 / 3%); }
.record-card h2 { overflow-wrap: anywhere; }
.order-item-summary { border-top: 1px solid var(--hbl-border); padding-top: 12px; margin: 16px 0; }
.customer-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 12px 24px; margin: 16px 0; }
.customer-facts dt { font-size: .75rem; color: var(--hbl-muted); font-weight: 400; }
.customer-facts dd { margin: 2px 0 0; font-size: .9rem; overflow-wrap: anywhere; white-space: pre-line; }
.attachment-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr)); gap: 16px; }
.attachment-preview { display: block; width: 100%; height: 160px; object-fit: contain; background: #fff; border: 1px solid var(--hbl-border); }
.attachment-caption { font-size: .8rem; overflow-wrap: anywhere; margin-top: 6px; }
.history-change { font-size: .85rem; }
.history-entry > summary { min-height: 44px; padding: 8px 0; cursor: pointer; }
.card-capture-preview { max-height: 360px; width: auto; max-width: 100%; object-fit: contain; }
.capture-camera-label { position: relative; cursor: pointer; }
.capture-camera-label input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.capture-camera-label:focus-within { outline: 3px solid var(--hbl-green); outline-offset: 2px; }

.visit-start-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.visit-start-option { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; text-align: left; padding: 28px; background: #fff; color: var(--hbl-ink); border: 1px solid var(--hbl-border); border-radius: 4px; box-shadow: 0 3px 12px rgb(25 44 42 / 4%); }
.visit-start-option strong { font-size: 1.15rem; line-height: 1.35; }
.visit-start-option > span:last-child { color: var(--hbl-muted); font-weight: 400; }
.visit-start-option:hover { border-color: var(--hbl-green); background: #fafcf9; }
.visit-start-option:disabled { opacity: .6; }
.visit-editor-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.visit-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
.visit-extra-fields { border-top: 1px solid var(--hbl-border); }
.visit-extra-fields > summary { font-weight: 600; color: var(--hbl-green); min-height: 48px; padding-block: 12px; }
.visit-action-bar { justify-content: space-between; }
.visit-lookup-card { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; padding: 16px; border: 1px solid var(--hbl-border); background: #fff; }
.visit-lookup-card > div { min-width: 0; overflow-wrap: anywhere; }
.card-reader-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.card-reader-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.card-reader-layout .card-capture-preview { width: 100%; max-height: 360px; margin: 12px auto; background: #fff; }
.card-reader-controls { display: flex; flex-wrap: wrap; gap: 10px; }
.card-reader-orientation { padding: 16px; background: var(--hbl-light); border: 1px solid var(--hbl-border); }
.card-reader-status { min-height: 28px; margin: 16px 0; }
.card-reader-suggestions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.card-reader-suggestions label { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: .9rem; font-weight: 600; }
.card-reader-suggestions .form-check-input { flex: 0 0 auto; }
.card-reader-suggestions + .btn { margin-top: 20px; }
.card-reader-review { scroll-margin-top: 24px; }

@media (min-width: 1000px) and (orientation: landscape), (min-width: 1400px) {
    .visit-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
    .card-reader-layout:has(.card-reader-review:not([hidden])) { grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); }
}
@media (min-width: 600px) and (max-width: 999.98px), (min-width: 600px) and (max-width: 1199.98px) and (orientation: portrait) {
    .visit-start-options { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .visit-start-option { display: grid; grid-template-columns: 54px 1fr; gap: 6px 20px; padding: 24px; }
    .visit-start-option .icon-box { grid-row: span 2; }
}
@media (max-width: 599.98px) {
    .visit-start-options { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .visit-start-option { gap: 10px; padding: 20px; }
    .visit-start-option .icon-box { display: none; }
    .card-reader-suggestions { grid-template-columns: minmax(0, 1fr); }
}
