/* Replica of the desktop invoice cards and UHT document geometry. */
#sessionOverlay .modal-container { max-width: 1160px; height: 90vh; }
#sessionOverlay .modal-tabs { flex-shrink: 0; }
#sessionOverlay .modal-body { min-height: 0; overflow-y: auto; }
.demo-invoice-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.demo-invoice-heading h3 { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 600; }
.demo-invoice-heading h3 svg { width: 20px; height: 20px; color: var(--primary); }
.demo-invoice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 12px; }
.demo-invoice-grid .card__header .badge { margin-left: auto; }
.demo-invoice-session { display: flex; gap: 16px; padding: 12px; border-bottom: 1px solid var(--border-color); }
.demo-invoice-session label { display: flex; align-items: flex-start; gap: 8px; white-space: nowrap; }
.demo-invoice-session input, .demo-invoice-options input { accent-color: var(--primary); }
.demo-invoice-session small { display: block; font-size: 12px; color: var(--text-secondary); margin-top: 4px; }
.demo-invoice-total { display: flex; justify-content: space-between; border-top: 1px solid var(--border-color); padding: 12px 0; }
#invoicePreviewBtn { width: 100%; }
.demo-invoice-row { display: grid; grid-template-columns: minmax(0,1fr) auto auto auto 16px; gap: 8px; align-items: center; width: 100%; padding: 12px; border: 0; border-bottom: 1px solid var(--border-color); background: transparent; text-align: left; font-size: 12px; }
.demo-invoice-row:hover { background: var(--bg-hover); }
.demo-invoice-row strong { color: var(--primary); }
.demo-invoice-row svg { width: 16px; height: 16px; justify-self: end; }
.demo-invoice-edit-grid { display: grid; grid-template-columns: 300px minmax(0,1fr); align-items: start; gap: 16px; }
.demo-invoice-edit-grid .form-row { grid-template-columns: 100px minmax(0,1fr); }
.demo-invoice-options { display: flex; flex-direction: column; gap: 12px; padding: 12px 0; border-top: 1px solid var(--border-color); }
.demo-invoice-options label { display: flex; gap: 8px; align-items: center; }
.demo-invoice-previewbar { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; background: var(--bg-secondary); border: 1px solid var(--border-color); border-radius: 10px 10px 0 0; font-size: 12px; }
.demo-invoice-previewbar .seg button { font-size: 12px; }
.demo-invoice-previewbar [aria-pressed=true] { background: var(--bg-surface); color: var(--primary); }
.demo-invoice-canvas { padding: 16px; background: var(--bg-tertiary); border: 1px solid var(--border-color); border-top: 0; overflow-x: auto; }
.demo-invoice-canvas .demo-honorarnote { width: 100%; max-width: 740px; min-width: 420px; margin: 0 auto; }
.demo-invoice-canvas.invoice-fit-page .demo-honorarnote { max-width: 470px; }
.demo-honorarnote.invoice-paper { display: flex; flex-direction: column; min-height: 840px; border-radius: 0; background: #fff; color: #222; padding: 34px 38px 20px; font-family: Inter,Arial,sans-serif; font-size: 12px; line-height: 1.45; }
.demo-invoice-live .demo-honorarnote.invoice-paper { padding: 24px; min-height: 740px; font-size: 11px; }
.honorar-demo-label { font-size: 9px; letter-spacing: 1.2px; color: #6b7280; margin-bottom: 16px; }
.honorar-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-bottom: 12px; border-bottom: 1px solid #555; margin-bottom: 18px; }
.honorar-head > div:last-child { text-align: right; font-size: 10px; color: #555; }
.honorar-head strong { display: block; font-size: 20px; }
.honorar-head span { display: block; font-size: 9px; letter-spacing: 2px; color: #777; }
.demo-honorarnote h2 { font-size: 26px; color: #222; margin-bottom: 20px; }
.demo-honorarnote h2 span { margin-left: 10px; font-size: inherit; }
.honorar-parties { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.honorar-parties small, .honorar-parties strong, .honorar-parties span { display: block; }
.honorar-parties small { font-size: 9px; color: #777; margin-bottom: 6px; }
.honorar-parties strong { margin-bottom: 4px; }
.demo-honorarnote dl { display: grid; grid-template-columns: auto 1fr; gap: 5px 12px; font-size: 10px; padding: 12px; border: 1px solid #ddd; background: #f7f8f9; }
.demo-honorarnote dt { color: #666; }
.honorar-intro { margin-bottom: 18px; }
.honorar-items { width: 100%; border-collapse: collapse; }
.honorar-items th { background: #f1f3f5; padding: 8px; font-size: 9px; text-align: left; color: #555; }
.honorar-items td { padding: 12px 8px; border-bottom: 1px solid #ddd; }
.honorar-items th:last-child, .honorar-items td:last-child { text-align: right; white-space: nowrap; }
.honorar-items th:nth-child(3), .honorar-items td:nth-child(3) { text-align: center; }
.honorar-items small { display: block; color: #777; font-size: 10px; margin-top: 3px; }
.honorar-sum { display: flex; justify-content: space-between; padding: 12px 8px; background: #f1f3f5; margin-bottom: 22px; font-size: 15px; }
.demo-honorarnote h3 { font-size: 13px; margin-bottom: 8px; }
.honorar-payment { display: flex; align-items: center; gap: 20px; margin: 12px 0 22px; }
.honorar-payment dl { flex: 1; }
.demo-honorarnote .honorar-bank-title { color: #444; font-weight: 600; font-size: 9px; }
.honorar-qr { text-align: center; width: 110px; flex-shrink: 0; }
.honorar-qr img { display: block; width: 105px; height: 105px; margin: auto; }
.honorar-qr figcaption { font-size: 9px; color: #666; margin-top: 4px; }
.honorar-sign { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 10px 0 20px; }
.honorar-signature { display: block; max-width: 100%; object-fit: contain; }
.honorar-sign p { margin-bottom: 4px; }
.honorar-sign strong, .honorar-sign small { display: block; font-size: 10px; }
.honorar-sign small { color: #777; font-size: 9px; margin-top: 2px; }
.honorar-stamp { width: 160px; max-width: 38%; object-fit: contain; }
.demo-honorarnote footer { border-top: 1px solid #ddd; padding-top: 10px; margin-top: auto; text-align: center; font-size: 9px; color: #777; }
@media (min-width:1024px) and (max-width:1150px) { .demo-invoice-edit-grid { grid-template-columns: 270px minmax(0,1fr); } }