.report-wrapper{width:100%;height:100%;background:#f5f5f5;overflow-y:auto;padding:20px}.report-controls{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.date-inputs{display:flex;gap:15px;align-items:center}.date-inputs label{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:500;color:#333}.date-inputs input[type=date]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.btn-generate,.btn-print{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-generate{background:#2563eb;color:#fff}.btn-generate:hover{background:#1d4ed8}.btn-print{background:#10b981;color:#fff}.btn-print:hover{background:#059669}.report-document{background:#fff;max-width:8.5in;margin:0 auto;padding:.75in;box-shadow:0 4px 16px #00000026;min-height:11in;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.report-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:30px;border-bottom:2px solid #e5e7eb;margin-bottom:30px}.company-logo-section{flex-shrink:0}.company-logo{max-width:180px;max-height:100px;object-fit:contain}.logo-placeholder{width:120px;height:100px;border:2px dashed #d1d5db;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f9fafb;color:#9ca3af}.logo-placeholder-icon{font-size:32px;margin-bottom:5px}.logo-placeholder-text{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.company-info{text-align:right;flex-grow:1;margin-left:20px}.company-name{font-size:24px;font-weight:700;color:#111827;margin:0 0 5px}.legal-name{font-size:13px;color:#6b7280;margin-bottom:10px}.address,.phone,.email{font-size:12px;color:#4b5563;line-height:1.6}.report-title-section{text-align:center;margin-bottom:30px}.report-title{font-size:20px;font-weight:700;color:#111827;margin:0 0 8px}.report-period{font-size:14px;color:#6b7280;font-weight:500}.report-body{margin-bottom:40px}.report-section{margin-bottom:20px}.section-title{font-size:15px;font-weight:700;color:#111827;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.account-line{display:grid;grid-template-columns:100px 1fr 150px;gap:15px;padding:6px 0;font-size:14px;color:#374151;line-height:1.4}.account-line:hover{background:#f9fafb}.account-number{color:#6b7280;font-family:Courier New,monospace;font-size:13px}.account-name{color:#111827}.account-balance{text-align:right;font-family:Courier New,monospace;color:#111827;font-weight:500}.section-total{display:grid;grid-template-columns:1fr 150px;gap:15px;padding:10px 0 10px 115px;margin-top:8px;border-top:1px solid #d1d5db;font-weight:600;color:#111827}.total-label{font-size:14px}.total-amount{text-align:right;font-family:Courier New,monospace;font-size:14px}.subtotal-section{margin:20px 0}.subtotal-line{display:grid;grid-template-columns:1fr 150px;gap:15px;padding:12px 0 12px 115px;border-top:2px solid #111827;border-bottom:1px solid #111827;font-weight:700;font-size:15px;color:#111827}.subtotal-amount{text-align:right;font-family:Courier New,monospace}.net-income-section{margin-top:30px;padding:15px 0;border-top:3px double #111827;border-bottom:3px double #111827}.net-income-line{display:grid;grid-template-columns:1fr 150px;gap:15px;padding-left:115px;font-size:16px;font-weight:700}.net-income-label{text-transform:uppercase;letter-spacing:.5px}.net-income-amount{text-align:right;font-family:Courier New,monospace;font-size:16px}.net-income-section.profit .net-income-amount{color:#059669}.net-income-section.loss .net-income-amount{color:#dc2626}.summary-metrics{display:flex;gap:30px;justify-content:center;margin-top:30px;padding:20px;background:#f9fafb;border-radius:8px}.metric{display:flex;flex-direction:column;align-items:center;gap:5px}.metric-label{font-size:12px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:20px;font-weight:700;color:#111827}.report-footer{text-align:center;font-size:11px;color:#9ca3af;padding-top:30px;border-top:1px solid #e5e7eb}.generated-info{margin-bottom:5px}.powered-by{font-weight:600;color:#6b7280}.loading-spinner,.error-message{text-align:center;padding:60px 20px;font-size:16px;color:#6b7280}.grand-total-section{margin-top:25px}.grand-total-line{display:grid;grid-template-columns:1fr 150px;gap:15px;padding:15px 0 15px 115px;border-top:3px double #111827;border-bottom:3px double #111827;font-weight:700;font-size:16px;color:#111827;margin-top:10px}.grand-total-line .total-amount{text-align:right;font-family:Courier New,monospace}.validation-alert{margin-top:20px;padding:12px 20px;background:#fee;border-left:4px solid #dc2626;color:#991b1b;font-weight:600;font-size:13px;border-radius:4px}@media print{.report-wrapper{background:#fff;padding:0}.no-print{display:none!important}.report-document{box-shadow:none;margin:0;padding:.5in}.report-body,.report-section{page-break-inside:avoid}}.report-note{margin:0 0 20px;padding:10px 14px;background:#eff6ff;border-left:4px solid #2563eb;color:#1e40af;font-size:12px;border-radius:4px}.detail-account{margin-bottom:14px}.detail-account-header{display:grid;grid-template-columns:100px 1fr;gap:15px;padding:4px 0;font-size:13px;font-weight:700;color:#111827}.detail-account-header .account-number{color:#6b7280;font-family:Courier New,monospace;font-size:12px}.detail-txn-table{margin:4px 0 6px}.detail-txn-row{display:grid;grid-template-columns:90px 90px 1fr 130px 130px;gap:10px;padding:3px 0 3px 18px;font-size:12px;color:#4b5563;border-bottom:1px solid #f3f4f6}.detail-txn-row .txn-amount,.detail-txn-row .txn-balance{text-align:right;font-family:Courier New,monospace}.detail-txn-head{font-weight:600;color:#9ca3af;text-transform:uppercase;font-size:10px;letter-spacing:.5px;border-bottom:1px solid #e5e7eb}.detail-account-total{display:grid;grid-template-columns:1fr 130px;gap:10px;padding:5px 0 5px 18px;font-size:12px;font-weight:700;color:#111827;border-top:1px solid #d1d5db}.detail-account-total .total-amount{text-align:right;font-family:Courier New,monospace}.cmp-header,.cmp-row,.cmp-total{display:grid;grid-template-columns:1fr 130px 130px 120px 90px;gap:12px;align-items:center}.cmp-header{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;padding:8px 0;border-bottom:2px solid #111827;margin-bottom:4px}.cmp-row{padding:5px 0;font-size:13px;color:#374151;border-bottom:1px solid #f3f4f6}.cmp-row:hover{background:#f9fafb}.cmp-row .cmp-name{color:#111827}.cmp-row .cmp-name .acct-num{color:#9ca3af;font-family:Courier New,monospace;font-size:11px;margin-right:8px}.cmp-num{text-align:right;font-family:Courier New,monospace}.cmp-total{padding:8px 0;margin-top:4px;border-top:1px solid #d1d5db;font-weight:700;color:#111827;font-size:13px}.cmp-total.subtotal{border-top:2px solid #111827;border-bottom:1px solid #111827}.cmp-grand{border-top:3px double #111827;border-bottom:3px double #111827;margin-top:10px;font-size:14px}.change-pos{color:#059669}.change-neg{color:#dc2626}.cmp-section-title{font-size:14px;font-weight:700;color:#111827;text-transform:uppercase;letter-spacing:.5px;margin:18px 0 6px}.breakdown-table{margin-top:10px}.breakdown-row{display:grid;grid-template-columns:1fr 160px;gap:15px;padding:7px 0;font-size:14px;color:#374151;border-bottom:1px solid #f3f4f6}.breakdown-row:hover{background:#f9fafb}.breakdown-row .bd-amount{text-align:right;font-family:Courier New,monospace;color:#111827;font-weight:500}.breakdown-total{display:grid;grid-template-columns:1fr 160px;gap:15px;padding:12px 0;margin-top:6px;border-top:3px double #111827;border-bottom:3px double #111827;font-weight:700;font-size:15px;color:#111827}.breakdown-total .bd-amount{text-align:right;font-family:Courier New,monospace}.breakdown-empty{text-align:center;color:#9ca3af;padding:30px;font-style:italic}.cashflow-recon{margin-top:26px;padding-top:16px;border-top:2px solid #111827}.cashflow-recon .recon-line{display:grid;grid-template-columns:1fr 160px;gap:15px;padding:6px 0;font-size:14px;color:#111827}.cashflow-recon .recon-line.bold{font-weight:700}.cashflow-recon .recon-amount{text-align:right;font-family:Courier New,monospace}.acct-num{display:inline-block;min-width:52px;margin-right:8px;color:#6b7280;font-variant-numeric:tabular-nums;font-size:12px}.acct-table{margin-top:10px}.tb-table .acct-row{display:grid;grid-template-columns:1fr 150px 150px;padding:6px 10px;border-bottom:1px solid #f0f1f3;font-size:13px}.tb-table .acct-row:hover{background:#f9fafb}.acct-head{font-weight:700;color:#6b7280;text-transform:uppercase;font-size:11px;letter-spacing:.04em;border-bottom:2px solid #d1d5db!important;background:#f8fafc}.acct-name-col{color:#111827}.acct-num-col{text-align:right;font-variant-numeric:tabular-nums}.acct-total{font-weight:700;color:#111827;border-top:2px solid #374151!important;border-bottom:3px double #374151!important;background:#f8fafc}.balance-badge{margin-top:16px;padding:10px 14px;border-radius:6px;font-size:13px;font-weight:600;text-align:center}.balance-badge.ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.balance-badge.bad{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.gl-account{margin-bottom:22px;page-break-inside:avoid}.gl-account-header{display:flex;align-items:baseline;gap:10px;padding:8px 10px;background:#1e2d40;color:#fff;border-radius:4px 4px 0 0}.gl-account-header .acct-num{color:#cbd5e1}.gl-account-name{font-weight:700;font-size:14px}.gl-account-type{margin-left:auto;font-size:11px;opacity:.75;text-transform:uppercase;letter-spacing:.03em}.gl-table{border:1px solid #e5e7eb;border-top:none}.gl-row{display:grid;grid-template-columns:82px 90px 80px 1fr 110px 110px 120px;padding:5px 10px;font-size:12px;border-bottom:1px solid #f3f4f6}.gl-row:hover{background:#f9fafb}.gl-head{font-weight:700;color:#6b7280;text-transform:uppercase;font-size:10px;letter-spacing:.04em;background:#f8fafc}.gl-amt{text-align:right;font-variant-numeric:tabular-nums}.gl-opening{color:#6b7280;font-style:italic}.gl-opening .gl-amt:last-child{font-style:normal;font-weight:600;color:#111827}.gl-acct-total{font-weight:700;background:#f8fafc;border-top:1px solid #d1d5db;color:#111827}.journal-table{margin-top:10px}.jr-row{display:grid;grid-template-columns:90px 90px 1fr 1fr 120px 120px;font-size:12px}.jr-head{font-weight:700;color:#6b7280;text-transform:uppercase;font-size:10px;letter-spacing:.04em;padding:6px 10px;background:#f8fafc;border-bottom:2px solid #d1d5db}.jr-entry{border:1px solid #eef0f2;border-radius:4px;margin-bottom:12px;overflow:hidden;page-break-inside:avoid}.jr-entry-head{display:grid;grid-template-columns:90px 90px 1fr;padding:6px 10px;background:#eef2f7;font-weight:600;color:#1e2d40;font-size:12px}.jr-entry-desc{color:#374151}.jr-line{padding:4px 10px;border-bottom:1px solid #f7f8f9}.jr-line:hover{background:#f9fafb}.jr-amt{text-align:right;font-variant-numeric:tabular-nums}.jr-entry-total{padding:5px 10px;font-weight:700;background:#fafbfc;border-top:1px solid #e5e7eb;color:#111827}.jr-voided{opacity:.7;background:snow}.void-tag{color:#b91c1c;font-style:italic;font-weight:700}.jr-grand-total{padding:8px 10px;font-weight:700;background:#1e2d40;color:#fff;border-radius:4px;margin-top:4px}.atb-table .atb-row{display:grid;grid-template-columns:1fr 92px 92px 92px 92px 92px 92px;padding:5px 8px;font-size:12px;border-bottom:1px solid #f0f1f3}.atb-table .atb-row:hover{background:#f9fafb}.atb-group-head{background:#f1f5f9;font-weight:700}.atb-group-head .atb-group{grid-column:span 2;text-align:center;color:#374151;text-transform:uppercase;font-size:10px;letter-spacing:.04em;border-left:1px solid #d1d5db}.atb-head{font-weight:700;color:#6b7280;font-size:10px;text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;border-bottom:2px solid #d1d5db!important}.atb-name{color:#111827}.atb-amt{text-align:right;font-variant-numeric:tabular-nums}.atb-adj{color:#b45309}.atb-total{font-weight:700;border-top:2px solid #374151!important;border-bottom:3px double #374151!important;background:#f8fafc;color:#111827}.tax-line-group{margin:6px 0 10px}.tax-line-header{font-weight:600;color:#1e2d40;font-size:13px;padding:4px 0;border-bottom:1px dashed #d1d5db}.tax-acct{padding-left:14px!important}.tax-line-total{display:flex;justify-content:space-between;padding:4px 0 4px 14px;font-style:italic;color:#374151;font-size:12px;border-bottom:1px solid #eef0f2}.tax-line-total .total-amount{font-variant-numeric:tabular-nums}.checklist-item{display:flex;align-items:center;gap:10px;padding:6px 4px;font-size:13px;border-bottom:1px solid #f3f4f6}.check-box{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;font-weight:700;background:#f3f4f6;color:#9ca3af}.check-box.done{background:#ecfdf5;color:#047857}.check-label{color:#374151}.prep-subtotal{font-weight:600;border-top:1px solid #d1d5db;background:#fafbfc}.prep-total{font-weight:700;border-top:2px solid #374151;border-bottom:3px double #374151;background:#f8fafc;color:#111827}.audit-table{margin-top:10px}.audit-row{display:grid;grid-template-columns:80px 90px 90px 1fr 100px 100px 110px;padding:6px 10px;font-size:12px;border-bottom:1px solid #f0f1f3}.audit-row.cde-row,.audit-row.cde-head{grid-template-columns:90px 90px 100px 1fr 100px 110px 110px}.audit-row:hover{background:#f9fafb}.audit-head{font-weight:700;color:#6b7280;text-transform:uppercase;font-size:10px;letter-spacing:.04em;background:#f8fafc;border-bottom:2px solid #d1d5db!important}.au-amt{text-align:right;font-variant-numeric:tabular-nums}.audit-total{font-weight:700;border-top:2px solid #374151!important;background:#f8fafc;color:#111827}.void-detail{border:1px solid #eef0f2;border-radius:5px;margin-bottom:14px;overflow:hidden;page-break-inside:avoid}.void-detail-head{display:flex;gap:12px;align-items:baseline;padding:8px 10px;background:#fef2f2;border-bottom:1px solid #fecaca}.void-detail-head .vd-ref{font-weight:700;color:#b91c1c}.void-detail-head .vd-type{font-size:11px;text-transform:uppercase;color:#6b7280}.void-detail-head .vd-date{font-size:12px;color:#6b7280}.void-detail-head .vd-desc{color:#374151;font-size:12px}.void-audit-meta{display:flex;flex-wrap:wrap;gap:18px;padding:6px 10px;font-size:11px;color:#6b7280;background:#fafbfc;border-bottom:1px solid #eef0f2}.void-audit-meta .vd-reason{color:#b45309}.void-detail .gl-row{grid-template-columns:1fr 1fr 110px 110px}.vd-acct,.vd-memo{font-size:12px}@media print{.gl-account-header,.jr-grand-total{background:#1e2d40!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.balance-badge,.check-box,.void-detail-head,.atb-adj{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.collapse-toolbar{display:flex;gap:8px;justify-content:flex-end;margin-bottom:12px;padding:6px 0;border-bottom:1px solid #e5e7eb}.collapse-toolbar button{background:#f1f5f9;border:1px solid #d1d5db;border-radius:4px;padding:4px 12px;font-size:11px;font-weight:600;color:#374151;cursor:pointer;transition:all .15s}.collapse-toolbar button:hover{background:#e2e8f0;border-color:#94a3b8}.section-title-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.section-title-toggle:hover{color:#2563eb}.section-title-toggle .toggle-icon{font-size:10px;transition:transform .2s;color:#6b7280;flex-shrink:0}.section-title-toggle .toggle-icon.open{transform:rotate(90deg)}@media print{.section-title-toggle .toggle-icon{display:none}}
