/* Control ANDRIK v55.00 FINAL — final map controls and centre pull-down zone. */

@keyframes andrikFinalCalendarPulse{
  0%,100%{
    transform:scale(.965);
    box-shadow:0 0 0 0 rgba(74,240,144,.20),0 0 18px rgba(55,234,136,.22),inset 0 0 15px rgba(116,255,180,.08);
    filter:brightness(.98)
  }
  50%{
    transform:scale(1.045);
    box-shadow:0 0 0 10px rgba(74,240,144,0),0 0 34px rgba(55,234,136,.46),inset 0 0 20px rgba(116,255,180,.15);
    filter:brightness(1.12)
  }
}

/* A real visible calendar in both orientations. */
.analytics-v54-46-page .world-map-card>.map-landscape-title-row{
  overflow:visible!important;
}
.analytics-v54-46-page .map-monthly-open{
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  color:#7bf1aa!important;
  border:1px solid rgba(82,238,146,.68)!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle at 34% 28%,rgba(138,255,190,.20),transparent 38%),
    linear-gradient(145deg,rgba(11,51,38,.98),rgba(3,19,21,.99))!important;
  animation:andrikFinalCalendarPulse 2.2s ease-in-out infinite!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.analytics-v54-46-page .map-monthly-open::before{
  content:''!important;
  position:absolute!important;
  inset:5px!important;
  border:1px solid rgba(154,255,196,.16)!important;
  border-radius:inherit!important;
  background:transparent!important;
  pointer-events:none!important;
  z-index:-1!important;
}
.analytics-v54-46-page .map-monthly-open svg{
  display:block!important;
  width:25px!important;
  height:25px!important;
  max-width:25px!important;
  max-height:25px!important;
  margin:0!important;
  padding:0!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  background:transparent!important;
  color:inherit!important;
  opacity:1!important;
  visibility:visible!important;
  overflow:visible!important;
  filter:drop-shadow(0 0 5px rgba(111,255,173,.32))!important;
}
.analytics-v54-46-page .map-monthly-open svg path{
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  opacity:1!important;
  visibility:visible!important;
}
.analytics-v54-46-page .map-monthly-open:active{
  transform:scale(.92)!important;
  filter:brightness(1.18)!important;
}

@media (orientation:portrait){
  .analytics-v54-46-page .world-map-card>.map-landscape-title-row{
    grid-template-columns:minmax(92px,1fr) minmax(128px,auto) minmax(62px,1fr)!important;
    column-gap:7px!important;
    padding-inline:4px!important;
  }
  .analytics-v54-46-page .world-map-total{
    justify-self:end!important;
    max-width:100%!important;
  }
  .analytics-v54-46-page .map-monthly-open{
    justify-self:end!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    margin-right:8px!important;
  }
  .analytics-v54-46-page .map-monthly-open svg{
    width:23px!important;
    height:23px!important;
    max-width:23px!important;
    max-height:23px!important;
  }
}

/* Landscape total must remain a complete cloud/pill and never clip. */
@media (orientation:landscape){
  .analytics-v54-46-page .world-map-card>.map-landscape-title-row{
    grid-template-columns:minmax(184px,1fr) minmax(240px,auto) minmax(86px,1fr)!important;
    column-gap:18px!important;
    padding-inline:20px!important;
  }
  .analytics-v54-46-page .world-map-total{
    justify-self:start!important;
    box-sizing:border-box!important;
    min-width:164px!important;
    width:max-content!important;
    max-width:none!important;
    min-height:44px!important;
    padding:0 16px!important;
    gap:8px!important;
    border:1px solid rgba(112,206,244,.28)!important;
    border-radius:999px!important;
    background:linear-gradient(180deg,rgba(8,30,42,.94),rgba(3,17,25,.97))!important;
    box-shadow:inset 0 0 15px rgba(109,220,255,.05),0 9px 24px rgba(0,0,0,.22)!important;
    overflow:visible!important;
    white-space:nowrap!important;
  }
  .analytics-v54-46-page .world-map-total span{
    font-size:clamp(.72rem,1.25vw,.9rem)!important;
  }
  .analytics-v54-46-page .world-map-total strong{
    font-size:clamp(1rem,1.7vw,1.24rem)!important;
  }
  .analytics-v54-46-page .map-monthly-open{
    justify-self:end!important;
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    min-height:56px!important;
    margin-right:2px!important;
  }
}

