/* HartaMediu PATCH 2.8 - registru local comun in harta proiectului */
.hm1514-map-window .hm1522-layer-panel {
  width: 310px;
  max-width: min(310px, calc(100vw - 44px));
  max-height: min(620px, calc(100vh - 250px));
  overflow: auto;
  color: #173a31;
  border: 1px solid #c7d9d3;
  border-radius: 16px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 16px 40px rgba(8,48,39,.18);
  font-family: inherit;
}
.hm1522-layer-head {
  position: sticky; top: 0; z-index: 3;
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  padding: 13px 14px; border-bottom: 1px solid #dae7e3; background: #f5faf8;
}
.hm1522-layer-head div { display: grid; gap: 3px; }
.hm1522-layer-head strong { color: #0b5143; font-size: 14px; line-height: 1.2; }
.hm1522-layer-head small { color: #6e817a; font-size: 10px; line-height: 1.35; }
.hm1522-layer-head > span { padding: 4px 7px; color: #0b5749; border-radius: 999px; background: #dff3ec; font-size: 9px; font-weight: 900; letter-spacing: .09em; }
.hm1522-layer-loading { padding: 16px 14px; color: #6b7d77; font-size: 12px; }
.hm1522-layer-group { border-bottom: 1px solid #e3ece9; }
.hm1522-layer-group:last-child { border-bottom: 0; }
.hm1522-layer-group-title { padding: 8px 14px; color: #5d716a; background: #fbfdfc; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.hm1522-layer-row { padding: 10px 14px 11px; border-top: 1px solid #edf3f1; background: #fff; }
.hm1522-layer-row:hover { background: #f9fcfb; }
.hm1522-layer-row > label { display: grid; grid-template-columns: 18px 13px minmax(0,1fr); gap: 8px; align-items: start; margin: 0; cursor: pointer; }
.hm1522-layer-row input[type="checkbox"] { width: 17px; height: 17px; margin: 1px 0 0; accent-color: #0b6958; }
.hm1522-layer-row input:disabled { cursor: not-allowed; opacity: .48; }
.hm1522-layer-row.is-unavailable { background: #fbfbfb; }
.hm1522-swatch { width: 11px; height: 11px; margin-top: 3px; border: 2px solid var(--hm-layer-color,#176b5a); border-radius: 3px; background: var(--hm-layer-color,#176b5a); opacity: .72; }
.hm1522-layer-copy { min-width: 0; display: grid; gap: 3px; }
.hm1522-layer-copy strong { color: #173a31; font-size: 12px; line-height: 1.25; }
.hm1522-layer-copy small { color: #72847e; font-size: 10px; line-height: 1.3; overflow-wrap: anywhere; }
.hm1522-layer-row[data-state="error"] .hm1522-layer-copy small { color: #a23c34; }
.hm1522-layer-row[data-state="empty"] .hm1522-layer-copy small { color: #8a6715; }
.hm1522-layer-row[data-state="loading"] .hm1522-layer-copy small::after { content:""; display:inline-block; width:7px; height:7px; margin-left:6px; border:1px solid currentColor; border-right-color:transparent; border-radius:50%; animation:hm1522Spin .8s linear infinite; }
@keyframes hm1522Spin { to { transform: rotate(360deg); } }
.hm1522-opacity { display: grid; grid-template-columns: auto minmax(0,1fr) 36px; gap: 8px; align-items: center; margin: 8px 0 0 39px; }
.hm1522-opacity span,.hm1522-opacity output { color:#75857f; font-size:9px; font-weight:750; }
.hm1522-opacity output { text-align:right; }
.hm1522-opacity input[type="range"] { width:100%; accent-color:#0b6958; }
.hm1522-popup { display:grid; gap:4px; min-width:190px; }
.hm1522-popup strong { color:#103a31; font-size:14px; }
.hm1522-popup span { color:#4f655e; font-size:11px; line-height:1.35; }
.hm1522-popup small { margin-top:4px; color:#788a84; font-size:9px; }
@media (max-width:720px) {
  .hm1514-map-window .hm1522-layer-panel { width:244px; max-height:42vh; }
  .hm1522-layer-head,.hm1522-layer-row { padding-left:10px; padding-right:10px; }
}
@media (prefers-reduced-motion:reduce) { .hm1522-layer-row[data-state="loading"] .hm1522-layer-copy small::after { animation:none; } }
