/*
 * THEME COMPATIBILITY LAYER
 * Classes do tema antigo (SASH v1.51) que não existem no novo tema (SASH v2)
 * mas são usadas pelo projeto.
 *
 * Este ficheiro deve ser carregado DEPOIS do styles.css do novo tema.
 * Pode ser removido quando todas as referências forem migradas.
 *
 * Gerado em: 2026-04-01
 */

/* ================================================
   BUTTONS
   ================================================ */

/* .btn-loading (19 ficheiros) */
@keyframes loader {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}
.btn-loading {
	color: transparent !important;
	pointer-events: none;
	position: relative;
}
.btn-loading:after {
	content: "";
	animation: loader 500ms infinite linear;
	border: 2px solid #fff;
	border-radius: 50%;
	border-right-color: transparent !important;
	border-top-color: transparent !important;
	display: block;
	height: 1.4em;
	width: 1.4em;
	position: absolute;
	left: calc(50% - 0.7em);
	top: calc(50% - 0.7em);
}
.btn-loading.btn-sm:after,
.btn-group-sm>.btn-loading.btn:after {
	height: 1em;
	width: 1em;
	left: calc(50% - 0.5em);
	top: calc(50% - 0.5em);
}
.btn-loading.btn-secondary:after {
	border-color: #495057;
}

/* .btn-white (15 ficheiros) */
.btn-white {
	color: #495057;
	background-color: #fff;
	border: 1px solid #e9ebfa;
}
.btn-white:hover {
	color: #495057;
	background-color: #ececec;
	border-color: #e9e9f1;
}
.btn-white:focus, .btn-white.focus {
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
}
.btn-white:not(:disabled):not(.disabled):active,
.btn-white:not(:disabled):not(.disabled).active {
	color: #495057;
	background-color: #e9e9f1;
	border-color: #dfdfdf;
}

/* .btn-gray (3 ficheiros) */
.btn-gray {
	color: #fff;
	background-color: #868e96;
	border-color: #868e96;
}
.btn-gray:hover {
	color: #fff;
	background-color: #727b84;
	border-color: #6c757d;
}

/* .btn-default (2 ficheiros) */
.btn-default {
	color: #282f53;
	background: #e9e9f1;
	border-color: #e9e9f1;
}
.btn-default:hover {
	color: #282f53;
	background-color: #e3e3ef;
	border-color: #e3e3ef;
	opacity: 0.7;
}

/* ================================================
   FORMS
   ================================================ */

/* .form-group (23 ficheiros) */
.form-group {
	margin-bottom: 1rem;
	display: block;
}

/* .control-label (31 ficheiros) */
.form-group label.control-label {
	color: var(--primary-bg-color);
}

/* ================================================
   PANELS
   ================================================ */

/* .panel-body (15 ficheiros) */
.panel-body {
	padding: 10px;
}
.panel-body .lead {
	font-size: 20px;
	margin-bottom: 0;
	padding: 10px 0;
}

/* .panel-heading (1 ficheiro) */
.panel-heading {
	padding: 10px 15px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	background: #fff;
}

/* .panel-default (1 ficheiro) */
.panel-default>.panel-heading {
	padding: 0;
	border-radius: 0;
	background-color: #f6f6fb;
	border-color: #e9edf4;
}

/* .panel-primary - usado como wrapper, sem estilos específicos necessários */

/* ================================================
   TEXT UTILITIES
   ================================================ */

