/**
 * Frontend Document Styles - Compact & WCAG Compliant
 *
 * @package TobaltDocuments
 * @since 2.0.0
 * Author: Tobalt — https://tobalt.lt
 */

/* ===== WRAPPER ===== */
.tbt-docs-wrapper {
	margin: 1.25rem 0 !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
	box-sizing: border-box !important;
	line-height: 1.5 !important;
}

.tbt-docs-wrapper *,
.tbt-docs-wrapper *::before,
.tbt-docs-wrapper *::after {
	box-sizing: border-box !important;
}

/* ===== SECTION WITH CATEGORY TITLE ===== */
.tbt-docs-section {
	margin-bottom: 1.75rem;
}

.tbt-docs-section:last-child {
	margin-bottom: 0;
}

.tbt-docs-section + .tbt-docs-section {
	padding-top: 1.25rem;
	border-top: 1px solid #e2e8f0;
}

.tbt-docs-category-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin: 0 0 0.75rem;
	padding: 0.5rem 0.75rem;
	background: #f1f5f9;
	border-left: 3px solid #2563eb;
	border-radius: 0 6px 6px 0;
	color: #334155;
}

/* ===== EMPTY STATE ===== */
.tbt-docs-empty {
	padding: 2rem 1.5rem;
	text-align: center;
	color: #475569;
	background: #f8fafc;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
	font-size: 0.875rem;
}

/* ===== TABLE LAYOUT ===== */
.tbt-docs-wrapper .tbt-docs-table {
	width: 100% !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	background: #fff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
}

.tbt-docs-wrapper .tbt-docs-table thead th {
	background: #f8fafc !important;
	padding: 0.625rem 0.75rem !important;
	text-align: left !important;
	font-weight: 600 !important;
	font-size: 0.75rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.025em !important;
	color: #475569 !important;
	border-bottom: 1px solid #e2e8f0 !important;
}

.tbt-docs-wrapper .tbt-docs-table tbody td {
	padding: 0.625rem 0.75rem !important;
	border-bottom: 1px solid #f1f5f9 !important;
	font-size: 0.875rem !important;
	color: #334155 !important;
	vertical-align: middle !important;
}

.tbt-docs-wrapper .tbt-docs-table tbody tr:last-child td {
	border-bottom: none !important;
}

.tbt-docs-wrapper .tbt-docs-table tbody tr:hover {
	background: #f8fafc !important;
}

.tbt-docs-wrapper .tbt-docs-table tbody tr:focus-within {
	outline: 2px solid #2563eb !important;
	outline-offset: -2px !important;
}

/* Table columns */
.tbt-docs-wrapper .tbt-col-icon {
	width: 44px !important;
	text-align: center !important;
	padding-right: 0 !important;
}

.tbt-docs-wrapper .tbt-col-name .tbt-doc-title {
	display: block !important;
	font-weight: 500 !important;
	color: #1e293b !important;
	font-size: 0.875rem !important;
}

.tbt-docs-wrapper .tbt-col-name .tbt-doc-meta {
	display: block !important;
	font-size: 0.75rem !important;
	color: #64748b !important;
	margin-top: 0.125rem !important;
}

.tbt-docs-wrapper .tbt-col-size {
	width: 70px !important;
	text-align: right !important;
	color: #64748b !important;
	font-size: 0.8125rem !important;
}

.tbt-docs-wrapper .tbt-col-type {
	width: 60px !important;
	text-align: center !important;
}

.tbt-docs-wrapper .tbt-col-download {
	width: 48px !important;
	text-align: center !important;
	padding-left: 0 !important;
}

/* ===== GRID LAYOUT ===== */
.tbt-docs-grid-container {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 0.75rem;
}

.tbt-doc-card {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.tbt-doc-card:hover {
	border-color: #2563eb;
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.1);
}

.tbt-doc-card:focus-within {
	outline: 2px solid #2563eb;
	outline-offset: 2px;
}

.tbt-doc-card-icon {
	flex-shrink: 0;
}

.tbt-doc-card-content {
	flex: 1;
	min-width: 0;
}

.tbt-doc-card-title {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 500;
	color: #1e293b;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.tbt-doc-card-meta {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.75rem;
	color: #64748b;
	margin-top: 0.25rem;
}