/* Dedicated centre-only landscape pull zone on the admin menu. */
.control-final-menu-pull-zone{
  display:none;
}
@media (orientation:landscape){
  body.control-home-page.control-menu-visible .control-final-menu-pull-zone{
    position:fixed!important;
    top:68px!important;
    left:34vw!important;
    width:32vw!important;
    height:118px!important;
    z-index:2147482200!important;
    display:block!important;
    background:transparent!important;
    touch-action:none!important;
    -ms-touch-action:none!important;
    user-select:none!important;
    -webkit-user-select:none!important;
    -webkit-tap-highlight-color:transparent!important;
    cursor:ns-resize!important;
  }
  body.control-home-page.control-menu-visible .control-final-menu-pull-zone::after{
    content:'Потяните вниз к карте';
    position:absolute;
    left:50%;
    top:8px;
    transform:translateX(-50%) translateY(var(--final-pull-y,0px));
    padding:7px 13px;
    border:1px solid rgba(128,218,250,.15);
    border-radius:999px;
    background:rgba(5,18,26,.66);
    color:rgba(182,222,237,.55);
    font:750 clamp(.58rem,1.05vw,.72rem)/1 system-ui,-apple-system,"Segoe UI",sans-serif;
    white-space:nowrap;
    opacity:var(--final-pull-opacity,.30);
    box-shadow:0 8px 20px rgba(0,0,0,.18);
    pointer-events:none;
    transition:opacity .15s ease;
  }
  body.control-home-page.control-menu-visible .control-swipe-track.is-final-pulling{
    transition:none!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .analytics-v54-46-page .map-monthly-open{animation:none!important}
}


/* v55.00 FINAL R1 — compact real end-of-page pull handle, without a large empty tail. */
.analytics-v54-46-page .analytics-map-pane{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:contain!important;
}
.analytics-v54-46-page .analytics-map-pane .analytics-map-pane-wrap{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding-bottom:max(8px,env(safe-area-inset-bottom))!important;
  will-change:transform;
}
.analytics-v54-46-page .analytics-map-pane .analytics-map-top{
  flex:0 0 auto!important;
}
.analytics-v54-46-page .analytics-map-pane .analytics-swipe-hint{
  margin-bottom:0!important;
}
.analytics-v54-46-page .map-end-pull-zone{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  width:min(100%,520px)!important;
  min-height:72px!important;
  margin:7px auto 0!important;
  padding:9px 14px calc(11px + env(safe-area-inset-bottom))!important;
  color:#839dab!important;
  text-align:center!important;
  opacity:.94!important;
  overflow:visible!important;
  touch-action:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  -webkit-tap-highlight-color:transparent!important;
  cursor:ns-resize!important;
  transform:translateY(calc(var(--map-end-pull,0px) * -.12))!important;
  transition:transform .30s cubic-bezier(.18,.84,.23,1),color .20s ease,opacity .20s ease!important;
}
.analytics-v54-46-page .map-end-pull-zone::before{
  content:''!important;
  position:absolute!important;
  top:3px!important;
  left:16%!important;
  right:16%!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,rgba(103,218,255,.48),transparent)!important;
  box-shadow:0 0 16px rgba(85,215,255,.20)!important;
}
.analytics-v54-46-page .map-end-pull-spring{
  width:52px!important;
  height:31px!important;
  margin:0 0 1px!important;
  transform:translateY(calc(var(--map-end-pull,0px) * -.22)) scale(calc(1 + var(--map-end-progress,0) * .08))!important;
}
.analytics-v54-46-page .map-end-chevron{
  top:2px!important;
  font-size:1.65rem!important;
}
.analytics-v54-46-page .map-end-chevron.is-second{
  top:12px!important;
}
.analytics-v54-46-page .map-end-pull-zone strong{
  font-size:clamp(.62rem,2.5vw,.75rem)!important;
  line-height:1.15!important;
  letter-spacing:.11em!important;
  white-space:nowrap!important;
}
body.is-map-end-pulling .map-end-pull-zone{color:#c4f3ff!important;opacity:1!important}
body.is-map-end-ready .map-end-pull-zone{color:#84f0ae!important}
body.is-map-end-bouncing .map-end-pull-zone{animation:andrikFinalR1EndBounce .50s cubic-bezier(.16,.90,.25,1.14)!important}
@keyframes andrikFinalR1EndBounce{
  0%{transform:translateY(-16px)}
  36%{transform:translateY(7px)}
  66%{transform:translateY(-3px)}
  100%{transform:translateY(0)}
}
@media (orientation:landscape){
  .analytics-v54-46-page .analytics-map-pane .analytics-map-pane-wrap{
    min-height:0!important;
    padding-bottom:max(7px,env(safe-area-inset-bottom))!important;
  }
  .analytics-v54-46-page .map-end-pull-zone{
    min-height:64px!important;
    margin-top:5px!important;
    padding-top:7px!important;
    padding-bottom:calc(8px + env(safe-area-inset-bottom))!important;
  }
}
@media (prefers-reduced-motion:reduce){
  .analytics-v54-46-page .map-end-pull-zone,
  .analytics-v54-46-page .analytics-map-pane .analytics-map-pane-wrap{transition:none!important;animation:none!important}
}
