.launch-form{display:grid;gap:20px}.launch-form label{display:grid;gap:8px;font-size:13px;color:var(--muted)}.launch-form input,.launch-form select,.launch-form textarea{width:100%;min-height:44px;padding:10px;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:8px;font:inherit}.launch-form textarea{min-height:88px}.launch-form input[type=checkbox]{width:20px;min-height:20px}.launch-form .check{display:flex;align-items:center}.launch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.launch-row{padding:20px 0;border-bottom:1px solid var(--border)}.launch-row h3{margin-top:0}.launch-error{color:var(--danger)}.launch-summary{display:flex;flex-wrap:wrap;gap:24px;padding:20px 0}.launch-summary strong{display:block;font:22px Plex,monospace;margin-top:8px}.launch-bar{height:8px;background:var(--border);border-radius:3px;margin:10px 0}.launch-bar span{display:block;background:var(--success);height:100%;border-radius:3px}.launch-form small,.launch-muted{color:var(--muted);line-height:1.6}.launch-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.launch-form :focus-visible{outline:2px solid var(--primary);outline-offset:3px}.launch-table{overflow:auto}.launch-table table{width:100%;border-collapse:collapse;font-size:13px}.launch-table td,.launch-table th{padding:14px;text-align:left;border-bottom:1px solid var(--border)}@media(max-width:760px){.launch-grid{grid-template-columns:1fr}.launch-summary strong{font-size:18px}}

/* Скрытые элементы анализа не должны отображаться из-за стилей кнопок. */
[data-od-id="ai-assistant"] [hidden] { display: none !important; }

[data-od-id="ai-source-import"] [hidden]{display:none!important}
[data-od-id="ai-source-import"] details p{overflow-wrap:anywhere}

.launch-demo{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border:1px dashed var(--border);border-radius:10px;background:var(--bg)}
.launch-demo strong{font-size:13px;color:var(--fg)}
.launch-demo p{margin:4px 0 0;font-size:13px}
.launch-demo .btn{flex:none;min-height:44px}
.launch-form [hidden]{display:none!important}
@media(max-width:760px){.launch-demo{align-items:stretch;flex-direction:column}.launch-demo .btn{width:100%}}

