.locations-module { overflow: hidden; }
.locations-filters { display: grid; grid-template-columns: minmax(0,1fr) 180px; align-items: end; gap: 14px; margin-bottom: 24px; }
.locations-filters .module-search { margin: 0; }
.locations-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 0 28px 24px; }
.location-summary-card { padding: 16px 18px; border: 1px solid var(--border-color,#dbe4ee); border-radius: 16px; background: var(--surface-muted,#f7f9fc); }
.location-summary-card span { display: block; color: var(--text-muted,#64748b); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.location-summary-card strong { display: block; margin-top: 5px; font-size: 24px; color: var(--text-primary,#102a43); }
.locations-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 0 28px 28px; }
.location-card { position: relative; min-width: 0; padding: 22px; border: 1px solid var(--border-color,#dbe4ee); border-radius: 18px; background: var(--surface,#fff); transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; overflow: hidden; }
.location-card:hover { transform: translateY(-2px); border-color: rgba(245,124,0,.55); box-shadow: 0 16px 35px rgba(15,42,67,.1); }
.location-card.inactive { opacity: .7; }
.location-card-head { display: flex; align-items: flex-start; gap: 12px; }
.location-card-icon { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; border-radius: 13px; color: #f57c00; background: rgba(245,124,0,.12); font-size: 18px; }
.location-card-copy { min-width: 0; flex: 1; }
.location-card-copy h3 { margin: 0; font-size: 17px; color: var(--text-primary,#102a43); }
.location-code { margin-top: 3px; color: var(--text-muted,#64748b); font-size: 12px; font-weight: 800; }
.location-type { display: inline-flex; margin-top: 11px; padding: 5px 9px; border-radius: 999px; background: rgba(37,99,235,.1); color: #2563eb; font-size: 11px; font-weight: 800; }
.location-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.location-stat { padding: 11px 12px; border-radius: 12px; background: var(--surface-muted,#f7f9fc); }
.location-stat span { display:block; color:var(--text-muted,#64748b); font-size:11px; font-weight:700; }
.location-stat strong { display:block; margin-top:3px; color:var(--text-primary,#102a43); font-size:18px; }
.location-address { min-height: 36px; margin: 14px 0 0; color: var(--text-muted,#64748b); font-size: 12px; line-height: 1.5; }
.location-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; padding-top:14px; border-top:1px solid var(--border-color,#e5eaf0); }
html[data-theme='dark'] .location-summary-card,
html[data-theme='dark'] .location-stat { border-color:#2d4254; background:rgba(255,255,255,.04); }
html[data-theme='dark'] .location-card { border-color:#2d4254; background:rgba(13,35,53,.92); }
html[data-theme='dark'] .location-summary-card strong,
html[data-theme='dark'] .location-card-copy h3,
html[data-theme='dark'] .location-stat strong { color:#f8fafc; }
html[data-theme='dark'] .location-summary-card span,
html[data-theme='dark'] .location-code,
html[data-theme='dark'] .location-stat span,
html[data-theme='dark'] .location-address { color:#9fb0c3; }
html[data-theme='dark'] .location-actions { border-top-color:#2d4254; }

@media (max-width:1100px){
    .locations-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:768px){
    .locations-summary,.locations-grid{margin-right:20px;margin-left:20px;}
}

@media (max-width:700px){
    .locations-summary,.locations-grid{grid-template-columns:1fr;}
    .locations-filters{grid-template-columns:1fr;}
    .locations-filters select{width:100%;}
}

@media (max-width:560px){
    .locations-summary{gap:10px;margin-right:14px;margin-left:14px;margin-bottom:20px;}
    .locations-grid{gap:12px;margin-right:14px;margin-left:14px;margin-bottom:14px;}
    .location-card{padding:18px;}
}
