.quick-ls { padding: 35px 15px 60px; }
.quick-ls h1 { font-size: clamp(1.5rem, 3vw, 2.2rem); margin-bottom: 8px; }
.quick-ls-filter { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding: 22px; margin: 24px 0; border: 1px solid #ddd; border-radius: 8px; background: #fff; }
.quick-ls-filter label { display: flex; flex-direction: column; gap: 5px; font-weight: 600; }
.quick-ls-filter select, .quick-ls-filter input, .quick-ls-result-head select { width: 100%; min-height: 38px; border: 1px solid #bbb; border-radius: 4px; padding: 6px 9px; background: #fff; }
.quick-ls-actions { display: flex; align-items: end; gap: 14px; }
.quick-ls-actions button { border: 0; border-radius: 4px; padding: 9px 20px; background: #d91520; color: #fff; cursor: pointer; }
.quick-ls-actions a { padding-bottom: 8px; }
.quick-ls-error { grid-column: 1/-1; margin: 0; color: #a40000; }
.quick-ls-result-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 12px; }
.quick-ls-result-head h2 { font-size: 1.35rem; margin: 0; }
.quick-ls-result-head label { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.quick-ls-selected-location { margin: 0 0 12px; font-weight: 600; }
.quick-ls-table-wrap { overflow-x: auto; border: 1px solid #ddd; border-radius: 6px; }
.quick-ls-table { width: 100%; border-collapse: collapse; background: #fff; font-size: 14px; }
.quick-ls-table th, .quick-ls-table td { padding: 12px 9px; border-bottom: 1px solid #ddd; vertical-align: top; }
.quick-ls-table th { background: #f1f1f1; white-space: nowrap; }
.quick-ls-table tbody tr:nth-child(odd) { background: #fafafa; }
.quick-ls-table .quick-ls-price-unit { display: block; margin-top: 2px; color: #777; font-size: 12px; line-height: 1.35; }
.quick-ls-table .quick-ls-road-link, .quick-ls-table .quick-ls-filter-link { color: #0066cc; text-decoration: underline; }
.quick-ls-table .quick-ls-road-link:hover, .quick-ls-table .quick-ls-road-link:focus, .quick-ls-table .quick-ls-filter-link:hover, .quick-ls-table .quick-ls-filter-link:focus { color: #004b99; }
.quick-ls-title { padding: 0; border: 0; background: none; text-align: left; color: #be0e19; text-decoration: underline; cursor: pointer; max-width: 260px; }
.quick-ls-job { display: inline-block; padding: 3px 7px; border-radius: 4px; color: #fff; white-space: nowrap; font-size: 12px; }
.quick-ls-contact { border: 0; cursor: pointer; }
.quick-ls-job.public { background: #1b7c3a; }.quick-ls-job.hidden { background: #c96b0b; }.quick-ls-job.none { background: #777; }
.quick-ls-empty { padding: 22px; text-align: center; }
.quick-ls-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-top: 18px; }
.quick-ls-pages a, .quick-ls-pages span { min-width: 34px; text-align: center; padding: 6px; border: 1px solid #ddd; border-radius: 4px; }
.quick-ls-pages .quick-ls-page-nav { padding-inline: 10px; }
.quick-ls-pages .is-disabled { color: #999; background: #f5f5f5; }
.quick-ls-pages a[aria-current] { background: #d91520; color: #fff; }
.quick-ls-modal[hidden] { display: none; }
.quick-ls-modal { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 15px; }
.quick-ls-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.58); }
.quick-ls-modal-panel { position: relative; width: min(100%, 440px); padding: 28px; border-radius: 8px; background: #fff; box-shadow: 0 15px 45px rgba(0,0,0,.25); }
.quick-ls-modal-panel h2 { font-size: 1.4rem; }.quick-ls-modal-panel p { margin: 10px 0; }
.quick-ls-modal-panel .quick-ls-modal-job-link { color: #0066cc; text-decoration: underline; }
.quick-ls-modal-panel .quick-ls-modal-job-link:hover, .quick-ls-modal-panel .quick-ls-modal-job-link:focus { color: #004b99; text-decoration: underline; }
.quick-ls-modal-close { position: absolute; top: 8px; right: 12px; border: 0; background: none; font-size: 26px; cursor: pointer; }
@media (max-width: 850px) { .quick-ls-filter { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 650px) {
  .quick-ls-contact, .quick-ls-pages a, .quick-ls-pages span { min-height: 44px; }
  .quick-ls-modal-close { min-width: 44px; min-height: 44px; }
  .quick-ls-modal-panel { max-height: calc(100dvh - 30px); overflow-y: auto; }
  .quick-ls-filter { grid-template-columns: 1fr; }.quick-ls-result-head { display: block; }.quick-ls-result-head form { margin-top: 10px; }
  .quick-ls-table-wrap { overflow: visible; border: 0; }.quick-ls-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .quick-ls-table, .quick-ls-table tbody, .quick-ls-table tr, .quick-ls-table td { display: block; }
  .quick-ls-table tr { margin-bottom: 14px; border: 1px solid #ddd; border-radius: 6px; overflow: hidden; }
  .quick-ls-table td { display: grid; grid-template-columns: minmax(110px, 36%) 1fr; gap: 8px; padding: 8px 12px; }
  .quick-ls-table td::before { content: attr(data-label); font-weight: 700; }
}