/* .text-red (13 ficheiros) */
.text-red { color: #c21a1a !important; }
.text-green { color: #4ecc48 !important; }
.text-yellow { color: #ecb403 !important; }

/* .bg-transparent (32 ficheiros) */
.bg-transparent { background-color: transparent !important; }

/* .fw-semibold (28 ficheiros) */
.fw-semibold { font-weight: 500 !important; }

/* Font sizes (26+ ficheiros) */
.fs-11 { font-size: 11px !important; }
.fs-12 { font-size: 12px !important; }
.fs-14 { font-size: 14px !important; }
.fs-16 { font-size: 16px !important; }
.fs-30 { font-size: 30px !important; }

/* .number-font (3 ficheiros) */
.number-font { font-weight: 600 !important; }

/* .brround (7 ficheiros) */
.brround { border-radius: 50% !important; }

/* .pull-left / .pull-right (11 ficheiros) */
.pull-left { float: left !important; }
.pull-right { float: right !important; }

/* ================================================
   CARDS
   ================================================ */

/* .card-options (8 ficheiros) */
.card-options {
	margin-left: auto;
	display: flex;
	order: 100;
	margin-right: -0.5rem;
	color: #9aa0ac;
	align-self: center;
}
.card-options a:not(.btn) {
	margin-left: 0.5rem;
	color: #76839a;
	display: inline-block;
	min-width: 1rem;
}
.card-options a:not(.btn):hover {
	text-decoration: none;
	color: #6e7687;
}

/* ================================================
   PAGE LAYOUT
   ================================================ */

/* .page-header (33 ficheiros) */
.page-header {
	display: flex;
	align-items: center;
	margin: 1.25rem 0;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0;
	position: relative;
	min-height: 50px;
}
.page-header .breadcrumb {
	font-size: 13px;
	padding-left: 0 !important;
}

/* .page-title (34 ficheiros) */
.page-title {
	margin: 0;
	font-size: 20px;
	font-weight: 500;
	position: relative;
	margin-bottom: 0.2rem;
}

/* .side-app */
.app-content .side-app {
	padding: 0px 20px 0 20px;
}

/* ================================================
   TABS
   ================================================ */

/* .tab-menu-heading (11 ficheiros) */
.tab-menu-heading {
	padding: 0px;
	border-bottom: 1px solid #e9edf4 !important;
	font-size: 16px;
	font-weight: 500;
}
.tab-menu-heading .tabs-menu-boxed {
	border-bottom: 0;
}
.tab-menu-heading.tab-menu-heading-boxed {
	border-bottom: 0 !important;
}

/* ================================================
   SELECTGROUP (toggle buttons)
   ================================================ */

/* .selectgroup (10 ficheiros) */
.selectgroup {
	display: inline-flex;
}
.selectgroup-item {
	flex-grow: 1;
	position: relative;
}
.selectgroup-item+.selectgroup-item {
	margin-left: -1px;
}
.selectgroup-item:not(:first-child) .selectgroup-button {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
.selectgroup-item:not(:last-child) .selectgroup-button {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.selectgroup-input {
	opacity: 0;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
}
.selectgroup-button {
	display: block;
	border: 1px solid #e9edf4;
	text-align: center;
	padding: 0.375rem 1rem;
	position: relative;
	cursor: pointer;
	border-radius: 5px;
	color: #9aa0ac;
	user-select: none;
	font-size: 0.875rem;
	line-height: 1.5rem;
	min-width: 2.375rem;
}
.selectgroup-input:checked+.selectgroup-button {
	z-index: 1;
	background: var(--primary01, rgba(108, 95, 252, 0.1));
}

/* ================================================
   CUSTOM CHECKBOXES
   ================================================ */

/* .custom-controls-stacked (11 ficheiros) */
.custom-controls-stacked .custom-control {
	margin-bottom: 0.25rem;
}

/* .custom-checkbox-md (13 ficheiros) */
.custom-checkbox-md .custom-control-label::before {
	position: absolute;
	top: 0.25rem;
	left: 0;
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	pointer-events: none;
	content: "";
	user-select: none;
	background-color: rgba(108, 95, 252, 0.05);
	border-radius: 3px;
}
.custom-checkbox-md .custom-control-label::after {
	position: absolute;
	top: 0.25rem;
	left: 0;
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	content: "";
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 50% 50%;
}
.custom-checkbox-md.custom-control {
	margin-bottom: 0.75rem;
	padding-left: 2rem;
	padding-top: 5px;
	vertical-align: middle;
}
.custom-checkbox-md .custom-control-input:checked~.custom-control-label::after {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}

/* .custom-checkbox-lg (2 ficheiros) */
.custom-checkbox-lg .custom-control-label::before {
	position: absolute;
	top: 0.25rem;
	left: 0;
	display: block;
	width: 2rem;
	height: 2rem;
	pointer-events: none;
	content: "";
	user-select: none;
	background-color: rgba(108, 95, 252, 0.05);
	border-radius: 3px;
}
.custom-checkbox-lg .custom-control-label::after {
	position: absolute;
	top: 0.35rem;
	left: 1px;
	display: block;
	width: 1.8rem;
	height: 1.8rem;
	content: "";
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 50% 50%;
}
.custom-checkbox-lg.custom-control {
	margin-bottom: 1.5rem;
	padding-left: 3rem;
	padding-top: 9px;
	vertical-align: middle;
}
.custom-checkbox-lg .custom-control-input:checked~.custom-control-label::after {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}

/* ================================================
   STAMPS / ITEM-BOX
   ================================================ */

/* .stamp (23 ficheiros) */
.stamp {
	color: #fff;
	background: #868e96;
	display: inline-block;
	min-width: 40px;
	height: 40px;
	padding: 0 0.25rem;
	line-height: 2rem;
	text-align: center;
	border-radius: 100%;
	font-weight: 600;
}

/* .item-box (17 ficheiros) */
.item-box .stamp i {
	font-size: 25px;
	line-height: 2;
}
.item-box .item-box-wrap {
	margin-top: 15px;
}
.item-box .item-box-wrap h5 {
	font-size: 20px;
	font-weight: 500;
}

/* ================================================
   HEADER BADGE
   ================================================ */

/* ================================================
   SIDEBAR LOGO FIX
   ================================================ */
.app-sidebar .main-sidebar-header .header-logo {
	display: flex;
	align-items: center;
}
.app-sidebar .main-sidebar-header .header-logo img {
	max-height: 50px;
	height: auto;
	width: auto;
}
.app-sidebar .main-sidebar-header .header-logo .desktop-logo {
	display: block !important;
}

/* ================================================
   HEADER ICONS & NAV-LINK
   ================================================ */

.nav-link.icon {
	margin: 2px;
	padding: 8px;
	text-align: center;
	height: 38px;
	width: 38px;
	line-height: 24px;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.nav-link.icon i {
	font-size: 18px;
	position: relative;
}
.header-right-icons .header-badge,
.header-right-icons .nav-link.icon .header-badge {
	position: absolute;
	top: -1px;
	right: -2px;
	display: block !important;
	padding: 2px 5px !important;
	font-size: 10px;
	border-radius: 50px;
	line-height: 1.1;
}
.header-right-icons .dropdown.d-flex {
	align-items: center;
}
.text-gray-dark {
	color: #495585 !important;
}

/* Profile avatar no header */
.profile-1 .avatar {
	width: 36px;
	height: 36px;
	line-height: 36px;
	font-size: 14px;
}

/* Dropdown no header */
.header-right-icons .dropdown-menu {
	min-width: 12rem;
}

/* Message menu scroll */
.message-menu-scroll {
	max-height: 280px;
	overflow-y: auto;
}

/* Drop heading */
.drop-heading {
	padding: 10px 15px;
}

/* Full screen link */
.full-screen-link {
	display: inline-flex;
}
