iatoolkit 0.11.0__py3-none-any.whl → 0.66.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- iatoolkit/base_company.py +11 -3
- iatoolkit/common/routes.py +92 -52
- iatoolkit/common/session_manager.py +0 -1
- iatoolkit/common/util.py +17 -27
- iatoolkit/iatoolkit.py +91 -47
- iatoolkit/infra/llm_client.py +7 -8
- iatoolkit/infra/openai_adapter.py +1 -1
- iatoolkit/infra/redis_session_manager.py +48 -2
- iatoolkit/locales/en.yaml +144 -0
- iatoolkit/locales/es.yaml +140 -0
- iatoolkit/repositories/database_manager.py +17 -2
- iatoolkit/repositories/models.py +31 -4
- iatoolkit/repositories/profile_repo.py +7 -2
- iatoolkit/services/auth_service.py +193 -0
- iatoolkit/services/branding_service.py +59 -18
- iatoolkit/services/dispatcher_service.py +10 -40
- iatoolkit/services/excel_service.py +15 -15
- iatoolkit/services/help_content_service.py +30 -0
- iatoolkit/services/history_service.py +2 -11
- iatoolkit/services/i18n_service.py +104 -0
- iatoolkit/services/jwt_service.py +15 -24
- iatoolkit/services/language_service.py +77 -0
- iatoolkit/services/onboarding_service.py +43 -0
- iatoolkit/services/profile_service.py +148 -75
- iatoolkit/services/query_service.py +124 -81
- iatoolkit/services/tasks_service.py +1 -1
- iatoolkit/services/user_feedback_service.py +68 -32
- iatoolkit/services/user_session_context_service.py +112 -54
- iatoolkit/static/images/fernando.jpeg +0 -0
- iatoolkit/static/js/chat_feedback_button.js +80 -0
- iatoolkit/static/js/chat_help_content.js +124 -0
- iatoolkit/static/js/chat_history_button.js +112 -0
- iatoolkit/static/js/chat_logout_button.js +36 -0
- iatoolkit/static/js/chat_main.js +148 -220
- iatoolkit/static/js/chat_onboarding_button.js +97 -0
- iatoolkit/static/js/chat_prompt_manager.js +94 -0
- iatoolkit/static/js/chat_reload_button.js +35 -0
- iatoolkit/static/styles/chat_iatoolkit.css +367 -199
- iatoolkit/static/styles/chat_modal.css +98 -76
- iatoolkit/static/styles/chat_public.css +107 -0
- iatoolkit/static/styles/landing_page.css +182 -0
- iatoolkit/static/styles/onboarding.css +169 -0
- iatoolkit/system_prompts/query_main.prompt +3 -12
- iatoolkit/templates/_company_header.html +20 -0
- iatoolkit/templates/_login_widget.html +42 -0
- iatoolkit/templates/base.html +40 -20
- iatoolkit/templates/change_password.html +57 -36
- iatoolkit/templates/chat.html +169 -83
- iatoolkit/templates/chat_modals.html +134 -68
- iatoolkit/templates/error.html +44 -8
- iatoolkit/templates/forgot_password.html +40 -23
- iatoolkit/templates/index.html +145 -0
- iatoolkit/templates/login_simulation.html +34 -0
- iatoolkit/templates/onboarding_shell.html +104 -0
- iatoolkit/templates/signup.html +63 -65
- iatoolkit/views/base_login_view.py +92 -0
- iatoolkit/views/change_password_view.py +56 -30
- iatoolkit/views/external_login_view.py +61 -28
- iatoolkit/views/{file_store_view.py → file_store_api_view.py} +9 -2
- iatoolkit/views/forgot_password_view.py +27 -19
- iatoolkit/views/help_content_api_view.py +54 -0
- iatoolkit/views/history_api_view.py +56 -0
- iatoolkit/views/home_view.py +50 -23
- iatoolkit/views/index_view.py +14 -0
- iatoolkit/views/init_context_api_view.py +73 -0
- iatoolkit/views/llmquery_api_view.py +57 -0
- iatoolkit/views/login_simulation_view.py +81 -0
- iatoolkit/views/login_view.py +130 -37
- iatoolkit/views/logout_api_view.py +49 -0
- iatoolkit/views/profile_api_view.py +46 -0
- iatoolkit/views/{prompt_view.py → prompt_api_view.py} +10 -10
- iatoolkit/views/signup_view.py +42 -35
- iatoolkit/views/{tasks_view.py → tasks_api_view.py} +10 -36
- iatoolkit/views/tasks_review_api_view.py +55 -0
- iatoolkit/views/user_feedback_api_view.py +60 -0
- iatoolkit/views/verify_user_view.py +35 -28
- {iatoolkit-0.11.0.dist-info → iatoolkit-0.66.2.dist-info}/METADATA +2 -2
- iatoolkit-0.66.2.dist-info/RECORD +119 -0
- iatoolkit/common/auth.py +0 -200
- iatoolkit/static/images/arrow_up.png +0 -0
- iatoolkit/static/images/diagrama_iatoolkit.jpg +0 -0
- iatoolkit/static/images/logo_clinica.png +0 -0
- iatoolkit/static/images/logo_iatoolkit.png +0 -0
- iatoolkit/static/images/logo_maxxa.png +0 -0
- iatoolkit/static/images/logo_notaria.png +0 -0
- iatoolkit/static/images/logo_tarjeta.png +0 -0
- iatoolkit/static/images/logo_umayor.png +0 -0
- iatoolkit/static/images/upload.png +0 -0
- iatoolkit/static/js/chat_feedback.js +0 -115
- iatoolkit/static/js/chat_history.js +0 -117
- iatoolkit/static/styles/chat_info.css +0 -53
- iatoolkit/templates/header.html +0 -31
- iatoolkit/templates/home.html +0 -199
- iatoolkit/templates/login.html +0 -43
- iatoolkit/templates/test.html +0 -9
- iatoolkit/views/chat_token_request_view.py +0 -98
- iatoolkit/views/chat_view.py +0 -58
- iatoolkit/views/download_file_view.py +0 -58
- iatoolkit/views/external_chat_login_view.py +0 -95
- iatoolkit/views/history_view.py +0 -57
- iatoolkit/views/llmquery_view.py +0 -65
- iatoolkit/views/tasks_review_view.py +0 -83
- iatoolkit/views/user_feedback_view.py +0 -74
- iatoolkit-0.11.0.dist-info/RECORD +0 -110
- {iatoolkit-0.11.0.dist-info → iatoolkit-0.66.2.dist-info}/WHEEL +0 -0
- {iatoolkit-0.11.0.dist-info → iatoolkit-0.66.2.dist-info}/top_level.txt +0 -0
|
@@ -4,98 +4,119 @@
|
|
|
4
4
|
--bs-tooltip-opacity: 0.95; /* Ligeramente más opaco para mejor legibilidad */
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
h1, h2, h3, h4, h5, h6 {
|
|
8
|
+
font-family: var(--font-family-sans);
|
|
9
|
+
font-weight: var(--weight-semibold);
|
|
10
|
+
line-height: var(--lh-title);
|
|
11
|
+
margin: 0 0 0.6em;
|
|
12
|
+
/* Se define un color base usando la nueva variable de branding */
|
|
13
|
+
color: var(--brand-text-heading-color);
|
|
11
14
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
|
|
16
|
+
ul {
|
|
17
|
+
padding-left: 1.5rem; /* ~24px de indentación para la lista */
|
|
18
|
+
margin-bottom: 1rem; /* Espacio después de que termina la lista */
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
li {
|
|
22
|
+
margin-bottom: 0.5rem;
|
|
23
|
+
padding-left: 0.25rem; /* Pequeño espacio extra entre la viñeta y el texto */
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* Estilo para la viñeta (el punto) de cada elemento de la lista */
|
|
27
|
+
li::marker {
|
|
28
|
+
color: var(--brand-primary-color); /* La viñeta usa el color principal de la marca */
|
|
29
|
+
font-size: 1.1em; /* Ligeramente más grande para que sea más visible */
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.text-muted {
|
|
33
|
+
color: #64748b;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.chat-layout-container {
|
|
37
|
+
display: flex;
|
|
38
|
+
flex-direction: column;
|
|
39
|
+
height: 100dvh;
|
|
40
|
+
overflow: hidden;
|
|
41
|
+
padding-top: 1rem;
|
|
42
|
+
padding-bottom: 0.2rem;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* Esta parte para el prompt-assistant sigue siendo correcta */
|
|
46
|
+
main.chat-layout-container.prompt-assistant-open {
|
|
47
|
+
height: auto;
|
|
48
|
+
overflow: visible;
|
|
16
49
|
}
|
|
17
50
|
|
|
18
51
|
|
|
52
|
+
/* CSS para el chat principal */
|
|
19
53
|
/* esta clase defines los atributos de cada bloque */
|
|
20
54
|
.chat-block {
|
|
21
|
-
padding: 1rem;
|
|
22
|
-
border: 1px solid #dee2e6;
|
|
55
|
+
padding: 1rem;
|
|
56
|
+
border: 1px solid #dee2e6;
|
|
23
57
|
border-radius: 0.375rem; /* Borde redondeado estándar de Bootstrap */
|
|
24
58
|
box-shadow: 0 2px 8px rgba(0,0,0,0.06); /* Sombra suave y unificada */
|
|
25
59
|
}
|
|
26
60
|
|
|
27
|
-
/*
|
|
61
|
+
/* sección del encabezado en el chat principal */
|
|
28
62
|
.company-section {
|
|
29
|
-
border-radius: 0.375rem;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
/* Spinner */
|
|
33
|
-
.spinning {
|
|
34
|
-
animation: spin 1s linear infinite;
|
|
35
|
-
font-size: 15px; /* Tamaño del ícono */
|
|
36
|
-
display: inline-block;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
@keyframes spin {
|
|
40
|
-
0% { transform: rotate(0deg); }
|
|
41
|
-
100% { transform: rotate(360deg); }
|
|
63
|
+
border-radius: 0.375rem; /* Mismo radio que .chat-block para consistencia */
|
|
64
|
+
background-color: var(--brand-header-bg);
|
|
65
|
+
color: var(--brand-header-text);
|
|
42
66
|
}
|
|
43
67
|
|
|
44
68
|
/* Estilos para el contenedor del chat y mensajes para que exista scroll */
|
|
45
69
|
#chat-container {
|
|
46
|
-
|
|
70
|
+
flex-grow: 1;
|
|
47
71
|
overflow-y: auto;
|
|
48
72
|
display: flex;
|
|
49
73
|
flex-direction: column;
|
|
50
74
|
background-color: #fff; /* Fondo blanco para el contenedor del chat */
|
|
51
75
|
}
|
|
52
|
-
.answer-section, .error-section, .document-section {
|
|
53
|
-
max-width: 100%;
|
|
54
|
-
word-wrap: break-word;
|
|
55
|
-
margin-bottom: 10px;
|
|
56
|
-
}
|
|
57
76
|
|
|
58
|
-
/*
|
|
59
|
-
.
|
|
60
|
-
|
|
61
|
-
justify-content: space-between;
|
|
62
|
-
align-items: center;
|
|
63
|
-
}
|
|
64
|
-
.file-name-modal {
|
|
65
|
-
flex: 1;
|
|
66
|
-
margin-right: 10px;
|
|
77
|
+
/* La caja principal que envuelve toda el área de entrada */
|
|
78
|
+
.input-area {
|
|
79
|
+
background-color: var(--brand-prompt-assistant-bg, #f8f9fa);
|
|
67
80
|
}
|
|
68
|
-
|
|
69
|
-
|
|
81
|
+
|
|
82
|
+
/* La barra "cápsula" que envuelve el texto y los iconos */
|
|
83
|
+
.chat-input-bar {
|
|
84
|
+
background-color: #ffffff;
|
|
85
|
+
border: 1px solid #dee2e6;
|
|
86
|
+
border-radius: 1rem;
|
|
87
|
+
padding: 0.1rem 0.5rem;
|
|
88
|
+
transition: all 0.2s ease-in-out;
|
|
70
89
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
width: 100%;
|
|
90
|
+
|
|
91
|
+
/* Efecto de foco para toda la barra */
|
|
92
|
+
.chat-input-bar:focus-within {
|
|
93
|
+
border-color: #86b7fe;
|
|
94
|
+
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
|
|
77
95
|
}
|
|
78
96
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
97
|
+
#question {
|
|
98
|
+
width: 100%;
|
|
99
|
+
font-size: 15px;
|
|
100
|
+
background: #f8f9fa;
|
|
101
|
+
color: #202123;
|
|
102
|
+
border: 1px solid #d1d5db;
|
|
103
|
+
transition: all 0.3s ease-in-out;
|
|
83
104
|
}
|
|
84
105
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
106
|
+
#question:focus {
|
|
107
|
+
outline: none;
|
|
108
|
+
border-color: #80bdff;
|
|
109
|
+
box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
|
|
89
110
|
}
|
|
90
111
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
112
|
+
.answer-section, .error-section {
|
|
113
|
+
max-width: 100%;
|
|
114
|
+
word-wrap: break-word;
|
|
115
|
+
margin-bottom: 10px;
|
|
94
116
|
}
|
|
95
117
|
|
|
96
118
|
/* Estilo del mensaje ingresado por el usuario */
|
|
97
119
|
#chat-container .message {
|
|
98
|
-
margin-top: 10px;
|
|
99
120
|
max-width: 75%;
|
|
100
121
|
min-width: fit-content;
|
|
101
122
|
width: fit-content;
|
|
@@ -105,90 +126,226 @@
|
|
|
105
126
|
align-items: center;
|
|
106
127
|
align-self: flex-end;
|
|
107
128
|
text-align: left;
|
|
108
|
-
padding:
|
|
129
|
+
padding-left: 0.5em;
|
|
130
|
+
color: #202123;
|
|
109
131
|
font-family: Arial, sans-serif;
|
|
110
132
|
font-size: 15px;
|
|
111
|
-
line-height: 1.
|
|
112
|
-
color: #
|
|
113
|
-
background-color: #ffffff;
|
|
114
|
-
border: 1px solid #ddd;
|
|
133
|
+
line-height: 1.6;
|
|
134
|
+
background-color: #f7f7f8;
|
|
115
135
|
}
|
|
116
136
|
|
|
117
|
-
|
|
118
137
|
.answer-section {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
138
|
+
align-self: flex-start;
|
|
139
|
+
max-width: 75%;
|
|
140
|
+
padding: 10px 15px;
|
|
141
|
+
font-family: "Inter", Arial, sans-serif;
|
|
142
|
+
font-size: 15px;
|
|
122
143
|
line-height: 1.6;
|
|
123
144
|
word-wrap: break-word;
|
|
124
|
-
padding-top: 0.5em;
|
|
125
145
|
}
|
|
126
146
|
|
|
127
147
|
.error-section {
|
|
128
148
|
align-self: flex-start;
|
|
129
149
|
max-width: 75%;
|
|
130
|
-
min-width:
|
|
131
|
-
|
|
132
|
-
|
|
150
|
+
min-width: 250px;
|
|
151
|
+
|
|
152
|
+
color: var(--brand-danger-text, #842029); /* Color de texto de error de la marca */
|
|
153
|
+
background-color: var(--brand-danger-bg, #f8d7da); /* Fondo de error de la marca */
|
|
154
|
+
border: 1px solid var(--brand-danger-border, #f5c2c7); /* Borde de error de la marca */
|
|
155
|
+
font-style: italic;
|
|
156
|
+
font-size: 0.9rem;
|
|
133
157
|
display: flex;
|
|
134
|
-
align-items:
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
font-family: Arial, sans-serif;
|
|
142
|
-
font-size: 15px;
|
|
143
|
-
line-height: 1.5;
|
|
144
|
-
word-wrap: break-word;
|
|
145
|
-
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
|
|
158
|
+
align-items: center;
|
|
159
|
+
justify-content: start;
|
|
160
|
+
margin: 10px 0;
|
|
161
|
+
padding: 10px 15px; /* Un poco más de padding lateral */
|
|
162
|
+
opacity: 0.9;
|
|
163
|
+
border-radius: 8px; /* Bordes redondeados */
|
|
164
|
+
word-wrap: break-word; /* Asegura que el texto no se desborde */
|
|
146
165
|
}
|
|
147
166
|
|
|
148
167
|
.error-section i {
|
|
149
|
-
color: #
|
|
150
|
-
font-size: 1.
|
|
151
|
-
|
|
168
|
+
color: var(--brand-danger-color, #dc3545); /* Color del icono, el rojo principal */
|
|
169
|
+
font-size: 1.2rem; /* Tamaño del icono */
|
|
170
|
+
margin-right: 10px; /* Espacio entre el icono y el texto */
|
|
171
|
+
flex-shrink: 0; /* Evita que el icono se encoja */
|
|
152
172
|
}
|
|
153
173
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
174
|
+
/* Estilo para mensajes sutiles del sistema (ej. abortado) */
|
|
175
|
+
.system-message {
|
|
176
|
+
color: var(--brand-secondary-color, #6c757d); /* Usa el color secundario o un gris por defecto */
|
|
177
|
+
font-style: italic;
|
|
178
|
+
font-size: 0.9rem;
|
|
179
|
+
display: flex;
|
|
180
|
+
align-items: center;
|
|
181
|
+
justify-content: start;
|
|
182
|
+
margin: 10px 0;
|
|
183
|
+
padding: 10px;
|
|
184
|
+
opacity: 0.8;
|
|
161
185
|
}
|
|
162
186
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
187
|
+
|
|
188
|
+
/* Spinner */
|
|
189
|
+
.spinning {
|
|
190
|
+
animation: spin 1s linear infinite;
|
|
191
|
+
font-size: 15px; /* Tamaño del ícono */
|
|
192
|
+
display: inline-block;
|
|
193
|
+
}
|
|
194
|
+
#spinner .spinner-border {
|
|
195
|
+
color: var(--brand-primary-color);
|
|
167
196
|
}
|
|
168
197
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
198
|
+
|
|
199
|
+
@keyframes spin {
|
|
200
|
+
0% { transform: rotate(0deg); }
|
|
201
|
+
100% { transform: rotate(360deg); }
|
|
172
202
|
}
|
|
173
203
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
204
|
+
|
|
205
|
+
/* Estilos para el modal de archivos y ordenar icono */
|
|
206
|
+
.list-group-item {
|
|
207
|
+
display: flex;
|
|
208
|
+
justify-content: space-between;
|
|
209
|
+
align-items: center;
|
|
210
|
+
|
|
211
|
+
border: none;
|
|
212
|
+
/* separador sutil solo en la parte inferior */
|
|
213
|
+
border-bottom: 1px solid #e9ecef; /* Un gris muy claro estándar */
|
|
214
|
+
padding: 0.5rem 0.75rem;
|
|
215
|
+
|
|
216
|
+
/* animación suave para el cambio de fondo */
|
|
217
|
+
transition: background-color 0.2s ease-in-out;
|
|
181
218
|
}
|
|
182
219
|
|
|
183
|
-
/*
|
|
184
|
-
.
|
|
185
|
-
|
|
186
|
-
|
|
220
|
+
/* Al pasar el ratón, cambiamos el fondo para dar feedback */
|
|
221
|
+
.list-group-item:hover {
|
|
222
|
+
background-color: #f8f9fa; /* Un gris de fondo muy sutil */
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/* Eliminamos el borde del último elemento para un acabado limpio */
|
|
226
|
+
.list-group-item:last-child {
|
|
227
|
+
border-bottom: none;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.file-name-modal {
|
|
231
|
+
flex: 1;
|
|
232
|
+
margin-right: 10px;
|
|
233
|
+
}
|
|
234
|
+
.remove-file-btn {
|
|
235
|
+
flex-shrink: 0;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
/* Estos estilos son para las paginas publicas: home, signup, olvide la clave, etc */
|
|
241
|
+
|
|
242
|
+
/* --- Encabezado (top) de company --- */
|
|
243
|
+
.custom-company-header {
|
|
244
|
+
height: 78px;
|
|
245
|
+
margin-bottom: 20px;
|
|
246
|
+
padding: 0 1.5rem; /* Padding interno para que el texto no toque los bordes */
|
|
247
|
+
border-radius: 0.375rem; /* Bordes redondeados para que coincida con los formularios */
|
|
248
|
+
|
|
249
|
+
/* Los estilos de color y sombra se mantienen */
|
|
250
|
+
background-color: var(--brand-header-bg);
|
|
251
|
+
color: var(--brand-header-text);
|
|
252
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); /* Sombra ligeramente más suave */
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/* Estilo específico para el nombre de la marca en el encabezado (Letra más grande) */
|
|
256
|
+
.custom-company-header .brand-name {
|
|
257
|
+
font-size: 1.8rem; /* Tamaño de fuente aumentado */
|
|
258
|
+
font-weight: 600;
|
|
259
|
+
color: inherit;
|
|
260
|
+
text-decoration: none;
|
|
261
|
+
transition: opacity 0.2s ease-in-out;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/* Efecto hover para el enlace del nombre de la marca */
|
|
265
|
+
.custom-company-header .brand-name:hover {
|
|
266
|
+
opacity: 0.85;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
/* Estilo para el texto "Powered by" --- */
|
|
270
|
+
.custom-company-header .powered-by {
|
|
271
|
+
font-size: 0.9rem;
|
|
272
|
+
font-weight: 400;
|
|
273
|
+
opacity: 0.75; /* Menos prominente que el nombre de la marca */
|
|
274
|
+
color: inherit;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/* --- Estilo para el enlace de IAToolkit --- */
|
|
278
|
+
.custom-company-header .iatoolkit-link {
|
|
279
|
+
color: inherit; /* Hereda el color del texto padre */
|
|
280
|
+
text-decoration: none; /* ¡Elimina el subrayado! */
|
|
281
|
+
font-weight: 600; /* Un poco más de peso para diferenciarlo */
|
|
282
|
+
transition: opacity 0.2s ease-in-out;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
.custom-company-header .form-container {
|
|
286
|
+
display: flex;
|
|
287
|
+
flex-direction: column;
|
|
288
|
+
gap: 1rem;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
/* titulo en home */
|
|
292
|
+
.home-title {
|
|
293
|
+
font-size: 3.2rem;
|
|
294
|
+
font-weight: 800;
|
|
295
|
+
line-height: 1.2;
|
|
296
|
+
color: var(--brand-primary-color);
|
|
297
|
+
}
|
|
298
|
+
.list-example {
|
|
299
|
+
display: block; /* Coloca el ejemplo en su propia línea */
|
|
300
|
+
font-size: 0.9rem; /* Lo hace ligeramente más pequeño */
|
|
301
|
+
color: #6c757d; /* Color gris (muted) para texto secundario */
|
|
302
|
+
font-style: italic; /* Cursiva para diferenciarlo */
|
|
303
|
+
padding-left: 1.75rem; /* Lo indenta para alinearlo con el texto del tema */
|
|
304
|
+
margin-top: 0.25rem; /* Pequeño espacio superior */
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.text-brand-primary {
|
|
308
|
+
font-weight: 800;
|
|
309
|
+
color: var(--brand-primary-color);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
/* contenedor de formularios: login, signup, forgot password, etc. */
|
|
313
|
+
.branded-form-container {
|
|
314
|
+
background-color: #ffffff;
|
|
315
|
+
border: 1px solid #dee2e6;
|
|
316
|
+
border-top: 4px solid #adb5bd;
|
|
317
|
+
border-radius: 0.375rem;
|
|
318
|
+
padding: 2rem;
|
|
319
|
+
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.branded-form-label {
|
|
323
|
+
font-size: 0.85rem;
|
|
324
|
+
font-weight: 600;
|
|
325
|
+
color: #495057; /* Un gris oscuro profesional */
|
|
326
|
+
text-transform: uppercase;
|
|
327
|
+
letter-spacing: 0.05em; /* Un poco de espacio extra entre letras */
|
|
328
|
+
margin-bottom: 0.3rem;
|
|
329
|
+
display: block;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
.branded-form-title {
|
|
333
|
+
color: var(--brand-primary-color);
|
|
334
|
+
font-size: 1.75rem; /* Un tamaño más prominente */
|
|
335
|
+
font-weight: 700; /* Equivalente a fw-bold de Bootstrap */
|
|
336
|
+
text-align: center;
|
|
337
|
+
margin-bottom: 1.5rem; /* Espacio consistente debajo del título */
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
/* Aplica el color secundario de la marca al icono de ver archivos */
|
|
342
|
+
#view-files-button i {
|
|
343
|
+
color: var(--brand-secondary-color, #6c757d);
|
|
187
344
|
}
|
|
188
345
|
|
|
189
346
|
#prompt-assistant-collapse .card {
|
|
190
|
-
border-radius:
|
|
191
|
-
border: 1px solid #dee2e6; /* Mismo borde que el chat-input-bar */
|
|
347
|
+
border-radius: 1rem; /* Mismo radio que el chat-input-bar */
|
|
348
|
+
border: 1px solid var(--brand-prompt-assistant-border, #dee2e6); /* Mismo borde que el chat-input-bar */
|
|
192
349
|
box-shadow: none; /* Eliminamos la sombra por defecto del card */
|
|
193
350
|
}
|
|
194
351
|
|
|
@@ -207,7 +364,7 @@
|
|
|
207
364
|
min-height: 38px;
|
|
208
365
|
}
|
|
209
366
|
|
|
210
|
-
/*
|
|
367
|
+
/* Estilo UNIFICADO para los enlaces de iconos de acción */
|
|
211
368
|
.action-icon-style {
|
|
212
369
|
color: #6c757d; /* Color gris estándar por defecto */
|
|
213
370
|
transition: opacity 0.2s ease-in-out;
|
|
@@ -227,13 +384,18 @@
|
|
|
227
384
|
color: #6c757d;
|
|
228
385
|
transition: color 0.2s ease-in-out;
|
|
229
386
|
}
|
|
387
|
+
|
|
388
|
+
/* Anulación específica para el icono de la varita mágica */
|
|
389
|
+
.chat-input-bar a[href="#prompt-assistant-collapse"] i {
|
|
390
|
+
color: var(--brand-prompt-assistant-icon-color, #6c757d);
|
|
391
|
+
}
|
|
392
|
+
|
|
230
393
|
.chat-input-bar .d-flex a:hover i {
|
|
231
394
|
color: #343a40;
|
|
232
395
|
}
|
|
233
396
|
|
|
234
397
|
/* 6. Anulación específica para el botón de ENVIAR usando su ID (Máxima Prioridad) */
|
|
235
398
|
#send-button i {
|
|
236
|
-
color: var(--brand-send-button-color); /* Usa la variable de branding */
|
|
237
399
|
font-size: 1.7rem; /* Ligeramente más grande */
|
|
238
400
|
}
|
|
239
401
|
#send-button:hover i {
|
|
@@ -246,12 +408,6 @@
|
|
|
246
408
|
pointer-events: none; /* Lo hace no-clicable */
|
|
247
409
|
}
|
|
248
410
|
|
|
249
|
-
@media (max-width: 768px) {
|
|
250
|
-
#chat-container {
|
|
251
|
-
height: 68vh;
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
|
|
255
411
|
.filepond--credits {
|
|
256
412
|
display: none; /* Ocultar créditos de FilePond */
|
|
257
413
|
}
|
|
@@ -289,8 +445,8 @@
|
|
|
289
445
|
}
|
|
290
446
|
|
|
291
447
|
.dropdown-menu-soft {
|
|
292
|
-
background-color: #f8f9fa;
|
|
293
|
-
border-color: #dee2e6;
|
|
448
|
+
background-color: var(--brand-prompt-assistant-dropdown-bg, #f8f9fa);
|
|
449
|
+
border-color: var(--brand-prompt-assistant-border, #dee2e6);
|
|
294
450
|
}
|
|
295
451
|
|
|
296
452
|
.dropdown-menu-soft .dropdown-item {
|
|
@@ -299,15 +455,15 @@
|
|
|
299
455
|
|
|
300
456
|
.dropdown-menu-soft .dropdown-item:hover,
|
|
301
457
|
.dropdown-menu-soft .dropdown-item:focus {
|
|
302
|
-
color: #ffffff;
|
|
303
|
-
background-color: #495057;
|
|
458
|
+
color: var(--brand-prompt-assistant-item-hover-text, #ffffff);
|
|
459
|
+
background-color: var(--brand-prompt-assistant-item-hover-bg, #495057);
|
|
304
460
|
padding-left: 1.5rem;
|
|
305
461
|
transition: all 0.15s ease-in-out;
|
|
306
462
|
}
|
|
307
463
|
|
|
308
464
|
.dropdown-menu-soft .dropdown-header {
|
|
309
|
-
background-color: #495057;
|
|
310
|
-
color: #ffffff;
|
|
465
|
+
background-color: var(--brand-prompt-assistant-header-bg, #495057);
|
|
466
|
+
color: var(--brand-prompt-assistant-header-text, #ffffff);
|
|
311
467
|
font-weight: 600;
|
|
312
468
|
margin: 4px;
|
|
313
469
|
padding: 0.4rem 1rem;
|
|
@@ -318,6 +474,30 @@
|
|
|
318
474
|
border-bottom: none;
|
|
319
475
|
}
|
|
320
476
|
|
|
477
|
+
.prompt-select-button {
|
|
478
|
+
/* Estado por defecto: Estilo "outline" sutil */
|
|
479
|
+
background-color: var(--brand-primary-color);
|
|
480
|
+
color: var(--brand-text-on-primary);
|
|
481
|
+
border: 1px solid var(--brand-primary-color); /* Borde fino con el color primario */
|
|
482
|
+
|
|
483
|
+
/* Estilos de botón estándar */
|
|
484
|
+
border-radius: 0.25rem;
|
|
485
|
+
padding: 0.5rem 1rem;
|
|
486
|
+
cursor: pointer;
|
|
487
|
+
text-align: center;
|
|
488
|
+
font-weight: 500; /* Un poco más de peso para el texto */
|
|
489
|
+
|
|
490
|
+
/* Transición suave para el cambio en hover */
|
|
491
|
+
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
.prompt-select-button:hover {
|
|
495
|
+
/* Estado hover: Se rellena para dar feedback claro */
|
|
496
|
+
background-color: transparent;
|
|
497
|
+
color: var(--brand-primary-color);
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
|
|
321
501
|
#clear-selection-button {
|
|
322
502
|
position: absolute;
|
|
323
503
|
top: 50%;
|
|
@@ -333,92 +513,80 @@
|
|
|
333
513
|
color: #212529;
|
|
334
514
|
}
|
|
335
515
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
.icon-spaced {
|
|
339
|
-
margin-right: 10px;
|
|
516
|
+
#send-button i {
|
|
517
|
+
color: var(--brand-send-button-color);
|
|
340
518
|
}
|
|
341
519
|
|
|
342
|
-
|
|
343
|
-
font-size: 20px;
|
|
344
|
-
font-weight: bold;
|
|
345
|
-
}
|
|
520
|
+
/* Estilos personalizados para Toastr usando las variables de Branding */
|
|
346
521
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
522
|
+
/* --- Toast de Información (Usa el color primario de la marca) --- */
|
|
523
|
+
.toast-info {
|
|
524
|
+
/* ¡Importante! Usamos las variables CSS de tu BrandingService */
|
|
525
|
+
background-color: var(--brand-primary-color) !important;
|
|
526
|
+
color: var(--brand-text-on-primary) !important;
|
|
527
|
+
opacity: 0.95 !important;
|
|
350
528
|
}
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
529
|
+
.toast-info .toast-progress {
|
|
530
|
+
/* Usamos un color ligeramente más oscuro o una variante,
|
|
531
|
+
pero para simplificar, podemos empezar con el mismo */
|
|
532
|
+
background-color: rgba(0, 0, 0, 0.2) !important;
|
|
354
533
|
}
|
|
355
534
|
|
|
356
|
-
/*
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
535
|
+
/* --- Toast de Éxito (Usa el verde por defecto o uno de marca si lo defines) --- */
|
|
536
|
+
.toast-success {
|
|
537
|
+
background-color: #198754 !important; /* Puedes crear una variable --brand-success-color si quieres */
|
|
538
|
+
color: #ffffff !important;
|
|
539
|
+
opacity: 0.95 !important;
|
|
361
540
|
}
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
#history-content .table td:nth-child(2) { width: 20%; }
|
|
365
|
-
#history-content .table td:nth-child(3) { width: auto; }
|
|
366
|
-
|
|
367
|
-
/* Contenedor de calificación con estrellas */
|
|
368
|
-
.rating-container {
|
|
369
|
-
text-align: center;
|
|
370
|
-
margin: 10px 0 0 0;
|
|
371
|
-
display: flex;
|
|
372
|
-
flex-direction: column;
|
|
373
|
-
justify-content: center;
|
|
374
|
-
align-items: center;
|
|
375
|
-
gap: 5px;
|
|
376
|
-
width: 100%;
|
|
541
|
+
.toast-success .toast-progress {
|
|
542
|
+
background-color: rgba(0, 0, 0, 0.2) !important;
|
|
377
543
|
}
|
|
378
544
|
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
width: 100%;
|
|
545
|
+
/* --- Toast de Error (Usa el color de peligro de la marca) --- */
|
|
546
|
+
.toast-error{
|
|
547
|
+
background-color: var(--brand-danger-color) !important;
|
|
548
|
+
color: var(--brand-text-on-primary) !important; /* Asumimos texto blanco sobre el color de peligro */
|
|
549
|
+
opacity: 0.95 !important;
|
|
550
|
+
}
|
|
551
|
+
.toast-error .toast-progress {
|
|
552
|
+
background-color: rgba(0, 0, 0, 0.2) !important;
|
|
388
553
|
}
|
|
389
554
|
|
|
390
|
-
/*
|
|
391
|
-
.
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
gap: 5px;
|
|
395
|
-
margin-bottom: 15px;
|
|
396
|
-
padding-top: 5px;
|
|
397
|
-
}
|
|
398
|
-
.star {
|
|
399
|
-
font-size: 2rem;
|
|
400
|
-
color: #adb5bd;
|
|
401
|
-
cursor: pointer;
|
|
402
|
-
transition: color 0.2s, transform 0.2s;
|
|
555
|
+
/* Opcional: Estilo para el botón de cierre para que contraste bien */
|
|
556
|
+
.toast-close-button {
|
|
557
|
+
color: var(--brand-text-on-primary) !important;
|
|
558
|
+
text-shadow: none !important;
|
|
403
559
|
}
|
|
404
|
-
.
|
|
405
|
-
|
|
560
|
+
.toast-close-button:hover {
|
|
561
|
+
opacity: 0.8;
|
|
406
562
|
}
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
line-height: 1;
|
|
413
|
-
-webkit-font-smoothing: antialiased;
|
|
563
|
+
|
|
564
|
+
.alert-branded-danger {
|
|
565
|
+
background-color: var(--brand-danger-bg);
|
|
566
|
+
color: var(--brand-danger-text);
|
|
567
|
+
border-color: var(--brand-danger-border);
|
|
414
568
|
}
|
|
415
|
-
|
|
416
|
-
.
|
|
417
|
-
|
|
569
|
+
/* Asegura que el texto fuerte y los enlaces dentro de la alerta también tomen el color correcto */
|
|
570
|
+
.alert-branded-danger strong,
|
|
571
|
+
.alert-branded-danger .alert-link {
|
|
572
|
+
color: inherit;
|
|
418
573
|
}
|
|
419
|
-
|
|
420
|
-
.
|
|
421
|
-
color: #
|
|
574
|
+
|
|
575
|
+
.edit-pencil {
|
|
576
|
+
color: var(--brand-secondary-color, #6c757d); /* Color secundario por defecto */
|
|
577
|
+
cursor: pointer;
|
|
578
|
+
opacity: 0.6;
|
|
579
|
+
text-decoration: none;
|
|
580
|
+
/* Transición suave para todos los cambios (color, opacidad, tamaño) */
|
|
581
|
+
transition: all 0.25s ease-in-out;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
.edit-pencil:hover {
|
|
585
|
+
opacity: 1;
|
|
586
|
+
transform: scale(1.2);
|
|
587
|
+
color: var(--brand-primary-color, #4C6A8D);
|
|
588
|
+
cursor: pointer;
|
|
422
589
|
}
|
|
423
590
|
|
|
424
591
|
|
|
592
|
+
|