/* Паспорт нового проекта: короткие группы ввода и живая сводка договора. */
.launch-passport>header p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.launch-passport-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(265px,320px);align-items:start;gap:28px}
.launch-passport-fields{min-width:0;display:grid;gap:26px}
.launch-group{min-width:0;margin:0;padding:0 0 26px;border:0;border-bottom:1px solid var(--border)}
.launch-group:last-child{padding-bottom:0;border-bottom:0}
.launch-group legend{padding:0;color:var(--fg);font:600 17px/1.35 Manrope,system-ui,sans-serif;letter-spacing:-.01em}
.launch-group>p{margin:5px 0 18px;color:var(--muted);font-size:12px;line-height:1.5}
.launch-group .launch-grid{gap:16px 18px}
.launch-group label{color:var(--fg);font-size:12px;font-weight:600}
.launch-group input,.launch-group select{margin-top:2px;font-weight:400}
.launch-margin-field{align-content:center;gap:10px!important}
.launch-margin-field>span:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.launch-margin-field output{font:500 18px/1 Plex,ui-monospace,monospace;color:var(--fg)}
.launch-group .launch-margin-field input[type=range]{width:100%;min-height:44px;height:44px;margin:0;padding:0;border:0;background:transparent;accent-color:var(--primary);cursor:pointer}
.launch-range-ends{display:flex;justify-content:space-between;color:var(--muted);font:11px Plex,ui-monospace,monospace}
.launch-margin-field input[type=range]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.launch-contract-preview{position:sticky;top:24px;padding:22px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}
.launch-contract-preview h3{margin:0 0 20px;color:var(--fg);font-size:15px;font-weight:600}
.launch-contract-preview dl{margin:0;display:grid;gap:0}
.launch-contract-preview dl>div{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:13px 0;border-top:1px solid var(--border)}
.launch-contract-preview dt{color:var(--muted);font-size:12px;line-height:1.45}
.launch-contract-preview dd{margin:0;color:var(--fg);font:500 15px/1.3 Plex,ui-monospace,monospace;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.launch-contract-preview .launch-contract-limit{display:block;margin-top:4px;padding:16px;border:1px solid oklch(.72 .14 213 / 30%);border-radius:9px;background:oklch(.72 .14 213 / 8%)}
.launch-contract-limit dt{color:var(--fg)}.launch-contract-limit dd{margin-top:7px;text-align:left;font-size:21px;color:var(--primary)}
.launch-preview-message{margin:17px 0 0;color:var(--fg);font-size:12px;line-height:1.5}.launch-preview-message.is-error{color:var(--danger)}
.launch-preview-foot{margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.launch-passport .launch-actions{justify-content:flex-end;padding-top:18px;border-top:1px solid var(--border)}
@media(max-width:1050px){.launch-passport-layout{grid-template-columns:minmax(0,1fr)}.launch-contract-preview{position:static}.launch-contract-preview dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.launch-contract-preview .launch-contract-limit{grid-column:1/-1}}
@media(max-width:760px){.launch-contract-preview dl{grid-template-columns:1fr}.launch-contract-preview .launch-contract-limit{grid-column:auto}.launch-passport .launch-actions{flex-direction:column-reverse}.launch-passport .launch-actions .btn{width:100%;justify-content:center}}

/* Состав работ: ведомость, обзор по разделам и обратная связь после переноса. */
.scope-work-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:2px 0 22px;border-bottom:1px solid var(--border)}
.scope-work-kicker{margin:0 0 7px;color:var(--primary);font:11px Plex,ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.scope-work-intro h2{margin:0;color:var(--fg);font:600 26px/1.2 Manrope,system-ui,sans-serif;letter-spacing:-.02em}
.scope-work-intro p:not(.scope-work-kicker){max-width:64ch;margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.scope-work-total{display:grid;justify-items:end;flex:none}.scope-work-total strong{font:30px/1 Plex,ui-monospace,monospace;color:var(--fg)}.scope-work-total span{margin-top:6px;color:var(--muted);font-size:11px}
.scope-transfer-note{display:flex;align-items:center;gap:12px;margin:18px 0;padding:13px 16px;border:1px solid oklch(.68 .12 154/34%);border-radius:10px;background:oklch(.68 .12 154/9%);font-size:12px}.scope-transfer-note strong{color:oklch(.8 .1 154);white-space:nowrap}.scope-transfer-note span{color:var(--fg)}
.scope-work-overview{margin:20px 0 8px;padding:18px;border:1px solid var(--border);border-radius:12px;background:oklch(.17 .04 252)}
.scope-work-overview-head,.scope-work-list-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.scope-work-overview-head h3,.scope-work-list-head h3{margin:0;color:var(--fg);font-size:14px;font-weight:600}.scope-work-overview-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.scope-work-overview-head>span,.scope-work-list-head>span{color:var(--muted);font:11px Plex,ui-monospace,monospace}
.scope-work-segments{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.scope-work-segments button{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;min-width:144px;padding:8px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font:12px Manrope,system-ui,sans-serif;text-align:left;cursor:pointer;overflow:hidden}.scope-work-segments button:hover{border-color:oklch(.72 .14 213/50%);color:var(--fg)}.scope-work-segments button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.scope-work-segments button.is-active{border-color:oklch(.72 .14 213/58%);color:var(--fg);background:oklch(.72 .14 213/10%)}.scope-work-segments b{font:12px Plex,ui-monospace,monospace;color:var(--fg)}.scope-work-segment i{position:absolute;bottom:0;left:0;width:var(--share);height:3px;background:var(--primary);opacity:.7}.scope-work-all{min-width:115px!important}.scope-work-list-head{margin:8px 0 0;padding:16px 0 10px;border-bottom:1px solid var(--border)}
.scope-work-row{padding:0;border-bottom:1px solid var(--border);transition:background .18s ease}.scope-work-row.is-filtered{display:none}.scope-work-row-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 0 12px}.scope-work-row-head>div{display:flex;align-items:center;gap:14px;min-width:0}.scope-work-index{color:var(--muted);font:12px Plex,ui-monospace,monospace}.scope-work-row-head small{display:block;color:var(--muted);font-size:11px}.scope-work-row-head h4{margin:3px 0 0;color:var(--fg);font-size:14px;font-weight:600}.scope-work-qty{flex:none;color:var(--primary);font:15px Plex,ui-monospace,monospace;font-variant-numeric:tabular-nums}.scope-work-fields{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(110px,.8fr) minmax(140px,.9fr) minmax(180px,1.5fr);gap:12px;padding-bottom:14px}.scope-work-fields label{font-size:11px}.scope-work-fields input,.scope-work-fields select{min-height:42px}.scope-work-row-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:17px}.scope-work-row-foot details{min-width:0;max-width:80%;color:var(--muted);font-size:11px}.scope-work-row-foot summary{cursor:pointer}.scope-work-row-foot details p{margin:8px 0}.scope-work-row-foot .btn{min-height:36px;padding:7px 12px;font-size:11px}.scope-work-manual{color:var(--muted);font-size:11px}.scope-work-empty{padding:28px 0}.scope-work-empty strong{font-size:14px}.scope-work-empty p{color:var(--muted);font-size:12px}.scope-work-actions{position:sticky;bottom:0;z-index:4;justify-content:space-between;margin:0;padding:14px 0;background:var(--surface);border-top:1px solid var(--border)}.scope-work-import{padding:10px 0 2px;color:var(--muted);font-size:12px}.scope-work-import summary{cursor:pointer}
@media(max-width:1000px){.scope-work-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.scope-work-intro{align-items:flex-start}.scope-work-segments button{flex:1 1 160px}.scope-work-total strong{font-size:24px}.scope-work-fields{grid-template-columns:1fr 1fr}.scope-work-row-head{align-items:flex-start}.scope-work-qty{padding-top:3px}.scope-work-actions{align-items:stretch}.scope-work-actions .btn{flex:1}.scope-transfer-note{align-items:flex-start;flex-direction:column;gap:4px}}@media(max-width:520px){.scope-work-intro{flex-direction:column;gap:10px}.scope-work-total{justify-items:start}.scope-work-fields{grid-template-columns:1fr}.scope-work-row-head{flex-wrap:wrap}.scope-work-qty{margin-left:29px}.scope-work-actions{flex-direction:column}.scope-work-row-foot details{max-width:70%}}@media(prefers-reduced-motion:reduce){.scope-work-row{transition:none}}

/* Исторический импорт: длинный перечень CSV-полей не растягивает мобильную сетку. */
.launch-form{grid-template-columns:minmax(0,1fr);min-width:0}
.launch-form>*{min-width:0}
.launch-form p{overflow-wrap:anywhere}
.launch-form input[type=file]{max-width:100%;min-width:0}
