:root{
  --blue:#2f6f9f;
  --nav:#2f6f9f;
  --bg:#f5f8fb;
  --text:#1f2430;
  --muted:#7d8ba0;
  --white:#fff;
  --shadow:0 10px 24px rgba(9,30,66,.08);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',system-ui,sans-serif;
  color:var(--text);
  background:#fff;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{
  width:min(1410px,calc(100% - 48px));
  margin:0 auto;
}
.topbar{
  background:#fff;
  padding:18px 0;
  box-shadow:0 1px 0 rgba(0,0,0,.05);
}
.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}
.logo,
.footer-logo{
  width:64px;
  height:64px;
  border-radius:50%;
  object-fit:cover;
  background:#eef3f8;
}
.brand-title{
  font-weight:700;
  font-size:18px;
  line-height:1.25;
  max-width:310px;
}
.brand-subtitle{
  font-size:14px;
  color:var(--muted);
  margin-top:4px;
}
.contact-items{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.topbar-promo{
  flex:0 1 360px;
  min-width:250px;
  max-width:430px;
  height:116px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 8px;
  padding:0;
  overflow:hidden;
  background:transparent;
  border:none;
  box-shadow:none;
  text-decoration:none;
}
.topbar-promo.hidden{
  display:none !important;
}
.topbar-promo img{
  display:block;
  width:auto;
  max-width:100%;
  height:100%;
  max-height:116px;
  object-fit:contain;
  object-position:center;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
  filter:drop-shadow(0 8px 18px rgba(16,47,102,.06));
}
.contact-card{
  display:flex;
  align-items:center;
  gap:12px;
  background:#fff;
  padding:8px 10px;
  border-radius:16px;
}
.icon-circle{
  width:44px;
  height:44px;
  border-radius:14px;
  background:#f0f4f8;
  display:grid;
  place-items:center;
  color:var(--blue);
  font-size:20px;
}
.muted{
  font-size:14px;
  color:var(--muted);
}
.strong{
  font-weight:700;
  font-size:16px;
}
.lang-btn,
.nav-icon{
  border:none;
  background:#f3f6f9;
  border-radius:12px;
  padding:10px 14px;
  cursor:pointer;
}
.mainnav{
  background:var(--nav);
  position:sticky;
  top:0;
  z-index:20;
}
.nav-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:48px;
}
.nav-links{
  display:flex;
  gap:28px;
  align-items:center;
  flex-wrap:wrap;
}
.nav-links a{
  color:#fff;
  font-weight:600;
  font-size:15px;
}
.nav-actions{
  display:flex;
  gap:10px;
}
.nav-icon{
  background:rgba(255,255,255,.15);
  color:#fff;
  width:38px;
  height:32px;
  padding:0;
}
.hero{
  position:relative;
  height:920px;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(17,23,31,.34) 0%,rgba(17,23,31,.52) 100%);
}
.hero-content{
  position:relative;
  z-index:1;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding-top:0;
  padding-left:60px;
  width:100%;
  max-width:none;
  color:#fff;
}
.hero h1{
  font-size:64px;
  line-height:1.16;
  max-width:780px;
  margin:0 0 18px 0;
  font-weight:800;
  text-align:left;
}
.hero p{
  font-size:21px;
  max-width:650px;
  margin:0;
  color:rgba(255,255,255,.92);
  text-align:left;
}
.quick-section{
  position:relative;
  z-index:4;
  margin-top:0;
  background:#fff;
  padding:18px 0 28px;
}
.quick-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
  margin-top:0;
}
.quick-card{
  position:relative;
  background:#fff;
  border-radius:24px;
  padding:26px 18px 20px;
  height:154px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  box-shadow:0 16px 32px rgba(9,30,66,.10);
  transition:.28s transform,.28s box-shadow,.28s border-color;
  text-align:center;
  border:1px solid rgba(47,111,159,.08);
  overflow:hidden;
}
.quick-card::before{
  content:"";
  position:absolute;
  top:0;
  left:12px;
  right:12px;
  height:4px;
  border-radius:0 0 14px 14px;
  background:linear-gradient(90deg,#2bd0c7,#4eb8ff);
}
.quick-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 38px rgba(9,30,66,.14);
}
.quick-card img{
  width:54px;
  height:54px;
  border-radius:50%;
  object-fit:contain;
  background:#eef4f8;
  padding:10px;
}
.quick-card span{
  font-size:17px;
  font-weight:500;
  line-height:1.35;
}
.section{
  padding:34px 0;
}
.stats-bg{
  background:var(--bg);
}
.section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:22px;
}
.section-head h2{
  font-size:34px;
  margin:0;
  display:flex;
  align-items:center;
  gap:14px;
}
.section-head h2::before{
  content:"";
  width:6px;
  height:42px;
  background:var(--blue);
  border-radius:99px;
}
.more-btn{
  background:#edf3f8;
  color:#1f2430;
  padding:12px 18px;
  border-radius:14px;
  font-weight:600;
}
.card-grid.three,
.video-grid,
.useful-grid,
.stats-grid{
  display:grid;
  gap:20px;
}
.card-grid.three{
  grid-template-columns:repeat(3,1fr);
}
.card{
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.card img{
  width:100%;
  height:245px;
  object-fit:cover;
  background:#e8eef4;
}
.card-body{
  padding:14px 18px 20px;
}
.card-date{
  font-size:14px;
  color:#8b97aa;
  margin-bottom:10px;
}
.card-title{
  font-size:20px;
  font-weight:700;
  margin:0 0 10px;
  line-height:1.3;
}
.card-text{
  font-size:15px;
  color:#64748b;
  line-height:1.55;
}
.stats-grid{
  grid-template-columns:repeat(4,1fr);
  margin-bottom:28px;
}
.stat-card{
  background:#fff;
  border-radius:18px;
  padding:24px;
  text-align:center;
  box-shadow:var(--shadow);
}
.stat-card img{
  width:72px;
  height:72px;
  margin:0 auto 16px;
  object-fit:contain;
  border-radius:50%;
  background:#eef4f8;
  padding:12px;
}
.stat-value{
  font-size:34px;
  font-weight:800;
  margin-bottom:6px;
}
.stat-label{
  color:#7d8ba0;
}
.map-row{
  display:grid;
  grid-template-columns:1.15fr .9fr;
  gap:28px;
  align-items:center;
}
.map-panel,
.map-info{
  background:#fff;
  border-radius:24px;
  box-shadow:var(--shadow);
}
.map-panel{
  padding:30px;
  min-height:420px;
  display:grid;
  place-items:center;
}
.map-info{
  padding:30px;
}
.map-info h3{
  font-size:26px;
  margin:0 0 22px;
}
.info-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid #edf2f7;
  gap:18px;
}
.info-row:last-child{
  border-bottom:none;
}
.info-row span{
  font-size:24px;
  font-weight:700;
}
.video-grid{
  grid-template-columns:repeat(3,1fr);
}
.video-card{
  background:transparent;
}
.video-thumb-wrap{
  position:relative;
}
.play-btn{
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  width:64px;
  height:64px;
  border-radius:50%;
  background:rgba(47,111,159,.86);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:24px;
}
.useful-grid{
  grid-template-columns:repeat(4,1fr);
}
.useful-item{
  background:#fff;
  border-radius:18px;
  padding:26px 20px;
  box-shadow:var(--shadow);
  text-align:center;
  min-height:188px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:16px;
}
.useful-item img{
  height:76px;
  object-fit:contain;
  margin:0 auto;
}
.useful-item span{
  font-size:18px;
  font-weight:500;
  line-height:1.35;
}
.contact-table-wrap{
  background:#fff;
  border-radius:24px;
  padding:24px;
  box-shadow:var(--shadow);
}
.contact-table-wrap .contact-table{
  margin-bottom:0;
}
.contact-table{
  width:100%;
  border-collapse:collapse;
  overflow:hidden;
}
.contact-table td{
  padding:18px 20px;
  border-bottom:1px solid #edf2f7;
  font-size:17px;
  vertical-align:top;
}
.contact-table td:first-child{
  width:240px;
  font-weight:700;
  background:#f8fbfd;
}
.contact-map-media{
  width:100%;
  height:560px;
  margin-top:22px;
  border-radius:18px;
  overflow:hidden;
  background:#eef3f8;
  position:relative;
}
.contact-map-media iframe{
  width:100%;
  height:560px;
  border:0;
  display:block;
}
.footer{
  background:linear-gradient(90deg,#102f66,#173a86);
  color:#fff;
  margin-top:0;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.15fr .7fr .9fr;
  gap:32px;
  padding:36px 0;
}
.footer-brand{
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin-bottom:16px;
}
.footer-title{
  font-size:17px;
  font-weight:700;
  line-height:1.4;
}
.footer-text{
  font-size:14px;
  color:rgba(255,255,255,.7);
  margin-top:6px;
}
.footer-card{
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.06);
  border-radius:20px;
  padding:18px;
  font-size:16px;
  line-height:1.75;
}
.footer-col h3{
  font-size:22px;
  margin:8px 0 20px;
}
.footer-col.middle a{
  display:block;
  margin:14px 0;
  font-size:18px;
  font-weight:600;
  color:#fff;
}
.bot-image{
  width:100%;
  height:360px;
  border-radius:26px;
  object-fit:cover;
  background:#25b7ff;
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  padding:14px 0;
}
.footer-bottom-inner{
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  font-weight:700;
}
.hidden{
  display:none!important;
}
.zoom-box{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:24px;
  align-items:stretch;
}
.zoom-left{
  background:#fff;
  border-radius:24px;
  padding:28px;
  box-shadow:var(--shadow);
}
.zoom-left h3{
  margin:0 0 14px;
  font-size:28px;
  font-weight:800;
  color:#163b63;
}
.zoom-left p{
  margin:0 0 18px;
  color:#4a5568;
  font-size:16px;
  line-height:1.7;
}
.zoom-meta{
  display:grid;
  gap:10px;
  margin-bottom:22px;
  font-size:16px;
  color:#1f2937;
}
.zoom-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.zoom-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
  height:48px;
  padding:0 18px;
  border-radius:12px;
  text-decoration:none;
  font-weight:700;
  border:1px solid #2f6f9f;
  color:#2f6f9f;
  background:#fff;
  transition:.2s ease;
}
.zoom-btn:hover{
  transform:translateY(-2px);
}
.zoom-btn.primary{
  background:#2f6f9f;
  color:#fff;
}
.zoom-right{
  background:#eef5fb;
  border-radius:24px;
  overflow:hidden;
  min-height:320px;
  box-shadow:var(--shadow);
}
.zoom-right img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* GOOGLE MAP - STATISTIKA ICHIDAGI MAP JOYI */
.health-map-panel{
  display:block;
  place-items:initial;
  position:relative;
  overflow:hidden;
  min-height:520px;
  padding:18px;
}
.health-map{
  width:100%;
  height:360px;
  border-radius:22px;
  overflow:hidden;
  background:#e9eef3;
}
.health-map-iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.map-search-box{
  display:flex;
  gap:10px;
  margin-bottom:14px;
}
.map-search-box input{
  width:100%;
  height:46px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:14px;
  padding:0 14px;
  font-family:'Inter',system-ui,sans-serif;
  font-size:14px;
  outline:none;
  background:#fff;
}
.map-search-box input:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(47,111,159,.12);
}
.map-search-box button{
  height:46px;
  border:0;
  border-radius:14px;
  padding:0 18px;
  background:var(--blue);
  color:#fff;
  font-family:'Inter',system-ui,sans-serif;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.map-search-box button:hover{
  filter:brightness(1.05);
}
.map-list-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:14px 0 10px;
}
.map-list-head strong{
  font-size:15px;
}
.map-list-head span{
  color:#64748b;
  font-size:14px;
  font-weight:700;
}
.map-places-list{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:0 0 4px;
  scrollbar-width:thin;
}
.map-place-item{
  min-width:230px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  padding:11px 12px;
  background:#fff;
  text-align:left;
  cursor:pointer;
  font-family:'Inter',system-ui,sans-serif;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
  transition:.2s ease;
}
.map-place-item:hover,
.map-place-item.active{
  transform:translateY(-2px);
  border-color:rgba(47,111,159,.45);
  box-shadow:0 12px 26px rgba(9,30,66,.1);
}
.map-place-item strong{
  display:block;
  font-size:13px;
  color:#111827;
  line-height:1.35;
}
.map-place-item span{
  display:block;
  margin-top:5px;
  font-size:12px;
  color:#6b7280;
  line-height:1.4;
}
.map-empty-text{
  width:100%;
  min-height:80px;
  display:grid;
  place-items:center;
  padding:12px;
  border-radius:14px;
  background:#f8fbfd;
  color:#64748b;
  font-weight:600;
  font-size:14px;
}
.health-place-info .info-row{
  align-items:flex-start;
}
.health-place-info .info-row span{
  font-size:17px;
  line-height:1.45;
  font-weight:700;
  max-width:62%;
  text-align:left;
}
.health-place-info .info-row strong{
  text-align:right;
  color:#111827;
  min-width:170px;
}
.selected-map-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:18px;
  min-height:48px;
  border-radius:14px;
  background:linear-gradient(90deg,#2f6f9f,#3d9ce2);
  color:#fff;
  font-weight:800;
}

@media (max-width:1200px){
  .quick-grid,
  .stats-grid,
  .useful-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .card-grid.three,
  .video-grid,
  .footer-grid,
  .map-row,
  .zoom-box{
    grid-template-columns:1fr;
  }
  .hero h1{
    font-size:48px;
  }
}
@media (max-width:768px){
  .topbar-promo{
    display:none !important;
  }

  .container{
    width:min(100% - 24px,1410px);
  }
  .topbar-inner,
  .nav-inner{
    display:block;
  }
  .contact-items{
    margin-top:16px;
    justify-content:flex-start;
  }
  .nav-links{
    gap:16px;
    padding:10px 0;
  }
  .hero{
    height:430px;
  }
  .quick-section{
    margin-top:0;
    padding:16px 0 22px;
    background:#fff;
  }
  .hero-content{
    padding-left:16px;
    padding-right:16px;
  }
  .hero h1{
    font-size:36px;
  }
  .hero p{
    font-size:18px;
  }
  .quick-grid,
  .card-grid.three,
  .video-grid,
  .useful-grid,
  .stats-grid{
    grid-template-columns:1fr;
  }
  .section-head h2{
    font-size:28px;
  }
  .contact-table td,
  .contact-table tr{
    display:block;
    width:100%;
  }
  .contact-table td:first-child{
    width:100%;
  }
  .contact-map-media,
  .contact-map-media iframe{
    height:280px;
  }
  .health-map-panel{
    padding:14px;
  }
  .map-search-box{
    flex-direction:column;
  }
  .map-search-box button{
    width:100%;
  }
  .health-map{
    height:320px;
  }
  .map-place-item{
    min-width:190px;
  }
  .health-place-info .info-row{
    display:block;
  }
  .health-place-info .info-row span{
    max-width:100%;
    display:block;
    margin-bottom:4px;
  }
  .health-place-info .info-row strong{
    display:block;
    text-align:left;
  }
}

/* LANGUAGE SWITCHER */
.lang-wrap{
  position:relative;
}
.lang-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:150px;
  padding:8px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.16);
  border:1px solid rgba(15,23,42,.08);
  display:none;
  z-index:50;
}
.lang-wrap.open .lang-menu{
  display:block;
}
.lang-menu button{
  width:100%;
  border:0;
  background:transparent;
  padding:10px 12px;
  border-radius:10px;
  text-align:left;
  font-family:'Inter',system-ui,sans-serif;
  font-weight:700;
  color:#1f2430;
  cursor:pointer;
}
.lang-menu button:hover{
  background:#f3f6f9;
}