.tbt-doc-card-meta .tbt-separator {
	width: 3px;
	height: 3px;
	background: #94a3b8;
	border-radius: 50%;
}

.tbt-doc-card-action {
	flex-shrink: 0;
}

/* ===== FILE TYPE ICONS ===== */
.tbt-docs-wrapper .tbt-file-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 6px !important;
	font-size: 0.625rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	background: #f1f5f9 !important;
	color: #475569 !important;
	line-height: 1 !important;
}

/* File type badge */
.tbt-docs-wrapper .tbt-file-badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0.1875rem 0.5rem !important;
	border-radius: 4px !important;
	font-size: 0.625rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
}

/* PDF - WCAG AA contrast */
.tbt-docs-wrapper .tbt-file-pdf,
.tbt-docs-wrapper .tbt-file-badge.tbt-file-pdf {
	background: #fef2f2 !important;
	color: #b91c1c !important;
}

/* Word */
.tbt-docs-wrapper .tbt-file-doc,
.tbt-docs-wrapper .tbt-file-docx,
.tbt-docs-wrapper .tbt-file-badge.tbt-file-doc,
.tbt-docs-wrapper .tbt-file-badge.tbt-file-docx {
	background: #eff6ff !important;
	color: #1d4ed8 !important;
}

/* Excel */
.tbt-docs-wrapper .tbt-file-xls,
.tbt-docs-wrapper .tbt-file-xlsx,
.tbt-docs-wrapper .tbt-file-badge.tbt-file-xls,
.tbt-docs-wrapper .tbt-file-badge.tbt-file-xlsx {
	background: #f0fdf4 !important;
	color: #15803d !important;
}

/* PowerPoint */
.tbt-docs-wrapper .tbt-file-ppt,
.tbt-docs-wrapper .tbt-file-pptx,
.tbt-docs-wrapper .tbt-file-badge.tbt-file-ppt,
.tbt-docs-wrapper .tbt-file-badge.tbt-file-pptx {
	background: #fff7ed !important;
	color: #c2410c !important;
}

/* Text */
.tbt-docs-wrapper .tbt-file-txt,
.tbt-docs-wrapper .tbt-file-rtf,
.tbt-docs-wrapper .tbt-file-odt,
.tbt-docs-wrapper .tbt-file-badge.tbt-file-txt,
.tbt-docs-wrapper .tbt-file-badge.tbt-file-rtf,
.tbt-docs-wrapper .tbt-file-badge.tbt-file-odt {
	background: #f8fafc !important;
	color: #475569 !important;
}

/* Archive */
.tbt-docs-wrapper .tbt-file-zip,
.tbt-docs-wrapper .tbt-file-rar,
.tbt-docs-wrapper .tbt-file-badge.tbt-file-zip,
.tbt-docs-wrapper .tbt-file-badge.tbt-file-rar {
	background: #fefce8 !important;
	color: #a16207 !important;
}

/* ===== DOWNLOAD BUTTON ===== */
.tbt-docs-wrapper .tbt-download-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	background: #2563eb !important;
	color: #fff !important;
	border-radius: 6px !important;
	text-decoration: none !important;
	transition: background-color 0.15s ease !important;
	border: none !important;
}

.tbt-docs-wrapper .tbt-download-btn:hover {
	background: #1d4ed8 !important;
	color: #fff !important;
}

.tbt-docs-wrapper .tbt-download-btn:focus {
	outline: 2px solid #2563eb !important;
	outline-offset: 2px !important;
}

.tbt-docs-wrapper .tbt-download-btn svg {
	width: 16px !important;
	height: 16px !important;
	fill: none !important;
	stroke: currentColor !important;
}

.tbt-docs-wrapper .tbt-download-btn-icon {
	padding: 0 !important;
}

/* ===== BADGES ===== */
.tbt-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.125rem 0.375rem;
	border-radius: 4px;
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	vertical-align: middle;
	margin-left: 0.375rem;
}

.tbt-badge-new {
	background: #2563eb;
	color: #fff;
}

.tbt-badge-success {
	background: #dcfce7;
	color: #166534;
}

.tbt-badge-warning {
	background: #fef3c7;
	color: #92400e;
}

.tbt-badge-error {
	background: #fee2e2;
	color: #991b1b;
}

