infodocviewdoc 2.0.2 → 2.0.4
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.
|
@@ -3,7 +3,8 @@ import { Injectable, Component, EventEmitter, Output, Input, signal, ViewChild }
|
|
|
3
3
|
import * as i3 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i4 from 'ngx-extended-pdf-viewer';
|
|
6
|
-
import { NgxExtendedPdfViewerModule } from 'ngx-extended-pdf-viewer';
|
|
6
|
+
import { pdfDefaultOptions, NgxExtendedPdfViewerModule } from 'ngx-extended-pdf-viewer';
|
|
7
|
+
import Handsontable from 'handsontable';
|
|
7
8
|
import * as i5 from '@handsontable/angular';
|
|
8
9
|
import { HotTableModule } from '@handsontable/angular';
|
|
9
10
|
import 'handsontable/dist/handsontable.full.css';
|
|
@@ -144,12 +145,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
144
145
|
class PdfViewerComponent {
|
|
145
146
|
route;
|
|
146
147
|
fileService;
|
|
147
|
-
// Entradas directas desde el host (opcionalmente se pueden pasar por @Input)
|
|
148
148
|
nameFile;
|
|
149
149
|
nameBucket;
|
|
150
150
|
nameSpaceBucket;
|
|
151
151
|
url;
|
|
152
152
|
token = '';
|
|
153
|
+
/**
|
|
154
|
+
* Base URL de los assets de PDF.js (`viewer-*.mjs`, workers, cmaps).
|
|
155
|
+
* Si no se define, se cargan desde jsDelivr (misma versión mayor que `ngx-extended-pdf-viewer` del paquete),
|
|
156
|
+
* para que el visor funcione aunque el host (p. ej. shell en :4200) no copie `/assets/` al build.
|
|
157
|
+
*/
|
|
158
|
+
pdfAssetsBaseUrl;
|
|
159
|
+
/** Debe coincidir con la peerDependency `ngx-extended-pdf-viewer` del paquete. */
|
|
160
|
+
static NGX_EXTENDED_PDF_VIEWER_ASSETS_VERSION = '25.6.4';
|
|
161
|
+
static pdfJsAssetsFallbackApplied = false;
|
|
153
162
|
pdfSrc;
|
|
154
163
|
imageSrc;
|
|
155
164
|
textContent;
|
|
@@ -197,7 +206,6 @@ class PdfViewerComponent {
|
|
|
197
206
|
svg: 'image',
|
|
198
207
|
webp: 'image',
|
|
199
208
|
};
|
|
200
|
-
// Excel
|
|
201
209
|
excelData = [];
|
|
202
210
|
excelColumns = [];
|
|
203
211
|
excelColumnHeaders = [];
|
|
@@ -207,7 +215,6 @@ class PdfViewerComponent {
|
|
|
207
215
|
showExcelViewer = false;
|
|
208
216
|
excelWorkbook = null;
|
|
209
217
|
xlsxModule = null;
|
|
210
|
-
// Imagen (zoom, rotación, arrastre)
|
|
211
218
|
zoomLevel = signal(100);
|
|
212
219
|
rotation = signal(0);
|
|
213
220
|
minZoom = 25;
|
|
@@ -229,21 +236,36 @@ class PdfViewerComponent {
|
|
|
229
236
|
this.route = route;
|
|
230
237
|
this.fileService = fileService;
|
|
231
238
|
}
|
|
239
|
+
/**
|
|
240
|
+
* Sin esto, el host debe incluir `node_modules/ngx-extended-pdf-viewer/assets` en `angular.json`;
|
|
241
|
+
* si el MFE corre embebido o el shell no sirve `/assets/`, `viewer-*.mjs` devuelve 404.
|
|
242
|
+
*/
|
|
243
|
+
ensurePdfJsAssetsFolder() {
|
|
244
|
+
if (this.pdfAssetsBaseUrl) {
|
|
245
|
+
pdfDefaultOptions.assetsFolder = this.pdfAssetsBaseUrl.replace(/\/$/, '');
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
if (!PdfViewerComponent.pdfJsAssetsFallbackApplied) {
|
|
249
|
+
pdfDefaultOptions.assetsFolder = `https://cdn.jsdelivr.net/npm/ngx-extended-pdf-viewer@${PdfViewerComponent.NGX_EXTENDED_PDF_VIEWER_ASSETS_VERSION}/assets`;
|
|
250
|
+
PdfViewerComponent.pdfJsAssetsFallbackApplied = true;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
232
253
|
ngOnInit() {
|
|
233
|
-
|
|
254
|
+
this.ensurePdfJsAssetsFolder();
|
|
234
255
|
if (this.url ||
|
|
235
256
|
this.nameFile ||
|
|
236
257
|
this.nameBucket ||
|
|
237
258
|
this.nameSpaceBucket ||
|
|
238
259
|
this.token) {
|
|
239
|
-
if (this.nameFile)
|
|
260
|
+
if (this.nameFile) {
|
|
240
261
|
this.fileName.set(this.nameFile);
|
|
262
|
+
}
|
|
241
263
|
this.detectFileType();
|
|
242
264
|
void this.loadWithPreload();
|
|
243
265
|
return;
|
|
244
266
|
}
|
|
245
|
-
// 2) Si no hay @Input, leer query params (modo microfront)
|
|
246
267
|
this.route.queryParams.subscribe((params) => {
|
|
268
|
+
this.ensurePdfJsAssetsFolder();
|
|
247
269
|
this.nameFile = this.nameFile ?? params['nameFile'];
|
|
248
270
|
this.nameBucket = this.nameBucket ?? params['nameBucket'];
|
|
249
271
|
this.nameSpaceBucket = this.nameSpaceBucket ?? params['nameSpaceBucket'];
|
|
@@ -256,20 +278,79 @@ class PdfViewerComponent {
|
|
|
256
278
|
void this.loadWithPreload();
|
|
257
279
|
});
|
|
258
280
|
}
|
|
281
|
+
ngOnChanges(changes) {
|
|
282
|
+
if (changes['pdfAssetsBaseUrl'] && !changes['pdfAssetsBaseUrl'].firstChange) {
|
|
283
|
+
this.ensurePdfJsAssetsFolder();
|
|
284
|
+
}
|
|
285
|
+
const keys = ['nameFile', 'nameBucket', 'nameSpaceBucket', 'url', 'token'];
|
|
286
|
+
const touched = keys.some((k) => changes[k] && !changes[k].firstChange);
|
|
287
|
+
if (!touched) {
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
if (!this.nameFile || !this.nameBucket || !this.url || !this.token) {
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
if (changes['nameFile'] && this.nameFile) {
|
|
294
|
+
this.fileName.set(this.nameFile);
|
|
295
|
+
}
|
|
296
|
+
this.clearViewerState();
|
|
297
|
+
this.detectFileType();
|
|
298
|
+
void this.loadWithPreload();
|
|
299
|
+
}
|
|
259
300
|
ngOnDestroy() {
|
|
260
|
-
|
|
301
|
+
this.clearViewerState();
|
|
302
|
+
}
|
|
303
|
+
/** Libera blob URLs y estado visual al cambiar inputs o destruir el componente. */
|
|
304
|
+
clearViewerState() {
|
|
305
|
+
if (this.pdfSrc) {
|
|
261
306
|
URL.revokeObjectURL(this.pdfSrc);
|
|
262
|
-
|
|
307
|
+
this.pdfSrc = undefined;
|
|
308
|
+
}
|
|
309
|
+
if (this.imageSrc) {
|
|
263
310
|
URL.revokeObjectURL(this.imageSrc);
|
|
311
|
+
this.imageSrc = undefined;
|
|
312
|
+
}
|
|
313
|
+
this.textContent = undefined;
|
|
314
|
+
this.showExcelViewer = false;
|
|
315
|
+
this.excelData = [];
|
|
316
|
+
this.excelWorkbook = null;
|
|
317
|
+
}
|
|
318
|
+
/** Extensión a partir del último segmento de ruta (maneja rutas con varios puntos). */
|
|
319
|
+
extensionFromFileNameOrPath(value) {
|
|
320
|
+
if (!value) {
|
|
321
|
+
return '';
|
|
322
|
+
}
|
|
323
|
+
const segment = value.split(/[/\\]/).pop() ?? value;
|
|
324
|
+
const parts = segment.split('.');
|
|
325
|
+
if (parts.length < 2) {
|
|
326
|
+
return '';
|
|
327
|
+
}
|
|
328
|
+
return (parts.pop() ?? '').toLowerCase();
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Si `url` es solo la base del API (sin nombre de archivo en el path), no debe usarse para inferir extensión
|
|
332
|
+
* (evita tomar "com" de https://host...com).
|
|
333
|
+
*/
|
|
334
|
+
extensionFromUrlIfApplicable(rawUrl) {
|
|
335
|
+
try {
|
|
336
|
+
const u = new URL(rawUrl);
|
|
337
|
+
const last = u.pathname.split('/').filter(Boolean).pop() ?? '';
|
|
338
|
+
if (last.includes('.')) {
|
|
339
|
+
return this.extensionFromFileNameOrPath(last);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
catch {
|
|
343
|
+
return this.extensionFromFileNameOrPath(rawUrl);
|
|
344
|
+
}
|
|
345
|
+
return '';
|
|
264
346
|
}
|
|
265
347
|
detectFileType() {
|
|
266
348
|
let extension = '';
|
|
267
|
-
// Prioridad: nameFile (objectName) porque en el host `url` suele ser el API base sin extensión
|
|
268
349
|
if (this.nameFile) {
|
|
269
|
-
extension = this.
|
|
350
|
+
extension = this.extensionFromFileNameOrPath(this.nameFile);
|
|
270
351
|
}
|
|
271
|
-
|
|
272
|
-
extension = this.
|
|
352
|
+
if (!extension && this.url) {
|
|
353
|
+
extension = this.extensionFromUrlIfApplicable(this.url);
|
|
273
354
|
}
|
|
274
355
|
this.fileType.set(this.extensionToType[extension] || 'unknown');
|
|
275
356
|
if (this.fileType() !== 'unknown') {
|
|
@@ -301,20 +382,34 @@ class PdfViewerComponent {
|
|
|
301
382
|
async preloadLibrariesForType(type) {
|
|
302
383
|
const preloadTasks = [];
|
|
303
384
|
if (!this.librariesPreloaded.pdf) {
|
|
304
|
-
preloadTasks.push(import('ngx-extended-pdf-viewer')
|
|
385
|
+
preloadTasks.push(import('ngx-extended-pdf-viewer')
|
|
386
|
+
.then(() => {
|
|
387
|
+
this.librariesPreloaded.pdf = true;
|
|
388
|
+
})
|
|
389
|
+
.catch((err) => console.warn('Error precargando PDF:', err)));
|
|
305
390
|
}
|
|
306
391
|
if (type === 'txt' && !this.librariesPreloaded.jspdf) {
|
|
307
|
-
preloadTasks.push(import('jspdf')
|
|
392
|
+
preloadTasks.push(import('jspdf')
|
|
393
|
+
.then(() => {
|
|
394
|
+
this.librariesPreloaded.jspdf = true;
|
|
395
|
+
})
|
|
396
|
+
.catch((err) => console.warn('Error precargando jsPDF:', err)));
|
|
308
397
|
}
|
|
309
398
|
if (type === 'xlsx' || type === 'xls') {
|
|
310
399
|
if (!this.librariesPreloaded.xlsx) {
|
|
311
|
-
preloadTasks.push(import('xlsx')
|
|
400
|
+
preloadTasks.push(import('xlsx')
|
|
401
|
+
.then((module) => {
|
|
312
402
|
this.xlsxModule = module;
|
|
313
403
|
this.librariesPreloaded.xlsx = true;
|
|
314
|
-
})
|
|
404
|
+
})
|
|
405
|
+
.catch((err) => console.warn('Error precargando XLSX:', err)));
|
|
315
406
|
}
|
|
316
407
|
if (!this.librariesPreloaded.excel) {
|
|
317
|
-
preloadTasks.push(import('handsontable')
|
|
408
|
+
preloadTasks.push(import('handsontable')
|
|
409
|
+
.then(() => {
|
|
410
|
+
this.librariesPreloaded.excel = true;
|
|
411
|
+
})
|
|
412
|
+
.catch((err) => console.warn('Error precargando Handsontable:', err)));
|
|
318
413
|
}
|
|
319
414
|
}
|
|
320
415
|
if (preloadTasks.length > 0) {
|
|
@@ -331,13 +426,13 @@ class PdfViewerComponent {
|
|
|
331
426
|
this.handleImageFile(blob);
|
|
332
427
|
break;
|
|
333
428
|
case type === 'txt':
|
|
334
|
-
|
|
429
|
+
this.handleTextFile(blob);
|
|
335
430
|
break;
|
|
336
431
|
case ['xlsx', 'xls'].includes(type):
|
|
337
|
-
|
|
432
|
+
this.handleExcelFile(blob);
|
|
338
433
|
break;
|
|
339
434
|
case ['docx', 'doc', 'pptx', 'ppt'].includes(type):
|
|
340
|
-
this.
|
|
435
|
+
this.handleOfficeFile(blob);
|
|
341
436
|
break;
|
|
342
437
|
default:
|
|
343
438
|
this.errorMessage.set('Formato no soportado');
|
|
@@ -352,6 +447,15 @@ class PdfViewerComponent {
|
|
|
352
447
|
this.imageSrc = URL.createObjectURL(blob);
|
|
353
448
|
this.loading.set(false);
|
|
354
449
|
}
|
|
450
|
+
handleTextFile(blob) {
|
|
451
|
+
void this.convertTextToPdf(blob);
|
|
452
|
+
}
|
|
453
|
+
handleExcelFile(blob) {
|
|
454
|
+
void this.processExcelFile(blob);
|
|
455
|
+
}
|
|
456
|
+
handleOfficeFile(blob) {
|
|
457
|
+
this.convertOfficeToPdf(blob);
|
|
458
|
+
}
|
|
355
459
|
convertOfficeToPdf(blob) {
|
|
356
460
|
this.fileService.convertDocumentToPdf(blob, this.token, this.url).subscribe({
|
|
357
461
|
next: (pdfBlob) => {
|
|
@@ -371,8 +475,13 @@ class PdfViewerComponent {
|
|
|
371
475
|
if (!this.librariesPreloaded.jspdf) {
|
|
372
476
|
await import('jspdf');
|
|
373
477
|
}
|
|
374
|
-
const { default:
|
|
375
|
-
const
|
|
478
|
+
const { default: JsPdfCtor } = await import('jspdf');
|
|
479
|
+
const JsPdfClass = JsPdfCtor;
|
|
480
|
+
const pdf = new JsPdfClass({
|
|
481
|
+
orientation: 'portrait',
|
|
482
|
+
unit: 'pt',
|
|
483
|
+
format: 'a4',
|
|
484
|
+
});
|
|
376
485
|
const pageWidth = pdf.internal.pageSize.getWidth();
|
|
377
486
|
const pageHeight = pdf.internal.pageSize.getHeight();
|
|
378
487
|
const margin = 40;
|
|
@@ -433,109 +542,195 @@ class PdfViewerComponent {
|
|
|
433
542
|
async loadExcelSheetByIndex(index) {
|
|
434
543
|
if (!this.excelWorkbook || !this.xlsxModule)
|
|
435
544
|
return;
|
|
436
|
-
this.showExcelViewer = false;
|
|
437
545
|
const sheetName = this.excelSheetNames[index];
|
|
438
546
|
const worksheet = this.excelWorkbook.Sheets[sheetName];
|
|
439
547
|
if (!worksheet)
|
|
440
548
|
return;
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
549
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
550
|
+
let jsonData = this.xlsxModule.utils.sheet_to_json(worksheet, {
|
|
551
|
+
header: 1,
|
|
552
|
+
defval: '',
|
|
553
|
+
raw: true,
|
|
554
|
+
});
|
|
555
|
+
if (!jsonData.length) {
|
|
556
|
+
this.excelData = [];
|
|
557
|
+
this.excelColumns = [];
|
|
558
|
+
this.excelColumnHeaders = [];
|
|
559
|
+
return;
|
|
560
|
+
}
|
|
561
|
+
jsonData = jsonData.filter((row) => row.some((cell) => cell !== '' && cell !== null && cell !== undefined));
|
|
562
|
+
if (!jsonData.length) {
|
|
563
|
+
this.excelData = [];
|
|
564
|
+
this.excelColumns = [];
|
|
565
|
+
this.excelColumnHeaders = [];
|
|
566
|
+
return;
|
|
567
|
+
}
|
|
568
|
+
const columnCount = Math.max(...jsonData.map((r) => r.length));
|
|
569
|
+
const columnsToKeep = [];
|
|
570
|
+
for (let col = 0; col < columnCount; col++) {
|
|
571
|
+
const hasValue = jsonData.some((row) => row[col] !== '' && row[col] !== null && row[col] !== undefined);
|
|
572
|
+
if (hasValue)
|
|
573
|
+
columnsToKeep.push(col);
|
|
574
|
+
}
|
|
575
|
+
const cleanedData = jsonData.map((row) => columnsToKeep.map((colIndex) => row[colIndex] ?? ''));
|
|
576
|
+
const headers = cleanedData[0];
|
|
577
|
+
this.excelColumnHeaders = [...headers];
|
|
578
|
+
this.excelColumns = headers.map((header, i) => ({
|
|
579
|
+
data: i,
|
|
580
|
+
title: header || `Col ${i + 1}`,
|
|
581
|
+
readOnly: true,
|
|
582
|
+
}));
|
|
583
|
+
this.excelData = cleanedData.slice(1);
|
|
584
|
+
}
|
|
585
|
+
async selectExcelSheet(index) {
|
|
586
|
+
if (index < 0 || index >= this.excelSheetNames.length)
|
|
587
|
+
return;
|
|
588
|
+
this.showExcelViewer = false;
|
|
589
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
452
590
|
this.excelCurrentSheetIndex.set(index);
|
|
591
|
+
await this.loadExcelSheetByIndex(index);
|
|
592
|
+
this.buildExcelSettings();
|
|
453
593
|
this.showExcelViewer = true;
|
|
454
594
|
}
|
|
455
|
-
selectExcelSheet(index) {
|
|
456
|
-
void this.loadExcelSheetByIndex(index);
|
|
457
|
-
}
|
|
458
595
|
buildExcelSettings() {
|
|
459
596
|
this.excelSettings = {
|
|
460
|
-
licenseKey: 'non-commercial-and-evaluation',
|
|
461
|
-
colHeaders: this.excelColumnHeaders,
|
|
462
|
-
rowHeaders: true,
|
|
463
597
|
stretchH: 'all',
|
|
464
|
-
contextMenu: true,
|
|
465
|
-
filters: true,
|
|
466
|
-
dropdownMenu: true,
|
|
467
598
|
readOnly: true,
|
|
468
|
-
manualColumnResize: true,
|
|
469
|
-
manualRowResize: true,
|
|
470
599
|
columnSorting: true,
|
|
471
|
-
|
|
472
|
-
|
|
600
|
+
licenseKey: 'non-commercial-and-evaluation',
|
|
601
|
+
renderer: (instance, td, row, col, prop, value, cellProperties) => {
|
|
602
|
+
Handsontable.renderers.TextRenderer(instance, td, row, col, prop, value, cellProperties);
|
|
603
|
+
if (value && value.toString().length > 20) {
|
|
604
|
+
td.title = value.toString();
|
|
605
|
+
}
|
|
606
|
+
},
|
|
473
607
|
};
|
|
474
608
|
}
|
|
475
|
-
// Helpers para template
|
|
476
609
|
isExcelType() {
|
|
477
610
|
return ['xlsx', 'xls'].includes(this.fileType());
|
|
478
611
|
}
|
|
479
612
|
isImageType() {
|
|
480
613
|
return this.fileType() === 'image';
|
|
481
614
|
}
|
|
482
|
-
// Imagen: zoom/rotación/arrastre
|
|
483
615
|
zoomIn() {
|
|
484
|
-
this.zoomLevel.
|
|
616
|
+
this.zoomLevel.update((level) => Math.min(level + this.zoomStep, this.maxZoom));
|
|
617
|
+
this.clampImagePosition();
|
|
485
618
|
}
|
|
486
619
|
zoomOut() {
|
|
487
|
-
this.zoomLevel.
|
|
620
|
+
this.zoomLevel.update((level) => Math.max(level - this.zoomStep, this.minZoom));
|
|
621
|
+
this.clampImagePosition();
|
|
622
|
+
}
|
|
623
|
+
resetZoom() {
|
|
624
|
+
this.zoomLevel.set(100);
|
|
625
|
+
this.rotation.set(0);
|
|
626
|
+
this.imagePosition = { x: 0, y: 0 };
|
|
488
627
|
}
|
|
489
628
|
rotateLeft() {
|
|
490
|
-
this.rotation.
|
|
629
|
+
this.rotation.update((rot) => (rot - 90) % 360);
|
|
630
|
+
setTimeout(() => this.adjustPositionAfterRotation(), 0);
|
|
491
631
|
}
|
|
492
632
|
rotateRight() {
|
|
493
|
-
this.rotation.
|
|
633
|
+
this.rotation.update((rot) => (rot + 90) % 360);
|
|
634
|
+
setTimeout(() => this.adjustPositionAfterRotation(), 0);
|
|
494
635
|
}
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
const rotate = `rotate(${this.rotation()}deg)`;
|
|
499
|
-
const scaleStr = `scale(${scale})`;
|
|
500
|
-
return `${translate} ${rotate} ${scaleStr}`;
|
|
636
|
+
resetRotation() {
|
|
637
|
+
this.rotation.set(0);
|
|
638
|
+
this.adjustPositionAfterRotation();
|
|
501
639
|
}
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
this.imageDimensions = { width: imgEl.naturalWidth, height: imgEl.naturalHeight };
|
|
640
|
+
adjustPositionAfterRotation() {
|
|
641
|
+
if (!this.imageContainer || !this.mainImage)
|
|
642
|
+
return;
|
|
643
|
+
this.imagePosition = { x: 0, y: 0 };
|
|
644
|
+
if (this.zoomLevel() > 100) {
|
|
645
|
+
this.clampImagePosition();
|
|
509
646
|
}
|
|
510
|
-
|
|
647
|
+
}
|
|
648
|
+
getImageTransform() {
|
|
649
|
+
const scale = this.zoomLevel() / 100;
|
|
650
|
+
return `translate(${this.imagePosition.x}px, ${this.imagePosition.y}px) rotate(${this.rotation()}deg) scale(${scale})`;
|
|
511
651
|
}
|
|
512
652
|
onMouseWheel(event) {
|
|
513
|
-
event.
|
|
514
|
-
|
|
515
|
-
this.
|
|
516
|
-
|
|
517
|
-
this.
|
|
653
|
+
if (event.ctrlKey || event.metaKey) {
|
|
654
|
+
event.preventDefault();
|
|
655
|
+
const delta = event.deltaY > 0 ? -this.zoomStep : this.zoomStep;
|
|
656
|
+
const newZoom = this.zoomLevel() + delta;
|
|
657
|
+
if (newZoom >= this.minZoom && newZoom <= this.maxZoom) {
|
|
658
|
+
this.zoomLevel.set(newZoom);
|
|
659
|
+
this.clampImagePosition();
|
|
660
|
+
}
|
|
661
|
+
}
|
|
518
662
|
}
|
|
519
663
|
startDrag(event) {
|
|
520
|
-
if (this.zoomLevel()
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
664
|
+
if (this.zoomLevel() > 100) {
|
|
665
|
+
this.isDragging = true;
|
|
666
|
+
this.dragStart = {
|
|
667
|
+
x: event.clientX - this.imagePosition.x,
|
|
668
|
+
y: event.clientY - this.imagePosition.y,
|
|
669
|
+
};
|
|
670
|
+
event.preventDefault();
|
|
671
|
+
}
|
|
524
672
|
}
|
|
525
673
|
onDrag(event) {
|
|
526
|
-
if (
|
|
527
|
-
|
|
528
|
-
|
|
674
|
+
if (this.isDragging && this.zoomLevel() > 100) {
|
|
675
|
+
this.imagePosition = {
|
|
676
|
+
x: event.clientX - this.dragStart.x,
|
|
677
|
+
y: event.clientY - this.dragStart.y,
|
|
678
|
+
};
|
|
679
|
+
this.clampImagePosition();
|
|
680
|
+
}
|
|
529
681
|
}
|
|
530
682
|
stopDrag() {
|
|
531
683
|
this.isDragging = false;
|
|
532
684
|
}
|
|
685
|
+
clampImagePosition() {
|
|
686
|
+
if (!this.imageContainer || !this.mainImage || !this.imageDimensions.width)
|
|
687
|
+
return;
|
|
688
|
+
const container = this.imageContainer.nativeElement;
|
|
689
|
+
const scaledWidth = this.imageDimensions.width * (this.zoomLevel() / 100);
|
|
690
|
+
const scaledHeight = this.imageDimensions.height * (this.zoomLevel() / 100);
|
|
691
|
+
if (scaledWidth <= container.clientWidth &&
|
|
692
|
+
scaledHeight <= container.clientHeight) {
|
|
693
|
+
this.imagePosition = { x: 0, y: 0 };
|
|
694
|
+
return;
|
|
695
|
+
}
|
|
696
|
+
const maxX = Math.max(0, (scaledWidth - container.clientWidth) / 2);
|
|
697
|
+
const maxY = Math.max(0, (scaledHeight - container.clientHeight) / 2);
|
|
698
|
+
this.imagePosition.x = Math.max(-maxX, Math.min(maxX, this.imagePosition.x));
|
|
699
|
+
this.imagePosition.y = Math.max(-maxY, Math.min(maxY, this.imagePosition.y));
|
|
700
|
+
}
|
|
701
|
+
onImageLoad() {
|
|
702
|
+
if (this.mainImage) {
|
|
703
|
+
const img = this.mainImage.nativeElement;
|
|
704
|
+
this.imageDimensions = {
|
|
705
|
+
width: img.naturalWidth,
|
|
706
|
+
height: img.naturalHeight,
|
|
707
|
+
};
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
getCursorStyle() {
|
|
711
|
+
if (this.zoomLevel() > 100) {
|
|
712
|
+
return this.isDragging ? 'grabbing' : 'grab';
|
|
713
|
+
}
|
|
714
|
+
return 'default';
|
|
715
|
+
}
|
|
716
|
+
isWordType() {
|
|
717
|
+
return ['docx', 'doc'].includes(this.fileType());
|
|
718
|
+
}
|
|
719
|
+
isPowerPointType() {
|
|
720
|
+
return ['pptx', 'ppt'].includes(this.fileType());
|
|
721
|
+
}
|
|
722
|
+
isOfficeType() {
|
|
723
|
+
return ['docx', 'doc', 'pptx', 'ppt'].includes(this.fileType());
|
|
724
|
+
}
|
|
725
|
+
getPreloadStatus() {
|
|
726
|
+
return `PDF: ${this.librariesPreloaded.pdf ? 'OK' : 'NO'}, Excel: ${this.librariesPreloaded.excel ? 'OK' : 'NO'}, XLSX: ${this.librariesPreloaded.xlsx ? 'OK' : 'NO'}, jsPDF: ${this.librariesPreloaded.jspdf ? 'OK' : 'NO'}`;
|
|
727
|
+
}
|
|
533
728
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: PdfViewerComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: DocumentViewerFileService }], target: i0.ɵɵFactoryTarget.Component });
|
|
534
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.4", type: PdfViewerComponent, isStandalone: true, selector: "sgdea-document-viewer", inputs: { nameFile: "nameFile", nameBucket: "nameBucket", nameSpaceBucket: "nameSpaceBucket", url: "url", token: "token" }, viewQueries: [{ propertyName: "imageContainer", first: true, predicate: ["imageContainer"], descendants: true }, { propertyName: "mainImage", first: true, predicate: ["mainImage"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"loading()\" class=\"loader\">Cargando documento...</div>\n\n<div *ngIf=\"errorMessage() && !loading()\" class=\"error-message\">\n {{ errorMessage() }}\n</div>\n\n<div *ngIf=\"!loading() && !errorMessage()\" class=\"document-viewer-container\">\n\n <!-- PDF -->\n <ngx-extended-pdf-viewer\n *ngIf=\"fileType() === 'pdf' && pdfSrc\"\n [src]=\"pdfSrc\"\n height=\"auto\"\n useBrowserLocale=\"false\"\n [showDownloadButton]=\"false\"\n [showPrintButton]=\"false\"\n [showOpenFileButton]=\"false\"\n [showSecondaryToolbarButton]=\"false\"\n [showFirstAndLastPageButtons]=\"false\"\n [showPagingButtons]=\"false\"\n [showZoomButtons]=\"true\"\n [showDrawEditor]=\"false\"\n [showTextEditor]=\"false\"\n [showStampEditor]=\"false\"\n [showHighlightEditor]=\"false\"\n >\n </ngx-extended-pdf-viewer>\n\n <!-- Imagen -->\n <div *ngIf=\"isImageType() && imageSrc\" class=\"image-viewer\">\n <div class=\"image-toolbar\">\n <button (click)=\"zoomIn()\" title=\"Acercar (Ctrl +)\">\u2795</button>\n <button (click)=\"zoomOut()\" title=\"Alejar (Ctrl -)\">\u2796</button>\n <span class=\"separator\"></span>\n <button (click)=\"rotateLeft()\" title=\"Rotar izquierda (\u21BA)\">\u21BA</button>\n <button (click)=\"rotateRight()\" title=\"Rotar derecha (\u21BB)\">\u21BB</button>\n\n <span class=\"zoom-info\">{{ zoomLevel() }}%</span>\n <span class=\"rotation-info\" *ngIf=\"rotation() !== 0\">\n {{ rotation() }}\u00B0\n </span>\n\n <span class=\"image-dimensions\" *ngIf=\"imageDimensions.width\">\n {{ imageDimensions.width }} x {{ imageDimensions.height }}\n </span>\n </div>\n\n <div class=\"image-container\" #imageContainer (wheel)=\"onMouseWheel($event)\">\n <img\n #mainImage\n [src]=\"imageSrc\"\n [alt]=\"fileName()\"\n [style.transform]=\"getImageTransform()\"\n [style.cursor]=\"getCursorStyle()\"\n (load)=\"onImageLoad()\"\n (mousedown)=\"startDrag($event)\"\n (mousemove)=\"onDrag($event)\"\n (mouseup)=\"stopDrag()\"\n (mouseleave)=\"stopDrag()\"\n class=\"zoomable-image\"\n />\n </div>\n\n <div class=\"image-footer\" *ngIf=\"zoomLevel() > 100\">\n <small>Arrastra para mover la imagen</small>\n </div>\n </div>\n\n <!-- Excel -->\n <div *ngIf=\"isExcelType()\" class=\"excel-viewer-container\">\n <div *ngIf=\"excelSheetNames.length > 1\" class=\"excel-sheet-tabs\">\n <button\n *ngFor=\"let sheet of excelSheetNames; let i = index\"\n type=\"button\"\n class=\"excel-sheet-tab\"\n [class.active]=\"excelCurrentSheetIndex() === i\"\n (click)=\"selectExcelSheet(i)\"\n >\n {{ sheet }}\n </button>\n </div>\n\n <hot-table\n *ngIf=\"showExcelViewer\"\n #hotTable\n [settings]=\"excelSettings\"\n [data]=\"excelData\"\n [colHeaders]=\"excelColumnHeaders\"\n [rowHeaders]=\"true\"\n [width]=\"'100%'\"\n [height]=\"'100%'\"\n licenseKey=\"non-commercial-and-evaluation\"\n [columns]=\"excelColumns\"\n >\n </hot-table>\n\n <div *ngIf=\"!showExcelViewer\" class=\"loader\">\n Cargando hoja...\n </div>\n </div>\n</div>\n\n", styles: ["@charset \"UTF-8\";.handsontable .table th,.handsontable .table td{border-top:none}.handsontable tr{background:#fff}.handsontable td{background-color:inherit}.handsontable .table caption+thead tr:first-child th,.handsontable .table caption+thead tr:first-child td,.handsontable .table colgroup+thead tr:first-child th,.handsontable .table colgroup+thead tr:first-child td,.handsontable .table thead:first-child tr:first-child th,.handsontable .table thead:first-child tr:first-child td{border-top:1px solid #CCCCCC}.handsontable .table-bordered{border:0;border-collapse:separate}.handsontable .table-bordered th,.handsontable .table-bordered td{border-left:none}.handsontable .table-bordered th:first-child,.handsontable .table-bordered td:first-child{border-left:1px solid #CCCCCC}.handsontable .table>tbody>tr>td,.handsontable .table>tbody>tr>th,.handsontable .table>tfoot>tr>td,.handsontable .table>tfoot>tr>th,.handsontable .table>thead>tr>td,.handsontable .table>thead>tr>th{line-height:21px;padding:0}.col-lg-1.handsontable,.col-lg-10.handsontable,.col-lg-11.handsontable,.col-lg-12.handsontable,.col-lg-2.handsontable,.col-lg-3.handsontable,.col-lg-4.handsontable,.col-lg-5.handsontable,.col-lg-6.handsontable,.col-lg-7.handsontable,.col-lg-8.handsontable,.col-lg-9.handsontable,.col-md-1.handsontable,.col-md-10.handsontable,.col-md-11.handsontable,.col-md-12.handsontable,.col-md-2.handsontable,.col-md-3.handsontable,.col-md-4.handsontable,.col-md-5.handsontable,.col-md-6.handsontable,.col-md-7.handsontable,.col-md-8.handsontable,.col-md-9.handsontable .col-sm-1.handsontable,.col-sm-10.handsontable,.col-sm-11.handsontable,.col-sm-12.handsontable,.col-sm-2.handsontable,.col-sm-3.handsontable,.col-sm-4.handsontable,.col-sm-5.handsontable,.col-sm-6.handsontable,.col-sm-7.handsontable,.col-sm-8.handsontable,.col-sm-9.handsontable .col-xs-1.handsontable,.col-xs-10.handsontable,.col-xs-11.handsontable,.col-xs-12.handsontable,.col-xs-2.handsontable,.col-xs-3.handsontable,.col-xs-4.handsontable,.col-xs-5.handsontable,.col-xs-6.handsontable,.col-xs-7.handsontable,.col-xs-8.handsontable,.col-xs-9.handsontable{padding-left:0;padding-right:0}.handsontable.ht-wrapper{height:100%;width:100%}.handsontable .table-striped>tbody>tr:nth-of-type(2n){background-color:#fff}.handsontable .hide{display:none}.handsontable .relative{position:relative}.handsontable .wtHider{position:relative;width:0}.handsontable .wtSpreader{position:relative;width:0;height:auto}.handsontable table,.handsontable tbody,.handsontable thead,.handsontable td,.handsontable th,.handsontable input,.handsontable textarea,.handsontable div{box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.handsontable input,.handsontable textarea{min-height:initial}.handsontable table.htCore{border-collapse:separate;border-spacing:0;margin:0;border-width:0;table-layout:fixed;width:0;outline-width:0;cursor:default;max-width:none;max-height:none}.handsontable col,.handsontable col.rowHeader{width:50px}.handsontable th,.handsontable td{border-top-width:0;border-left-width:0;border-right:1px solid #ccc;border-bottom:1px solid #ccc;height:22px;empty-cells:show;line-height:21px;padding:0 4px;background-color:#fff;vertical-align:top;overflow:hidden;outline:none;outline-width:0;white-space:pre-wrap}[dir=rtl].handsontable th,[dir=rtl].handsontable td{border-right-width:0;border-left:1px solid #ccc}.handsontable th:last-child{border-left:none;border-right:1px solid #ccc;border-bottom:1px solid #ccc}[dir=rtl].handsontable th:last-child{border-right:none;border-left:1px solid #ccc}.handsontable th:first-child,.handsontable .ht_clone_inline_start td:first-of-type,.handsontable .ht_clone_top_inline_start_corner td:first-of-type,.handsontable .ht_clone_bottom_inline_start_corner td:first-of-type,.handsontable.ht-wrapper:not(.htFirstDatasetColumnNotRendered) td:first-of-type{border-left:1px solid #ccc}[dir=rtl].handsontable th:first-child,[dir=rtl].handsontable.ht-wrapper:not(.htFirstDatasetColumnNotRendered) td:first-of-type{border-right:1px solid #ccc}.handsontable .ht_clone_top th:nth-child(2){border-left-width:0;border-right:1px solid #ccc}[dir=rtl].handsontable .ht_clone_top th:nth-child(2){border-right-width:0;border-left:1px solid #ccc}.handsontable.htRowHeaders thead tr th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable.htRowHeaders thead tr th:nth-child(2){border-right:1px solid #ccc}.handsontable tr:first-child th,.handsontable tr:first-child td{border-top:1px solid #ccc}.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-right-width:0;border-left:1px solid #ccc}[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left-width:0;border-right:1px solid #ccc}.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr.lastChild th{border-bottom-width:0}.handsontable th{background-color:#f0f0f0;color:#222;text-align:center;font-weight:400;white-space:nowrap}.handsontable thead th{padding:0}.handsontable th.active{background-color:#ccc}.handsontable thead th .relative{padding:2px 4px}.handsontable span.colHeader{display:inline-block;line-height:1.1}.handsontable .wtBorder{position:absolute;font-size:0}.handsontable .wtBorder.hidden{display:none!important}.handsontable .wtBorder:nth-child(1),.handsontable .wtBorder:nth-child(3){z-index:2}.handsontable .wtBorder:nth-child(2),.handsontable .wtBorder:nth-child(4){z-index:1}.handsontable .wtBorder.current{z-index:10}.handsontable .wtBorder.area{z-index:8}.handsontable .wtBorder.fill{z-index:6}.handsontable .wtBorder.corner{font-size:0;cursor:crosshair}.htBorders .wtBorder.ht-border-style-dashed-vertical{background-image:repeating-linear-gradient(to bottom,var(--ht-custom-border-color) 0 5px,transparent 0 10px)}.htBorders .wtBorder.ht-border-style-dashed-horizontal{background-image:repeating-linear-gradient(to right,var(--ht-custom-border-color) 0 5px,transparent 0 10px)}.htBorders .wtBorder.ht-border-style-dotted-horizontal{background-image:radial-gradient(circle,var(--ht-custom-border-color) calc(var(--ht-custom-border-size) / 2),transparent 0);background-size:calc(var(--ht-custom-border-size) * 2) var(--ht-custom-border-size);background-repeat:repeat-x}.htBorders .wtBorder.ht-border-style-dotted-vertical{background-image:radial-gradient(circle,var(--ht-custom-border-color) calc(var(--ht-custom-border-size) / 2),transparent 0);background-size:var(--ht-custom-border-size) calc(var(--ht-custom-border-size) * 2);background-repeat:repeat-y}.ht_clone_master{z-index:100}.ht_clone_inline_start{z-index:120}.ht_clone_bottom{z-index:130}.ht_clone_bottom_inline_start_corner{z-index:150}.ht_clone_top{z-index:160}.ht_clone_top_inline_start_corner{z-index:180}.handsontable col.hidden{width:0!important}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th{display:none}.ht_master,.ht_clone_inline_start,.ht_clone_top,.ht_clone_bottom{overflow:hidden}.ht_master .wtHolder{overflow:auto}.handsontable .ht_master table.htCore>thead,.handsontable .ht_master table.htCore>tbody>tr>th,.handsontable .ht_clone_inline_start table.htCore>thead{visibility:hidden}.ht_clone_top .wtHolder,.ht_clone_inline_start .wtHolder,.ht_clone_bottom .wtHolder{overflow:hidden}.handsontable{position:relative;touch-action:manipulation;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:400;color:#373737}.handsontable a{color:#104acc}.handsontable.htAutoSize{visibility:hidden;left:-99000px;position:absolute;top:-99000px}.handsontable td.htInvalid{background-color:#ffbeba!important}.handsontable td.htNoWrap{white-space:nowrap}.handsontable td.invisibleSelection,.handsontable th.invisibleSelection{outline:none}.handsontable td.invisibleSelection::selection,.handsontable th.invisibleSelection::selection{background:#fff0}.hot-display-license-info{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:400;color:#373737;padding:5px 0 3px;text-align:left}.hot-display-license-info a{color:#104acc;font-size:10px}.htFocusCatcher{position:absolute;z-index:-1;opacity:0;border:0;margin:0;padding:0;width:0;height:0}.handsontable .htTextEllipsis{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.handsontable .manualColumnResizer{position:absolute;top:0;cursor:col-resize;z-index:210;width:5px;height:25px}.handsontable .manualRowResizer{position:absolute;left:0;cursor:row-resize;z-index:210;height:5px;width:50px}.handsontable .manualColumnResizer:hover,.handsontable .manualColumnResizer.active,.handsontable .manualRowResizer:hover,.handsontable .manualRowResizer.active{background-color:#34a9db}.handsontable .manualColumnResizerGuide{position:absolute;right:unset;top:0;background-color:#34a9db;display:none;width:0;border-right:1px dashed #777;border-left:none;margin-left:5px;margin-right:unset}[dir=rtl].handsontable .manualColumnResizerGuide{left:unset;border-left:1px dashed #777;border-right:none;margin-right:5px;margin-left:unset}.handsontable .manualRowResizerGuide{position:absolute;left:0;bottom:0;background-color:#34a9db;display:none;height:0;border-bottom:1px dashed #777;margin-top:5px}.handsontable .manualColumnResizerGuide.active,.handsontable .manualRowResizerGuide.active{display:block;z-index:209}.handsontable td.area,.handsontable td.area-1,.handsontable td.area-2,.handsontable td.area-3,.handsontable td.area-4,.handsontable td.area-5,.handsontable td.area-6,.handsontable td.area-7{position:relative}.handsontable td.area:before,.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before{content:\"\";position:absolute;inset:0;background:#005eff}.handsontable td.area:before{opacity:.1}.handsontable td.area-1:before{opacity:.2}.handsontable td.area-2:before{opacity:.27}.handsontable td.area-3:before{opacity:.35}.handsontable td.area-4:before{opacity:.41}.handsontable td.area-5:before{opacity:.47}.handsontable td.area-6:before{opacity:.54}.handsontable td.area-7:before{opacity:.58}.handsontable tbody th.current,.handsontable thead th.current{box-shadow:inset 0 0 0 2px #4b89ff}.handsontable tbody th.ht__highlight,.handsontable thead th.ht__highlight{background-color:#dcdcdc}.handsontable tbody th.ht__active_highlight,.handsontable thead th.ht__active_highlight{background-color:#8eb0e7;color:#000}.handsontableInput{border:none;outline-width:0;margin:0;padding:1px 5px 0;font-family:inherit;line-height:21px;font-size:inherit;box-shadow:0 0 0 2px #5292f7 inset;resize:none;display:block;color:#000;border-radius:0;background-color:#fff;box-sizing:border-box!important}.handsontableInput:focus{outline:none}.handsontableInputHolder{position:absolute;top:0;left:0}.htSelectEditor{position:absolute;select{-webkit-appearance:menulist-button!important;width:100%;height:100%;border:2px solid #4b89ff;box-sizing:border-box!important}}.htSelectEditor select:focus{outline:none}.htSelectEditor .htAutocompleteArrow{display:none}.handsontable .htDimmed{color:#777}.handsontable .htSubmenu{position:relative}.handsontable .htSubmenu :after{content:\"\\25b6\";color:#777;position:absolute;right:5px;font-size:9px}[dir=rtl].handsontable .htSubmenu :after{content:\"\"}[dir=rtl].handsontable .htSubmenu :before{content:\"\\25c0\";color:#777;position:absolute;left:5px;font-size:9px}.handsontable .htLeft{text-align:left}.handsontable .htCenter{text-align:center}.handsontable .htRight{text-align:right}.handsontable .htJustify{text-align:justify}.handsontable .htTop{vertical-align:top}.handsontable .htMiddle{vertical-align:middle}.handsontable .htBottom{vertical-align:bottom}.handsontable .htPlaceholder{color:#999}.handsontable.listbox{border:1px solid #ccc;margin:0}.handsontable.listbox.autocompleteEditor,.handsontable.listbox.dropdownEditor{border-width:0}.handsontable.listbox .ht_master table{border-collapse:separate;background:#fff}.handsontable.listbox.autocompleteEditor .ht_master table,.handsontable.listbox.dropdownEditor .ht_master table{border:1px solid #ccc}.handsontable.listbox th,.handsontable.listbox tr:first-child th,.handsontable.listbox tr:last-child th,.handsontable.listbox tr:first-child td,.handsontable.listbox td{border-color:transparent!important}.handsontable.listbox th,.handsontable.listbox td{white-space:nowrap;text-overflow:ellipsis}.handsontable.listbox td.htDimmed{cursor:default;color:inherit;font-style:inherit}.handsontable.listbox .wtBorder{visibility:hidden}.handsontable.listbox tr td.current,.handsontable.listbox tr:hover td{background:#eee}.ht_editor_hidden{z-index:-1}.ht_editor_visible{z-index:200}.handsontable td.htSearchResult{background:#fcedd9;color:#583707}.handsontable.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch}.handsontable.mobile .handsontableInput:focus{-webkit-box-shadow:0 0 0 2px #5292f7 inset;-moz-box-shadow:0 0 0 2px #5292f7 inset;box-shadow:0 0 0 2px #5292f7 inset;-webkit-appearance:none}.handsontable .topSelectionHandle,.handsontable .topSelectionHandle-HitArea,.handsontable .bottomSelectionHandle,.handsontable .bottomSelectionHandle-HitArea{left:-10000px;right:unset;top:-10000px;z-index:9999}[dir=rtl].handsontable .topSelectionHandle,[dir=rtl].handsontable .topSelectionHandle-HitArea,[dir=rtl].handsontable .bottomSelectionHandle,[dir=rtl].handsontable .bottomSelectionHandle-HitArea{right:-10000px;left:unset}.handsontable.hide-tween{-webkit-animation:opacity-hide .3s;animation:opacity-hide .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable.show-tween{-webkit-animation:opacity-show .3s;animation:opacity-show .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable .htAutocompleteArrow{float:right;font-size:10px;color:#bbb;cursor:default;width:16px;text-align:center}[dir=rtl].handsontable .htAutocompleteArrow{float:left}.handsontable td.htInvalid .htAutocompleteArrow{color:#555}.handsontable td.htInvalid .htAutocompleteArrow:hover{color:#1a1a1a}.handsontable td .htAutocompleteArrow:hover{color:#777}.handsontable td.area .htAutocompleteArrow{color:#d3d3d3}.handsontable .htCheckboxRendererInput.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{font-size:inherit;vertical-align:middle;cursor:pointer;display:inline-block}.handsontable .htCheckboxRendererLabel.fullWidth{width:100%}.handsontable .collapsibleIndicator{position:absolute;top:50%;transform:translateY(-50%);left:unset;right:5px;border:1px solid #A6A6A6;line-height:8px;color:#222;border-radius:10px;font-size:10px;width:10px;height:10px;cursor:pointer;-webkit-box-shadow:0 0 0 6px rgb(238,238,238);-moz-box-shadow:0 0 0 6px rgb(238,238,238);box-shadow:0 0 0 3px #eee;background:#eee;text-align:center}[dir=rtl].handsontable .collapsibleIndicator{right:unset;left:5px}.handsontable[dir=ltr] thead th:has(.collapsibleIndicator) div.htRight span.colHeader{margin-right:20px}.handsontable[dir=rtl] thead th:has(.collapsibleIndicator) div.htLeft span.colHeader{margin-left:20px}.handsontable .columnSorting{position:relative}.handsontable[dir=ltr] div.htRight span[class*=ascending],.handsontable[dir=ltr] div.htRight span[class*=descending]{margin-right:10px;margin-left:-10px}.handsontable[dir=rtl] div.htLeft span[class*=ascending],.handsontable[dir=rtl] div.htLeft span[class*=descending]{margin-left:10px;margin-right:-10px}.handsontable[dir=ltr] div.htRight span[class*=ascending]:only-child,.handsontable[dir=ltr] div.htRight span[class*=descending]:only-child{margin-right:15px;margin-left:-15px}.handsontable[dir=rtl] div.htLeft span[class*=ascending]:only-child,.handsontable[dir=rtl] div.htLeft span[class*=descending]:only-child{margin-left:15px;margin-right:-15px}.handsontable .columnSorting.sortAction:hover{text-decoration:underline;cursor:pointer}.handsontable span.colHeader.columnSorting:before{top:50%;margin-top:-6px;padding-left:8px;padding-right:0;position:absolute;right:-9px;left:unset;content:\"\";height:10px;width:5px;background-size:contain;background-repeat:no-repeat;background-position-x:right}[dir=rtl].handsontable span.colHeader.columnSorting:before{padding-right:8px;padding-left:0;left:-9px;right:unset;background-position-x:left}.handsontable span.colHeader.columnSorting.ascending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC)}.handsontable span.colHeader.columnSorting.descending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFJJREFUeAHtzjkSgCAQRNFmQYUZ7n9dKUvru0TmvPAn3br0QfgdZ5xx6x+rQn23GqTYnq1FDcnuzZIO2WmedVqIRVxgGKEyjNgYRjKGkZ1hFIZ3I70LyM0VtU8AAAAASUVORK5CYII=)}.htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled):before{content:\"*\";display:inline-block;position:relative;padding-right:20px}.handsontable.htGhostTable table thead th{border-bottom-width:0}.handsontable.htGhostTable table tbody tr th,.handsontable.htGhostTable table tbody tr td{border-top-width:0}.handsontable .htCommentCell{position:relative}.handsontable .htCommentCell:after{content:\"\";position:absolute;top:0;right:0;left:unset;border-left:6px solid transparent;border-right:none;border-top:6px solid black}[dir=rtl].handsontable .htCommentCell:after{left:0;right:unset;border-right:6px solid transparent;border-left:none}.htCommentsContainer .htComments{display:none;z-index:1059;position:absolute}.htCommentsContainer .htCommentTextArea{box-shadow:#0000001e 0 1px 3px,#0000003d 0 1px 2px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none;border-left:3px solid #ccc;border-right:none;background-color:#fff;width:215px;height:90px;font-size:12px;padding:5px;outline:0!important;-webkit-appearance:none}[dir=rtl].htCommentsContainer .htCommentTextArea{border-right:3px solid #ccc;border-left:none}.htCommentsContainer .htCommentTextArea:focus{box-shadow:#0000001e 0 1px 3px,#0000003d 0 1px 2px,inset 0 0 0 1px #5292f7;border-left:3px solid #5292f7;border-right:none}[dir=rtl].htCommentsContainer .htCommentTextArea:focus{border-right:3px solid #5292f7;border-left:none}.htContextMenu:not(.htGhostTable){display:none;position:absolute;z-index:1060}.htContextMenu .ht_clone_top,.htContextMenu .ht_clone_bottom,.htContextMenu .ht_clone_inline_start,.htContextMenu .ht_clone_top_inline_start_corner,.htContextMenu .ht_clone_bottom_inline_start_corner{display:none}.htContextMenu .ht_master table.htCore{border-color:#ccc;border-style:solid;border-top-width:1px;border-bottom-width:2px;border-left-width:1px;border-right-width:2px}[dir=rtl].htContextMenu .ht_master table.htCore{border-right-width:1px;border-left-width:2px}.htContextMenu.handsontable:focus{outline:none}.htContextMenu .wtBorder{visibility:hidden}.htContextMenu table tbody tr td{background:#fff;border-width:0;padding:4px 6px 0;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.htContextMenu table tbody tr td:first-child{border-top-width:0;border-bottom-width:0;border-left-width:0;border-right-width:0}[dir=rtl].htContextMenu table tbody tr td:first-child{border-right-width:0;border-left-width:0}.htContextMenu table tbody tr td.htDimmed{font-style:normal;color:#323232}.htContextMenu table tbody tr td.current{background:#f3f3f3}.htContextMenu table tbody tr td.htSeparator{border-top:1px solid #e6e6e6;height:0;padding:0;cursor:default}.htContextMenu table tbody tr td.htDisabled{color:#999;cursor:default}.htContextMenu table tbody tr td.htDisabled:hover{background:#fff;color:#999;cursor:default}.htContextMenu table tbody tr.htHidden{display:none}.htContextMenu table tbody tr td .htItemWrapper{margin-left:10px;margin-right:6px}[dir=rtl].htContextMenu table tbody tr td .htItemWrapper{margin-right:10px;margin-left:6px}.htContextMenu table tbody tr td div span.selected{margin-top:-2px;position:absolute;left:4px;right:0}[dir=rtl].htContextMenu table tbody tr td div span.selected{right:4px;left:0}.htContextMenu .ht_master .wtHolder{overflow:hidden}textarea.HandsontableCopyPaste{position:fixed!important;top:0!important;right:100%!important;overflow:hidden;opacity:0;outline:0 none!important}.handsontable .changeType{background:#eee;border-radius:2px;border:1px solid #bbb;color:#bbb;font-size:9px;line-height:9px;padding:2px;margin:3px 1px 0 5px;float:right}[dir=rtl].handsontable .changeType{float:left}.handsontable[dir=rtl] .changeType{margin:3px 5px 0 1px}.handsontable .changeType:before{content:\"\\25bc \"}.handsontable .changeType:hover{border:1px solid #777;color:#777;cursor:pointer}.htDropdownMenu:not(.htGhostTable){display:none;position:absolute;z-index:1060}.htDropdownMenu .ht_clone_top,.htDropdownMenu .ht_clone_bottom,.htDropdownMenu .ht_clone_inline_start,.htDropdownMenu .ht_clone_top_inline_start_corner,.htDropdownMenu .ht_clone_bottom_inline_start_corner{display:none}.htDropdownMenu table.htCore{border-color:#ccc;border-style:solid;border-top-width:1px;border-bottom-width:2px;border-left-width:1px;border-right-width:2px}[dir=rtl].htDropdownMenu table.htCore{border-right-width:1px;border-left-width:2px}.htDropdownMenu.handsontable:focus{outline:none}.htDropdownMenu .wtBorder{visibility:hidden}.htDropdownMenu table tbody tr td{background:#fff;border-width:0;padding:4px 6px 0;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.htDropdownMenu table tbody tr td:first-child{border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-width:0}[dir=rtl].htDropdownMenu table tbody tr td:first-child{border-left-width:0;border-right-width:0}.htDropdownMenu table tbody tr td.htDimmed{font-style:normal;color:#323232}.htDropdownMenu table tbody tr td.current{background:#e9e9e9}.htDropdownMenu table tbody tr td.htSeparator{border-top:1px solid #e6e6e6;height:0;padding:0;cursor:default}.htDropdownMenu table tbody tr td.htDisabled{color:#999}.htDropdownMenu table tbody tr td.htDisabled:hover{background:#fff;color:#999;cursor:default}.htDropdownMenu:not(.htGhostTable) table tbody tr.htHidden{display:none}.htDropdownMenu table tbody tr td .htItemWrapper{margin-left:10px;margin-right:10px}[dir=rtl].htDropdownMenu table tbody tr td .htItemWrapper{margin-right:10px;margin-left:10px}.htDropdownMenu table tbody tr td div span.selected{margin-top:-2px;position:absolute;left:4px;right:0}[dir=rtl].htDropdownMenu table tbody tr td div span.selected{right:4px;left:0}.htDropdownMenu .ht_master .wtHolder{overflow:hidden}.htFiltersConditionsMenu:not(.htGhostTable){display:none;position:absolute;z-index:1070}.htFiltersConditionsMenu .ht_clone_top,.htFiltersConditionsMenu .ht_clone_bottom,.htFiltersConditionsMenu .ht_clone_inline_start,.htFiltersConditionsMenu .ht_clone_top_inline_start_corner,.htFiltersConditionsMenu .ht_clone_bottom_inline_start_corner{display:none}.htFiltersConditionsMenu table.htCore{border:1px solid #bbb;border-bottom-width:2px;border-right-width:2px}.htFiltersConditionsMenu .wtBorder{visibility:hidden}.htFiltersConditionsMenu table tbody tr td{background:#fff;border-width:0;padding:4px 6px 0;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.htFiltersConditionsMenu table tbody tr td:first-child{border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-width:0}[dir=rtl].htFiltersConditionsMenu table tbody tr td:first-child{border-left-width:0;border-right-width:0}.htFiltersConditionsMenu table tbody tr td.htDimmed{font-style:normal;color:#323232}.htFiltersConditionsMenu table tbody tr td.current{background:#e9e9e9}.htFiltersConditionsMenu table tbody tr td.htSeparator{border-top:1px solid #e6e6e6;height:0;padding:0}.htFiltersConditionsMenu table tbody tr td.htDisabled{color:#999}.htFiltersConditionsMenu table tbody tr td.htDisabled:hover{background:#fff;color:#999;cursor:default}.htFiltersConditionsMenu table tbody tr td .htItemWrapper{margin-left:10px;margin-right:10px}.htFiltersConditionsMenu table tbody tr td div span.selected{margin-top:-2px;position:absolute;left:4px}.htFiltersConditionsMenu .ht_master .wtHolder{overflow:hidden}.handsontable .htMenuFiltering{border-bottom:1px dotted #ccc;height:135px;overflow:hidden}.handsontable .ht_master table td.htCustomMenuRenderer{background-color:#fff;cursor:auto}.handsontable .htFiltersMenuLabel{font-size:.75em}.handsontable .htFiltersMenuActionBar{text-align:center;padding-top:10px;padding-bottom:3px}.handsontable .htFiltersMenuCondition.border{border-bottom:1px dotted #ccc!important}.handsontable .htFiltersMenuCondition .htUIInput{padding:0 0 5px}.handsontable .htFiltersMenuValue{border-bottom:1px dotted #ccc!important}.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch{padding:0}.handsontable .htFiltersMenuCondition .htUIInput input,.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch input{font-family:inherit;font-size:.75em;padding:4px;box-sizing:border-box;width:100%}.htUIMultipleSelect .ht_master .wtHolder{overflow:auto}.handsontable .htFiltersActive .changeType{border:1px solid #509272;color:#18804e;background-color:#d2e0d9}.handsontable .htUISelectAll{margin-left:0;margin-right:10px}[dir=rtl].handsontable .htUISelectAll{margin-right:0;margin-left:10px}.handsontable .htUIClearAll,.handsontable .htUISelectAll{display:inline-block}.handsontable .htUIClearAll a,.handsontable .htUISelectAll a{font-size:.75em}.handsontable .htUISelectionControls{text-align:right}[dir=rtl].handsontable .htUISelectionControls{text-align:left}.handsontable .htCheckboxRendererInput{display:inline-block;margin:0 5px 0 0;vertical-align:middle;height:1em}[dir=rtl].handsontable .htCheckboxRendererInput{margin-left:5px;margin-right:0}.handsontable .htUIInput{padding:3px 0 7px;position:relative;text-align:center}.handsontable .htUIInput input{border-radius:2px;border:1px solid #d2d1d1}.handsontable .htUIInputIcon{position:absolute}.handsontable .htUIInput.htUIButton{cursor:pointer;display:inline-block}.handsontable .htUIInput.htUIButton input{background-color:#eee;color:#000;cursor:pointer;font-family:inherit;font-size:.75em;font-weight:700;height:19px;min-width:64px}.handsontable .htUIInput.htUIButton input:hover{border-color:#b9b9b9}.handsontable .htUIInput.htUIButtonOK{margin-left:0;margin-right:10px}[dir=rtl].handsontable .htUIInput.htUIButtonOK{margin-right:0;margin-left:10px}.handsontable .htUIInput.htUIButtonOK input{background-color:#0f9d58;border-color:#18804e;color:#fff}.handsontable .htUIInput.htUIButtonOK input:focus-visible{background-color:#92dd8d;border-color:#7cb878;color:#000}.handsontable .htUIInput.htUIButtonOK input:hover{border-color:#1a6f46}.handsontable .htUISelect{cursor:pointer;margin-bottom:7px;position:relative}.handsontable .htUISelectCaption{background-color:#e8e8e8;border-radius:2px;border:1px solid #d2d1d1;font-family:inherit;font-size:.75em;font-weight:700;padding:3px 20px 3px 10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.handsontable .htUISelectCaption:hover{background-color:#e8e8e8;border:1px solid #b9b9b9}.handsontable .htUISelectDropdown:after{content:\"\\25b2\";font-size:7px;position:absolute;right:10px;top:0}.handsontable .htUISelectDropdown:before{content:\"\\25bc\";font-size:7px;position:absolute;right:10px;top:8px}.handsontable .htUIMultipleSelect .handsontable .htCore{border:none}.handsontable .htUIMultipleSelect .handsontable .htCore td:hover{background-color:#f5f5f5}.handsontable .htUIMultipleSelectSearch input{border-radius:2px;border:1px solid #d2d1d1;padding:3px}.handsontable .htUIRadio{display:inline-block;margin-left:0;margin-right:5px;height:100%}[dir=rtl].handsontable .htUIRadio{margin-right:0;margin-left:5px}.handsontable .htUIRadio:last-child{margin-right:0}.handsontable .htUIRadio>input[type=radio]{margin-left:0;margin-right:.5ex}[dir=rtl].handsontable .htUIRadio>input[type=radio]{margin-right:0;margin-left:.5ex}.handsontable .htUIRadio label{vertical-align:middle}.handsontable .htFiltersMenuOperators{padding-bottom:5px}.handsontable th.beforeHiddenColumn{position:relative}.handsontable th.beforeHiddenColumn:after,.handsontable th.afterHiddenColumn:before{color:#bbb;position:absolute;top:50%;font-size:5pt;transform:translateY(-50%)}.handsontable th.afterHiddenColumn{position:relative}.handsontable[dir=ltr] th.afterHiddenColumn div.htLeft{margin-left:10px}.handsontable[dir=ltr] th.beforeHiddenColumn div.htRight,.handsontable[dir=rtl] th.afterHiddenColumn div.htRight{margin-right:10px}.handsontable[dir=rtl] th.beforeHiddenColumn div.htLeft{margin-left:10px}.handsontable th.beforeHiddenColumn:after{right:1px;content:\"\\25c0\"}[dir=rtl].handsontable th.beforeHiddenColumn:after{right:initial;left:1px;content:\"\\25b6\"}.handsontable th.afterHiddenColumn:before{left:1px;content:\"\\25b6\"}[dir=rtl].handsontable th.afterHiddenColumn:before{right:1px;left:initial;content:\"\\25c0\"}.handsontable th.beforeHiddenRow:before,.handsontable th.afterHiddenRow:after{color:#bbb;font-size:6pt;line-height:6pt;position:absolute;left:2px}.handsontable th.beforeHiddenRow,.handsontable th.afterHiddenRow{position:relative}.handsontable th.beforeHiddenRow:before{content:\"\\25b2\";bottom:2px}.handsontable th.afterHiddenRow:after{content:\"\\25bc\";top:2px}.handsontable.ht__selection--rows tbody th.beforeHiddenRow.ht__highlight:before,.handsontable.ht__selection--rows tbody th.afterHiddenRow.ht__highlight:after{color:#eee}.handsontable td.afterHiddenRow.firstVisibleRow,.handsontable th.afterHiddenRow.firstVisibleRow{border-top:1px solid #CCC}.htRowHeaders .ht_master.innerBorderInlineStart~.ht_clone_top_inline_start_corner th:nth-child(2),.htRowHeaders .ht_master.innerBorderInlineStart~.ht_clone_inline_start td:first-of-type{border-left:0 none}.handsontable.ht__manualColumnMove.after-selection--columns thead th.ht__highlight{cursor:move;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab}.handsontable.ht__manualColumnMove.on-moving--columns *,.handsontable.ht__manualColumnMove.on-moving--columns thead th.ht__highlight{cursor:move;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}.handsontable.ht__manualColumnMove.on-moving--columns .manualColumnResizer{display:none}.handsontable .ht__manualColumnMove--guideline,.handsontable .ht__manualColumnMove--backlight{position:absolute;height:100%;display:none}.handsontable .ht__manualColumnMove--guideline{background:#757575;width:2px;top:0;margin-inline-start:-1px;margin-inline-end:0;z-index:205}.handsontable .ht__manualColumnMove--backlight{background:#343434;background:#34343440;display:none;z-index:205;pointer-events:none}.handsontable.on-moving--columns.show-ui .ht__manualColumnMove--guideline,.handsontable.on-moving--columns .ht__manualColumnMove--backlight{display:block}.handsontable.ht__manualRowMove.after-selection--rows tbody th.ht__highlight{cursor:move;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab}.handsontable.ht__manualRowMove.on-moving--rows *,.handsontable.ht__manualRowMove.on-moving--rows tbody th.ht__highlight{cursor:move;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}.handsontable.ht__manualRowMove.on-moving--rows .manualRowResizer{display:none}.handsontable .ht__manualRowMove--guideline,.handsontable .ht__manualRowMove--backlight{position:absolute;width:100%;display:none}.handsontable .ht__manualRowMove--guideline{background:#757575;height:2px;left:0;margin-top:-1px;z-index:205}.handsontable .ht__manualRowMove--backlight{background:#343434;background:#34343440;display:none;z-index:205;pointer-events:none}.handsontable.on-moving--rows.show-ui .ht__manualRowMove--guideline,.handsontable.on-moving--rows .ht__manualRowMove--backlight{display:block}.handsontable tbody td[rowspan][class*=area][class*=highlight]:not([class*=fullySelectedMergedCell]):before{opacity:0}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-multiple]:before{opacity:.1}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-0]:before{opacity:.1}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-1]:before{opacity:.2}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-2]:before{opacity:.27}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-3]:before{opacity:.35}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-4]:before{opacity:.41}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-5]:before{opacity:.47}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-6]:before{opacity:.54}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-7]:before{opacity:.58}.handsontable[dir=ltr] div.htRight span[class*=sort-]{margin-right:15px;margin-left:-15px}.handsontable[dir=rtl] div.htLeft span[class*=sort-]{margin-left:15px;margin-right:-15px}.handsontable[dir=ltr] div.htRight span[class*=sort-]:only-child{margin-right:20px;margin-left:-20px}.handsontable[dir=rtl] div.htLeft span[class*=sort-]:only-child{margin-left:20px;margin-right:-20px}.handsontable span.colHeader.columnSorting:after{top:50%;margin-top:-2px;position:absolute;right:-15px;left:unset;padding-left:5px;padding-right:unset;font-size:8px;height:8px;line-height:1.1}[dir=rtl].handsontable span.colHeader.columnSorting:after{left:-15px;right:unset;padding-right:5px;padding-left:unset}.handsontable span.colHeader.columnSorting[class^=sort-]:after,.handsontable span.colHeader.columnSorting[class*=\" sort-\"]:after{content:\"+\"}.handsontable span.colHeader.columnSorting.sort-1:after{content:\"1\"}.handsontable span.colHeader.columnSorting.sort-2:after{content:\"2\"}.handsontable span.colHeader.columnSorting.sort-3:after{content:\"3\"}.handsontable span.colHeader.columnSorting.sort-4:after{content:\"4\"}.handsontable span.colHeader.columnSorting.sort-5:after{content:\"5\"}.handsontable span.colHeader.columnSorting.sort-6:after{content:\"6\"}.handsontable span.colHeader.columnSorting.sort-7:after{content:\"7\"}.htGhostTable th div button.changeType+span.colHeader.columnSorting:not(.indicatorDisabled){padding-right:5px}.handsontable thead th.hiddenHeader:not(:first-of-type){display:none}thead th.hiddenHeaderText .colHeader{opacity:0}.handsontable th.ht_nestingLevels{text-align:left;padding-left:7px}[dir=rtl].handsontable th.ht_nestingLevels{text-align:right;padding-right:7px}.handsontable th div.ht_nestingLevels{display:inline-block;position:absolute;left:11px;right:unset}[dir=rtl].handsontable th div.ht_nestingLevels{right:11px;left:unset}.handsontable.innerBorderInlineStart th div.ht_nestingLevels,.handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingLevels{right:10px;left:unset}[dir=rtl].handsontable.innerBorderInlineStart th div.ht_nestingLevels,[dir=rtl].handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingLevels{left:10px;right:unset}.handsontable th span.ht_nestingLevel{display:inline-block}.handsontable th span.ht_nestingLevel_empty{display:inline-block;width:10px;height:1px;float:left}[dir=rtl].handsontable th span.ht_nestingLevel_empty{float:right}.handsontable th span.ht_nestingLevel:after{content:\"\\2510\";font-size:9px;display:inline-block;position:relative;bottom:3px}.handsontable th div.ht_nestingButton{display:inline-block;position:absolute;right:-2px;left:unset;cursor:pointer}[dir=rtl].handsontable th div.ht_nestingButton{left:-2px;right:unset}.handsontable th div.ht_nestingButton.ht_nestingExpand:after{content:\"+\"}.handsontable th div.ht_nestingButton.ht_nestingCollapse:after{content:\"-\"}.handsontable.innerBorderInlineStart th div.ht_nestingButton,.handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingButton{right:0;left:unset}[dir=rtl].handsontable.innerBorderInlineStart th div.ht_nestingButton,[dir=rtl].handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingButton{left:0;right:unset}.ht-root-wrapper{position:relative;display:flex;flex-direction:column;height:100%}.ht-grid{flex:1 1 auto;min-height:0}.ht-dialog{position:absolute;top:0;left:0;display:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;width:100%;height:100%;z-index:1060;opacity:0;overflow-y:auto;border:1px solid #ccc;box-sizing:border-box!important}.ht-dialog[dir=rtl]{left:auto;right:0}.ht-dialog:focus{border:1px solid #4b89ff;outline:none}.ht-dialog:has(.htFocusCatcher:focus){border:1px solid #4b89ff;outline:none}.ht-dialog *{box-sizing:border-box!important}.ht-dialog--background-solid{background-color:#fff}.ht-dialog--background-semi-transparent{background-color:#ffffff80}.ht-dialog--animation{transition:opacity .15s ease-in-out}.ht-dialog--show{opacity:1}.ht-dialog__content-wrapper{display:flex;align-items:center;justify-content:center;width:100%;min-height:100%;padding:16px}.ht-dialog__content-wrapper:focus{border:1px solid #4b89ff;outline:none}.ht-dialog__content{position:relative;padding:8px;display:flex;gap:8px;max-width:480px;color:#222}.ht-dialog__content--background{box-shadow:0 8px 16px #00000014;background-color:#f7f7f9}.ht-dialog--confirm .ht-dialog__content-wrapper{text-align:center}.ht-dialog--confirm .ht-dialog__content-wrapper-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;max-width:480px}.ht-dialog--confirm .ht-dialog__content-wrapper-inner--background{box-shadow:0 8px 16px #00000014;background-color:#f7f7f9}.ht-dialog--confirm .ht-dialog__content{display:flex;flex-direction:column;align-items:center;justify-content:center}.ht-dialog--confirm .ht-dialog__content:has(.ht-dialog__buttons){gap:4px}.ht-dialog--confirm .ht-dialog__title{margin:0;font-size:16px;font-weight:400;line-height:24px}.ht-dialog--confirm .ht-dialog__description{margin:0;color:#222;font-size:12px;font-weight:400;line-height:16px}.ht-dialog--confirm .ht-dialog__buttons{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.ht-root-wrapper .ht-pagination{color:#222;background:#f0f0f0;border:1px solid #ccc;border-top-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:12px;font-weight:400;box-sizing:border-box;overflow-x:auto}.ht-root-wrapper .ht-pagination__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding-inline:8px;padding-block:4px;min-width:230px}.ht-root-wrapper .ht-pagination--bordered{border-top-color:#ccc}.ht-root-wrapper .ht-page-size-section{display:flex;align-items:center;gap:8px}.ht-root-wrapper .ht-page-size-section span{white-space:nowrap}.ht-root-wrapper .ht-page-size-section__select-wrapper{position:relative;border-radius:2px;border:1px solid #ccc}.ht-root-wrapper .ht-page-size-section__select-wrapper select{padding-inline-start:8px;padding-inline-end:8px;padding-top:4px;padding-bottom:4px;border-radius:2px;color:#222;background-color:#f0f0f0;border:none;-webkit-appearance:none;font-size:inherit;cursor:pointer}.ht-root-wrapper .ht-page-size-section__select-wrapper select:disabled{opacity:.4;cursor:default}.ht-root-wrapper .ht-page-size-section__select-wrapper select:hover:not(:disabled){background-color:#e0e0e0}.ht-root-wrapper .ht-page-size-section__select-wrapper select:focus{background-color:#e0e0e0;outline:1px solid #4b89ff}.ht-root-wrapper .ht-page-counter-section{margin-inline-end:auto}.ht-root-wrapper .ht-page-navigation-section{display:flex;align-items:center;gap:8px}.ht-root-wrapper .ht-page-navigation-section button{font-size:inherit;color:#222;background-color:transparent;border:none;padding:4px;border-radius:2px;cursor:pointer}.ht-root-wrapper .ht-page-navigation-section button:before{display:block;width:16px;height:16px;line-height:16px;text-align:center}.ht-root-wrapper .ht-page-navigation-section button:disabled{opacity:.4;cursor:default}.ht-root-wrapper .ht-page-navigation-section button:hover:not(:disabled){background-color:#e0e0e0}.ht-root-wrapper .ht-page-navigation-section button:focus{outline:1px solid #4b89ff}.ht-root-wrapper .ht-page-navigation-section .ht-page-first:before{content:\"\\21a4\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-first:before{content:\"\\21a6\"}.ht-root-wrapper .ht-page-navigation-section .ht-page-prev:before{content:\"\\21a2\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-prev:before{content:\"\\21a3\"}.ht-root-wrapper .ht-page-navigation-section .ht-page-next:before{content:\"\\21a3\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-next:before{content:\"\\21a2\"}.ht-root-wrapper .ht-page-navigation-section .ht-page-last:before{content:\"\\21a6\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-last:before{content:\"\\21a4\"}.ht-root-wrapper .ht-page-navigation-section span{white-space:nowrap}.ht-loading__icon-svg{display:block;width:16px;height:16px;color:#5292f7;animation:ht-loading-spin 1s linear infinite;transform-origin:50% 50%}.ht-loading__content{display:flex;align-items:center;gap:8px}.ht-loading__title{margin:0;font-size:13px;font-weight:400;line-height:18px}.ht-loading__description{margin:0;color:#222;font-size:12px;line-height:16px;font-weight:400}@keyframes ht-loading-spin{to{transform:rotate(360deg)}}.ht-empty-data-state{display:none;position:absolute;width:100%;left:0;z-index:999;overflow-y:auto;border:1px solid #ccc;box-sizing:border-box;background-color:#fff}.ht-empty-data-state *{box-sizing:border-box!important}.ht-empty-data-state__content-wrapper{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;min-height:100%;padding:16px}.ht-empty-data-state__content-wrapper-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:480px;padding:16px}.ht-empty-data-state__content-wrapper-inner:focus{outline:none;box-shadow:0 0 0 1px #4b89ff}.ht-empty-data-state__content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.ht-empty-data-state__title{margin:0;font-size:16px;font-weight:400;line-height:24px}.ht-empty-data-state__description{margin:0;color:#222;font-size:12px;line-height:16px;font-weight:400}.ht-empty-data-state__buttons{display:flex;justify-content:center;flex-direction:row;flex-wrap:wrap;gap:8px}.ht-empty-data-state__buttons--has-buttons{margin-top:8px}.ht-empty-data-state--disable-top-border{border-top-width:0}.ht-empty-data-state--disable-inline-border{border-inline-start-width:0}.ht-empty-data-state--disable-bottom-border,.ht-empty-data-state:has(~.ht-pagination){border-bottom-width:0}.pika-single{z-index:9999;display:block;position:relative;color:#333;background:#fff;border:1px solid #ccc;border-bottom-color:#bbb;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.pika-single:before,.pika-single:after{content:\" \";display:table}.pika-single:after{clear:both}.pika-single.is-hidden{display:none}.pika-single.is-bound{position:absolute;box-shadow:0 5px 15px -5px #00000080}.pika-lendar{float:left;width:240px;margin:8px}.pika-title{position:relative;text-align:center}.pika-label{display:inline-block;position:relative;z-index:9999;overflow:hidden;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:700;background-color:#fff}.pika-title select{cursor:pointer;position:absolute;z-index:9998;margin:0;left:0;top:5px;opacity:0}.pika-prev,.pika-next{display:block;cursor:pointer;position:relative;outline:none;border:0;padding:0;width:20px;height:30px;text-indent:20px;white-space:nowrap;overflow:hidden;background-color:transparent;background-position:center center;background-repeat:no-repeat;background-size:75% 75%;opacity:.5}.pika-prev:hover,.pika-next:hover{opacity:1}.pika-prev,.is-rtl .pika-next{float:left;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==)}.pika-next,.is-rtl .pika-prev{float:right;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=)}.pika-prev.is-disabled,.pika-next.is-disabled{cursor:default;opacity:.2}.pika-select{display:inline-block}.pika-table{width:100%;border-collapse:collapse;border-spacing:0;border:0}.pika-table th,.pika-table td{width:14.285714285714286%;padding:0}.pika-table th{color:#999;font-size:12px;line-height:25px;font-weight:700;text-align:center}.pika-button{cursor:pointer;display:block;box-sizing:border-box;-moz-box-sizing:border-box;outline:none;border:0;margin:0;width:100%;padding:5px;color:#666;font-size:12px;line-height:15px;text-align:center;background:#f5f5f5;height:initial}.pika-week{font-size:11px;color:#999}.is-today .pika-button{color:#3af;font-weight:700}.is-selected .pika-button,.has-event .pika-button{color:#fff;font-weight:700;background:#3af;box-shadow:inset 0 1px 3px #178fe5;border-radius:3px}.has-event .pika-button{background:#005da9;box-shadow:inset 0 1px 3px #0076c9}.is-disabled .pika-button,.is-inrange .pika-button{background:#d5e9f7}.is-startrange .pika-button{color:#fff;background:#6cb31d;box-shadow:none;border-radius:3px}.is-endrange .pika-button{color:#fff;background:#3af;box-shadow:none;border-radius:3px}.is-disabled .pika-button{pointer-events:none;cursor:default;color:#999;opacity:.3}.is-outside-current-month .pika-button{color:#999;opacity:.3}.is-selection-disabled{pointer-events:none;cursor:default}.pika-button:hover,.pika-row.pick-whole-week:hover .pika-button{color:#fff;background:#ff8000;box-shadow:none;border-radius:3px}.pika-table abbr{border-bottom:none;cursor:help}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}.document-viewer-container{height:100vh;width:100%;display:flex;flex-direction:column;padding:20px;box-sizing:border-box;background-color:#f5f5f5;overflow:hidden}.loader,.error-message{text-align:center;padding:40px 20px;font-family:Arial,sans-serif;background-color:#fff;border-radius:4px;margin:20px;box-shadow:0 2px 4px #0000001a}.error-message{color:#d32f2f;background-color:#ffebee;border:1px solid #ffcdd2}::ng-deep ngx-extended-pdf-viewer{flex:1 1 auto;min-height:0;height:auto;width:calc(100% - 20px);margin:10px;border:1px solid #ddd;border-radius:4px;display:block}.excel-viewer-container{flex:1 1 auto;min-height:0;width:calc(100% - 20px);margin:10px;border-radius:4px;overflow:hidden;box-shadow:0 2px 10px #0000001a;background:#fff;display:flex;flex-direction:column}.excel-sheet-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:12px 10px 0 8px;background:#f3f2f1;border-bottom:1px solid #e1dfdd;min-height:44px}.excel-sheet-tab{padding:8px 16px;border:1px solid #e1dfdd;border-bottom:none;border-radius:4px 4px 0 0;font-size:13px;font-family:Segoe UI,Arial,sans-serif;color:#333;cursor:pointer;transition:background .15s,border-color .15s}.excel-sheet-tab:hover{background:#edebe9;border-bottom:1px solid #000000}.excel-sheet-tab.active{background:#fff;font-weight:600;border-bottom:1px solid #000000;margin-bottom:2px;z-index:1}::ng-deep .handsontable{font-family:Segoe UI,Arial,sans-serif;font-size:13px;overflow:hidden!important}::ng-deep .wtHolder{width:100%!important;height:100%!important}::ng-deep .handsontable td{border:1px solid #e1dfdd;padding:8px 12px;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;word-break:break-word;line-height:1.4;vertical-align:top;max-width:300px;min-width:80px;margin:0!important}::ng-deep .handsontable td:hover{overflow:visible;background-color:#edf3fa;position:relative;z-index:10;box-shadow:0 2px 8px #00000026}::ng-deep .handsontable .htRight{text-align:right;font-family:Segoe UI,Consolas,monospace}::ng-deep .handsontable .htLeft{text-align:left}::ng-deep .handsontable .htCenter{text-align:center}::ng-deep .handsontable tr:nth-child(2n) td{background-color:#faf9f8}::ng-deep .handsontable tr:hover td{background-color:#edf3fa}::ng-deep .handsontable .current-row td{background-color:#e5f3ff}::ng-deep .handsontable .manualColumnResizer{background-color:#34a9db;width:5px;cursor:col-resize;opacity:0;transition:opacity .2s}::ng-deep .handsontable .manualColumnResizer:hover,::ng-deep .handsontable .manualColumnResizer.active{opacity:1;background-color:#0078d4}::ng-deep .handsontable .manualRowResizer{background-color:#34a9db;height:5px;cursor:row-resize;opacity:0;transition:opacity .2s}::ng-deep .handsontable .manualRowResizer:hover,::ng-deep .handsontable .manualRowResizer.active{opacity:1;background-color:#0078d4}::ng-deep .htContextMenu table{font-family:Segoe UI,Arial,sans-serif;font-size:12px}::ng-deep .htContextMenu .htItemWrapper{padding:6px 12px}::ng-deep .htContextMenu .current{background-color:#e5f3ff}\n/*! Bundled license information:\n\nhandsontable/dist/handsontable.full.css:\n (*!\n * Copyright (c) HANDSONCODE sp. z o. o.\n *\n * HANDSONTABLE is a software distributed by HANDSONCODE sp. z o. o., a Polish corporation based in\n * Gdynia, Poland, at Aleja Zwyciestwa 96-98, registered by the District Court in Gdansk under number\n * 538651, EU tax ID number: PL5862294002, share capital: PLN 62,800.00.\n *\n * This software is protected by applicable copyright laws, including international treaties, and dual-\n * licensed - depending on whether your use for commercial purposes, meaning intended for or\n * resulting in commercial advantage or monetary compensation, or not.\n *\n * If your use is strictly personal or solely for evaluation purposes, meaning for the purposes of testing\n * the suitability, performance, and usefulness of this software outside the production environment,\n * you agree to be bound by the terms included in the \"handsontable-non-commercial-license.pdf\" file.\n *\n * Your use of this software for commercial purposes is subject to the terms included in an applicable\n * license agreement.\n *\n * In any case, you must not make any such use of this software as to develop software which may be\n * considered competitive with this software.\n *\n * UNLESS EXPRESSLY AGREED OTHERWISE, HANDSONCODE PROVIDES THIS SOFTWARE ON AN \"AS IS\"\n * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, AND IN NO EVENT AND UNDER NO\n * LEGAL THEORY, SHALL HANDSONCODE BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT,\n * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM\n * USE OR INABILITY TO USE THIS SOFTWARE.\n *\n * Version: 16.2.0\n * Release date: 25/11/2025 (built at 20/11/2025 13:27:05)\n *)\n (*!\n * Handsontable ContextMenu\n *)\n (*!\n * Handsontable DropdownMenu\n *)\n (*!\n * Handsontable Filters\n *)\n (*!\n * Handsontable HiddenRows\n *)\n (*!\n * Pikaday\n * Copyright \u00A9 2014 David Bushell | BSD & MIT license | https://dbushell.com/\n *)\n*/\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: NgxExtendedPdfViewerModule }, { kind: "component", type: i4.NgxExtendedPdfViewerComponent, selector: "ngx-extended-pdf-viewer", inputs: ["customFindbarInputArea", "customToolbar", "customFindbar", "customFindbarButtons", "customPdfViewer", "customSecondaryToolbar", "customSidebar", "customThumbnail", "customFreeFloatingBar", "showFreeFloatingBar", "enableDragAndDrop", "forceUsingLegacyES5", "formData", "disableForms", "pageViewMode", "scrollMode", "authorization", "httpHeaders", "contextMenuAllowed", "enablePrint", "enablePrintAutoRotate", "forceFullReloadOfJavaScriptCode", "showTextEditor", "showStampEditor", "showCommentEditor", "showDrawEditor", "showHighlightEditor", "showSignatureEditor", "logLevel", "minifiedJSLibraries", "printResolution", "rotation", "src", "base64Src", "minHeight", "height", "backgroundColor", "pdfBackgroundColor", "filenameForDownload", "ignoreKeyboard", "ignoreKeys", "acceptKeys", "imageResourcesPath", "localeFolderPath", "language", "listenToURL", "nameddest", "password", "replaceBrowserPrint", "useInlineScripts", "showUnverifiedSignatures", "startTabindex", "showSidebarButton", "sidebarVisible", "activeSidebarView", "findbarVisible", "propertiesDialogVisible", "showFindButton", "showFindHighlightAll", "showFindMatchCase", "showFindMultiple", "showFindRegexp", "showFindEntireWord", "showFindMatchDiacritics", "showFindResultsCount", "showFindMessages", "showMovePageButton", "showPagingButtons", "showFirstAndLastPageButtons", "showPreviousAndNextPageButtons", "showPageNumber", "showPageLabel", "showZoomButtons", "showZoomDropdown", "showPresentationModeButton", "showOpenFileButton", "showPrintButton", "showDownloadButton", "theme", "showToolbar", "showSecondaryToolbarButton", "showSinglePageModeButton", "showVerticalScrollButton", "showHorizontalScrollButton", "showWrappedScrollButton", "showInfiniteScrollButton", "showBookModeButton", "showRotateButton", "showRotateCwButton", "showRotateCcwButton", "handTool", "showHandToolButton", "showSpreadButton", "showPropertiesButton", "showBorders", "spread", "showScrollingButtons", "page", "pageLabel", "textLayer", "zoom", "zoomLevels", "maxZoom", "minZoom", "mobileFriendlyZoom"], outputs: ["annotationEditorEvent", "formDataChange", "pageViewModeChange", "progress", "srcChange", "scrollModeChange", "afterPrint", "beforePrint", "currentZoomFactor", "rotationChange", "annotationLayerRendered", "annotationEditorLayerRendered", "xfaLayerRendered", "outlineLoaded", "attachmentsloaded", "layersloaded", "sidebarVisibleChange", "activeSidebarViewChange", "findbarVisibleChange", "propertiesDialogVisibleChange", "handToolChange", "spreadChange", "thumbnailDrawn", "pageChange", "pageLabelChange", "pagesLoaded", "pageRender", "pageRendered", "pdfDownloaded", "pdfLoaded", "pdfLoadingStarts", "pdfLoadingFailed", "textLayerRendered", "annotationEditorModeChanged", "updateFindMatchesCount", "updateFindState", "zoomChange"] }, { kind: "ngmodule", type: HotTableModule }, { kind: "component", type: i5.HotTableComponent, selector: "hot-table", inputs: ["settings", "hotId", "activeHeaderClassName", "allowEmpty", "allowHtml", "allowInsertColumn", "allowInsertRow", "allowInvalid", "allowRemoveColumn", "allowRemoveRow", "ariaTags", "autoColumnSize", "autoRowSize", "autoWrapCol", "autoWrapRow", "bindRowsWithHeaders", "cell", "cells", "checkedTemplate", "className", "colHeaders", "collapsibleColumns", "columnHeaderHeight", "columns", "columnSorting", "columnSummary", "colWidths", "commentedCellClassName", "comments", "contextMenu", "copyable", "copyPaste", "correctFormat", "currentColClassName", "currentHeaderClassName", "currentRowClassName", "customBorders", "data", "dataDotNotation", "dataSchema", "dateFormat", "datePickerConfig", "defaultDate", "tabNavigation", "themeName", "disableVisualSelection", "dragToScroll", "dropdownMenu", "editor", "enterBeginsEditing", "enterMoves", "fillHandle", "filter", "filteringCaseSensitive", "filters", "fixedColumnsLeft", "fixedColumnsStart", "fixedRowsBottom", "fixedRowsTop", "formulas", "fragmentSelection", "headerClassName", "height", "hiddenColumns", "hiddenRows", "initialState", "invalidCellClassName", "imeFastEdit", "label", "language", "layoutDirection", "licenseKey", "locale", "manualColumnFreeze", "manualColumnMove", "manualColumnResize", "manualRowMove", "manualRowResize", "maxCols", "maxRows", "mergeCells", "minCols", "minRowHeights", "minRows", "minSpareCols", "minSpareRows", "multiColumnSorting", "navigableHeaders", "nestedHeaders", "nestedRows", "noWordWrapClassName", "numericFormat", "observeDOMVisibility", "outsideClickDeselects", "pagination", "persistentState", "placeholder", "placeholderCellClassName", "preventOverflow", "preventWheel", "readOnly", "readOnlyCellClassName", "renderAllColumns", "renderAllRows", "renderer", "rowHeaders", "rowHeaderWidth", "rowHeights", "search", "selectionMode", "selectOptions", "skipColumnOnPaste", "skipRowOnPaste", "sortByRelevance", "source", "startCols", "startRows", "stretchH", "strict", "tableClassName", "tabMoves", "title", "trimDropdown", "trimRows", "trimWhitespace", "type", "uncheckedTemplate", "undo", "validator", "valueGetter", "valueSetter", "viewportColumnRenderingOffset", "viewportRowRenderingOffset", "visibleRows", "width", "wordWrap", "afterAddChild", "afterAutofill", "afterBeginEditing", "afterCellMetaReset", "afterChange", "afterChangesObserved", "afterColumnCollapse", "afterColumnExpand", "afterColumnFreeze", "afterColumnMove", "afterColumnResize", "afterColumnSequenceCacheUpdate", "afterColumnSequenceChange", "afterColumnSort", "afterColumnUnfreeze", "afterContextMenuDefaultOptions", "afterContextMenuHide", "afterContextMenuShow", "afterCopy", "afterCopyLimit", "afterCreateCol", "afterCreateRow", "afterCut", "afterDeselect", "afterDestroy", "afterDetachChild", "afterDocumentKeyDown", "afterDrawSelection", "afterDropdownMenuDefaultOptions", "afterDropdownMenuHide", "afterDropdownMenuShow", "afterFilter", "afterFormulasValuesUpdate", "afterGetCellMeta", "afterGetColHeader", "afterGetColumnHeaderRenderers", "afterGetRowHeader", "afterGetRowHeaderRenderers", "afterHideColumns", "afterHideRows", "afterInit", "afterLanguageChange", "afterListen", "afterLoadData", "afterMergeCells", "afterModifyTransformEnd", "afterModifyTransformFocus", "afterModifyTransformStart", "afterMomentumScroll", "afterNamedExpressionAdded", "afterNamedExpressionRemoved", "afterOnCellContextMenu", "afterOnCellCornerDblClick", "afterOnCellCornerMouseDown", "afterOnCellMouseDown", "afterOnCellMouseOut", "afterOnCellMouseOver", "afterOnCellMouseUp", "afterPageChange", "afterPageSizeChange", "afterPageSizeVisibilityChange", "afterPageCounterVisibilityChange", "afterPageNavigationVisibilityChange", "afterPaste", "afterPluginsInitialized", "afterRedo", "afterRedoStackChange", "afterRefreshDimensions", "afterRemoveCellMeta", "afterRemoveCol", "afterRemoveRow", "afterRender", "afterRenderer", "afterRowMove", "afterRowResize", "afterRowSequenceCacheUpdate", "afterRowSequenceChange", "afterScrollHorizontally", "afterScrollVertically", "afterScroll", "afterSelectColumns", "afterSelection", "afterSelectionByProp", "afterSelectionEnd", "afterSelectionEndByProp", "afterSelectionFocusSet", "afterSelectRows", "afterSetCellMeta", "afterSetDataAtCell", "afterSetDataAtRowProp", "afterSetSourceDataAtCell", "afterSetTheme", "afterSheetAdded", "afterSheetRenamed", "afterSheetRemoved", "afterTrimRow", "afterUndo", "afterUndoStackChange", "afterUnhideColumns", "afterUnhideRows", "afterUnlisten", "afterUnmergeCells", "afterUntrimRow", "afterUpdateData", "afterUpdateSettings", "afterValidate", "afterViewportColumnCalculatorOverride", "afterViewportRowCalculatorOverride", "afterViewRender", "beforeAddChild", "beforeAutofill", "beforeBeginEditing", "beforeCellAlignment", "beforeChange", "beforeChangeRender", "beforeColumnCollapse", "beforeColumnExpand", "beforeColumnFreeze", "beforeColumnMove", "beforeColumnResize", "beforeColumnSort", "beforeColumnWrap", "beforeColumnUnfreeze", "beforeCompositionStart", "beforeContextMenuSetItems", "beforeContextMenuShow", "beforeCopy", "beforeCreateCol", "beforeCreateRow", "beforeCut", "beforeDetachChild", "beforeDrawBorders", "beforeDropdownMenuSetItems", "beforeDropdownMenuShow", "beforeFilter", "beforeGetCellMeta", "beforeHeightChange", "beforeHideColumns", "beforeHideRows", "beforeHighlightingColumnHeader", "beforeHighlightingRowHeader", "beforeInit", "beforeInitWalkontable", "beforeKeyDown", "beforeLanguageChange", "beforeLoadData", "beforeMergeCells", "beforeOnCellContextMenu", "beforeOnCellMouseDown", "beforeOnCellMouseOut", "beforeOnCellMouseOver", "beforeOnCellMouseUp", "beforePageChange", "beforePageSizeChange", "beforePaste", "beforeRedo", "beforeRedoStackChange", "beforeRefreshDimensions", "beforeRemoveCellClassNames", "beforeRemoveCellMeta", "beforeRemoveCol", "beforeRemoveRow", "beforeRender", "beforeRenderer", "beforeRowMove", "beforeRowResize", "beforeRowWrap", "beforeSelectColumns", "beforeSelectionFocusSet", "beforeSelectionHighlightSet", "beforeSelectRows", "beforeSetCellMeta", "beforeSetRangeEnd", "beforeSetRangeStart", "beforeSetRangeStartOnly", "beforeStretchingColumnWidth", "beforeTouchScroll", "beforeTrimRow", "beforeUndo", "beforeUndoStackChange", "beforeUnhideColumns", "beforeUnhideRows", "beforeUnmergeCells", "beforeUntrimRow", "beforeUpdateData", "beforeValidate", "beforeValueRender", "beforeViewportScroll", "beforeViewportScrollHorizontally", "beforeViewportScrollVertically", "beforeViewRender", "beforeWidthChange", "construct", "init", "modifyAutoColumnSizeSeed", "modifyAutofillRange", "modifyColHeader", "modifyColumnHeaderHeight", "modifyColumnHeaderValue", "modifyColWidth", "modifyCopyableRange", "modifyFiltersMultiSelectValue", "modifyFocusedElement", "modifyData", "modifyFocusOnTabNavigation", "modifyGetCellCoords", "modifyGetCoordsElement", "modifyRowData", "modifyRowHeader", "modifyRowHeaderWidth", "modifyRowHeight", "modifyRowHeightByOverlayName", "modifySourceData", "modifyTransformEnd", "modifyTransformFocus", "modifyTransformStart", "persistentStateLoad", "persistentStateReset", "persistentStateSave"] }] });
|
|
729
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.4", type: PdfViewerComponent, isStandalone: true, selector: "sgdea-document-viewer", inputs: { nameFile: "nameFile", nameBucket: "nameBucket", nameSpaceBucket: "nameSpaceBucket", url: "url", token: "token", pdfAssetsBaseUrl: "pdfAssetsBaseUrl" }, viewQueries: [{ propertyName: "imageContainer", first: true, predicate: ["imageContainer"], descendants: true }, { propertyName: "mainImage", first: true, predicate: ["mainImage"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"loading()\" class=\"loader\">Cargando documento...</div>\n\n<div *ngIf=\"errorMessage() && !loading()\" class=\"error-message\">\n {{ errorMessage() }}\n</div>\n\n<div *ngIf=\"!loading() && !errorMessage()\" class=\"document-viewer-container\">\n\n <!-- PDF: altura expl\u00EDcita v\u00EDa host; \"auto\" suele dejar 0px en flex/modales -->\n <div\n class=\"pdf-viewer-host\"\n *ngIf=\"fileType() === 'pdf' && pdfSrc\"\n >\n <ngx-extended-pdf-viewer\n [src]=\"pdfSrc\"\n [height]=\"'100%'\"\n useBrowserLocale=\"false\"\n [showDownloadButton]=\"false\"\n [showPrintButton]=\"false\"\n [showOpenFileButton]=\"false\"\n [showSecondaryToolbarButton]=\"false\"\n [showFirstAndLastPageButtons]=\"false\"\n [showPagingButtons]=\"false\"\n [showZoomButtons]=\"true\"\n [showDrawEditor]=\"false\"\n [showTextEditor]=\"false\"\n [showStampEditor]=\"false\"\n [showHighlightEditor]=\"false\"\n >\n </ngx-extended-pdf-viewer>\n </div>\n\n <!-- Imagen -->\n<!-- Visor de im\u00E1genes con zoom y rotaci\u00F3n -->\n <div *ngIf=\"isImageType() && imageSrc\" class=\"image-viewer\">\n <!-- Barra de herramientas -->\n <div class=\"image-toolbar\">\n <button (click)=\"zoomIn()\" title=\"Acercar (Ctrl +)\">\u2795</button>\n <button (click)=\"zoomOut()\" title=\"Alejar (Ctrl -)\">\u2796</button>\n <!-- Separador -->\n <span class=\"separator\"></span>\n\n <!-- Botones de rotaci\u00F3n AHORA FUNCIONALES -->\n <button (click)=\"rotateLeft()\" title=\"Rotar izquierda (\u21BA)\">\u21BA</button>\n <button (click)=\"rotateRight()\" title=\"Rotar derecha (\u21BB)\">\u21BB</button>\n\n <!-- Informaci\u00F3n -->\n <span class=\"zoom-info\">{{ zoomLevel() }}%</span>\n <span class=\"rotation-info\" *ngIf=\"rotation() !== 0\">\n {{ rotation() }}\u00B0\n </span>\n\n <span class=\"image-dimensions\" *ngIf=\"imageDimensions.width\">\n {{ imageDimensions.width }} x {{ imageDimensions.height }}\n </span>\n </div>\n\n <!-- Contenedor de la imagen -->\n <div\n class=\"image-container\" \n #imageContainer \n (wheel)=\"onMouseWheel($event)\"\n >\n <img\n #mainImage\n [src]=\"imageSrc\"\n [alt]=\"fileName()\"\n [style.transform]=\"getImageTransform()\"\n [style.cursor]=\"getCursorStyle()\"\n (load)=\"onImageLoad()\"\n (mousedown)=\"startDrag($event)\"\n (mousemove)=\"onDrag($event)\"\n (mouseup)=\"stopDrag()\"\n (mouseleave)=\"stopDrag()\"\n class=\"zoomable-image\"\n />\n </div>\n\n <!-- Instrucciones -->\n <div class=\"image-footer\" *ngIf=\"zoomLevel() > 100\">\n <small>Arrastra para mover la imagen</small>\n </div>\n </div>\n <!-- Excel -->\n <div *ngIf=\"isExcelType()\" class=\"excel-viewer-container\">\n\n <!-- Tabs -->\n <div *ngIf=\"excelSheetNames.length > 1\" class=\"excel-sheet-tabs\">\n <button\n *ngFor=\"let sheet of excelSheetNames; let i = index\"\n type=\"button\"\n class=\"excel-sheet-tab\"\n [class.active]=\"excelCurrentSheetIndex() === i\"\n (click)=\"selectExcelSheet(i)\"\n >\n {{ sheet }}\n </button>\n </div>\n\n <hot-table\n *ngIf=\"showExcelViewer\"\n #hotTable\n [settings]=\"excelSettings\"\n [data]=\"excelData\"\n [colHeaders]=\"excelColumnHeaders\"\n [rowHeaders]=\"true\"\n [width]=\"'100%'\"\n [height]=\"'100%'\"\n licenseKey=\"non-commercial-and-evaluation\"\n [columns]=\"excelColumns\"\n >\n </hot-table>\n\n <div *ngIf=\"!showExcelViewer\" class=\"loader\">\n Cargando hoja...\n </div>\n\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.handsontable .table th,.handsontable .table td{border-top:none}.handsontable tr{background:#fff}.handsontable td{background-color:inherit}.handsontable .table caption+thead tr:first-child th,.handsontable .table caption+thead tr:first-child td,.handsontable .table colgroup+thead tr:first-child th,.handsontable .table colgroup+thead tr:first-child td,.handsontable .table thead:first-child tr:first-child th,.handsontable .table thead:first-child tr:first-child td{border-top:1px solid #CCCCCC}.handsontable .table-bordered{border:0;border-collapse:separate}.handsontable .table-bordered th,.handsontable .table-bordered td{border-left:none}.handsontable .table-bordered th:first-child,.handsontable .table-bordered td:first-child{border-left:1px solid #CCCCCC}.handsontable .table>tbody>tr>td,.handsontable .table>tbody>tr>th,.handsontable .table>tfoot>tr>td,.handsontable .table>tfoot>tr>th,.handsontable .table>thead>tr>td,.handsontable .table>thead>tr>th{line-height:21px;padding:0}.col-lg-1.handsontable,.col-lg-10.handsontable,.col-lg-11.handsontable,.col-lg-12.handsontable,.col-lg-2.handsontable,.col-lg-3.handsontable,.col-lg-4.handsontable,.col-lg-5.handsontable,.col-lg-6.handsontable,.col-lg-7.handsontable,.col-lg-8.handsontable,.col-lg-9.handsontable,.col-md-1.handsontable,.col-md-10.handsontable,.col-md-11.handsontable,.col-md-12.handsontable,.col-md-2.handsontable,.col-md-3.handsontable,.col-md-4.handsontable,.col-md-5.handsontable,.col-md-6.handsontable,.col-md-7.handsontable,.col-md-8.handsontable,.col-md-9.handsontable .col-sm-1.handsontable,.col-sm-10.handsontable,.col-sm-11.handsontable,.col-sm-12.handsontable,.col-sm-2.handsontable,.col-sm-3.handsontable,.col-sm-4.handsontable,.col-sm-5.handsontable,.col-sm-6.handsontable,.col-sm-7.handsontable,.col-sm-8.handsontable,.col-sm-9.handsontable .col-xs-1.handsontable,.col-xs-10.handsontable,.col-xs-11.handsontable,.col-xs-12.handsontable,.col-xs-2.handsontable,.col-xs-3.handsontable,.col-xs-4.handsontable,.col-xs-5.handsontable,.col-xs-6.handsontable,.col-xs-7.handsontable,.col-xs-8.handsontable,.col-xs-9.handsontable{padding-left:0;padding-right:0}.handsontable.ht-wrapper{height:100%;width:100%}.handsontable .table-striped>tbody>tr:nth-of-type(2n){background-color:#fff}.handsontable .hide{display:none}.handsontable .relative{position:relative}.handsontable .wtHider{position:relative;width:0}.handsontable .wtSpreader{position:relative;width:0;height:auto}.handsontable table,.handsontable tbody,.handsontable thead,.handsontable td,.handsontable th,.handsontable input,.handsontable textarea,.handsontable div{box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.handsontable input,.handsontable textarea{min-height:initial}.handsontable table.htCore{border-collapse:separate;border-spacing:0;margin:0;border-width:0;table-layout:fixed;width:0;outline-width:0;cursor:default;max-width:none;max-height:none}.handsontable col,.handsontable col.rowHeader{width:50px}.handsontable th,.handsontable td{border-top-width:0;border-left-width:0;border-right:1px solid #ccc;border-bottom:1px solid #ccc;height:22px;empty-cells:show;line-height:21px;padding:0 4px;background-color:#fff;vertical-align:top;overflow:hidden;outline:none;outline-width:0;white-space:pre-wrap}[dir=rtl].handsontable th,[dir=rtl].handsontable td{border-right-width:0;border-left:1px solid #ccc}.handsontable th:last-child{border-left:none;border-right:1px solid #ccc;border-bottom:1px solid #ccc}[dir=rtl].handsontable th:last-child{border-right:none;border-left:1px solid #ccc}.handsontable th:first-child,.handsontable .ht_clone_inline_start td:first-of-type,.handsontable .ht_clone_top_inline_start_corner td:first-of-type,.handsontable .ht_clone_bottom_inline_start_corner td:first-of-type,.handsontable.ht-wrapper:not(.htFirstDatasetColumnNotRendered) td:first-of-type{border-left:1px solid #ccc}[dir=rtl].handsontable th:first-child,[dir=rtl].handsontable.ht-wrapper:not(.htFirstDatasetColumnNotRendered) td:first-of-type{border-right:1px solid #ccc}.handsontable .ht_clone_top th:nth-child(2){border-left-width:0;border-right:1px solid #ccc}[dir=rtl].handsontable .ht_clone_top th:nth-child(2){border-right-width:0;border-left:1px solid #ccc}.handsontable.htRowHeaders thead tr th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable.htRowHeaders thead tr th:nth-child(2){border-right:1px solid #ccc}.handsontable tr:first-child th,.handsontable tr:first-child td{border-top:1px solid #ccc}.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-right-width:0;border-left:1px solid #ccc}[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left-width:0;border-right:1px solid #ccc}.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr.lastChild th{border-bottom-width:0}.handsontable th{background-color:#f0f0f0;color:#222;text-align:center;font-weight:400;white-space:nowrap}.handsontable thead th{padding:0}.handsontable th.active{background-color:#ccc}.handsontable thead th .relative{padding:2px 4px}.handsontable span.colHeader{display:inline-block;line-height:1.1}.handsontable .wtBorder{position:absolute;font-size:0}.handsontable .wtBorder.hidden{display:none!important}.handsontable .wtBorder:nth-child(1),.handsontable .wtBorder:nth-child(3){z-index:2}.handsontable .wtBorder:nth-child(2),.handsontable .wtBorder:nth-child(4){z-index:1}.handsontable .wtBorder.current{z-index:10}.handsontable .wtBorder.area{z-index:8}.handsontable .wtBorder.fill{z-index:6}.handsontable .wtBorder.corner{font-size:0;cursor:crosshair}.htBorders .wtBorder.ht-border-style-dashed-vertical{background-image:repeating-linear-gradient(to bottom,var(--ht-custom-border-color) 0 5px,transparent 0 10px)}.htBorders .wtBorder.ht-border-style-dashed-horizontal{background-image:repeating-linear-gradient(to right,var(--ht-custom-border-color) 0 5px,transparent 0 10px)}.htBorders .wtBorder.ht-border-style-dotted-horizontal{background-image:radial-gradient(circle,var(--ht-custom-border-color) calc(var(--ht-custom-border-size) / 2),transparent 0);background-size:calc(var(--ht-custom-border-size) * 2) var(--ht-custom-border-size);background-repeat:repeat-x}.htBorders .wtBorder.ht-border-style-dotted-vertical{background-image:radial-gradient(circle,var(--ht-custom-border-color) calc(var(--ht-custom-border-size) / 2),transparent 0);background-size:var(--ht-custom-border-size) calc(var(--ht-custom-border-size) * 2);background-repeat:repeat-y}.ht_clone_master{z-index:100}.ht_clone_inline_start{z-index:120}.ht_clone_bottom{z-index:130}.ht_clone_bottom_inline_start_corner{z-index:150}.ht_clone_top{z-index:160}.ht_clone_top_inline_start_corner{z-index:180}.handsontable col.hidden{width:0!important}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th{display:none}.ht_master,.ht_clone_inline_start,.ht_clone_top,.ht_clone_bottom{overflow:hidden}.ht_master .wtHolder{overflow:auto}.handsontable .ht_master table.htCore>thead,.handsontable .ht_master table.htCore>tbody>tr>th,.handsontable .ht_clone_inline_start table.htCore>thead{visibility:hidden}.ht_clone_top .wtHolder,.ht_clone_inline_start .wtHolder,.ht_clone_bottom .wtHolder{overflow:hidden}.handsontable{position:relative;touch-action:manipulation;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:400;color:#373737}.handsontable a{color:#104acc}.handsontable.htAutoSize{visibility:hidden;left:-99000px;position:absolute;top:-99000px}.handsontable td.htInvalid{background-color:#ffbeba!important}.handsontable td.htNoWrap{white-space:nowrap}.handsontable td.invisibleSelection,.handsontable th.invisibleSelection{outline:none}.handsontable td.invisibleSelection::selection,.handsontable th.invisibleSelection::selection{background:#fff0}.hot-display-license-info{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:400;color:#373737;padding:5px 0 3px;text-align:left}.hot-display-license-info a{color:#104acc;font-size:10px}.htFocusCatcher{position:absolute;z-index:-1;opacity:0;border:0;margin:0;padding:0;width:0;height:0}.handsontable .htTextEllipsis{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.handsontable .manualColumnResizer{position:absolute;top:0;cursor:col-resize;z-index:210;width:5px;height:25px}.handsontable .manualRowResizer{position:absolute;left:0;cursor:row-resize;z-index:210;height:5px;width:50px}.handsontable .manualColumnResizer:hover,.handsontable .manualColumnResizer.active,.handsontable .manualRowResizer:hover,.handsontable .manualRowResizer.active{background-color:#34a9db}.handsontable .manualColumnResizerGuide{position:absolute;right:unset;top:0;background-color:#34a9db;display:none;width:0;border-right:1px dashed #777;border-left:none;margin-left:5px;margin-right:unset}[dir=rtl].handsontable .manualColumnResizerGuide{left:unset;border-left:1px dashed #777;border-right:none;margin-right:5px;margin-left:unset}.handsontable .manualRowResizerGuide{position:absolute;left:0;bottom:0;background-color:#34a9db;display:none;height:0;border-bottom:1px dashed #777;margin-top:5px}.handsontable .manualColumnResizerGuide.active,.handsontable .manualRowResizerGuide.active{display:block;z-index:209}.handsontable td.area,.handsontable td.area-1,.handsontable td.area-2,.handsontable td.area-3,.handsontable td.area-4,.handsontable td.area-5,.handsontable td.area-6,.handsontable td.area-7{position:relative}.handsontable td.area:before,.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before{content:\"\";position:absolute;inset:0;background:#005eff}.handsontable td.area:before{opacity:.1}.handsontable td.area-1:before{opacity:.2}.handsontable td.area-2:before{opacity:.27}.handsontable td.area-3:before{opacity:.35}.handsontable td.area-4:before{opacity:.41}.handsontable td.area-5:before{opacity:.47}.handsontable td.area-6:before{opacity:.54}.handsontable td.area-7:before{opacity:.58}.handsontable tbody th.current,.handsontable thead th.current{box-shadow:inset 0 0 0 2px #4b89ff}.handsontable tbody th.ht__highlight,.handsontable thead th.ht__highlight{background-color:#dcdcdc}.handsontable tbody th.ht__active_highlight,.handsontable thead th.ht__active_highlight{background-color:#8eb0e7;color:#000}.handsontableInput{border:none;outline-width:0;margin:0;padding:1px 5px 0;font-family:inherit;line-height:21px;font-size:inherit;box-shadow:0 0 0 2px #5292f7 inset;resize:none;display:block;color:#000;border-radius:0;background-color:#fff;box-sizing:border-box!important}.handsontableInput:focus{outline:none}.handsontableInputHolder{position:absolute;top:0;left:0}.htSelectEditor{position:absolute;select{-webkit-appearance:menulist-button!important;width:100%;height:100%;border:2px solid #4b89ff;box-sizing:border-box!important}}.htSelectEditor select:focus{outline:none}.htSelectEditor .htAutocompleteArrow{display:none}.handsontable .htDimmed{color:#777}.handsontable .htSubmenu{position:relative}.handsontable .htSubmenu :after{content:\"\\25b6\";color:#777;position:absolute;right:5px;font-size:9px}[dir=rtl].handsontable .htSubmenu :after{content:\"\"}[dir=rtl].handsontable .htSubmenu :before{content:\"\\25c0\";color:#777;position:absolute;left:5px;font-size:9px}.handsontable .htLeft{text-align:left}.handsontable .htCenter{text-align:center}.handsontable .htRight{text-align:right}.handsontable .htJustify{text-align:justify}.handsontable .htTop{vertical-align:top}.handsontable .htMiddle{vertical-align:middle}.handsontable .htBottom{vertical-align:bottom}.handsontable .htPlaceholder{color:#999}.handsontable.listbox{border:1px solid #ccc;margin:0}.handsontable.listbox.autocompleteEditor,.handsontable.listbox.dropdownEditor{border-width:0}.handsontable.listbox .ht_master table{border-collapse:separate;background:#fff}.handsontable.listbox.autocompleteEditor .ht_master table,.handsontable.listbox.dropdownEditor .ht_master table{border:1px solid #ccc}.handsontable.listbox th,.handsontable.listbox tr:first-child th,.handsontable.listbox tr:last-child th,.handsontable.listbox tr:first-child td,.handsontable.listbox td{border-color:transparent!important}.handsontable.listbox th,.handsontable.listbox td{white-space:nowrap;text-overflow:ellipsis}.handsontable.listbox td.htDimmed{cursor:default;color:inherit;font-style:inherit}.handsontable.listbox .wtBorder{visibility:hidden}.handsontable.listbox tr td.current,.handsontable.listbox tr:hover td{background:#eee}.ht_editor_hidden{z-index:-1}.ht_editor_visible{z-index:200}.handsontable td.htSearchResult{background:#fcedd9;color:#583707}.handsontable.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch}.handsontable.mobile .handsontableInput:focus{-webkit-box-shadow:0 0 0 2px #5292f7 inset;-moz-box-shadow:0 0 0 2px #5292f7 inset;box-shadow:0 0 0 2px #5292f7 inset;-webkit-appearance:none}.handsontable .topSelectionHandle,.handsontable .topSelectionHandle-HitArea,.handsontable .bottomSelectionHandle,.handsontable .bottomSelectionHandle-HitArea{left:-10000px;right:unset;top:-10000px;z-index:9999}[dir=rtl].handsontable .topSelectionHandle,[dir=rtl].handsontable .topSelectionHandle-HitArea,[dir=rtl].handsontable .bottomSelectionHandle,[dir=rtl].handsontable .bottomSelectionHandle-HitArea{right:-10000px;left:unset}.handsontable.hide-tween{-webkit-animation:opacity-hide .3s;animation:opacity-hide .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable.show-tween{-webkit-animation:opacity-show .3s;animation:opacity-show .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable .htAutocompleteArrow{float:right;font-size:10px;color:#bbb;cursor:default;width:16px;text-align:center}[dir=rtl].handsontable .htAutocompleteArrow{float:left}.handsontable td.htInvalid .htAutocompleteArrow{color:#555}.handsontable td.htInvalid .htAutocompleteArrow:hover{color:#1a1a1a}.handsontable td .htAutocompleteArrow:hover{color:#777}.handsontable td.area .htAutocompleteArrow{color:#d3d3d3}.handsontable .htCheckboxRendererInput.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{font-size:inherit;vertical-align:middle;cursor:pointer;display:inline-block}.handsontable .htCheckboxRendererLabel.fullWidth{width:100%}.handsontable .collapsibleIndicator{position:absolute;top:50%;transform:translateY(-50%);left:unset;right:5px;border:1px solid #A6A6A6;line-height:8px;color:#222;border-radius:10px;font-size:10px;width:10px;height:10px;cursor:pointer;-webkit-box-shadow:0 0 0 6px rgb(238,238,238);-moz-box-shadow:0 0 0 6px rgb(238,238,238);box-shadow:0 0 0 3px #eee;background:#eee;text-align:center}[dir=rtl].handsontable .collapsibleIndicator{right:unset;left:5px}.handsontable[dir=ltr] thead th:has(.collapsibleIndicator) div.htRight span.colHeader{margin-right:20px}.handsontable[dir=rtl] thead th:has(.collapsibleIndicator) div.htLeft span.colHeader{margin-left:20px}.handsontable .columnSorting{position:relative}.handsontable[dir=ltr] div.htRight span[class*=ascending],.handsontable[dir=ltr] div.htRight span[class*=descending]{margin-right:10px;margin-left:-10px}.handsontable[dir=rtl] div.htLeft span[class*=ascending],.handsontable[dir=rtl] div.htLeft span[class*=descending]{margin-left:10px;margin-right:-10px}.handsontable[dir=ltr] div.htRight span[class*=ascending]:only-child,.handsontable[dir=ltr] div.htRight span[class*=descending]:only-child{margin-right:15px;margin-left:-15px}.handsontable[dir=rtl] div.htLeft span[class*=ascending]:only-child,.handsontable[dir=rtl] div.htLeft span[class*=descending]:only-child{margin-left:15px;margin-right:-15px}.handsontable .columnSorting.sortAction:hover{text-decoration:underline;cursor:pointer}.handsontable span.colHeader.columnSorting:before{top:50%;margin-top:-6px;padding-left:8px;padding-right:0;position:absolute;right:-9px;left:unset;content:\"\";height:10px;width:5px;background-size:contain;background-repeat:no-repeat;background-position-x:right}[dir=rtl].handsontable span.colHeader.columnSorting:before{padding-right:8px;padding-left:0;left:-9px;right:unset;background-position-x:left}.handsontable span.colHeader.columnSorting.ascending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC)}.handsontable span.colHeader.columnSorting.descending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFJJREFUeAHtzjkSgCAQRNFmQYUZ7n9dKUvru0TmvPAn3br0QfgdZ5xx6x+rQn23GqTYnq1FDcnuzZIO2WmedVqIRVxgGKEyjNgYRjKGkZ1hFIZ3I70LyM0VtU8AAAAASUVORK5CYII=)}.htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled):before{content:\"*\";display:inline-block;position:relative;padding-right:20px}.handsontable.htGhostTable table thead th{border-bottom-width:0}.handsontable.htGhostTable table tbody tr th,.handsontable.htGhostTable table tbody tr td{border-top-width:0}.handsontable .htCommentCell{position:relative}.handsontable .htCommentCell:after{content:\"\";position:absolute;top:0;right:0;left:unset;border-left:6px solid transparent;border-right:none;border-top:6px solid black}[dir=rtl].handsontable .htCommentCell:after{left:0;right:unset;border-right:6px solid transparent;border-left:none}.htCommentsContainer .htComments{display:none;z-index:1059;position:absolute}.htCommentsContainer .htCommentTextArea{box-shadow:#0000001e 0 1px 3px,#0000003d 0 1px 2px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none;border-left:3px solid #ccc;border-right:none;background-color:#fff;width:215px;height:90px;font-size:12px;padding:5px;outline:0!important;-webkit-appearance:none}[dir=rtl].htCommentsContainer .htCommentTextArea{border-right:3px solid #ccc;border-left:none}.htCommentsContainer .htCommentTextArea:focus{box-shadow:#0000001e 0 1px 3px,#0000003d 0 1px 2px,inset 0 0 0 1px #5292f7;border-left:3px solid #5292f7;border-right:none}[dir=rtl].htCommentsContainer .htCommentTextArea:focus{border-right:3px solid #5292f7;border-left:none}.htContextMenu:not(.htGhostTable){display:none;position:absolute;z-index:1060}.htContextMenu .ht_clone_top,.htContextMenu .ht_clone_bottom,.htContextMenu .ht_clone_inline_start,.htContextMenu .ht_clone_top_inline_start_corner,.htContextMenu .ht_clone_bottom_inline_start_corner{display:none}.htContextMenu .ht_master table.htCore{border-color:#ccc;border-style:solid;border-top-width:1px;border-bottom-width:2px;border-left-width:1px;border-right-width:2px}[dir=rtl].htContextMenu .ht_master table.htCore{border-right-width:1px;border-left-width:2px}.htContextMenu.handsontable:focus{outline:none}.htContextMenu .wtBorder{visibility:hidden}.htContextMenu table tbody tr td{background:#fff;border-width:0;padding:4px 6px 0;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.htContextMenu table tbody tr td:first-child{border-top-width:0;border-bottom-width:0;border-left-width:0;border-right-width:0}[dir=rtl].htContextMenu table tbody tr td:first-child{border-right-width:0;border-left-width:0}.htContextMenu table tbody tr td.htDimmed{font-style:normal;color:#323232}.htContextMenu table tbody tr td.current{background:#f3f3f3}.htContextMenu table tbody tr td.htSeparator{border-top:1px solid #e6e6e6;height:0;padding:0;cursor:default}.htContextMenu table tbody tr td.htDisabled{color:#999;cursor:default}.htContextMenu table tbody tr td.htDisabled:hover{background:#fff;color:#999;cursor:default}.htContextMenu table tbody tr.htHidden{display:none}.htContextMenu table tbody tr td .htItemWrapper{margin-left:10px;margin-right:6px}[dir=rtl].htContextMenu table tbody tr td .htItemWrapper{margin-right:10px;margin-left:6px}.htContextMenu table tbody tr td div span.selected{margin-top:-2px;position:absolute;left:4px;right:0}[dir=rtl].htContextMenu table tbody tr td div span.selected{right:4px;left:0}.htContextMenu .ht_master .wtHolder{overflow:hidden}textarea.HandsontableCopyPaste{position:fixed!important;top:0!important;right:100%!important;overflow:hidden;opacity:0;outline:0 none!important}.handsontable .changeType{background:#eee;border-radius:2px;border:1px solid #bbb;color:#bbb;font-size:9px;line-height:9px;padding:2px;margin:3px 1px 0 5px;float:right}[dir=rtl].handsontable .changeType{float:left}.handsontable[dir=rtl] .changeType{margin:3px 5px 0 1px}.handsontable .changeType:before{content:\"\\25bc \"}.handsontable .changeType:hover{border:1px solid #777;color:#777;cursor:pointer}.htDropdownMenu:not(.htGhostTable){display:none;position:absolute;z-index:1060}.htDropdownMenu .ht_clone_top,.htDropdownMenu .ht_clone_bottom,.htDropdownMenu .ht_clone_inline_start,.htDropdownMenu .ht_clone_top_inline_start_corner,.htDropdownMenu .ht_clone_bottom_inline_start_corner{display:none}.htDropdownMenu table.htCore{border-color:#ccc;border-style:solid;border-top-width:1px;border-bottom-width:2px;border-left-width:1px;border-right-width:2px}[dir=rtl].htDropdownMenu table.htCore{border-right-width:1px;border-left-width:2px}.htDropdownMenu.handsontable:focus{outline:none}.htDropdownMenu .wtBorder{visibility:hidden}.htDropdownMenu table tbody tr td{background:#fff;border-width:0;padding:4px 6px 0;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.htDropdownMenu table tbody tr td:first-child{border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-width:0}[dir=rtl].htDropdownMenu table tbody tr td:first-child{border-left-width:0;border-right-width:0}.htDropdownMenu table tbody tr td.htDimmed{font-style:normal;color:#323232}.htDropdownMenu table tbody tr td.current{background:#e9e9e9}.htDropdownMenu table tbody tr td.htSeparator{border-top:1px solid #e6e6e6;height:0;padding:0;cursor:default}.htDropdownMenu table tbody tr td.htDisabled{color:#999}.htDropdownMenu table tbody tr td.htDisabled:hover{background:#fff;color:#999;cursor:default}.htDropdownMenu:not(.htGhostTable) table tbody tr.htHidden{display:none}.htDropdownMenu table tbody tr td .htItemWrapper{margin-left:10px;margin-right:10px}[dir=rtl].htDropdownMenu table tbody tr td .htItemWrapper{margin-right:10px;margin-left:10px}.htDropdownMenu table tbody tr td div span.selected{margin-top:-2px;position:absolute;left:4px;right:0}[dir=rtl].htDropdownMenu table tbody tr td div span.selected{right:4px;left:0}.htDropdownMenu .ht_master .wtHolder{overflow:hidden}.htFiltersConditionsMenu:not(.htGhostTable){display:none;position:absolute;z-index:1070}.htFiltersConditionsMenu .ht_clone_top,.htFiltersConditionsMenu .ht_clone_bottom,.htFiltersConditionsMenu .ht_clone_inline_start,.htFiltersConditionsMenu .ht_clone_top_inline_start_corner,.htFiltersConditionsMenu .ht_clone_bottom_inline_start_corner{display:none}.htFiltersConditionsMenu table.htCore{border:1px solid #bbb;border-bottom-width:2px;border-right-width:2px}.htFiltersConditionsMenu .wtBorder{visibility:hidden}.htFiltersConditionsMenu table tbody tr td{background:#fff;border-width:0;padding:4px 6px 0;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.htFiltersConditionsMenu table tbody tr td:first-child{border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-width:0}[dir=rtl].htFiltersConditionsMenu table tbody tr td:first-child{border-left-width:0;border-right-width:0}.htFiltersConditionsMenu table tbody tr td.htDimmed{font-style:normal;color:#323232}.htFiltersConditionsMenu table tbody tr td.current{background:#e9e9e9}.htFiltersConditionsMenu table tbody tr td.htSeparator{border-top:1px solid #e6e6e6;height:0;padding:0}.htFiltersConditionsMenu table tbody tr td.htDisabled{color:#999}.htFiltersConditionsMenu table tbody tr td.htDisabled:hover{background:#fff;color:#999;cursor:default}.htFiltersConditionsMenu table tbody tr td .htItemWrapper{margin-left:10px;margin-right:10px}.htFiltersConditionsMenu table tbody tr td div span.selected{margin-top:-2px;position:absolute;left:4px}.htFiltersConditionsMenu .ht_master .wtHolder{overflow:hidden}.handsontable .htMenuFiltering{border-bottom:1px dotted #ccc;height:135px;overflow:hidden}.handsontable .ht_master table td.htCustomMenuRenderer{background-color:#fff;cursor:auto}.handsontable .htFiltersMenuLabel{font-size:.75em}.handsontable .htFiltersMenuActionBar{text-align:center;padding-top:10px;padding-bottom:3px}.handsontable .htFiltersMenuCondition.border{border-bottom:1px dotted #ccc!important}.handsontable .htFiltersMenuCondition .htUIInput{padding:0 0 5px}.handsontable .htFiltersMenuValue{border-bottom:1px dotted #ccc!important}.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch{padding:0}.handsontable .htFiltersMenuCondition .htUIInput input,.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch input{font-family:inherit;font-size:.75em;padding:4px;box-sizing:border-box;width:100%}.htUIMultipleSelect .ht_master .wtHolder{overflow:auto}.handsontable .htFiltersActive .changeType{border:1px solid #509272;color:#18804e;background-color:#d2e0d9}.handsontable .htUISelectAll{margin-left:0;margin-right:10px}[dir=rtl].handsontable .htUISelectAll{margin-right:0;margin-left:10px}.handsontable .htUIClearAll,.handsontable .htUISelectAll{display:inline-block}.handsontable .htUIClearAll a,.handsontable .htUISelectAll a{font-size:.75em}.handsontable .htUISelectionControls{text-align:right}[dir=rtl].handsontable .htUISelectionControls{text-align:left}.handsontable .htCheckboxRendererInput{display:inline-block;margin:0 5px 0 0;vertical-align:middle;height:1em}[dir=rtl].handsontable .htCheckboxRendererInput{margin-left:5px;margin-right:0}.handsontable .htUIInput{padding:3px 0 7px;position:relative;text-align:center}.handsontable .htUIInput input{border-radius:2px;border:1px solid #d2d1d1}.handsontable .htUIInputIcon{position:absolute}.handsontable .htUIInput.htUIButton{cursor:pointer;display:inline-block}.handsontable .htUIInput.htUIButton input{background-color:#eee;color:#000;cursor:pointer;font-family:inherit;font-size:.75em;font-weight:700;height:19px;min-width:64px}.handsontable .htUIInput.htUIButton input:hover{border-color:#b9b9b9}.handsontable .htUIInput.htUIButtonOK{margin-left:0;margin-right:10px}[dir=rtl].handsontable .htUIInput.htUIButtonOK{margin-right:0;margin-left:10px}.handsontable .htUIInput.htUIButtonOK input{background-color:#0f9d58;border-color:#18804e;color:#fff}.handsontable .htUIInput.htUIButtonOK input:focus-visible{background-color:#92dd8d;border-color:#7cb878;color:#000}.handsontable .htUIInput.htUIButtonOK input:hover{border-color:#1a6f46}.handsontable .htUISelect{cursor:pointer;margin-bottom:7px;position:relative}.handsontable .htUISelectCaption{background-color:#e8e8e8;border-radius:2px;border:1px solid #d2d1d1;font-family:inherit;font-size:.75em;font-weight:700;padding:3px 20px 3px 10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.handsontable .htUISelectCaption:hover{background-color:#e8e8e8;border:1px solid #b9b9b9}.handsontable .htUISelectDropdown:after{content:\"\\25b2\";font-size:7px;position:absolute;right:10px;top:0}.handsontable .htUISelectDropdown:before{content:\"\\25bc\";font-size:7px;position:absolute;right:10px;top:8px}.handsontable .htUIMultipleSelect .handsontable .htCore{border:none}.handsontable .htUIMultipleSelect .handsontable .htCore td:hover{background-color:#f5f5f5}.handsontable .htUIMultipleSelectSearch input{border-radius:2px;border:1px solid #d2d1d1;padding:3px}.handsontable .htUIRadio{display:inline-block;margin-left:0;margin-right:5px;height:100%}[dir=rtl].handsontable .htUIRadio{margin-right:0;margin-left:5px}.handsontable .htUIRadio:last-child{margin-right:0}.handsontable .htUIRadio>input[type=radio]{margin-left:0;margin-right:.5ex}[dir=rtl].handsontable .htUIRadio>input[type=radio]{margin-right:0;margin-left:.5ex}.handsontable .htUIRadio label{vertical-align:middle}.handsontable .htFiltersMenuOperators{padding-bottom:5px}.handsontable th.beforeHiddenColumn{position:relative}.handsontable th.beforeHiddenColumn:after,.handsontable th.afterHiddenColumn:before{color:#bbb;position:absolute;top:50%;font-size:5pt;transform:translateY(-50%)}.handsontable th.afterHiddenColumn{position:relative}.handsontable[dir=ltr] th.afterHiddenColumn div.htLeft{margin-left:10px}.handsontable[dir=ltr] th.beforeHiddenColumn div.htRight,.handsontable[dir=rtl] th.afterHiddenColumn div.htRight{margin-right:10px}.handsontable[dir=rtl] th.beforeHiddenColumn div.htLeft{margin-left:10px}.handsontable th.beforeHiddenColumn:after{right:1px;content:\"\\25c0\"}[dir=rtl].handsontable th.beforeHiddenColumn:after{right:initial;left:1px;content:\"\\25b6\"}.handsontable th.afterHiddenColumn:before{left:1px;content:\"\\25b6\"}[dir=rtl].handsontable th.afterHiddenColumn:before{right:1px;left:initial;content:\"\\25c0\"}.handsontable th.beforeHiddenRow:before,.handsontable th.afterHiddenRow:after{color:#bbb;font-size:6pt;line-height:6pt;position:absolute;left:2px}.handsontable th.beforeHiddenRow,.handsontable th.afterHiddenRow{position:relative}.handsontable th.beforeHiddenRow:before{content:\"\\25b2\";bottom:2px}.handsontable th.afterHiddenRow:after{content:\"\\25bc\";top:2px}.handsontable.ht__selection--rows tbody th.beforeHiddenRow.ht__highlight:before,.handsontable.ht__selection--rows tbody th.afterHiddenRow.ht__highlight:after{color:#eee}.handsontable td.afterHiddenRow.firstVisibleRow,.handsontable th.afterHiddenRow.firstVisibleRow{border-top:1px solid #CCC}.htRowHeaders .ht_master.innerBorderInlineStart~.ht_clone_top_inline_start_corner th:nth-child(2),.htRowHeaders .ht_master.innerBorderInlineStart~.ht_clone_inline_start td:first-of-type{border-left:0 none}.handsontable.ht__manualColumnMove.after-selection--columns thead th.ht__highlight{cursor:move;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab}.handsontable.ht__manualColumnMove.on-moving--columns *,.handsontable.ht__manualColumnMove.on-moving--columns thead th.ht__highlight{cursor:move;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}.handsontable.ht__manualColumnMove.on-moving--columns .manualColumnResizer{display:none}.handsontable .ht__manualColumnMove--guideline,.handsontable .ht__manualColumnMove--backlight{position:absolute;height:100%;display:none}.handsontable .ht__manualColumnMove--guideline{background:#757575;width:2px;top:0;margin-inline-start:-1px;margin-inline-end:0;z-index:205}.handsontable .ht__manualColumnMove--backlight{background:#343434;background:#34343440;display:none;z-index:205;pointer-events:none}.handsontable.on-moving--columns.show-ui .ht__manualColumnMove--guideline,.handsontable.on-moving--columns .ht__manualColumnMove--backlight{display:block}.handsontable.ht__manualRowMove.after-selection--rows tbody th.ht__highlight{cursor:move;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab}.handsontable.ht__manualRowMove.on-moving--rows *,.handsontable.ht__manualRowMove.on-moving--rows tbody th.ht__highlight{cursor:move;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}.handsontable.ht__manualRowMove.on-moving--rows .manualRowResizer{display:none}.handsontable .ht__manualRowMove--guideline,.handsontable .ht__manualRowMove--backlight{position:absolute;width:100%;display:none}.handsontable .ht__manualRowMove--guideline{background:#757575;height:2px;left:0;margin-top:-1px;z-index:205}.handsontable .ht__manualRowMove--backlight{background:#343434;background:#34343440;display:none;z-index:205;pointer-events:none}.handsontable.on-moving--rows.show-ui .ht__manualRowMove--guideline,.handsontable.on-moving--rows .ht__manualRowMove--backlight{display:block}.handsontable tbody td[rowspan][class*=area][class*=highlight]:not([class*=fullySelectedMergedCell]):before{opacity:0}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-multiple]:before{opacity:.1}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-0]:before{opacity:.1}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-1]:before{opacity:.2}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-2]:before{opacity:.27}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-3]:before{opacity:.35}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-4]:before{opacity:.41}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-5]:before{opacity:.47}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-6]:before{opacity:.54}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-7]:before{opacity:.58}.handsontable[dir=ltr] div.htRight span[class*=sort-]{margin-right:15px;margin-left:-15px}.handsontable[dir=rtl] div.htLeft span[class*=sort-]{margin-left:15px;margin-right:-15px}.handsontable[dir=ltr] div.htRight span[class*=sort-]:only-child{margin-right:20px;margin-left:-20px}.handsontable[dir=rtl] div.htLeft span[class*=sort-]:only-child{margin-left:20px;margin-right:-20px}.handsontable span.colHeader.columnSorting:after{top:50%;margin-top:-2px;position:absolute;right:-15px;left:unset;padding-left:5px;padding-right:unset;font-size:8px;height:8px;line-height:1.1}[dir=rtl].handsontable span.colHeader.columnSorting:after{left:-15px;right:unset;padding-right:5px;padding-left:unset}.handsontable span.colHeader.columnSorting[class^=sort-]:after,.handsontable span.colHeader.columnSorting[class*=\" sort-\"]:after{content:\"+\"}.handsontable span.colHeader.columnSorting.sort-1:after{content:\"1\"}.handsontable span.colHeader.columnSorting.sort-2:after{content:\"2\"}.handsontable span.colHeader.columnSorting.sort-3:after{content:\"3\"}.handsontable span.colHeader.columnSorting.sort-4:after{content:\"4\"}.handsontable span.colHeader.columnSorting.sort-5:after{content:\"5\"}.handsontable span.colHeader.columnSorting.sort-6:after{content:\"6\"}.handsontable span.colHeader.columnSorting.sort-7:after{content:\"7\"}.htGhostTable th div button.changeType+span.colHeader.columnSorting:not(.indicatorDisabled){padding-right:5px}.handsontable thead th.hiddenHeader:not(:first-of-type){display:none}thead th.hiddenHeaderText .colHeader{opacity:0}.handsontable th.ht_nestingLevels{text-align:left;padding-left:7px}[dir=rtl].handsontable th.ht_nestingLevels{text-align:right;padding-right:7px}.handsontable th div.ht_nestingLevels{display:inline-block;position:absolute;left:11px;right:unset}[dir=rtl].handsontable th div.ht_nestingLevels{right:11px;left:unset}.handsontable.innerBorderInlineStart th div.ht_nestingLevels,.handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingLevels{right:10px;left:unset}[dir=rtl].handsontable.innerBorderInlineStart th div.ht_nestingLevels,[dir=rtl].handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingLevels{left:10px;right:unset}.handsontable th span.ht_nestingLevel{display:inline-block}.handsontable th span.ht_nestingLevel_empty{display:inline-block;width:10px;height:1px;float:left}[dir=rtl].handsontable th span.ht_nestingLevel_empty{float:right}.handsontable th span.ht_nestingLevel:after{content:\"\\2510\";font-size:9px;display:inline-block;position:relative;bottom:3px}.handsontable th div.ht_nestingButton{display:inline-block;position:absolute;right:-2px;left:unset;cursor:pointer}[dir=rtl].handsontable th div.ht_nestingButton{left:-2px;right:unset}.handsontable th div.ht_nestingButton.ht_nestingExpand:after{content:\"+\"}.handsontable th div.ht_nestingButton.ht_nestingCollapse:after{content:\"-\"}.handsontable.innerBorderInlineStart th div.ht_nestingButton,.handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingButton{right:0;left:unset}[dir=rtl].handsontable.innerBorderInlineStart th div.ht_nestingButton,[dir=rtl].handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingButton{left:0;right:unset}.ht-root-wrapper{position:relative;display:flex;flex-direction:column;height:100%}.ht-grid{flex:1 1 auto;min-height:0}.ht-dialog{position:absolute;top:0;left:0;display:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;width:100%;height:100%;z-index:1060;opacity:0;overflow-y:auto;border:1px solid #ccc;box-sizing:border-box!important}.ht-dialog[dir=rtl]{left:auto;right:0}.ht-dialog:focus{border:1px solid #4b89ff;outline:none}.ht-dialog:has(.htFocusCatcher:focus){border:1px solid #4b89ff;outline:none}.ht-dialog *{box-sizing:border-box!important}.ht-dialog--background-solid{background-color:#fff}.ht-dialog--background-semi-transparent{background-color:#ffffff80}.ht-dialog--animation{transition:opacity .15s ease-in-out}.ht-dialog--show{opacity:1}.ht-dialog__content-wrapper{display:flex;align-items:center;justify-content:center;width:100%;min-height:100%;padding:16px}.ht-dialog__content-wrapper:focus{border:1px solid #4b89ff;outline:none}.ht-dialog__content{position:relative;padding:8px;display:flex;gap:8px;max-width:480px;color:#222}.ht-dialog__content--background{box-shadow:0 8px 16px #00000014;background-color:#f7f7f9}.ht-dialog--confirm .ht-dialog__content-wrapper{text-align:center}.ht-dialog--confirm .ht-dialog__content-wrapper-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;max-width:480px}.ht-dialog--confirm .ht-dialog__content-wrapper-inner--background{box-shadow:0 8px 16px #00000014;background-color:#f7f7f9}.ht-dialog--confirm .ht-dialog__content{display:flex;flex-direction:column;align-items:center;justify-content:center}.ht-dialog--confirm .ht-dialog__content:has(.ht-dialog__buttons){gap:4px}.ht-dialog--confirm .ht-dialog__title{margin:0;font-size:16px;font-weight:400;line-height:24px}.ht-dialog--confirm .ht-dialog__description{margin:0;color:#222;font-size:12px;font-weight:400;line-height:16px}.ht-dialog--confirm .ht-dialog__buttons{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.ht-root-wrapper .ht-pagination{color:#222;background:#f0f0f0;border:1px solid #ccc;border-top-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:12px;font-weight:400;box-sizing:border-box;overflow-x:auto}.ht-root-wrapper .ht-pagination__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding-inline:8px;padding-block:4px;min-width:230px}.ht-root-wrapper .ht-pagination--bordered{border-top-color:#ccc}.ht-root-wrapper .ht-page-size-section{display:flex;align-items:center;gap:8px}.ht-root-wrapper .ht-page-size-section span{white-space:nowrap}.ht-root-wrapper .ht-page-size-section__select-wrapper{position:relative;border-radius:2px;border:1px solid #ccc}.ht-root-wrapper .ht-page-size-section__select-wrapper select{padding-inline-start:8px;padding-inline-end:8px;padding-top:4px;padding-bottom:4px;border-radius:2px;color:#222;background-color:#f0f0f0;border:none;-webkit-appearance:none;font-size:inherit;cursor:pointer}.ht-root-wrapper .ht-page-size-section__select-wrapper select:disabled{opacity:.4;cursor:default}.ht-root-wrapper .ht-page-size-section__select-wrapper select:hover:not(:disabled){background-color:#e0e0e0}.ht-root-wrapper .ht-page-size-section__select-wrapper select:focus{background-color:#e0e0e0;outline:1px solid #4b89ff}.ht-root-wrapper .ht-page-counter-section{margin-inline-end:auto}.ht-root-wrapper .ht-page-navigation-section{display:flex;align-items:center;gap:8px}.ht-root-wrapper .ht-page-navigation-section button{font-size:inherit;color:#222;background-color:transparent;border:none;padding:4px;border-radius:2px;cursor:pointer}.ht-root-wrapper .ht-page-navigation-section button:before{display:block;width:16px;height:16px;line-height:16px;text-align:center}.ht-root-wrapper .ht-page-navigation-section button:disabled{opacity:.4;cursor:default}.ht-root-wrapper .ht-page-navigation-section button:hover:not(:disabled){background-color:#e0e0e0}.ht-root-wrapper .ht-page-navigation-section button:focus{outline:1px solid #4b89ff}.ht-root-wrapper .ht-page-navigation-section .ht-page-first:before{content:\"\\21a4\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-first:before{content:\"\\21a6\"}.ht-root-wrapper .ht-page-navigation-section .ht-page-prev:before{content:\"\\21a2\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-prev:before{content:\"\\21a3\"}.ht-root-wrapper .ht-page-navigation-section .ht-page-next:before{content:\"\\21a3\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-next:before{content:\"\\21a2\"}.ht-root-wrapper .ht-page-navigation-section .ht-page-last:before{content:\"\\21a6\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-last:before{content:\"\\21a4\"}.ht-root-wrapper .ht-page-navigation-section span{white-space:nowrap}.ht-loading__icon-svg{display:block;width:16px;height:16px;color:#5292f7;animation:ht-loading-spin 1s linear infinite;transform-origin:50% 50%}.ht-loading__content{display:flex;align-items:center;gap:8px}.ht-loading__title{margin:0;font-size:13px;font-weight:400;line-height:18px}.ht-loading__description{margin:0;color:#222;font-size:12px;line-height:16px;font-weight:400}@keyframes ht-loading-spin{to{transform:rotate(360deg)}}.ht-empty-data-state{display:none;position:absolute;width:100%;left:0;z-index:999;overflow-y:auto;border:1px solid #ccc;box-sizing:border-box;background-color:#fff}.ht-empty-data-state *{box-sizing:border-box!important}.ht-empty-data-state__content-wrapper{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;min-height:100%;padding:16px}.ht-empty-data-state__content-wrapper-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:480px;padding:16px}.ht-empty-data-state__content-wrapper-inner:focus{outline:none;box-shadow:0 0 0 1px #4b89ff}.ht-empty-data-state__content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.ht-empty-data-state__title{margin:0;font-size:16px;font-weight:400;line-height:24px}.ht-empty-data-state__description{margin:0;color:#222;font-size:12px;line-height:16px;font-weight:400}.ht-empty-data-state__buttons{display:flex;justify-content:center;flex-direction:row;flex-wrap:wrap;gap:8px}.ht-empty-data-state__buttons--has-buttons{margin-top:8px}.ht-empty-data-state--disable-top-border{border-top-width:0}.ht-empty-data-state--disable-inline-border{border-inline-start-width:0}.ht-empty-data-state--disable-bottom-border,.ht-empty-data-state:has(~.ht-pagination){border-bottom-width:0}.pika-single{z-index:9999;display:block;position:relative;color:#333;background:#fff;border:1px solid #ccc;border-bottom-color:#bbb;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.pika-single:before,.pika-single:after{content:\" \";display:table}.pika-single:after{clear:both}.pika-single.is-hidden{display:none}.pika-single.is-bound{position:absolute;box-shadow:0 5px 15px -5px #00000080}.pika-lendar{float:left;width:240px;margin:8px}.pika-title{position:relative;text-align:center}.pika-label{display:inline-block;position:relative;z-index:9999;overflow:hidden;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:700;background-color:#fff}.pika-title select{cursor:pointer;position:absolute;z-index:9998;margin:0;left:0;top:5px;opacity:0}.pika-prev,.pika-next{display:block;cursor:pointer;position:relative;outline:none;border:0;padding:0;width:20px;height:30px;text-indent:20px;white-space:nowrap;overflow:hidden;background-color:transparent;background-position:center center;background-repeat:no-repeat;background-size:75% 75%;opacity:.5}.pika-prev:hover,.pika-next:hover{opacity:1}.pika-prev,.is-rtl .pika-next{float:left;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==)}.pika-next,.is-rtl .pika-prev{float:right;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=)}.pika-prev.is-disabled,.pika-next.is-disabled{cursor:default;opacity:.2}.pika-select{display:inline-block}.pika-table{width:100%;border-collapse:collapse;border-spacing:0;border:0}.pika-table th,.pika-table td{width:14.285714285714286%;padding:0}.pika-table th{color:#999;font-size:12px;line-height:25px;font-weight:700;text-align:center}.pika-button{cursor:pointer;display:block;box-sizing:border-box;-moz-box-sizing:border-box;outline:none;border:0;margin:0;width:100%;padding:5px;color:#666;font-size:12px;line-height:15px;text-align:center;background:#f5f5f5;height:initial}.pika-week{font-size:11px;color:#999}.is-today .pika-button{color:#3af;font-weight:700}.is-selected .pika-button,.has-event .pika-button{color:#fff;font-weight:700;background:#3af;box-shadow:inset 0 1px 3px #178fe5;border-radius:3px}.has-event .pika-button{background:#005da9;box-shadow:inset 0 1px 3px #0076c9}.is-disabled .pika-button,.is-inrange .pika-button{background:#d5e9f7}.is-startrange .pika-button{color:#fff;background:#6cb31d;box-shadow:none;border-radius:3px}.is-endrange .pika-button{color:#fff;background:#3af;box-shadow:none;border-radius:3px}.is-disabled .pika-button{pointer-events:none;cursor:default;color:#999;opacity:.3}.is-outside-current-month .pika-button{color:#999;opacity:.3}.is-selection-disabled{pointer-events:none;cursor:default}.pika-button:hover,.pika-row.pick-whole-week:hover .pika-button{color:#fff;background:#ff8000;box-shadow:none;border-radius:3px}.pika-table abbr{border-bottom:none;cursor:help}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}.document-viewer-container{height:100%;min-height:0;width:100%;display:flex;flex-direction:column;padding:20px;box-sizing:border-box;background-color:#f5f5f5;overflow:hidden}.loader,.error-message{text-align:center;padding:40px 20px;font-family:Arial,sans-serif;background-color:#fff;border-radius:4px;margin:20px;box-shadow:0 2px 4px #0000001a}.error-message{color:#d32f2f;background-color:#ffebee;border:1px solid #ffcdd2}.text-viewer{flex:1 1 auto;min-height:0;background-color:#fff;padding:20px;border-radius:4px;margin:10px;overflow:auto;border:1px solid #ddd;box-shadow:0 2px 4px #0000001a;font-family:Courier New,monospace}.text-viewer pre{margin:0;font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.word-viewer{flex:1 1 auto;min-height:0;background-color:#fff;padding:20px;border-radius:4px;box-shadow:0 2px 10px #0000001a;margin:10px;overflow:auto;font-family:Calibri,Arial,sans-serif}.word-viewer h1,.word-viewer h2,.word-viewer h3{color:#333}.word-viewer p{line-height:1.6;margin-bottom:15px}.presentation-viewer{flex:1 1 auto;min-height:0;background-color:#f5f5f5;padding:20px;border-radius:4px;margin:10px;display:flex;justify-content:center;align-items:center}.presentation-placeholder{text-align:center;color:#666;font-style:italic;padding:50px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a}.pdf-viewer-host{flex:1 1 auto;min-height:min(70vh,720px);width:calc(100% - 20px);margin:10px;display:flex;flex-direction:column;box-sizing:border-box}::ng-deep .pdf-viewer-host ngx-extended-pdf-viewer{flex:1 1 auto;min-height:0;height:100%;width:100%;border:1px solid #ddd;border-radius:4px;display:block}.excel-viewer{flex:1 1 auto;min-height:0;background-color:#fff;padding:20px;border-radius:4px;box-shadow:0 2px 10px #0000001a;margin:10px;overflow:auto}.excel-sheet{margin-bottom:30px;background:#fff}.excel-sheet h3{background-color:#f3f2f1;padding:12px 16px;margin:0;border-radius:4px 4px 0 0;font-size:14px;font-weight:600;color:#333;border-bottom:1px solid #e1dfdd}.excel-container{overflow-x:auto;overflow-y:auto;border:1px solid #e1dfdd;border-top:none;border-radius:0 0 4px 4px;max-height:calc(100% - 50px)}.excel-table{border-collapse:collapse;width:100%;font-family:Segoe UI,Calibri,Arial,sans-serif;font-size:13px;background:#fff}.excel-table td,.excel-table th{border:1px solid #e1dfdd;padding:8px 12px;white-space:nowrap;color:#333}.excel-table th{background-color:#f2f2f2;font-weight:700}.excel-table tr:first-child td{background-color:#f3f2f1;font-weight:600;color:#333;border-bottom:2px solid #8a8886}.excel-table td.number-cell,.excel-table td.percentage-cell,.excel-table td[data-format*=\"%\"]{text-align:right}.excel-table td.percentage-cell{color:#107c41}.excel-table td.text-cell{text-align:left}.excel-table tr:nth-child(2n) td{background-color:#faf9f8}.excel-table tr:hover td{background-color:#edf3fa}.excel-table td.selected{background-color:#cce8ff;border:2px solid #0078d4}.excel-viewer-container{flex:1 1 auto;min-height:0;width:calc(100% - 20px);margin:10px;border-radius:4px;overflow:hidden;box-shadow:0 2px 10px #0000001a;background:#fff;display:flex;flex-direction:column}.excel-sheet-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:12px 10px 0 8px;background:#f3f2f1;border-bottom:1px solid #e1dfdd;min-height:44px}.excel-sheet-tab{padding:8px 16px;border:1px solid #e1dfdd;border-bottom:none;border-radius:4px 4px 0 0;font-size:13px;font-family:Segoe UI,Arial,sans-serif;color:#333;cursor:pointer;transition:background .15s,border-color .15s}.excel-sheet-tab:hover{background:#edebe9;border-bottom:1px solid #000000}.excel-sheet-tab.active{background:#fff;font-weight:600;border-bottom:1px solid #000000;margin-bottom:2px;z-index:1}.excel-container-custom{width:100%;overflow-x:auto;overflow-y:auto}::ng-deep .handsontable{font-family:Segoe UI,Arial,sans-serif;font-size:13px;overflow:hidden!important}::ng-deep .wtHolder{width:100%!important;height:100%!important}::ng-deep .handsontable td{border:1px solid #e1dfdd;padding:8px 12px;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;word-break:break-word;line-height:1.4;vertical-align:top;max-width:300px;min-width:80px;margin:0!important}::ng-deep .handsontable td:hover{overflow:visible;background-color:#edf3fa;position:relative;z-index:10;box-shadow:0 2px 8px #00000026}::ng-deep .handsontable .htRight{text-align:right;font-family:Segoe UI,Consolas,monospace}::ng-deep .handsontable .htLeft{text-align:left}::ng-deep .handsontable .htCenter{text-align:center}::ng-deep .handsontable tr:nth-child(2n) td{background-color:#faf9f8}::ng-deep .handsontable tr:hover td{background-color:#edf3fa}::ng-deep .handsontable .current-row td{background-color:#e5f3ff}::ng-deep .handsontable .manualColumnResizer{background-color:#34a9db;width:5px;cursor:col-resize;opacity:0;transition:opacity .2s}::ng-deep .handsontable .manualColumnResizer:hover,::ng-deep .handsontable .manualColumnResizer.active{opacity:1;background-color:#0078d4}::ng-deep .handsontable .manualRowResizer{background-color:#34a9db;height:5px;cursor:row-resize;opacity:0;transition:opacity .2s}::ng-deep .handsontable .manualRowResizer:hover,::ng-deep .handsontable .manualRowResizer.active{opacity:1;background-color:#0078d4}::ng-deep .wtHolder::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::ng-deep .wtHolder::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::ng-deep .wtHolder::-webkit-scrollbar-thumb:hover{background:#a8a8a8}::ng-deep .htContextMenu table{font-family:Segoe UI,Arial,sans-serif;font-size:12px}::ng-deep .htContextMenu .htItemWrapper{padding:6px 12px}::ng-deep .htContextMenu .current{background-color:#e5f3ff}@media(max-width:768px){.document-viewer-container{padding:10px}.excel-viewer-container{width:calc(100% - 10px);margin:5px}.excel-viewer,.image-viewer,.text-viewer,.word-viewer,.presentation-viewer{margin:5px;padding:10px}::ng-deep .handsontable td{font-size:11px;padding:4px 6px}::ng-deep .handsontable th{font-size:11px;padding:6px}.pdf-viewer-host{width:calc(100% - 10px);margin:5px;min-height:min(60vh,560px)}}.excel-viewer-container{overflow:hidden;position:relative}.excel-container-custom{overflow:auto;position:relative;height:100%;width:100%}.image-viewer{flex:1 1 auto;width:100%;height:100%;display:flex;flex-direction:column;background-color:#fff}.image-toolbar{padding:10px;background-color:#fff;border-bottom:1px solid #ddd;display:flex;gap:8px;align-items:center;z-index:10}.image-toolbar button{padding:5px 10px;border:1px solid #ccc;background-color:#fff;border-radius:4px;cursor:pointer;font-size:16px;min-width:36px}.image-toolbar button:hover{background-color:#f0f0f0}.image-container{flex:1;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center;background-color:#fff}.responsive-image{max-width:100%;max-height:100%;object-fit:contain;transition:transform .1s ease;transform-origin:center center;will-change:transform;-webkit-user-select:none;user-select:none}::ng-deep .handsontable .ht_clone_top,::ng-deep .handsontable .ht_clone_top_left_corner,::ng-deep .handsontable .ht_clone_left{display:none!important}\n/*! Bundled license information:\n\nhandsontable/dist/handsontable.full.css:\n (*!\n * Copyright (c) HANDSONCODE sp. z o. o.\n *\n * HANDSONTABLE is a software distributed by HANDSONCODE sp. z o. o., a Polish corporation based in\n * Gdynia, Poland, at Aleja Zwyciestwa 96-98, registered by the District Court in Gdansk under number\n * 538651, EU tax ID number: PL5862294002, share capital: PLN 62,800.00.\n *\n * This software is protected by applicable copyright laws, including international treaties, and dual-\n * licensed - depending on whether your use for commercial purposes, meaning intended for or\n * resulting in commercial advantage or monetary compensation, or not.\n *\n * If your use is strictly personal or solely for evaluation purposes, meaning for the purposes of testing\n * the suitability, performance, and usefulness of this software outside the production environment,\n * you agree to be bound by the terms included in the \"handsontable-non-commercial-license.pdf\" file.\n *\n * Your use of this software for commercial purposes is subject to the terms included in an applicable\n * license agreement.\n *\n * In any case, you must not make any such use of this software as to develop software which may be\n * considered competitive with this software.\n *\n * UNLESS EXPRESSLY AGREED OTHERWISE, HANDSONCODE PROVIDES THIS SOFTWARE ON AN \"AS IS\"\n * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, AND IN NO EVENT AND UNDER NO\n * LEGAL THEORY, SHALL HANDSONCODE BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT,\n * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM\n * USE OR INABILITY TO USE THIS SOFTWARE.\n *\n * Version: 16.2.0\n * Release date: 25/11/2025 (built at 20/11/2025 13:27:05)\n *)\n (*!\n * Handsontable ContextMenu\n *)\n (*!\n * Handsontable DropdownMenu\n *)\n (*!\n * Handsontable Filters\n *)\n (*!\n * Handsontable HiddenRows\n *)\n (*!\n * Pikaday\n * Copyright \u00A9 2014 David Bushell | BSD & MIT license | https://dbushell.com/\n *)\n*/\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: NgxExtendedPdfViewerModule }, { kind: "component", type: i4.NgxExtendedPdfViewerComponent, selector: "ngx-extended-pdf-viewer", inputs: ["customFindbarInputArea", "customToolbar", "customFindbar", "customFindbarButtons", "customPdfViewer", "customSecondaryToolbar", "customSidebar", "customThumbnail", "customFreeFloatingBar", "showFreeFloatingBar", "enableDragAndDrop", "forceUsingLegacyES5", "formData", "disableForms", "pageViewMode", "scrollMode", "authorization", "httpHeaders", "contextMenuAllowed", "enablePrint", "enablePrintAutoRotate", "forceFullReloadOfJavaScriptCode", "showTextEditor", "showStampEditor", "showCommentEditor", "showDrawEditor", "showHighlightEditor", "showSignatureEditor", "logLevel", "minifiedJSLibraries", "printResolution", "rotation", "src", "base64Src", "minHeight", "height", "backgroundColor", "pdfBackgroundColor", "filenameForDownload", "ignoreKeyboard", "ignoreKeys", "acceptKeys", "imageResourcesPath", "localeFolderPath", "language", "listenToURL", "nameddest", "password", "replaceBrowserPrint", "useInlineScripts", "showUnverifiedSignatures", "startTabindex", "showSidebarButton", "sidebarVisible", "activeSidebarView", "findbarVisible", "propertiesDialogVisible", "showFindButton", "showFindHighlightAll", "showFindMatchCase", "showFindMultiple", "showFindRegexp", "showFindEntireWord", "showFindMatchDiacritics", "showFindResultsCount", "showFindMessages", "showMovePageButton", "showPagingButtons", "showFirstAndLastPageButtons", "showPreviousAndNextPageButtons", "showPageNumber", "showPageLabel", "showZoomButtons", "showZoomDropdown", "showPresentationModeButton", "showOpenFileButton", "showPrintButton", "showDownloadButton", "theme", "showToolbar", "showSecondaryToolbarButton", "showSinglePageModeButton", "showVerticalScrollButton", "showHorizontalScrollButton", "showWrappedScrollButton", "showInfiniteScrollButton", "showBookModeButton", "showRotateButton", "showRotateCwButton", "showRotateCcwButton", "handTool", "showHandToolButton", "showSpreadButton", "showPropertiesButton", "showBorders", "spread", "showScrollingButtons", "page", "pageLabel", "textLayer", "zoom", "zoomLevels", "maxZoom", "minZoom", "mobileFriendlyZoom"], outputs: ["annotationEditorEvent", "formDataChange", "pageViewModeChange", "progress", "srcChange", "scrollModeChange", "afterPrint", "beforePrint", "currentZoomFactor", "rotationChange", "annotationLayerRendered", "annotationEditorLayerRendered", "xfaLayerRendered", "outlineLoaded", "attachmentsloaded", "layersloaded", "sidebarVisibleChange", "activeSidebarViewChange", "findbarVisibleChange", "propertiesDialogVisibleChange", "handToolChange", "spreadChange", "thumbnailDrawn", "pageChange", "pageLabelChange", "pagesLoaded", "pageRender", "pageRendered", "pdfDownloaded", "pdfLoaded", "pdfLoadingStarts", "pdfLoadingFailed", "textLayerRendered", "annotationEditorModeChanged", "updateFindMatchesCount", "updateFindState", "zoomChange"] }, { kind: "ngmodule", type: HotTableModule }, { kind: "component", type: i5.HotTableComponent, selector: "hot-table", inputs: ["settings", "hotId", "activeHeaderClassName", "allowEmpty", "allowHtml", "allowInsertColumn", "allowInsertRow", "allowInvalid", "allowRemoveColumn", "allowRemoveRow", "ariaTags", "autoColumnSize", "autoRowSize", "autoWrapCol", "autoWrapRow", "bindRowsWithHeaders", "cell", "cells", "checkedTemplate", "className", "colHeaders", "collapsibleColumns", "columnHeaderHeight", "columns", "columnSorting", "columnSummary", "colWidths", "commentedCellClassName", "comments", "contextMenu", "copyable", "copyPaste", "correctFormat", "currentColClassName", "currentHeaderClassName", "currentRowClassName", "customBorders", "data", "dataDotNotation", "dataSchema", "dateFormat", "datePickerConfig", "defaultDate", "tabNavigation", "themeName", "disableVisualSelection", "dragToScroll", "dropdownMenu", "editor", "enterBeginsEditing", "enterMoves", "fillHandle", "filter", "filteringCaseSensitive", "filters", "fixedColumnsLeft", "fixedColumnsStart", "fixedRowsBottom", "fixedRowsTop", "formulas", "fragmentSelection", "headerClassName", "height", "hiddenColumns", "hiddenRows", "initialState", "invalidCellClassName", "imeFastEdit", "label", "language", "layoutDirection", "licenseKey", "locale", "manualColumnFreeze", "manualColumnMove", "manualColumnResize", "manualRowMove", "manualRowResize", "maxCols", "maxRows", "mergeCells", "minCols", "minRowHeights", "minRows", "minSpareCols", "minSpareRows", "multiColumnSorting", "navigableHeaders", "nestedHeaders", "nestedRows", "noWordWrapClassName", "numericFormat", "observeDOMVisibility", "outsideClickDeselects", "pagination", "persistentState", "placeholder", "placeholderCellClassName", "preventOverflow", "preventWheel", "readOnly", "readOnlyCellClassName", "renderAllColumns", "renderAllRows", "renderer", "rowHeaders", "rowHeaderWidth", "rowHeights", "search", "selectionMode", "selectOptions", "skipColumnOnPaste", "skipRowOnPaste", "sortByRelevance", "source", "startCols", "startRows", "stretchH", "strict", "tableClassName", "tabMoves", "title", "trimDropdown", "trimRows", "trimWhitespace", "type", "uncheckedTemplate", "undo", "validator", "valueGetter", "valueSetter", "viewportColumnRenderingOffset", "viewportRowRenderingOffset", "visibleRows", "width", "wordWrap", "afterAddChild", "afterAutofill", "afterBeginEditing", "afterCellMetaReset", "afterChange", "afterChangesObserved", "afterColumnCollapse", "afterColumnExpand", "afterColumnFreeze", "afterColumnMove", "afterColumnResize", "afterColumnSequenceCacheUpdate", "afterColumnSequenceChange", "afterColumnSort", "afterColumnUnfreeze", "afterContextMenuDefaultOptions", "afterContextMenuHide", "afterContextMenuShow", "afterCopy", "afterCopyLimit", "afterCreateCol", "afterCreateRow", "afterCut", "afterDeselect", "afterDestroy", "afterDetachChild", "afterDocumentKeyDown", "afterDrawSelection", "afterDropdownMenuDefaultOptions", "afterDropdownMenuHide", "afterDropdownMenuShow", "afterFilter", "afterFormulasValuesUpdate", "afterGetCellMeta", "afterGetColHeader", "afterGetColumnHeaderRenderers", "afterGetRowHeader", "afterGetRowHeaderRenderers", "afterHideColumns", "afterHideRows", "afterInit", "afterLanguageChange", "afterListen", "afterLoadData", "afterMergeCells", "afterModifyTransformEnd", "afterModifyTransformFocus", "afterModifyTransformStart", "afterMomentumScroll", "afterNamedExpressionAdded", "afterNamedExpressionRemoved", "afterOnCellContextMenu", "afterOnCellCornerDblClick", "afterOnCellCornerMouseDown", "afterOnCellMouseDown", "afterOnCellMouseOut", "afterOnCellMouseOver", "afterOnCellMouseUp", "afterPageChange", "afterPageSizeChange", "afterPageSizeVisibilityChange", "afterPageCounterVisibilityChange", "afterPageNavigationVisibilityChange", "afterPaste", "afterPluginsInitialized", "afterRedo", "afterRedoStackChange", "afterRefreshDimensions", "afterRemoveCellMeta", "afterRemoveCol", "afterRemoveRow", "afterRender", "afterRenderer", "afterRowMove", "afterRowResize", "afterRowSequenceCacheUpdate", "afterRowSequenceChange", "afterScrollHorizontally", "afterScrollVertically", "afterScroll", "afterSelectColumns", "afterSelection", "afterSelectionByProp", "afterSelectionEnd", "afterSelectionEndByProp", "afterSelectionFocusSet", "afterSelectRows", "afterSetCellMeta", "afterSetDataAtCell", "afterSetDataAtRowProp", "afterSetSourceDataAtCell", "afterSetTheme", "afterSheetAdded", "afterSheetRenamed", "afterSheetRemoved", "afterTrimRow", "afterUndo", "afterUndoStackChange", "afterUnhideColumns", "afterUnhideRows", "afterUnlisten", "afterUnmergeCells", "afterUntrimRow", "afterUpdateData", "afterUpdateSettings", "afterValidate", "afterViewportColumnCalculatorOverride", "afterViewportRowCalculatorOverride", "afterViewRender", "beforeAddChild", "beforeAutofill", "beforeBeginEditing", "beforeCellAlignment", "beforeChange", "beforeChangeRender", "beforeColumnCollapse", "beforeColumnExpand", "beforeColumnFreeze", "beforeColumnMove", "beforeColumnResize", "beforeColumnSort", "beforeColumnWrap", "beforeColumnUnfreeze", "beforeCompositionStart", "beforeContextMenuSetItems", "beforeContextMenuShow", "beforeCopy", "beforeCreateCol", "beforeCreateRow", "beforeCut", "beforeDetachChild", "beforeDrawBorders", "beforeDropdownMenuSetItems", "beforeDropdownMenuShow", "beforeFilter", "beforeGetCellMeta", "beforeHeightChange", "beforeHideColumns", "beforeHideRows", "beforeHighlightingColumnHeader", "beforeHighlightingRowHeader", "beforeInit", "beforeInitWalkontable", "beforeKeyDown", "beforeLanguageChange", "beforeLoadData", "beforeMergeCells", "beforeOnCellContextMenu", "beforeOnCellMouseDown", "beforeOnCellMouseOut", "beforeOnCellMouseOver", "beforeOnCellMouseUp", "beforePageChange", "beforePageSizeChange", "beforePaste", "beforeRedo", "beforeRedoStackChange", "beforeRefreshDimensions", "beforeRemoveCellClassNames", "beforeRemoveCellMeta", "beforeRemoveCol", "beforeRemoveRow", "beforeRender", "beforeRenderer", "beforeRowMove", "beforeRowResize", "beforeRowWrap", "beforeSelectColumns", "beforeSelectionFocusSet", "beforeSelectionHighlightSet", "beforeSelectRows", "beforeSetCellMeta", "beforeSetRangeEnd", "beforeSetRangeStart", "beforeSetRangeStartOnly", "beforeStretchingColumnWidth", "beforeTouchScroll", "beforeTrimRow", "beforeUndo", "beforeUndoStackChange", "beforeUnhideColumns", "beforeUnhideRows", "beforeUnmergeCells", "beforeUntrimRow", "beforeUpdateData", "beforeValidate", "beforeValueRender", "beforeViewportScroll", "beforeViewportScrollHorizontally", "beforeViewportScrollVertically", "beforeViewRender", "beforeWidthChange", "construct", "init", "modifyAutoColumnSizeSeed", "modifyAutofillRange", "modifyColHeader", "modifyColumnHeaderHeight", "modifyColumnHeaderValue", "modifyColWidth", "modifyCopyableRange", "modifyFiltersMultiSelectValue", "modifyFocusedElement", "modifyData", "modifyFocusOnTabNavigation", "modifyGetCellCoords", "modifyGetCoordsElement", "modifyRowData", "modifyRowHeader", "modifyRowHeaderWidth", "modifyRowHeight", "modifyRowHeightByOverlayName", "modifySourceData", "modifyTransformEnd", "modifyTransformFocus", "modifyTransformStart", "persistentStateLoad", "persistentStateReset", "persistentStateSave"] }] });
|
|
535
730
|
}
|
|
536
731
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: PdfViewerComponent, decorators: [{
|
|
537
732
|
type: Component,
|
|
538
|
-
args: [{ selector: 'sgdea-document-viewer', standalone: true, imports: [CommonModule, NgxExtendedPdfViewerModule, HotTableModule], template: "<div *ngIf=\"loading()\" class=\"loader\">Cargando documento...</div>\n\n<div *ngIf=\"errorMessage() && !loading()\" class=\"error-message\">\n {{ errorMessage() }}\n</div>\n\n<div *ngIf=\"!loading() && !errorMessage()\" class=\"document-viewer-container\">\n\n <!-- PDF -->\n <ngx-extended-pdf-viewer\n *ngIf=\"fileType() === 'pdf' && pdfSrc\"\n [src]=\"pdfSrc\"\n height=\"auto\"\n useBrowserLocale=\"false\"\n [showDownloadButton]=\"false\"\n [showPrintButton]=\"false\"\n [showOpenFileButton]=\"false\"\n [showSecondaryToolbarButton]=\"false\"\n [showFirstAndLastPageButtons]=\"false\"\n [showPagingButtons]=\"false\"\n [showZoomButtons]=\"true\"\n [showDrawEditor]=\"false\"\n [showTextEditor]=\"false\"\n [showStampEditor]=\"false\"\n [showHighlightEditor]=\"false\"\n >\n </ngx-extended-pdf-viewer>\n\n <!-- Imagen -->\n <div *ngIf=\"isImageType() && imageSrc\" class=\"image-viewer\">\n <div class=\"image-toolbar\">\n <button (click)=\"zoomIn()\" title=\"Acercar (Ctrl +)\">\u2795</button>\n <button (click)=\"zoomOut()\" title=\"Alejar (Ctrl -)\">\u2796</button>\n <span class=\"separator\"></span>\n <button (click)=\"rotateLeft()\" title=\"Rotar izquierda (\u21BA)\">\u21BA</button>\n <button (click)=\"rotateRight()\" title=\"Rotar derecha (\u21BB)\">\u21BB</button>\n\n <span class=\"zoom-info\">{{ zoomLevel() }}%</span>\n <span class=\"rotation-info\" *ngIf=\"rotation() !== 0\">\n {{ rotation() }}\u00B0\n </span>\n\n <span class=\"image-dimensions\" *ngIf=\"imageDimensions.width\">\n {{ imageDimensions.width }} x {{ imageDimensions.height }}\n </span>\n </div>\n\n <div class=\"image-container\" #imageContainer (wheel)=\"onMouseWheel($event)\">\n <img\n #mainImage\n [src]=\"imageSrc\"\n [alt]=\"fileName()\"\n [style.transform]=\"getImageTransform()\"\n [style.cursor]=\"getCursorStyle()\"\n (load)=\"onImageLoad()\"\n (mousedown)=\"startDrag($event)\"\n (mousemove)=\"onDrag($event)\"\n (mouseup)=\"stopDrag()\"\n (mouseleave)=\"stopDrag()\"\n class=\"zoomable-image\"\n />\n </div>\n\n <div class=\"image-footer\" *ngIf=\"zoomLevel() > 100\">\n <small>Arrastra para mover la imagen</small>\n </div>\n </div>\n\n <!-- Excel -->\n <div *ngIf=\"isExcelType()\" class=\"excel-viewer-container\">\n <div *ngIf=\"excelSheetNames.length > 1\" class=\"excel-sheet-tabs\">\n <button\n *ngFor=\"let sheet of excelSheetNames; let i = index\"\n type=\"button\"\n class=\"excel-sheet-tab\"\n [class.active]=\"excelCurrentSheetIndex() === i\"\n (click)=\"selectExcelSheet(i)\"\n >\n {{ sheet }}\n </button>\n </div>\n\n <hot-table\n *ngIf=\"showExcelViewer\"\n #hotTable\n [settings]=\"excelSettings\"\n [data]=\"excelData\"\n [colHeaders]=\"excelColumnHeaders\"\n [rowHeaders]=\"true\"\n [width]=\"'100%'\"\n [height]=\"'100%'\"\n licenseKey=\"non-commercial-and-evaluation\"\n [columns]=\"excelColumns\"\n >\n </hot-table>\n\n <div *ngIf=\"!showExcelViewer\" class=\"loader\">\n Cargando hoja...\n </div>\n </div>\n</div>\n\n", styles: ["@charset \"UTF-8\";.handsontable .table th,.handsontable .table td{border-top:none}.handsontable tr{background:#fff}.handsontable td{background-color:inherit}.handsontable .table caption+thead tr:first-child th,.handsontable .table caption+thead tr:first-child td,.handsontable .table colgroup+thead tr:first-child th,.handsontable .table colgroup+thead tr:first-child td,.handsontable .table thead:first-child tr:first-child th,.handsontable .table thead:first-child tr:first-child td{border-top:1px solid #CCCCCC}.handsontable .table-bordered{border:0;border-collapse:separate}.handsontable .table-bordered th,.handsontable .table-bordered td{border-left:none}.handsontable .table-bordered th:first-child,.handsontable .table-bordered td:first-child{border-left:1px solid #CCCCCC}.handsontable .table>tbody>tr>td,.handsontable .table>tbody>tr>th,.handsontable .table>tfoot>tr>td,.handsontable .table>tfoot>tr>th,.handsontable .table>thead>tr>td,.handsontable .table>thead>tr>th{line-height:21px;padding:0}.col-lg-1.handsontable,.col-lg-10.handsontable,.col-lg-11.handsontable,.col-lg-12.handsontable,.col-lg-2.handsontable,.col-lg-3.handsontable,.col-lg-4.handsontable,.col-lg-5.handsontable,.col-lg-6.handsontable,.col-lg-7.handsontable,.col-lg-8.handsontable,.col-lg-9.handsontable,.col-md-1.handsontable,.col-md-10.handsontable,.col-md-11.handsontable,.col-md-12.handsontable,.col-md-2.handsontable,.col-md-3.handsontable,.col-md-4.handsontable,.col-md-5.handsontable,.col-md-6.handsontable,.col-md-7.handsontable,.col-md-8.handsontable,.col-md-9.handsontable .col-sm-1.handsontable,.col-sm-10.handsontable,.col-sm-11.handsontable,.col-sm-12.handsontable,.col-sm-2.handsontable,.col-sm-3.handsontable,.col-sm-4.handsontable,.col-sm-5.handsontable,.col-sm-6.handsontable,.col-sm-7.handsontable,.col-sm-8.handsontable,.col-sm-9.handsontable .col-xs-1.handsontable,.col-xs-10.handsontable,.col-xs-11.handsontable,.col-xs-12.handsontable,.col-xs-2.handsontable,.col-xs-3.handsontable,.col-xs-4.handsontable,.col-xs-5.handsontable,.col-xs-6.handsontable,.col-xs-7.handsontable,.col-xs-8.handsontable,.col-xs-9.handsontable{padding-left:0;padding-right:0}.handsontable.ht-wrapper{height:100%;width:100%}.handsontable .table-striped>tbody>tr:nth-of-type(2n){background-color:#fff}.handsontable .hide{display:none}.handsontable .relative{position:relative}.handsontable .wtHider{position:relative;width:0}.handsontable .wtSpreader{position:relative;width:0;height:auto}.handsontable table,.handsontable tbody,.handsontable thead,.handsontable td,.handsontable th,.handsontable input,.handsontable textarea,.handsontable div{box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.handsontable input,.handsontable textarea{min-height:initial}.handsontable table.htCore{border-collapse:separate;border-spacing:0;margin:0;border-width:0;table-layout:fixed;width:0;outline-width:0;cursor:default;max-width:none;max-height:none}.handsontable col,.handsontable col.rowHeader{width:50px}.handsontable th,.handsontable td{border-top-width:0;border-left-width:0;border-right:1px solid #ccc;border-bottom:1px solid #ccc;height:22px;empty-cells:show;line-height:21px;padding:0 4px;background-color:#fff;vertical-align:top;overflow:hidden;outline:none;outline-width:0;white-space:pre-wrap}[dir=rtl].handsontable th,[dir=rtl].handsontable td{border-right-width:0;border-left:1px solid #ccc}.handsontable th:last-child{border-left:none;border-right:1px solid #ccc;border-bottom:1px solid #ccc}[dir=rtl].handsontable th:last-child{border-right:none;border-left:1px solid #ccc}.handsontable th:first-child,.handsontable .ht_clone_inline_start td:first-of-type,.handsontable .ht_clone_top_inline_start_corner td:first-of-type,.handsontable .ht_clone_bottom_inline_start_corner td:first-of-type,.handsontable.ht-wrapper:not(.htFirstDatasetColumnNotRendered) td:first-of-type{border-left:1px solid #ccc}[dir=rtl].handsontable th:first-child,[dir=rtl].handsontable.ht-wrapper:not(.htFirstDatasetColumnNotRendered) td:first-of-type{border-right:1px solid #ccc}.handsontable .ht_clone_top th:nth-child(2){border-left-width:0;border-right:1px solid #ccc}[dir=rtl].handsontable .ht_clone_top th:nth-child(2){border-right-width:0;border-left:1px solid #ccc}.handsontable.htRowHeaders thead tr th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable.htRowHeaders thead tr th:nth-child(2){border-right:1px solid #ccc}.handsontable tr:first-child th,.handsontable tr:first-child td{border-top:1px solid #ccc}.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-right-width:0;border-left:1px solid #ccc}[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left-width:0;border-right:1px solid #ccc}.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr.lastChild th{border-bottom-width:0}.handsontable th{background-color:#f0f0f0;color:#222;text-align:center;font-weight:400;white-space:nowrap}.handsontable thead th{padding:0}.handsontable th.active{background-color:#ccc}.handsontable thead th .relative{padding:2px 4px}.handsontable span.colHeader{display:inline-block;line-height:1.1}.handsontable .wtBorder{position:absolute;font-size:0}.handsontable .wtBorder.hidden{display:none!important}.handsontable .wtBorder:nth-child(1),.handsontable .wtBorder:nth-child(3){z-index:2}.handsontable .wtBorder:nth-child(2),.handsontable .wtBorder:nth-child(4){z-index:1}.handsontable .wtBorder.current{z-index:10}.handsontable .wtBorder.area{z-index:8}.handsontable .wtBorder.fill{z-index:6}.handsontable .wtBorder.corner{font-size:0;cursor:crosshair}.htBorders .wtBorder.ht-border-style-dashed-vertical{background-image:repeating-linear-gradient(to bottom,var(--ht-custom-border-color) 0 5px,transparent 0 10px)}.htBorders .wtBorder.ht-border-style-dashed-horizontal{background-image:repeating-linear-gradient(to right,var(--ht-custom-border-color) 0 5px,transparent 0 10px)}.htBorders .wtBorder.ht-border-style-dotted-horizontal{background-image:radial-gradient(circle,var(--ht-custom-border-color) calc(var(--ht-custom-border-size) / 2),transparent 0);background-size:calc(var(--ht-custom-border-size) * 2) var(--ht-custom-border-size);background-repeat:repeat-x}.htBorders .wtBorder.ht-border-style-dotted-vertical{background-image:radial-gradient(circle,var(--ht-custom-border-color) calc(var(--ht-custom-border-size) / 2),transparent 0);background-size:var(--ht-custom-border-size) calc(var(--ht-custom-border-size) * 2);background-repeat:repeat-y}.ht_clone_master{z-index:100}.ht_clone_inline_start{z-index:120}.ht_clone_bottom{z-index:130}.ht_clone_bottom_inline_start_corner{z-index:150}.ht_clone_top{z-index:160}.ht_clone_top_inline_start_corner{z-index:180}.handsontable col.hidden{width:0!important}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th{display:none}.ht_master,.ht_clone_inline_start,.ht_clone_top,.ht_clone_bottom{overflow:hidden}.ht_master .wtHolder{overflow:auto}.handsontable .ht_master table.htCore>thead,.handsontable .ht_master table.htCore>tbody>tr>th,.handsontable .ht_clone_inline_start table.htCore>thead{visibility:hidden}.ht_clone_top .wtHolder,.ht_clone_inline_start .wtHolder,.ht_clone_bottom .wtHolder{overflow:hidden}.handsontable{position:relative;touch-action:manipulation;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:400;color:#373737}.handsontable a{color:#104acc}.handsontable.htAutoSize{visibility:hidden;left:-99000px;position:absolute;top:-99000px}.handsontable td.htInvalid{background-color:#ffbeba!important}.handsontable td.htNoWrap{white-space:nowrap}.handsontable td.invisibleSelection,.handsontable th.invisibleSelection{outline:none}.handsontable td.invisibleSelection::selection,.handsontable th.invisibleSelection::selection{background:#fff0}.hot-display-license-info{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:400;color:#373737;padding:5px 0 3px;text-align:left}.hot-display-license-info a{color:#104acc;font-size:10px}.htFocusCatcher{position:absolute;z-index:-1;opacity:0;border:0;margin:0;padding:0;width:0;height:0}.handsontable .htTextEllipsis{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.handsontable .manualColumnResizer{position:absolute;top:0;cursor:col-resize;z-index:210;width:5px;height:25px}.handsontable .manualRowResizer{position:absolute;left:0;cursor:row-resize;z-index:210;height:5px;width:50px}.handsontable .manualColumnResizer:hover,.handsontable .manualColumnResizer.active,.handsontable .manualRowResizer:hover,.handsontable .manualRowResizer.active{background-color:#34a9db}.handsontable .manualColumnResizerGuide{position:absolute;right:unset;top:0;background-color:#34a9db;display:none;width:0;border-right:1px dashed #777;border-left:none;margin-left:5px;margin-right:unset}[dir=rtl].handsontable .manualColumnResizerGuide{left:unset;border-left:1px dashed #777;border-right:none;margin-right:5px;margin-left:unset}.handsontable .manualRowResizerGuide{position:absolute;left:0;bottom:0;background-color:#34a9db;display:none;height:0;border-bottom:1px dashed #777;margin-top:5px}.handsontable .manualColumnResizerGuide.active,.handsontable .manualRowResizerGuide.active{display:block;z-index:209}.handsontable td.area,.handsontable td.area-1,.handsontable td.area-2,.handsontable td.area-3,.handsontable td.area-4,.handsontable td.area-5,.handsontable td.area-6,.handsontable td.area-7{position:relative}.handsontable td.area:before,.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before{content:\"\";position:absolute;inset:0;background:#005eff}.handsontable td.area:before{opacity:.1}.handsontable td.area-1:before{opacity:.2}.handsontable td.area-2:before{opacity:.27}.handsontable td.area-3:before{opacity:.35}.handsontable td.area-4:before{opacity:.41}.handsontable td.area-5:before{opacity:.47}.handsontable td.area-6:before{opacity:.54}.handsontable td.area-7:before{opacity:.58}.handsontable tbody th.current,.handsontable thead th.current{box-shadow:inset 0 0 0 2px #4b89ff}.handsontable tbody th.ht__highlight,.handsontable thead th.ht__highlight{background-color:#dcdcdc}.handsontable tbody th.ht__active_highlight,.handsontable thead th.ht__active_highlight{background-color:#8eb0e7;color:#000}.handsontableInput{border:none;outline-width:0;margin:0;padding:1px 5px 0;font-family:inherit;line-height:21px;font-size:inherit;box-shadow:0 0 0 2px #5292f7 inset;resize:none;display:block;color:#000;border-radius:0;background-color:#fff;box-sizing:border-box!important}.handsontableInput:focus{outline:none}.handsontableInputHolder{position:absolute;top:0;left:0}.htSelectEditor{position:absolute;select{-webkit-appearance:menulist-button!important;width:100%;height:100%;border:2px solid #4b89ff;box-sizing:border-box!important}}.htSelectEditor select:focus{outline:none}.htSelectEditor .htAutocompleteArrow{display:none}.handsontable .htDimmed{color:#777}.handsontable .htSubmenu{position:relative}.handsontable .htSubmenu :after{content:\"\\25b6\";color:#777;position:absolute;right:5px;font-size:9px}[dir=rtl].handsontable .htSubmenu :after{content:\"\"}[dir=rtl].handsontable .htSubmenu :before{content:\"\\25c0\";color:#777;position:absolute;left:5px;font-size:9px}.handsontable .htLeft{text-align:left}.handsontable .htCenter{text-align:center}.handsontable .htRight{text-align:right}.handsontable .htJustify{text-align:justify}.handsontable .htTop{vertical-align:top}.handsontable .htMiddle{vertical-align:middle}.handsontable .htBottom{vertical-align:bottom}.handsontable .htPlaceholder{color:#999}.handsontable.listbox{border:1px solid #ccc;margin:0}.handsontable.listbox.autocompleteEditor,.handsontable.listbox.dropdownEditor{border-width:0}.handsontable.listbox .ht_master table{border-collapse:separate;background:#fff}.handsontable.listbox.autocompleteEditor .ht_master table,.handsontable.listbox.dropdownEditor .ht_master table{border:1px solid #ccc}.handsontable.listbox th,.handsontable.listbox tr:first-child th,.handsontable.listbox tr:last-child th,.handsontable.listbox tr:first-child td,.handsontable.listbox td{border-color:transparent!important}.handsontable.listbox th,.handsontable.listbox td{white-space:nowrap;text-overflow:ellipsis}.handsontable.listbox td.htDimmed{cursor:default;color:inherit;font-style:inherit}.handsontable.listbox .wtBorder{visibility:hidden}.handsontable.listbox tr td.current,.handsontable.listbox tr:hover td{background:#eee}.ht_editor_hidden{z-index:-1}.ht_editor_visible{z-index:200}.handsontable td.htSearchResult{background:#fcedd9;color:#583707}.handsontable.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch}.handsontable.mobile .handsontableInput:focus{-webkit-box-shadow:0 0 0 2px #5292f7 inset;-moz-box-shadow:0 0 0 2px #5292f7 inset;box-shadow:0 0 0 2px #5292f7 inset;-webkit-appearance:none}.handsontable .topSelectionHandle,.handsontable .topSelectionHandle-HitArea,.handsontable .bottomSelectionHandle,.handsontable .bottomSelectionHandle-HitArea{left:-10000px;right:unset;top:-10000px;z-index:9999}[dir=rtl].handsontable .topSelectionHandle,[dir=rtl].handsontable .topSelectionHandle-HitArea,[dir=rtl].handsontable .bottomSelectionHandle,[dir=rtl].handsontable .bottomSelectionHandle-HitArea{right:-10000px;left:unset}.handsontable.hide-tween{-webkit-animation:opacity-hide .3s;animation:opacity-hide .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable.show-tween{-webkit-animation:opacity-show .3s;animation:opacity-show .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable .htAutocompleteArrow{float:right;font-size:10px;color:#bbb;cursor:default;width:16px;text-align:center}[dir=rtl].handsontable .htAutocompleteArrow{float:left}.handsontable td.htInvalid .htAutocompleteArrow{color:#555}.handsontable td.htInvalid .htAutocompleteArrow:hover{color:#1a1a1a}.handsontable td .htAutocompleteArrow:hover{color:#777}.handsontable td.area .htAutocompleteArrow{color:#d3d3d3}.handsontable .htCheckboxRendererInput.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{font-size:inherit;vertical-align:middle;cursor:pointer;display:inline-block}.handsontable .htCheckboxRendererLabel.fullWidth{width:100%}.handsontable .collapsibleIndicator{position:absolute;top:50%;transform:translateY(-50%);left:unset;right:5px;border:1px solid #A6A6A6;line-height:8px;color:#222;border-radius:10px;font-size:10px;width:10px;height:10px;cursor:pointer;-webkit-box-shadow:0 0 0 6px rgb(238,238,238);-moz-box-shadow:0 0 0 6px rgb(238,238,238);box-shadow:0 0 0 3px #eee;background:#eee;text-align:center}[dir=rtl].handsontable .collapsibleIndicator{right:unset;left:5px}.handsontable[dir=ltr] thead th:has(.collapsibleIndicator) div.htRight span.colHeader{margin-right:20px}.handsontable[dir=rtl] thead th:has(.collapsibleIndicator) div.htLeft span.colHeader{margin-left:20px}.handsontable .columnSorting{position:relative}.handsontable[dir=ltr] div.htRight span[class*=ascending],.handsontable[dir=ltr] div.htRight span[class*=descending]{margin-right:10px;margin-left:-10px}.handsontable[dir=rtl] div.htLeft span[class*=ascending],.handsontable[dir=rtl] div.htLeft span[class*=descending]{margin-left:10px;margin-right:-10px}.handsontable[dir=ltr] div.htRight span[class*=ascending]:only-child,.handsontable[dir=ltr] div.htRight span[class*=descending]:only-child{margin-right:15px;margin-left:-15px}.handsontable[dir=rtl] div.htLeft span[class*=ascending]:only-child,.handsontable[dir=rtl] div.htLeft span[class*=descending]:only-child{margin-left:15px;margin-right:-15px}.handsontable .columnSorting.sortAction:hover{text-decoration:underline;cursor:pointer}.handsontable span.colHeader.columnSorting:before{top:50%;margin-top:-6px;padding-left:8px;padding-right:0;position:absolute;right:-9px;left:unset;content:\"\";height:10px;width:5px;background-size:contain;background-repeat:no-repeat;background-position-x:right}[dir=rtl].handsontable span.colHeader.columnSorting:before{padding-right:8px;padding-left:0;left:-9px;right:unset;background-position-x:left}.handsontable span.colHeader.columnSorting.ascending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC)}.handsontable span.colHeader.columnSorting.descending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFJJREFUeAHtzjkSgCAQRNFmQYUZ7n9dKUvru0TmvPAn3br0QfgdZ5xx6x+rQn23GqTYnq1FDcnuzZIO2WmedVqIRVxgGKEyjNgYRjKGkZ1hFIZ3I70LyM0VtU8AAAAASUVORK5CYII=)}.htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled):before{content:\"*\";display:inline-block;position:relative;padding-right:20px}.handsontable.htGhostTable table thead th{border-bottom-width:0}.handsontable.htGhostTable table tbody tr th,.handsontable.htGhostTable table tbody tr td{border-top-width:0}.handsontable .htCommentCell{position:relative}.handsontable .htCommentCell:after{content:\"\";position:absolute;top:0;right:0;left:unset;border-left:6px solid transparent;border-right:none;border-top:6px solid black}[dir=rtl].handsontable .htCommentCell:after{left:0;right:unset;border-right:6px solid transparent;border-left:none}.htCommentsContainer .htComments{display:none;z-index:1059;position:absolute}.htCommentsContainer .htCommentTextArea{box-shadow:#0000001e 0 1px 3px,#0000003d 0 1px 2px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none;border-left:3px solid #ccc;border-right:none;background-color:#fff;width:215px;height:90px;font-size:12px;padding:5px;outline:0!important;-webkit-appearance:none}[dir=rtl].htCommentsContainer .htCommentTextArea{border-right:3px solid #ccc;border-left:none}.htCommentsContainer .htCommentTextArea:focus{box-shadow:#0000001e 0 1px 3px,#0000003d 0 1px 2px,inset 0 0 0 1px #5292f7;border-left:3px solid #5292f7;border-right:none}[dir=rtl].htCommentsContainer .htCommentTextArea:focus{border-right:3px solid #5292f7;border-left:none}.htContextMenu:not(.htGhostTable){display:none;position:absolute;z-index:1060}.htContextMenu .ht_clone_top,.htContextMenu .ht_clone_bottom,.htContextMenu .ht_clone_inline_start,.htContextMenu .ht_clone_top_inline_start_corner,.htContextMenu .ht_clone_bottom_inline_start_corner{display:none}.htContextMenu .ht_master table.htCore{border-color:#ccc;border-style:solid;border-top-width:1px;border-bottom-width:2px;border-left-width:1px;border-right-width:2px}[dir=rtl].htContextMenu .ht_master table.htCore{border-right-width:1px;border-left-width:2px}.htContextMenu.handsontable:focus{outline:none}.htContextMenu .wtBorder{visibility:hidden}.htContextMenu table tbody tr td{background:#fff;border-width:0;padding:4px 6px 0;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.htContextMenu table tbody tr td:first-child{border-top-width:0;border-bottom-width:0;border-left-width:0;border-right-width:0}[dir=rtl].htContextMenu table tbody tr td:first-child{border-right-width:0;border-left-width:0}.htContextMenu table tbody tr td.htDimmed{font-style:normal;color:#323232}.htContextMenu table tbody tr td.current{background:#f3f3f3}.htContextMenu table tbody tr td.htSeparator{border-top:1px solid #e6e6e6;height:0;padding:0;cursor:default}.htContextMenu table tbody tr td.htDisabled{color:#999;cursor:default}.htContextMenu table tbody tr td.htDisabled:hover{background:#fff;color:#999;cursor:default}.htContextMenu table tbody tr.htHidden{display:none}.htContextMenu table tbody tr td .htItemWrapper{margin-left:10px;margin-right:6px}[dir=rtl].htContextMenu table tbody tr td .htItemWrapper{margin-right:10px;margin-left:6px}.htContextMenu table tbody tr td div span.selected{margin-top:-2px;position:absolute;left:4px;right:0}[dir=rtl].htContextMenu table tbody tr td div span.selected{right:4px;left:0}.htContextMenu .ht_master .wtHolder{overflow:hidden}textarea.HandsontableCopyPaste{position:fixed!important;top:0!important;right:100%!important;overflow:hidden;opacity:0;outline:0 none!important}.handsontable .changeType{background:#eee;border-radius:2px;border:1px solid #bbb;color:#bbb;font-size:9px;line-height:9px;padding:2px;margin:3px 1px 0 5px;float:right}[dir=rtl].handsontable .changeType{float:left}.handsontable[dir=rtl] .changeType{margin:3px 5px 0 1px}.handsontable .changeType:before{content:\"\\25bc \"}.handsontable .changeType:hover{border:1px solid #777;color:#777;cursor:pointer}.htDropdownMenu:not(.htGhostTable){display:none;position:absolute;z-index:1060}.htDropdownMenu .ht_clone_top,.htDropdownMenu .ht_clone_bottom,.htDropdownMenu .ht_clone_inline_start,.htDropdownMenu .ht_clone_top_inline_start_corner,.htDropdownMenu .ht_clone_bottom_inline_start_corner{display:none}.htDropdownMenu table.htCore{border-color:#ccc;border-style:solid;border-top-width:1px;border-bottom-width:2px;border-left-width:1px;border-right-width:2px}[dir=rtl].htDropdownMenu table.htCore{border-right-width:1px;border-left-width:2px}.htDropdownMenu.handsontable:focus{outline:none}.htDropdownMenu .wtBorder{visibility:hidden}.htDropdownMenu table tbody tr td{background:#fff;border-width:0;padding:4px 6px 0;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.htDropdownMenu table tbody tr td:first-child{border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-width:0}[dir=rtl].htDropdownMenu table tbody tr td:first-child{border-left-width:0;border-right-width:0}.htDropdownMenu table tbody tr td.htDimmed{font-style:normal;color:#323232}.htDropdownMenu table tbody tr td.current{background:#e9e9e9}.htDropdownMenu table tbody tr td.htSeparator{border-top:1px solid #e6e6e6;height:0;padding:0;cursor:default}.htDropdownMenu table tbody tr td.htDisabled{color:#999}.htDropdownMenu table tbody tr td.htDisabled:hover{background:#fff;color:#999;cursor:default}.htDropdownMenu:not(.htGhostTable) table tbody tr.htHidden{display:none}.htDropdownMenu table tbody tr td .htItemWrapper{margin-left:10px;margin-right:10px}[dir=rtl].htDropdownMenu table tbody tr td .htItemWrapper{margin-right:10px;margin-left:10px}.htDropdownMenu table tbody tr td div span.selected{margin-top:-2px;position:absolute;left:4px;right:0}[dir=rtl].htDropdownMenu table tbody tr td div span.selected{right:4px;left:0}.htDropdownMenu .ht_master .wtHolder{overflow:hidden}.htFiltersConditionsMenu:not(.htGhostTable){display:none;position:absolute;z-index:1070}.htFiltersConditionsMenu .ht_clone_top,.htFiltersConditionsMenu .ht_clone_bottom,.htFiltersConditionsMenu .ht_clone_inline_start,.htFiltersConditionsMenu .ht_clone_top_inline_start_corner,.htFiltersConditionsMenu .ht_clone_bottom_inline_start_corner{display:none}.htFiltersConditionsMenu table.htCore{border:1px solid #bbb;border-bottom-width:2px;border-right-width:2px}.htFiltersConditionsMenu .wtBorder{visibility:hidden}.htFiltersConditionsMenu table tbody tr td{background:#fff;border-width:0;padding:4px 6px 0;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.htFiltersConditionsMenu table tbody tr td:first-child{border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-width:0}[dir=rtl].htFiltersConditionsMenu table tbody tr td:first-child{border-left-width:0;border-right-width:0}.htFiltersConditionsMenu table tbody tr td.htDimmed{font-style:normal;color:#323232}.htFiltersConditionsMenu table tbody tr td.current{background:#e9e9e9}.htFiltersConditionsMenu table tbody tr td.htSeparator{border-top:1px solid #e6e6e6;height:0;padding:0}.htFiltersConditionsMenu table tbody tr td.htDisabled{color:#999}.htFiltersConditionsMenu table tbody tr td.htDisabled:hover{background:#fff;color:#999;cursor:default}.htFiltersConditionsMenu table tbody tr td .htItemWrapper{margin-left:10px;margin-right:10px}.htFiltersConditionsMenu table tbody tr td div span.selected{margin-top:-2px;position:absolute;left:4px}.htFiltersConditionsMenu .ht_master .wtHolder{overflow:hidden}.handsontable .htMenuFiltering{border-bottom:1px dotted #ccc;height:135px;overflow:hidden}.handsontable .ht_master table td.htCustomMenuRenderer{background-color:#fff;cursor:auto}.handsontable .htFiltersMenuLabel{font-size:.75em}.handsontable .htFiltersMenuActionBar{text-align:center;padding-top:10px;padding-bottom:3px}.handsontable .htFiltersMenuCondition.border{border-bottom:1px dotted #ccc!important}.handsontable .htFiltersMenuCondition .htUIInput{padding:0 0 5px}.handsontable .htFiltersMenuValue{border-bottom:1px dotted #ccc!important}.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch{padding:0}.handsontable .htFiltersMenuCondition .htUIInput input,.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch input{font-family:inherit;font-size:.75em;padding:4px;box-sizing:border-box;width:100%}.htUIMultipleSelect .ht_master .wtHolder{overflow:auto}.handsontable .htFiltersActive .changeType{border:1px solid #509272;color:#18804e;background-color:#d2e0d9}.handsontable .htUISelectAll{margin-left:0;margin-right:10px}[dir=rtl].handsontable .htUISelectAll{margin-right:0;margin-left:10px}.handsontable .htUIClearAll,.handsontable .htUISelectAll{display:inline-block}.handsontable .htUIClearAll a,.handsontable .htUISelectAll a{font-size:.75em}.handsontable .htUISelectionControls{text-align:right}[dir=rtl].handsontable .htUISelectionControls{text-align:left}.handsontable .htCheckboxRendererInput{display:inline-block;margin:0 5px 0 0;vertical-align:middle;height:1em}[dir=rtl].handsontable .htCheckboxRendererInput{margin-left:5px;margin-right:0}.handsontable .htUIInput{padding:3px 0 7px;position:relative;text-align:center}.handsontable .htUIInput input{border-radius:2px;border:1px solid #d2d1d1}.handsontable .htUIInputIcon{position:absolute}.handsontable .htUIInput.htUIButton{cursor:pointer;display:inline-block}.handsontable .htUIInput.htUIButton input{background-color:#eee;color:#000;cursor:pointer;font-family:inherit;font-size:.75em;font-weight:700;height:19px;min-width:64px}.handsontable .htUIInput.htUIButton input:hover{border-color:#b9b9b9}.handsontable .htUIInput.htUIButtonOK{margin-left:0;margin-right:10px}[dir=rtl].handsontable .htUIInput.htUIButtonOK{margin-right:0;margin-left:10px}.handsontable .htUIInput.htUIButtonOK input{background-color:#0f9d58;border-color:#18804e;color:#fff}.handsontable .htUIInput.htUIButtonOK input:focus-visible{background-color:#92dd8d;border-color:#7cb878;color:#000}.handsontable .htUIInput.htUIButtonOK input:hover{border-color:#1a6f46}.handsontable .htUISelect{cursor:pointer;margin-bottom:7px;position:relative}.handsontable .htUISelectCaption{background-color:#e8e8e8;border-radius:2px;border:1px solid #d2d1d1;font-family:inherit;font-size:.75em;font-weight:700;padding:3px 20px 3px 10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.handsontable .htUISelectCaption:hover{background-color:#e8e8e8;border:1px solid #b9b9b9}.handsontable .htUISelectDropdown:after{content:\"\\25b2\";font-size:7px;position:absolute;right:10px;top:0}.handsontable .htUISelectDropdown:before{content:\"\\25bc\";font-size:7px;position:absolute;right:10px;top:8px}.handsontable .htUIMultipleSelect .handsontable .htCore{border:none}.handsontable .htUIMultipleSelect .handsontable .htCore td:hover{background-color:#f5f5f5}.handsontable .htUIMultipleSelectSearch input{border-radius:2px;border:1px solid #d2d1d1;padding:3px}.handsontable .htUIRadio{display:inline-block;margin-left:0;margin-right:5px;height:100%}[dir=rtl].handsontable .htUIRadio{margin-right:0;margin-left:5px}.handsontable .htUIRadio:last-child{margin-right:0}.handsontable .htUIRadio>input[type=radio]{margin-left:0;margin-right:.5ex}[dir=rtl].handsontable .htUIRadio>input[type=radio]{margin-right:0;margin-left:.5ex}.handsontable .htUIRadio label{vertical-align:middle}.handsontable .htFiltersMenuOperators{padding-bottom:5px}.handsontable th.beforeHiddenColumn{position:relative}.handsontable th.beforeHiddenColumn:after,.handsontable th.afterHiddenColumn:before{color:#bbb;position:absolute;top:50%;font-size:5pt;transform:translateY(-50%)}.handsontable th.afterHiddenColumn{position:relative}.handsontable[dir=ltr] th.afterHiddenColumn div.htLeft{margin-left:10px}.handsontable[dir=ltr] th.beforeHiddenColumn div.htRight,.handsontable[dir=rtl] th.afterHiddenColumn div.htRight{margin-right:10px}.handsontable[dir=rtl] th.beforeHiddenColumn div.htLeft{margin-left:10px}.handsontable th.beforeHiddenColumn:after{right:1px;content:\"\\25c0\"}[dir=rtl].handsontable th.beforeHiddenColumn:after{right:initial;left:1px;content:\"\\25b6\"}.handsontable th.afterHiddenColumn:before{left:1px;content:\"\\25b6\"}[dir=rtl].handsontable th.afterHiddenColumn:before{right:1px;left:initial;content:\"\\25c0\"}.handsontable th.beforeHiddenRow:before,.handsontable th.afterHiddenRow:after{color:#bbb;font-size:6pt;line-height:6pt;position:absolute;left:2px}.handsontable th.beforeHiddenRow,.handsontable th.afterHiddenRow{position:relative}.handsontable th.beforeHiddenRow:before{content:\"\\25b2\";bottom:2px}.handsontable th.afterHiddenRow:after{content:\"\\25bc\";top:2px}.handsontable.ht__selection--rows tbody th.beforeHiddenRow.ht__highlight:before,.handsontable.ht__selection--rows tbody th.afterHiddenRow.ht__highlight:after{color:#eee}.handsontable td.afterHiddenRow.firstVisibleRow,.handsontable th.afterHiddenRow.firstVisibleRow{border-top:1px solid #CCC}.htRowHeaders .ht_master.innerBorderInlineStart~.ht_clone_top_inline_start_corner th:nth-child(2),.htRowHeaders .ht_master.innerBorderInlineStart~.ht_clone_inline_start td:first-of-type{border-left:0 none}.handsontable.ht__manualColumnMove.after-selection--columns thead th.ht__highlight{cursor:move;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab}.handsontable.ht__manualColumnMove.on-moving--columns *,.handsontable.ht__manualColumnMove.on-moving--columns thead th.ht__highlight{cursor:move;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}.handsontable.ht__manualColumnMove.on-moving--columns .manualColumnResizer{display:none}.handsontable .ht__manualColumnMove--guideline,.handsontable .ht__manualColumnMove--backlight{position:absolute;height:100%;display:none}.handsontable .ht__manualColumnMove--guideline{background:#757575;width:2px;top:0;margin-inline-start:-1px;margin-inline-end:0;z-index:205}.handsontable .ht__manualColumnMove--backlight{background:#343434;background:#34343440;display:none;z-index:205;pointer-events:none}.handsontable.on-moving--columns.show-ui .ht__manualColumnMove--guideline,.handsontable.on-moving--columns .ht__manualColumnMove--backlight{display:block}.handsontable.ht__manualRowMove.after-selection--rows tbody th.ht__highlight{cursor:move;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab}.handsontable.ht__manualRowMove.on-moving--rows *,.handsontable.ht__manualRowMove.on-moving--rows tbody th.ht__highlight{cursor:move;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}.handsontable.ht__manualRowMove.on-moving--rows .manualRowResizer{display:none}.handsontable .ht__manualRowMove--guideline,.handsontable .ht__manualRowMove--backlight{position:absolute;width:100%;display:none}.handsontable .ht__manualRowMove--guideline{background:#757575;height:2px;left:0;margin-top:-1px;z-index:205}.handsontable .ht__manualRowMove--backlight{background:#343434;background:#34343440;display:none;z-index:205;pointer-events:none}.handsontable.on-moving--rows.show-ui .ht__manualRowMove--guideline,.handsontable.on-moving--rows .ht__manualRowMove--backlight{display:block}.handsontable tbody td[rowspan][class*=area][class*=highlight]:not([class*=fullySelectedMergedCell]):before{opacity:0}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-multiple]:before{opacity:.1}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-0]:before{opacity:.1}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-1]:before{opacity:.2}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-2]:before{opacity:.27}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-3]:before{opacity:.35}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-4]:before{opacity:.41}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-5]:before{opacity:.47}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-6]:before{opacity:.54}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-7]:before{opacity:.58}.handsontable[dir=ltr] div.htRight span[class*=sort-]{margin-right:15px;margin-left:-15px}.handsontable[dir=rtl] div.htLeft span[class*=sort-]{margin-left:15px;margin-right:-15px}.handsontable[dir=ltr] div.htRight span[class*=sort-]:only-child{margin-right:20px;margin-left:-20px}.handsontable[dir=rtl] div.htLeft span[class*=sort-]:only-child{margin-left:20px;margin-right:-20px}.handsontable span.colHeader.columnSorting:after{top:50%;margin-top:-2px;position:absolute;right:-15px;left:unset;padding-left:5px;padding-right:unset;font-size:8px;height:8px;line-height:1.1}[dir=rtl].handsontable span.colHeader.columnSorting:after{left:-15px;right:unset;padding-right:5px;padding-left:unset}.handsontable span.colHeader.columnSorting[class^=sort-]:after,.handsontable span.colHeader.columnSorting[class*=\" sort-\"]:after{content:\"+\"}.handsontable span.colHeader.columnSorting.sort-1:after{content:\"1\"}.handsontable span.colHeader.columnSorting.sort-2:after{content:\"2\"}.handsontable span.colHeader.columnSorting.sort-3:after{content:\"3\"}.handsontable span.colHeader.columnSorting.sort-4:after{content:\"4\"}.handsontable span.colHeader.columnSorting.sort-5:after{content:\"5\"}.handsontable span.colHeader.columnSorting.sort-6:after{content:\"6\"}.handsontable span.colHeader.columnSorting.sort-7:after{content:\"7\"}.htGhostTable th div button.changeType+span.colHeader.columnSorting:not(.indicatorDisabled){padding-right:5px}.handsontable thead th.hiddenHeader:not(:first-of-type){display:none}thead th.hiddenHeaderText .colHeader{opacity:0}.handsontable th.ht_nestingLevels{text-align:left;padding-left:7px}[dir=rtl].handsontable th.ht_nestingLevels{text-align:right;padding-right:7px}.handsontable th div.ht_nestingLevels{display:inline-block;position:absolute;left:11px;right:unset}[dir=rtl].handsontable th div.ht_nestingLevels{right:11px;left:unset}.handsontable.innerBorderInlineStart th div.ht_nestingLevels,.handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingLevels{right:10px;left:unset}[dir=rtl].handsontable.innerBorderInlineStart th div.ht_nestingLevels,[dir=rtl].handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingLevels{left:10px;right:unset}.handsontable th span.ht_nestingLevel{display:inline-block}.handsontable th span.ht_nestingLevel_empty{display:inline-block;width:10px;height:1px;float:left}[dir=rtl].handsontable th span.ht_nestingLevel_empty{float:right}.handsontable th span.ht_nestingLevel:after{content:\"\\2510\";font-size:9px;display:inline-block;position:relative;bottom:3px}.handsontable th div.ht_nestingButton{display:inline-block;position:absolute;right:-2px;left:unset;cursor:pointer}[dir=rtl].handsontable th div.ht_nestingButton{left:-2px;right:unset}.handsontable th div.ht_nestingButton.ht_nestingExpand:after{content:\"+\"}.handsontable th div.ht_nestingButton.ht_nestingCollapse:after{content:\"-\"}.handsontable.innerBorderInlineStart th div.ht_nestingButton,.handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingButton{right:0;left:unset}[dir=rtl].handsontable.innerBorderInlineStart th div.ht_nestingButton,[dir=rtl].handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingButton{left:0;right:unset}.ht-root-wrapper{position:relative;display:flex;flex-direction:column;height:100%}.ht-grid{flex:1 1 auto;min-height:0}.ht-dialog{position:absolute;top:0;left:0;display:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;width:100%;height:100%;z-index:1060;opacity:0;overflow-y:auto;border:1px solid #ccc;box-sizing:border-box!important}.ht-dialog[dir=rtl]{left:auto;right:0}.ht-dialog:focus{border:1px solid #4b89ff;outline:none}.ht-dialog:has(.htFocusCatcher:focus){border:1px solid #4b89ff;outline:none}.ht-dialog *{box-sizing:border-box!important}.ht-dialog--background-solid{background-color:#fff}.ht-dialog--background-semi-transparent{background-color:#ffffff80}.ht-dialog--animation{transition:opacity .15s ease-in-out}.ht-dialog--show{opacity:1}.ht-dialog__content-wrapper{display:flex;align-items:center;justify-content:center;width:100%;min-height:100%;padding:16px}.ht-dialog__content-wrapper:focus{border:1px solid #4b89ff;outline:none}.ht-dialog__content{position:relative;padding:8px;display:flex;gap:8px;max-width:480px;color:#222}.ht-dialog__content--background{box-shadow:0 8px 16px #00000014;background-color:#f7f7f9}.ht-dialog--confirm .ht-dialog__content-wrapper{text-align:center}.ht-dialog--confirm .ht-dialog__content-wrapper-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;max-width:480px}.ht-dialog--confirm .ht-dialog__content-wrapper-inner--background{box-shadow:0 8px 16px #00000014;background-color:#f7f7f9}.ht-dialog--confirm .ht-dialog__content{display:flex;flex-direction:column;align-items:center;justify-content:center}.ht-dialog--confirm .ht-dialog__content:has(.ht-dialog__buttons){gap:4px}.ht-dialog--confirm .ht-dialog__title{margin:0;font-size:16px;font-weight:400;line-height:24px}.ht-dialog--confirm .ht-dialog__description{margin:0;color:#222;font-size:12px;font-weight:400;line-height:16px}.ht-dialog--confirm .ht-dialog__buttons{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.ht-root-wrapper .ht-pagination{color:#222;background:#f0f0f0;border:1px solid #ccc;border-top-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:12px;font-weight:400;box-sizing:border-box;overflow-x:auto}.ht-root-wrapper .ht-pagination__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding-inline:8px;padding-block:4px;min-width:230px}.ht-root-wrapper .ht-pagination--bordered{border-top-color:#ccc}.ht-root-wrapper .ht-page-size-section{display:flex;align-items:center;gap:8px}.ht-root-wrapper .ht-page-size-section span{white-space:nowrap}.ht-root-wrapper .ht-page-size-section__select-wrapper{position:relative;border-radius:2px;border:1px solid #ccc}.ht-root-wrapper .ht-page-size-section__select-wrapper select{padding-inline-start:8px;padding-inline-end:8px;padding-top:4px;padding-bottom:4px;border-radius:2px;color:#222;background-color:#f0f0f0;border:none;-webkit-appearance:none;font-size:inherit;cursor:pointer}.ht-root-wrapper .ht-page-size-section__select-wrapper select:disabled{opacity:.4;cursor:default}.ht-root-wrapper .ht-page-size-section__select-wrapper select:hover:not(:disabled){background-color:#e0e0e0}.ht-root-wrapper .ht-page-size-section__select-wrapper select:focus{background-color:#e0e0e0;outline:1px solid #4b89ff}.ht-root-wrapper .ht-page-counter-section{margin-inline-end:auto}.ht-root-wrapper .ht-page-navigation-section{display:flex;align-items:center;gap:8px}.ht-root-wrapper .ht-page-navigation-section button{font-size:inherit;color:#222;background-color:transparent;border:none;padding:4px;border-radius:2px;cursor:pointer}.ht-root-wrapper .ht-page-navigation-section button:before{display:block;width:16px;height:16px;line-height:16px;text-align:center}.ht-root-wrapper .ht-page-navigation-section button:disabled{opacity:.4;cursor:default}.ht-root-wrapper .ht-page-navigation-section button:hover:not(:disabled){background-color:#e0e0e0}.ht-root-wrapper .ht-page-navigation-section button:focus{outline:1px solid #4b89ff}.ht-root-wrapper .ht-page-navigation-section .ht-page-first:before{content:\"\\21a4\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-first:before{content:\"\\21a6\"}.ht-root-wrapper .ht-page-navigation-section .ht-page-prev:before{content:\"\\21a2\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-prev:before{content:\"\\21a3\"}.ht-root-wrapper .ht-page-navigation-section .ht-page-next:before{content:\"\\21a3\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-next:before{content:\"\\21a2\"}.ht-root-wrapper .ht-page-navigation-section .ht-page-last:before{content:\"\\21a6\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-last:before{content:\"\\21a4\"}.ht-root-wrapper .ht-page-navigation-section span{white-space:nowrap}.ht-loading__icon-svg{display:block;width:16px;height:16px;color:#5292f7;animation:ht-loading-spin 1s linear infinite;transform-origin:50% 50%}.ht-loading__content{display:flex;align-items:center;gap:8px}.ht-loading__title{margin:0;font-size:13px;font-weight:400;line-height:18px}.ht-loading__description{margin:0;color:#222;font-size:12px;line-height:16px;font-weight:400}@keyframes ht-loading-spin{to{transform:rotate(360deg)}}.ht-empty-data-state{display:none;position:absolute;width:100%;left:0;z-index:999;overflow-y:auto;border:1px solid #ccc;box-sizing:border-box;background-color:#fff}.ht-empty-data-state *{box-sizing:border-box!important}.ht-empty-data-state__content-wrapper{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;min-height:100%;padding:16px}.ht-empty-data-state__content-wrapper-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:480px;padding:16px}.ht-empty-data-state__content-wrapper-inner:focus{outline:none;box-shadow:0 0 0 1px #4b89ff}.ht-empty-data-state__content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.ht-empty-data-state__title{margin:0;font-size:16px;font-weight:400;line-height:24px}.ht-empty-data-state__description{margin:0;color:#222;font-size:12px;line-height:16px;font-weight:400}.ht-empty-data-state__buttons{display:flex;justify-content:center;flex-direction:row;flex-wrap:wrap;gap:8px}.ht-empty-data-state__buttons--has-buttons{margin-top:8px}.ht-empty-data-state--disable-top-border{border-top-width:0}.ht-empty-data-state--disable-inline-border{border-inline-start-width:0}.ht-empty-data-state--disable-bottom-border,.ht-empty-data-state:has(~.ht-pagination){border-bottom-width:0}.pika-single{z-index:9999;display:block;position:relative;color:#333;background:#fff;border:1px solid #ccc;border-bottom-color:#bbb;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.pika-single:before,.pika-single:after{content:\" \";display:table}.pika-single:after{clear:both}.pika-single.is-hidden{display:none}.pika-single.is-bound{position:absolute;box-shadow:0 5px 15px -5px #00000080}.pika-lendar{float:left;width:240px;margin:8px}.pika-title{position:relative;text-align:center}.pika-label{display:inline-block;position:relative;z-index:9999;overflow:hidden;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:700;background-color:#fff}.pika-title select{cursor:pointer;position:absolute;z-index:9998;margin:0;left:0;top:5px;opacity:0}.pika-prev,.pika-next{display:block;cursor:pointer;position:relative;outline:none;border:0;padding:0;width:20px;height:30px;text-indent:20px;white-space:nowrap;overflow:hidden;background-color:transparent;background-position:center center;background-repeat:no-repeat;background-size:75% 75%;opacity:.5}.pika-prev:hover,.pika-next:hover{opacity:1}.pika-prev,.is-rtl .pika-next{float:left;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==)}.pika-next,.is-rtl .pika-prev{float:right;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=)}.pika-prev.is-disabled,.pika-next.is-disabled{cursor:default;opacity:.2}.pika-select{display:inline-block}.pika-table{width:100%;border-collapse:collapse;border-spacing:0;border:0}.pika-table th,.pika-table td{width:14.285714285714286%;padding:0}.pika-table th{color:#999;font-size:12px;line-height:25px;font-weight:700;text-align:center}.pika-button{cursor:pointer;display:block;box-sizing:border-box;-moz-box-sizing:border-box;outline:none;border:0;margin:0;width:100%;padding:5px;color:#666;font-size:12px;line-height:15px;text-align:center;background:#f5f5f5;height:initial}.pika-week{font-size:11px;color:#999}.is-today .pika-button{color:#3af;font-weight:700}.is-selected .pika-button,.has-event .pika-button{color:#fff;font-weight:700;background:#3af;box-shadow:inset 0 1px 3px #178fe5;border-radius:3px}.has-event .pika-button{background:#005da9;box-shadow:inset 0 1px 3px #0076c9}.is-disabled .pika-button,.is-inrange .pika-button{background:#d5e9f7}.is-startrange .pika-button{color:#fff;background:#6cb31d;box-shadow:none;border-radius:3px}.is-endrange .pika-button{color:#fff;background:#3af;box-shadow:none;border-radius:3px}.is-disabled .pika-button{pointer-events:none;cursor:default;color:#999;opacity:.3}.is-outside-current-month .pika-button{color:#999;opacity:.3}.is-selection-disabled{pointer-events:none;cursor:default}.pika-button:hover,.pika-row.pick-whole-week:hover .pika-button{color:#fff;background:#ff8000;box-shadow:none;border-radius:3px}.pika-table abbr{border-bottom:none;cursor:help}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}.document-viewer-container{height:100vh;width:100%;display:flex;flex-direction:column;padding:20px;box-sizing:border-box;background-color:#f5f5f5;overflow:hidden}.loader,.error-message{text-align:center;padding:40px 20px;font-family:Arial,sans-serif;background-color:#fff;border-radius:4px;margin:20px;box-shadow:0 2px 4px #0000001a}.error-message{color:#d32f2f;background-color:#ffebee;border:1px solid #ffcdd2}::ng-deep ngx-extended-pdf-viewer{flex:1 1 auto;min-height:0;height:auto;width:calc(100% - 20px);margin:10px;border:1px solid #ddd;border-radius:4px;display:block}.excel-viewer-container{flex:1 1 auto;min-height:0;width:calc(100% - 20px);margin:10px;border-radius:4px;overflow:hidden;box-shadow:0 2px 10px #0000001a;background:#fff;display:flex;flex-direction:column}.excel-sheet-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:12px 10px 0 8px;background:#f3f2f1;border-bottom:1px solid #e1dfdd;min-height:44px}.excel-sheet-tab{padding:8px 16px;border:1px solid #e1dfdd;border-bottom:none;border-radius:4px 4px 0 0;font-size:13px;font-family:Segoe UI,Arial,sans-serif;color:#333;cursor:pointer;transition:background .15s,border-color .15s}.excel-sheet-tab:hover{background:#edebe9;border-bottom:1px solid #000000}.excel-sheet-tab.active{background:#fff;font-weight:600;border-bottom:1px solid #000000;margin-bottom:2px;z-index:1}::ng-deep .handsontable{font-family:Segoe UI,Arial,sans-serif;font-size:13px;overflow:hidden!important}::ng-deep .wtHolder{width:100%!important;height:100%!important}::ng-deep .handsontable td{border:1px solid #e1dfdd;padding:8px 12px;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;word-break:break-word;line-height:1.4;vertical-align:top;max-width:300px;min-width:80px;margin:0!important}::ng-deep .handsontable td:hover{overflow:visible;background-color:#edf3fa;position:relative;z-index:10;box-shadow:0 2px 8px #00000026}::ng-deep .handsontable .htRight{text-align:right;font-family:Segoe UI,Consolas,monospace}::ng-deep .handsontable .htLeft{text-align:left}::ng-deep .handsontable .htCenter{text-align:center}::ng-deep .handsontable tr:nth-child(2n) td{background-color:#faf9f8}::ng-deep .handsontable tr:hover td{background-color:#edf3fa}::ng-deep .handsontable .current-row td{background-color:#e5f3ff}::ng-deep .handsontable .manualColumnResizer{background-color:#34a9db;width:5px;cursor:col-resize;opacity:0;transition:opacity .2s}::ng-deep .handsontable .manualColumnResizer:hover,::ng-deep .handsontable .manualColumnResizer.active{opacity:1;background-color:#0078d4}::ng-deep .handsontable .manualRowResizer{background-color:#34a9db;height:5px;cursor:row-resize;opacity:0;transition:opacity .2s}::ng-deep .handsontable .manualRowResizer:hover,::ng-deep .handsontable .manualRowResizer.active{opacity:1;background-color:#0078d4}::ng-deep .htContextMenu table{font-family:Segoe UI,Arial,sans-serif;font-size:12px}::ng-deep .htContextMenu .htItemWrapper{padding:6px 12px}::ng-deep .htContextMenu .current{background-color:#e5f3ff}\n/*! Bundled license information:\n\nhandsontable/dist/handsontable.full.css:\n (*!\n * Copyright (c) HANDSONCODE sp. z o. o.\n *\n * HANDSONTABLE is a software distributed by HANDSONCODE sp. z o. o., a Polish corporation based in\n * Gdynia, Poland, at Aleja Zwyciestwa 96-98, registered by the District Court in Gdansk under number\n * 538651, EU tax ID number: PL5862294002, share capital: PLN 62,800.00.\n *\n * This software is protected by applicable copyright laws, including international treaties, and dual-\n * licensed - depending on whether your use for commercial purposes, meaning intended for or\n * resulting in commercial advantage or monetary compensation, or not.\n *\n * If your use is strictly personal or solely for evaluation purposes, meaning for the purposes of testing\n * the suitability, performance, and usefulness of this software outside the production environment,\n * you agree to be bound by the terms included in the \"handsontable-non-commercial-license.pdf\" file.\n *\n * Your use of this software for commercial purposes is subject to the terms included in an applicable\n * license agreement.\n *\n * In any case, you must not make any such use of this software as to develop software which may be\n * considered competitive with this software.\n *\n * UNLESS EXPRESSLY AGREED OTHERWISE, HANDSONCODE PROVIDES THIS SOFTWARE ON AN \"AS IS\"\n * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, AND IN NO EVENT AND UNDER NO\n * LEGAL THEORY, SHALL HANDSONCODE BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT,\n * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM\n * USE OR INABILITY TO USE THIS SOFTWARE.\n *\n * Version: 16.2.0\n * Release date: 25/11/2025 (built at 20/11/2025 13:27:05)\n *)\n (*!\n * Handsontable ContextMenu\n *)\n (*!\n * Handsontable DropdownMenu\n *)\n (*!\n * Handsontable Filters\n *)\n (*!\n * Handsontable HiddenRows\n *)\n (*!\n * Pikaday\n * Copyright \u00A9 2014 David Bushell | BSD & MIT license | https://dbushell.com/\n *)\n*/\n"] }]
|
|
733
|
+
args: [{ selector: 'sgdea-document-viewer', standalone: true, imports: [CommonModule, NgxExtendedPdfViewerModule, HotTableModule], template: "<div *ngIf=\"loading()\" class=\"loader\">Cargando documento...</div>\n\n<div *ngIf=\"errorMessage() && !loading()\" class=\"error-message\">\n {{ errorMessage() }}\n</div>\n\n<div *ngIf=\"!loading() && !errorMessage()\" class=\"document-viewer-container\">\n\n <!-- PDF: altura expl\u00EDcita v\u00EDa host; \"auto\" suele dejar 0px en flex/modales -->\n <div\n class=\"pdf-viewer-host\"\n *ngIf=\"fileType() === 'pdf' && pdfSrc\"\n >\n <ngx-extended-pdf-viewer\n [src]=\"pdfSrc\"\n [height]=\"'100%'\"\n useBrowserLocale=\"false\"\n [showDownloadButton]=\"false\"\n [showPrintButton]=\"false\"\n [showOpenFileButton]=\"false\"\n [showSecondaryToolbarButton]=\"false\"\n [showFirstAndLastPageButtons]=\"false\"\n [showPagingButtons]=\"false\"\n [showZoomButtons]=\"true\"\n [showDrawEditor]=\"false\"\n [showTextEditor]=\"false\"\n [showStampEditor]=\"false\"\n [showHighlightEditor]=\"false\"\n >\n </ngx-extended-pdf-viewer>\n </div>\n\n <!-- Imagen -->\n<!-- Visor de im\u00E1genes con zoom y rotaci\u00F3n -->\n <div *ngIf=\"isImageType() && imageSrc\" class=\"image-viewer\">\n <!-- Barra de herramientas -->\n <div class=\"image-toolbar\">\n <button (click)=\"zoomIn()\" title=\"Acercar (Ctrl +)\">\u2795</button>\n <button (click)=\"zoomOut()\" title=\"Alejar (Ctrl -)\">\u2796</button>\n <!-- Separador -->\n <span class=\"separator\"></span>\n\n <!-- Botones de rotaci\u00F3n AHORA FUNCIONALES -->\n <button (click)=\"rotateLeft()\" title=\"Rotar izquierda (\u21BA)\">\u21BA</button>\n <button (click)=\"rotateRight()\" title=\"Rotar derecha (\u21BB)\">\u21BB</button>\n\n <!-- Informaci\u00F3n -->\n <span class=\"zoom-info\">{{ zoomLevel() }}%</span>\n <span class=\"rotation-info\" *ngIf=\"rotation() !== 0\">\n {{ rotation() }}\u00B0\n </span>\n\n <span class=\"image-dimensions\" *ngIf=\"imageDimensions.width\">\n {{ imageDimensions.width }} x {{ imageDimensions.height }}\n </span>\n </div>\n\n <!-- Contenedor de la imagen -->\n <div\n class=\"image-container\" \n #imageContainer \n (wheel)=\"onMouseWheel($event)\"\n >\n <img\n #mainImage\n [src]=\"imageSrc\"\n [alt]=\"fileName()\"\n [style.transform]=\"getImageTransform()\"\n [style.cursor]=\"getCursorStyle()\"\n (load)=\"onImageLoad()\"\n (mousedown)=\"startDrag($event)\"\n (mousemove)=\"onDrag($event)\"\n (mouseup)=\"stopDrag()\"\n (mouseleave)=\"stopDrag()\"\n class=\"zoomable-image\"\n />\n </div>\n\n <!-- Instrucciones -->\n <div class=\"image-footer\" *ngIf=\"zoomLevel() > 100\">\n <small>Arrastra para mover la imagen</small>\n </div>\n </div>\n <!-- Excel -->\n <div *ngIf=\"isExcelType()\" class=\"excel-viewer-container\">\n\n <!-- Tabs -->\n <div *ngIf=\"excelSheetNames.length > 1\" class=\"excel-sheet-tabs\">\n <button\n *ngFor=\"let sheet of excelSheetNames; let i = index\"\n type=\"button\"\n class=\"excel-sheet-tab\"\n [class.active]=\"excelCurrentSheetIndex() === i\"\n (click)=\"selectExcelSheet(i)\"\n >\n {{ sheet }}\n </button>\n </div>\n\n <hot-table\n *ngIf=\"showExcelViewer\"\n #hotTable\n [settings]=\"excelSettings\"\n [data]=\"excelData\"\n [colHeaders]=\"excelColumnHeaders\"\n [rowHeaders]=\"true\"\n [width]=\"'100%'\"\n [height]=\"'100%'\"\n licenseKey=\"non-commercial-and-evaluation\"\n [columns]=\"excelColumns\"\n >\n </hot-table>\n\n <div *ngIf=\"!showExcelViewer\" class=\"loader\">\n Cargando hoja...\n </div>\n\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.handsontable .table th,.handsontable .table td{border-top:none}.handsontable tr{background:#fff}.handsontable td{background-color:inherit}.handsontable .table caption+thead tr:first-child th,.handsontable .table caption+thead tr:first-child td,.handsontable .table colgroup+thead tr:first-child th,.handsontable .table colgroup+thead tr:first-child td,.handsontable .table thead:first-child tr:first-child th,.handsontable .table thead:first-child tr:first-child td{border-top:1px solid #CCCCCC}.handsontable .table-bordered{border:0;border-collapse:separate}.handsontable .table-bordered th,.handsontable .table-bordered td{border-left:none}.handsontable .table-bordered th:first-child,.handsontable .table-bordered td:first-child{border-left:1px solid #CCCCCC}.handsontable .table>tbody>tr>td,.handsontable .table>tbody>tr>th,.handsontable .table>tfoot>tr>td,.handsontable .table>tfoot>tr>th,.handsontable .table>thead>tr>td,.handsontable .table>thead>tr>th{line-height:21px;padding:0}.col-lg-1.handsontable,.col-lg-10.handsontable,.col-lg-11.handsontable,.col-lg-12.handsontable,.col-lg-2.handsontable,.col-lg-3.handsontable,.col-lg-4.handsontable,.col-lg-5.handsontable,.col-lg-6.handsontable,.col-lg-7.handsontable,.col-lg-8.handsontable,.col-lg-9.handsontable,.col-md-1.handsontable,.col-md-10.handsontable,.col-md-11.handsontable,.col-md-12.handsontable,.col-md-2.handsontable,.col-md-3.handsontable,.col-md-4.handsontable,.col-md-5.handsontable,.col-md-6.handsontable,.col-md-7.handsontable,.col-md-8.handsontable,.col-md-9.handsontable .col-sm-1.handsontable,.col-sm-10.handsontable,.col-sm-11.handsontable,.col-sm-12.handsontable,.col-sm-2.handsontable,.col-sm-3.handsontable,.col-sm-4.handsontable,.col-sm-5.handsontable,.col-sm-6.handsontable,.col-sm-7.handsontable,.col-sm-8.handsontable,.col-sm-9.handsontable .col-xs-1.handsontable,.col-xs-10.handsontable,.col-xs-11.handsontable,.col-xs-12.handsontable,.col-xs-2.handsontable,.col-xs-3.handsontable,.col-xs-4.handsontable,.col-xs-5.handsontable,.col-xs-6.handsontable,.col-xs-7.handsontable,.col-xs-8.handsontable,.col-xs-9.handsontable{padding-left:0;padding-right:0}.handsontable.ht-wrapper{height:100%;width:100%}.handsontable .table-striped>tbody>tr:nth-of-type(2n){background-color:#fff}.handsontable .hide{display:none}.handsontable .relative{position:relative}.handsontable .wtHider{position:relative;width:0}.handsontable .wtSpreader{position:relative;width:0;height:auto}.handsontable table,.handsontable tbody,.handsontable thead,.handsontable td,.handsontable th,.handsontable input,.handsontable textarea,.handsontable div{box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.handsontable input,.handsontable textarea{min-height:initial}.handsontable table.htCore{border-collapse:separate;border-spacing:0;margin:0;border-width:0;table-layout:fixed;width:0;outline-width:0;cursor:default;max-width:none;max-height:none}.handsontable col,.handsontable col.rowHeader{width:50px}.handsontable th,.handsontable td{border-top-width:0;border-left-width:0;border-right:1px solid #ccc;border-bottom:1px solid #ccc;height:22px;empty-cells:show;line-height:21px;padding:0 4px;background-color:#fff;vertical-align:top;overflow:hidden;outline:none;outline-width:0;white-space:pre-wrap}[dir=rtl].handsontable th,[dir=rtl].handsontable td{border-right-width:0;border-left:1px solid #ccc}.handsontable th:last-child{border-left:none;border-right:1px solid #ccc;border-bottom:1px solid #ccc}[dir=rtl].handsontable th:last-child{border-right:none;border-left:1px solid #ccc}.handsontable th:first-child,.handsontable .ht_clone_inline_start td:first-of-type,.handsontable .ht_clone_top_inline_start_corner td:first-of-type,.handsontable .ht_clone_bottom_inline_start_corner td:first-of-type,.handsontable.ht-wrapper:not(.htFirstDatasetColumnNotRendered) td:first-of-type{border-left:1px solid #ccc}[dir=rtl].handsontable th:first-child,[dir=rtl].handsontable.ht-wrapper:not(.htFirstDatasetColumnNotRendered) td:first-of-type{border-right:1px solid #ccc}.handsontable .ht_clone_top th:nth-child(2){border-left-width:0;border-right:1px solid #ccc}[dir=rtl].handsontable .ht_clone_top th:nth-child(2){border-right-width:0;border-left:1px solid #ccc}.handsontable.htRowHeaders thead tr th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable.htRowHeaders thead tr th:nth-child(2){border-right:1px solid #ccc}.handsontable tr:first-child th,.handsontable tr:first-child td{border-top:1px solid #ccc}.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-right-width:0;border-left:1px solid #ccc}[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left-width:0;border-right:1px solid #ccc}.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr.lastChild th{border-bottom-width:0}.handsontable th{background-color:#f0f0f0;color:#222;text-align:center;font-weight:400;white-space:nowrap}.handsontable thead th{padding:0}.handsontable th.active{background-color:#ccc}.handsontable thead th .relative{padding:2px 4px}.handsontable span.colHeader{display:inline-block;line-height:1.1}.handsontable .wtBorder{position:absolute;font-size:0}.handsontable .wtBorder.hidden{display:none!important}.handsontable .wtBorder:nth-child(1),.handsontable .wtBorder:nth-child(3){z-index:2}.handsontable .wtBorder:nth-child(2),.handsontable .wtBorder:nth-child(4){z-index:1}.handsontable .wtBorder.current{z-index:10}.handsontable .wtBorder.area{z-index:8}.handsontable .wtBorder.fill{z-index:6}.handsontable .wtBorder.corner{font-size:0;cursor:crosshair}.htBorders .wtBorder.ht-border-style-dashed-vertical{background-image:repeating-linear-gradient(to bottom,var(--ht-custom-border-color) 0 5px,transparent 0 10px)}.htBorders .wtBorder.ht-border-style-dashed-horizontal{background-image:repeating-linear-gradient(to right,var(--ht-custom-border-color) 0 5px,transparent 0 10px)}.htBorders .wtBorder.ht-border-style-dotted-horizontal{background-image:radial-gradient(circle,var(--ht-custom-border-color) calc(var(--ht-custom-border-size) / 2),transparent 0);background-size:calc(var(--ht-custom-border-size) * 2) var(--ht-custom-border-size);background-repeat:repeat-x}.htBorders .wtBorder.ht-border-style-dotted-vertical{background-image:radial-gradient(circle,var(--ht-custom-border-color) calc(var(--ht-custom-border-size) / 2),transparent 0);background-size:var(--ht-custom-border-size) calc(var(--ht-custom-border-size) * 2);background-repeat:repeat-y}.ht_clone_master{z-index:100}.ht_clone_inline_start{z-index:120}.ht_clone_bottom{z-index:130}.ht_clone_bottom_inline_start_corner{z-index:150}.ht_clone_top{z-index:160}.ht_clone_top_inline_start_corner{z-index:180}.handsontable col.hidden{width:0!important}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th{display:none}.ht_master,.ht_clone_inline_start,.ht_clone_top,.ht_clone_bottom{overflow:hidden}.ht_master .wtHolder{overflow:auto}.handsontable .ht_master table.htCore>thead,.handsontable .ht_master table.htCore>tbody>tr>th,.handsontable .ht_clone_inline_start table.htCore>thead{visibility:hidden}.ht_clone_top .wtHolder,.ht_clone_inline_start .wtHolder,.ht_clone_bottom .wtHolder{overflow:hidden}.handsontable{position:relative;touch-action:manipulation;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:400;color:#373737}.handsontable a{color:#104acc}.handsontable.htAutoSize{visibility:hidden;left:-99000px;position:absolute;top:-99000px}.handsontable td.htInvalid{background-color:#ffbeba!important}.handsontable td.htNoWrap{white-space:nowrap}.handsontable td.invisibleSelection,.handsontable th.invisibleSelection{outline:none}.handsontable td.invisibleSelection::selection,.handsontable th.invisibleSelection::selection{background:#fff0}.hot-display-license-info{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:400;color:#373737;padding:5px 0 3px;text-align:left}.hot-display-license-info a{color:#104acc;font-size:10px}.htFocusCatcher{position:absolute;z-index:-1;opacity:0;border:0;margin:0;padding:0;width:0;height:0}.handsontable .htTextEllipsis{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.handsontable .manualColumnResizer{position:absolute;top:0;cursor:col-resize;z-index:210;width:5px;height:25px}.handsontable .manualRowResizer{position:absolute;left:0;cursor:row-resize;z-index:210;height:5px;width:50px}.handsontable .manualColumnResizer:hover,.handsontable .manualColumnResizer.active,.handsontable .manualRowResizer:hover,.handsontable .manualRowResizer.active{background-color:#34a9db}.handsontable .manualColumnResizerGuide{position:absolute;right:unset;top:0;background-color:#34a9db;display:none;width:0;border-right:1px dashed #777;border-left:none;margin-left:5px;margin-right:unset}[dir=rtl].handsontable .manualColumnResizerGuide{left:unset;border-left:1px dashed #777;border-right:none;margin-right:5px;margin-left:unset}.handsontable .manualRowResizerGuide{position:absolute;left:0;bottom:0;background-color:#34a9db;display:none;height:0;border-bottom:1px dashed #777;margin-top:5px}.handsontable .manualColumnResizerGuide.active,.handsontable .manualRowResizerGuide.active{display:block;z-index:209}.handsontable td.area,.handsontable td.area-1,.handsontable td.area-2,.handsontable td.area-3,.handsontable td.area-4,.handsontable td.area-5,.handsontable td.area-6,.handsontable td.area-7{position:relative}.handsontable td.area:before,.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before{content:\"\";position:absolute;inset:0;background:#005eff}.handsontable td.area:before{opacity:.1}.handsontable td.area-1:before{opacity:.2}.handsontable td.area-2:before{opacity:.27}.handsontable td.area-3:before{opacity:.35}.handsontable td.area-4:before{opacity:.41}.handsontable td.area-5:before{opacity:.47}.handsontable td.area-6:before{opacity:.54}.handsontable td.area-7:before{opacity:.58}.handsontable tbody th.current,.handsontable thead th.current{box-shadow:inset 0 0 0 2px #4b89ff}.handsontable tbody th.ht__highlight,.handsontable thead th.ht__highlight{background-color:#dcdcdc}.handsontable tbody th.ht__active_highlight,.handsontable thead th.ht__active_highlight{background-color:#8eb0e7;color:#000}.handsontableInput{border:none;outline-width:0;margin:0;padding:1px 5px 0;font-family:inherit;line-height:21px;font-size:inherit;box-shadow:0 0 0 2px #5292f7 inset;resize:none;display:block;color:#000;border-radius:0;background-color:#fff;box-sizing:border-box!important}.handsontableInput:focus{outline:none}.handsontableInputHolder{position:absolute;top:0;left:0}.htSelectEditor{position:absolute;select{-webkit-appearance:menulist-button!important;width:100%;height:100%;border:2px solid #4b89ff;box-sizing:border-box!important}}.htSelectEditor select:focus{outline:none}.htSelectEditor .htAutocompleteArrow{display:none}.handsontable .htDimmed{color:#777}.handsontable .htSubmenu{position:relative}.handsontable .htSubmenu :after{content:\"\\25b6\";color:#777;position:absolute;right:5px;font-size:9px}[dir=rtl].handsontable .htSubmenu :after{content:\"\"}[dir=rtl].handsontable .htSubmenu :before{content:\"\\25c0\";color:#777;position:absolute;left:5px;font-size:9px}.handsontable .htLeft{text-align:left}.handsontable .htCenter{text-align:center}.handsontable .htRight{text-align:right}.handsontable .htJustify{text-align:justify}.handsontable .htTop{vertical-align:top}.handsontable .htMiddle{vertical-align:middle}.handsontable .htBottom{vertical-align:bottom}.handsontable .htPlaceholder{color:#999}.handsontable.listbox{border:1px solid #ccc;margin:0}.handsontable.listbox.autocompleteEditor,.handsontable.listbox.dropdownEditor{border-width:0}.handsontable.listbox .ht_master table{border-collapse:separate;background:#fff}.handsontable.listbox.autocompleteEditor .ht_master table,.handsontable.listbox.dropdownEditor .ht_master table{border:1px solid #ccc}.handsontable.listbox th,.handsontable.listbox tr:first-child th,.handsontable.listbox tr:last-child th,.handsontable.listbox tr:first-child td,.handsontable.listbox td{border-color:transparent!important}.handsontable.listbox th,.handsontable.listbox td{white-space:nowrap;text-overflow:ellipsis}.handsontable.listbox td.htDimmed{cursor:default;color:inherit;font-style:inherit}.handsontable.listbox .wtBorder{visibility:hidden}.handsontable.listbox tr td.current,.handsontable.listbox tr:hover td{background:#eee}.ht_editor_hidden{z-index:-1}.ht_editor_visible{z-index:200}.handsontable td.htSearchResult{background:#fcedd9;color:#583707}.handsontable.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch}.handsontable.mobile .handsontableInput:focus{-webkit-box-shadow:0 0 0 2px #5292f7 inset;-moz-box-shadow:0 0 0 2px #5292f7 inset;box-shadow:0 0 0 2px #5292f7 inset;-webkit-appearance:none}.handsontable .topSelectionHandle,.handsontable .topSelectionHandle-HitArea,.handsontable .bottomSelectionHandle,.handsontable .bottomSelectionHandle-HitArea{left:-10000px;right:unset;top:-10000px;z-index:9999}[dir=rtl].handsontable .topSelectionHandle,[dir=rtl].handsontable .topSelectionHandle-HitArea,[dir=rtl].handsontable .bottomSelectionHandle,[dir=rtl].handsontable .bottomSelectionHandle-HitArea{right:-10000px;left:unset}.handsontable.hide-tween{-webkit-animation:opacity-hide .3s;animation:opacity-hide .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable.show-tween{-webkit-animation:opacity-show .3s;animation:opacity-show .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable .htAutocompleteArrow{float:right;font-size:10px;color:#bbb;cursor:default;width:16px;text-align:center}[dir=rtl].handsontable .htAutocompleteArrow{float:left}.handsontable td.htInvalid .htAutocompleteArrow{color:#555}.handsontable td.htInvalid .htAutocompleteArrow:hover{color:#1a1a1a}.handsontable td .htAutocompleteArrow:hover{color:#777}.handsontable td.area .htAutocompleteArrow{color:#d3d3d3}.handsontable .htCheckboxRendererInput.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{font-size:inherit;vertical-align:middle;cursor:pointer;display:inline-block}.handsontable .htCheckboxRendererLabel.fullWidth{width:100%}.handsontable .collapsibleIndicator{position:absolute;top:50%;transform:translateY(-50%);left:unset;right:5px;border:1px solid #A6A6A6;line-height:8px;color:#222;border-radius:10px;font-size:10px;width:10px;height:10px;cursor:pointer;-webkit-box-shadow:0 0 0 6px rgb(238,238,238);-moz-box-shadow:0 0 0 6px rgb(238,238,238);box-shadow:0 0 0 3px #eee;background:#eee;text-align:center}[dir=rtl].handsontable .collapsibleIndicator{right:unset;left:5px}.handsontable[dir=ltr] thead th:has(.collapsibleIndicator) div.htRight span.colHeader{margin-right:20px}.handsontable[dir=rtl] thead th:has(.collapsibleIndicator) div.htLeft span.colHeader{margin-left:20px}.handsontable .columnSorting{position:relative}.handsontable[dir=ltr] div.htRight span[class*=ascending],.handsontable[dir=ltr] div.htRight span[class*=descending]{margin-right:10px;margin-left:-10px}.handsontable[dir=rtl] div.htLeft span[class*=ascending],.handsontable[dir=rtl] div.htLeft span[class*=descending]{margin-left:10px;margin-right:-10px}.handsontable[dir=ltr] div.htRight span[class*=ascending]:only-child,.handsontable[dir=ltr] div.htRight span[class*=descending]:only-child{margin-right:15px;margin-left:-15px}.handsontable[dir=rtl] div.htLeft span[class*=ascending]:only-child,.handsontable[dir=rtl] div.htLeft span[class*=descending]:only-child{margin-left:15px;margin-right:-15px}.handsontable .columnSorting.sortAction:hover{text-decoration:underline;cursor:pointer}.handsontable span.colHeader.columnSorting:before{top:50%;margin-top:-6px;padding-left:8px;padding-right:0;position:absolute;right:-9px;left:unset;content:\"\";height:10px;width:5px;background-size:contain;background-repeat:no-repeat;background-position-x:right}[dir=rtl].handsontable span.colHeader.columnSorting:before{padding-right:8px;padding-left:0;left:-9px;right:unset;background-position-x:left}.handsontable span.colHeader.columnSorting.ascending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC)}.handsontable span.colHeader.columnSorting.descending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFJJREFUeAHtzjkSgCAQRNFmQYUZ7n9dKUvru0TmvPAn3br0QfgdZ5xx6x+rQn23GqTYnq1FDcnuzZIO2WmedVqIRVxgGKEyjNgYRjKGkZ1hFIZ3I70LyM0VtU8AAAAASUVORK5CYII=)}.htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled):before{content:\"*\";display:inline-block;position:relative;padding-right:20px}.handsontable.htGhostTable table thead th{border-bottom-width:0}.handsontable.htGhostTable table tbody tr th,.handsontable.htGhostTable table tbody tr td{border-top-width:0}.handsontable .htCommentCell{position:relative}.handsontable .htCommentCell:after{content:\"\";position:absolute;top:0;right:0;left:unset;border-left:6px solid transparent;border-right:none;border-top:6px solid black}[dir=rtl].handsontable .htCommentCell:after{left:0;right:unset;border-right:6px solid transparent;border-left:none}.htCommentsContainer .htComments{display:none;z-index:1059;position:absolute}.htCommentsContainer .htCommentTextArea{box-shadow:#0000001e 0 1px 3px,#0000003d 0 1px 2px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none;border-left:3px solid #ccc;border-right:none;background-color:#fff;width:215px;height:90px;font-size:12px;padding:5px;outline:0!important;-webkit-appearance:none}[dir=rtl].htCommentsContainer .htCommentTextArea{border-right:3px solid #ccc;border-left:none}.htCommentsContainer .htCommentTextArea:focus{box-shadow:#0000001e 0 1px 3px,#0000003d 0 1px 2px,inset 0 0 0 1px #5292f7;border-left:3px solid #5292f7;border-right:none}[dir=rtl].htCommentsContainer .htCommentTextArea:focus{border-right:3px solid #5292f7;border-left:none}.htContextMenu:not(.htGhostTable){display:none;position:absolute;z-index:1060}.htContextMenu .ht_clone_top,.htContextMenu .ht_clone_bottom,.htContextMenu .ht_clone_inline_start,.htContextMenu .ht_clone_top_inline_start_corner,.htContextMenu .ht_clone_bottom_inline_start_corner{display:none}.htContextMenu .ht_master table.htCore{border-color:#ccc;border-style:solid;border-top-width:1px;border-bottom-width:2px;border-left-width:1px;border-right-width:2px}[dir=rtl].htContextMenu .ht_master table.htCore{border-right-width:1px;border-left-width:2px}.htContextMenu.handsontable:focus{outline:none}.htContextMenu .wtBorder{visibility:hidden}.htContextMenu table tbody tr td{background:#fff;border-width:0;padding:4px 6px 0;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.htContextMenu table tbody tr td:first-child{border-top-width:0;border-bottom-width:0;border-left-width:0;border-right-width:0}[dir=rtl].htContextMenu table tbody tr td:first-child{border-right-width:0;border-left-width:0}.htContextMenu table tbody tr td.htDimmed{font-style:normal;color:#323232}.htContextMenu table tbody tr td.current{background:#f3f3f3}.htContextMenu table tbody tr td.htSeparator{border-top:1px solid #e6e6e6;height:0;padding:0;cursor:default}.htContextMenu table tbody tr td.htDisabled{color:#999;cursor:default}.htContextMenu table tbody tr td.htDisabled:hover{background:#fff;color:#999;cursor:default}.htContextMenu table tbody tr.htHidden{display:none}.htContextMenu table tbody tr td .htItemWrapper{margin-left:10px;margin-right:6px}[dir=rtl].htContextMenu table tbody tr td .htItemWrapper{margin-right:10px;margin-left:6px}.htContextMenu table tbody tr td div span.selected{margin-top:-2px;position:absolute;left:4px;right:0}[dir=rtl].htContextMenu table tbody tr td div span.selected{right:4px;left:0}.htContextMenu .ht_master .wtHolder{overflow:hidden}textarea.HandsontableCopyPaste{position:fixed!important;top:0!important;right:100%!important;overflow:hidden;opacity:0;outline:0 none!important}.handsontable .changeType{background:#eee;border-radius:2px;border:1px solid #bbb;color:#bbb;font-size:9px;line-height:9px;padding:2px;margin:3px 1px 0 5px;float:right}[dir=rtl].handsontable .changeType{float:left}.handsontable[dir=rtl] .changeType{margin:3px 5px 0 1px}.handsontable .changeType:before{content:\"\\25bc \"}.handsontable .changeType:hover{border:1px solid #777;color:#777;cursor:pointer}.htDropdownMenu:not(.htGhostTable){display:none;position:absolute;z-index:1060}.htDropdownMenu .ht_clone_top,.htDropdownMenu .ht_clone_bottom,.htDropdownMenu .ht_clone_inline_start,.htDropdownMenu .ht_clone_top_inline_start_corner,.htDropdownMenu .ht_clone_bottom_inline_start_corner{display:none}.htDropdownMenu table.htCore{border-color:#ccc;border-style:solid;border-top-width:1px;border-bottom-width:2px;border-left-width:1px;border-right-width:2px}[dir=rtl].htDropdownMenu table.htCore{border-right-width:1px;border-left-width:2px}.htDropdownMenu.handsontable:focus{outline:none}.htDropdownMenu .wtBorder{visibility:hidden}.htDropdownMenu table tbody tr td{background:#fff;border-width:0;padding:4px 6px 0;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.htDropdownMenu table tbody tr td:first-child{border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-width:0}[dir=rtl].htDropdownMenu table tbody tr td:first-child{border-left-width:0;border-right-width:0}.htDropdownMenu table tbody tr td.htDimmed{font-style:normal;color:#323232}.htDropdownMenu table tbody tr td.current{background:#e9e9e9}.htDropdownMenu table tbody tr td.htSeparator{border-top:1px solid #e6e6e6;height:0;padding:0;cursor:default}.htDropdownMenu table tbody tr td.htDisabled{color:#999}.htDropdownMenu table tbody tr td.htDisabled:hover{background:#fff;color:#999;cursor:default}.htDropdownMenu:not(.htGhostTable) table tbody tr.htHidden{display:none}.htDropdownMenu table tbody tr td .htItemWrapper{margin-left:10px;margin-right:10px}[dir=rtl].htDropdownMenu table tbody tr td .htItemWrapper{margin-right:10px;margin-left:10px}.htDropdownMenu table tbody tr td div span.selected{margin-top:-2px;position:absolute;left:4px;right:0}[dir=rtl].htDropdownMenu table tbody tr td div span.selected{right:4px;left:0}.htDropdownMenu .ht_master .wtHolder{overflow:hidden}.htFiltersConditionsMenu:not(.htGhostTable){display:none;position:absolute;z-index:1070}.htFiltersConditionsMenu .ht_clone_top,.htFiltersConditionsMenu .ht_clone_bottom,.htFiltersConditionsMenu .ht_clone_inline_start,.htFiltersConditionsMenu .ht_clone_top_inline_start_corner,.htFiltersConditionsMenu .ht_clone_bottom_inline_start_corner{display:none}.htFiltersConditionsMenu table.htCore{border:1px solid #bbb;border-bottom-width:2px;border-right-width:2px}.htFiltersConditionsMenu .wtBorder{visibility:hidden}.htFiltersConditionsMenu table tbody tr td{background:#fff;border-width:0;padding:4px 6px 0;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.htFiltersConditionsMenu table tbody tr td:first-child{border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-width:0}[dir=rtl].htFiltersConditionsMenu table tbody tr td:first-child{border-left-width:0;border-right-width:0}.htFiltersConditionsMenu table tbody tr td.htDimmed{font-style:normal;color:#323232}.htFiltersConditionsMenu table tbody tr td.current{background:#e9e9e9}.htFiltersConditionsMenu table tbody tr td.htSeparator{border-top:1px solid #e6e6e6;height:0;padding:0}.htFiltersConditionsMenu table tbody tr td.htDisabled{color:#999}.htFiltersConditionsMenu table tbody tr td.htDisabled:hover{background:#fff;color:#999;cursor:default}.htFiltersConditionsMenu table tbody tr td .htItemWrapper{margin-left:10px;margin-right:10px}.htFiltersConditionsMenu table tbody tr td div span.selected{margin-top:-2px;position:absolute;left:4px}.htFiltersConditionsMenu .ht_master .wtHolder{overflow:hidden}.handsontable .htMenuFiltering{border-bottom:1px dotted #ccc;height:135px;overflow:hidden}.handsontable .ht_master table td.htCustomMenuRenderer{background-color:#fff;cursor:auto}.handsontable .htFiltersMenuLabel{font-size:.75em}.handsontable .htFiltersMenuActionBar{text-align:center;padding-top:10px;padding-bottom:3px}.handsontable .htFiltersMenuCondition.border{border-bottom:1px dotted #ccc!important}.handsontable .htFiltersMenuCondition .htUIInput{padding:0 0 5px}.handsontable .htFiltersMenuValue{border-bottom:1px dotted #ccc!important}.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch{padding:0}.handsontable .htFiltersMenuCondition .htUIInput input,.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch input{font-family:inherit;font-size:.75em;padding:4px;box-sizing:border-box;width:100%}.htUIMultipleSelect .ht_master .wtHolder{overflow:auto}.handsontable .htFiltersActive .changeType{border:1px solid #509272;color:#18804e;background-color:#d2e0d9}.handsontable .htUISelectAll{margin-left:0;margin-right:10px}[dir=rtl].handsontable .htUISelectAll{margin-right:0;margin-left:10px}.handsontable .htUIClearAll,.handsontable .htUISelectAll{display:inline-block}.handsontable .htUIClearAll a,.handsontable .htUISelectAll a{font-size:.75em}.handsontable .htUISelectionControls{text-align:right}[dir=rtl].handsontable .htUISelectionControls{text-align:left}.handsontable .htCheckboxRendererInput{display:inline-block;margin:0 5px 0 0;vertical-align:middle;height:1em}[dir=rtl].handsontable .htCheckboxRendererInput{margin-left:5px;margin-right:0}.handsontable .htUIInput{padding:3px 0 7px;position:relative;text-align:center}.handsontable .htUIInput input{border-radius:2px;border:1px solid #d2d1d1}.handsontable .htUIInputIcon{position:absolute}.handsontable .htUIInput.htUIButton{cursor:pointer;display:inline-block}.handsontable .htUIInput.htUIButton input{background-color:#eee;color:#000;cursor:pointer;font-family:inherit;font-size:.75em;font-weight:700;height:19px;min-width:64px}.handsontable .htUIInput.htUIButton input:hover{border-color:#b9b9b9}.handsontable .htUIInput.htUIButtonOK{margin-left:0;margin-right:10px}[dir=rtl].handsontable .htUIInput.htUIButtonOK{margin-right:0;margin-left:10px}.handsontable .htUIInput.htUIButtonOK input{background-color:#0f9d58;border-color:#18804e;color:#fff}.handsontable .htUIInput.htUIButtonOK input:focus-visible{background-color:#92dd8d;border-color:#7cb878;color:#000}.handsontable .htUIInput.htUIButtonOK input:hover{border-color:#1a6f46}.handsontable .htUISelect{cursor:pointer;margin-bottom:7px;position:relative}.handsontable .htUISelectCaption{background-color:#e8e8e8;border-radius:2px;border:1px solid #d2d1d1;font-family:inherit;font-size:.75em;font-weight:700;padding:3px 20px 3px 10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.handsontable .htUISelectCaption:hover{background-color:#e8e8e8;border:1px solid #b9b9b9}.handsontable .htUISelectDropdown:after{content:\"\\25b2\";font-size:7px;position:absolute;right:10px;top:0}.handsontable .htUISelectDropdown:before{content:\"\\25bc\";font-size:7px;position:absolute;right:10px;top:8px}.handsontable .htUIMultipleSelect .handsontable .htCore{border:none}.handsontable .htUIMultipleSelect .handsontable .htCore td:hover{background-color:#f5f5f5}.handsontable .htUIMultipleSelectSearch input{border-radius:2px;border:1px solid #d2d1d1;padding:3px}.handsontable .htUIRadio{display:inline-block;margin-left:0;margin-right:5px;height:100%}[dir=rtl].handsontable .htUIRadio{margin-right:0;margin-left:5px}.handsontable .htUIRadio:last-child{margin-right:0}.handsontable .htUIRadio>input[type=radio]{margin-left:0;margin-right:.5ex}[dir=rtl].handsontable .htUIRadio>input[type=radio]{margin-right:0;margin-left:.5ex}.handsontable .htUIRadio label{vertical-align:middle}.handsontable .htFiltersMenuOperators{padding-bottom:5px}.handsontable th.beforeHiddenColumn{position:relative}.handsontable th.beforeHiddenColumn:after,.handsontable th.afterHiddenColumn:before{color:#bbb;position:absolute;top:50%;font-size:5pt;transform:translateY(-50%)}.handsontable th.afterHiddenColumn{position:relative}.handsontable[dir=ltr] th.afterHiddenColumn div.htLeft{margin-left:10px}.handsontable[dir=ltr] th.beforeHiddenColumn div.htRight,.handsontable[dir=rtl] th.afterHiddenColumn div.htRight{margin-right:10px}.handsontable[dir=rtl] th.beforeHiddenColumn div.htLeft{margin-left:10px}.handsontable th.beforeHiddenColumn:after{right:1px;content:\"\\25c0\"}[dir=rtl].handsontable th.beforeHiddenColumn:after{right:initial;left:1px;content:\"\\25b6\"}.handsontable th.afterHiddenColumn:before{left:1px;content:\"\\25b6\"}[dir=rtl].handsontable th.afterHiddenColumn:before{right:1px;left:initial;content:\"\\25c0\"}.handsontable th.beforeHiddenRow:before,.handsontable th.afterHiddenRow:after{color:#bbb;font-size:6pt;line-height:6pt;position:absolute;left:2px}.handsontable th.beforeHiddenRow,.handsontable th.afterHiddenRow{position:relative}.handsontable th.beforeHiddenRow:before{content:\"\\25b2\";bottom:2px}.handsontable th.afterHiddenRow:after{content:\"\\25bc\";top:2px}.handsontable.ht__selection--rows tbody th.beforeHiddenRow.ht__highlight:before,.handsontable.ht__selection--rows tbody th.afterHiddenRow.ht__highlight:after{color:#eee}.handsontable td.afterHiddenRow.firstVisibleRow,.handsontable th.afterHiddenRow.firstVisibleRow{border-top:1px solid #CCC}.htRowHeaders .ht_master.innerBorderInlineStart~.ht_clone_top_inline_start_corner th:nth-child(2),.htRowHeaders .ht_master.innerBorderInlineStart~.ht_clone_inline_start td:first-of-type{border-left:0 none}.handsontable.ht__manualColumnMove.after-selection--columns thead th.ht__highlight{cursor:move;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab}.handsontable.ht__manualColumnMove.on-moving--columns *,.handsontable.ht__manualColumnMove.on-moving--columns thead th.ht__highlight{cursor:move;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}.handsontable.ht__manualColumnMove.on-moving--columns .manualColumnResizer{display:none}.handsontable .ht__manualColumnMove--guideline,.handsontable .ht__manualColumnMove--backlight{position:absolute;height:100%;display:none}.handsontable .ht__manualColumnMove--guideline{background:#757575;width:2px;top:0;margin-inline-start:-1px;margin-inline-end:0;z-index:205}.handsontable .ht__manualColumnMove--backlight{background:#343434;background:#34343440;display:none;z-index:205;pointer-events:none}.handsontable.on-moving--columns.show-ui .ht__manualColumnMove--guideline,.handsontable.on-moving--columns .ht__manualColumnMove--backlight{display:block}.handsontable.ht__manualRowMove.after-selection--rows tbody th.ht__highlight{cursor:move;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab}.handsontable.ht__manualRowMove.on-moving--rows *,.handsontable.ht__manualRowMove.on-moving--rows tbody th.ht__highlight{cursor:move;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}.handsontable.ht__manualRowMove.on-moving--rows .manualRowResizer{display:none}.handsontable .ht__manualRowMove--guideline,.handsontable .ht__manualRowMove--backlight{position:absolute;width:100%;display:none}.handsontable .ht__manualRowMove--guideline{background:#757575;height:2px;left:0;margin-top:-1px;z-index:205}.handsontable .ht__manualRowMove--backlight{background:#343434;background:#34343440;display:none;z-index:205;pointer-events:none}.handsontable.on-moving--rows.show-ui .ht__manualRowMove--guideline,.handsontable.on-moving--rows .ht__manualRowMove--backlight{display:block}.handsontable tbody td[rowspan][class*=area][class*=highlight]:not([class*=fullySelectedMergedCell]):before{opacity:0}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-multiple]:before{opacity:.1}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-0]:before{opacity:.1}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-1]:before{opacity:.2}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-2]:before{opacity:.27}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-3]:before{opacity:.35}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-4]:before{opacity:.41}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-5]:before{opacity:.47}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-6]:before{opacity:.54}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-7]:before{opacity:.58}.handsontable[dir=ltr] div.htRight span[class*=sort-]{margin-right:15px;margin-left:-15px}.handsontable[dir=rtl] div.htLeft span[class*=sort-]{margin-left:15px;margin-right:-15px}.handsontable[dir=ltr] div.htRight span[class*=sort-]:only-child{margin-right:20px;margin-left:-20px}.handsontable[dir=rtl] div.htLeft span[class*=sort-]:only-child{margin-left:20px;margin-right:-20px}.handsontable span.colHeader.columnSorting:after{top:50%;margin-top:-2px;position:absolute;right:-15px;left:unset;padding-left:5px;padding-right:unset;font-size:8px;height:8px;line-height:1.1}[dir=rtl].handsontable span.colHeader.columnSorting:after{left:-15px;right:unset;padding-right:5px;padding-left:unset}.handsontable span.colHeader.columnSorting[class^=sort-]:after,.handsontable span.colHeader.columnSorting[class*=\" sort-\"]:after{content:\"+\"}.handsontable span.colHeader.columnSorting.sort-1:after{content:\"1\"}.handsontable span.colHeader.columnSorting.sort-2:after{content:\"2\"}.handsontable span.colHeader.columnSorting.sort-3:after{content:\"3\"}.handsontable span.colHeader.columnSorting.sort-4:after{content:\"4\"}.handsontable span.colHeader.columnSorting.sort-5:after{content:\"5\"}.handsontable span.colHeader.columnSorting.sort-6:after{content:\"6\"}.handsontable span.colHeader.columnSorting.sort-7:after{content:\"7\"}.htGhostTable th div button.changeType+span.colHeader.columnSorting:not(.indicatorDisabled){padding-right:5px}.handsontable thead th.hiddenHeader:not(:first-of-type){display:none}thead th.hiddenHeaderText .colHeader{opacity:0}.handsontable th.ht_nestingLevels{text-align:left;padding-left:7px}[dir=rtl].handsontable th.ht_nestingLevels{text-align:right;padding-right:7px}.handsontable th div.ht_nestingLevels{display:inline-block;position:absolute;left:11px;right:unset}[dir=rtl].handsontable th div.ht_nestingLevels{right:11px;left:unset}.handsontable.innerBorderInlineStart th div.ht_nestingLevels,.handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingLevels{right:10px;left:unset}[dir=rtl].handsontable.innerBorderInlineStart th div.ht_nestingLevels,[dir=rtl].handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingLevels{left:10px;right:unset}.handsontable th span.ht_nestingLevel{display:inline-block}.handsontable th span.ht_nestingLevel_empty{display:inline-block;width:10px;height:1px;float:left}[dir=rtl].handsontable th span.ht_nestingLevel_empty{float:right}.handsontable th span.ht_nestingLevel:after{content:\"\\2510\";font-size:9px;display:inline-block;position:relative;bottom:3px}.handsontable th div.ht_nestingButton{display:inline-block;position:absolute;right:-2px;left:unset;cursor:pointer}[dir=rtl].handsontable th div.ht_nestingButton{left:-2px;right:unset}.handsontable th div.ht_nestingButton.ht_nestingExpand:after{content:\"+\"}.handsontable th div.ht_nestingButton.ht_nestingCollapse:after{content:\"-\"}.handsontable.innerBorderInlineStart th div.ht_nestingButton,.handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingButton{right:0;left:unset}[dir=rtl].handsontable.innerBorderInlineStart th div.ht_nestingButton,[dir=rtl].handsontable.innerBorderInlineStart~.handsontable th div.ht_nestingButton{left:0;right:unset}.ht-root-wrapper{position:relative;display:flex;flex-direction:column;height:100%}.ht-grid{flex:1 1 auto;min-height:0}.ht-dialog{position:absolute;top:0;left:0;display:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;width:100%;height:100%;z-index:1060;opacity:0;overflow-y:auto;border:1px solid #ccc;box-sizing:border-box!important}.ht-dialog[dir=rtl]{left:auto;right:0}.ht-dialog:focus{border:1px solid #4b89ff;outline:none}.ht-dialog:has(.htFocusCatcher:focus){border:1px solid #4b89ff;outline:none}.ht-dialog *{box-sizing:border-box!important}.ht-dialog--background-solid{background-color:#fff}.ht-dialog--background-semi-transparent{background-color:#ffffff80}.ht-dialog--animation{transition:opacity .15s ease-in-out}.ht-dialog--show{opacity:1}.ht-dialog__content-wrapper{display:flex;align-items:center;justify-content:center;width:100%;min-height:100%;padding:16px}.ht-dialog__content-wrapper:focus{border:1px solid #4b89ff;outline:none}.ht-dialog__content{position:relative;padding:8px;display:flex;gap:8px;max-width:480px;color:#222}.ht-dialog__content--background{box-shadow:0 8px 16px #00000014;background-color:#f7f7f9}.ht-dialog--confirm .ht-dialog__content-wrapper{text-align:center}.ht-dialog--confirm .ht-dialog__content-wrapper-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;max-width:480px}.ht-dialog--confirm .ht-dialog__content-wrapper-inner--background{box-shadow:0 8px 16px #00000014;background-color:#f7f7f9}.ht-dialog--confirm .ht-dialog__content{display:flex;flex-direction:column;align-items:center;justify-content:center}.ht-dialog--confirm .ht-dialog__content:has(.ht-dialog__buttons){gap:4px}.ht-dialog--confirm .ht-dialog__title{margin:0;font-size:16px;font-weight:400;line-height:24px}.ht-dialog--confirm .ht-dialog__description{margin:0;color:#222;font-size:12px;font-weight:400;line-height:16px}.ht-dialog--confirm .ht-dialog__buttons{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.ht-root-wrapper .ht-pagination{color:#222;background:#f0f0f0;border:1px solid #ccc;border-top-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:12px;font-weight:400;box-sizing:border-box;overflow-x:auto}.ht-root-wrapper .ht-pagination__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding-inline:8px;padding-block:4px;min-width:230px}.ht-root-wrapper .ht-pagination--bordered{border-top-color:#ccc}.ht-root-wrapper .ht-page-size-section{display:flex;align-items:center;gap:8px}.ht-root-wrapper .ht-page-size-section span{white-space:nowrap}.ht-root-wrapper .ht-page-size-section__select-wrapper{position:relative;border-radius:2px;border:1px solid #ccc}.ht-root-wrapper .ht-page-size-section__select-wrapper select{padding-inline-start:8px;padding-inline-end:8px;padding-top:4px;padding-bottom:4px;border-radius:2px;color:#222;background-color:#f0f0f0;border:none;-webkit-appearance:none;font-size:inherit;cursor:pointer}.ht-root-wrapper .ht-page-size-section__select-wrapper select:disabled{opacity:.4;cursor:default}.ht-root-wrapper .ht-page-size-section__select-wrapper select:hover:not(:disabled){background-color:#e0e0e0}.ht-root-wrapper .ht-page-size-section__select-wrapper select:focus{background-color:#e0e0e0;outline:1px solid #4b89ff}.ht-root-wrapper .ht-page-counter-section{margin-inline-end:auto}.ht-root-wrapper .ht-page-navigation-section{display:flex;align-items:center;gap:8px}.ht-root-wrapper .ht-page-navigation-section button{font-size:inherit;color:#222;background-color:transparent;border:none;padding:4px;border-radius:2px;cursor:pointer}.ht-root-wrapper .ht-page-navigation-section button:before{display:block;width:16px;height:16px;line-height:16px;text-align:center}.ht-root-wrapper .ht-page-navigation-section button:disabled{opacity:.4;cursor:default}.ht-root-wrapper .ht-page-navigation-section button:hover:not(:disabled){background-color:#e0e0e0}.ht-root-wrapper .ht-page-navigation-section button:focus{outline:1px solid #4b89ff}.ht-root-wrapper .ht-page-navigation-section .ht-page-first:before{content:\"\\21a4\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-first:before{content:\"\\21a6\"}.ht-root-wrapper .ht-page-navigation-section .ht-page-prev:before{content:\"\\21a2\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-prev:before{content:\"\\21a3\"}.ht-root-wrapper .ht-page-navigation-section .ht-page-next:before{content:\"\\21a3\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-next:before{content:\"\\21a2\"}.ht-root-wrapper .ht-page-navigation-section .ht-page-last:before{content:\"\\21a6\"}[dir=rtl].ht-root-wrapper .ht-page-navigation-section .ht-page-last:before{content:\"\\21a4\"}.ht-root-wrapper .ht-page-navigation-section span{white-space:nowrap}.ht-loading__icon-svg{display:block;width:16px;height:16px;color:#5292f7;animation:ht-loading-spin 1s linear infinite;transform-origin:50% 50%}.ht-loading__content{display:flex;align-items:center;gap:8px}.ht-loading__title{margin:0;font-size:13px;font-weight:400;line-height:18px}.ht-loading__description{margin:0;color:#222;font-size:12px;line-height:16px;font-weight:400}@keyframes ht-loading-spin{to{transform:rotate(360deg)}}.ht-empty-data-state{display:none;position:absolute;width:100%;left:0;z-index:999;overflow-y:auto;border:1px solid #ccc;box-sizing:border-box;background-color:#fff}.ht-empty-data-state *{box-sizing:border-box!important}.ht-empty-data-state__content-wrapper{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;min-height:100%;padding:16px}.ht-empty-data-state__content-wrapper-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:480px;padding:16px}.ht-empty-data-state__content-wrapper-inner:focus{outline:none;box-shadow:0 0 0 1px #4b89ff}.ht-empty-data-state__content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.ht-empty-data-state__title{margin:0;font-size:16px;font-weight:400;line-height:24px}.ht-empty-data-state__description{margin:0;color:#222;font-size:12px;line-height:16px;font-weight:400}.ht-empty-data-state__buttons{display:flex;justify-content:center;flex-direction:row;flex-wrap:wrap;gap:8px}.ht-empty-data-state__buttons--has-buttons{margin-top:8px}.ht-empty-data-state--disable-top-border{border-top-width:0}.ht-empty-data-state--disable-inline-border{border-inline-start-width:0}.ht-empty-data-state--disable-bottom-border,.ht-empty-data-state:has(~.ht-pagination){border-bottom-width:0}.pika-single{z-index:9999;display:block;position:relative;color:#333;background:#fff;border:1px solid #ccc;border-bottom-color:#bbb;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.pika-single:before,.pika-single:after{content:\" \";display:table}.pika-single:after{clear:both}.pika-single.is-hidden{display:none}.pika-single.is-bound{position:absolute;box-shadow:0 5px 15px -5px #00000080}.pika-lendar{float:left;width:240px;margin:8px}.pika-title{position:relative;text-align:center}.pika-label{display:inline-block;position:relative;z-index:9999;overflow:hidden;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:700;background-color:#fff}.pika-title select{cursor:pointer;position:absolute;z-index:9998;margin:0;left:0;top:5px;opacity:0}.pika-prev,.pika-next{display:block;cursor:pointer;position:relative;outline:none;border:0;padding:0;width:20px;height:30px;text-indent:20px;white-space:nowrap;overflow:hidden;background-color:transparent;background-position:center center;background-repeat:no-repeat;background-size:75% 75%;opacity:.5}.pika-prev:hover,.pika-next:hover{opacity:1}.pika-prev,.is-rtl .pika-next{float:left;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==)}.pika-next,.is-rtl .pika-prev{float:right;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=)}.pika-prev.is-disabled,.pika-next.is-disabled{cursor:default;opacity:.2}.pika-select{display:inline-block}.pika-table{width:100%;border-collapse:collapse;border-spacing:0;border:0}.pika-table th,.pika-table td{width:14.285714285714286%;padding:0}.pika-table th{color:#999;font-size:12px;line-height:25px;font-weight:700;text-align:center}.pika-button{cursor:pointer;display:block;box-sizing:border-box;-moz-box-sizing:border-box;outline:none;border:0;margin:0;width:100%;padding:5px;color:#666;font-size:12px;line-height:15px;text-align:center;background:#f5f5f5;height:initial}.pika-week{font-size:11px;color:#999}.is-today .pika-button{color:#3af;font-weight:700}.is-selected .pika-button,.has-event .pika-button{color:#fff;font-weight:700;background:#3af;box-shadow:inset 0 1px 3px #178fe5;border-radius:3px}.has-event .pika-button{background:#005da9;box-shadow:inset 0 1px 3px #0076c9}.is-disabled .pika-button,.is-inrange .pika-button{background:#d5e9f7}.is-startrange .pika-button{color:#fff;background:#6cb31d;box-shadow:none;border-radius:3px}.is-endrange .pika-button{color:#fff;background:#3af;box-shadow:none;border-radius:3px}.is-disabled .pika-button{pointer-events:none;cursor:default;color:#999;opacity:.3}.is-outside-current-month .pika-button{color:#999;opacity:.3}.is-selection-disabled{pointer-events:none;cursor:default}.pika-button:hover,.pika-row.pick-whole-week:hover .pika-button{color:#fff;background:#ff8000;box-shadow:none;border-radius:3px}.pika-table abbr{border-bottom:none;cursor:help}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}.document-viewer-container{height:100%;min-height:0;width:100%;display:flex;flex-direction:column;padding:20px;box-sizing:border-box;background-color:#f5f5f5;overflow:hidden}.loader,.error-message{text-align:center;padding:40px 20px;font-family:Arial,sans-serif;background-color:#fff;border-radius:4px;margin:20px;box-shadow:0 2px 4px #0000001a}.error-message{color:#d32f2f;background-color:#ffebee;border:1px solid #ffcdd2}.text-viewer{flex:1 1 auto;min-height:0;background-color:#fff;padding:20px;border-radius:4px;margin:10px;overflow:auto;border:1px solid #ddd;box-shadow:0 2px 4px #0000001a;font-family:Courier New,monospace}.text-viewer pre{margin:0;font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.word-viewer{flex:1 1 auto;min-height:0;background-color:#fff;padding:20px;border-radius:4px;box-shadow:0 2px 10px #0000001a;margin:10px;overflow:auto;font-family:Calibri,Arial,sans-serif}.word-viewer h1,.word-viewer h2,.word-viewer h3{color:#333}.word-viewer p{line-height:1.6;margin-bottom:15px}.presentation-viewer{flex:1 1 auto;min-height:0;background-color:#f5f5f5;padding:20px;border-radius:4px;margin:10px;display:flex;justify-content:center;align-items:center}.presentation-placeholder{text-align:center;color:#666;font-style:italic;padding:50px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a}.pdf-viewer-host{flex:1 1 auto;min-height:min(70vh,720px);width:calc(100% - 20px);margin:10px;display:flex;flex-direction:column;box-sizing:border-box}::ng-deep .pdf-viewer-host ngx-extended-pdf-viewer{flex:1 1 auto;min-height:0;height:100%;width:100%;border:1px solid #ddd;border-radius:4px;display:block}.excel-viewer{flex:1 1 auto;min-height:0;background-color:#fff;padding:20px;border-radius:4px;box-shadow:0 2px 10px #0000001a;margin:10px;overflow:auto}.excel-sheet{margin-bottom:30px;background:#fff}.excel-sheet h3{background-color:#f3f2f1;padding:12px 16px;margin:0;border-radius:4px 4px 0 0;font-size:14px;font-weight:600;color:#333;border-bottom:1px solid #e1dfdd}.excel-container{overflow-x:auto;overflow-y:auto;border:1px solid #e1dfdd;border-top:none;border-radius:0 0 4px 4px;max-height:calc(100% - 50px)}.excel-table{border-collapse:collapse;width:100%;font-family:Segoe UI,Calibri,Arial,sans-serif;font-size:13px;background:#fff}.excel-table td,.excel-table th{border:1px solid #e1dfdd;padding:8px 12px;white-space:nowrap;color:#333}.excel-table th{background-color:#f2f2f2;font-weight:700}.excel-table tr:first-child td{background-color:#f3f2f1;font-weight:600;color:#333;border-bottom:2px solid #8a8886}.excel-table td.number-cell,.excel-table td.percentage-cell,.excel-table td[data-format*=\"%\"]{text-align:right}.excel-table td.percentage-cell{color:#107c41}.excel-table td.text-cell{text-align:left}.excel-table tr:nth-child(2n) td{background-color:#faf9f8}.excel-table tr:hover td{background-color:#edf3fa}.excel-table td.selected{background-color:#cce8ff;border:2px solid #0078d4}.excel-viewer-container{flex:1 1 auto;min-height:0;width:calc(100% - 20px);margin:10px;border-radius:4px;overflow:hidden;box-shadow:0 2px 10px #0000001a;background:#fff;display:flex;flex-direction:column}.excel-sheet-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:12px 10px 0 8px;background:#f3f2f1;border-bottom:1px solid #e1dfdd;min-height:44px}.excel-sheet-tab{padding:8px 16px;border:1px solid #e1dfdd;border-bottom:none;border-radius:4px 4px 0 0;font-size:13px;font-family:Segoe UI,Arial,sans-serif;color:#333;cursor:pointer;transition:background .15s,border-color .15s}.excel-sheet-tab:hover{background:#edebe9;border-bottom:1px solid #000000}.excel-sheet-tab.active{background:#fff;font-weight:600;border-bottom:1px solid #000000;margin-bottom:2px;z-index:1}.excel-container-custom{width:100%;overflow-x:auto;overflow-y:auto}::ng-deep .handsontable{font-family:Segoe UI,Arial,sans-serif;font-size:13px;overflow:hidden!important}::ng-deep .wtHolder{width:100%!important;height:100%!important}::ng-deep .handsontable td{border:1px solid #e1dfdd;padding:8px 12px;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;word-break:break-word;line-height:1.4;vertical-align:top;max-width:300px;min-width:80px;margin:0!important}::ng-deep .handsontable td:hover{overflow:visible;background-color:#edf3fa;position:relative;z-index:10;box-shadow:0 2px 8px #00000026}::ng-deep .handsontable .htRight{text-align:right;font-family:Segoe UI,Consolas,monospace}::ng-deep .handsontable .htLeft{text-align:left}::ng-deep .handsontable .htCenter{text-align:center}::ng-deep .handsontable tr:nth-child(2n) td{background-color:#faf9f8}::ng-deep .handsontable tr:hover td{background-color:#edf3fa}::ng-deep .handsontable .current-row td{background-color:#e5f3ff}::ng-deep .handsontable .manualColumnResizer{background-color:#34a9db;width:5px;cursor:col-resize;opacity:0;transition:opacity .2s}::ng-deep .handsontable .manualColumnResizer:hover,::ng-deep .handsontable .manualColumnResizer.active{opacity:1;background-color:#0078d4}::ng-deep .handsontable .manualRowResizer{background-color:#34a9db;height:5px;cursor:row-resize;opacity:0;transition:opacity .2s}::ng-deep .handsontable .manualRowResizer:hover,::ng-deep .handsontable .manualRowResizer.active{opacity:1;background-color:#0078d4}::ng-deep .wtHolder::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::ng-deep .wtHolder::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::ng-deep .wtHolder::-webkit-scrollbar-thumb:hover{background:#a8a8a8}::ng-deep .htContextMenu table{font-family:Segoe UI,Arial,sans-serif;font-size:12px}::ng-deep .htContextMenu .htItemWrapper{padding:6px 12px}::ng-deep .htContextMenu .current{background-color:#e5f3ff}@media(max-width:768px){.document-viewer-container{padding:10px}.excel-viewer-container{width:calc(100% - 10px);margin:5px}.excel-viewer,.image-viewer,.text-viewer,.word-viewer,.presentation-viewer{margin:5px;padding:10px}::ng-deep .handsontable td{font-size:11px;padding:4px 6px}::ng-deep .handsontable th{font-size:11px;padding:6px}.pdf-viewer-host{width:calc(100% - 10px);margin:5px;min-height:min(60vh,560px)}}.excel-viewer-container{overflow:hidden;position:relative}.excel-container-custom{overflow:auto;position:relative;height:100%;width:100%}.image-viewer{flex:1 1 auto;width:100%;height:100%;display:flex;flex-direction:column;background-color:#fff}.image-toolbar{padding:10px;background-color:#fff;border-bottom:1px solid #ddd;display:flex;gap:8px;align-items:center;z-index:10}.image-toolbar button{padding:5px 10px;border:1px solid #ccc;background-color:#fff;border-radius:4px;cursor:pointer;font-size:16px;min-width:36px}.image-toolbar button:hover{background-color:#f0f0f0}.image-container{flex:1;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center;background-color:#fff}.responsive-image{max-width:100%;max-height:100%;object-fit:contain;transition:transform .1s ease;transform-origin:center center;will-change:transform;-webkit-user-select:none;user-select:none}::ng-deep .handsontable .ht_clone_top,::ng-deep .handsontable .ht_clone_top_left_corner,::ng-deep .handsontable .ht_clone_left{display:none!important}\n/*! Bundled license information:\n\nhandsontable/dist/handsontable.full.css:\n (*!\n * Copyright (c) HANDSONCODE sp. z o. o.\n *\n * HANDSONTABLE is a software distributed by HANDSONCODE sp. z o. o., a Polish corporation based in\n * Gdynia, Poland, at Aleja Zwyciestwa 96-98, registered by the District Court in Gdansk under number\n * 538651, EU tax ID number: PL5862294002, share capital: PLN 62,800.00.\n *\n * This software is protected by applicable copyright laws, including international treaties, and dual-\n * licensed - depending on whether your use for commercial purposes, meaning intended for or\n * resulting in commercial advantage or monetary compensation, or not.\n *\n * If your use is strictly personal or solely for evaluation purposes, meaning for the purposes of testing\n * the suitability, performance, and usefulness of this software outside the production environment,\n * you agree to be bound by the terms included in the \"handsontable-non-commercial-license.pdf\" file.\n *\n * Your use of this software for commercial purposes is subject to the terms included in an applicable\n * license agreement.\n *\n * In any case, you must not make any such use of this software as to develop software which may be\n * considered competitive with this software.\n *\n * UNLESS EXPRESSLY AGREED OTHERWISE, HANDSONCODE PROVIDES THIS SOFTWARE ON AN \"AS IS\"\n * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, AND IN NO EVENT AND UNDER NO\n * LEGAL THEORY, SHALL HANDSONCODE BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT,\n * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM\n * USE OR INABILITY TO USE THIS SOFTWARE.\n *\n * Version: 16.2.0\n * Release date: 25/11/2025 (built at 20/11/2025 13:27:05)\n *)\n (*!\n * Handsontable ContextMenu\n *)\n (*!\n * Handsontable DropdownMenu\n *)\n (*!\n * Handsontable Filters\n *)\n (*!\n * Handsontable HiddenRows\n *)\n (*!\n * Pikaday\n * Copyright \u00A9 2014 David Bushell | BSD & MIT license | https://dbushell.com/\n *)\n*/\n"] }]
|
|
539
734
|
}], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: DocumentViewerFileService }], propDecorators: { nameFile: [{
|
|
540
735
|
type: Input
|
|
541
736
|
}], nameBucket: [{
|
|
@@ -546,6 +741,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
546
741
|
type: Input
|
|
547
742
|
}], token: [{
|
|
548
743
|
type: Input
|
|
744
|
+
}], pdfAssetsBaseUrl: [{
|
|
745
|
+
type: Input
|
|
549
746
|
}], imageContainer: [{
|
|
550
747
|
type: ViewChild,
|
|
551
748
|
args: ['imageContainer']
|