.login-container[data-v-a179c748]{width:100%;max-width:400px;background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-xl)}.login-header[data-v-a179c748]{text-align:center;margin-bottom:var(--spacing-xl)}.login-title[data-v-a179c748]{font-size:2rem;color:var(--primary-color);margin-bottom:var(--spacing-sm)}.login-subtitle[data-v-a179c748]{color:var(--text-secondary);font-size:1rem}.login-form[data-v-a179c748]{margin-bottom:var(--spacing-lg)}.login-help[data-v-a179c748]{padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.plan-badge[data-v-7030d533]{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full, 50px);font-size:.78rem;font-weight:600;line-height:1.4;white-space:nowrap}.plan-badge__icon[data-v-7030d533]{font-size:.8rem}.plan-badge--free[data-v-7030d533]{background:var(--bg-secondary, #f0f0f0);color:var(--text-secondary, #666)}.plan-badge--medium[data-v-7030d533]{background:#e8f0fe;color:#1a73e8}.plan-badge--pro[data-v-7030d533]{background:#fef3e0;color:#e65100}.plan-badge--delux[data-v-7030d533]{background:linear-gradient(135deg,#fff3e0,#ffe0b2);color:#bf360c;border:1px solid #ffcc80}.loading-container[data-v-d768ba3b]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl)}.loading-text[data-v-d768ba3b]{color:var(--text-secondary);font-size:.9rem}.user-card[data-v-fb2d84b4]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border-light);border-left:3px solid transparent;transition:all .25s ease;cursor:pointer}.user-card[data-v-fb2d84b4]:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px);border-left-color:var(--primary-color);background-color:var(--primary-light)}.user-avatar[data-v-fb2d84b4]{width:48px;height:48px;border-radius:50%;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;font-size:.95rem;letter-spacing:.5px;box-shadow:var(--shadow-primary)}.user-info[data-v-fb2d84b4]{flex:1}.user-name[data-v-fb2d84b4]{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.user-telegram[data-v-fb2d84b4],.user-username[data-v-fb2d84b4]{margin:4px 0 0;font-size:.9rem;color:var(--text-secondary)}.label[data-v-fb2d84b4]{font-weight:500}.user-actions[data-v-fb2d84b4]{display:flex;gap:var(--spacing-sm)}.btn-icon[data-v-fb2d84b4]{width:36px;height:36px;border:none;background-color:var(--primary-light);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--primary-color);transition:all .25s ease}.btn-icon[data-v-fb2d84b4]:hover{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary);transform:scale(1.05)}.main-content[data-v-57aa0a7a]{padding:var(--spacing-xl) 0;min-height:calc(100vh - 80px);background-color:var(--bg-secondary)}.header-title[data-v-57aa0a7a]{margin:0;font-size:1.5rem;color:var(--text-primary)}.header-subtitle[data-v-57aa0a7a]{margin:4px 0 0;color:var(--text-secondary);font-size:.9rem}.dashboard-controls[data-v-57aa0a7a]{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);align-items:start}.stats-card[data-v-57aa0a7a]{background:var(--gradient-primary);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-primary);text-align:center;min-width:150px}.stats-number[data-v-57aa0a7a]{font-size:2.5rem;font-weight:700;color:#fff;margin:0}.stats-label[data-v-57aa0a7a]{margin:8px 0 0;color:#ffffffd9;font-size:.9rem}.search-box[data-v-57aa0a7a]{background-color:var(--bg-primary);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.users-section[data-v-57aa0a7a]{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);border:1px solid var(--border-light)}.section-title[data-v-57aa0a7a]{margin:0 0 var(--spacing-lg) 0;font-size:1.25rem;color:var(--text-primary)}.users-list[data-v-57aa0a7a]{display:flex;flex-direction:column;gap:var(--spacing-md)}.empty-state[data-v-57aa0a7a]{text-align:center;padding:var(--spacing-xl) var(--spacing-lg)}.empty-message[data-v-57aa0a7a]{color:var(--text-secondary);font-size:1rem}@media (max-width: 768px){.dashboard-controls[data-v-57aa0a7a]{grid-template-columns:1fr}.stats-card[data-v-57aa0a7a]{width:100%}.header-content[data-v-57aa0a7a]{flex-direction:column;align-items:start;gap:var(--spacing-md)}}.plans-admin-section[data-v-57aa0a7a]{margin-bottom:var(--spacing-lg, 24px)}.plans-admin-grid[data-v-57aa0a7a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-md, 16px);margin:var(--spacing-md, 16px) 0}.plans-admin-card[data-v-57aa0a7a]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:var(--spacing-md, 16px);background:var(--bg-primary, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:var(--radius-md, 8px)}.plans-admin-card__price[data-v-57aa0a7a]{font-size:.82rem;color:var(--text-secondary, #666);font-weight:600}.btn-manage-plans[data-v-57aa0a7a]{display:inline-block;padding:8px 20px;background:var(--primary-color, #1a73e8);color:#fff;border:none;border-radius:var(--radius-md, 8px);font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .2s ease}.btn-manage-plans[data-v-57aa0a7a]:hover{opacity:.88}.profile-header__right[data-v-d842f75c]{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.profile-header__family-buttons[data-v-d842f75c]{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.profile-header__family-buttons svg[data-v-d842f75c]{margin-right:4px}.profile-header__nav-buttons[data-v-d842f75c]{display:flex;gap:var(--spacing-sm);align-items:center}.btn-profile[data-v-d842f75c]{padding:6px 14px;font-size:.8rem;font-weight:600;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all .25s ease;white-space:nowrap;height:30px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:.01em}.btn-profile--primary[data-v-d842f75c]{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary)}.btn-profile--primary[data-v-d842f75c]:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:var(--shadow-primary),0 2px 4px #0000001a}.btn-profile--secondary[data-v-d842f75c]{background-color:var(--primary-light);color:var(--primary-color);border:1.5px solid var(--primary-color)}.btn-profile--secondary[data-v-d842f75c]:hover{background-color:var(--primary-color);color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-profile--outline[data-v-d842f75c]{background-color:transparent;color:var(--primary-color);border:1.5px solid var(--primary-color);display:inline-flex;align-items:center}.btn-profile--outline[data-v-d842f75c]:hover{background-color:var(--primary-color);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-primary)}.btn-profile--outline svg[data-v-d842f75c]{flex-shrink:0}.profile-header__status[data-v-d842f75c]{margin-top:var(--spacing-xs)}.status-badge[data-v-d842f75c]{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:.8125rem;font-weight:500}.status-badge--active[data-v-d842f75c]{background-color:var(--success-color);color:#fff}.status-badge--inactive[data-v-d842f75c]{background-color:var(--error-color);color:#fff}.profile-header__name-badges[data-v-d842f75c]{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.profile-header__name-badges h1[data-v-d842f75c]{margin:0;font-size:1.5rem;font-weight:600}.badge[data-v-d842f75c]{display:inline-flex;align-items:center;padding:4px 12px;border-radius:16px;font-size:.75rem;font-weight:600;letter-spacing:.3px;height:fit-content}.badge--plan[data-v-d842f75c]{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary)}.badge--role[data-v-d842f75c]{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-primary)}@media (max-width: 768px){.profile-header__right[data-v-d842f75c]{width:100%}.profile-header__family-buttons[data-v-d842f75c],.profile-header__nav-buttons[data-v-d842f75c]{flex-wrap:wrap;justify-content:flex-end;width:100%}.btn-profile[data-v-d842f75c]{font-size:.75rem;padding:4px 10px;height:26px}.profile-header__name-badges[data-v-d842f75c]{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.profile-header__name-badges h1[data-v-d842f75c]{font-size:1.2rem}.badge[data-v-d842f75c]{font-size:.7rem;padding:3px 10px}}.select-all-label[data-v-c59c1b5a]{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;color:var(--text-secondary);cursor:pointer}.select-all-checkbox[data-v-c59c1b5a]{cursor:pointer}.product-item[data-v-c59c1b5a]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-light)}.product-item[data-v-c59c1b5a]:last-child{border-bottom:none}.product-checkbox[data-v-c59c1b5a]{width:18px;height:18px;cursor:pointer;flex-shrink:0}.product-label[data-v-c59c1b5a]{flex:1;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm)}.product-name[data-v-c59c1b5a]{color:var(--text-primary)}.product-quantity[data-v-c59c1b5a]{font-size:.875rem;color:var(--text-secondary)}.product-actions[data-v-c59c1b5a]{display:flex;align-items:center;gap:var(--spacing-md)}.product-price[data-v-c59c1b5a]{font-weight:600;color:var(--text-primary);font-size:.95rem}.btn-icon-sm[data-v-c59c1b5a]{width:32px;height:32px;padding:0;border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.btn-icon-sm[data-v-c59c1b5a]:hover{background-color:var(--bg-secondary);color:var(--error-color)}.btn-sm[data-v-c59c1b5a]:disabled{opacity:.5;cursor:not-allowed}.d-block[data-v-c59c1b5a]{display:block}.mt-2[data-v-c59c1b5a]{margin-top:var(--spacing-sm)}@media (max-width: 768px){.section-actions[data-v-c59c1b5a]{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.select-all-label[data-v-c59c1b5a]{justify-content:center}.product-item[data-v-c59c1b5a]{flex-wrap:wrap}.product-actions[data-v-c59c1b5a]{width:100%;justify-content:space-between}}.expense-summary[data-v-c59c1b5a]{padding:0}.expense-breakdown[data-v-c59c1b5a]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.breakdown-item[data-v-c59c1b5a]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);margin-bottom:var(--spacing-sm);background-color:var(--bg-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);position:relative;border:2px solid transparent}.breakdown-item--clickable[data-v-c59c1b5a]{cursor:pointer;-webkit-user-select:none;user-select:none}.breakdown-item--clickable[data-v-c59c1b5a]:hover{transform:translate(4px);box-shadow:var(--shadow-sm);background-color:var(--bg-gray)}.breakdown-item--active[data-v-c59c1b5a]{border-color:var(--primary-color);background-color:#0088cc0d}.breakdown-item--active[data-v-c59c1b5a]:hover{transform:translate(4px);box-shadow:0 4px 12px #08c3;background-color:#0088cc14}.breakdown-header[data-v-c59c1b5a]{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.breakdown-icon[data-v-c59c1b5a]{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--transition-fast)}.breakdown-icon.personal[data-v-c59c1b5a]{background-color:#2196f31a;color:#2196f3}.breakdown-icon.family[data-v-c59c1b5a]{background-color:#4caf501a;color:#4caf50}.breakdown-icon.family--active[data-v-c59c1b5a]{background-color:#0088cc26;color:var(--primary-color);transform:scale(1.1)}.breakdown-item--clickable:hover .breakdown-icon[data-v-c59c1b5a]{transform:scale(1.05)}.breakdown-item--active:hover .breakdown-icon[data-v-c59c1b5a]{transform:scale(1.15)}.breakdown-info[data-v-c59c1b5a]{flex:1}.breakdown-name[data-v-c59c1b5a]{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.active-badge[data-v-c59c1b5a]{display:inline-flex;align-items:center;padding:2px 8px;background-color:var(--primary-color);color:#fff;font-size:.75rem;font-weight:500;border-radius:12px;letter-spacing:.5px}.breakdown-amount[data-v-c59c1b5a]{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.amount-value[data-v-c59c1b5a]{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.amount-percentage[data-v-c59c1b5a]{font-size:.875rem;color:var(--text-secondary);font-weight:500}.breakdown-item--active .amount-value[data-v-c59c1b5a]{color:var(--primary-color)}@media (max-width: 768px){.breakdown-item[data-v-c59c1b5a]{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.breakdown-header[data-v-c59c1b5a]{width:100%}.breakdown-amount[data-v-c59c1b5a]{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.active-badge[data-v-c59c1b5a]{font-size:.7rem;padding:1px 6px}}.profile-section--compact[data-v-c59c1b5a]{padding:var(--spacing-md)}.profile-section--compact .profile-section__title[data-v-c59c1b5a]{font-size:1rem}.expense-summary--compact[data-v-c59c1b5a]{padding:0}.expense-breakdown-compact[data-v-c59c1b5a]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.expense-total-compact[data-v-c59c1b5a]{display:flex;justify-content:space-between;padding:var(--spacing-sm);background:var(--primary-light);border-radius:var(--radius-sm);font-weight:600}.expense-item-compact[data-v-c59c1b5a]{display:flex;justify-content:space-between;padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:.9rem}.expense-item-compact[data-v-c59c1b5a]:hover{background:var(--bg-gray);transform:translate(4px)}.expense-item-compact.active[data-v-c59c1b5a]{background:#0088cc1a;border-left:3px solid var(--primary-color)}.expense-item-compact .label[data-v-c59c1b5a]{color:var(--text-secondary)}.expense-item-compact .value[data-v-c59c1b5a]{font-weight:600;color:var(--text-primary)}.expense-item-compact.active .value[data-v-c59c1b5a]{color:var(--primary-color)}.messages-section[data-v-6b40f298]{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);position:relative;overflow-x:hidden;max-width:100%}.messages-filter-label[data-v-6b40f298]{font-size:.9rem;color:var(--primary-color);font-weight:400;font-style:italic}.messages-loading[data-v-6b40f298]{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.messages-container[data-v-6b40f298]{min-height:400px;max-height:600px;overflow-y:auto!important;overflow-x:hidden!important;padding:var(--spacing-sm);background-color:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);display:flex;flex-direction:column;scroll-behavior:smooth;position:relative;width:100%;box-sizing:border-box}.messages-container[data-v-6b40f298]::-webkit-scrollbar{width:8px}.messages-container[data-v-6b40f298]::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.messages-container[data-v-6b40f298]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px;transition:background var(--transition-fast)}.messages-container[data-v-6b40f298]::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.scroll-sentinel-top[data-v-6b40f298]{min-height:1px;display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) 0}.loading-more-indicator[data-v-6b40f298]{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#0088cc0d;border-radius:var(--radius-md);margin:var(--spacing-sm) 0;animation:pulseBackground-6b40f298 1.5s ease infinite}@keyframes pulseBackground-6b40f298{0%,to{background:#0088cc0d}50%{background:#0088cc1a}}.loading-more-indicator span[data-v-6b40f298]{color:var(--primary-color);font-size:.875rem;font-weight:500}.no-more-messages[data-v-6b40f298]{text-align:center;padding:var(--spacing-md);color:var(--text-secondary);font-size:.875rem;font-style:italic;opacity:.6;border-bottom:1px solid var(--border-light);margin-bottom:var(--spacing-md)}.message-item[data-v-6b40f298]{padding:var(--spacing-md);margin-bottom:var(--spacing-sm);border-radius:var(--radius-md);animation:fadeIn-6b40f298 .3s ease-out;flex-shrink:0;transition:transform var(--transition-fast),box-shadow var(--transition-fast);max-width:100%;word-wrap:break-word;overflow-wrap:break-word}.message-item[data-v-6b40f298]:hover{transform:translate(2px)}@keyframes fadeIn-6b40f298{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-item--user[data-v-6b40f298]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-left:15%;box-shadow:0 3px 10px #667eea4d}.message-item--bot[data-v-6b40f298]{background:var(--bg-primary);border:1px solid var(--border-light);margin-right:15%}.message-item--json[data-v-6b40f298]{font-family:Courier New,monospace;background:#f8f9fa;border-left:4px solid var(--warning-color);margin-right:5%;max-width:95%;overflow:hidden}.message-item--json .message-content[data-v-6b40f298]{max-width:100%;overflow-x:hidden}.message-item--json pre[data-v-6b40f298]{margin:0;padding:var(--spacing-xs);background:#00000005;border-radius:var(--radius-sm);font-size:.7rem;line-height:1.3;overflow-x:auto;white-space:pre-wrap!important;word-wrap:break-word!important;word-break:break-all!important;max-width:100%}.json-content[data-v-6b40f298]{white-space:pre-wrap!important;word-wrap:break-word!important;word-break:break-all!important;overflow-x:auto;max-width:100%;display:block}.message-item--context[data-v-6b40f298]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;margin:var(--spacing-md) auto;max-width:70%}.message-item--hidden[data-v-6b40f298]{opacity:.6;background:repeating-linear-gradient(45deg,#f5f5f5,#f5f5f5 10px,#e0e0e0 10px,#e0e0e0 20px)}.message-header[data-v-6b40f298]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs);font-size:.8rem;opacity:.7}.message-type[data-v-6b40f298]{font-size:1rem}.message-time[data-v-6b40f298]{font-size:.75rem}.message-content[data-v-6b40f298]{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;max-width:100%;overflow:hidden}.message-text[data-v-6b40f298]{line-height:1.5;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.message-text pre[data-v-6b40f298]{background:#0000000d;padding:var(--spacing-sm);border-radius:var(--radius-sm);overflow-x:auto;font-size:.85rem;max-width:100%;white-space:pre-wrap;word-wrap:break-word}.message-item--user .message-text[data-v-6b40f298]{color:#fff}.message-hidden[data-v-6b40f298]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#ffc1071a;border-radius:var(--radius-sm);color:var(--warning-color);font-size:.875rem;font-style:italic}.no-messages[data-v-6b40f298],.empty-state[data-v-6b40f298]{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.empty-icon[data-v-6b40f298]{font-size:3rem;opacity:.3;margin-bottom:var(--spacing-md)}.scroll-to-bottom-btn[data-v-6b40f298]{position:fixed;bottom:100px;right:30px;width:48px;height:48px;border-radius:50%;background-color:var(--primary-color);color:#fff;border:2px solid white;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);z-index:100}.scroll-to-bottom-btn[data-v-6b40f298]:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0003;background-color:var(--primary-hover)}.scroll-to-bottom-btn[data-v-6b40f298]:active{transform:translateY(-1px)}.scroll-to-bottom-btn svg[data-v-6b40f298]{width:24px;height:24px}.loader.loader-sm[data-v-6b40f298]{width:16px;height:16px;border-width:2px}@media (hover: hover){.message-item[data-v-6b40f298]:hover{box-shadow:0 2px 8px #0000001a}.message-item--user[data-v-6b40f298]:hover{box-shadow:0 4px 12px #667eea66}}@media (max-width: 768px){.messages-container[data-v-6b40f298]{min-height:350px;max-height:500px}.message-item--user[data-v-6b40f298]{margin-left:5%}.message-item--bot[data-v-6b40f298]{margin-right:5%}.message-item--json[data-v-6b40f298]{margin-right:2%;font-size:.75rem}.message-item--json pre[data-v-6b40f298],.json-content[data-v-6b40f298]{font-size:.65rem!important}.message-item--context[data-v-6b40f298]{max-width:90%}.scroll-to-bottom-btn[data-v-6b40f298]{bottom:80px;right:20px;width:44px;height:44px}.scroll-to-bottom-btn svg[data-v-6b40f298]{width:20px;height:20px}}@keyframes slideInFromBottom-6b40f298{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.message-item.new-message[data-v-6b40f298]{animation:slideInFromBottom-6b40f298 .4s ease-out}.messages-container[data-v-6b40f298]{will-change:scroll-position;-webkit-overflow-scrolling:touch}.message-item[data-v-6b40f298]{will-change:transform}[data-v-6b40f298]{max-width:100%}.profile-section[data-v-6b40f298]{overflow-x:hidden}.chat-input-section[data-v-6b40f298]{position:sticky;bottom:0;background:var(--bg-primary);border-top:1px solid var(--border-light);padding:var(--spacing-md);z-index:10}.chat-input-wrapper[data-v-6b40f298]{display:flex;gap:var(--spacing-sm);align-items:center}.chat-input[data-v-6b40f298]{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-light);border-radius:20px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;transition:all var(--transition-fast)}.chat-input[data-v-6b40f298]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.chat-input[data-v-6b40f298]:disabled{opacity:.6;cursor:not-allowed}.btn-action[data-v-6b40f298]{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-light);background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);font-size:20px}.btn-action[data-v-6b40f298]:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color);transform:scale(1.05)}.btn-action[data-v-6b40f298]:disabled,.btn-action.disabled[data-v-6b40f298]{opacity:.5;cursor:not-allowed}.btn-action.recording[data-v-6b40f298]{background:#ef4444;border-color:#ef4444;animation:pulse-6b40f298 1.5s infinite}@keyframes pulse-6b40f298{0%{box-shadow:0 0 #ef4444b3}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}.btn-send[data-v-6b40f298]{padding:var(--spacing-sm) var(--spacing-md);border-radius:20px;border:none;background:var(--primary-color);color:#fff;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-xs)}.btn-send[data-v-6b40f298]:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.btn-send[data-v-6b40f298]:disabled{opacity:.5;cursor:not-allowed}.recording-indicator[data-v-6b40f298]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#ef44441a;border-radius:12px;margin-bottom:var(--spacing-sm)}.recording-dot[data-v-6b40f298]{width:10px;height:10px;background:#ef4444;border-radius:50%;animation:blink-6b40f298 1s infinite}@keyframes blink-6b40f298{0%,to{opacity:1}50%{opacity:.3}}.btn-stop-recording[data-v-6b40f298]{padding:4px 12px;border-radius:6px;border:1px solid #ef4444;background:transparent;color:#ef4444;font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.btn-stop-recording[data-v-6b40f298]:hover{background:#ef4444;color:#fff}.processing-message[data-v-6b40f298]{margin-top:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:#3b82f61a;border-radius:6px;color:var(--primary-color);font-size:12px;text-align:center}.message-json-container[data-v-6b40f298]{background:linear-gradient(135deg,#1e1e2e,#2d2d44);border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0003;border:1px solid rgba(255,255,255,.1);margin:var(--spacing-sm) 0}.json-header[data-v-6b40f298]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1)}.json-label[data-v-6b40f298]{color:#fff;font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:8px}.json-copy-btn[data-v-6b40f298]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:.75rem;cursor:pointer;transition:all .2s ease}.json-copy-btn[data-v-6b40f298]:hover{background:#fff3;transform:translateY(-1px)}.json-copy-btn[data-v-6b40f298]:active{transform:translateY(0)}.json-content[data-v-6b40f298]{margin:0;padding:20px;background:transparent;font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-size:.85rem;line-height:1.7;color:#e0e0e0;overflow-x:auto;max-height:500px;overflow-y:auto;-moz-tab-size:2;tab-size:2;white-space:pre}.json-content[data-v-6b40f298]::-webkit-scrollbar{width:8px;height:8px}.json-content[data-v-6b40f298]::-webkit-scrollbar-track{background:#ffffff0d}.json-content[data-v-6b40f298]::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.json-content[data-v-6b40f298]::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.json-string[data-v-6b40f298]{color:#a6e22e;font-weight:500}.json-key[data-v-6b40f298]{color:#66d9ef;font-weight:600}.json-number[data-v-6b40f298]{color:#fd971f;font-weight:500}.json-boolean[data-v-6b40f298]{color:#ae81ff;font-weight:600}.json-null[data-v-6b40f298]{color:#75715e;font-style:italic}.json-bracket[data-v-6b40f298]{color:#999;font-weight:400}.message-item--json[data-v-6b40f298]{background:transparent!important;border:none!important;padding:0!important;max-width:95%}.message-item--json .message-content[data-v-6b40f298]{padding:0;max-width:100%;overflow-x:hidden!important}.copy-notification[data-v-6b40f298]{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 24px;border-radius:24px;box-shadow:0 4px 20px #667eea66;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:8px;z-index:1000}.copy-notification svg[data-v-6b40f298]{color:#4ade80}.slide-fade-enter-active[data-v-6b40f298]{transition:all .3s ease-out}.slide-fade-leave-active[data-v-6b40f298]{transition:all .3s ease-in}.slide-fade-enter-from[data-v-6b40f298]{transform:translate(-50%) translateY(20px);opacity:0}.slide-fade-leave-to[data-v-6b40f298]{transform:translate(-50%) translateY(-20px);opacity:0}.scroll-sentinel-top[data-v-6b40f298]{min-height:1px;padding:var(--spacing-sm) 0}.loading-more-indicator[data-v-6b40f298]{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);color:var(--text-secondary);font-size:.875rem}.loader-sm[data-v-6b40f298]{width:16px;height:16px;border-width:2px}.no-more-messages[data-v-6b40f298]{text-align:center;padding:var(--spacing-md);color:var(--text-secondary);font-size:.875rem;font-style:italic;opacity:.7}.scroll-to-bottom-btn[data-v-6b40f298]{position:fixed;bottom:100px;right:30px;width:48px;height:48px;border-radius:var(--radius-full);background:var(--primary-color);color:#fff;border:none;box-shadow:var(--shadow-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);z-index:100}.scroll-to-bottom-btn[data-v-6b40f298]:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);background:var(--primary-hover)}.scroll-to-bottom-btn[data-v-6b40f298]:active{transform:translateY(0)}.fade-enter-active[data-v-6b40f298],.fade-leave-active[data-v-6b40f298]{transition:opacity .3s ease}.fade-enter-from[data-v-6b40f298],.fade-leave-to[data-v-6b40f298]{opacity:0}@media (max-width: 768px){.scroll-to-bottom-btn[data-v-6b40f298]{bottom:80px;right:20px;width:44px;height:44px}.json-content[data-v-6b40f298]{font-size:.7rem;padding:12px}.json-header[data-v-6b40f298]{padding:8px 12px}.json-copy-btn span[data-v-6b40f298]{display:none}.message-item--json[data-v-6b40f298]{margin-right:2%;font-size:.75rem}}.messages-container[data-v-6b40f298]{overflow-x:hidden!important;overflow-y:auto!important}.ticket-telegram-view[data-v-6b40f298]{background:#e8f5e9;border-radius:12px;padding:16px;font-family:system-ui;line-height:1.6;max-width:95%;margin:8px 0}.ticket-telegram-view .ticket-header[data-v-6b40f298]{margin-bottom:12px;font-weight:500}.ticket-telegram-view .ticket-products[data-v-6b40f298]{margin:12px 0;white-space:pre-line}.ticket-telegram-view .ticket-total[data-v-6b40f298]{margin-top:12px;padding-top:8px;border-top:1px solid #c8e6c9;font-weight:600}.ticket-row[data-v-02e363e6]{cursor:pointer;transition:background-color var(--transition-fast);-webkit-user-select:none;user-select:none}.ticket-row[data-v-02e363e6]:hover{background-color:var(--bg-secondary)}.ticket-row--expanded[data-v-02e363e6]{background-color:#0088cc0d;font-weight:500}.ticket-row--expanded[data-v-02e363e6]:hover{background-color:#0088cc14}.ticket-familia[data-v-02e363e6]{text-align:center}.familia-badge[data-v-02e363e6]{display:inline-block;padding:2px 12px;background-color:var(--bg-secondary);border-radius:12px;font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.familia-badge--editable[data-v-02e363e6]{cursor:pointer;transition:all var(--transition-fast);position:relative;padding-right:22px;-webkit-user-select:none;user-select:none}.familia-badge--editable[data-v-02e363e6]:hover{background-color:var(--bg-gray);color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-xs)}.edit-icon[data-v-02e363e6]{position:absolute;right:6px;top:50%;transform:translateY(-50%);opacity:.6;transition:opacity var(--transition-fast)}.familia-badge--editable:hover .edit-icon[data-v-02e363e6]{opacity:1}.select-familia-inline[data-v-02e363e6]{min-width:120px;padding:4px 8px;font-size:.8125rem;border:2px solid var(--primary-color);border-radius:6px;background-color:var(--bg-primary);cursor:pointer;outline:none;box-shadow:0 0 0 3px #08c3}.saving-indicator[data-v-02e363e6]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fffffff2;padding:4px;border-radius:4px;z-index:10}.mini-loader[data-v-02e363e6]{width:16px;height:16px;border:2px solid var(--bg-gray);border-top-color:var(--primary-color);border-radius:50%;animation:spin-02e363e6 .6s linear infinite}.ticket-details-row[data-v-02e363e6]{background-color:var(--bg-secondary);animation:slideDown-02e363e6 .2s ease-out}@keyframes slideDown-02e363e6{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ticket-details-cell[data-v-02e363e6]{padding:0;border-top:2px solid var(--primary-color)}.ticket-products[data-v-02e363e6]{padding:var(--spacing-lg)}.products-container[data-v-02e363e6]{background:var(--bg-primary);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.products-header[data-v-02e363e6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.products-header h5[data-v-02e363e6]{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.products-header-controls[data-v-02e363e6]{display:flex;align-items:center;gap:var(--spacing-lg)}.familia-selector[data-v-02e363e6]{display:flex;align-items:center;gap:var(--spacing-sm)}.familia-selector label[data-v-02e363e6]{font-weight:500;color:var(--text-secondary);margin:0;line-height:1}.select-familia[data-v-02e363e6]{padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-primary);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);margin:0;height:32px;display:flex;align-items:center}.select-familia[data-v-02e363e6]:hover{border-color:var(--primary-color)}.select-familia[data-v-02e363e6]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #08c3}.products-header-controls .btn[data-v-02e363e6]{height:32px;display:inline-flex;align-items:center;padding:0 var(--spacing-md)}.products-table[data-v-02e363e6]{width:100%;border-collapse:collapse;font-size:.9rem}.products-table th[data-v-02e363e6]{text-align:left;padding:var(--spacing-sm) var(--spacing-md);border-bottom:2px solid var(--border-color);font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.products-table td[data-v-02e363e6]{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-light);vertical-align:middle}.product-row[data-v-02e363e6]{transition:background-color var(--transition-fast)}.product-row[data-v-02e363e6]:hover{background-color:#00000005}.editable-cell[data-v-02e363e6]{cursor:pointer;position:relative}.editable-cell:hover .editable-value[data-v-02e363e6]{background-color:#0088cc0d;border-radius:var(--radius-sm);padding:2px 6px;margin:-2px -6px}.editable-value[data-v-02e363e6]{display:inline-block;transition:all var(--transition-fast)}.input-inline[data-v-02e363e6]{width:100%;padding:4px 8px;border:2px solid var(--primary-color);border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;background-color:var(--bg-primary);box-shadow:0 0 0 3px #08c3;transition:all var(--transition-fast)}.input-inline[data-v-02e363e6]:focus{outline:none}.input-inline.input-number[data-v-02e363e6],.text-center[data-v-02e363e6]{text-align:center}.text-right[data-v-02e363e6]{text-align:right}.product-actions[data-v-02e363e6]{display:flex;gap:var(--spacing-xs);justify-content:center}.btn-icon-sm[data-v-02e363e6]{width:32px;height:32px;padding:0;border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.btn-icon-sm[data-v-02e363e6]:hover:not(:disabled){background-color:var(--bg-secondary);transform:scale(1.1)}.btn-icon-sm[data-v-02e363e6]:active{transform:scale(.95)}.btn-delete[data-v-02e363e6]:hover{background-color:#f443361a;color:var(--error-color)}.total-row[data-v-02e363e6]{font-weight:600;background-color:var(--bg-secondary);border-top:2px solid var(--border-color)}.total-row td[data-v-02e363e6]{padding:var(--spacing-md);border:none}.ticket-total-value[data-v-02e363e6]{font-size:1.25rem;color:var(--primary-color);font-weight:700}.category-badge[data-v-02e363e6]{display:inline-block;padding:4px 12px;background-color:var(--bg-gray);border-radius:12px;font-size:.75rem;font-weight:500;color:var(--text-secondary);letter-spacing:.3px}.category-badge.editable-value[data-v-02e363e6]{cursor:pointer}.subtotal[data-v-02e363e6]{font-weight:600;color:var(--text-primary);text-align:right;font-size:.95rem}.products-loading[data-v-02e363e6]{padding:var(--spacing-xl);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.products-loading .loader[data-v-02e363e6]{width:32px;height:32px;border-width:3px}.modal-content--medium[data-v-02e363e6]{max-width:500px}.modal-content--small[data-v-02e363e6]{max-width:400px}.form-row[data-v-02e363e6]{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.ticket-number[data-v-02e363e6]{font-weight:600;color:var(--primary-color)}.ticket-total[data-v-02e363e6]{font-weight:600;text-align:right;font-size:1rem}.tickets-filter-label[data-v-02e363e6]{font-size:.9rem;color:var(--primary-color);font-weight:500;font-style:italic}@keyframes pulse-02e363e6{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.ticket-total-value.updating[data-v-02e363e6]{animation:pulse-02e363e6 .5s ease-out}@keyframes spin-02e363e6{to{transform:rotate(360deg)}}@media (max-width: 768px){.products-table th[data-v-02e363e6]:nth-child(4),.products-table td[data-v-02e363e6]:nth-child(4){display:none}.products-table[data-v-02e363e6]{font-size:.8125rem}.form-row[data-v-02e363e6]{grid-template-columns:1fr}.products-header[data-v-02e363e6]{flex-direction:column;gap:var(--spacing-md)}.products-header-controls[data-v-02e363e6]{width:100%;flex-direction:column;gap:var(--spacing-sm)}.familia-selector[data-v-02e363e6],.select-familia[data-v-02e363e6]{width:100%}.input-inline[data-v-02e363e6]{font-size:.8125rem;padding:4px 6px}.product-actions[data-v-02e363e6]{gap:2px}.btn-icon-sm[data-v-02e363e6]{width:28px;height:28px}.btn-icon-sm svg[data-v-02e363e6]{width:12px;height:12px}.ticket-products[data-v-02e363e6]{padding:var(--spacing-md)}.products-container[data-v-02e363e6]{padding:var(--spacing-sm)}}@media (hover: hover){.ticket-row[data-v-02e363e6]:hover{background-color:var(--bg-secondary)}.editable-cell:hover .editable-value[data-v-02e363e6]{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}}@media print{.product-actions[data-v-02e363e6],.products-header button[data-v-02e363e6],.familia-selector[data-v-02e363e6]{display:none!important}.ticket-row--expanded[data-v-02e363e6]{background-color:#fff!important}.products-table[data-v-02e363e6]{border:1px solid #000}}.budget-section[data-v-e3a410e3]{margin-bottom:var(--spacing-lg)}.budget-loading[data-v-e3a410e3]{padding:var(--spacing-lg);text-align:center}.budget-empty[data-v-e3a410e3]{text-align:center;padding:var(--spacing-lg)}.budget-list[data-v-e3a410e3]{display:flex;flex-direction:column;gap:var(--spacing-md)}.budget-content[data-v-e3a410e3]{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-md);background-color:var(--bg-primary)}.budget-content--collapsed[data-v-e3a410e3]{gap:0}.budget-header[data-v-e3a410e3]{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.budget-header__left[data-v-e3a410e3],.budget-header__actions[data-v-e3a410e3]{display:flex;align-items:center;gap:var(--spacing-sm)}.btn-toggle[data-v-e3a410e3]{color:var(--text-secondary);cursor:pointer}.btn-toggle[data-v-e3a410e3]:hover{color:var(--primary-color)}.budget-name[data-v-e3a410e3]{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.budget-tag[data-v-e3a410e3]{font-size:.7rem;font-weight:500;padding:2px 8px;border-radius:var(--radius-full);background-color:var(--primary-light);color:var(--primary-color)}.budget-percentage[data-v-e3a410e3]{font-size:.875rem;font-weight:700}.budget-inline-progress[data-v-e3a410e3]{flex:1;display:flex;flex-direction:column;gap:2px;margin:0 var(--spacing-md);min-width:80px}.budget-inline-labels[data-v-e3a410e3]{position:relative;height:14px;width:100%;display:flex}.budget-inline-label[data-v-e3a410e3]{position:absolute;top:0;font-size:.65rem;font-weight:700;text-align:center;white-space:nowrap;line-height:14px}.budget-inline-label--remaining[data-v-e3a410e3]{color:var(--text-secondary)!important;font-weight:600;font-size:.6rem;text-align:right}.budget-inline-bar[data-v-e3a410e3]{width:100%;height:12px;background-color:var(--bg-secondary);border-radius:6px;overflow:hidden;position:relative}.budget-inline-segment[data-v-e3a410e3]{position:absolute;height:100%;transition:width .3s ease;border-right:1px solid rgba(255,255,255,.4)}.budget-inline-segment[data-v-e3a410e3]:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.budget-inline-segment[data-v-e3a410e3]:last-child{border-right:none}.budget-stats[data-v-e3a410e3]{display:flex;flex-direction:column;gap:var(--spacing-md)}.budget-amounts[data-v-e3a410e3]{display:flex;justify-content:space-between;gap:var(--spacing-md)}.budget-stat[data-v-e3a410e3]{display:flex;flex-direction:column;align-items:center;flex:1}.budget-label[data-v-e3a410e3]{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.budget-value[data-v-e3a410e3]{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.budget-progress[data-v-e3a410e3]{margin-top:var(--spacing-sm)}.progress-bar[data-v-e3a410e3]{width:100%;height:24px;background-color:var(--bg-secondary);border-radius:12px;overflow:hidden;position:relative}.progress-segments[data-v-e3a410e3]{height:100%;position:relative;display:flex}.progress-segment[data-v-e3a410e3]{position:absolute;height:100%;transition:width .3s ease;border-right:1px solid rgba(255,255,255,.2)}.progress-segment[data-v-e3a410e3]:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}.progress-segment[data-v-e3a410e3]:last-child{border-right:none}.progress-fill[data-v-e3a410e3]{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:10px}.progress-success[data-v-e3a410e3]{background-color:var(--success-color)}.progress-warning[data-v-e3a410e3]{background-color:var(--warning-color)}.progress-danger[data-v-e3a410e3]{background-color:var(--error-color)}.progress-text[data-v-e3a410e3]{text-align:center;margin-top:var(--spacing-xs);font-size:.875rem;color:var(--text-secondary)}.text-success[data-v-e3a410e3]{color:var(--success-color)}.text-warning[data-v-e3a410e3]{color:var(--warning-color)}.text-danger[data-v-e3a410e3]{color:var(--error-color)}.budget-breakdown[data-v-e3a410e3]{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.breakdown-title[data-v-e3a410e3]{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.breakdown-item[data-v-e3a410e3]{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-lighter)}.breakdown-item[data-v-e3a410e3]:last-child{border-bottom:none}.breakdown-user[data-v-e3a410e3]{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem}.breakdown-color-indicator[data-v-e3a410e3]{width:12px;height:12px;border-radius:50%;flex-shrink:0}.breakdown-name[data-v-e3a410e3]{flex:1;font-weight:600;color:var(--text-primary)}.breakdown-amount[data-v-e3a410e3]{font-weight:600;color:var(--text-primary)}.breakdown-percentage[data-v-e3a410e3]{font-size:.75rem;color:var(--text-secondary)}.breakdown-bar-container[data-v-e3a410e3]{display:flex;flex-direction:column;gap:4px}.breakdown-bar[data-v-e3a410e3]{width:100%;height:8px;background-color:var(--bg-secondary);border-radius:4px;overflow:hidden}.breakdown-bar-fill[data-v-e3a410e3]{height:100%;border-radius:4px;transition:width .3s ease}.breakdown-bar-label[data-v-e3a410e3]{font-size:.7rem;color:var(--text-tertiary);font-style:italic}.btn-add-budget[data-v-e3a410e3]{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border:2px dashed var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .25s ease}.btn-add-budget[data-v-e3a410e3]:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:var(--primary-light)}@media (max-width: 768px){.budget-amounts[data-v-e3a410e3]{flex-direction:column}.budget-stat[data-v-e3a410e3]{flex-direction:row;justify-content:space-between}}.permissions-container[data-v-f65fd567]{padding:20px;background:#fff;border-radius:8px}.permissions-header[data-v-f65fd567]{margin-bottom:24px}.permissions-header h3[data-v-f65fd567]{margin:0 0 8px;font-size:1.5rem;color:#333}.permissions-subtitle[data-v-f65fd567]{color:#666;font-size:.95rem;margin:0}.permissions-table-wrapper[data-v-f65fd567]{overflow-x:auto;margin-bottom:24px}.permissions-table[data-v-f65fd567]{width:100%;border-collapse:collapse;background:#fff}.permissions-table thead[data-v-f65fd567]{background:#f8f9fa;border-bottom:2px solid #e9ecef}.permissions-table th[data-v-f65fd567]{padding:12px;text-align:left;font-weight:600;color:#495057;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.permissions-table tbody tr[data-v-f65fd567]{border-bottom:1px solid #e9ecef}.permissions-table tbody tr[data-v-f65fd567]:hover{background:#f8f9fa}.permissions-table td[data-v-f65fd567]{padding:12px}.permission-name[data-v-f65fd567]{min-width:250px}.permission-info[data-v-f65fd567]{display:flex;flex-direction:column;gap:4px}.permission-label[data-v-f65fd567]{font-weight:500;color:#333}.permission-description[data-v-f65fd567]{font-size:.85rem;color:#666}.role-column[data-v-f65fd567]{text-align:center;width:120px}.permission-checkbox[data-v-f65fd567]{width:18px;height:18px;cursor:pointer}.permission-checkbox[data-v-f65fd567]:disabled{cursor:not-allowed;opacity:.5}.permissions-actions[data-v-f65fd567]{display:flex;gap:12px;justify-content:flex-end}.btn[data-v-f65fd567]{padding:8px 16px;border-radius:4px;border:none;font-size:.95rem;cursor:pointer;transition:all .2s}.btn[data-v-f65fd567]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-f65fd567]{background:#4f46e5;color:#fff}.btn-primary[data-v-f65fd567]:hover:not(:disabled){background:#4338ca}.btn-secondary[data-v-f65fd567]{background:#6b7280;color:#fff}.btn-secondary[data-v-f65fd567]:hover:not(:disabled){background:#4b5563}.alert[data-v-f65fd567]{margin-top:16px;padding:12px;border-radius:4px;font-size:.95rem}.alert-success[data-v-f65fd567]{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.alert-error[data-v-f65fd567]{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.loader[data-v-f65fd567]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #4f46e5;border-radius:50%;animation:spin-f65fd567 1s linear infinite;margin:0 auto}@keyframes spin-f65fd567{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.permissions-table[data-v-f65fd567]{font-size:.85rem}.role-column[data-v-f65fd567]{width:80px}.permission-name[data-v-f65fd567]{min-width:180px}.permissions-actions[data-v-f65fd567]{flex-direction:column}.btn[data-v-f65fd567]{width:100%}}.add-method-tabs[data-v-2e5fedb2]{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-light)}.tab-button[data-v-2e5fedb2]{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.tab-button[data-v-2e5fedb2]:hover{color:var(--text-primary)}.tab-button.active[data-v-2e5fedb2]{color:var(--primary-color);border-bottom-color:var(--primary-color)}.text-sm[data-v-2e5fedb2]{font-size:.875rem}.add-members-content form[data-v-2e5fedb2]{display:flex;flex-direction:column;gap:var(--spacing-md)}.btn-warning[data-v-2e5fedb2]{background:#f59e0b;color:#fff}.btn-warning[data-v-2e5fedb2]:hover{background:#d97706}.family-actions--vertical[data-v-2e5fedb2]{margin-top:var(--spacing-md)}.modal-action-buttons[data-v-2e5fedb2]{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);border-top:1px solid var(--border-light);margin-top:var(--spacing-lg);flex-wrap:wrap}.modal-action-buttons .btn[data-v-2e5fedb2]{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.modal-action-buttons svg[data-v-2e5fedb2]{flex-shrink:0}.role-container[data-v-2e5fedb2]{display:flex;align-items:center}.editable-role[data-v-2e5fedb2]{cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .2s ease;position:relative}.editable-role[data-v-2e5fedb2]:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.edit-icon[data-v-2e5fedb2]{opacity:0;transition:opacity .2s ease;margin-left:2px}.editable-role:hover .edit-icon[data-v-2e5fedb2]{opacity:.7}.role-editor[data-v-2e5fedb2]{display:flex;gap:8px;align-items:center}.role-select[data-v-2e5fedb2]{padding:4px 8px;border-radius:4px;border:1px solid #e5e7eb;background:#fff;font-size:.875rem;min-width:100px;color:var(--text-primary)}.role-select[data-v-2e5fedb2]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.btn-role-action[data-v-2e5fedb2]{width:24px;height:24px;border-radius:4px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;transition:all .2s ease}.btn-confirm[data-v-2e5fedb2]{background:#10b981;color:#fff}.btn-confirm[data-v-2e5fedb2]:hover:not(:disabled){background:#059669}.btn-confirm[data-v-2e5fedb2]:disabled{opacity:.5;cursor:not-allowed}.btn-cancel[data-v-2e5fedb2]{background:#ef4444;color:#fff}.btn-cancel[data-v-2e5fedb2]:hover{background:#dc2626}.modal-content--xlarge[data-v-2e5fedb2]{max-width:900px;width:90%;max-height:85vh;overflow-y:auto}.modal-header[data-v-2e5fedb2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.modal-header h3[data-v-2e5fedb2]{margin:0;font-size:1.25rem;color:#111827}.btn-close[data-v-2e5fedb2]{background:none;border:none;padding:4px;cursor:pointer;color:#6b7280;transition:color .2s;display:flex;align-items:center;justify-content:center}.btn-close[data-v-2e5fedb2]:hover{color:#374151}.upgrade-banner[data-v-cbf8704e]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm, 8px);padding:10px 14px;background:#fff8e1;border:1px solid #ffe082;border-radius:var(--radius-md, 8px);margin:var(--spacing-sm, 8px) 0}.upgrade-banner__content[data-v-cbf8704e]{display:flex;align-items:center;gap:8px;flex:1}.upgrade-banner__icon[data-v-cbf8704e]{font-size:1.1rem;flex-shrink:0}.upgrade-banner__text[data-v-cbf8704e]{font-size:.82rem;color:var(--text-primary, #333);line-height:1.4}.upgrade-banner__link[data-v-cbf8704e]{flex-shrink:0;padding:6px 14px;background:var(--primary-color, #1a73e8);color:#fff;border-radius:var(--radius-md, 8px);font-size:.78rem;font-weight:600;text-decoration:none;transition:opacity var(--transition-base, .2s ease)}.upgrade-banner__link[data-v-cbf8704e]:hover{opacity:.88}@media (max-width: 480px){.upgrade-banner[data-v-cbf8704e]{flex-direction:column;align-items:stretch;text-align:center}.upgrade-banner__content[data-v-cbf8704e]{justify-content:center}.upgrade-banner__link[data-v-cbf8704e]{text-align:center}}.theme-grid[data-v-7c6495e7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--spacing-sm)}.theme-swatch[data-v-7c6495e7]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--spacing-sm);border:2px solid transparent;border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;transition:all var(--transition-base);position:relative}.theme-swatch[data-v-7c6495e7]:hover:not(:disabled){border-color:var(--border-color);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.theme-swatch--active[data-v-7c6495e7]{border-color:var(--primary-color);background:var(--primary-light)}.theme-swatch--locked[data-v-7c6495e7]{opacity:.45;cursor:not-allowed}.theme-swatch__color[data-v-7c6495e7]{width:36px;height:36px;border-radius:var(--radius-full);border:2px solid rgba(0,0,0,.08);position:relative}.theme-swatch__check[data-v-7c6495e7]{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);color:#fff;background:var(--primary-color);border-radius:var(--radius-full);width:20px;height:20px;display:flex;align-items:center;justify-content:center}.theme-swatch__lock[data-v-7c6495e7]{position:absolute;top:4px;right:4px;color:var(--text-light)}.theme-swatch__name[data-v-7c6495e7]{font-size:.7rem;color:var(--text-secondary);font-weight:500;text-align:center;line-height:1.2}.theme-swatch--active .theme-swatch__name[data-v-7c6495e7]{color:var(--primary-color);font-weight:600}@media (max-width: 480px){.theme-grid[data-v-7c6495e7]{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}.usage-list[data-v-cdcfade3]{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.usage-item__header[data-v-cdcfade3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.usage-item__label[data-v-cdcfade3]{font-size:.82rem;color:var(--text-secondary, #666);font-weight:500}.usage-item__count[data-v-cdcfade3]{font-size:.78rem;color:var(--text-light, #999);font-weight:600}.usage-bar[data-v-cdcfade3]{height:6px;border-radius:3px;background:var(--bg-secondary, #eee);overflow:hidden}.usage-bar__fill[data-v-cdcfade3]{height:100%;border-radius:3px;transition:width .4s ease}.usage-bar__fill--ok[data-v-cdcfade3]{background:#4caf50}.usage-bar__fill--warning[data-v-cdcfade3]{background:#ff9800}.usage-bar__fill--danger[data-v-cdcfade3]{background:#f44336}.usage-bar__fill--unlimited[data-v-cdcfade3]{width:100%!important;background:linear-gradient(90deg,#4caf50,#2196f3);opacity:.3}.usage-loading[data-v-cdcfade3],.usage-empty[data-v-cdcfade3]{font-size:.82rem;color:var(--text-light, #999);text-align:center;padding:var(--spacing-md, 16px) 0}.usage-upgrade-btn[data-v-cdcfade3]{display:block;width:100%;margin-top:var(--spacing-md, 16px);padding:8px 16px;border:1px solid var(--primary-color, #1a73e8);border-radius:var(--radius-md, 8px);background:transparent;color:var(--primary-color, #1a73e8);font-size:.82rem;font-weight:600;cursor:pointer;transition:all var(--transition-base, .2s ease)}.usage-upgrade-btn[data-v-cdcfade3]:hover{background:var(--primary-color, #1a73e8);color:#fff}.iva-section[data-v-4d580318]{margin-bottom:1rem}.iva-period-selector[data-v-4d580318]{margin-left:auto}.select-periodo[data-v-4d580318]{padding:.25rem .5rem;border-radius:4px;border:1px solid var(--border-color, #ddd);background:var(--bg-secondary, #f8f8f8);font-size:.8rem;color:inherit}.iva-loading[data-v-4d580318]{display:flex;justify-content:center;padding:1rem}.iva-empty[data-v-4d580318]{padding:1rem;text-align:center;color:var(--text-muted, #999);font-size:.85rem}.iva-content[data-v-4d580318]{padding:.75rem}.iva-total[data-v-4d580318]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;margin-bottom:.75rem;border-bottom:1px solid var(--border-color, #eee)}.iva-total__label[data-v-4d580318]{font-size:.85rem;color:var(--text-muted, #666)}.iva-total__value[data-v-4d580318]{font-size:1.1rem;font-weight:600}.iva-chart[data-v-4d580318]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.iva-bar-row[data-v-4d580318]{display:flex;align-items:center;gap:.5rem}.iva-bar-row__label[data-v-4d580318]{width:2.5rem;font-size:.8rem;font-weight:500;text-align:right}.iva-bar-row__track[data-v-4d580318]{flex:1;height:8px;background:var(--bg-secondary, #eee);border-radius:4px;overflow:hidden}.iva-bar-row__fill[data-v-4d580318]{height:100%;border-radius:4px;transition:width .4s ease}.iva-bar--super[data-v-4d580318]{background:#4caf50}.iva-bar--reducido[data-v-4d580318]{background:#ff9800}.iva-bar--general[data-v-4d580318]{background:#f44336}.iva-bar-row__value[data-v-4d580318]{width:5rem;font-size:.8rem;text-align:right;font-weight:500}.iva-details[data-v-4d580318]{display:flex;flex-direction:column;gap:.25rem;padding:.5rem 0;border-top:1px solid var(--border-color, #eee)}.iva-detail-row[data-v-4d580318]{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-muted, #666)}.iva-detail-row--highlight[data-v-4d580318]{font-weight:600;color:inherit;padding-top:.25rem;border-top:1px solid var(--border-color, #eee)}.iva-periodo-info[data-v-4d580318]{font-size:.7rem;color:var(--text-muted, #999);text-align:center;padding-top:.5rem}.empresa-content[data-v-9a7b0554]{padding:.75rem}.empresa-toggle[data-v-9a7b0554]{margin-bottom:.75rem}.toggle-label[data-v-9a7b0554]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.toggle-label input[type=checkbox][data-v-9a7b0554]{width:1.1rem;height:1.1rem;accent-color:var(--primary-color, #2196F3)}.toggle-text[data-v-9a7b0554]{font-size:.9rem}.empresa-desc[data-v-9a7b0554]{font-size:.8rem;color:var(--text-muted, #666);margin-top:.25rem;margin-left:1.6rem}.empresa-form[data-v-9a7b0554]{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color, #eee)}.form-group[data-v-9a7b0554]{display:flex;flex-direction:column;gap:.2rem}.form-label[data-v-9a7b0554]{font-size:.8rem;font-weight:500;color:var(--text-muted, #666)}.form-input[data-v-9a7b0554]{padding:.4rem .5rem;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:.85rem;background:var(--bg-secondary, #f8f8f8);color:inherit}.form-input[data-v-9a7b0554]:focus{outline:none;border-color:var(--primary-color, #2196F3)}.empresa-mensaje[data-v-9a7b0554]{font-size:.8rem;padding:.3rem .5rem;border-radius:4px;background:#e8f5e9;color:#2e7d32}.empresa-mensaje--error[data-v-9a7b0554]{background:#fce4ec;color:#c62828}.partidas-section[data-v-c5783561]{margin-bottom:1rem}.partidas-empty[data-v-c5783561]{padding:1.5rem;text-align:center;color:var(--text-muted, #999);font-size:.9rem}.partidas-table[data-v-c5783561]{width:100%;border-collapse:collapse}.partidas-table th[data-v-c5783561]{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);text-align:left;font-weight:600;font-size:.85rem;color:var(--text-secondary);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.th-expand[data-v-c5783561]{width:32px}.partidas-table td[data-v-c5783561]{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-bottom:1px solid var(--border-light);font-size:.9rem}.partida-row[data-v-c5783561]{transition:background-color .15s ease}.partida-row--clickable[data-v-c5783561]{cursor:pointer}.partida-row--clickable[data-v-c5783561]:hover,.partida-row--expanded[data-v-c5783561]{background-color:var(--bg-secondary, #f9fafb)}.partida-row--expanded td[data-v-c5783561]{border-bottom:none}.partida-row--editing[data-v-c5783561]{background-color:var(--primary-light, #e3f2fd)}.partida-expand-cell[data-v-c5783561]{width:32px;text-align:center}.expand-chevron[data-v-c5783561]{color:var(--text-secondary, #9e9e9e);transition:transform .2s ease}.expand-chevron--open[data-v-c5783561]{transform:rotate(90deg);color:var(--primary-color, #2196f3)}.partida-nombre__text[data-v-c5783561]{font-weight:500;display:block}.partida-nombre__hint[data-v-c5783561]{font-size:.75rem;color:var(--text-secondary, #9e9e9e);display:block;margin-top:2px;line-height:1.3}.partida-precio[data-v-c5783561]{font-weight:600;white-space:nowrap}.status-badge[data-v-c5783561]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full, 9999px);font-size:.8rem;font-weight:500;text-transform:capitalize}.status-badge--pending[data-v-c5783561]{background-color:#ff980026;color:#e65100}.status-badge--active[data-v-c5783561]{background-color:#2196f326;color:#1565c0}.status-badge--completed[data-v-c5783561]{background-color:#4caf5026;color:#2e7d32}.status-badge--inactive[data-v-c5783561]{background-color:#f4433626;color:#c62828}.partida-detail-row td[data-v-c5783561]{padding:0 var(--spacing-md, 12px) var(--spacing-md, 12px) var(--spacing-md, 12px);background-color:var(--bg-secondary, #f9fafb);border-bottom:2px solid var(--border-light, #e5e7eb)}.partida-detail[data-v-c5783561]{padding:var(--spacing-sm, 8px) var(--spacing-sm, 8px) 0 32px}.detail-block[data-v-c5783561]{margin-bottom:var(--spacing-sm, 8px)}.detail-label[data-v-c5783561]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #9e9e9e);display:block;margin-bottom:2px}.detail-text[data-v-c5783561]{font-size:.85rem;color:var(--text-primary, #333);margin:0;line-height:1.5;white-space:pre-line}.detail-grid[data-v-c5783561]{display:flex;flex-wrap:wrap;gap:var(--spacing-md, 12px);margin-bottom:var(--spacing-sm, 8px)}.detail-item[data-v-c5783561]{min-width:120px}.detail-value[data-v-c5783561]{font-size:.85rem;font-weight:500;color:var(--text-primary, #333)}.detail-value--positive[data-v-c5783561]{color:#2e7d32}.detail-value--negative[data-v-c5783561]{color:#c62828}.detail-empty[data-v-c5783561]{font-size:.8rem;color:var(--text-muted, #bbb);font-style:italic;margin:0}.detail-workers[data-v-c5783561]{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.worker-chip[data-v-c5783561]{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;background:#2196f31a;border-radius:var(--radius-full, 9999px);font-size:.8rem;color:#1565c0}.worker-chip__spec[data-v-c5783561]{font-size:.7rem;color:var(--text-secondary, #9e9e9e)}.worker-chip__remove[data-v-c5783561]{display:flex;align-items:center;padding:0;margin-left:2px;border:none;background:transparent;cursor:pointer;color:#1565c0;opacity:.5;transition:opacity .15s}.worker-chip__remove[data-v-c5783561]:hover{opacity:1;color:#c62828}.worker-assign-row[data-v-c5783561]{display:flex;align-items:center;gap:6px;margin-top:6px}.worker-select[data-v-c5783561]{flex:1;max-width:250px}.btn-xs[data-v-c5783561]{padding:3px 10px;font-size:.8rem;line-height:1.2;border-radius:var(--radius-sm, 4px)}.detail-empty-inline[data-v-c5783561]{font-size:.8rem;color:var(--text-muted, #bbb);font-style:italic}.detail-hint[data-v-c5783561]{font-size:.75rem;color:var(--text-secondary, #9e9e9e);margin:4px 0 0;font-style:italic}.partida-edit-extra td[data-v-c5783561]{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);background-color:var(--primary-light, #e3f2fd);border-bottom:2px solid var(--primary-color, #2196f3)}.edit-extra-fields[data-v-c5783561]{display:flex;gap:var(--spacing-md, 12px);flex-wrap:wrap}.form-group--inline[data-v-c5783561]{display:flex;flex-direction:column;gap:4px;margin-bottom:0;flex:1;min-width:150px}.form-group--full[data-v-c5783561]{flex-basis:100%}.form-group--inline .form-label[data-v-c5783561]{font-size:.75rem;color:var(--text-secondary);margin-bottom:0}.form-input--sm[data-v-c5783561]{padding:6px 8px;font-size:.85rem}.partida-create-row td[data-v-c5783561]{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);background-color:#4caf500d;border-top:2px solid var(--success-color, #4caf50)}.partida-create-standalone[data-v-c5783561]{padding:var(--spacing-md, 12px);background-color:#4caf500d;border-radius:var(--radius-md, 8px);margin-top:var(--spacing-md, 12px)}.form-row[data-v-c5783561]{display:flex;gap:var(--spacing-md, 12px);align-items:flex-end}.form-row .form-group[data-v-c5783561]{flex:1;margin-bottom:0}.form-group--action[data-v-c5783561]{flex:0 0 auto;padding-bottom:2px}.table-actions[data-v-c5783561]{display:flex;gap:var(--spacing-xs, 4px);justify-content:flex-end}.table-action-btn[data-v-c5783561]{padding:var(--spacing-xs, 4px);border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm, 4px);transition:all .15s ease;display:flex;align-items:center}.table-action-btn[data-v-c5783561]:hover{background-color:var(--bg-secondary);color:var(--primary-color)}.table-action-btn.btn-delete[data-v-c5783561]:hover{color:var(--error-color)}.modal-overlay[data-v-c5783561]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md, 12px)}.modal-content[data-v-c5783561]{background-color:var(--bg-primary, #fff);border-radius:var(--radius-lg, 12px);padding:var(--spacing-xl, 24px);max-width:400px;width:100%;box-shadow:var(--shadow-xl)}.modal-content--small[data-v-c5783561]{max-width:360px}.modal-content h3[data-v-c5783561]{margin:0 0 var(--spacing-md, 12px) 0;font-size:1.1rem}.modal-content p[data-v-c5783561]{margin:0 0 var(--spacing-md, 12px) 0;color:var(--text-secondary);font-size:.9rem}.modal-actions[data-v-c5783561]{display:flex;gap:var(--spacing-md, 12px);justify-content:flex-end;margin-top:var(--spacing-lg, 16px);padding-top:var(--spacing-md, 12px);border-top:1px solid var(--border-light)}@media (max-width: 768px){.th-expand[data-v-c5783561],.partida-expand-cell[data-v-c5783561]{width:24px}.partida-detail[data-v-c5783561]{padding-left:8px}.detail-grid[data-v-c5783561]{flex-direction:column;gap:var(--spacing-xs, 4px)}.form-row[data-v-c5783561],.edit-extra-fields[data-v-c5783561]{flex-direction:column}.modal-actions[data-v-c5783561]{flex-direction:column-reverse}.modal-actions .btn[data-v-c5783561]{width:100%}}.presupuesto-content[data-v-06dae95e]{padding:.5rem 0}.drop-zone[data-v-06dae95e]{border:2px dashed var(--border-color, #ddd);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-align:center;transition:all var(--transition-base);cursor:pointer;position:relative}.drop-zone[data-v-06dae95e]:hover{border-color:var(--primary-color);background-color:#0088cc08}.drop-zone--active[data-v-06dae95e]{border-color:var(--primary-color);background-color:#0088cc14;border-style:solid}.drop-zone--has-file[data-v-06dae95e]{border-color:var(--success-color);border-style:solid;background-color:#4caf500a;cursor:default}.drop-zone--processing[data-v-06dae95e]{border-color:var(--primary-color);border-style:solid;background-color:#0088cc0a;cursor:wait}.drop-zone__input[data-v-06dae95e]{display:none}.drop-zone__icon[data-v-06dae95e]{color:var(--text-light, #9e9e9e);margin-bottom:var(--spacing-sm)}.drop-zone__text[data-v-06dae95e]{font-size:.95rem;color:var(--text-secondary);margin:var(--spacing-sm) 0 var(--spacing-xs) 0}.drop-zone__subtext[data-v-06dae95e]{font-size:.8rem;color:var(--text-light, #9e9e9e);margin:0 0 var(--spacing-md) 0}.drop-zone__processing[data-v-06dae95e]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.drop-zone__processing .loader[data-v-06dae95e]{width:36px;height:36px}.drop-zone__selected[data-v-06dae95e]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.file-preview[data-v-06dae95e]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);width:100%;max-width:400px}.file-preview svg[data-v-06dae95e]{color:var(--primary-color);flex-shrink:0}.file-info[data-v-06dae95e]{display:flex;flex-direction:column;flex:1;min-width:0;text-align:left}.file-name[data-v-06dae95e]{font-weight:500;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-06dae95e]{font-size:.8rem;color:var(--text-light, #9e9e9e)}.btn-remove-file[data-v-06dae95e]{padding:4px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex}.btn-remove-file[data-v-06dae95e]:hover{background-color:#f443361a;color:var(--error-color)}.presupuesto-error[data-v-06dae95e]{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background-color:#f4433614;border-radius:var(--radius-md);color:var(--error-color);font-size:.85rem}.presupuesto-resultado[data-v-06dae95e]{margin-top:var(--spacing-lg);border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}.resultado-header[data-v-06dae95e]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.resultado-header h4[data-v-06dae95e]{margin:0;font-size:.95rem;font-weight:600}.confidence-badge[data-v-06dae95e]{padding:2px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.confidence--high[data-v-06dae95e]{background-color:#4caf5026;color:#2e7d32}.confidence--medium[data-v-06dae95e]{background-color:#ff980026;color:#e65100}.confidence--low[data-v-06dae95e]{background-color:#f4433626;color:#c62828}.resultado-partidas[data-v-06dae95e]{padding:var(--spacing-sm)}.resultado-partida-item[data-v-06dae95e]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--border-light)}.resultado-partida-item[data-v-06dae95e]:last-child{border-bottom:none}.resultado-partida-nombre[data-v-06dae95e]{font-size:.85rem;color:var(--text-primary)}.resultado-partida-precio[data-v-06dae95e]{font-size:.85rem;font-weight:600;white-space:nowrap}.resultado-total[data-v-06dae95e]{display:flex;justify-content:space-between;padding:var(--spacing-sm);margin-top:var(--spacing-xs);border-top:2px solid var(--border-color);font-weight:600;font-size:.95rem}.resultado-raw[data-v-06dae95e]{padding:var(--spacing-sm) var(--spacing-md);max-height:200px;overflow-y:auto}.resultado-raw pre[data-v-06dae95e]{font-size:.75rem;white-space:pre-wrap;word-break:break-word;margin:0;color:var(--text-secondary)}@media (max-width: 768px){.drop-zone[data-v-06dae95e]{padding:var(--spacing-lg)}.file-preview[data-v-06dae95e]{max-width:100%}}.rentabilidad-section[data-v-b5d613e0]{margin-bottom:1rem}.rentabilidad-loading[data-v-b5d613e0]{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xl);gap:var(--spacing-sm)}.rentabilidad-empty[data-v-b5d613e0]{padding:1.5rem;text-align:center;color:var(--text-muted, #999);font-size:.9rem}.rentabilidad-content[data-v-b5d613e0]{display:flex;flex-direction:column;gap:var(--spacing-lg)}.rentabilidad-summary[data-v-b5d613e0]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.summary-card[data-v-b5d613e0]{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);text-align:center}.summary-label[data-v-b5d613e0]{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs)}.summary-value[data-v-b5d613e0]{font-size:1.1rem;font-weight:700}.summary-value--ingreso[data-v-b5d613e0]{color:var(--primary-color)}.summary-value--coste[data-v-b5d613e0]{color:var(--text-primary)}.margen--high[data-v-b5d613e0]{color:#2e7d32}.margen--medium[data-v-b5d613e0]{color:#e65100}.margen--low[data-v-b5d613e0]{color:#c62828}.presupuesto-consumido[data-v-b5d613e0]{padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md)}.presupuesto-consumido__header[data-v-b5d613e0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.presupuesto-consumido__label[data-v-b5d613e0]{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.presupuesto-consumido__value[data-v-b5d613e0]{font-size:.95rem;font-weight:700}.progress-bar[data-v-b5d613e0]{height:10px;background:var(--bg-gray, #e0e0e0);border-radius:var(--radius-full);overflow:hidden}.progress-bar__fill[data-v-b5d613e0]{height:100%;border-radius:var(--radius-full);transition:width .6s ease}.progress-bar__fill--success[data-v-b5d613e0]{background:var(--success-color)}.progress-bar__fill--warning[data-v-b5d613e0]{background:var(--warning-color)}.progress-bar__fill--danger[data-v-b5d613e0]{background:var(--error-color)}.presupuesto-warning[data-v-b5d613e0]{font-size:.8rem;color:var(--error-color);margin-top:var(--spacing-xs);font-weight:500}.text-danger[data-v-b5d613e0]{color:var(--error-color)}.text-warning[data-v-b5d613e0]{color:var(--warning-color)}.text-success[data-v-b5d613e0]{color:var(--success-color)}.rentabilidad-subtitle[data-v-b5d613e0]{font-size:.95rem;font-weight:600;margin:0 0 var(--spacing-sm) 0;color:var(--text-primary)}.rentabilidad-table[data-v-b5d613e0]{width:100%;border-collapse:collapse}.rentabilidad-table th[data-v-b5d613e0]{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:600;font-size:.8rem;color:var(--text-secondary);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-light);text-transform:uppercase;letter-spacing:.3px}.rentabilidad-table td[data-v-b5d613e0]{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-light);font-size:.9rem}.rentabilidad-row[data-v-b5d613e0]:hover{background-color:var(--bg-secondary)}.partida-nombre-col[data-v-b5d613e0]{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-right[data-v-b5d613e0]{text-align:right}.margen-cell[data-v-b5d613e0]{min-width:120px}.margen-indicator[data-v-b5d613e0]{display:flex;align-items:center;gap:var(--spacing-sm);justify-content:flex-end}.margen-bar[data-v-b5d613e0]{width:50px;height:6px;background:var(--bg-gray, #e0e0e0);border-radius:var(--radius-full);overflow:hidden}.margen-bar__fill[data-v-b5d613e0]{height:100%;border-radius:var(--radius-full);transition:width .4s ease}.margen-bar__fill--high[data-v-b5d613e0]{background:#4caf50}.margen-bar__fill--medium[data-v-b5d613e0]{background:#ff9800}.margen-bar__fill--low[data-v-b5d613e0]{background:#f44336}.margen-indicator span[data-v-b5d613e0]{font-size:.85rem;font-weight:600;min-width:48px;text-align:right}.horas-badge[data-v-b5d613e0]{display:inline-block;font-size:.7rem;color:var(--text-secondary);margin-left:4px}.rentabilidad-total-row[data-v-b5d613e0]{background-color:var(--bg-secondary)}.rentabilidad-total-row td[data-v-b5d613e0]{padding:var(--spacing-md);border-top:2px solid var(--border-color);border-bottom:none}.spin[data-v-b5d613e0]{animation:spin-b5d613e0 1s linear infinite}@keyframes spin-b5d613e0{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.rentabilidad-summary[data-v-b5d613e0]{grid-template-columns:repeat(2,1fr)}.summary-value[data-v-b5d613e0]{font-size:.95rem}.rentabilidad-table th[data-v-b5d613e0],.rentabilidad-table td[data-v-b5d613e0]{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem}.margen-bar[data-v-b5d613e0]{display:none}}.trabajo-detail-overlay[data-v-b32d2ef8]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.trabajo-detail-modal[data-v-b32d2ef8]{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:900px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.trabajo-detail__header[data-v-b32d2ef8]{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-light);position:sticky;top:0;background:var(--bg-primary);z-index:10;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.trabajo-detail__title-row[data-v-b32d2ef8]{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.trabajo-detail__title[data-v-b32d2ef8]{margin:0;font-size:1.4rem;font-weight:700;color:var(--text-primary);flex:1}.trabajo-detail__title-input[data-v-b32d2ef8]{flex:1;font-size:1.2rem;font-weight:600}.trabajo-detail__header-actions[data-v-b32d2ef8]{display:flex;gap:var(--spacing-sm);align-items:center}.btn-close[data-v-b32d2ef8]{padding:var(--spacing-xs);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center}.btn-close[data-v-b32d2ef8]:hover{background-color:var(--bg-secondary);color:var(--error-color)}.trabajo-detail__meta[data-v-b32d2ef8]{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-sm);flex-wrap:wrap}.trabajo-meta-item[data-v-b32d2ef8]{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.85rem;color:var(--text-secondary)}.trabajo-meta-item svg[data-v-b32d2ef8]{flex-shrink:0}.trabajo-meta-item--presupuesto[data-v-b32d2ef8]{font-weight:600;color:var(--primary-color);font-size:.95rem}.status-badge[data-v-b32d2ef8]{display:inline-flex;align-items:center;padding:2px 12px;border-radius:var(--radius-full);font-size:.8rem;font-weight:500;text-transform:capitalize}.status-badge--pending[data-v-b32d2ef8]{background-color:#ff980026;color:#e65100}.status-badge--active[data-v-b32d2ef8]{background-color:#2196f326;color:#1565c0}.status-badge--completed[data-v-b32d2ef8]{background-color:#4caf5026;color:#2e7d32}.status-badge--inactive[data-v-b32d2ef8]{background-color:#f4433626;color:#c62828}.trabajo-detail__loading[data-v-b32d2ef8]{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xxl);gap:var(--spacing-sm);color:var(--text-secondary)}.trabajo-detail__body[data-v-b32d2ef8]{padding:var(--spacing-lg) var(--spacing-xl);flex:1}.trabajo-info-cards[data-v-b32d2ef8]{display:flex;gap:var(--spacing-md);flex-wrap:wrap;margin-bottom:var(--spacing-lg)}.info-card[data-v-b32d2ef8]{flex:1;min-width:200px;padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md)}.info-card--full[data-v-b32d2ef8]{flex-basis:100%}.info-card__label[data-v-b32d2ef8]{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.info-card__value[data-v-b32d2ef8]{font-size:.9rem;font-weight:500;color:var(--text-primary)}.info-card__value--notes[data-v-b32d2ef8]{white-space:pre-wrap;font-weight:400;line-height:1.5}.trabajo-edit-form[data-v-b32d2ef8]{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md)}.form-grid[data-v-b32d2ef8]{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group--full[data-v-b32d2ef8]{grid-column:1 / -1}.form-textarea[data-v-b32d2ef8]{resize:vertical;min-height:60px;font-family:inherit}.trabajo-edit-actions[data-v-b32d2ef8]{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.trabajo-tabs[data-v-b32d2ef8]{margin-top:var(--spacing-md)}.trabajo-tabs__nav[data-v-b32d2ef8]{display:flex;gap:2px;border-bottom:2px solid var(--border-light);margin-bottom:var(--spacing-md)}.trabajo-tabs__btn[data-v-b32d2ef8]{padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);position:relative;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.trabajo-tabs__btn[data-v-b32d2ef8]:hover{color:var(--primary-color);background-color:var(--primary-light)}.trabajo-tabs__btn--active[data-v-b32d2ef8]{color:var(--primary-color);font-weight:600}.trabajo-tabs__btn--active[data-v-b32d2ef8]:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--primary-color)}.trabajo-tabs__content[data-v-b32d2ef8]{min-height:200px}.ocr-batch-section[data-v-b32d2ef8]{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:#4caf500d;border:1px solid rgba(76,175,80,.2);border-radius:var(--radius-md)}.ocr-batch-header h4[data-v-b32d2ef8]{margin:0 0 var(--spacing-xs) 0;font-size:.95rem}.ocr-batch-hint[data-v-b32d2ef8]{font-size:.8rem;color:var(--text-secondary);margin:0 0 var(--spacing-md) 0}.ocr-batch-list[data-v-b32d2ef8]{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.ocr-batch-item[data-v-b32d2ef8]{display:flex;gap:var(--spacing-sm);align-items:center}.ocr-batch-item .form-input[data-v-b32d2ef8]{flex:1}.ocr-batch-precio[data-v-b32d2ef8]{max-width:120px;flex:0 0 120px!important}.btn-remove-item[data-v-b32d2ef8]{padding:4px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;flex-shrink:0}.btn-remove-item[data-v-b32d2ef8]:hover{background-color:#f443361a;color:var(--error-color)}.presupuesto-error[data-v-b32d2ef8]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:#f4433614;border-radius:var(--radius-md);color:var(--error-color);font-size:.85rem}.trabajadores-section[data-v-b32d2ef8]{padding:var(--spacing-sm) 0}.trabajadores-header[data-v-b32d2ef8]{margin-bottom:var(--spacing-md)}.trabajadores-title[data-v-b32d2ef8]{margin:0;font-size:1rem;font-weight:600}.trabajadores-empty[data-v-b32d2ef8]{text-align:center;padding:var(--spacing-lg);color:var(--text-muted, #999);font-size:.9rem}.trabajadores-list[data-v-b32d2ef8]{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.trabajador-item[data-v-b32d2ef8]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.trabajador-item[data-v-b32d2ef8]:hover{background:var(--bg-gray)}.trabajador-info[data-v-b32d2ef8]{display:flex;align-items:center;gap:var(--spacing-md)}.trabajador-avatar[data-v-b32d2ef8]{width:36px;height:36px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.trabajador-data[data-v-b32d2ef8]{display:flex;flex-direction:column}.trabajador-nombre[data-v-b32d2ef8]{font-weight:500;font-size:.9rem}.trabajador-especialidad[data-v-b32d2ef8]{font-size:.8rem;color:var(--text-secondary)}.trabajador-add[data-v-b32d2ef8]{display:flex;gap:var(--spacing-sm);align-items:center;padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.trabajador-add .form-input[data-v-b32d2ef8]{flex:1}.table-action-btn[data-v-b32d2ef8]{padding:var(--spacing-xs);border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center}.table-action-btn[data-v-b32d2ef8]:hover{background-color:var(--bg-secondary);color:var(--primary-color)}.table-action-btn.btn-delete[data-v-b32d2ef8]:hover{color:var(--error-color)}@media (max-width: 768px){.trabajo-detail-modal[data-v-b32d2ef8]{max-width:100%;max-height:100vh;border-radius:0}.trabajo-detail__header[data-v-b32d2ef8],.trabajo-detail__body[data-v-b32d2ef8]{padding:var(--spacing-md)}.trabajo-detail__title[data-v-b32d2ef8]{font-size:1.1rem}.form-grid[data-v-b32d2ef8]{grid-template-columns:1fr}.trabajo-tabs__nav[data-v-b32d2ef8]{overflow-x:auto;-webkit-overflow-scrolling:touch}.trabajo-tabs__btn[data-v-b32d2ef8]{white-space:nowrap;font-size:.85rem;padding:var(--spacing-sm)}.trabajo-info-cards[data-v-b32d2ef8]{flex-direction:column}.info-card[data-v-b32d2ef8]{min-width:auto}.ocr-batch-item[data-v-b32d2ef8]{flex-wrap:wrap}.ocr-batch-precio[data-v-b32d2ef8]{max-width:none;flex:1 1 100%!important}.trabajador-add[data-v-b32d2ef8]{flex-direction:column}.trabajador-add .form-input[data-v-b32d2ef8]{width:100%}.trabajo-edit-actions[data-v-b32d2ef8]{flex-direction:column-reverse}.trabajo-edit-actions .btn[data-v-b32d2ef8]{width:100%}}.trabajos-filter[data-v-f115ac93]{padding:.5rem .75rem}.filter-select[data-v-f115ac93]{width:100%;max-width:250px;padding:.4rem .5rem;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:.85rem;background:var(--bg-secondary, #f8f8f8);color:inherit}.filter-select[data-v-f115ac93]:focus{outline:none;border-color:var(--primary-color, #2196F3)}.trabajos-list[data-v-f115ac93]{display:flex;flex-direction:column;gap:.5rem;padding:0 .75rem}.trabajo-card[data-v-f115ac93]{border:1px solid var(--border-color, #e5e7eb);border-radius:8px;padding:.75rem;cursor:pointer;transition:all .2s ease;background:var(--bg-card, #fff)}.trabajo-card[data-v-f115ac93]:hover{border-color:var(--primary-color, #2196F3);box-shadow:0 2px 8px #00000014}.trabajo-header[data-v-f115ac93]{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.trabajo-info[data-v-f115ac93]{flex:1;min-width:0}.trabajo-nombre[data-v-f115ac93]{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trabajo-cliente[data-v-f115ac93]{font-size:.8rem;color:var(--text-secondary, #6b7280);display:block;margin-top:.15rem}.estado-badge[data-v-f115ac93]{display:inline-block;padding:.2rem .55rem;border-radius:12px;font-size:.75rem;font-weight:500;white-space:nowrap;flex-shrink:0}.estado-badge--planificado[data-v-f115ac93]{background:#dbeafe;color:#1d4ed8}.estado-badge--en_curso[data-v-f115ac93]{background:#dcfce7;color:#15803d}.estado-badge--pausado[data-v-f115ac93]{background:#fff7ed;color:#c2410c}.estado-badge--completado[data-v-f115ac93]{background:#f3f4f6;color:#4b5563}.estado-badge--cancelado[data-v-f115ac93]{background:#fef2f2;color:#b91c1c}.trabajo-meta[data-v-f115ac93]{display:flex;flex-wrap:wrap;gap:.75rem}.meta-item[data-v-f115ac93]{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--text-secondary, #6b7280)}.meta-item svg[data-v-f115ac93]{flex-shrink:0;opacity:.7}.detail-back[data-v-f115ac93]{padding:.5rem .75rem;margin-bottom:.25rem}.detail-back .btn[data-v-f115ac93]{display:inline-flex;align-items:center;gap:.3rem}.empty-state[data-v-f115ac93]{text-align:center;padding:1.5rem .75rem}.empty-state p[data-v-f115ac93]{margin:.25rem 0}.text-secondary[data-v-f115ac93]{color:var(--text-secondary, #6b7280);font-size:.85rem}.text-error[data-v-f115ac93]{color:#dc2626;font-size:.85rem;margin-top:.5rem}.text-warning[data-v-f115ac93]{color:#d97706;font-size:.85rem}.family-actions--vertical[data-v-f115ac93]{margin-top:var(--spacing-md, .75rem);padding:0 .75rem}.modal-overlay[data-v-f115ac93]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content[data-v-f115ac93]{background:var(--bg-primary, #fff);border-radius:12px;padding:1.5rem;max-width:480px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.modal-content--large[data-v-f115ac93]{max-width:600px}.modal-content h3[data-v-f115ac93]{margin:0 0 1rem;font-size:1.15rem;color:var(--text-primary, #111827)}.modal-actions[data-v-f115ac93]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-color, #e5e7eb)}.form-group[data-v-f115ac93]{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.6rem}.form-label[data-v-f115ac93]{font-size:.8rem;font-weight:500;color:var(--text-secondary, #6b7280)}.form-input[data-v-f115ac93]{padding:.4rem .5rem;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:.85rem;background:var(--bg-secondary, #f8f8f8);color:inherit;width:100%;box-sizing:border-box}.form-input[data-v-f115ac93]:focus{outline:none;border-color:var(--primary-color, #2196F3)}textarea.form-input[data-v-f115ac93]{resize:vertical;min-height:60px}.form-row[data-v-f115ac93]{margin-bottom:0}.form-row--2col[data-v-f115ac93]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 480px){.form-row--2col[data-v-f115ac93]{grid-template-columns:1fr;gap:0}}.btn[data-v-f115ac93]{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1rem;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn[data-v-f115ac93]:disabled{opacity:.6;cursor:not-allowed}.btn-sm[data-v-f115ac93]{padding:.3rem .65rem;font-size:.8rem}.btn-primary[data-v-f115ac93]{background:var(--primary-color, #2196F3);color:#fff}.btn-primary[data-v-f115ac93]:hover:not(:disabled){filter:brightness(.9)}.btn-secondary[data-v-f115ac93]{background:var(--bg-secondary, #e5e7eb);color:var(--text-primary, #374151)}.btn-secondary[data-v-f115ac93]:hover:not(:disabled){background:var(--border-color, #d1d5db)}.btn-danger[data-v-f115ac93]{background:#ef4444;color:#fff}.btn-danger[data-v-f115ac93]:hover:not(:disabled){background:#dc2626}.btn-block[data-v-f115ac93]{width:100%}.loader[data-v-f115ac93]{width:24px;height:24px;border:3px solid var(--border-color, #e5e7eb);border-top-color:var(--primary-color, #2196F3);border-radius:50%;animation:spin-f115ac93 .6s linear infinite;margin:0 auto}@keyframes spin-f115ac93{to{transform:rotate(360deg)}}.text-center[data-v-f115ac93]{text-align:center}.p-3[data-v-f115ac93]{padding:1rem}.ocr-upload-section[data-v-f115ac93]{margin-bottom:.75rem}.ocr-drop-zone[data-v-f115ac93]{border:2px dashed var(--border-color, #ddd);border-radius:8px;padding:.75rem;text-align:center;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center;position:relative}.ocr-drop-zone[data-v-f115ac93]:hover{border-color:var(--primary-color, #2196F3);background:#2196f308}.ocr-drop-zone--active[data-v-f115ac93]{border-color:var(--primary-color, #2196F3);background:#2196f314;border-style:solid}.ocr-drop-zone__input[data-v-f115ac93]{display:none}.ocr-icon[data-v-f115ac93]{color:var(--text-secondary, #9e9e9e);flex-shrink:0}.ocr-drop-zone__text[data-v-f115ac93]{font-size:.8rem;color:var(--text-secondary, #6b7280);flex:1;min-width:150px}.ocr-status[data-v-f115ac93]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.82rem}.ocr-status--processing[data-v-f115ac93]{background:#2196f314;color:var(--primary-color, #2196F3)}.ocr-status--done[data-v-f115ac93]{background:#4caf5014;color:#2e7d32}.ocr-status--error[data-v-f115ac93]{background:#f4433614;color:#c62828}.btn-remove-ocr[data-v-f115ac93]{margin-left:auto;padding:2px;border:none;background:transparent;cursor:pointer;color:inherit;opacity:.6;display:flex}.btn-remove-ocr[data-v-f115ac93]:hover{opacity:1}.loader--sm[data-v-f115ac93]{width:16px;height:16px;border-width:2px}.ocr-partidas-preview[data-v-f115ac93]{margin-bottom:.6rem;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;padding:.5rem}.ocr-partidas-preview .form-label[data-v-f115ac93]{margin-bottom:.3rem}.ocr-partidas-list[data-v-f115ac93]{max-height:150px;overflow-y:auto}.ocr-partida-item[data-v-f115ac93]{display:flex;justify-content:space-between;padding:.2rem .3rem;font-size:.8rem;border-bottom:1px solid var(--border-color, #f3f4f6)}.ocr-partida-item[data-v-f115ac93]:last-child{border-bottom:none}.ocr-partida-nombre[data-v-f115ac93]{color:var(--text-primary, #111);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ocr-partida-precio[data-v-f115ac93]{font-weight:600;white-space:nowrap;margin-left:.5rem}.ocr-partidas-note[data-v-f115ac93]{font-size:.75rem;color:var(--text-secondary, #6b7280);margin:.3rem 0 0;font-style:italic}.family-actions--vertical[data-v-ced8474e]{margin-top:var(--spacing-md)}.family-actions--vertical .btn[data-v-ced8474e]{width:100%}.families-list[data-v-ced8474e]{display:flex;flex-direction:column;gap:var(--spacing-md)}.family-card[data-v-ced8474e]{background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-light);padding:var(--spacing-md);transition:all var(--transition-base)}.family-card[data-v-ced8474e]:hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm)}.family-card--simple[data-v-ced8474e]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg)}.family-header[data-v-ced8474e]{flex:1}.family-info[data-v-ced8474e]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.family-name[data-v-ced8474e]{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.family-meta[data-v-ced8474e]{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.member-count[data-v-ced8474e]{color:var(--text-secondary);font-size:.9rem}.rol-badge[data-v-ced8474e]{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:.8125rem;font-weight:500}.rol-badge--miembro[data-v-ced8474e]{background-color:var(--bg-gray);color:var(--text-primary)}.family-actions-simple[data-v-ced8474e]{display:flex;gap:var(--spacing-sm);align-items:center}.family-actions-simple .btn[data-v-ced8474e]{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.family-actions-simple .btn svg[data-v-ced8474e]{margin:0}.empty-state[data-v-ced8474e]{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.empty-state p[data-v-ced8474e]:first-child{font-size:1.1rem;margin-bottom:var(--spacing-sm)}.form-group[data-v-ced8474e]{display:flex;flex-direction:column;gap:.2rem;margin-bottom:var(--spacing-sm)}.form-label[data-v-ced8474e]{font-size:.8rem;font-weight:500;color:var(--text-muted, #666)}.form-input[data-v-ced8474e]{padding:.4rem .5rem;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:.85rem;background:var(--bg-secondary, #f8f8f8);color:inherit}.form-input[data-v-ced8474e]:focus{outline:none;border-color:var(--primary-color, #2196F3)}textarea.form-input[data-v-ced8474e]{resize:vertical}.btn-danger[data-v-ced8474e]{background-color:var(--error-color, #ef4444);color:#fff}.btn-danger[data-v-ced8474e]:hover:not(:disabled){background-color:#dc2626}.text-warning[data-v-ced8474e]{color:var(--warning-color, #f59e0b);font-size:.9rem}.text-error[data-v-ced8474e]{color:var(--error-color, #ef4444);font-size:.875rem;margin-top:var(--spacing-xs)}@media (max-width: 768px){.family-card--simple[data-v-ced8474e]{flex-direction:column;gap:var(--spacing-md);align-items:stretch}.family-actions-simple[data-v-ced8474e]{justify-content:space-between}.family-actions-simple .btn[data-v-ced8474e]{flex:1;justify-content:center}}.mis-tareas-section[data-v-524710c6]{margin-bottom:1rem}.tareas-list[data-v-524710c6]{display:flex;flex-direction:column;gap:8px;padding:0 var(--spacing-md, 12px) var(--spacing-md, 12px)}.tarea-card[data-v-524710c6]{border:1px solid var(--border-light, #e5e7eb);border-radius:var(--radius-md, 8px);overflow:hidden}.tarea-header[data-v-524710c6]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:pointer;transition:background-color .15s}.tarea-header[data-v-524710c6]:hover{background-color:var(--bg-secondary, #f9fafb)}.tarea-header__info[data-v-524710c6]{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.tarea-nombre[data-v-524710c6]{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tarea-meta[data-v-524710c6]{font-size:.75rem;color:var(--text-secondary, #9e9e9e);white-space:nowrap}.expand-chevron[data-v-524710c6]{color:var(--text-secondary, #9e9e9e);transition:transform .2s ease;flex-shrink:0}.expand-chevron--open[data-v-524710c6]{transform:rotate(90deg);color:var(--primary-color, #2196f3)}.tarea-body[data-v-524710c6]{padding:0 12px 12px;border-top:1px solid var(--border-light, #e5e7eb);background-color:var(--bg-secondary, #f9fafb)}.horas-general[data-v-524710c6]{padding:10px 0}.horas-input-row[data-v-524710c6]{display:flex;align-items:center;gap:6px;margin-top:4px}.horas-input[data-v-524710c6]{width:80px;text-align:right}.horas-suffix[data-v-524710c6]{font-size:.8rem;color:var(--text-secondary, #9e9e9e)}.save-ok[data-v-524710c6]{font-size:.75rem;color:#2e7d32;font-weight:600}.partidas-worker[data-v-524710c6]{padding:8px 0}.partida-worker-row[data-v-524710c6]{display:flex;justify-content:space-between;align-items:center;padding:8px;margin-top:4px;background:var(--bg-primary, #fff);border-radius:var(--radius-sm, 4px);border:1px solid var(--border-light, #e5e7eb)}.partida-worker-info[data-v-524710c6]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.partida-worker-nombre[data-v-524710c6]{font-weight:500;font-size:.85rem}.partida-worker-desc[data-v-524710c6]{font-size:.75rem;color:var(--text-secondary, #9e9e9e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-label[data-v-524710c6]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #9e9e9e);display:block;margin-bottom:2px}.detail-empty[data-v-524710c6]{font-size:.8rem;color:var(--text-muted, #bbb);font-style:italic;padding:8px 0;margin:0}.status-badge[data-v-524710c6]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full, 9999px);font-size:.75rem;font-weight:500;text-transform:capitalize;flex-shrink:0}.status-badge--sm[data-v-524710c6]{padding:1px 8px;font-size:.7rem}.status-badge--pending[data-v-524710c6]{background-color:#ff980026;color:#e65100}.status-badge--active[data-v-524710c6]{background-color:#2196f326;color:#1565c0}.status-badge--completed[data-v-524710c6]{background-color:#4caf5026;color:#2e7d32}.status-badge--inactive[data-v-524710c6]{background-color:#f4433626;color:#c62828}.tarea-actions[data-v-524710c6]{padding-top:8px;display:flex;gap:8px}.modal-overlay[data-v-524710c6]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md, 12px)}.modal-content[data-v-524710c6]{background-color:var(--bg-primary, #fff);border-radius:var(--radius-lg, 12px);padding:var(--spacing-xl, 24px);max-width:400px;width:100%;box-shadow:var(--shadow-xl)}.modal-content--small[data-v-524710c6]{max-width:360px}.modal-content h3[data-v-524710c6]{margin:0 0 4px;font-size:1.1rem}.modal-subtitle[data-v-524710c6]{margin:0 0 var(--spacing-md, 12px) 0;color:var(--text-secondary);font-size:.85rem}.modal-actions[data-v-524710c6]{display:flex;gap:var(--spacing-md, 12px);justify-content:flex-end;margin-top:var(--spacing-lg, 16px);padding-top:var(--spacing-md, 12px);border-top:1px solid var(--border-light)}.form-group[data-v-524710c6]{margin-bottom:10px}.form-label[data-v-524710c6]{display:block;font-size:.8rem;font-weight:500;margin-bottom:4px;color:var(--text-secondary, #6b7280)}.form-input--sm[data-v-524710c6]{padding:6px 8px;font-size:.85rem}.text-center[data-v-524710c6]{text-align:center}.p-3[data-v-524710c6]{padding:1rem}@media (max-width: 768px){.partida-worker-row[data-v-524710c6]{flex-direction:column;align-items:flex-start;gap:6px}.modal-actions[data-v-524710c6]{flex-direction:column-reverse}.modal-actions .btn[data-v-524710c6]{width:100%}}.profile-layout[data-v-4188e61b]{min-height:100vh;background-color:var(--bg-secondary)}.profile-container[data-v-4188e61b]>*{max-width:100%}.profile-section[data-v-4188e61b],.messages-section[data-v-4188e61b],.tickets-section[data-v-4188e61b]{margin-left:0;margin-right:0}.profile-content[data-v-4188e61b]{display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-lg)}.profile-sidebar[data-v-4188e61b],.profile-main[data-v-4188e61b]{display:flex;flex-direction:column;gap:var(--spacing-lg)}@media screen and (max-width: 768px){.profile-content[data-v-4188e61b]{display:flex!important;flex-direction:column!important;gap:var(--spacing-md)!important}.profile-sidebar[data-v-4188e61b],.profile-main[data-v-4188e61b]{width:100%!important;max-width:100%!important}}@media screen and (max-width: 480px){.profile-container[data-v-4188e61b]{padding:var(--spacing-md)!important}.profile-content[data-v-4188e61b]{gap:var(--spacing-sm)!important}}:root{--primary-color: #0088cc;--primary-hover: #006ba6;--primary-light: #e3f2fd;--secondary-color: #54a3db;--success-color: #4caf50;--error-color: #f44336;--warning-color: #ff9800;--info-color: #2196f3;--gradient-primary: linear-gradient(135deg, #0088cc, #54a3db);--gradient-accent: linear-gradient(135deg, #0088cc 0%, #006ba6 100%);--shadow-primary: 0 4px 14px rgba(0, 136, 204, .25);--text-primary: #212121;--text-secondary: #757575;--text-light: #9e9e9e;--text-white: #ffffff;--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-gray: #e0e0e0;--bg-dark: #333333;--border-color: #ddd;--border-light: #eeeeee;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.05);--shadow-sm: 0 1px 3px rgba(0,0,0,.12);--shadow-md: 0 4px 6px rgba(0,0,0,.1);--shadow-lg: 0 10px 20px rgba(0,0,0,.15);--shadow-xl: 0 20px 40px rgba(0,0,0,.2);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--mobile: 480px;--tablet: 768px;--desktop: 1024px;--wide: 1280px}html{transition:background-color .4s ease,color .4s ease}html *,html *:before,html *:after{transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease,color .2s ease}html .loader,html [class*=spin],html [class*=animate]{transition:none}[data-theme=coral]{--primary-color: #D4603C;--primary-hover: #B84E2D;--primary-light: #FFF0EB;--secondary-color: #FF845E;--info-color: #E8734E;--bg-secondary: #FDF6F3;--bg-gray: #F5D6C8;--border-color: #F0C9BA;--border-light: #FAE8E0;--gradient-primary: linear-gradient(135deg, #D4603C, #FF845E);--gradient-accent: linear-gradient(135deg, #FF845E 0%, #D4603C 100%);--shadow-primary: 0 4px 14px rgba(212, 96, 60, .25)}[data-theme=bubblegum]{--primary-color: #C4308F;--primary-hover: #A32576;--primary-light: #FDE8F3;--secondary-color: #F549B8;--info-color: #D83AA0;--bg-secondary: #FDF2F8;--bg-gray: #F2C4DE;--border-color: #EBBAD5;--border-light: #F8E0EE;--gradient-primary: linear-gradient(135deg, #C4308F, #F549B8);--gradient-accent: linear-gradient(135deg, #F549B8 0%, #C4308F 100%);--shadow-primary: 0 4px 14px rgba(196, 48, 143, .25)}[data-theme=jasmine]{--primary-color: #A68508;--primary-hover: #8B7007;--primary-light: #FFFAED;--secondary-color: #FFE382;--info-color: #C49E0C;--bg-secondary: #FFFCF0;--bg-gray: #F0DFA0;--border-color: #E8D590;--border-light: #F5ECC5;--gradient-primary: linear-gradient(135deg, #B8960A, #E8C200);--gradient-accent: linear-gradient(135deg, #FFE382 0%, #B8960A 100%);--shadow-primary: 0 4px 14px rgba(184, 150, 10, .25)}[data-theme=mint]{--primary-color: #1D9B7A;--primary-hover: #177D62;--primary-light: #E8FAF5;--secondary-color: #5ED4B5;--info-color: #22B88E;--bg-secondary: #F0FBF7;--bg-gray: #B8E8D8;--border-color: #A8DDC9;--border-light: #D5F0E6;--gradient-primary: linear-gradient(135deg, #1D9B7A, #5ED4B5);--gradient-accent: linear-gradient(135deg, #5ED4B5 0%, #1D9B7A 100%);--shadow-primary: 0 4px 14px rgba(29, 155, 122, .25)}[data-theme=tiffany]{--primary-color: #3D8E91;--primary-hover: #2F7275;--primary-light: #E6F5F5;--secondary-color: #7CC5C7;--info-color: #5BB5B8;--bg-secondary: #EFF9F9;--bg-gray: #B5DCDD;--border-color: #A3D2D3;--border-light: #D2ECED;--gradient-primary: linear-gradient(135deg, #3D8E91, #7CC5C7);--gradient-accent: linear-gradient(135deg, #9AD4D6 0%, #3D8E91 100%);--shadow-primary: 0 4px 14px rgba(61, 142, 145, .25)}[data-theme=periwinkle]{--primary-color: #7B68C8;--primary-hover: #6453A8;--primary-light: #F0ECF9;--secondary-color: #A899E0;--info-color: #8E7DD6;--bg-secondary: #F5F2FC;--bg-gray: #CFC4EB;--border-color: #C2B5E3;--border-light: #E0D8F2;--gradient-primary: linear-gradient(135deg, #7B68C8, #A899E0);--gradient-accent: linear-gradient(135deg, #C9BBF4 0%, #7B68C8 100%);--shadow-primary: 0 4px 14px rgba(123, 104, 200, .25)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;line-height:1.5;color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover)}ul,ol{list-style:none}img{max-width:100%;height:auto}button,input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.container-sm{max-width:600px}.container-xs{max-width:400px}.auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:var(--gradient-primary)}.header{background-color:var(--bg-primary);box-shadow:var(--shadow-sm);padding:var(--spacing-md) 0;border-bottom:2px solid var(--primary-light)}.header-content{display:flex;align-items:center;justify-content:space-between}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--text-primary)}.form-input{width:100%;padding:10px var(--spacing-md);font-size:1rem;border:1.5px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);transition:all var(--transition-base)}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.form-input.error{border-color:var(--error-color)}.form-input:disabled{background-color:var(--bg-gray);cursor:not-allowed;opacity:.6}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:.875rem}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1.125rem}.btn-secondary:hover:not(:disabled){background-color:var(--primary-color);color:#fff;transform:translateY(-1px)}.btn-danger{background-color:var(--error-color);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.9);transform:translateY(-1px)}.btn-success{background-color:var(--success-color);color:#fff}.btn-success:hover:not(:disabled){filter:brightness(.9);transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{margin-right:var(--spacing-xs);vertical-align:middle}.btn-group{display:flex;gap:var(--spacing-sm)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.modal-content{background-color:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);max-width:400px;width:100%;box-shadow:var(--shadow-xl);max-height:90vh;overflow-y:auto}.modal-content h3{margin:0 0 var(--spacing-md) 0;color:var(--text-primary);font-size:1.25rem}.modal-content p{margin:0 0 var(--spacing-md) 0;color:var(--text-secondary)}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.modal-content--small{max-width:300px}@media (max-width: 768px){.modal-content{margin:var(--spacing-md);padding:var(--spacing-lg)}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl)}.loading-text{color:var(--text-secondary);font-size:.9rem}.data-table{width:100%;background-color:var(--bg-primary);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.data-table__wrapper{overflow-x:auto}.data-table table{width:100%;border-collapse:collapse}.data-table th{padding:var(--spacing-md);text-align:left;font-weight:600;color:var(--text-secondary);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.data-table td{padding:var(--spacing-md);border-bottom:1px solid var(--border-light)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover{background-color:var(--bg-secondary)}.table-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.table-action-btn{padding:var(--spacing-xs) var(--spacing-sm);border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.table-action-btn:hover{background-color:var(--bg-secondary);color:var(--primary-color)}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0}.stat-label{color:var(--text-secondary);font-size:.9rem}.stat-value{font-weight:600;color:var(--text-primary)}.stats-container{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--bg-secondary);border-radius:var(--radius-md)}.pagination{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap}.pagination__info{color:var(--text-secondary);font-size:.875rem}.pagination__controls{display:flex;align-items:center;gap:var(--spacing-sm)}.pagination__button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 var(--spacing-sm);border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.pagination__button:hover:not(:disabled){background-color:var(--bg-secondary);border-color:var(--primary-color);color:var(--primary-color)}.pagination__button:disabled{opacity:.5;cursor:not-allowed}.pagination__button--active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.pagination__button--active:hover{background-color:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.pagination__nav{font-weight:400;padding:0 var(--spacing-md);gap:var(--spacing-xs)}.pagination__nav svg{width:16px;height:16px}.pagination__ellipsis{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.pagination__per-page{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:.875rem}.pagination__per-page select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-primary);color:var(--text-primary);font-size:.875rem;cursor:pointer}.pagination--centered{justify-content:center}.pagination--centered .pagination__info{position:absolute;left:0}.pagination--compact .pagination__button{min-width:32px;height:32px;font-size:.8125rem}.pagination--simple .pagination__controls{gap:var(--spacing-md)}.pagination--loading{opacity:.6;pointer-events:none}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pagination[data-animating=true]{animation:pageFadeIn .2s ease-out}@media (max-width: 768px){.pagination{flex-direction:column;gap:var(--spacing-md)}.pagination__info{order:2;text-align:center}.pagination__controls{order:1}.pagination__per-page{order:3;width:100%;justify-content:center}.pagination__button:not(.pagination__nav):not(.pagination__button--active){display:none}.pagination__button--active,.pagination__button--active+.pagination__button,.pagination__button--active+.pagination__ellipsis+.pagination__button{display:inline-flex}}@media (prefers-color-scheme: dark){.pagination__button{background-color:var(--bg-dark);border-color:var(--border-dark)}.pagination__button:hover:not(:disabled){background-color:var(--bg-dark-hover)}}.profile-container{max-width:1200px;margin:0 auto;padding:var(--spacing-lg)}.profile-header{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);border:1px solid var(--border-light);border-top:3px solid var(--primary-color)}.profile-header__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.profile-header__user{display:flex;align-items:center;gap:var(--spacing-lg)}.profile-avatar{width:80px;height:80px;border-radius:var(--radius-full);background:var(--gradient-primary);color:var(--text-white);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;box-shadow:var(--shadow-primary);border:3px solid var(--bg-primary)}.profile-header__info h1{font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-xs)}.profile-header__meta{display:flex;gap:var(--spacing-lg);color:var(--text-secondary);font-size:.9rem}.profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--border-light)}.stat-card{text-align:center}.stat-card__value{font-size:2rem;font-weight:700;color:var(--primary-color)}.stat-card__label{color:var(--text-secondary);font-size:.9rem}.profile-section{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);border:1px solid var(--border-light)}.profile-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.profile-section__title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.info-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.info-item{display:flex;justify-content:space-between;align-items:center}.info-item__label{color:var(--text-secondary);font-weight:500}.info-item__value{color:var(--text-primary);font-weight:600}.status-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.875rem;font-weight:500}.status-badge--pending{background-color:var(--warning-color);color:#fff}@media (max-width: 768px){.profile-content{grid-template-columns:1fr}.profile-header__top{flex-direction:column;text-align:center}.profile-header__user{flex-direction:column}.profile-stats{grid-template-columns:repeat(2,1fr)}}.user-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border-light);border-left:3px solid transparent;transition:all .25s ease;cursor:pointer}.user-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px);border-left-color:var(--primary-color);background-color:var(--primary-light)}.user-avatar{width:48px;height:48px;border-radius:50%;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;font-size:.95rem;letter-spacing:.5px;box-shadow:var(--shadow-primary)}.user-info{flex:1}.user-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.user-telegram,.user-username{margin:4px 0 0;font-size:.9rem;color:var(--text-secondary)}.label{font-weight:500}.user-actions{display:flex;gap:var(--spacing-sm)}.btn-icon{width:36px;height:36px;border:none;background-color:var(--primary-light);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--primary-color);transition:all .25s ease}.btn-icon:hover{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary);transform:scale(1.05)}.family-actions{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.family-actions--vertical{flex-direction:column}.family-actions--vertical .btn{width:100%}.families-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.family-card{background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-light);padding:var(--spacing-md);transition:all var(--transition-base)}.family-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm)}.family-card--simple{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg)}.family-header{flex:1}.family-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.family-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.family-meta{display:flex;align-items:center;gap:var(--spacing-md)}.member-count{color:var(--text-secondary);font-size:.9rem}.rol-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:.8125rem;font-weight:500}.rol-badge--admin{background-color:var(--primary-color);color:#fff}.rol-badge--miembro{background-color:var(--bg-gray);color:var(--text-primary)}.family-actions-simple{display:flex;gap:var(--spacing-sm);align-items:center}.family-actions-simple .btn{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.family-actions-simple .btn svg{margin:0}.family-details-modal{display:flex;flex-direction:column;gap:var(--spacing-lg)}.detail-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.detail-section h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.detail-item{display:flex;align-items:center;gap:var(--spacing-sm)}.detail-label{color:var(--text-secondary);font-size:.875rem;min-width:140px}.detail-value{color:var(--text-primary);font-weight:500;flex:1}.detail-value.code{font-family:monospace;background-color:var(--bg-primary);padding:4px 12px;border-radius:4px}.code-container{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.invitation-code-display{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);margin:var(--spacing-lg) 0}.code-box{font-size:1.5rem;font-family:monospace;font-weight:700;letter-spacing:2px;padding:var(--spacing-lg);background-color:var(--bg-secondary);border:2px dashed var(--primary-color);border-radius:var(--radius-md);color:var(--primary-color)}.invitation-instructions{text-align:center;margin-top:var(--spacing-md)}.members-list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-sm)}.member-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-primary);border-radius:var(--radius-sm);border:1px solid var(--border-light)}.member-info{display:flex;flex-direction:column}.member-name{font-weight:500;color:var(--text-primary)}.member-username{font-size:.875rem;color:var(--text-secondary)}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.empty-state p:first-child{font-size:1.1rem;margin-bottom:var(--spacing-sm)}.modal-content--large{max-width:600px}.btn-icon-sm:hover:not(:disabled){background-color:var(--bg-secondary);color:var(--primary-color)}@media (max-width: 768px){.family-card--simple{flex-direction:column;gap:var(--spacing-md);align-items:stretch}.family-actions-simple{justify-content:space-between}.family-actions-simple .btn{flex:1;justify-content:center}.detail-item{flex-direction:column;align-items:flex-start}.code-container{width:100%}}.members-list::-webkit-scrollbar{width:6px}.members-list::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.members-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.members-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.budget-container{background-color:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.budget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.budget-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.budget-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.budget-stat{text-align:center;padding:var(--spacing-md);background-color:var(--bg-secondary);border-radius:var(--radius-md)}.budget-stat-label{display:block;font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.budget-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.budget-stat-value--positive{color:var(--success-color)}.budget-stat-value--negative{color:var(--error-color)}.budget-progress{margin:var(--spacing-lg) 0}.budget-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.budget-progress-label{font-size:.875rem;color:var(--text-secondary)}.budget-progress-percentage{font-size:.875rem;font-weight:600}.budget-progress-bar{width:100%;height:24px;background-color:var(--bg-secondary);border-radius:12px;overflow:hidden;position:relative}.budget-progress-fill{height:100%;background-color:var(--success-color);transition:width .3s ease,background-color .3s ease;position:relative;overflow:hidden}.budget-progress-fill:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(45deg,rgba(255,255,255,.1) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.1) 75%,transparent 75%,transparent);background-size:40px 40px;animation:budget-progress-stripes 1s linear infinite}@keyframes budget-progress-stripes{0%{background-position:0 0}to{background-position:40px 40px}}.budget-progress-fill--warning{background-color:var(--warning-color)}.budget-progress-fill--danger{background-color:var(--error-color)}.budget-recent-expenses{margin-top:var(--spacing-lg)}.budget-recent-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.budget-recent-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.budget-expense-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.budget-expense-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-secondary);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.budget-expense-item:hover{background-color:var(--bg-gray)}.budget-expense-info{display:flex;flex-direction:column}.budget-expense-name{font-weight:500;color:var(--text-primary)}.budget-expense-date{font-size:.75rem;color:var(--text-secondary)}.budget-expense-amount{font-weight:600;color:var(--text-primary)}.budget-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.budget-action-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);background-color:var(--bg-primary);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.budget-action-btn:hover{background-color:var(--bg-secondary);border-color:var(--primary-color);color:var(--primary-color)}.budget-empty{text-align:center;padding:var(--spacing-xl);background-color:var(--bg-secondary);border-radius:var(--radius-md);border:2px dashed var(--border-color)}.budget-empty-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.3}.budget-empty-text{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.budget-modal-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.budget-modal-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.budget-alert{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--warning-light);border:1px solid var(--warning-color);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.budget-alert-icon{flex-shrink:0;width:24px;height:24px;color:var(--warning-color)}.budget-alert-content{flex:1}.budget-alert-title{font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.budget-alert-message{font-size:.875rem;color:var(--text-secondary)}@media (max-width: 768px){.budget-stats{grid-template-columns:repeat(2,1fr)}.budget-modal-row{grid-template-columns:1fr}.budget-actions{flex-direction:column}.budget-expense-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}}@keyframes budget-update{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.budget-stat-value[data-updating=true]{animation:budget-update .3s ease-out}.budget-tooltip{position:relative;display:inline-block}.budget-tooltip:hover:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--text-primary);color:var(--bg-primary);font-size:.75rem;border-radius:var(--radius-sm);white-space:nowrap;margin-bottom:var(--spacing-xs);z-index:10}.budget-tooltip:hover:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--text-primary);margin-bottom:-6px;z-index:10}.ticket-row{cursor:pointer;transition:background-color var(--transition-fast);-webkit-user-select:none;user-select:none}.ticket-row:hover{background-color:var(--bg-secondary)}.ticket-row--expanded{background-color:#0088cc0d;font-weight:500}.ticket-row--expanded:hover{background-color:#0088cc14}.ticket-familia{text-align:center}.familia-badge{display:inline-block;padding:2px 12px;background-color:var(--bg-secondary);border-radius:12px;font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.familia-badge--editable{cursor:pointer;transition:all var(--transition-fast);position:relative;padding-right:22px;-webkit-user-select:none;user-select:none}.familia-badge--editable:hover{background-color:var(--bg-gray);color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-xs)}.edit-icon{position:absolute;right:6px;top:50%;transform:translateY(-50%);opacity:.6;transition:opacity var(--transition-fast)}.familia-badge--editable:hover .edit-icon{opacity:1}.select-familia-inline{min-width:120px;padding:4px 8px;font-size:.8125rem;border:2px solid var(--primary-color);border-radius:6px;background-color:var(--bg-primary);cursor:pointer;outline:none;box-shadow:0 0 0 3px #08c3}.saving-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fffffff2;padding:4px;border-radius:4px;z-index:10}.mini-loader{width:16px;height:16px;border:2px solid var(--bg-gray);border-top-color:var(--primary-color);border-radius:50%;animation:spin .6s linear infinite}.ticket-details-row{background-color:var(--bg-secondary);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ticket-details-cell{padding:0;border-top:2px solid var(--primary-color)}.ticket-products{padding:var(--spacing-lg)}.products-container{background:var(--bg-primary);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.products-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.products-header h5{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.products-header-controls{display:flex;align-items:center;gap:var(--spacing-lg)}.familia-selector{display:flex;align-items:center;gap:var(--spacing-sm)}.familia-selector label{font-weight:500;color:var(--text-secondary);margin:0;line-height:1}.select-familia{padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-primary);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);margin:0;height:32px;display:flex;align-items:center}.select-familia:hover{border-color:var(--primary-color)}.select-familia:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #08c3}.products-header-controls .btn{height:32px;display:inline-flex;align-items:center;padding:0 var(--spacing-md)}.products-table{width:100%;border-collapse:collapse;font-size:.9rem}.products-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);border-bottom:2px solid var(--border-color);font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.products-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-light);vertical-align:middle}.product-row{transition:background-color var(--transition-fast)}.product-row:hover{background-color:#00000005}.editable-cell{cursor:pointer;position:relative}.editable-cell:hover .editable-value{background-color:#0088cc0d;border-radius:var(--radius-sm);padding:2px 6px;margin:-2px -6px}.editable-value{display:inline-block;transition:all var(--transition-fast)}.input-inline{width:100%;padding:4px 8px;border:2px solid var(--primary-color);border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;background-color:var(--bg-primary);box-shadow:0 0 0 3px #08c3;transition:all var(--transition-fast)}.input-inline:focus{outline:none}.input-inline.input-number,.text-center{text-align:center}.product-actions{display:flex;gap:var(--spacing-xs);justify-content:center}.btn-icon-sm:hover:not(:disabled){background-color:var(--bg-secondary);transform:scale(1.1)}.btn-icon-sm:active{transform:scale(.95)}.btn-delete:hover{background-color:#f443361a;color:var(--error-color)}.total-row{font-weight:600;background-color:var(--bg-secondary);border-top:2px solid var(--border-color)}.total-row td{padding:var(--spacing-md);border:none}.ticket-total-value{font-size:1.25rem;color:var(--primary-color);font-weight:700}.category-badge{display:inline-block;padding:4px 12px;background-color:var(--bg-gray);border-radius:12px;font-size:.75rem;font-weight:500;color:var(--text-secondary);letter-spacing:.3px}.category-badge.editable-value{cursor:pointer}.subtotal{font-weight:600;color:var(--text-primary);text-align:right;font-size:.95rem}.products-loading{padding:var(--spacing-xl);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.products-loading .loader{width:32px;height:32px;border-width:3px}.modal-content--medium{max-width:500px}.modal-content--small{max-width:400px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.ticket-number{font-weight:600;color:var(--primary-color)}.ticket-total{font-weight:600;text-align:right;font-size:1rem}.tickets-filter-label{font-size:.9rem;color:var(--primary-color);font-weight:500;font-style:italic}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.ticket-total-value.updating{animation:pulse .5s ease-out}@media (max-width: 768px){.products-table th:nth-child(4),.products-table td:nth-child(4){display:none}.products-table{font-size:.8125rem}.form-row{grid-template-columns:1fr}.products-header{flex-direction:column;gap:var(--spacing-md)}.products-header-controls{width:100%;flex-direction:column;gap:var(--spacing-sm)}.familia-selector,.select-familia{width:100%}.input-inline{font-size:.8125rem;padding:4px 6px}.product-actions{gap:2px}.btn-icon-sm{width:28px;height:28px}.btn-icon-sm svg{width:12px;height:12px}.ticket-products{padding:var(--spacing-md)}.products-container{padding:var(--spacing-sm)}}@media (hover: hover){.ticket-row:hover{background-color:var(--bg-secondary)}.editable-cell:hover .editable-value{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}}@media print{.product-actions,.products-header button,.familia-selector{display:none!important}.ticket-row--expanded{background-color:#fff!important}.products-table{border:1px solid #000}}.budget-section{margin-bottom:var(--spacing-lg)}.budget-loading{padding:var(--spacing-lg);text-align:center}.budget-empty{text-align:center;padding:var(--spacing-lg)}.budget-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.budget-content{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-md);background-color:var(--bg-primary)}.budget-content--collapsed{gap:0}.budget-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.budget-header__left,.budget-header__actions{display:flex;align-items:center;gap:var(--spacing-sm)}.btn-toggle{color:var(--text-secondary);cursor:pointer}.btn-toggle:hover{color:var(--primary-color)}.budget-name{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.budget-tag{font-size:.7rem;font-weight:500;padding:2px 8px;border-radius:var(--radius-full);background-color:var(--primary-light);color:var(--primary-color)}.budget-percentage{font-size:.875rem;font-weight:700}.budget-inline-progress{flex:1;display:flex;flex-direction:column;gap:2px;margin:0 var(--spacing-md);min-width:80px}.budget-inline-labels{position:relative;height:14px;width:100%;display:flex}.budget-inline-label{position:absolute;top:0;font-size:.65rem;font-weight:700;text-align:center;white-space:nowrap;line-height:14px}.budget-inline-label--remaining{color:var(--text-secondary)!important;font-weight:600;font-size:.6rem;text-align:right}.budget-inline-bar{width:100%;height:12px;background-color:var(--bg-secondary);border-radius:6px;overflow:hidden;position:relative}.budget-inline-segment{position:absolute;height:100%;transition:width .3s ease;border-right:1px solid rgba(255,255,255,.4)}.budget-inline-segment:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.budget-inline-segment:last-child{border-right:none}.budget-stats{display:flex;flex-direction:column;gap:var(--spacing-md)}.budget-amounts{display:flex;justify-content:space-between;gap:var(--spacing-md)}.budget-stat{display:flex;flex-direction:column;align-items:center;flex:1}.budget-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.budget-value{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.budget-progress{margin-top:var(--spacing-sm)}.progress-bar{width:100%;height:24px;background-color:var(--bg-secondary);border-radius:12px;overflow:hidden;position:relative}.progress-segments{height:100%;position:relative;display:flex}.progress-segment{position:absolute;height:100%;transition:width .3s ease;border-right:1px solid rgba(255,255,255,.2)}.progress-segment:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}.progress-segment:last-child{border-right:none}.progress-fill{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:10px}.progress-success{background-color:var(--success-color)}.progress-warning{background-color:var(--warning-color)}.progress-danger{background-color:var(--error-color)}.progress-text{text-align:center;margin-top:var(--spacing-xs);font-size:.875rem;color:var(--text-secondary)}.budget-breakdown{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.breakdown-title{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.breakdown-item{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-lighter)}.breakdown-item:last-child{border-bottom:none}.breakdown-user{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem}.breakdown-color-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.breakdown-name{flex:1;font-weight:600;color:var(--text-primary)}.breakdown-amount{font-weight:600;color:var(--text-primary)}.breakdown-percentage{font-size:.75rem;color:var(--text-secondary)}.breakdown-bar-container{display:flex;flex-direction:column;gap:4px}.breakdown-bar{width:100%;height:8px;background-color:var(--bg-secondary);border-radius:4px;overflow:hidden}.breakdown-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.breakdown-bar-label{font-size:.7rem;color:var(--text-tertiary);font-style:italic}.btn-add-budget{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border:2px dashed var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .25s ease}.btn-add-budget:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:var(--primary-light)}@media (max-width: 768px){.budget-amounts{flex-direction:column}.budget-stat{flex-direction:row;justify-content:space-between}}.add-method-tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-light)}.tab-button{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.text-sm{font-size:.875rem}.add-members-content form{display:flex;flex-direction:column;gap:var(--spacing-md)}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover{background:#d97706}.family-actions--vertical{margin-top:var(--spacing-md)}.modal-action-buttons{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);border-top:1px solid var(--border-light);margin-top:var(--spacing-lg);flex-wrap:wrap}.modal-action-buttons .btn{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.modal-action-buttons svg{flex-shrink:0}.role-container{display:flex;align-items:center}.editable-role{cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .2s ease;position:relative}.editable-role:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.edit-icon{opacity:0;transition:opacity .2s ease;margin-left:2px}.editable-role:hover .edit-icon{opacity:.7}.role-editor{display:flex;gap:8px;align-items:center}.role-select{padding:4px 8px;border-radius:4px;border:1px solid #e5e7eb;background:#fff;font-size:.875rem;min-width:100px;color:var(--text-primary)}.role-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.btn-role-action{width:24px;height:24px;border-radius:4px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;transition:all .2s ease}.btn-confirm{background:#10b981;color:#fff}.btn-confirm:hover:not(:disabled){background:#059669}.btn-confirm:disabled{opacity:.5;cursor:not-allowed}.btn-cancel{background:#ef4444;color:#fff}.btn-cancel:hover{background:#dc2626}.modal-content--xlarge{max-width:900px;width:90%;max-height:85vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:1.25rem;color:#111827}.btn-close{background:none;border:none;padding:4px;cursor:pointer;color:#6b7280;transition:color .2s;display:flex;align-items:center;justify-content:center}.btn-close:hover{color:#374151}.profile-header__right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.profile-header__family-buttons{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.profile-header__family-buttons svg{margin-right:4px}.profile-header__nav-buttons{display:flex;gap:var(--spacing-sm);align-items:center}.btn-profile{padding:6px 14px;font-size:.8rem;font-weight:600;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all .25s ease;white-space:nowrap;height:30px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:.01em}.btn-profile--primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary)}.btn-profile--primary:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:var(--shadow-primary),0 2px 4px #0000001a}.btn-profile--secondary{background-color:var(--primary-light);color:var(--primary-color);border:1.5px solid var(--primary-color)}.btn-profile--secondary:hover{background-color:var(--primary-color);color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-profile--outline{background-color:transparent;color:var(--primary-color);border:1.5px solid var(--primary-color);display:inline-flex;align-items:center}.btn-profile--outline:hover{background-color:var(--primary-color);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-primary)}.btn-profile--outline svg{flex-shrink:0}.profile-header__status{margin-top:var(--spacing-xs)}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:.8125rem;font-weight:500}.status-badge--active{background-color:var(--success-color);color:#fff}.status-badge--inactive{background-color:var(--error-color);color:#fff}.profile-header__name-badges{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.profile-header__name-badges h1{margin:0;font-size:1.5rem;font-weight:600}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:16px;font-size:.75rem;font-weight:600;letter-spacing:.3px;height:fit-content}.badge--plan{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary)}.badge--role{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-primary)}@media (max-width: 768px){.profile-header__right{width:100%}.profile-header__family-buttons,.profile-header__nav-buttons{flex-wrap:wrap;justify-content:flex-end;width:100%}.btn-profile{font-size:.75rem;padding:4px 10px;height:26px}.profile-header__name-badges{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.profile-header__name-badges h1{font-size:1.2rem}.badge{font-size:.7rem;padding:3px 10px}}.messages-section{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);position:relative;overflow-x:hidden;max-width:100%}.messages-filter-label{font-size:.9rem;color:var(--primary-color);font-weight:400;font-style:italic}.messages-loading{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.messages-container{min-height:400px;max-height:600px;overflow-y:auto!important;overflow-x:hidden!important;padding:var(--spacing-sm);background-color:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);display:flex;flex-direction:column;scroll-behavior:smooth;position:relative;width:100%;box-sizing:border-box}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.messages-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px;transition:background var(--transition-fast)}.messages-container::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.scroll-sentinel-top{min-height:1px;display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) 0}.loading-more-indicator{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#0088cc0d;border-radius:var(--radius-md);margin:var(--spacing-sm) 0;animation:pulseBackground 1.5s ease infinite}@keyframes pulseBackground{0%,to{background:#0088cc0d}50%{background:#0088cc1a}}.loading-more-indicator span{color:var(--primary-color);font-size:.875rem;font-weight:500}.no-more-messages{text-align:center;padding:var(--spacing-md);color:var(--text-secondary);font-size:.875rem;font-style:italic;opacity:.6;border-bottom:1px solid var(--border-light);margin-bottom:var(--spacing-md)}.message-item{padding:var(--spacing-md);margin-bottom:var(--spacing-sm);border-radius:var(--radius-md);animation:fadeIn .3s ease-out;flex-shrink:0;transition:transform var(--transition-fast),box-shadow var(--transition-fast);max-width:100%;word-wrap:break-word;overflow-wrap:break-word}.message-item:hover{transform:translate(2px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-item--user{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-left:15%;box-shadow:0 3px 10px #667eea4d}.message-item--bot{background:var(--bg-primary);border:1px solid var(--border-light);margin-right:15%}.message-item--json{font-family:Courier New,monospace;background:#f8f9fa;border-left:4px solid var(--warning-color);margin-right:5%;max-width:95%;overflow:hidden}.message-item--json .message-content{max-width:100%;overflow-x:hidden}.message-item--json pre{margin:0;padding:var(--spacing-xs);background:#00000005;border-radius:var(--radius-sm);font-size:.7rem;line-height:1.3;overflow-x:auto;white-space:pre-wrap!important;word-wrap:break-word!important;word-break:break-all!important;max-width:100%}.json-content{white-space:pre-wrap!important;word-wrap:break-word!important;word-break:break-all!important;overflow-x:auto;max-width:100%;display:block}.message-item--context{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;margin:var(--spacing-md) auto;max-width:70%}.message-item--hidden{opacity:.6;background:repeating-linear-gradient(45deg,#f5f5f5,#f5f5f5 10px,#e0e0e0 10px,#e0e0e0 20px)}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs);font-size:.8rem;opacity:.7}.message-type{font-size:1rem}.message-time{font-size:.75rem}.message-content{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;max-width:100%;overflow:hidden}.message-text{line-height:1.5;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.message-text pre{background:#0000000d;padding:var(--spacing-sm);border-radius:var(--radius-sm);overflow-x:auto;font-size:.85rem;max-width:100%;white-space:pre-wrap;word-wrap:break-word}.message-item--user .message-text{color:#fff}.message-hidden{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#ffc1071a;border-radius:var(--radius-sm);color:var(--warning-color);font-size:.875rem;font-style:italic}.no-messages,.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.empty-icon{font-size:3rem;opacity:.3;margin-bottom:var(--spacing-md)}.scroll-to-bottom-btn{position:fixed;bottom:100px;right:30px;width:48px;height:48px;border-radius:50%;background-color:var(--primary-color);color:#fff;border:2px solid white;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);z-index:100}.scroll-to-bottom-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0003;background-color:var(--primary-hover)}.scroll-to-bottom-btn:active{transform:translateY(-1px)}.scroll-to-bottom-btn svg{width:24px;height:24px}.loader.loader-sm{width:16px;height:16px;border-width:2px}@media (hover: hover){.message-item:hover{box-shadow:0 2px 8px #0000001a}.message-item--user:hover{box-shadow:0 4px 12px #667eea66}}@media (max-width: 768px){.messages-container{min-height:350px;max-height:500px}.message-item--user{margin-left:5%}.message-item--bot{margin-right:5%}.message-item--json{margin-right:2%;font-size:.75rem}.message-item--json pre,.json-content{font-size:.65rem!important}.message-item--context{max-width:90%}.scroll-to-bottom-btn{bottom:80px;right:20px;width:44px;height:44px}.scroll-to-bottom-btn svg{width:20px;height:20px}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.message-item.new-message{animation:slideInFromBottom .4s ease-out}.messages-container{will-change:scroll-position;-webkit-overflow-scrolling:touch}.message-item{will-change:transform}*{max-width:100%}.profile-section{overflow-x:hidden}.chat-input-section{position:sticky;bottom:0;background:var(--bg-primary);border-top:1px solid var(--border-light);padding:var(--spacing-md);z-index:10}.chat-input-wrapper{display:flex;gap:var(--spacing-sm);align-items:center}.chat-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-light);border-radius:20px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;transition:all var(--transition-fast)}.chat-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.chat-input:disabled{opacity:.6;cursor:not-allowed}.btn-action{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-light);background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);font-size:20px}.btn-action:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color);transform:scale(1.05)}.btn-action:disabled,.btn-action.disabled{opacity:.5;cursor:not-allowed}.btn-action.recording{background:#ef4444;border-color:#ef4444;animation:pulse 1.5s infinite}@keyframes pulse{0%{box-shadow:0 0 #ef4444b3}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}.btn-send{padding:var(--spacing-sm) var(--spacing-md);border-radius:20px;border:none;background:var(--primary-color);color:#fff;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-xs)}.btn-send:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.btn-send:disabled{opacity:.5;cursor:not-allowed}.recording-indicator{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#ef44441a;border-radius:12px;margin-bottom:var(--spacing-sm)}.recording-dot{width:10px;height:10px;background:#ef4444;border-radius:50%;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.btn-stop-recording{padding:4px 12px;border-radius:6px;border:1px solid #ef4444;background:transparent;color:#ef4444;font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.btn-stop-recording:hover{background:#ef4444;color:#fff}.processing-message{margin-top:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:#3b82f61a;border-radius:6px;color:var(--primary-color);font-size:12px;text-align:center}.message-json-container{background:linear-gradient(135deg,#1e1e2e,#2d2d44);border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0003;border:1px solid rgba(255,255,255,.1);margin:var(--spacing-sm) 0}.json-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1)}.json-label{color:#fff;font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:8px}.json-copy-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:.75rem;cursor:pointer;transition:all .2s ease}.json-copy-btn:hover{background:#fff3;transform:translateY(-1px)}.json-copy-btn:active{transform:translateY(0)}.json-content{margin:0;padding:20px;background:transparent;font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-size:.85rem;line-height:1.7;color:#e0e0e0;overflow-x:auto;max-height:500px;overflow-y:auto;-moz-tab-size:2;tab-size:2;white-space:pre}.json-content::-webkit-scrollbar{width:8px;height:8px}.json-content::-webkit-scrollbar-track{background:#ffffff0d}.json-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.json-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.json-string{color:#a6e22e;font-weight:500}.json-key{color:#66d9ef;font-weight:600}.json-number{color:#fd971f;font-weight:500}.json-boolean{color:#ae81ff;font-weight:600}.json-null{color:#75715e;font-style:italic}.json-bracket{color:#999;font-weight:400}.message-item--json{background:transparent!important;border:none!important;padding:0!important;max-width:95%}.message-item--json .message-content{padding:0;max-width:100%;overflow-x:hidden!important}.copy-notification{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 24px;border-radius:24px;box-shadow:0 4px 20px #667eea66;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:8px;z-index:1000}.copy-notification svg{color:#4ade80}.slide-fade-enter-active{transition:all .3s ease-out}.slide-fade-leave-active{transition:all .3s ease-in}.slide-fade-enter-from{transform:translate(-50%) translateY(20px);opacity:0}.slide-fade-leave-to{transform:translate(-50%) translateY(-20px);opacity:0}.scroll-sentinel-top{min-height:1px;padding:var(--spacing-sm) 0}.loading-more-indicator{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);color:var(--text-secondary);font-size:.875rem}.loader-sm{width:16px;height:16px;border-width:2px}.no-more-messages{text-align:center;padding:var(--spacing-md);color:var(--text-secondary);font-size:.875rem;font-style:italic;opacity:.7}.scroll-to-bottom-btn{position:fixed;bottom:100px;right:30px;width:48px;height:48px;border-radius:var(--radius-full);background:var(--primary-color);color:#fff;border:none;box-shadow:var(--shadow-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);z-index:100}.scroll-to-bottom-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);background:var(--primary-hover)}.scroll-to-bottom-btn:active{transform:translateY(0)}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}@media (max-width: 768px){.scroll-to-bottom-btn{bottom:80px;right:20px;width:44px;height:44px}.json-content{font-size:.7rem;padding:12px}.json-header{padding:8px 12px}.json-copy-btn span{display:none}.message-item--json{margin-right:2%;font-size:.75rem}}.messages-container{overflow-x:hidden!important;overflow-y:auto!important}.ticket-telegram-view{background:#e8f5e9;border-radius:12px;padding:16px;font-family:system-ui;line-height:1.6;max-width:95%;margin:8px 0}.ticket-telegram-view .ticket-header{margin-bottom:12px;font-weight:500}.ticket-telegram-view .ticket-products{margin:12px 0;white-space:pre-line}.ticket-telegram-view .ticket-total{margin-top:12px;padding-top:8px;border-top:1px solid #c8e6c9;font-weight:600}.tickets-section{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.tickets-container{position:relative;max-height:600px;overflow-y:auto;overflow-x:hidden}.tickets-container--small{max-height:400px}.tickets-container--large{max-height:800px}.tickets-table{width:100%;position:relative}.tickets-table thead{position:sticky;top:0;z-index:10;background-color:var(--bg-secondary)}.tickets-table thead th{background-color:var(--bg-secondary);box-shadow:0 2px 2px -1px #0000001a}.tickets-container::-webkit-scrollbar{width:8px}.tickets-container::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-sm)}.tickets-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}.tickets-container::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.tickets-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.tickets-empty{text-align:center;padding:var(--spacing-xxl) var(--spacing-lg);color:var(--text-secondary)}.tickets-empty__icon{font-size:3rem;opacity:.3;margin-bottom:var(--spacing-md)}.tickets-empty__text{font-size:1.1rem;margin:0}.tickets-loading{display:flex;justify-content:center;align-items:center;min-height:300px}.tickets-filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.tickets-filter{display:flex;align-items:center;gap:var(--spacing-sm)}.tickets-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);color:var(--text-secondary);font-size:.875rem}@media (max-width: 768px){.tickets-container{max-height:400px}.tickets-info{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.tickets-filters{flex-direction:column;width:100%}.tickets-filter{width:100%}}.select-all-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;color:var(--text-secondary);cursor:pointer}.select-all-checkbox{cursor:pointer}.product-checkbox{width:18px;height:18px;cursor:pointer;flex-shrink:0}.product-actions{display:flex;align-items:center;gap:var(--spacing-md)}.btn-icon-sm{width:32px;height:32px;padding:0;border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.btn-icon-sm:hover{background-color:var(--bg-secondary);color:var(--error-color)}.btn-sm:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.section-actions{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.select-all-label{justify-content:center}.product-item{flex-wrap:wrap}.product-actions{width:100%;justify-content:space-between}}.expense-summary{padding:0}.expense-breakdown{display:flex;flex-direction:column;gap:var(--spacing-sm)}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);margin-bottom:var(--spacing-sm);background-color:var(--bg-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);position:relative;border:2px solid transparent}.breakdown-item--clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.breakdown-item--clickable:hover{transform:translate(4px);box-shadow:var(--shadow-sm);background-color:var(--bg-gray)}.breakdown-item--active{border-color:var(--primary-color);background-color:#0088cc0d}.breakdown-item--active:hover{transform:translate(4px);box-shadow:0 4px 12px #08c3;background-color:#0088cc14}.breakdown-header{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.breakdown-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--transition-fast)}.breakdown-icon.personal{background-color:#2196f31a;color:#2196f3}.breakdown-icon.family{background-color:#4caf501a;color:#4caf50}.breakdown-icon.family--active{background-color:#0088cc26;color:var(--primary-color);transform:scale(1.1)}.breakdown-item--clickable:hover .breakdown-icon{transform:scale(1.05)}.breakdown-item--active:hover .breakdown-icon{transform:scale(1.15)}.breakdown-info{flex:1}.breakdown-name{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.active-badge{display:inline-flex;align-items:center;padding:2px 8px;background-color:var(--primary-color);color:#fff;font-size:.75rem;font-weight:500;border-radius:12px;letter-spacing:.5px}.breakdown-amount{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.amount-value{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.amount-percentage{font-size:.875rem;color:var(--text-secondary);font-weight:500}.breakdown-item--active .amount-value{color:var(--primary-color)}@media (max-width: 768px){.breakdown-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.breakdown-header{width:100%}.breakdown-amount{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.active-badge{font-size:.7rem;padding:1px 6px}}.product-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-light)}.product-item:last-child{border-bottom:none}.product-checkbox{width:18px;height:18px;cursor:pointer}.product-label{flex:1;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm)}.product-name{color:var(--text-primary)}.product-quantity{font-size:.875rem;color:var(--text-secondary)}.product-price{font-weight:600;color:var(--text-primary);font-size:.95rem}.product-list{padding:var(--spacing-md)}@media (max-width: 768px){.product-item{flex-wrap:wrap}.product-price{width:100%;text-align:right;margin-top:var(--spacing-xs)}}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.section-subtitle{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.section-actions{display:flex;gap:var(--spacing-sm)}.section-content{padding:var(--spacing-md)}@media (max-width: 768px){.section-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.section-actions{width:100%;justify-content:flex-end}}.login-container{width:100%;max-width:400px;background-color:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--spacing-xl);border:1px solid rgba(255,255,255,.3)}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-title{font-size:2rem;color:var(--primary-color);margin-bottom:var(--spacing-sm);font-weight:700}.login-subtitle{color:var(--text-secondary);font-size:1rem}.login-form{margin-bottom:var(--spacing-lg)}.login-help{padding-top:var(--spacing-lg);border-top:1px solid var(--border-light)}.main-content{padding:var(--spacing-xl) 0;min-height:calc(100vh - 80px);background-color:var(--bg-secondary)}.header-title{margin:0;font-size:1.5rem;color:var(--text-primary)}.header-subtitle{margin:4px 0 0;color:var(--text-secondary);font-size:.9rem}.dashboard-controls{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);align-items:start}.stats-card{background:var(--gradient-primary);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-primary);text-align:center;min-width:150px}.stats-number{font-size:2.5rem;font-weight:700;color:#fff;margin:0}.stats-label{margin:8px 0 0;color:#ffffffd9;font-size:.9rem}.search-box{background-color:var(--bg-primary);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.users-section{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);border:1px solid var(--border-light)}.section-title{margin:0 0 var(--spacing-lg) 0;font-size:1.25rem;color:var(--text-primary)}.users-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.empty-state{text-align:center;padding:var(--spacing-xl) var(--spacing-lg)}.empty-message{color:var(--text-secondary);font-size:1rem}@media (max-width: 768px){.dashboard-controls{grid-template-columns:1fr}.stats-card{width:100%}.header-content{flex-direction:column;align-items:start;gap:var(--spacing-md)}}.profile-layout{min-height:100vh;background-color:var(--bg-secondary)}.profile-container>*{max-width:100%}.profile-section,.messages-section,.tickets-section{margin-left:0;margin-right:0}.profile-content{display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-lg)}.profile-sidebar,.profile-main{display:flex;flex-direction:column;gap:var(--spacing-lg)}@media screen and (max-width: 768px){.profile-content{display:flex!important;flex-direction:column!important;gap:var(--spacing-md)!important}.profile-sidebar,.profile-main{width:100%!important;max-width:100%!important}}@media screen and (max-width: 480px){.profile-container{padding:var(--spacing-md)!important}.profile-content{gap:var(--spacing-sm)!important}}.m-0{margin:0}.m-1{margin:var(--spacing-xs)}.m-2{margin:var(--spacing-sm)}.m-3{margin:var(--spacing-md)}.m-4{margin:var(--spacing-lg)}.m-5{margin:var(--spacing-xl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-5{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.p-0{padding:0}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-5{padding:var(--spacing-xl)}.d-none{display:none}.d-block{display:block}.d-grid{display:grid}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.gap-1{gap:var(--spacing-xs)}.gap-3{gap:var(--spacing-md)}.gap-4{gap:var(--spacing-lg)}.text-right{text-align:right}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.fw-normal{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.show-mobile{display:none}.hide-mobile{display:block}@media (max-width: 768px){.show-mobile{display:block}.hide-mobile{display:none}}.no-details{text-align:center;color:var(--text-secondary);padding:var(--spacing-md)}.text-warning{color:var(--warning-color);font-weight:500}.text-info{color:var(--info-color)}.text-danger{color:var(--error-color)}.state-message{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);text-align:center}.state-message--empty{color:var(--text-secondary)}.state-message--loading{color:var(--primary-color)}#app{min-height:100vh}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px var(--spacing-lg);font-size:.9375rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-decoration:none;letter-spacing:.01em}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary)}.btn-primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px);box-shadow:var(--shadow-primary),var(--shadow-md)}.btn-primary:active:not(:disabled){transform:translateY(0);filter:brightness(.95)}.btn-secondary{background-color:var(--primary-light);color:var(--primary-color);border:1.5px solid var(--primary-color)}.btn-secondary:hover:not(:disabled){background-color:var(--primary-color);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-block{width:100%}.card{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-fast)}.text-center{text-align:center}.text-error{color:var(--error-color)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-muted{color:var(--text-secondary)}.message{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.message-error{background-color:#ffebee;color:var(--error-color);border:1px solid #ffcdd2}.loader{display:inline-block;width:20px;height:20px;border:3px solid var(--bg-gray);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.d-flex{display:flex}.gap-2{gap:var(--spacing-sm)}.mt-4{margin-top:var(--spacing-lg)}
