/**
 * ============================================================================
 * BDIALOG CONTROLS - Estilos para Controles Estilo Windows
 * ============================================================================
 * @version 1.1.0
 * @date 2026-01-28
 * ============================================================================
 */

/* ============================================================================
   REMOÇÃO GLOBAL DO OVERLAY MODAL
   ============================================================================
   Por padrão, dialogs com modal:true criam um overlay semi-transparente que
   bloqueia interações com a página. Esta regra remove esse comportamento
   globalmente, permitindo que todos os dialogs funcionem sem modal.
   
   GitHub Issue/PR: Remoção global do overlay modal dos BDialogs
   ============================================================================ */
.ui-widget-overlay {
	display: none !important;
}

/* ============================================================================
   CONTAINER DOS BOTÕES DE CONTROLE
   ============================================================================ */
.bdialog-controls {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	margin-right: 2px;
	margin-left: 0;
	vertical-align: middle;
	flex-shrink: 0;
	order: 2;
}

/* ============================================================================
   BOTÕES DE CONTROLE (Minimizar, Maximizar, Restaurar)
   ============================================================================ */
.bdialog-control-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	margin: 0;
	border: none;
	border-radius: 3px;
	background: transparent;
	color: inherit;
	cursor: pointer;
	font-size: 12px;
	line-height: 1;
	transition: background-color 0.15s ease;
}

.bdialog-control-btn:hover {
	background-color: rgba(255, 255, 255, 0.2);
}

.bdialog-control-btn:active {
	background-color: rgba(255, 255, 255, 0.3);
}

.bdialog-control-btn:focus {
	outline: none;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4);
}

/* Glifos próprios dos botões customizados */
.bdialog-control-glyph {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-family: 'Segoe UI Symbol', 'Segoe MDL2 Assets', sans-serif;
	font-size: 10px;
	font-weight: normal;
	background: none;
	text-indent: 0;
}

/* Botão Minimizar [ _ ] */
.bdialog-btn-minimize .bdialog-control-glyph {
	font-size: 14px;
	margin-top: 3px;
}

/* Botão Maximizar [ □ ] */
.bdialog-btn-maximize .bdialog-control-glyph {
	font-size: 11px;
}

/* Botão Restaurar [🗗 ] */
.bdialog-btn-restore .bdialog-control-glyph {
	font-size: 10px;
}

/* ============================================================================
   ESTADO MAXIMIZADO
   ============================================================================ */
.bdialog-maximized {
	border-radius: 0 !important;
}

.bdialog-maximized .ui-dialog-titlebar {
	border-radius: 0;
}

/* ============================================================================
   TASKBAR (Dialogs Minimizados)
   ============================================================================ */
.bdialog-taskbar {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	padding: 8px 10px;
	background: linear-gradient(180deg, #3c3c3c 0%, #2d2d2d 100%);
	border-top: 1px solid #555;
	box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.3);
	z-index: 400000;
}

/* Item na taskbar */
.bdialog-taskbar-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: linear-gradient(180deg, #4a4a4a 0%, #3a3a3a 100%);
	border: 1px solid #555;
	border-radius: 4px;
	color: #fff;
	font-size: 12px;
	cursor: pointer;
	transition: all 0.15s ease;
	max-width: 200px;
}

.bdialog-taskbar-item:hover {
	background: linear-gradient(180deg, #5a5a5a 0%, #4a4a4a 100%);
	border-color: #777;
}

.bdialog-taskbar-item:active {
	background: linear-gradient(180deg, #3a3a3a 0%, #2a2a2a 100%);
}

/* Ícone da taskbar */
.bdialog-taskbar-item .taskbar-icon {
	font-size: 14px;
	opacity: 0.9;
}

/* Título na taskbar */
.bdialog-taskbar-item .taskbar-title {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 150px;
}

/* ============================================================================
   AJUSTES PARA DIALOGS COM HEADER BOOTSTRAP/JQUERY-UI
   ============================================================================ */

/* Header azul padrão do WebWay */
.ui-dialog .ui-dialog-titlebar {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.ui-dialog .ui-dialog-title {
	flex: 1;
	margin-right: 10px;
	min-width: 0;
	order: 0;
}

/* Normalizar o botão de fechar original dentro do layout flex */
.ui-dialog .ui-dialog-titlebar-close {
	position: relative;
	top: auto;
	right: auto;
	margin: 0 0 0 2px;
	padding: 0;
	width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.ui-dialog .ui-dialog-titlebar-close .ui-icon {
	position: static !important;
	margin: 0 !important;
	left: auto !important;
	top: auto !important;
}

/* Chrome da janela: BSave (se houver) → minimizar → maximizar → fechar */
.ui-dialog .ui-dialog-titlebar .bdialog-controls,
.ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close,
.ui-dialog .ui-dialog-titlebar .bsave-header-compact {
	flex-shrink: 0;
}

.ui-dialog .ui-dialog-titlebar-close {
	order: 3; /* sempre o último, colado ao maximizar */
}

/* ============================================================================
   RESPONSIVIDADE
   ============================================================================ */

/* Mobile: taskbar item menor */
@media (max-width: 576px) {
	.bdialog-taskbar {
		padding: 5px 8px;
	}

	.bdialog-taskbar-item {
		padding: 5px 8px;
		font-size: 11px;
	}

	.bdialog-taskbar-item .taskbar-title {
		max-width: 100px;
	}

	.bdialog-control-btn {
		width: 22px;
		height: 22px;
	}
}

/* Tablets */
@media (min-width: 577px) and (max-width: 992px) {
	.bdialog-taskbar-item .taskbar-title {
		max-width: 120px;
	}
}

/* ============================================================================
   TEMAS (Compatibilidade com temas do jQuery UI)
   ============================================================================ */

/* Tema claro */
.ui-dialog[class*='ui-state-highlight'] .bdialog-control-btn:hover {
	background-color: rgba(0, 0, 0, 0.1);
}

/* Garantir visibilidade em headers coloridos */
.ui-dialog .ui-widget-header .bdialog-control-btn {
	color: inherit;
}

/* ============================================================================
   ANIMAÇÕES
   ============================================================================ */

/* Fade in para taskbar */
.bdialog-taskbar {
	animation: bdialog-taskbar-fadein 0.2s ease-out;
}

@keyframes bdialog-taskbar-fadein {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Hover animation para itens da taskbar */
.bdialog-taskbar-item {
	animation: bdialog-item-fadein 0.15s ease-out;
}

@keyframes bdialog-item-fadein {
	from {
		opacity: 0;
		transform: scale(0.95);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}