/* SOFT SCROLL REVEAL */
.reveal-init,
.reveal-left-init,
.reveal-right-init{
  opacity:0;
  will-change:transform, opacity;
}
.reveal-init{
  transform:translateY(26px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal-left-init{
  transform:translateX(-28px);
  transition:opacity .75s ease, transform .75s ease;
}
.reveal-right-init{
  transform:translateX(28px);
  transition:opacity .75s ease, transform .75s ease;
}
.reveal-show{
  opacity:1;
  transform:none;
}


/* LEFT FLOAT DOCK - TO'G'RILANGAN */
.left-float-dock{
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  z-index:42;
  width:96px;
  padding:132px 0 36px 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:16px;

  background:linear-gradient(180deg,#0f78ad 0%,#087fb9 45%,#0571a8 100%);
  transform:translateX(-98px);
  opacity:0;
  pointer-events:none;
  transition:transform .52s cubic-bezier(.22,.74,.24,1), opacity .35s ease;
}

/* Sizda JS eski class nomini ishlatsa ham, yangi show class ishlatsa ham ishlaydi */
.left-float-dock.show,
.left-float-dock.is-visible{
  transform:translateX(0);
  opacity:1;
  pointer-events:auto;
}

/* Panel ichidagi hamma tugmalar bir xil */
.left-float-dock a,
.left-float-dock button,
.left-float-dock .dock-item,
.left-float-dock .dock-logo,
.left-float-dock .left-dock-logo,
.left-float-dock .float-dock-btn{
  position:relative;
  z-index:1;
  width:62px;
  height:62px;
  margin-left:0;
  border:0;
  outline:none;
  border-radius:18px;
  background:rgba(255,255,255,.13) !important;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:#fff;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease, color .25s ease;
}

/* Eski oq dumaloq logo fonini butunlay o'chiradi */
.left-float-dock .dock-logo,
.left-float-dock .left-dock-logo{
  border:none !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.13) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.08) !important;
}

/* Gerb rasmi oq doira bo'lib qolmasin */
.left-float-dock img,
.left-float-dock .dock-logo img,
.left-float-dock .left-dock-logo img{
  width:42px;
  height:42px;
  max-width:42px;
  max-height:42px;
  object-fit:contain;
  border-radius:50%;
  background:transparent !important;
  padding:0 !important;
}

/* Hover */
.left-float-dock a:hover,
.left-float-dock button:hover,
.left-float-dock .dock-item:hover,
.left-float-dock .dock-logo:hover,
.left-float-dock .left-dock-logo:hover,
.left-float-dock .float-dock-btn:hover{
  background:rgba(255,255,255,.22) !important;
  transform:translateX(4px);
  box-shadow:0 14px 28px rgba(0,0,0,.14);
}

/* FAQAT BOSILGAN TUGMA RANGI O'ZGARADI */
.left-float-dock a.active,
.left-float-dock button.active,
.left-float-dock .dock-item.active,
.left-float-dock .dock-logo.active,
.left-float-dock .left-dock-logo.active,
.left-float-dock .float-dock-btn.active{
  background:linear-gradient(135deg,#eafffb 0%,#bff4e7 100%) !important;
  color:#063b5c !important;
  transform:translateX(8px);
  box-shadow:0 16px 32px rgba(0,0,0,.18) !important;
}

/* Active bo'lganda gerb orqasi yana oq bo'lib ketmasin */
.left-float-dock .active img,
.left-float-dock a.active img,
.left-float-dock button.active img{
  background:transparent !important;
}

/* Til tugmasi */
.left-float-dock .dock-lang{
  font-size:17px;
  font-weight:800;
  letter-spacing:.02em;
}

/* Mobil / kichik ekranda chap panel yopiladi */
@media (max-width:1100px){
  .left-float-dock{
    display:none;
  }
}

/* AUTO SECTION CAROUSELS */
.auto-carousel{
  position:relative;
  display:block !important;
  width:100%;
  grid-template-columns:none !important;
  gap:0 !important;
}
.auto-carousel .carousel-viewport{
  width:100%;
  overflow:hidden;
  padding:8px 0 16px;
}
.auto-carousel .carousel-track{
  display:flex;
  align-items:stretch;
  will-change:transform;
}
.auto-carousel .carousel-slide{
  flex:0 0 auto;
  min-width:0;
}
.auto-carousel .carousel-slide > *{
  height:100%;
  transition:transform .32s ease, box-shadow .32s ease, filter .32s ease;
}
.auto-carousel .carousel-slide:hover > *{
  transform:translateY(-8px) scale(1.015);
  box-shadow:0 22px 38px rgba(9,30,66,.16);
  filter:saturate(1.03);
}
.auto-carousel .carousel-slide .card,
.auto-carousel .carousel-slide .video-card .card{
  height:100%;
}
.auto-carousel .carousel-slide .video-card{
  display:block;
}
.auto-carousel .carousel-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:4px;
}
.auto-carousel .carousel-dots button{
  width:10px;
  height:10px;
  border:none;
  border-radius:999px;
  background:rgba(47,111,159,.20);
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, width .2s ease;
}
.auto-carousel .carousel-dots button.active{
  width:26px;
  background:var(--blue);
}
.auto-carousel:hover .carousel-dots button.active{
  transform:scale(1.02);
}

@media (max-width:768px){
  .auto-carousel .carousel-viewport{
    padding:6px 0 12px;
  }
}

/* ABOUT PAGE */
.brand-link{display:flex; align-items:center; gap:18px; color:inherit;}
.about-page-body{background:#eef3f6;}
.about-main{padding-top:34px; min-height:55vh;}
.about-head{margin-bottom:20px;}
.about-layout{display:grid; grid-template-columns:minmax(0,1.9fr) minmax(280px,.9fr); gap:22px; align-items:start;}
.about-leaders-list{display:grid; gap:14px;}
.leader-card{display:grid; grid-template-columns:88px minmax(0,1fr) 280px; gap:18px; align-items:center; background:#fff; border-radius:18px; padding:16px 18px; box-shadow:var(--shadow); border:1px solid rgba(9,30,66,.06);}
.leader-left{display:flex; align-items:center; justify-content:center;}
.leader-photo{width:78px; height:78px; border-radius:50%; object-fit:cover; background:#eef3f8;}
.leader-role{font-size:13px; color:#8b97aa; line-height:1.5; margin-bottom:4px;}
.leader-name{font-size:30px; line-height:1.2; margin:0 0 10px; font-weight:500;}
.leader-meta{display:flex; gap:8px; align-items:center; color:#334155; font-size:14px;}
.leader-icon{color:#6ea9d2; font-size:14px;}
.leader-side{justify-self:end; text-align:left; min-width:220px;}
.leader-side-label{font-size:13px; color:#8b97aa; margin-bottom:4px;}
.leader-side-value{font-size:14px; color:#334155; line-height:1.45;}
.about-sidebar-card{background:#fff; border-radius:18px; box-shadow:var(--shadow); padding:12px 16px; border:1px solid rgba(9,30,66,.06);}
.about-sidebar-card h3{margin:0 0 6px; font-size:20px; font-weight:600;}
.about-services-list{display:grid;}
.about-service-item{display:grid; grid-template-columns:52px 1fr; gap:14px; align-items:center; padding:16px 0; border-top:1px solid #edf2f7; transition:background .2s ease;}
.about-service-item:first-child{border-top:none;}
.about-service-item:hover{background:linear-gradient(90deg, rgba(47,111,159,.04), rgba(47,111,159,0));}
.about-service-icon{width:44px; height:44px; border-radius:50%; background:#eef4f8; display:grid; place-items:center;}
.about-service-icon img{width:24px; height:24px; object-fit:contain;}
.about-service-text{font-size:15px; line-height:1.4; color:#334155;}
@media (max-width: 1200px){
  .about-layout{grid-template-columns:1fr;}
  .leader-card{grid-template-columns:88px minmax(0,1fr);}
  .leader-side{justify-self:start; grid-column:2;}
}
@media (max-width: 768px){
  .leader-card{grid-template-columns:1fr; text-align:left;}
  .leader-left{justify-content:flex-start;}
  .leader-side{grid-column:auto; min-width:0; width:100%;}
  .leader-name{font-size:24px;}
}

/* DOCS PAGE */
.docs-page-body{background:#eef3f6;}
.docs-layout{display:grid; grid-template-columns:minmax(0,1.9fr) minmax(280px,.9fr); gap:22px; align-items:start;}
.docs-content-col{display:grid; gap:18px;}
.docs-cards-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;}
.doc-list-card{width:100%; text-align:left; border:none; background:#fff; border-radius:16px; padding:16px 18px; box-shadow:var(--shadow); border:1px solid rgba(9,30,66,.06); cursor:pointer; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.doc-list-card:hover{transform:translateY(-3px); box-shadow:0 16px 26px rgba(9,30,66,.11);}
.doc-list-card.active{border-color:rgba(47,111,159,.35); box-shadow:0 18px 28px rgba(47,111,159,.14);}
.doc-list-title{font-size:14px; line-height:1.45; font-weight:700; color:#24374a; text-transform:uppercase; min-height:42px;}
.doc-list-meta{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; color:#7b8799; font-size:12px;}
.doc-type-badge{display:inline-flex; align-items:center; justify-content:center; min-width:52px; height:24px; border-radius:999px; background:#eef4f8; color:#2f6f9f; font-weight:800; letter-spacing:.03em;}
.docs-viewer-card{background:#fff; border-radius:18px; box-shadow:var(--shadow); border:1px solid rgba(9,30,66,.06); overflow:hidden;}
.docs-viewer-toolbar{display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 18px; border-bottom:1px solid #edf2f7; background:#fbfdff;}
.docs-viewer-label{font-size:13px; color:#7d8ba0; margin-bottom:4px;}
.docs-viewer-name{font-size:18px; font-weight:700; color:#1f2430; line-height:1.35;}
.docs-viewer-actions{display:flex; gap:10px; flex-wrap:wrap;}
.docs-action-btn{display:inline-flex; align-items:center; justify-content:center; min-width:150px; height:42px; padding:0 16px; border-radius:12px; border:1px solid #d7e3ef; background:#fff; color:#1f2430; font-weight:700; cursor:pointer; text-decoration:none;}
.docs-action-btn.primary{background:linear-gradient(90deg,#2f6f9f,#3d9ce2); border-color:transparent; color:#fff;}
.docs-viewer-hint{padding:14px 18px; color:#64748b; font-size:14px; border-bottom:1px solid #edf2f7; background:#f8fbfd;}
.docs-viewer-hint.is-hidden{display:none;}
.docs-viewer-frame{width:100%; height:760px; border:0; display:block; background:#eef3f8;}
.docs-viewer-frame.is-hidden{display:none;}

@media (max-width: 1200px){
  .docs-layout{grid-template-columns:1fr;}
}
@media (max-width: 900px){
  .docs-cards-grid{grid-template-columns:1fr;}
  .docs-viewer-toolbar{flex-direction:column; align-items:flex-start;}
  .docs-action-btn{width:100%;}
}

/* DOCS PAGE SIMPLIFIED */
.docs-simple-wrap{
  display:block;
}
.docs-cards-grid-wide{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.docs-print-trigger{
  min-height:120px;
}

/* DOC PRINT PAGE */
.docs-print-main{padding-bottom:40px;}
.docs-print-card{
  background:#fff;
  border-radius:18px;
  box-shadow:var(--shadow);
  border:1px solid rgba(9,30,66,.06);
  overflow:hidden;
}
.docs-print-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  border-bottom:1px solid #edf2f7;
  background:#fbfdff;
}

@media (max-width: 900px){
  .docs-cards-grid-wide{
    grid-template-columns:1fr;
  }
  .docs-print-toolbar{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* DOCS PRINT PAGE - ICON ACTIONS */
.docs-print-card-clean{
  overflow:visible;
}
.docs-print-toolbar-clean{
  align-items:flex-start;
}
.docs-print-title-wrap{
  display:grid;
  gap:6px;
}
.docs-print-tools-inline{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}
.docs-tool-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:220px;
  height:52px;
  padding:0 18px;
  border:none;
  border-radius:12px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(9,30,66,.10);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.docs-tool-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(9,30,66,.14);
}
.docs-tool-btn-print{
  background:#bb7a17;
  color:#fff;
}
.docs-tool-btn-analyze{
  background:#0f4c9a;
  color:#fff;
}
.docs-tool-icon{
  font-size:20px;
  line-height:1;
}
.docs-viewer-hint-compact{
  margin:0 20px 14px;
  border-radius:12px;
  border:1px solid #e7edf5;
}
.docs-viewer-frame-wrap.clean{
  margin:0 20px 18px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid #e7edf5;
  background:#f7fafc;
}
.docs-print-bottom-note{
  padding:0 20px 22px;
}
.docs-simple-link{
  font-weight:700;
  color:#2f6f9f;
}
@media (max-width: 900px){
  .docs-print-tools-inline{width:100%;}
  .docs-tool-btn{width:100%; min-width:0; justify-content:center;}
}

/* TOP WEATHER INLINE */
.top-weather{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0;
  min-width:auto;
  max-width:none;
  height:auto;
  background:transparent;
  border:none;
  box-shadow:none;
  overflow:visible;
  margin-left:4px;
  margin-right:2px;
  position:relative;
}
.top-weather::before{display:none !important;content:none !important;}
.weather-main{
  display:flex;
  align-items:center;
  gap:10px;
}
.weather-main-text{
  display:flex;
  align-items:baseline;
  gap:8px;
  white-space:nowrap;
}
.weather-temp{
  font-weight:800;
  font-size:18px;
  line-height:1;
  color:#2f6f9f;
  letter-spacing:-0.02em;
}
.weather-status{
  font-size:14px;
  font-weight:700;
  color:#42586f;
  line-height:1;
}
.weather-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  height:auto;
  background:transparent;
  border-radius:0;
  box-shadow:none;
  font-size:24px;
  line-height:1;
  transform-origin:center;
  animation:weatherIconFloat 2.8s ease-in-out infinite;
}
.weather-ticker{display:none !important;}
.top-weather:hover{transform:none;box-shadow:none;}
.weather-day .weather-icon{filter:drop-shadow(0 2px 6px rgba(250,180,0,.28));}
.weather-night .weather-icon{filter:drop-shadow(0 2px 6px rgba(90,120,255,.22));}
.weather-rain .weather-icon{filter:drop-shadow(0 2px 6px rgba(66,165,245,.24));}
.weather-snow .weather-icon{filter:drop-shadow(0 2px 6px rgba(180,210,255,.24));}
.weather-fog .weather-icon{filter:drop-shadow(0 2px 6px rgba(160,170,185,.24));}
.weather-storm .weather-icon{filter:drop-shadow(0 2px 6px rgba(120,90,255,.24));}
@keyframes weatherIconFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-2px) rotate(-2deg)}
}
@media (max-width: 1280px){
  .weather-temp{font-size:17px;}
  .weather-status{font-size:13px;}
  .weather-icon{font-size:22px;}
}
@media (max-width: 1100px){
  .top-weather{
    order:10;
    width:100%;
    justify-content:flex-start;
    margin-left:0;
    margin-top:4px;
  }
}
@media (max-width: 768px){
  .top-weather{
    width:100%;
    justify-content:flex-start;
    padding-top:2px;
  }
  .weather-temp{font-size:16px;}
  .weather-status{font-size:12px;}
  .weather-icon{font-size:21px;}
}

/* WEATHER INLINE + LANGUAGE SAME ROW */
.topbar-inner{
  flex-wrap:nowrap;
}
.contact-items{
  gap:14px;
  flex-wrap:nowrap;
}
.contact-card,
.top-weather,
.lang-wrap,
.weather-lang-inline{
  flex:0 0 auto;
}
.weather-lang-inline{
  display:inline-flex;
  align-items:center;
  gap:14px;
  white-space:nowrap;
  margin-left:4px;
}
.top-weather{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  padding:0;
  min-width:auto;
  max-width:none;
  margin:0;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.weather-main{
  gap:8px;
}
.weather-main-text{
  gap:8px;
  white-space:nowrap;
}
.weather-temp{
  font-size:16px;
  font-weight:800;
  color:#2f6f9f;
}
.weather-status{
  font-size:14px;
  font-weight:700;
  color:#36485d;
}
.weather-icon{
  font-size:22px;
  animation:weatherInlineFloat 3.1s ease-in-out infinite;
}
.weather-ticker{
  display:none !important;
}
.lang-wrap{
  margin-left:2px;
}
.topbar-promo{
  flex:0 1 340px;
  min-width:220px;
  max-width:380px;
  height:96px;
}
.topbar-promo img{
  max-height:96px;
}
@keyframes weatherInlineFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}
@media (max-width:1200px){
  .topbar-promo{
    flex:0 1 280px;
    max-width:300px;
    height:82px;
  }
  .topbar-promo img{max-height:82px;}
  .contact-items{gap:10px;}
  .weather-lang-inline{gap:10px;}
  .weather-temp{font-size:15px;}
  .weather-status{font-size:13px;}
  .weather-icon{font-size:20px;}
}
@media (max-width:992px){
  .topbar-inner{
    flex-wrap:wrap;
    justify-content:space-between;
  }
  .topbar-promo{
    order:3;
    margin:8px auto 0;
  }
  .contact-items{
    width:100%;
    justify-content:flex-end;
    flex-wrap:wrap;
  }
}
@media (max-width:768px){
  .weather-lang-inline{
    width:100%;
    justify-content:flex-start;
    margin-top:4px;
  }
  .top-weather{
    width:auto;
  }
}

/* NAV ROUND BUTTONS + SEARCH + SOFT THEME */
.nav-actions{
  gap:12px;
}
.nav-icon{
  width:48px;
  height:48px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(255,255,255,.96) 0%, rgba(207,242,255,.88) 42%, rgba(132,211,244,.72) 100%);
  color:#19577f;
  border:1px solid rgba(255,255,255,.45);
  box-shadow:0 8px 18px rgba(15,69,106,.16);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease;
  font-size:18px;
  font-weight:700;
}
.nav-icon:hover{
  transform:translateY(-1px) scale(1.03);
  box-shadow:0 10px 22px rgba(15,69,106,.2);
}
.nav-icon.active{
  background:#ffffff;
  color:#67a880;
  box-shadow:0 10px 22px rgba(87,165,120,.16);
}

.nav-search-panel{
  max-height:0;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(245,253,255,.98) 0%, rgba(233,248,250,.98) 55%, rgba(227,245,247,.97) 100%);
  border-bottom:1px solid rgba(76,157,181,.14);
  box-shadow:0 12px 26px rgba(24,92,112,.10);
  transition:max-height .28s ease;
}
.nav-search-panel.is-open{
  max-height:420px;
}
.nav-search-inner{
  padding:16px 0 18px;
}
.nav-search-box{
  display:flex;
  gap:12px;
  align-items:center;
}
.nav-search-input{
  flex:1;
  height:50px;
  border-radius:18px;
  border:1px solid rgba(76,157,181,.18);
  background:rgba(255,255,255,.92);
  padding:0 18px;
  font:inherit;
  color:#1f2430;
  outline:none;
  box-shadow:0 8px 18px rgba(24,92,112,.06);
}
.nav-search-input:focus{
  border-color:rgba(76,157,181,.38);
  box-shadow:0 0 0 4px rgba(97,191,181,.12);
}
.nav-search-go{
  height:50px;
  min-width:120px;
  border:none;
  border-radius:18px;
  background:linear-gradient(135deg,#2f6f9f 0%, #3f9dbf 100%);
  color:#fff;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  padding:0 18px;
  box-shadow:0 10px 20px rgba(33,102,139,.16);
}
.nav-search-results{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.nav-search-results:empty{
  display:none;
  margin-top:0;
}
.nav-search-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:64px;
  border:none;
  border-radius:20px;
  padding:14px 16px;
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 22px rgba(24,92,112,.07);
  cursor:pointer;
  text-align:left;
  transition:transform .18s ease, box-shadow .18s ease;
}
.nav-search-item:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 26px rgba(24,92,112,.12);
}
.nav-search-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.nav-search-item-label{
  font-weight:800;
  color:#243142;
  line-height:1.32;
}
.nav-search-item-meta{
  font-size:13px;
  color:#6b8196;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.nav-search-item-type{
  font-size:12px;
  font-weight:800;
  color:#4e8aa6;
  text-transform:uppercase;
  background:rgba(195,231,239,.75);
  padding:6px 10px;
  border-radius:999px;
}
.nav-search-empty{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:18px 2px 4px;
  color:#314457;
}
.nav-search-empty strong{font-size:16px;}
.nav-search-empty span{font-size:14px;color:#6c8192;}

body.theme-soft{
  --blue:#4aa9ba;
  --nav:#cbeef2;
  --bg:#eef9fb;
  --muted:#6d8f95;
  --shadow:0 12px 26px rgba(48,118,136,.08);
  background:
    radial-gradient(circle at top left, rgba(223,246,249,.85) 0%, rgba(223,246,249,0) 28%),
    linear-gradient(180deg, #f7fdfe 0%, #eff9fb 42%, #edf8fa 100%);
}
body.theme-soft .topbar,
body.theme-soft .contact-table-wrap,
body.theme-soft .card,
body.theme-soft .quick-card,
body.theme-soft .stat-card,
body.theme-soft .map-panel,
body.theme-soft .map-info,
body.theme-soft .zoom-left,
body.theme-soft .zoom-right,
body.theme-soft .about-page-shell,
body.theme-soft .docs-page-shell,
body.theme-soft .docs-list-card,
body.theme-soft .docs-preview-card,
body.theme-soft .leader-card,
body.theme-soft .about-services-card,
body.theme-soft .doc-list-card,
body.theme-soft .about-sidebar-card,
body.theme-soft .about-leader-card,
body.theme-soft .about-service-item{
  background:#ffffff;
}
body.theme-soft .section,
body.theme-soft .stats-bg,
body.theme-soft .about-main,
body.theme-soft .docs-simple-wrap,
body.theme-soft .about-page-body,
body.theme-soft .docs-page-body,
body.theme-soft .doc-print-body{
  background:transparent;
}
body.theme-soft .mainnav{
  background:linear-gradient(90deg, #ddf4f6 0%, #c8edf1 36%, #b9e7eb 100%);
  box-shadow:0 8px 18px rgba(48,118,136,.09);
}
body.theme-soft .nav-links a{
  color:#23424b;
}
body.theme-soft .nav-search-panel{
  background:linear-gradient(180deg, rgba(245,253,255,.98) 0%, rgba(230,247,249,.98) 100%);
}
body.theme-soft .nav-search-go,
body.theme-soft .zoom-btn.primary,
body.theme-soft .selected-map-btn,
body.theme-soft #mapSearchBtn,
body.theme-soft .appeal-btn{
  background:linear-gradient(135deg,#65be9c 0%, #8ed1bb 100%);
  color:#fff;
  border-color:#74c8a7;
}
body.theme-soft .weather-temp{
  color:#4fa76e;
}
body.theme-soft .nav-icon{
  background:linear-gradient(135deg, rgba(255,255,255,.96) 0%, rgba(229,248,246,.96) 44%, rgba(184,233,226,.86) 100%);
  color:#346f66;
  box-shadow:0 10px 20px rgba(72,151,137,.14);
}
body.theme-soft .nav-icon.active{
  background:#ffffff;
  color:#67a880;
  box-shadow:0 10px 22px rgba(87,165,120,.16);
}

@media (max-width:992px){
  .nav-search-results{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .nav-actions{gap:8px; margin-top:8px;}
  .nav-icon{width:42px; height:42px; font-size:16px;}
  .nav-search-box{flex-direction:column; align-items:stretch;}
  .nav-search-go{width:100%;}
}

/* NEWS ARCHIVE + DETAIL */
.news-page-main,
.news-detail-main{
  background:#fff;
}
.news-page-head,
.news-detail-head{
  margin-bottom:20px;
}
.news-archive-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.news-archive-card{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid #edf2f7;
}
.news-archive-cover{
  display:block;
}
.news-archive-cover img{
  width:100%;
  height:250px;
  object-fit:cover;
  background:#eaf1f7;
}
.news-archive-body{
  padding:14px 18px 20px;
}
.news-archive-date{
  font-size:14px;
  color:#8b97aa;
  margin-bottom:10px;
}
.news-archive-title{
  display:block;
  font-size:28px;
  line-height:1.25;
  font-weight:700;
  margin-bottom:12px;
}
.news-archive-text{
  color:#64748b;
  line-height:1.65;
  font-size:16px;
}
.news-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:26px;
  align-items:start;
}
.news-detail-article{
  background:#fff;
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:28px;
}
.news-back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#2f6f9f;
  font-weight:700;
  margin-bottom:18px;
}
.news-detail-meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-bottom:10px;
}
.news-detail-date{
  color:#7d8ba0;
  font-size:14px;
}
.news-detail-type{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 12px;
  background:#edf6fb;
  color:#2f6f9f;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
}
.news-detail-title{
  margin:0 0 18px;
  font-size:42px;
  line-height:1.15;
}
.news-detail-cover-wrap{
  margin-bottom:18px;
}
.news-detail-image{
  width:100%;
  max-height:560px;
  object-fit:cover;
  border-radius:18px;
  background:#eaf1f7;
}
.news-detail-lead{
  font-size:18px;
  line-height:1.7;
  color:#4b5563;
  margin-bottom:18px;
}
.news-detail-content p{
  margin:0 0 16px;
  line-height:1.9;
  color:#475569;
  font-size:16px;
}
.news-detail-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px;
}
.news-detail-sidebar{
  position:sticky;
  top:92px;
}
.news-detail-sidebar-card{
  background:#fff;
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:22px;
}
.news-detail-sidebar-card h3{
  margin:0 0 16px;
  font-size:22px;
}
.related-news-list{
  display:grid;
  gap:14px;
}
.related-news-item{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:12px;
  align-items:start;
}
.related-news-item img{
  width:96px;
  height:72px;
  border-radius:12px;
  object-fit:cover;
  background:#eaf1f7;
}
.related-news-copy{
  display:grid;
  gap:6px;
}
.related-news-title{
  font-weight:700;
  line-height:1.4;
}
.related-news-date{
  font-size:13px;
  color:#7d8ba0;
}
@media (max-width:1200px){
  .news-archive-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .news-detail-layout{ grid-template-columns:1fr; }
  .news-detail-sidebar{ position:static; }
}
@media (max-width:768px){
  .news-archive-grid{ grid-template-columns:1fr; }
  .news-archive-title{ font-size:24px; }
  .news-detail-article{ padding:20px; border-radius:18px; }
  .news-detail-title{ font-size:30px; }
  .related-news-item{ grid-template-columns:84px 1fr; }
  .related-news-item img{ width:84px; height:64px; }
}

/* VIDEOS ARCHIVE + DETAIL */
.videos-page-main,
.video-detail-main{
  background:#fff;
}
.video-archive-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.video-archive-card{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid #edf2f7;
}
.video-archive-cover{
  position:relative;
  display:block;
}
.video-archive-cover img{
  width:100%;
  height:250px;
  object-fit:cover;
  background:#eaf1f7;
}
.video-archive-play{
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  width:74px;
  height:74px;
  border-radius:50%;
  background:rgba(20,86,150,.88);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:30px;
  box-shadow:0 16px 28px rgba(16,47,102,.18);
}
.video-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:26px;
  align-items:start;
}
.video-detail-article{
  background:#fff;
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:28px;
}
.video-detail-sidebar{
  position:sticky;
  top:92px;
}
.video-detail-player-wrap{
  margin:0 0 20px;
}
.video-detail-player-box,
.video-embed-box{
  width:100%;
}
.video-embed-box iframe,
.video-embed-box video{
  width:100%;
  aspect-ratio:16 / 9;
  border:0;
  display:block;
  border-radius:20px;
  background:#071a30;
  box-shadow:var(--shadow);
}
.video-detail-empty{
  min-height:320px;
  border-radius:20px;
  background:#eef4f8;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#64748b;
  font-weight:700;
}
@media (max-width:1200px){
  .video-archive-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .video-detail-layout{ grid-template-columns:1fr; }
  .video-detail-sidebar{ position:static; }
}
@media (max-width:768px){
  .video-archive-grid{ grid-template-columns:1fr; }
  .video-detail-article{ padding:20px; border-radius:18px; }
  .video-archive-play{ width:64px; height:64px; font-size:26px; }
}

.news-archive-card,
.video-archive-card{
  scroll-margin-top: 120px;
}

/* ===== LANGUAGE MENU: OZ / RU polished dropdown ===== */
.lang-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.lang-btn{
  min-width:92px;
  height:46px;
  padding:0 20px;
  border:1px solid rgba(47,111,159,.12);
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  border-radius:18px;
  font-weight:800;
  font-size:16px;
  letter-spacing:.2px;
  color:#1f2430;
  box-shadow:0 10px 24px rgba(9,30,66,.08);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.lang-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 30px rgba(9,30,66,.12);
  border-color:rgba(47,111,159,.22);
}
.lang-wrap.open .lang-btn,
.lang-btn[aria-expanded="true"]{
  border-color:rgba(47,111,159,.28);
  box-shadow:0 16px 34px rgba(9,30,66,.14);
}
.lang-menu{
  position:absolute;
  top:calc(100% + 14px);
  left:50%;
  right:auto;
  width:288px;
  padding:12px;
  border-radius:26px;
  background:rgba(255,255,255,.98);
  box-shadow:0 26px 56px rgba(15,23,42,.16);
  border:1px solid rgba(47,111,159,.10);
  
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  opacity:0;
  transform:translateX(-50%) translateY(-8px) scale(.98);
  pointer-events:none;
  z-index:120;
  transition:opacity .22s ease, transform .22s ease;
}
.lang-wrap.open .lang-menu,
.lang-menu.is-open{
  opacity:1;
  transform:translateX(-50%) translateY(0) scale(1);
  pointer-events:auto;
}
.lang-menu::before{
  content:"";
  position:absolute;
  top:-7px;
  left:50%;
  right:auto;
  width:14px;
  height:14px;
  background:#fff;
  border-left:1px solid rgba(47,111,159,.10);
  border-top:1px solid rgba(47,111,159,.10);
  transform:translateX(-50%) rotate(45deg);
}
.lang-menu button{
  width:100%;
  min-height:66px;
  border:1px solid rgba(47,111,159,.08);
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  padding:10px 14px;
  border-radius:18px;
  text-align:center;
  font-family:'Inter',system-ui,sans-serif;
  font-weight:800;
  font-size:22px;
  color:#163b63;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(9,30,66,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.lang-menu button + button{
  margin-top:0;
}
.lang-menu button:hover{
  background:linear-gradient(180deg,#f4fbff 0%,#eef8ff 100%);
  border-color:rgba(47,111,159,.20);
  transform:translateY(-2px);
  box-shadow:0 14px 26px rgba(9,30,66,.10);
  color:#1e6da0;
}
.lang-menu button.active{
  background:linear-gradient(135deg,#2f6f9f 0%,#3e8fc0 100%);
  border-color:transparent;
  color:#fff;
  box-shadow:0 18px 34px rgba(47,111,159,.26);
}
@media (max-width:768px){
  .lang-btn{
    min-width:78px;
    height:42px;
    padding:0 16px;
    border-radius:16px;
    font-size:15px;
  }
  .lang-menu{
    width:232px;
    padding:10px;
    border-radius:22px;
  }
  .lang-menu button{
    min-height:58px;
    border-radius:16px;
    font-size:19px;
  }
}

/* ===== FINAL FIX: compact vertical O'z / Ru language dropdown ===== */
.lang-wrap{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:300 !important;
}
.lang-btn{
  min-width:86px !important;
  height:44px !important;
  padding:0 18px !important;
  border-radius:15px !important;
  border:1px solid rgba(15,23,42,.08) !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  color:#1f2430 !important;
  font-weight:800 !important;
  font-size:18px !important;
  box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
  cursor:pointer !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
}
.lang-wrap.open .lang-btn,
.lang-btn[aria-expanded="true"]{
  background:#fff !important;
  box-shadow:0 16px 34px rgba(15,23,42,.13) !important;
}
.lang-menu{
  position:absolute !important;
  top:calc(100% + 10px) !important;
  left:50% !important;
  right:auto !important;
  width:96px !important;
  min-width:96px !important;
  max-width:96px !important;
  padding:6px !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.98) !important;
  border:1px solid rgba(15,23,42,.10) !important;
  box-shadow:0 18px 38px rgba(15,23,42,.14) !important;
 
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateX(-50%) translateY(-7px) scale(.98) !important;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease !important;
  z-index:301 !important;
  overflow:hidden !important;
}
.lang-wrap.open .lang-menu,
.lang-menu.is-open{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(-50%) translateY(0) scale(1) !important;
}
.lang-menu::before{
  content:"" !important;
  position:absolute !important;
  top:-6px !important;
  left:50% !important;
  width:12px !important;
  height:12px !important;
  background:#fff !important;
  border-left:1px solid rgba(15,23,42,.08) !important;
  border-top:1px solid rgba(15,23,42,.08) !important;
  transform:translateX(-50%) rotate(45deg) !important;
}
.lang-menu button{
  width:100% !important;
  min-height:38px !important;
  height:38px !important;
  border:0 !important;
  background:transparent !important;
  padding:0 !important;
  border-radius:8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  color:#1f2430 !important;
  font-weight:800 !important;
  font-size:17px !important;
  box-shadow:none !important;
  cursor:pointer !important;
  transition:background .16s ease, color .16s ease, transform .16s ease !important;
}
.lang-menu button + button{
  margin-top:2px !important;
}
.lang-menu button:hover,
.lang-menu button.active{
  background:#eef8fb !important;
  color:#1e6da0 !important;
  transform:none !important;
}
@media (max-width:768px){
  .lang-btn{min-width:74px !important;height:40px !important;font-size:16px !important;border-radius:13px !important;}
  .lang-menu{width:86px !important;min-width:86px !important;max-width:86px !important;}
  .lang-menu button{height:36px !important;min-height:36px !important;font-size:16px !important;}
}

/* =========================================================
   FINAL FIX: LEFT FLOAT DOCK
   - O'zidan o'zi active bo'lib qolmasin
   - Hoverda harakatlanmasin
   - Faqat bosilganda .active rangi o'zgarsin
   ========================================================= */
.left-float-dock{
  transition:transform .52s cubic-bezier(.22,.74,.24,1), opacity .32s ease !important;
}

.left-float-dock .dock-item,
.left-float-dock .dock-logo{
  position:relative !important;
  z-index:1 !important;
  margin-left:12px !important;
  width:56px !important;
  height:56px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.10) !important;
  color:#eef7ff !important;
  display:grid !important;
  place-items:center !important;
  cursor:pointer !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
  transform:none !important;
  opacity:1 !important;
  transition:background .18s ease, color .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

/* Gerb ham boshqa tugmalar bilan bir xil fonda tursin */
.left-float-dock .dock-logo{
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
}

/* Hover qilganda bosilgandek rang o'zgarmaydi, joyidan qimirlab ketmaydi */
.left-float-dock .dock-item:hover,
.left-float-dock .dock-logo:hover{
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  transform:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Faqat bosilganda active bo'lgan tugma oq/yumshoq rangga o'tadi */
.left-float-dock .dock-item.active,
.left-float-dock .dock-logo.active{
  background:linear-gradient(180deg,#f6ffff 0%,#dff8f4 100%) !important;
  color:#0f6f9c !important;
  border-color:rgba(255,255,255,.55) !important;
  box-shadow:0 12px 26px rgba(12,70,112,.20), inset 0 1px 0 rgba(255,255,255,.75) !important;
  transform:none !important;
}

/* Active bo'lganda ham hover qilsangiz joyidan siljimasin */
.left-float-dock .dock-item.active:hover,
.left-float-dock .dock-logo.active:hover{
  transform:none !important;
}

/* Gerb rasmi ichida oq kvadrat ko'rinmasin */
.left-float-dock .dock-logo img{
  width:40px !important;
  height:40px !important;
  border-radius:50% !important;
  object-fit:cover !important;
  background:transparent !important;
}

/* Til tugmasi ham boshqalar bilan bir xil o'lchamda */
.left-float-dock .dock-lang{
  font-size:17px !important;
  letter-spacing:.02em !important;
  font-weight:800 !important;
}

/* Avvalgi translateX active effektlarini to'liq o'chirish */
.dock-item.active,
.dock-logo.active,
.dock-item:hover,
.dock-logo:hover{
  transform:none !important;
}
/* STATS NUMBER ANIMATION */
.stat-value{
  display:inline-block;
  transition:transform .25s ease, color .25s ease, text-shadow .25s ease;
}

.stat-card.counting .stat-value{
  color:#2f6f9f;
  transform:scale(1.08);
  text-shadow:0 8px 18px rgba(47,111,159,.18);
}

.stat-card.count-done .stat-value{
  transform:scale(1);
}
.bus-route-link{
  display:block;
  width:100%;
  color:inherit;
  text-decoration:none;
}

.bus-route-animation{
  position:relative;
  width:100%;
  max-width:320px;
  height:70px;
  overflow:hidden;
  border-radius:0;
  background:transparent;
  border:none;
  box-shadow:none;
  margin-bottom:8px;
}

.bus-road{
  position:absolute;
  left:18px;
  right:58px;
  bottom:20px;
  height:3px;
  border-radius:99px;
  background:linear-gradient(90deg,#2f6f9f,#45b7d1);
  opacity:.45;
}

.bus-road::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-6px;
  height:1px;
  background:repeating-linear-gradient(
    90deg,
    rgba(47,111,159,.35) 0 14px,
    transparent 14px 24px
  );
}

.bus-route-link{
  display:block;
  width:100%;
  color:inherit;
  text-decoration:none;
}

.bus-route-animation{
  position:relative;
  width:100%;
  max-width:320px;
  height:70px;
  overflow:hidden;
  border-radius:0;
  background:transparent;
  border:none;
  box-shadow:none;
  margin-bottom:8px;
}

.bus-road{
  display:none;
}

.bus-gif{
  position:absolute;
  right:10px;
  left:auto;
  bottom:16px;
  width:38px;
  height:38px;
  object-fit:contain;
  animation:busMoveToHospitalReverse 4.5s linear infinite;
  z-index:2;
}

.hospital-gif{
  position:absolute;
  left:10px;
  right:auto;
  bottom:12px;
  width:42px;
  height:42px;
  object-fit:contain;
  z-index:3;
  animation:hospitalPulse 1.8s ease-in-out infinite;
}

.bus-route-text{
  font-weight:600;
  color:#334155;
  line-height:1.5;
  font-size:14px;
}

@keyframes busMoveToHospitalReverse{
  0%{
    transform:translateX(55px);
    opacity:0;
  }
  8%{
    opacity:1;
  }
  82%{
    opacity:1;
  }
  100%{
    transform:translateX(-240px);
    opacity:0;
  }
}

@keyframes hospitalPulse{
  0%,100%{
    transform:scale(1);
  }
  50%{
    transform:scale(1.05);
  }
}
.zoom-status{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  font-weight:700;
  font-size:14px;
  background:#eef3f8;
  color:#334155;
}

.zoom-status.waiting{
  background:#fff7ed;
  color:#c2410c;
}

.zoom-status.live{
  background:#ecfdf5;
  color:#15803d;
}

.zoom-status.ended{
  background:#f1f5f9;
  color:#64748b;
}

.zoom-btn.is-disabled,
.zoom-btn[aria-disabled="true"]{
  pointer-events:none;
  opacity:.55;
  filter:grayscale(.15);
}
/* LIVE DATE TIME - NAVBAR */
.live-datetime{
  height:42px;
  min-width:300px;
  padding:0 15px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(219,244,255,.88));
  color:#16496b;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.01em;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(15,69,106,.14);
  border:1px solid rgba(255,255,255,.45);
}

.live-date-text{
  color:#16496b;
}

.live-clock-icon{
  width:22px;
  height:22px;
  min-width:22px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  line-height:1;
  background:rgba(47,111,159,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}

.live-time-text{
  color:#0f3d5c;
  font-variant-numeric:tabular-nums;
}

@media (max-width:900px){
  .live-datetime{
    min-width:100%;
    width:100%;
    margin-top:8px;
    justify-content:center;
    font-size:13px;
    height:40px;
  }

  .live-clock-icon{
    width:20px;
    height:20px;
    min-width:20px;
    font-size:12px;
  }
}

/* EVENTS PAGE */
.events-page-main{
  background:#fff;
}

.events-page-intro{
  background:linear-gradient(135deg,#eef8ff 0%,#ffffff 100%);
  border:1px solid rgba(47,111,159,.10);
  border-radius:24px;
  padding:24px 28px;
  margin-bottom:26px;
  box-shadow:var(--shadow);
}

.events-page-intro h3{
  margin:0 0 10px;
  font-size:28px;
  color:#163b63;
}

.events-page-intro p{
  margin:0;
  color:#64748b;
  line-height:1.7;
  font-size:16px;
}

.events-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.event-card{
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid rgba(9,30,66,.07);
  opacity:0;
  transform:translateY(34px);
  transition:opacity .65s ease, transform .65s ease, box-shadow .25s ease;
}

.event-card.is-visible{
  opacity:1;
  transform:translateY(0);
}

.event-card:hover{
  box-shadow:0 22px 38px rgba(9,30,66,.15);
}

.event-cover{
  display:block;
  position:relative;
  height:220px;
  overflow:hidden;
  background:#eaf1f7;
}

.event-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}

.event-card:hover .event-cover img{
  transform:scale(1.05);
}

.event-type{
  position:absolute;
  left:14px;
  top:14px;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(47,111,159,.92);
  color:#fff;
  display:inline-flex;
  align-items:center;
  font-size:13px;
  font-weight:800;
}

.event-card-body{
  padding:16px 18px 20px;
}

.event-card-meta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#7d8ba0;
  font-size:13px;
  font-weight:700;
  margin-bottom:10px;
}

.event-card-title{
  display:block;
  font-size:20px;
  font-weight:800;
  line-height:1.3;
  color:#1f2430;
  margin-bottom:10px;
}

.event-card-body p{
  margin:0 0 16px;
  color:#64748b;
  font-size:15px;
  line-height:1.6;
}

.event-more-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border-radius:12px;
  background:#edf6fb;
  color:#2f6f9f;
  font-weight:800;
}

/* EVENT DETAIL */
.event-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:26px;
  align-items:start;
}

.event-detail-card{
  background:#fff;
  border-radius:24px;
  box-shadow:var(--shadow);
  border:1px solid rgba(9,30,66,.07);
  padding:28px;
}

.event-back-link{
  display:inline-flex;
  margin-bottom:18px;
  color:#2f6f9f;
  font-weight:800;
}

.event-detail-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:14px;
  color:#7d8ba0;
  font-size:14px;
  font-weight:700;
}

.event-type-badge{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:#edf6fb;
  color:#2f6f9f;
  font-weight:800;
}

.event-views{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:#f8fbfd;
  color:#334155;
}

.event-detail-card h1{
  margin:0 0 16px;
  font-size:42px;
  line-height:1.15;
  color:#1f2430;
}

.event-detail-lead{
  color:#64748b;
  font-size:18px;
  line-height:1.7;
  margin-bottom:20px;
}

.event-detail-image{
  width:100%;
  max-height:560px;
  object-fit:cover;
  border-radius:20px;
  background:#eaf1f7;
  margin-bottom:22px;
}

.event-video-box{
  width:100%;
  margin-bottom:22px;
}

.event-video-box iframe,
.event-video-box video{
  width:100%;
  aspect-ratio:16 / 9;
  border:0;
  border-radius:20px;
  display:block;
  background:#071a30;
}

.event-detail-content p{
  margin:0 0 16px;
  color:#475569;
  line-height:1.9;
  font-size:16px;
}

.event-detail-sidebar{
  position:sticky;
  top:92px;
}

.event-sidebar-card{
  background:#fff;
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:22px;
  border:1px solid rgba(9,30,66,.07);
}

.event-sidebar-card h3{
  margin:0 0 16px;
  font-size:22px;
}

.related-events-list{
  display:grid;
  gap:14px;
}
.related-event-item{
  display:grid;
  grid-template-columns:94px 1fr;
  gap:12px;
  align-items:start;
}

.related-event-item img{
  width:94px;
  height:70px;
  border-radius:12px;
  object-fit:cover;
  background:#eaf1f7;
}

.related-event-item strong{
  display:block;
  line-height:1.35;
  color:#1f2430;
  font-size:14px;
}

.related-event-item span{
  display:block;
  margin-top:5px;
  color:#7d8ba0;
  font-size:12px;
}

.events-empty{
  grid-column:1 / -1;
  background:#fff;
  border-radius:20px;
  box-shadow:var(--shadow);
  padding:28px;
  color:#64748b;
  font-weight:700;
  text-align:center;
}

@media (max-width:1300px){
  .events-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:1000px){
  .events-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .event-detail-layout{
    grid-template-columns:1fr;
  }

  .event-detail-sidebar{
    position:static;
  }
}

@media (max-width:650px){
  .events-grid{
    grid-template-columns:1fr;
  }

  .event-detail-card{
    padding:20px;
  }

  .event-detail-card h1{
    font-size:30px;
  }
}
.event-detail-main{
  background:#f8fbfd;
}

.event-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:26px;
  align-items:start;
}

.event-detail-card{
  background:#fff;
  border-radius:24px;
  box-shadow:var(--shadow);
  border:1px solid rgba(9,30,66,.07);
  padding:28px;
}

.event-back-link{
  display:inline-flex;
  margin-bottom:18px;
  color:#2f6f9f;
  font-weight:800;
}

.event-detail-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:14px;
  color:#7d8ba0;
  font-size:14px;
  font-weight:700;
}

.event-type-badge{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:#edf6fb;
  color:#2f6f9f;
  font-weight:800;
}

.event-views{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:#f8fbfd;
  color:#334155;
}

.event-detail-card h1{
  margin:0 0 16px;
  font-size:42px;
  line-height:1.15;
  color:#1f2430;
}

.event-detail-lead{
  color:#64748b;
  font-size:18px;
  line-height:1.7;
  margin-bottom:20px;
}

.event-detail-image{
  width:100%;
  max-height:560px;
  object-fit:cover;
  border-radius:20px;
  background:#eaf1f7;
  margin-bottom:22px;
}

.event-video-box{
  width:100%;
  margin-bottom:22px;
}

.event-video-box iframe,
.event-video-box video{
  width:100%;
  aspect-ratio:16 / 9;
  border:0;
  border-radius:20px;
  display:block;
  background:#071a30;
}

.event-video-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:14px;
  background:#0f5f95;
  color:#fff;
  font-weight:800;
}

.event-detail-content p{
  margin:0 0 16px;
  color:#475569;
  line-height:1.9;
  font-size:16px;
}

.event-detail-sidebar{
  position:sticky;
  top:92px;
}

.event-sidebar-card{
  background:#fff;
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:22px;
  border:1px solid rgba(9,30,66,.07);
}

.event-sidebar-card h3{
  margin:0 0 16px;
  font-size:22px;
}

.related-events-list{
  display:grid;
  gap:14px;
}

.related-event-item{
  display:grid;
  grid-template-columns:94px 1fr;
  gap:12px;
  align-items:start;
}

.related-event-item img{
  width:94px;
  height:70px;
  border-radius:12px;
  object-fit:cover;
  background:#eaf1f7;
}

.related-event-item strong{
  display:block;
  line-height:1.35;
  color:#1f2430;
  font-size:14px;
}

.related-event-item span{
  display:block;
  margin-top:5px;
  color:#7d8ba0;
  font-size:12px;
}

.hidden{
  display:none !important;
}

@media (max-width:1000px){
  .event-detail-layout{
    grid-template-columns:1fr;
  }

  .event-detail-sidebar{
    position:static;
  }
}

@media (max-width:650px){
  .event-detail-card{
    padding:20px;
  }

  .event-detail-card h1{
    font-size:30px;
  }
}

/* Professional DMED analysis dashboard */
.analysis-section{
  background:linear-gradient(180deg,#f4f8fc 0%,#ffffff 42%,#f4f8fc 100%);
  padding-top:46px;
  padding-bottom:50px;
}
.analysis-hero-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:24px;
  align-items:stretch;
  border-radius:30px;
  padding:30px;
  color:#fff;
  background:
    radial-gradient(circle at top right,rgba(73,188,255,.36),transparent 35%),
    linear-gradient(135deg,#123b63 0%,#2f6f9f 54%,#0d9488 100%);
  box-shadow:0 24px 60px rgba(15,69,111,.22);
  overflow:hidden;
  position:relative;
}
.analysis-hero-panel::after{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-90px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
}
.analysis-title-block,
.analysis-period-card{
  position:relative;
  z-index:1;
}
.analysis-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  color:inherit;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:12px;
}
.analysis-title-block h2{
  margin:18px 0 12px;
  font-size:42px;
  line-height:1.12;
}
.analysis-title-block p{
  margin:0;
  max-width:820px;
  color:rgba(255,255,255,.88);
  font-size:17px;
  line-height:1.7;
}
.analysis-period-card{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  border-radius:24px;
  padding:24px;
  backdrop-filter:blur(10px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
}
.analysis-period-card span,
.analysis-period-card small{
  color:rgba(255,255,255,.8);
}
.analysis-period-card strong{
  font-size:20px;
  line-height:1.45;
}
.analysis-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin:22px 0;
}
.analysis-kpi-card{
  background:#fff;
  border:1px solid rgba(15,69,111,.08);
  border-radius:22px;
  padding:20px;
  box-shadow:0 14px 36px rgba(9,30,66,.08);
  min-height:146px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.analysis-kpi-card.warning{
  border-color:rgba(245,158,11,.3);
  background:linear-gradient(180deg,#fff 0%,#fff7ed 100%);
}
.analysis-kpi-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#64748b;
  font-weight:800;
  font-size:13px;
}
.analysis-kpi-top i{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#eef7fb;
  font-style:normal;
}
.analysis-kpi-card strong{
  display:block;
  margin-top:12px;
  font-size:32px;
  line-height:1;
  color:#0f3d5e;
}
.analysis-kpi-card small{
  margin-top:10px;
  color:#7d8ba0;
  line-height:1.45;
}
.analysis-grid-main{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:22px;
  margin-top:22px;
}
.analysis-grid-main.second-row{
  grid-template-columns:1fr 1fr;
}
.analysis-card{
  background:#fff;
  border-radius:24px;
  box-shadow:0 14px 36px rgba(9,30,66,.08);
  border:1px solid rgba(15,69,111,.08);
  padding:22px;
}
.analysis-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}
.analysis-card h3,
.analysis-table-toolbar h3{
  margin:10px 0 0;
  font-size:24px;
  color:#1f2430;
}
.muted-mini{
  background:#edf7fb;
  color:#2f6f9f;
}
.analysis-bars{
  display:grid;
  gap:14px;
}
.analysis-bar-row{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(160px,1.1fr) 92px;
  gap:14px;
  align-items:center;
}
.analysis-bar-label span{
  display:block;
  font-weight:800;
  line-height:1.35;
  color:#334155;
}
.analysis-bar-label small{
  display:block;
  margin-top:3px;
  color:#94a3b8;
  font-weight:700;
}
.analysis-bar-track{
  height:12px;
  border-radius:999px;
  background:#edf3f8;
  overflow:hidden;
}
.analysis-bar-fill{
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#2f6f9f,#22c1c3);
  box-shadow:0 6px 16px rgba(47,111,159,.24);
}
.analysis-bar-row strong{
  text-align:right;
  color:#0f3d5e;
}
.analysis-bars.compact .analysis-bar-row{
  grid-template-columns:minmax(200px,1fr) minmax(120px,.9fr) 78px;
}
.analysis-insights{
  display:grid;
  gap:12px;
}
.analysis-insight-item{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  align-items:start;
  padding:14px;
  border-radius:16px;
  background:#f8fbfd;
  border:1px solid rgba(15,69,111,.07);
}
.analysis-insight-item span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#e6f4f6;
  color:#0d9488;
  font-weight:900;
}
.analysis-insight-item p{
  margin:0;
  color:#475569;
  line-height:1.65;
  font-weight:600;
}
.analysis-table-card{
  margin-top:22px;
}
.analysis-table-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-bottom:16px;
}
.analysis-table-toolbar input{
  width:min(480px,100%);
  min-height:48px;
  border:1px solid #dbe7f0;
  border-radius:16px;
  padding:0 16px;
  outline:none;
  font:inherit;
  background:#f8fbfd;
}
.analysis-table-toolbar input:focus{
  border-color:#2f6f9f;
  box-shadow:0 0 0 4px rgba(47,111,159,.1);
  background:#fff;
}
.analysis-table-wrap{
  overflow:auto;
  border-radius:18px;
  border:1px solid #e3edf5;
  max-height:620px;
}
.analysis-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:1120px;
  background:#fff;
}
.analysis-table th,
.analysis-table td{
  padding:13px 14px;
  border-bottom:1px solid #edf3f8;
  text-align:left;
  vertical-align:top;
  font-size:14px;
}
.analysis-table th{
  position:sticky;
  top:0;
  z-index:2;
  background:#0f4f78;
  color:#fff;
  font-weight:800;
}
.analysis-table tbody tr:nth-child(even){
  background:#fbfdff;
}
.analysis-table tbody tr:hover{
  background:#edf7fb;
}
.doc-status{
  display:inline-flex;
  max-width:260px;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
  background:#ecfdf5;
  color:#047857;
}
.doc-status.bad{
  background:#fff7ed;
  color:#c2410c;
}
.analysis-note-panel{
  margin-top:22px;
  padding:20px 22px;
  border-radius:22px;
  background:#123b63;
  color:#fff;
  box-shadow:0 16px 36px rgba(9,30,66,.14);
}
.analysis-note-panel strong{
  display:block;
  margin-bottom:8px;
  font-size:18px;
}
.analysis-note-panel p{
  margin:7px 0 0;
  color:rgba(255,255,255,.86);
  line-height:1.65;
}

@media (max-width:1200px){
  .analysis-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .analysis-hero-panel,
  .analysis-grid-main,
  .analysis-grid-main.second-row{
    grid-template-columns:1fr;
  }
  .analysis-bar-row,
  .analysis-bars.compact .analysis-bar-row{
    grid-template-columns:minmax(200px,1fr) minmax(120px,1fr) 86px;
  }
}
@media (max-width:768px){
  .analysis-hero-panel{
    padding:22px;
    border-radius:24px;
  }
  .analysis-title-block h2{
    font-size:30px;
  }
  .analysis-kpi-grid{
    grid-template-columns:1fr;
  }
  .analysis-table-toolbar{
    display:block;
  }
  .analysis-table-toolbar input{
    margin-top:14px;
  }
  .analysis-bar-row,
  .analysis-bars.compact .analysis-bar-row{
    grid-template-columns:1fr;
    gap:8px;
    padding-bottom:12px;
    border-bottom:1px dashed #e2e8f0;
  }
  .analysis-bar-row strong{
    text-align:left;
  }
}


/* === Professional update: Zoom instead of contact + advanced analysis/admin === */
.hidden{display:none!important;}
.pro-analysis{position:relative;overflow:hidden;background:linear-gradient(180deg,#f3f8fc 0%,#ffffff 42%,#eef7fb 100%);}
.analysis-pro-hero{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:stretch;border-radius:34px;padding:32px;background:radial-gradient(circle at right top,rgba(34,193,195,.30),transparent 36%),linear-gradient(135deg,#0f3d5e 0%,#2f6f9f 55%,#0d9488 100%);color:#fff;box-shadow:0 26px 70px rgba(15,61,94,.24);}
.analysis-pro-title h2{font-size:44px;line-height:1.1;margin:18px 0 12px;}.analysis-pro-title p{font-size:17px;line-height:1.7;max-width:850px;color:rgba(255,255,255,.9);margin:0;}
.analysis-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.analysis-action{border:0;border-radius:16px;min-height:48px;padding:0 18px;font-weight:900;cursor:pointer;background:#fff;color:#0f3d5e;box-shadow:0 12px 26px rgba(15,23,42,.14);}.analysis-action.primary{background:#22c1c3;color:#fff}.analysis-action:hover{transform:translateY(-1px);}
.pro-period-card{cursor:pointer;text-align:left;border:1px solid rgba(255,255,255,.24);}.pro-period-card:hover{background:rgba(255,255,255,.2);}
.analysis-load-hint{margin-top:24px;padding:34px;border:2px dashed #cbe1ef;border-radius:28px;background:#fff;text-align:center;box-shadow:0 18px 44px rgba(9,30,66,.08);}.analysis-load-hint .load-icon{width:72px;height:72px;margin:0 auto 12px;border-radius:24px;display:grid;place-items:center;background:#e6f4f6;font-size:34px}.analysis-load-hint h3{margin:0 0 8px;font-size:28px;color:#0f3d5e}.analysis-load-hint p{margin:0 auto 18px;color:#64748b;max-width:680px;line-height:1.7;font-weight:600;}
.analysis-admin-panel{margin-top:22px;background:#0f172a;color:#fff;border-radius:28px;padding:24px;box-shadow:0 20px 54px rgba(15,23,42,.24);}.admin-panel-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.admin-panel-head h3{margin:10px 0 6px;font-size:26px}.admin-panel-head p{margin:0;color:#cbd5e1}.admin-close{width:42px;height:42px;border:0;border-radius:14px;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.admin-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:18px}.admin-card.wide{grid-column:1/-1}.admin-card h4{margin:0 0 14px;font-size:18px}.admin-note{margin:0 0 12px;color:#cbd5e1;line-height:1.5}.admin-fields{display:grid;gap:12px}.admin-fields.two{grid-template-columns:1fr 1fr}.admin-card label{display:grid;gap:7px;font-weight:800;color:#e2e8f0}.admin-card input,.admin-card textarea,.admin-card select{width:100%;border:1px solid rgba(255,255,255,.18);background:#fff;color:#0f172a;border-radius:14px;padding:12px 13px;font:inherit;box-sizing:border-box}.admin-btn{border:0;border-radius:14px;padding:12px 16px;margin-top:12px;background:#22c1c3;color:#fff;font-weight:900;cursor:pointer}.admin-btn.ghost{background:rgba(255,255,255,.14)}.admin-actions-inline{display:flex;gap:10px;flex-wrap:wrap}#adminDataStatus{display:block;margin-top:10px;color:#cbd5e1}
.analysis-dashboard-body{animation:fadeUp .35s ease both;}@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.pro-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.pro-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-card.big{min-height:430px}.pro-bars{gap:12px}.danger-bars .analysis-bar-fill,.danger-row .analysis-bar-fill{background:linear-gradient(90deg,#f59e0b,#ef4444)}.mini-status{display:inline-flex;margin-left:6px;font-style:normal;font-size:11px;padding:3px 7px;border-radius:999px;background:#e2e8f0;color:#334155}.mini-status.excellent,.performance-chip.excellent,.legend-dot.excellent{background:#dcfce7;color:#047857}.mini-status.good,.performance-chip.good,.legend-dot.good{background:#dbeafe;color:#1d4ed8}.mini-status.middle,.performance-chip.middle,.legend-dot.middle{background:#fef3c7;color:#b45309}.mini-status.danger,.performance-chip.danger,.legend-dot.danger{background:#fee2e2;color:#b91c1c}.performance-chip{display:inline-flex;white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;}
.status-donut-wrap{display:grid;place-items:center;margin:10px 0 16px}.status-donut{width:210px;height:210px;border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:inset 0 0 0 18px rgba(255,255,255,.55),0 18px 42px rgba(15,23,42,.12)}.status-donut::after{content:"";position:absolute;inset:46px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #e2e8f0}.status-donut span,.status-donut small{position:relative;z-index:1}.status-donut span{font-size:38px;font-weight:900;color:#0f3d5e}.status-donut small{margin-top:48px;position:absolute;color:#64748b;font-weight:800}.status-legend{display:grid;gap:9px}.status-legend-item{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;padding:10px 12px;background:#f8fbfd;border:1px solid #edf3f8;border-radius:14px}.legend-dot{width:12px;height:12px;border-radius:50%;display:block}.legend-dot.excellent,.legend-dot.good,.legend-dot.middle,.legend-dot.danger{color:transparent}.legend-dot.excellent{background:#22c55e}.legend-dot.good{background:#3b82f6}.legend-dot.middle{background:#f59e0b}.legend-dot.danger{background:#ef4444}.status-legend-item strong{color:#0f3d5e}
.pro-toolbar{align-items:flex-start}.analysis-filters{display:grid;grid-template-columns:minmax(240px,1.3fr) minmax(190px,.9fr) minmax(160px,.8fr);gap:10px;width:min(820px,100%)}.analysis-filters input,.analysis-filters select{min-height:48px;border:1px solid #dbe7f0;border-radius:16px;padding:0 14px;background:#f8fbfd;font:inherit;outline:none}.analysis-filters input:focus,.analysis-filters select:focus{border-color:#2f6f9f;box-shadow:0 0 0 4px rgba(47,111,159,.1);background:#fff}.pro-table-wrap{max-height:700px}.pro-table{min-width:2480px}.pro-table th{white-space:nowrap}.pro-table td{white-space:nowrap}.pro-table td:nth-child(2),.pro-table td:nth-child(3),.pro-table td:nth-child(15){white-space:normal;min-width:220px}.pro-table td:nth-child(3){min-width:260px}.pro-table th[data-sort-key]{cursor:pointer}.pro-table th[data-sort-key]:hover{background:#0d3d61}
.zoom-section{padding-top:46px}.zoom-pro-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:26px;align-items:center;background:#fff;border:1px solid rgba(15,69,111,.08);border-radius:30px;padding:26px;box-shadow:0 18px 50px rgba(9,30,66,.1)}.zoom-pro-box h3{font-size:32px;margin:14px 0 10px;color:#0f3d5e}.zoom-pro-box p{line-height:1.7;color:#475569;font-weight:600}.pro-zoom-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.pro-zoom-meta div{background:#f8fbfd;border:1px solid #e3edf5;border-radius:16px;padding:14px}.zoom-visual img{width:100%;border-radius:24px;display:block;box-shadow:0 18px 40px rgba(15,61,94,.16)}
@media(max-width:1200px){.analysis-pro-hero,.pro-grid,.pro-grid-3,.zoom-pro-box{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}.analysis-filters{grid-template-columns:1fr}.analysis-grid-main.second-row{grid-template-columns:1fr}.admin-fields.two{grid-template-columns:1fr}}
@media(max-width:760px){.analysis-pro-hero{padding:22px;border-radius:24px}.analysis-pro-title h2{font-size:30px}.analysis-hero-actions{display:grid}.analysis-action{width:100%}.pro-zoom-meta{grid-template-columns:1fr}.analysis-admin-panel{padding:18px}.admin-panel-head{display:block}.zoom-pro-box{padding:18px;border-radius:24px}.zoom-pro-box h3{font-size:25px}}


/* === Separate professional Tahlil page 2026 === */
.nav-links a.active{background:rgba(255,255,255,.16);color:#fff;border-radius:14px}.tahlil-page-body{background:#f5f7fb}.tahlil-page{overflow:hidden}.tahlil-hero{position:relative;padding:58px 0 44px;background:linear-gradient(135deg,#0f172a 0%,#0e7490 52%,#22c55e 120%);color:#fff}.tahlil-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 10%,rgba(255,255,255,.18),transparent 28%),radial-gradient(circle at 85% 20%,rgba(34,197,94,.25),transparent 26%);pointer-events:none}.tahlil-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) 430px;gap:28px;align-items:stretch}.tahlil-eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900;color:#67e8f9}.tahlil-hero h1{margin:14px 0 14px;font-size:clamp(34px,5vw,62px);line-height:1.02;font-weight:900}.tahlil-hero p{max-width:840px;margin:0;color:#dbeafe;font-size:18px;line-height:1.7}.tahlil-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.tahlil-btn{border:0;border-radius:16px;padding:13px 18px;background:#fff;color:#0f172a;font-weight:900;box-shadow:0 14px 34px rgba(2,6,23,.18);cursor:pointer}.tahlil-btn.primary{background:#22c55e;color:#fff}.tahlil-period-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.20);backdrop-filter:blur(12px);border-radius:28px;padding:24px;box-shadow:0 24px 55px rgba(2,6,23,.18)}.tahlil-period-card>span{display:block;color:#bfdbfe;font-weight:800;margin-bottom:8px}.tahlil-period-card strong{display:block;font-size:28px;line-height:1.2}.tahlil-date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.tahlil-date-row label{display:grid;gap:7px;font-size:13px;font-weight:800;color:#dbeafe}.tahlil-date-row input,.tahlil-toolbar select,.tahlil-search input{width:100%;border:1px solid #dbe3ef;background:#fff;border-radius:15px;padding:12px 13px;font:inherit;color:#0f172a;box-sizing:border-box}.tahlil-dashboard-section{padding-top:34px}.tahlil-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 270px 230px;gap:12px;background:#fff;border:1px solid #e5ecf6;border-radius:24px;padding:14px;box-shadow:0 16px 45px rgba(15,23,42,.07);position:sticky;top:8px;z-index:10}.tahlil-search{position:relative}.tahlil-search span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#64748b}.tahlil-search input{padding-left:38px} .tahlil-section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:26px 0 14px}.tahlil-section-intro h2{margin:8px 0 6px;color:#0f172a;font-size:30px}.tahlil-section-intro p{margin:0;max-width:760px;color:#64748b;line-height:1.6}.tahlil-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 24px}.tahlil-kpi{position:relative;overflow:hidden;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid #dfe7f1;border-radius:28px;padding:22px;min-height:164px;box-shadow:0 18px 44px rgba(15,23,42,.08);animation:riseIn .55s ease both;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.tahlil-kpi:hover{transform:translateY(-3px);box-shadow:0 24px 48px rgba(15,23,42,.12);border-color:rgba(14,165,233,.24)}.tahlil-kpi:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--accent,#0ea5e9)}.tahlil-kpi:after{content:"";position:absolute;right:-34px;top:-38px;width:126px;height:126px;border-radius:50%;background:var(--bubble,rgba(14,165,233,.12))}.tahlil-kpi.warn:after{background:rgba(245,158,11,.16)}.tahlil-kpi.danger:after{background:rgba(239,68,68,.15)}.tahlil-kpi-top{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;z-index:1;height:100%}.tahlil-kpi-copy{min-width:0;display:flex;flex-direction:column;justify-content:space-between;height:100%}.tahlil-kpi span{display:block;color:#334155;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.tahlil-kpi strong{display:block;margin:12px 0 8px;font-size:44px;line-height:1;color:#0f172a}.tahlil-kpi em{position:relative;z-index:1;display:block;font-style:normal;color:#64748b;font-weight:700;line-height:1.45;margin-top:4px;max-width:220px}.tahlil-kpi-icon{position:relative;z-index:1;width:76px;height:76px;border-radius:26px;display:grid;place-items:center;color:var(--accent,#0ea5e9);background:linear-gradient(180deg,var(--icon-bg,rgba(14,165,233,.14)) 0%,rgba(255,255,255,.92) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.85),0 10px 24px rgba(15,23,42,.08);flex:none}.tahlil-kpi-icon svg{width:40px;height:40px;display:block}.kpi-doctor{--accent:#4f46e5;--bubble:rgba(79,70,229,.13);--icon-bg:rgba(79,70,229,.16)}.kpi-institution{--accent:#0891b2;--bubble:rgba(8,145,178,.13);--icon-bg:rgba(8,145,178,.15)}.kpi-appointments{--accent:#2563eb;--bubble:rgba(37,99,235,.12);--icon-bg:rgba(37,99,235,.14)}.kpi-referrals{--accent:#10b981;--bubble:rgba(16,185,129,.12);--icon-bg:rgba(16,185,129,.14)}.kpi-prescriptions{--accent:#7c3aed;--bubble:rgba(124,58,237,.13);--icon-bg:rgba(124,58,237,.14)}.kpi-score{--accent:#f59e0b;--bubble:rgba(245,158,11,.16);--icon-bg:rgba(245,158,11,.16)}.kpi-documents{--accent:#f97316;--bubble:rgba(249,115,22,.14);--icon-bg:rgba(249,115,22,.15)}.kpi-zero{--accent:#ef4444;--bubble:rgba(239,68,68,.15);--icon-bg:rgba(239,68,68,.16)}.tahlil-grid{display:grid;gap:18px;margin-bottom:18px}.tahlil-grid.two{grid-template-columns:1.45fr .75fr}.tahlil-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.tahlil-card,.tahlil-notes{background:#fff;border:1px solid #e5ecf6;border-radius:28px;padding:22px;box-shadow:0 18px 45px rgba(15,23,42,.07)}.tahlil-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.tahlil-card h2,.tahlil-notes h2{margin:0;color:#0f172a;font-size:22px}.tahlil-chip{display:inline-flex;align-items:center;border-radius:999px;background:#e0f2fe;color:#0369a1;font-weight:900;padding:9px 12px}.muted-mini{color:#0891b2}.tahlil-chart-area{display:grid;gap:12px}.pro-bar-row{display:grid;grid-template-columns:minmax(180px,1fr) 1.3fr 115px;align-items:center;gap:14px;opacity:0;animation:riseIn .5s ease forwards;animation-delay:var(--delay)}.bar-label strong{display:block;color:#0f172a;font-size:14px;line-height:1.3}.bar-label span{display:block;color:#64748b;font-size:12px;margin-top:4px}.bar-track{position:relative;height:18px;background:#f1f5f9;border-radius:999px;overflow:hidden}.bar-track i,.bar-track b{position:absolute;left:0;top:0;height:100%;width:var(--w);border-radius:999px;animation:barGrow .9s cubic-bezier(.2,.7,.2,1) both}.bar-track i{background:linear-gradient(90deg,#0284c7,#22c55e)}.bar-track b{height:45%;top:55%;background:linear-gradient(90deg,#f59e0b,#ef4444)}.bar-num{text-align:right}.bar-num strong,.bar-num span{display:block}.bar-num strong{color:#0f172a}.bar-num span{color:#64748b;font-size:12px}.chart-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px;color:#475569;font-weight:800}.chart-legend span{display:flex;align-items:center;gap:8px}.chart-legend i,.chart-legend b{display:inline-block;width:22px;height:9px;border-radius:99px;background:linear-gradient(90deg,#0284c7,#22c55e)}.chart-legend b{background:linear-gradient(90deg,#f59e0b,#ef4444)}.tahlil-donut-wrap{display:grid;grid-template-columns:190px 1fr;gap:18px;align-items:center}.donut{width:190px;height:190px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#0ea5e9 0 100%);box-shadow:inset 0 0 0 1px rgba(15,23,42,.06);animation:spinIn .8s ease both}.donut>div{width:112px;height:112px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;box-shadow:0 8px 30px rgba(15,23,42,.12)}.donut strong{display:block;font-size:30px;color:#0f172a}.donut span{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.donut-legend{display:grid;gap:10px}.donut-legend div{display:grid;grid-template-columns:14px 1fr auto;gap:8px;align-items:center;color:#334155}.donut-legend span{width:14px;height:14px;border-radius:50%}.donut-legend b{font-size:14px}.donut-legend em{font-style:normal;font-weight:900;color:#0f172a}.rank-list{display:grid;gap:10px}.rank-item{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;border:1px solid #e5ecf6;background:#f8fafc;border-radius:18px;padding:12px;animation:riseIn .45s ease both}.rank-no{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:#dcfce7;color:#166534;font-weight:900}.rank-item.bad .rank-no{background:#fee2e2;color:#b91c1c}.rank-copy strong{display:block;color:#0f172a;line-height:1.25}.rank-copy span,.rank-copy small{display:block;color:#64748b;margin-top:2px}.rank-score{font-size:22px;font-weight:900;color:#0f172a}.mini-bars{display:grid;gap:12px}.mini-bar{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;opacity:0;animation:riseIn .45s ease forwards;animation-delay:var(--delay)}.mini-bar div strong{display:block;color:#0f172a}.mini-bar div span{display:block;color:#64748b;font-size:12px}.mini-bar em{font-style:normal;font-weight:900;color:#0f172a}.mini-bar i{grid-column:1/-1;height:10px;border-radius:99px;background:#f1f5f9;overflow:hidden}.mini-bar i b{display:block;height:100%;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,#0ea5e9,#22c55e);animation:barGrow .8s ease both}.score-matrix{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.matrix-cell{min-height:118px;border-radius:22px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;background:#f8fafc;border:1px solid #e5ecf6}.matrix-cell span{font-weight:900;color:#334155}.matrix-cell strong{font-size:34px;color:#0f172a}.matrix-cell em{font-style:normal;color:#64748b;font-weight:800}.m0{background:#ecfdf5}.m1{background:#e0f2fe}.m2{background:#fffbeb}.m3{background:#fef2f2}.m4{background:#f1f5f9}.tahlil-table-wrap{overflow:auto;border:1px solid #e5ecf6;border-radius:18px;max-height:620px}.tahlil-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1900px}.tahlil-table th{position:sticky;top:0;background:#0f172a;color:#fff;text-align:left;padding:13px 12px;font-size:12px;white-space:nowrap;cursor:pointer;z-index:1}.tahlil-table td{padding:12px;border-bottom:1px solid #edf2f7;color:#334155;font-size:13px;vertical-align:top}.tahlil-table tbody tr:hover{background:#f8fafc}.insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.insight-card{display:flex;gap:10px;background:#f8fafc;border:1px solid #e5ecf6;border-radius:18px;padding:14px}.insight-card span{width:26px;height:26px;border-radius:50%;background:#dcfce7;color:#166534;display:grid;place-items:center;flex:none}.insight-card p{margin:0;color:#334155;line-height:1.55}.notes-list{margin-top:14px;display:grid;gap:8px}.notes-list p{margin:0;padding:12px 14px;border-left:4px solid #0ea5e9;background:#f8fafc;border-radius:14px;color:#334155}.empty-state{padding:18px;border-radius:18px;background:#f8fafc;color:#64748b;text-align:center;font-weight:800}@keyframes riseIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes barGrow{from{width:0}to{width:var(--w)}}@keyframes spinIn{from{transform:rotate(-20deg) scale(.94);opacity:.35}to{transform:none;opacity:1}}@media(max-width:1200px){.tahlil-hero-grid,.tahlil-grid.two,.tahlil-grid.three{grid-template-columns:1fr}.tahlil-section-intro{display:block}.tahlil-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tahlil-toolbar{grid-template-columns:1fr}.score-matrix{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.tahlil-hero{padding:36px 0}.tahlil-period-card{padding:18px}.tahlil-date-row,.tahlil-donut-wrap,.pro-bar-row{grid-template-columns:1fr}.bar-num{text-align:left}.tahlil-kpi-grid,.insight-grid{grid-template-columns:1fr}.tahlil-kpi strong{font-size:36px}.tahlil-section-intro h2{font-size:24px}.score-matrix{grid-template-columns:1fr}.tahlil-card,.tahlil-notes{padding:16px;border-radius:22px}.tahlil-toolbar{position:static}.tahlil-hero-actions{display:grid}.tahlil-btn{width:100%}}@media print{.topbar,.mainnav,.tahlil-toolbar,.tahlil-hero-actions,.footer{display:none!important}.tahlil-hero{background:#fff;color:#111;padding:20px 0}.tahlil-hero p{color:#111}.tahlil-card,.tahlil-kpi,.tahlil-notes{box-shadow:none;break-inside:avoid}.tahlil-table-wrap{max-height:none;overflow:visible}.tahlil-table th{position:static}}


/* Excel original download + automatic score formula */
.score-formula-card{display:grid;grid-template-columns:1.1fr 1.35fr;gap:18px;align-items:center;margin:-4px 0 22px;padding:22px;background:linear-gradient(135deg,#ffffff 0%,#f0fdfa 48%,#ecfeff 100%);border:1px solid #d7f4ec;border-radius:28px;box-shadow:0 18px 45px rgba(15,23,42,.07)}
.score-formula-card h2{margin:8px 0 8px;color:#0f172a;font-size:22px;line-height:1.35}.score-formula-card p{margin:0;color:#475569;font-weight:700;line-height:1.6}.score-pills{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.score-pills span{min-height:76px;display:flex;flex-direction:column;justify-content:center;gap:6px;border:1px solid #dbeafe;border-radius:18px;background:rgba(255,255,255,.82);padding:11px}.score-pills b{color:#0f172a;font-size:12px;line-height:1.25}.score-pills em{font-style:normal;color:#0f766e;font-size:18px;font-weight:900}.tahlil-btn#downloadExcelBtn{background:#fff;color:#0f766e;border:1px solid rgba(255,255,255,.55)}.tahlil-btn#downloadExcelBtn:before{content:"📄 "}@media(max-width:1200px){.score-formula-card{grid-template-columns:1fr}.score-pills{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:720px){.score-pills{grid-template-columns:repeat(2,minmax(0,1fr))}.score-formula-card{padding:16px;border-radius:22px}}@media print{.score-formula-card{box-shadow:none;break-inside:avoid}}


/* === Tahlil sahifasi: hover tooltip, status doctor icons va yurak urishi animatsiyasi === */
.tahlil-card,
.tahlil-notes{
  overflow:visible;
}

.tahlil-donut-wrap{
  display:block;
}

.hover-pop,
.tahlil-kpi,
.tahlil-card,
.rank-item,
.mini-bar,
.matrix-cell,
.pro-bar-row,
.donut-legend div,
.status-doctor{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, filter .22s ease;
}

.hover-pop:hover,
.pro-bar-row:hover,
.rank-item:hover,
.mini-bar:hover,
.matrix-cell:hover,
.donut-legend div:hover,
.status-doctor:hover{
  transform:translateY(-4px) scale(1.015);
  filter:saturate(1.08);
  z-index:25;
}

.pro-bar-row:hover,
.rank-item:hover,
.mini-bar:hover,
.matrix-cell:hover,
.donut-legend div:hover,
.status-doctor:hover{
  box-shadow:0 16px 34px rgba(15,23,42,.12);
  border-color:rgba(14,165,233,.26);
}

[data-tooltip]{
  position:relative;
}

[data-tooltip]:hover::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 12px);
  transform:translateX(-50%);
  width:max-content;
  max-width:320px;
  padding:9px 12px;
  border-radius:12px;
  background:#0f172a;
  color:#fff;
  font-size:12px;
  font-weight:900;
  line-height:1.35;
  white-space:normal;
  box-shadow:0 14px 34px rgba(15,23,42,.22);
  pointer-events:none;
  z-index:200;
  animation:tooltipRise .18s ease both;
}

[data-tooltip]:hover::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:calc(100% + 5px);
  transform:translateX(-50%);
  border:7px solid transparent;
  border-top-color:#0f172a;
  pointer-events:none;
  z-index:201;
}

.bar-track [data-tooltip]:hover::after{
  bottom:calc(100% + 18px);
}

.status-panel{
  display:grid;
  gap:16px;
  width:100%;
}

.status-main-row{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:20px;
  align-items:center;
}

.status-main-row .donut{
  width:200px;
  height:200px;
  position:relative;
}

.status-main-row .donut:hover{
  box-shadow:0 22px 42px rgba(15,23,42,.14), inset 0 0 0 1px rgba(15,23,42,.06);
}

.donut-legend div{
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:14px;
  background:rgba(248,250,252,.85);
}

.donut-legend div:hover{
  background:#fff;
}

.heart-monitor{
  position:relative;
  height:58px;
  border-radius:20px;
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);
  border:1px solid #e5ecf6;
  overflow:hidden;
}

.heart-monitor::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(14,165,233,.08) 1px,transparent 1px) 0 0/26px 100%,
    linear-gradient(0deg,rgba(14,165,233,.08) 1px,transparent 1px) 0 0/100% 19px;
}

.heart-monitor svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.heart-line{
  fill:none;
  stroke:#10b981;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:520;
  stroke-dashoffset:520;
  filter:drop-shadow(0 0 7px rgba(16,185,129,.38));
  animation:heartBeatLine 2.4s linear infinite;
}

.ambulance-call-widget{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  border:1px solid #dbeafe;
  background:linear-gradient(135deg,#f0f9ff 0%,#ecfdf5 100%);
  padding:10px;
  box-shadow:0 14px 34px rgba(15,23,42,.08);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.ambulance-call-widget:hover{
  transform:translateY(-4px) scale(1.015);
  box-shadow:0 22px 48px rgba(15,23,42,.14);
  border-color:rgba(14,165,233,.35);
}

.ambulance-call-widget img{
  display:block;
  width:100%;
  min-height:150px;
  max-height:210px;
  object-fit:cover;
  border-radius:18px;
  background:#0ea5e9;
}

.ambulance-call-caption{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:10px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(219,234,254,.9);
}

.ambulance-call-caption strong{
  color:#0f172a;
  font-size:14px;
  font-weight:900;
}

.ambulance-call-caption span{
  color:#64748b;
  font-size:12px;
  font-weight:800;
  text-align:right;
}

.status-doctors{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}

.status-doctor{
  display:grid;
  place-items:center;
  gap:6px;
  min-height:112px;
  border:1px solid #e5ecf6;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  padding:12px 8px;
}

.status-doctor::after{
  max-width:210px;
  text-align:center;
}

.status-doctor-avatar{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:var(--status-color,#0ea5e9);
  background:color-mix(in srgb,var(--status-color,#0ea5e9) 14%,#ffffff);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--status-color,#0ea5e9) 22%,transparent);
}

.status-doctor-avatar svg{
  width:30px;
  height:30px;
}

.status-doctor span{
  color:#334155;
  font-size:12px;
  font-weight:900;
  text-align:center;
  line-height:1.25;
}

.status-doctor b{
  color:#0f172a;
  font-size:20px;
  line-height:1;
}

.status-doctor.excellent .status-doctor-avatar{
  animation:doctorPulse 1.8s ease-in-out infinite;
}

.status-doctor.control .status-doctor-avatar,
.status-doctor.inactive .status-doctor-avatar{
  animation:doctorWarn 1.45s ease-in-out infinite;
}

.chart-legend span{
  position:relative;
  padding:6px 8px;
  border-radius:12px;
  transition:transform .2s ease,background .2s ease;
}

.chart-legend span:hover{
  transform:translateY(-2px);
  background:#f8fafc;
}

@keyframes heartBeatLine{
  0%{stroke-dashoffset:520;opacity:.35}
  12%{opacity:1}
  55%{stroke-dashoffset:0;opacity:1}
  100%{stroke-dashoffset:-520;opacity:.35}
}

@keyframes doctorPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.08)}
}

@keyframes doctorWarn{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-2px)}
  75%{transform:translateX(2px)}
}

@keyframes tooltipRise{
  from{opacity:0;transform:translate(-50%,6px)}
  to{opacity:1;transform:translate(-50%,0)}
}

@media(max-width:900px){
  .status-main-row{grid-template-columns:1fr}
  .status-main-row .donut{margin:auto}
  .status-doctors{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:520px){
  .status-doctors{grid-template-columns:1fr}
  [data-tooltip]:hover::after{max-width:240px}
}


/* Professional umumiy dinamika grafigi */
.dynamics-card{
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 12% 0%,rgba(14,165,233,.08),transparent 32%),
    radial-gradient(circle at 95% 10%,rgba(16,185,129,.09),transparent 28%),
    #ffffff;
}

.dynamics-head{
  align-items:center;
}

.dynamics-head p{
  margin:8px 0 0;
  max-width:780px;
  color:#64748b;
  line-height:1.55;
  font-weight:700;
}

.dynamics-range-tabs,
.dynamics-metric-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.dynamics-range-tabs button,
.dynamics-metric-tabs button{
  border:1px solid #dbe3ef;
  background:#f8fafc;
  color:#334155;
  border-radius:999px;
  padding:10px 14px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
}

.dynamics-range-tabs button:hover,
.dynamics-metric-tabs button:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(15,23,42,.08);
}

.dynamics-range-tabs button.active,
.dynamics-metric-tabs button.active{
  background:#0f172a;
  border-color:#0f172a;
  color:#ffffff;
}

.dynamics-metric-tabs{
  margin:4px 0 16px;
  padding:10px;
  border:1px solid #e5ecf6;
  border-radius:22px;
  background:rgba(248,250,252,.86);
}

.dynamics-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}

.dyn-summary-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px;
  border:1px solid #e5ecf6;
  border-radius:20px;
  background:rgba(255,255,255,.9);
  box-shadow:0 12px 28px rgba(15,23,42,.06);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.dyn-summary-card:hover{
  transform:translateY(-3px) scale(1.01);
  box-shadow:0 18px 36px rgba(15,23,42,.1);
  border-color:rgba(14,165,233,.3);
}

.dyn-summary-card>span{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  flex:none;
  border-radius:16px;
  background:#e0f2fe;
  color:#0369a1;
  font-size:20px;
  font-weight:900;
}

.dyn-summary-card b{
  display:block;
  color:#64748b;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.dyn-summary-card strong{
  display:block;
  color:#0f172a;
  font-size:20px;
  line-height:1.2;
  margin-top:4px;
}

.dynamics-chart{
  position:relative;
  min-height:390px;
  border-radius:28px;
  border:1px solid #e5ecf6;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

.dynamic-svg{
  width:100%;
  height:390px;
  display:block;
}

.dyn-bg{
  fill:transparent;
}

.dyn-grid-line line{
  stroke:#e2e8f0;
  stroke-width:1;
}

.dyn-grid-line text,
.dyn-x-label,
.dyn-legend text{
  fill:#64748b;
  font-size:13px;
  font-weight:800;
}

.dyn-area{
  fill:url(#dynAreaGradient);
  animation:dynFadeIn .7s ease both;
}

.dyn-bar{
  fill:url(#dynBarGradient);
  opacity:.54;
  cursor:pointer;
  transition:opacity .18s ease,transform .18s ease,filter .18s ease;
  transform-box:fill-box;
  transform-origin:center bottom;
}

.dyn-bar:hover{
  opacity:.95;
  transform:scaleY(1.05);
  filter:drop-shadow(0 10px 12px rgba(15,23,42,.18));
}

.dyn-main-line{
  fill:none;
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 6px 10px rgba(15,23,42,.16));
  stroke-dasharray:1300;
  stroke-dashoffset:1300;
  animation:dashDraw 1.2s ease forwards;
}

.dyn-prev-line{
  fill:none;
  stroke:#94a3b8;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:10 10;
  opacity:.78;
}

.dyn-point-wrap{
  cursor:pointer;
}

.dyn-point{
  fill:#ffffff;
  stroke:currentColor;
  stroke-width:4;
  color:#0ea5e9;
  transition:transform .18s ease,filter .18s ease;
  transform-box:fill-box;
  transform-origin:center;
}

.dyn-point-halo{
  fill:transparent;
}

.dyn-point-wrap:hover .dyn-point{
  transform:scale(1.45);
  filter:drop-shadow(0 0 10px rgba(14,165,233,.55));
}

.dyn-legend rect{
  fill:rgba(255,255,255,.86);
  stroke:#e5ecf6;
}

.dyn-legend line{
  stroke:#94a3b8;
  stroke-width:3;
  stroke-dasharray:8 7;
}

.monthly-breakdown{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.month-card{
  border:1px solid #e5ecf6;
  border-radius:18px;
  padding:12px;
  background:#fff;
  opacity:0;
  animation:riseIn .45s ease forwards;
  animation-delay:var(--delay);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.month-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 30px rgba(15,23,42,.09);
  border-color:rgba(14,165,233,.32);
}

.month-card span{
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:900;
}

.month-card strong{
  display:block;
  color:#0f172a;
  margin:7px 0 10px;
  font-size:17px;
}

.month-card i{
  display:block;
  height:8px;
  border-radius:999px;
  background:#edf2f7;
  overflow:hidden;
}

.month-card i b{
  display:block;
  height:100%;
  width:var(--w);
  border-radius:999px;
  background:linear-gradient(90deg,var(--metric-color,#0ea5e9),#22c55e);
  animation:barGrow .8s ease both;
}

.chart-tooltip{
  position:fixed;
  z-index:9999;
  max-width:320px;
  padding:10px 12px;
  border-radius:14px;
  background:#0f172a;
  color:#fff;
  font-size:13px;
  font-weight:800;
  box-shadow:0 18px 38px rgba(15,23,42,.24);
  pointer-events:none;
}

@keyframes dashDraw{
  to{stroke-dashoffset:0}
}

@keyframes dynFadeIn{
  from{opacity:0}
  to{opacity:1}
}

@media(max-width:1100px){
  .dynamics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .monthly-breakdown{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dynamics-head{display:grid}
}

@media(max-width:640px){
  .dynamics-summary,.monthly-breakdown{grid-template-columns:1fr}
  .dynamic-svg{height:330px}
  .dynamics-chart{min-height:330px}
  .dyn-summary-card strong{font-size:18px}
}

/* Mini grafik tooltip matni to'liq ko'rinishi uchun */
.mini-bar::after{
  max-width:520px;
  white-space:normal;
  line-height:1.45;
  text-align:left;
}
.ambulance-call-widget img{
  background:#08a5d4;
}


/* Excel xatolarini tuzatish rejasi */
.fix-plan-card{
  background:radial-gradient(circle at 0% 0%,rgba(14,165,233,.08),transparent 30%),#ffffff;
}
.fix-plan-head p{
  margin:8px 0 0;
  max-width:820px;
  color:#64748b;
  line-height:1.55;
  font-weight:700;
}
.fix-plan-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:16px;
}
.fix-card{
  position:relative;
  overflow:hidden;
  min-height:150px;
  border:1px solid #e5ecf6;
  border-radius:22px;
  padding:16px;
  background:#f8fafc;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.fix-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(15,23,42,.1);border-color:rgba(14,165,233,.3)}
.fix-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:#0ea5e9}
.fix-card.warn:before{background:#f59e0b}.fix-card.danger:before{background:#ef4444}.fix-card.info:before{background:#0ea5e9}.fix-card.ok:before{background:#10b981}
.fix-card span{display:inline-flex;margin:5px 0 12px;padding:7px 10px;border-radius:999px;background:#fff;color:#0f172a;font-weight:900;box-shadow:0 8px 18px rgba(15,23,42,.06)}
.fix-card strong{display:block;color:#0f172a;font-size:16px;margin-bottom:8px}.fix-card p{margin:0;color:#64748b;line-height:1.45;font-weight:700}
.fix-plan-list{display:grid;gap:10px}.fix-action{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:start;border:1px solid #e5ecf6;border-radius:18px;background:#fff;padding:14px;transition:transform .2s ease,box-shadow .2s ease}.fix-action:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(15,23,42,.08)}.fix-action b{display:inline-flex;justify-content:center;padding:8px 10px;border-radius:14px;background:#e0f2fe;color:#0369a1;font-weight:900}.fix-action p{margin:0;color:#334155;line-height:1.55;font-weight:700}
.dynamics-summary{grid-template-columns:repeat(5,minmax(0,1fr));}
@media(max-width:1200px){.dynamics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fix-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.fix-plan-grid{grid-template-columns:1fr}.fix-action{grid-template-columns:1fr}.dynamics-summary{grid-template-columns:1fr}}

/* Magnific premium rasm uchun tayyor joy: animatsiyasiz statik chiqadi */
.ambulance-call-widget img{
  animation:none!important;
}
.ambulance-call-widget svg,
.ambulance-call-widget *{
  animation-play-state:paused;
}


/* Foydalanuvchi bergan Magnific rasm linki uchun: eski yozuv/caption olib tashlandi */
.ambulance-call-widget.ambulance-link-only{
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}

.ambulance-call-widget.ambulance-link-only img{
  width:100%;
  min-height:260px;
  max-height:360px;
  object-fit:cover;
  object-position:center;
  border-radius:24px;
  border:1px solid #dbeafe;
  box-shadow:0 16px 36px rgba(15,23,42,.10);
}

.ambulance-call-widget.ambulance-link-only .ambulance-call-caption{
  display:none!important;
}

/* Real Excel davri: soxta oyma-oy taqsimot olib tashlandi */
.month-card.exact-month-card small{
  display:block;
  margin:0 0 10px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
.dyn-prev-line{display:none!important}

/* 1-qadamdan 5-qadamgacha bir xil kartalar */
.fix-plan-list{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.fix-action{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-content:start!important;
  min-height:178px!important;
}
.fix-action b{
  width:max-content;
  min-width:86px;
}
@media(max-width:1280px){
  .fix-plan-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:820px){
  .fix-plan-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .fix-plan-list{grid-template-columns:1fr!important}
}


/* Tahlil sahifasi yuqori sekin yuruvchi eslatma */
.analysis-ticker{
  position:relative;
  z-index:30;
  background:linear-gradient(90deg,#fff7ed 0%,#fffbeb 52%,#ecfeff 100%);
  border-top:1px solid rgba(251,146,60,.28);
  border-bottom:1px solid rgba(251,146,60,.32);
  box-shadow:0 8px 22px rgba(15,23,42,.06);
}

.analysis-ticker-inner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  min-height:52px;
}

.ticker-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 13px;
  border-radius:999px;
  background:#0f172a;
  color:#fff;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  box-shadow:0 10px 24px rgba(15,23,42,.16);
}

.ticker-badge::before{
  content:"!";
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f97316;
  color:#fff;
  font-weight:900;
}

.ticker-mask{
  overflow:hidden;
  white-space:nowrap;
  min-width:0;
  mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
}

.ticker-track{
  display:inline-block;
  padding-left:100%;
  color:#7c2d12;
  font-size:15px;
  font-weight:850;
  letter-spacing:.01em;
  animation:tickerRightToLeft 42s linear infinite;
}

.analysis-ticker:hover .ticker-track{
  animation-play-state:paused;
}

.ticker-detail-btn{
  border:0;
  border-radius:999px;
  padding:10px 16px;
  background:#f97316;
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(249,115,22,.22);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.ticker-detail-btn:hover{
  transform:translateY(-2px);
  background:#ea580c;
  box-shadow:0 16px 32px rgba(249,115,22,.28);
}

.ticker-modal{
  position:fixed;
  inset:0;
  z-index:9998;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
}

.ticker-modal.is-open{
  display:flex;
}

.ticker-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.58);
  backdrop-filter:blur(8px);
}

.ticker-modal-card{
  position:relative;
  width:min(880px,100%);
  max-height:min(88vh,760px);
  overflow:auto;
  border-radius:30px;
  padding:30px;
  background:
    radial-gradient(circle at 0% 0%,rgba(14,165,233,.12),transparent 32%),
    radial-gradient(circle at 100% 5%,rgba(249,115,22,.14),transparent 30%),
    #ffffff;
  box-shadow:0 30px 80px rgba(2,6,23,.34);
  border:1px solid rgba(255,255,255,.65);
  animation:modalRise .24s ease both;
}

.ticker-modal-close{
  position:absolute;
  right:18px;
  top:16px;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#f1f5f9;
  color:#0f172a;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease;
}

.ticker-modal-close:hover{
  transform:rotate(90deg);
  background:#fee2e2;
}

.ticker-modal-eyebrow{
  display:inline-flex;
  margin-bottom:12px;
  padding:8px 12px;
  border-radius:999px;
  background:#ecfeff;
  color:#0e7490;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.ticker-modal-card h2{
  margin:0 48px 12px 0;
  color:#0f172a;
  font-size:clamp(28px,4vw,44px);
  line-height:1.08;
}

.ticker-modal-card>p{
  margin:0 0 20px;
  color:#475569;
  font-size:18px;
  line-height:1.65;
  font-weight:750;
}

.ticker-modal-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}

.ticker-info-card{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:13px;
  align-items:start;
  padding:16px;
  border:1px solid #e5ecf6;
  border-radius:22px;
  background:rgba(248,250,252,.78);
}

.ticker-info-card span{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#0f172a;
  color:#fff;
  font-weight:900;
}

.ticker-info-card strong{
  display:block;
  color:#0f172a;
  font-size:17px;
  margin-bottom:7px;
}

.ticker-info-card p{
  margin:0;
  color:#475569;
  line-height:1.55;
  font-weight:700;
}

.ticker-modal-note{
  margin-top:18px;
  padding:16px 18px;
  border-radius:20px;
  background:linear-gradient(90deg,#dcfce7,#ecfeff);
  color:#14532d;
  font-size:18px;
}

body.modal-open{
  overflow:hidden;
}

@keyframes tickerRightToLeft{
  0%{transform:translateX(0)}
  100%{transform:translateX(-100%)}
}

@keyframes modalRise{
  from{opacity:0;transform:translateY(18px) scale(.97)}
  to{opacity:1;transform:none}
}

@media(max-width:760px){
  .analysis-ticker-inner{
    grid-template-columns:1fr auto;
    gap:10px;
    padding:8px 0;
  }
  .ticker-badge{
    display:none;
  }
  .ticker-track{
    font-size:14px;
    animation-duration:34s;
  }
  .ticker-modal-grid{
    grid-template-columns:1fr;
  }
  .ticker-modal-card{
    padding:24px 18px;
    border-radius:24px;
  }
}


/* Reyting ko'rsatgichi: Abu Ali Ibn Sino rasmi va tibbiyot hikmatlari */
.score-matrix{
  align-items:stretch;
}

.ibn-sino-widget{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:18px;
  align-items:center;
  margin-top:12px;
  padding:18px;
  border:1px solid #e5ecf6;
  border-radius:28px;
  background:
    radial-gradient(circle at 0% 0%,rgba(14,165,233,.10),transparent 32%),
    radial-gradient(circle at 100% 0%,rgba(16,185,129,.10),transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  box-shadow:0 18px 42px rgba(15,23,42,.08);
  overflow:hidden;
}

.ibn-sino-photo-wrap{
  position:relative;
  width:190px;
  height:230px;
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(135deg,#e0f2fe,#ecfdf5);
  box-shadow:0 18px 38px rgba(15,23,42,.14);
  border:1px solid rgba(255,255,255,.8);
}

.ibn-sino-photo-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(15,23,42,.22));
  pointer-events:none;
}

.ibn-sino-photo-wrap img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.ibn-sino-photo-wrap.image-error::before{
  content:"Abu Ali Ibn Sino rasmi yuklanmadi";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:16px;
  text-align:center;
  color:#0f172a;
  font-weight:900;
  z-index:2;
}

.ibn-sino-copy{
  min-width:0;
}

.ibn-sino-copy>span{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:#ecfeff;
  color:#0e7490;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.ibn-sino-copy h3{
  margin:12px 0 10px;
  color:#0f172a;
  font-size:28px;
  line-height:1.15;
}

.ibn-sino-copy blockquote{
  position:relative;
  min-height:82px;
  margin:0;
  padding:18px 20px 18px 24px;
  border-left:5px solid #10b981;
  border-radius:20px;
  background:#ffffff;
  color:#334155;
  font-size:20px;
  line-height:1.55;
  font-weight:800;
  box-shadow:inset 0 0 0 1px #e5ecf6;
}

.ibn-sino-copy blockquote::before{
  content:"“";
  position:absolute;
  right:18px;
  top:-8px;
  color:#e0f2fe;
  font-size:82px;
  line-height:1;
  font-weight:900;
  z-index:0;
}

.ibn-sino-copy blockquote.is-changing{
  animation:quoteFade 520ms ease both;
}

.ibn-sino-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
}

.ibn-sino-foot b{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:#0f172a;
  color:#fff;
  font-weight:900;
}

.ibn-sino-foot small{
  color:#64748b;
  font-weight:800;
}

@keyframes quoteFade{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

@media(max-width:900px){
  .ibn-sino-widget{
    grid-template-columns:1fr;
  }
  .ibn-sino-photo-wrap{
    width:100%;
    max-width:260px;
    height:300px;
  }
}

@media(max-width:560px){
  .ibn-sino-copy h3{font-size:22px}
  .ibn-sino-copy blockquote{font-size:17px}
}


/* Dinamika yakuniy tuzatish: tooltip sig'ishi va kartalar ikonkalari */
.chart-tooltip{
  max-width:560px!important;
  min-width:280px;
  white-space:normal!important;
  line-height:1.55!important;
  text-align:left!important;
  overflow-wrap:anywhere;
  z-index:10050!important;
}

.dyn-summary-card>span{
  font-size:22px!important;
  background:linear-gradient(135deg,#e0f2fe,#ecfdf5)!important;
  color:#0f172a!important;
}

.month-card.pending-month-card{
  border-color:#fed7aa;
  background:linear-gradient(180deg,#fff7ed,#ffffff);
}

.month-card.pending-month-card small{
  color:#9a3412;
  font-weight:900;
}

.exact-month-card small{
  min-height:auto;
}


/* Murojaatlar boti va lokal admin panel */
.appeal-page-body,
.local-admin-body{
  background:#f5f7fb;
}

.appeal-hero{
  position:relative;
  overflow:hidden;
  padding:64px 0 54px;
  background:linear-gradient(135deg,#0f172a 0%,#0e7490 54%,#22c55e 130%);
  color:#fff;
}

.appeal-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 10%,rgba(255,255,255,.16),transparent 28%),
    radial-gradient(circle at 90% 14%,rgba(34,197,94,.22),transparent 25%);
  pointer-events:none;
}

.appeal-hero-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) 420px;
  gap:28px;
  align-items:center;
}

.appeal-eyebrow{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(103,232,249,.14);
  color:#67e8f9;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.appeal-hero h1{
  margin:16px 0 14px;
  font-size:clamp(38px,5vw,66px);
  line-height:1.02;
}

.appeal-hero p{
  max-width:820px;
  margin:0;
  color:#dbeafe;
  font-size:18px;
  line-height:1.7;
  font-weight:650;
}

.appeal-hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}

.appeal-hero-badges span{
  display:inline-flex;
  padding:10px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  font-weight:900;
  color:#fff;
}

.appeal-security-card{
  padding:24px;
  border-radius:28px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(12px);
  box-shadow:0 24px 55px rgba(2,6,23,.18);
}

.appeal-security-card h2{
  margin:0 0 10px;
  color:#fff;
}

.appeal-security-card p,
.appeal-security-card li{
  color:#dbeafe;
  line-height:1.6;
  font-weight:700;
}

.appeal-section{
  padding:34px 0 60px;
}

.appeal-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:22px;
  align-items:start;
}

.appeal-form-card,
.appeal-info-panel .info-panel-card,
.appeal-local-admin-note{
  background:#fff;
  border:1px solid #e5ecf6;
  border-radius:28px;
  box-shadow:0 18px 45px rgba(15,23,42,.07);
}

.appeal-form-card{
  padding:24px;
}

.appeal-form-head span{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:#ecfeff;
  color:#0e7490;
  font-size:12px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.appeal-form-head h2{
  margin:14px 0 8px;
  font-size:32px;
  color:#0f172a;
}

.appeal-form-head p{
  margin:0 0 18px;
  color:#64748b;
  font-weight:700;
  line-height:1.55;
}

.appeal-form-card label{
  display:grid;
  gap:8px;
  margin-bottom:14px;
  color:#334155;
  font-weight:900;
}

.form-grid.two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.appeal-form-card input,
.appeal-form-card select,
.appeal-form-card textarea,
.news-form input,
.news-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #dbe3ef;
  border-radius:16px;
  padding:13px 14px;
  font:inherit;
  color:#0f172a;
  background:#fff;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease;
}

.appeal-form-card input:focus,
.appeal-form-card select:focus,
.appeal-form-card textarea:focus,
.news-form input:focus,
.news-form textarea:focus{
  border-color:#0ea5e9;
  box-shadow:0 0 0 4px rgba(14,165,233,.12);
}

.hidden-field{
  position:absolute!important;
  left:-9999px!important;
  opacity:0!important;
}

.appeal-consent{
  grid-template-columns:auto 1fr!important;
  align-items:start;
  padding:14px;
  border:1px solid #e5ecf6;
  border-radius:18px;
  background:#f8fafc;
}

.appeal-consent input{
  width:18px;
  height:18px;
  margin-top:2px;
}

.appeal-form-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}

.appeal-submit-btn,
.appeal-clear-btn,
.admin-toolbar button,
.admin-toolbar a,
.news-form button{
  border:0;
  border-radius:16px;
  padding:13px 18px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.appeal-submit-btn,
.news-form button{
  background:#16a34a;
  color:#fff;
  box-shadow:0 14px 30px rgba(22,163,74,.2);
}

.appeal-clear-btn{
  background:#f1f5f9;
  color:#0f172a;
}

.appeal-submit-btn:hover,
.appeal-clear-btn:hover,
.admin-toolbar button:hover,
.admin-toolbar a:hover,
.news-form button:hover{
  transform:translateY(-2px);
}

.appeal-status{
  display:none;
  margin-top:12px;
  padding:13px 15px;
  border-radius:16px;
  font-weight:800;
  line-height:1.5;
}

.appeal-status:not(:empty){
  display:block;
}

.appeal-status ul{
  margin:8px 0 0;
  padding-left:20px;
}

.appeal-status.success{
  background:#dcfce7;
  color:#166534;
}

.appeal-status.error{
  background:#fee2e2;
  color:#991b1b;
}

.appeal-status.warn,
.appeal-status.loading{
  background:#fffbeb;
  color:#92400e;
}

.appeal-info-panel{
  display:grid;
  gap:14px;
}

.info-panel-card{
  padding:18px;
}

.info-panel-card span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#e0f2fe;
  color:#0369a1;
  font-weight:900;
}

.info-panel-card h3{
  margin:12px 0 7px;
  color:#0f172a;
}

.info-panel-card p{
  margin:0;
  color:#64748b;
  line-height:1.55;
  font-weight:700;
}

.appeal-local-admin-note{
  padding:18px;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
}

.appeal-local-admin-note code{
  display:block;
  margin:10px 0;
  padding:10px;
  border-radius:12px;
  background:#0f172a;
  color:#e0f2fe;
  overflow:auto;
}

.appeal-footer{
  margin-top:0;
}

/* local admin */
.local-admin-hero{
  padding:42px 0;
  background:linear-gradient(135deg,#0f172a,#0e7490);
  color:#fff;
}

.local-admin-hero-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
}

.local-admin-hero span{
  color:#67e8f9;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
}

.local-admin-hero h1{
  margin:10px 0;
  font-size:clamp(30px,4vw,54px);
}

.local-admin-hero p{
  margin:0;
  color:#dbeafe;
  max-width:780px;
  line-height:1.6;
  font-weight:700;
}

.admin-security-badge{
  min-width:240px;
  padding:18px;
  border-radius:22px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
}

.admin-security-badge b,
.admin-security-badge small{
  display:block;
}

.admin-dashboard{
  padding:24px 0 60px;
}

.admin-toolbar{
  display:grid;
  grid-template-columns:auto auto 220px minmax(240px,1fr);
  gap:10px;
  margin-bottom:16px;
  padding:12px;
  border:1px solid #e5ecf6;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}

.admin-toolbar button,
.admin-toolbar a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  background:#0f172a;
  color:#fff;
}

.admin-toolbar select,
.admin-toolbar input{
  width:100%;
  box-sizing:border-box;
  border:1px solid #dbe3ef;
  border-radius:15px;
  padding:12px 13px;
  font:inherit;
}

.admin-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}

.admin-stat-card{
  display:flex;
  align-items:center;
  gap:13px;
  padding:18px;
  border:1px solid #e5ecf6;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}

.admin-stat-card span{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#e0f2fe;
  font-size:24px;
}

.admin-stat-card b{
  display:block;
  color:#64748b;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.admin-stat-card strong{
  color:#0f172a;
  font-size:30px;
}

.admin-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:18px;
  align-items:start;
}

.admin-card{
  padding:20px;
  border:1px solid #e5ecf6;
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,23,42,.07);
}

.admin-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:15px;
}

.admin-card-head span{
  color:#0e7490;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.admin-card-head h2{
  margin:6px 0 0;
  color:#0f172a;
}

.admin-card-head>b{
  padding:9px 12px;
  border-radius:999px;
  background:#e0f2fe;
  color:#0369a1;
}

.appeals-list{
  display:grid;
  gap:12px;
  max-height:760px;
  overflow:auto;
  padding-right:4px;
}

.appeal-admin-item{
  border:1px solid #e5ecf6;
  border-radius:22px;
  padding:16px;
  background:#f8fafc;
}

.appeal-admin-item.new{
  border-left:5px solid #0ea5e9;
}

.appeal-admin-item.in_progress{
  border-left:5px solid #f59e0b;
}

.appeal-admin-item.done{
  border-left:5px solid #16a34a;
}

.appeal-admin-item.rejected{
  border-left:5px solid #ef4444;
}

.appeal-admin-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
}

.appeal-admin-top span{
  color:#0e7490;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.appeal-admin-top h3{
  margin:5px 0;
  color:#0f172a;
}

.appeal-admin-top p{
  margin:0;
  color:#64748b;
  font-weight:800;
}

.appeal-admin-top b{
  align-self:start;
  white-space:nowrap;
  padding:8px 10px;
  border-radius:999px;
  background:#fff;
  color:#0f172a;
}

.appeal-admin-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0;
}

.appeal-admin-meta span{
  padding:7px 9px;
  border-radius:999px;
  background:#fff;
  color:#334155;
  font-size:12px;
  font-weight:800;
}

.appeal-admin-message{
  margin:0 0 12px;
  padding:12px;
  border-radius:16px;
  background:#fff;
  color:#334155;
  line-height:1.55;
  white-space:pre-wrap;
}

.appeal-admin-actions{
  display:grid;
  grid-template-columns:150px 1fr auto;
  gap:8px;
}

.appeal-admin-actions select,
.appeal-admin-actions input{
  border:1px solid #dbe3ef;
  border-radius:13px;
  padding:10px;
  font:inherit;
}

.appeal-admin-actions button{
  border:0;
  border-radius:13px;
  padding:10px 13px;
  background:#0f172a;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

.news-form{
  display:grid;
  gap:12px;
}

.news-form label{
  display:grid;
  gap:7px;
  color:#334155;
  font-weight:900;
}

.admin-help{
  margin-top:18px;
  padding:14px;
  border-radius:18px;
  background:#f8fafc;
  color:#334155;
}

.admin-help h3{
  margin:0 0 8px;
}

.admin-help li{
  margin:6px 0;
  line-height:1.45;
}

.admin-empty,
.admin-error{
  padding:28px;
  border-radius:22px;
  background:#fff;
  color:#64748b;
  font-weight:800;
}

.admin-error{
  margin:40px auto;
  max-width:720px;
}

.footer-col .appeal-bot-link{
  display:grid;
  gap:10px;
  text-decoration:none;
  color:inherit;
}

.footer-col .appeal-bot-link .bot-cta{
  display:inline-flex;
  width:max-content;
  padding:9px 12px;
  border-radius:999px;
  background:#16a34a;
  color:#fff;
  font-size:13px;
  font-weight:900;
}

@media(max-width:1100px){
  .appeal-hero-grid,
  .appeal-layout,
  .admin-layout{
    grid-template-columns:1fr;
  }
  .admin-stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .form-grid.two,
  .admin-toolbar,
  .appeal-admin-actions{
    grid-template-columns:1fr;
  }
  .admin-stats-grid{
    grid-template-columns:1fr;
  }
  .local-admin-hero-inner{
    display:grid;
  }
  .appeal-form-card,
  .admin-card{
    padding:16px;
    border-radius:22px;
  }
}


/* Murojaatlar: Telegram botni ochish va fayl biriktirish */
.appeal-bot-open-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius:16px;
  padding:13px 18px;
  background:#229ed9;
  color:#fff;
  font:inherit;
  font-weight:900;
  box-shadow:0 14px 30px rgba(34,158,217,.22);
  transition:transform .18s ease, box-shadow .18s ease;
}

.appeal-bot-open-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(34,158,217,.28);
}

.appeal-bot-open-btn.hidden{
  display:none!important;
}

.appeal-file-box{
  margin:14px 0;
  padding:16px;
  border:1px dashed #93c5fd;
  border-radius:22px;
  background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%);
}

.appeal-file-box label{
  margin-bottom:10px!important;
}

.appeal-file-box input[type="file"]{
  padding:14px;
  background:#fff;
  cursor:pointer;
}

.file-help{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.file-help span{
  display:inline-flex;
  padding:8px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid #dbeafe;
  color:#1e3a8a;
  font-size:12px;
  font-weight:900;
}

.file-preview{
  display:grid;
  gap:8px;
  margin-top:12px;
}

.file-pill{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px;
  border-radius:16px;
  background:#fff;
  border:1px solid #dbeafe;
}

.file-pill b{
  display:grid;
  place-items:center;
  min-height:34px;
  border-radius:12px;
  background:#0f172a;
  color:#fff;
  font-size:12px;
}

.file-pill span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#0f172a;
  font-weight:900;
}

.file-pill em{
  font-style:normal;
  color:#64748b;
  font-weight:800;
  font-size:12px;
}

.admin-attachments{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 12px;
}

.admin-attachments a,
.admin-attachments.muted-attachments{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  border-radius:999px;
  background:#e0f2fe;
  color:#075985;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
}

.admin-attachments a:hover{
  background:#bae6fd;
}

.admin-attachments small{
  color:#334155;
}

.admin-attachments.muted-attachments{
  background:#f1f5f9;
  color:#64748b;
}


/* Final: murojaat sahifasi soddalashtirildi */
.appeal-hero-simple{
  grid-template-columns:1fr!important;
}

.appeal-hero-simple > div{
  max-width:980px;
}

.appeal-layout{
  grid-template-columns:1fr!important;
}

.appeal-form-card{
  max-width:1100px;
  margin:0 auto;
}

.appeal-bot-open-btn,
.appeal-info-panel,
.appeal-local-admin-note{
  display:none!important;
}

.logo-fallback{
  display:grid!important;
  place-items:center;
  background:#e0f2fe;
  font-size:24px;
  text-decoration:none;
}

.appeal-file-box{
  border-color:#bae6fd;
}

.appeal-page .appeal-status.error{
  background:#fee2e2;
  color:#991b1b;
}

.appeal-page .appeal-status.success{
  background:#dcfce7;
  color:#166534;
}

.appeal-page .appeal-status.loading{
  background:#e0f2fe;
  color:#075985;
}


/* ===== Yakuniy murojaat sahifasi: rasm, keng forma, modal va real vaqt ===== */
.weather-time-card .icon-circle{
  font-size:20px;
}

.appeal-hero-clinic{
  position:relative;
  overflow:hidden;
  min-height:420px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  isolation:isolate;
}

.appeal-hero-clinic::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(2, 6, 23, .86), rgba(6, 78, 59, .58)),
    url("https://www.tatvacare.in/wp-content/uploads/2025/06/your-clinic-1.jpg") center/cover no-repeat;
  transform:scale(1.03);
  z-index:-2;
}

.appeal-hero-clinic::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:55%;
  background:linear-gradient(0deg, rgba(245,247,250,.98), transparent);
  z-index:-1;
}

.appeal-marquee{
  position:absolute;
  top:18px;
  left:0;
  right:0;
  overflow:hidden;
  z-index:2;
  pointer-events:none;
}

.appeal-marquee-track{
  display:inline-block;
  white-space:nowrap;
  min-width:100%;
  padding-left:100%;
  color:#ffffff;
  font-weight:900;
  letter-spacing:.01em;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
  animation:appealMarquee 22s linear infinite;
}

@keyframes appealMarquee{
  from{ transform:translateX(0); }
  to{ transform:translateX(-100%); }
}

.appeal-hero-clinic h1{
  max-width:760px;
  font-size:clamp(48px, 8vw, 88px)!important;
  line-height:.95;
  color:#fff;
  text-shadow:0 12px 30px rgba(0,0,0,.35);
}

.appeal-hero-clinic p{
  color:rgba(255,255,255,.94)!important;
  max-width:850px;
  font-size:clamp(18px, 2.2vw, 25px);
  font-weight:750;
  line-height:1.45;
}

.appeal-detail-btn{
  margin-top:24px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:0;
  border-radius:999px;
  padding:14px 24px;
  background:#ffffff;
  color:#075985;
  font-weight:900;
  box-shadow:0 18px 45px rgba(0,0,0,.2);
  cursor:pointer;
  transition:.2s ease;
}

.appeal-detail-btn::after{
  content:"→";
  font-size:20px;
}

.appeal-detail-btn:hover{
  transform:translateY(-2px);
}

.appeal-section{
  margin-top:-70px;
  position:relative;
  z-index:4;
}

.appeal-layout{
  display:block!important;
}

.appeal-form-card{
  width:min(1180px, 100%)!important;
  max-width:1180px!important;
  margin:0 auto!important;
  border:1px solid rgba(14,165,233,.15)!important;
  box-shadow:0 35px 90px rgba(15,23,42,.18)!important;
  backdrop-filter:blur(14px);
}

.appeal-form-head h2{
  font-size:clamp(32px, 4vw, 54px)!important;
  letter-spacing:-.04em;
}

.appeal-form-card input,
.appeal-form-card select,
.appeal-form-card textarea{
  font-size:17px!important;
}

.custom-file-upload{
  display:flex!important;
  align-items:center;
  gap:12px;
  min-height:58px;
  border:1px solid rgba(15,23,42,.13);
  background:#fff;
  border-radius:20px;
  padding:8px 12px;
  cursor:pointer;
}

.custom-file-upload input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.custom-file-btn{
  flex:0 0 auto;
  border-radius:16px;
  padding:13px 18px;
  background:linear-gradient(135deg,#0284c7,#10b981);
  color:#fff;
  font-weight:900;
  box-shadow:0 12px 25px rgba(14,165,233,.25);
}

#fileInputText{
  color:#334155;
  font-weight:800;
}

.file-label-title{
  font-weight:900;
  font-size:19px;
  margin-bottom:10px;
}

.appeal-submit-btn.is-disabled,
.appeal-submit-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
  filter:grayscale(.25);
}

.appeal-status.success{
  font-size:18px;
  border-radius:22px;
}

.appeal-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:22px;
}

.appeal-modal.is-open{
  display:flex;
}

.appeal-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,6,23,.62);
  backdrop-filter:blur(8px);
}

.appeal-modal-card{
  position:relative;
  width:min(760px, 100%);
  border-radius:32px;
  background:#fff;
  padding:34px;
  box-shadow:0 45px 120px rgba(0,0,0,.35);
  animation:modalIn .18s ease-out;
}

@keyframes modalIn{
  from{ opacity:0; transform:translateY(20px) scale(.98); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}

.appeal-modal-card h2{
  font-size:clamp(30px, 4vw, 46px);
  margin:8px 0 16px;
  letter-spacing:-.04em;
}

.appeal-modal-card p{
  color:#334155;
  font-weight:700;
  line-height:1.65;
}

.appeal-modal-close{
  position:absolute;
  top:18px;
  right:18px;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#e0f2fe;
  color:#075985;
  font-size:28px;
  font-weight:900;
  cursor:pointer;
}

.appeal-modal-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:22px 0;
}

.appeal-modal-grid div{
  border:1px solid rgba(14,165,233,.18);
  border-radius:22px;
  padding:16px;
  background:linear-gradient(180deg,#f8fafc,#ecfeff);
}

.appeal-modal-grid b{
  display:block;
  color:#0f172a;
  margin-bottom:8px;
}

.appeal-modal-grid span{
  display:block;
  color:#475569;
  font-weight:700;
  line-height:1.45;
}

.appeal-modal-note{
  border-radius:22px;
  background:#dcfce7;
  padding:16px;
  color:#166534!important;
}

@media(max-width:760px){
  .appeal-modal-grid{ grid-template-columns:1fr; }
  .appeal-section{ margin-top:-38px; }
  .appeal-form-card{ border-radius:28px!important; }
}


/* ===== Yakuniy tuzatish: ob-havo/soat faqat bosh sahifa uslubida chiqadi ===== */
#weatherTimeWidget,
.weather-time-card{
  display:none!important;
}

.weather-lang-inline{
  display:flex;
  align-items:center;
  gap:12px;
}

.live-datetime{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:0 20px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#1e3a5f;
  font-weight:900;
  box-shadow:0 10px 30px rgba(15,23,42,.12);
  white-space:nowrap;
}

.live-date-text{
  font-weight:900;
}

.live-time-text{
  font-weight:950;
  color:#0f172a;
}

.appeal-marquee-track{
  padding-left:100%;
  animation:appealMarqueeSingle 18s linear infinite!important;
}

@keyframes appealMarqueeSingle{
  from{ transform:translateX(0); }
  to{ transform:translateX(-100%); }
}


/* ===== Oddiy Zoom + avtomatik keyingi link eslatmasi ===== */
.zoom-auto-alert{
  margin:14px 0 0;
  padding:12px 14px;
  border-radius:18px;
  background:#eff6ff;
  border:1px solid #bfdbfe;
  color:#1e3a8a;
  font-weight:850;
  line-height:1.45;
}
.zoom-next-box{
  margin-top:14px;
  padding:13px 15px;
  border-radius:18px;
  background:#f8fafc;
  border:1px dashed #93c5fd;
  color:#0f172a;
  font-weight:850;
}
.zoom-next-box span{
  color:#475569;
  margin-left:6px;
}
.zoom-warning{
  display:inline-block;
  margin-top:6px;
  padding:7px 10px;
  border-radius:999px;
  background:#fff7ed;
  color:#c2410c;
  font-weight:950;
}


/* FINAL LOGO + ZOOM CLEAN FIX FINAL-LOGO-ZOOM-CLEAN-20260530-1445 */
.logo,
.footer-logo,
#dockLogo {
  object-fit: cover;
  background: #eef7fb;
  transition: none !important;
}

.brand img.logo[src*="assets/logo-xovos.svg"],
.footer-logo[src*="assets/logo-xovos.svg"],
#dockLogo[src*="assets/logo-xovos.svg"] {
  content: url("https://upload.wikimedia.org/wikipedia/commons/3/39/O%60zbekiston_Respublikasi_Sog%60liqni_Saqlash_Vazirligi.jpg");
}

.zoom-clean-box {
  align-items: center;
}

.zoom-clean-left .analysis-eyebrow,
.zoom-clean-left #zoomText,
.zoom-clean-left .zoom-auto-alert,
.zoom-clean-left #zoomNextBox {
  display: none !important;
}

.zoom-clean-left h3 {
  margin-bottom: 24px;
}

.zoom-clean-left .zoom-actions {
  margin-top: 22px;
}

.zoom-clean-left .pro-zoom-meta {
  margin-top: 0;
}
