body{background:linear-gradient(135deg,#667eea,#764ba2);height:100vh;overflow:hidden}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7fafc;color:#2d3748;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{display:flex;min-height:100vh}.main-content{background:#f7fafc;flex:1 1;height:100vh;margin-left:250px;min-height:100vh;overflow-x:hidden;overflow-y:auto;transition:margin-left .3s ease}.main-content.sidebar-closed{margin-left:0}.header{background:#fff;box-shadow:0 1px 3px #0000001a;justify-content:space-between;padding:15px 30px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header,.header-left{align-items:center;display:flex}.header-left{gap:15px}.sidebar-toggle{background:none;border:none;border-radius:4px;color:#4a5568;cursor:pointer;font-size:24px;padding:5px;transition:background .2s}.sidebar-toggle:hover{background:#e2e8f0}.search-bar{position:relative}.search-submit{background:#0000;border:none;bottom:0;cursor:pointer;left:0;padding:0;position:absolute;top:0;width:40px}.search-bar input{border:1px solid #e2e8f0;border-radius:6px;font-size:14px;padding:8px 15px 8px 40px;transition:border-color .2s,box-shadow .2s;width:300px}.search-bar input:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.search-icon{color:#a0aec0;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.header-right{gap:20px}.header-right,.user-menu{align-items:center;display:flex}.user-menu{border-radius:6px;cursor:pointer;gap:10px;padding:5px 10px;transition:background .2s}.user-menu:hover{background:#f7fafc}.user-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:36px;justify-content:center;width:36px}.user-info{text-align:right}.user-name{color:#2d3748;font-size:14px;font-weight:600}.user-role{color:#718096;font-size:12px}.page-container{padding:30px;text-align:left;width:100%}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.page-header h1{color:#1a202c;font-size:28px;font-weight:600}.page-header p{color:#718096;margin-top:5px}.header-stats{display:flex;gap:30px}.header-stats .stat{text-align:right}.header-stats .stat label{color:#718096;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.header-stats .stat .value{color:#2d3748;font-size:24px;font-weight:700;margin-top:5px}.content-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;padding:20px;text-align:left}.section-actions{gap:10px}.filters,.section-actions{display:flex;margin-bottom:20px}.filters{flex-wrap:wrap;gap:15px}.search-input{border:1px solid #e2e8f0;flex:1 1;min-width:250px;padding:10px 15px;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.filter-select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:14px;min-width:150px;padding:10px 15px;transition:border-color .2s}.filter-select:focus{border-color:#4299e1;outline:none}.btn-danger,.btn-icon,.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-primary{background:#4299e1}.btn-primary:hover{background:#3182ce;box-shadow:0 4px 12px #4299e166}.btn-secondary{background:#e2e8f0}.btn-secondary:hover{background:#cbd5e0;transform:translateY(-1px)}.btn-danger{background:#fc8181;color:#fff}.btn-danger:hover{background:#f56565}.btn-icon{background:none;border:none;cursor:pointer;font-size:18px;padding:8px;transition:background .2s}.btn-icon:hover{background:#f7fafc;border-radius:4px}.data-table th{background:#f7fafc;letter-spacing:.5px}.data-table td{padding:14px 12px}.data-table tbody tr{transition:background .2s}.data-table tbody tr:hover{background:#f7fafc}.data-table tbody tr:last-child td{border-bottom:none}.data-table a{color:#4299e1;font-weight:600;text-decoration:none}.data-table a:hover{text-decoration:underline}.status-badge{text-transform:capitalize}.status-badge.active,.status-badge.open{background:#c6f6d5;color:#22543d}.status-badge.outstanding,.status-badge.pending{background:#feebc8;color:#7c2d12}.status-badge.cleared,.status-badge.completed,.status-badge.paid{background:#bee3f8;color:#2c5282}.status-badge.cancelled,.status-badge.closed{background:#e2e8f0;color:#4a5568}.status-badge.settlement{background:#fbb6ce;color:#702459}.loading{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#4299e1;height:40px;margin-bottom:15px;width:40px}.empty-state{padding:60px 20px}.empty-state-icon{font-size:64px;margin-bottom:15px;opacity:.5}.empty-state h3{color:#2d3748;font-size:18px;font-weight:600;margin-bottom:10px}.empty-state p{color:#718096;margin-bottom:20px}.dist-table{border:1px solid #e2e8f0;border-radius:6px;margin-top:8px;overflow:hidden;width:100%}.dist-head{background:#f7fafc;border-bottom:2px solid #e2e8f0;color:#718096;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px;text-transform:uppercase}.dist-head,.dist-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.2fr) 90px 70px}.dist-row{align-items:center;border-bottom:1px solid #e2e8f0;padding:10px 12px}.dist-row:last-child{border-bottom:none}.dist-row:hover{background:#f9fafb}.dist-row input,.dist-row select{border:1px solid #cbd5e0;border-radius:4px;font-size:14px;min-width:0;padding:6px 8px;width:100%}.dist-row input:focus,.dist-row select:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.dist-row span{align-items:center;color:#2d3748;display:flex;font-size:14px}.dist-row button{font-size:13px;padding:4px 8px}.dist-head:has(+.dist-row input[type=number]:nth-of-type(5)){grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 80px 80px}.dist-row:has(input[type=number]:nth-of-type(5)){grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 80px 80px}@media (max-width:768px){.main-content{margin-left:0}.page-container{padding:15px}.page-header{align-items:flex-start;flex-direction:column;gap:15px}}::-webkit-scrollbar{height:14px;width:14px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}::-webkit-scrollbar-thumb{background:#cbd5e1;border:3px solid #f1f5f9;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::-webkit-scrollbar-corner{background:#f1f5f9}.summary-cards{grid-gap:20px;background:#f7fafc;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin:0 0 20px;padding:20px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.summary-card{box-shadow:0 1px 3px #0000001a;padding:20px;transition:all .3s ease}.summary-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.summary-card-title{color:#64748b;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.summary-card-value{color:#1e293b;font-size:28px;font-weight:700}.sidebar{background:linear-gradient(180deg,#1e3a5f,#2c5282);box-shadow:2px 0 10px #0000001a;color:#fff;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;transition:transform .3s ease;width:250px;z-index:1000}.sidebar.closed{transform:translateX(-250px)}.sidebar-header{border-bottom:1px solid #ffffff1a;padding:20px}.sidebar-header h1{font-size:20px;font-weight:600;margin:0}.sidebar-header p{font-size:12px;margin:5px 0 0;opacity:.8}.sidebar-nav{padding:20px 0}.nav-item{align-items:center;color:#fffc;cursor:pointer;display:flex;padding:12px 20px;text-decoration:none;transition:all .2s ease}.nav-item:hover{background:#ffffff1a;color:#fff}.nav-item.active{background:#ffffff26;border-left:3px solid #4299e1;color:#fff}.nav-item .icon,.nav-item .nav-icon{font-size:18px;margin-right:12px;text-align:center;width:24px}.nav-item .label,.nav-item .nav-label{font-size:14px;font-weight:500}.nav-section{font-size:12px;font-weight:600;letter-spacing:.5px;opacity:.6;padding:20px 20px 10px;text-transform:uppercase}.nav-item.temp-item{background:#ffc1071a;border-left:3px solid #ffc107;position:relative}.nav-item.temp-item:hover{background:#ffc10733}.nav-item.temp-item .nav-label{font-style:italic;opacity:.9}.nav-item.temp-item.active{background:#ffc10740;border-left:3px solid #ffc107}.nav-item.submenu-item{background:#0000000d;font-size:13px;padding-left:40px}.nav-item.submenu-item:hover{background:#ffffff26}.nav-item.submenu-item.active{background:#fff3;border-left:3px solid #4299e1}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:420px;padding:40px;width:100%}.login-header{margin-bottom:32px;text-align:center}.login-header h1{color:#1a202c;font-size:28px;font-weight:600;margin:0 0 8px}.login-header p{color:#718096;font-size:14px;margin:0}.login-error{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:14px;margin-bottom:24px;padding:12px;text-align:center}.login-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.login-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1a202c;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:12px;justify-content:center;padding:14px 20px;transition:all .2s ease;width:100%}.login-button:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.microsoft-button{border-color:#0078d4;color:#0078d4}.microsoft-button:hover{background-color:#0078d4;color:#fff}.google-button{border-color:#4285f4;color:#4285f4}.google-button:hover{background-color:#4285f4;color:#fff}.login-button svg{flex-shrink:0}.login-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:8px;margin-bottom:24px}.login-tab{background:none;border:none;border-bottom:2px solid #0000;color:#718096;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;margin-bottom:-2px;padding:12px;transition:all .2s}.login-tab:hover{color:#2d3748}.login-tab.active{border-bottom-color:#667eea;color:#667eea}.login-form{display:flex;flex-direction:column;gap:20px}.login-submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px 20px;transition:transform .2s,box-shadow .2s}.login-submit-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.login-submit-button:active:not(:disabled){transform:translateY(0)}.login-submit-button:disabled{cursor:not-allowed;opacity:.6}.login-form-footer{margin-top:8px;text-align:center}.login-form-footer p{color:#718096;font-size:14px;margin:0}.register-link{color:#667eea;font-weight:500;text-decoration:none}.register-link:hover{text-decoration:underline}.login-footer{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:24px;text-align:center}.login-footer p{color:#718096;font-size:12px;margin:0}.register-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.register-card{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:600px;padding:40px;width:100%}.register-header{margin-bottom:32px;text-align:center}.register-header h1{color:#1a202c;font-size:28px;font-weight:600;margin:0 0 8px}.register-header p{color:#718096;font-size:14px;margin:0}.register-error{margin-bottom:24px}.register-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:8px}.form-group input{border:2px solid #e2e8f0;border-radius:8px;font-size:14px;outline:none;padding:12px 16px;transition:border-color .2s}.form-group input:focus{border-color:#667eea}.form-group input:disabled{background-color:#f7fafc;cursor:not-allowed}.register-submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px 20px;transition:transform .2s,box-shadow .2s}.register-submit-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.register-submit-button:active:not(:disabled){transform:translateY(0)}.register-submit-button:disabled{cursor:not-allowed;opacity:.6}.register-form-footer{margin-top:8px;text-align:center}.register-form-footer p{color:#718096;font-size:14px;margin:0}.login-link{color:#667eea;font-weight:500;text-decoration:none}.login-link:hover{text-decoration:underline}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.auth-callback-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-callback-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:400px;padding:40px;text-align:center;width:100%}.spinner{border:4px solid #e2e8f0;border-top-color:#667eea;height:50px;margin:0 auto 24px;width:50px}.success-icon{background-color:#48bb78}.error-icon,.success-icon{align-items:center;animation:scaleIn .3s ease-out;border-radius:50%;color:#fff;display:flex;font-size:32px;font-weight:700;height:60px;justify-content:center;margin:0 auto 24px;width:60px}.error-icon{background-color:#f56565}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.auth-callback-card h2{color:#1a202c;font-size:24px;font-weight:600;margin:0 0 12px}.auth-callback-card p{color:#718096;font-size:14px;margin:0}.redirect-message{color:#a0aec0;font-size:12px;margin-top:12px}.dashboard{padding:20px}.dashboard-header{margin-bottom:30px}.dashboard-header h1{color:#1a202c;font-size:28px;font-weight:600;margin:0 0 5px}.dashboard-header p{color:#718096;margin:0}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.stat-title{color:#718096;font-size:14px;font-weight:500}.stat-icon{font-size:24px}.stat-value{color:#1a202c;font-size:28px;margin-bottom:5px}.stat-change{color:#48bb78;font-size:12px;font-weight:600}.stat-change.negative{color:#f56565}.dashboard-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.dashboard-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px}.section-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.section-header h2{color:#1a202c;font-size:18px;font-weight:600;margin:0}.section-header .view-all{color:#4299e1;font-size:14px;font-weight:500;text-decoration:none}.section-header .view-all:hover{text-decoration:underline}.data-table th{color:#718096;font-size:12px;padding:10px;text-transform:uppercase}.data-table td{border-bottom:1px solid #e2e8f0;color:#2d3748;font-size:14px;padding:12px 10px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover{background:#f7fafc}.status-badge{font-size:12px;padding:4px 12px}.status-badge.active{background:#c6f6d5;color:#22543d}.status-badge.pending{background:#feebc8;color:#7c2d12}.status-badge.completed{background:#bee3f8;color:#2c5282}.quick-actions{display:flex;gap:10px;margin-top:20px}.quick-action-btn{background:#4299e1;border:none;border-radius:6px;color:#fff;flex:1 1;font-size:14px;font-weight:600;padding:12px 20px;transition:background .2s ease}.quick-action-btn:hover{background:#3182ce}.quick-action-btn.secondary{background:#e2e8f0;color:#2d3748}.quick-action-btn.secondary:hover{background:#cbd5e0}.empty-state{color:#718096;padding:40px 20px}.empty-state-icon{font-size:48px;margin-bottom:10px}.empty-state p{font-size:14px}.data-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.dt-clear-all-filters-btn{transition:all .2s ease}.dt-clear-all-filters-btn:hover{background:#dc2626!important;box-shadow:0 2px 4px #ef44444d;transform:translateY(-1px)}.dt-clear-all-filters-btn:active{transform:translateY(0)}.data-table-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;padding:20px}.data-table-title-section{flex:1 1;min-width:200px}.data-table-title{color:#1e293b;font-size:20px;font-weight:600;margin:0 0 5px}.data-table-stats{color:#64748b;font-size:14px}.data-table-controls{align-items:center}.data-table-actions,.data-table-controls{display:flex;flex-wrap:wrap;gap:10px}.data-table-search{border-bottom:1px solid #e2e8f0;padding:15px 20px;position:relative}.dt-search-input{border:1px solid #cbd5e1;border-radius:6px;font-size:14px;padding:10px 40px 10px 15px;transition:all .2s;width:100%}.dt-search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.dt-clear-btn{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:18px;line-height:1;padding:5px;position:absolute;right:30px;top:50%;transform:translateY(-50%)}.dt-clear-btn:hover{color:#64748b}.dt-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.dt-btn-primary{background:#3b82f6;color:#fff}.dt-btn-primary:hover{background:#2563eb}.dt-btn-secondary{background:#f1f5f9;color:#475569}.dt-btn-secondary:hover{background:#e2e8f0}.dt-btn:disabled{cursor:not-allowed;opacity:.5}.dt-dropdown{display:inline-block;position:relative}.dt-dropdown:hover .dt-dropdown-content{display:block}.dt-dropdown-content{background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 6px #0000001a;display:none;margin-top:5px;max-height:400px;min-width:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.dt-dropdown-item{align-items:center;cursor:pointer;display:flex;gap:10px;padding:10px 15px;transition:background .2s;-webkit-user-select:none;user-select:none}.dt-dropdown-item:hover{background:#f8fafc}.dt-dropdown-item input[type=checkbox]{cursor:pointer}.dt-dropdown-item span{color:#334155;font-size:14px}.data-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table thead{background:#f8fafc}.data-table th{color:#475569;padding:12px 15px}.dt-sortable{cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}.dt-sortable:hover{background:#f1f5f9}.dt-header-content{align-items:center;display:flex;gap:8px;justify-content:space-between}.sort-indicator{align-items:center;color:#3b82f6;display:inline-flex;font-size:12px;font-weight:700;gap:2px}.dt-filter-row th{background:#fff;border-bottom:1px solid #e2e8f0;padding:8px 15px}.dt-totals-row th{background:#fef3c7;border-bottom:3px solid #f59e0b;color:#92400e;font-size:14px;font-weight:700;padding:12px 15px}.dt-filter-input{border:1px solid #cbd5e1;border-radius:4px;font-size:13px;padding:6px 10px;transition:border-color .2s;width:100%}.dt-filter-input:focus{border-color:#3b82f6;outline:none}.dt-date-range-filter{display:flex;flex-direction:column;gap:4px}.dt-date-input-wrapper{align-items:center;display:flex;position:relative}.dt-date-input{flex:1 1;font-size:12px;min-width:0;padding:4px 6px}.dt-date-input::placeholder{font-size:11px}.dt-clear-date-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:10px;height:18px;justify-content:center;line-height:1;padding:0;position:absolute;right:4px;transition:background .2s;width:18px}.dt-clear-date-btn:hover{background:#dc2626}.dt-clear-date-btn:active{transform:scale(.95)}.data-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .15s}.data-table tbody tr.dt-selected{background:#eff6ff}.data-table tbody tr.dt-clickable{cursor:pointer}.data-table td{color:#334155;padding:12px 15px}.dt-select-col{text-align:center;width:40px}.dt-select-col input[type=checkbox]{cursor:pointer}.dt-empty{color:#94a3b8;font-style:italic;padding:40px 20px;text-align:center}.data-table-pagination{align-items:center;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;padding:15px 20px}.dt-page-size{align-items:center;color:#64748b;display:flex;font-size:14px;gap:8px}.dt-page-size select{border:1px solid #cbd5e1;border-radius:4px;cursor:pointer;font-size:14px;margin:0 5px;padding:6px 10px}.dt-page-controls{align-items:center;display:flex;gap:5px}.dt-page-btn{background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;cursor:pointer;font-size:14px;height:36px;min-width:36px;padding:0 10px;transition:all .2s}.dt-page-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.dt-page-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:600}.dt-page-btn:disabled{cursor:not-allowed;opacity:.4}.dt-page-ellipsis{color:#94a3b8;padding:0 5px}@media (max-width:768px){.data-table-header{align-items:stretch;flex-direction:column}.data-table-controls{justify-content:flex-end}.data-table-pagination{flex-direction:column;gap:10px}.dt-page-controls,.dt-page-size{justify-content:center;width:100%}.data-table{font-size:13px}.data-table td,.data-table th{padding:10px}}.data-table-loading{color:#64748b;padding:40px;text-align:center}@keyframes highlight{0%{background:#fef3c7}to{background:#0000}}.data-table tbody tr.dt-highlight{animation:highlight 1s ease}.excel-filter-menu{background:#fff;border:1px solid #d1d5db;border-radius:4px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;font-size:13px;max-width:300px;min-width:220px;z-index:1000}.excel-filter-section{padding:4px 0}.excel-filter-item{cursor:pointer;padding:6px 12px;position:relative;-webkit-user-select:none;user-select:none}.excel-filter-item:hover{background-color:#f3f4f6}.excel-filter-divider{background-color:#e5e7eb;height:1px;margin:4px 0}.excel-filter-checkbox{align-items:center;cursor:pointer;display:flex;padding:4px 12px;-webkit-user-select:none;user-select:none}.excel-filter-checkbox input[type=checkbox]{cursor:pointer;margin-right:8px}.excel-filter-checkbox:hover{background-color:#f9fafb}.excel-filter-values{max-height:250px;overflow-y:auto}.excel-filter-note{color:#6b7280;font-size:11px;font-style:italic;padding:8px 12px}.excel-filter-actions{border-top:1px solid #e5e7eb;display:flex;gap:8px;justify-content:flex-end;padding:8px}.excel-filter-btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 12px}.excel-filter-btn:hover{background-color:#f9fafb}.excel-filter-btn-primary{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.excel-filter-btn-primary:hover{background-color:#2563eb}.excel-filter-submenu-trigger{position:relative}.excel-filter-menu,.excel-filter-section{overflow:visible}.excel-filter-submenu{background:#fff;border:1px solid #d1d5db;border-radius:4px;box-shadow:0 4px 6px -1px #0000001a;left:100%;margin-left:4px;min-width:240px;padding:12px;position:absolute;top:0;white-space:normal;width:240px;z-index:1001}.excel-filter-submenu-item{margin-bottom:10px;width:100%}.excel-filter-submenu-item:last-of-type{margin-bottom:0}.excel-filter-input,.excel-filter-select{border:1px solid #d1d5db;border-radius:4px;font-size:12px;padding:4px 8px;width:100%}.excel-filter-input:focus,.excel-filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.excel-filter-submenu-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.modal-overlay{animation:fadeIn .2s ease-out;background-color:#00000080}.modal-container{animation:slideUp .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:90vh}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-small{max-width:400px;width:90%}.modal-medium{max-width:600px;width:90%}.modal-large{max-width:900px;width:90%}.modal-header{padding:20px 24px}.modal-header h2{color:#1a202c;font-weight:600}.modal-close:hover{color:#2d3748}.modal-content{flex:1 1;padding:24px}.form-group label{margin-bottom:6px}.form-group label.required:after{color:#e53e3e;content:" *"}.form-group input:not([type=radio]):not([type=checkbox]),.form-group select,.form-group textarea{border:1px solid #e2e8f0;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-group input:not([type=radio]):not([type=checkbox]):focus,.form-group select:focus,.form-group textarea:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.form-group textarea{font-family:inherit;min-height:80px;resize:vertical}.form-group small{color:#718096;display:block;font-size:12px;margin-top:4px}.form-row{grid-gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.form-row,.form-row-3{display:grid;gap:16px;margin-bottom:20px}.form-row-3{grid-gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:20px}.form-error{background:#fff5f5;border:1px solid #feb2b2;border-radius:6px;color:#c53030}.form-error,.form-success{font-size:14px;margin-bottom:20px;padding:12px}.form-success{background:#f0fff4;border:1px solid #9ae6b4;border-radius:6px;color:#22543d}.btn-cancel{border:1px solid #e2e8f0;color:#4a5568;transition:all .2s}.btn-cancel:hover{background:#f7fafc;border-color:#cbd5e0}.btn-submit{background:#4299e1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-submit:hover{background:#3182ce}.btn-submit:disabled{background:#cbd5e0;cursor:not-allowed}.loading-spinner-small{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;margin-right:8px;width:16px}.column-builder{display:flex;flex-direction:column;gap:24px;max-height:80vh;overflow-y:auto;padding:4px}.column-builder-intro{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:6px;color:#1e40af;font-size:14px;line-height:1.5;padding:12px 16px}.column-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.column-section-title{align-items:center;border-bottom:2px solid #e5e7eb;color:#1f2937;display:flex;font-size:16px;font-weight:600;justify-content:space-between;margin:0 0 12px;padding-bottom:12px}.column-count{background:#fff;border:1px solid #d1d5db;border-radius:12px;font-weight:500;padding:4px 12px}.column-count,.section-help{color:#6b7280;font-size:13px}.section-help{line-height:1.5;margin:0 0 16px}.column-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.column-checkbox{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:10px 12px;position:relative;transition:all .15s}.column-checkbox:hover{background:#f8fafc;border-color:#3b82f6;box-shadow:0 1px 3px #0000001a}.column-checkbox.always-visible{background:#f0f9ff;border-color:#bae6fd;cursor:not-allowed}.column-checkbox input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;width:18px}.column-checkbox.always-visible input[type=checkbox]{cursor:not-allowed}.column-label{color:#374151;flex:1 1;font-size:14px;font-weight:500}.always-badge{background:#bae6fd;border-radius:4px;color:#0369a1;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.line-type-category{margin-bottom:20px}.line-type-category:last-child{margin-bottom:0}.category-title{background:#fff;border-left:3px solid #3b82f6;border-radius:6px;color:#4b5563;font-size:14px;font-weight:600;margin:0 0 12px;padding:6px 12px}.line-type-list{display:flex;flex-direction:column;gap:12px}.line-type-item{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:12px;transition:all .15s}.line-type-item:hover{border-color:#3b82f6;box-shadow:0 1px 3px #0000001a}.line-type-checkbox{align-items:center;cursor:pointer;display:flex;gap:10px;margin-bottom:12px}.line-type-checkbox input[type=checkbox]{cursor:pointer;height:20px;width:20px}.line-type-label{color:#1f2937;font-size:15px;font-weight:600}.aggregation-selector{border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:8px;padding-top:12px}.agg-label{color:#6b7280;font-size:13px;font-weight:500}.agg-buttons{display:flex;flex-wrap:wrap;gap:6px}.agg-button{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#4b5563;cursor:pointer;display:flex;flex:1 1;font-size:13px;gap:6px;justify-content:center;min-width:100px;padding:6px 12px;transition:all .15s}.agg-button:hover{background:#eff6ff;border-color:#3b82f6}.agg-button.active{background:#3b82f6;border-color:#2563eb;box-shadow:0 1px 3px #3b82f64d;color:#fff;font-weight:600}.agg-icon{font-size:16px;font-weight:700}.agg-text{font-size:12px}.column-preview{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;padding:16px}.column-preview h3{font-size:15px;font-weight:600;margin:0 0 12px;opacity:.95}.preview-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.preview-stat{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:6px;display:flex;flex-direction:column;gap:4px;padding:12px}.preview-value{font-size:24px}.column-builder-actions{align-items:center;border-top:2px solid #e5e7eb;display:flex;gap:12px;justify-content:space-between;padding-top:20px}@media (max-width:768px){.column-grid{grid-template-columns:1fr}.agg-buttons{flex-direction:column}.agg-button{min-width:0}.preview-stats{grid-template-columns:repeat(2,1fr)}.column-builder-actions{align-items:stretch;flex-direction:column}.action-buttons-right{width:100%}.btn-cancel,.btn-reset,.btn-save{flex:1 1}}.column-order-list{background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex-direction:column;gap:8px;padding:12px}.column-order-item{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:6px;cursor:grab;display:flex;gap:12px;padding:12px 16px;transition:all .2s}.column-order-item:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 4px #0000000d}.column-order-item.dragging{background:#eff6ff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633;cursor:grabbing;opacity:.5}.column-order-item.hidden-column{border-style:dashed;opacity:.5}.drag-handle{color:#9ca3af;cursor:grab;font-size:20px;line-height:1;-webkit-user-select:none;user-select:none}.column-order-item.dragging .drag-handle{cursor:grabbing}.column-order-label{color:#1f2937;flex:1 1;font-size:14px;font-weight:500}.column-order-item.hidden-column .column-order-label{color:#9ca3af}.hidden-badge{background:#f3f4f6;border-radius:10px;color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.column-order-section .section-help{margin-bottom:12px}.card-builder{display:flex;flex-direction:column;gap:20px;max-height:80vh;overflow-y:auto;padding:4px}.card-builder-intro{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:6px;color:#1e40af;font-size:14px;line-height:1.5;padding:12px 16px}.card-builder-actions-top{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:10px;padding:12px 16px}.btn-deselect-all,.btn-select-all{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#4b5563;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .15s}.btn-select-all:hover{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.btn-deselect-all:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444}.cards-count{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;font-size:13px;font-weight:600;margin-left:auto;padding:6px 12px}.card-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding:4px}.card-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:120px;padding:20px 16px;position:relative;transition:all .2s}.card-option:hover{border-color:#3b82f6;box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.card-option.selected{border-width:3px;box-shadow:0 4px 12px #3b82f64d}.card-option.color-purple{border-color:#e9d5ff}.card-option.color-purple.selected{background:#faf5ff;border-color:#a855f7}.card-option.color-blue{border-color:#dbeafe}.card-option.color-blue.selected{background:#eff6ff;border-color:#3b82f6}.card-option.color-yellow{border-color:#fef3c7}.card-option.color-yellow.selected{background:#fffbeb;border-color:#f59e0b}.card-option.color-green{border-color:#d1fae5}.card-option.color-green.selected{background:#f0fdf4;border-color:#10b981}.card-option.color-indigo{border-color:#e0e7ff}.card-option.color-indigo.selected{background:#eef2ff;border-color:#6366f1}.card-option.color-emerald{border-color:#d1fae5}.card-option.color-emerald.selected{background:#ecfdf5;border-color:#059669}.card-option.color-red{border-color:#fee2e2}.card-option.color-red.selected{background:#fef2f2;border-color:#ef4444}.card-option.color-cyan{border-color:#cffafe}.card-option.color-cyan.selected{background:#ecfeff;border-color:#06b6d4}.card-option.color-pink{border-color:#fce7f3}.card-option.color-pink.selected{background:#fdf2f8;border-color:#ec4899}.card-checkbox{left:8px;position:absolute;top:8px}.card-checkbox input[type=checkbox]{cursor:pointer;height:20px;width:20px}.card-icon{font-size:36px;margin-bottom:4px}.card-label{color:#1f2937;font-size:14px;font-weight:600;line-height:1.3;text-align:center}.card-selected-badge{align-items:center;background:#10b981;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;position:absolute;right:8px;top:8px;width:24px}.card-builder-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.card-builder-preview h3{color:#1f2937;font-size:15px;font-weight:600;margin:0 0 12px}.preview-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.preview-card{border-radius:12px;color:#fff;display:flex;flex-direction:column;gap:4px;justify-content:center;min-height:100px;padding:16px}.preview-card.color-purple{background:linear-gradient(135deg,#667eea,#764ba2)}.preview-card.color-blue{background:linear-gradient(135deg,#667eea,#3b82f6)}.preview-card.color-yellow{background:linear-gradient(135deg,#f59e0b,#d97706)}.preview-card.color-green{background:linear-gradient(135deg,#10b981,#059669)}.preview-card.color-indigo{background:linear-gradient(135deg,#6366f1,#4f46e5)}.preview-card.color-emerald{background:linear-gradient(135deg,#10b981,#047857)}.preview-card.color-red{background:linear-gradient(135deg,#f87171,#dc2626)}.preview-card.color-cyan{background:linear-gradient(135deg,#06b6d4,#0891b2)}.preview-card.color-pink{background:linear-gradient(135deg,#ec4899,#db2777)}.preview-icon{font-size:24px;opacity:.9}.preview-label{font-size:12px;font-weight:500;opacity:.9}.preview-value{font-size:28px;font-weight:700;margin-top:4px}.preview-empty{background:#fff;border:2px dashed #d1d5db;border-radius:8px;color:#9ca3af;font-size:14px;grid-column:1/-1;padding:40px;text-align:center}.card-builder-actions{align-items:center;border-top:2px solid #e5e7eb;display:flex;gap:12px;justify-content:space-between;padding-top:20px}.action-buttons-right{display:flex;gap:10px}.btn-reset{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:10px 18px;transition:all .15s}.btn-reset:hover{background:#fffbeb;border-color:#f59e0b;color:#f59e0b}.btn-cancel{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .15s}.btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.btn-save{background:#3b82f6;border:none;border-radius:6px;box-shadow:0 1px 3px #3b82f64d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .15s}.btn-save:hover{background:#2563eb;box-shadow:0 4px 6px #3b82f666}@media (max-width:768px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.preview-grid{grid-template-columns:repeat(2,1fr)}.card-builder-actions-top{flex-wrap:wrap}.cards-count{text-align:center;width:100%}.card-builder-actions{align-items:stretch;flex-direction:column}.action-buttons-right{width:100%}.btn-cancel,.btn-reset,.btn-save{flex:1 1}}.resolution-summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:30px}.summary-card{align-items:center;border-radius:16px;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;gap:16px;overflow:hidden;padding:24px;position:relative;transition:all .3s}.summary-card:before{background:#ffffff1a;border-radius:50%;content:"";height:200px;position:absolute;right:-20%;top:-50%;width:200px;z-index:0}.summary-card:hover{box-shadow:0 8px 16px #0003;transform:translateY(-4px)}.card-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));flex-shrink:0;font-size:42px;line-height:1;z-index:1}.card-content{flex:1 1;z-index:1}.card-label{font-size:13px;font-weight:500;letter-spacing:.3px;margin-bottom:8px;opacity:.95;text-transform:uppercase}.card-value{font-size:32px;font-weight:700;line-height:1.1;margin-bottom:4px;text-shadow:0 2px 4px #0000001a}.card-subvalue{font-size:13px;font-weight:500;margin-top:6px;opacity:.85}.card-purple{background:linear-gradient(135deg,#667eea,#764ba2)}.card-blue{background:linear-gradient(135deg,#667eea,#3b82f6)}.card-yellow{background:linear-gradient(135deg,#f59e0b,#d97706)}.card-green{background:linear-gradient(135deg,#10b981,#059669)}.card-indigo{background:linear-gradient(135deg,#6366f1,#4f46e5)}.card-emerald{background:linear-gradient(135deg,#10b981,#047857)}.card-red{background:linear-gradient(135deg,#f87171,#dc2626)}.card-cyan{background:linear-gradient(135deg,#06b6d4,#0891b2)}.card-pink{background:linear-gradient(135deg,#ec4899,#db2777)}@media (max-width:1200px){.resolution-summary-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card-value{font-size:28px}.card-icon{font-size:36px}}@media (max-width:768px){.resolution-summary-cards{gap:12px;grid-template-columns:repeat(2,1fr)}.summary-card{flex-direction:column;padding:16px;text-align:center}.card-value{font-size:24px}.card-icon{font-size:32px}}@media (max-width:480px){.resolution-summary-cards{grid-template-columns:1fr}}.line-type-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.line-type-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;overflow:hidden;width:90%}.line-type-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e5e7eb;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.line-type-modal-header h2{font-size:24px;font-weight:600;margin:0}.line-type-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;transition:all .2s;width:40px}.line-type-close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.line-type-modal-body{flex:1 1;overflow-y:auto;padding:30px}.line-type-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;padding:15px 30px;text-align:center}.line-type-footer-note{color:#6b7280;font-size:14px;margin:0}.line-type-loading{color:#6b7280;font-size:16px;padding:40px;text-align:center}.line-type-error{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b;padding:20px;text-align:center}.line-type-error button{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:10px;padding:8px 16px}.line-type-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.line-type-list-header h3{color:#1f2937;font-size:20px;margin:0}.line-type-empty{color:#6b7280;padding:60px 20px;text-align:center}.line-type-empty p{font-size:18px;margin-bottom:20px}.line-type-table{border-collapse:collapse;font-size:14px;width:100%}.line-type-table thead{background:#f3f4f6;border-bottom:2px solid #e5e7eb}.line-type-table th{color:#374151;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase}.line-type-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background .2s}.line-type-table tbody tr:hover{background:#f9fafb}.line-type-table td{color:#4b5563;padding:14px 12px}.line-type-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.line-type-badge.direction-in{background:#dbeafe;color:#1e40af}.line-type-badge.direction-out{background:#fef3c7;color:#92400e}.line-type-badge.category-revenue{background:#d1fae5;color:#065f46}.line-type-badge.category-expense{background:#fee2e2;color:#991b1b}.line-type-badge.category-distribution{background:#e0e7ff;color:#3730a3}.line-type-badge.status-active{background:#d1fae5;color:#065f46}.line-type-badge.status-inactive{background:#f3f4f6;color:#6b7280}.line-type-actions{display:flex;gap:8px;justify-content:center}.line-type-actions button{background:#f3f4f6;border:none;border-radius:6px;cursor:pointer;font-size:16px;padding:6px 10px;transition:all .2s}.line-type-actions button:hover{background:#e5e7eb;transform:scale(1.1)}.line-type-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:25px}.line-type-form h3{color:#1f2937;font-size:18px;margin:0 0 20px}.line-type-form-group{margin-bottom:20px}.line-type-form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.line-type-form-group input[type=number],.line-type-form-group input[type=text],.line-type-form-group select,.line-type-form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.line-type-form-group input:focus,.line-type-form-group select:focus,.line-type-form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.line-type-form-group textarea{resize:vertical}.line-type-form-group input[type=checkbox]{margin-right:8px;width:auto}.line-type-form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.line-type-form-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:25px;padding-top:20px}.btn-primary{font-weight:600;transition:all .2s}.btn-primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151;font-weight:600;transition:all .2s}.btn-secondary:hover{background:#e5e7eb}@media (max-width:768px){.line-type-modal-content{max-height:95vh;width:95%}.line-type-form-row{grid-template-columns:1fr}.line-type-table{font-size:12px}.line-type-table td,.line-type-table th{padding:8px 6px}.line-type-modal-body,.line-type-modal-footer,.line-type-modal-header{padding:15px 20px}}.resolutions-grouped{margin-top:20px}.matter-stats{flex-wrap:wrap;gap:20px}.stat-item{min-width:120px}.stat-value{font-size:15px}.stat-value.gross{color:#3b82f6}.stat-value.costs,.stat-value.fees{color:#10b981}.resolutions-table{background:#fff;border-collapse:collapse;border-radius:6px;box-shadow:0 1px 3px #0000000d;font-size:13px;overflow:hidden;width:100%}.resolutions-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.resolutions-table th{color:#475569;font-size:11px;font-weight:700;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.resolutions-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .2s}.resolutions-table tbody tr.clickable-row{cursor:pointer}.resolutions-table tbody tr:hover{background:#f8fafc}.resolutions-table tbody tr.clickable-row:hover{background:#e0f2fe}.resolutions-table tbody tr:last-child{border-bottom:none}.resolutions-table td{color:#334155;font-size:13px;padding:10px 12px}.res-number{color:#2563eb;font-weight:600}.amount-cell{white-space:nowrap}.amount-gross{color:#3b82f6}.amount-costs,.amount-fees{color:#10b981}.amount-expenses{color:#f59e0b}.amount-net.positive{color:#10b981}.amount-net.negative{color:#ef4444}.status-badge{border-radius:12px;display:inline-block}.status-active{background:#dcfce7;color:#166534}.status-pending{background:#fef3c7;color:#92400e}.status-cancelled{background:#fee2e2;color:#991b1b}.btn-edit,.btn-view{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 10px;transition:all .2s}.btn-view{background:#6366f1;color:#fff}.btn-view:hover{background:#4f46e5}@media (max-width:1400px){.matter-stats{gap:16px}.stat-item{min-width:100px}.stat-value{font-size:14px}}@media (max-width:1000px){.matter-summary{flex-wrap:wrap}.matter-info{flex:1 0 100%;margin-bottom:12px}.matter-stats{flex:1 0 100%;justify-content:space-between}.stat-item{min-width:80px}}@media (max-width:768px){.resolutions-table{font-size:11px}.resolutions-table td,.resolutions-table th{padding:8px 6px}}.bank-accounts-page{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bank-accounts-page .stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.bank-accounts-page .stat-card{align-items:center;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:15px;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.bank-accounts-page .stat-card:before{content:"";height:3px;left:0;opacity:.8;position:absolute;right:0;top:0}.bank-accounts-page .stat-card.blue:before{background:linear-gradient(135deg,#667eea,#764ba2)}.bank-accounts-page .stat-card.green:before{background:linear-gradient(135deg,#0ba360,#3cba92)}.bank-accounts-page .stat-card.purple:before{background:linear-gradient(135deg,#a8c0ff,#3f2b96)}.bank-accounts-page .stat-card.orange:before{background:linear-gradient(135deg,#f093fb,#f5576c)}.bank-accounts-page .stat-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.bank-accounts-page .stat-icon{font-size:32px;line-height:1;opacity:.9}.bank-accounts-page .stat-content h3{color:#1a202c;font-size:28px;font-weight:700;margin:0}.bank-accounts-page .stat-content p{color:#718096;font-size:13px;font-weight:500;letter-spacing:.5px;margin:4px 0 0;text-transform:uppercase}.accounts-header{margin-bottom:24px}.filter-tabs{background:#f7fafc;border-radius:10px;display:flex;gap:8px;padding:6px;width:-webkit-fit-content;width:fit-content}.filter-tab{background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.filter-tab:hover{background:#6366f114;color:#6366f1}.filter-tab.active{background:#fff;box-shadow:0 2px 4px #0000000f;color:#6366f1}.accounts-grid{grid-gap:24px;animation:slideIn .4s ease-out;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.account-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.account-card:hover{border-color:#cbd5e0;box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.account-card-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.account-type-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:13px;font-weight:600;gap:6px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.account-type-badge[data-type=trust]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.account-type-badge[data-type=operating]{background:linear-gradient(135deg,#0ba360,#3cba92);color:#fff}.account-status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:4px 10px}.account-status-badge[data-status=active]{background:#d1fae5;color:#065f46}.account-status-badge[data-status=inactive]{background:#fee2e2;color:#991b1b}.account-card-body{flex:1 1;padding:24px}.account-number{color:#1a202c;font-family:Monaco,Courier New,monospace;font-size:20px;font-weight:700;letter-spacing:.5px;margin:0 0 8px}.account-name{color:#64748b;font-size:15px;line-height:1.5;margin:0 0 20px}.account-details{background:#f8fafc;border-radius:8px;display:flex;flex-direction:column;gap:10px;margin-bottom:20px;padding:16px}.account-detail-item{align-items:center;color:#475569;display:flex;font-size:13px;gap:10px}.detail-icon{font-size:16px;opacity:.8}.account-balance{background:linear-gradient(135deg,#667eea08,#764ba208);border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:6px;padding:16px}.balance-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.balance-amount{color:#1a202c;font-family:Monaco,Courier New,monospace;font-size:24px;font-weight:700}.account-card-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:8px;padding:16px 20px}.card-btn{align-items:center;border:1px solid #cbd5e0;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:6px;justify-content:center;padding:10px 16px;transition:all .2s ease}.edit-btn{background:#fff;border-color:#4f46e5;color:#4f46e5}.edit-btn:hover{background:#4f46e5;box-shadow:0 2px 6px #4f46e54d;color:#fff;transform:translateY(-1px)}.delete-btn{background:#fff;border-color:#dc2626;color:#dc2626}.delete-btn:hover{background:#dc2626;box-shadow:0 2px 6px #dc26264d;color:#fff;transform:translateY(-1px)}.empty-state{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #cbd5e0;border-radius:12px;padding:80px 40px;text-align:center}.empty-icon{font-size:64px;margin-bottom:20px;opacity:.5}.empty-state h3{color:#1a202c;font-size:22px;font-weight:700;margin:0 0 12px}.empty-state p{color:#64748b;font-size:15px;margin:0}@media (max-width:768px){.accounts-grid{grid-template-columns:1fr}.filter-tabs{overflow-x:auto;width:100%}.filter-tab{flex:1 1;min-width:-webkit-fit-content;min-width:fit-content}.bank-accounts-page .stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.bank-accounts-page .stats-grid{grid-template-columns:1fr}.account-card-footer{flex-direction:column}.card-btn{width:100%}}.chat-interface{background:#fffffff2;border-radius:15px;box-shadow:0 4px 15px #0000001a;display:flex;flex:1 1;flex-direction:column;overflow:hidden;position:relative}.chat-interface.dragging{border:3px dashed #667eea}.drag-overlay{align-items:center;background:#667eeaf2;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1000}.drag-overlay-content{color:#fff;text-align:center}.drag-icon{animation:bounce 1s infinite;font-size:80px;margin-bottom:20px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.drag-overlay-content h3{font-size:28px;margin-bottom:10px}.drag-overlay-content p{font-size:16px;opacity:.9}.messages-container{display:flex;flex:1 1;flex-direction:column;gap:20px;overflow-y:auto;padding:30px}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.messages-container::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:10px}.messages-container::-webkit-scrollbar-thumb:hover{background:#a0aec0}.message{animation:slideIn .3s ease-out;display:flex;margin-bottom:10px}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{justify-content:flex-end}.message.bot{justify-content:flex-start}.message-content{border-radius:18px;box-shadow:0 2px 8px #0000000d;max-width:70%;padding:15px 20px}.message.user .message-content{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom-right-radius:4px;color:#fff}.message.bot .message-content{background:#f7fafc;border-bottom-left-radius:4px;color:#2d3748}.message-text{word-wrap:break-word;font-size:15px;line-height:1.6;white-space:pre-wrap}.message-time{font-size:11px;margin-top:8px;opacity:.7;text-align:right}.typing-indicator{display:flex;gap:6px;padding:10px 0}.typing-indicator span{animation:typing 1.4s infinite;background:#a0aec0;border-radius:50%;height:8px;width:8px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.quick-actions{background:#fafbfc;border-top:1px solid #e2e8f0;padding:20px 30px}.quick-actions-title{color:#718096;font-size:13px;font-weight:600;margin-bottom:12px}.quick-actions-buttons{display:flex;flex-wrap:wrap;gap:10px}.quick-action-btn{background:#fff;border:2px solid #e2e8f0;border-radius:20px;color:#4a5568;cursor:pointer;font-size:13px;font-weight:500;padding:10px 18px;transition:all .3s ease}.quick-action-btn:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea33;color:#667eea;transform:translateY(-2px)}.input-container{background:#fff;border-top:1px solid #e2e8f0;display:flex;gap:12px;padding:20px 30px}.message-input{border:2px solid #e2e8f0;border-radius:25px;flex:1 1;font-size:15px;outline:none;padding:14px 20px;transition:all .3s ease}.message-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.message-input:disabled{background:#f7fafc;cursor:not-allowed}.clear-btn,.send-btn{border:none;border-radius:25px;cursor:pointer;font-size:15px;font-weight:600;padding:14px 28px;transition:all .3s ease}.send-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.send-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.send-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.clear-btn{background:#f7fafc;border:2px solid #e2e8f0;color:#718096}.clear-btn:hover{background:#fff;border-color:#cbd5e0;transform:translateY(-2px)}.upload-file-btn{background:#fff;border:2px solid #e2e8f0;border-radius:25px;cursor:pointer;font-size:18px;padding:14px 18px;transition:all .3s ease}.upload-file-btn:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea33;transform:translateY(-2px)}.import-confirmation-buttons{display:flex;gap:10px;margin-top:15px}.import-confirmation-buttons .btn-primary{background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.import-confirmation-buttons .btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #48bb7866;transform:translateY(-2px)}.import-confirmation-buttons .btn-primary:disabled{cursor:not-allowed;opacity:.5}.import-confirmation-buttons .btn-secondary{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#718096;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.import-confirmation-buttons .btn-secondary:hover:not(:disabled){border-color:#cbd5e0;transform:translateY(-2px)}.import-confirmation-buttons .btn-secondary:disabled{cursor:not-allowed;opacity:.5}.message.error .message-content{background:#fed7d7;border:2px solid #fc8181;color:#c53030}.quick-action-btn.upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.quick-action-btn.upload-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}@media (max-width:768px){.messages-container{padding:20px 15px}.message-content{max-width:85%}.input-container{gap:8px;padding:15px}.message-input{font-size:14px;padding:12px 16px}.clear-btn,.send-btn{font-size:14px;padding:12px 20px}.quick-actions{padding:15px}.quick-action-btn{font-size:12px;padding:8px 14px}}.markdown-body{color:#24292e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.6}.markdown-body h1,.markdown-body h2,.markdown-body h3{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.markdown-body h3{color:#667eea;font-size:1.25em}.markdown-body p{margin-bottom:16px}.markdown-body strong{color:#667eea;font-weight:600}.markdown-body table{border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #00000014;font-size:13px;margin:16px 0;overflow:hidden;width:100%}.markdown-body thead{background:linear-gradient(135deg,#667eea,#764ba2)}.markdown-body th{border-bottom:none;color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.markdown-body td{border-bottom:1px solid #e1e4e8;color:#24292e;padding:10px 16px}.markdown-body tbody tr{transition:background-color .2s ease}.markdown-body tbody tr:hover{background-color:#f6f8fa}.markdown-body tbody tr:last-child td{border-bottom:none}.markdown-body tbody tr:nth-child(2n){background-color:#f9fafb}.markdown-body tbody tr:nth-child(2n):hover{background-color:#f0f2f5}.markdown-body code{background-color:#667eea1a;border-radius:3px;font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}.distributions-grouped{margin-top:20px}.group-controls{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding:16px}.search-container{flex:0 0 300px;position:relative}.search-input{border:1px solid #cbd5e1;border-radius:6px;font-size:14px;padding:10px 36px 10px 12px;transition:all .2s;width:100%}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.clear-search{background:#e2e8f0;border:none;border-radius:4px;color:#64748b;cursor:pointer;font-size:12px;padding:4px 8px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .2s}.clear-search:hover{background:#cbd5e1;color:#1e293b}.sort-container{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.sort-container label{color:#64748b;font-size:13px;font-weight:600;margin-right:4px}.btn-sort{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#475569;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s;white-space:nowrap}.btn-sort:hover{background:#f1f5f9;border-color:#94a3b8}.btn-sort.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.expand-controls{display:flex;gap:8px}.btn-control{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#475569;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-control:hover{background:#f1f5f9;border-color:#94a3b8}.group-summary{color:#64748b;font-size:14px;font-weight:500;margin-left:auto;white-space:nowrap}.no-results{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;padding:40px 20px;text-align:center}.no-results p{font-size:16px;margin:0}.matter-group{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:16px;overflow:hidden}.matter-summary{align-items:center;background:linear-gradient(90deg,#f8fafc,#fff);display:flex;padding:16px;transition:background .2s}.matter-summary:hover{background:linear-gradient(90deg,#f1f5f9,#f8fafc)}.matter-info:hover,.matter-toggle:hover{opacity:.8}.matter-toggle{margin-right:12px}.toggle-icon{color:#64748b;display:inline-block;font-size:14px;transition:transform .2s;width:20px}.matter-info{flex:0 0 350px;margin-right:24px}.matter-number{color:#1e293b;font-size:16px;font-weight:700;margin-bottom:4px}.matter-name{color:#64748b;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matter-stats{display:flex;flex:1 1;gap:24px;justify-content:flex-end}.stat-item{align-items:flex-end;display:flex;flex-direction:column}.stat-label{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.stat-value{color:#1e293b;font-size:16px;font-weight:700}.stat-value.debits{color:#ef4444}.stat-value.credits,.stat-value.net.positive{color:#10b981}.stat-value.net.negative{color:#ef4444}.matter-details{background:#fafbfc;border-top:2px solid #e2e8f0;padding:16px}.distributions-table{background:#fff;border-collapse:collapse;border-radius:6px;box-shadow:0 1px 3px #0000000d;overflow:hidden;width:100%}.distributions-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.distributions-table th{color:#475569;font-size:12px;font-weight:700;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.distributions-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .2s}.distributions-table tbody tr.clickable-row{cursor:pointer}.distributions-table tbody tr:hover{background:#f8fafc}.distributions-table tbody tr.clickable-row:hover{background:#e0f2fe}.distributions-table tbody tr:last-child{border-bottom:none}.distributions-table td{color:#334155;font-size:14px;padding:12px 16px}.dist-number{color:#2563eb;font-weight:600}.description-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amount-cell{font-weight:600;text-align:right}.amount-debits{color:#ef4444}.amount-credits{color:#10b981}.action-buttons{display:flex;gap:8px;justify-content:center}.btn-delete,.btn-edit{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 10px;transition:all .2s}.btn-edit{background:#3b82f6;color:#fff}.btn-edit:hover{background:#2563eb}.btn-delete{background:#ef4444;color:#fff}.btn-delete:hover{background:#dc2626}@media (max-width:1200px){.matter-stats{gap:16px}.stat-value{font-size:14px}}@media (max-width:900px){.matter-summary{flex-wrap:wrap}.matter-info{flex:1 0 100%;margin-bottom:12px}.matter-stats{flex:1 0 100%;justify-content:space-between}}.matter-reconciliation-detail{height:auto!important;margin:0 auto;max-width:1400px;min-height:100vh;overflow-x:visible!important;overflow-y:visible!important}.table-container{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:block;height:500px!important;max-height:500px!important;overflow-x:scroll!important;overflow-y:scroll!important;position:relative;scrollbar-color:#64748b #e2e8f0!important;scrollbar-width:auto!important}.table-container::-webkit-scrollbar{display:block!important;height:16px!important;width:16px!important}.table-container::-webkit-scrollbar-track{background:#e2e8f0!important;border-radius:0!important}.table-container::-webkit-scrollbar-thumb{background:#64748b!important;border:3px solid #e2e8f0!important;border-radius:0!important}.table-container::-webkit-scrollbar-thumb:hover{background:#475569!important}.table-container::-webkit-scrollbar-corner{background:#e2e8f0!important}.filter-row{background:#f8fafc}.filter-row th{border-bottom:2px solid #e2e8f0;padding:8px}.column-filter{background:#fff;border:1px solid #cbd5e1;border-radius:4px;font-size:12px;padding:6px 8px;width:100%}.column-filter:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a;outline:none}.pagination{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:20px;padding:20px}.pagination-btn{background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#1e293b;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f8fafc;border-color:#2563eb;color:#2563eb}.pagination-btn:disabled{cursor:not-allowed;opacity:.4}.pagination-info{color:#64748b;font-size:14px;font-weight:500;padding:6px 12px}.reconciliation-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:30px}.summary-section h3{color:#1e293b;font-size:16px;margin-bottom:15px;margin-top:0}.summary-cards{display:flex;flex-direction:column;gap:10px}.summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:15px}.summary-card.highlight{background:#f0f9ff;border-color:#0ea5e9}.summary-label{color:#64748b;font-size:12px;letter-spacing:.5px;margin-bottom:5px;text-transform:uppercase}.summary-value{color:#1e293b;font-size:24px;font-weight:600;margin-bottom:5px}.summary-detail{color:#64748b;font-size:12px}.reconciliation-status{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:15px;padding:15px}.status-item{gap:10px}.status-indicator,.status-item{align-items:center;display:flex;font-size:14px}.status-indicator{border-radius:50%;flex-shrink:0;font-weight:700;height:24px;justify-content:center;width:24px}.status-indicator.balanced{background:#dcfce7;color:#16a34a}.status-indicator.unbalanced{background:#fef3c7;color:#f59e0b}.difference{color:#dc2626;font-size:13px;font-weight:500;margin-left:auto}.badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:500;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase;white-space:nowrap}.badge-green{background:#dcfce7;color:#16a34a}.badge-blue{background:#dbeafe;color:#2563eb}.badge-orange{background:#fed7aa;color:#ea580c}.badge-purple{background:#e9d5ff;color:#9333ea}.badge-gray{background:#f1f5f9;color:#64748b}.badge-red{background:#fee2e2;color:#dc2626}.btn-sm{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;padding:4px 8px;transition:background .2s;white-space:nowrap}.btn-sm.btn-primary{background:#2563eb;color:#fff}.btn-sm.btn-primary:hover{background:#1e40af}.reconciled-container{align-items:center;display:inline-flex;gap:6px}.reconciled-badge{background:#dcfce7;border:1px solid #86efac;border-radius:4px;color:#16a34a;font-size:12px;font-weight:600;gap:4px;padding:6px 12px}.btn-unlink,.reconciled-badge{align-items:center;display:inline-flex}.btn-unlink{background:#fee2e2;border:1px solid #fca5a5;border-radius:3px;color:#dc2626;cursor:pointer;font-size:16px;font-weight:700;height:20px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:20px}.btn-unlink:hover{background:#fecaca;border-color:#f87171;transform:scale(1.1)}.btn-unlink:active{transform:scale(.95)}.matter-list table tbody tr:hover{background:#f8fafc}.data-table{border-collapse:collapse;font-size:14px;width:100%}.data-table thead{background:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.data-table thead tr:first-child{background:#f8fafc}.data-table th{border-bottom:2px solid #e2e8f0;color:#1e293b;font-weight:600;padding:12px;text-align:left;white-space:nowrap}.data-table thead tr:first-child th[style*="cursor: pointer"]:hover{background:#e0f2fe;color:#0369a1;transition:all .2s}.data-table thead tr:first-child th[style*="cursor: pointer"]:active{background:#bae6fd}.data-table td{border-bottom:1px solid #f1f5f9;padding:12px}.data-table tbody tr:hover{background:#f8fafc}.loading{color:#64748b;font-size:16px;padding:40px;text-align:center}.alert{border-radius:8px;margin-bottom:20px;padding:15px 20px}.alert-error{background:#fee2e2;border:1px solid #fca5a5;color:#dc2626}@media (max-width:768px){.reconciliation-summary{grid-template-columns:1fr}.summary-cards{flex-direction:row;flex-wrap:wrap}.summary-card{flex:1 1;min-width:150px}.table-container{max-height:400px}.pagination{flex-wrap:wrap;gap:8px}.pagination-btn{font-size:12px;padding:4px 8px}}.page-container{height:auto!important;max-width:100%;padding:20px}.matter-reconciliation-detail,.page-container{overflow:visible!important}.data-table td{max-width:300px;overflow:hidden;text-overflow:ellipsis}.data-table td:last-child{max-width:none}.modal-overlay{padding:20px}.modal-content{box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:100%}.modal-header{border-bottom:2px solid #e2e8f0;padding:20px 30px}.modal-header h2{color:#1e293b}.modal-close{color:#64748b;font-size:32px;transition:all .2s}.modal-close:hover{background:#f1f5f9;color:#1e293b}.modal-body{flex:1 1;overflow-y:auto;padding:30px}.distribution-info{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;margin-bottom:30px;padding:20px}.distribution-info h3{color:#64748b;font-size:14px;letter-spacing:.5px;margin:0 0 15px;text-transform:uppercase}.info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-grid>div{display:flex;flex-direction:column;gap:5px}.info-grid label{color:#64748b;font-size:12px;font-weight:600;text-transform:uppercase}.info-grid span{color:#1e293b;font-size:16px;font-weight:500}.info-grid span.amount{color:#2563eb;font-size:20px;font-weight:700}.loading-state{padding:60px 20px}.spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-top-color:#2563eb;margin:0 auto 20px}.error-state{border:2px solid #fca5a5;border-radius:8px;padding:40px 20px;text-align:center}.error-state p{font-weight:500;margin-bottom:15px}.no-matches{padding:40px 20px;text-align:center}.no-matches-icon{font-size:64px;margin-bottom:20px;opacity:.3}.no-matches h3{color:#1e293b;font-size:18px;margin-bottom:15px}.no-matches p{color:#64748b;margin-bottom:15px}.no-matches ul{display:inline-block;list-style:none;margin:20px 0;padding:0;text-align:left}.no-matches li{color:#475569;font-size:14px;padding:8px 0}.no-matches li:before{color:#94a3b8;content:"• ";font-weight:700;margin-right:8px}.no-matches .hint{background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;color:#92400e;font-size:13px;margin-top:20px;padding:15px}.manual-match-option{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #3b82f6;border-radius:8px;margin-top:30px;padding:20px}.manual-match-option h4{color:#1e40af;font-size:16px;font-weight:600;margin:0 0 10px}.manual-match-option p{color:#475569;font-size:14px;margin:0 0 15px}.btn-manual-match{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.btn-manual-match:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}.btn-manual-match:active{transform:translateY(0)}.matches-found h3{color:#1e293b;font-size:16px;margin-bottom:20px}.matches-list{display:flex;flex-direction:column;gap:15px}.match-card{border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;padding:20px;position:relative;transition:all .2s}.match-card:hover{border-color:#2563eb;box-shadow:0 4px 12px #2563eb1a;transform:translateY(-2px)}.match-card.selected{background:#eff6ff;border-color:#2563eb;box-shadow:0 4px 12px #2563eb33}.match-card.quality-excellent{border-left:4px solid #16a34a}.match-card.quality-good{border-left:4px solid #3b82f6}.match-card.quality-fair{border-left:4px solid #f59e0b}.match-card.quality-weak{border-left:4px solid #ef4444}.match-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.match-quality{border-radius:4px;font-size:13px;font-weight:600;padding:4px 12px}.quality-excellent .match-quality{background:#dcfce7;color:#16a34a}.quality-good .match-quality{background:#dbeafe;color:#2563eb}.quality-fair .match-quality{background:#fef3c7;color:#d97706}.quality-weak .match-quality{background:#fee2e2;color:#dc2626}.match-amount{color:#1e293b;font-size:20px;font-weight:700}.match-details{display:flex;flex-direction:column;gap:10px}.match-row{display:flex;font-size:14px;gap:15px}.match-row label{color:#64748b;font-weight:600;min-width:100px}.match-row span{color:#1e293b;flex:1 1}.match-row span.description{color:#475569;font-family:monospace;font-size:12px}.match-row.difference{background:#fef3c7;border-radius:0 0 6px 6px;margin:5px -12px -12px;padding:8px 12px}.match-row.difference label,.match-row.difference span{color:#92400e;font-weight:600}.selected-indicator{background:#2563eb;border-radius:20px;padding:6px 12px;right:20px;top:20px}.modal-footer{border-top:2px solid #e2e8f0;gap:15px;padding:20px 30px}.modal-footer .btn-primary,.modal-footer .btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.modal-footer .btn-primary{background:#2563eb;color:#fff}.modal-footer .btn-primary:hover:not(:disabled){background:#1e40af;box-shadow:0 4px 12px #2563eb66;transform:translateY(-1px)}.modal-footer .btn-primary:disabled{background:#cbd5e1;cursor:not-allowed;transform:none}.modal-footer .btn-secondary{background:#e2e8f0;color:#1e293b}.modal-footer .btn-secondary:hover:not(:disabled){background:#cbd5e1}.modal-footer .btn-secondary:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.modal-content{border-radius:0;max-height:100vh;max-width:100%}.modal-body{padding:20px}.info-grid{grid-template-columns:1fr}.match-row{flex-direction:column;gap:5px}.match-row label{min-width:auto}}.split-breakdown{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #fbbf24;border-radius:8px;margin-top:15px;padding:15px}.split-header{align-items:center;color:#78350f;display:flex;gap:8px;margin-bottom:12px}.split-icon{font-size:20px}.split-header strong{font-size:14px;font-weight:600}.split-details{background:#fff;border-radius:6px;margin:10px 0;padding:12px}.split-row{align-items:center;display:flex;justify-content:space-between;padding:6px 0}.split-row.split-total{border-bottom:2px solid #fbbf24;color:#1e293b;font-weight:600;padding-bottom:10px}.split-row.split-total .split-amount{color:#0369a1;font-size:16px}.split-divider{color:#78350f;font-size:12px;font-weight:600;letter-spacing:.5px;margin:10px 0;text-align:center;text-transform:uppercase}.split-row.split-item{color:#475569;font-size:14px}.split-row.split-item label{color:#64748b}.split-row.split-item .split-amount{color:#0f766e;font-weight:600}.split-note{background:#ffffff80;border-radius:4px;color:#92400e;font-size:12px;font-style:italic;margin-top:10px;padding:8px;text-align:center}.btn-manual-search,.btn-manual-search-alt{align-items:center;background:#8b5cf6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.btn-manual-search{justify-content:center;margin-bottom:15px;width:100%}.btn-manual-search-alt{font-size:13px;padding:8px 16px;width:auto}.btn-manual-search-alt:hover,.btn-manual-search:hover{background:#7c3aed;box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-1px)}.manual-search-mode{display:flex;flex-direction:column;gap:20px}.search-header{display:flex;flex-direction:column;gap:10px}.search-header h3{color:#1e293b;font-size:18px;margin:0}.btn-back{align-self:flex-start;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;color:#1e293b;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-back:hover{background:#e2e8f0;border-color:#94a3b8}.search-filters{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:15px;padding:20px}.search-filters .filter-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-field{display:flex;flex-direction:column;gap:5px}.filter-field label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.filter-field input{border:1px solid #cbd5e1;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .2s}.filter-field input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a;outline:none}.transactions-list{border:1px solid #e2e8f0;border-radius:8px}.list-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:13px;font-weight:600;padding:12px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.no-transactions{padding:40px}.manual-options{display:flex;flex-direction:column;gap:20px;margin-top:20px}.manual-split-modal{max-height:90vh;max-width:95vw;overflow-y:auto;width:900px}.distribution-info-box{border-radius:8px;margin-bottom:20px;padding:15px}.distribution-info-box h3{color:#334155}.info-row{padding:6px 0}.info-row .value{font-weight:500}.info-row .value.highlight{color:#0369a1;font-size:16px;font-weight:600}.instructions-box{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #3b82f6;border-radius:8px;padding:15px}.instructions-box strong{font-size:14px}.instructions-box ol{color:#475569;font-size:13px;margin:10px 0 10px 20px;padding:0}.instructions-box li{margin:5px 0}.warning-note{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:4px;color:#92400e;font-size:13px;margin-top:12px;padding:10px}.transactions-section{margin:20px 0}.transactions-section h3{color:#1e293b;font-size:16px;font-weight:600;margin-bottom:15px}.transactions-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding:5px}.transaction-card{background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;padding:15px;position:relative;transition:all .2s}.transaction-card:hover:not(.fully-allocated){border-color:#3b82f6;box-shadow:0 4px 6px #3b82f61a;transform:translateY(-2px)}.transaction-card.selected{background:#f0fdf4;border-color:#10b981;box-shadow:0 4px 12px #10b98133}.transaction-card.fully-allocated{background:#f8fafc;cursor:not-allowed;opacity:.5}.transaction-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.transaction-amount{color:#0369a1;font-size:20px;font-weight:700}.transaction-date{color:#64748b;font-size:13px;font-weight:500}.transaction-description{color:#475569;font-size:14px;line-height:1.5;margin-bottom:12px}.transaction-balance-info{background:#f8fafc;border-radius:6px;display:flex;justify-content:space-between;padding:10px}.balance-row{display:flex;flex-direction:column;gap:4px}.balance-row .label{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.balance-row .value{color:#475569;font-size:14px;font-weight:600}.balance-row.remaining .value.positive{color:#10b981;font-size:16px}.balance-row.remaining .value.zero{color:#ef4444}.fully-allocated-badge{background:#fca5a5;border-radius:12px;color:#7f1d1d;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 12px;position:absolute;right:10px;text-transform:uppercase;top:10px}.selected-indicator{align-items:center;background:#10b981;border-radius:16px;display:flex;font-weight:700;gap:4px;padding:6px 14px;right:10px;top:10px}.no-transactions{color:#64748b;padding:40px 20px;text-align:center}.no-transactions p{margin:10px 0}.no-transactions .hint{color:#94a3b8;font-size:13px}.split-amount-section{background:linear-gradient(135deg,#fefce8,#fef9c3);border:2px solid #eab308;border-radius:8px;margin-top:20px;padding:20px}.split-amount-section h3{color:#713f12;font-size:16px;font-weight:600;margin:0 0 15px}.split-info-bar{background:#fff;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:20px;padding:12px}.split-info-item{display:flex;flex-direction:column;gap:4px}.split-info-item.highlight{background:#dcfce7;border-radius:4px;padding:8px 12px}.split-info-item .label{color:#78350f;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.split-info-item .value{color:#451a03;font-size:16px;font-weight:700}.split-info-item.highlight .value{color:#14532d;font-size:18px}.form-group label{color:#713f12;font-weight:600}.form-group .required{color:#dc2626}.form-control{border:2px solid #d4d4d8;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-control:focus{border-color:#eab308;box-shadow:0 0 0 3px #eab3081a;outline:none}.form-hint{color:#78350f;font-size:12px;margin-top:4px}textarea.form-control{font-family:inherit;resize:vertical}.loading-state{padding:40px 20px;text-align:center}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;height:40px;margin:0 auto 15px;width:40px}.error-state{background:#fee2e2;border:1px solid #ef4444;color:#dc2626;margin:20px 0;padding:15px}.deal-link-modal{max-height:85vh;max-width:700px;overflow-y:auto}.distribution-info-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:16px;padding:16px}.distribution-info-box h3{color:#64748b;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.info-row{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px 0}.info-row:last-child{border-bottom:none}.info-row .label{color:#64748b;font-weight:500}.info-row .value{color:#1e293b;font-weight:600}.info-row .value.highlight{color:#059669;font-size:18px}.split-amount-box{background:#fefce8;border:2px solid #fcd34d;border-radius:6px;margin-bottom:16px;padding:16px}.split-amount-box label{color:#78350f;display:block;font-size:14px;margin-bottom:8px}.split-amount-input-group{align-items:center;display:flex;gap:8px;margin-bottom:8px}.currency-symbol{color:#78350f;font-size:20px;font-weight:600}.split-amount-input{background:#fff;border:2px solid #fcd34d;border-radius:6px;color:#1e293b;flex:1 1;font-size:18px;font-weight:600;padding:10px 12px}.split-amount-input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.btn-use-all{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:background .2s;white-space:nowrap}.btn-use-all:hover{background:#d97706}.split-amount-box .hint{color:#78350f;font-size:13px;font-style:italic;margin:0}.instructions-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;margin-bottom:20px;padding:12px 16px}.instructions-box strong{color:#1e40af;display:block;margin-bottom:6px}.instructions-box p{color:#475569;font-size:14px;line-height:1.5;margin:0}.deals-section{margin-top:20px}.deals-section h3{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 16px}.deals-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.deal-card{background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;padding:16px;position:relative;transition:all .2s}.deal-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000001a}.deal-card.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.deal-card.is-active{border-left:4px solid #10b981}.deal-card.is-closed{border-left:4px solid #94a3b8;opacity:.85}.deal-card.is-collateral{background:#fffbeb;border-color:#fbbf24}.deal-card.is-collateral.selected{background:#fef3c7;border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.status-badge{border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;position:absolute;right:12px;text-transform:uppercase;top:12px}.status-badge[data-status=Active]{background:#d1fae5;color:#065f46}.status-badge[data-status=Closed]{background:#f1f5f9;color:#475569}.status-badge[data-status=Paid]{background:#dcfce7;color:#166534}.collateral-badge{background:#fbbf24;border-radius:4px;color:#78350f;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 8px;position:absolute;right:8px;text-transform:uppercase;top:8px}.deal-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.deal-title{flex:1 1}.deal-number{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.deal-creditor,.deal-name{color:#1e293b;font-size:16px;font-weight:600}.deal-amount{color:#059669;font-size:20px;font-weight:700;margin-left:16px}.deal-details{display:flex;flex-direction:column;gap:8px}.deal-row{align-items:center;display:flex;font-size:14px;justify-content:space-between}.deal-row label{color:#64748b;font-weight:500}.deal-row span{color:#1e293b;font-weight:600}.deal-row.balance{border-top:1px solid #e2e8f0;margin-top:4px;padding-top:8px}.deal-row.balance .value.positive{color:#059669;font-size:16px}.deal-row.balance .value.zero{color:#94a3b8}.selected-indicator{background:#3b82f6;border-radius:4px;bottom:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 10px;position:absolute;right:12px}.deal-card.is-collateral .selected-indicator{background:#f59e0b}.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px}.loading-state .spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:16px;width:40px}.loading-state p{color:#64748b;font-size:14px}@keyframes spin{to{transform:rotate(1turn)}}.error-state{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:16px 0;padding:16px}.error-state p{color:#dc2626;font-size:14px;margin:0}.no-deals{padding:40px;text-align:center}.no-deals p{color:#64748b;margin:8px 0}.no-deals p.hint{color:#94a3b8;font-size:14px}.modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:16px}.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.user-management{padding:20px}.user-management-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:30px}.user-management-header h1{color:#2d3748;font-size:28px;margin:0 0 8px}.user-management-header p{color:#718096;margin:0}.btn-add-user{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s;white-space:nowrap}.btn-add-user:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.users-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.users-table{border-collapse:collapse;width:100%}.users-table thead{background:#f7fafc}.users-table th{border-bottom:2px solid #e2e8f0;color:#2d3748;font-weight:600;padding:12px 16px;text-align:left}.users-table td{border-bottom:1px solid #e2e8f0;padding:12px 16px}.users-table tbody tr:hover{background:#f7fafc}.user-roles{display:flex;flex-wrap:wrap;gap:6px}.role-badge{background:#667eea;border-radius:12px;color:#fff;font-size:12px;font-weight:500;padding:4px 10px}.no-roles{color:#a0aec0;font-style:italic}.btn-manage-roles{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:background .2s}.btn-manage-roles:hover{background:#5568d3}.user-management-error,.user-management-loading{padding:40px;text-align:center}.user-management-error h2{color:#e53e3e;margin-bottom:10px}.assign-role,.current-roles{margin-bottom:24px}.assign-role h3,.current-roles h3{color:#2d3748;font-size:16px;margin:0 0 12px}.roles-list{display:flex;flex-direction:column;gap:8px}.role-item{align-items:center;background:#f7fafc;border-radius:6px;display:flex;justify-content:space-between;padding:10px 12px}.role-item span{color:#2d3748;font-weight:500}.btn-remove-role{background:#e53e3e;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:4px 10px;transition:background .2s}.btn-remove-role:hover{background:#c53030}.assign-role-controls{display:flex;gap:10px}.role-select{border:2px solid #e2e8f0;border-radius:6px;flex:1 1;font-size:14px;outline:none;padding:10px 12px}.role-select:focus{border-color:#667eea}.btn-assign-role{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.btn-assign-role:hover:not(:disabled){background:#5568d3}.btn-assign-role:disabled{cursor:not-allowed;opacity:.6}.roles-checkbox-list{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:12px}.role-checkbox-item{align-items:flex-start;background:#fff;border-radius:4px;cursor:pointer;display:flex;gap:12px;padding:8px;transition:background .2s}.role-checkbox-item:hover{background:#f1f5f9}.role-checkbox-item input[type=checkbox]{cursor:pointer;margin-top:2px}.role-checkbox-item strong{color:#2d3748;display:block}.register-error{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:14px;padding:12px;text-align:center}.role-management{padding:20px}.role-management-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:30px}.role-management-header h1{color:#2d3748;font-size:28px;margin:0 0 8px}.role-management-header p{color:#718096;margin:0}.btn-create-role{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.btn-create-role:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.roles-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.role-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:all .2s}.role-card:hover{border-color:#667eea;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.role-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.role-card-header h3{color:#2d3748;font-size:18px;margin:0}.system-role-badge{background:#fef3c7;border-radius:12px;color:#92400e;font-size:11px;font-weight:600;padding:4px 10px}.role-description{color:#718096;font-size:14px;line-height:1.5;margin:0 0 16px}.role-actions{display:flex;gap:8px}.btn-view-role{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;padding:8px 16px;transition:background .2s}.btn-view-role:hover{background:#5568d3}.btn-delete-role{background:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background .2s}.btn-delete-role:hover{background:#c53030}.role-management-error,.role-management-loading{padding:40px;text-align:center}.role-management-error h2{color:#e53e3e;margin-bottom:10px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:80vh;max-width:600px;overflow-y:auto;width:90%}.modal-content.large{max-width:900px}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px}.modal-header h2{color:#2d3748;font-size:20px;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#718096;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.modal-close:hover{background:#f7fafc}.modal-body{padding:20px}.role-description-text{border-bottom:1px solid #e2e8f0;color:#718096;margin-bottom:24px;padding-bottom:16px}.permission-category{margin-bottom:24px}.permission-category h3{color:#2d3748;font-size:16px;margin:0 0 12px;text-transform:capitalize}.permissions-list{display:flex;flex-direction:column;gap:8px}.permission-item{align-items:flex-start;background:#f7fafc;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:10px;transition:background .2s}.permission-item:hover{background:#f1f5f9}.permission-item input[type=checkbox]{cursor:pointer;margin-top:2px}.permission-item strong{color:#2d3748;display:block}.permission-desc{color:#718096;font-size:13px}.form-group{margin-bottom:20px}.form-group label{color:#2d3748;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input,.form-group textarea{border:2px solid #e2e8f0;border-radius:6px;box-sizing:border-box;font-size:14px;outline:none;padding:10px 12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea}.modal-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.btn-primary{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.btn-primary:hover{background:#5568d3}.btn-secondary{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;color:#2d3748;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.btn-secondary:hover{background:#f1f5f9}
/*# sourceMappingURL=main.a9e71691.css.map*/