@charset "UTF-8";.ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #333}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a}.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:#333;background-color:#fff;border-radius:4px;border:1px solid #ccc;min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e6e6e6}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:#333;background-color:#ebf5ff;border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid #b8dbff;border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#000}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:#999}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px #0000000f;left:0}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel.ng-select-right{left:100%;top:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.ng-dropdown-panel.ng-select-left{left:-100%;top:0;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{color:#0000008a;background-color:#ebf5ff;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#ebf5ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5faff;color:#333}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #1d4ed8;--primary-dk: #1e40af;--accent: #16a34a;--danger: #dc2626;--warn: #d97706;--bg: #f1f5f9;--surface: #ffffff;--border: #e2e8f0;--text: #1e293b;--muted: #64748b;--sidebar-w: 240px}html,body{height:100%;font-family:Cambria,serif;background:var(--bg);color:var(--text);font-size:14px}a{color:var(--primary);text-decoration:none}hr{border:0;border-top:1px solid var(--border);margin:1rem 0}.card{background:var(--surface);border-radius:8px;border:1px solid var(--border);padding:1.25rem;box-shadow:0 1px 3px #0000000f}.page-title{font-size:1.3rem;font-weight:600;margin-bottom:1.2rem}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:500}.badge-success{background:#dcfce7;color:#16a34a}.badge-danger{background:#fee2e2;color:#dc2626}.badge-warn{background:#fef3c7;color:#92400e}.badge-info{background:#dbeafe;color:#1d4ed8}.text-right{text-align:right}.text-muted{color:var(--muted)}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.gap-4{gap:2rem}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.divider{display:flex;align-items:center;text-align:center;color:var(--muted);font-size:.8rem;font-weight:600;margin:1.5rem 0 1rem}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--border)}.divider:not(:empty):before{margin-right:.75rem}.divider:not(:empty):after{margin-left:.75rem}.rounded{border-radius:6px}.p-2{padding:.5rem}.bg-light{background:#f8fafc;border:1px solid var(--border)}.text-xs{font-size:.7rem}.mb-0{margin-bottom:0}.pb-1{padding-bottom:.25rem}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .95rem;border-radius:5px;border:none;cursor:pointer;font-size:.875rem;font-weight:500;transition:opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dk)}.btn-success{background:var(--accent);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-secondary{background:#f1f5f9;color:var(--text);border:1px solid var(--border)}.btn-dark{background:#475569;color:#fff}.btn-sm{padding:.3rem .65rem;font-size:.8rem}.btn-icon{background:none;border:none;cursor:pointer;padding:.3rem;border-radius:4px;color:var(--muted)}.btn-icon:hover{background:var(--bg);color:var(--text)}.form-group{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}label{font-size:.82rem;font-weight:500;color:var(--muted)}input,select,textarea{padding:.45rem .7rem;border:1px solid var(--border);border-radius:5px;font-size:.875rem;width:100%;outline:none;background:#fff;transition:border-color .15s}input[type=checkbox]{width:auto!important;padding:0!important;border:none!important}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px #1d4ed81f}input[type=checkbox]:focus{box-shadow:none}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem}.form-error{color:var(--danger);font-size:.78rem}.form-control-sm{padding:.25rem .5rem;font-size:.8rem}.checkbox-group{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;cursor:pointer;-webkit-user-select:none;user-select:none;margin:0}.checkbox-group input[type=checkbox]{width:20px!important;height:20px!important;margin:5px;cursor:pointer}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.86rem}th{background:var(--bg);padding:.6rem .8rem;text-align:left;font-weight:600;color:var(--muted);border-bottom:2px solid var(--border);white-space:nowrap}td{padding:.55rem .8rem;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}tr:hover td{background:#f8fafc}.amount-income{color:var(--accent);font-weight:500}.amount-expense{color:var(--danger);font-weight:500}.amount-transfer{color:var(--primary);font-weight:500}.table-sm th{padding:.3rem .5rem;font-size:.75rem}.table-sm td{padding:.3rem .5rem;font-size:.78rem}.pagination{display:flex;align-items:center;gap:.5rem;justify-content:flex-end;margin-top:.8rem}.page-info{color:var(--muted);font-size:.82rem}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:10px;padding:1.8rem;width:min(560px,96vw);max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-lg{width:min(800px,96vw)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem}.modal-title{font-size:1.1rem;font-weight:600}.modal-footer{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--border)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.4rem}.stat-card{padding:1.2rem;border-radius:8px;color:#fff}.stat-card .label{font-size:.8rem;opacity:.85;margin-bottom:.4rem}.stat-card .value{font-size:1.6rem;font-weight:700}.stat-income{background:linear-gradient(135deg,#16a34a,#15803d)}.stat-expense{background:linear-gradient(135deg,#dc2626,#b91c1c)}.stat-net{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.stat-balance{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.ng-select .ng-select-container{border:1px solid var(--border);border-radius:5px;min-height:34px;font-size:.875rem;background:#fff;transition:border-color .15s}.ng-select.ng-select-focused .ng-select-container{border-color:var(--primary);box-shadow:0 0 0 2px #1d4ed81f}.ng-select .ng-select-container .ng-value-container{padding:0 .7rem}.ng-select .ng-select-container .ng-value-container .ng-input>input{padding:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:var(--muted)}.ng-select .ng-arrow-wrapper{padding-right:.5rem}.ng-select .ng-clear-wrapper{color:var(--muted)}.ng-dropdown-panel{border:1px solid var(--border);border-radius:5px;box-shadow:0 4px 12px #0000001a;font-size:.875rem}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{padding:.45rem .7rem}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#eff6ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:#dbeafe;color:var(--primary);font-weight:500}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:var(--muted)}.ng-select-sm .ng-select-container{min-height:28px;font-size:.8rem}.ng-select-sm .ng-select-container .ng-value-container{padding:0 .4rem}.ng-select-sm .ng-arrow-wrapper{padding-right:.3rem}.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;align-items:center}.filter-bar input:not([type=checkbox]),.filter-bar select{width:auto;min-width:140px}@media print{.sidebar,.topbar,.no-print,.btn,.filter-bar,.preview-header,.sidebar-toggle{display:none!important}.main-content{padding:0!important;margin:0!important;overflow:visible!important;width:100%!important}.shell{display:block!important;height:auto!important}.main-wrap{display:block!important;overflow:visible!important;width:100%!important;margin:0!important}body{background:#fff!important;margin:0!important;padding:0!important}.card{border:none!important;box-shadow:none!important;margin:0!important;padding:0!important;background:transparent!important}.preview-card{margin:0!important;padding:0!important}}
