:root{--app-bg:#f5f7fa;--app-sidebar-width:250px;--bs-primary:#3157d5;--bs-primary-rgb:49,87,213}body{background:var(--app-bg);color:#263044}.app-sidebar{width:var(--app-sidebar-width)!important;background:#fff;border-right:1px solid #e5e9f0}.sidebar-inner{height:100vh;display:flex;flex-direction:column;padding:1rem}.sidebar-brand,.mobile-brand{display:flex;align-items:center;gap:.7rem;color:#1d2939;font-weight:700;text-decoration:none;letter-spacing:-.02em}.brand-icon{width:2.15rem;height:2.15rem;display:grid;place-items:center;border-radius:.65rem;background:#e8edff;color:var(--bs-primary);font-size:1.2rem}.sidebar-nav{display:flex;flex-direction:column;gap:.2rem;margin-top:1.75rem}.sidebar-label{margin:.9rem .7rem .35rem;color:#98a2b3;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border-radius:.6rem;color:#475467;text-decoration:none;font-weight:500}.sidebar-link i{font-size:1.15rem}.sidebar-link:hover{background:#f4f6fb;color:#263044}.sidebar-link.active{background:#e8edff;color:var(--bs-primary)}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid #edf0f4}.company-name{display:flex;align-items:center;gap:.55rem;padding:.25rem .6rem .8rem;color:#667085;font-size:.85rem}.sidebar-user{display:flex;align-items:center;gap:.65rem;padding:.65rem .55rem}.user-avatar{width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:50%;background:#eef2ff;color:var(--bs-primary);font-weight:700}.user-info{display:flex;flex:1;min-width:0;flex-direction:column}.user-info strong,.user-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info strong{font-size:.85rem}.user-info small{color:#98a2b3;font-size:.75rem}.app-shell{min-height:100vh;margin-left:var(--app-sidebar-width)}.mobile-header{height:58px;display:flex;align-items:center;gap:.8rem;padding:.6rem 1rem;background:#fff;border-bottom:1px solid #e5e9f0}.card{border:1px solid #e5e9f0;border-radius:.8rem;box-shadow:0 1px 2px rgba(16,24,40,.03)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-head h1{font-size:1.75rem;margin:0 0 .25rem}.page-head p{color:#667085;margin:0}.table-card{overflow:hidden}.table>:not(caption)>*>*{padding:.9rem 1rem}.table thead th{background:#fafbfc;color:#667085;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.app-offcanvas{--bs-offcanvas-width:min(560px,100vw)}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(145deg,#eef2ff,#f8fafc)}.login-card{width:min(430px,100%)}.login-icon{width:3rem;height:3rem;border-radius:.8rem;display:grid;place-items:center;margin:0 auto 1rem;background:#e8edff;color:var(--bs-primary);font-size:1.5rem}.empty-state{text-align:center;padding:4rem 1rem;background:#fff;border:1px dashed #ccd3df;border-radius:.8rem}.empty-state>i{font-size:2.5rem;color:#98a2b3}.empty-state p{color:#667085;margin:1rem}@media(max-width:991.98px){.app-shell{margin-left:0}.app-sidebar{--bs-offcanvas-width:min(290px,88vw)}.sidebar-inner{height:calc(100vh - 65px);padding-top:0}.sidebar-brand{display:none}}@media(max-width:575px){.page-head{align-items:flex-start;flex-direction:column}.page-head .btn{width:100%}}
@media (min-width:992px){.app-sidebar{position:fixed;inset:0 auto 0 0}}
.brand-logo{width:2.2rem;height:2.2rem;object-fit:contain;border-radius:.45rem}.branding-preview{display:flex;align-items:center;gap:.8rem;padding:.8rem;border:1px solid #e5e9f0;border-radius:.65rem}.branding-preview img{width:3.5rem;height:3.5rem;object-fit:contain}.branding-preview span{color:#667085;font-size:.85rem}
.login-logo{display:block;width:4.5rem;height:4.5rem;object-fit:contain;margin:0 auto 1rem;border-radius:.8rem}
.login-theme-toggle{position:fixed;top:1rem;right:1rem;display:flex;align-items:center;gap:.5rem}.login-page .login-card{background:var(--bs-body-bg)}[data-bs-theme=dark] .login-page{background:linear-gradient(145deg,#111827,#0b0f17)}
.theme-toggle{width:100%;display:flex;align-items:center;gap:.65rem;margin-bottom:.6rem;padding:.6rem .65rem;border:0;border-radius:.6rem;background:transparent;color:#667085;text-align:left}.theme-toggle:hover{background:#f4f6fb;color:#263044}.theme-toggle-icon{width:1.8rem;height:1.8rem;display:grid;place-items:center;border-radius:50%;background:#eef2ff;color:var(--bs-primary)}[data-bs-theme=dark]{--app-bg:#10141c}[data-bs-theme=dark] body{color:#e6eaf0}[data-bs-theme=dark] .app-sidebar,[data-bs-theme=dark] .mobile-header{background:#171c26;border-color:#2a3240}[data-bs-theme=dark] .sidebar-brand,[data-bs-theme=dark] .mobile-brand{color:#f3f4f6}[data-bs-theme=dark] .sidebar-link{color:#aeb8c7}[data-bs-theme=dark] .sidebar-link:hover,[data-bs-theme=dark] .theme-toggle:hover{background:#222a37;color:#fff}[data-bs-theme=dark] .sidebar-link.active{background:#25345f;color:#9db4ff}[data-bs-theme=dark] .sidebar-footer{border-color:#2a3240}[data-bs-theme=dark] .company-name,[data-bs-theme=dark] .theme-toggle{color:#aeb8c7}[data-bs-theme=dark] .theme-toggle-icon,[data-bs-theme=dark] .user-avatar{background:#25345f;color:#b8c7ff}[data-bs-theme=dark] .table thead th{background:#191f2a;color:#9aa6b6}[data-bs-theme=dark] .empty-state{background:#171c26;border-color:#394354}
.movement-type-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.movement-type-option{display:flex;align-items:center;gap:.75rem;padding:1rem;border:2px solid var(--bs-border-color);border-radius:.8rem;cursor:pointer;transition:.15s ease}.movement-type-option i{font-size:1.8rem}.movement-type-option span{display:flex;flex-direction:column}.movement-type-option strong{font-size:1rem}.movement-type-option small{color:var(--bs-secondary-color)}.movement-type-option.income i{color:var(--bs-success)}.movement-type-option.expense i{color:var(--bs-danger)}.btn-check:checked+.movement-type-option.income{border-color:var(--bs-success);background:rgba(var(--bs-success-rgb),.1)}.btn-check:checked+.movement-type-option.expense{border-color:var(--bs-danger);background:rgba(var(--bs-danger-rgb),.1)}.movement-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600}.movement-badge.income{color:var(--bs-success);background:rgba(var(--bs-success-rgb),.1)}.movement-badge.expense{color:var(--bs-danger);background:rgba(var(--bs-danger-rgb),.1)}
.grade-badge{display:inline-grid;min-width:2rem;place-items:center;padding:.25rem .45rem;border-radius:.5rem;background:#eef2ff;color:var(--bs-primary);font-weight:700}.unit-code{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-radius:.65rem;background:var(--bs-tertiary-bg)}
.server-table-toolbar,.server-table-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}.server-table-toolbar{border-bottom:1px solid var(--bs-border-color)}.server-table-toolbar .input-group{max-width:32rem}.server-table-toolbar [data-table-size]{width:auto}.server-table-footer{min-height:4rem;border-top:1px solid var(--bs-border-color);color:var(--bs-secondary-color);font-size:.875rem}.table-card.is-loading [data-table-body]{opacity:.45}.table-card [data-table-body]{transition:opacity .15s ease}@media(max-width:575px){.server-table-toolbar{align-items:stretch;flex-direction:column}.server-table-toolbar .input-group{max-width:none}.server-table-toolbar [data-table-size]{width:100%}}
.select2-container--bootstrap-app .select2-selection{display:flex;align-items:center;min-height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);background:var(--bs-body-bg);color:var(--bs-body-color)}
.select2-container--bootstrap-app .select2-selection--single .select2-selection__rendered{padding:0;color:inherit;line-height:1.5}.select2-container--bootstrap-app .select2-selection--single .select2-selection__arrow{height:100%;right:.5rem}.select2-container--bootstrap-app.select2-container--focus .select2-selection,.select2-container--bootstrap-app.select2-container--open .select2-selection{border-color:#86b7fe;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}
.select2-container--bootstrap-app .select2-dropdown{border-color:var(--bs-border-color);background:var(--bs-body-bg);color:var(--bs-body-color);border-radius:var(--bs-border-radius)}.select2-container--bootstrap-app .select2-search__field{padding:.375rem .75rem;border:var(--bs-border-width) solid var(--bs-border-color)!important;border-radius:var(--bs-border-radius);background:var(--bs-body-bg);color:var(--bs-body-color)}.select2-container--bootstrap-app .select2-results__option--highlighted[aria-selected]{background:var(--bs-primary);color:#fff}.select2-container--bootstrap-app .select2-results__option[aria-selected=true]{background:var(--bs-secondary-bg);color:var(--bs-body-color)}
[data-bs-theme=dark] .select2-container--bootstrap-app .select2-selection,[data-bs-theme=dark] .select2-container--bootstrap-app .select2-dropdown,[data-bs-theme=dark] .select2-container--bootstrap-app .select2-search__field{background-color:var(--bs-body-bg);color:var(--bs-body-color);border-color:var(--bs-border-color)}
.select-entity-header>.form-label{flex:0 0 auto;max-width:100%}.select-entity-actions{white-space:nowrap}
.filepond--root{margin-bottom:.5rem;font-family:inherit}.filepond--panel-root{border:1px dashed var(--bs-border-color);background:var(--bs-tertiary-bg)}.filepond--drop-label{color:var(--bs-body-color)}.filepond--label-action{color:var(--bs-primary);text-decoration:none}.filepond--label-action:hover{text-decoration:underline}.filepond--file{background:var(--bs-primary)}.filepond--file-info-main,.filepond--file-info-sub{color:#fff}.filepond--credits{display:none}
.table tbody tr[data-detail-url]{cursor:pointer}.table tbody tr[data-detail-url]:hover>*{background:var(--bs-tertiary-bg)}.record-detail{display:grid;gap:1.5rem}.record-detail-section{padding:1rem;border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius-lg);background:var(--bs-tertiary-bg)}.record-detail-section h2{margin-bottom:1rem;font-size:.75rem;letter-spacing:.05em}.record-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem}.record-detail-item{min-width:0}.record-detail-item-wide{grid-column:1/-1}.record-detail-item dt{margin-bottom:.2rem;color:var(--bs-secondary-color);font-size:.78rem;font-weight:600}.record-detail-item dd{margin:0;overflow-wrap:anywhere;white-space:normal}@media(max-width:575.98px){.record-detail-grid{grid-template-columns:1fr}.record-detail-item-wide{grid-column:auto}}
