/**
 * Excel Viewer - CSS
 *
 * Štýly pre Excel prehliadač s SheetJS
 * Renderuje XLS/XLSX ako HTML tabuľky priamo v prehliadači
 *
 * @package SRZ_Rada
 * @since 1.0.0
 */

/* ==========================================================================
   Excel Viewer - Základné štýly
   ========================================================================== */

.srz-excel-viewer {
	--excel-header-bg: #4472c4;
	--excel-header-color: #ffffff;
	--excel-row-even: #d9e2f3;
	--excel-row-odd: #ffffff;
	--excel-border-color: #b4c6e7;
	--excel-tab-bg: #e7e6e6;
	--excel-tab-active: var(--doc-primary, #27ae60);
}

/* ==========================================================================
   Excel Content Container
   ========================================================================== */

.srz-excel-content {
	overflow: hidden;
	background-color: var(--doc-canvas-bg, #525659);
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* ==========================================================================
   Excel Workbook - Hlavný kontajner
   ========================================================================== */

.srz-excel-workbook {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
	max-width: 100%;
	background-color: #ffffff;
}

/* ==========================================================================
   Excel Tabs - Záložky hárkov
   ========================================================================== */

.srz-excel-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	padding: 8px 12px;
	background-color: var(--excel-tab-bg);
	border-bottom: 1px solid var(--excel-border-color);
	min-height: 40px;
	align-items: center;
}

.srz-excel-tab {
	display: inline-flex;
	align-items: center;
	padding: 6px 16px;
	background-color: #ffffff;
	border: 1px solid var(--excel-border-color);
	border-bottom: none;
	border-radius: 4px 4px 0 0;
	font-size: 13px;
	font-weight: 500;
	color: #333333;
	cursor: pointer;
	transition: all 0.2s ease;
	white-space: nowrap;
	margin-bottom: -1px;
}

.srz-excel-tab:hover {
	background-color: var(--doc-primary-lighter, #e8f8f5);
	border-color: var(--doc-primary-light, #58d68d);
}

.srz-excel-tab.active {
	background-color: var(--excel-tab-active);
	border-color: var(--excel-tab-active);
	color: #ffffff;
}

.srz-excel-tab.active:hover {
	background-color: var(--doc-primary-dark, #1e8449);
	border-color: var(--doc-primary-dark, #1e8449);
}

/* ==========================================================================
   Excel Table Container
   ========================================================================== */

.srz-excel-table-container {
	flex: 1;
	overflow: auto;
	background-color: #ffffff;
	position: relative;
}

.srz-excel-table-wrapper {
	display: inline-block;
	min-width: 100%;
	transform-origin: top left;
	transition: transform 0.2s ease;
}

/* ==========================================================================
   Excel Table - Tabuľka
   ========================================================================== */

.srz-excel-table-wrapper table {
	border-collapse: collapse;
	width: max-content;
	min-width: 100%;
	font-family: 'Calibri', 'Segoe UI', 'Arial', sans-serif;
	font-size: 12px;
	line-height: 1.4;
	background-color: #ffffff;
}

.srz-excel-table-wrapper th,
.srz-excel-table-wrapper td {
	border: 1px solid var(--excel-border-color);
	padding: 6px 10px;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
	max-width: 400px;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Hlavička tabuľky */
.srz-excel-table-wrapper th {
	background-color: var(--excel-header-bg);
	color: var(--excel-header-color);
	font-weight: 600;
	position: sticky;
	top: 0;
	z-index: 10;
}

/* Striedavé riadky */
.srz-excel-table-wrapper tr:nth-child(even) td {
	background-color: var(--excel-row-even);
}

.srz-excel-table-wrapper tr:nth-child(odd) td {
	background-color: var(--excel-row-odd);
}

/* Hover efekt na riadky */
.srz-excel-table-wrapper tr:hover td {
	background-color: var(--doc-primary-lighter, #e8f8f5);
}

/* Čísla zarovnané vpravo */
.srz-excel-table-wrapper td[data-t="n"] {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

/* Dátumy */
.srz-excel-table-wrapper td[data-t="d"] {
	white-space: nowrap;
}

/* ==========================================================================
   Excel Sheet Info
   ========================================================================== */

.srz-excel-sheet-info {
	font-size: 12px;
	color: #666666;
}

.srz-excel-sheet-info strong {
	color: #333333;
}

/* ==========================================================================
   Excel - Prázdny hárok
   ========================================================================== */

.srz-excel-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 60px 20px;
	text-align: center;
	color: #666666;
}

.srz-excel-empty .dashicons {
	font-size: 48px;
	width: 48px;
	height: 48px;
	color: #999999;
	margin-bottom: 16px;
}

.srz-excel-empty p {
	margin: 0;
	font-size: 14px;
}

/* ==========================================================================
   Excel Loading/Error states
   ========================================================================== */

.srz-excel-content .srz-doc-loading,
.srz-excel-content .srz-doc-error {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: #ffffff;
	z-index: 20;
}

/* ==========================================================================
   Responzívny dizajn
   ========================================================================== */

@media screen and (max-width: 768px) {
	.srz-excel-tabs {
		padding: 6px 8px;
		gap: 4px;
	}

	.srz-excel-tab {
		padding: 5px 12px;
		font-size: 12px;
	}

	.srz-excel-table-wrapper th,
	.srz-excel-table-wrapper td {
		padding: 4px 8px;
		font-size: 11px;
	}

	.srz-excel-content {
		min-height: 400px;
	}
}

@media screen and (max-width: 480px) {
	.srz-excel-tabs {
		padding: 4px 6px;
	}

	.srz-excel-tab {
		padding: 4px 10px;
		font-size: 11px;
	}

	.srz-excel-table-wrapper th,
	.srz-excel-table-wrapper td {
		padding: 3px 6px;
		font-size: 10px;
		max-width: 200px;
	}
}

/* ==========================================================================
   Fullscreen mód
   ========================================================================== */

.srz-excel-viewer.srz-doc-fullscreen {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 999999;
	display: flex;
	flex-direction: column;
}

.srz-excel-viewer.srz-doc-fullscreen .srz-excel-content {
	flex: 1;
	height: auto;
}

.srz-excel-viewer.srz-doc-fullscreen .srz-excel-workbook {
	height: 100%;
}

/* ==========================================================================
   Tlač - @media print
   ========================================================================== */

@media print {
	.srz-excel-viewer .srz-doc-toolbar,
	.srz-excel-viewer .srz-doc-status,
	.srz-excel-viewer .srz-excel-tabs {
		display: none !important;
	}

	.srz-excel-viewer {
		background: none !important;
		box-shadow: none !important;
	}

	.srz-excel-content {
		background: none !important;
		overflow: visible !important;
		height: auto !important;
	}

	.srz-excel-workbook {
		background: none !important;
		height: auto !important;
	}

	.srz-excel-table-container {
		overflow: visible !important;
		height: auto !important;
	}

	.srz-excel-table-wrapper {
		transform: none !important;
	}

	.srz-excel-table-wrapper table {
		width: 100% !important;
		font-size: 10pt;
	}

	.srz-excel-table-wrapper th,
	.srz-excel-table-wrapper td {
		border: 1px solid #000000 !important;
		padding: 4pt 6pt;
		white-space: normal;
		max-width: none;
	}

	.srz-excel-table-wrapper th {
		background-color: #f0f0f0 !important;
		color: #000000 !important;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	.srz-excel-table-wrapper tr:nth-child(even) td {
		background-color: #f9f9f9 !important;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}
