/* Окно «Согласовать договор» для подрядчиков (09.10.2026): разметка — include/dogovor-dialog.php, логика — card.js, приём — forms-dogovor.php.
   Палитра и радиусы — как у окна анкеты (.bc-3m-dlg на /podryadchikam/): бордовый #7C1623, поля 46 px с радиусом 10, плашки-галочки,
   главные кнопки квадратные заглавными, как .btn-biocard. Все классы — с префиксом bcd-, чужие стили страницы окно не трогают,
   а сильные правила шаблона (select{width:43px}, label, legend, p{line-height:1.9}) перекрыты здесь. Кнопки и поля — не ниже 44 px. */
html.bcd-lock{overflow:hidden}
.bcd-dlg{--b:#7C1623;--bd:#5E0F1B;--soft:#FBF1F3;--line:#E7E9EE;--ink:#15171C;--muted:#5B6270;--ok:#1E7A46;--bad:#B42318;--warn:#8A4B00;--field:#CCD1DA;
	box-sizing:border-box;width:min(860px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);margin:auto;padding:0;border:0;border-radius:18px;
	background:#fff;color:var(--ink);box-shadow:0 24px 80px rgba(20,8,10,.35);overflow:hidden;font-size:16px;font-weight:400;line-height:1.45;text-align:left;letter-spacing:0;text-transform:none}
.bcd-dlg:not([open]){display:none}
.bcd-dlg[open]{display:flex;flex-direction:column}
.bcd-dlg::backdrop{background:rgba(22,9,11,.55)}
.bcd-dlg *,.bcd-dlg *::before,.bcd-dlg *::after{box-sizing:border-box}
.bcd-dlg [hidden]{display:none!important}
/* запасной вариант без <dialog>.showModal(): скрипт ставит класс и рисует подложку сам */
.bcd-dlg.bcd-fallback[open]{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2147483000}
.bcd-backdrop{position:fixed;left:0;top:0;right:0;bottom:0;z-index:2147482999;background:rgba(22,9,11,.55)}

/* шапка и шаги */
.bcd-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 28px;border-bottom:1px solid var(--line)}
.bcd-dlg .bcd-head h2{margin:0;padding:0;font-family:inherit;font-size:22px;font-weight:700;line-height:1.25;color:var(--ink);text-transform:none;letter-spacing:0;text-align:left}
.bcd-dlg .bcd-x{flex:none;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink);font-family:inherit;font-size:30px;line-height:44px;text-align:center;cursor:pointer}
.bcd-dlg .bcd-x:hover{background:var(--soft)}
.bcd-progress{flex:none;padding:14px 28px 0}
.bcd-progress ol{list-style:none;margin:0;padding:0;display:flex;gap:8px}
.bcd-progress li{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:8px;margin:0;padding:10px 0 0;border-top:4px solid var(--line);color:var(--muted);font-size:14px;font-weight:600;line-height:1.25}
.bcd-progress li[aria-current="step"]{border-top-color:var(--b);color:var(--bd)}
.bcd-progress li.is-done{border-top-color:var(--ok);color:var(--ok)}
.bcd-pn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--line);color:var(--ink);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.bcd-progress li[aria-current="step"] .bcd-pn{background:var(--b);color:#fff}
.bcd-progress li.is-done .bcd-pn{background:var(--ok);color:#fff}
.bcd-pl{min-width:0;overflow-wrap:anywhere}

/* тело и низ окна */
.bcd-form{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;margin:0;padding:0}
.bcd-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:auto;padding:18px 28px 12px}
.bcd-foot{flex:none;padding:10px 28px 14px;border-top:1px solid var(--line);background:#fff}
.bcd-dlg .bcd-status,.bcd-dlg .bcd-fail{margin:0;font-size:14.5px;line-height:1.4;text-align:left}
.bcd-dlg .bcd-status{color:var(--muted)}
.bcd-dlg .bcd-status.is-bad,.bcd-dlg .bcd-fail{color:var(--bad)}
.bcd-dlg .bcd-status:empty,.bcd-dlg .bcd-fail:empty{display:block;min-height:0}
.bcd-dlg .bcd-status:not(:empty),.bcd-dlg .bcd-fail:not(:empty){margin:0 0 8px}
.bcd-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 12px}
.bcd-count{margin-right:auto;color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}
.bcd-dlg .bcd-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* шаги, заголовки, группы */
.bcd-step{display:grid;gap:20px;min-width:0}
.bcd-dlg .bcd-h{margin:0;padding:0;font-family:inherit;font-size:20px;font-weight:700;line-height:1.3;color:var(--bd);text-transform:none;letter-spacing:0;text-align:left}
.bcd-dlg .bcd-h:focus{outline:none}
.bcd-dlg p{margin:0;line-height:1.5;text-align:left}
.bcd-dlg .bcd-lead{font-size:15.5px;color:var(--ink)}
.bcd-dlg .bcd-muted{font-size:14px;line-height:1.45;color:var(--muted)}
.bcd-dlg a:not(.bcd-btn){color:var(--b);text-decoration:underline;text-underline-offset:2px}
.bcd-dlg a:not(.bcd-btn):hover{color:var(--bd)}
.bcd-fs{border:0;margin:0;padding:0;min-width:0;display:grid;gap:12px}
.bcd-fs > legend{float:left;width:100%;margin:0 0 2px;padding:0;border:0;font-family:inherit;font-size:17px;font-weight:700;line-height:1.3;color:var(--bd)}
.bcd-fs > legend + *{clear:left}
.bcd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;min-width:0}
.bcd-span{grid-column:1 / -1}
.bcd-sub{display:grid;gap:12px;min-width:0}

