/* Central textile map module */
.map-page{min-height:calc(100vh - 82px);background:#031b1d;color:#e9f4f2;overflow:hidden}.market-ticker{height:42px;display:flex;align-items:stretch;border-bottom:1px solid #17403f;background:#062426;overflow-x:auto;scrollbar-width:none}.market-ticker::-webkit-scrollbar{display:none}.ticker-live{display:flex;align-items:center;gap:7px;flex:0 0 auto;padding:0 17px;color:#8ea6a3;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.ticker-live i{width:6px;height:6px;border-radius:50%;background:#438457;box-shadow:0 0 0 4px rgba(85,206,121,.1)}.market-ticker button{display:flex;align-items:center;gap:9px;flex:1;min-width:178px;padding:0 15px;border:0;border-left:1px solid #143737;background:transparent;color:#fff;text-align:left}.market-ticker button:hover{background:#0a3031}.market-ticker small{color:#829b99;font-size:9px;text-transform:uppercase}.market-ticker b{font-size:11px;white-space:nowrap}.market-ticker em{margin-left:auto;font-size:9px;font-style:normal;font-weight:800;white-space:nowrap}.market-ticker .up{color:#428255}.market-ticker .down{color:#ef6d6d}.map-workspace{display:grid;grid-template-columns:250px minmax(570px,1fr) 270px;gap:8px;height:calc(100vh - 124px);min-height:650px;padding:8px;background:#031b1d}.map-left,.map-right,.uz-map{min-width:0}.map-left{display:flex;flex-direction:column;border:1px solid #174140;border-radius:12px;background:#062426;overflow:hidden}.map-tabs{display:grid;grid-template-columns:1fr 1fr;padding:8px;border-bottom:1px solid #163b3a}.map-tabs button{padding:10px 6px;border:0;border-radius:8px;background:transparent;color:#799390;font-size:11px;font-weight:800;text-transform:uppercase}.map-tabs button.active{background:#0e4a45;color:#4b8f60}.map-tabs span{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:4px;border-radius:6px;background:#123c3a;font-size:9px}.request-list{display:grid;gap:8px;padding:9px;overflow:auto}.request-card{padding:13px;border:1px solid #17403e;border-radius:10px;background:#082b2d;cursor:pointer;transition:.2s}.request-card:hover,.request-card.active{border-color:#398b65;background:#0a3232;transform:translateY(-1px)}.request-card>div{display:flex;align-items:center;justify-content:space-between}.request-card span{padding:4px 6px;border-radius:5px;background:#174a39;color:#63c276;font-size:8px;font-weight:800;text-transform:uppercase}.request-card small,.request-card p{color:#819a97;font-size:9px}.request-card h3{margin:10px 0 7px;font-size:11px;line-height:1.45}.request-card p{margin:0 0 10px}.request-card strong{color:#e5f0ee;font-size:10px}.all-requests{margin:auto 9px 9px;padding:11px;border:1px solid #24544e;border-radius:8px;background:transparent;color:#8eb3ab;font-size:10px;font-weight:800}.all-requests span{float:right}.uz-map{position:relative;display:grid;grid-template-rows:40px 1fr 54px;border:1px solid #174140;border-radius:12px;background:radial-gradient(circle at 60% 42%,#0b3433 0,#062627 52%,#041d20 100%);overflow:hidden}.map-caption{display:flex;align-items:center;justify-content:center;gap:10px;border-bottom:1px solid rgba(27,72,70,.55);color:#809896;font-size:9px;text-transform:uppercase;letter-spacing:1px}.map-caption span{display:flex;align-items:center;gap:6px}.map-caption i{width:6px;height:6px;border-radius:50%;background:#63c276}.map-caption b{color:#b2c4c1;font-size:9px}.map-stage{position:relative;min-height:0;overflow:hidden;perspective:900px}.map-stage:before{content:"";position:absolute;inset:0;opacity:.15;background-image:linear-gradient(rgba(77,160,125,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(77,160,125,.18) 1px,transparent 1px);background-size:35px 35px;transform:perspective(650px) rotateX(62deg) scale(1.45);transform-origin:center bottom}.map-glow{position:absolute;left:10%;right:8%;bottom:7%;height:32%;border-radius:50%;background:#18a267;filter:blur(65px);opacity:.12}.uz-shape{position:absolute;inset:8% 5% 4%;width:90%;height:87%;overflow:visible;transform:rotateX(7deg) rotateZ(-2deg);transition:transform .25s ease;transform-origin:center}.uz-shape .country{fill:url(#uzfill);stroke:#1d8066;stroke-width:4}.uz-shape .region{fill:rgba(24,102,82,.12);stroke:#1a6557;stroke-width:1.6;transition:.2s}.uz-shape .region:hover{fill:rgba(62,185,117,.16)}.factory-pin{position:absolute;left:var(--x);top:var(--y);z-index:3;display:grid;place-items:center;width:34px;height:34px;transform:translate(-50%,-50%);border:3px solid #e4f1ef;border-radius:50% 50% 50% 8px;background:#76c9cf;color:#073134;box-shadow:0 7px 18px rgba(0,0,0,.4);rotate:-45deg;transition:.2s}.factory-pin span{font-size:9px;font-weight:800;rotate:45deg}.factory-pin small{position:absolute;left:31px;top:26px;display:none;padding:5px 7px;border-radius:5px;background:#e8f3f1;color:#092725;font-size:8px;white-space:nowrap;rotate:45deg}.factory-pin:hover,.factory-pin.selected{z-index:5;background:#63c276;scale:1.15}.factory-pin:hover small{display:block}.factory-pin.selected:not(:hover) small{display:none}.map-category-pins button{position:absolute;left:var(--x);top:var(--y);z-index:4;display:grid;place-items:center;width:35px;height:35px;transform:translate(-50%,-50%);border:3px solid #f4f8f7;border-radius:50%;background:#e96158;color:#fff;box-shadow:0 7px 18px rgba(0,0,0,.4)}.map-category-pins button:nth-child(2){background:#63c276}.map-category-pins button:nth-child(3){background:#6658c5}.map-category-pins .line-icon{width:15px;height:15px}.map-category-pins span{position:absolute;top:39px;padding:4px 6px;border-radius:5px;background:#092725;color:#dce9e7;font-size:8px;opacity:0;transition:.15s}.map-category-pins button:hover span{opacity:1}.map-controls{position:absolute;right:13px;bottom:13px;display:grid;gap:5px}.map-controls button{width:32px;height:32px;border:1px solid #24524e;border-radius:50%;background:#0a3435;color:#d8e6e4;font-size:18px}.map-controls button:hover{background:#11604c}.map-stats{display:flex;align-items:center;gap:0;padding:8px 12px;border-top:1px solid #184240;background:rgba(5,31,33,.85)}.map-stats span{min-width:84px;padding:0 14px;border-right:1px solid #1d4442}.map-stats span:last-child{border:0}.map-stats b,.map-stats small{display:block}.map-stats b{font-size:12px}.map-stats small{margin-top:2px;color:#7f9895;font-size:7px;text-transform:uppercase;letter-spacing:.4px}.map-right{display:grid;grid-template-rows:auto 1fr;gap:8px}.filter-panel,.meetings-panel{padding:13px;border:1px solid #174140;border-radius:12px;background:#082b2d;overflow:hidden}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-title h2{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.8px}.panel-title span,.panel-title button{color:#819b98;font-size:8px}.panel-title button{border:0;background:transparent}.map-search{display:flex;align-items:center;gap:7px;padding:8px 9px;border:1px solid #1a4845;border-radius:7px;background:#062326}.map-search .line-icon{width:14px;height:14px;color:#718d89}.map-search input{width:100%;border:0;outline:0;background:transparent;color:#dce8e6;font:inherit;font-size:9px}.filter-panel>label:not(.map-search){display:block;margin-top:12px}.filter-panel label>span{display:block;margin-bottom:6px;color:#7e9995;font-size:8px;font-weight:800;text-transform:uppercase}.filter-panel select{width:100%;padding:9px;border:1px solid #1b4744;border-radius:7px;background:#062426;color:#d4e1df;font:inherit;font-size:9px}.filter-foot{display:flex;justify-content:space-between;align-items:center;margin-top:13px;padding-top:12px;border-top:1px solid #17413f}.filter-foot b{font-size:8px}.filter-foot button{border:0;background:transparent;color:#63c276;font-size:8px;text-transform:uppercase}.meetings-panel{min-height:0;overflow:auto}.meeting-card{position:relative;min-height:122px;margin-bottom:9px;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:linear-gradient(135deg,#a83036,#d8554f);overflow:hidden;cursor:pointer}.meeting-card.green{background:linear-gradient(135deg,#195b51,#20815f)}.meeting-card:after{content:"";position:absolute;width:90px;height:90px;right:-16px;top:-20px;border:18px solid rgba(255,255,255,.08);border-radius:50%}.meeting-card>span{display:inline-block;padding:5px 7px;border-radius:5px;background:#fff;color:#8f2d33;font-size:8px;font-weight:800}.meeting-card.green>span{color:#17634b}.meeting-card div{position:absolute;left:12px;right:12px;bottom:12px;z-index:1}.meeting-card small{font-size:8px;opacity:.75}.meeting-card h3{margin:3px 0;font-size:11px}.meeting-card p{margin:0;font-size:8px;opacity:.8}.meeting-card:hover{filter:brightness(1.08)}
@media(max-width:1180px){.map-workspace{grid-template-columns:220px minmax(520px,1fr);height:auto;min-height:calc(100vh - 112px)}.map-right{grid-column:1/-1;grid-template-columns:1fr 1fr}.uz-map{min-height:620px}.meetings-panel{display:grid;grid-template-columns:1fr 1fr;gap:8px}.meetings-panel .panel-title{grid-column:1/-1}.meeting-card{margin:0}}
@media(max-width:760px){.map-page{min-height:calc(100vh - 70px)}.market-ticker{height:48px}.ticker-live{padding:0 12px}.market-ticker button{min-width:165px}.map-workspace{display:flex;flex-direction:column;height:auto;padding:7px}.uz-map{order:1;min-height:520px}.map-left{order:2;max-height:none}.map-right{order:3;display:grid;grid-template-columns:1fr}.map-caption{justify-content:flex-start;padding:0 12px}.map-caption b{margin-left:auto}.map-stage{min-height:410px}.uz-shape{inset:11% -11% 4%;width:122%;height:80%}.factory-pin{width:29px;height:29px}.factory-pin small{display:none!important}.map-category-pins button{width:31px;height:31px}.map-stats{overflow-x:auto}.map-stats span{min-width:79px;padding:0 10px}.request-list{grid-template-columns:1fr}.meetings-panel{display:block}.meeting-card{margin-bottom:8px}}

/* Uzbekistan map - raised terrain treatment based on the approved visual direction. */
.uz-shape .country-depth{fill:#031516;stroke:#092526;stroke-width:9;opacity:.96;filter:drop-shadow(0 18px 12px rgba(0,0,0,.55))}
.uz-shape .terrain-texture{fill:#315a51;filter:url(#terrain);opacity:.48;pointer-events:none}
.map-detail{pointer-events:none}.map-detail .boundary{fill:none;stroke:#74a39a;stroke-width:1.35;stroke-dasharray:2 2;opacity:.42}
.map-detail .road{fill:none;stroke:#6a8f87;stroke-width:1.4;opacity:.38}.map-detail .road.major{stroke:#a9c1bb;stroke-width:2.3;opacity:.5;filter:drop-shadow(0 0 3px rgba(153,218,196,.35))}
.terrain-ridges path{fill:none;stroke:#7ca198;stroke-width:2;opacity:.28}
.map-stage:after{content:"";position:absolute;inset:12% 8% 5%;pointer-events:none;background:radial-gradient(ellipse at 72% 70%,rgba(106,171,148,.17),transparent 25%),radial-gradient(ellipse at 18% 22%,rgba(74,134,119,.13),transparent 27%);mix-blend-mode:screen}
.factory-pin{border-width:2px;background:#d8eee9;color:#06312f;box-shadow:0 3px 0 #577b76,0 10px 22px rgba(0,0,0,.55),0 0 0 5px rgba(94,201,169,.09)}
.factory-pin:hover,.factory-pin.selected{box-shadow:0 3px 0 #2b805b,0 12px 25px rgba(0,0,0,.6),0 0 0 7px rgba(86,213,126,.16)}
.map-category-pins button{box-shadow:0 4px 0 rgba(0,0,0,.3),0 10px 23px rgba(0,0,0,.55),0 0 0 6px rgba(255,255,255,.06)}
.map-category-pins button:nth-child(2) span{white-space:nowrap}

/* Approved Uzbekistan reference image with restrained live-map motion. */
.map-stage{background:#0c1918}
.map-stage:before{z-index:1;opacity:.2;mix-blend-mode:screen;pointer-events:none}
.map-reference{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;object-position:center;filter:saturate(.72) hue-rotate(8deg) brightness(.66) contrast(1.14);transform:scale(1.015);transition:transform .45s cubic-bezier(.2,.75,.2,1),filter .35s ease;mask-image:radial-gradient(ellipse 82% 75% at 50% 51%,#000 56%,rgba(0,0,0,.94) 70%,transparent 100%);animation:map-breathe 9s ease-in-out infinite alternate}
.map-ambient{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#0c1918 0,rgba(12,25,24,.08) 18%,rgba(12,25,24,.04) 79%,#0c1918 100%),linear-gradient(180deg,#0c1918 0,transparent 17%,transparent 78%,#0c1918 100%),radial-gradient(ellipse at 52% 54%,rgba(20,153,105,.18),rgba(5,45,40,.12) 48%,rgba(12,25,24,.48) 82%);mix-blend-mode:color}
.uz-shape{display:none}
.map-glow{z-index:2;animation:map-glow 5.5s ease-in-out infinite}
.factory-pin,.map-category-pins button{animation:pin-float 3.8s ease-in-out infinite}
.factory-pin:nth-of-type(2),.map-category-pins button:nth-child(2){animation-delay:-1.2s}
.factory-pin:nth-of-type(3),.map-category-pins button:nth-child(3){animation-delay:-2.4s}
.factory-pin:after,.map-category-pins button:after{content:"";position:absolute;inset:-8px;border:1px solid rgba(108,232,165,.45);border-radius:50%;animation:pin-ring 2.8s ease-out infinite;pointer-events:none}
.map-category-pins,.factory-pin,.map-controls{z-index:4}
.map-stage:after{z-index:2;animation:light-sweep 8s ease-in-out infinite alternate}
@keyframes map-breathe{to{filter:saturate(.82) hue-rotate(8deg) brightness(.73) contrast(1.1)}}
@keyframes map-glow{50%{opacity:.22;transform:scale(1.08)}}
@keyframes pin-float{0%,100%{margin-top:0}50%{margin-top:-5px}}
@keyframes pin-ring{0%{opacity:.75;transform:scale(.72)}75%,100%{opacity:0;transform:scale(1.35)}}
@keyframes light-sweep{from{opacity:.38;transform:translateX(-1.5%)}to{opacity:.72;transform:translateX(1.5%)}}
@media(max-width:760px){.map-reference{object-fit:cover;object-position:52% center;inset:-1% -13%;width:126%;height:102%;mask-image:radial-gradient(ellipse 77% 73% at 50% 51%,#000 55%,rgba(0,0,0,.92) 72%,transparent 100%)}}
@media(prefers-reduced-motion:reduce){.map-reference,.map-glow,.factory-pin,.map-category-pins button,.factory-pin:after,.map-category-pins button:after,.map-stage:after{animation:none!important;transition:none!important}}

/* Client map image - original colors, fully fitted and blended into the platform. */
.map-page,.map-workspace,.uz-map,.map-stage{background:#0e2324}
.map-stage:before,.map-stage:after,.map-glow,.map-ambient{display:none}
.map-reference{inset:0;width:100%;height:100%;object-fit:contain;object-position:center;filter:none;transform:scale(1.08);mask-image:none;animation:none;transition:none}
@media(max-width:760px){.map-reference{inset:0;width:100%;height:100%;object-fit:contain;object-position:center;filter:none;transform:scale(1.08);mask-image:none}}

/* Region markers stay attached to the scaled image; specializations open on demand. */
.map-category-pins{display:none}
.factory-pin{animation:none!important;transition:left .25s ease,top .25s ease,scale .2s ease,background .2s ease}
.specialization-menu{position:absolute;left:var(--x);top:var(--y);z-index:6;width:0;height:0;transition:left .25s ease,top .25s ease}
.specialization-menu[hidden]{display:none}
.specialization-menu button{--angle:calc(var(--slot) * 51.43deg - 64.285deg);position:absolute;left:0;top:0;display:grid;place-items:center;width:38px;height:38px;padding:0;border:2px solid rgba(244,248,247,.96);border-radius:50%;background:#fff;color:#173c38;box-shadow:0 6px 16px rgba(0,0,0,.5);transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-68px) rotate(calc(var(--angle) * -1));transition:transform .18s ease,filter .18s ease;animation:specialization-reveal .42s cubic-bezier(.2,.8,.25,1) both;animation-delay:calc(var(--slot) * 42ms)}
.specialization-menu.closing{pointer-events:none}.specialization-menu.closing button{animation:specialization-hide .28s cubic-bezier(.55,0,.8,.2) both;animation-delay:calc((6 - var(--slot)) * 18ms)}
@keyframes specialization-hide{from{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-68px) rotate(calc(var(--angle) * -1)) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-8px) rotate(calc(var(--angle) * -1)) scale(.55)}}
.map-tabs button{position:relative;cursor:pointer;transition:color .24s ease,background-color .24s ease}.map-tabs button:hover{color:#63c276;background:#0b3a37}.map-tabs button:active{background:#0d433f}.map-tabs button span{position:relative}
@keyframes specialization-reveal{from{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-10px) rotate(calc(var(--angle) * -1)) scale(.45)}to{opacity:1}}
.specialization-menu button:hover{filter:brightness(1.04);z-index:2}
.specialization-menu .line-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.specialization-menu button{border-color:rgba(210,255,247,.84);background:linear-gradient(145deg,#174f4b,#062f2f);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -5px 9px rgba(0,18,18,.5),0 4px 0 #032422,0 11px 22px rgba(0,0,0,.55)}
.specialization-menu button:hover{filter:saturate(1.18) brightness(1.1);transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-70px) rotate(calc(var(--angle) * -1)) scale(1.08)}
.specialization-menu .line-icon,.specialization-menu .category-3d-static{width:25px;height:25px;overflow:visible}
.specialization-menu .category-pictogram{fill:var(--icon-fill);stroke:rgba(245,255,252,.76);stroke-width:.72;stroke-linecap:round;stroke-linejoin:round;filter:var(--icon-shadow)}
.specialization-menu .category-pictogram .icon-face{fill:var(--icon-edge);stroke:rgba(255,255,255,.22)}
.specialization-menu .category-pictogram .icon-line{fill:none;stroke:rgba(255,255,255,.78);stroke-width:.78}
.specialization-menu .category-pictogram .icon-hole{fill:#082b2b;stroke:rgba(255,255,255,.58)}
.specialization-menu .category-pictogram .icon-bubble{fill:rgba(238,255,251,.75);stroke:none}
.specialization-menu .category-pictogram .icon-ground{fill:rgba(0,17,17,.52);stroke:none;filter:blur(.55px)}
.specialization-menu .category-pictogram .icon-gloss{fill:none;stroke:rgba(255,255,255,.68);stroke-width:1.05}
.map-category-pins .category-3d-static{width:27px;height:27px;overflow:visible}
.specialization-menu .category-object-icon,.map-category-pins .category-object-icon{width:31px;height:31px;overflow:visible}
.specialization-menu .apparel-specialization{overflow:hidden;border-color:#b9d3d6;background:#b9ced1}
.specialization-menu .category-photo-icon,.map-category-pins .category-photo-icon{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.specialization-menu .apparel-specialization .category-photo-icon{transform:scale(1.03)}
.specialization-menu .category-object{filter:var(--object-shadow)}
.specialization-menu .category-object .obj-main{fill:var(--object-main);stroke:#bafff4;stroke-width:.65;stroke-linejoin:round}
.specialization-menu .category-object .obj-side{fill:#08635f;stroke:#43c9ba;stroke-width:.55;stroke-linejoin:round}
.specialization-menu .category-object .obj-light{fill:#c9fff5;fill-opacity:.7;stroke:none}
.specialization-menu .category-object .obj-accent{fill:var(--object-accent);stroke:#ffe8aa;stroke-width:.55;stroke-linejoin:round}
.specialization-menu .category-object .obj-detail{fill:none;stroke:#ecfffb;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.specialization-menu .category-object .obj-cut{fill:#073b3a;stroke:#8ce9dc;stroke-width:.6}
.specialization-menu .category-object .obj-bubble{fill:#dffefa;stroke:#fff;stroke-width:.4}
.specialization-menu .category-object .obj-shadow{fill:rgba(0,18,18,.48);stroke:none;filter:blur(1.4px)}
.specialization-menu button>span{position:absolute;top:42px;left:50%;padding:4px 6px;border-radius:5px;background:#061f20;color:#e8f3f1;font-size:8px;line-height:1.2;white-space:nowrap;opacity:0;transform:translateX(-50%);pointer-events:none}
.specialization-menu button:hover>span,.specialization-menu button:focus-visible>span{opacity:1}
.specialization-menu .specialization-next{background:#d7e7e2;color:#0a3b32}
.map-producer-panel{position:absolute;z-index:12;left:50%;top:50%;display:flex;flex-direction:column;width:min(560px,calc(100% - 36px));height:min(520px,calc(100% - 36px));min-height:320px;padding:22px;border:1px solid #2b6259;border-radius:18px;background:rgba(4,29,30,.97);color:#eaf4f1;box-shadow:0 28px 80px rgba(0,0,0,.68);overflow:hidden;backdrop-filter:blur(14px);transform:translate(-50%,-50%)}
.map-producer-head{display:flex;justify-content:space-between;gap:16px;flex:0 0 auto}.map-producer-head small{color:#63c276;font-size:10px;font-weight:800;text-transform:uppercase}.map-producer-head h3{margin:5px 0;font-size:24px}.map-producer-head p{margin:0;color:#78938e;font-size:10px}.map-producer-head>button{flex:0 0 auto;width:36px;height:36px;border:1px solid #28534e;border-radius:50%;background:#092b2c;color:#dce9e6;font-size:22px}.map-status-legend{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:12px;margin:18px 0 14px}.map-status-legend span{color:#91a7a3;font-size:9px}.map-status-legend i,.map-producer-mark i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#7a8585}.map-status-legend .verified i,.map-producer.verified .map-producer-mark i{background:#397a77}.map-status-legend .audited i,.map-producer.audited .map-producer-mark i{background:#67c879}.map-producer-list{display:grid;gap:9px;min-height:0;padding-right:7px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#2d6b5c #08282a;scrollbar-width:thin}.map-producer{position:relative;display:grid;width:100%;grid-template-columns:1fr auto;gap:5px 14px;padding:15px;border:1px solid #244845;border-left:4px solid #7a8585;border-radius:11px;background:#08282a;color:#dce9e6;text-align:left}.map-producer.verified{border-left-color:#397a77}.map-producer.audited{border-left-color:#67c879}.map-producer-mark{grid-column:1/-1;color:#8fa4a0;font-size:8px;text-transform:uppercase}.map-producer b{font-size:13px}.map-producer small{grid-column:1;color:#78918d;font-size:10px}.map-producer em{grid-column:2;grid-row:2/4;align-self:center;color:#e2ba53;font-size:12px;font-style:normal}
.map-passport{--passport:#a4adad;--passport-rgb:164,173,173;position:absolute;z-index:14;left:50%;top:50%;display:flex;flex-direction:column;width:min(680px,calc(100% - 36px));max-height:calc(100% - 36px);border:3px solid var(--passport);border-top-width:9px;border-radius:18px;background:linear-gradient(145deg,rgba(var(--passport-rgb),.13),#061f21 38%);color:#eaf4f1;box-shadow:0 0 0 5px rgba(var(--passport-rgb),.15),0 0 42px rgba(var(--passport-rgb),.34),0 30px 90px rgba(0,0,0,.78);overflow:hidden;transform:translate(-50%,-50%)}.map-passport.verified{--passport:#25ded6;--passport-rgb:37,222,214}.map-passport.audited{--passport:#63c276;--passport-rgb:101,232,137}.map-passport>header{display:flex;justify-content:space-between;gap:18px;padding:22px 24px 18px;border-bottom:1px solid rgba(var(--passport-rgb),.42);background:linear-gradient(100deg,rgba(var(--passport-rgb),.26),rgba(var(--passport-rgb),.06) 65%,#08282a)}.map-passport header small{display:inline-block;padding:5px 9px;border:1px solid rgba(var(--passport-rgb),.72);border-radius:999px;background:rgba(var(--passport-rgb),.17);color:var(--passport);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.9px}.map-passport header h3{margin:9px 0 7px;font-size:25px}.map-passport header p{display:flex;align-items:center;gap:7px;margin:0;color:#d2dfdc;font-size:10px;font-weight:700}.map-passport header p i{width:10px;height:10px;border-radius:50%;background:var(--passport);box-shadow:0 0 0 4px rgba(var(--passport-rgb),.16),0 0 16px var(--passport)}.map-passport header>button{flex:0 0 auto;width:36px;height:36px;border:1px solid rgba(var(--passport-rgb),.65);border-radius:50%;background:rgba(var(--passport-rgb),.12);color:#fff;font-size:22px}.map-passport-body{min-height:0;padding:16px 24px 20px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--passport) #08282a;scrollbar-width:thin}.map-passport-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.map-passport-field{min-height:65px;padding:12px 13px;border:1px solid rgba(var(--passport-rgb),.3);border-radius:10px;background:rgba(var(--passport-rgb),.075)}.map-passport-field span{display:block;margin-bottom:7px;color:#a8bbb7;font-size:8px;text-transform:uppercase;letter-spacing:.45px}.map-passport-field b{font-size:11px;line-height:1.35}.map-passport-field.strong{border-color:var(--passport);background:rgba(var(--passport-rgb),.16);box-shadow:inset 3px 0 0 var(--passport)}.map-passport-field.strong b{color:var(--passport)}.map-passport-note{display:grid;grid-template-columns:1fr auto;gap:4px 14px;margin-top:10px;padding:14px;border:1px dashed var(--passport);border-radius:11px;background:rgba(var(--passport-rgb),.11)}.map-passport-note b{font-size:11px}.map-passport-note span{color:#afc0bd;font-size:9px;line-height:1.45}.map-passport-note button{grid-column:2;grid-row:1/3;padding:9px 13px;border:1px solid var(--passport);border-radius:8px;background:rgba(var(--passport-rgb),.15);color:#fff;font-size:9px;font-weight:800}.map-passport>footer{display:flex;align-items:center;justify-content:flex-end;min-height:auto;padding:14px 24px;border-top:1px solid rgba(var(--passport-rgb),.42);background:rgba(var(--passport-rgb),.09);color:#b7c7c4;font-size:9px}.map-passport-route{padding:11px 18px;border:0;border-radius:8px;background:var(--passport);color:#071d1d;font-size:10px;font-weight:900;box-shadow:0 8px 24px rgba(var(--passport-rgb),.25)}
@media(max-width:760px){.specialization-menu button{width:34px;height:34px;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-51px) rotate(calc(var(--angle) * -1))}.specialization-menu .line-icon{width:18px;height:18px}.specialization-menu button>span{top:37px;font-size:7px}.factory-pin{width:27px;height:27px}.map-producer-panel{width:calc(100% - 20px);height:calc(100% - 20px);min-height:0;padding:16px;border-radius:14px}.map-producer-head h3{font-size:20px}.map-status-legend{gap:8px;margin:14px 0 12px}.map-producer{padding:13px}.map-passport{width:calc(100% - 20px);max-height:calc(100% - 20px);border-radius:14px}.map-passport>header{padding:17px 16px 14px}.map-passport header h3{font-size:20px}.map-passport-body{padding:0 16px 14px}.map-passport-fields{grid-template-columns:1fr}.map-passport-field{min-height:56px}.map-passport-note{grid-template-columns:1fr}.map-passport-note button{grid-column:1;grid-row:auto}.map-passport>footer{padding:12px 16px}.map-passport-route{width:100%}}

/* Status outline for producer cards on the interactive map. */
.map-producer{border:2px solid #7a8585;box-shadow:0 0 0 2px rgba(122,133,133,.1)}
.map-producer.verified{border-color:#397a77;box-shadow:0 0 0 2px rgba(37,200,195,.12),0 0 18px rgba(37,200,195,.12)}
.map-producer.audited{border-color:#67c879;box-shadow:0 0 0 2px rgba(88,203,119,.12),0 0 18px rgba(88,203,119,.12)}

/* Producer list interactions and stronger audited status glow. */
.map-producer{isolation:isolate;overflow:hidden;transition:transform .22s cubic-bezier(.2,.75,.25,1),border-color .22s ease,background .22s ease,box-shadow .22s ease,filter .22s ease}
.map-producer:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(105deg,transparent 22%,rgba(255,255,255,.08) 48%,transparent 72%);opacity:0;transform:translateX(-75%);transition:transform .5s ease,opacity .2s ease;pointer-events:none}
.map-producer:hover,.map-producer:focus-visible{z-index:2;outline:0;transform:translateY(-2px);background:#0b3232;filter:brightness(1.08)}
.map-producer:hover:after,.map-producer:focus-visible:after{opacity:1;transform:translateX(75%)}
.map-producer:hover{border-color:#a3afae;box-shadow:0 8px 22px rgba(0,0,0,.32),0 0 0 2px rgba(163,175,174,.18)}
.map-producer.verified:hover,.map-producer.verified:focus-visible{border-color:#43e4de;box-shadow:0 10px 26px rgba(0,0,0,.34),0 0 0 3px rgba(37,200,195,.2),0 0 28px rgba(37,222,214,.36)}
.map-producer.audited{background:linear-gradient(115deg,rgba(88,203,119,.15),#08282a 44%,rgba(88,203,119,.08));box-shadow:0 0 0 2px rgba(88,203,119,.22),0 0 22px rgba(88,203,119,.28),inset 0 0 22px rgba(88,203,119,.07);animation:audited-producer-glow 2.6s ease-in-out infinite}
.map-producer.audited .map-producer-mark i{box-shadow:0 0 0 4px rgba(88,203,119,.14),0 0 14px #67c879}
.map-producer.audited:hover,.map-producer.audited:focus-visible{border-color:#63c276;background:linear-gradient(115deg,rgba(88,203,119,.24),#0b3431 46%,rgba(88,203,119,.14));box-shadow:0 12px 30px rgba(0,0,0,.38),0 0 0 4px rgba(88,203,119,.24),0 0 38px rgba(88,235,128,.58),inset 0 0 26px rgba(88,203,119,.12)}
@keyframes audited-producer-glow{0%,100%{box-shadow:0 0 0 2px rgba(88,203,119,.18),0 0 16px rgba(88,203,119,.2),inset 0 0 18px rgba(88,203,119,.05)}50%{box-shadow:0 0 0 3px rgba(88,203,119,.28),0 0 30px rgba(88,235,128,.4),inset 0 0 25px rgba(88,203,119,.11)}}
@media(prefers-reduced-motion:reduce){.map-producer,.map-producer.audited,.map-producer:after{animation:none!important;transition:none!important}}

/* The original map palette and layout live in styles.css. */
/* Map action labels use sentence case. */
.map-tabs button,
.filter-foot [data-reset-filter],
.apply-map-filters {
  text-transform: none !important;
}


/* Requested controls only. Keep sidebar panel colors unchanged. */
html body #app .map-page .all-requests,
html body #app .map-page .apply-map-filters,
html body #app .map-page .filter-foot > button,
html body #app .map-page .panel-title > button {
  background: linear-gradient(180deg, #1cb5ac 0%, #086968 100%) !important;
  background-image: linear-gradient(180deg, #1cb5ac 0%, #086968 100%) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 12px 20px !important;
  font-family: system-ui, -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.25) !important;
  filter: none !important;
  opacity: 1 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  cursor: pointer;
}

html body #app .map-page .map-tabs > button.active,
html body #app .map-page .all-requests:hover,
html body #app .map-page .apply-map-filters:hover,
html body #app .map-page .filter-foot > button:hover,
html body #app .map-page .panel-title > button:hover {
  background: linear-gradient(180deg, #1cb5ac 0%, #086968 100%) !important;
  background-image: linear-gradient(180deg, #1cb5ac 0%, #086968 100%) !important;
  color: #FFFFFF !important;
}

/* Match the top navigation: only the selected feed tab is highlighted. */
html body #app .map-page .map-tabs > button:not(.active),
html body #app .map-page .map-tabs > button:not(.active):is(:hover,:focus-visible) {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #8da8a2 !important;
  border: 1px solid rgba(183, 255, 241, 0.14) !important;
  box-shadow: none !important;
}

html body #app .map-page .all-requests {
  width: auto !important;
  max-width: calc(100% - 18px);
  box-sizing: border-box;
  align-self: stretch;
}

/* Final authority for the visible "All requests" control. */
html body #app .page.map-page aside.map-left > button.all-requests,
html body #app .page.map-page aside.map-left > button.all-requests:hover,
html body #app .page.map-page aside.map-left > button.all-requests:focus-visible,
html body #app .page.map-page aside.map-left > button.all-requests:active {
  background: linear-gradient(180deg, #1cb5ac 0%, #086968 100%) !important;
  background-color: #086968 !important;
  background-image: linear-gradient(180deg, #1cb5ac 0%, #086968 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Keep the dark background below the transparent Uzbekistan map. */
html body #app .map-page .map-stage:not(.map-stage-zooming) > img.map-reference.map-reference-dark-bg {
  position: absolute !important;
  z-index: 1 !important;
  display: block !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  transform: none !important;
  transform-origin: center center !important;
}

html body #app .map-page .map-stage:not(.map-stage-zooming) > img.map-reference.map-reference-dark {
  position: absolute !important;
  z-index: 2 !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  transform: scale(.96) !important;
  transform-origin: center center !important;
}

html body #app .map-page .map-stage > :is(.factory-pin, .map-category-pins, .map-controls, .specialization-menu) {
  z-index: 4 !important;
}
.light-theme.map-theme-lock .map-reference-dark-bg{display:none!important}
.map-reference-light{display:none}
.light-theme.map-theme-lock .map-page,
.light-theme.map-theme-lock .map-workspace{background:#edf3ef;color:#19372f}
.light-theme.map-theme-lock .topbar{border-color:#dce8e3;background:#fff;color:#17362f;box-shadow:0 5px 24px rgba(24,64,51,.07)}
.light-theme.map-theme-lock .brand{color:#17362f}
.light-theme.map-theme-lock .brand-symbol img{filter:brightness(0) saturate(100%) invert(18%) sepia(17%) saturate(1290%) hue-rotate(113deg) brightness(94%)}
.light-theme.map-theme-lock .desktop-nav button{color:#4e6961}
.light-theme.map-theme-lock .desktop-nav button:hover,
.light-theme.map-theme-lock .desktop-nav button.active{background:#e7f2ec;color:#24623f}
.light-theme.map-theme-lock .lang-btn{border-color:#d9e5e0;color:#47645b}
.light-theme.map-theme-lock :is(.theme-btn,.profile-btn){border-color:#cbdcd4;background:#f8fbf9;color:#31574c}
.light-theme.map-theme-lock .mobile-menu-btn{border-color:#cbdcd4;background:#f0f6f3;color:#31574c}
.light-theme.map-theme-lock .mobile-nav{border-color:#dce8e3;background:#fff;box-shadow:0 14px 30px rgba(18,54,43,.12)}
.light-theme.map-theme-lock .mobile-nav button{color:#31574c}
.light-theme.map-theme-lock .market-ticker{border-color:#d7e4de;background:#fff}
.light-theme.map-theme-lock .market-ticker button{border-color:#dce7e2;color:#19372f}
.light-theme.map-theme-lock .market-ticker button:hover{background:#f0f6f2}
.light-theme.map-theme-lock .market-ticker :is(small,.ticker-live){color:#698078}
.light-theme.map-theme-lock .map-left,
.light-theme.map-theme-lock .uz-map,
.light-theme.map-theme-lock :is(.filter-panel,.meetings-panel){border-color:#ccdcd4;background:#fff;color:#19372f;box-shadow:0 8px 22px rgba(32,73,57,.06)}
.light-theme.map-theme-lock .map-tabs{border-color:#d8e5df}
.light-theme.map-theme-lock .map-tabs button{color:#657b73!important}
.light-theme.map-theme-lock .map-tabs button:hover{background:#edf5f0!important;color:#2f7d46!important}
.light-theme.map-theme-lock .map-tabs button.active{background:#e1f0e6!important;color:#2f7d46!important}
.light-theme.map-theme-lock .map-tabs span{background:#d9ebe0;color:#2f7d46}
.light-theme.map-theme-lock .request-card{border-color:#d5e2dc;background:#f8fbf9;color:#24483d;box-shadow:none}
.light-theme.map-theme-lock .request-card:hover,
.light-theme.map-theme-lock .request-card.active{border-color:#83b393;background:#edf6f0}
.light-theme.map-theme-lock .request-card span{background:#e0efe5;color:#2f7d46}
.light-theme.map-theme-lock .request-card :is(small,p){color:#6a8078}
.light-theme.map-theme-lock .request-card strong{color:#24483d}
.light-theme.map-theme-lock .all-requests{border-color:#a9c8b5;background:#f4f8f5;color:#2f7d46}
.light-theme.map-theme-lock .map-stage{background:#f5f7f6}
.light-theme.map-theme-lock .map-reference-dark{display:none}
.light-theme.map-theme-lock .map-reference-light{display:block;transform:scale(1.08)}
.admin-map-regions{position:absolute;inset:0;z-index:3;width:100%;height:100%;overflow:visible;pointer-events:none;transform:scale(1.08);transform-origin:center}
.admin-map-regions :is(path,circle){fill:rgba(42,235,204,.001);stroke:transparent;stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:pointer;pointer-events:visiblePainted;transform-box:fill-box;transform-origin:center;transition:fill .22s ease,stroke .22s ease,stroke-width .22s ease,filter .22s ease,transform .22s ease}
@media(max-width:760px){.admin-map-regions{transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){.admin-map-regions :is(path,circle){transition:none}}
.light-theme.map-theme-lock .factory-pin{border-color:#fff;background:#3f9253;color:#fff;box-shadow:0 3px 0 #276b3d,0 8px 18px rgba(31,86,52,.28)}
.light-theme.map-theme-lock .factory-pin:hover,
.light-theme.map-theme-lock .factory-pin.selected{background:#2f7d46;box-shadow:0 3px 0 #205a32,0 10px 22px rgba(31,86,52,.34)}
.light-theme.map-theme-lock .factory-pin small{background:#fff;color:#24483d;box-shadow:0 5px 14px rgba(32,73,57,.16)}
.light-theme.map-theme-lock .map-controls button{border-color:#b8d0c4;background:#fff;color:#2f7d46;box-shadow:0 4px 12px rgba(32,73,57,.12)}
.light-theme.map-theme-lock .map-controls button:hover{background:#e6f2ea}
.light-theme.map-theme-lock .map-stats{border-color:#d6e3dd;background:#f7faf8}
.light-theme.map-theme-lock .map-stats span{border-color:#d6e3dd}
.light-theme.map-theme-lock .map-stats b{color:#24483d}
.light-theme.map-theme-lock .map-stats small{color:#17241f!important;font-weight:700!important}
.light-theme.map-theme-lock .panel-title h2{color:#24483d}
.light-theme.map-theme-lock .panel-title :is(span,button){color:#6c8179}
.light-theme.map-theme-lock .meeting-card :is(h3,p,small){color:#fff}
.light-theme.map-theme-lock .map-search,
.light-theme.map-theme-lock .filter-panel select{border-color:#cbdcd3;background:#f8fbf9;color:#24483d}
.light-theme.map-theme-lock .map-search input{color:#24483d}
.light-theme.map-theme-lock .map-search input::placeholder{color:#8a9b94}
.light-theme.map-theme-lock .filter-panel label>span{color:#61776f}
.light-theme.map-theme-lock .filter-foot{border-color:#d8e5df}
.light-theme.map-theme-lock .filter-foot b{color:#36574d}
.light-theme.map-theme-lock .filter-foot button{color:#2f7d46}
.light-theme.map-theme-lock .map-producer-panel,
.light-theme.map-theme-lock .filter-results-panel{border-color:rgba(155,190,172,.72);background:rgba(247,251,249,.78);color:#19372f;box-shadow:0 24px 64px rgba(31,69,54,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.light-theme.map-theme-lock .map-producer-head p,
.light-theme.map-theme-lock .map-status-legend span{color:#6a8078}
.light-theme.map-theme-lock .map-producer-head>button{border-color:#c8d9d1;background:#f5f9f7;color:#31574c}
.light-theme.map-theme-lock .map-producer{border-color:rgba(116,145,133,.58);background:rgba(255,255,255,.30);color:#24483d;box-shadow:0 5px 16px rgba(31,69,54,.06),inset 0 0 0 1px rgba(255,255,255,.34);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.light-theme.map-theme-lock .map-producer.verified{border-color:rgba(60,157,151,.7);background:linear-gradient(115deg,rgba(78,180,170,.12),rgba(255,255,255,.26) 48%,rgba(78,180,170,.07));box-shadow:0 5px 18px rgba(42,130,122,.08)}
.light-theme.map-theme-lock .map-producer.audited{border-color:rgba(76,157,94,.72);background:linear-gradient(115deg,rgba(92,181,111,.16),rgba(255,255,255,.28) 48%,rgba(92,181,111,.09));animation:none;box-shadow:0 5px 18px rgba(48,122,68,.1),inset 0 0 16px rgba(92,181,111,.05)}
.light-theme.map-theme-lock .map-producer:hover,
.light-theme.map-theme-lock .map-producer:focus-visible{background:rgba(229,241,235,.68);filter:none;box-shadow:0 8px 22px rgba(31,69,54,.12),inset 0 0 0 1px rgba(255,255,255,.52)}
.light-theme.map-theme-lock .map-producer.verified:hover,
.light-theme.map-theme-lock .map-producer.verified:focus-visible{border-color:#3f9f98;background:linear-gradient(115deg,rgba(78,180,170,.18),rgba(255,255,255,.58) 48%,rgba(78,180,170,.1));box-shadow:0 8px 22px rgba(42,130,122,.14)}
.light-theme.map-theme-lock .map-producer.audited:hover,
.light-theme.map-theme-lock .map-producer.audited:focus-visible{border-color:#4f9f61;background:linear-gradient(115deg,rgba(92,181,111,.23),rgba(255,255,255,.58) 48%,rgba(92,181,111,.12));box-shadow:0 8px 22px rgba(48,122,68,.15),inset 0 0 18px rgba(92,181,111,.08)}
.light-theme.map-theme-lock .map-producer small{color:#6b8178}
.map-producer-list{grid-auto-rows:minmax(88px,max-content);align-content:start}
.map-producer{min-height:88px;align-content:center;padding-top:13px;padding-bottom:13px}
.map-producer-mark{line-height:1.3}
.map-producer b{line-height:1.35}
.map-producer small{display:block;min-width:0;padding-bottom:1px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){
  .map-producer-list{grid-auto-rows:minmax(84px,max-content)}
  .map-producer{min-height:84px}
}
.light-theme.map-theme-lock .map-passport{background:linear-gradient(145deg,rgba(255,255,255,.58),rgba(241,249,245,.34));color:#19372f;box-shadow:0 0 0 5px rgba(var(--passport-rgb),.12),0 24px 70px rgba(31,69,54,.24),inset 0 1px 0 rgba(255,255,255,.86);backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%)}
.light-theme.map-theme-lock .map-passport>header{background:linear-gradient(110deg,rgba(var(--passport-rgb),.18),rgba(255,255,255,.27) 62%,rgba(255,255,255,.12))}
.light-theme.map-theme-lock .map-passport header p,
.light-theme.map-theme-lock .map-passport-field span,
.light-theme.map-theme-lock .map-passport-note span,
.light-theme.map-theme-lock .map-passport>footer{color:#36574d}
.light-theme.map-theme-lock .map-passport header small{border-color:rgba(55,128,76,.58);background:rgba(255,255,255,.32);color:#286b3d;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.light-theme.map-theme-lock .map-passport header h3{color:#102f27;text-shadow:0 1px 0 rgba(255,255,255,.64)}
.light-theme.map-theme-lock .map-passport header p{color:#294d42}
.light-theme.map-theme-lock .map-passport-field span{color:#405f55;font-weight:700}
.light-theme.map-theme-lock .map-passport-field b,
.light-theme.map-theme-lock .map-passport-note b{color:#102f27;text-shadow:0 1px 0 rgba(255,255,255,.62)}
.light-theme.map-theme-lock .map-passport.verified .map-passport-field.strong b{color:#176c67}
.light-theme.map-theme-lock .map-passport.audited .map-passport-field.strong b{color:#286f3c}
.light-theme.map-theme-lock .map-passport-note span,
.light-theme.map-theme-lock .map-passport>footer{font-weight:600}
.light-theme.map-theme-lock .map-passport-field{background:rgba(255,255,255,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.66)}
.light-theme.map-theme-lock .map-passport-field.strong{background:rgba(var(--passport-rgb),.12)}
.light-theme.map-theme-lock .map-passport-note{grid-template-columns:minmax(0,1fr) auto;gap:7px 22px;padding:17px 18px;border-color:rgba(60,103,86,.42);background:rgba(255,255,255,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.light-theme.map-theme-lock .map-passport-note b{font-size:12px;line-height:1.35}
.light-theme.map-theme-lock .map-passport-note span{max-width:430px;color:#294d42;font-size:10px;line-height:1.55}
.light-theme.map-theme-lock .map-passport-note button{min-width:176px;min-height:42px;padding:11px 16px;border:1px solid #245f3b;background:#2f7d46;color:#fff;font-size:10px;line-height:1.25;box-shadow:0 8px 20px rgba(36,95,59,.25),inset 0 1px 0 rgba(255,255,255,.2);text-shadow:0 1px 1px rgba(0,0,0,.18)}
.light-theme.map-theme-lock .map-passport-note button:hover,
.light-theme.map-theme-lock .map-passport-note button:focus-visible{outline:0;background:#246b3a;box-shadow:0 10px 24px rgba(36,95,59,.34),0 0 0 3px rgba(63,146,83,.16)}
.light-theme.map-theme-lock .map-passport .map-passport-route{min-width:176px;min-height:42px;padding:11px 18px;border:1px solid #245f3b;border-radius:10px;background:#2f7d46;color:#fff;font-size:10px;font-weight:800;text-decoration:none;box-shadow:0 8px 20px rgba(36,95,59,.27),inset 0 1px 0 rgba(255,255,255,.2);text-shadow:0 1px 1px rgba(0,0,0,.18);transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}
.light-theme.map-theme-lock .map-passport .map-passport-route:hover,
.light-theme.map-theme-lock .map-passport .map-passport-route:focus-visible{outline:0;background:#246b3a;box-shadow:0 10px 24px rgba(36,95,59,.34),0 0 0 3px rgba(63,146,83,.16);transform:translateY(-1px)}
.light-theme.map-theme-lock .map-passport .map-passport-route:active{transform:none}
.light-theme.map-theme-lock .map-passport.verified .map-passport-note button{border-color:#17645f;background:#227f79}
.light-theme.map-theme-lock .map-passport.verified .map-passport-note button:hover,
.light-theme.map-theme-lock .map-passport.verified .map-passport-note button:focus-visible{background:#176c67}
@media(max-width:760px){
  .light-theme.map-theme-lock .map-passport-note{grid-template-columns:1fr;padding:15px}
  .light-theme.map-theme-lock .map-passport-note button{grid-column:1;grid-row:auto;width:100%;min-width:0}
}
.light-theme.map-theme-lock .map-passport>footer{background:rgba(246,251,248,.28)}
.light-theme.map-theme-lock .map-passport-body{scrollbar-color:#76ad87 #edf4f0}
.light-theme.map-theme-lock,
.light-theme.map-theme-lock :is(.request-list,.meetings-panel,.map-producer-list,.filter-results-list,.map-passport-body){scrollbar-width:thin;scrollbar-color:#78ad8a #e8f0ec}
.light-theme.map-theme-lock::-webkit-scrollbar,
.light-theme.map-theme-lock :is(.request-list,.meetings-panel,.map-producer-list,.filter-results-list,.map-passport-body)::-webkit-scrollbar{width:9px;height:9px}
.light-theme.map-theme-lock::-webkit-scrollbar-track,
.light-theme.map-theme-lock :is(.request-list,.meetings-panel,.map-producer-list,.filter-results-list,.map-passport-body)::-webkit-scrollbar-track{border-radius:999px;background:#e8f0ec}
.light-theme.map-theme-lock::-webkit-scrollbar-thumb,
.light-theme.map-theme-lock :is(.request-list,.meetings-panel,.map-producer-list,.filter-results-list,.map-passport-body)::-webkit-scrollbar-thumb{border:2px solid #e8f0ec;border-radius:999px;background:#78ad8a}
.light-theme.map-theme-lock::-webkit-scrollbar-thumb:hover,
.light-theme.map-theme-lock :is(.request-list,.meetings-panel,.map-producer-list,.filter-results-list,.map-passport-body)::-webkit-scrollbar-thumb:hover{background:#5f9471}
/* Improve manufacturer passport readability without changing its layout. */
html body #app .map-passport header small{font-size:11px;line-height:1.35}
html body #app .map-passport header h3{font-size:30px;line-height:1.15}
html body #app .map-passport header p{font-size:13px;line-height:1.4}
html body #app .map-passport-field span{color:#c1d1ce;font-size:11px;font-weight:650;line-height:1.35}
html body #app .map-passport-field b{font-size:15px;line-height:1.45}
html body #app .map-passport>footer{font-size:12px;line-height:1.4}
html body #app .map-passport-details,
html body #app .map-passport-route{font-size:13px}

/* Manufacturer passport: keep passport type and capacity status legible. */
html body #app .map-passport:is(.unverified,.verified,.audited) header small,
html body #app .map-passport:is(.unverified,.verified,.audited) header p{
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}

html body #app .map-passport .map-passport-route,
html body #app .map-passport .map-passport-route:hover,
html body #app .map-passport .map-passport-route:focus,
html body #app .map-passport .map-passport-route:active{
  text-decoration:none;
}
@media(max-width:760px){
  html body #app .map-passport header h3{font-size:24px}
  html body #app .map-passport header p{font-size:12px}
  html body #app .map-passport-field span{font-size:10px}
  html body #app .map-passport-field b{font-size:14px}
  html body #app .map-passport>footer{font-size:11px}
}

/* Map producer statuses: stronger gray, turquoise and emerald separation. */
.map-producer.unverified{
  border-color:#879494;
  background:linear-gradient(115deg,rgba(135,148,148,.26),#0a292b 58%,rgba(135,148,148,.14));
  box-shadow:0 0 0 2px rgba(160,174,174,.18),inset 0 0 22px rgba(160,174,174,.08);
}
.map-producer.verified{
  border-color:#22c8c1;
  background:linear-gradient(115deg,rgba(31,205,196,.3),#073134 58%,rgba(31,205,196,.16));
  box-shadow:0 0 0 2px rgba(34,200,193,.22),0 0 24px rgba(34,200,193,.18),inset 0 0 22px rgba(34,200,193,.09);
}
.map-producer.audited{
  border-color:#42dc76;
  background:linear-gradient(115deg,rgba(66,220,118,.3),#092f2b 58%,rgba(66,220,118,.16));
  box-shadow:0 0 0 2px rgba(66,220,118,.22),0 0 26px rgba(66,220,118,.2),inset 0 0 22px rgba(66,220,118,.1);
}
.map-status-legend .unverified i,.map-producer.unverified .map-producer-mark i{background:#a6b0b0}
.map-status-legend .verified i,.map-producer.verified .map-producer-mark i{background:#29ded6}
.map-status-legend .audited i,.map-producer.audited .map-producer-mark i{background:#50e783}

.light-theme.map-theme-lock .map-producer.unverified{
  border-color:#8d9b9b;
  background:linear-gradient(115deg,rgba(151,163,163,.42),rgba(255,255,255,.64) 58%,rgba(151,163,163,.24));
  box-shadow:0 7px 20px rgba(76,91,91,.13),inset 0 0 0 1px rgba(255,255,255,.48);
}
.light-theme.map-theme-lock .map-producer.verified{
  border-color:#20aaa3;
  background:linear-gradient(115deg,rgba(40,198,189,.4),rgba(245,255,253,.66) 58%,rgba(40,198,189,.2));
  box-shadow:0 7px 22px rgba(24,143,136,.17),inset 0 0 18px rgba(40,198,189,.1);
}
.light-theme.map-theme-lock .map-producer.audited{
  border-color:#3dbf64;
  background:linear-gradient(115deg,rgba(72,205,111,.4),rgba(247,255,249,.66) 58%,rgba(72,205,111,.2));
  box-shadow:0 7px 22px rgba(38,145,72,.17),inset 0 0 18px rgba(72,205,111,.1);
}

/* Larger map summary with one line icon for every indicator. */
.map-stats{min-height:68px;padding:9px 10px}
.map-stats span{display:grid;grid-template-columns:23px auto;grid-template-rows:auto auto;column-gap:9px;align-items:center;min-width:105px;padding:0 12px}
.map-stats span::before{content:"";grid-column:1;grid-row:1;width:23px;height:23px;background:center/contain no-repeat}
.map-stats span:nth-child(1)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2363c276' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21V9l6 4V9l6 4V4h6v17zM7 17h1M12 17h1M17 17h1'/%3E%3C/svg%3E")}
.map-stats span:nth-child(2)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2363c276' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 6 6-3 6 3 6-3v15l-6 3-6-3-6 3zM9 3v15M15 6v15'/%3E%3C/svg%3E")}
.map-stats span:nth-child(3)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2363c276' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h14v16H5zM8 8h8M8 12h8M8 16h5'/%3E%3C/svg%3E")}
.map-stats span:nth-child(4)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2363c276' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12h8M12 8v8'/%3E%3C/svg%3E")}
.map-stats span:nth-child(5)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2363c276' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a15 15 0 0 1 0 18M12 3a15 15 0 0 0 0 18'/%3E%3C/svg%3E")}
.map-stats b,.map-stats small{grid-column:2}
.map-stats b{grid-row:1;font-size:17px;line-height:1.05;white-space:nowrap}
.map-stats small{grid-row:2;margin-top:3px;font-size:9px;line-height:1;white-space:nowrap;letter-spacing:.55px}
@media(max-width:760px){.map-stats{min-height:66px}.map-stats span{grid-template-columns:22px auto;min-width:112px;padding:0 11px}.map-stats span::before{width:22px;height:22px}.map-stats b{font-size:16px}.map-stats small{font-size:8px}}
body:not(.light-theme) .map-page .map-stats{
  min-height:78px;
  gap:8px;
  padding:10px 12px;
  border-color:rgba(72,226,207,.25);
  background:linear-gradient(180deg,rgba(7,89,84,.97),rgba(0,63,61,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 -10px 26px rgba(0,31,30,.18);
}
body:not(.light-theme) .map-page .map-stats span{
  min-width:118px;
  min-height:52px;
  padding:7px 13px;
  border:1px solid rgba(72,226,207,.19);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(10,105,97,.78),rgba(4,75,71,.72));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
body:not(.light-theme) .map-page .map-stats span:last-child{border:1px solid rgba(72,226,207,.19)}
body:not(.light-theme) .map-page .map-stats span::before{width:27px;height:27px;filter:brightness(0) saturate(100%) invert(78%) sepia(57%) saturate(593%) hue-rotate(116deg) brightness(99%)}
body:not(.light-theme) .map-page .map-stats b{font-size:18px;color:#f1fffc}
body:not(.light-theme) .map-page .map-stats small{font-size:9px;color:#a8d3cc}
@media(max-width:760px){body:not(.light-theme) .map-page .market-ticker{height:58px;padding:6px}.market-ticker .quote-icon{flex-basis:29px;width:29px;height:29px}.market-ticker .quote-icon svg{width:17px;height:17px}body:not(.light-theme) .map-page .market-ticker button{min-width:200px}body:not(.light-theme) .map-page .map-stats{min-height:76px}body:not(.light-theme) .map-page .map-stats span{min-width:122px}}

body:not(.light-theme) .map-page .market-ticker .down{color:#ff8d88}


/* Keep the complete map dashboard inside common laptop-height viewports. */
body .map-page .map-stage{background-color:#0f2425!important;background-image:none!important}
body:not(.light-theme) .map-page .map-ambient{
  background:linear-gradient(90deg,#0f2425 0,rgba(15,36,37,0) 20%,rgba(15,36,37,0) 80%,#0f2425 100%),linear-gradient(180deg,#0f2425 0,transparent 16%,transparent 82%,#0f2425 100%)
}
.uz-map{grid-template-rows:minmax(0,1fr) auto}
@media(min-width:1181px){
  .map-workspace{height:calc(100vh - 138px);min-height:0}
  .map-left,.map-right,.uz-map{min-height:0}
}
@media(min-width:1181px) and (max-height:820px){
  body:not(.light-theme) .map-page .market-ticker{height:50px;padding:5px 7px}
  body:not(.light-theme) .map-page .market-ticker button{min-width:194px;padding:4px 9px}
  .market-ticker .quote-icon{flex-basis:28px;width:28px;height:28px}
  .market-ticker .quote-icon svg{width:17px;height:17px}
  body:not(.light-theme) .map-page .map-workspace{height:calc(100vh - 132px);grid-template-columns:190px minmax(560px,1fr) 205px;gap:6px;padding:6px}
  .map-tabs{padding:6px}.map-tabs button{padding:8px 5px}
  .request-list{gap:7px;padding:7px}.request-card{padding:10px}.request-card h3{margin:7px 0 5px;line-height:1.35}.request-card p{margin-bottom:7px}
  .all-requests{margin:6px 7px 7px;padding:9px}
  .filter-panel,.meetings-panel{padding:9px}.filter-panel .panel-title{margin-bottom:7px}.map-search{padding:6px 8px}.filter-panel>label:not(.map-search){margin-top:6px}.filter-panel label>span{margin-bottom:3px}.filter-panel select{padding:5px 8px}.filter-foot{margin-top:6px;padding-top:6px}.apply-map-filters{margin-top:7px;padding:8px 10px}
  .meetings-panel .panel-title{margin-bottom:7px}.meeting-card{min-height:84px;padding:9px}.meeting-card div{left:9px;right:9px;bottom:8px}.meeting-card p{line-height:1.25}
  body:not(.light-theme) .map-page .map-stats{min-height:66px;padding:7px 9px}
  body:not(.light-theme) .map-page .map-stats span{min-width:0;min-height:46px;flex:1;padding:5px 9px}
  body:not(.light-theme) .map-page .map-stats span::before{width:23px;height:23px}
  body:not(.light-theme) .map-page .map-stats b{font-size:16px}
  body:not(.light-theme) .map-page .map-stats small{font-size:8px}
}
body:not(.light-theme) .map-page .map-stats{
  border-color:rgba(126,226,206,.16);
  background:#0d3a37;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 -8px 22px rgba(0,24,23,.15);
}
body:not(.light-theme) .map-page .map-stats span{
  grid-template-columns:36px auto;
  min-height:58px;
  border-color:rgba(126,226,206,.2);
  border-radius:13px;
  background:rgba(9,55,52,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body:not(.light-theme) .map-page .map-stats span:last-child{border-color:rgba(126,226,206,.2)}
body:not(.light-theme) .map-page .map-stats span::after{
  content:"";
  grid-column:1;
  grid-row:1 / 3;
  width:34px;
  height:34px;
  border:1px solid rgba(126,226,206,.18);
  border-radius:50%;
  background:radial-gradient(circle,rgba(126,226,206,.18),rgba(68,174,155,.07) 70%);
  box-shadow:0 0 16px rgba(89,199,177,.1);
}
body:not(.light-theme) .map-page .map-stats span::before{
  z-index:1;
  grid-column:1;
  grid-row:1 / 3;
  justify-self:center;
  width:20px;
  height:20px;
  filter:brightness(0) saturate(100%) invert(88%) sepia(21%) saturate(751%) hue-rotate(112deg) brightness(94%);
}
body:not(.light-theme) .map-page .map-stats b{font-size:18px;color:#f2fffc}
body:not(.light-theme) .map-page .map-stats small{color:#b5d9d2}
body:not(.light-theme) .map-page :is(.map-controls button,.map-tabs button.active,.apply-map-filters,.all-requests){
  border-color:rgba(158,238,222,.32)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 5px 14px rgba(40,193,166,.17)!important;
}
body:not(.light-theme) .map-page :is(.map-controls button,.map-tabs button) svg{color:var(--reference-mint)}
@media(max-width:760px){
  body:not(.light-theme) .map-page .map-stats span{grid-template-columns:34px auto;min-height:56px}
  body:not(.light-theme) .map-page .map-stats span::after{width:32px;height:32px}
  body:not(.light-theme) .map-page .map-stats span::before{width:19px;height:19px}

}
body:not(.light-theme) .map-page .map-stats{
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.018)),rgba(5,55,52,.62);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  backdrop-filter:blur(18px) saturate(135%);
}
body:not(.light-theme) .map-page .map-stats span{
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.015)),rgba(5,58,54,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 20px rgba(0,28,27,.14);
}

/* Liquid glass panels on the dark map dashboard. */
body:not(.light-theme) .map-page{
  --map-glass:rgba(7,67,63,.58);
  --map-glass-deep:rgba(3,49,47,.68);
  --map-glass-line:rgba(187,255,242,.2);
  --map-glass-highlight:rgba(255,255,255,.1);
}
body:not(.light-theme) .map-page .map-workspace{
  background:radial-gradient(circle at 52% 36%,rgba(42,184,161,.12),transparent 44%),#062a29;
}
body:not(.light-theme) .map-page :is(.map-left,.uz-map,.filter-panel,.meetings-panel){
  border-color:var(--map-glass-line);
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.015) 38%,rgba(2,47,45,.22)),var(--map-glass);
  box-shadow:inset 0 1px 0 var(--map-glass-highlight),inset 1px 0 0 rgba(255,255,255,.035),0 12px 32px rgba(0,24,23,.22);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  backdrop-filter:blur(18px) saturate(135%);
}
body:not(.light-theme) .map-page :is(.map-tabs,.filter-foot,.map-stats){border-color:rgba(183,255,241,.14)}
body:not(.light-theme) .map-page :is(.request-card,.map-search,.filter-panel select){
  border-color:rgba(183,255,241,.14);
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)),var(--map-glass-deep);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
body:not(.light-theme) .map-page .request-card:hover,
body:not(.light-theme) .map-page .request-card.active{
  border-color:rgba(134,223,204,.46);
  background:linear-gradient(145deg,rgba(134,223,204,.14),rgba(255,255,255,.025)),rgba(5,63,59,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 8px 20px rgba(0,30,28,.18);
}
body:not(.light-theme) .map-page .map-controls button{
  border-color:rgba(198,255,244,.28)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.035)),rgba(7,68,63,.62)!important;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
body:not(.light-theme) .map-page .meeting-card{
  border-color:rgba(255,218,218,.2);
  background:linear-gradient(135deg,rgba(217,77,84,.72),rgba(126,31,43,.48));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 24px rgba(0,25,24,.16);
  -webkit-backdrop-filter:blur(14px) saturate(125%);
  backdrop-filter:blur(14px) saturate(125%);
}
body:not(.light-theme) .map-page .meeting-card.green{
  border-color:rgba(177,255,229,.2);
  background:linear-gradient(135deg,rgba(31,137,104,.68),rgba(10,78,68,.5));
}
@media(prefers-reduced-transparency:reduce){
  body:not(.light-theme) .map-page :is(.map-left,.uz-map,.filter-panel,.meetings-panel,.request-card,.map-search,.filter-panel select,.map-stats,.map-controls button){-webkit-backdrop-filter:none;backdrop-filter:none}
}
html body:not(.light-theme) #app .map-page .map-tabs > button:not(.active),
html body:not(.light-theme) #app .map-page .map-tabs > button:not(.active):is(:hover,:focus-visible){
  border:1px solid rgba(183,255,241,.14)!important;
  background-color:transparent!important;
  background-image:none!important;
  color:#8da8a2!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
}
html body:not(.light-theme) #app .map-page .map-tabs > button.active,
html body:not(.light-theme) #app .map-page .map-tabs > button.active:is(:hover,:focus-visible){
  border-color:rgba(97,220,209,.24)!important;
  background-color:#086968!important;
  background-image:linear-gradient(180deg,#1cb5ac 0%,#086968 100%)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.35),0 4px 12px rgba(0,0,0,.3)!important;

}
/* Compact manufacturer results inside the selected map segment */
.map-producer-panel{
  width:min(760px,calc(100% - 36px));
  height:min(620px,calc(100% - 36px));
  padding:24px;
}
.map-producer-panel .map-producer-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.map-producer-panel .map-producer-head small{
  color:#63c276;
  font-size:10px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.map-producer-panel .map-producer-head h3{
  margin:8px 0 4px;
  font-size:27px;
  line-height:1.1;
}
.map-producer-panel .map-producer-head>button{
  width:36px;
  height:36px;
  border:1px solid #28534e;
  border-radius:50%;
  background:#092b2c;
  color:#dce9e6;
  font-size:22px;
  line-height:1;
}
.map-producer-panel .map-producer-head p{font-size:11px}
.map-producer-panel .map-status-legend{
  gap:16px;
  margin:16px 0 12px;
}
.map-producer-panel .map-status-legend span{
  display:inline-flex;
  align-items:center;
  font-size:10px;
}
.map-producer-panel .map-producer-list{
  grid-auto-rows:auto;
  gap:8px;
  padding:2px 7px 8px 2px;
}
.map-producer-panel .map-producer-reference{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:86px;
  padding:14px 18px;
  border:2px solid #879392;
  border-left-width:4px;
  border-radius:10px;
  background:linear-gradient(105deg,#d8dedb 0%,#edf1ef 56%,#dfe5e2 100%);
  box-shadow:0 4px 14px rgba(3,27,29,.16);
}
.map-producer-panel .map-producer-reference.verified{
  border-color:#45aaa3;
  background:linear-gradient(105deg,#bfe6e1 0%,#e3f5f2 56%,#ccebe7 100%);
  box-shadow:0 4px 14px rgba(36,139,132,.16);
}
.map-producer-panel .map-producer-reference.audited{
  border-color:#61b86f;
  background:linear-gradient(105deg,#c8ebcf 0%,#e9f7ec 56%,#d4efd9 100%);
  box-shadow:0 4px 14px rgba(58,143,76,.16);
}
.map-producer-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:3px;
}
.map-producer-panel .map-producer-mark{
  color:#71807b;
  font-size:9px;
  line-height:1.25;
  letter-spacing:.02em;
}
.map-producer-panel .map-producer-reference b{
  color:#263833;
  font-size:14px;
  line-height:1.25;
}
.map-producer-panel .map-producer-reference small{
  color:#6f7f79;
  font-size:10px;
  line-height:1.35;
}
.map-producer-rating{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:5px;
  color:#aa8226;
  font-size:15px;
  font-weight:700;
}
.map-producer-rating i{
  color:#f1c754;
  font-size:14px;
  font-style:normal;
}
@media(max-width:760px){
  .map-producer-panel{padding:16px}
  .map-producer-panel .map-producer-head h3{font-size:22px}
  .map-producer-panel .map-status-legend{gap:8px 12px}
  .map-producer-panel .map-producer-reference{
    min-height:68px;
    padding:10px 12px;
  }
  .map-producer-panel .map-producer-reference b{font-size:13px}
  .map-producer-rating{font-size:13px}
}

.map-producer-close{
  position:absolute;
  z-index:2;
  top:12px;
  right:12px;
  width:36px;
  height:36px;
  border:1px solid #28534e;
  border-radius:50%;
  background:#092b2c;
  color:#dce9e6;
  font-size:22px;
  line-height:1;
}
.map-producer-panel .map-producer-list,
.filter-results-panel .map-producer-list{padding-top:34px}

/* Map reference background */
:is(body:not(.light-theme),body.platform-route,body.map-theme-lock) .map-reference{z-index:1}
body:not(.light-theme) #app .map-page .map-stage{background-color:#0c1918;background-image:none!important}
.light-theme.map-theme-lock #app .map-page .map-stage{background-color:#f5f7f6;background-image:none!important}
body:not(.light-theme) .map-page .market-ticker{
  height:56px;
  padding:6px 8px;
  gap:7px;
  border-color:rgba(72,226,207,.26);
  background:linear-gradient(180deg,#064d49,#003f3d);
  box-shadow:inset 0 -1px 0 rgba(92,255,235,.08),0 10px 25px rgba(0,29,28,.22);
}
body:not(.light-theme) .map-page .ticker-live{
  min-width:88px;
  justify-content:center;
  padding:0 14px;
  border:1px solid rgba(60,221,201,.25);
  border-radius:12px;
  background:rgba(0,49,47,.64);
  color:#bce8e1;
}
body:not(.light-theme) .map-page .ticker-live i{background:#28d5bf;box-shadow:0 0 0 5px rgba(40,213,191,.13),0 0 12px rgba(40,213,191,.42)}
body:not(.light-theme) .map-page .market-ticker button{
  min-width:210px;
  gap:10px;
  padding:5px 11px;
  border:1px solid rgba(70,218,200,.2);
  border-radius:12px;
  background:linear-gradient(150deg,rgba(9,94,87,.92),rgba(3,67,64,.92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 5px 14px rgba(0,30,29,.16);
}
body:not(.light-theme) .map-page .market-ticker button:hover{border-color:#25cbb8;background:linear-gradient(150deg,#0b6d65,#07534e);box-shadow:0 7px 20px rgba(4,150,138,.2);transform:translateY(-1px)}
.market-ticker .quote-icon{display:grid;flex:0 0 32px;width:32px;height:32px;place-items:center;border-radius:10px}
.market-ticker .quote-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.market-ticker .quote-copy{display:grid;gap:2px;min-width:0}
.market-ticker .quote-copy :is(small,b){display:block}
body:not(.light-theme) .map-page .quote-icon{border:1px solid rgba(74,239,217,.3);background:rgba(25,199,180,.13);color:#55e2cf;box-shadow:inset 0 0 12px rgba(37,212,191,.08)}
body:not(.light-theme) .map-page .market-ticker small{color:#9bc8c1}
body:not(.light-theme) .map-page .market-ticker b{font-size:12px;color:#f1fffc}
body:not(.light-theme) .map-page .market-ticker .up{color:#66e39a}

/* Market quotes: restore the original flat row with simple separators. */
body:not(.light-theme) .map-page .market-ticker{
  height:42px;
  padding:0;
  gap:0;
  background:#062f2e;
  box-shadow:none;
}
body:not(.light-theme) .map-page .ticker-live{
  min-width:88px;
  padding:0 15px;
  border:0;
  border-radius:0;
  background:transparent;
}
.map-page .market-ticker .quote-icon{display:none}
body:not(.light-theme) .map-page .market-ticker button{
  min-width:178px;
  gap:9px;
  padding:0 15px;
  border:0;
  border-left:1px solid rgba(72,226,207,.22);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body:not(.light-theme) .map-page .market-ticker button:hover{
  border-color:rgba(72,226,207,.3);
  background:#08413e;
  box-shadow:none;
  transform:none;
}
@media(min-width:1181px){body:not(.light-theme) .map-page .map-workspace{height:calc(100vh - 124px)}}
@media(max-width:760px){body:not(.light-theme) .map-page .market-ticker{height:48px;padding:0}body:not(.light-theme) .map-page .market-ticker button{min-width:165px}}

/* Keep the quote strip visually separated from the sticky navigation bar. */
.map-page .market-ticker{margin-top:8px}
body:not(.light-theme) .map-page .market-ticker{box-shadow:0 -8px 0 #062f2e}
.light-theme .map-page .market-ticker{box-shadow:0 -8px 0 #fff}

/* Keep the moving quote groups as tall as the strip so both text rows stay visible. */
.map-page .market-ticker :is(.ticker-viewport,.ticker-track,.ticker-group){height:100%}
.map-page .market-ticker .ticker-group{align-items:stretch}
.map-page .market-ticker .ticker-group>button{height:100%}
/* Keep dark-theme quote labels at the same vertical position as the light theme. */
.map-page .market-ticker button[data-quote]{
  box-sizing:border-box;
  align-items:center;
  overflow:visible;
}
.map-page .market-ticker button[data-quote] .quote-copy{
  align-content:center;
  align-self:center;
  padding-top:2px;
  line-height:1.15;
  overflow:visible;
}
.map-page .market-ticker button[data-quote] .quote-copy :is(small,b){
  margin:0;
  line-height:1.15;
}
/* Category pictograms use a neutral white tile; their own SVG colors remain intact. */
html body #app .map-page .map-stage .specialization-menu button:not(.specialization-next):not(#b2tex-map-button-color):not(#b2tex-map-button-color-2):not(.market-ticker button),
html body #app .map-page .map-stage .specialization-menu button:not(.specialization-next):not(#b2tex-map-button-color):not(#b2tex-map-button-color-2):not(.market-ticker button):hover,
html body #app .map-page .map-stage .specialization-menu button:not(.specialization-next):not(#b2tex-map-button-color):not(#b2tex-map-button-color-2):not(.market-ticker button):focus-visible{
  background:transparent!important;
  background-image:none!important;
  color:#20aaa3!important;
}

/* Map segment icons: larger artwork without the white circular tile. */
html body #app .map-page .map-stage .specialization-menu button:not(.specialization-next){
  width:48px!important;
  height:48px!important;
  border:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  overflow:visible;
}
html body #app .map-page .map-stage .specialization-menu .category-object-icon{
  width:44px;
  height:44px;
}
html body #app .map-page .map-stage .specialization-menu .apparel-specialization{
  overflow:hidden;
  border-radius:50%;
  background:#b9ced1!important;
  box-shadow:0 7px 16px rgba(0,0,0,.38)!important;
}
html body #app .map-page .map-stage .specialization-menu .category-photo-icon{
  width:100%;
  height:100%;
  transform:scale(1.08);
  filter:brightness(1.12) saturate(1.08);
}
html body #app .map-page .map-stage .specialization-menu .category-object-icon{
  filter:brightness(1.14) saturate(1.1);
}
html body #app .map-page .map-stage .specialization-menu button:not(.specialization-next)>span{top:50px}
@media(max-width:760px){
  html body #app .map-page .map-stage .specialization-menu button:not(.specialization-next){width:42px!important;height:42px!important}
  html body #app .map-page .map-stage .specialization-menu .category-object-icon{width:39px;height:39px}
  html body #app .map-page .map-stage .specialization-menu button:not(.specialization-next)>span{top:44px}
}
/* "All requests" button matched to the supplied raised teal reference. */
html body:not(.light-theme) #app .map-page .all-requests{
  box-sizing:border-box;
  width:calc(100% - 18px);
  border:1px solid rgba(151,218,207,.34)!important;
  border-radius:18px!important;
  padding:12px 18px!important;
  background-color:#3d746c!important;
  background-image:linear-gradient(180deg,#568f85 0%,#3d746c 52%,#28534f 100%)!important;
  color:#fff!important;
  font-family:system-ui,-apple-system,sans-serif!important;
  font-size:12px!important;
  font-weight:600!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.32),0 9px 18px rgba(0,0,0,.34)!important;
  text-shadow:0 1px 1px rgba(0,37,35,.48)!important;
}
html body:not(.light-theme) #app .map-page .all-requests:hover{
  filter:brightness(1.07);
  transform:translateY(-1px);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.38),0 11px 22px rgba(0,0,0,.38)!important;
}

/* Requested palette for the map's primary action buttons. */
html body #app .map-page :is(.all-requests,.apply-map-filters,.map-passport-route,.map-passport-details){
  background-color:#086968!important;
  background-image:linear-gradient(180deg,#1cb5ac 0%,#086968 100%)!important;
  color:#ffffff!important;
}

/* Requested teal palette for the map request controls. Keep last to beat theme overrides. */
html body #app .map-page :is(.map-tabs button.active,.all-requests,.apply-map-filters),
html body #app .map-page :is(.map-tabs button.active,.all-requests,.apply-map-filters):is(:hover,:focus-visible){
  background-color:#086968!important;
  background-image:linear-gradient(180deg,#1cb5ac 0%,#086968 100%)!important;
  color:#ffffff!important;
}

/* Keep unselected feed tabs visually inactive in every interaction state. */
body.map-theme-lock:not(.light-theme) #app .page.map-page .map-left .map-tabs > button[data-feed]:not(.active):not(.icon-btn):not(.modal-close):not(.theme-btn):not(.lang-btn):not(.profile-btn):not(.detail-back):not(.text-action):not(.save-draft):not([class*="danger"]):not([class*="delete"]):not([class*="cancel"]):not([data-profile-section-target]):not([data-manufacturer-category]):not([data-customer-state]):not([data-map-tab]):not([data-quote]):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active),
body.map-theme-lock:not(.light-theme) #app .page.map-page .map-left .map-tabs > button[data-feed]:not(.active):not(.icon-btn):not(.modal-close):not(.theme-btn):not(.lang-btn):not(.profile-btn):not(.detail-back):not(.text-action):not(.save-draft):not([class*="danger"]):not([class*="delete"]):not([class*="cancel"]):not([data-profile-section-target]):not([data-manufacturer-category]):not([data-customer-state]):not([data-map-tab]):not([data-quote]):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):not(.active):is(:hover,:focus,:focus-visible,:active){
  border-color:transparent!important;
  background:transparent!important;
  background-image:none!important;
  color:#8da8a2!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
}

/* Compact liquid-glass scrollbar for the request feed on the map. */
body:not(.light-theme) .map-page .request-list{
  padding-right:7px;
  scrollbar-width:thin;
  scrollbar-color:rgba(85,151,141,.72) transparent;
  scrollbar-gutter:stable;
}
body:not(.light-theme) .map-page .request-list::-webkit-scrollbar{width:5px}
body:not(.light-theme) .map-page .request-list::-webkit-scrollbar-track{
  margin:9px 0;
  border-radius:999px;
  background:transparent;
  box-shadow:none;
}
body:not(.light-theme) .map-page .request-list::-webkit-scrollbar-thumb{
  min-height:44px;
  border:0;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(75,143,134,.82),rgba(40,101,95,.82));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
body:not(.light-theme) .map-page .request-list::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#579a91,#337169);
}

body:not(.light-theme) #app .map-page .market-ticker button[data-quote]{
  border:0!important;
  border-left:1px solid #143737!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:inherit;
  font-weight:inherit!important;
  box-shadow:none!important;
}
body:not(.light-theme) #app .map-page .market-ticker button[data-quote]:is(:hover,:focus-visible){
  border-left-color:#143737!important;
  background:#0a3031!important;
  color:#fff!important;
  filter:none!important;
  transform:none!important;
}


/* Factory markers: turquoise drop with a white inner disc. */
body.map-theme-lock #app .map-page .factory-pin:not(#pin-style):not(#pin-style-2):not(#pin-style-3) {
  position: absolute !important;
  left: var(--x) !important;
  top: var(--y) !important;
  z-index: 3 !important;
  width: 42px !important;
  height: 59px !important;
  display: block !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20200%20280%22%3E%0A%3Cpath%20d%3D%22M%20100%204%20C%20158%204%2C%20196%2052%2C%20196%20110%20C%20196%20168%2C%20137%20226%2C%20100%20280%20C%2063%20226%2C%204%20168%2C%204%20110%20C%204%2052%2C%2042%204%2C%20100%204%20Z%22%20fill%3D%22%23ffffff%22/%3E%0A%3Cpath%20d%3D%22M%20100%2014%20C%20151%2014%2C%20184%2056%2C%20184%20110%20C%20184%20164%2C%20131%20216%2C%20100%20264%20C%2069%20216%2C%2016%20164%2C%2016%20110%20C%2016%2056%2C%2049%2014%2C%20100%2014%20Z%22%20fill%3D%22%2372a4a3%22/%3E%0A%3Ccircle%20cx%3D%22100%22%20cy%3D%22104%22%20r%3D%2254%22%20fill%3D%22%23ffffff%22/%3E%0A%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  /* The SVG pin tip already sits near the bottom of its own box, so -84% (instead of the
     usual -50%) anchors that tip to --x/--y the same way the old rotated-square pin did. */
  transform: translate(-50%, -84%) !important;
  transform-origin: center !important;
  rotate: 0deg !important;
  box-shadow: none !important;
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3)) !important;
  transition: transform .2s ease, filter .2s ease !important;
  animation: none !important;
  scale: 1 !important;
}
body.map-theme-lock #app .map-page .factory-pin:not(#pin-style):not(#pin-style-2):not(#pin-style-3):hover,
body.map-theme-lock #app .map-page .factory-pin:not(#pin-style):not(#pin-style-2):not(#pin-style-3).selected {
  /* The base z-index:3 above is !important, which was silently beating the old
     non-important z-index:5 hover rule, so a hovered pin never actually rose above its
     later-in-DOM neighbors - that's why the region-name tooltip kept rendering underneath
     adjacent pins no matter how high its own z-index was set. */
  z-index: 6 !important;
  transform: translate(-50%, -88%) !important;
}
body.map-theme-lock #app .map-page .factory-pin:not(#pin-style):not(#pin-style-2):not(#pin-style-3)::before,
body.map-theme-lock #app .map-page .factory-pin:not(#pin-style):not(#pin-style-2):not(#pin-style-3)::after {
  content: none !important;
  display: none !important;
}
body.map-theme-lock #app .map-page .factory-pin:not(#pin-style):not(#pin-style-2):not(#pin-style-3) .factory-pin-text {
  position: absolute !important;
  top: 37.1% !important;
  left: 50% !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: translate(-50%, -50%) !important;
  rotate: 0deg !important;
  font-family: Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #3b5f5e !important;
  line-height: 1 !important;
}
/* The pin is no longer rotated, so the tooltip needs no counter-rotation or scale anymore -
   just placed past the pin's right edge. */
body.map-theme-lock #app .map-page .factory-pin:not(#pin-style):not(#pin-style-2):not(#pin-style-3) small {
  left: 46px !important;
  top: 16px !important;
  rotate: 0deg !important;
  transform: none !important;
  z-index: 20 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0a2e2a !important;
  padding: 6px 10px !important;
}
@media (max-width: 760px) {
  body.map-theme-lock #app .map-page .factory-pin:not(#pin-style):not(#pin-style-2):not(#pin-style-3) {
    width: 30px !important;
    height: 42px !important;
  }
  body.map-theme-lock #app .map-page .factory-pin:not(#pin-style):not(#pin-style-2):not(#pin-style-3) .factory-pin-text {
    font-size: 11px !important;
  }
  body.map-theme-lock #app .map-page .factory-pin:not(#pin-style):not(#pin-style-2):not(#pin-style-3) small {
    left: 33px !important;
    top: 11px !important;
  }
}
html body #app .map-page .map-stage .specialization-menu .category-photo-icon-chemicals,
html body #app .map-page .map-stage .specialization-menu .category-photo-icon-carpets,
html body #app .map-page .map-stage .specialization-menu .category-photo-icon-yarn,
html body #app .map-page .map-stage .specialization-menu .category-photo-icon-home-textile,
html body #app .map-page .map-stage .specialization-menu .category-photo-icon-accessories-consumables{
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 7px 16px rgba(0,0,0,.38);
}

/* Keep the category pagination arrow readable over the map background. */
html body #app .map-page .map-stage .specialization-menu .specialization-next,
html body #app .map-page .map-stage .specialization-menu .specialization-next:hover,
html body #app .map-page .map-stage .specialization-menu .specialization-next:focus-visible{
  border:2px solid rgba(244,248,247,.98)!important;
  background:#fff!important;
  background-image:none!important;
  color:#20aaa3!important;
  box-shadow:0 7px 16px rgba(0,0,0,.38)!important;
  opacity:1!important;
}
html body #app .map-page .map-stage .specialization-menu .specialization-next svg{
  fill:none!important;
  stroke:#20aaa3!important;
  color:#20aaa3!important;
  opacity:1!important;
  visibility:visible!important;
}
html body #app .map-page .map-stage .specialization-menu .specialization-next svg path{
  fill:none!important;
  stroke:#20aaa3!important;
  stroke-width:2.4!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  opacity:1!important;
}

/* Final override: the category pager is a solid white tile, never transparent. */
html body #app .map-page .map-stage .specialization-menu button[data-specialization-next],
html body #app .map-page .map-stage .specialization-menu button[data-specialization-next]:hover,
html body #app .map-page .map-stage .specialization-menu button[data-specialization-next]:focus-visible{
  border:2px solid #fff!important;
  background-color:#fff!important;
  background-image:none!important;
  color:#20aaa3!important;
  opacity:1!important;
  box-shadow:0 7px 16px rgba(0,0,0,.38)!important;
}
html body #app .map-page .map-stage .specialization-menu button[data-specialization-next] svg,
html body #app .map-page .map-stage .specialization-menu button[data-specialization-next] svg path{
  fill:none!important;
  stroke:#20aaa3!important;
  opacity:1!important;
}

/* Exact category-icon parity for the pager tile. */
html body #app .map-page .map-stage .specialization-menu button.specialization-next[data-specialization-next],
html body #app .map-page .map-stage .specialization-menu button.specialization-next[data-specialization-next]:hover,
html body #app .map-page .map-stage .specialization-menu button.specialization-next[data-specialization-next]:focus-visible{
  box-sizing:border-box!important;
  width:52px!important;
  height:52px!important;
  padding:0!important;
  border:2px solid #fff!important;
  border-radius:50%!important;
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  color:#20aaa3!important;
  opacity:1!important;
  box-shadow:0 7px 16px rgba(0,0,0,.38)!important;
  filter:none!important;
}
html body #app .map-page .map-stage .specialization-menu button.specialization-next[data-specialization-next] svg{
  width:25px!important;
  height:25px!important;
  fill:none!important;
  stroke:#20aaa3!important;
  color:#20aaa3!important;
  opacity:1!important;
}
html body #app .map-page .map-stage .specialization-menu button.specialization-next[data-specialization-next] svg path{
  fill:none!important;
  stroke:#20aaa3!important;
  stroke-width:2.4!important;
  opacity:1!important;
}
@media(max-width:760px){html body #app .map-page .map-stage .specialization-menu button.specialization-next[data-specialization-next]{width:46px!important;height:46px!important}}

/* Light map side panels: match the producer tender light gradient. */
html body.light-theme.map-theme-lock #app .map-page .map-left,
html body.light-theme.map-theme-lock #app .map-page .map-right .filter-panel,
html body.light-theme.map-theme-lock #app .map-page .map-right .meetings-panel{
  border-color:#35bdb6!important;
  background-color:#e1f5f1!important;
  background-image:linear-gradient(105deg,#e1f5f1 0%,#f7fbf9 52%,#eef7f4 100%)!important;
  color:#17362f!important;
  box-shadow:0 9px 26px rgba(20,65,49,.08),inset 0 1px 0 rgba(255,255,255,.78)!important;
}

/* Match the apparel category artwork to the brightness of the other category icons. */
html body #app .map-page .map-stage .specialization-menu .apparel-specialization .category-photo-icon{
  filter:brightness(1.28) saturate(1.16) contrast(1.04)!important;
}

/* Turquoise neon outline for category markers in both map themes. */
html body.light-theme.map-theme-lock #app .map-page .map-stage .specialization-menu button:not(.specialization-next),
html body:not(.light-theme).map-theme-lock #app .map-page .map-stage .specialization-menu button:not(.specialization-next){
  box-sizing:border-box!important;
  width:48px!important;
  height:48px!important;
  border-radius:50%!important;
  border:3px solid #35f3e7!important;
  border-color:#35f3e7!important;
  box-shadow:0 0 0 1px rgba(162,255,249,.42),0 0 10px rgba(53,243,231,.86),0 0 22px rgba(32,203,194,.62),0 6px 16px rgba(0,0,0,.28)!important;
  filter:none!important;
}
@media(max-width:760px){
  html body.light-theme.map-theme-lock #app .map-page .map-stage .specialization-menu button:not(.specialization-next),
  html body:not(.light-theme).map-theme-lock #app .map-page .map-stage .specialization-menu button:not(.specialization-next){
    width:42px!important;
    height:42px!important;
  }
}
html body.light-theme.map-theme-lock #app .map-page .map-stage .specialization-menu button:not(.specialization-next):is(:hover,:focus-visible),
html body:not(.light-theme).map-theme-lock #app .map-page .map-stage .specialization-menu button:not(.specialization-next):is(:hover,:focus-visible){
  border-color:#8afff7!important;
  box-shadow:0 0 0 2px rgba(179,255,250,.5),0 0 14px rgba(53,243,231,.95),0 0 30px rgba(32,203,194,.78),0 6px 16px rgba(0,0,0,.28)!important;
  filter:brightness(1.08)!important;
}
html body.dark-theme.map-theme-lock #app .map-page .map-stage .specialization-menu button[data-specialization]:not(.specialization-next):not(.icon-btn):not(.modal-close):not(.theme-btn):not(.lang-btn):not(.profile-btn):not(.detail-back):not(.text-action):not(.platform-scroll-cue):not(.save-draft):not(.stock-company):not(.certificate-company):not(.certificate-type-card):not([class*="status"]):not([class*="danger"]):not([class*="delete"]):not([class*="cancel"]):not([data-profile-section-target]):not([data-manufacturer-category]):not([data-stock-category]):not([data-stock-showroom-category]):not([data-customer-state]):not([data-map-tab]):not([data-quote]):not([data-tz-option]):not([data-exhibition-month]):not([data-exhibition-side-segment]):not([data-exhibition-quick]):not([data-exhibition-consult]){box-sizing:border-box!important;width:48px!important;height:48px!important;border:3px solid #35f3e7!important;border-radius:50%!important;box-shadow:0 0 0 1px rgba(162,255,249,.52),0 0 12px rgba(53,243,231,.95),0 0 26px rgba(32,203,194,.72),0 6px 16px rgba(0,0,0,.32)!important;filter:none!important}
html body.dark-theme.map-theme-lock #app .map-page .map-stage .specialization-menu button[data-specialization]:not(.specialization-next):is(:hover,:focus-visible){border-color:#8afff7!important;box-shadow:0 0 0 2px rgba(179,255,250,.58),0 0 16px rgba(53,243,231,1),0 0 34px rgba(32,203,194,.86),0 6px 16px rgba(0,0,0,.32)!important;filter:brightness(1.08)!important}@media(max-width:760px){html body.dark-theme.map-theme-lock #app .map-page .map-stage .specialization-menu button[data-specialization]:not(.specialization-next){width:42px!important;height:42px!important}}

/* Light map filter heading: remove the extra green underlay. */
html body.light-theme.map-theme-lock #app .map-page .map-right .filter-panel > .panel-title{
  margin-left:0!important;
  margin-right:0!important;
  padding:0 0 12px!important;
  border:0!important;
  border-bottom:1px solid #d4e6e1!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Light map - single user-provided composite image. */
html body.light-theme.map-theme-lock #app .map-page .map-stage {
  background: #f4f1e8 !important;
  background-image: none !important;
}
html body.light-theme.map-theme-lock #app .map-page .map-stage > img.map-reference.map-reference-dark-bg,
html body.light-theme.map-theme-lock #app .map-page .map-stage > img.map-reference.map-reference-dark {
  display: none !important;
}
html body.light-theme.map-theme-lock #app .map-page .map-stage > img.map-reference.map-reference-light {
  position: absolute !important;
  z-index: 1 !important;
  display: block !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  mask-image: none !important;
  animation: none !important;
}
.map-passport>footer.map-passport-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:stretch;justify-content:stretch;padding:14px 18px}
body:not(.light-theme) #app .map-passport>footer.map-passport-actions{background:transparent!important;border-top-color:transparent!important;box-shadow:none!important}
.map-passport-action,.map-passport-actions .map-passport-route{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:42px;padding:9px 10px;border:0;border-radius:8px;background:var(--passport);color:#071d1d;font-size:9px;font-weight:900;line-height:1.2;text-decoration:none;cursor:pointer;box-shadow:0 8px 24px rgba(var(--passport-rgb),.25);transition:filter .2s ease,box-shadow .2s ease,transform .2s ease}
.map-passport-action-icon{flex:0 0 auto;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.map-passport-actions button>span{min-width:0;text-align:center}
.map-passport-action:hover,.map-passport-action:focus-visible,.map-passport-actions .map-passport-route:hover,.map-passport-actions .map-passport-route:focus-visible{transform:translateY(-1px);outline:none}
.map-passport-action:hover,.map-passport-action:focus-visible,.map-passport-actions .map-passport-route:hover,.map-passport-actions .map-passport-route:focus-visible{filter:brightness(1.1);box-shadow:0 10px 28px rgba(var(--passport-rgb),.34)}
.map-passport.unverified>footer.map-passport-actions{display:flex;justify-content:flex-end}
.map-passport.unverified .map-passport-route{width:auto;min-width:180px}
@media(max-width:760px){.map-passport>footer.map-passport-actions{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.map-passport.unverified>footer.map-passport-actions{display:block}.map-passport.unverified .map-passport-route{width:100%;min-width:0}}

/* === Паспорт производителя v2 (карта) — тема-адаптивная === */
#app .map-passport.map-passport-v2{--mp2:#a4adad;--mp2-rgb:164,173,173;--mp2-ink:#10201f;width:min(520px,calc(100% - 28px)) !important;max-height:calc(100% - 28px) !important;padding:0 !important;border:0 !important;border-radius:20px !important;overflow:hidden !important}
#app .map-passport.map-passport-v2.verified{--mp2:#25ded6;--mp2-rgb:37,222,214;--mp2-ink:#062826}
#app .map-passport.map-passport-v2.audited{--mp2:#54c877;--mp2-rgb:84,200,119;--mp2-ink:#052414}
body:not(.light-theme) #app .map-passport.map-passport-v2{background:#fff !important;color:#152321 !important;border-top:6px solid var(--mp2) !important;box-shadow:0 24px 60px rgba(31,69,54,.28),0 0 0 1px rgba(0,0,0,.05) !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
body.light-theme #app .map-passport.map-passport-v2{background:#fff !important;color:#152321 !important;border-top:6px solid var(--mp2) !important;box-shadow:0 24px 60px rgba(31,69,54,.28),0 0 0 1px rgba(0,0,0,.05) !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
#app .map-passport-v2 .mp2-close{position:absolute;z-index:6;top:14px;right:14px;width:34px;height:34px;border:0 !important;border-radius:50%;background:rgba(8,20,22,.5) !important;color:#fff !important;font-size:22px;line-height:1;cursor:pointer;transition:background .2s}
#app .map-passport-v2 .mp2-close:hover{background:rgba(8,20,22,.78) !important}
#app .map-passport-v2 .mp2-badge{position:absolute;z-index:5;top:16px;left:16px;display:inline-flex;align-items:center;gap:7px;padding:8px 14px 8px 11px;border-radius:999px;background:var(--mp2) !important;color:var(--mp2-ink) !important;font-size:11px;font-weight:800;letter-spacing:.4px;box-shadow:0 8px 20px rgba(0,0,0,.28)}
#app .map-passport-v2 .mp2-badge svg{width:17px;height:17px;fill:none;stroke:var(--mp2-ink) !important;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#app .map-passport-v2 .mp2-scroll{max-height:calc(100vh - 120px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:transparent !important;scrollbar-width:thin;scrollbar-color:var(--mp2) transparent}
#app .map-passport-v2 .mp2-scroll::-webkit-scrollbar{width:8px}
#app .map-passport-v2 .mp2-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:var(--mp2)}
#app .map-passport-v2 .mp2-photo{position:relative;height:150px;overflow:hidden}
#app .map-passport-v2 .mp2-photo-art{position:absolute;inset:0;background:linear-gradient(160deg,#dfeaf3 0%,#c4d6e6 42%,#aebfd2 100%)}
#app .map-passport-v2 .mp2-photo-art::before{content:"";position:absolute;left:0;right:0;bottom:0;height:56%;background:repeating-linear-gradient(90deg,#9aa9bd 0 14px,#8494ab 14px 15px);-webkit-mask:linear-gradient(180deg,transparent,#000 30%);mask:linear-gradient(180deg,transparent,#000 30%);opacity:.7}
#app .map-passport-v2 .mp2-photo-art::after{content:"";position:absolute;left:50%;bottom:0;width:70%;height:44%;transform:translateX(-50%);background:linear-gradient(180deg,#eef4fa,#c9d7e6);clip-path:polygon(0 100%,0 34%,12% 34%,12% 12%,50% 0,88% 12%,88% 34%,100% 34%,100% 100%);opacity:.85}
#app .map-passport-v2.unverified .mp2-photo-art{filter:grayscale(.85) brightness(.9)}
#app .map-passport-v2 .mp2-photo-actions{position:absolute;top:54px;right:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
#app .map-passport-v2 .mp2-photo-btn{display:inline-flex;align-items:center;gap:9px;padding:11px 16px;border:0 !important;border-radius:10px;background:rgba(6,16,18,.78) !important;color:#fff !important;font-size:13.5px;font-weight:800;cursor:pointer;backdrop-filter:blur(3px);transition:background .2s}
#app .map-passport-v2 .mp2-photo-btn svg{width:19px;height:19px;fill:none;stroke:#fff !important;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#app .map-passport-v2 .mp2-photo-btn:hover:not([disabled]){background:rgba(8,22,25,.85) !important}
#app .map-passport-v2 .mp2-photo-btn[disabled]{opacity:.55;cursor:default}
#app .map-passport-v2 .mp2-head{padding:16px 22px 6px;background:transparent !important;border:0 !important;box-shadow:none !important}
#app .map-passport-v2 .mp2-head h3{margin:0;font-size:23px;font-weight:800;line-height:1.15}
#app .map-passport-v2 .mp2-head p{margin:5px 0 0;font-size:13px}
#app .map-passport-v2 .mp2-section{padding:14px 22px 4px;background:transparent !important;border:0 !important;box-shadow:none !important}
#app .map-passport-v2 .mp2-section-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:9px;font-size:12px;font-weight:800;letter-spacing:.7px;background:transparent !important;box-shadow:none !important;border:0 !important}
#app .map-passport-v2 .mp2-section-title small{color:var(--mp2) !important;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:none}
#app .map-passport-v2 .mp2-info-wrap{position:relative;background:transparent !important;min-height:230px}
#app .map-passport-v2 .mp2-info{display:flex;flex-direction:column;gap:13px;background:transparent !important;padding-right:150px}
#app .map-passport-v2 .mp2-info-photo{position:absolute;top:0;right:0;width:132px;height:220px;border-radius:12px;overflow:hidden;background:linear-gradient(160deg,#dfeaf3 0%,#c4d6e6 42%,#aebfd2 100%)}
#app .map-passport-v2 .mp2-info-photo-unverified{filter:grayscale(.85) brightness(.96)}
#app .map-passport-v2 .mp2-info-photo-verified{background:linear-gradient(160deg,#dfeaf3 0%,#b9d3e8 50%,#9db7d4 100%)}
#app .map-passport-v2 .mp2-info-photo-audited{background:linear-gradient(160deg,#dff3e4 0%,#9fd6ad 55%,#5fae76 100%)}

#app .map-passport-v2 .mp2-info-row{display:flex;gap:12px;align-items:flex-start}
#app .map-passport-v2 .mp2-info-ic{flex:0 0 auto;width:22px;height:22px}
#app .map-passport-v2 .mp2-info-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#app .map-passport-v2 .mp2-info-copy{display:flex;flex-direction:column;min-width:0}
#app .map-passport-v2 .mp2-info-copy small{font-size:11px;line-height:1.3}
#app .map-passport-v2 .mp2-info-copy b{font-size:13.5px;font-weight:700;line-height:1.35}
#app .map-passport-v2 .mp2-specs{display:flex;flex-direction:column;gap:11px;background:transparent !important}
#app .map-passport-v2 .mp2-spec-row{display:flex;align-items:center;gap:12px}
#app .map-passport-v2 .mp2-spec-ic{flex:0 0 auto;width:20px;height:20px}
#app .map-passport-v2 .mp2-spec-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#app .map-passport-v2 .mp2-spec-label{flex:1 1 auto;font-size:13px}
#app .map-passport-v2 .mp2-spec-value{flex:0 0 auto;font-size:13.5px;font-weight:800;text-align:right}
#app .map-passport-v2 .mp2-spec-value.is-blank{color:#9aa7a3 !important;font-weight:700}
#app .map-passport-v2 .mp2-stamp{position:absolute;top:0;right:0;width:132px;height:132px;pointer-events:none;opacity:.92;transform:rotate(-5deg)}
#app .map-passport-v2 .mp2-stamp-ring{fill:none !important;stroke:var(--mp2) !important;stroke-width:8}
#app .map-passport-v2 .mp2-stamp-ring-inner{stroke-width:3}
#app .map-passport-v2 .mp2-stamp circle:not(.mp2-stamp-ring):not(.mp2-stamp-backdrop){fill:var(--mp2) !important}
#app .map-passport-v2 .mp2-stamp-backdrop{fill:#ffffff !important;fill-opacity:.62}
#app .map-passport-v2 .mp2-stamp-check{fill:none !important;stroke:var(--mp2) !important;stroke-width:13;stroke-linecap:round;stroke-linejoin:round}
#app .map-passport-v2 .mp2-stamp-text{fill:var(--mp2) !important;font-size:19px;font-weight:900;letter-spacing:.3px}
#app .map-passport-v2 .mp2-stamp-audited .mp2-stamp-ring{stroke:#d12a22 !important}
#app .map-passport-v2 .mp2-stamp-audited circle:not(.mp2-stamp-ring):not(.mp2-stamp-backdrop){fill:#d12a22 !important}
#app .map-passport-v2 .mp2-stamp-audited .mp2-stamp-text{fill:#d12a22 !important}
#app .map-passport-v2 .mp2-stamp-audited .mp2-stamp-check{stroke:#d12a22 !important}
#app .map-passport-v2 .mp2-stamp-star{font-size:19px;fill:#d12a22 !important;dominant-baseline:middle}
#app .map-passport-v2 .mp2-stamp-text-ieca{font-size:28px;font-style:italic}
#app .map-passport-v2 .mp2-stamp-flat{position:absolute;top:8px;right:4px;width:auto !important;height:auto !important;max-width:210px;display:flex;align-items:center;justify-content:center;padding:12px 16px;pointer-events:none;opacity:.92;transform:rotate(-13deg);border:6px double #d12a22 !important;border-radius:10px;background:rgba(255,255,255,.55) !important;box-shadow:none !important}
#app .map-passport-v2 .mp2-stamp-flat span{display:block;color:#d12a22 !important;font-size:15px;font-weight:900;line-height:1.35;letter-spacing:.2px;text-transform:uppercase;text-align:center;white-space:nowrap}
#app .map-passport-v2 .mp2-note{display:flex;gap:11px;align-items:flex-start;margin:14px 22px 0;padding:13px 15px;border-radius:12px}
#app .map-passport-v2 .mp2-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
#app .map-passport-v2 .mp2-gallery-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;padding:10px;border:1.5px dashed #c7d6d1;border-radius:10px;background:#f6f9f8;color:#8a9b96;text-align:center}
#app .map-passport-v2 .mp2-gallery-slot svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#app .map-passport-v2 .mp2-gallery-slot span{font-size:10.5px;line-height:1.3}
#app .map-passport-v2 .mp2-note+.mp2-note{margin-top:9px}
#app .map-passport-v2 .mp2-note p{margin:0;font-size:12.5px;line-height:1.5}
#app .map-passport-v2 .mp2-note-danger p,#app .map-passport-v2 .mp2-note-danger b{color:#8f2020 !important}
#app .map-passport-v2 .mp2-note-info p,#app .map-passport-v2 .mp2-note-info b{color:#1c5876 !important}
#app .map-passport-v2 .mp2-note-success p,#app .map-passport-v2 .mp2-note-success b{color:#1a6b41 !important}
#app .map-passport-v2 .mp2-note svg{flex:0 0 auto;width:20px;height:20px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
#app .map-passport-v2 .mp2-note-danger svg{stroke:#e5675f !important}
#app .map-passport-v2 .mp2-note-info svg{stroke:var(--mp2) !important}
#app .map-passport-v2 .mp2-note-success svg{stroke:var(--mp2) !important}
#app .map-passport-v2 .mp2-footer{padding:16px 22px 20px;background:transparent !important;border:0 !important;box-shadow:none !important}
#app .map-passport-v2 .mp2-cta{display:flex;width:100%;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:13px 16px;border:0 !important;border-radius:12px;background:var(--mp2) !important;color:var(--mp2-ink) !important;font-size:12.5px;font-weight:800;line-height:1.25;text-align:center;cursor:pointer;box-shadow:0 12px 26px rgba(var(--mp2-rgb),.3);transition:filter .2s,transform .2s}
#app .map-passport-v2 .mp2-cta svg{flex:0 0 auto;width:19px;height:19px;fill:none;stroke:var(--mp2-ink) !important;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#app .map-passport-v2 .mp2-cta:hover{filter:brightness(1.07);transform:translateY(-1px)}
#app .map-passport-v2 .mp2-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}
#app .map-passport-v2 .mp2-cta-sm{flex-direction:column;gap:6px;min-height:66px;padding:11px 8px;font-size:11px}
#app .map-passport-v2 .mp2-cta-sm svg{width:20px;height:20px}
body:not(.light-theme) #app .map-passport-v2 .mp2-head h3{color:#132320 !important}
body:not(.light-theme) #app .map-passport-v2 .mp2-head p{color:#5c6f6a !important}
body:not(.light-theme) #app .map-passport-v2 .mp2-section-title{color:#33433f !important;border-bottom:2px solid #eef1f0 !important}
body:not(.light-theme) #app .map-passport-v2 .mp2-info-copy small,body:not(.light-theme) #app .map-passport-v2 .mp2-spec-label{color:#647873 !important}
body:not(.light-theme) #app .map-passport-v2 .mp2-info-copy b,body:not(.light-theme) #app .map-passport-v2 .mp2-spec-value{color:#1b2b28 !important}
body:not(.light-theme) #app .map-passport-v2 .mp2-info-ic,body:not(.light-theme) #app .map-passport-v2 .mp2-spec-ic{color:#6d817b !important}
body:not(.light-theme) #app .map-passport-v2 .mp2-info-row.is-muted .mp2-info-copy b{color:#a9b4b0 !important}
body:not(.light-theme) #app .map-passport-v2 .mp2-note-danger{background:#fdecec !important;color:#8f2020 !important}
body:not(.light-theme) #app .map-passport-v2 .mp2-note-info{background:#eef6fb !important;color:#1c5876 !important}
body:not(.light-theme) #app .map-passport-v2 .mp2-note-success{background:#e9f7ef !important;color:#1a6b41 !important}
body.light-theme #app .map-passport-v2 .mp2-head h3{color:#132320 !important}
body.light-theme #app .map-passport-v2 .mp2-head p{color:#5c6f6a !important}
body.light-theme #app .map-passport-v2 .mp2-section-title{color:#33433f !important;border-bottom:2px solid #eef1f0 !important}
body.light-theme #app .map-passport-v2 .mp2-info-copy small,body.light-theme #app .map-passport-v2 .mp2-spec-label{color:#647873 !important}
body.light-theme #app .map-passport-v2 .mp2-info-copy b,body.light-theme #app .map-passport-v2 .mp2-spec-value{color:#1b2b28 !important}
body.light-theme #app .map-passport-v2 .mp2-info-ic,body.light-theme #app .map-passport-v2 .mp2-spec-ic{color:#6d817b !important}
body.light-theme #app .map-passport-v2 .mp2-info-row.is-muted .mp2-info-copy b{color:#a9b4b0 !important}
body.light-theme #app .map-passport-v2 .mp2-note-danger{background:#fdecec !important;color:#8f2020 !important}
body.light-theme #app .map-passport-v2 .mp2-note-info{background:#eef6fb !important;color:#1c5876 !important}
body.light-theme #app .map-passport-v2 .mp2-note-success{background:#e9f7ef !important;color:#1a6b41 !important}
@media(max-width:760px){#app .map-passport.map-passport-v2{width:calc(100% - 18px) !important;max-height:calc(100% - 18px) !important;border-radius:16px !important}#app .map-passport-v2 .mp2-scroll{max-height:calc(100vh - 90px)}#app .map-passport-v2 .mp2-head h3{font-size:20px !important}#app .map-passport-v2 .mp2-stamp{width:104px;height:104px}#app .map-passport-v2 .mp2-photo-actions{top:auto !important;bottom:12px !important;right:12px !important;left:auto !important;flex-direction:row !important;flex-wrap:wrap !important;justify-content:flex-end !important}}
#app .map-passport-v2 .mp2-cta,#app .map-passport-v2 .mp2-cta span,#app .map-passport-v2 .mp2-photo-btn,#app .map-passport-v2 .mp2-photo-btn span{text-decoration:none !important}
#app .map-passport-v2 .mp2-cta-sm{background:transparent !important;box-shadow:none !important;padding:8px 6px !important;min-height:60px !important}
#app .map-passport-v2 .mp2-photo-btn{padding:11px 16px !important;text-shadow:0 1px 6px rgba(4,14,16,.85),0 0 2px rgba(4,14,16,.9)}
#app .map-passport-v2 .mp2-photo-btn svg{filter:drop-shadow(0 1px 4px rgba(4,14,16,.8))}

/* While the real Yandex map is open (.map-stage-zooming), the decorative
   map underneath is fully hidden behind an opaque .map-yandex-embed - but
   .map-stage kept perspective:900px active and .map-stage:after kept running
   an infinite 8s CSS animation (light-sweep) the whole time, both forcing
   the browser to keep compositing/repainting a hidden 3D layer stack every
   frame while the user pans/zooms the real map on top of it. That competed
   for frame budget and was the real cause of the Yandex map itself feeling
   laggy to touch - not the Yandex map's own code. */
.map-stage.map-stage-zooming{ perspective: none !important; }
.map-stage.map-stage-zooming:after{ animation: none !important; }

/* "Как добраться" / "Создать свою карту" is Yandex's own promotional
   "built with our API" link (class map-copyrights-promo), separate from the
   actual required copyright/ToS text - safe to hide, unlike the "© Яндекс
   Условия использования" attribution which Yandex's API terms require to
   stay visible. suppressMapOpenBlock (set in app.js) removes most of this on
   narrow viewports but Yandex still renders it at some widths, hence this
   CSS backstop. */
.map-yandex-canvas .ymaps-2-1-79-map-copyrights-promo{ display: none !important; }

/* Shows which region's real Yandex map is currently open, bottom-right,
   sitting above the mandatory "© Яндекс Условия использования" copyright bar. */
.map-yandex-region-label{
  position: absolute;
  right: 12px;
  bottom: 56px;
  z-index: 21;
  padding: 12px 20px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(180deg,#1cb5ac 0%,#086968 100%);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(0,0,0,.3);
  pointer-events: none;
}
@media(max-width:760px){
  .map-yandex-region-label{ right: 8px; bottom: 50px; padding: 10px 16px; font-size: 14px; }
}

/* Producer placemark on the real embedded Yandex map, styled to match the
   decorative map's .factory-pin teardrop design (same border/background/
   shadow) instead of the default Yandex green-dot preset. */
.yandex-producer-pin-wrap{
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.yandex-producer-pin{
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  transform: rotate(-45deg);
  border: 3px solid #e4f1ef;
  border-radius: 50% 50% 50% 8px;
  background: #76c9cf;
  box-shadow: 0 7px 18px rgba(0,0,0,.4);
}
.yandex-producer-pin-dot{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  transform: rotate(45deg);
}
.yandex-producer-pin-label{
  white-space: nowrap;
  padding: 4px 9px;
  border-radius: 7px;
  background: rgba(4,24,26,.85);
  color: #e8f4f2;
  font-size: 11px;
  font-weight: 700;
  box-shadow: 0 4px 10px rgba(0,0,0,.25);
}

/* Real Yandex Maps integration (2026-10-08): smooth blur+zoom transition on the
   decorative static map, then a real embedded ymaps.Map fades in on top, replacing
   the old producer-list panel. See openMapProducers/openYandexRegionMap in app.js. */
/* Zoom-toward-pin + blur is now driven directly via inline styles from
   playMapZoomTransition() in app.js (see there for why: this CSS animation
   approach was defeated by pre-existing !important hardening rules on
   .map-reference-dark-bg elsewhere in this stylesheet). */
.map-yandex-embed{
  position: absolute;
  inset: 0;
  z-index: 20;
  display: flex;
  flex-direction: column;
  background: #04181a;
  opacity: 0;
  animation: mapYandexFadeIn .5s ease .7s forwards;
}
@keyframes mapYandexFadeIn{ from{opacity:0} to{opacity:1} }
.map-yandex-embed.map-yandex-embed-closing{
  animation: none;
  transition: opacity .55s ease;
  pointer-events: none;
}
.map-yandex-back{
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 21;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border: 1px solid rgba(94,211,195,.4);
  border-radius: 10px;
  background: rgba(4,24,26,.85);
  color: #e8f4f2;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  backdrop-filter: blur(6px);
}
.map-yandex-back:hover{ border-color: #35ded4; background: rgba(4,24,26,.95); }
.map-yandex-back .line-icon{ width: 16px; height: 16px; }
.map-yandex-canvas{ flex: 1; min-height: 0; }
.map-yandex-route-btn{
  margin-top: 8px;
  padding: 8px 14px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(180deg,#1cb5ac 0%,#086968 100%);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.map-yandex-route-btn:hover{ filter: brightness(1.08); }
@media(max-width:760px){
  .map-yandex-back{ padding: 8px 12px; font-size: 11px; }
}
