.tour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#tour-form>label{display:grid;gap:8px;margin-bottom:16px}
#tour-form>label input,#tour-form .form-row input{width:100%;min-width:0;box-sizing:border-box}
.tour-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:24px}
.tour-card h2,.tour-document h2{margin:0;overflow-wrap:anywhere}
.tour-card p{margin:0}.tour-card>button{align-self:flex-start;margin-top:auto}
.tour-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tour-venue{font-size:1.05rem;color:var(--muted,#61706a);overflow-wrap:anywhere}
.tour-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:12px 0}
.tour-dates div{padding:14px;background:var(--soft,#f1f4f1);border-radius:12px}
.tour-dates dt{font-size:.8rem;color:var(--muted,#61706a);margin-bottom:6px}
.tour-dates dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.tour-fieldset{border:1px solid var(--line,#dce3dd);border-radius:14px;padding:16px;margin:18px 0;min-width:0}
.tour-fieldset legend{font-weight:600;padding:0 6px}.tour-fieldset input[type=search]{width:100%;margin-bottom:12px}
.tour-choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:250px;overflow:auto}
.tour-choice-list .check{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;margin:0;line-height:1.4}
.tour-choice-list .check:has(input:checked){background:var(--soft,#edf3ed)}
.tour-choice-list input[type=checkbox]{width:18px;height:18px;flex-shrink:0}
.tour-choice-list [hidden],.tour-personal-row[hidden]{display:none!important}
.tour-personal-dates{padding:16px;border:1px solid var(--line,#dce3dd);border-radius:14px;margin-bottom:22px}
.tour-personal-dates summary{cursor:pointer;font-weight:600}.tour-personal-row{padding:14px 0;border-top:1px solid var(--line,#dce3dd)}
.tour-personal-row>strong{display:block;margin-bottom:8px}.tour-personal-row .form-row{margin:0}
.tour-roster>div{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid var(--line,#dce3dd)}
.tour-roster span{font-size:.9rem;color:var(--muted,#61706a)}
.tour-document-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:12px}
.tour-exit-confirm{padding:16px;margin-top:20px;border:1px solid var(--line,#dce3dd);border-radius:12px;background:var(--soft,#f1f4f1)}
.tour-exit-confirm[hidden]{display:none}.tour-exit-confirm p{margin:0 0 12px}
.tour-assembly{padding:12px;background:var(--soft,#f1f4f1);border-radius:10px;overflow-wrap:anywhere}
.tour-assembly p{margin:6px 0;font-size:.9rem}.tour-assembly-fields>label{display:grid;gap:8px;margin:12px 0}
#tour-form .tour-assembly-fields input,#tour-form select{width:100%;min-width:0;box-sizing:border-box}
#tour-form [hidden]{display:none!important}
@media(max-width:760px){.tour-grid,.tour-dates,.tour-choice-list{grid-template-columns:1fr}.tour-card{padding:18px}.tour-personal-row .form-row{display:grid;grid-template-columns:1fr}.tour-fieldset{padding:12px}.tour-card-top{flex-wrap:wrap}.tour-document .tour-dates{gap:8px}}
@media print{
 @page{size:A4 portrait;margin:14mm}
 body:has(#detail[open] .tour-document):not(:has(#detail[open] form[id^="tour-"]))>:not(#detail){display:none!important}
 #detail[open]:has(.tour-document):not(:has(form[id^="tour-"])){display:block!important;position:static!important;inset:auto!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#000!important}
 #detail:has(.tour-document)::backdrop{display:none!important}
 #detail[open]:has(.tour-document):not(:has(form[id^="tour-"])) #detail-body{display:block!important;position:static!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:0!important}
 #detail[open]:has(.tour-document):not(:has(form[id^="tour-"])) #detail-body>:not(.tour-document){display:none!important}
 #detail[open] .tour-document{margin:0!important;padding:0!important;background:#fff!important;color:#000!important;font-size:10pt;line-height:1.35}
 .tour-document h2{font-size:19pt;line-height:1.2;break-after:avoid}
 .tour-document-head,.tour-document .tour-dates,.tour-document .tour-assembly{break-inside:avoid}
 .tour-document .tour-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .tour-document .tour-dates div,.tour-document .tour-assembly{background:#fff!important;border:1px solid #888;border-radius:0;padding:8px}
 .tour-document .tour-roster>div{break-inside:avoid;page-break-inside:avoid}
 body:has(#detail[open] form[id^="tour-"])>:not(#detail),#detail[open]:has(form[id^="tour-"]){display:none!important}
 body:has(#detail[open] form[id^="tour-"])::after{content:'Для печати поездки откройте её просмотр и нажмите «Печать A4».';display:block;color:#000;font:12pt/1.5 system-ui}
}
