/* Profinance Monitor Work V54.01 — composição limpa e clima 3D */

/* MAPA: três zonas independentes — card esquerda, toolbar centro, zoom direita */
.map-section .leaflet-top.leaflet-right{top:16px!important;right:16px!important;left:auto!important;z-index:480!important}
.map-section .leaflet-control-zoom{margin:0!important;box-shadow:0 12px 28px rgba(0,0,0,.34)!important;border-radius:12px!important;overflow:hidden!important}
.map-section .leaflet-control-zoom a{width:40px!important;height:40px!important;line-height:40px!important;font-size:21px!important;background:rgba(4,17,42,.96)!important;color:#fff!important;border-color:rgba(95,126,195,.32)!important}
.map-section .map-copy{left:18px!important;top:18px!important;width:252px!important;max-height:150px!important;overflow:hidden!important;z-index:470!important;background:linear-gradient(160deg,rgba(4,15,38,.94),rgba(6,13,32,.9))!important;border:1px solid rgba(105,132,198,.34)!important;border-radius:15px!important;padding:15px 16px!important;box-shadow:0 16px 34px rgba(0,0,0,.3)!important;backdrop-filter:blur(14px)!important}
.map-section .map-copy h2{font-size:17px!important;line-height:1.15!important}.map-section .map-copy p{font-size:11px!important;line-height:1.48!important;margin-top:9px!important;color:#d8e1f4!important}
.map-section .map-actions{left:50%!important;right:auto!important;top:18px!important;transform:translateX(-50%)!important;max-width:calc(100% - 660px)!important;display:flex!important;flex-wrap:wrap!important;justify-content:center!important;z-index:470!important}
.map-section .map-legend{left:18px!important;bottom:18px!important;z-index:470!important}
.map-section .map-online{right:18px!important;bottom:18px!important;z-index:470!important}
.map-section.map-immersive .leaflet-top.leaflet-right,.map-section:fullscreen .leaflet-top.leaflet-right{top:24px!important;right:24px!important}
.map-section.map-immersive .map-copy,.map-section:fullscreen .map-copy{left:24px!important;top:24px!important;width:280px!important;max-height:165px!important}
.map-section.map-immersive .map-actions,.map-section:fullscreen .map-actions{left:50%!important;right:auto!important;top:24px!important;transform:translateX(-50%)!important;max-width:calc(100% - 760px)!important}
.tv-mode .map-section .leaflet-top.leaflet-right{top:14px!important;right:14px!important}
.tv-mode .map-section .map-actions{left:50%!important;right:auto!important;top:14px!important;transform:translateX(-50%)!important;max-width:calc(100% - 180px)!important}
.tv-mode .map-copy{display:none!important}

/* RELÓGIO + CLIMA: duas colunas físicas, sem sobreposição */
.tv-mode .clock-zone{display:grid!important;grid-template-columns:minmax(430px,.92fr) minmax(500px,1.08fr)!important;gap:24px!important;padding:16px 20px!important;align-items:center!important;overflow:visible!important}
.tv-mode .clock-copy{position:relative!important;min-width:0!important;width:100%!important;overflow:hidden!important;padding-right:22px!important;border-right:1px solid rgba(103,83,205,.25)!important;z-index:3!important}
.tv-mode .clock-time{font-size:clamp(62px,5vw,94px)!important;letter-spacing:-.035em!important;line-height:.94!important;white-space:nowrap!important;max-width:100%!important;text-overflow:clip!important;overflow:hidden!important}
.tv-mode .clock-date{font-size:clamp(15px,1.15vw,20px)!important;margin-top:19px!important}.tv-mode .clock-week{font-size:clamp(15px,1.1vw,19px)!important}
.tv-mode .weather-panel{position:relative!important;z-index:2!important;display:grid!important;grid-template-columns:minmax(150px,180px) minmax(280px,1fr)!important;align-items:center!important;gap:20px!important;min-width:0!important;width:100%!important;overflow:visible!important}
.tv-mode .weather-info{min-width:0!important;overflow:visible!important}

/* CENA 3D meteorológica */
.weather-art{position:relative!important;isolation:isolate!important;transform-style:preserve-3d!important;perspective:1100px!important;transform:rotateX(-8deg) rotateY(12deg) translateZ(0)!important;transition:transform .18s ease,filter .2s ease,box-shadow .2s ease!important;overflow:visible!important;background:radial-gradient(circle at 44% 36%,rgba(72,122,255,.28),rgba(38,23,116,.15) 48%,rgba(4,8,30,.08) 70%)!important;box-shadow:0 0 0 1px rgba(135,84,255,.72),0 0 0 12px rgba(90,51,224,.04),18px 28px 64px rgba(17,8,70,.52),inset -18px -22px 34px rgba(7,12,47,.28),inset 14px 12px 28px rgba(97,122,255,.12)!important}
.weather-art:before{content:""!important;position:absolute!important;inset:10%!important;border-radius:50%!important;background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.18),transparent 25%),radial-gradient(circle at 70% 75%,rgba(36,76,205,.24),transparent 45%)!important;transform:translateZ(-36px)!important;box-shadow:inset 0 0 24px rgba(113,94,255,.16)!important;pointer-events:none!important}
.weather-art:after{content:""!important;position:absolute!important;left:12%!important;right:12%!important;bottom:-20px!important;height:28px!important;border-radius:50%!important;background:radial-gradient(ellipse,rgba(61,41,227,.5),rgba(18,70,181,.18) 45%,transparent 72%)!important;filter:blur(8px)!important;transform:translateZ(-48px) rotateX(72deg)!important;pointer-events:none!important}
.weather-art .wa-sun{transform:translateZ(70px) scale(.92)!important;box-shadow:inset -14px -18px 22px rgba(136,48,0,.42),inset 10px 10px 15px rgba(255,255,255,.42),0 0 20px #ffb018,0 0 54px rgba(255,153,24,.78),0 18px 28px rgba(83,32,0,.25)!important}
.weather-art .wa-cloud-a{transform:translateZ(92px)!important}.weather-art .wa-cloud-b{transform:translateZ(58px) scale(.74)!important}
.weather-art .wa-cloud{box-shadow:inset 8px 8px 11px rgba(255,255,255,.82),inset -10px -12px 15px rgba(62,78,110,.32),0 14px 22px rgba(0,0,0,.32)!important}
.weather-art .wa-rain{transform:translateZ(106px)!important;filter:drop-shadow(0 0 5px #20adff)!important}.weather-art .wa-flash{transform:translateZ(118px)!important}
.weather-art.cloudy .wa-cloud-a,.weather-art.rain .wa-cloud-a,.weather-art.storm .wa-cloud-a{transform:translateZ(92px) scale(1.18)!important}
.weather-art.cloudy .wa-cloud-b,.weather-art.rain .wa-cloud-b,.weather-art.storm .wa-cloud-b{transform:translateZ(60px) scale(.9)!important}
.weather-floor{transform:translateZ(34px) rotateX(72deg)!important;filter:blur(6px)!important}
.weather-orbit.orbit-a{transform:translateZ(-14px) rotateX(66deg)!important}.weather-orbit.orbit-b{transform:translateZ(26px) rotateY(69deg)!important}

/* CLIMA: picker e detalhes sempre flutuantes; nunca empurram KPI */
.weather-picker-menu,.weather-details{position:fixed!important;z-index:20000!important;transform:none!important;margin:0!important;max-width:calc(100vw - 24px)!important}
.weather-picker-menu{width:310px!important;max-height:min(390px,66vh)!important;overflow:auto!important;background:linear-gradient(160deg,rgba(4,13,34,.99),rgba(10,8,31,.99))!important;border:1px solid rgba(126,87,235,.56)!important;border-radius:15px!important;padding:10px!important;box-shadow:0 28px 80px rgba(0,0,0,.62)!important}
.weather-details{width:min(520px,calc(100vw - 24px))!important;max-height:min(520px,72vh)!important;overflow:auto!important;background:linear-gradient(160deg,rgba(5,15,38,.995),rgba(9,8,31,.995))!important;border:1px solid rgba(99,127,201,.5)!important;border-radius:16px!important;padding:14px!important;box-shadow:0 28px 85px rgba(0,0,0,.65)!important}
.weather-picker-list,.weather-search-results{max-height:190px!important;overflow:auto!important}.weather-pick-item{min-height:42px!important;padding:8px 9px!important}.weather-pick-item span{line-height:1.15!important}

@media(max-width:1280px){
 .tv-mode .clock-zone{grid-template-columns:minmax(350px,.88fr) minmax(440px,1.12fr)!important;gap:16px!important}
 .tv-mode .clock-time{font-size:clamp(56px,5vw,78px)!important}
 .tv-mode .weather-panel{grid-template-columns:140px minmax(250px,1fr)!important;gap:14px!important}
 .tv-mode .weather-art{width:132px!important;height:132px!important;flex-basis:132px!important}
}
@media(max-width:980px){
 .map-section .map-actions{left:auto!important;right:70px!important;top:14px!important;transform:none!important;max-width:calc(100% - 350px)!important}
 .map-section .map-copy{left:14px!important;top:14px!important;width:250px!important}
 .tv-mode .clock-zone{grid-template-columns:1fr!important;gap:14px!important;overflow:visible!important}
 .tv-mode .clock-copy{border-right:0!important;border-bottom:1px solid rgba(103,83,205,.25)!important;padding:0 0 14px!important}
 .tv-mode .weather-panel{grid-template-columns:140px 1fr!important}
}
@media(max-width:700px){
 .map-section .leaflet-top.leaflet-right{top:12px!important;right:12px!important}
 .map-section .map-copy{left:12px!important;right:64px!important;top:12px!important;width:auto!important;max-height:108px!important;padding:11px 12px!important}
 .map-section .map-copy p{display:none!important}
 .map-section .map-actions{left:12px!important;right:12px!important;top:126px!important;transform:none!important;max-width:none!important;justify-content:center!important}
 .tv-mode .weather-panel{grid-template-columns:1fr!important;justify-items:center!important}.tv-mode .weather-info{width:100%!important}
}
