.sanatorium-leaderboard{margin:20px 0 28px;padding:22px;border:1px solid #35576a;border-radius:18px;background:#122336;color:#f1f7fb}.sanatorium-leaderboard h2{margin:0 0 6px}.sanatorium-leaderboard p{margin:0 0 18px;color:#b5ccd9;line-height:1.5}.sanatorium-rank-table{max-height:520px;overflow:auto;border:1px solid #35576a;border-radius:12px}.sanatorium-rank-row{display:grid;grid-template-columns:75px minmax(180px,1fr) 145px 100px 80px;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #35576a;color:inherit;text-decoration:none}.sanatorium-rank-row svg{width:72px;height:32px}.sanatorium-rank-row:hover{background:#1d4051}.sanatorium-rank-row.heading{position:sticky;top:0;background:#214253;font-weight:700;z-index:1}.sanatorium-rank-row .rising{color:#55dc92}.sanatorium-rank-row .falling{color:#ff7777}.venue-review-link{display:inline-flex;align-items:center;padding:7px 11px;border:1px solid #18a99e;border-radius:9px;color:#19c7b9;text-decoration:none;font-weight:700}.venue-review-link:hover{background:#0b514e;color:#fff}@media(max-width:600px){.sanatorium-leaderboard{padding:14px}.sanatorium-rank-row{grid-template-columns:44px minmax(100px,1fr) 75px 44px;gap:5px;font-size:12px;padding:10px 7px}.sanatorium-rank-row strong{overflow-wrap:anywhere}.sanatorium-rank-row>span:last-child{display:none}}
.sanatorium-rank-table{max-height:none;overflow:visible}
.sanatorium-rank-row:last-child{border-bottom:0}
body.light .sanatorium-leaderboard{background:#fff;border-color:#cbd9e6;color:#142b43;box-shadow:0 8px 28px rgba(28,64,94,.07)}
body.light .sanatorium-leaderboard p{color:#536a80}
body.light .sanatorium-rank-table{border-color:#d5e2eb}
body.light .sanatorium-rank-row{border-color:#e0e9f0}
body.light .sanatorium-rank-row.heading{background:#e9f4f6;color:#12394a}
body.light .sanatorium-rank-row:hover{background:#f0f8f9}
body.light .sanatorium-rank-row .rising{color:#087b52}
body.light .sanatorium-rank-row .falling{color:#b4233d}
@media(max-width:600px){.sanatorium-rank-row{grid-template-columns:36px minmax(0,1fr) 72px 42px}.sanatorium-rank-row.heading{position:static}}
.venue-card-media{position:relative}
.venue-card-rating{position:absolute;top:12px;right:12px;z-index:1;padding:6px 10px;border-radius:999px;background:rgba(8,25,40,.9);color:#ffd269;font-size:14px;font-weight:800;box-shadow:0 2px 10px rgba(0,0,0,.24)}
.venue-card-price{padding:9px 14px;background:#e9f7f5;color:#087a72;font-size:13px;font-weight:700;border-bottom:1px solid #cce7e2}
body:not(.light) .venue-card-price{background:#11322f;color:#7ee4d8;border-color:#265750}
.venue-review-link{padding:5px 9px;border-radius:8px;font-size:13px;font-weight:400;line-height:1.2}

/* Rank groups and main-photo avatars, 2026-11-03. */
.sanatorium-rank-position{display:flex;align-items:center}
.sanatorium-rank-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:32px;padding:4px 8px;box-sizing:border-box;border:1px solid;border-radius:10px;font-size:13px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}
.sanatorium-rank-badge.rank-top5{color:#9beca9;background:#173c30;border-color:#3c8258}
.sanatorium-rank-badge.rank-top10{color:#a2d5ff;background:#183855;border-color:#3b78a7}
.sanatorium-rank-badge.rank-top20{color:#ffd09a;background:#473322;border-color:#986b38}
.sanatorium-rank-badge.rank-top30{color:#dbc1ff;background:#352c4d;border-color:#7a60a0}
.sanatorium-rank-badge.rank-rest,.sanatorium-rank-badge.rank-unranked{color:#d4dee8;background:#283747;border-color:#56697c}
.sanatorium-rank-identity{display:flex;align-items:center;gap:12px;min-width:0}
.sanatorium-rank-identity>span:last-child{min-width:0;overflow-wrap:anywhere}
.sanatorium-rank-avatar{display:grid;flex:0 0 44px;width:44px;height:44px;border-radius:50%;overflow:hidden;background:#214b52;color:#b0e9df;border:1px solid #4b707b;box-sizing:border-box}
.sanatorium-rank-avatar>span,.sanatorium-rank-avatar>img{grid-area:1/1;width:100%;height:100%}
.sanatorium-rank-avatar>span{display:grid;place-items:center;font-size:13px;font-weight:600}
.sanatorium-rank-avatar>img{object-fit:cover;position:relative;background:inherit}
body.light .sanatorium-rank-badge.rank-top5{color:#176337;background:#e4f5e8;border-color:#a4d6b3}
body.light .sanatorium-rank-badge.rank-top10{color:#1c6095;background:#e8f3ff;border-color:#b0cfe9}
body.light .sanatorium-rank-badge.rank-top20{color:#94500c;background:#fff1df;border-color:#e7c297}
body.light .sanatorium-rank-badge.rank-top30{color:#7241a1;background:#f3eaff;border-color:#d0b5eb}
body.light .sanatorium-rank-badge.rank-rest,body.light .sanatorium-rank-badge.rank-unranked{color:#526271;background:#eef2f5;border-color:#cbd5df}
body.light .sanatorium-rank-avatar{background:#e3f1ef;color:#176e65;border-color:#bdd4d6}
@media(max-width:600px){.sanatorium-rank-badge{min-width:32px;min-height:28px;padding:3px;font-size:11px;border-radius:8px}.sanatorium-rank-identity{gap:7px}.sanatorium-rank-avatar{flex-basis:32px;width:32px;height:32px}.sanatorium-rank-avatar>span{font-size:10px}}

.sanatorium-rank-copy{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-width:0}
.sanatorium-rank-meta{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-weight:400;font-size:12px}
.sanatorium-rank-comments{display:inline-flex;align-items:center;gap:5px;color:#a6d9e7;white-space:nowrap}
.sanatorium-management{display:inline-flex;align-items:center;gap:5px;border:1px solid;border-radius:999px;padding:4px 7px;font-size:11px;line-height:1.2;font-weight:500}
.sanatorium-management.status-stable{color:#a0e9b4;background:#173b30;border-color:#3d7057}
.sanatorium-management.status-leased{color:#b1d7ff;background:#1c3650;border-color:#426a91}
.sanatorium-management.status-for_rent{color:#ffd196;background:#42321f;border-color:#916a36}
.sanatorium-management.status-for_sale{color:#ffb9bc;background:#462730;border-color:#90525d}
body.light .sanatorium-rank-comments{color:#39718b}
body.light .sanatorium-management.status-stable{color:#20643b;background:#e8f6ec;border-color:#b2d6bd}
body.light .sanatorium-management.status-leased{color:#235f94;background:#eaf3ff;border-color:#bbd2eb}
body.light .sanatorium-management.status-for_rent{color:#8b5410;background:#fff4df;border-color:#e8cf9f}
body.light .sanatorium-management.status-for_sale{color:#a13345;background:#fff0f1;border-color:#e8bdc4}
.sanatorium-management-fields{margin:0 0 20px;padding:16px;border:1px solid #456176;border-radius:12px;min-width:0}
.sanatorium-management-fields legend{padding:0 7px;font-weight:600}
.sanatorium-management-fields .management-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rating-form .management-option{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #456176;border-radius:10px;cursor:pointer;line-height:1.4}
.rating-form .management-option input{appearance:auto;width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:#079c91}
.management-option span{display:grid;gap:4px}.management-option small{font-weight:400;opacity:.85}
.management-option:has(input:checked){border-color:#13b8aa;background:rgba(13,148,136,.1)}
.management-option:focus-within{outline:2px solid #13b8aa;outline-offset:2px}
body.light .sanatorium-management-fields,body.light .rating-form .management-option{border-color:#c9dae7}
.sanatorium-management-fields>p{margin:12px 0 0;font-size:12px;line-height:1.5}
@media(max-width:600px){.sanatorium-management-fields .management-options{grid-template-columns:1fr}.sanatorium-rank-copy{gap:6px}.sanatorium-rank-meta{font-size:11px}.sanatorium-management{font-size:10px}}
