:root{--green:#18794e;--ink:#18251f;--muted:#64736b;--line:#e1e9e4;--bg:#f4f7f5}
@font-face {
    font-family: 'Montserrat';
    src: local('Montserrat Regular'), local('Montserrat-Regular'),
        url('fonts/Montserrat-Regular.woff2') format('woff2'),
        url('fonts/Montserrat-Regular.woff') format('woff'),
        url('fonts/Montserrat-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
  }
@font-face {
    font-family: 'Montserrat-bolt';
    src: local('fonts/Montserrat Bold'), local('Montserrat-Bold'),
        url('fonts/Montserrat-Bold.woff2') format('woff2'),
        url('fonts/Montserrat-Bold.woff') format('woff'),
        url('fonts/Montserrat-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
  }
@font-face {
	font-family: HelveticaNeueCyr;   
	src: url('fonts/HNC-Roman.eot');
	src: url('fonts/HNC-Roman.eot?') format('eot'),
		 url('fonts/HNC-Roman.woff') format('woff'),
		 url('fonts/HNC-Roman.ttf')  format('truetype'),
		 url('fonts/HNC-Roman.svg#svgGraublauweb') format('svg');
	font-weight: 400;
	font-style: normal;
}
@font-face {
	font-family: HelveticaNeueCyr;   
	src: url('fonts/HNC-Medium.eot');
	src: url('fonts/HNC-Medium.eot?') format('eot'),
		 url('fonts/HNC-Medium.woff') format('woff'),
		 url('fonts/HNC-Medium.ttf')  format('truetype'),
		 url('fonts/HNC-Medium.svg#svgGraublauweb') format('svg');
	font-weight: 500;
	font-style: normal;
}
@font-face {
	font-family: HelveticaNeueCyr;   
	src: url('fonts/HNC-Bold.eot');
	src: url('fonts/HNC-Bold.eot?') format('eot'),
		 url('fonts/HNC-Bold.woff') format('woff'),
		 url('fonts/HNC-Bold.ttf')  format('truetype'),
		 url('fonts/HNC-Bold.svg#svgGraublauweb') format('svg');
	font-weight: 700;
	font-style: normal;
}
*{box-sizing:border-box}body{margin:0;font-family:Montserrat,sans-serif;color:var(--ink);background:var(--bg)}
header{background:#fff;border-bottom:1px solid var(--line);padding:5px 22px;display:flex;align-items:center;gap:14px}
.logo {
    height: 65px;
    width: 60px;
    display: block;
    float: left;
    background: url(logo.png) left center no-repeat;
}
h1{font-size:19px;margin:0 0 4px}header p{margin:0;color:var(--muted);font-size:13px}
.layout{display:grid;grid-template-columns:370px minmax(0,1fr);height:calc(100vh - 77px);min-height:540px}
aside{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
.summary{padding:18px 18px 14px;border-bottom:1px solid var(--line)}
.stat{font-size:28px;font-weight:750;color:var(--green)}.statlabel{font-size:12px;color:var(--muted)}
.search {
    margin-top: 14px;
    width: 100%;
    padding: 12px 13px;
    border: 1px solid #d8e2dc;
    border-radius: 10px;
    font-size: 12px;
    outline-color: var(--green);
    font-family: Montserrat;
}
.filters{display:flex;gap:8px;margin-top:9px}
.filters button {
    border: 1px solid var(--line);
    background: white;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 12px;
    cursor: pointer;
    color: var(--ink);
    font-family: Montserrat;
}
.list{overflow:auto;padding:10px;flex:1}.item{padding:13px;border:1px solid var(--line);border-radius:12px;margin-bottom:9px;cursor:pointer;background:#fff}
.item:hover,.item.selected{border-color:#78b993;background:#f5fbf7}.itemtop{display:flex;justify-content:space-between;gap:8px;align-items:start}
.item h3{font-size:14px;line-height:1.35;margin:0 0 8px}.pill{font-size:11px;background:#e8f5ed;color:#17643f;padding:4px 7px;border-radius:6px;white-space:nowrap}
.meta{font-size:12px;color:var(--muted);line-height:1.55}.empty{padding:22px;color:var(--muted);font-size:14px;line-height:1.5}
.mapwrap{position:relative;min-width:0}#map{height:100%;width:100%;background:#e9efeb}
.map-note{position:absolute;bottom:14px;left:14px;z-index:2;background:#fff;padding:10px 12px;border-radius:10px;box-shadow:0 2px 12px #15271b18;font-size:12px;color:var(--muted);max-width:320px}
@media(max-width:760px){header{padding:12px}.layout{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 69px)}.mapwrap{height:55vh;min-height:340px;grid-row:1}aside{height:auto;max-height:50vh;border-right:0}.list{max-height:300px}.summary{padding:14px}.map-note{max-width:230px;font-size:11px}}

.service-filters{display:grid;gap:8px;margin-top:12px}.check-filter{display:grid;grid-template-columns:18px 1fr;column-gap:8px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fbfdfb;cursor:pointer}.check-filter input{grid-row:span 2;width:16px;height:16px;accent-color:var(--green);margin:0}.check-filter span{font-size:14px;font-weight:650}.check-filter small{font-size:11px;color:var(--muted);margin-top:2px}.filters button{cursor:pointer}

.filter-label{display:block;margin-top:12px;margin-bottom:6px;font-size:12px;font-weight:700;color:var(--muted)}
.service-select {
    display: block;
    width: 100%;
    padding: 11px 12px;
    border: 1px solid #d8e2dc;
    border-radius: 10px;
    background: #fff;
    color: var(--ink);
    font-size: 12px;
    outline-color: var(--green);
    font-family: Montserrat;
}
