/* Закреплённая организация: подсказка рядом с двумя строками карточки. */
.print-org-help { grid-column: 1 / -1; min-width: 0; font-size: 12px; }
.print-org-help p { margin: 4px 0 6px; color: var(--muted, #526660); line-height: 1.4; }
.print-org-controls { display: flex; flex-wrap: wrap; gap: 5px; }
.print-org-controls .btn { font-size: 11px; padding: 5px 8px; min-height: 28px; }
.print-org-controls select { width: 100%; min-width: 0; }
.blk-org input[readonly] { background: #edf4f1; color: #34544b; }
.print-org-dialog { width: min(560px, calc(100vw - 32px)); box-sizing: border-box; max-height: calc(100vh - 32px); overflow: auto; border: 1px solid #d7e4de; border-radius: 18px; padding: 28px; color: #24453d; background: #fff; box-shadow: 0 24px 80px #183c3333; }
.print-org-dialog::backdrop { background: #172e2966; }
.print-org-dialog h2 { margin: 0 35px 14px 0; font-size: 23px; }
.print-org-dialog p { line-height: 1.5; }
.print-org-close { position: absolute; right: 14px; top: 14px; }
.print-org-values { display: grid; gap: 16px; padding: 18px; margin: 18px 0; background: #f2f8f5; border: 1px solid #d7e8e1; border-radius: 12px; }
.print-org-values label { display: grid; gap: 5px; font-size: 13px; }
.print-org-values strong { font-size: 18px; overflow-wrap: anywhere; white-space: pre-wrap; }
#printOrgCurrent { overflow-wrap: anywhere; font-size: 13px; color: #66736e; }
#printOrgError { color: #a33232; font-size: 13px; }
.print-org-actions { display: grid; gap: 9px; }
.print-org-actions button { white-space: normal; min-height: 42px; justify-content: center; text-align: center; }
@media(max-width: 500px) { .print-org-dialog { padding: 20px; } .print-org-dialog h2 { font-size: 20px; } }

/* Меню не увеличивает высоту карточки и не вытесняет блок настройки принтера. */
.print-org-help { position: relative; display: flex; flex-direction: column; gap: 4px; }
.print-org-help[hidden] { display: none; }
#printOrgPin { align-self: flex-start; min-height: 24px; padding: 3px 7px; font-size: 11px; white-space: normal; }
#printOrgMenu { width: 100%; min-width: 0; }
#printOrgMenu > summary { display: block; width: 100%; box-sizing: border-box; padding: 4px 0; cursor: pointer; color: #1266b4; font-size: 11px; line-height: 1.4; list-style: none; border-radius: 4px; }
#printOrgMenu > summary::-webkit-details-marker { display: none; }
#printOrgMenu > summary::after { content: '▾'; display: inline-block; margin-left: 4px; color: currentColor; }
#printOrgMenu[open] > summary::after { content: '▴'; }
#printOrgMenu > summary:hover { color: #0b4d90; }
#printOrgMenu > summary:focus-visible { outline: 2px solid var(--accent, #087c71); outline-offset: 2px; }
#printOrgMenu .print-org-controls { position: absolute; z-index: 45; top: 100%; left: 0; width: 100%; box-sizing: border-box; padding: 10px; margin-top: 6px; background: #fff; border: 1px solid #b9d4cb; border-radius: 10px; box-shadow: 0 8px 24px #153d3326; }
#printOrgMenu:not([open]) .print-org-controls { display: none; }
#printOrgMenu .print-org-controls > p { margin: 0 0 4px; }
#printOrgMenu .btn { width: 100%; white-space: normal; }
/* Раскрытое меню выходит за карточку: оба родителя не должны обрезать его.
   Поднимаем карточку над соседними блоками, но ниже подложки мастера (39). */
.form-panel:has(#printOrgMenu[open]) { position: relative; z-index: 10; overflow: visible; }
.form-panel form:has(#printOrgMenu[open]) { overflow: visible; }

/* Несовпадающие старые карточки сохраняются, но их реквизиты требуют замены. */
.blk-org.print-org-mismatch input[readonly] { background: var(--danger-soft); border-color: var(--danger); color: #9b2424; }
/* Поля открывают выбор из разрешённых организаций; ручной ввод закрыт. */
.blk-org input[readonly][role="button"] { opacity: 1; -webkit-text-fill-color: #34544b; color: #34544b; user-select: none; -webkit-user-select: none; cursor: pointer; caret-color: transparent; }

.blk-org.print-org-mismatch input[readonly] { -webkit-text-fill-color: #9b2424; color: #9b2424; }

/* Регистрация гостя из подсказки закреплённой организации. */
#printOrgMenu .print-org-register { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 10px 14px; border-radius: 9px; font-size: 13px; font-weight: 600; line-height: 1.25; box-shadow: 0 4px 12px #087c711a; }
#printOrgMenu .print-org-register svg { flex: 0 0 18px; }
#printOrgMenu .print-org-register[hidden] { display: none; }

/* Выбор организации непосредственно под полем, без модального затемнения. */
.blk-org { position: relative; }
#printOrgPicker { position: fixed; inset: auto; margin: 0; box-sizing: border-box; padding: 8px; border: 1px solid #bdd6ce; border-radius: 12px; background: var(--surface, #fff); color: var(--ink, #243c36); box-shadow: 0 10px 30px #153d3326; font: 13px/1.4 var(--font, system-ui); overflow: hidden; z-index: 35; }
#printOrgPicker:popover-open, #printOrgPicker:not([popover]):not([hidden]) { display: flex; flex-direction: column; gap: 6px; }
#printOrgPicker:not([popover]) { position: absolute; transform: scale(var(--org-picker-scale, 1)); transform-origin: top left; }
#printOrgPicker[hidden] { display: none; }
#printOrgPicker::backdrop { background: transparent; pointer-events: none; }
.print-org-picker-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 3px 0 5px; flex: none; }
.print-org-picker-head strong { font-size: 12px; font-weight: 650; color: var(--muted, #66736e); }
.print-org-picker-close { display: grid; place-items: center; width: 25px; height: 25px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--muted, #66736e); font-size: 21px; cursor: pointer; }
.print-org-picker-close:hover { background: #edf5f2; }
#printOrgOptions { display: grid; gap: 4px; min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.print-org-option { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-width: 0; min-height: 42px; padding: 10px 12px; box-sizing: border-box; border: 1px solid transparent; border-radius: 8px; background: transparent; color: inherit; text-align: left; font: inherit; cursor: pointer; }
.print-org-option > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.print-org-option:hover { background: #f0f7f4; }
.print-org-option[aria-selected="true"] { border-color: #c0dfd6; background: #e4f3ed; color: #09665e; font-weight: 650; }
.print-org-option-check { flex: 0 0 18px; text-align: center; color: #087c71; }
#printOrgPicker button:focus-visible { outline: 2px solid var(--accent, #087c71); outline-offset: -2px; }
#printOrgPicker .print-org-picker-note { margin: 0; padding: 4px 5px 2px; color: var(--muted, #66736e); font-size: 11px; line-height: 1.45; flex: none; }
.form-panel:has(#printOrgPicker[data-open]:not([popover])) { position: relative; z-index: 10; overflow: visible; }
.form-panel form:has(#printOrgPicker[data-open]:not([popover])) { overflow: visible; }
