iatoolkit 0.59.1__py3-none-any.whl → 0.67.0__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.
Potentially problematic release.
This version of iatoolkit might be problematic. Click here for more details.
- iatoolkit/__init__.py +2 -0
- iatoolkit/base_company.py +2 -19
- iatoolkit/common/routes.py +28 -25
- iatoolkit/common/session_manager.py +2 -0
- iatoolkit/common/util.py +17 -6
- iatoolkit/company_registry.py +1 -2
- iatoolkit/iatoolkit.py +54 -20
- iatoolkit/locales/en.yaml +167 -0
- iatoolkit/locales/es.yaml +163 -0
- iatoolkit/repositories/database_manager.py +3 -3
- iatoolkit/repositories/document_repo.py +1 -1
- iatoolkit/repositories/models.py +3 -4
- iatoolkit/repositories/profile_repo.py +0 -4
- iatoolkit/services/auth_service.py +44 -32
- iatoolkit/services/branding_service.py +35 -27
- iatoolkit/services/configuration_service.py +140 -0
- iatoolkit/services/dispatcher_service.py +20 -18
- iatoolkit/services/document_service.py +5 -2
- iatoolkit/services/excel_service.py +15 -11
- iatoolkit/services/file_processor_service.py +4 -12
- iatoolkit/services/history_service.py +8 -7
- iatoolkit/services/i18n_service.py +104 -0
- iatoolkit/services/jwt_service.py +7 -9
- iatoolkit/services/language_service.py +79 -0
- iatoolkit/services/load_documents_service.py +4 -4
- iatoolkit/services/mail_service.py +9 -4
- iatoolkit/services/onboarding_service.py +10 -4
- iatoolkit/services/profile_service.py +59 -38
- iatoolkit/services/prompt_manager_service.py +20 -16
- iatoolkit/services/query_service.py +15 -14
- iatoolkit/services/sql_service.py +6 -2
- iatoolkit/services/user_feedback_service.py +70 -29
- 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 +110 -0
- iatoolkit/static/js/chat_logout_button.js +36 -0
- iatoolkit/static/js/chat_main.js +32 -184
- iatoolkit/static/js/{chat_onboarding.js → chat_onboarding_button.js} +0 -1
- iatoolkit/static/js/chat_prompt_manager.js +94 -0
- iatoolkit/static/js/chat_reload_button.js +35 -0
- iatoolkit/static/styles/chat_iatoolkit.css +251 -205
- iatoolkit/static/styles/chat_modal.css +63 -95
- iatoolkit/static/styles/chat_public.css +107 -0
- iatoolkit/static/styles/landing_page.css +121 -167
- iatoolkit/templates/_company_header.html +20 -0
- iatoolkit/templates/_login_widget.html +10 -10
- iatoolkit/templates/base.html +36 -19
- iatoolkit/templates/change_password.html +24 -22
- iatoolkit/templates/chat.html +121 -93
- iatoolkit/templates/chat_modals.html +113 -74
- iatoolkit/templates/error.html +44 -8
- iatoolkit/templates/forgot_password.html +17 -15
- iatoolkit/templates/index.html +66 -81
- iatoolkit/templates/login_simulation.html +16 -5
- iatoolkit/templates/onboarding_shell.html +1 -2
- iatoolkit/templates/signup.html +22 -20
- iatoolkit/views/base_login_view.py +12 -1
- iatoolkit/views/change_password_view.py +50 -33
- iatoolkit/views/external_login_view.py +5 -11
- iatoolkit/views/file_store_api_view.py +7 -9
- iatoolkit/views/forgot_password_view.py +21 -19
- iatoolkit/views/help_content_api_view.py +54 -0
- iatoolkit/views/history_api_view.py +16 -12
- iatoolkit/views/home_view.py +61 -0
- iatoolkit/views/index_view.py +5 -34
- iatoolkit/views/init_context_api_view.py +16 -13
- iatoolkit/views/llmquery_api_view.py +38 -28
- iatoolkit/views/login_simulation_view.py +14 -2
- iatoolkit/views/login_view.py +48 -33
- iatoolkit/views/logout_api_view.py +49 -0
- iatoolkit/views/profile_api_view.py +46 -0
- iatoolkit/views/prompt_api_view.py +8 -8
- iatoolkit/views/signup_view.py +27 -25
- 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 +21 -32
- iatoolkit/views/verify_user_view.py +33 -26
- {iatoolkit-0.59.1.dist-info → iatoolkit-0.67.0.dist-info}/METADATA +40 -22
- iatoolkit-0.67.0.dist-info/RECORD +120 -0
- iatoolkit-0.67.0.dist-info/licenses/LICENSE +21 -0
- iatoolkit/static/js/chat_context_reload.js +0 -54
- iatoolkit/static/js/chat_feedback.js +0 -115
- iatoolkit/static/js/chat_history.js +0 -127
- iatoolkit/static/styles/chat_info.css +0 -53
- iatoolkit/templates/_branding_styles.html +0 -53
- iatoolkit/templates/_navbar.html +0 -9
- iatoolkit/templates/header.html +0 -31
- iatoolkit/templates/test.html +0 -9
- iatoolkit/views/chat_token_request_view.py +0 -98
- iatoolkit/views/tasks_review_view.py +0 -83
- iatoolkit-0.59.1.dist-info/RECORD +0 -111
- {iatoolkit-0.59.1.dist-info → iatoolkit-0.67.0.dist-info}/WHEEL +0 -0
- {iatoolkit-0.59.1.dist-info → iatoolkit-0.67.0.dist-info}/top_level.txt +0 -0
|
@@ -4,98 +4,135 @@
|
|
|
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 */
|
|
16
19
|
}
|
|
17
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
|
+
}
|
|
18
25
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
padding: 1rem; /* Equivalente a p-3 de Bootstrap */
|
|
22
|
-
border: 1px solid #dee2e6; /* Borde estándar y sutil */
|
|
23
|
-
border-radius: 0.375rem; /* Borde redondeado estándar de Bootstrap */
|
|
24
|
-
box-shadow: 0 2px 8px rgba(0,0,0,0.06); /* Sombra suave y unificada */
|
|
26
|
+
.text-muted {
|
|
27
|
+
color: #64748b;
|
|
25
28
|
}
|
|
26
29
|
|
|
27
|
-
/*
|
|
28
|
-
.
|
|
29
|
-
|
|
30
|
+
/* Estilos para botones con branding */
|
|
31
|
+
.btn-branded-primary {
|
|
32
|
+
background-color: var(--brand-primary-color);
|
|
33
|
+
border-color: var(--brand-primary-color);
|
|
34
|
+
color: var(--brand-text-on-primary);
|
|
35
|
+
}
|
|
36
|
+
.btn-branded-primary:hover {
|
|
37
|
+
background-color: var(--brand-text-on-primary);
|
|
38
|
+
color: var(--brand-primary-color);
|
|
39
|
+
border-color: var(--brand-primary-color);
|
|
30
40
|
}
|
|
31
41
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
42
|
+
.btn-branded-secondary {
|
|
43
|
+
background-color: var(--brand-secondary-color);
|
|
44
|
+
border-color: var(--brand-secondary-color);
|
|
45
|
+
color: var(--brand-text-on-secondary);
|
|
46
|
+
}
|
|
47
|
+
.btn-branded-secondary:hover {
|
|
48
|
+
background-color: var(--brand-text-on-secondary);
|
|
49
|
+
color: var(--brand-secondary-color);
|
|
50
|
+
border-color: var(--brand-secondary-color);
|
|
37
51
|
}
|
|
38
52
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
53
|
+
.chat-layout-container {
|
|
54
|
+
display: flex;
|
|
55
|
+
flex-direction: column;
|
|
56
|
+
height: 100dvh;
|
|
57
|
+
overflow: hidden;
|
|
58
|
+
padding-top: 1rem;
|
|
59
|
+
padding-bottom: 0.2rem;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
/* sección del encabezado en el chat principal */
|
|
64
|
+
.company-section {
|
|
65
|
+
border-radius: 0.375rem; /* Mismo radio que .chat-block para consistencia */
|
|
66
|
+
background-color: var(--brand-header-bg);
|
|
67
|
+
color: var(--brand-header-text);
|
|
42
68
|
}
|
|
43
69
|
|
|
44
70
|
/* Estilos para el contenedor del chat y mensajes para que exista scroll */
|
|
45
71
|
#chat-container {
|
|
46
|
-
|
|
72
|
+
flex-grow: 1;
|
|
47
73
|
overflow-y: auto;
|
|
48
74
|
display: flex;
|
|
49
75
|
flex-direction: column;
|
|
50
76
|
background-color: #fff; /* Fondo blanco para el contenedor del chat */
|
|
51
77
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
78
|
+
|
|
79
|
+
/* CSS para el chat principal */
|
|
80
|
+
/* esta clase defines los atributos de cada bloque */
|
|
81
|
+
.chat-block {
|
|
82
|
+
padding: 1rem;
|
|
83
|
+
border: 1px solid #dee2e6;
|
|
84
|
+
border-radius: 0.375rem; /* Borde redondeado estándar de Bootstrap */
|
|
85
|
+
box-shadow: 0 2px 8px rgba(0,0,0,0.06); /* Sombra suave y unificada */
|
|
56
86
|
}
|
|
57
87
|
|
|
58
|
-
/*
|
|
59
|
-
.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
88
|
+
/* El textarea "invisible" en el centro */
|
|
89
|
+
.chat-textarea {
|
|
90
|
+
flex-grow: 1;
|
|
91
|
+
background: transparent !important;
|
|
92
|
+
border: none !important;
|
|
93
|
+
box-shadow: none !important;
|
|
94
|
+
resize: none;
|
|
95
|
+
max-height: 150px;
|
|
96
|
+
min-height: 38px;
|
|
63
97
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
98
|
+
|
|
99
|
+
/* La barra "cápsula" que envuelve el texto y los iconos */
|
|
100
|
+
.chat-input-bar {
|
|
101
|
+
background-color: #ffffff;
|
|
102
|
+
border: 1px solid #dee2e6;
|
|
103
|
+
border-radius: 1rem;
|
|
104
|
+
padding: 0.1rem 0.5rem;
|
|
105
|
+
transition: all 0.2s ease-in-out;
|
|
67
106
|
}
|
|
68
|
-
|
|
69
|
-
|
|
107
|
+
|
|
108
|
+
/* Efecto de foco para toda la barra */
|
|
109
|
+
.chat-input-bar:focus-within {
|
|
110
|
+
border-color: #86b7fe;
|
|
111
|
+
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
|
|
70
112
|
}
|
|
71
|
-
/*
|
|
72
|
-
.
|
|
73
|
-
|
|
74
|
-
align-items: center;
|
|
75
|
-
justify-content: space-between;
|
|
76
|
-
width: 100%;
|
|
113
|
+
/* La caja principal que envuelve toda el área de entrada */
|
|
114
|
+
.input-area {
|
|
115
|
+
background-color: var(--brand-prompt-assistant-bg, #f8f9fa);
|
|
77
116
|
}
|
|
78
117
|
|
|
79
|
-
.modal-header .modal-title {
|
|
80
|
-
margin: 0;
|
|
81
|
-
padding: 0;
|
|
82
|
-
flex: 1;
|
|
83
|
-
}
|
|
84
118
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
119
|
+
#question {
|
|
120
|
+
width: 100%;
|
|
121
|
+
font-size: 15px;
|
|
122
|
+
background: #f8f9fa;
|
|
123
|
+
color: #202123;
|
|
124
|
+
border: 1px solid #d1d5db;
|
|
125
|
+
transition: all 0.3s ease-in-out;
|
|
89
126
|
}
|
|
90
127
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
color: #
|
|
128
|
+
#question:focus {
|
|
129
|
+
outline: none;
|
|
130
|
+
border-color: #80bdff;
|
|
131
|
+
box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
|
|
94
132
|
}
|
|
95
133
|
|
|
96
134
|
/* Estilo del mensaje ingresado por el usuario */
|
|
97
135
|
#chat-container .message {
|
|
98
|
-
margin-top: 10px;
|
|
99
136
|
max-width: 75%;
|
|
100
137
|
min-width: fit-content;
|
|
101
138
|
width: fit-content;
|
|
@@ -105,24 +142,31 @@
|
|
|
105
142
|
align-items: center;
|
|
106
143
|
align-self: flex-end;
|
|
107
144
|
text-align: left;
|
|
108
|
-
padding:
|
|
145
|
+
padding-left: 0.5em;
|
|
146
|
+
color: #202123;
|
|
109
147
|
font-family: Arial, sans-serif;
|
|
110
148
|
font-size: 15px;
|
|
111
|
-
line-height: 1.
|
|
112
|
-
color: #
|
|
113
|
-
|
|
114
|
-
|
|
149
|
+
line-height: 1.6;
|
|
150
|
+
background-color: #f7f7f8;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.answer-section, .error-section {
|
|
154
|
+
max-width: 100%;
|
|
155
|
+
word-wrap: break-word;
|
|
156
|
+
margin-bottom: 10px;
|
|
115
157
|
}
|
|
116
158
|
|
|
117
159
|
|
|
118
160
|
.answer-section {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
161
|
+
align-self: flex-start;
|
|
162
|
+
max-width: 75%;
|
|
163
|
+
padding: 10px 15px;
|
|
164
|
+
font-family: "Inter", Arial, sans-serif;
|
|
165
|
+
font-size: 15px;
|
|
122
166
|
line-height: 1.6;
|
|
123
167
|
word-wrap: break-word;
|
|
124
|
-
padding-top: 0.5em;
|
|
125
168
|
}
|
|
169
|
+
|
|
126
170
|
.error-section {
|
|
127
171
|
align-self: flex-start;
|
|
128
172
|
max-width: 75%;
|
|
@@ -150,62 +194,76 @@
|
|
|
150
194
|
flex-shrink: 0; /* Evita que el icono se encoja */
|
|
151
195
|
}
|
|
152
196
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
197
|
+
/* Estilo para mensajes sutiles del sistema (ej. abortado) */
|
|
198
|
+
.system-message {
|
|
199
|
+
color: var(--brand-secondary-color, #6c757d); /* Usa el color secundario o un gris por defecto */
|
|
200
|
+
font-style: italic;
|
|
201
|
+
font-size: 0.9rem;
|
|
202
|
+
display: flex;
|
|
203
|
+
align-items: center;
|
|
204
|
+
justify-content: start;
|
|
205
|
+
margin: 10px 0;
|
|
206
|
+
padding: 10px;
|
|
207
|
+
opacity: 0.8;
|
|
160
208
|
}
|
|
161
209
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
210
|
+
/* Spinner */
|
|
211
|
+
.spinning {
|
|
212
|
+
animation: spin 1s linear infinite;
|
|
213
|
+
font-size: 15px; /* Tamaño del ícono */
|
|
214
|
+
display: inline-block;
|
|
215
|
+
}
|
|
216
|
+
#spinner .spinner-border {
|
|
217
|
+
color: var(--brand-primary-color);
|
|
166
218
|
}
|
|
167
219
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
220
|
+
@keyframes spin {
|
|
221
|
+
0% { transform: rotate(0deg); }
|
|
222
|
+
100% { transform: rotate(360deg); }
|
|
171
223
|
}
|
|
172
224
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
225
|
+
|
|
226
|
+
/* Estilos para el modal de archivos y ordenar icono */
|
|
227
|
+
.list-group-item {
|
|
228
|
+
display: flex;
|
|
229
|
+
justify-content: space-between;
|
|
230
|
+
align-items: center;
|
|
231
|
+
|
|
232
|
+
border: none;
|
|
233
|
+
/* separador sutil solo en la parte inferior */
|
|
234
|
+
border-bottom: 1px solid #e9ecef; /* Un gris muy claro estándar */
|
|
235
|
+
padding: 0.5rem 0.75rem;
|
|
236
|
+
|
|
237
|
+
/* animación suave para el cambio de fondo */
|
|
238
|
+
transition: background-color 0.2s ease-in-out;
|
|
180
239
|
}
|
|
181
240
|
|
|
182
|
-
/*
|
|
183
|
-
.
|
|
184
|
-
|
|
185
|
-
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
|
|
241
|
+
/* Al pasar el ratón, cambiamos el fondo para dar feedback */
|
|
242
|
+
.list-group-item:hover {
|
|
243
|
+
background-color: #f8f9fa; /* Un gris de fondo muy sutil */
|
|
186
244
|
}
|
|
187
245
|
|
|
188
|
-
/*
|
|
189
|
-
|
|
190
|
-
|
|
246
|
+
/* Eliminamos el borde del último elemento para un acabado limpio */
|
|
247
|
+
.list-group-item:last-child {
|
|
248
|
+
border-bottom: none;
|
|
191
249
|
}
|
|
192
250
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
align-items: center;
|
|
200
|
-
justify-content: start;
|
|
201
|
-
margin: 10px 0;
|
|
202
|
-
padding: 10px;
|
|
203
|
-
opacity: 0.8;
|
|
251
|
+
.file-name-modal {
|
|
252
|
+
flex: 1;
|
|
253
|
+
margin-right: 10px;
|
|
254
|
+
}
|
|
255
|
+
.remove-file-btn {
|
|
256
|
+
flex-shrink: 0;
|
|
204
257
|
}
|
|
205
258
|
|
|
206
259
|
|
|
260
|
+
/* Aplica el color secundario de la marca al icono de ver archivos */
|
|
261
|
+
#view-files-button i {
|
|
262
|
+
color: var(--brand-secondary-color, #6c757d);
|
|
263
|
+
}
|
|
264
|
+
|
|
207
265
|
#prompt-assistant-collapse .card {
|
|
208
|
-
border-radius:
|
|
266
|
+
border-radius: 1rem; /* Mismo radio que el chat-input-bar */
|
|
209
267
|
border: 1px solid var(--brand-prompt-assistant-border, #dee2e6); /* Mismo borde que el chat-input-bar */
|
|
210
268
|
box-shadow: none; /* Eliminamos la sombra por defecto del card */
|
|
211
269
|
}
|
|
@@ -214,18 +272,8 @@
|
|
|
214
272
|
margin-bottom: 12px !important; /* Anula el mb-2 (8px) para añadir un poco más de espacio */
|
|
215
273
|
}
|
|
216
274
|
|
|
217
|
-
/* 4. El textarea "invisible" en el centro */
|
|
218
|
-
.chat-textarea {
|
|
219
|
-
flex-grow: 1;
|
|
220
|
-
background: transparent !important;
|
|
221
|
-
border: none !important;
|
|
222
|
-
box-shadow: none !important;
|
|
223
|
-
resize: none;
|
|
224
|
-
max-height: 150px;
|
|
225
|
-
min-height: 38px;
|
|
226
|
-
}
|
|
227
275
|
|
|
228
|
-
/*
|
|
276
|
+
/* Estilo UNIFICADO para los enlaces de iconos de acción */
|
|
229
277
|
.action-icon-style {
|
|
230
278
|
color: #6c757d; /* Color gris estándar por defecto */
|
|
231
279
|
transition: opacity 0.2s ease-in-out;
|
|
@@ -255,7 +303,7 @@
|
|
|
255
303
|
color: #343a40;
|
|
256
304
|
}
|
|
257
305
|
|
|
258
|
-
/*
|
|
306
|
+
/* Anulación específica para el botón de ENVIAR usando su ID (Máxima Prioridad) */
|
|
259
307
|
#send-button i {
|
|
260
308
|
font-size: 1.7rem; /* Ligeramente más grande */
|
|
261
309
|
}
|
|
@@ -269,12 +317,6 @@
|
|
|
269
317
|
pointer-events: none; /* Lo hace no-clicable */
|
|
270
318
|
}
|
|
271
319
|
|
|
272
|
-
@media (max-width: 768px) {
|
|
273
|
-
#chat-container {
|
|
274
|
-
height: 68vh;
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
|
|
278
320
|
.filepond--credits {
|
|
279
321
|
display: none; /* Ocultar créditos de FilePond */
|
|
280
322
|
}
|
|
@@ -341,14 +383,30 @@
|
|
|
341
383
|
border-bottom: none;
|
|
342
384
|
}
|
|
343
385
|
|
|
344
|
-
/*
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
border-
|
|
386
|
+
/* estilos para el selector de prompts */
|
|
387
|
+
.prompt-select-button {
|
|
388
|
+
color: #202123;
|
|
389
|
+
border: 2px solid var(--brand-primary-color);
|
|
390
|
+
border-radius: 0.25rem; /* Estilos de botón estándar */
|
|
391
|
+
padding: 0.5rem 1rem;
|
|
392
|
+
cursor: pointer;
|
|
393
|
+
text-align: center;
|
|
394
|
+
font-weight: 500;
|
|
395
|
+
|
|
396
|
+
/* Transición suave para el cambio en hover */
|
|
397
|
+
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
|
|
349
398
|
}
|
|
350
399
|
|
|
400
|
+
.prompt-select-button:hover {
|
|
401
|
+
background-color: var(--brand-primary-color);
|
|
402
|
+
color: var(--brand-text-on-primary);
|
|
351
403
|
|
|
404
|
+
/* Marca el borde con un glow limpio */
|
|
405
|
+
border-color: var(--brand-primary-color);
|
|
406
|
+
box-shadow: 0 0 0 3px rgba( var(--brand-primary-rgb), 0.25 );
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
/* estilo de la x que limpia el prompt seleccionado */
|
|
352
410
|
#clear-selection-button {
|
|
353
411
|
position: absolute;
|
|
354
412
|
top: 50%;
|
|
@@ -361,97 +419,85 @@
|
|
|
361
419
|
}
|
|
362
420
|
|
|
363
421
|
#clear-selection-button:hover {
|
|
364
|
-
color: #
|
|
422
|
+
color: #ffffff;
|
|
423
|
+
background-color: #6c757d;
|
|
424
|
+
border-radius: 0.25rem;
|
|
365
425
|
}
|
|
366
426
|
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
.icon-spaced {
|
|
370
|
-
margin-right: 10px;
|
|
427
|
+
#send-button i {
|
|
428
|
+
color: var(--brand-send-button-color);
|
|
371
429
|
}
|
|
372
430
|
|
|
373
|
-
|
|
374
|
-
font-size: 20px;
|
|
375
|
-
font-weight: bold;
|
|
376
|
-
}
|
|
431
|
+
/* Estilos personalizados para Toastr usando las variables de Branding */
|
|
377
432
|
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
433
|
+
/* --- Toast de Información (Usa el color primario de la marca) --- */
|
|
434
|
+
.toast-info {
|
|
435
|
+
/* ¡Importante! Usamos las variables CSS de tu BrandingService */
|
|
436
|
+
background-color: var(--brand-primary-color) !important;
|
|
437
|
+
color: var(--brand-text-on-primary) !important;
|
|
438
|
+
opacity: 0.95 !important;
|
|
381
439
|
}
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
440
|
+
.toast-info .toast-progress {
|
|
441
|
+
/* Usamos un color ligeramente más oscuro o una variante,
|
|
442
|
+
pero para simplificar, podemos empezar con el mismo */
|
|
443
|
+
background-color: rgba(0, 0, 0, 0.2) !important;
|
|
385
444
|
}
|
|
386
445
|
|
|
387
|
-
/*
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
446
|
+
/* --- Toast de Éxito (Usa el verde por defecto o uno de marca si lo defines) --- */
|
|
447
|
+
.toast-success {
|
|
448
|
+
background-color: #198754 !important; /* Puedes crear una variable --brand-success-color si quieres */
|
|
449
|
+
color: #ffffff !important;
|
|
450
|
+
opacity: 0.95 !important;
|
|
392
451
|
}
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
#history-content .table td:nth-child(2) { width: 20%; }
|
|
396
|
-
#history-content .table td:nth-child(3) { width: auto; }
|
|
397
|
-
|
|
398
|
-
/* Contenedor de calificación con estrellas */
|
|
399
|
-
.rating-container {
|
|
400
|
-
text-align: center;
|
|
401
|
-
margin: 10px 0 0 0;
|
|
402
|
-
display: flex;
|
|
403
|
-
flex-direction: column;
|
|
404
|
-
justify-content: center;
|
|
405
|
-
align-items: center;
|
|
406
|
-
gap: 5px;
|
|
407
|
-
width: 100%;
|
|
452
|
+
.toast-success .toast-progress {
|
|
453
|
+
background-color: rgba(0, 0, 0, 0.2) !important;
|
|
408
454
|
}
|
|
409
455
|
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
width: 100%;
|
|
456
|
+
/* --- Toast de Error (Usa el color de peligro de la marca) --- */
|
|
457
|
+
.toast-error{
|
|
458
|
+
background-color: var(--brand-danger-color) !important;
|
|
459
|
+
color: var(--brand-text-on-primary) !important; /* Asumimos texto blanco sobre el color de peligro */
|
|
460
|
+
opacity: 0.95 !important;
|
|
461
|
+
}
|
|
462
|
+
.toast-error .toast-progress {
|
|
463
|
+
background-color: rgba(0, 0, 0, 0.2) !important;
|
|
419
464
|
}
|
|
420
465
|
|
|
421
|
-
/*
|
|
422
|
-
.
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
gap: 5px;
|
|
426
|
-
margin-bottom: 15px;
|
|
427
|
-
padding-top: 5px;
|
|
428
|
-
}
|
|
429
|
-
.star {
|
|
430
|
-
font-size: 2rem;
|
|
431
|
-
color: #adb5bd;
|
|
432
|
-
cursor: pointer;
|
|
433
|
-
transition: color 0.2s, transform 0.2s;
|
|
466
|
+
/* Opcional: Estilo para el botón de cierre para que contraste bien */
|
|
467
|
+
.toast-close-button {
|
|
468
|
+
color: var(--brand-text-on-primary) !important;
|
|
469
|
+
text-shadow: none !important;
|
|
434
470
|
}
|
|
435
|
-
.
|
|
436
|
-
|
|
471
|
+
.toast-close-button:hover {
|
|
472
|
+
opacity: 0.8;
|
|
437
473
|
}
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
line-height: 1;
|
|
444
|
-
-webkit-font-smoothing: antialiased;
|
|
474
|
+
|
|
475
|
+
.alert-branded-danger {
|
|
476
|
+
background-color: var(--brand-danger-bg);
|
|
477
|
+
color: var(--brand-danger-text);
|
|
478
|
+
border-color: var(--brand-danger-border);
|
|
445
479
|
}
|
|
446
|
-
|
|
447
|
-
.
|
|
448
|
-
|
|
480
|
+
/* Asegura que el texto fuerte y los enlaces dentro de la alerta también tomen el color correcto */
|
|
481
|
+
.alert-branded-danger strong,
|
|
482
|
+
.alert-branded-danger .alert-link {
|
|
483
|
+
color: inherit;
|
|
449
484
|
}
|
|
450
|
-
|
|
451
|
-
.
|
|
452
|
-
color: #
|
|
485
|
+
|
|
486
|
+
.edit-pencil {
|
|
487
|
+
color: var(--brand-secondary-color, #6c757d); /* Color secundario por defecto */
|
|
488
|
+
cursor: pointer;
|
|
489
|
+
opacity: 0.6;
|
|
490
|
+
text-decoration: none;
|
|
491
|
+
/* Transición suave para todos los cambios (color, opacidad, tamaño) */
|
|
492
|
+
transition: all 0.25s ease-in-out;
|
|
453
493
|
}
|
|
454
494
|
|
|
455
|
-
|
|
456
|
-
|
|
495
|
+
.edit-pencil:hover {
|
|
496
|
+
opacity: 1;
|
|
497
|
+
transform: scale(1.2);
|
|
498
|
+
color: var(--brand-primary-color, #4C6A8D);
|
|
499
|
+
cursor: pointer;
|
|
457
500
|
}
|
|
501
|
+
|
|
502
|
+
|
|
503
|
+
|