/* поля */
.bcd-f{display:grid;align-content:start;gap:6px;margin:0;min-width:0;font-weight:400}
.bcd-dlg .bcd-f > label{display:block;margin:0;font-size:14px;font-weight:600;line-height:1.35;color:var(--ink)}
.bcd-star{color:var(--b)}
.bcd-dlg .bcd-f input:not([type=checkbox]):not([type=radio]):not([type=file]),.bcd-dlg .bcd-f select{display:block;position:static;width:100%;min-width:0;max-width:100%;height:46px;margin:0;padding:10px 12px;
	border:1px solid var(--field);border-radius:10px;background-color:#fff;box-shadow:none;color:var(--ink);font-family:inherit;font-size:16px;font-weight:400;line-height:1.4;text-transform:none;letter-spacing:0;
	-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:auto}
.bcd-dlg .bcd-f select{padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237C1623' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}
.bcd-dlg .bcd-f input::placeholder{color:#8A909C;opacity:1}
.bcd-dlg .bcd-f input:focus,.bcd-dlg .bcd-f select:focus{outline:2px solid var(--b);outline-offset:1px;border-color:var(--b)}
.bcd-dlg .bcd-f [aria-invalid="true"]{border-color:var(--bad);background-color:#FFF6F5}
.bcd-dlg .bcd-f input:disabled,.bcd-dlg .bcd-f select:disabled{background-color:#F4F5F7;color:var(--muted);cursor:not-allowed}
.bcd-dlg .bcd-help{display:block;font-size:13px;line-height:1.35;color:var(--muted)}
.bcd-dlg .bcd-err{display:block;font-size:13.5px;line-height:1.35;color:var(--bad)}
.bcd-narrow{max-width:360px}
.bcd-dlg .bcd-hint{margin:0;min-height:0;font-size:14px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}
.bcd-dlg .bcd-hint:empty{margin-top:-14px}   /* пустую подсказку (область для скринридера остаётся) строка сетки не растягивает */
.bcd-dlg .bcd-hint.is-ok{color:var(--ok)}
.bcd-dlg .bcd-hint.is-bad{color:var(--bad)}
.bcd-dlg .bcd-hint.is-warn{color:var(--warn)}
.bcd-more{border:1px solid var(--line);border-radius:12px;padding:0 14px;background:#fff}
.bcd-more[open]{padding-bottom:14px;display:grid;gap:10px}
.bcd-more > summary{display:flex;align-items:center;min-height:44px;margin:0 -14px;padding:0 14px;cursor:pointer;font-size:15px;font-weight:600;color:var(--bd);list-style:none}
.bcd-more > summary::-webkit-details-marker{display:none}
.bcd-more > summary::before{content:"+";display:inline-block;width:22px;color:var(--b);font-weight:700}
.bcd-more[open] > summary::before{content:"–"}

/* плашки: радиокнопки и галочки */
.bcd-radios{border:0;margin:0;padding:0;min-width:0;display:grid;gap:8px}
.bcd-radios > legend{float:left;width:100%;margin:0 0 2px;padding:0;border:0;font-family:inherit;font-size:14px;font-weight:600;line-height:1.35;color:var(--ink)}
.bcd-radios > legend + *{clear:left}
.bcd-chips{display:flex;flex-wrap:wrap;gap:10px}
.bcd-dlg .bcd-chip{display:inline-flex;align-items:center;gap:8px;margin:0;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:15px;font-weight:400;line-height:1.35;cursor:pointer;text-align:left}
.bcd-dlg .bcd-chip input{flex:none;width:20px;height:20px;margin:0;accent-color:#7C1623}
.bcd-dlg .bcd-chip.is-on,.bcd-dlg .bcd-chip:has(input:checked){border-color:var(--b);background:var(--soft)}
.bcd-dlg .bcd-chip:has(input:focus-visible){outline:2px solid var(--b);outline-offset:2px}
.bcd-dlg label.bcd-check{display:flex;align-items:flex-start;gap:10px;margin:0;min-height:44px;padding:8px 0;font-size:15px;font-weight:400;line-height:1.45;color:var(--ink);cursor:pointer;text-align:left}
.bcd-dlg .bcd-check input{flex:none;width:22px;height:22px;margin:0;accent-color:#7C1623}
.bcd-consents .bcd-f{gap:4px}
.bcd-dlg .bcd-note{margin:0;padding:12px 14px;border-left:4px solid var(--b);border-radius:0 10px 10px 0;background:var(--soft);font-size:14.5px;line-height:1.5}
.bcd-dlg .bcd-stop{margin:4px 0 0;padding:14px 16px;border:1px solid #F3D3CF;border-left:4px solid var(--bad);border-radius:0 12px 12px 0;background:#FFF6F5;display:grid;gap:6px}
.bcd-dlg .bcd-stop strong{color:var(--bad)}
.bcd-howto{margin:0;padding-left:22px;font-size:15px;line-height:1.5}
.bcd-howto li{margin:0}
.bcd-howto li + li{margin-top:4px}

/* кнопки: главные квадратные заглавными, как .btn-biocard сайта */
.bcd-dlg .bcd-btn{display:inline-flex;align-items:center;justify-content:center;min-width:140px;min-height:48px;margin:0;padding:10px 24px;border:1px solid var(--b);border-radius:0;
	background:var(--b);color:#fff;font-family:inherit;font-size:15px;font-weight:700;line-height:1.2;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;text-align:center;cursor:pointer;
	transition:background .2s,color .2s;-webkit-appearance:none;appearance:none}
.bcd-dlg .bcd-btn-ghost{background:#fff;color:var(--b)}
@media (hover:hover){   /* на сенсорных экранах «наведение» залипает после касания: кнопка шага остаётся белой */
	.bcd-dlg .bcd-btn:hover{background:#fff;color:var(--b)}
	.bcd-dlg .bcd-btn-ghost:hover{background:var(--soft);color:var(--bd)}
}
.bcd-dlg .bcd-btn[disabled],.bcd-dlg .bcd-btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.bcd-dlg .bcd-btn.is-busy{opacity:.7;cursor:progress}
.bcd-dlg a.bcd-dl{min-width:0;text-transform:none;font-size:15px}
.bcd-dlg :focus-visible{outline:2px solid var(--b);outline-offset:2px}
.bcd-dlg .bcd-f input:focus-visible,.bcd-dlg .bcd-f select:focus-visible{outline-offset:1px}

/* файлы */
.bcd-filebox{display:grid;gap:6px;min-width:0}
.bcd-file{position:relative;display:inline-block;justify-self:start;max-width:100%;margin:0;cursor:pointer}
.bcd-file-in{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;overflow:hidden}
.bcd-file-btn{display:inline-flex;align-items:center;min-height:46px;max-width:100%;padding:10px 18px;border:1px solid var(--b);border-radius:10px;background:#fff;color:var(--b);font-size:15px;font-weight:600;line-height:1.3}
.bcd-file:hover .bcd-file-btn{background:var(--soft)}
.bcd-file-in:focus-visible + .bcd-file-btn{outline:2px solid var(--b);outline-offset:2px}
.bcd-dlg .bcd-files{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-size:14px;color:var(--muted)}
.bcd-dlg .bcd-files:empty{display:none}
.bcd-dlg .bcd-files li{display:flex;align-items:center;flex-wrap:wrap;gap:2px 10px;margin:0;overflow-wrap:anywhere}
.bcd-dlg .bcd-files li.is-bad{color:var(--bad)}
.bcd-dlg .bcd-files button{min-height:44px;margin:0;padding:0 8px;border:0;background:none;color:var(--b);font-family:inherit;font-size:14px;text-decoration:underline;text-underline-offset:2px;cursor:pointer}

/* прочитанный тариф и сверка */
.bcd-tout:empty{display:none}
.bcd-dlg .bcd-tbox{display:grid;gap:10px;margin:0;padding:14px 16px;border:1px solid #CFE6D8;border-left:4px solid var(--ok);border-radius:0 12px 12px 0;background:#F3FAF6}
.bcd-dlg .bcd-tbox.is-bad{border-color:#F3D3CF;border-left-color:var(--bad);background:#FFF6F5}
.bcd-dlg .bcd-tbox.is-wait{border-color:var(--line);border-left-color:var(--muted);background:#F7F8FA}
.bcd-dlg .bcd-tbox h4{margin:0;font-family:inherit;font-size:16px;font-weight:700;line-height:1.3;color:var(--ok);text-transform:none;letter-spacing:0}
.bcd-dlg .bcd-tbox.is-bad h4{color:var(--bad)}
.bcd-dlg .bcd-tbox.is-wait h4{color:var(--ink)}
.bcd-dlg .bcd-tbox ul{margin:0;padding-left:20px;font-size:14.5px;line-height:1.5}
.bcd-dlg dl{margin:0}
.bcd-tbox dl,.bcd-review{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:4px 16px;font-size:14.5px;line-height:1.45}
.bcd-tbox dt,.bcd-review dt{margin:0;color:var(--muted);font-weight:400;overflow-wrap:anywhere}
.bcd-tbox dd,.bcd-review dd{margin:0;font-weight:600;color:var(--ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.bcd-tbox .bcd-sub-h{grid-column:1 / -1;margin:6px 0 0;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--bd)}
.bcd-review{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}
.bcd-review dd.is-warn{color:var(--warn)}

/* результат */
.bcd-result{display:grid;gap:14px;padding:6px 0 10px}
.bcd-dlg .bcd-result .bcd-h{color:var(--ok);font-size:22px}
.bcd-dlg .bcd-result.is-dup .bcd-h{color:var(--bd)}
.bcd-result-act{display:flex;flex-wrap:wrap;gap:10px 12px}
.bcd-dlg .bcd-result p b{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

/* планшет и ниже: поля в одну колонку, как на странице анкеты */
@media (max-width:640px){
	.bcd-dlg{width:100%;max-width:100%;height:100%;height:100dvh;max-height:100%;max-height:100dvh;margin:0;border-radius:0}
	.bcd-head{padding:8px 6px 8px 16px}
	.bcd-dlg .bcd-head h2{font-size:19px}
	.bcd-progress{padding:12px 16px 0}
	.bcd-progress ol{gap:6px}
	.bcd-progress li{padding-top:8px}
	.bcd-progress li:not([aria-current="step"]) .bcd-pl{display:none}
	.bcd-progress li[aria-current="step"]{flex-grow:3}
	.bcd-body{padding:14px 16px 10px}
	.bcd-foot{padding:10px 16px 12px}
	.bcd-grid{grid-template-columns:minmax(0,1fr)}
	.bcd-span{grid-column:auto}
	.bcd-narrow{max-width:none}
	.bcd-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
	.bcd-count{grid-column:1 / -1;margin:0}
	.bcd-actions .bcd-btn{min-width:0;width:100%;padding-left:12px;padding-right:12px}
	.bcd-actions .bcd-btn[data-bcd="next"],.bcd-actions .bcd-btn[data-bcd="send"]{grid-column:2}
	.bcd-foot.is-first .bcd-btn[data-bcd="next"]{grid-column:1 / -1}
	.bcd-tbox dl,.bcd-review{grid-template-columns:minmax(0,1fr)}
	.bcd-tbox dd,.bcd-review dd{margin-bottom:6px}
	.bcd-dlg .bcd-chip{flex:1 1 100%;border-radius:12px}
	.bcd-result-act .bcd-btn{width:100%}
}
@media (min-width:641px) and (max-width:991px){
	.bcd-dlg{width:min(760px,calc(100vw - 32px))}
}
@media (prefers-reduced-motion:reduce){.bcd-dlg .bcd-btn{transition:none}}
