#issue-dialog, #document-dialog, #receipt-dialog, #invoice-dialog, #po-dialog { width: min(1080px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); padding: 0; overflow: hidden; color: #17304f; }
.row-actions { flex-wrap: wrap; }
.doc-heading, .doc-footer { padding: 18px 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #fff; }
.doc-heading { border-bottom: 1px solid #dce3ec; flex-shrink: 0; }
.doc-heading h2 { margin: 0; font-size: 21px; }
.doc-heading p { margin: 6px 0 0; color: #62748b; font-size: 13px; }
.doc-body { padding: 20px 24px; overflow: auto; min-height: 0; flex: 1; }
#issue-form, .doc-layout { display: flex; flex-direction: column; height: calc(100dvh - 36px); max-height: calc(100dvh - 36px); }
.doc-footer { border-top: 1px solid #dce3ec; flex-shrink: 0; flex-wrap: wrap; }
.doc-footer a { display: inline-block; text-decoration: none; }
.doc-warning { padding: 12px 16px; background: #fff7df; border-left: 3px solid #d6a123; line-height: 1.7; }
.doc-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.doc-meta dl { display: grid; grid-template-columns: 120px 1fr; gap: 8px; margin: 12px 0 20px; font-size: 14px; }
.doc-meta dt { color: #62748b; }.doc-meta dd { margin: 0; overflow-wrap: anywhere; white-space: pre-line; }
.doc-table-wrap { overflow-x: auto; }.doc-table-wrap table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; }
.doc-table-wrap th { background: #edf2f7; text-align: left; }.doc-table-wrap td,.doc-table-wrap th { padding: 10px; border-bottom: 1px solid #dce3ec; vertical-align: top; }
.doc-table-wrap small { display: block; color: #62748b; }.doc-amount { text-align: right; white-space: nowrap; }
.doc-totals { display: grid; grid-template-columns: 1fr auto; gap: 8px 24px; max-width: 450px; margin: 20px 0 20px auto; }.doc-totals dd { margin: 0; text-align: right; }
.doc-note { white-space: pre-line; overflow-wrap: anywhere; }
.doc-confirm { display: flex; align-items: start; gap: 10px; font-size: 14px; line-height: 1.7; }.doc-confirm input { width: 20px; min-height: 20px; margin-top: 4px; flex-shrink: 0; }
#receipt-dialog .doc-confirm { flex-direction:row; }#receipt-issue-form,#receipt-cancel-form { margin-top:24px; border-top:1px solid #dce3ec; padding-top:16px; }
body:has(#receipt-dialog[open]) { overflow:hidden; }
body:has(#invoice-dialog[open]) { overflow:hidden; }
#invoice-dialog .doc-confirm { flex-direction:row; }#invoice-issue-form,#invoice-state-form { margin-top:24px;border-top:1px solid #dce3ec;padding-top:16px; }
.doc-error { color: #a12d27; margin: 8px 0; width: 100%; }
.doc-events { padding-left: 24px; line-height: 1.8; }.doc-events p { margin: 2px 0 10px; font-size: 13px; white-space: pre-line; }
#document-state-form { border-top: 1px solid #dce3ec; padding-top: 16px; }#document-state-form[hidden] { display: none; }
#document-state-form textarea { min-height: 60px; }
@media(max-width:650px) { .doc-meta { grid-template-columns: 1fr; gap: 0; }.doc-heading,.doc-body,.doc-footer { padding: 16px; }.doc-heading h2 { font-size: 18px; }.doc-meta dl { grid-template-columns: 95px 1fr; }.doc-footer > button { flex: 1; } }

body:has(#po-dialog[open]){overflow:hidden}#po-dialog .doc-confirm{flex-direction:row}#po-lines fieldset{margin:16px 0;padding:16px;border:1px solid #dce3ec;border-radius:8px}#po-review-form,#po-issue-form,#po-state-form{border-top:1px solid #dce3ec;margin-top:24px;padding-top:16px}.po-line-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media(max-width:650px){.po-line-numbers{grid-template-columns:1fr 1fr}}
