:root{
  --v4-drawer-w:268px;
  --v4-drawer-offset:304px;
  --v4-accent:#56e6ad;
  --v4-glass:rgba(4,74,67,.62);
  --v4-glass-2:rgba(13,94,80,.42);
  --v4-border:rgba(142,255,221,.16);
  --v4-text:#f4f8f7;
  --v4-muted:rgba(235,245,242,.62);
}

/* One shell only. Existing V3 functional surfaces remain intact. */
body:not(.auth-mode){
  background-attachment:fixed!important;
}

.v4-menu-button{
  position:fixed;left:24px;top:24px;z-index:1200;
  width:48px;height:48px;border:1px solid rgba(126,255,216,.18);
  border-radius:16px;background:rgba(7,77,69,.42);backdrop-filter:blur(16px) saturate(145%);
  -webkit-backdrop-filter:blur(16px) saturate(145%);color:var(--v4-accent);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 24px rgba(0,0,0,.18);
}
.v4-menu-button:hover{background:rgba(30,124,102,.48);border-color:rgba(126,255,216,.30)}
.v4-menu-button svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}

.v4-drawer-overlay{position:fixed;inset:0;z-index:1090;background:rgba(0,12,15,.43);backdrop-filter:blur(5px);opacity:0;pointer-events:none;transition:.2s ease}
.v4-drawer{position:fixed;z-index:1100;left:0;top:0;bottom:0;width:min(var(--v4-drawer-w),92vw);padding:22px 20px 18px;
  transform:translateX(-102%);transition:transform .22s ease;
  background:linear-gradient(160deg,rgba(3,79,72,.74),rgba(4,53,51,.62) 60%,rgba(103,104,45,.38));
  border-right:1px solid var(--v4-border);backdrop-filter:blur(26px) saturate(145%);-webkit-backdrop-filter:blur(26px) saturate(145%);
  display:flex;flex-direction:column;overflow:auto;color:var(--v4-text)
}
body.v4-menu-open .v4-drawer{transform:none}
body.v4-menu-open:not(.v4-menu-pinned) .v4-drawer-overlay{opacity:1;pointer-events:auto}
/* Canonical compact header: the same on every authenticated page. */
.v4-site-brand{position:relative;z-index:6;width:min(100%,820px);height:112px;margin:0 auto 10px;padding:14px 76px 6px;text-align:center;color:#f6f8f7;display:flex;flex-direction:column;align-items:center;justify-content:center}
.v4-site-brand .leaf{font-size:27px;line-height:1;color:var(--v4-accent);margin-bottom:3px}
.v4-site-brand h1{margin:0;white-space:nowrap;font-size:clamp(26px,3.1vw,38px);line-height:1;letter-spacing:-.035em}
.v4-site-brand .sub{font-size:12px;color:var(--v4-muted);margin-top:5px;white-space:nowrap}
.v4-site-brand .keywords{font-size:9px;color:#4fe0ae;text-transform:uppercase;letter-spacing:.17em;font-weight:800;margin-top:5px;white-space:nowrap}

/* remove duplicated V3 headers/nav only on authenticated main modes */
body.v4-shell-active .camera-brand,
body.v4-shell-active .request-brand,
body.v4-shell-active .map-brand,
body.v4-shell-active .site-nav{display:none!important}

.v4-section{position:relative;z-index:5;width:min(760px,calc(100% - 32px));margin:0 auto 40px}
.v4-card{border-radius:22px;border:1px solid rgba(89,225,182,.17);background:linear-gradient(145deg,rgba(5,76,68,.82),rgba(3,48,49,.86));box-shadow:0 16px 35px rgba(0,0,0,.18);padding:24px 26px;color:#f3f7f6;backdrop-filter:blur(16px)}
.v4-card h2{font-size:30px;margin:4px 0 14px}.v4-card p{line-height:1.55;color:rgba(240,248,246,.76)}
.v4-eyebrow{font-size:11px;color:#50e5ae;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.v4-doc-grid{display:grid;gap:15px;margin-top:18px}.v4-doc{padding:14px;border-radius:18px;background:rgba(0,20,23,.24);border:1px solid rgba(255,255,255,.08)}
.v4-doc img{display:block;width:100%;border-radius:12px;background:#eee}.v4-doc h3{margin:12px 0 6px;font-size:18px}.v4-doc p{margin:0;font-size:14px}.v4-doc a{display:inline-flex;margin-top:10px;color:#62e8b7;font-weight:800;text-decoration:none}
.v4-gas-list{padding-left:20px;line-height:1.55}.v4-gas-note{margin-top:16px;padding:15px 16px;border-radius:15px;background:rgba(86,230,173,.08);border:1px solid rgba(86,230,173,.15)}

/* News */
.v4-news-feed{display:grid;gap:12px}.v4-news-card{padding:18px 20px;border-radius:20px;background:linear-gradient(145deg,rgba(5,76,68,.88),rgba(3,48,49,.91));border:1px solid rgba(69,226,179,.18);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.v4-news-date{color:#53e4ad;font-size:13px;font-weight:800;margin-bottom:9px}.v4-news-text{font-size:16px;line-height:1.5}.v4-news-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:13px}.v4-news-gallery>*{min-width:0}.v4-news-gallery img,.v4-news-gallery video{display:block;width:100%;max-height:320px;object-fit:cover;border-radius:12px;background:#06181a}.v4-news-gallery a.pdf{min-height:72px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:12px;padding:12px;color:#eef7f4;text-decoration:none}

@media(max-width:899px){.v4-menu-button{left:16px;top:16px}}
@media(max-width:768px){
  .v4-site-brand{height:102px;margin-bottom:7px;padding:11px 66px 5px}.v4-site-brand .leaf{font-size:22px}.v4-site-brand h1{font-size:clamp(18px,5.1vw,23px);letter-spacing:-.045em}.v4-site-brand .sub{font-size:10px}.v4-site-brand .keywords{font-size:7.5px;letter-spacing:.12em}
  .v4-section{width:calc(100% - 20px);margin-bottom:24px}.v4-card{padding:20px 18px;border-radius:20px}.v4-card h2{font-size:28px}.v4-news-card{padding:15px 16px}.v4-news-gallery{gap:6px}
}
@media(max-width:390px){.v4-site-brand{padding-left:60px;padding-right:60px}.v4-site-brand h1{font-size:18px}}

/* V3 approved background on all authenticated pages. */
body.v4-shell-active{
  min-height:100vh;
  background:
    linear-gradient(rgba(0,31,35,.16),rgba(0,31,35,.16)),
    url("/assets/snt-auth-desktop.webp") center center / cover fixed no-repeat!important;
}
@media(max-width:1099px){body.v4-shell-active{background-image:linear-gradient(rgba(0,31,35,.14),rgba(0,31,35,.14)),url("/assets/snt-auth-tablet.webp")!important}}
@media(max-width:768px){body.v4-shell-active{background-image:linear-gradient(rgba(0,31,35,.12),rgba(0,31,35,.12)),url("/assets/snt-auth-mobile.webp")!important;background-attachment:scroll!important}}


/* SNT54_V3_LEAF_RESTORE */
.v4-site-brand .leaf .v4-leaf-svg{
    display:block;
    width:34px;
    height:28px;
    margin:0 auto;
}

.v4-drawer-brand .leaf .v4-leaf-svg{
    display:block;
    width:30px;
    height:25px;
    margin:0 auto 4px;
}

@media (max-width:700px){
    .v4-site-brand .leaf .v4-leaf-svg{
        width:29px;
        height:24px;
    }
}

/* Consistent content titles */
.v4-section-title{
  margin:0 0 12px;
  padding:0 2px;
  color:#f3f7f5;
  font:700 15px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:0;
  text-align:left;
}

/* News media keeps one visual rhythm regardless of Telegram attachment count. */
.v4-news-gallery-1{grid-template-columns:minmax(0,1fr)}
.v4-news-gallery-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.v4-news-gallery-3,.v4-news-gallery-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.v4-news-gallery img,.v4-news-gallery video{height:auto;max-height:420px;object-fit:contain}


/* =========================================================
   SNT54 V4 — UNIFIED PAGE SYSTEM
   One visual language and one coordinate system for every tab.
   ========================================================= */

:root{
  --v4-page-max:880px;
  --v4-page-gap:16px;
  --v4-panel-radius:20px;
  --v4-panel-bg:linear-gradient(145deg,rgba(5,76,68,.86),rgba(3,48,49,.89));
  --v4-panel-border:1px solid rgba(89,225,182,.18);
  --v4-panel-shadow:0 14px 32px rgba(0,0,0,.18);
}

/* The canonical shell header is identical on every authenticated page. */
body.v4-shell-active .v4-site-brand{
  width:min(var(--v4-page-max),calc(100% - 32px));
  max-width:var(--v4-page-max);
  margin-left:auto;
  margin-right:auto;
}

/* Every page starts on the same vertical and horizontal rhythm. */
body.v4-shell-active .v4-page-main{
  position:relative;
  z-index:5;
  box-sizing:border-box;
  margin-top:0!important;
  margin-bottom:36px!important;
}

body.v4-shell-active .v4-page-standard{
  width:min(var(--v4-page-max),calc(100% - 32px))!important;
  max-width:var(--v4-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.v4-shell-active .v4-page-wide{
  width:calc(100% - 32px)!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* One panel treatment for page cards, news cards, cameras, map and request form. */
body.v4-shell-active .v4-card,
body.v4-shell-active .news-card,
body.v4-shell-active .news-empty,
body.v4-shell-active .camera-panel,
body.v4-shell-active .map-card,
body.v4-shell-active .form-card,
body.v4-shell-active .request-system-unavailable{
  border-radius:var(--v4-panel-radius)!important;
  border:var(--v4-panel-border)!important;
  background:var(--v4-panel-bg)!important;
  box-shadow:var(--v4-panel-shadow)!important;
}

/* Page title style is shared by News, History and Gasification. */
body.v4-shell-active .v4-section-title,
body.v4-shell-active .news-page-title,
body.v4-shell-active .v4-card > h2{
  color:#f3f7f5!important;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important;
  font-weight:700!important;
  letter-spacing:0!important;
}

body.v4-shell-active .news-page-title,
body.v4-shell-active .v4-section-title{
  margin:0 0 10px!important;
  padding:0 2px!important;
  font-size:15px!important;
  line-height:1.2!important;
  text-align:left!important;
}

/* News keeps its approved gallery/lightbox behaviour, but follows common spacing. */
body.v4-shell-active .v4-news-section{
  width:min(var(--v4-page-max),calc(100% - 32px))!important;
  max-width:var(--v4-page-max)!important;
}
body.v4-shell-active .v4-news-section .news-feed,
body.v4-shell-active .v4-news-section .v4-news-feed{
  width:100%!important;
  max-width:none!important;
}
body.v4-shell-active .v4-news-section .news-card{
  padding:18px 20px!important;
}

/* History / Gasification use the same content width and card geometry as News. */
body.v4-shell-active.history-mode .v4-card,
body.v4-shell-active.gasification-mode .v4-card{
  width:100%!important;
  max-width:none!important;
  padding:24px 26px!important;
}

/* Wide functional surfaces still share the same outer edges. */
body.v4-shell-active.camera-mode .cameras-page,
body.v4-shell-active.map-mode .integrated-map-page{
  padding-left:0!important;
  padding-right:0!important;
}
body.v4-shell-active.camera-mode .main-container,
body.v4-shell-active.map-mode .map-main{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.v4-shell-active.map-mode .map-card{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

/* Request page follows the same standard content column. */


/* =========================================================
   DESKTOP PINNED MENU
   Drawer occupies its own column exactly once.
   Geometry is based on the real content width, not 100vw,
   so the browser scrollbar is automatically accounted for.
   ========================================================= */
@media (min-width:900px){
  body.v4-menu-pinned{
    box-sizing:border-box!important;
    width:100%!important;
    padding-left:var(--v4-drawer-offset)!important;
    overflow-x:hidden!important;
  }

  body.v4-menu-pinned .v4-drawer{transform:none!important}
  body.v4-menu-pinned .v4-drawer-overlay{display:none!important;pointer-events:none!important}
  body.v4-menu-pinned .v4-menu-button,
  body.v4-menu-pinned [data-v4-menu-open]{display:none!important}

  /* Every section is centered inside the same remaining workspace. */
  body.v4-menu-pinned .v4-site-brand,
body.v4-menu-pinned .v4-page-main,
body.v4-menu-pinned .v4-section,
body.v4-menu-pinned .cameras-page,
body.v4-menu-pinned .integrated-map-page{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.v4-menu-pinned .v4-site-brand,
body.v4-menu-pinned .v4-page-standard{
    width:min(var(--v4-page-max),calc(100% - (var(--v4-page-gap) * 2)))!important;
    max-width:var(--v4-page-max)!important;
  }

  body.v4-menu-pinned .v4-page-wide{
    width:calc(100% - (var(--v4-page-gap) * 2))!important;
    max-width:1180px!important;
  }

  /* Functional inner blocks never receive a second horizontal offset. */
  body.v4-menu-pinned.camera-mode .main-container,
  body.v4-menu-pinned.map-mode .map-main,
  body.v4-menu-pinned.camera-mode .video-container,
  body.v4-menu-pinned.camera-mode .camera-panel,
  body.v4-menu-pinned.camera-mode .services-grid,
  body.v4-menu-pinned.map-mode .map-card{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* =========================================================
   TABLET — explicit audited breakpoint.
   Same centered rhythm; drawer never pins.
   ========================================================= */
@media (min-width:769px) and (max-width:1099px){
  body.v4-shell-active .v4-site-brand,
  body.v4-shell-active .v4-page-standard{
    width:min(var(--v4-page-max),calc(100% - 36px))!important;
  }
  body.v4-shell-active .v4-page-wide{
    width:calc(100% - 36px)!important;
    max-width:none!important;
  }
}

/* =========================================================
   MOBILE — preserve the approved compact interface.
   ========================================================= */
@media (max-width:768px){
  body.v4-shell-active .v4-site-brand,
  body.v4-shell-active .v4-page-standard,
  body.v4-shell-active .v4-page-wide{
    width:calc(100% - 20px)!important;
    max-width:none!important;
    margin-left:10px!important;
    margin-right:10px!important;
  }

  body.v4-shell-active .v4-news-section .news-card,
  body.v4-shell-active.history-mode .v4-card,
  body.v4-shell-active.gasification-mode .v4-card{
    padding:16px!important;
    border-radius:18px!important;
  }

  body.v4-shell-active .news-page-title,
  body.v4-shell-active .v4-section-title{
    font-size:14px!important;
    margin-bottom:9px!important;
  }
}

/* =========================================================
   SNT54 V4 — AUDIT3: request alignment + compact documents
   ========================================================= */
@media (min-width:1100px){
  
}

/* History document previews use the same interaction model as News. */
body.v4-shell-active.history-mode .v4-doc-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
}
body.v4-shell-active.history-mode .v4-doc-preview{
  position:relative;
  display:block;
  width:100%;
  height:260px;
  overflow:hidden;
  border-radius:12px;
  background:rgba(0,0,0,.22);
  text-decoration:none;
}
body.v4-shell-active.history-mode .v4-doc-preview img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#ececec;
}
body.v4-shell-active.history-mode .v4-doc-preview span{
  position:absolute;
  right:10px;
  bottom:10px;
  padding:7px 10px;
  border-radius:10px;
  background:rgba(0,32,35,.82);
  color:#fff;
  font-size:12px;
  font-weight:800;
  backdrop-filter:blur(8px);
}

/* Gas protocol preview is intentionally compact; download remains full-size. */
body.v4-shell-active.gasification-mode .v4-gas-pdf-frame{
  height:360px!important;
  min-height:360px!important;
  max-height:360px!important;
}

@media (max-width:768px){
  body.v4-shell-active.history-mode .v4-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.v4-shell-active.history-mode .v4-doc-preview{height:220px;}
  body.v4-shell-active.gasification-mode .v4-gas-pdf-frame{
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
  }
}

/* SNT54_GAS_PAGE_V2_START */

body.v4-shell-active.gasification-mode .v4-gas-main-card{
  overflow:hidden;
}

.v4-gas-main-card > h2{
  margin-bottom:20px!important;
}

.v4-gas-status{
  margin:4px 0 24px;
  padding:20px;
  border-radius:18px;
  background:
    linear-gradient(135deg,rgba(26,190,139,.16),rgba(4,43,45,.34));
  border:1px solid rgba(86,230,173,.23);
}

.v4-gas-status-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.v4-gas-kicker{
  margin-bottom:4px;
  color:#55e7b1;
  font-size:11px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.v4-gas-status h3,
.v4-gas-section h3,
.v4-gas-tool h3{
  margin:0;
  color:#f3f8f6;
}

.v4-gas-status h3{
  font-size:22px;
}

.v4-gas-status-badge{
  flex:0 0 auto;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(26,203,145,.16);
  border:1px solid rgba(83,231,177,.25);
  color:#68edbd;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}

.v4-gas-status-text{
  margin:13px 0 18px!important;
}

.v4-gas-progress{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}

.v4-gas-progress-item{
  display:flex;
  align-items:center;
  min-width:0;
  gap:9px;
  padding:11px;
  border-radius:13px;
  background:rgba(0,23,26,.28);
  border:1px solid rgba(255,255,255,.07);
}

.v4-gas-progress-icon{
  display:grid;
  flex:0 0 28px;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.07);
  color:rgba(255,255,255,.68);
  font-size:12px;
  font-weight:900;
}

.v4-gas-progress-item.is-done .v4-gas-progress-icon{
  background:#10b981;
  color:#fff;
}

.v4-gas-progress-item.is-active .v4-gas-progress-icon{
  background:#0c7965;
  color:#69f0c1;
}

.v4-gas-progress-item strong{
  display:block;
  font-size:12px;
  line-height:1.25;
}

.v4-gas-progress-item small{
  display:block;
  margin-top:3px;
  color:rgba(237,247,244,.58);
  font-size:10px;
}


.v4-gas-section{
  margin-top:18px;
  padding:19px;
  border-radius:17px;
  background:rgba(0,28,31,.23);
  border:1px solid rgba(255,255,255,.075);
}

.v4-gas-section > h3{
  margin-bottom:15px;
  font-size:17px;
}


.v4-gas-timeline{
  display:grid;
  gap:0;
}

.v4-gas-timeline-item{
  position:relative;
  display:grid;
  grid-template-columns:20px 1fr;
  gap:10px;
  padding:0 0 17px;
}

.v4-gas-timeline-item:last-child{
  padding-bottom:0;
}

.v4-gas-timeline-item:not(:last-child)::before{
  content:"";
  position:absolute;
  left:7px;
  top:16px;
  bottom:0;
  width:1px;
  background:rgba(92,225,181,.22);
}

.v4-gas-timeline-dot{
  width:15px;
  height:15px;
  margin-top:2px;
  border-radius:50%;
  border:3px solid rgba(79,222,175,.3);
  background:#075549;
  box-sizing:border-box;
  z-index:1;
}

.v4-gas-timeline-item.is-current .v4-gas-timeline-dot{
  background:#55e7b1;
  box-shadow:0 0 0 5px rgba(85,231,177,.1);
}

.v4-gas-timeline-item strong{
  font-size:14px;
}

.v4-gas-timeline-item p{
  margin:4px 0 0!important;
  font-size:13px;
}


.v4-gas-steps{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.v4-gas-step{
  display:flex;
  gap:11px;
  padding:14px;
  border-radius:14px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.065);
}

.v4-gas-step > span{
  display:grid;
  flex:0 0 29px;
  width:29px;
  height:29px;
  place-items:center;
  border-radius:9px;
  background:rgba(64,224,171,.13);
  color:#65eab9;
  font-size:12px;
  font-weight:900;
}

.v4-gas-step strong{
  font-size:13px;
}

.v4-gas-step p{
  margin:5px 0 0!important;
  font-size:12px;
  line-height:1.45!important;
}


.v4-gas-doc-checklist{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.v4-gas-doc-checklist label{
  display:flex;
  gap:10px;
  padding:12px;
  border-radius:12px;
  background:rgba(255,255,255,.035);
}

.v4-gas-check{
  display:grid;
  flex:0 0 23px;
  width:23px;
  height:23px;
  place-items:center;
  border-radius:7px;
  background:rgba(23,190,137,.15);
  color:#62e8b7;
  font-size:12px;
  font-weight:900;
}

.v4-gas-check.optional{
  background:rgba(255,255,255,.07);
  color:rgba(255,255,255,.65);
}

.v4-gas-doc-checklist strong{
  display:block;
  font-size:12px;
}

.v4-gas-doc-checklist small{
  display:block;
  margin-top:3px;
  color:rgba(240,248,246,.58);
  font-size:10px;
  line-height:1.35;
}


.v4-gas-warning,
.v4-gas-final-note{
  margin-top:13px;
  padding:14px 15px;
  border-radius:13px;
  border:1px solid rgba(245,199,92,.18);
  background:rgba(192,139,31,.07);
}

.v4-gas-warning strong,
.v4-gas-final-note strong{
  display:block;
  margin-bottom:4px;
  color:#f2d587;
  font-size:12px;
}

.v4-gas-warning p,
.v4-gas-final-note p{
  margin:0!important;
  font-size:12px;
}


.v4-gas-online ol{
  margin:0;
  padding-left:22px;
  color:rgba(240,248,246,.77);
}

.v4-gas-online li{
  margin:0 0 8px;
  padding-left:3px;
  line-height:1.45;
  font-size:13px;
}

.v4-gas-primary-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin-top:15px;
  border-radius:12px;
  background:#10b981;
  color:#fff!important;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
}


.v4-gas-tools{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}

.v4-gas-tool{
  display:grid;
  grid-template-columns:44px 1fr auto;
  align-items:center;
  gap:12px;
  padding:16px;
  border-radius:16px;
  background:
    linear-gradient(145deg,rgba(16,112,93,.22),rgba(0,27,30,.31));
  border:1px dashed rgba(98,232,183,.24);
}

.v4-gas-tool-icon{
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border-radius:13px;
  background:rgba(83,228,173,.1);
  color:#62e8b7;
  font-size:13px;
  font-weight:900;
}

.v4-gas-tool-label{
  display:block;
  margin-bottom:3px;
  color:#55e7b1;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.v4-gas-tool h3{
  font-size:14px;
}

.v4-gas-tool p{
  margin:5px 0 0!important;
  font-size:11px;
}

.v4-gas-soon{
  padding:5px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.58);
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
}


.v4-gas-doc-card{
  padding:13px;
  border-radius:14px;
  background:rgba(255,255,255,.035);
}

.v4-gas-doc-info{
  margin-bottom:10px;
}

.v4-gas-doc-info strong{
  font-size:13px;
}

.v4-gas-doc-info p{
  margin:4px 0 0!important;
  font-size:11px;
}

body.v4-shell-active.gasification-mode .v4-gas-pdf-frame{
  display:block!important;
  width:100%!important;
  height:230px!important;
  min-height:230px!important;
  max-height:230px!important;
  border-radius:12px!important;
}

.v4-gas-doc-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:9px;
}

.v4-gas-doc-open,
.v4-gas-pdf-download{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  min-height:40px!important;
  margin:0!important;
  padding:10px 14px!important;
  border-radius:11px!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:800!important;
}

.v4-gas-doc-open{
  background:rgba(255,255,255,.065);
  color:#eef7f4!important;
  border:1px solid rgba(255,255,255,.08);
}

.v4-gas-pdf-download{
  background:#10b981!important;
  color:#fff!important;
}


.v4-gas-contact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

.v4-gas-contact{
  padding:13px;
  border-radius:13px;
  background:rgba(255,255,255,.035);
}

.v4-gas-contact strong{
  display:block;
  margin-bottom:5px;
  font-size:12px;
}

.v4-gas-contact span,
.v4-gas-contact a{
  display:block;
  color:rgba(240,248,246,.62);
  font-size:10px;
  line-height:1.4;
}

.v4-gas-contact a{
  margin-top:4px;
  color:#62e8b7;
}


@media (max-width:900px){

  .v4-gas-progress{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .v4-gas-tools{
    grid-template-columns:1fr;
  }

  .v4-gas-contact-grid{
    grid-template-columns:1fr;
  }
}


@media (max-width:600px){

  .v4-gas-status{
    padding:15px;
  }

  .v4-gas-status-head{
    display:block;
  }

  .v4-gas-status-badge{
    display:inline-flex;
    margin-top:9px;
  }

  .v4-gas-status h3{
    font-size:19px;
  }

  .v4-gas-progress,
  .v4-gas-steps,
  .v4-gas-doc-checklist{
    grid-template-columns:1fr;
  }

  .v4-gas-section{
    padding:14px;
  }

  .v4-gas-tool{
    grid-template-columns:38px 1fr;
  }

  .v4-gas-tool-icon{
    width:38px;
    height:38px;
  }

  .v4-gas-soon{
    grid-column:2;
    justify-self:start;
  }

  body.v4-shell-active.gasification-mode .v4-gas-pdf-frame{
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
  }

  .v4-gas-doc-actions{
    grid-template-columns:1fr;
  }
}


/* Низкие landscape / раскладушки */
@media (max-height:480px) and (orientation:landscape){

  .v4-gas-status,
  .v4-gas-section{
    padding:12px;
  }

  .v4-gas-status-text{
    margin-bottom:10px!important;
  }

  .v4-gas-progress{
    gap:6px;
  }

  .v4-gas-progress-item{
    padding:8px;
  }

  body.v4-shell-active.gasification-mode .v4-gas-pdf-frame{
    height:160px!important;
    min-height:160px!important;
    max-height:160px!important;
  }
}

/* SNT54_GAS_PAGE_V2_END */

/* SNT54_GAS_STRUCTURE_V3_START */


/* =======================================================
   STATUS
   ======================================================= */

.v4-gas-status{
  margin-bottom:18px!important;
}

.v4-gas-status-text{
  margin-bottom:0!important;
}


/* Старые четыре мини-статуса больше не используются */
.v4-gas-status .v4-gas-progress{
  display:none!important;
}


/* =======================================================
   ROADMAP
   ======================================================= */

.v4-gas-roadmap-section{
  overflow:visible!important;
}

.v4-gas-roadmap{
  position:relative;
  display:block!important;
}

.v4-gas-roadmap .v4-gas-timeline-item{
  position:relative;
  display:grid!important;

  grid-template-columns:
    38px minmax(0,1fr)!important;

  gap:14px!important;

  padding:0 0 22px 0!important;
}


/*
 * Линия соединения.
 * По умолчанию будущая — пунктирная.
 */
.v4-gas-roadmap
.v4-gas-timeline-item:not(:last-child)::before{
  content:""!important;

  position:absolute!important;

  left:18px!important;
  top:30px!important;
  bottom:-2px!important;

  width:0!important;

  border-left:
    2px dashed rgba(115,220,184,.26)!important;

  background:none!important;
}


/* Выполненный участок линии — сплошной */
.v4-gas-roadmap
.v4-gas-timeline-item.is-done:not(:last-child)::before{
  border-left:
    2px solid rgba(63,222,169,.72)!important;
}


/*
 * От текущего этапа и дальше
 * снова начинается пунктир.
 */
.v4-gas-roadmap
.v4-gas-timeline-item.is-current:not(:last-child)::before{
  border-left:
    2px dashed rgba(97,213,177,.34)!important;
}


.v4-gas-timeline-marker{
  position:relative;
  display:flex;
  justify-content:center;
  z-index:2;
}


.v4-gas-roadmap .v4-gas-timeline-dot{
  display:grid!important;
  place-items:center!important;

  box-sizing:border-box!important;

  width:25px!important;
  height:25px!important;

  margin:0!important;

  border-radius:50%!important;

  border:
    2px solid rgba(89,214,175,.42)!important;

  background:#073f3a!important;

  color:#81d9ba!important;

  font-size:10px!important;
  font-weight:900!important;

  box-shadow:none!important;
}


/* Выполнено */
.v4-gas-roadmap
.v4-gas-timeline-item.is-done
.v4-gas-timeline-dot{
  border-color:#28d69e!important;
  background:#14b985!important;
  color:#fff!important;

  box-shadow:
    0 0 0 4px rgba(20,185,133,.09)!important;
}


/* Текущий этап — заметно крупнее */
.v4-gas-roadmap
.v4-gas-timeline-item.is-current
.v4-gas-timeline-dot{
  width:35px!important;
  height:35px!important;

  margin-left:-5px!important;
  margin-top:-5px!important;

  border:
    3px solid rgba(98,239,189,.82)!important;

  background:#0ec38a!important;
  color:#fff!important;

  font-size:12px!important;

  box-shadow:
    0 0 0 6px rgba(45,224,164,.12),
    0 0 22px rgba(52,235,172,.22)!important;
}


/* Будущие этапы */
.v4-gas-roadmap
.v4-gas-timeline-item.is-future
.v4-gas-timeline-dot{
  background:rgba(0,34,35,.65)!important;
  border-color:rgba(122,203,178,.27)!important;
  color:rgba(217,239,232,.46)!important;
}


.v4-gas-timeline-body{
  min-width:0;
}


.v4-gas-timeline-body > strong,
.v4-gas-current-title strong{
  display:inline-block;

  color:#f3f8f6;

  font-size:14px!important;
  line-height:1.3;
}


.v4-gas-roadmap
.v4-gas-timeline-item.is-current
.v4-gas-timeline-body > strong,
.v4-gas-roadmap
.v4-gas-timeline-item.is-current
.v4-gas-current-title strong{
  font-size:16px!important;
}


.v4-gas-stage-state{
  display:inline-block;

  margin-left:8px;

  color:rgba(218,239,232,.45);

  font-size:9px;
  font-weight:800;

  letter-spacing:.05em;
  text-transform:uppercase;
}


.v4-gas-timeline-item.is-done
.v4-gas-stage-state{
  color:#5ce4b4;
}


.v4-gas-current-title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;

  gap:9px;
}


.v4-gas-now{
  display:inline-flex;
  align-items:center;

  min-height:20px;

  padding:3px 8px;

  border-radius:999px;

  background:#14b985;

  color:#fff;

  font-size:9px;
  font-weight:900;

  letter-spacing:.07em;
  text-transform:uppercase;

  box-shadow:
    0 0 0 4px rgba(20,185,133,.08);
}


.v4-gas-roadmap
.v4-gas-timeline-item p{
  margin:
    5px 0 0 0!important;

  max-width:900px;

  font-size:12px!important;
  line-height:1.48!important;
}


.v4-gas-roadmap
.v4-gas-timeline-item.is-future
.v4-gas-timeline-body{
  opacity:.72;
}


/* =======================================================
   OWNER GUIDE
   ======================================================= */

.v4-gas-owner-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;

  gap:16px;

  margin-bottom:16px;
}


.v4-gas-owner-head h3{
  margin:0!important;
}


.v4-gas-owner-badge{
  display:inline-flex;
  align-items:center;

  min-height:25px;

  padding:4px 10px;

  border-radius:999px;

  border:
    1px solid rgba(78,223,173,.18);

  background:
    rgba(30,198,143,.08);

  color:#66e7b8;

  font-size:10px;
  font-weight:800;

  white-space:nowrap;
}


.v4-gas-owner-steps{
  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:10px;
}


/* Последний шаг занимает всю ширину */
.v4-gas-owner-step:last-child{
  grid-column:1 / -1;
}


.v4-gas-owner-step{
  display:grid;

  grid-template-columns:
    32px minmax(0,1fr);

  gap:11px;

  padding:14px;

  border-radius:14px;

  border:
    1px solid rgba(255,255,255,.065);

  background:
    rgba(255,255,255,.035);
}


.v4-gas-owner-number{
  display:grid;
  place-items:center;

  width:29px;
  height:29px;

  border-radius:9px;

  background:
    rgba(47,215,161,.12);

  color:#63e8b8;

  font-size:12px;
  font-weight:900;
}


.v4-gas-owner-content{
  min-width:0;
}


.v4-gas-owner-content h4{
  margin:1px 0 5px;

  color:#f1f7f5;

  font-size:13px;
  line-height:1.3;
}


.v4-gas-owner-content > p{
  margin:
    0 0 10px!important;

  color:
    rgba(237,247,244,.72);

  font-size:11px!important;
  line-height:1.45!important;
}


/* =======================================================
   MINI CHECKLIST
   ======================================================= */

.v4-gas-mini-checks{
  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:6px;
}


.v4-gas-mini-checks span{
  display:flex;
  align-items:flex-start;

  gap:6px;

  min-width:0;

  padding:7px 8px;

  border-radius:9px;

  background:
    rgba(0,32,34,.28);

  color:
    rgba(240,248,246,.78);

  font-size:10px;
  line-height:1.3;
}


.v4-gas-mini-checks b{
  display:grid;
  flex:0 0 17px;

  width:17px;
  height:17px;

  place-items:center;

  border-radius:5px;

  background:
    rgba(28,194,139,.13);

  color:#56dfad;

  font-size:9px;
}


.v4-gas-mini-checks
span.is-optional b{
  background:
    rgba(255,255,255,.07);

  color:
    rgba(255,255,255,.55);
}


/* =======================================================
   GAS NEEDS
   ======================================================= */

.v4-gas-gas-needs{
  display:flex;
  flex-wrap:wrap;

  gap:6px;

  margin-bottom:9px;
}


.v4-gas-gas-needs span{
  display:inline-flex;

  padding:5px 8px;

  border-radius:999px;

  border:
    1px solid rgba(97,224,181,.12);

  background:
    rgba(23,154,118,.08);

  color:
    rgba(227,244,238,.74);

  font-size:9px;
}


/* =======================================================
   INLINE CALCULATOR PLACEHOLDER
   ======================================================= */

.v4-gas-inline-tool{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:12px;

  margin-top:8px;

  padding:9px 10px;

  border-radius:10px;

  border:
    1px dashed rgba(90,225,178,.19);

  background:
    rgba(20,154,117,.06);
}


.v4-gas-inline-tool strong{
  display:block;

  color:#eaf7f2;

  font-size:10px;
}


.v4-gas-inline-tool small{
  display:block;

  margin-top:2px;

  color:
    rgba(231,245,240,.53);

  font-size:9px;
}


.v4-gas-inline-tool > span{
  display:inline-flex;

  padding:4px 7px;

  border-radius:999px;

  background:
    rgba(255,255,255,.06);

  color:
    rgba(255,255,255,.52);

  font-size:8px;
  font-weight:900;

  text-transform:uppercase;
}


/* =======================================================
   SUBMIT METHODS
   ======================================================= */

.v4-gas-submit-methods{
  display:flex;
  flex-wrap:wrap;

  gap:6px;

  margin-bottom:10px;
}


.v4-gas-submit-methods span{
  padding:6px 9px;

  border-radius:9px;

  background:
    rgba(25,175,132,.08);

  border:
    1px solid rgba(79,216,172,.1);

  color:
    rgba(232,246,241,.76);

  font-size:10px;
}


.v4-gas-owner-link{
  display:inline-flex;
  align-items:center;

  min-height:34px;

  padding:7px 11px;

  border-radius:9px;

  background:
    rgba(26,196,143,.13);

  border:
    1px solid rgba(70,225,174,.15);

  color:#65e8b8!important;

  text-decoration:none!important;

  font-size:10px;
  font-weight:800;
}


/* =======================================================
   TABLET
   ======================================================= */

@media
(max-width:900px){

  .v4-gas-owner-steps{
    grid-template-columns:1fr;
  }

  .v4-gas-owner-step:last-child{
    grid-column:auto;
  }

}


/* =======================================================
   MOBILE
   ======================================================= */

@media
(max-width:600px){

  .v4-gas-owner-head{
    display:block;
  }

  .v4-gas-owner-badge{
    margin-top:8px;
  }

  .v4-gas-mini-checks{
    grid-template-columns:1fr;
  }

  .v4-gas-roadmap
  .v4-gas-timeline-item{
    grid-template-columns:
      32px minmax(0,1fr)!important;

    gap:10px!important;
  }

  .v4-gas-roadmap
  .v4-gas-timeline-item:not(:last-child)::before{
    left:15px!important;
  }

  .v4-gas-roadmap
  .v4-gas-timeline-item.is-current
  .v4-gas-timeline-dot{
    width:31px!important;
    height:31px!important;

    margin-left:-3px!important;
  }

}


/* =======================================================
   FOLDABLE / LOW LANDSCAPE
   ======================================================= */

@media
(max-height:480px)
and
(orientation:landscape){

  .v4-gas-owner-step{
    padding:10px;
  }

  .v4-gas-roadmap
  .v4-gas-timeline-item{
    padding-bottom:14px!important;
  }

  .v4-gas-mini-checks{
    gap:4px;
  }

  .v4-gas-mini-checks span{
    padding:5px 7px;
  }

}


/* SNT54_GAS_STRUCTURE_V3_END */

/* SNT54_GAS_CALCULATOR_V1_START */

.v4-gas-calc{
  margin-top:10px;
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(92,226,180,.16);
  background:rgba(0,30,32,.27);
}

.v4-gas-calc-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:11px;
}

.v4-gas-calc-head strong{
  display:block;
  font-size:11px;
  color:#edf8f4;
}

.v4-gas-calc-head small{
  display:block;
  margin-top:2px;
  font-size:9px;
  color:rgba(235,247,243,.52);
}

.v4-gas-calc-field label{
  display:block;
  margin-bottom:5px;
  font-size:10px;
  font-weight:700;
  color:rgba(240,248,246,.78);
}

.v4-gas-calc-input-wrap{
  display:flex;
  align-items:center;
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(113,224,190,.22);
  border-radius:9px;
  background:rgba(0,24,27,.35);
}

.v4-gas-calc-input-wrap input{
  flex:1;
  min-width:0;
  height:38px;
  padding:0 10px;
  border:0;
  outline:0;
  background:transparent;
  color:#fff;
  font:inherit;
  font-size:13px;
}

.v4-gas-calc-input-wrap span{
  padding-right:11px;
  font-size:10px;
  color:rgba(237,247,244,.53);
}

.v4-gas-calc-options{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}

.v4-gas-calc-option{
  display:flex;
  align-items:center;
  gap:5px;
  padding:6px 8px;
  border-radius:8px;
  border:1px solid rgba(92,222,181,.11);
  background:rgba(39,182,139,.06);
  color:rgba(237,247,244,.75);
  font-size:9px;
  cursor:pointer;
}

.v4-gas-calc-option input{
  accent-color:#15bf89;
}

.v4-gas-calc-result{
  margin-top:11px;
  padding-top:11px;
  border-top:1px solid rgba(255,255,255,.07);
}

.v4-gas-calc-result-main{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}

.v4-gas-calc-result-main span{
  max-width:65%;
  font-size:9px;
  color:rgba(237,247,244,.58);
}

.v4-gas-calc-result-main strong{
  color:#61eab8;
  font-size:18px;
  white-space:nowrap;
}

.v4-gas-calc-limit{
  margin-top:8px;
  padding:8px 9px;
  border-radius:9px;
  font-size:9px;
  line-height:1.4;
}

.v4-gas-calc-limit.is-ok{
  border:1px solid rgba(50,219,161,.15);
  background:rgba(29,177,132,.08);
  color:#83ecc5;
}

.v4-gas-calc-limit.is-over{
  border:1px solid rgba(239,190,79,.2);
  background:rgba(204,150,41,.08);
  color:#f2d283;
}

.v4-gas-calc-application{
  margin-top:8px;
  padding:9px;
  border-radius:9px;
  background:rgba(255,255,255,.035);
}

.v4-gas-calc-application > span{
  display:block;
  margin-bottom:3px;
  color:#5fe6b5;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.v4-gas-calc-application p{
  margin:0!important;
  font-size:9px!important;
  line-height:1.45!important;
}

.v4-gas-calc-month{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:8px;
}

.v4-gas-calc-month > div{
  padding:9px;
  border-radius:9px;
  background:rgba(255,255,255,.035);
}

.v4-gas-calc-month span{
  display:block;
  margin-bottom:4px;
  font-size:8px;
  color:rgba(237,247,244,.51);
}

.v4-gas-calc-month strong{
  display:block;
  font-size:13px;
  color:#eef8f5;
}

.v4-gas-calc-tariff{
  margin-top:7px;
  font-size:8px;
  color:rgba(237,247,244,.5);
}

.v4-gas-calc-tariff b{
  color:rgba(237,247,244,.78);
}

.v4-gas-calc-note{
  margin-top:8px;
  font-size:8px;
  line-height:1.4;
  color:rgba(235,247,242,.42);
}

@media (max-width:600px){

  .v4-gas-calc-month{
    grid-template-columns:1fr;
  }

  .v4-gas-calc-result-main{
    display:block;
  }

  .v4-gas-calc-result-main span{
    display:block;
    max-width:none;
    margin-bottom:4px;
  }

}

/* SNT54_GAS_CALCULATOR_V1_END */

/* SNT54_GAS_DHW4_V1 */
.v4-gas-calc-dhw-info{
  margin-top:5px;
  font-size:8px;
  line-height:1.4;
  color:rgba(237,247,244,.48);
}

.v4-gas-calc-dhw-info strong{
  color:rgba(237,247,244,.76);
  font-weight:800;
}

/* SNT54_GAS_NEED_TOGGLES_V1_START */

.v4-gas-gas-needs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-bottom:9px!important;
}

.v4-gas-need-toggle{
  appearance:none;
  -webkit-appearance:none;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:27px;

  padding:5px 10px;

  border-radius:999px;

  border:
    1px solid rgba(97,224,181,.15);

  background:
    rgba(23,154,118,.07);

  color:
    rgba(227,244,238,.66);

  font:inherit;
  font-size:9px;
  font-weight:700;

  cursor:pointer;

  transition:
    background .15s ease,
    border-color .15s ease,
    color .15s ease,
    box-shadow .15s ease;
}

.v4-gas-need-toggle:hover{
  background:
    rgba(31,185,140,.11);
}

.v4-gas-need-toggle.is-active{
  border-color:
    rgba(73,232,179,.5);

  background:
    #12b981;

  color:#fff;

  box-shadow:
    0 0 0 3px rgba(18,185,129,.08);
}

.v4-gas-need-toggle.is-active::before{
  content:"✓";

  margin-right:5px;

  font-size:9px;
  font-weight:900;
}

/* старые нижние checkbox options больше не нужны */
.v4-gas-calc-options{
  display:none!important;
}

/* SNT54_GAS_NEED_TOGGLES_V1_END */

/* SNT54_GAS_NO_NUMBER_SPINNERS_V1 */

/* Chrome / Edge / Safari / Yandex */
#v4GasArea::-webkit-outer-spin-button,
#v4GasArea::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

/* Firefox */
#v4GasArea{
  -moz-appearance:textfield;
  appearance:textfield;
}


/* SNT54_HISTORY_DOC_PREVIEW_V2 */

/*
 * Карточки истории.
 */
body.v4-shell-active.history-mode .v4-doc-grid{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:14px;

  align-items:start;
}


/*
 * Каждая карточка — единый аккуратный блок.
 */
body.v4-shell-active.history-mode .v4-doc{
  min-width:0;

  overflow:hidden;

  border-radius:16px;

  border:
    1px solid rgba(89,225,182,.14);

  background:
    rgba(2,48,47,.46);

  padding:12px;
}


/*
 * Предпросмотр занимает всю ширину карточки.
 * Никакой фиксированной высоты.
 */
body.v4-shell-active.history-mode .v4-doc-preview{
  position:relative;

  display:block;

  width:100%;
  height:auto !important;

  overflow:hidden;

  margin:0 0 12px;

  border-radius:11px;

  background:transparent;

  text-decoration:none;
}


/*
 * Сам документ показывается полностью,
 * на всю доступную ширину.
 */
body.v4-shell-active.history-mode .v4-doc-preview img{
  display:block;

  width:100% !important;
  height:auto !important;

  max-width:none;

  object-fit:unset !important;

  background:transparent !important;

  border-radius:10px;
}


/*
 * Небольшая плашка поверх картинки.
 */
body.v4-shell-active.history-mode .v4-doc-preview span{
  position:absolute;

  right:8px;
  bottom:8px;

  padding:5px 8px;

  border-radius:8px;

  background:
    rgba(0,32,35,.82);

  color:#fff;

  font-size:10px;
  line-height:1;

  font-weight:800;

  backdrop-filter:blur(8px);
}


/*
 * Заголовок и текст компактнее привязываем
 * к изображению.
 */
body.v4-shell-active.history-mode .v4-doc h3{
  margin:
    0 0 8px;
}

body.v4-shell-active.history-mode .v4-doc p{
  margin:
    0 0 10px;
}


/*
 * Mobile — одна карточка в строке.
 */
@media (max-width:768px){

  body.v4-shell-active.history-mode .v4-doc-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body.v4-shell-active.history-mode .v4-doc{
    padding:10px;
  }

  body.v4-shell-active.history-mode .v4-doc-preview{
    height:auto !important;
  }

}



/* =========================================================
   SNT54_MENU_CANONICAL_R8
   One responsive drawer implementation.
   Desktop/tablet >=900px: optional persistent pin.
   Mobile/foldable <900px: slide-out only, no pin persistence.
   ========================================================= */
:root{
  --v4-drawer-w:236px;
  --v4-drawer-offset:264px;
}

.v4-menu-button{
  position:fixed!important;
  left:20px!important;
  top:20px!important;
  z-index:1200!important;
  width:48px!important;
  height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.v4-drawer{
  position:fixed!important;
  z-index:1100!important;
  left:16px!important;
  top:16px!important;
  bottom:16px!important;
  width:min(var(--v4-drawer-w),calc(100vw - 32px))!important;
  height:auto!important;
  box-sizing:border-box!important;
  padding:13px 11px 11px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-width:none!important;
  border:1px solid rgba(73,238,191,.38)!important;
  border-radius:21px!important;
  background:
    radial-gradient(circle at 18% 7%,rgba(44,225,173,.12),transparent 28%),
    linear-gradient(165deg,rgba(1,61,61,.91),rgba(2,45,50,.87) 64%,rgba(84,83,36,.48))!important;
  backdrop-filter:blur(28px) saturate(150%)!important;
  -webkit-backdrop-filter:blur(28px) saturate(150%)!important;
  color:var(--v4-text)!important;
  transform:translate3d(calc(-100% - 96px),0,0)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  box-shadow:none!important;
  transition:transform .24s ease,opacity .18s ease,visibility 0s linear .24s!important;
}
.v4-drawer::-webkit-scrollbar{width:0;height:0}

/* Closed means physically absent: only the hamburger remains. */
body:not(.v4-menu-open):not(.v4-menu-pinned) .v4-drawer,
html:not(.v4-menu-pinned-preload) body:not(.v4-menu-open):not(.v4-menu-pinned) .v4-drawer{
  transform:translate3d(calc(-100% - 96px),0,0)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  box-shadow:none!important;
  filter:none!important;
}
body:not(.v4-menu-open):not(.v4-menu-pinned) .v4-drawer::before,
body:not(.v4-menu-open):not(.v4-menu-pinned) .v4-drawer::after{
  display:none!important;
  opacity:0!important;
}
body:not(.v4-menu-open):not(.v4-menu-pinned) .v4-drawer-overlay{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body:not(.v4-menu-open):not(.v4-menu-pinned) .v4-menu-button{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

body.v4-menu-open .v4-drawer,
body.v4-menu-pinned .v4-drawer,
html.v4-menu-pinned-preload .v4-drawer{
  transform:translate3d(0,0,0)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  box-shadow:0 18px 46px rgba(0,0,0,.24),0 0 0 1px rgba(41,222,167,.035),inset 0 1px rgba(255,255,255,.055)!important;
  transition:transform .24s ease,opacity .18s ease,visibility 0s!important;
}
body.v4-menu-open .v4-menu-button{opacity:0!important;pointer-events:none!important}
body.v4-menu-pinned .v4-menu-button,
html.v4-menu-pinned-preload .v4-menu-button{display:none!important}
body.v4-menu-pinned .v4-drawer-overlay,
html.v4-menu-pinned-preload .v4-drawer-overlay{display:none!important}

.v4-drawer-header{
  min-height:47px!important;
  padding:0 1px 9px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  border-bottom:1px solid rgba(255,255,255,.065)!important;
}
.v4-drawer-brand{flex:1 1 auto!important;min-width:0!important;display:flex!important;align-items:center!important;gap:7px!important}
.v4-drawer-brand .leaf{flex:0 0 auto!important;margin:0!important;color:#4cf0b5!important;line-height:0!important}
.v4-drawer-brand .leaf .v4-leaf-svg{display:block!important;width:23px!important;height:20px!important}
.v4-drawer-brand-copy{min-width:0!important}
.v4-drawer-brand strong{display:block!important;font:820 13px/1.05 system-ui,-apple-system,"Segoe UI",sans-serif!important;letter-spacing:.01em!important}
.v4-drawer-brand small{display:block!important;margin-top:3px!important;font:500 7.5px/1.1 system-ui,-apple-system,"Segoe UI",sans-serif!important;color:rgba(231,247,242,.54)!important;white-space:nowrap!important}
.v4-drawer-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex:0 0 auto!important}

.v4-circle-btn,.v4-menu-state{
  position:relative!important;
  width:32px!important;height:32px!important;
  min-width:32px!important;min-height:32px!important;
  padding:0!important;
  display:grid!important;place-items:center!important;
  border-radius:11px!important;
  border:1px solid rgba(98,233,193,.22)!important;
  background:rgba(2,35,39,.34)!important;
  color:#c9f6e7!important;
  line-height:0!important;
}
.v4-menu-state[aria-pressed="true"]{background:rgba(52,224,170,.16)!important;border-color:rgba(74,238,188,.58)!important;color:#63f3c1!important}
.v4-menu-state-pin,.v4-menu-state-close{display:grid!important;place-items:center!important;width:20px!important;height:20px!important;line-height:0!important}
.v4-menu-state-close{display:none!important}
.v4-menu-state .v4-pin-svg{
  position:absolute!important;left:50%!important;top:50%!important;
  width:17px!important;height:17px!important;
  transform:translate(-50%,calc(-50% + .5px))!important;
  overflow:visible!important;color:currentColor!important;
}
.v4-menu-state .v4-pin-head{fill:currentColor!important;stroke:none!important}
.v4-menu-state .v4-pin-needle{fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important}

.v4-menu{display:grid!important;gap:5px!important;padding:11px 0 7px!important}
.v4-menu a,.v4-menu a:link,.v4-menu a:visited{
  min-height:44px!important;
  display:grid!important;
  grid-template-columns:21px minmax(0,1fr) 11px!important;
  align-items:center!important;
  column-gap:7px!important;
  padding:5px 9px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(125,238,207,.11)!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,rgba(14,64,67,.43),rgba(5,40,45,.28))!important;
  color:#eaf7f3!important;
  text-decoration:none!important;
  font:760 12px/1.08 system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased;
}
.v4-menu a:hover{background:linear-gradient(135deg,rgba(24,92,84,.52),rgba(8,54,56,.38))!important;border-color:rgba(86,230,173,.27)!important}
.v4-menu a.active{background:linear-gradient(135deg,rgba(23,123,101,.52),rgba(4,67,65,.42))!important;border-color:rgba(76,239,187,.76)!important;box-shadow:inset 3px 0 0 rgba(93,246,196,.88)!important}
.v4-menu a>.ico{width:21px!important;height:21px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#a9f3dc!important;line-height:0!important}
.v4-menu a>.ico svg{display:block!important;width:18px!important;height:18px!important;margin:0!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.v4-menu a[href*="mode=gasification"]>.ico svg{width:17px!important;height:17px!important}
.v4-menu-label{display:flex!important;min-width:0!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:2px!important}
.v4-menu-title{display:block!important;width:100%!important;margin:0!important;color:inherit!important;font:inherit!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.v4-menu .soon{display:inline-flex!important;min-height:11px!important;padding:1px 4px!important;border:1px solid rgba(85,233,186,.20)!important;border-radius:999px!important;background:rgba(47,207,158,.09)!important;color:rgba(132,237,204,.72)!important;font:800 5.8px/1.05 system-ui!important}
.v4-menu .arrow{display:flex!important;width:11px!important;height:20px!important;align-items:center!important;justify-content:flex-end!important;color:rgba(216,243,235,.52)!important;font:400 16px/1 Arial,sans-serif!important}

.v4-drawer-bottom{margin-top:auto!important;display:grid!important;gap:6px!important;padding:9px 1px 4px!important;border-top:1px solid rgba(255,255,255,.06)!important}
.v4-logout-form{margin:0!important}
.v4-logout-form button{
  min-height:38px!important;width:100%!important;
  display:grid!important;grid-template-columns:21px 1fr 11px!important;align-items:center!important;gap:7px!important;
  padding:0 9px!important;border:1px solid rgba(125,238,207,.12)!important;border-radius:11px!important;
  background:rgba(5,47,50,.31)!important;color:#eaf7f3!important;font:760 11.5px/1 system-ui,-apple-system,"Segoe UI",sans-serif!important;text-align:left!important;
}
.v4-logout-form .ico{width:21px!important;height:21px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#a9f3dc!important;line-height:0!important}
.v4-logout-form .ico svg{width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important}
.v4-logout-form .arrow{justify-self:end!important;color:rgba(216,243,235,.52)!important}

.v4-drawer-contacts{margin:0!important;padding:5px 6px 4px!important;border:1px solid rgba(91,229,190,.09)!important;border-radius:11px!important;background:rgba(2,37,41,.22)!important}
.v4-drawer-contacts-label{margin:0 0 4px!important;font:700 6.2px/1 system-ui!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:rgba(99,228,188,.61)!important}
.v4-contact-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}
.v4-contact-row a.v4-contact{min-width:0!important;min-height:33px!important;padding:1px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;border:0!important;border-radius:9px!important;background:rgba(7,51,55,.28)!important;color:rgba(240,250,247,.76)!important;text-decoration:none!important}
.v4-contact-icon{width:20px!important;height:20px!important;display:grid!important;place-items:center!important;line-height:0!important;color:#57e7b5!important}
.v4-contact-icon svg{display:block!important;width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.65!important}
.v4-contact-max .v4-contact-icon.v4-max-official{display:grid!important;place-items:center!important;width:20px!important;height:20px!important;background:none!important}
.v4-contact-max .v4-max-official img{display:block!important;width:19px!important;height:19px!important;object-fit:contain!important}
.v4-contact-name{font:500 5.5px/1 system-ui!important;color:rgba(232,246,242,.62)!important;white-space:nowrap!important}
.v4-contact-mail{display:flex!important;width:100%!important;min-height:28px!important;box-sizing:border-box!important;align-items:center!important;justify-content:center!important;margin:2px 0 0!important;padding:5px 6px!important;border:1px solid transparent!important;border-radius:8px!important;color:rgba(213,241,232,.72)!important;font:500 9.5px/1.1 system-ui!important;text-decoration:none!important}
.v4-contact-mail:hover{color:#eafff8!important;background:rgba(68,226,179,.08)!important;border-color:rgba(68,226,179,.13)!important}
.v4-copyright{display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;gap:3px!important;margin-top:0!important;padding:1px 2px 0!important;color:rgba(191,219,211,.38)!important;font:400 7px/1.2 system-ui!important;text-align:center!important}

@media (min-width:900px) and (max-width:1099px){
  :root{--v4-drawer-w:228px;--v4-drawer-offset:252px}
  .v4-drawer{left:13px!important;top:13px!important;bottom:13px!important;width:min(var(--v4-drawer-w),calc(100vw - 26px))!important;border-radius:19px!important}
}

@media (max-width:899px){
  .v4-menu-state-pin{display:none!important}
  .v4-menu-state-close{display:grid!important}
  .v4-drawer{left:9px!important;top:9px!important;bottom:9px!important;width:min(270px,calc(100vw - 22px))!important;padding:11px 9px 9px!important;border-radius:18px!important}
  .v4-drawer-contacts-label{display:none!important}
  .v4-contact-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .v4-contact-row a.v4-contact{min-height:34px!important}
  .v4-contact-icon{width:23px!important;height:23px!important}
  .v4-contact-icon svg{width:22px!important;height:22px!important}
  .v4-contact-max .v4-contact-icon.v4-max-official{width:23px!important;height:23px!important}
  .v4-contact-max .v4-max-official img{width:22px!important;height:22px!important}
  .v4-contact-mail{min-height:34px!important;padding:7px 6px!important;font-size:10.5px!important}
}

@media (max-width:390px){
  .v4-drawer{width:min(258px,calc(100vw - 18px))!important;left:7px!important;top:7px!important;bottom:7px!important}
  .v4-menu a{min-height:40px!important;font-size:11px!important}
}

/* =========================================================
   SNT54_CAMERA_DESKTOP_FIT_R8
   Desktop: both camera cards fit in the usable viewport.
   ========================================================= */
@media (min-width:1100px){
  body.camera-mode .video-container{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    height:calc(100dvh - 172px)!important;
    min-height:0!important;
    margin-bottom:0!important;
    overflow:hidden!important;
  }
  body.camera-mode .camera-panel{display:flex!important;flex-direction:column!important;min-width:0!important;min-height:0!important;height:auto!important;max-height:100%!important;overflow:hidden!important}
  body.camera-mode .camera-panel>.camera-panel-head{flex:0 0 auto!important}
  body.camera-mode .video-wrapper{flex:1 1 auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:100%!important;aspect-ratio:auto!important;overflow:hidden!important;background:rgba(0,20,22,.58)!important}
  body.camera-mode .video-wrapper img,
  body.camera-mode .video-wrapper video,
  body.camera-mode .video-wrapper canvas,
  body.camera-mode .video-wrapper iframe{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;margin:auto!important}
  body.camera-mode .main-container{padding-bottom:8px!important}
}

/* =========================================================
   SNT54_REQUEST_VIEWPORT_R8
   No artificial scroll; natural scroll only when content is taller.
   ========================================================= */



@media (min-width:900px){
  
  
}
@media (max-width:899px){
  
}

/* =========================================================
   SNT54_NEWS_FIXED_FIVE_V1

   Five newest news cards on initial view.
   "Показать ещё" follows the fifth card naturally.
   No viewport-height stretching.
   ========================================================= */

@media (min-width:900px){

  body.v4-shell-active.news-mode
  .v4-news-section{
    min-height:0 !important;

    display:block !important;
  }


  body.v4-shell-active.news-mode
  .v4-news-section > .snt-news-more{
    display:block;

    margin-top:14px !important;
    margin-bottom:0 !important;

    position:static !important;

    flex:none !important;
  }

}


/*
 * Same geometric principle on tablet/mobile:
 * button follows the last visible card,
 * never the bottom of the viewport.
 */

body.v4-shell-active.news-mode
.v4-news-section > .snt-news-more{
  position:static !important;

  margin-top:14px !important;

  flex:none !important;
}

SNT54_HISTORY_APPEAL_V2_START
   Scoped ONLY to History page.
   ========================================================= */


/* ---------------------------------------------------------
   More compact document previews
   --------------------------------------------------------- */

body.v4-shell-active.history-mode
.v4-doc-preview{
  width:100% !important;

  height:250px !important;

  margin-bottom:10px !important;

  overflow:hidden !important;

  border-radius:11px !important;

  background:
    rgba(3,28,29,.54) !important;
}


body.v4-shell-active.history-mode
.v4-doc-preview img{
  display:block !important;

  width:100% !important;
  height:100% !important;

  object-fit:cover !important;

  object-position:center 38% !important;

  border-radius:10px !important;
}


/* ---------------------------------------------------------
   Appeal panel.

   It is inside the SAME .v4-card and immediately follows
   .v4-doc-grid, therefore its left/right boundaries are
   identical to the document grid above.
   --------------------------------------------------------- */

body.v4-shell-active.history-mode
.v4-history-appeal{
  position:relative;

  width:100%;
  max-width:none;

  box-sizing:border-box;

  margin:
    16px 0 0;

  padding:
    20px 22px 18px;

  overflow:hidden;

  border:
    1px solid
    rgba(83,228,173,.28);

  border-radius:
    16px;

  background:
    linear-gradient(
      145deg,
      rgba(5,86,75,.74),
      rgba(3,53,52,.80)
    );

  box-shadow:
    inset 0 1px 0
    rgba(255,255,255,.035);
}


body.v4-shell-active.history-mode
.v4-history-appeal::after{
  content:"";

  position:absolute;

  right:-28px;
  top:-34px;

  width:130px;
  height:130px;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(68,226,179,.10),
      transparent 68%
    );

  pointer-events:none;
}


body.v4-shell-active.history-mode
.v4-history-appeal-kicker{
  margin:
    0 0 7px;

  color:
    #69e9ba;

  font-size:
    12px;

  font-weight:
    700;

  letter-spacing:
    .02em;
}


body.v4-shell-active.history-mode
.v4-history-appeal h3{
  position:relative;

  z-index:1;

  margin:
    0 0 10px;

  color:
    #f5fffb;

  font-size:
    clamp(20px,2vw,27px);

  line-height:
    1.14;

  letter-spacing:
    -.02em;
}


body.v4-shell-active.history-mode
.v4-history-appeal p{
  position:relative;

  z-index:1;

  margin:
    0 0 8px;

  max-width:none;

  color:
    rgba(241,250,247,.93);

  font-size:
    14px;

  line-height:
    1.48;
}


body.v4-shell-active.history-mode
.v4-history-appeal p:last-of-type{
  margin-bottom:
    14px;
}


/* ---------------------------------------------------------
   Contact actions
   --------------------------------------------------------- */

body.v4-shell-active.history-mode
.v4-history-appeal-actions{
  position:relative;

  z-index:1;

  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:
    10px;

  width:
    100%;
}


body.v4-shell-active.history-mode
.v4-history-contact{
  min-width:0;

  min-height:
    46px;

  display:flex;

  align-items:center;
  justify-content:center;

  gap:
    8px;

  box-sizing:
    border-box;

  padding:
    8px 12px;

  border:
    1px solid
    rgba(97,235,190,.25);

  border-radius:
    12px;

  background:
    rgba(0,44,45,.42);

  color:
    #effff9 !important;

  font-size:
    13px;

  font-weight:
    700;

  text-decoration:
    none !important;

  transition:
    background .18s ease,
    border-color .18s ease,
    transform .18s ease;
}


body.v4-shell-active.history-mode
.v4-history-contact:hover{
  transform:
    translateY(-1px);

  background:
    rgba(61,217,166,.11);

  border-color:
    rgba(89,235,184,.48);
}


body.v4-shell-active.history-mode
.v4-history-contact-icon{
  display:grid;

  place-items:center;

  flex:
    0 0 21px;

  width:
    21px;

  height:
    21px;

  line-height:
    0;
}


body.v4-shell-active.history-mode
.v4-history-contact-icon svg{
  display:block;

  width:
    20px;

  height:
    20px;

  fill:none;

  stroke:
    currentColor;

  stroke-width:
    1.7;

  stroke-linecap:
    round;

  stroke-linejoin:
    round;
}


body.v4-shell-active.history-mode
.v4-history-telegram{
  color:
    #dff9ff !important;
}


body.v4-shell-active.history-mode
.v4-history-whatsapp{
  color:
    #e5fff1 !important;
}


body.v4-shell-active.history-mode
.v4-history-max-icon img{
  display:block;

  width:
    21px;

  height:
    21px;

  object-fit:
    contain;
}


body.v4-shell-active.history-mode
.v4-history-max-fallback{
  display:grid;

  place-items:center;

  width:
    21px;

  height:
    21px;

  border-radius:
    50%;

  background:
    rgba(103,73,255,.25);

  font-size:
    7px;

  font-weight:
    800;
}


/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (min-width:769px) and (max-width:1099px){

  body.v4-shell-active.history-mode
  .v4-doc-preview{
    height:
      220px !important;
  }

}


/* ---------------------------------------------------------
   Mobile / foldable
   --------------------------------------------------------- */

@media (max-width:768px){

  body.v4-shell-active.history-mode
  .v4-doc-preview{
    height:
      215px !important;
  }


  body.v4-shell-active.history-mode
  .v4-history-appeal{
    margin-top:
      12px;

    padding:
      17px 15px 15px;
  }


  body.v4-shell-active.history-mode
  .v4-history-appeal h3{
    font-size:
      21px;
  }


  body.v4-shell-active.history-mode
  .v4-history-appeal p{
    font-size:
      13px;

    line-height:
      1.45;
  }


  body.v4-shell-active.history-mode
  .v4-history-appeal-actions{
    grid-template-columns:
      repeat(3,minmax(0,1fr));

    gap:
      7px;
  }


  body.v4-shell-active.history-mode
  .v4-history-contact{
    min-height:
      46px;
  }


  body.v4-shell-active.history-mode .v4-history-contact{
    min-height:44px!important;
    padding:6px 5px!important;
    gap:5px!important;
    font-size:11.5px!important;
  }
  body.v4-shell-active.history-mode .v4-history-contact-icon{
    flex-basis:24px!important;width:24px!important;height:24px!important;
  }
  body.v4-shell-active.history-mode .v4-history-contact-icon svg{width:23px!important;height:23px!important}
  body.v4-shell-active.history-mode .v4-history-max-icon img{width:24px!important;height:24px!important}

}


/* SNT54_HISTORY_APPEAL_V2_END */


/* =========================================================
   SNT54_HISTORY_ORDER_V1
   Appeal first, History card second.
   Both blocks use exactly the same horizontal geometry.
   ========================================================= */

body.v4-shell-active.history-mode
.v4-history-appeal{
  width:100% !important;
  max-width:none !important;

  box-sizing:border-box !important;

  margin:
    0 0 14px !important;
}


body.v4-shell-active.history-mode
.v4-history-appeal + .v4-card{
  width:100% !important;
  max-width:none !important;

  box-sizing:border-box !important;

  margin-top:0 !important;
}


/*
 * After removing the eyebrow, History title starts
 * directly at the top of the second card.
 */
body.v4-shell-active.history-mode
.v4-history-appeal + .v4-card > h2{
  margin-top:0 !important;
}


@media (max-width:768px){

  body.v4-shell-active.history-mode
  .v4-history-appeal{
    margin-bottom:
      10px !important;
  }

}

/* ========================================================= */


/* =========================================================
   SNT54_GAS_RESTRUCTURE_V1_START
   ========================================================= */


/* ---------- ROADMAP EXPLANATION ---------- */

body.v4-shell-active.gasification-mode
.v4-gas-process-note{
  margin-top:14px;

  padding:12px 14px;

  border-radius:12px;

  border:
    1px solid rgba(80,222,175,.13);

  background:
    rgba(24,146,113,.055);
}


body.v4-shell-active.gasification-mode
.v4-gas-process-note strong{
  display:block;

  margin-bottom:4px;

  color:#67e6b8;

  font-size:11px;
}


body.v4-shell-active.gasification-mode
.v4-gas-process-note p{
  margin:0 !important;

  color:
    rgba(232,246,241,.72);

  font-size:10.5px !important;
  line-height:1.45 !important;
}


/* ---------- STEP 1 NOTE ---------- */

body.v4-shell-active.gasification-mode
.v4-gas-step-note{
  margin-top:10px;

  padding:9px 10px;

  border-radius:10px;

  border:
    1px solid rgba(240,201,82,.20);

  background:
    rgba(180,137,20,.07);
}


body.v4-shell-active.gasification-mode
.v4-gas-step-note strong{
  display:block;

  margin-bottom:3px;

  color:#efd46f;

  font-size:9.5px;
}


body.v4-shell-active.gasification-mode
.v4-gas-step-note p{
  margin:0 !important;

  color:
    rgba(239,246,243,.68);

  font-size:9px !important;
  line-height:1.4 !important;
}


/* =========================================================
   STEP 3 — COMPACT СНТ DOCUMENT
   ========================================================= */

body.v4-shell-active.gasification-mode
.v4-gas-inline-document{
  margin-top:10px;

  padding:10px;

  border-radius:11px;

  border:
    1px solid rgba(86,223,178,.15);

  background:
    rgba(2,43,44,.34);
}


body.v4-shell-active.gasification-mode
.v4-gas-inline-document-head span{
  display:block;

  margin-bottom:2px;

  color:#63e6b6;

  font-size:8.5px;
  font-weight:800;

  text-transform:uppercase;
}


body.v4-shell-active.gasification-mode
.v4-gas-inline-document-head strong{
  display:block;

  color:#edf8f4;

  font-size:11px;
}


body.v4-shell-active.gasification-mode
.v4-gas-inline-document-head small{
  display:block;

  margin-top:2px;

  color:
    rgba(232,246,241,.55);

  font-size:8.5px;
  line-height:1.35;
}


body.v4-shell-active.gasification-mode
.v4-gas-inline-pdf{
  display:block;

  width:100%;
  height:130px;

  box-sizing:border-box;

  margin-top:8px;

  border:0;

  border-radius:8px;

  background:#fff;
}


body.v4-shell-active.gasification-mode
.v4-gas-inline-document-actions{
  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:6px;

  margin-top:7px;
}


body.v4-shell-active.gasification-mode
.v4-gas-inline-document-actions a{
  display:flex;

  align-items:center;
  justify-content:center;

  min-height:30px;

  padding:5px 8px;

  box-sizing:border-box;

  border-radius:8px;

  text-decoration:none !important;

  font-size:9px;
  font-weight:800;
}


/* =========================================================
   STEP 5
   ========================================================= */

body.v4-shell-active.gasification-mode
.v4-gas-owner-step-submit{
  grid-column:1 / -1;
}


body.v4-shell-active.gasification-mode
.v4-gas-submit-cards{
  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:8px;

  margin:
    2px 0 10px;
}


body.v4-shell-active.gasification-mode
.v4-gas-submit-card{
  min-width:0;

  padding:10px;

  border-radius:10px;

  border:
    1px solid rgba(78,220,174,.12);

  background:
    rgba(255,255,255,.025);
}


body.v4-shell-active.gasification-mode
.v4-gas-submit-card strong{
  display:block;

  margin-bottom:4px;

  color:#eef8f5;

  font-size:10px;
}


body.v4-shell-active.gasification-mode
.v4-gas-submit-card span,
body.v4-shell-active.gasification-mode
.v4-gas-submit-card a{
  display:block;

  color:
    rgba(233,246,241,.60);

  font-size:9px;
  line-height:1.4;
}


body.v4-shell-active.gasification-mode
.v4-gas-submit-card a{
  margin-top:3px;

  color:#60e2b3 !important;
}


/* ---------- ONLINE DETAILS ---------- */

body.v4-shell-active.gasification-mode
.v4-gas-online-details{
  margin-top:8px;

  border-radius:10px;

  border:
    1px solid rgba(78,220,174,.13);

  background:
    rgba(2,45,45,.30);

  overflow:hidden;
}


body.v4-shell-active.gasification-mode
.v4-gas-online-details summary{
  display:flex;

  align-items:center;
  justify-content:space-between;

  min-height:38px;

  padding:9px 12px;

  box-sizing:border-box;

  cursor:pointer;

  color:#eaf7f3;

  font-size:10px;
  font-weight:800;

  list-style:none;

  user-select:none;
}


body.v4-shell-active.gasification-mode
.v4-gas-online-details summary::-webkit-details-marker{
  display:none;
}


body.v4-shell-active.gasification-mode
.v4-gas-online-details summary::after{
  content:"＋";

  color:#62e5b6;

  font-size:16px;
  line-height:1;
}


body.v4-shell-active.gasification-mode
.v4-gas-online-details[open] summary::after{
  content:"−";
}


body.v4-shell-active.gasification-mode
.v4-gas-online-compact{
  padding:
    0 12px 10px;
}


body.v4-shell-active.gasification-mode
.v4-gas-online-compact ol{
  margin:
    0;

  padding-left:
    20px;
}


body.v4-shell-active.gasification-mode
.v4-gas-online-compact li{
  margin:
    5px 0;

  color:
    rgba(233,246,241,.70);

  font-size:
    9.5px;

  line-height:
    1.4;
}


body.v4-shell-active.gasification-mode
.v4-gas-submit-primary{
  display:flex !important;

  width:100%;

  align-items:center;
  justify-content:center;

  box-sizing:border-box;

  margin-top:9px;
}


/* ---------- FINAL NOTE ---------- */

body.v4-shell-active.gasification-mode
.v4-gas-final-note{
  margin-top:14px;
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width:900px){

  body.v4-shell-active.gasification-mode
  .v4-gas-submit-cards{
    grid-template-columns:1fr;
  }


  body.v4-shell-active.gasification-mode
  .v4-gas-inline-pdf{
    height:180px;
  }

}


@media (max-width:600px){

  body.v4-shell-active.gasification-mode
  .v4-gas-inline-document-actions{
    grid-template-columns:1fr;
  }


  body.v4-shell-active.gasification-mode
  .v4-gas-inline-pdf{
    height:160px;
  }

}


/* SNT54_GAS_RESTRUCTURE_V1_END */


/* SNT54_GAS_OFFICIAL_DOCS_V1_START */


/* STEP 1 */

body.v4-shell-active.gasification-mode
.v4-gas-registry-actions{
  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:6px;

  margin-top:9px;
}


body.v4-shell-active.gasification-mode
.v4-gas-registry-actions a{
  display:flex;

  align-items:center;
  justify-content:center;

  min-height:32px;

  padding:6px 8px;

  box-sizing:border-box;

  border:
    1px solid rgba(74,227,176,.20);

  border-radius:8px;

  background:
    rgba(53,211,162,.06);

  color:#62e5b6 !important;

  font-size:8.8px;
  font-weight:800;

  text-align:center;
  text-decoration:none !important;
}


body.v4-shell-active.gasification-mode
.v4-gas-registry-actions a:hover{
  background:
    rgba(53,211,162,.12);
}


body.v4-shell-active.gasification-mode
.v4-gas-registry-hint{
  margin:
    6px 0 0 !important;

  color:
    rgba(233,246,241,.52) !important;

  font-size:
    8.3px !important;

  line-height:
    1.38 !important;
}


/* STEP 3 — official list */

body.v4-shell-active.gasification-mode
.v4-gas-doc-list{
  display:grid;

  gap:6px;

  margin-top:9px;
}


body.v4-shell-active.gasification-mode
.v4-gas-doc-row{
  display:grid;

  grid-template-columns:
    20px minmax(0,1fr);

  gap:7px;

  align-items:start;

  padding:8px;

  border-radius:8px;

  background:
    rgba(255,255,255,.025);
}


body.v4-shell-active.gasification-mode
.v4-gas-doc-check{
  display:grid;

  place-items:center;

  width:20px;
  height:20px;

  border-radius:6px;

  background:
    rgba(38,204,150,.13);

  color:#51ddb0;

  font-size:10px;
  font-weight:900;
}


body.v4-shell-active.gasification-mode
.v4-gas-doc-row.is-optional
.v4-gas-doc-check{
  background:
    rgba(255,255,255,.05);

  color:
    rgba(232,246,241,.55);
}


body.v4-shell-active.gasification-mode
.v4-gas-doc-row strong{
  display:block;

  color:
    rgba(242,251,248,.90);

  font-size:9px;
  line-height:1.35;
}


body.v4-shell-active.gasification-mode
.v4-gas-doc-row small{
  display:block;

  margin-top:3px;

  color:
    rgba(230,244,239,.52);

  font-size:8px;
  line-height:1.35;
}


body.v4-shell-active.gasification-mode
.v4-gas-doc-help{
  margin-top:5px;
}


body.v4-shell-active.gasification-mode
.v4-gas-doc-help summary{
  cursor:pointer;

  color:#5ee0b2;

  font-size:8px;
  font-weight:800;
}


body.v4-shell-active.gasification-mode
.v4-gas-doc-help p{
  margin:
    5px 0 0 !important;

  padding:6px 7px;

  border-radius:7px;

  background:
    rgba(45,210,160,.05);

  color:
    rgba(232,246,241,.60) !important;

  font-size:
    8px !important;

  line-height:
    1.4 !important;
}


body.v4-shell-active.gasification-mode
.v4-gas-doc-rule{
  margin-top:8px;

  padding:8px 9px;

  border:
    1px solid rgba(81,220,176,.12);

  border-radius:8px;

  background:
    rgba(47,203,156,.045);
}


body.v4-shell-active.gasification-mode
.v4-gas-doc-rule strong{
  display:block;

  margin-bottom:3px;

  color:#69e7b8;

  font-size:8.5px;
}


body.v4-shell-active.gasification-mode
.v4-gas-doc-rule p,
body.v4-shell-active.gasification-mode
.v4-gas-protocol-note{
  margin:
    0 !important;

  color:
    rgba(231,246,241,.55) !important;

  font-size:
    7.8px !important;

  line-height:
    1.4 !important;
}


body.v4-shell-active.gasification-mode
.v4-gas-protocol-note{
  margin-top:
    7px !important;
}


/* STEP 4 */

body.v4-shell-active.gasification-mode
.v4-gas-eog-minimum{
  display:block;

  margin-top:6px;

  color:
    rgba(105,231,184,.80);

  font-size:8px;
  line-height:1.38;
}


/* STEP 5 — one standard form */

body.v4-shell-active.gasification-mode
.v4-gas-standard-form{
  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:12px;

  margin:
    10px 0;

  padding:
    10px 11px;

  box-sizing:border-box;

  border:
    1px solid rgba(80,225,176,.17);

  border-radius:10px;

  background:
    rgba(43,198,151,.05);
}


body.v4-shell-active.gasification-mode
.v4-gas-standard-form > div:first-child{
  min-width:0;
}


body.v4-shell-active.gasification-mode
.v4-gas-standard-form-kicker{
  display:block;

  margin-bottom:2px;

  color:#67e5b7;

  font-size:7.5px;
  font-weight:900;

  text-transform:uppercase;
}


body.v4-shell-active.gasification-mode
.v4-gas-standard-form strong{
  display:block;

  color:#edf9f5;

  font-size:9.5px;
  line-height:1.3;
}


body.v4-shell-active.gasification-mode
.v4-gas-standard-form small{
  display:block;

  margin-top:2px;

  color:
    rgba(232,246,241,.52);

  font-size:7.7px;
  line-height:1.35;
}


body.v4-shell-active.gasification-mode
.v4-gas-standard-form-actions{
  display:flex;

  flex:
    0 0 auto;

  gap:5px;
}


body.v4-shell-active.gasification-mode
.v4-gas-standard-form-actions a,
body.v4-shell-active.gasification-mode
.v4-gas-official-instruction{
  display:flex;

  align-items:center;
  justify-content:center;

  min-height:29px;

  padding:5px 8px;

  box-sizing:border-box;

  border-radius:7px;

  border:
    1px solid rgba(87,226,180,.20);

  background:
    rgba(55,213,163,.07);

  color:#64e5b7 !important;

  font-size:8px;
  font-weight:800;

  text-decoration:none !important;
}


body.v4-shell-active.gasification-mode
.v4-gas-official-instruction{
  margin-top:
    8px;
}


/* MOBILE */

@media (max-width:700px){

  body.v4-shell-active.gasification-mode
  .v4-gas-registry-actions{
    grid-template-columns:1fr;
  }


  body.v4-shell-active.gasification-mode
  .v4-gas-standard-form{
    display:block;
  }


  body.v4-shell-active.gasification-mode
  .v4-gas-standard-form-actions{
    margin-top:8px;

    flex-direction:column;
  }

}


/* SNT54_GAS_OFFICIAL_DOCS_V1_END */


/* SNT54_MAP_FLUID_DESKTOP_V1_START */

/*
 * Desktop map follows the actual available width.
 *
 * No fixed 1180px maximum.
 * When browser width changes the map container
 * changes with it automatically.
 *
 * Existing map JS already handles resize and
 * re-fits/re-focuses the plot.
 */

@media (min-width:1100px){

  body.v4-shell-active.map-mode
  .integrated-map-page,

  body.v4-shell-active.map-mode
  .v4-page-wide{
    box-sizing:border-box !important;

    width:
      calc(100% - 24px) !important;

    max-width:
      none !important;

    margin-left:
      auto !important;

    margin-right:
      auto !important;

    padding-left:
      0 !important;

    padding-right:
      0 !important;
  }


  body.v4-shell-active.map-mode
  .map-main{
    box-sizing:border-box !important;

    width:
      100% !important;

    max-width:
      none !important;

    margin-left:
      0 !important;

    margin-right:
      0 !important;

    padding-left:
      0 !important;

    padding-right:
      0 !important;
  }


  body.v4-shell-active.map-mode
  .map-card,

  body.v4-shell-active.map-mode
  .map-stage{
    box-sizing:border-box !important;

    width:
      100% !important;

    max-width:
      none !important;
  }


  /*
   * Pinned menu already reduces the usable body area.
   * Do not apply a second fixed-width limit.
   */
  body.v4-menu-pinned.map-mode
  .integrated-map-page,

  body.v4-menu-pinned.map-mode
  .v4-page-wide{
    width:
      calc(100% - 24px) !important;

    max-width:
      none !important;
  }

}

/* SNT54_MAP_FLUID_DESKTOP_V1_END */


/* SNT54_SITUATIONAL_PLAN_V4_START */


/* =========================================================
   GAS LINK
   ========================================================= */

body.v4-shell-active.gasification-mode
.v4-gas-situational-create{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:30px;
  margin-top:6px;
  padding:5px 9px;

  border:
    1px solid rgba(81,229,180,.26);

  border-radius:8px;

  background:
    rgba(42,207,156,.09);

  color:#65e9ba !important;

  font-size:8.5px;
  font-weight:800;

  text-decoration:none !important;
}


/* =========================================================
   SITUATIONAL SCREEN
   ========================================================= */

body.v4-situational-mode
.map-tabs{
  display:none !important;
}


body.v4-situational-mode
.map-stage{
  position:relative;
}


body.v4-situational-mode
.v4-situational-panel{
  padding:13px 15px;

  border-bottom:
    1px solid rgba(76,226,176,.18);

  background:
    linear-gradient(
      135deg,
      rgba(4,72,67,.98),
      rgba(3,47,49,.98)
    );

  color:#edf9f5;
}


body.v4-situational-mode
.v4-situational-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;

  gap:18px;
}


body.v4-situational-mode
.v4-situational-kicker{
  display:block;

  margin-bottom:2px;

  color:#60e5b5;

  font-size:9px;
  font-weight:900;

  text-transform:uppercase;
}


body.v4-situational-mode
.v4-situational-panel-head strong{
  display:block;

  color:#f5fffb;

  font-size:19px;
  line-height:1.15;
}


body.v4-situational-mode
.v4-situational-panel-head p{
  margin:4px 0 0;

  color:
    rgba(234,247,242,.67);

  font-size:10px;
  line-height:1.35;
}


body.v4-situational-mode
.v4-situational-back{
  display:flex;

  align-items:center;

  min-height:31px;

  padding:5px 9px;

  border:
    1px solid rgba(78,224,177,.18);

  border-radius:8px;

  color:#68e8ba !important;

  font-size:9px;
  font-weight:700;

  text-decoration:none !important;
}


/* =========================================================
   DATA ROW
   ========================================================= */

body.v4-situational-mode
.v4-situational-info-row{
  display:grid;

  grid-template-columns:
    .65fr .85fr 1.15fr 1.15fr;

  gap:7px;

  margin-top:10px;
}


body.v4-situational-mode
.v4-situational-static,
body.v4-situational-mode
.v4-situational-field{
  min-width:0;

  min-height:48px;

  box-sizing:border-box;

  padding:7px 9px;

  border:
    1px solid rgba(75,220,174,.13);

  border-radius:8px;

  background:
    rgba(0,31,34,.28);
}


body.v4-situational-mode
.v4-situational-static span,
body.v4-situational-mode
.v4-situational-field span{
  display:block;

  margin-bottom:3px;

  color:
    rgba(228,245,239,.48);

  font-size:7.6px;
}


body.v4-situational-mode
.v4-situational-static strong{
  display:block;

  color:#68e7b8;

  font-size:11.5px;
}


body.v4-situational-mode
.v4-situational-field input{
  display:block;

  width:100%;

  box-sizing:border-box;

  padding:0;

  border:0;
  outline:0;

  background:transparent;

  color:#f3fbf8;

  font:inherit;

  font-size:10.5px;
}


body.v4-situational-mode
.v4-situational-field input::placeholder{
  color:
    rgba(229,245,239,.27);
}


/* =========================================================
   HELP / ACTIONS
   ========================================================= */

body.v4-situational-mode
.v4-situational-helper-row{
  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:10px;

  margin-top:7px;
}


body.v4-situational-mode
.v4-situational-message{
  min-width:0;
  flex:1;

  color:
    rgba(233,247,242,.69);

  font-size:8.5px;
  line-height:1.35;
}


body.v4-situational-mode
.v4-situational-tools{
  display:flex;

  flex:0 0 auto;

  gap:5px;
}


body.v4-situational-mode
.v4-situational-tools button,
body.v4-situational-mode
.v4-situational-tools a{
  display:flex;

  align-items:center;
  justify-content:center;

  min-height:30px;

  box-sizing:border-box;

  padding:5px 8px;

  border:
    1px solid rgba(77,224,176,.18);

  border-radius:7px;

  background:
    rgba(255,255,255,.035);

  color:#dff6ed !important;

  font:inherit;

  font-size:8px;
  font-weight:800;

  cursor:pointer;

  text-decoration:none !important;
}


body.v4-situational-mode
.v4-situational-tools
.is-primary{
  background:#16bc8d;

  border-color:#16bc8d;

  color:#fff !important;
}


body.v4-situational-mode
.v4-situational-tools
button:disabled{
  opacity:.32;

  cursor:default;
}


/* =========================================================
   MAP INTERACTION
   ========================================================= */

body.v4-situational-mode
.plot-area[data-map="strict"]{
  cursor:pointer;
}


body.v4-situational-placing-house
.plot-area[data-map="strict"]{
  cursor:crosshair;
}


body.v4-situational-mode
.plot-area.v4-situational-selected-plot{
  fill:
    rgba(0,229,160,.32) !important;

  stroke:
    #00dca0 !important;

  stroke-width:
    5 !important;

  filter:
    drop-shadow(
      0 0 6px
      rgba(0,220,160,.70)
    ) !important;
}


/*
 * Small house mark.
 */

body.v4-situational-mode
.v4-situational-house-rect{
  fill:
    rgba(245,205,61,.88);

  stroke:
    #4b3a0b;

  stroke-width:
    2.5;

  vector-effect:
    non-scaling-stroke;

  pointer-events:none;
}


/* =========================================================
   MAP HINT
   ========================================================= */

body.v4-situational-mode
.v4-situational-map-hint{
  position:absolute;

  z-index:50;

  top:10px;
  left:50%;

  transform:
    translateX(-50%);

  display:flex;

  align-items:center;

  gap:8px;

  max-width:
    calc(100% - 100px);

  box-sizing:border-box;

  padding:7px 11px;

  border:
    1px solid rgba(82,225,179,.28);

  border-radius:9px;

  background:
    rgba(3,49,48,.92);

  box-shadow:
    0 5px 18px rgba(0,0,0,.20);

  backdrop-filter:
    blur(8px);

  pointer-events:none;
}


body.v4-situational-mode
.v4-situational-map-hint strong{
  color:#68e9bb;

  font-size:9px;
}


body.v4-situational-mode
.v4-situational-map-hint span{
  color:
    rgba(236,249,245,.75);

  font-size:8.5px;
}


body.v4-situational-mode
.v4-situational-map-hint.is-house{
  border-color:
    rgba(245,210,79,.42);

  background:
    rgba(55,50,17,.93);
}


body.v4-situational-mode
.v4-situational-map-hint.is-house strong{
  color:#f3d86b;
}


body.v4-situational-mode
.v4-situational-map-hint.is-ready{
  border-color:
    rgba(77,228,177,.35);

  background:
    rgba(6,75,57,.94);
}


body.v4-situational-mode
.v4-situational-map-hint.is-error{
  border-color:
    rgba(255,125,105,.42);

  background:
    rgba(86,34,29,.94);
}


body.v4-situational-mode
.v4-situational-map-hint.is-error strong{
  color:#ff9d8e;
}


body.v4-situational-mode
#v4SituationalAnnotations,
body.v4-situational-mode
#v4SituationalAnnotations *{
  pointer-events:none !important;
}


/* =========================================================
   PRINT SHEET - hidden on screen
   ========================================================= */

#v4SituationalPrintSheet{
  display:none;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width:1050px){

  body.v4-situational-mode
  .v4-situational-info-row{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }


  body.v4-situational-mode
  .v4-situational-helper-row{
    display:block;
  }


  body.v4-situational-mode
  .v4-situational-tools{
    margin-top:7px;

    flex-wrap:wrap;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:700px){

  body.v4-situational-mode
  .v4-situational-panel{
    padding:11px;
  }


  body.v4-situational-mode
  .v4-situational-panel-head{
    display:block;
  }


  body.v4-situational-mode
  .v4-situational-back{
    display:inline-flex;

    margin-top:7px;
  }


  body.v4-situational-mode
  .v4-situational-info-row{
    grid-template-columns:1fr;
  }


  body.v4-situational-mode
  .v4-situational-tools{
    display:grid;

    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }


  body.v4-situational-mode
  .v4-situational-tools button,
  body.v4-situational-mode
  .v4-situational-tools a{
    min-height:38px;
  }


  body.v4-situational-mode
  .v4-situational-map-hint{
    top:8px;

    max-width:
      calc(100% - 20px);

    display:block;

    text-align:center;
  }


  body.v4-situational-mode
  .v4-situational-map-hint strong,
  body.v4-situational-mode
  .v4-situational-map-hint span{
    display:block;
  }

}


/* =========================================================
   DEDICATED A4 LANDSCAPE OUTPUT
   ========================================================= */

@media print{

  @page{
    size:
      A4 landscape;

    margin:
      0;
  }


  html,
  body{
    width:
      297mm !important;

    height:
      210mm !important;

    min-width:
      297mm !important;

    min-height:
      210mm !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      hidden !important;

    background:
      #fff !important;

    -webkit-print-color-adjust:
      exact;

    print-color-adjust:
      exact;
  }


  /*
   * Absolutely nothing from the website itself
   * goes to the output.
   */

  body.v4-situational-printing
  > *:not(#v4SituationalPrintSheet){
    display:
      none !important;
  }


  body.v4-situational-printing
  #v4SituationalPrintSheet{
    display:flex !important;

    flex-direction:column;

    width:
      297mm !important;

    height:
      210mm !important;

    box-sizing:
      border-box;

    margin:
      0 !important;

    padding:
      10mm 12mm 9mm;

    overflow:
      hidden;

    background:
      #fff !important;

    color:
      #111 !important;

    font-family:
      Arial,
      Helvetica,
      sans-serif;
  }


  .v4-situational-sheet-head{
    flex:
      0 0 auto;

    margin:
      0 0 4mm;

    padding:
      0;
  }


  .v4-situational-sheet-head h1{
    margin:
      0;

    padding:
      0;

    color:
      #111 !important;

    font-size:
      16pt;

    font-weight:
      800;

    line-height:
      1.1;
  }


  .v4-situational-sheet-head h2{
    margin:
      1.5mm 0 2.5mm;

    padding:
      0;

    color:
      #111 !important;

    font-size:
      11.5pt;

    font-weight:
      700;

    line-height:
      1.15;
  }


  .v4-situational-sheet-snt{
    margin:
      0 0 1mm;

    color:
      #222 !important;

    font-size:
      9.5pt;

    font-weight:
      700;
  }


  .v4-situational-sheet-data{
    margin:
      .7mm 0 0;

    color:
      #222 !important;

    font-size:
      9pt;

    font-weight:
      500;
  }


  .v4-situational-sheet-map{
    flex:
      1 1 auto;

    min-height:
      0;

    display:flex;

    align-items:center;
    justify-content:center;

    overflow:
      hidden;

    box-sizing:
      border-box;

    border:
      .3mm solid #999;

    background:
      #fff;
  }


  .v4-situational-sheet-map
  svg{
    display:block;

    width:
      100% !important;

    height:
      100% !important;

    max-width:
      none !important;

    max-height:
      none !important;

    margin:
      0 !important;

    padding:
      0 !important;

    background:
      #fff !important;
  }


  /*
   * Strong but clean selection on paper.
   */

  .v4-situational-sheet-map
  .plot-area.v4-situational-selected-plot{
    fill:
      rgba(0,205,145,.30) !important;

    stroke:
      #008c68 !important;

    stroke-width:
      4 !important;

    filter:
      none !important;
  }


  .v4-situational-sheet-map
  .v4-situational-house-rect{
    fill:
      #f1cb3d !important;

    stroke:
      #443600 !important;

    stroke-width:
      2 !important;

    vector-effect:
      non-scaling-stroke;
  }

}


/* SNT54_SITUATIONAL_PLAN_V4_END */

/* SNT54_SITUATIONAL_UI_R8_START */
body.v4-situational-mode #openSearch,
body.v4-situational-mode .map-search-tool,
body.v4-situational-mode #v4SituationalFind{display:none!important}

body.v4-situational-mode .v4-situational-panel{padding:14px 16px 12px!important}
body.v4-situational-mode .v4-situational-panel-head{margin-bottom:10px!important}
body.v4-situational-mode .v4-situational-panel-head strong{font-size:22px!important;line-height:1.08!important}
body.v4-situational-mode .v4-situational-panel-head p{margin-top:4px!important;font-size:12.5px!important;line-height:1.35!important}

body.v4-situational-mode .v4-situational-info-row{
  grid-template-columns:minmax(150px,.72fr) repeat(2,minmax(210px,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
}
body.v4-situational-mode .v4-situational-static,
body.v4-situational-mode .v4-situational-field{
  min-height:58px!important;
  padding:8px 10px!important;
  margin:0!important;
  border-radius:10px!important;
  box-sizing:border-box!important;
}
body.v4-situational-mode .v4-situational-static>span,
body.v4-situational-mode .v4-situational-field>span{font-size:10px!important;line-height:1.15!important}
body.v4-situational-mode .v4-situational-static>strong{margin-top:4px!important;font-size:15px!important;line-height:1.1!important}
body.v4-situational-mode .v4-kad-manual{width:100%!important;min-height:32px!important;margin-top:4px!important;display:flex!important;align-items:center!important;border:1px solid rgba(115,225,196,.22)!important;border-radius:8px!important;background:rgba(0,28,29,.28)!important;overflow:hidden!important}
body.v4-situational-mode .v4-kad-prefix{flex:0 0 auto!important;padding-left:8px!important;color:rgba(232,245,241,.78)!important;font-size:11px!important;font-weight:650!important;white-space:nowrap!important}
body.v4-situational-mode .v4-kad-tail{flex:1 1 auto!important;width:100%!important;min-width:50px!important;height:30px!important;padding:0 7px 0 2px!important;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;font-size:13px!important;font-weight:750!important;box-shadow:none!important}
body.v4-situational-mode .v4-kad-tail::placeholder{color:rgba(255,255,255,.45)!important;opacity:1!important}

body.v4-situational-mode .v4-situational-helper-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;margin-top:8px!important}
body.v4-situational-mode .v4-situational-message{font-size:13px!important;line-height:1.35!important;font-weight:650!important;min-width:0!important}
body.v4-situational-mode .v4-situational-tools{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;justify-content:flex-end!important;align-items:center!important}
body.v4-situational-mode .v4-situational-tools button,
body.v4-situational-mode .v4-situational-tools a{min-height:34px!important;height:34px!important;padding:0 10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;font-size:11px!important;line-height:1!important;border-radius:8px!important;box-sizing:border-box!important}
body.v4-situational-mode .v4-situational-tools .v4-cad-check{max-width:235px!important;text-align:center!important}

body.v4-situational-mode .v4-situational-map-hint{font-size:13px!important;line-height:1.3!important;pointer-events:none!important;cursor:default!important}
body.v4-situational-mode .v4-situational-map-hint strong{font-size:14px!important}
body.v4-situational-mode .v4-situational-map-hint span{font-size:12px!important}
body.v4-situational-mode .v4-situational-map-hint.is-ready{display:none!important}

@media (max-width:899px){
  body.v4-situational-mode .v4-situational-panel{padding:12px 11px 10px!important}
  body.v4-situational-mode .v4-situational-info-row{grid-template-columns:1fr 1fr!important;gap:7px!important}
  body.v4-situational-mode .v4-situational-static{grid-column:1 / -1!important;min-height:48px!important}
  body.v4-situational-mode .v4-situational-field{min-height:56px!important;padding:7px 8px!important}
  body.v4-situational-mode .v4-kad-prefix{font-size:9px!important;padding-left:6px!important}
  body.v4-situational-mode .v4-kad-tail{font-size:12px!important;padding-right:5px!important}
  body.v4-situational-mode .v4-situational-helper-row{grid-template-columns:1fr!important;gap:7px!important}
  body.v4-situational-mode .v4-situational-tools{width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:5px!important}
  body.v4-situational-mode .v4-situational-tools .v4-cad-check{max-width:none!important;min-width:0!important;white-space:normal!important;padding:0 7px!important;font-size:10px!important}
  body.v4-situational-mode .v4-situational-tools button{padding:0 7px!important;font-size:10px!important}
}

@media (max-width:520px){
  body.v4-situational-mode .v4-situational-info-row{grid-template-columns:1fr!important}
  body.v4-situational-mode .v4-situational-field{min-height:54px!important}
  body.v4-situational-mode .v4-situational-tools{grid-template-columns:1fr 1fr!important}
  body.v4-situational-mode .v4-situational-tools .v4-cad-check{grid-column:1 / -1!important}
}
/* SNT54_SITUATIONAL_UI_R8_END */

/* =========================================================
   SNT54_STABLE_BACKGROUND_R8
   Fixed pseudo-layer prevents white gaps while mobile pages scroll.
   ========================================================= */
body.v4-shell-active{position:relative!important;isolation:isolate!important;background:none!important;background-color:#07353a!important;min-height:100svh!important}
body.v4-shell-active::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:linear-gradient(rgba(0,31,35,.12),rgba(0,31,35,.12)),url("/assets/snt-auth-desktop.webp");
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
}
@media (max-width:1099px){body.v4-shell-active::before{background-image:linear-gradient(rgba(0,31,35,.13),rgba(0,31,35,.13)),url("/assets/snt-auth-tablet.webp")}}
@media (max-width:768px){body.v4-shell-active::before{background-image:linear-gradient(rgba(0,31,35,.10),rgba(0,31,35,.10)),url("/assets/snt-auth-mobile.webp")}}
html{background:#07353a}
html,body{overflow-x:hidden!important}


/* SNT54_GAS_MENU_SOON_V1 */

.v4-gas-menu-soon{
    cursor:default !important;
    opacity:.68;
}

.v4-gas-menu-soon:hover{
    transform:none !important;
}

.v4-gas-menu-soon
.v4-gas-soon-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    margin-left:auto;

    padding:3px 7px;

    border:
        1px solid
        rgba(142,255,221,.16);

    border-radius:999px;

    background:
        rgba(4,55,53,.42);

    color:
        rgba(211,239,231,.68);

    font-size:9px;
    line-height:1;
    font-weight:750;

    letter-spacing:.055em;
    text-transform:uppercase;

    white-space:nowrap;

    pointer-events:none;
}

@media(max-width:899px){

    .v4-gas-menu-soon
    .v4-gas-soon-badge{
        font-size:8px;
        padding:3px 6px;
    }

}

/* END SNT54_GAS_MENU_SOON_V1 */



/* SNT54_HISTORY_MOBILE_FULLWIDTH_V2 */

/*
 * Desktop:
 * existing two-column layout remains unchanged.
 *
 * Mobile:
 * one document = full width of History card.
 */
@media (max-width:768px){

    body.v4-shell-active.history-mode
    .v4-doc-grid{

        display:grid !important;

        grid-template-columns:
            minmax(0,1fr) !important;

        width:100% !important;
        max-width:none !important;
        min-width:0 !important;

        gap:14px !important;

        margin-top:16px !important;

        box-sizing:border-box !important;
    }


    body.v4-shell-active.history-mode
    .v4-doc{

        display:block !important;

        width:100% !important;
        max-width:none !important;
        min-width:0 !important;

        margin:0 !important;

        padding:11px !important;

        box-sizing:border-box !important;
    }


    /*
     * Preview fills the complete available
     * width of its document card.
     */
    body.v4-shell-active.history-mode
    .v4-doc-preview{

        position:relative !important;

        display:block !important;

        width:100% !important;
        max-width:none !important;
        min-width:0 !important;

        height:auto !important;

        aspect-ratio:
            16 / 10 !important;

        margin:0 !important;

        overflow:hidden !important;

        box-sizing:border-box !important;

        border-radius:12px !important;
    }


    body.v4-shell-active.history-mode
    .v4-doc-preview img{

        display:block !important;

        width:100% !important;
        height:100% !important;

        max-width:none !important;

        margin:0 !important;

        object-fit:cover !important;

        /*
         * For document scans show the
         * beginning of the page first.
         */
        object-position:
            center top !important;
    }


    body.v4-shell-active.history-mode
    .v4-doc h3{

        margin:
            10px
            0
            5px !important;

        font-size:18px !important;
        line-height:1.13 !important;
    }


    body.v4-shell-active.history-mode
    .v4-doc p{

        width:100% !important;

        margin:0 !important;

        font-size:13px !important;
        line-height:1.4 !important;
    }

}


/*
 * Narrow phone.
 */
@media (max-width:430px){

    body.v4-shell-active.history-mode
    .v4-doc-grid{

        grid-template-columns:
            minmax(0,1fr) !important;

        gap:12px !important;
    }


    body.v4-shell-active.history-mode
    .v4-doc{

        width:100% !important;

        padding:9px !important;
    }


    body.v4-shell-active.history-mode
    .v4-doc-preview{

        width:100% !important;

        aspect-ratio:
            16 / 10 !important;
    }

}

/* END SNT54_HISTORY_MOBILE_FULLWIDTH_V2 */



/* SNT54_HISTORY_MOBILE_2COL_TRIAL_V3 */

/*
 * MOBILE HISTORY:
 *
 * | DOCUMENT 1 | DOCUMENT 2 |
 *
 * Both cards together fill the whole
 * available width of the History panel.
 */
@media (max-width:768px){

    body.v4-shell-active.history-mode
    .v4-doc-grid{

        display:grid !important;

        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            ) !important;

        width:100% !important;
        max-width:none !important;
        min-width:0 !important;

        gap:10px !important;

        margin:
            14px
            0
            0 !important;

        padding:0 !important;

        box-sizing:border-box !important;

        align-items:start !important;
    }


    /*
     * Each card occupies exactly its own
     * half of the available grid.
     */
    body.v4-shell-active.history-mode
    .v4-doc{

        display:block !important;

        width:100% !important;
        min-width:0 !important;
        max-width:none !important;

        margin:0 !important;

        padding:8px !important;

        box-sizing:border-box !important;

        overflow:hidden !important;

        border-radius:14px !important;
    }


    /*
     * Preview fills the entire card width.
     * No fixed pixel width.
     */
    body.v4-shell-active.history-mode
    .v4-doc-preview{

        position:relative !important;

        display:block !important;

        width:100% !important;
        min-width:0 !important;
        max-width:none !important;

        height:auto !important;

        aspect-ratio:
            3 / 4 !important;

        margin:0 !important;
        padding:0 !important;

        overflow:hidden !important;

        box-sizing:border-box !important;

        border-radius:10px !important;
    }


    body.v4-shell-active.history-mode
    .v4-doc-preview img{

        display:block !important;

        width:100% !important;
        height:100% !important;

        min-width:0 !important;
        max-width:none !important;

        margin:0 !important;

        object-fit:cover !important;

        /*
         * Archive document:
         * show the beginning of the page.
         */
        object-position:
            center top !important;
    }


    /*
     * Preview button remains readable,
     * but does not occupy too much space.
     */
    body.v4-shell-active.history-mode
    .v4-doc-preview span{

        right:6px !important;
        bottom:6px !important;

        max-width:
            calc(100% - 12px) !important;

        padding:
            5px
            7px !important;

        border-radius:8px !important;

        font-size:9px !important;
        line-height:1 !important;

        white-space:nowrap !important;

        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }


    /*
     * Headline adapted for half-width card.
     */
    body.v4-shell-active.history-mode
    .v4-doc h3{

        width:100% !important;

        margin:
            8px
            0
            4px !important;

        padding:0 !important;

        font-size:15px !important;
        line-height:1.12 !important;

        letter-spacing:-.015em !important;

        overflow-wrap:anywhere !important;
        word-break:normal !important;
    }


    /*
     * Description remains available,
     * but does not turn the card into
     * a very long narrow column.
     */
    body.v4-shell-active.history-mode
    .v4-doc p{

        display:-webkit-box !important;

        width:100% !important;

        margin:0 !important;
        padding:0 !important;

        font-size:11px !important;
        line-height:1.30 !important;

        overflow:hidden !important;

        -webkit-box-orient:
            vertical !important;

        -webkit-line-clamp:
            4 !important;
    }


    body.v4-shell-active.history-mode
    .v4-doc > a:not(.v4-doc-preview){

        margin-top:6px !important;

        font-size:10px !important;
        line-height:1.15 !important;
    }

}


/*
 * Narrow phone:
 * still two columns.
 */
@media (max-width:430px){

    body.v4-shell-active.history-mode
    .v4-doc-grid{

        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            ) !important;

        gap:8px !important;
    }


    body.v4-shell-active.history-mode
    .v4-doc{

        padding:7px !important;
    }


    body.v4-shell-active.history-mode
    .v4-doc h3{

        font-size:14px !important;
        line-height:1.10 !important;
    }


    body.v4-shell-active.history-mode
    .v4-doc p{

        font-size:10px !important;

        -webkit-line-clamp:
            3 !important;
    }

}


/*
 * Very narrow phones.
 * We still preserve two columns,
 * only reducing internal typography.
 */
@media (max-width:360px){

    body.v4-shell-active.history-mode
    .v4-doc-grid{

        gap:6px !important;
    }


    body.v4-shell-active.history-mode
    .v4-doc{

        padding:6px !important;
    }


    body.v4-shell-active.history-mode
    .v4-doc h3{

        font-size:13px !important;
    }


    body.v4-shell-active.history-mode
    .v4-doc p{

        font-size:9px !important;
    }

}

/* END SNT54_HISTORY_MOBILE_2COL_TRIAL_V3 */

/* SNT54_MOBILE_MENU_CLOSE_VISUAL_V3 */
@media (max-width:899px){
  .v4-menu-state .v4-menu-state-pin{display:none!important}
  .v4-menu-state .v4-menu-state-close{display:grid!important;place-items:center!important;width:20px!important;height:20px!important;opacity:1!important;visibility:visible!important;color:rgba(235,247,243,.96)!important;line-height:0!important}
  .v4-menu-state .v4-menu-state-close svg,
  .v4-menu-state .v4-menu-state-close svg path{display:block!important;width:20px!important;height:20px!important;overflow:visible!important;fill:none!important;stroke:currentColor!important;stroke-width:2.1!important;stroke-linecap:round!important;stroke-linejoin:round!important;opacity:1!important}
  .v4-menu-state{cursor:pointer!important;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
}
/* END SNT54_MOBILE_MENU_CLOSE_VISUAL_V3 */

