.invoice-modal { width: min(900px, 100%); }
.invoice-paper { padding: 30px 34px; background: #fff; }
.invoice-company { display: flex; justify-content: space-between; gap: 30px; padding-bottom: 20px; border-bottom: 2px solid #17212b; }
.invoice-company > div:last-child { text-align: right; }
.invoice-company h2 { margin: 0 0 6px; font: 800 23px Manrope, sans-serif; }
.invoice-company p { margin: 3px 0; color: #5e6a72; font-size: 11px; }
.invoice-company b { font: 800 18px Manrope, sans-serif; }
.invoice-party { display: grid; gap: 4px; padding: 18px 0; }
.invoice-party small { font-size: 9px; letter-spacing: 1px; color: #7d878d; }
.invoice-party b { font: 700 14px Manrope, sans-serif; }
.invoice-party span { font-size: 11px; color: #657179; }
.invoice-summary { width: 320px; margin: 18px 0 0 auto; }
.invoice-summary p { display: flex; justify-content: space-between; margin: 0; padding: 7px 3px; border-bottom: 1px solid #edf0f1; color: #5d6970; font-size: 12px; }
.invoice-summary .grand { font-size: 15px; color: #17212b; border-top: 2px solid #17212b; border-bottom: 2px solid #17212b; margin-top: 5px; }
.invoice-note { margin-top: 28px; padding-top: 12px; border-top: 1px solid #e8ecef; color: #778188; font-size: 10px; text-align: center; }
.invoice-signature { margin: 34px 0 0 auto; width: 210px; padding-top: 26px; border-top: 1px solid #9fa9ad; display: grid; gap: 4px; text-align: center; font-size: 10px; color: #69757c; }
.invoice-signature b { color: #26343a; }
.automation-strip { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding: 10px 12px; border: 1px solid #bfe5da; border-radius: 8px; background: #effaf6; color: #45635d; font-size: 11px; }
.automation-strip b { padding: 4px 8px; border-radius: 10px; background: #daf3eb; color: #087864; font-size: 10px; text-transform: uppercase; letter-spacing: .5px; }
.barcode-label { width: 64mm; min-height: 34mm; margin: 0 auto; padding: 4mm; display: grid; justify-items: center; align-content: center; gap: 2px; border: 1px dashed #aeb8bc; background: #fff; color: #111; text-align: center; }
.barcode-label b { max-width: 100%; overflow: hidden; font: 700 12px Manrope, sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.barcode-label small { font-size: 9px; color: #40494d; }
.barcode-label img { display: block; width: 58mm; height: 22mm; object-fit: contain; }
.barcode-label span { font: 600 9px monospace; letter-spacing: 1px; }
.barcode-action { padding: 4px 8px; font-size: 9px; }

.document-entry-modal { --entry-color: #008d7b; --entry-deep: #05695d; --entry-soft: #e8f8f3; --entry-line: #9bd3c8; position: relative; width: min(1180px, 100%); max-height: min(94vh, 980px); transition: width .18s ease; }
.app-content:has(> .document-entry-page) { max-width: none; padding: 20px 24px 34px; }
.document-entry-page.document-entry-modal { width: 100%; max-height: none; overflow: visible; border: 1px solid #dce5e3; border-radius: 14px; background: #fff; box-shadow: 0 10px 34px rgba(25,52,47,.08); }
.document-entry-page .document-entry-head { border-radius: 14px 14px 0 0; }
.document-page-back { align-self: flex-start; height: 34px; padding: 0 12px; border: 1px solid color-mix(in srgb, var(--entry-color) 28%, #d7dfdd); border-radius: 7px; color: var(--entry-deep); background: rgba(255,255,255,.82); font: 700 10px "DM Sans", sans-serif; cursor: pointer; white-space: nowrap; }
.document-page-back:hover { border-color: var(--entry-color); background: #fff; }
.sales-entry-modal .document-page-back { border-color: color-mix(in srgb, var(--sale-mode-color) 28%, #d7dfdd); color: var(--sale-mode-deep); }
.document-entry-page .modal-foot { border-radius: 0 0 14px 14px; }
.sales-entry-modal { --sale-mode-color: #008d7b; --sale-mode-deep: #05695d; --sale-mode-soft: #e8f8f3; --sale-mode-line: #9bd3c8; }
.purchase-entry-modal { --entry-color: #b66a19; --entry-deep: #7b4612; --entry-soft: #fff7e9; --entry-line: #e8c48d; }
.purchase-entry-modal .modal-head { position: relative; overflow: hidden; border-bottom-color: var(--entry-line); background: linear-gradient(105deg, var(--entry-soft), #fff 64%); }
.purchase-entry-modal .modal-head::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--entry-color); }
.purchase-entry-modal .modal-head h2 { color: var(--entry-deep); }
.purchase-entry-modal .modal-head p { color: #765f48; }
.purchase-entry-modal .modal-head .close { color: var(--entry-deep); background: #fff8ed; }
.purchase-entry-modal .automation-strip { border-color: #ecd3ad; color: #765b3c; background: #fff9ef; }
.purchase-entry-modal .automation-strip b { color: #8a4e11; background: #ffedcf; }
.purchase-entry-modal .modal-foot .primary-btn { background: #995714; }
.sales-entry-modal[data-sale-entry-mode="advanced"] { --sale-mode-color: #5267c8; --sale-mode-deep: #344797; --sale-mode-soft: #eef0ff; --sale-mode-line: #b8c1ef; }
.sales-entry-modal .modal-head { position: relative; overflow: hidden; border-bottom-color: var(--sale-mode-line); background: linear-gradient(105deg, var(--sale-mode-soft), #fff 64%); transition: background .18s ease, border-color .18s ease; }
.sales-entry-modal .modal-head::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--sale-mode-color); }
.sales-entry-modal .modal-head h2 { color: var(--sale-mode-deep); }
.sales-entry-modal .modal-head p { color: color-mix(in srgb, var(--sale-mode-deep) 70%, #66737a); }
.sales-entry-modal .modal-head .close { color: var(--sale-mode-deep); background: color-mix(in srgb, var(--sale-mode-soft) 72%, #fff); }
.sales-entry-modal.advanced-sale-mode { width: min(1180px, 100%); }
.sale-entry-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; padding: 5px; border: 1px solid #dfe8e7; border-radius: 10px; background: #f4f8f7; }
.sale-entry-tabs button { position: relative; display: grid; grid-template-columns: 30px 1fr; grid-template-rows: auto auto; gap: 1px 9px; align-items: center; min-height: 52px; padding: 8px 12px; border: 1px solid transparent; border-radius: 8px; color: #637078; background: transparent; text-align: left; cursor: pointer; }
.sale-entry-tabs button > span { grid-row: 1 / 3; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; color: #60716e; background: #e4ecea; font-size: 14px; }
.sale-entry-tabs button b { color: #35443f; font: 700 12px Manrope, sans-serif; }
.sale-entry-tabs button small { color: #7c8986; font-size: 9px; }
.sale-entry-tabs button[aria-selected="true"] { border-color: #9bd3c8; background: #fff; box-shadow: 0 2px 8px rgba(23, 68, 61, .08); }
.sale-entry-tabs button[aria-selected="true"] > span { color: #fff; background: var(--teal); }
.sale-entry-tabs button[data-sale-entry-tab="easy"] > span { color: #087665; background: #ddf3ec; }
.sale-entry-tabs button[data-sale-entry-tab="advanced"] > span { color: #4558b2; background: #e6e9fb; }
.sale-entry-tabs button[data-sale-entry-tab="easy"][aria-selected="true"] { border-color: #87cbbb; box-shadow: 0 3px 10px rgba(0, 141, 123, .13); }
.sale-entry-tabs button[data-sale-entry-tab="easy"][aria-selected="true"] > span { color: #fff; background: #008d7b; }
.sale-entry-tabs button[data-sale-entry-tab="advanced"][aria-selected="true"] { border-color: #aab5ec; box-shadow: 0 3px 10px rgba(82, 103, 200, .16); }
.sale-entry-tabs button[data-sale-entry-tab="advanced"][aria-selected="true"] > span { color: #fff; background: #5267c8; }
.sale-entry-tabs button[data-sale-entry-tab="easy"][aria-selected="true"] b { color: #05695d; }
.sale-entry-tabs button[data-sale-entry-tab="advanced"][aria-selected="true"] b { color: #344797; }
.sale-entry-tabs button:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.sale-entry-mode-note { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; padding: 9px 12px; border-left: 3px solid #70cbbb; border-radius: 0 7px 7px 0; background: #f4fbf8; color: #61716c; font-size: 10px; }
.sale-entry-mode-note b { color: #167563; }
.sale-entry-mode-note[hidden], .advanced-sale-tools[hidden] { display: none; }
.advanced-sale-tools { margin-bottom: 12px; padding: 12px; border: 1px solid #cedfdd; border-radius: 10px; background: linear-gradient(135deg, #f7fbfa, #f0f7f6); }
.advanced-sale-toolbar { display: grid; grid-template-columns: 1.05fr 1fr 1fr; gap: 10px; }
.advanced-tool-field { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px; align-items: end; }
.advanced-tool-field label { grid-column: 1 / -1; color: #596964; font-size: 9px; font-weight: 700; letter-spacing: .35px; text-transform: uppercase; }
.advanced-tool-field input, .advanced-tool-field select { min-width: 0; width: 100%; height: 34px; padding: 7px 9px; border: 1px solid #d7e2e0; border-radius: 6px; color: #283934; background: #fff; font: 11px "DM Sans", sans-serif; outline: none; }
.advanced-tool-field input:focus, .advanced-tool-field select:focus { border-color: #56b9a8; box-shadow: 0 0 0 2px rgba(0, 141, 123, .1); }
.advanced-tool-field .secondary-btn { height: 34px; }
.advanced-sale-insights { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 11px; overflow: hidden; border: 1px solid #dbe5e3; border-radius: 8px; background: #dbe5e3; }
.advanced-sale-insights span { min-width: 0; padding: 8px 10px; background: rgba(255, 255, 255, .9); }
.advanced-sale-insights small { display: block; margin-bottom: 3px; color: #84918d; font-size: 8px; font-weight: 700; letter-spacing: .3px; text-transform: uppercase; }
.advanced-sale-insights b { display: block; overflow: hidden; color: #35443f; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.advanced-sale-insights b[data-state="warning"] { color: #a55c16; }
.advanced-sale-mode .automation-strip { margin-bottom: 10px; padding-block: 8px; }
.advanced-sale-mode #document-form > .modal-body > .form-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.advanced-sale-mode #document-form > .modal-body > .form-grid .form-field.full { grid-column: span 2; }
.advanced-sale-mode .items-editor { margin-top: 12px; }
.advanced-sale-mode .items-editor thead { color: #4657a5; background: #f0f2ff; }
.advanced-sale-mode .items-editor table th, .advanced-sale-mode .items-editor table td { padding: 7px 8px; }
.advanced-sale-mode .invoice-totals { width: 320px; }

.document-entry-modal .modal-body { padding: 18px 20px 22px; background: #f5f8f7; }
.document-entry-modal .modal-foot { position: sticky; bottom: 0; z-index: 5; border-top: 1px solid #dce5e3; background: rgba(255,255,255,.97); box-shadow: 0 -8px 22px rgba(31,54,49,.06); backdrop-filter: blur(8px); }
.document-entry-head { min-height: 76px; }
.document-kind-badge { display: inline-flex; align-items: center; min-height: 20px; margin-bottom: 4px; padding: 2px 8px; border: 1px solid color-mix(in srgb, var(--entry-color) 36%, #fff); border-radius: 999px; color: var(--entry-deep); background: color-mix(in srgb, var(--entry-soft) 82%, #fff); font-size: 8px; font-weight: 800; letter-spacing: 1px; }
.sales-entry-modal .document-kind-badge { border-color: #99d2c7; color: #05695d; background: #e2f6f0; }
.document-entry-progress { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 0 14px; color: #71807c; font-size: 10px; font-weight: 700; }
.document-entry-progress span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.document-entry-progress b { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: #fff; background: var(--entry-color); font-size: 9px; }
.sales-entry-modal .document-entry-progress b { background: var(--sale-mode-color); }
.document-entry-progress i { width: 42px; height: 1px; background: #ccd7d4; }
.invoice-entry-section { margin-top: 12px; overflow: hidden; border: 1px solid #dce5e3; border-radius: 12px; background: #fff; box-shadow: 0 2px 8px rgba(30,58,51,.035); }
.invoice-entry-section-head { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 10px 14px; border-bottom: 1px solid #e4ebe9; background: linear-gradient(90deg, color-mix(in srgb, var(--entry-soft) 70%, #fff), #fff 72%); }
.sales-entry-modal .invoice-entry-section-head { background: linear-gradient(90deg, color-mix(in srgb, var(--sale-mode-soft) 70%, #fff), #fff 72%); }
.section-number { display: grid; flex: 0 0 auto; place-items: center; width: 28px; height: 28px; border-radius: 8px; color: #fff; background: var(--entry-color); font: 800 11px Manrope, sans-serif; }
.sales-entry-modal .section-number { background: var(--sale-mode-color); }
.invoice-entry-section-head > div { min-width: 0; }
.invoice-entry-section-head h3 { margin: 0; color: #283733; font: 750 13px Manrope, sans-serif; }
.invoice-entry-section-head p { margin: 2px 0 0; color: #75827f; font-size: 9px; }
.section-status { margin-left: auto; padding: 4px 8px; border-radius: 999px; color: var(--entry-deep); background: var(--entry-soft); font-size: 8px; font-weight: 700; white-space: nowrap; }
.sales-entry-modal .section-status { color: var(--sale-mode-deep); background: var(--sale-mode-soft); }
.document-header-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 14px; }
.document-header-grid .party-field { grid-column: span 2; }
.document-entry-modal .form-field small { line-height: 1.35; }
.document-entry-modal .automation-strip { margin: 10px 0 12px; }
.document-entry-modal .sale-entry-tabs { margin-bottom: 10px; }
.invoice-lines-section .advanced-sale-tools, .purchase-entry-tools { margin: 12px 12px 0; }
.purchase-entry-tools { padding: 12px; border: 1px solid #ecd8b9; border-radius: 10px; background: linear-gradient(135deg, #fffdf9, #fff7e9); }
.purchase-entry-tools .advanced-sale-toolbar { grid-template-columns: 1.1fr 1fr .85fr; }
.purchase-tool-message { display: grid; align-content: center; min-height: 54px; padding: 8px 10px; border-left: 3px solid #d89448; border-radius: 0 7px 7px 0; background: rgba(255,255,255,.78); }
.purchase-tool-message b { color: #7b4612; font-size: 10px; }
.purchase-tool-message small { margin-top: 3px; color: #86705a; font-size: 8px; line-height: 1.35; }
.document-entry-insights { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 11px; overflow: hidden; border: 1px solid #dbe5e3; border-radius: 8px; background: #dbe5e3; }
.document-entry-insights span { min-width: 0; padding: 8px 10px; background: rgba(255,255,255,.92); }
.document-entry-insights small { display: block; margin-bottom: 3px; color: #84918d; font-size: 8px; font-weight: 700; letter-spacing: .3px; text-transform: uppercase; }
.document-entry-insights b { display: block; overflow: hidden; color: #35443f; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.document-entry-insights b[data-state="warning"] { color: #a55c16; }
.document-items-editor { margin-top: 12px; border: 0; border-radius: 0; }
.document-items-editor table { min-width: 900px; }
.document-items-editor thead { color: #52615d; background: #f1f5f4; }
.purchase-entry-modal .document-items-editor thead { color: #754b1f; background: #fff8ed; }
.document-items-editor table th, .document-items-editor table td { padding: 9px 8px; vertical-align: top; }
.document-items-editor tbody tr:hover { background: #fbfdfc; }
.line-product-meta, .line-price-source, .line-taxable-note { display: block; margin-top: 4px; line-height: 1.25; }
.line-product-meta { color: #73817d; font-size: 8px; }
.line-price-source { color: #27816f; font-size: 8px; font-weight: 600; }
.purchase-entry-modal .line-price-source { color: #9a601d; }
.line-amount-cell { min-width: 96px; }
.line-amount-cell .line-amount { display: block; color: #21312d; font-size: 11px; white-space: nowrap; }
.line-taxable-note { color: #8a9692; font-size: 8px; white-space: nowrap; }
.document-items-editor .add-line { margin: 10px 12px 12px; }
.invoice-total-section { overflow: visible; }
.document-total-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: start; padding: 14px; }
.document-posting-card { min-height: 170px; padding: 14px; border: 1px solid #e1e8e6; border-radius: 10px; background: #fbfdfc; }
.document-posting-card > label { display: block; margin-bottom: 6px; color: #596762; font-size: 9px; font-weight: 700; letter-spacing: .3px; text-transform: uppercase; }
.document-posting-card textarea { width: 100%; resize: vertical; }
.posting-result-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.posting-result-list span { padding: 6px 8px; border-radius: 7px; color: #42665e; background: #eaf7f3; font-size: 9px; font-weight: 600; }
.purchase-entry-modal .posting-result-list span { color: #765025; background: #fff2de; }
.document-total-layout .invoice-totals { width: auto; margin: 0; padding: 14px 16px; border: 1px solid #cedbd7; border-radius: 10px; background: #fff; box-shadow: 0 5px 18px rgba(30,58,51,.07); }
.invoice-total-title { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 5px; padding-bottom: 9px; border-bottom: 1px solid #e3e9e7; }
.invoice-total-title span { color: #263632; font: 750 12px Manrope, sans-serif; }
.invoice-total-title small { color: #83908c; font-size: 8px; }
.document-total-layout .invoice-totals p { padding: 7px 1px; }
.document-total-layout .invoice-totals .total { margin-top: 7px; padding: 12px 10px; border: 0; border-radius: 8px; color: #fff; background: var(--entry-deep); }
.sales-entry-modal .document-total-layout .invoice-totals .total { background: var(--sale-mode-deep); }
.total-helper { display: block; margin-top: 9px; color: #82908c; font-size: 8px; line-height: 1.4; }

@media (max-width: 980px) {
  .advanced-sale-toolbar { grid-template-columns: 1fr 1fr; }
  .advanced-barcode-field { grid-column: 1 / -1; }
  .advanced-sale-mode #document-form > .modal-body > .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .advanced-sale-insights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .document-header-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .purchase-entry-tools .advanced-sale-toolbar { grid-template-columns: 1fr 1fr; }
  .purchase-tool-message { grid-column: 1 / -1; }
  .document-total-layout { grid-template-columns: 1fr 300px; }
}

@media (max-width: 620px) {
  .sale-entry-tabs, .advanced-sale-toolbar, .advanced-sale-insights { grid-template-columns: 1fr; }
  .advanced-barcode-field { grid-column: auto; }
  .advanced-sale-mode #document-form > .modal-body > .form-grid { grid-template-columns: 1fr; }
  .advanced-sale-mode #document-form > .modal-body > .form-grid .form-field.full { grid-column: auto; }
  .document-entry-progress i { width: 12px; }
  .document-entry-progress span { font-size: 0; }
  .document-header-grid, .purchase-entry-tools .advanced-sale-toolbar, .document-entry-insights, .document-total-layout { grid-template-columns: 1fr; }
  .document-header-grid .party-field { grid-column: auto; }
  .section-status { display: none; }
  .app-content:has(> .document-entry-page) { padding: 12px; }
  .document-entry-page .document-entry-head { align-items: flex-start; gap: 12px; }
  .document-page-back { padding-inline: 9px; font-size: 0; }
  .document-page-back::first-letter { font-size: 14px; }
}

@media print {
  body { background: #fff; }
  body > .shell, body > #toast, body > #auth-root { display: none !important; }
  #modal-root { display: block !important; }
  .modal-backdrop { position: static; background: #fff; padding: 0; display: block; }
  .invoice-modal { width: 100%; max-height: none; box-shadow: none; border-radius: 0; }
  .invoice-paper { padding: 12mm; }
  .barcode-print { padding: 0; }
  .barcode-label { border: 0; margin: 0; page-break-inside: avoid; }
  .no-print { display: none !important; }
}
