.centers-page { --centers-blue:#0755d9; --centers-ink:#142b49; --centers-muted:#65768d; color:var(--centers-ink); }
.centers-page-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; }
.centers-page-top>span { display:flex; align-items:center; gap:7px; color:var(--centers-muted); font-size:.75rem; }
.centers-intro { display:flex; align-items:center; gap:18px; margin-bottom:24px; }
.centers-intro-icon { display:grid; place-items:center; width:58px; height:62px; flex-shrink:0; border:1px solid #dce8fa; border-radius:19px; color:var(--centers-blue); background:linear-gradient(140deg,#e7f1ff,#f9fcff); font-size:1.85rem; }
.centers-intro h1 { margin:0 0 7px; font-size:1.9rem; font-weight:800; letter-spacing:-.04em; }
.centers-intro p { margin:0; font-size:.9rem; color:var(--centers-muted); line-height:1.7; }
.centers-search { border:1px solid #dfe7f2; background:#fff; border-radius:20px; padding:22px; box-shadow:0 4px 20px #18334b04; margin-bottom:24px; }
.centers-search .form-label { font-size:.82rem; font-weight:700; margin:0 0 10px; }
.centers-search-row { display:flex; gap:12px; }
.centers-search-input { display:flex; align-items:center; flex:1; min-width:0; gap:11px; border:1px solid #cfddee; border-radius:12px; padding:0 15px; background:#fcfdff; }
.centers-search-input>i { color:#6f88a8; font-size:1.05rem; flex-shrink:0; }
.centers-search-input:focus-within { border-color:#5891e5; box-shadow:0 0 0 3px #0755d918; }
.centers-search-input input { width:100%; min-width:0; min-height:48px; padding:10px 0; border:0; outline:0; background:transparent; color:var(--centers-ink); font-size:.9rem; }
.centers-search-input input::placeholder { color:#8190a2; }
.centers-search .btn { border-radius:12px; min-height:48px; font-size:.87rem; font-weight:650; padding:11px 28px; background:var(--centers-blue); }
.centers-clear-search { display:inline-flex; align-items:center; gap:6px; margin-top:13px; font-size:.78rem; font-weight:600; text-decoration:none; }
.centers-results-bar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.centers-results-bar p { margin:0; font-size:.82rem; color:var(--centers-muted); }
.centers-results-bar p strong { color:var(--centers-ink); font-weight:750; }
.centers-results-bar>a { display:inline-flex; align-items:center; gap:6px; color:var(--centers-blue); font-size:.78rem; font-weight:650; text-decoration:none; }
.centers-query { color:var(--centers-ink); overflow-wrap:anywhere; }
.centers-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:stretch; }
.center-card { display:flex; flex-direction:column; min-width:0; border:1px solid #e0e7f1; border-radius:22px; padding:24px; background:#fff; box-shadow:0 5px 26px #18334b05; transition:border-color .15s,box-shadow .15s; }
.center-card:hover { border-color:#c1d5ef; box-shadow:0 9px 28px #18334b09; }
.center-card-top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:17px; }
.center-mark { display:flex; align-items:center; gap:8px; font-size:.72rem; color:#6a7c93; font-weight:600; }
.center-mark>i { display:grid; place-items:center; width:32px; height:32px; font-size:1.05rem; background:#eef5ff; border-radius:10px; color:var(--centers-blue); }
.center-mode { display:inline-block; color:#1c5cc0; background:#eaf2ff; border:1px solid #dfebfc; border-radius:9px; padding:5px 10px; font-size:.68rem; line-height:1.6; font-weight:700; text-align:right; }
.center-card h2 { margin:0 0 10px; font-size:1.19rem; font-weight:800; line-height:1.4; letter-spacing:-.025em; overflow-wrap:break-word; word-break:normal; }
.center-address { display:flex; align-items:flex-start; gap:7px; font-size:.8rem; color:var(--centers-muted); line-height:1.7; margin:0 0 20px; }
.center-address>i { flex-shrink:0; color:#6e8bb1; margin-top:1px; }
.center-card-content { flex:1; min-width:0; }
.center-table-heading { display:flex; justify-content:space-between; gap:10px; align-items:center; margin:0 0 11px; }
.center-table-heading h3 { font-size:.86rem; font-weight:750; margin:0; }
.center-table-heading>span { font-size:.67rem; font-weight:500; color:var(--centers-muted); }
.center-table-wrap { border:1px solid #dfe6f0; border-radius:13px; overflow:hidden; }
.center-tests-table { border-collapse:collapse; width:100%; table-layout:fixed; margin:0; }
.center-tests-table .center-name-col { width:52%; }
.center-tests-table thead { background:linear-gradient(100deg,#e7efff,#edf3ff); }
.center-tests-table thead th { padding:11px 14px; color:#2c4c78; font-size:.73rem; line-height:1.5; font-weight:750; text-align:left; }
.center-tests-table thead th:last-child { text-align:right; border-left:1px solid #dce6f5; }
.center-tests-table thead small { display:block; font-size:.63rem; font-weight:450; color:#637c9e; margin-top:1px; }
.center-tests-table tbody th,.center-tests-table tbody td { padding:14px; border-top:1px solid #e9eef5; vertical-align:middle; }
.center-tests-table tbody th { text-align:left; font-weight:400; }
.center-tests-table tbody td { text-align:right; border-left:1px solid #edf1f7; }
.center-test-name { display:block; font-size:.88rem; line-height:1.5; font-weight:750; color:#183451; overflow-wrap:break-word; word-break:normal; }
.center-test-total { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 6px; font-size:.66rem; line-height:1.6; color:#6e7e93; margin-top:5px; }
.center-test-total s { color:#8995a6; font-weight:400; }
.center-test-total b { color:#526881; font-weight:600; }
.center-test-online { display:block; font-size:1.03rem; font-weight:800; color:var(--centers-blue); white-space:nowrap; font-variant-numeric:tabular-nums; }
.center-test-balance { display:block; font-size:.7rem; color:#58708d; margin-top:4px; line-height:1.5; font-variant-numeric:tabular-nums; }
.center-test-balance b { color:#385372; font-weight:650; }
.center-price-note { display:flex; gap:6px; margin:11px 0 0; color:#77879a; font-size:.67rem; line-height:1.65; }
.center-price-note>i { margin-top:1px; color:#6c8db6; }
.center-card-footer { padding-top:22px; margin-top:auto; }
.center-card-cta { display:flex; align-items:center; justify-content:center; gap:13px; width:100%; min-height:48px; padding:11px 16px; border:1px solid #2b74df; border-radius:12px; color:var(--centers-blue); background:#fff; font-size:.87rem; font-weight:700; text-decoration:none; transition:background .15s; }
.center-card-cta:hover,.center-card-cta:focus-visible { background:#edf4ff; color:#0649bd; border-color:#0755d9; }
.center-visit-details { background:#f6f9ff; border:1px solid #e5edf9; border-radius:13px; padding:18px; }
.center-visit-details>i { color:var(--centers-blue); font-size:1.5rem; }
.center-visit-details h3 { font-size:.95rem; font-weight:750; margin:10px 0 6px; }
.center-visit-details p { font-size:.79rem; line-height:1.7; color:var(--centers-muted); margin:0 0 14px; }
.center-visit-fee { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px; font-size:.76rem; color:#526a89; margin-top:9px; }
.center-visit-fee strong { color:var(--centers-blue); font-size:.95rem; }
.center-empty-tests { background:#f7faff; border:1px dashed #d9e4f3; border-radius:13px; padding:22px 18px; color:var(--centers-muted); font-size:.8rem; line-height:1.7; }
.centers-empty { grid-column:1/-1; text-align:center; background:#fff; padding:54px 20px; border:1px solid #e0e7f1; border-radius:22px; }
.centers-empty>i { display:grid; place-items:center; margin:0 auto 16px; background:#eef5ff; border-radius:20px; width:62px; height:62px; color:var(--centers-blue); font-size:1.6rem; }
.centers-empty h2 { font-size:1.2rem; font-weight:750; margin-bottom:10px; }
.centers-empty p { font-size:.86rem; color:var(--centers-muted); margin-bottom:20px; }
.centers-empty a { font-size:.85rem; }
.centers-pagination { margin-top:26px; }
@media (max-width:991.98px) {
    .centers-grid { grid-template-columns:1fr; gap:18px; }
    .center-card { padding:23px; }
}
@media (max-width:575.98px) {
    .centers-page-top { margin-bottom:19px; }
    .centers-page-top>span { display:none; }
    .centers-page-top .ph-back-button { min-height:40px; padding:8px 13px; font-size:.76rem; border-radius:12px; }
    .centers-intro { gap:13px; margin-bottom:20px; }
    .centers-intro-icon { width:43px; height:48px; border-radius:14px; font-size:1.4rem; }
    .centers-intro h1 { font-size:1.45rem; line-height:1.2; margin-bottom:6px; }
    .centers-intro p { font-size:.78rem; line-height:1.6; }
    .centers-search { padding:17px; border-radius:17px; margin-bottom:20px; }
    .centers-search-row { gap:8px; }
    .centers-search-input { padding:0 10px; gap:7px; }
    .centers-search-input input { font-size:16px; min-height:46px; }
    .centers-search-input input::placeholder { font-size:.76rem; }
    .centers-search .btn { min-height:46px; padding:10px 15px; font-size:.8rem; }
    .centers-search .form-label { font-size:.78rem; }
    .centers-results-bar { margin-bottom:13px; }
    .centers-results-bar p { font-size:.76rem; }
    .centers-results-bar>a { font-size:.72rem; }
    .center-card { border-radius:19px; padding:19px; }
    .center-card-top { margin-bottom:14px; }
    .center-mark { font-size:.66rem; gap:6px; }
    .center-mark>i { width:28px; height:28px; border-radius:9px; font-size:.96rem; }
    .center-mode { font-size:.63rem; padding:4px 8px; }
    .center-card h2 { font-size:1.04rem; line-height:1.45; margin-bottom:9px; }
    .center-address { font-size:.75rem; line-height:1.7; margin-bottom:18px; }
    .center-table-heading h3 { font-size:.82rem; }
    .center-table-heading>span { font-size:.63rem; }
    .center-tests-table thead th { padding:10px 12px; font-size:.71rem; }
    .center-tests-table tbody th,.center-tests-table tbody td { padding:12px; }
    .center-test-name { font-size:.85rem; }
    .center-test-online { font-size:.98rem; }
    .center-test-balance { font-size:.68rem; }
    .center-test-total { font-size:.65rem; }
    .center-card-footer { padding-top:18px; }
    .center-card-cta { min-height:46px; font-size:.82rem; padding:10px 12px; }
    .center-price-note { font-size:.65rem; }
}
@media (prefers-reduced-motion:reduce) { .center-card,.center-card-cta { transition:none; } }

.center-test-total { justify-content:flex-end; margin-top:0; font-size:.8rem; gap:5px 8px; }
.center-test-total b { color:#142b49; font-size:1rem; border:1px solid #c7d6eb; border-radius:5px; padding:2px 6px; background:#fff; white-space:nowrap; }
