.pss-wrap { --pss-red:#b5121b; --pss-dark:#17191c; --pss-border:#dedede; max-width:1180px; margin:0 auto; color:#202124; }
.pss-heading { margin-bottom:24px; }
.pss-heading h2 { margin:0 0 7px; font-size:clamp(28px,4vw,42px); line-height:1.12; }
.pss-heading p { margin:0; color:#5c6066; }
.pss-filters { display:grid; grid-template-columns:2fr 1fr 1fr; gap:14px; align-items:end; padding:20px; background:#f4f5f6; border-radius:8px; margin-bottom:18px; }
.pss-filters label { display:grid; gap:6px; font-weight:700; font-size:14px; }
.pss-filters input,.pss-filters select { width:100%; min-height:44px; border:1px solid #bbb; border-radius:4px; background:#fff; padding:8px 11px; font:inherit; }
.pss-actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:10px; }
.pss-submit,.pss-reset { min-height:44px; border-radius:4px; padding:8px 20px; font-weight:700; cursor:pointer; }
.pss-submit { border:1px solid var(--pss-red); background:var(--pss-red); color:#fff; }
.pss-submit:hover { background:#8f0e15; }
.pss-reset { border:1px solid var(--pss-dark); background:#fff; color:var(--pss-dark); }
.pss-reset:hover { background:var(--pss-dark); color:#fff; }
.pss-count { margin:0 0 12px; }
.pss-map { height:520px; margin:0 0 18px; border:1px solid var(--pss-border); border-radius:8px; overflow:hidden; background:#edf0f2; z-index:0; }
.pss-map-empty { display:grid; place-items:center; height:100%; margin:0; padding:25px; text-align:center; color:#555; }
.pss-map .leaflet-popup-content { line-height:1.45; }
.pss-map-card { display:grid; gap:5px; overflow-wrap:anywhere; }
.pss-map-card-title { display:block; margin-bottom:3px; font-size:16px; color:var(--pss-dark); }
.pss-list { display:grid; gap:10px; }
.pss-card { border:1px solid var(--pss-border); border-left:5px solid var(--pss-red); border-radius:5px; background:#fff; box-shadow:0 2px 9px rgba(0,0,0,.04); }
.pss-card[hidden] { display:none; }
.pss-card-head { display:flex; justify-content:space-between; align-items:center; width:100%; padding:17px 18px; border:0; background:transparent; text-align:left; color:inherit; cursor:pointer; }
.pss-card-title-wrap { display:flex; align-items:center; gap:14px; min-width:0; }
.pss-card-logo { width:72px; height:54px; flex:0 0 72px; object-fit:contain; padding:4px; border:1px solid #e4e4e4; border-radius:4px; background:#fff; }
.pss-card-head strong { display:block; font-size:18px; line-height:1.25; }
.pss-card-head small { display:block; margin-top:4px; color:#666; font-size:14px; }
.pss-chevron { width:11px; height:11px; border-right:2px solid #555; border-bottom:2px solid #555; transform:rotate(45deg); margin:0 7px 6px 20px; transition:transform .2s; }
.pss-card-head[aria-expanded=true] .pss-chevron { transform:rotate(225deg); margin-bottom:-5px; }
.pss-details { border-top:1px solid var(--pss-border); padding:4px 18px 17px; }
.pss-details dl { margin:0; }
.pss-details dl>div { display:grid; grid-template-columns:180px minmax(0,1fr); gap:14px; padding:11px 0; border-bottom:1px solid #eee; }
.pss-details dl>div:last-child { border-bottom:0; }
.pss-details dt { font-weight:700; }
.pss-details dd { margin:0; overflow-wrap:anywhere; }
.pss-details a { color:var(--pss-red); }
.pss-empty { padding:20px; border:1px solid var(--pss-border); text-align:center; }
.pss-note { margin-top:20px; padding:14px 16px; background:#f8f8f8; border-left:4px solid #777; font-size:13px; color:#555; }
@media(max-width:820px) { .pss-filters { grid-template-columns:1fr 1fr; } .pss-filters label:first-child { grid-column:1/-1; } }
@media(max-width:560px) { .pss-filters { grid-template-columns:1fr; } .pss-filters label:first-child { grid-column:auto; } .pss-actions { display:grid; grid-template-columns:1fr 1fr; } .pss-map { height:390px; } .pss-card-head { padding:15px; } .pss-card-logo { width:58px; height:44px; flex-basis:58px; } .pss-details dl>div { grid-template-columns:1fr; gap:3px; } }
