/* Workspace 19084 · локальные добавки к принятой оболочке. Только пометка «требует заполнения». */
.mq-fill-pending{margin:0 0 18px;padding:12px 16px;border:1px dashed rgba(255,255,255,.34);border-radius:12px;font:500 13px/1.5 Onest,Arial,sans-serif;letter-spacing:.01em;color:#e8e6df;background:rgba(255,255,255,.05)}
.mq-fill-pending b{font-weight:600;color:#fff}
.demo-summary .mq-fill-pending{position:relative;z-index:2}
.demo-scope-card dl dd[data-fill="pending"]{opacity:.78}
@media(max-width:700px){.mq-fill-pending{font-size:12px;padding:10px 12px}}
/* Only new client copy geometry and unsupported commercial state. Selected outer rules retain authority. */
#budget .demo-total [data-demo-price]{font-size:clamp(28px,3.6vw,52px);letter-spacing:-.035em}
#budget .demo-time [data-demo-days]{font-size:clamp(24px,3vw,42px);letter-spacing:-.025em}
#budget .demo-speed:disabled{cursor:not-allowed;opacity:.52}
#budget .demo-addon-list>[role=listitem]{display:grid;gap:6px;padding:18px 0;border-bottom:1px solid var(--line)}
#budget .demo-addon-list>[role=listitem]>span{font-size:14px;line-height:1.6;color:var(--muted)}
#budget .demo-figures>div{min-width:0}
#budget .demo-figures{grid-template-columns:1.15fr 1fr;gap:36px}
#budget .demo-difference{max-width:50ch}

#concept-stage>[data-native-direction][hidden]{display:none!important}
#budget .mq-license-note{font-size:14px;line-height:1.65;margin-top:20px}
/* One real scope for 19084: the single card takes the full grid row instead of leaving an empty slot. */
#budget .demo-scope-grid:has(> .demo-scope-card:only-child){grid-template-columns:1fr}
#budget .demo-scope-grid:has(> .demo-scope-card:only-child) .demo-scope-card dl{max-width:72ch}
/* Полный состав и условия: на узких экранах строки таблиц складываются в блоки, слова и суммы не рвутся. */
@media(max-width:640px){
 .mq-structured-reader table{table-layout:auto;display:block}
 .mq-structured-reader table colgroup{display:none}
 .mq-structured-reader thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .mq-structured-reader tbody{display:block}
 .mq-structured-reader tbody tr{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
 .mq-structured-reader tbody :is(th,td){display:block;border-bottom:0;padding:0;overflow-wrap:normal;word-break:normal;hyphens:manual}
 .mq-structured-reader tbody th{font-weight:600;margin:0 0 8px}
 .mq-structured-reader tbody td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;font-variant-numeric:tabular-nums}
 #notes-dialog.mq-structured-reader tbody td{border-bottom:0}
 .mq-structured-reader tbody td+td{border-top:1px solid var(--line)}
 .mq-structured-reader tbody td::before{content:attr(data-label);opacity:.72;flex:1 1 auto;font-weight:400}
 .mq-structured-reader tbody td>*{min-width:0}
 /* суммы — одной строкой; длинные описания состава — обычным переносом по словам, подпись над текстом */
 #mq-detail-stage-table tbody td,#mq-detail-payments-table tbody td,#mq-detail-payments-fast-table tbody td{white-space:nowrap}
 #mq-detail-scope-table tbody td{display:block;white-space:normal}
 #mq-detail-scope-table tbody td::before{display:block;font-size:13px;letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px}
 .mq-structured-reader tbody tr:last-child{border-bottom:0}
}
/* Низкая высота окна (телефон в альбоме): центрированные окна встают под плавающие кнопки шапки,
   крестик остаётся доступен, содержимое читается прокруткой. Те же значения, что в мобильном правиле образца. */
@media(max-height:620px){
 #contact-dialog[data-placement="center"],#notes-dialog[data-placement="center"]{top:var(--calculator-drawer-top,88px);bottom:auto;margin:0 auto;height:auto;max-height:calc(100dvh - var(--calculator-drawer-top,88px) - 10px)}
 #contact-dialog[data-placement="center"] .panel-top,#notes-dialog[data-placement="center"] .panel-top{top:0}
 #notes-dialog[data-placement="center"] .panel-inner{max-height:calc(100dvh - var(--calculator-drawer-top,88px) - 12px)}
}

/* График запуска: подпись контроля, компактное сравнение двух графиков, польза и механизм приоритетного запуска. */
#budget .mq-launch{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
#budget .mq-launch-label{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#9a9ca3)}
#budget .demo-speed>span{white-space:nowrap}
#budget .mq-fast-benefit{position:relative;z-index:2;margin:16px 0 0;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.07);font-size:15px;line-height:1.55}
#budget .mq-plan-reason{position:relative;z-index:2;margin:10px 0 0;font-size:14px;line-height:1.55;color:var(--muted,#9a9ca3);max-width:70ch}
@media(max-width:700px){#budget .mq-launch{align-items:flex-start}}

/* Пилюля «График запуска»: ширина по содержимому, длинная подпись не обрезается. */
#budget[data-direct-pricing] .demo-speed{max-width:none;min-width:0;grid-template-columns:auto auto;width:auto}
#budget[data-direct-pricing] .demo-speed>span{padding:9px 16px}
@media(max-width:700px){#budget[data-direct-pricing] .demo-speed{width:100%;grid-template-columns:1fr 1fr}#budget[data-direct-pricing] .demo-speed>span{padding:9px 10px;white-space:normal;text-align:center;line-height:1.2}}
#budget .mq-launch{flex:0 0 auto}
#budget[data-direct-pricing] .demo-speed{width:max-content}
@media(max-width:700px){#budget .mq-launch{align-self:stretch}#budget[data-direct-pricing] .demo-speed{width:100%}}
#budget .mq-plan-reason{margin-bottom:18px}
#budget .mq-fast-benefit+.mq-plan-reason{margin-top:12px}

/* Fast — приоритетный запуск: заголовок пользы и пояснение рядом с переключателем Standard / Fast. */
#budget .mq-fast-benefit .mq-fast-head{display:block;font-weight:600;font-size:16px;line-height:1.4;margin:0 0 6px}
#budget .mq-fast-benefit span{display:block}
#budget .mq-plan-reason[hidden]{display:none}
/* Узкие телефоны (≤400px): у окна «Полный состав и условия» поля 36px оставляли под строку таблицы ~195px,
   и «Базовый запуск 140 000 ₽» выходила за край при постоянной полосе прокрутки. Поля меньше, подпись колонки переносится, сумма — одной строкой. */
@media(max-width:400px){
 .mq-structured-reader .panel-top{padding-left:20px;padding-right:20px}
 .mq-structured-reader .mq-reader-scroll{padding-left:20px;padding-right:20px}
}
@media(max-width:640px){
 .mq-structured-reader tbody td::before{white-space:normal;min-width:0}
}
/* Окно «Обсудить» в центровом положении (≈700–1000px): плавающие кнопки шапки (z-index 2) перекрывали его крестик. */
#drawer-host #contact-dialog[data-placement="center"].is-open{z-index:3}
