:root{--ui-color-primary:#2fc6f6;--ui-color-primary-hover:#0eaad6;--ui-color-link:#2067b0;--ui-color-link-hover:#1b5694;--ui-color-base-90:#525c69;--ui-color-base-70:#828b95;--ui-color-base-50:#a8adb4;--ui-color-base-30:#c5c8cd;--ui-color-base-20:#d5d7db;--ui-color-base-10:#e6e7e9;--ui-color-base-5:#ecedef;--ui-color-base-2:#f4f5f7;--ui-color-base-1:#f9f9fa;--ui-color-white:#fff;--ui-color-success:#9dcf00;--ui-color-danger:#ff5752;--ui-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--ui-font-size-xs:11px;--ui-font-size-sm:12px;--ui-font-size-md:13px;--ui-font-size-lg:15px;--ui-font-size-xl:18px;--ui-radius:6px;--ui-radius-sm:4px;--ui-shadow-xs:0 1px 2px #0000000f;--ui-shadow-sm:0 2px 6px #00000014;--ui-shadow-md:0 4px 16px #0000001a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--ui-font-family);font-size:var(--ui-font-size-md);color:var(--ui-color-base-90);background:var(--ui-color-base-2);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}.app{min-height:100vh}.toolbar{background:var(--ui-color-white);border-bottom:1px solid var(--ui-color-base-10);z-index:100;position:sticky;top:0}.toolbar-row-top{justify-content:space-between;align-items:center;padding:14px 24px 10px;display:flex}.toolbar-left{align-items:center;gap:12px;display:flex}.toolbar-title{font-size:var(--ui-font-size-xl);color:var(--ui-color-base-90);letter-spacing:-.2px;font-weight:700}.toolbar-counter{min-width:28px;height:24px;font-size:var(--ui-font-size-xs);color:var(--ui-color-white);background:var(--ui-color-primary);border-radius:12px;justify-content:center;align-items:center;padding:0 8px;font-weight:700;display:inline-flex}.toolbar-right{align-items:center;gap:20px;display:flex}.toolbar-stat{flex-direction:column;align-items:flex-end;display:flex}.toolbar-stat-label{font-size:var(--ui-font-size-xs);color:var(--ui-color-base-50);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.toolbar-stat-value{font-size:var(--ui-font-size-lg);color:var(--ui-color-base-90);font-weight:700}.ui-btn{height:34px;font-size:var(--ui-font-size-md);font-weight:500;font-family:var(--ui-font-family);border-radius:var(--ui-radius-sm);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:0 16px;text-decoration:none;transition:all .15s;display:inline-flex}.ui-btn:disabled{opacity:.45;cursor:not-allowed}.ui-btn-sm{height:30px;font-size:var(--ui-font-size-sm);padding:0 12px}.ui-btn-xs{height:24px;font-size:var(--ui-font-size-xs);padding:0 10px}.ui-btn-primary{background:var(--ui-color-primary);color:var(--ui-color-white)}.ui-btn-primary:hover:not(:disabled){background:var(--ui-color-primary-hover)}.ui-btn-light-border{background:var(--ui-color-white);color:var(--ui-color-base-90);border:1px solid var(--ui-color-base-20)}.ui-btn-light-border:hover:not(:disabled){background:var(--ui-color-base-2);border-color:var(--ui-color-base-30)}.ui-btn-link{color:var(--ui-color-link);background:0 0;padding:0 6px}.ui-btn-link:hover{color:var(--ui-color-link-hover)}.ui-btn-icon-refresh{width:30px;padding:0;position:relative}.ui-btn-icon-refresh:before{content:"";border:2px solid var(--ui-color-base-50);border-top-color:#0000;border-radius:50%;width:14px;height:14px;display:block}.ui-btn-icon-refresh:hover:before{border-color:var(--ui-color-base-70);border-top-color:#0000}.toolbar-filters{border-top:1px solid var(--ui-color-base-5);align-items:center;gap:10px;padding:8px 24px 12px;display:flex}.toolbar-filters-label{font-size:var(--ui-font-size-sm);color:var(--ui-color-base-50);white-space:nowrap;font-weight:600}.toolbar-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{height:28px;font-size:var(--ui-font-size-sm);font-weight:500;font-family:var(--ui-font-family);color:var(--ui-color-base-70);background:var(--ui-color-base-2);border:1px solid var(--ui-color-base-10);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:14px;align-items:center;padding:0 12px;transition:all .15s;display:inline-flex}.chip:hover{background:var(--ui-color-base-5);border-color:var(--ui-color-base-20);color:var(--ui-color-base-90)}.chip--active{color:var(--ui-color-link);background:#2fc6f61a;border-color:#2fc6f659;font-weight:600}.chip--active:hover{color:var(--ui-color-link);background:#2fc6f62e;border-color:#2fc6f680}.content{padding:20px 24px}.table-wrapper{background:var(--ui-color-white);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow-sm);border:1px solid var(--ui-color-base-10);overflow:hidden}.b24-table{border-collapse:collapse;width:100%}.b24-table thead tr{background:var(--ui-color-base-1)}.b24-table th{font-size:var(--ui-font-size-xs);color:var(--ui-color-base-50);text-transform:uppercase;letter-spacing:.4px;text-align:left;border-bottom:1px solid var(--ui-color-base-10);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:9px 14px;font-weight:700}.b24-table td{font-size:var(--ui-font-size-md);color:var(--ui-color-base-90);border-bottom:1px solid var(--ui-color-base-5);vertical-align:middle;padding:11px 14px}.b24-table tbody tr{transition:background .1s}.b24-table tbody tr:hover{background:var(--ui-color-base-1)}.b24-table tbody tr:last-child td{border-bottom:none}.col-id{font-variant-numeric:tabular-nums;width:60px;color:var(--ui-color-base-50)!important;font-size:var(--ui-font-size-sm)!important}.col-title{min-width:180px}.col-category{width:140px}.col-amount{white-space:nowrap;font-variant-numeric:tabular-nums;width:130px;font-weight:600}.col-rate{white-space:nowrap;font-variant-numeric:tabular-nums;width:100px}.col-date{white-space:nowrap;font-variant-numeric:tabular-nums;width:100px;color:var(--ui-color-base-70)!important}.col-responsible{width:180px}.col-comment{min-width:160px}.deal-link{color:var(--ui-color-link);cursor:pointer;font-weight:500;transition:color .15s}.deal-link:hover{color:var(--ui-color-link-hover);text-decoration:underline}.category-badge{font-size:var(--ui-font-size-xs);color:var(--ui-color-base-70);background:var(--ui-color-base-2);white-space:nowrap;border-radius:3px;padding:2px 8px;font-weight:600;display:inline-block}.user-link{color:var(--ui-color-link);cursor:pointer;align-items:center;gap:8px;transition:color .15s;display:inline-flex}.user-link:hover{color:var(--ui-color-link-hover)}.user-link:hover .user-name{text-decoration:underline}.user-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:26px;height:26px}.user-avatar-placeholder{background:var(--ui-color-base-10);width:26px;height:26px;color:var(--ui-color-base-50);font-size:var(--ui-font-size-xs);text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.user-name{font-size:var(--ui-font-size-sm);white-space:nowrap}.table-row-clickable{cursor:pointer}.text-muted{color:var(--ui-color-base-30)}.comment-preview{font-size:var(--ui-font-size-sm);color:var(--ui-color-base-70);-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.modal-overlay{z-index:1000;background:#00000059;justify-content:center;align-items:center;animation:.15s modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--ui-color-white);border-radius:8px;flex-direction:column;width:520px;max-width:calc(100% - 40px);max-height:calc(100vh - 60px);animation:.2s modalScaleIn;display:flex;box-shadow:0 8px 32px #00000029,0 0 0 1px #0000000a}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid var(--ui-color-base-10);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.modal-header-left{align-items:center;gap:8px;display:flex}.modal-id{font-size:var(--ui-font-size-sm);color:var(--ui-color-base-50);font-weight:600}.modal-open-b24{width:24px;height:24px;color:var(--ui-color-base-50);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.modal-open-b24:hover{background:var(--ui-color-base-5);color:var(--ui-color-link)}.modal-close{width:30px;height:30px;color:var(--ui-color-base-50);cursor:pointer;border-radius:var(--ui-radius-sm);background:0 0;border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.modal-close:hover{background:var(--ui-color-base-5);color:var(--ui-color-base-90)}.modal-title-section{border-bottom:1px solid var(--ui-color-base-5);flex-shrink:0;padding:16px 20px 14px}.modal-title{color:var(--ui-color-base-90);word-break:break-word;margin-bottom:8px;font-size:16px;font-weight:700;line-height:1.3}.modal-stage{font-size:var(--ui-font-size-xs);color:#578a00;background:#f0f7e0;border-radius:3px;padding:2px 8px;font-weight:600;display:inline-block}.modal-body{flex:1;min-height:0;padding:16px 20px 20px;overflow-y:auto}.modal-body--chat{flex-direction:column;display:flex;overflow:hidden}.modal-fields{flex-direction:column;display:flex}.modal-row{border-bottom:1px solid var(--ui-color-base-5);align-items:baseline;padding:7px 0;display:flex}.modal-row:last-child{border-bottom:none}.modal-label{width:130px;font-size:var(--ui-font-size-sm);color:var(--ui-color-base-50);flex-shrink:0}.modal-value{font-size:var(--ui-font-size-md);color:var(--ui-color-base-90)}.modal-value--bold{font-weight:700}.modal-user{color:var(--ui-color-link);cursor:pointer;align-items:center;gap:6px;transition:color .15s;display:inline-flex}.modal-user:hover{color:var(--ui-color-link-hover);text-decoration:underline}.modal-user-photo{object-fit:cover;border-radius:50%;width:22px;height:22px}.modal-user-initials{background:var(--ui-color-base-10);width:22px;height:22px;color:var(--ui-color-base-50);text-transform:uppercase;border-radius:50%;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:inline-flex}.modal-divider{background:var(--ui-color-base-10);height:1px;margin:14px 0}.modal-section{margin-bottom:16px}.modal-section-title{font-size:var(--ui-font-size-sm);color:var(--ui-color-base-90);margin-bottom:8px;font-weight:600}.modal-input-group{align-items:center;gap:8px;display:flex}.modal-input{width:100px;height:32px;font-size:var(--ui-font-size-md);font-family:var(--ui-font-family);color:var(--ui-color-base-90);border:1px solid var(--ui-color-base-20);border-radius:var(--ui-radius-sm);background:var(--ui-color-white);outline:none;padding:0 10px;transition:border-color .15s}.modal-input:focus{border-color:var(--ui-color-primary)}.modal-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modal-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.modal-input[type=number]{-moz-appearance:textfield}.modal-input-unit{font-size:var(--ui-font-size-sm);color:var(--ui-color-base-50)}.modal-saved-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-success);font-weight:500;animation:.2s modalFadeIn}.modal-save-btn{height:28px;font-size:var(--ui-font-size-xs);font-weight:500;font-family:var(--ui-font-family);color:var(--ui-color-white);background:var(--ui-color-primary);border-radius:var(--ui-radius-sm);cursor:pointer;white-space:nowrap;border:none;padding:0 14px;transition:background .15s}.modal-save-btn:hover:not(:disabled){background:var(--ui-color-primary-hover)}.modal-save-btn:disabled{opacity:.5;cursor:not-allowed}.modal-hint{font-size:var(--ui-font-size-xs);color:var(--ui-color-base-50);margin-top:4px}.modal-textarea{width:100%;font-size:var(--ui-font-size-md);font-family:var(--ui-font-family);color:var(--ui-color-base-90);border:1px solid var(--ui-color-base-20);border-radius:var(--ui-radius-sm);resize:vertical;background:var(--ui-color-white);outline:none;padding:8px 10px;line-height:1.5;transition:border-color .15s}.modal-textarea:focus{border-color:var(--ui-color-primary)}.modal-textarea::placeholder{color:var(--ui-color-base-30)}.loading-container{flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.b24-loader{gap:8px;margin-bottom:20px;display:flex}.b24-loader-dot{background:var(--ui-color-primary);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite b24-bounce}.b24-loader-dot:nth-child(2){animation-delay:.15s}.b24-loader-dot:nth-child(3){animation-delay:.3s}@keyframes b24-bounce{0%,80%,to{opacity:.3;transform:scale(.5)}40%{opacity:1;transform:scale(1)}}.loading-text{font-size:var(--ui-font-size-lg);color:var(--ui-color-base-50);font-weight:500}.spinner-small{border:2px solid var(--ui-color-base-20);border-top-color:var(--ui-color-base-70);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{background:var(--ui-color-white);border-radius:var(--ui-radius);border:1px solid var(--ui-color-base-10);flex-direction:column;justify-content:center;align-items:center;padding:100px 20px;display:flex}.empty-title{font-size:var(--ui-font-size-xl);color:var(--ui-color-base-90);margin-top:24px;font-weight:600}.empty-subtitle{font-size:var(--ui-font-size-md);color:var(--ui-color-base-50);margin-top:8px}.error-state{background:var(--ui-color-white);border-radius:var(--ui-radius);border:1px solid var(--ui-color-base-10);flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.error-icon{width:52px;height:52px;color:var(--ui-color-danger);background:#fff1f0;border:2px solid #ff575226;border-radius:50%;justify-content:center;align-items:center;font-size:26px;font-weight:700;display:flex}.error-title{font-size:var(--ui-font-size-xl);color:var(--ui-color-danger);margin-top:20px;font-weight:600}.error-message{font-size:var(--ui-font-size-md);color:var(--ui-color-base-50);text-align:center;max-width:400px;margin-top:8px}.toolbar-search-row{border-top:1px solid var(--ui-color-base-5);align-items:center;gap:10px;padding:8px 24px 12px;display:flex}.toolbar-search-wrap{flex:1;max-width:320px;position:relative}.toolbar-search-icon{color:var(--ui-color-base-30);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.toolbar-search{width:100%;height:32px;font-size:var(--ui-font-size-sm);font-family:var(--ui-font-family);color:var(--ui-color-base-90);border:1px solid var(--ui-color-base-20);border-radius:var(--ui-radius-sm);background:var(--ui-color-white);outline:none;padding:0 30px 0 32px;transition:border-color .15s}.toolbar-search:focus{border-color:var(--ui-color-primary)}.toolbar-search::placeholder{color:var(--ui-color-base-30)}.toolbar-search-clear{width:20px;height:20px;color:var(--ui-color-base-50);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.toolbar-search-clear:hover{color:var(--ui-color-base-90)}.toolbar-select{height:32px;font-size:var(--ui-font-size-sm);font-family:var(--ui-font-family);color:var(--ui-color-base-90);border:1px solid var(--ui-color-base-20);border-radius:var(--ui-radius-sm);background:var(--ui-color-white) url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23828b95' stroke-width='1.3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 10px center;appearance:none;cursor:pointer;outline:none;min-width:180px;padding:0 28px 0 10px;transition:border-color .15s}.toolbar-select:focus{border-color:var(--ui-color-primary)}.grouped-tables{flex-direction:column;gap:16px;display:flex}.grouped-header{background:var(--ui-color-white);border:1px solid var(--ui-color-base-10);border-radius:var(--ui-radius) var(--ui-radius) 0 0;border-bottom:none;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.grouped-user{align-items:center;gap:8px;display:flex}.grouped-user-photo{object-fit:cover;border-radius:50%;width:28px;height:28px}.grouped-user-initials{background:var(--ui-color-base-10);width:28px;height:28px;color:var(--ui-color-base-50);font-size:var(--ui-font-size-xs);text-transform:uppercase;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.grouped-user-name{font-size:var(--ui-font-size-md);color:var(--ui-color-base-90);font-weight:600}.grouped-stats{font-size:var(--ui-font-size-sm);color:var(--ui-color-base-50);align-items:center;gap:6px;display:flex}.grouped-stat{font-weight:500}.grouped-stat-sep{color:var(--ui-color-base-20)}.grouped-section .table-wrapper{border-radius:0 0 var(--ui-radius) var(--ui-radius)}.modal--wide{width:580px;height:calc(100vh - 80px)}.modal-tabs{border-bottom:1px solid var(--ui-color-base-10);flex-shrink:0;display:flex}.modal-tab{font-size:var(--ui-font-size-sm);font-weight:500;font-family:var(--ui-font-family);color:var(--ui-color-base-50);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 16px;transition:all .15s;display:flex}.modal-tab:hover{color:var(--ui-color-base-90);background:var(--ui-color-base-2)}.modal-tab--active{color:var(--ui-color-link);border-bottom-color:var(--ui-color-primary);font-weight:600}.modal-tab-badge{min-width:18px;height:18px;color:var(--ui-color-white);background:var(--ui-color-primary);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.modal-section-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.modal-section-header .modal-section-title{margin-bottom:0}.modal-history-toggle{font-size:var(--ui-font-size-xs);color:var(--ui-color-link);cursor:pointer;font-family:var(--ui-font-family);background:0 0;border:none;padding:0}.modal-history-toggle:hover{color:var(--ui-color-link-hover);text-decoration:underline}.rate-history{background:var(--ui-color-base-2);border-radius:var(--ui-radius-sm);max-height:120px;margin-top:8px;padding:8px 10px;overflow-y:auto}.rate-history-item{font-size:var(--ui-font-size-xs);align-items:center;gap:10px;padding:3px 0;display:flex}.rate-history-date{color:var(--ui-color-base-50);white-space:nowrap;min-width:90px}.rate-history-change{color:var(--ui-color-base-90)}.chat-section{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chat-messages{flex-direction:column;flex:1;gap:12px;min-height:0;padding:4px 0;display:flex;overflow-y:auto}.chat-loading,.chat-empty{height:100px;color:var(--ui-color-base-50);font-size:var(--ui-font-size-sm);justify-content:center;align-items:center;display:flex}.chat-message{background:var(--ui-color-base-2);border-radius:var(--ui-radius);padding:8px 12px}.chat-message-header{align-items:center;gap:6px;margin-bottom:4px;display:flex}.chat-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:20px;height:20px}.chat-avatar-placeholder{background:var(--ui-color-base-10);width:20px;height:20px;color:var(--ui-color-base-50);text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:inline-flex}.chat-author{font-size:var(--ui-font-size-xs);color:var(--ui-color-base-90);font-weight:600}.chat-date{font-size:var(--ui-font-size-xs);color:var(--ui-color-base-50);margin-left:auto}.chat-text{font-size:var(--ui-font-size-sm);color:var(--ui-color-base-90);word-break:break-word;line-height:1.5}.chat-text p{margin:0}.chat-input-area{border-top:1px solid var(--ui-color-base-10);flex-shrink:0;align-items:flex-end;gap:8px;padding-top:12px;display:flex}.chat-input{font-size:var(--ui-font-size-sm);font-family:var(--ui-font-family);color:var(--ui-color-base-90);border:1px solid var(--ui-color-base-20);border-radius:var(--ui-radius-sm);resize:none;background:var(--ui-color-white);outline:none;flex:1;padding:8px 10px;line-height:1.4;transition:border-color .15s}.chat-input:focus{border-color:var(--ui-color-primary)}.chat-input::placeholder{color:var(--ui-color-base-30)}.chat-send-btn{background:var(--ui-color-primary);width:36px;height:36px;color:var(--ui-color-white);border-radius:var(--ui-radius-sm);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.chat-send-btn:hover:not(:disabled){background:var(--ui-color-primary-hover)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}
