:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--background-color: #edf3ff;--background-gradient: linear-gradient(160deg, #edf3ff 0%, #f7f9ff 45%, #ffffff 100%);--primary-color: #0d6efd;--primary-color-soft: rgba(13, 110, 253, .12);--primary-gradient: linear-gradient(135deg, rgba(13, 110, 253, .95) 0%, rgba(0, 210, 255, .88) 100%);--accent-gradient: linear-gradient(135deg, rgba(0, 210, 255, .9) 0%, rgba(132, 94, 247, .88) 100%);--text-color: #1b2733;--text-muted: #5c6f82;--border-color: rgba(13, 110, 253, .14);--border-strong: rgba(13, 110, 253, .24);--card-background: rgba(255, 255, 255, .92);--card-highlight: rgba(255, 255, 255, .8);--surface-shadow: 0 16px 40px rgba(15, 47, 72, .12);--surface-shadow-soft: 0 10px 28px rgba(12, 60, 145, .12);--destructive-color: #f05252;--destructive-gradient: linear-gradient(135deg, rgba(240, 82, 82, .95), rgba(255, 99, 71, .9));--success-gradient: linear-gradient(135deg, rgba(14, 173, 105, .95), rgba(32, 201, 151, .9))}body{margin:0;font-family:var(--font-family);background:var(--background-gradient);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%}h1,h2,h3,h4,h5,h6{font-weight:600;margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}a{color:var(--primary-color);text-decoration:none;transition:opacity .2s ease,color .2s ease}a:hover{color:#064ab6;opacity:.9}button{font-family:var(--font-family);cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.55rem 1.25rem;border-radius:999px;border:1px solid transparent;font-size:.95rem;font-weight:600;letter-spacing:.01em;color:#fff;background:var(--primary-gradient);box-shadow:0 12px 24px #0d6efd40;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 30px #0d6efd4d;filter:brightness(1.02)}.btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.btn-secondary{background:#ffffffe0;color:var(--text-color);border:1px solid var(--border-color);box-shadow:0 10px 22px #09285e14}.btn-secondary:hover:not(:disabled){box-shadow:0 12px 26px #09285e1f;color:#0d3a66}.btn-destructive{background:var(--destructive-gradient);border:none;box-shadow:0 12px 24px #f0525247}.btn-destructive:hover:not(:disabled){box-shadow:0 16px 28px #f0525257}.btn-success{background:var(--success-gradient);border:none;box-shadow:0 12px 24px #0ead6947}.btn-excel{background:linear-gradient(135deg,#108043f5,#25b767e6);border:none;color:#fff;box-shadow:0 12px 26px #10804342}.btn-excel:hover:not(:disabled){box-shadow:0 16px 30px #1080434d;filter:brightness(1.05)}.btn-excel svg{font-size:1.1rem}.btn-link{background:transparent;border:none;color:var(--primary-color);padding:0;font-weight:600}.btn-link:hover{text-decoration:underline}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{font-family:var(--font-family);padding:.75rem;border:1px solid var(--border-color);border-radius:.9rem;font-size:1rem;background-color:#ffffffeb;color:var(--text-color);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}textarea{resize:vertical}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=date]:focus,input[type=number]:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px var(--primary-color-soft);background-color:#fff}.glass-surface{background:var(--card-background);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);box-shadow:var(--surface-shadow);border-radius:20px}.app-container{display:flex;flex-direction:column;min-height:100vh;background:transparent}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.75rem;margin:1.25rem 1.5rem 0;border-radius:24px;background:#fff;border:1px solid rgba(13,110,253,.12);position:relative;gap:1rem;flex-wrap:nowrap;z-index:10}.app-header .header-title{font-size:1.55rem;font-weight:700;color:#102235;letter-spacing:.01em;display:flex;align-items:center;flex-shrink:0;margin-right:1rem}.header-logo{display:block;height:77px;width:auto}.header-center-nav{flex:1 1 0;display:flex;justify-content:center;align-items:center;min-width:0}.header-right-controls{display:flex;align-items:center;gap:.75rem;margin-left:auto;flex:0 0 auto;flex-shrink:0}.app-main-content{flex-grow:1;padding:2.5rem clamp(1.5rem,3vw,3rem);display:flex;flex-direction:column;gap:1.75rem}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:radial-gradient(circle at top left,rgba(13,110,253,.16),transparent 45%),radial-gradient(circle at bottom right,rgba(0,210,255,.18),transparent 50%),var(--background-gradient)}.card{background:linear-gradient(165deg,#fffffff2,#f3f8ffe6);border-radius:20px;border:1px solid rgba(13,110,253,.1);box-shadow:var(--surface-shadow-soft);padding:2rem;max-width:400px;width:90%;margin:auto}.role-switcher{display:flex;align-items:center;gap:.5rem}.role-switcher label{font-weight:700;color:var(--text-muted)}.role-switcher select{padding:.55rem 1.15rem;border:1px solid rgba(13,110,253,.18);border-radius:999px;background-color:#ffffffeb;cursor:pointer;font-size:.95rem;color:var(--text-color);transition:box-shadow .2s ease,border-color .2s ease}.role-switcher select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px var(--primary-color-soft)}.btn-success{color:#fff}.combo-input{display:flex;align-items:center;gap:8px;width:100%}.combo-input input{flex-shrink:0}.account-combo input{width:70px}.department-combo input,.tax-combo input{width:45px}.combo-input-name{font-size:.9em;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1}.journal-lines-table input[type=number]{width:95px;box-sizing:border-box;padding:.75rem .25rem;text-align:right}.action-button-spacing{margin-left:8px}.glass-panel{background:var(--card-background);border-radius:22px;border:1px solid rgba(13,110,253,.12);box-shadow:var(--surface-shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.table-wrapper{background:linear-gradient(160deg,#fffffff5,#eff6ffeb);box-shadow:var(--surface-shadow-soft);border-radius:18px;border:1px solid rgba(13,110,253,.1);padding:1.5rem}.table-wrapper th,.table-wrapper td{padding:.85rem 1rem;border-bottom:1px solid rgba(13,110,253,.1);font-size:.95rem;color:var(--text-color)}.table-wrapper thead th{color:#1a2d45;font-weight:600;background:#0d6efd0f}.table-wrapper tbody tr:last-child td{border-bottom:none}.table-wrapper tbody tr:hover{background:#0d6efd0d}@media (max-width: 1024px){.app-header{flex-direction:column;align-items:stretch;padding:1rem 1.5rem}.app-header .header-title{justify-content:center}.header-center-nav{order:2;width:100%}.header-right-controls{order:3;margin-left:0;justify-content:center}}.environment-badge{position:fixed;top:1rem;right:1rem;z-index:2000;padding:.35rem .65rem;border-radius:999px;background:linear-gradient(135deg,#ff8c00eb,#ffc107e6);color:#0f172a;font-weight:700;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 12px #ff9d0040}@media (max-width: 600px){.environment-badge{top:.75rem;right:.75rem;padding:.25rem .5rem;font-size:.7rem}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:linear-gradient(165deg,#fffffff5,#edf5ffe6);border-radius:22px;border:1px solid rgba(13,110,253,.14);box-shadow:0 22px 48px #0d6efd38;width:90%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.modal-content.wide{max-width:1200px}.modal-header{padding:1.4rem 2rem;border-bottom:1px solid rgba(13,110,253,.12);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-header h4{margin:0;font-size:1.25rem}.modal-body{padding:2rem;overflow-y:auto;flex-grow:1}.modal-footer{padding:1.5rem 2rem;border-top:1px solid rgba(13,110,253,.12);flex-shrink:0;background:#ffffff59}.modal-close-btn{background:transparent;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-color);opacity:.5;transition:opacity .2s ease;padding:0;line-height:1}.modal-close-btn:hover{opacity:1}.dashboard-container{display:flex;flex-direction:column;gap:1.75rem;min-height:100%}.main-content{padding:0 clamp(1rem,2vw,1.5rem)}.welcome-section,.controls-section,.table-wrapper{background:linear-gradient(165deg,#fffffff5,#edf5ffe0);border-radius:22px;border:1px solid rgba(13,110,253,.12);box-shadow:var(--surface-shadow-soft);padding:1.8rem 2.1rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.welcome-section h1{font-size:1.6rem;margin-bottom:.4rem;color:#0f1f33}.welcome-section p,.controls-section p{margin:.35rem 0 0;color:var(--text-muted)}.controls-section{display:flex;flex-direction:column;gap:1.4rem}.controls-section h3{margin:0;font-size:1.35rem;color:#11233a}.btn-icon{padding:.5rem}.table-wrapper{overflow-x:auto}#users,#tenants,#tags{scroll-margin-top:120px}.table-wrapper th,.table-wrapper td{padding:.95rem 1rem;border-bottom:1px solid rgba(13,110,253,.12);vertical-align:middle;color:var(--text-color)}.table-wrapper thead th{background:#0d6efd14;color:#15314f;font-weight:600}.table-wrapper tbody tr:hover{background:#0d6efd0a}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.75rem}.form-row{margin-bottom:1.1rem}.form-row label{display:block;margin-bottom:.5rem;font-weight:600;color:#1d2f44}.error-message{color:#9a1d2d;background:#f0525214;border:1px solid rgba(240,82,82,.28);padding:1rem;border-radius:14px;margin-bottom:1rem}.loading-message{color:#0b4370;background:#0d6efd14;border:1px solid rgba(13,110,253,.2);padding:1rem;border-radius:14px;margin-bottom:1rem}.user-menu-container{position:relative}.user-menu-button{background:linear-gradient(135deg,#ffffff8c,#fff3);border:1px solid rgba(13,110,253,.18);color:var(--text-color);cursor:pointer;display:flex;align-items:center;gap:.75rem;padding:.55rem .8rem;border-radius:16px;transition:box-shadow .2s ease,transform .2s ease;box-shadow:0 10px 24px #0d6efd1a}.user-menu-button:hover{transform:translateY(-1px);box-shadow:0 14px 30px #0d6efd2e}.user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid rgba(13,110,253,.18)}.user-info{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.user-name{font-size:1rem;font-weight:500}.user-role{font-size:.8rem;font-weight:300;color:var(--text-muted)}.user-menu-dropdown{position:absolute;top:100%;right:0;background:linear-gradient(160deg,#fffffff7,#edf5ffeb);color:var(--text-color);border-radius:18px;box-shadow:0 18px 36px #0d6efd38;padding:.5rem;margin-top:.5rem;width:240px;z-index:100;border:1px solid rgba(13,110,253,.12);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.user-menu-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;border-radius:14px;font-size:.95rem;font-weight:400;color:var(--text-color);background:none;border:none;width:100%;text-align:left}.user-menu-dropdown-item:hover{background:#0d6efd14}.role-switcher-item{display:flex;flex-direction:column;align-items:stretch;cursor:default;padding:.75rem 1rem}.role-switcher-item:hover{background-color:transparent!important}.role-switcher-label-line{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.role-switcher-label-line label{font-size:.95rem;font-weight:400;color:var(--text-color)}.role-switcher-select-line{padding-left:calc(.75rem + .95em)}.role-switcher-select{padding:.45rem .85rem;border-radius:999px;border:1px solid rgba(13,110,253,.18);font-size:.9rem;box-sizing:border-box}.user-menu-separator{height:1px;background-color:#0d6efd1f;margin:.5rem 0}.ledger-view-container{padding:1rem}.view-mode-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem;background-color:#e9ecef;padding:.25rem;border-radius:8px;max-width:max-content}.view-mode-toggle label{padding:.5rem 1rem;cursor:pointer;border-radius:6px;transition:background-color .2s,color .2s;font-weight:500}.view-mode-toggle input[type=radio]{display:none}.view-mode-toggle label.active{background-color:#fff;color:#007bff;box-shadow:0 1px 3px #0000001a}.ledger-controls{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.ledger-controls label{font-weight:700}.ledger-controls select,.ledger-controls input[type=date]{padding:.5rem;border-radius:4px;border:1px solid #ccc}.ledger-summary{display:flex;gap:2rem;padding:1rem;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin-bottom:1.5rem;flex-wrap:wrap}.summary-item{display:flex;flex-direction:column}.summary-item span{font-size:.9rem;color:#6c757d}.summary-item strong{font-size:1.2rem;font-weight:600}.loading-indicator{margin-top:1rem;font-style:italic;color:#666}.ledger-table-wrapper,.journal-book-table-wrapper{margin-top:1rem;width:100%;overflow-x:auto}.ledger-table-wrapper table,.journal-book-table-wrapper table{width:100%;border-collapse:collapse}.ledger-table-wrapper th,.ledger-table-wrapper td,.journal-book-table-wrapper th,.journal-book-table-wrapper td{padding:.75rem;border-bottom:1px solid #e0e0e0;text-align:left;vertical-align:top}.ledger-table-wrapper th,.journal-book-table-wrapper th{background-color:#f8f9fa}.amount-cell{text-align:right;font-family:monospace;white-space:nowrap}.balance{font-weight:700}.description-cell{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-row td{background-color:#f8f9fa;font-weight:700}.journal-entry-row:first-child td{border-top:2px solid #adb5bd}.journal-date-cell{vertical-align:middle!important;border-right:1px solid #e0e0e0}.journal-memo-row td{padding-top:.5rem;padding-bottom:1rem;color:#495057;font-size:.9rem;border-bottom:2px solid #adb5bd}.financial-statement-table,.table-wrapper table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;font-size:1rem;line-height:1.6;color:var(--text-color)}.financial-statement-table th,.table-wrapper th,.financial-statement-table td,.table-wrapper td{border:1px solid rgba(13,110,253,.12);padding:.8rem;text-align:left;vertical-align:top}.financial-statement-table th,.table-wrapper th{text-align:center;vertical-align:middle;background:#0d6efd14;font-weight:600}.financial-statement-table tbody tr:hover,.table-wrapper tbody tr:hover{background-color:#0d6efd0d}.financial-statement-table tfoot,.table-wrapper tfoot{font-weight:600;border-top:2px solid rgba(13,110,253,.24)}.financial-statement-table tfoot td,.table-wrapper tfoot td{border-top-width:2px}.financial-statement-table td:nth-child(2),.table-wrapper td:nth-child(3),.table-wrapper td:nth-child(4){text-align:right;font-family:Menlo,Consolas,monospace}.controls-section h3{border-bottom:2px solid rgba(13,110,253,.2);padding-bottom:.5rem;margin-bottom:1.5rem;font-size:1.75rem;color:#11233a}.controls-section h4{margin-top:2rem;margin-bottom:1rem;font-size:1.25rem;color:#223348}.text-danger{color:#dc3545}.font-weight-bold{font-weight:600}.financial-statement-container{display:flex;gap:2rem;margin-top:1rem}.financial-statement-container>div{flex:1}.account-name.detail{padding-left:3rem}.form-row input[type=date]{width:auto;min-width:150px;flex-grow:0}.trial-balance-table th:first-child,.trial-balance-table td:first-child{width:30%;text-align:left}.trial-balance-table .amount-cell{text-align:right}.journal-entry-list-table{table-layout:fixed;width:100%}.journal-entry-list-table th,.journal-entry-list-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-expand{width:60px;text-align:center}.col-date{width:120px}.col-id{width:110px}.col-amount{width:130px;text-align:right}.col-actions{width:120px;text-align:center}.action-button-spacing{margin-left:.5rem}.bank-accounts-container{padding:2rem;background-color:#f9f9f9}.bank-accounts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.add-account-btn{padding:.5rem 1rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.add-account-btn:hover{background-color:#0056b3}.bank-accounts-list table{width:100%;border-collapse:collapse;background-color:#fff;box-shadow:0 2px 4px #0000001a}.bank-accounts-list th,.bank-accounts-list td{padding:1rem;border-bottom:1px solid #ddd;text-align:left}.bank-accounts-list th{background-color:#f2f2f2}.balance-cell{text-align:right;font-weight:700}.details-btn{padding:.3rem .8rem;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer}.details-btn:hover{background-color:#5a6268}.error-message{color:#dc3545}.add-bank-account-form{display:flex;flex-direction:column;gap:1.5rem}.add-bank-account-form fieldset{border:1px solid #ccc;border-radius:4px;padding:1rem;display:flex;flex-direction:column;gap:1rem}.add-bank-account-form legend{padding:0 .5rem;font-weight:700;color:#333}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500}.form-group input,.form-group select{padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:1rem}.form-hint{font-size:.85rem;color:#666;margin:-.5rem 0 0}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.form-actions .cancel-btn,.form-actions .submit-btn{padding:.6rem 1.2rem;border:none;border-radius:4px;cursor:pointer;font-weight:700}.form-actions .cancel-btn{background-color:#f0f0f0;border:1px solid #ccc}.form-actions .submit-btn{background-color:#007bff;color:#fff}.error-message{color:red;background-color:#ffebee;padding:.5rem;border-radius:4px;text-align:center}.bank-account-ledger-container table{width:100%;border-collapse:collapse}.bank-account-ledger-container th,.bank-account-ledger-container td{padding:.75rem;border-bottom:1px solid #e0e0e0;text-align:left}.bank-account-ledger-container th{background-color:#f8f9fa;font-weight:600}.bank-account-ledger-container .amount-cell{text-align:right;font-family:monospace}.bank-account-ledger-container .debit{color:#007bff}.bank-account-ledger-container .credit{color:#dc3545}.bank-account-ledger-container .balance{font-weight:700}.bank-account-ledger-container .description-cell{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.departmental-report-container{padding:1rem}.table-wrapper th:first-child,.table-wrapper td:first-child{min-width:250px}.category-header td{background:#0d6efd14;font-weight:700;padding-top:1.5rem!important}.subcategory-header td{background-color:#0d6efd0a;font-weight:700;border-top:1px solid rgba(13,110,253,.12);padding-left:2rem!important}.category-total td{background:#0d6efd14;font-weight:700;border-top:2px solid rgba(13,110,253,.16)}.net-total td{background:linear-gradient(135deg,#0d6efd29,#00d2ff2e);font-weight:700;font-size:1.1rem;border-top:3px double rgba(13,110,253,.3)}.total-cell{font-weight:700;background-color:#0d6efd0d}.drilldown-cell:hover{cursor:pointer;text-decoration:underline;color:#0d6efd}.monthly-trend-report-container{padding:1rem}.report-controls{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.report-controls label{font-weight:700;margin-right:.5rem}.report-controls select{padding:.5rem;border-radius:4px;border:1px solid #ccc}.report-controls button{margin-left:1rem}.table-wrapper{margin-top:1rem;width:100%;overflow-x:auto}.table-wrapper table{width:100%;border-collapse:collapse}.table-wrapper th,.table-wrapper td{padding:.75rem;border:1px solid #e0e0e0;text-align:left;white-space:nowrap}.table-wrapper th{background-color:#f8f9fa;position:sticky;top:0}.table-wrapper th:first-child{position:sticky;left:0;z-index:1}.table-wrapper td:first-child{position:sticky;left:0;background-color:#fff;z-index:1}.amount-cell{text-align:right!important;font-family:monospace}.chat-journal-container{background-color:var(--background-color-offset);padding:1rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid var(--border-color)}.chat-journal-container h4{margin-top:0;margin-bottom:.75rem;font-size:1.1rem;color:var(--text-color-primary)}.chat-history{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-right:.25rem;margin-bottom:1rem}.chat-message{display:flex}.chat-message.user{justify-content:flex-end}.chat-message.assistant{justify-content:flex-start}.chat-bubble{max-width:80%;padding:.6rem .85rem;border-radius:16px;background:#ffffff2e;color:var(--text-color-primary);box-shadow:0 8px 18px #09285e14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chat-message.user .chat-bubble{background:var(--primary-gradient);color:#fff;border:1px solid rgba(255,255,255,.3)}.chat-bubble p{margin:0;white-space:pre-wrap;word-break:break-word}.chat-input-area{display:flex;gap:.5rem}.chat-input-area textarea{flex-grow:1;padding:.5rem .75rem;border-radius:6px;border:1px solid var(--border-color);background-color:var(--background-color);color:var(--text-color-primary);font-family:inherit;resize:vertical;min-height:40px}.chat-input-area .btn-primary{height:40px;white-space:nowrap}.chat-status{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--text-color-secondary);font-size:.9rem}.chat-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:var(--primary-color);animation:chatSpinner .8s linear infinite}@keyframes chatSpinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.report-container{background:linear-gradient(165deg,#fffffff5,#edf5ffe6);padding:2.2rem;border:1px solid rgba(13,110,253,.14);box-shadow:var(--surface-shadow-soft);border-radius:26px;max-width:840px;margin:1.5rem auto}.report-header{text-align:center;margin-bottom:2rem}.report-title{font-size:1.5rem;font-weight:700;margin:0}.report-subtitle{font-size:1rem;color:var(--text-muted);border-bottom:1px solid rgba(13,110,253,.18);padding-bottom:.6rem}.report-section{margin-bottom:1.5rem}.report-section h3{font-size:1.2rem;font-weight:700;border-bottom:2px solid rgba(13,110,253,.18);padding-bottom:.4rem;margin-bottom:1rem;color:#173150}.report-section p{line-height:1.8;margin-bottom:1rem}.notes-period{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem}.notes-period__field{display:flex;flex-direction:column;font-size:.9rem;color:var(--text-muted)}.notes-period__field input[type=date]{margin-top:.3rem;padding:.55rem .9rem;border:1px solid rgba(13,110,253,.18);border-radius:999px;font-size:.95rem;background:#ffffffeb}.notes-actions{display:flex;align-items:center;gap:.5rem}.notes-actions button:not(.btn){padding:.55rem 1.1rem;border-radius:999px;border:1px solid rgba(13,110,253,.18);background:var(--primary-gradient);color:#fff;cursor:pointer;font-size:.9rem;transition:transform .15s ease-in-out,box-shadow .15s ease-in-out}.notes-actions button:not(.btn):hover{transform:translateY(-1px);box-shadow:0 6px 14px #0d6efd40}.notes-hint{font-size:.85rem;color:var(--text-muted);margin-top:.75rem}.notes-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.notes-field label{font-weight:600;color:#253046;font-size:.95rem}.notes-field textarea{min-height:3.5rem;padding:.85rem;border:1px solid rgba(13,110,253,.16);border-radius:14px;resize:vertical;line-height:1.6;font-size:.95rem;font-family:inherit;color:#192a3d;background-color:#ffffffeb;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.notes-field textarea:focus{outline:none;border-color:#0d6efd99;box-shadow:0 0 0 3px #0d6efd33;background-color:#fff}.report-table{width:100%;border-collapse:collapse;margin-top:1rem}.report-table th,.report-table td{border:1px solid rgba(13,110,253,.12);padding:.6rem .85rem;text-align:left}.report-table th{background:#0d6efd14;font-weight:600;color:#143152}.report-table .amount{text-align:right}.report-table .total-row{font-weight:700}.report-table .sub-category{padding-left:2rem}.controls-section{margin-bottom:1.75rem;padding:1.6rem 1.8rem;background:linear-gradient(165deg,#fffffff2,#edf5ffe6);border-radius:22px;border:1px solid rgba(13,110,253,.12);box-shadow:var(--surface-shadow-soft)}.sub-tabs{width:100%;padding:.65rem .85rem;border-radius:14px;border:1px solid rgba(13,110,253,.18);background:linear-gradient(125deg,#f5f9fff5,#ffffffeb);margin-bottom:1rem;box-shadow:0 6px 16px #1f497d0f}.sub-tabs__items{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:thin}.sub-tabs__items::-webkit-scrollbar{height:6px}.sub-tabs__items::-webkit-scrollbar-thumb{background:#0d6efd4d;border-radius:999px}.sub-tabs__link{display:inline-flex;align-items:center;padding:.5rem 1.05rem;border-radius:999px;border:1px solid rgba(0,0,0,.04);background-color:#ffffffeb;color:#30415e;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s ease-in-out;white-space:nowrap}.sub-tabs__link:hover{color:#0d6efd;border-color:#0d6efd59;box-shadow:0 5px 12px #0d6efd29}.sub-tabs__link.is-active{background:linear-gradient(135deg,#0d6efde6,#00d2ffd1);border-color:transparent;color:#fff;box-shadow:0 9px 18px #0d6efd38}.documents-nav-container{border:1px solid #dee2e6;border-radius:12px;background:linear-gradient(129deg,#f5f9fff2,#ffffffe6);padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;flex-wrap:nowrap;overflow:hidden}.documents-nav-toggle{display:inline-flex;padding:.25rem;border-radius:999px;background-color:#007bff14;border:1px solid rgba(0,123,255,.15);gap:.25rem;flex-shrink:0}.documents-nav-toggle__button{border:none;background:transparent;color:#1b4b7d;font-size:.85rem;font-weight:600;padding:.35rem .9rem;border-radius:999px;cursor:pointer;transition:all .2s ease-in-out}.documents-nav-toggle__button.is-active{background:#0d6efd;color:#fff;box-shadow:0 6px 12px #0d6efd33}.documents-nav-toggle__button:not(.is-active):hover{background:#0d6efd26}.documents-nav-links{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:thin;flex:1}.documents-nav-links::-webkit-scrollbar{height:6px}.documents-nav-links::-webkit-scrollbar-thumb{background-color:#0d6efd59;border-radius:999px}.documents-nav-link{display:inline-flex;align-items:center;padding:.45rem 1.15rem;border-radius:999px;border:1px solid rgba(0,0,0,.05);background-color:#fff;color:#354052;font-size:.85rem;text-decoration:none;transition:all .2s ease-in-out;white-space:nowrap}.documents-nav-link:hover{border-color:#0d6efd59;color:#0d6efd;box-shadow:0 4px 10px #0d6efd1f}.documents-nav-link.active{border-color:transparent;background:linear-gradient(135deg,#0d6efdeb,#00d2ffd9);color:#fff;box-shadow:0 8px 16px #0d6efd40}.component-display-area{padding-top:0}.tenant-accountant-nav{display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;padding:.35rem .5rem;border-radius:12px;background:transparent;margin:0}.tenant-accountant-nav__items{display:flex;gap:.45rem;flex-wrap:nowrap;justify-content:center;overflow:hidden}.tenant-accountant-nav__link{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem 1rem;border-radius:999px;border:1px solid rgba(0,0,0,.05);background-color:#ffffffe6;color:#2d3d58;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s ease-in-out;white-space:nowrap}.tenant-accountant-nav__link:hover{color:#0d6efd;border-color:#0d6efd59;box-shadow:0 6px 14px #0d6efd2e}.tenant-accountant-nav__link.is-active{background:linear-gradient(135deg,#0d6efdeb,#00d2ffd9);border-color:transparent;color:#fff;box-shadow:0 10px 20px #0d6efd40}.tenant-accountant-nav__icon{display:inline-flex;align-items:center;font-size:1rem}.tenant-accountant-nav__link.is-active .tenant-accountant-nav__icon{color:inherit}.tenant-accountant-nav__label{letter-spacing:.02em}.system-admin-nav{display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;padding:.35rem .5rem;border-radius:12px;background:transparent;margin:0}.system-admin-nav__items{display:flex;gap:.45rem;flex-wrap:nowrap;justify-content:center;overflow:hidden}.system-admin-nav__link{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem 1rem;border-radius:999px;border:1px solid rgba(0,0,0,.05);background-color:#ffffffe6;color:#2d3d58;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s ease-in-out;white-space:nowrap}.system-admin-nav__link:hover{color:#0d6efd;border-color:#0d6efd59;box-shadow:0 6px 14px #0d6efd2e}.system-admin-nav__link.is-active{background:linear-gradient(135deg,#0d6efdeb,#00d2ffd9);border-color:transparent;color:#fff;box-shadow:0 10px 20px #0d6efd40}.system-admin-nav__icon{display:inline-flex;align-items:center;font-size:1rem}.system-admin-nav__label{letter-spacing:.02em}.tenant-admin-nav{display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;padding:.35rem .5rem;border-radius:12px;background:transparent;margin:0}.tenant-admin-nav__items{display:flex;gap:.45rem;flex-wrap:nowrap;justify-content:center;overflow:hidden}.tenant-admin-nav__link{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem 1rem;border-radius:999px;border:1px solid rgba(0,0,0,.05);background-color:#ffffffe6;color:#2d3d58;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s ease-in-out;white-space:nowrap}.tenant-admin-nav__link:hover{color:#0d6efd;border-color:#0d6efd59;box-shadow:0 6px 14px #0d6efd2e}.tenant-admin-nav__link.is-active{background:linear-gradient(135deg,#0d6efdeb,#00d2ffd9);border-color:transparent;color:#fff;box-shadow:0 10px 20px #0d6efd40}.tenant-admin-nav__icon{display:inline-flex;align-items:center;font-size:1rem}.tenant-admin-nav__label{letter-spacing:.02em}
