/* ===========================================================================
   ОФОРМЛЕНИЕ ПЕРЕНЕСЁННЫХ РАЗДЕЛОВ — по макету от 25.08.2026.
   Файл подключается ТОЛЬКО на новых страницах: аналитика кабинета, мои
   расчёты, калькуляторы, надстройка конструктора. Старое оформление сайта
   не трогает — здесь нет ни одного селектора сайта, только свои.

   Приставки: udm- — классы из макета, dgr- — служебные классы надстройки.

   Цвета, шрифты и скругления НЕ выдуманы: это токены самого сайта из
   style-1.css. Здесь они собраны переменными, чтобы не рассыпать по файлу
   и чтобы правка была в одном месте.

   Кнопки, поля и типографика берутся у сайта КАК ЕСТЬ: .my-btn-small,
   .green-btn, .default-field, .light-green. Своих кнопок здесь нет намеренно —
   иначе на одной странице оказалось бы две слегка разные кнопки.
   =========================================================================== */

/* Переменные вынесены в dgr-tokeny.css — он подключается рядом. */

.udm-page{max-width:1120px;margin:0 auto;padding:0 32px}
.udm-crumbs{padding:18px 0 14px;font-size:12px;color:var(--brown)}
.udm-crumbs a{color:var(--brown);text-decoration:none}
.udm-crumbs b{color:var(--brown);font-weight:700}
.udm-crumbs span{margin:0 6px;color:var(--brown)}
.udm-lk-band{background:var(--cream);border-radius:20px;padding:14px 20px;display:flex;align-items:center;gap:18px}
.udm-lk-id{font-size:14px;color:var(--ink);line-height:1.25;font-weight:800}
.udm-lk-id small{display:block;font-weight:600;color:var(--muted);font-size:12px}
.udm-lk-nav{display:flex;gap:8px;margin-left:auto;flex-wrap:nowrap}
.udm-chip{font-family:'Mulish';font-weight:700;font-size:14px;color:#fff;background:var(--green);border-radius:20px;height:40px;display:inline-flex;align-items:center;padding:0 15px;white-space:nowrap;text-decoration:none;position:relative}
.udm-chip.active{background:var(--brown)}
.udm-chip.hl{box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--green), 0 6px 14px rgba(124,171,61,.35)}
.udm-chip .nb{position:absolute;top:-9px;right:-8px;background:var(--green-grad);color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.04em;padding:2.5px 8px;border-radius:9px;border:2px solid #fff;text-transform:uppercase}
.udm-card{background:var(--cream);border-radius:20px;padding:30px 34px}
.udm-card.white{background:#fff;border:1px solid var(--line)}
.udm-card.beige{background:var(--beige)}
.udm-card.green{background:var(--green-grad);color:#fff}
.udm-card.green h3,.udm-card.green h2{color:#fff}
.udm-form-label{display:block;font-size:14px;font-weight:700;color:var(--ink);margin:0 0 8px}
.udm-form-label .req{color:var(--green)}
.udm-area{min-height:96px;resize:vertical}
.udm-form-row{margin-bottom:22px}
.udm-form-hint{font-size:12.5px;color:var(--muted);margin-top:6px}
.udm-u-field label{display:block;font-size:13px;color:var(--ink);font-weight:700;margin-bottom:2px}
.udm-u-field input{width:100%;border:none;border-bottom:1px solid var(--line);padding:9px 2px;font-family:'Mulish';font-size:15px;outline:none}
.udm-u-field input::placeholder{color:var(--green);opacity:.7}
.udm-form-row.error .default-field,.udm-form-row.error .udm-area{border:1px solid var(--err);background:var(--err-bg)}
.udm-form-err{font-size:12.5px;color:var(--err);font-weight:700;margin-top:6px}
.udm-err-band{background:var(--err-bg);color:var(--err);font-weight:700;font-size:14px;border-radius:10px;padding:13px 18px}
.udm-pills{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.udm-pill{font-family:'Mulish';font-weight:700;font-size:14px;color:var(--green);background:#fff;border:2px solid var(--green);
  border-radius:20px;height:40px;display:inline-flex;align-items:center;padding:0 20px;cursor:pointer;white-space:nowrap}
.udm-pill.on{background:var(--green);color:#fff;border-color:var(--green)}
.udm-upload{background:var(--cream);border:1px solid var(--green);border-radius:20px;overflow:hidden}
.udm-upload-head{background:var(--green-grad);color:#fff;text-align:center;font-family:'Unbounded';font-weight:500;font-size:13px;padding:13px;text-transform:uppercase}
.udm-upload-body{padding:18px}
.udm-upload-drop{border:1.5px dashed var(--green);border-radius:10px;padding:22px 26px;display:flex;gap:16px;align-items:center}
.udm-upload-drop .udm-plus{width:36px;height:36px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;flex:none}
.udm-upload-drop b{display:block;color:var(--ink);font-size:14.5px;font-weight:800}
.udm-upload-drop span{display:block;font-size:12.5px;color:var(--muted)}
.udm-upload-drop span.g{color:var(--green);font-weight:700}
.udm-file-row{background:#fff;border:1px solid var(--line);border-radius:10px;margin-top:12px;padding:10px 14px;display:flex;align-items:center;font-size:13px;font-weight:700;color:var(--ink)}
.udm-file-row .x{margin-left:auto;color:var(--muted);font-weight:400;cursor:pointer}
.udm-note-band{background:var(--beige);border-radius:10px;padding:13px 18px;font-size:14px}
.udm-note-band b{color:var(--ink)}
.udm-tick{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.udm-tick .ic{width:19px;height:19px;flex:none;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;margin-top:2px}
.udm-status{display:inline-block;font-size:13px;font-weight:800;border-radius:10px;padding:6px 14px;white-space:nowrap}
.udm-q{display:inline-flex;width:17px;height:17px;border-radius:50%;border:1.5px solid var(--green);color:var(--green);
  font-size:11px;font-weight:800;align-items:center;justify-content:center;vertical-align:middle;cursor:pointer;font-family:'Mulish';flex:none}
.udm-overlay{position:fixed;inset:0;background:rgba(56,45,40,.5);display:flex;align-items:center;justify-content:center;z-index:50}
.udm-modal{background:#fff;border-radius:20px;padding:40px;width:460px;box-shadow:0 10px 20px rgba(141,105,89,.5);position:relative;text-align:center}
.udm-modal .close{position:absolute;top:16px;right:20px;color:var(--muted);font-size:18px;cursor:pointer}
.udm-modal h2{font-size:20px;margin-bottom:8px}
.udm-stepper{display:inline-flex;align-items:center;gap:14px;border-radius:10px;padding:8px 14px;background:var(--beige)}
.udm-stepper button{border:none;background:none;font-size:16px;color:var(--ink);cursor:pointer;font-weight:800;font-family:'Mulish'}
.udm-stepper b{font-size:14px;min-width:14px;text-align:center}
.udm-tbl-wrap{border:1px solid var(--line);border-radius:20px;padding:20px;overflow-x:auto}
.udm-tbl{width:100%;border-collapse:collapse}
.udm-tbl thead th{font-size:14px;font-weight:600;color:var(--muted);text-align:left;padding:0 25px 15px 25px;border-bottom:1px solid var(--line)}
.udm-tbl td{padding:15px 25px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink);font-weight:700}
.udm-tbl tr:last-child td{border-bottom:none}
.udm-tbl td .sub{font-weight:600;color:var(--muted);font-size:13px}
a.udm-glink{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:2px}
@media (max-width: 760px){
.udm-page{padding:0 16px}
.udm-lk-band{flex-wrap:wrap;gap:10px;padding:12px 14px}
.udm-lk-nav{margin-left:0;width:100%;overflow-x:auto;padding:6px 2px 8px;-webkit-overflow-scrolling:touch}
.udm-chip{flex:none}
.udm-chip .nb{top:-6px}
.udm-tbl-wrap{padding:10px;overflow-x:auto}
.udm-tbl{min-width:640px}
.udm-tbl thead th,.udm-tbl td{padding:12px 14px}
.udm-overlay{padding:14px}
.udm-pills{flex-wrap:wrap}
.udm-upload-drop{flex-direction:column;text-align:center;padding:18px 14px}
.udm-form-label{font-size:13.5px}
.udm-carousel{padding:0 44px !important}
.udm-car-nav{width:36px;height:36px;font-size:15px}
.udm-car-nav.prev{left:0}
.udm-car-nav.next{right:0}
.udm-tbl td:last-child{text-align:left}
.udm-note-band,.udm-err-band{font-size:13px}
}
@media (max-width: 760px){
.udm-rev-head{flex-wrap:wrap;gap:10px}
.udm-rev-score{margin-left:0}
.udm-cnt-row{white-space:normal}
}
.udm-ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-4px}
.udm-ico.fill{fill:currentColor;stroke:none}
@media (max-width:760px){
.udm-wrap{padding:28px 18px !important}
.udm-form,.udm-clarify-form,.udm-formcard{padding:24px 16px !important}
.udm-tcard,.udm-scard{padding:22px 16px !important}
.udm-limits,.udm-hrow,.udm-head-row,.udm-srow,.udm-cta,.udm-badges,.udm-actions,.udm-rev-head,.udm-prog,.udm-submit-row,.udm-floatbar{flex-wrap:wrap}
.udm-fbtn{width:100%;justify-content:center}
.udm-side{width:auto}
.udm-lane{flex-direction:column;align-items:stretch;gap:6px}
.udm-node{width:auto !important}
.udm-arr2{width:auto;transform:rotate(90deg);padding:2px 0}
.udm-card-w{width:auto !important;max-width:100% !important}
}
@media (max-width:760px){
.udm-guar-cta,.udm-sticky .in,.udm-btns,.udm-hero-cta{flex-wrap:wrap}
.udm-guar-cta .my-btn,.udm-sticky .my-btn{width:100%;margin-left:0}
.udm-col{padding:20px 16px}
.udm-col p,.udm-col li{overflow-wrap:anywhere}
.udm-cmp{overflow-x:auto}
.udm-cmp table{min-width:520px}
.udm-adm .udm-in{flex-wrap:wrap;gap:8px 14px;padding:10px 14px}
.udm-adm .udm-in a{white-space:nowrap}
.udm-tabs{overflow-x:auto;display:flex;flex-wrap:nowrap;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.udm-tab{flex:none}
.udm-hd,.udm-meta-row{flex-wrap:wrap;gap:8px}
}
@media (max-width:760px){
.udm-save,.udm-stat-line{flex-wrap:wrap}
}
@media (max-width:760px){
.udm-grid > *,.udm-lk-layout > *{min-width:0}
}

/* ==================== экран макета: 24-analytics ==================== */
.udm-an-sub{font-size:13px;color:var(--muted);font-weight:600;margin:10px 0 22px}
.udm-an-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 32px;margin-bottom:20px}
.udm-an-head{display:flex;align-items:flex-start;gap:20px;margin-bottom:6px}
.udm-an-head h2{font-size:19px;margin-bottom:6px}
.udm-an-desc{font-size:13.5px;color:var(--muted);font-weight:600;line-height:1.55;max-width:640px}
.udm-pager{margin-left:auto;display:flex;align-items:center;gap:12px;flex:none}
.udm-pager b{font-size:13px;color:var(--ink);white-space:nowrap}
.udm-pager button{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(141,105,89,.2)}
.udm-pager .prev{background:#fff;color:var(--brown);border:1px solid var(--line)}
.udm-pager .next{background:var(--green);color:#fff}
.udm-an-shablon{font-size:19px;font-weight:800;color:var(--ink);margin-top:18px;line-height:1.25}
.udm-an-q{font-size:15px;font-weight:700;color:var(--ink);margin-top:6px}
.udm-an-qsub{font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:14px}
@media (max-width:600px){.udm-an-shablon{font-size:17px}}
.udm-legend{display:flex;gap:22px;margin:2px 0 16px;font-size:12.5px;color:var(--muted);font-weight:700}
.udm-legend i{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:7px;vertical-align:-2px}
.udm-bar-row{display:grid;grid-template-columns:280px 1fr 64px;gap:18px;align-items:center;padding:10px 0;border-bottom:1px solid #efeee7}
.udm-bar-row:last-of-type{border-bottom:none}
.udm-bar-name{font-size:13.5px;color:var(--ink);font-weight:700}
.udm-bar-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;border-radius:999px;padding:3px 10px;margin-top:5px}
.udm-bar-tag .dot{width:7px;height:7px;border-radius:50%}
.udm-bar-tag.freq{background:var(--cream);color:var(--green-dark)}
.udm-bar-tag.freq .dot{background:var(--green)}
.udm-bar-tag.mine{background:#F0EAE6;color:var(--brown)}
.udm-bar-tag.mine .dot{background:var(--brown)}
.udm-track{height:14px;border-radius:999px;background:var(--cream);overflow:hidden}
.udm-fill{height:100%;border-radius:999px;background:#E4E0D3}
.udm-fill.freq{background:var(--green-grad)}
.udm-fill.mine{background:var(--brown)}
.udm-bar-pct{font-size:14px;font-weight:800;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.udm-an-sum{background:var(--beige);border-radius:10px;padding:13px 18px;font-size:13.5px;margin-top:16px}
.udm-an-more{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:13.5px;font-weight:700;color:var(--green-dark);cursor:pointer;background:none;border:none;font-family:'Mulish'}
.udm-seg-row{display:flex;align-items:center;gap:12px;margin:8px 0 6px;flex-wrap:wrap}
.udm-seg-row .lbl{font-size:13.5px;color:var(--muted);font-weight:600}
.udm-links-note{font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:14px}
.udm-links-note a{color:var(--green-dark);font-weight:700}
table.udm-an-tbl{width:100%;border-collapse:collapse}
.udm-an-tbl th{font-size:12.5px;font-weight:700;color:var(--muted);text-align:left;padding:12px 14px 10px;border-bottom:1px solid var(--line)}
.udm-an-tbl td{font-size:13.5px;color:var(--ink);font-weight:600;padding:13px 14px;border-bottom:1px solid #efeee7;vertical-align:top;font-variant-numeric:tabular-nums}
.udm-an-tbl tr:last-child td{border-bottom:none}
.udm-an-tbl td.num,.udm-an-tbl th.num{text-align:right;white-space:nowrap}
.udm-an-tbl td b{font-weight:800}
.udm-an-tbl .sub{display:block;font-size:11.5px;color:var(--muted);font-weight:600;margin-top:3px}
.udm-red{color:var(--err) !important;font-weight:700}
.udm-plus-pct{color:var(--green-dark);font-weight:800}
.udm-hd-q{display:inline-flex;margin-left:8px;vertical-align:2px}
@media (max-width:760px){
.udm-bar-row{grid-template-columns:1fr 56px;gap:10px}
.udm-bar-row .udm-track{grid-column:1}
.udm-bar-name{grid-column:1 / -1}
.udm-an-card{padding:20px 16px}
.udm-an-head{flex-wrap:wrap}
.udm-pager{margin-left:0}
.udm-stack thead{display:none}
.udm-stack tr{display:block;border:1px solid #efeee7;border-radius:12px;padding:4px 14px;margin-bottom:10px}
.udm-stack tr[hidden]{display:none}
.udm-stack td{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:none;padding:7px 0;text-align:left;white-space:normal}
.udm-stack td.num{text-align:right}
.udm-stack td::before{content:attr(data-label);color:var(--muted);font-weight:600;flex:none}
.udm-stack td:first-child{display:block;font-weight:800;border-bottom:1px dashed #efeee7;padding-bottom:8px;margin-bottom:2px}
.udm-stack td:first-child::before{content:none}
.udm-stack td:first-child .sub{margin-top:4px}
}

/* ==================== экран макета: 25-my-calculations ==================== */
.udm-calc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0 14px}
.udm-stat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px 22px}
.udm-stat .n{font-family:'Unbounded';font-weight:700;font-size:30px;color:var(--green-dark);line-height:1.1}
.udm-stat .n.small{font-size:15px;line-height:1.3;color:var(--ink)}
.udm-stat .t{font-size:12.5px;color:var(--muted);font-weight:600;margin-top:6px;line-height:1.45}
.udm-calc-note{font-size:13px;color:var(--muted);font-weight:600;margin-bottom:18px}
.udm-calc-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 28px;margin-bottom:14px}
.udm-calc-top{display:flex;align-items:flex-start;gap:20px}
.udm-calc-title{font-size:15.5px;font-weight:800;color:var(--green-dark);text-decoration:underline;text-underline-offset:3px}
.udm-calc-subtitle{font-size:12.5px;color:var(--muted);font-weight:600;margin-top:3px}
.udm-calc-sum{margin-left:auto;text-align:right;flex:none}
.udm-calc-sum b{font-family:'Unbounded';font-weight:600;font-size:17px;color:var(--ink);white-space:nowrap}
.udm-calc-sum span{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-top:3px}
.udm-res{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:14px}
.udm-res-row{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid #efeee7;font-size:13.5px}
.udm-res-row .l{color:var(--muted);font-weight:600}
.udm-res-row .dots{flex:1;border-bottom:1px dotted var(--line);transform:translateY(-4px)}
.udm-res-row .v{font-weight:800;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.udm-calc-in{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:13px;font-weight:700;color:var(--green-dark);cursor:pointer;background:none;border:none;font-family:'Mulish';padding:0}
.udm-in-body{background:var(--cream);border-radius:10px;padding:12px 16px;margin-top:10px;font-size:12.5px}
.udm-in-body div{display:flex;justify-content:space-between;gap:14px;padding:4px 0;font-weight:600;color:var(--ink)}
.udm-in-body div span:first-child{color:var(--muted)}
.udm-calc-btns{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.udm-btn-sm{display:inline-flex;align-items:center;height:44px;padding:0 20px;border-radius:10px;font-size:13.5px;font-weight:700;cursor:pointer;border:1.5px solid var(--green);color:var(--green-dark);background:#fff;text-decoration:none;font-family:'Mulish'}
.udm-btn-sm.red{border-color:#EBC9C9;color:var(--err)}
.udm-btn-sm.red:hover{border-color:var(--err);background:var(--err-bg)}
@media (max-width:760px){
.udm-calc-stats{grid-template-columns:1fr 1fr}
.udm-res{grid-template-columns:1fr}
.udm-calc-top{flex-wrap:wrap}
/* flex:none выше означает «ширина по содержимому», а содержимое меряется
   БЕЗ переносов. Поэтому одного разрешения переносить мало: блоку нужно
   занять строку целиком, тогда длинный итог переносится внутри неё. */
.udm-calc-sum{margin-left:0;text-align:left;flex:1 1 100%;min-width:0}
.udm-calc-card{padding:18px 16px}
/* Итог расчёта на телефоне обязан переноситься. nowrap выше поставлен, чтобы
   сумма не рвалась посередине, — но итог не всегда сумма: у калькулятора
   пределов это «от 10 000 руб. до 20 000 000 руб.», 371 px в строку. На
   экране 360 px такая строка вылезала за край и тащила за собой всю
   страницу (проверено: scrollWidth 403 при окне 360). На широких экранах
   перенос по-прежнему не нужен — правило только здесь. */
.udm-calc-sum b{white-space:normal;overflow-wrap:anywhere}
}

/* ==================== экран макета: 26-calculators ==================== */
.udm-clc-intro{font-size:16px;color:var(--ink);font-weight:600;line-height:1.6;max-width:760px;margin:14px 0 14px}
.udm-clc-note{background:var(--cream);border-radius:14px;padding:14px 18px;font-size:13.5px;max-width:760px;margin-bottom:8px}
.udm-clc-note a{color:var(--green-dark);font-weight:700}
/* Нижняя врезка «Внимание!»: в макете у неё отступ сверху 26 px, а у
   страницы — запас снизу 44 px. Без отступа врезка вставала вплотную к
   последней карточке — их скругления сталкивались. */
.udm-clc-disc{margin-top:26px;margin-bottom:44px}
h2.udm-clc-h{font-size:19px;margin:30px 0 14px}
.udm-clc-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
a.udm-clc-card{display:block;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 24px;text-decoration:none;transition:.15s}
a.udm-clc-card:hover{border-color:var(--green);box-shadow:0 8px 22px rgba(124,171,61,.15)}
.udm-clc-ic{width:42px;height:42px;border-radius:12px;background:var(--cream);color:var(--green-dark);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.udm-clc-ic svg{width:21px;height:21px}
.udm-clc-card b{display:block;font-size:14.5px;color:var(--ink);line-height:1.35;margin-bottom:7px}
.udm-clc-card span{font-size:12.5px;color:var(--muted);font-weight:600;line-height:1.5}
@media (max-width:760px){
.udm-clc-grid{grid-template-columns:1fr}
}

/* ==================== экран макета: 27-constructor-hints ==================== */
.udm-hrow{display:flex;align-items:center;justify-content:space-between;margin:26px 0;flex-wrap:wrap;gap:14px}
.udm-stats{background:var(--cream);border-radius:14px;padding:13px 18px;text-align:center;font-size:13px;color:var(--ink);margin:20px 0 22px}
.udm-grid{display:grid;grid-template-columns:1fr 300px;gap:20px}
.udm-doc{border:1.5px solid var(--green);border-radius:18px;padding:34px;min-height:300px}
.udm-doc .udm-t{font-size:14.5px;color:var(--ink);text-align:center;font-weight:700}
.udm-blank{display:inline-block;background:#eceae2;border-radius:4px;padding:1px 8px;color:var(--muted);font-weight:600;font-size:13px}
.udm-doc .udm-row2{display:flex;justify-content:space-between;margin-top:22px;font-size:13.5px;color:var(--text)}
.udm-doc .udm-body-blur{margin-top:24px;background:var(--green-chip);opacity:.45;border-radius:12px;height:90px}
.udm-side .udm-sbtn{display:flex;align-items:center;gap:10px;border-radius:10px;padding:14px 18px;font-weight:800;font-size:13.5px;color:#fff;margin-bottom:12px}
.udm-floatbar{display:flex;gap:12px;justify-content:center;margin-top:-24px}
.udm-fbtn{display:inline-flex;align-items:center;gap:9px;background:var(--green-btn);color:#fff;font-weight:800;font-size:13px;border-radius:10px;padding:11px 18px;box-shadow:0 8px 22px rgba(54,47,41,.18)}
.udm-togglebar{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px 24px;display:flex;align-items:center;gap:28px;margin-bottom:16px;flex-wrap:wrap}
.udm-togglebar .cap{font-family:'Unbounded';font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.udm-tgl{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer;background:none;border:none;font-family:'Mulish'}
.udm-switch{width:44px;height:24px;border-radius:999px;background:#DCD8CC;position:relative;flex:none;transition:.15s}
.udm-switch.on{background:var(--green)}
.udm-switch:after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.15s}
.udm-switch.on:after{left:23px}
.udm-qwrap{margin:22px 0;position:relative}
.udm-qblock{background:var(--green-chip);border-radius:20px 20px 0 0;padding:18px 25px 22px;text-align:center}
.udm-qtitle{font-size:14px;font-weight:800;color:var(--ink);margin-bottom:14px}
.udm-achips{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.udm-achip{display:inline-flex;align-items:stretch;background:#fff;border:none;padding:0;font-family:'Mulish';border-radius:14px;overflow:hidden;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer}
.udm-achip .t{padding:10px 16px;display:flex;align-items:center}
.udm-achip .p{padding:10px 12px;border-left:1px solid #E9E6DC;color:var(--green-dark);font-weight:800;background:var(--cream);display:flex;align-items:center;font-variant-numeric:tabular-nums}
.udm-achip.sel{background:var(--green);color:#fff}
.udm-achip.sel .p{background:rgba(255,255,255,.16);border-left-color:rgba(255,255,255,.4);color:#fff}
.udm-hint{background:var(--beige);padding:14px 20px;display:flex;gap:12px;align-items:center;text-align:left}
.udm-qwrap > .udm-hint:last-child,.udm-qwrap > .udm-hint-body:last-child{border-radius:0 0 14px 14px}
.udm-hint .ic{width:22px;height:22px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff;background:var(--green)}
.udm-hint .ic.info{background:var(--muted)}
.udm-hint .ic.warn{background:var(--err)}
.udm-hint .tx{font-size:13px;font-weight:600;color:var(--ink);line-height:1.5}
.udm-hint .ans{margin-left:auto;display:flex;align-items:center;gap:14px;flex:none}
.udm-anschip{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:8px 16px;font-size:12.5px;font-weight:700;color:var(--ink);white-space:nowrap;font-family:'Mulish'}
.udm-anschip.red{border-color:var(--err);color:var(--err);display:inline-flex;align-items:center;gap:8px}
.udm-anschip.red .q{width:15px;height:15px;border-radius:50%;border:1.5px solid var(--err);display:inline-flex;align-items:center;justify-content:center;font-size:10px}
.udm-more{font-size:13px;font-weight:700;color:var(--green-dark);white-space:nowrap;cursor:pointer;background:none;border:none;font-family:'Mulish'}
.udm-hint-body{background:var(--beige);padding:2px 20px 18px;text-align:left;border-top:1px dashed var(--line)}
.udm-hint-body .cap{font-size:11.5px;letter-spacing:.06em;color:var(--muted);font-weight:800;text-transform:uppercase;margin:14px 0 8px}
.udm-hint-body p{font-size:13px;color:var(--ink);font-weight:600;line-height:1.6;margin-bottom:10px}
.udm-hint-fine{border-top:1px dashed var(--line);margin-top:12px;padding-top:12px;font-size:12px;color:var(--muted);font-weight:600;line-height:1.55}
.udm-pop{position:absolute;right:0;bottom:-136px;width:350px;background:#fff;border-radius:14px;box-shadow:0 18px 44px rgba(54,47,41,.3);padding:20px 22px;text-align:left;z-index:10}
.udm-pop .cap{font-size:11.5px;letter-spacing:.06em;color:var(--muted);font-weight:800;text-transform:uppercase;margin-bottom:10px}
.udm-pop p{font-size:13px;font-weight:700;color:var(--ink);line-height:1.5;margin-bottom:12px}
.udm-pop label{display:block;font-size:12.5px;color:var(--muted);font-weight:700;margin-bottom:6px}
.udm-pop-row{display:flex;gap:10px}
.udm-pop-row .default-field{flex:1;font-weight:700}
.udm-pop-btn{flex:none;border:none;cursor:pointer;background:var(--green-grad);color:#fff;font-family:'Unbounded';font-weight:500;font-size:11px;text-transform:uppercase;border-radius:10px;padding:0 18px}
.udm-pop .fine{font-size:11.5px;color:var(--muted);font-weight:600;line-height:1.5;margin-top:12px}
@media (max-width:760px){
.udm-doc{padding:20px 14px}
.udm-hint{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px 12px}
.udm-hint .ic{margin-top:2px}
.udm-hint .tx{min-width:0}
.udm-hint .ans{grid-column:1 / -1;margin-left:34px;justify-content:flex-start;flex-wrap:wrap;gap:10px}
.udm-anschip{white-space:normal;text-align:left}
.udm-pop{position:static;width:auto;margin-top:12px;box-shadow:0 8px 24px rgba(54,47,41,.18)}
}

/* ==================== экран макета: 28-calculator-395 ==================== */
.udm-cl-crumbs{font-size:13px;color:var(--muted);font-weight:600;margin:10px 0 20px}
.udm-cl-crumbs a{color:var(--green-dark);font-weight:700}
.udm-cl-hero{background:var(--cream);border:1.5px solid var(--green);border-radius:20px;padding:28px 32px;margin-bottom:18px}
.udm-cl-badge{display:inline-block;background:var(--green);color:#fff;font-family:'Unbounded';font-weight:600;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:7px 14px;margin-bottom:14px}
.udm-cl-hero h2{font-size:22px;margin-bottom:12px}
.udm-cl-hero p{font-size:14.5px;color:var(--ink);font-weight:600;line-height:1.6;max-width:760px}
.udm-cl-hero .sub{font-size:12.5px;color:var(--muted);font-weight:600;line-height:1.55;margin-top:12px;max-width:820px}
.udm-cl-hero .sub a{color:var(--green-dark);font-weight:700}
.udm-cl-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 36px}
.udm-cl-sect{font-family:'Unbounded';font-size:16px;font-weight:700;color:var(--ink);margin:0 0 4px}
.udm-cl-sub{font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:14px;line-height:1.5}
.udm-cl-grid{display:grid;grid-template-columns:1fr 1fr 44px;gap:14px;align-items:end;margin-bottom:10px}
.udm-cl-grid .udm-form-label{margin-bottom:6px}
.udm-x{width:40px;height:44px;border-radius:10px;border:1.5px solid #EBC9C9;color:var(--err);background:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer}
.udm-add{display:inline-flex;align-items:center;gap:8px;border:1.5px dashed var(--green);border-radius:10px;color:var(--green-dark);font-size:13px;font-weight:700;padding:10px 16px;cursor:pointer;background:var(--cream);font-family:'Mulish'}
.udm-cl-fine{font-size:12px;color:var(--muted);font-weight:600;line-height:1.55;margin-top:12px}
.udm-cl-hr{border:none;border-top:1px dashed var(--line);margin:24px 0}
.udm-check{display:flex;gap:10px;align-items:flex-start;background:var(--cream);border-radius:10px;padding:13px 16px;font-size:13px;font-weight:600;color:var(--ink)}
.udm-check .bx{width:19px;height:19px;border-radius:5px;background:var(--green);display:flex;align-items:center;justify-content:center;flex:none;margin-top:1px}
.udm-cl-btns{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap;align-items:center}
.udm-btn-sm.plain{border-color:var(--line);color:var(--ink)}
.udm-cl-result{margin-top:18px;background:var(--cream);border:1.5px solid var(--green);border-radius:14px;padding:22px 24px}
.udm-res-head{font-family:'Unbounded';font-size:15px;font-weight:700;color:var(--ink);margin-bottom:12px}
.udm-res-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 30px}
.udm-res-grid div{display:flex;justify-content:space-between;gap:14px;font-size:13.5px;border-bottom:1px dotted var(--line);padding:6px 0}
.udm-res-grid span{color:var(--muted);font-weight:600}
.udm-res-grid b{font-weight:800;font-variant-numeric:tabular-nums}
.udm-res-tbl{width:100%;border-collapse:collapse;background:#fff}
.udm-res-tbl th{font-size:12px;font-weight:700;color:var(--muted);text-align:left;padding:10px 14px;border-bottom:1px solid var(--line)}
.udm-res-tbl td{font-size:13px;font-weight:600;color:var(--ink);padding:10px 14px;border-bottom:1px solid #efeee7;font-variant-numeric:tabular-nums}
.udm-res-tbl tr:last-child td{border-bottom:none}
.udm-res-tbl .num,.udm-res-tbl th.num{text-align:right;white-space:nowrap}
.udm-copied{font-size:12.5px;color:var(--green-dark);font-weight:700;align-self:center}
.udm-cl-err{display:none;margin-top:12px;font-size:13px;font-weight:700;color:var(--err);background:var(--err-bg);border-radius:10px;padding:11px 15px}
.udm-cl-wait{background:var(--cream);border-left:4px solid var(--green);border-radius:0 10px 10px 0;padding:13px 16px;font-size:13px;font-weight:600;color:var(--ink);margin-top:18px}
h2.udm-near{font-size:19px;margin:34px 0 14px}
@media (max-width:760px){
.udm-cl-grid{grid-template-columns:1fr}
.udm-cl-form{padding:22px 16px}
.udm-cl-hero{padding:20px 16px}
}

/* ==================== экран макета: 29-lk-vertical-menu ==================== */
.udm-lk-layout{display:grid;grid-template-columns:280px 1fr;gap:26px;align-items:start;margin-top:8px}
/* Заголовок правой колонки начинается на одной высоте с меню: у h1 сайта
   свой верхний отступ, и без сброса колонки расходились на 20–30 px. */
.udm-lk-layout > * > h1:first-child{margin-top:0}
.udm-lk-layout > *{min-width:0}
.udm-vmenu{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;position:sticky;top:16px}
.udm-vmenu-head{display:flex;gap:14px;align-items:center;padding:4px 4px 16px;border-bottom:1px solid #efeee7;margin-bottom:14px}
.udm-burger{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;flex:none;cursor:pointer}
.udm-burger svg{width:20px;height:20px}
.udm-vmenu-head b{font-family:'Unbounded';font-size:14px;font-weight:700;color:var(--ink);display:block;line-height:1.3}
.udm-vmenu-head small{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-top:3px}
.udm-vitem{display:flex;align-items:center;gap:12px;background:var(--cream);border-radius:14px;padding:13px 16px;font-size:14px;font-weight:700;color:var(--ink);text-decoration:none;margin-bottom:10px;position:relative;transition:.15s}
.udm-vitem:hover{box-shadow:0 0 0 1.5px var(--green) inset}
.udm-vitem .ic{color:var(--green-dark);display:flex;flex:none}
.udm-vitem .ic svg{width:19px;height:19px}
.udm-vitem .cnt{margin-left:auto;min-width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 6px}
.udm-vitem.active{background:var(--green);color:#fff}
.udm-vitem.active .ic{color:#fff}
.udm-vitem.active .cnt{background:#fff;color:var(--green-dark)}
.udm-vitem .nb2{position:absolute;top:-7px;right:-6px;background:var(--green-grad);color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.04em;padding:2.5px 8px;border-radius:9px;border:2px solid #fff;text-transform:uppercase}
.udm-limits{background:var(--cream);border-radius:20px;padding:16px 22px;display:flex;align-items:center;gap:40px;margin:0 0 18px}
.udm-lim-col{font-size:13.5px;color:var(--ink);font-weight:700;display:grid;grid-template-columns:auto auto;gap:4px 14px}
.udm-lim-col b{color:var(--green-dark)}
.udm-limits .head-link{margin-left:auto}
.udm-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center}
.udm-link-quiet{font-size:13px;font-weight:700;color:var(--brown);text-decoration:underline;text-underline-offset:3px;cursor:pointer;white-space:nowrap}
.udm-del-x{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--err);font-size:12px;font-weight:700;text-decoration:none;flex:none;cursor:pointer}
.udm-del-x:hover{border-color:var(--err);background:var(--err-bg)}
.udm-lk-layout .udm-tbl th,.udm-lk-layout .udm-tbl td{padding:14px 12px}
.udm-lk-layout .udm-tbl td:nth-child(2),.udm-lk-layout .udm-tbl th:nth-child(2){width:100px}
.udm-lk-layout .udm-tbl td:nth-child(3),.udm-lk-layout .udm-tbl th:nth-child(3){width:104px}
.udm-lk-layout .udm-tbl td:last-child,.udm-lk-layout .udm-tbl th:last-child{width:270px;text-align:right}
.udm-actions .head-link{height:38px;font-size:13px;padding:0 14px}
/* Порог 1024, а не 760: колонка занимает 280 px плюс 26 px промежутка, и на
   планшете содержимому оставалось около 440 px — таблицы аналитики и плитки
   подписки честно не помещались и тащили страницу вбок. Ниже 1024 меню
   становится полосой, а содержимое получает всю ширину. */
@media (max-width:1024px){
/* На узком экране колонка меню разворачивалась во всю ширину и вставала НАД
   заголовком: до содержимого страницы надо было прокрутить восемь пунктов.
   В макете (30-vmenu-site) на телефоне меню — полоса иконок; делаем так же,
   только не прибитую к низу экрана (там уже висит кнопка чата), а строкой
   на своём месте, с прокруткой вбок. */
.udm-lk-layout{grid-template-columns:1fr;gap:14px}
.udm-vmenu{position:static;padding:10px 12px;border-radius:16px}
.udm-vmenu-head{padding:2px 2px 10px;margin-bottom:10px}
.udm-vmenu-head b{font-size:13px}
.udm-vmenu-punkty{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;
    -webkit-overflow-scrolling:touch;scrollbar-width:thin}
.udm-vmenu-punkty .udm-vitem{margin-bottom:0;flex:none;white-space:nowrap;
    padding:10px 14px;font-size:13px;border-radius:12px}
.udm-vmenu-punkty .udm-vitem .cnt{margin-left:8px}
}

/* ==================== экран макета: 30-vmenu-site ==================== */
.udm-sitehead{background:#fff;border-bottom:1px solid var(--line);padding:0 32px;height:76px;display:flex;align-items:center;gap:34px}
.udm-logo{font-family:'Unbounded';font-weight:700;font-size:20px;color:var(--green-dark);text-decoration:none}
.udm-logo span{color:var(--brown)}
.udm-sitenav{display:flex;gap:26px;font-size:14.5px;font-weight:700}
.udm-sitenav a{color:var(--ink);text-decoration:none}
.udm-sitenav a.on{color:var(--green-dark)}
.udm-sitehead .right{margin-left:auto;display:flex;gap:12px;align-items:center}
.udm-out{border:1.5px solid var(--line);border-radius:20px;height:44px;display:inline-flex;align-items:center;padding:0 22px;font-size:14px;font-weight:700;color:var(--ink);text-decoration:none}
.udm-create{background:var(--green-grad);border-radius:20px;height:44px;display:inline-flex;align-items:center;padding:0 22px;font-size:13px;font-weight:800;color:#fff;text-decoration:none}
/* dgr: ширина полосы и размер плиток подняты против макета 30-vmenu-site
   (там 76/46/20) по слову заказчика от 26.08.2026 — на живой странице полоса
   вышла мелковата. Число живёт ОДНО, переменной: его же берёт отступ у body
   и константа LkMenu::SHIRINA_POLOSY. Пропорции макета сохранены: плитка
   занимает те же 60 % ширины полосы, поля по бокам равные. */
:root{--dgr-rail:100px;--dgr-plitka:60px;--dgr-znak:26px}
.udm-rail{position:fixed;left:0;top:0;bottom:0;width:var(--dgr-rail);background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:18px 0;gap:13px;z-index:60}
.udm-rail .udm-burger{width:var(--dgr-plitka);height:var(--dgr-plitka);border-radius:14px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-bottom:8px}
.udm-rail .udm-burger svg{width:var(--dgr-znak);height:var(--dgr-znak)}
.udm-rtile{position:relative;width:var(--dgr-plitka);height:var(--dgr-plitka);border-radius:14px;background:var(--cream);color:var(--green);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:.15s}
.udm-rtile:hover{box-shadow:0 0 0 1.5px var(--green) inset}
.udm-rtile svg{width:var(--dgr-znak);height:var(--dgr-znak)}
.udm-rtile::after{content:attr(data-tip);position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%);background:var(--beige);color:var(--ink);font-size:12.5px;font-weight:700;padding:9px 14px;border-radius:10px;box-shadow:0 10px 20px rgba(141,105,89,.25);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s;z-index:80}
.udm-rtile:hover::after,.udm-rtile:focus-visible::after{opacity:1}
.udm-rtile.active{background:var(--green);color:#fff}
.udm-rtile .cnt{position:absolute;top:-5px;right:-5px;min-width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid #fff}
.udm-rtile .nb2{position:absolute;top:-6px;right:-8px;background:var(--green-grad);color:#fff;font-size:8.5px;font-weight:800;letter-spacing:.04em;padding:2px 6px;border-radius:8px;border:2px solid #fff;text-transform:uppercase}
.udm-vpanel{position:fixed;left:0;top:0;bottom:0;width:352px;background:#fff;box-shadow:0 20px 60px rgba(54,47,41,.22);padding:18px;z-index:70;display:none;overflow-y:auto}
.udm-vpanel-head{display:flex;gap:14px;align-items:center;padding:0 4px 16px;border-bottom:1px solid #efeee7;margin-bottom:14px}
.udm-vpanel-head .udm-burger{width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.udm-vpanel-head .udm-burger svg{width:20px;height:20px}
.udm-vpanel-head b{font-family:'Unbounded';font-size:14px;font-weight:700;color:var(--ink);display:block;line-height:1.3}
.udm-vpanel-head small{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-top:3px}
.udm-band{background:var(--cream);padding:34px 0 44px;margin-top:20px}
.udm-cats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.udm-cat{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.udm-cat .udm-head{background:var(--green);color:#fff;font-weight:800;font-size:13.5px;padding:12px 16px;display:flex;gap:8px;align-items:center}
.udm-cat .udm-head u{text-underline-offset:2px}
.udm-cat ul{list-style:none;padding:12px 16px}
.udm-cat li{font-size:13px;color:var(--green-dark);font-weight:700;padding:5px 0}
.udm-cat li:before{content:'· '}
.udm-search{height:44px;border:none;border-radius:20px;margin:0 0 6px;display:flex;align-items:center;padding:0 16px;color:#b9b4aa;font-size:14px;background:#fff;border:1px solid var(--line);justify-content:space-between}
.udm-search .udm-go{background:var(--green);color:#fff;border-radius:8px;font-size:12px;font-weight:800;padding:6px 14px}
@media (max-width:760px){
/* dgr: ниже порога полоса ложится вниз экрана. Здесь размеры остаются
   макетными: увеличенная плитка на телефоне съедала бы шестую часть окна. */
.udm-rail .udm-burger,.udm-rtile{width:46px;height:46px;border-radius:12px}
.udm-rail .udm-burger svg,.udm-rtile svg{width:20px;height:20px}
.udm-rail{top:auto;bottom:0;left:0;right:0;width:auto;height:74px;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;padding:0 10px;border-right:none;border-top:1px solid var(--line);overflow-x:auto;-webkit-overflow-scrolling:touch}
.udm-rail .udm-burger{margin-bottom:0;flex:none}
.udm-rtile{flex:none}
.udm-rtile::after{left:50%;top:auto;bottom:calc(100% + 12px);transform:translateX(-50%)}
.udm-vpanel{top:auto;bottom:0;left:0;right:0;width:auto;max-height:72vh;border-radius:20px 20px 0 0;box-shadow:0 -20px 60px rgba(54,47,41,.25)}
.udm-sitehead{padding:0 14px;gap:16px}
.udm-sitenav{display:none}
.udm-out{display:none}
.udm-create{padding:0 14px;font-size:12px}
}

/* ==================== экран макета: 31-calculator-gosposhlina ==================== */

.udm-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.udm-pill[aria-pressed]{font-family:'Mulish'}
.udm-chk{display:flex;gap:10px;align-items:flex-start;background:var(--cream);border-radius:10px;padding:12px 15px;font-size:13px;font-weight:600;color:var(--ink);border:none;cursor:pointer;text-align:left;font-family:'Mulish';width:100%;margin-bottom:8px}
.udm-chk .bx{width:19px;height:19px;border-radius:5px;background:var(--green);display:flex;align-items:center;justify-content:center;flex:none;margin-top:1px}
.udm-chk[aria-pressed="false"] .bx{background:#fff;border:1.5px solid var(--line)}
.udm-chk[aria-pressed="false"] .bx svg{display:none}
.udm-res-big{font-family:'Unbounded';font-weight:700;font-size:30px;color:var(--green-dark);margin:6px 0 14px;font-variant-numeric:tabular-nums}
.udm-res-rows div{display:flex;justify-content:space-between;gap:16px;font-size:13.5px;border-bottom:1px dotted var(--line);padding:7px 0}
.udm-res-rows span{color:var(--muted);font-weight:600}
.udm-res-rows b{font-weight:800;text-align:right}
@media (max-width:760px){
.udm-row2{grid-template-columns:1fr}
.udm-res-big{font-size:24px}
.udm-nearg{grid-template-columns:1fr !important}
}

/* ==================== экран макета: 32-calculator-otpusknye ==================== */

.udm-radio{display:flex;align-items:flex-start;gap:12px;padding:9px 0;font-size:14px;color:var(--ink);font-weight:700;cursor:pointer;background:none;border:none;font-family:'Mulish';text-align:left;width:100%}
.udm-rd{width:20px;height:20px;border-radius:50%;border:1.8px solid var(--green);flex:none;position:relative;margin-top:1px}
.udm-rd.on:after{content:'';position:absolute;inset:4px;border-radius:50%;background:var(--green)}
.udm-radio small{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-top:2px}
.udm-months{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:10px}
.udm-mrow{display:grid;grid-template-columns:1.2fr 1fr 1fr 44px;gap:0;align-items:center;border-bottom:1px solid #efeee7}
.udm-mrow:last-child{border-bottom:none}
.udm-mrow.head{background:var(--cream);font-size:12px;font-weight:700;color:var(--muted)}
.udm-mrow.head div{padding:10px 14px}
.udm-mrow .m{padding:10px 14px;font-size:13.5px;font-weight:700;color:var(--ink)}
.udm-mrow input{border:none;background:none;font-family:'Mulish';font-size:13.5px;font-weight:700;color:var(--ink);padding:12px 14px;outline:none;width:100%;border-left:1px solid #efeee7;font-variant-numeric:tabular-nums}
.udm-mrow input:focus-visible{background:var(--cream)}
.udm-mrow .udm-x{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);color:var(--err);background:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer;margin:0 auto}
.udm-res-final{margin-top:14px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.udm-res-final b{font-family:'Unbounded';font-weight:700;font-size:28px;color:var(--green-dark);font-variant-numeric:tabular-nums}
.udm-res-final span{font-size:13px;color:var(--muted);font-weight:600}
@media (max-width:760px){
.udm-res-grid{grid-template-columns:1fr}
.udm-mrow{grid-template-columns:1fr 1fr 44px}
.udm-mrow .m{grid-column:1 / -1;padding-bottom:0}
.udm-mrow.head{display:none}
.udm-mrow input{border-left:none;border-top:1px dashed #efeee7}
}

/* ==================== экран макета: 33-calculator-kompensaciya ==================== */

.udm-fork{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.udm-fork > div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px}
.udm-fork span{display:block;font-size:12.5px;color:var(--muted);font-weight:700;margin-bottom:6px}
.udm-fork b{font-family:'Unbounded';font-weight:700;font-size:24px;color:var(--green-dark);font-variant-numeric:tabular-nums}
.udm-fork .max b{color:var(--ink)}
.udm-fork-note{font-size:13px;font-weight:600;color:var(--ink);line-height:1.55;margin-bottom:10px}
.udm-fork-how{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.udm-fork-how > button{width:100%;background:none;border:none;padding:13px 18px;display:flex;justify-content:space-between;align-items:center;font-family:'Mulish';font-size:13.5px;font-weight:700;color:var(--green-dark);cursor:pointer}
.udm-fork-how .body{display:none;padding:0 18px 14px;font-size:13px;font-weight:600;color:var(--ink);line-height:1.6}
.udm-fork-how.open .body{display:block}
.udm-fork-how .body p{margin-bottom:8px}
@media (max-width:760px){
.udm-fork{grid-template-columns:1fr}
.udm-fork b{font-size:21px}
}

/* ==================== состояния, перенесённые с <body> макета ====================
   В макете эти правила висели на body (у прототипа своя страница целиком).
   На сайте так нельзя: body общий для всех страниц. Переносим на обёртку
   .udm-konstruktor — её ставит надстройка тому же элементу, на котором
   раньше переключался класс у body.
   =============================================================================== */
.udm-konstruktor.no-stats .udm-achip .p{display:none}
.udm-konstruktor.no-hints .udm-hint,
.udm-konstruktor.no-hints .udm-hint-body,
.udm-konstruktor.no-hints .udm-pop{display:none}
.udm-konstruktor.no-hints .udm-qblock{border-radius:14px}
.udm-konstruktor .udm-pop{display:none}
.udm-konstruktor.pop-open .udm-pop{display:block}

/* Флажок «выбрано» в калькуляторах: правило из макета, прибитое к нашей обёртке,
   чтобы не ловить чужие [data-check] на странице. */
.udm-kalk [data-check][aria-pressed="false"] .bx{background:#fff;border:1.5px solid var(--line)}
.udm-kalk [data-check][aria-pressed="false"] .bx svg{display:none}

/* Выпадающий список: у сайта своё поле .default-field, свою копию не заводим —
   добавляем только стрелку и убираем системный вид, и только внутри своих блоков. */
.udm-kalk select.default-field,
.udm-lk select.default-field{
  appearance:none;-webkit-appearance:none;padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238D6959' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:16px;
}

/* ==================== добавки при переносе на сайт ====================
   Здесь только то, что в макете стояло инлайном на элементе или чего не было
   вовсе, потому что у прототипа страница была одна. Ничего нового по виду
   не придумано — те же величины, что и в макете, просто вынесены в класс.
   ===================================================================== */

/* Заголовок карточки: в макете стоял инлайном style="font-size:19px". */
.udm-an-h{font-size:19px;margin-bottom:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* Малая «пилюля» фильтра 30/60/90 — в макете тоже инлайном. */
.udm-pill.sm{height:36px;padding:0 18px;font-size:13px}
/* Состояние включённости ставит pokazateli.js своим классом — принимаем оба. */
.udm-pill.dgr-pill-on{background:var(--green);color:#fff;border-color:var(--green)}

/* Подсказка «?» — родная у сайта (element helpers/helper_note). Ей нужно
   только место в строке заголовка: сам вид, тень и поведение — сайта. */
.udm-an-note{display:inline-flex;vertical-align:middle}

/* Пустое состояние и «всё в порядке»: в макете отдельного экрана под них нет. */
.udm-an-empty{text-align:center;padding:40px 20px 46px}
.udm-an-empty-text{font-size:16px;line-height:1.6;color:var(--ink);margin-top:18px;font-weight:600}
.udm-an-empty-btn{width:auto;display:inline-flex;padding:0 26px;margin-top:22px}

/* Пустое состояние раздела кабинета — макет от 26.08.2026.
   Одна карточка на «Аналитику» и «Мои расчёты»: белая, с персонажем сайта,
   заголовком, абзацем и кнопкой. Оба раздела пользуются одними правилами —
   заводить два одинаковых набора классов незачем. */
.udm-empty{background:#fff;border:1px solid var(--line);border-radius:20px;
    padding:64px 40px;text-align:center;margin-top:22px}
.udm-empty img{width:200px;height:auto;margin-bottom:20px}
.udm-empty.raschety img{width:186px}
.udm-empty b{display:block;font-size:16px;color:var(--ink);font-weight:800;margin-bottom:10px}
.udm-empty p{font-size:14px;color:var(--muted);font-weight:600;line-height:1.6;
    max-width:560px;margin:0 auto 22px}
.udm-empty p a{color:var(--green-dark);font-weight:700}
.udm-empty .my-btn{width:auto;display:inline-flex;padding:0 28px;color:#fff}
/* Стрелку от подписи отделяем отступом: в кнопке сайта буквы разрежены
   letter-spacing, и без отступа стрелка липнет к последней букве. */
.udm-empty .my-btn .udm-arr{margin-left:12px}
.udm-an-ideal{display:flex;gap:20px;align-items:flex-start}
.udm-an-ideal-text{font-size:17px;line-height:1.5;color:var(--ink);font-weight:700;margin-bottom:6px}

/* «Показать таблицей»: в макете это кнопка, здесь — <details>, чтобы не
   заводить обработчик там, где хватает разметки. Вид тот же. */
.udm-an-det{margin-top:14px}
.udm-an-det > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.udm-an-det > summary::-webkit-details-marker{display:none}
.udm-an-det > summary::before{content:'▸';color:var(--green-dark);font-size:12px}
.udm-an-det[open] > summary::before{content:'▾'}
.udm-an-det > summary + table{margin-top:12px}

/* Итоговая оговорка внизу страницы. */
.udm-an-final{margin-top:6px}


/* ---------- «Мои расчёты»: то, что в макете стояло инлайном ---------- */

/* Ссылка-кнопка в строке заголовка. У сайта это .head-link, но у неё жёсткая
   ширина 135px под слово «Выйти» — текст здесь длиннее. Отпускаем ширину,
   больше ничего не трогаем: цвет, высота и скругление остаются сайта. */
.udm-hl-auto{width:auto;justify-content:center;padding:0 18px;gap:8px}
.udm-arr{font-size:17px;line-height:1;transform:translateY(-1px)}

/* Итог из одной строки: в макете такой карточке ставили одну колонку
   инлайном, иначе строка висит в половине пустой полосы. */
.udm-res.odna{grid-template-columns:1fr}
.udm-res.odna .udm-res-row{max-width:560px}

/* «Что было введено»: в макете это кнопка со скриптом, здесь — <details>.
   Вид тот же, обработчик не нужен. */
.udm-calc-det > summary{list-style:none}
.udm-calc-det > summary::-webkit-details-marker{display:none}
.udm-calc-det > summary::before{content:'\25B8';color:var(--green-dark);font-size:12px}
.udm-calc-det[open] > summary::before{content:'\25BE'}

/* Пустое состояние: отдельного экрана в макете под него нет. */
@media (max-width:760px){.udm-empty{padding:44px 18px}
    .udm-empty img{width:150px}.udm-empty.raschety img{width:140px}}

.udm-calc-pusto{text-align:center;padding:34px 26px 38px}
.udm-calc-pusto b{display:block;font-size:17px;color:var(--ink);margin-bottom:10px}
.udm-calc-pusto p{font-size:14px;color:var(--muted);font-weight:600;line-height:1.6;max-width:620px;margin:0 auto}
.udm-calc-pusto a{color:var(--green-dark);font-weight:700}
.udm-calc-pusto-btn{width:auto;display:inline-flex;padding:0 26px;margin-top:22px;color:#fff}


/* ==================== меню кабинета колонкой на родных страницах ====================
   «Аналитика», «Расчёты» и «Калькуляторы» — мои страницы, там колонка стоит в
   своей раскладке .udm-lk-layout. Остальные разделы кабинета — родные шаблоны
   сайта, их переписывать под сетку нельзя. Поэтому меню кладётся ПЕРВЫМ ребёнком
   в контейнер страницы, а сетку делает стиль: колонка занимает первый столбец на
   всю высоту, всё остальное уходит во второй. Правило бьёт только по тем
   контейнерам, где меню действительно лежит, — иначе оно ломало бы мои страницы,
   у которых своя раскладка. */
body.dgr-lk-vert #doc-body > .container:has(> .udm-vmenu){
    display:grid;grid-template-columns:280px minmax(0,1fr);gap:26px;
    align-items:start;grid-auto-flow:row}
/* Ровно первая строка первого столбца. `1 / span 9999`, как было сначала,
   плодило девять с лишним тысяч пустых строк, и промежутки между ними
   вытягивали страницу на четверть миллиона пикселей вниз — автотест вёрстки
   это и поймал. Растягивать колонку не нужно: она и так стоит сверху. */
body.dgr-lk-vert #doc-body > .container > .udm-vmenu{grid-column:1;grid-row:1;align-self:start}
body.dgr-lk-vert #doc-body > .container:has(> .udm-vmenu) > *:not(.udm-vmenu){grid-column:2;min-width:0}
@media (max-width:1024px){
body.dgr-lk-vert #doc-body > .container:has(> .udm-vmenu){grid-template-columns:minmax(0,1fr);gap:14px}
body.dgr-lk-vert #doc-body > .container > .udm-vmenu{grid-column:1;grid-row:auto}
body.dgr-lk-vert #doc-body > .container:has(> .udm-vmenu){row-gap:14px}
body.dgr-lk-vert #doc-body > .container:has(> .udm-vmenu) > *:not(.udm-vmenu){grid-column:1}
}

/* ==================== полоса-меню кабинета на всех страницах ==================== */
/* Разметка — templates/element/dgr_vmenu.php. Сами плитки, панель и поведение
   на телефоне описаны выше, в переносе макета 30-vmenu-site. Здесь только то,
   чего в макете быть не могло: он рисовал одну страницу целиком, а тут полоса
   ложится поверх готового сайта.

   Метка на body ставится раскладкой (templates/layout/docs.php) и есть только
   у варианта B теста lk_menu_vid. В варианте A ни одного из этих правил
   не существует — стиль вообще не подключается. */

/* Место под полосу. Полоса вынута из потока, поэтому отодвигаем содержимое
   отступом, а не колонкой сетки: так ни один чужой шаблон править не надо. */
body.dgr-vmenu-on{padding-left:var(--dgr-rail)}

/* Разделы кабинета (Аналитика, Расчёты, Калькуляторы) до 26.08.2026 клали меню
   ПЕРВЫМ ребёнком в .udm-lk-layout, и обёртка резервировала под него 280 px.
   Теперь меню стоит у края окна, ребёнка нет — и пустая колонка не нужна.
   Обёртку из шаблонов не убираем: вернётся колонка внутри страницы — вернётся
   и раскладка, править шесть шаблонов туда-обратно незачем. */
.udm-lk-layout:not(:has(> .udm-vmenu)){display:block}

/* Родная горизонтальная полоса кабинета — это вариант A теста. Часть публичных
   страниц (главная, статьи, страница шаблона, «Решения», формы подписки) зовёт
   её НАПРЯМУЮ, мимо element/lk_menu, поэтому в варианте B она выходила вместе
   с полосой: два меню с одними и теми же пунктами на одной странице. Прячем
   стилем — иначе пришлось бы править семь родных шаблонов ради одного правила.
   .back-cab-block больше нигде на сайте не встречается, проверено. */
body.dgr-vmenu-on .back-cab-block{display:none}

/* Панель развёрнутого меню: закрыта по умолчанию, открывается меткой на body.
   Метку ставит webroot/js/dgr-vmenu.js. */
body.dgr-vmenu-on.dgr-menu-otkryto .udm-vpanel{display:block}
.udm-vpanel-fon{position:fixed;inset:0;background:rgba(56,45,40,.35);z-index:65;display:none}
body.dgr-vmenu-on.dgr-menu-otkryto .udm-vpanel-fon{display:block}

/* Видимый фокус: по полосе ходят с клавиатуры, а родного контура у плиток нет. */
.udm-rail .udm-burger:focus-visible,.udm-rtile:focus-visible,
.udm-vpanel .udm-burger:focus-visible,.udm-vitem:focus-visible{
    outline:2px solid var(--green-dark);outline-offset:2px}

/* Плавающую панель кнопок конструктора (.plavaem) поправлять НЕ надо, и это
   стоило одного захода: у неё position:fixed БЕЗ left, а такой элемент встаёт
   на своё статическое место — то есть отступ body уже учтён. Добавленный
   сверху margin-left сдвигал её второй раз, и на 768 px страница поехала
   вбок на 23 px. Проверка: scrollWidth страницы шаблона = ширине окна. */

@media (max-width:760px){
    /* На телефоне полоса уезжает вниз (правило выше), значит слева места
       не нужно, а нужно снизу — иначе полоса накрывает последние строки. */
    body.dgr-vmenu-on{padding-left:0;padding-bottom:86px}
    /* Внизу экрана полосу нужно обойти по вертикали: панель кнопок и кнопка
       скачивания прибиты к низу окна и оказались бы под полосой. */
    body.dgr-vmenu-on .plavaem[style*="fixed"],
    body.dgr-vmenu-on .floating-download{margin-bottom:78px}
}
