/**
 * PROGEM — estilo global de botões (aba Aparência).
 * Classes no body via GuestPreferences + ProgemBtnPrefs (preview ao vivo).
 * Escopo: Layout autenticado (.layout-main) e páginas guest
 * (body.login-body / .exception-body / .prog-versao-page).
 * Tokens Poseidon; sem hex hardcoded.
 */

/* Forma — redondo (pill / círculo em icon-only) */
body.prog-btn-shape-round .layout-main .ui-button:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-shape-round:is(.login-body, .exception-body, .prog-versao-page) .ui-button:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-shape-round .prog-mobile-actions-stack__fab,
body.prog-btn-shape-round .prog-perfil-btn-preview .ui-button {
	border-radius: 999px !important;
}

body.prog-btn-shape-round .layout-main .ui-button.ui-button-icon-only:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-shape-round:is(.login-body, .exception-body, .prog-versao-page) .ui-button.ui-button-icon-only:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-shape-round .prog-perfil-btn-preview .ui-button.ui-button-icon-only {
	border-radius: 50% !important;
}

/* Forma — cantos retos */
body.prog-btn-shape-square .layout-main .ui-button:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-shape-square:is(.login-body, .exception-body, .prog-versao-page) .ui-button:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-shape-square .prog-mobile-actions-stack__fab,
body.prog-btn-shape-square .prog-perfil-btn-preview .ui-button {
	border-radius: 0 !important;
}

/* Sem borda */
body.prog-btn-borderless .layout-main .ui-button:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-borderless:is(.login-body, .exception-body, .prog-versao-page) .ui-button:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-borderless .prog-perfil-btn-preview .ui-button {
	border-color: transparent !important;
	border-width: 0 !important;
	box-shadow: none;
}

/* Sem fundo (ghost) — mantém cor semântica no texto/ícone */
body.prog-btn-ghost .layout-main .ui-button:not(.ui-speeddial-button):not(.ui-speeddial-action):not(.ui-button-outlined),
body.prog-btn-ghost:is(.login-body, .exception-body, .prog-versao-page) .ui-button:not(.ui-speeddial-button):not(.ui-speeddial-action):not(.ui-button-outlined),
body.prog-btn-ghost .prog-perfil-btn-preview .ui-button:not(.ui-button-outlined) {
	background: transparent !important;
	background-image: none !important;
	color: var(--primary-color, var(--text-color)) !important;
}

body.prog-btn-ghost .layout-main .ui-button.ui-button-success:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-ghost:is(.login-body, .exception-body, .prog-versao-page) .ui-button.ui-button-success:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-ghost .prog-perfil-btn-preview .ui-button.ui-button-success {
	color: var(--green-500, var(--primary-color)) !important;
}

body.prog-btn-ghost .layout-main .ui-button.ui-button-danger:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-ghost:is(.login-body, .exception-body, .prog-versao-page) .ui-button.ui-button-danger:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-ghost .prog-perfil-btn-preview .ui-button.ui-button-danger {
	color: var(--red-500, var(--primary-color)) !important;
}

body.prog-btn-ghost .layout-main .ui-button.ui-button-warning:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-ghost:is(.login-body, .exception-body, .prog-versao-page) .ui-button.ui-button-warning:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-ghost .prog-perfil-btn-preview .ui-button.ui-button-warning {
	color: var(--yellow-600, var(--primary-color)) !important;
}

body.prog-btn-ghost .layout-main .ui-button.ui-button-info:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-ghost:is(.login-body, .exception-body, .prog-versao-page) .ui-button.ui-button-info:not(.ui-speeddial-button):not(.ui-speeddial-action),
body.prog-btn-ghost .prog-perfil-btn-preview .ui-button.ui-button-info {
	color: var(--blue-500, var(--primary-color)) !important;
}

body.prog-btn-ghost .layout-main .ui-button:not(.ui-speeddial-button):not(.ui-speeddial-action):hover,
body.prog-btn-ghost .layout-main .ui-button:not(.ui-speeddial-button):not(.ui-speeddial-action):focus,
body.prog-btn-ghost:is(.login-body, .exception-body, .prog-versao-page) .ui-button:not(.ui-speeddial-button):not(.ui-speeddial-action):hover,
body.prog-btn-ghost:is(.login-body, .exception-body, .prog-versao-page) .ui-button:not(.ui-speeddial-button):not(.ui-speeddial-action):focus,
body.prog-btn-ghost .prog-perfil-btn-preview .ui-button:hover {
	background: var(--surface-100, var(--surface-0)) !important;
}

body.prog-btn-ghost .layout-main .ui-button .ui-icon,
body.prog-btn-ghost:is(.login-body, .exception-body, .prog-versao-page) .ui-button .ui-icon,
body.prog-btn-ghost .prog-perfil-btn-preview .ui-button .ui-icon {
	color: inherit !important;
}

/* Preview na aba Aparência */
.prog-perfil-btn-preview {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem;
	border: 1px solid var(--surface-border, var(--surface-200));
	border-radius: var(--border-radius, 6px);
	background: var(--surface-0);
}