/* ===== FILTER BAR ===== */
.tbt-docs-wrapper .tbt-docs-filters {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.625rem !important;
	margin-bottom: 1rem !important;
	padding: 0.75rem !important;
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 8px !important;
	width: 100% !important;
}

.tbt-docs-wrapper .tbt-docs-search {
	flex: 1 !important;
	min-width: 180px !important;
}

.tbt-docs-wrapper .tbt-docs-search input {
	width: 100% !important;
	padding: 0.5rem 0.75rem !important;
	height: 38px !important;
	box-sizing: border-box !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	font-size: 0.875rem !important;
	background: #fff !important;
	color: #1e293b !important;
}

.tbt-docs-wrapper .tbt-docs-search input:focus {
	outline: none !important;
	border-color: #2563eb !important;
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2) !important;
}

.tbt-docs-wrapper .tbt-docs-year-filter select {
	padding: 0.5rem 2rem 0.5rem 0.75rem !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	font-size: 0.875rem !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23475569' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 0.625rem center !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	color: #1e293b !important;
}

.tbt-docs-wrapper .tbt-docs-year-filter select:focus {
	outline: none !important;
	border-color: #2563eb !important;
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2) !important;
}

/* ===== SINGLE DOCUMENT SHORTCODE ===== */
.tbt-doc-single {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	box-sizing: border-box !important;
}

/* Inline layout */
.tbt-doc-single-inline {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.375rem !important;
	padding: 0.25rem 0.5rem !important;
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 6px !important;
	font-size: 0.8125rem !important;
	vertical-align: middle !important;
}

.tbt-doc-single-inline .tbt-file-icon {
	width: 24px !important;
	height: 24px !important;
	font-size: 0.5rem !important;
	border-radius: 4px !important;
}

.tbt-doc-single-inline .tbt-doc-single-link {
	color: #1d4ed8 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
	font-weight: 500 !important;
}

.tbt-doc-single-inline .tbt-doc-single-link:hover {
	color: #1e40af !important;
}

.tbt-doc-single-inline .tbt-doc-single-link:focus {
	outline: 2px solid #2563eb !important;
	outline-offset: 2px !important;
}

.tbt-doc-single-inline .tbt-doc-single-meta {
	color: #64748b !important;
	font-size: 0.75rem !important;
}

/* Card layout */
.tbt-doc-single-card {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	padding: 0.75rem 1rem !important;
	background: #fff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 8px !important;
	max-width: 360px !important;
}

.tbt-doc-single-card:focus-within {
	outline: 2px solid #2563eb !important;
	outline-offset: 2px !important;
}

.tbt-doc-single-card .tbt-file-icon {
	width: 36px !important;
	height: 36px !important;
	font-size: 0.5625rem !important;
	border-radius: 6px !important;
	flex-shrink: 0 !important;
}

.tbt-doc-single-card .tbt-doc-single-content {
	flex: 1 !important;
	min-width: 0 !important;
}

.tbt-doc-single-card .tbt-doc-single-title {
	display: block !important;
	font-weight: 500 !important;
	color: #1e293b !important;
	font-size: 0.875rem !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.tbt-doc-single-card .tbt-doc-single-meta {
	display: flex !important;
	align-items: center !important;
	gap: 0.375rem !important;
	font-size: 0.75rem !important;
	color: #64748b !important;
	margin-top: 0.125rem !important;
}

.tbt-doc-single-card .tbt-doc-single-meta .tbt-separator {
	width: 3px !important;
	height: 3px !important;
	background: #94a3b8 !important;
	border-radius: 50% !important;
}

.tbt-doc-single-card .tbt-download-btn-icon {
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	border-radius: 6px !important;
	flex-shrink: 0 !important;
}

/* ===== RESPONSIVE ===== */
@media screen and (max-width: 768px) {
	.tbt-docs-table thead {
		display: none;
	}

	.tbt-docs-wrapper .tbt-docs-table tbody tr {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.5rem;
		padding: 0.625rem;
		border-bottom: 1px solid #e2e8f0;
	}

	.tbt-docs-wrapper .tbt-docs-table tbody tr:last-child {
		border-bottom: none;
	}

	.tbt-docs-wrapper .tbt-docs-table tbody td {
		padding: 0 !important;
		border: none !important;
	}

	.tbt-docs-wrapper .tbt-col-icon {
		width: auto !important;
	}

	.tbt-docs-wrapper .tbt-col-name {
		flex: 1;
		min-width: 0;
	}

	.tbt-docs-wrapper .tbt-col-size,
	.tbt-docs-wrapper .tbt-col-type {
		display: none !important;
	}

	.tbt-docs-wrapper .tbt-col-download {
		width: auto !important;
	}

	.tbt-docs-grid-container {
		grid-template-columns: 1fr;
	}
}

/* ===== UPLOAD ACTION IN FILTER BAR ===== */
.tbt-docs-upload-action {
	margin-left: auto !important;
}

.tbt-docs-upload-action .tbt-frontend-upload-wrapper {
	margin: 0 !important;
}

/* ===== FRONTEND UPLOAD ===== */
.tbt-frontend-upload-wrapper {
	margin: 0 !important;
}

.tbt-upload-trigger {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.375rem !important;
	padding: 0.5rem 1rem !important;
	height: 38px !important;
	box-sizing: border-box !important;
	background: #059669 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 6px !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	transition: background-color 0.15s ease !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}

.tbt-upload-trigger:hover {
	background: #047857 !important;
}

.tbt-upload-trigger:focus {
	outline: 2px solid #059669 !important;
	outline-offset: 2px !important;
}

.tbt-upload-trigger svg {
	width: 16px !important;
	height: 16px !important;
}

/* Upload Modal */
.tbt-upload-modal {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	z-index: 999999 !important;
	display: none;
	align-items: center !important;
	justify-content: center !important;
	padding: 1rem !important;
}

.tbt-upload-modal-overlay {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	background: rgba(0, 0, 0, 0.5) !important;
}

.tbt-upload-modal-content {
	position: relative !important;
	width: 100% !important;
	max-width: 420px !important;
	background: #fff !important;
	border-radius: 12px !important;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important;
	overflow: hidden !important;
}

.tbt-upload-modal-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 1rem !important;
	border-bottom: 1px solid #e2e8f0 !important;
}

.tbt-upload-modal-header h3 {
	margin: 0 !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: #1e293b !important;
}

.tbt-upload-modal-close {
	width: 28px !important;
	height: 28px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	border: none !important;
	border-radius: 6px !important;
	font-size: 1.25rem !important;
	color: #64748b !important;
	cursor: pointer !important;
}

.tbt-upload-modal-close:hover {
	background: #f1f5f9 !important;
	color: #1e293b !important;
}

.tbt-upload-modal-close:focus {
	outline: 2px solid #2563eb !important;
	outline-offset: 2px !important;
}

.tbt-upload-modal-body {
	padding: 1rem !important;
}

.tbt-upload-dropzone {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.5rem !important;
	padding: 1.5rem !important;
	border: 2px dashed #d1d5db !important;
	border-radius: 8px !important;
	background: #f9fafb !important;
	cursor: pointer !important;
	transition: border-color 0.15s ease, background-color 0.15s ease !important;
	margin-bottom: 0.75rem !important;
}

.tbt-upload-dropzone:hover,
.tbt-upload-dropzone.dragover {
	border-color: #2563eb !important;
	background: #eff6ff !important;
}

.tbt-upload-dropzone:focus {
	outline: 2px solid #2563eb !important;
	outline-offset: 2px !important;
}

.tbt-upload-dropzone svg {
	width: 32px !important;
	height: 32px !important;
	color: #9ca3af !important;
}

.tbt-upload-dropzone p {
	margin: 0 !important;
	color: #6b7280 !important;
	font-size: 0.875rem !important;
	text-align: center !important;
}

.tbt-upload-file-info {
	align-items: center !important;
	gap: 0.625rem !important;
	padding: 0.625rem !important;
	background: #f1f5f9 !important;
	border-radius: 6px !important;
	margin-bottom: 0.75rem !important;
}

.tbt-upload-file-info.active {
	display: flex !important;
}

.tbt-upload-file-info .tbt-file-icon {
	width: 32px !important;
	height: 32px !important;
	font-size: 0.5625rem !important;
}

.tbt-upload-file-info .tbt-file-name {
	flex: 1 !important;
	font-size: 0.8125rem !important;
	color: #334155 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.tbt-upload-file-info .tbt-remove-file {
	width: 24px !important;
	height: 24px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	border: none !important;
	border-radius: 4px !important;
	font-size: 1rem !important;
	color: #64748b !important;
	cursor: pointer !important;
}

.tbt-upload-file-info .tbt-remove-file:hover {
	background: #fee2e2 !important;
	color: #dc2626 !important;
}

.tbt-upload-file-info .tbt-remove-file:focus {
	outline: 2px solid #2563eb !important;
	outline-offset: 2px !important;
}

.tbt-upload-field {
	margin-bottom: 0.75rem !important;
}

.tbt-upload-field label {
	display: block !important;
	margin-bottom: 0.25rem !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
}

.tbt-upload-field input,
.tbt-upload-field select {
	width: 100% !important;
	padding: 0.5rem 0.75rem !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	font-size: 0.875rem !important;
	background: #fff !important;
	color: #1e293b !important;
}

.tbt-upload-field input:focus,
.tbt-upload-field select:focus {
	outline: none !important;
	border-color: #2563eb !important;
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2) !important;
}

.tbt-upload-message {
	padding: 0.625rem 0.75rem !important;
	border-radius: 6px !important;
	font-size: 0.8125rem !important;
	margin-top: 0.75rem !important;
}

.tbt-upload-message-success {
	background: #dcfce7 !important;
	color: #166534 !important;
}

.tbt-upload-message-error {
	background: #fee2e2 !important;
	color: #991b1b !important;
}

.tbt-upload-modal-footer {
	display: flex !important;
	justify-content: flex-end !important;
	gap: 0.5rem !important;
	padding: 0.75rem 1rem !important;
	border-top: 1px solid #e2e8f0 !important;
	background: #f9fafb !important;
}

.tbt-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0.5rem 1rem !important;
	border-radius: 6px !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	transition: background-color 0.15s ease !important;
	border: none !important;
}

.tbt-btn:focus {
	outline: 2px solid #2563eb !important;
	outline-offset: 2px !important;
}

.tbt-btn-primary {
	background: #2563eb !important;
	color: #fff !important;
}

.tbt-btn-primary:hover {
	background: #1d4ed8 !important;
}

.tbt-btn-primary:disabled {
	background: #9ca3af !important;
	cursor: not-allowed !important;
}

.tbt-btn-secondary {
	background: #fff !important;
	color: #374151 !important;
	border: 1px solid #d1d5db !important;
}

.tbt-btn-secondary:hover {
	background: #f3f4f6 !important;
}

/* ===== COLLAPSIBLE CATEGORIES ===== */
.tbt-docs-collapsible .tbt-docs-section {
	margin-bottom: 0.5rem;
}

.tbt-docs-collapsible .tbt-docs-section + .tbt-docs-section {
	padding-top: 0;
	border-top: none;
}

.tbt-docs-category-toggle {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	width: 100% !important;
	padding: 0.625rem 0.75rem !important;
	background: #f1f5f9 !important;
	border: none !important;
	border-left: 3px solid #2563eb !important;
	border-radius: 0 6px 6px 0 !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	color: #334155 !important;
	cursor: pointer !important;
	text-align: left !important;
	transition: background-color 0.15s ease !important;
}

.tbt-docs-category-toggle:hover {
	background: #e2e8f0 !important;
}

.tbt-docs-category-toggle:focus {
	outline: 2px solid #2563eb !important;
	outline-offset: 2px !important;
}

.tbt-toggle-icon {
	width: 16px !important;
	height: 16px !important;
	position: relative !important;
	flex-shrink: 0 !important;
}

.tbt-toggle-icon::before {
	content: "" !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	width: 8px !important;
	height: 8px !important;
	border-right: 2px solid #64748b !important;
	border-bottom: 2px solid #64748b !important;
	transform: translate(-50%, -70%) rotate(45deg) !important;
	transition: transform 0.2s ease !important;
}

.tbt-docs-section.is-open .tbt-toggle-icon::before {
	transform: translate(-50%, -30%) rotate(-135deg) !important;
}

.tbt-category-name {
	flex: 1 !important;
}

.tbt-category-count {
	font-weight: 400 !important;
	color: #64748b !important;
	font-size: 0.8125rem !important;
}

.tbt-docs-section-content {
	padding-top: 0.75rem !important;
}
