/**
 * AKDBA Sistem Informasi ? tampilan compact & premium di atas Bootstrap 5.
 *
 * @package AKDBA_Sistem_Informasi
 */

#stm-dashboard-root.stm-dashboard,
#stm-dashboard-root.stm-dashboard *,
#stm-dashboard-root.stm-dashboard *::before,
#stm-dashboard-root.stm-dashboard *::after {
	box-sizing: border-box;
}

#stm-dashboard-root.stm-premium {
	min-width: 0;
	font-size: 0.875rem;
	line-height: 1.45;
	-webkit-font-smoothing: antialiased;
	background: transparent;
}

/* ==========================================================================
   App shell ? sidebar kiri + konten penuh (dashboard modern)
   ========================================================================== */

#stm-dashboard-root.stm-app-shell {
	/* Zenith ? clean, light, premium (referensi dashboard SaaS modern) */
	--stm-chrome-bg: #ffffff;
	--stm-chrome-bg-soft: #f9fafb;
	--stm-chrome-border: #e5e7eb;
	--stm-chrome-header-h: 3.25rem;
	--stm-chrome-gradient: none;
	--stm-sidebar-w: 14.5rem;
	--stm-sidebar-bg: #f9fafb;
	--stm-sidebar-bg-hover: #f3f4f6;
	--stm-sidebar-bg-active: #f3f4f6;
	--stm-sidebar-border: #e5e7eb;
	--stm-sidebar-text: #6b7280;
	--stm-sidebar-text-active: #111827;
	--stm-sidebar-accent: #111827;
	--stm-main-bg: #ffffff;
	--stm-surface: #ffffff;
	--stm-surface-muted: #f9fafb;
	--stm-border: #f3f4f6;
	--stm-border-strong: #e5e7eb;
	--stm-text: #111827;
	--stm-text-muted: #6b7280;
	--stm-text-subtle: #9ca3af;
	--stm-accent: #18181b;
	--stm-accent-2: #18181b;
	--stm-accent-warm: #18181b;
	--stm-accent-soft: #f3f4f6;
	--stm-success: #16a34a;
	--stm-warning: #d97706;
	--stm-radius: 8px;
	--stm-radius-sm: 6px;
	--stm-gap: 0.75rem;
	--stm-gap-lg: 1.25rem;
	--stm-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
	--stm-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.06);
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: var(--stm-main-bg);
	color: var(--stm-text);
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

#stm-dashboard-root .stm-app-layout {
	display: flex;
	align-items: stretch;
	min-height: min(100vh, 100dvh);
	width: 100%;
	min-width: 0;
}

#stm-dashboard-root .stm-sidebar {
	flex: 0 0 var(--stm-sidebar-w);
	width: var(--stm-sidebar-w);
	display: flex;
	flex-direction: column;
	background: var(--stm-sidebar-bg);
	border-right: 1px solid var(--stm-sidebar-border);
	z-index: 1040;
}

#stm-dashboard-root .stm-sidebar__brand {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 0.625rem;
	height: var(--stm-chrome-header-h);
	padding: 0 1rem;
	border-bottom: 1px solid var(--stm-sidebar-border);
}

#stm-dashboard-root .stm-sidebar__brand--mobile {
	flex: 1 1 auto;
	height: auto;
	padding: 0;
	border-bottom: none;
}

#stm-dashboard-root .stm-sidebar__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 8px;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	color: #fff;
	background: #18181b;
	border: none;
	box-shadow: none;
}

#stm-dashboard-root .stm-sidebar__brand-text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.15;
}

#stm-dashboard-root .stm-sidebar__brand-name {
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--stm-text);
	letter-spacing: -0.02em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#stm-dashboard-root .stm-sidebar__brand-tag {
	font-size: 0.5625rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	color: var(--stm-text-subtle);
}

#stm-dashboard-root .stm-main-shell {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
	background: var(--stm-main-bg);
	border-left: none;
}

#stm-dashboard-root .stm-app-header {
	flex-shrink: 0;
	height: var(--stm-chrome-header-h);
	background: var(--stm-chrome-bg);
	border-bottom: 1px solid var(--stm-chrome-border);
}

#stm-dashboard-root .stm-app-header__inner {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	height: 100%;
	padding: 0 1.25rem;
}

#stm-dashboard-root .stm-app-header__menu {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	padding: 0;
	color: var(--stm-text-muted);
	background: transparent;
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius-sm);
	cursor: pointer;
}

#stm-dashboard-root .stm-app-header__menu:hover {
	color: var(--stm-text);
	background: var(--stm-surface-muted);
}

#stm-dashboard-root .stm-app-header__quote-wrap {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	min-width: 0;
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
}

#stm-dashboard-root .stm-app-header__quote-icon {
	flex-shrink: 0;
	color: var(--stm-text-subtle);
	opacity: 0.45;
}

#stm-dashboard-root .stm-app-header__quote {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	border: none;
}

#stm-dashboard-root .stm-app-header__quote-line {
	min-width: 0;
	font-size: 0.8125rem;
	line-height: 1.35;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: opacity 0.25s ease;
}

#stm-dashboard-root .stm-app-header__quote-text {
	font-weight: 600;
	color: var(--stm-text);
}

#stm-dashboard-root .stm-app-header__quote-sep {
	color: var(--stm-text-subtle);
	font-weight: 400;
}

#stm-dashboard-root .stm-app-header__quote-author {
	font-size: inherit;
	font-weight: 500;
	font-style: normal;
	color: var(--stm-text-muted);
}

#stm-dashboard-root .stm-app-header__quote-wrap.is-fading .stm-app-header__quote-line {
	opacity: 0;
}

#stm-dashboard-root .stm-app-header__actions {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
	margin-left: auto;
}

#stm-dashboard-root .stm-app-header__icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	margin: 0;
	color: var(--stm-text-muted);
	border: none;
	background: transparent;
	border-radius: var(--stm-radius-sm);
	text-decoration: none;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	transition: background 0.12s ease, color 0.12s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

#stm-dashboard-root .stm-app-header__icon-btn:hover {
	color: var(--stm-text);
	background: var(--stm-surface-muted);
}

#stm-dashboard-root .stm-app-header__icon-btn--auth {
	color: #1f473a;
	border: 1px solid var(--stm-border-strong, #e5e7eb);
	border-radius: 0.65rem;
}

#stm-dashboard-root .stm-app-header__icon-btn--auth:hover {
	color: #16352c;
	background: #e8f1ec;
	border-color: #cfe0d7;
}

/* Tombol Login admin ? orb + glow gradasi forest */
#stm-dashboard-root .stm-app-header__icon-btn--login-glow {
	position: relative;
	width: 2.75rem;
	height: 2.75rem;
	min-width: 2.75rem;
	border: none;
	border-radius: 0.9rem;
	color: #fff;
	background:
		linear-gradient(135deg, #1f473a 0%, #2f6b58 42%, #5a9e82 78%, #8ec9ad 100%);
	background-size: 220% 220%;
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.22) inset,
		0 6px 16px rgba(31, 71, 58, 0.28),
		0 0 18px rgba(92, 168, 130, 0.35);
	animation: stm-login-orb-shift 5.5s ease-in-out infinite;
	overflow: visible;
	isolation: isolate;
}

#stm-dashboard-root .stm-app-header__icon-btn--login-glow::before {
	content: "";
	position: absolute;
	inset: -3px;
	border-radius: inherit;
	background: linear-gradient(
		120deg,
		rgba(31, 71, 58, 0.55),
		rgba(124, 184, 154, 0.75),
		rgba(47, 107, 88, 0.5),
		rgba(168, 212, 190, 0.85),
		rgba(31, 71, 58, 0.55)
	);
	background-size: 300% 300%;
	z-index: -1;
	filter: blur(7px);
	opacity: 0.85;
	animation: stm-login-orb-shift 4.2s linear infinite;
	pointer-events: none;
}

#stm-dashboard-root .stm-app-header__icon-btn--login-glow:hover {
	color: #fff;
	background:
		linear-gradient(135deg, #16352c 0%, #2a5f4e 40%, #6fb396 75%, #a8d4be 100%);
	background-size: 220% 220%;
	transform: translateY(-1px) scale(1.03);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.28) inset,
		0 10px 22px rgba(22, 53, 44, 0.32),
		0 0 28px rgba(124, 184, 154, 0.55);
}

#stm-dashboard-root .stm-app-header__icon-btn--login-glow:focus-visible {
	outline: 2px solid #7cb89a;
	outline-offset: 3px;
}

/* Tombol kunci publik ? glow lembut */
#stm-dashboard-root .stm-app-header__icon-btn--lock-glow {
	position: relative;
	width: 2.75rem;
	height: 2.75rem;
	min-width: 2.75rem;
	border: none;
	border-radius: 0.9rem;
	color: #1f473a;
	background: linear-gradient(135deg, #e8f1ec 0%, #d5e8de 45%, #c3ddd0 100%);
	background-size: 200% 200%;
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.55) inset,
		0 4px 12px rgba(31, 71, 58, 0.14),
		0 0 14px rgba(124, 184, 154, 0.28);
	animation: stm-login-orb-shift 6s ease-in-out infinite;
	overflow: visible;
	isolation: isolate;
}

#stm-dashboard-root .stm-app-header__icon-btn--lock-glow::before {
	content: "";
	position: absolute;
	inset: -3px;
	border-radius: inherit;
	background: linear-gradient(
		120deg,
		rgba(124, 184, 154, 0.45),
		rgba(31, 71, 58, 0.25),
		rgba(168, 212, 190, 0.55),
		rgba(47, 107, 88, 0.35)
	);
	background-size: 280% 280%;
	z-index: -1;
	filter: blur(6px);
	opacity: 0.75;
	animation: stm-login-orb-shift 4.8s linear infinite;
	pointer-events: none;
}

#stm-dashboard-root .stm-app-header__icon-btn--lock-glow:hover {
	color: #16352c;
	background: linear-gradient(135deg, #dceae3 0%, #c8dfd4 50%, #b5d4c5 100%);
	background-size: 200% 200%;
	transform: translateY(-1px) scale(1.03);
}

#stm-dashboard-root .stm-login-orb {
	display: inline-flex;
	width: 1.15rem;
	height: 1.15rem;
	line-height: 0;
}

#stm-dashboard-root .stm-login-orb svg {
	width: 100%;
	height: 100%;
	display: block;
	filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.35));
}

@keyframes stm-login-orb-shift {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

#stm-dashboard-root .stm-app-header__user {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.25rem 0.5rem 0.25rem 0.25rem;
	border-radius: 999px;
	border: 1px solid var(--stm-border-strong);
	background: var(--stm-surface);
}

#stm-dashboard-root .stm-app-header__avatar {
	width: 1.75rem !important;
	height: 1.75rem !important;
	border-radius: 50% !important;
}

#stm-dashboard-root .stm-app-header__user-name {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--stm-text);
	max-width: 8rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#stm-dashboard-root .stm-breadcrumb {
	flex-shrink: 0;
	padding: 0.625rem 1.25rem 0;
	background: var(--stm-main-bg);
	border-bottom: 1px solid var(--stm-border);
}

#stm-dashboard-root .stm-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.375rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.75rem;
	color: var(--stm-text-subtle);
}

#stm-dashboard-root .stm-breadcrumb__item + .stm-breadcrumb__item::before {
	content: "?";
	margin-right: 0.375rem;
	color: #d1d5db;
}

#stm-dashboard-root .stm-breadcrumb__item--current {
	color: var(--stm-text);
	font-weight: 600;
}

#stm-dashboard-root .stm-sidebar__head--mobile {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--stm-sidebar-border);
}

#stm-dashboard-root .stm-sidebar__nav {
	flex: 1 1 auto;
	padding: 0.75rem 0.625rem 1rem;
	overflow-y: auto;
	scrollbar-width: thin;
}

#stm-dashboard-root .stm-sidebar__section-label {
	margin: 0 0 0.375rem 0.5rem;
	padding: 0;
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--stm-text-subtle);
}

#stm-dashboard-root .stm-sidebar-nav {
	gap: 0.125rem;
}

#stm-dashboard-root .stm-sidebar-nav .nav-item {
	width: 100%;
}

#stm-dashboard-root .stm-sidebar-nav__link {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	width: 100%;
	margin: 0;
	padding: 0.5rem 0.625rem;
	border: none;
	border-radius: var(--stm-radius-sm);
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--stm-sidebar-text) !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: left;
	transition: color 0.12s ease, background 0.12s ease;
}

#stm-dashboard-root .stm-sidebar-nav__link:hover {
	color: var(--stm-sidebar-text-active) !important;
	background: var(--stm-sidebar-bg-hover) !important;
}

#stm-dashboard-root .stm-sidebar-nav__link.active {
	color: var(--stm-sidebar-text-active) !important;
	background: var(--stm-sidebar-bg-active) !important;
	box-shadow: none !important;
	font-weight: 600;
}

#stm-dashboard-root .stm-sidebar-nav__link:focus-visible {
	outline: 2px solid #d1d5db;
	outline-offset: 1px;
}

#stm-dashboard-root .stm-sidebar-nav__icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 1.125rem;
	height: 1.125rem;
	opacity: 0.75;
}

#stm-dashboard-root .stm-sidebar-nav__link.active .stm-sidebar-nav__icon {
	color: var(--stm-sidebar-text-active);
	opacity: 1;
}

#stm-dashboard-root .stm-sidebar-nav__label {
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.25;
}

#stm-dashboard-root .stm-sidebar__toggle,
#stm-dashboard-root .stm-sidebar__close {
	color: var(--stm-text-muted);
	line-height: 1;
	border: none;
	background: transparent;
}

#stm-dashboard-root .stm-sidebar__close {
	color: var(--stm-text);
}

#stm-dashboard-root .stm-sidebar-backdrop {
	display: none;
}

#stm-dashboard-root .stm-main {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
	background: var(--stm-main-bg);
	position: relative;
}

#stm-dashboard-root .stm-main__loading {
	border-radius: 0 !important;
	margin: 0 !important;
}

#stm-dashboard-root.stm-app-shell .stm-main__loading {
	background: var(--stm-surface-muted) !important;
	color: var(--stm-text-muted) !important;
	border-bottom: 1px solid var(--stm-border) !important;
}

#stm-dashboard-root .stm-main__body {
	flex: 1 1 auto;
	padding: 1.25rem 1.5rem 1.5rem;
	min-width: 0;
}

#stm-dashboard-root.stm-app-shell .stm-page-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--stm-gap);
	margin-bottom: 1rem;
}

#stm-dashboard-root.stm-app-shell .stm-page-head__title {
	font-size: 1.375rem;
	font-weight: 750;
	letter-spacing: -0.03em;
	color: #1f473a;
	line-height: 1.2;
}

#stm-dashboard-root.stm-app-shell .stm-page-head__desc {
	margin-top: 0.25rem;
	font-size: 0.8125rem;
	color: var(--stm-text-muted);
	line-height: 1.4;
}

/* ==========================================================================
   Unified UI ? panel, form, filter, table (clean & compact)
   ========================================================================== */

#stm-dashboard-root.stm-app-shell .stm-panel--finance.stm-panel-content {
	background: transparent;
}

#stm-dashboard-root.stm-app-shell .stm-finance-panel-body {
	padding: 0 !important;
	background: transparent !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel-content {
	display: flex;
	flex-direction: column;
	gap: var(--stm-gap);
	min-width: 0;
}

#stm-dashboard-root.stm-app-shell .tab-content > .tab-pane > section.card {
	background: var(--stm-surface) !important;
	border: 1px solid var(--stm-border) !important;
	border-radius: var(--stm-radius) !important;
	box-shadow: none !important;
	overflow: hidden;
}

#stm-dashboard-root.stm-app-shell .tab-content > .tab-pane > section.card > .card-body {
	padding: var(--stm-gap-lg) !important;
	display: flex;
	flex-direction: column;
	gap: var(--stm-gap-lg);
}

#stm-dashboard-root.stm-app-shell .stm-panel-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--stm-gap);
	min-height: 0;
	padding: 0;
	margin: 0;
	border: none;
}

#stm-dashboard-root.stm-app-shell .stm-panel-toolbar__title {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--stm-text);
	letter-spacing: -0.02em;
}

#stm-dashboard-root.stm-app-shell .stm-panel-toolbar__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.375rem;
}

#stm-dashboard-root.stm-app-shell .stm-panel-toolbar--filters {
	justify-content: flex-start;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

#stm-dashboard-root.stm-app-shell .stm-ui-label {
	display: block;
	margin-bottom: 0.125rem;
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--stm-text-subtle);
}

#stm-dashboard-root.stm-app-shell .stm-ui-input.form-control,
#stm-dashboard-root.stm-app-shell .stm-ui-input.form-select {
	min-height: 1.875rem;
	padding: 0.25rem 0.5rem;
	font-size: 0.8125rem;
	color: var(--stm-text);
	background: var(--stm-surface);
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius-sm);
	box-shadow: none;
}

#stm-dashboard-root.stm-app-shell .stm-ui-input.form-control:focus,
#stm-dashboard-root.stm-app-shell .stm-ui-input.form-select:focus {
	border-color: var(--stm-accent);
	box-shadow: 0 0 0 2px var(--stm-accent-soft);
}

#stm-dashboard-root.stm-app-shell .stm-ui-select {
	min-width: 9rem;
	max-width: 14rem;
}

#stm-dashboard-root.stm-app-shell .stm-ui-btn {
	padding: 0.25rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.35;
	border-radius: var(--stm-radius-sm);
	border: 1px solid transparent;
	transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

#stm-dashboard-root.stm-app-shell .stm-ui-btn--primary {
	color: #fff;
	background: var(--stm-accent);
	border-color: var(--stm-accent);
	box-shadow: none;
}

#stm-dashboard-root.stm-app-shell .stm-ui-btn--primary:hover {
	color: #fff;
	background: #27272a;
	border-color: #27272a;
	filter: none;
}

#stm-dashboard-root.stm-app-shell .stm-ui-btn--secondary {
	color: var(--stm-text);
	background: var(--stm-surface);
	border-color: var(--stm-border-strong);
}

#stm-dashboard-root.stm-app-shell .stm-ui-btn--secondary:hover {
	background: var(--stm-surface-muted);
	border-color: var(--stm-border-strong);
}

#stm-dashboard-root.stm-app-shell .stm-ui-btn--ghost {
	color: var(--stm-text-muted);
	background: transparent;
	border-color: var(--stm-border);
}

#stm-dashboard-root.stm-app-shell .stm-ui-btn--ghost:hover {
	color: var(--stm-text);
	background: var(--stm-surface-muted);
}

#stm-dashboard-root.stm-app-shell .stm-ui-hint {
	font-size: 0.6875rem;
	color: var(--stm-text-subtle);
	line-height: 1.35;
}

#stm-dashboard-root.stm-app-shell .stm-filter-group {
	display: inline-flex;
	padding: 3px;
	background: var(--stm-surface-muted);
	border: 1px solid var(--stm-border-strong);
	border-radius: 999px;
}

#stm-dashboard-root.stm-app-shell .stm-segment-btn {
	appearance: none;
	margin: 0;
	padding: 0.3125rem 0.875rem;
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--stm-text-muted);
	background: transparent;
	border: none;
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.12s ease, color 0.12s ease;
}

#stm-dashboard-root.stm-app-shell .stm-segment-btn:hover {
	color: var(--stm-text);
	background: var(--stm-surface);
}

#stm-dashboard-root.stm-app-shell .stm-segment-btn.active {
	color: #fff;
	background: var(--stm-accent);
	box-shadow: none;
	font-weight: 600;
}

#stm-dashboard-root.stm-app-shell .stm-filter-range {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.375rem;
	margin-left: auto;
}

#stm-dashboard-root.stm-app-shell .stm-filter-range__sep {
	font-size: 0.75rem;
	color: var(--stm-text-subtle);
	flex-shrink: 0;
}

/* Task ? filter tanggal satu baris */
#stm-dashboard-root.stm-app-shell .stm-panel-toolbar--filters.stm-task-date-filter {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	gap: 0.75rem;
	padding: 0;
	margin: 0 0 0.75rem;
	background: transparent !important;
	border: none !important;
	border-radius: 0;
}

#stm-dashboard-root.stm-app-shell .stm-task-date-filter .stm-filter-group {
	flex: 0 0 auto;
}

#stm-dashboard-root.stm-app-shell .stm-task-date-filter .stm-filter-range {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.375rem;
	margin-left: auto;
	flex: 0 1 auto;
	min-width: 0;
}

#stm-dashboard-root.stm-app-shell .stm-task-date-filter .stm-task-date-input {
	min-width: 6.75rem;
	width: 7.25rem;
	max-width: 7.25rem;
	flex: 0 0 7.25rem;
}

#stm-dashboard-root.stm-app-shell .stm-task-date-filter .stm-filter-range .stm-ui-btn {
	flex: 0 0 auto;
	white-space: nowrap;
}

#stm-dashboard-root.stm-app-shell .stm-task-date-filter .stm-segment-btn {
	color: var(--stm-text-muted);
}

#stm-dashboard-root.stm-app-shell .stm-task-date-filter .stm-segment-btn.active {
	color: #fff !important;
	background: var(--stm-accent) !important;
}

#stm-dashboard-root.stm-app-shell .stm-task-date-input {
	min-width: 7.5rem;
	max-width: 9rem;
}

/* Task panel ? compact form grid */
#stm-dashboard-root.stm-app-shell .stm-task-compose {
	padding: 1rem;
	background: var(--stm-surface);
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius);
	box-shadow: none;
	margin-bottom: 0.75rem;
}

#stm-dashboard-root.stm-app-shell .stm-task-form-grid--compact {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.75fr) minmax(0, 0.95fr);
	gap: 0.375rem 0.5rem;
}

#stm-dashboard-root.stm-app-shell .stm-task-field--wide {
	grid-column: 1 / -1;
}

#stm-dashboard-root.stm-app-shell .stm-task-field--actions {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.375rem;
	padding-top: 0.25rem;
	border-top: 1px solid var(--stm-border);
}

#stm-dashboard-root.stm-app-shell .stm-task-field--desc textarea.stm-ui-input {
	min-height: 1.875rem;
	resize: vertical;
}

#stm-dashboard-root.stm-app-shell .stm-task-correction {
	padding: 0.375rem;
	background: var(--stm-surface);
	border: 1px dashed var(--stm-border-strong);
	border-radius: var(--stm-radius-sm);
}

#stm-dashboard-root.stm-app-shell .stm-task-list-section {
	display: flex;
	flex-direction: column;
	gap: var(--stm-gap);
}

#stm-dashboard-root.stm-app-shell .stm-data-table,
#stm-dashboard-root.stm-app-shell .stm-task-table-shell {
	background: var(--stm-surface);
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius);
	box-shadow: none;
	overflow: hidden;
}

#stm-dashboard-root.stm-app-shell .stm-panel--tasks #stm-task-table.stm-table--tasks-premium > :not(caption) > * > * {
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--stm-border);
	border-left: none;
	border-right: none;
}

#stm-dashboard-root.stm-app-shell .stm-panel--tasks #stm-task-table.stm-table--tasks-premium thead th {
	padding: 0.625rem 1rem;
	background: var(--stm-surface) !important;
	border-bottom: 1px solid var(--stm-border-strong);
	backdrop-filter: none;
}

#stm-dashboard-root.stm-app-shell .stm-panel--tasks .stm-task-thead__row .stm-task-th {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--stm-text-subtle);
	text-transform: uppercase;
}

#stm-dashboard-root.stm-app-shell .stm-panel--tasks #stm-task-table.stm-table--tasks-premium tbody tr {
	background: var(--stm-surface);
	transition: background 0.12s ease;
}

#stm-dashboard-root.stm-app-shell .stm-panel--tasks #stm-task-table.stm-table--tasks-premium tbody tr:nth-child(even) {
	background: var(--stm-surface);
}

#stm-dashboard-root.stm-app-shell .stm-panel--tasks #stm-task-table.stm-table--tasks-premium tbody tr:hover {
	background: var(--stm-surface-muted);
	box-shadow: none;
}

#stm-dashboard-root.stm-app-shell .stm-panel--tasks .stm-task-badge--done {
	color: #fff;
	background: var(--stm-success);
	border: none;
	box-shadow: none;
	border-radius: 999px;
	padding: 0.125rem 0.5rem;
	font-size: 0.6875rem;
	font-weight: 600;
}

#stm-dashboard-root.stm-app-shell .stm-panel--tasks .stm-task-badge--pending {
	color: var(--stm-text-muted);
	background: #f3f4f6;
	border: none;
	box-shadow: none;
	border-radius: 999px;
	padding: 0.125rem 0.5rem;
	font-size: 0.6875rem;
	font-weight: 600;
}

#stm-dashboard-root.stm-app-shell .stm-panel--tasks .stm-task-badge--progress {
	color: #1d4ed8;
	background: #eff6ff;
	border: none;
	box-shadow: none;
	border-radius: 999px;
	padding: 0.125rem 0.5rem;
	font-size: 0.6875rem;
	font-weight: 600;
}

#stm-dashboard-root.stm-app-shell .stm-panel--tasks .stm-task-btn--done {
	color: #fff;
	background: var(--stm-accent);
	border-color: var(--stm-accent);
}

#stm-dashboard-root.stm-app-shell .stm-panel--tasks .stm-task-btn--done:hover {
	background: linear-gradient(135deg, #34d399, #10b981);
	border-color: transparent;
}

#stm-dashboard-root.stm-app-shell .stm-panel--tasks .stm-task-btn--edit {
	color: var(--stm-text-muted);
	background: var(--stm-surface);
	border-color: var(--stm-border-strong);
}

#stm-dashboard-root.stm-app-shell .stm-panel--tasks .stm-task-btn--delete {
	color: #dc2626;
	background: var(--stm-surface);
	border-color: rgba(220, 38, 38, 0.25);
}

@media (max-width: 900px) {
	#stm-dashboard-root.stm-app-shell .stm-task-form-grid--compact {
		grid-template-columns: 1fr 1fr;
	}

	#stm-dashboard-root.stm-app-shell .stm-task-field--title {
		grid-column: 1 / -1;
	}
}

@media (max-width: 768px) {
	#stm-dashboard-root.stm-app-shell .stm-panel-toolbar--filters.stm-task-date-filter {
		flex-wrap: wrap;
		row-gap: 0.5rem;
	}

	#stm-dashboard-root.stm-app-shell .stm-task-date-filter .stm-filter-range {
		margin-left: 0;
		width: 100%;
		flex-wrap: wrap;
	}

	#stm-dashboard-root.stm-app-shell .stm-task-date-filter .stm-task-date-input {
		flex: 1 1 6.5rem;
		min-width: 0;
		width: auto;
		max-width: none;
	}
}

@media (max-width: 640px) {
	#stm-dashboard-root.stm-app-shell .stm-task-form-grid--compact {
		grid-template-columns: 1fr;
	}

	#stm-dashboard-root.stm-app-shell .stm-filter-range {
		margin-left: 0;
		width: 100%;
	}

	#stm-dashboard-root.stm-app-shell .stm-task-date-input {
		flex: 1 1 6.5rem;
		min-width: 0;
		max-width: none;
	}
}

#stm-dashboard-root.stm-app-shell .stm-panel--tasks .stm-task-title-cell {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--stm-text);
}

#stm-dashboard-root.stm-app-shell .stm-panel--tasks .stm-task-btn {
	font-size: 0.75rem;
	font-weight: 500;
	padding: 0.25rem 0.5rem;
	min-height: 1.5rem;
	border-radius: var(--stm-radius-sm);
	box-shadow: none;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-page-head {
	margin-bottom: 0.25rem;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-subtabs.stm-subnav-pills {
	margin-bottom: 1rem;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-subtabs--scroll {
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
	max-width: 100%;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-subtabs--scroll .nav-link {
	white-space: nowrap;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub] {
	color: var(--stm-text-muted) !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub]:hover {
	color: var(--stm-text) !important;
	background: var(--stm-surface) !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link.active:not([data-stm-finance-sub='exp']):not([data-stm-finance-sub='inc']),
#stm-dashboard-root.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link.active:not([data-stm-finance-sub='exp']):not([data-stm-finance-sub='inc']):hover {
	color: #fff !important;
	background: var(--stm-accent) !important;
	box-shadow: none !important;
	font-weight: 600;
}

/* Tab Pendapatan ? hijau clean */
#stm-dashboard-root.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub='inc'] {
	color: #16a34a !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub='inc']:hover:not(.active) {
	color: #15803d !important;
	background: rgba(22, 163, 74, 0.08) !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub='inc'].active,
#stm-dashboard-root.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub='inc'].active:hover {
	color: #fff !important;
	background: #16a34a !important;
	border: none !important;
	box-shadow: none !important;
	font-weight: 600;
}

/* Tab Biaya ? merah clean */
#stm-dashboard-root.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub='exp'] {
	color: #dc2626 !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub='exp']:hover:not(.active) {
	color: #b91c1c !important;
	background: rgba(220, 38, 38, 0.08) !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub='exp'].active,
#stm-dashboard-root.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub='exp'].active:hover {
	color: #fff !important;
	background: #dc2626 !important;
	border: none !important;
	box-shadow: none !important;
	font-weight: 600;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub='exp'].active::before,
#stm-dashboard-root.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub='exp'].active::after {
	display: none !important;
	content: none !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-scope-hint {
	margin: 0 0 0.75rem;
	padding: 0;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--stm-text-muted);
	background: transparent;
	border: none;
	border-radius: 0;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-readonly-hint {
	margin: 0 0 0.75rem;
	padding: 0.5rem 0.75rem;
	font-size: 0.75rem;
	color: var(--stm-text-muted);
	background: var(--stm-surface-muted);
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius-sm);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-input.form-control,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-input.form-select,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .form-control.form-control-sm,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .form-select.form-select-sm {
	min-height: 1.875rem;
	padding: 0.25rem 0.5rem;
	font-size: 0.8125rem;
	color: var(--stm-text);
	background: var(--stm-surface);
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius-sm);
	box-shadow: none;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-input.form-control:focus,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-input.form-select:focus,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .form-control.form-control-sm:focus,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .form-select.form-select-sm:focus {
	border-color: #d1d5db;
	box-shadow: 0 0 0 2px var(--stm-accent-soft);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-label,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .form-label {
	margin-bottom: 0.125rem;
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--stm-text-subtle);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-settings-card {
	margin-bottom: 0.75rem;
	background: var(--stm-surface);
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius);
	box-shadow: none;
	overflow: hidden;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-settings-card__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.25rem 0.5rem;
	padding: 0.75rem 1rem 0;
	background: transparent;
	color: var(--stm-text);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-settings-card__badge {
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--stm-text);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-settings-card__sub {
	font-size: 0.75rem;
	color: var(--stm-text-muted);
	opacity: 1;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-settings-bar {
	padding: 0.75rem 1rem 1rem;
	background: transparent;
	border: none;
	box-shadow: none;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-form-card {
	background: var(--stm-surface);
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius);
	box-shadow: none;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-form-panel--in {
	border-left: 3px solid var(--stm-success);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-form-panel--out {
	border-left: 3px solid #dc2626;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-form-panel__head {
	padding: 0.75rem 1rem 0;
	background: transparent !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-form-panel__title {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	color: var(--stm-text);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-form-panel--in .stm-cash-label,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-form-panel--out .stm-cash-label {
	color: var(--stm-text-subtle);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-amount-input {
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--stm-text) !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-form-actions {
	border-top: 1px solid var(--stm-border);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-submit-btn--in,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-submit-btn--inc {
	background: #1f473a !important;
	border-color: #1f473a !important;
	color: #fff !important;
	box-shadow: none !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-submit-btn--out,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-submit-btn--exp {
	background: #e8f1ec !important;
	border-color: #e8f1ec !important;
	color: #1f473a !important;
	box-shadow: none !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-submit-btn--in:hover,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-submit-btn--inc:hover {
	color: #fff !important;
	background: #18382e !important;
	border-color: #18382e !important;
	transform: none;
	filter: none;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-submit-btn--out:hover,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-submit-btn--exp:hover {
	color: #1f473a !important;
	background: #dceae3 !important;
	border-color: #dceae3 !important;
	transform: none;
	filter: none;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-cash-scope,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-inc-scope,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-exp-scope {
	color: var(--stm-text);
	background: transparent;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-form-panel--in,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-form-panel--out {
	background: var(--stm-surface) !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-form-panel--in .stm-cash-form-panel__head,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-form-panel--out .stm-cash-form-panel__head {
	background: transparent !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-save-btn,
#stm-dashboard-root.stm-app-shell .stm-panel--finance #stm-cash-save-account {
	background: var(--stm-accent) !important;
	border-color: var(--stm-accent) !important;
	color: #fff !important;
	box-shadow: none !important;
	background-image: none !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-history__title,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-txn-history__title {
	margin: 1rem 0 0.75rem;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--stm-text-subtle);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-txn-form-card {
	background: var(--stm-surface);
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius);
	box-shadow: none;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-txn-form-card--inc {
	border-left: 3px solid var(--stm-success);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-txn-form-card--exp {
	border-left: 3px solid #dc2626;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-txn-form-card__head--inc,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-txn-form-card__head--exp {
	padding: 0.75rem 1rem 0;
	color: var(--stm-text);
	background: transparent !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-txn-form-card__badge {
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
	color: var(--stm-text);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-txn-form-card__sub {
	font-size: 0.75rem;
	color: var(--stm-text-muted);
	opacity: 1;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-txn-form-grid--vibrant {
	padding: 0.75rem 1rem 1rem;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-filter-label {
	font-size: 0.6875rem;
	font-weight: 600;
	color: var(--stm-text-muted);
	white-space: nowrap;
}

/* Riwayat transaksi ? filter grid */
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-history__filters,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-txn-history__filters {
	margin-bottom: 0.75rem;
	padding: 0.75rem 1rem;
	background: var(--stm-surface) !important;
	border: 1px solid var(--stm-border-strong) !important;
	border-left: none !important;
	border-radius: var(--stm-radius);
	box-shadow: none !important;
	overflow: visible;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-filter-grid {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-filter-row {
	display: grid;
	grid-template-columns: 6.25rem minmax(0, 1fr);
	align-items: center;
	gap: 0.5rem 0.75rem;
	padding: 0;
	border-bottom: none;
	background: transparent !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-filter-row--actions {
	grid-template-columns: 1fr;
	justify-items: end;
	padding-top: 0.125rem;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-filter-controls {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.375rem;
	min-width: 0;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-filter-controls .stm-filter-group {
	flex: 0 0 auto;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-filter-controls .stm-filter-group .stm-finance-date-preset {
	border: none !important;
	border-radius: 999px !important;
	padding: 0.3125rem 0.75rem;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-txn-date-input,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-date-input {
	min-width: 6.75rem;
	width: 7.25rem;
	max-width: 7.25rem;
	flex: 0 0 7.25rem;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-filter-sep {
	color: var(--stm-text-subtle);
	flex-shrink: 0;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-txn-filter-hint,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-history__filters .stm-finance-txn-filter-hint {
	margin-top: 0.5rem;
	padding-top: 0.5rem;
	border-top: 1px solid var(--stm-border);
	color: var(--stm-text-subtle) !important;
	background: transparent !important;
}

@media (max-width: 900px) {
	#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-filter-row {
		grid-template-columns: 1fr;
		gap: 0.375rem;
	}

	#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-filter-controls {
		flex-wrap: wrap;
	}

	#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-txn-date-input,
	#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-date-input {
		flex: 1 1 6.5rem;
		min-width: 0;
		width: auto;
		max-width: none;
	}

	#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-filter-row--actions {
		justify-items: stretch;
	}

	#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-filter-actions {
		width: 100%;
		justify-content: flex-end;
	}
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-date-preset {
	padding: 0.25rem 0.625rem;
	font-size: 0.6875rem;
	font-weight: 500;
	color: var(--stm-text-muted) !important;
	background: transparent !important;
	border: 1px solid var(--stm-border-strong) !important;
	border-radius: var(--stm-radius-sm) !important;
	box-shadow: none !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-date-preset.active,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-date-preset:active {
	color: #fff !important;
	background: var(--stm-accent) !important;
	border-color: var(--stm-accent) !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-filter-btn--apply,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .btn.stm-finance-filter-btn--apply {
	color: #fff !important;
	background: var(--stm-accent) !important;
	border: 1px solid var(--stm-accent) !important;
	border-radius: var(--stm-radius-sm) !important;
	box-shadow: none !important;
	background-image: none !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-filter-btn--reset,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .btn.stm-finance-filter-btn--reset {
	color: var(--stm-text-muted) !important;
	background: var(--stm-surface) !important;
	border: 1px solid var(--stm-border-strong) !important;
	border-radius: var(--stm-radius-sm) !important;
	box-shadow: none !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-cash-table-shell,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-txn-table-shell {
	background: var(--stm-surface);
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius);
	box-shadow: none;
	overflow-x: auto;
	overflow-y: hidden;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-table--cash-premium > :not(caption) > * > *,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-table--txn-premium > :not(caption) > * > * {
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--stm-border);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-txn-thead th,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-table--cash-premium thead th {
	padding: 0.625rem 1rem;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--stm-text-subtle) !important;
	background: var(--stm-surface) !important;
	border-bottom: 1px solid var(--stm-border-strong);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-inc-scope .stm-finance-txn-table-shell,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-exp-scope .stm-finance-txn-table-shell,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-inc-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium thead th,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-exp-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium thead th {
	background: var(--stm-surface) !important;
	border-color: var(--stm-border-strong) !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-inc-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium tbody tr:nth-child(even),
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-exp-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium tbody tr:nth-child(even),
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-table--cash-premium tbody tr:nth-child(even) {
	background: var(--stm-surface);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-inc-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium tbody tr:hover,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-exp-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium tbody tr:hover,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-table--cash-premium tbody tr:hover {
	background: var(--stm-surface-muted);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-inc-scope .stm-finance-txn-table-shell .text-end.fw-semibold {
	color: var(--stm-success);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-exp-scope .stm-finance-txn-table-shell .text-end.fw-semibold {
	color: var(--stm-text);
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .btn-primary,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-ui-btn--primary,
#stm-dashboard-root #stm-cash-in-modal .stm-ui-btn--primary {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: #1f473a !important;
	background-image: linear-gradient(115deg, #1f473a 0%, #2f6b58 48%, #5a9e82 100%) !important;
	background-size: 180% 180% !important;
	border-color: transparent !important;
	color: #fff !important;
	box-shadow:
		0 6px 16px rgba(22, 53, 44, 0.2),
		0 0 16px rgba(124, 184, 154, 0.22);
	animation: stm-login-orb-shift 5.5s ease-in-out infinite;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-ui-btn--primary:hover,
#stm-dashboard-root #stm-cash-in-modal .stm-ui-btn--primary:hover {
	background-color: #16352c !important;
	background-image: linear-gradient(115deg, #16352c 0%, #2a5f4e 45%, #6fb396 100%) !important;
	background-size: 180% 180% !important;
	border-color: transparent !important;
	color: #fff !important;
	box-shadow:
		0 8px 20px rgba(22, 53, 44, 0.26),
		0 0 24px rgba(124, 184, 154, 0.35);
	filter: brightness(1.03);
}

#stm-dashboard-root #stm-cash-out-modal .stm-ui-btn--secondary {
	background: #e8f1ec !important;
	border-color: #e8f1ec !important;
	color: #1f473a !important;
}

#stm-dashboard-root #stm-cash-out-modal .stm-ui-btn--secondary:hover {
	background: #dceae3 !important;
	border-color: #dceae3 !important;
	color: #1f473a !important;
}
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-finance-submit-btn {
	color: #fff !important;
	border-radius: var(--stm-radius-sm) !important;
	background-image: none !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .btn-outline-primary,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .btn-outline-secondary {
	border-radius: var(--stm-radius-sm) !important;
	background-image: none !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-task-badge--done {
	color: #fff !important;
	background: var(--stm-success) !important;
	border: none !important;
	box-shadow: none !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-task-badge--cancelled,
#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-task-badge--pending {
	color: var(--stm-text-muted) !important;
	background: #f3f4f6 !important;
	border: none !important;
	box-shadow: none !important;
}

/* ==========================================================================
   Panel Pengaturan ? Zenith
   ========================================================================== */

#stm-dashboard-root.stm-app-shell .stm-panel--settings {
	background: transparent;
}

#stm-dashboard-root.stm-app-shell .stm-settings-page-head {
	margin-bottom: 0.25rem;
}

#stm-dashboard-root.stm-app-shell .stm-subnav-pills {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem;
	padding: 3px;
	margin: 0 0 1.25rem;
	list-style: none;
	background: var(--stm-surface-muted);
	border: 1px solid var(--stm-border-strong);
	border-radius: 999px;
	width: fit-content;
	max-width: 100%;
}

#stm-dashboard-root.stm-app-shell .stm-subnav-pills .nav-item {
	margin: 0;
}

#stm-dashboard-root.stm-app-shell .stm-subnav-pills .nav-link {
	margin: 0;
	padding: 0.375rem 0.875rem;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--stm-text-muted) !important;
	background: transparent !important;
	border: none !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	transition: background 0.12s ease, color 0.12s ease;
}

#stm-dashboard-root.stm-app-shell .stm-subnav-pills .nav-link:hover {
	color: var(--stm-text) !important;
	background: var(--stm-surface) !important;
}

#stm-dashboard-root.stm-app-shell .stm-subnav-pills .nav-link.active:not([data-stm-finance-sub='exp']):not([data-stm-finance-sub='inc']),
#stm-dashboard-root.stm-app-shell .stm-subnav-pills .nav-link.active:not([data-stm-finance-sub='exp']):not([data-stm-finance-sub='inc']):hover {
	color: #fff !important;
	background: var(--stm-accent) !important;
	font-weight: 600;
}

#stm-dashboard-root.stm-app-shell .stm-settings-section {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	min-width: 0;
}

#stm-dashboard-root.stm-app-shell .stm-settings-section__title {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--stm-text);
}

#stm-dashboard-root.stm-app-shell .stm-settings-section__subtitle {
	margin: 0.5rem 0 0;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--stm-text-subtle);
}

#stm-dashboard-root.stm-app-shell .stm-settings-section__desc {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--stm-text-muted);
	line-height: 1.45;
	max-width: 42rem;
}

#stm-dashboard-root.stm-app-shell .stm-settings-form-card {
	padding: 1rem;
	background: var(--stm-surface);
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius);
}

#stm-dashboard-root.stm-app-shell .stm-code-block {
	display: block;
	padding: 0.5rem 0.625rem;
	font-size: 0.75rem;
	background: var(--stm-surface-muted);
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius-sm);
	color: var(--stm-text);
}

#stm-dashboard-root.stm-app-shell .stm-panel--settings .stm-data-table,
#stm-dashboard-root.stm-app-shell .stm-panel--settings .stm-table-wrap.stm-data-table {
	background: var(--stm-surface);
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius);
	overflow: hidden;
}

#stm-dashboard-root.stm-app-shell .stm-table--settings > :not(caption) > * > * {
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--stm-border);
	vertical-align: middle;
}

#stm-dashboard-root.stm-app-shell .stm-table--settings thead th {
	padding: 0.625rem 1rem;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--stm-text-subtle);
	background: var(--stm-surface) !important;
	border-bottom: 1px solid var(--stm-border-strong);
}

#stm-dashboard-root.stm-app-shell .stm-table--settings tbody tr {
	background: var(--stm-surface);
	transition: background 0.12s ease;
}

#stm-dashboard-root.stm-app-shell .stm-table--settings tbody tr:hover {
	background: var(--stm-surface-muted);
}

#stm-dashboard-root.stm-app-shell .stm-panel--settings .btn-primary,
#stm-dashboard-root.stm-app-shell .stm-panel--settings .stm-ui-btn--primary {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: #fff !important;
	background-color: #1f473a !important;
	background-image: linear-gradient(115deg, #1f473a 0%, #2f6b58 48%, #5a9e82 100%) !important;
	background-size: 180% 180% !important;
	border-color: transparent !important;
	box-shadow:
		0 6px 16px rgba(22, 53, 44, 0.18),
		0 0 14px rgba(124, 184, 154, 0.2) !important;
	border-radius: var(--stm-radius-sm) !important;
	animation: stm-login-orb-shift 5.5s ease-in-out infinite;
}

#stm-dashboard-root.stm-app-shell .stm-panel--settings .btn-primary:hover,
#stm-dashboard-root.stm-app-shell .stm-panel--settings .stm-ui-btn--primary:hover {
	color: #fff !important;
	background-color: #16352c !important;
	background-image: linear-gradient(115deg, #16352c 0%, #2a5f4e 45%, #6fb396 100%) !important;
	background-size: 180% 180% !important;
	border-color: transparent !important;
	box-shadow:
		0 8px 20px rgba(22, 53, 44, 0.24),
		0 0 22px rgba(124, 184, 154, 0.32) !important;
	filter: brightness(1.03);
}

#stm-dashboard-root.stm-app-shell .stm-panel--settings .btn-outline-primary,
#stm-dashboard-root.stm-app-shell .stm-panel--settings .stm-ui-btn--secondary {
	color: var(--stm-text) !important;
	background: var(--stm-surface) !important;
	border: 1px solid var(--stm-border-strong) !important;
	background-image: none !important;
	box-shadow: none !important;
	border-radius: var(--stm-radius-sm) !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--settings .btn-outline-primary:hover,
#stm-dashboard-root.stm-app-shell .stm-panel--settings .stm-ui-btn--secondary:hover {
	background: var(--stm-surface-muted) !important;
}

#stm-dashboard-root.stm-app-shell .stm-ui-btn--danger {
	color: #dc2626 !important;
	background: transparent !important;
	border: 1px solid rgba(220, 38, 38, 0.3) !important;
}

#stm-dashboard-root.stm-app-shell .stm-ui-btn--danger:hover {
	color: #fff !important;
	background: #dc2626 !important;
	border-color: #dc2626 !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--settings .stm-actions .btn,
#stm-dashboard-root.stm-app-shell .stm-panel--settings .stm-dir-manage-btn {
	font-size: 0.75rem;
	font-weight: 500;
	padding: 0.25rem 0.625rem;
	color: var(--stm-text-muted) !important;
	background: var(--stm-surface) !important;
	border: 1px solid var(--stm-border-strong) !important;
	border-radius: var(--stm-radius-sm) !important;
	background-image: none !important;
	box-shadow: none !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--settings .stm-actions .btn:hover,
#stm-dashboard-root.stm-app-shell .stm-panel--settings .stm-dir-manage-btn:hover {
	color: var(--stm-text) !important;
	background: var(--stm-surface-muted) !important;
}

#stm-dashboard-root.stm-app-shell .stm-panel--settings .modal-content {
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius);
	box-shadow: var(--stm-shadow-md);
}

#stm-dashboard-root.stm-app-shell .stm-roles-subtabs.stm-subnav-pills {
	margin-bottom: 1rem;
}

#stm-dashboard-root.stm-app-shell .stm-festive-banner {
	display: none !important;
}

/* Panel Chatroom ? Zenith clean */
#stm-dashboard-root.stm-app-shell .stm-panel--chatroom.stm-panel-content {
	gap: 1rem;
}

#stm-dashboard-root.stm-app-shell .stm-chatroom-shell {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	min-width: 0;
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-thread {
	flex: 1 1 auto;
	min-height: min(52vh, 22rem);
	max-height: min(58vh, 32rem);
	margin: 0;
	padding: 0.75rem;
	background: var(--stm-surface);
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius);
	box-shadow: none;
	scrollbar-width: thin;
	scrollbar-color: var(--stm-border-strong) transparent;
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-chatroom-empty,
#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-thread-empty {
	padding: 2rem 1rem;
	font-size: 0.8125rem;
	color: var(--stm-text-muted);
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-row {
	margin-bottom: 0.5rem;
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-bubble {
	padding: 0.5rem 0.625rem;
	border-radius: var(--stm-radius);
	font-size: 0.8125rem;
	line-height: 1.45;
	box-shadow: none;
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-row--other .stm-msg-bubble {
	background: var(--stm-surface-muted);
	border: 1px solid var(--stm-border);
	backdrop-filter: none;
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-row--mine .stm-msg-bubble {
	background: var(--stm-accent-soft);
	border: 1px solid var(--stm-border-strong);
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-name {
	font-size: 0.6875rem;
	font-weight: 600;
	color: var(--stm-text);
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-timehead {
	font-size: 0.625rem;
	color: var(--stm-text-subtle);
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-quote {
	margin-bottom: 0.375rem;
	padding: 0.375rem 0.5rem;
	font-size: 0.75rem;
	color: var(--stm-text-muted);
	background: var(--stm-surface);
	border-left: 2px solid var(--stm-border-strong);
	border-radius: var(--stm-radius-sm);
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-row--mine .stm-msg-quote {
	background: rgba(255, 255, 255, 0.55);
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-quote-who {
	font-size: 0.6875rem;
	color: var(--stm-text);
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-text {
	color: var(--stm-text);
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-actions {
	margin-top: 0.375rem;
	padding-top: 0.375rem;
	border-top: 1px solid var(--stm-border);
	gap: 0.375rem;
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-btn {
	padding: 0.1875rem 0.5rem;
	font-size: 0.6875rem;
	font-weight: 500;
	border-radius: var(--stm-radius-sm);
	box-shadow: none;
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-btn--reply {
	color: var(--stm-text-muted);
	background: var(--stm-surface);
	border: 1px solid var(--stm-border-strong);
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-btn--reply:hover {
	color: var(--stm-text);
	background: var(--stm-surface-muted);
	border-color: var(--stm-border-strong);
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-btn--delete {
	color: #dc2626;
	background: transparent;
	border: 1px solid rgba(220, 38, 38, 0.25);
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-btn--delete:hover {
	color: #fff;
	background: #dc2626;
	border-color: #dc2626;
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-reply-bar {
	margin: 0;
	padding: 0.5rem 0.625rem;
	background: var(--stm-surface-muted);
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius-sm);
	box-shadow: none;
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-reply-preview {
	font-size: 0.75rem;
	color: var(--stm-text-muted);
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom #stm-chat-reply-cancel {
	padding: 0.1875rem 0.5rem;
	font-size: 0.6875rem;
}

#stm-dashboard-root.stm-app-shell .stm-chatroom-compose {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	min-width: 0;
}

#stm-dashboard-root.stm-app-shell .stm-chatroom-compose__row {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	align-items: stretch;
}

@media (min-width: 576px) {
	#stm-dashboard-root.stm-app-shell .stm-chatroom-compose__row {
		flex-direction: row;
		align-items: flex-end;
	}
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-compose--chat {
	flex: 1 1 auto;
	min-height: 2.5rem;
	max-height: 8rem;
	padding: 0.5rem 0.625rem;
	font-size: 0.8125rem;
	color: var(--stm-text);
	background: var(--stm-surface);
	border: 1px solid var(--stm-border-strong);
	border-radius: var(--stm-radius-sm);
	box-shadow: none;
	resize: vertical;
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom .stm-msg-compose--chat:focus {
	border-color: #d1d5db;
	box-shadow: 0 0 0 2px var(--stm-accent-soft);
	outline: none;
}

#stm-dashboard-root.stm-app-shell .stm-chatroom-compose__send {
	flex-shrink: 0;
	align-self: stretch;
}

@media (min-width: 576px) {
	#stm-dashboard-root.stm-app-shell .stm-chatroom-compose__send {
		align-self: flex-end;
		min-width: 5.5rem;
	}
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom #stm-chat-status {
	font-size: 0.75rem;
	color: var(--stm-text-muted);
}

#stm-dashboard-root.stm-app-shell .stm-panel--chatroom #stm-chat-status.text-danger,
#stm-dashboard-root.stm-app-shell .stm-panel--chatroom #stm-chat-status[data-state='err'] {
	color: #dc2626 !important;
}

@media (max-width: 991.98px) {
	#stm-dashboard-root .stm-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		transform: translateX(-100%);
		transition: transform 0.22s ease;
		box-shadow: 0 8px 32px rgba(15, 23, 42, 0.28);
	}

	body.stm-dashboard-page #stm-dashboard-root .stm-sidebar {
		top: 0;
	}

	#stm-dashboard-root .stm-sidebar.is-open {
		transform: translateX(0);
	}

	#stm-dashboard-root .stm-sidebar-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(15, 23, 42, 0.45);
		z-index: 1035;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.22s ease;
	}

	#stm-dashboard-root .stm-sidebar-backdrop.is-visible {
		opacity: 1;
		pointer-events: auto;
	}

	#stm-dashboard-root .stm-main__body {
		padding: 1rem 1rem 1.25rem;
	}

	#stm-dashboard-root .stm-breadcrumb {
		padding: 0.5rem 1rem 0;
	}

	#stm-dashboard-root .stm-app-header__inner {
		padding: 0 1rem;
	}

	#stm-dashboard-root .stm-app-header__quote-wrap {
		justify-content: flex-start;
	}

	#stm-dashboard-root .stm-app-header__quote-line {
		text-align: left;
		white-space: normal;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
}

#stm-dashboard-root.stm-premium--fluid .stm-premium-shell {
	max-width: none;
}

#stm-dashboard-root .stm-premium-shell {
	box-shadow: none !important;
}

/* Panel utama tab (bukan kartu bersarang di dalamnya) ? rata kiri/kanan mengikuti kontainer */
#stm-dashboard-root.stm-premium--fluid .tab-content > .tab-pane > section.card > .card-body {
	padding: 0.75rem 0 !important;
}

@media (min-width: 768px) {
	#stm-dashboard-root.stm-premium--fluid .tab-content > .tab-pane > section.card > .card-body {
		padding: 1rem 0 !important;
	}
}


/* Nav pills ? horizontal fallback (sub-tab); sidebar pakai .stm-sidebar-nav */
#stm-dashboard-root .stm-tabs.nav-pills:not(.stm-sidebar-nav) .nav-link {
	border-radius: 2rem;
	padding: 0.3rem 0.75rem;
	font-size: 0.8125rem;
	color: var(--bs-secondary-color);
	background: transparent;
	border: 1px solid transparent;
	transition: color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

#stm-dashboard-root .stm-tabs.nav-pills:not(.stm-sidebar-nav) .nav-link:hover {
	color: var(--bs-emphasis-color);
	background: var(--bs-tertiary-bg);
	border-color: var(--bs-border-color-translucent);
}

#stm-dashboard-root .stm-tabs.nav-pills:not(.stm-sidebar-nav) .nav-link.active {
	color: #fff;
	background: linear-gradient(
		135deg,
		var(--bs-primary) 0%,
		color-mix(in srgb, var(--bs-primary) 78%, #0f172a) 100%
	);
	border-color: transparent;
	box-shadow: 0 0.2rem 0.65rem rgba(var(--bs-primary-rgb), 0.35);
}

#stm-dashboard-root .stm-tabs.nav-pills:not(.stm-sidebar-nav) .nav-link:focus-visible {
	outline: 2px solid var(--bs-primary);
	outline-offset: 2px;
}

/*
 * Sub-tab Keuangan: Pendapatan hijau, Biaya merah.
 * Pakai #id + button + !important agar menang tema / Bootstrap yang memuat setelah stylesheet plugin.
 */
#stm-dashboard-root.stm-dashboard.stm-premium .stm-panel--finance ul.stm-finance-subtabs.nav-pills > li > button.nav-link[data-stm-finance-sub='inc'] {
	color: #198754 !important;
	background: transparent !important;
	border: 1px solid transparent !important;
}

#stm-dashboard-root.stm-dashboard.stm-premium .stm-panel--finance ul.stm-finance-subtabs.nav-pills > li > button.nav-link[data-stm-finance-sub='inc']:hover {
	color: #0f5132 !important;
	background: rgba(25, 135, 84, 0.12) !important;
	border-color: rgba(25, 135, 84, 0.35) !important;
}

#stm-dashboard-root.stm-dashboard.stm-premium .stm-panel--finance ul.stm-finance-subtabs.nav-pills > li > button.nav-link[data-stm-finance-sub='inc'].active,
#stm-dashboard-root.stm-dashboard.stm-premium .stm-panel--finance ul.stm-finance-subtabs.nav-pills > li > button.nav-link[data-stm-finance-sub='inc'].active:hover {
	color: #fff !important;
	background: linear-gradient(135deg, #2dd4a0 0%, #198754 100%) !important;
	border-color: transparent !important;
	box-shadow: 0 0.2rem 0.55rem rgba(25, 135, 84, 0.38);
}

#stm-dashboard-root.stm-dashboard.stm-premium .stm-panel--finance ul.stm-finance-subtabs.nav-pills > li > button.nav-link[data-stm-finance-sub='inc']:focus-visible {
	outline: 2px solid #198754;
	outline-offset: 2px;
}

#stm-dashboard-root.stm-dashboard.stm-premium .stm-panel--finance ul.stm-finance-subtabs.nav-pills > li > button.nav-link[data-stm-finance-sub='exp'] {
	color: #dc3545 !important;
	background: transparent !important;
	border: 1px solid transparent !important;
}

#stm-dashboard-root.stm-dashboard.stm-premium .stm-panel--finance ul.stm-finance-subtabs.nav-pills > li > button.nav-link[data-stm-finance-sub='exp']:hover {
	color: #9a1c2a !important;
	background: rgba(220, 53, 69, 0.12) !important;
	border-color: rgba(220, 53, 69, 0.38) !important;
}

#stm-dashboard-root.stm-dashboard.stm-premium .stm-panel--finance ul.stm-finance-subtabs.nav-pills > li > button.nav-link[data-stm-finance-sub='exp'].active,
#stm-dashboard-root.stm-dashboard.stm-premium .stm-panel--finance ul.stm-finance-subtabs.nav-pills > li > button.nav-link[data-stm-finance-sub='exp'].active:hover {
	color: #fff !important;
	background: linear-gradient(135deg, #f07178 0%, #c82333 100%) !important;
	border-color: transparent !important;
	box-shadow: 0 0.2rem 0.55rem rgba(220, 53, 69, 0.38);
}

#stm-dashboard-root.stm-dashboard.stm-premium .stm-panel--finance ul.stm-finance-subtabs.nav-pills > li > button.nav-link[data-stm-finance-sub='exp']:focus-visible {
	outline: 2px solid #dc3545;
	outline-offset: 2px;
}

/* Panel Keuangan ? header, sub-tab, layout padat & colorful */
#stm-dashboard-root .stm-panel--finance {
	--stm-fin-line: rgba(99, 102, 241, 0.12);
	--stm-fin-text: #1e293b;
	--stm-fin-muted: #64748b;
	--stm-fin-accent-cyan: #06b6d4;
	--stm-fin-accent-violet: #8b5cf6;
	--stm-fin-accent-indigo: #6366f1;
	--stm-fin-accent-mint: #10b981;
	--stm-fin-accent-coral: #f43f5e;
	--stm-fin-accent-amber: #f59e0b;
	background: transparent;
}

#stm-dashboard-root .stm-panel--finance.card {
	background: transparent;
}

#stm-dashboard-root .stm-finance-panel-body {
	padding-top: 0.375rem !important;
	padding-bottom: 0.375rem !important;
	background: transparent !important;
}

#stm-dashboard-root .stm-finance-panel-head__title {
	font-size: 0.9375rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--stm-fin-accent-indigo);
}

#stm-dashboard-root .stm-finance-panel-head__intro {
	font-size: 0.6875rem;
	font-weight: 500;
	color: var(--stm-fin-muted);
}

#stm-dashboard-root .stm-finance-scope-hint {
	font-size: 0.6875rem;
	line-height: 1.35;
	color: #4338ca;
	padding: 0.25rem 0.4375rem;
	background: linear-gradient(90deg, rgba(99, 102, 241, 0.1), rgba(6, 182, 212, 0.08));
	border-radius: 8px;
	border-left: 3px solid var(--stm-fin-accent-violet);
}

#stm-dashboard-root .stm-finance-readonly-hint {
	font-size: 0.75rem;
	margin-bottom: 0.375rem !important;
}

#stm-dashboard-root .stm-finance-subtabs--scroll {
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 0.125rem;
}

#stm-dashboard-root .stm-finance-subtabs--scroll .nav-link {
	white-space: nowrap;
	font-size: 0.6875rem;
	border-radius: 2rem;
}

#stm-dashboard-root .stm-finance-subtabs--vibrant .nav-link[data-stm-finance-sub='cash'].active {
	color: #fff !important;
	background: linear-gradient(135deg, #06b6d4 0%, #6366f1 100%) !important;
	box-shadow: 0 0.2rem 0.55rem rgba(6, 182, 212, 0.35);
	border-color: transparent !important;
}

#stm-dashboard-root .stm-finance-subtabs--vibrant .nav-link[data-stm-finance-sub='accounts'].active,
#stm-dashboard-root .stm-finance-subtabs--vibrant .nav-link[data-stm-finance-sub='journal'].active,
#stm-dashboard-root .stm-finance-subtabs--vibrant .nav-link[data-stm-finance-sub='ledger'].active,
#stm-dashboard-root .stm-finance-subtabs--vibrant .nav-link[data-stm-finance-sub='balance'].active,
#stm-dashboard-root .stm-finance-subtabs--vibrant .nav-link[data-stm-finance-sub='pl'].active,
#stm-dashboard-root .stm-finance-subtabs--vibrant .nav-link[data-stm-finance-sub='fixed'].active {
	color: #fff !important;
	background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%) !important;
	box-shadow: 0 0.2rem 0.55rem rgba(99, 102, 241, 0.32);
	border-color: transparent !important;
}

#stm-dashboard-root .stm-finance-input.form-control,
#stm-dashboard-root .stm-finance-input.form-select {
	border-color: rgba(99, 102, 241, 0.16);
	background: rgba(255, 255, 255, 0.92);
	font-size: 0.8125rem;
}

#stm-dashboard-root .stm-finance-input.form-control:focus,
#stm-dashboard-root .stm-finance-input.form-select:focus {
	border-color: rgba(99, 102, 241, 0.45);
	box-shadow: 0 0 0 0.15rem rgba(99, 102, 241, 0.18);
}

#stm-dashboard-root .stm-finance-compose-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.5rem;
	margin-bottom: 0.375rem;
}

@media (min-width: 992px) {
	#stm-dashboard-root .stm-finance-compose-grid:not(.stm-finance-compose-grid--single) {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
		align-items: start;
	}
}

#stm-dashboard-root .stm-finance-txn-form-card {
	background: #fff;
	border: 1px solid rgba(99, 102, 241, 0.14);
	border-radius: 12px;
	padding: 0;
	overflow: hidden;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.9) inset,
		0 4px 16px rgba(99, 102, 241, 0.08);
}

#stm-dashboard-root .stm-finance-txn-form-card--vibrant .stm-finance-txn-form-grid--vibrant {
	padding: 0.4375rem 0.5625rem 0.5rem;
}

#stm-dashboard-root .stm-finance-txn-form-card--exp {
	border-color: rgba(244, 63, 94, 0.2);
}

#stm-dashboard-root .stm-finance-txn-form-card--inc {
	border-color: rgba(16, 185, 129, 0.22);
}

#stm-dashboard-root .stm-finance-txn-form-card--ai {
	background: linear-gradient(180deg, #fafbfd 0%, #f4f6f9 100%);
	padding: 0.5625rem 0.6875rem;
}

#stm-dashboard-root .stm-finance-txn-form-card__head {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

#stm-dashboard-root .stm-finance-txn-form-card__head--inc,
#stm-dashboard-root .stm-finance-txn-form-card__head--exp {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.25rem 0.5rem;
	padding: 0.375rem 0.625rem;
	color: #fff;
}

#stm-dashboard-root .stm-finance-txn-form-card__head--inc {
	background: linear-gradient(95deg, #059669 0%, #10b981 45%, #34d399 100%);
}

#stm-dashboard-root .stm-finance-txn-form-card__head--exp {
	background: linear-gradient(95deg, #e11d48 0%, #f43f5e 45%, #fb7185 100%);
}

#stm-dashboard-root .stm-finance-txn-form-card__badge {
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

#stm-dashboard-root .stm-finance-txn-form-card__sub {
	font-size: 0.6875rem;
	font-weight: 500;
	opacity: 0.92;
}

#stm-dashboard-root .stm-finance-txn-form-card__title {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--stm-txn-text);
	letter-spacing: 0.01em;
}

#stm-dashboard-root .stm-finance-txn-form-card__head .stm-finance-txn-intro {
	margin-top: 0.125rem;
	font-size: 0.6875rem;
	line-height: 1.35;
}

#stm-dashboard-root .stm-finance-submit-btn {
	border: none;
	color: #fff;
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

#stm-dashboard-root .stm-finance-submit-btn--inc {
	background: linear-gradient(135deg, #10b981, #059669);
	box-shadow: 0 4px 12px rgba(16, 185, 129, 0.35);
}

#stm-dashboard-root .stm-finance-submit-btn--exp {
	background: linear-gradient(135deg, #f43f5e, #e11d48);
	box-shadow: 0 4px 12px rgba(244, 63, 94, 0.35);
}

#stm-dashboard-root .stm-finance-submit-btn:hover {
	color: #fff;
	filter: brightness(1.05);
	transform: translateY(-1px);
}

#stm-dashboard-root .stm-finance-txn-form-grid--dense {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.3125rem 0.4375rem;
}

#stm-dashboard-root .stm-finance-txn-form-grid--dense .stm-field--wide {
	grid-column: 1 / -1;
}

#stm-dashboard-root .stm-finance-txn-form-grid--dense .stm-field--actions {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.375rem;
	margin-top: 0.125rem;
}

#stm-dashboard-root .stm-finance-txn-form-grid--dense .form-label {
	margin-bottom: 0.0625rem;
	font-size: 0.625rem;
	font-weight: 800;
	color: var(--stm-fin-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

#stm-dashboard-root .stm-finance-txn-form-grid--vibrant .stm-field:nth-child(1) .form-label {
	color: var(--stm-fin-accent-indigo);
}

#stm-dashboard-root .stm-finance-txn-form-grid--vibrant .stm-field--amount .form-label {
	color: var(--stm-fin-accent-amber);
}

#stm-dashboard-root .stm-finance-txn-date-filter {
	gap: 0.3125rem !important;
}

#stm-dashboard-root .stm-finance-field-hint {
	font-size: 0.625rem;
	color: var(--stm-fin-muted);
}

#stm-dashboard-root .stm-field--amount .form-control {
	font-size: 0.9375rem;
	font-weight: 700;
	text-align: end;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
}

#stm-dashboard-root .stm-field--amount-inc .form-control {
	color: #059669;
}

#stm-dashboard-root .stm-field--amount:not(.stm-field--amount-inc) .form-control {
	color: #e11d48;
}

/* Tab panes */
#stm-dashboard-root .tab-content > .tab-pane {
	display: none !important;
}

#stm-dashboard-root .tab-content > .tab-pane.active {
	display: block !important;
}

#stm-dashboard-root .stm-dashboard__panels[hidden] {
	display: none !important;
}

#stm-dashboard-root .stm-premium-hint {
	opacity: 0.95;
}

#stm-dashboard-root .stm-msg {
	min-height: 1.1em;
}

#stm-dashboard-root .stm-msg[data-state='ok'] {
	color: var(--bs-success);
}

#stm-dashboard-root .stm-msg[data-state='err'] {
	color: var(--bs-danger);
}

#stm-dashboard-root .stm-journal-search-wrap {
	max-width: 22rem;
	width: 100%;
}

#stm-dashboard-root .stm-actions {
	white-space: nowrap;
}

/* Tabel ? rapat & halus */
#stm-dashboard-root .table {
	--bs-table-bg: transparent;
}

#stm-dashboard-root .table > :not(caption) > * > * {
	padding-top: 0.45rem;
	padding-bottom: 0.45rem;
	vertical-align: middle;
}

#stm-dashboard-root .table thead.table-light th {
	font-size: 0.6875rem;
	letter-spacing: 0.04em;
}

/* Chat / chatroom feed ? palet lembut, rapat, tombol aksi premium */
#stm-dashboard-root .stm-msg-thread {
	max-height: min(58vh, 28rem);
	overflow-y: auto;
	margin: 0 0 0.5rem;
	padding: 0.35rem 0.4rem;
	background: linear-gradient(165deg, #f3f2ef 0%, #ebe9e4 55%, #e8e6e1 100%);
	border: 1px solid rgba(60, 55, 45, 0.08);
	border-radius: 14px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
	scrollbar-width: thin;
}

#stm-dashboard-root .stm-msg-thread-empty,
#stm-dashboard-root .stm-chatroom-empty {
	margin: 0;
	padding: 0.65rem;
	text-align: center;
	color: #7a756c;
	font-size: 0.78125rem;
}

#stm-dashboard-root .stm-msg-row {
	display: flex;
	width: 100%;
	margin-bottom: 0.22rem;
}

#stm-dashboard-root .stm-msg-row--other {
	justify-content: flex-start;
}

#stm-dashboard-root .stm-msg-row--mine {
	justify-content: flex-end;
}

#stm-dashboard-root .stm-msg-bubble {
	width: fit-content;
	max-width: min(100%, 22rem);
	min-width: 0;
	padding: 0.35rem 0.5rem 0.38rem;
	border-radius: 14px;
	font-size: 0.78125rem;
	line-height: 1.42;
	box-shadow: 0 1px 2px rgba(28, 25, 23, 0.05), 0 4px 14px rgba(28, 25, 23, 0.04);
}

#stm-dashboard-root .stm-msg-row--other .stm-msg-bubble {
	width: fit-content;
	max-width: min(100%, 22rem);
	background: rgba(255, 255, 255, 0.82);
	backdrop-filter: blur(6px);
	border: 1px solid rgba(60, 55, 45, 0.07);
}

#stm-dashboard-root .stm-msg-row--mine .stm-msg-bubble {
	width: fit-content;
	max-width: min(100%, 22rem);
	background: linear-gradient(155deg, #e4e9f0 0%, #dce3ec 100%);
	border: 1px solid rgba(71, 85, 105, 0.12);
}

#stm-dashboard-root .stm-msg-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.4rem;
	margin-bottom: 0.18rem;
	min-width: 0;
}

#stm-dashboard-root .stm-msg-name {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: 600;
	font-size: 0.6875rem;
	color: #57534e;
	text-transform: none;
	letter-spacing: 0.01em;
}

#stm-dashboard-root .stm-msg-timehead {
	flex: 0 0 auto;
	font-size: 0.59375rem;
	color: #a8a29e;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	text-align: right;
}

#stm-dashboard-root .stm-msg-quote {
	margin: 0 0 0.28rem;
	padding: 0.28rem 0.4rem;
	border-left: 2px solid rgba(120, 113, 108, 0.35);
	font-size: 0.71875rem;
	color: #78716c;
	background: rgba(245, 245, 244, 0.85);
	border-radius: 8px;
}

#stm-dashboard-root .stm-msg-row--mine .stm-msg-quote {
	background: rgba(255, 255, 255, 0.45);
	border-left-color: rgba(71, 85, 105, 0.28);
}

#stm-dashboard-root .stm-msg-quote-who {
	font-size: 0.65625rem;
	font-weight: 600;
	color: #57534e;
}

#stm-dashboard-root .stm-msg-quote-text {
	font-size: 0.71875rem;
}

#stm-dashboard-root .stm-msg-text {
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	word-break: break-word;
	max-width: 100%;
	min-width: 0;
	color: #292524;
}

#stm-dashboard-root .stm-msg-actions {
	margin-top: 0.32rem;
	padding-top: 0.28rem;
	border-top: 1px solid rgba(60, 55, 45, 0.06);
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	align-items: center;
}

#stm-dashboard-root .stm-msg-btn {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	border-radius: 999px;
	font-size: 0.65625rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.25;
	padding: 0.2rem 0.62rem;
	cursor: pointer;
	text-decoration: none;
	border: 1px solid transparent;
	transition:
		background-color 0.16s ease,
		border-color 0.16s ease,
		color 0.16s ease,
		box-shadow 0.16s ease,
		transform 0.12s ease;
}

#stm-dashboard-root .stm-msg-btn:focus-visible {
	outline: 2px solid rgba(71, 85, 105, 0.35);
	outline-offset: 2px;
}

#stm-dashboard-root .stm-msg-btn--reply {
	background: rgba(255, 255, 255, 0.75);
	color: #57534e;
	border-color: rgba(87, 83, 78, 0.14);
	box-shadow: 0 1px 1px rgba(28, 25, 23, 0.04);
}

#stm-dashboard-root .stm-msg-row--mine .stm-msg-btn--reply {
	background: rgba(255, 255, 255, 0.55);
}

#stm-dashboard-root .stm-msg-btn--reply:hover {
	background: rgba(255, 255, 255, 0.95);
	color: #44403c;
	border-color: rgba(87, 83, 78, 0.22);
	box-shadow: 0 2px 6px rgba(28, 25, 23, 0.07);
}

#stm-dashboard-root .stm-msg-btn--reply:active {
	transform: scale(0.98);
}

#stm-dashboard-root .stm-msg-btn--delete {
	background: rgba(254, 242, 242, 0.85);
	color: #b91c1c;
	border-color: rgba(220, 38, 38, 0.18);
	box-shadow: 0 1px 1px rgba(185, 28, 28, 0.04);
}

#stm-dashboard-root .stm-msg-btn--delete:hover {
	background: rgba(254, 226, 226, 0.95);
	color: #991b1b;
	border-color: rgba(220, 38, 38, 0.28);
	box-shadow: 0 2px 8px rgba(185, 28, 28, 0.1);
}

#stm-dashboard-root .stm-msg-btn--delete:active {
	transform: scale(0.98);
}

#stm-dashboard-root .stm-msg-reply-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.45rem;
	margin-bottom: 0.35rem;
	padding: 0.32rem 0.55rem;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(60, 55, 45, 0.1);
	border-radius: 12px;
	font-size: 0.78125rem;
	box-shadow: 0 1px 2px rgba(28, 25, 23, 0.04);
}

#stm-dashboard-root .stm-msg-reply-preview {
	flex: 1 1 12rem;
	min-width: 0;
	color: #57534e;
}

#stm-dashboard-root #stm-chat-reply-cancel {
	font-family: inherit;
	font-size: 0.65625rem;
	font-weight: 600;
	color: #78716c;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	border: 1px solid rgba(87, 83, 78, 0.12);
	background: rgba(255, 255, 255, 0.5);
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease;
}

#stm-dashboard-root #stm-chat-reply-cancel:hover {
	color: #44403c;
	background: rgba(255, 255, 255, 0.9);
	border-color: rgba(87, 83, 78, 0.2);
}

#stm-dashboard-root .stm-msg-compose--chat textarea {
	min-height: 2.25rem;
	resize: vertical;
}

#stm-dashboard-root .stm-select-wide {
	width: 100%;
	max-width: 24rem;
}

@supports not (color: color-mix(in srgb, red, blue)) {
	#stm-dashboard-root .stm-tabs.nav-pills:not(.stm-sidebar-nav) .nav-link.active {
		background: var(--bs-primary);
	}
	#stm-dashboard-root .stm-msg-row--mine .stm-msg-bubble {
		background: #e4e9f0;
	}
}

/* Panel task ? layout padat, premium */
#stm-dashboard-root .stm-panel--tasks {
	--stm-task-line: rgba(52, 65, 78, 0.1);
	--stm-task-text: #2a3440;
	--stm-task-muted: #6b7785;
	background: transparent;
}

#stm-dashboard-root .stm-panel--tasks.card {
	background: transparent;
}

#stm-dashboard-root .stm-task-panel-body {
	padding-top: 0.5rem !important;
	padding-bottom: 0.5rem !important;
	background: transparent !important;
}

#stm-dashboard-root .stm-task-panel-head__title {
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--stm-task-text);
}

#stm-dashboard-root .stm-task-filter-user {
	width: 100%;
	min-width: 10rem;
	max-width: 14rem;
}

#stm-dashboard-root .stm-task-form-card {
	--stm-task-accent-indigo: #6366f1;
	--stm-task-accent-violet: #a855f7;
	--stm-task-accent-cyan: #06b6d4;
	--stm-task-accent-mint: #10b981;
	--stm-task-accent-coral: #f43f5e;
	background: linear-gradient(145deg, #ffffff 0%, #f5f3ff 42%, #ecfeff 100%);
	border: 1px solid rgba(99, 102, 241, 0.18);
	border-radius: 14px;
	padding: 0;
	overflow: hidden;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.95) inset,
		0 8px 24px rgba(99, 102, 241, 0.1);
}

#stm-dashboard-root .stm-task-form-card__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.25rem 0.5rem;
	padding: 0.375rem 0.625rem;
	background: linear-gradient(
		95deg,
		#6366f1 0%,
		#8b5cf6 38%,
		#06b6d4 72%,
		#10b981 100%
	);
	color: #fff;
}

#stm-dashboard-root .stm-task-form-card__badge {
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

#stm-dashboard-root .stm-task-form-card__sub {
	font-size: 0.6875rem;
	font-weight: 500;
	opacity: 0.92;
}

#stm-dashboard-root .stm-task-form-grid {
	padding: 0.4375rem 0.5625rem 0.5rem;
}

#stm-dashboard-root .stm-task-form-grid--vibrant {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.85fr) minmax(0, 1.1fr);
	gap: 0.25rem 0.375rem;
}

#stm-dashboard-root .stm-task-field {
	position: relative;
}

#stm-dashboard-root .stm-task-field--title {
	grid-column: 1;
}

#stm-dashboard-root .stm-task-field--status {
	grid-column: 2;
}

#stm-dashboard-root .stm-task-field--started {
	grid-column: 3;
}

#stm-dashboard-root .stm-task-field--wide {
	grid-column: 1 / -1;
}

#stm-dashboard-root .stm-task-field--actions {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.375rem;
	margin-top: 0.0625rem;
	padding-top: 0.25rem;
	border-top: 1px dashed rgba(99, 102, 241, 0.15);
}

#stm-dashboard-root .stm-task-field-label {
	margin-bottom: 0.0625rem;
	font-size: 0.625rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

#stm-dashboard-root .stm-task-field--title .stm-task-field-label {
	color: var(--stm-task-accent-indigo);
}

#stm-dashboard-root .stm-task-field--status .stm-task-field-label {
	color: var(--stm-task-accent-violet);
}

#stm-dashboard-root .stm-task-field--started .stm-task-field-label {
	color: var(--stm-task-accent-cyan);
}

#stm-dashboard-root .stm-task-field--desc .stm-task-field-label {
	color: var(--stm-task-accent-mint);
}

#stm-dashboard-root .stm-task-input.form-control,
#stm-dashboard-root .stm-task-input.form-select {
	border-color: rgba(99, 102, 241, 0.16);
	background: rgba(255, 255, 255, 0.88);
	font-size: 0.8125rem;
}

#stm-dashboard-root .stm-task-input.form-control:focus,
#stm-dashboard-root .stm-task-input.form-select:focus {
	border-color: rgba(99, 102, 241, 0.45);
	box-shadow: 0 0 0 0.15rem rgba(99, 102, 241, 0.18);
}

#stm-dashboard-root .stm-task-field--title .stm-task-input:focus {
	border-color: rgba(99, 102, 241, 0.5);
	box-shadow: 0 0 0 0.15rem rgba(99, 102, 241, 0.2);
}

#stm-dashboard-root .stm-task-field--status .stm-task-input:focus {
	border-color: rgba(168, 85, 247, 0.5);
	box-shadow: 0 0 0 0.15rem rgba(168, 85, 247, 0.2);
}

#stm-dashboard-root .stm-task-field--started .stm-input-group-datetime .input-group-text {
	background: linear-gradient(135deg, rgba(6, 182, 212, 0.18), rgba(16, 185, 129, 0.14));
	border-color: rgba(6, 182, 212, 0.35);
	color: #0e7490;
	font-weight: 700;
}

#stm-dashboard-root .stm-task-field--desc textarea.stm-task-input {
	min-height: 2rem;
	resize: vertical;
}

#stm-dashboard-root .stm-task-field-hint,
#stm-dashboard-root .stm-task-filter-hint {
	font-size: 0.6875rem;
	color: var(--stm-task-muted);
}

#stm-dashboard-root .stm-task-hint {
	font-size: 0.6875rem;
	line-height: 1.35;
	color: #4338ca;
	padding: 0.25rem 0.4375rem;
	background: linear-gradient(90deg, rgba(99, 102, 241, 0.1), rgba(6, 182, 212, 0.08));
	border-radius: 8px;
	border-left: 3px solid var(--stm-task-accent-violet);
}

#stm-dashboard-root .stm-task-correction {
	padding: 0.3125rem 0.4375rem;
	background: linear-gradient(90deg, rgba(244, 63, 94, 0.06), rgba(168, 85, 247, 0.06));
	border-radius: 8px;
	border: 1px dashed rgba(244, 63, 94, 0.35);
}

#stm-dashboard-root .stm-task-correction .stm-task-field-label {
	color: var(--stm-task-accent-coral);
}

#stm-dashboard-root .stm-task-submit-btn {
	color: #fff;
	background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #06b6d4 100%);
	border: none;
	box-shadow: 0 4px 14px rgba(99, 102, 241, 0.35);
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

#stm-dashboard-root .stm-task-submit-btn:hover {
	color: #fff;
	filter: brightness(1.05);
	box-shadow: 0 6px 18px rgba(99, 102, 241, 0.42);
	transform: translateY(-1px);
}

#stm-dashboard-root .stm-task-submit-btn:active {
	transform: translateY(0);
}

#stm-dashboard-root .stm-task-cancel-btn {
	border-color: rgba(168, 85, 247, 0.35);
	color: #7c3aed;
	background: rgba(255, 255, 255, 0.85);
}

#stm-dashboard-root .stm-task-date-filter {
	padding: 0.3125rem 0.4375rem 0.375rem;
	margin-top: 0.25rem;
	background: linear-gradient(90deg, rgba(99, 102, 241, 0.04), rgba(6, 182, 212, 0.04));
	border-radius: 10px;
	border: 1px solid rgba(99, 102, 241, 0.1);
}

#stm-dashboard-root .stm-task-date-preset {
	font-size: 0.6875rem;
	padding: 0.2rem 0.65rem;
	line-height: 1.35;
	border-color: rgba(99, 102, 241, 0.2);
}

#stm-dashboard-root .stm-task-date-preset.active {
	background: linear-gradient(135deg, #6366f1, #8b5cf6);
	border-color: transparent;
	color: #fff;
}

#stm-dashboard-root .stm-task-date-preset:active:not(.active) {
	opacity: 0.88;
}

#stm-dashboard-root .stm-task-date-input {
	min-width: 8.25rem;
	max-width: 9.75rem;
	font-size: 0.75rem;
}

/* Panel task ? tabel modern: ruang napas, tanpa garis vertikal, palet natural premium */
#stm-dashboard-root .stm-task-table-shell {
	background: linear-gradient(180deg, #fdfcfa 0%, #f6f3ec 100%);
	border: 1px solid rgba(72, 65, 58, 0.09);
	border-radius: 10px;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.85) inset,
		0 3px 12px rgba(45, 40, 34, 0.04);
	overflow: hidden;
}

#stm-dashboard-root .stm-panel--tasks #stm-task-table.stm-table--tasks-premium {
	--stm-task-surface: #faf8f4;
	--stm-task-row: #ffffff;
	--stm-task-line: rgba(72, 65, 58, 0.09);
	--stm-task-text: #3a342c;
	--stm-task-muted: #7a7268;
	--stm-task-head: #6b6358;
	margin-bottom: 0;
	color: var(--stm-task-text);
	background: transparent;
	border-collapse: separate;
	border-spacing: 0;
}

#stm-dashboard-root .stm-panel--tasks #stm-task-table.stm-table--tasks-premium > :not(caption) > * > * {
	padding-top: 0.4rem;
	padding-bottom: 0.4rem;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	border-bottom: 1px solid var(--stm-task-line);
	border-left: none;
	border-right: none;
	vertical-align: middle;
	box-shadow: none;
}

#stm-dashboard-root .stm-panel--tasks #stm-task-table.stm-table--tasks-premium thead th {
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid rgba(72, 65, 58, 0.12);
	background: rgba(255, 255, 255, 0.72);
	backdrop-filter: blur(4px);
}

#stm-dashboard-root .stm-panel--tasks .stm-task-thead__row .stm-task-th {
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	color: var(--stm-task-head);
	text-transform: uppercase;
	white-space: nowrap;
}

#stm-dashboard-root .stm-panel--tasks #stm-task-table.stm-table--tasks-premium tbody tr {
	background: var(--stm-task-row);
	transition: background-color 0.18s ease, box-shadow 0.18s ease;
}

#stm-dashboard-root .stm-panel--tasks #stm-task-table.stm-table--tasks-premium tbody tr:nth-child(even) {
	background: #fdfcfa;
}

#stm-dashboard-root .stm-panel--tasks #stm-task-table.stm-table--tasks-premium tbody tr:hover {
	background: #f4f1ea;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

#stm-dashboard-root .stm-panel--tasks .stm-task-title-cell {
	font-weight: 600;
	font-size: 0.8125rem;
	line-height: 1.35;
	color: var(--stm-task-text);
	max-width: 28rem;
	letter-spacing: -0.01em;
}

#stm-dashboard-root .stm-panel--tasks .stm-task-owner-cell {
	color: var(--stm-task-muted);
	font-weight: 500;
	font-size: 0.75rem;
}

#stm-dashboard-root .stm-panel--tasks .stm-task-dt {
	font-size: 0.75rem;
	font-variant-numeric: tabular-nums;
	color: var(--stm-task-muted);
}

#stm-dashboard-root .stm-panel--tasks .stm-task-status-badge.stm-task-badge {
	font-size: 0.625rem;
	font-weight: 600;
	padding: 0.28em 0.65em;
	border: 1px solid transparent;
	box-shadow: 0 1px 1px rgba(45, 40, 34, 0.04);
}

#stm-dashboard-root .stm-panel--tasks .stm-task-badge--done {
	color: #2a3d32;
	background: linear-gradient(180deg, #d4e3d6 0%, #c5d6c8 100%);
	border-color: rgba(74, 98, 82, 0.18);
}

#stm-dashboard-root .stm-panel--tasks .stm-task-badge--pending {
	color: #4d4840;
	background: linear-gradient(180deg, #ebe8e2 0%, #e0dcd4 100%);
	border-color: rgba(92, 86, 78, 0.14);
}

#stm-dashboard-root .stm-panel--tasks .stm-task-badge--progress {
	color: #2f3a48;
	background: linear-gradient(180deg, #dbe4ee 0%, #cdd9e8 100%);
	border-color: rgba(84, 104, 128, 0.2);
}

#stm-dashboard-root .stm-panel--tasks .stm-task-badge--cancelled {
	color: #5c3f3a;
	background: linear-gradient(180deg, #efe0dd 0%, #e5d0cb 100%);
	border-color: rgba(140, 96, 88, 0.22);
}

#stm-dashboard-root .stm-panel--tasks .stm-task-btn {
	font-size: 0.6875rem;
	font-weight: 600;
	padding: 0.15rem 0.5rem;
	line-height: 1.35;
	min-height: 1.5rem;
	border-width: 1px;
	transition:
		background-color 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease,
		box-shadow 0.15s ease;
}

#stm-dashboard-root .stm-panel--tasks .stm-task-btn:focus-visible {
	outline: 2px solid rgba(107, 132, 118, 0.55);
	outline-offset: 2px;
}

#stm-dashboard-root .stm-panel--tasks .stm-task-btn--done {
	color: #f7f6f2;
	background: linear-gradient(155deg, #8a9f8e 0%, #758c7a 100%);
	border-color: rgba(62, 82, 68, 0.35);
	box-shadow: 0 1px 2px rgba(45, 40, 34, 0.08);
}

#stm-dashboard-root .stm-panel--tasks .stm-task-btn--done:hover {
	color: #fff;
	background: linear-gradient(155deg, #7d9181 0%, #677c6c 100%);
	border-color: rgba(62, 82, 68, 0.45);
}

#stm-dashboard-root .stm-panel--tasks .stm-task-btn--edit {
	color: #3d4f5c;
	background: rgba(255, 255, 255, 0.65);
	border-color: rgba(100, 118, 135, 0.35);
}

#stm-dashboard-root .stm-panel--tasks .stm-task-btn--edit:hover {
	color: #2a3842;
	background: #fff;
	border-color: rgba(74, 92, 108, 0.45);
}

#stm-dashboard-root .stm-panel--tasks .stm-task-btn--delete {
	color: #6b4a45;
	background: rgba(248, 232, 229, 0.85);
	border-color: rgba(180, 130, 120, 0.35);
}

#stm-dashboard-root .stm-panel--tasks .stm-task-btn--delete:hover {
	color: #5a3d38;
	background: #f5e4e0;
	border-color: rgba(160, 110, 100, 0.45);
}

#stm-dashboard-root .stm-panel--tasks #stm-task-table.stm-table--tasks-premium .stm-table__empty {
	text-align: center;
	color: var(--stm-task-muted);
	padding: 1rem 0.75rem !important;
	font-size: 0.8125rem;
	background: transparent !important;
}

@media (max-width: 900px) and (min-width: 641px) {
	#stm-dashboard-root .stm-task-form-grid--vibrant {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	#stm-dashboard-root .stm-task-field--title {
		grid-column: 1 / -1;
	}

	#stm-dashboard-root .stm-task-field--status {
		grid-column: 1;
	}

	#stm-dashboard-root .stm-task-field--started {
		grid-column: 2;
	}
}

@media (max-width: 640px) {
	#stm-dashboard-root .stm-task-form-grid--vibrant {
		grid-template-columns: 1fr;
	}

	#stm-dashboard-root .stm-task-field--title,
	#stm-dashboard-root .stm-task-field--status,
	#stm-dashboard-root .stm-task-field--started {
		grid-column: 1;
	}

	#stm-dashboard-root .stm-task-date-input {
		min-width: 0;
		width: 100%;
		max-width: none;
	}

	#stm-dashboard-root .stm-task-filter-user {
		max-width: none;
	}

	#stm-dashboard-root .stm-task-table-shell .stm-table--tasks-premium tbody tr {
		border: 1px solid rgba(72, 65, 58, 0.1);
		border-radius: 8px;
		background: #fffefc;
		box-shadow: 0 1px 8px rgba(45, 40, 34, 0.05);
		margin-bottom: 0.375rem;
	}

	#stm-dashboard-root .stm-task-table-shell .stm-table--tasks-premium tbody td {
		padding-top: 0.3rem;
		padding-bottom: 0.3rem;
		border-bottom-color: rgba(72, 65, 58, 0.08);
	}

	#stm-dashboard-root .stm-task-action-btns {
		gap: 0.25rem !important;
	}
}

#stm-dashboard-root .stm-input-group-datetime .input-group-text {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	padding: 0.25rem 0.5rem;
}

#stm-dashboard-root .stm-input-group-datetime > .form-control {
	min-width: 0;
}

@media (min-width: 768px) {
	#stm-dashboard-root .stm-table--tasks thead .stm-task-col-actions,
	#stm-dashboard-root .stm-table--tasks tbody td.stm-task-actions-cell {
		text-align: end;
		vertical-align: middle;
	}

	#stm-dashboard-root .stm-task-action-btns {
		justify-content: flex-end;
	}
}

@media (max-width: 640px) {
	#stm-dashboard-root .stm-admin-filter {
		flex-direction: column;
		align-items: stretch !important;
	}

	#stm-dashboard-root .stm-table-wrap--stack .stm-table--stack thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		clip-path: inset(50%);
		border: 0;
		white-space: nowrap;
	}

	#stm-dashboard-root .stm-table-wrap--stack .stm-table--stack tbody tr {
		display: block;
		margin-bottom: 0.65rem;
		border: 1px solid var(--bs-border-color-translucent);
		border-radius: 0.65rem;
		overflow: hidden;
		background: var(--bs-body-bg);
		box-shadow: 0 0.15rem 0.5rem rgba(15, 23, 42, 0.05);
	}

	#stm-dashboard-root .stm-table-wrap--stack .stm-table--stack tbody td {
		display: grid;
		grid-template-columns: minmax(5.5rem, 32%) 1fr;
		gap: 0.25rem 0.55rem;
		align-items: start;
		border: none;
		border-bottom: 1px solid var(--bs-border-color-translucent);
		padding: 0.5rem 0.6rem;
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	#stm-dashboard-root .stm-table-wrap--stack .stm-table--stack tbody td:last-child {
		border-bottom: none;
	}

	#stm-dashboard-root .stm-table-wrap--stack .stm-table--stack tbody td::before {
		content: attr(data-label);
		font-weight: 600;
		color: var(--bs-secondary-color);
		font-size: 0.78rem;
		line-height: 1.35;
	}

	#stm-dashboard-root .stm-table-wrap--stack .stm-table--stack tbody td.stm-table__empty {
		display: block;
		text-align: center;
		padding: 0.85rem 0.65rem;
	}

	#stm-dashboard-root .stm-table-wrap--stack .stm-table--stack tbody td.stm-table__empty::before {
		content: none;
		display: none;
	}

	#stm-dashboard-root .stm-table-wrap--stack .stm-actions {
		white-space: normal;
	}

	#stm-dashboard-root .stm-table-wrap--stack .stm-task-action-btns {
		justify-content: flex-start;
	}

	#stm-dashboard-root .stm-table-wrap--stack .stm-table--stack tbody select {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	#stm-dashboard-root .stm-table-wrap--stack .stm-table--roles tbody td:not(:first-child):not(:last-child) {
		align-items: center;
	}
}

@media (max-width: 420px) {
	#stm-dashboard-root .stm-tabs.nav-pills:not(.stm-sidebar-nav) {
		flex-wrap: wrap;
		row-gap: 0.35rem;
	}

	#stm-dashboard-root .stm-tabs .nav-item {
		flex: 1 1 auto;
		min-width: 0;
	}

	#stm-dashboard-root .stm-tabs .nav-link {
		width: 100%;
		text-align: center;
	}
}

/* Keuangan ? riwayat transaksi (shell & tabel mirip panel Task) */
#stm-dashboard-root .stm-finance-txn-scope {
	--stm-txn-surface: #faf8f4;
	--stm-txn-line: rgba(72, 65, 58, 0.1);
	--stm-txn-text: #3a342c;
	--stm-txn-muted: #7a7268;
	--stm-txn-head: #6b6358;
	color: var(--stm-txn-text);
}

#stm-dashboard-root .stm-finance-txn-scope .stm-finance-txn-intro {
	font-size: 0.75rem;
	line-height: 1.4;
	color: var(--stm-txn-muted);
	margin-bottom: 0;
}

#stm-dashboard-root .stm-finance-txn-scope .stm-finance-txn-form-card__title {
	margin: 0 0 0.5rem;
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--stm-txn-text);
	letter-spacing: 0.01em;
}

/* legacy grid ? fallback jika belum pakai --dense */
#stm-dashboard-root .stm-finance-txn-scope .stm-finance-txn-form-grid:not(.stm-finance-txn-form-grid--dense) {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.375rem 0.5rem;
}

#stm-dashboard-root .stm-finance-txn-scope .stm-finance-txn-form-grid:not(.stm-finance-txn-form-grid--dense) > div:nth-child(n + 3) {
	grid-column: 1 / -1;
}

#stm-dashboard-root .stm-finance-txn-scope .stm-finance-txn-form-grid .form-label {
	margin-bottom: 0.125rem;
	font-size: 0.6875rem;
	font-weight: 600;
	color: var(--stm-txn-muted);
}

#stm-dashboard-root .stm-finance-txn-scope .stm-finance-txn-form-grid .form-text {
	font-size: 0.6875rem;
	margin-top: 0.125rem;
}

#stm-dashboard-root .stm-finance-txn-scope .stm-finance-txn-form-grid:not(.stm-finance-txn-form-grid--dense) button[type='submit'] {
	grid-column: 1 / -1;
	justify-self: start;
	margin-top: 0.125rem;
}

#stm-dashboard-root .stm-finance-txn-scope .stm-finance-txn-form-grid .stm-msg,
#stm-dashboard-root .stm-finance-txn-form-grid--dense .stm-msg {
	font-size: 0.75rem;
}

#stm-dashboard-root .stm-finance-txn-form-grid--dense .stm-msg {
	margin: 0;
}

#stm-dashboard-root .stm-finance-txn-history {
	margin-top: 0.125rem;
}

#stm-dashboard-root .stm-finance-txn-history .stm-finance-txn-table-shell {
	margin-top: 0.5rem;
}

#stm-dashboard-root .stm-finance-txn-history__title {
	margin: 0 0 0.375rem;
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--stm-fin-accent-indigo, #6366f1);
	letter-spacing: -0.01em;
	text-transform: none;
}

#stm-dashboard-root .stm-finance-txn-history__filters {
	margin-bottom: 0.375rem;
	padding: 0;
	overflow: hidden;
	border-radius: 10px;
}

#stm-dashboard-root .stm-finance-filter-grid {
	display: flex;
	flex-direction: column;
	gap: 0;
}

#stm-dashboard-root .stm-finance-filter-row {
	display: grid;
	grid-template-columns: 5.5rem minmax(0, 1fr);
	align-items: center;
	gap: 0.375rem 0.5rem;
	padding: 0.3125rem 0.5rem;
	border-bottom: 1px solid rgba(99, 102, 241, 0.08);
}

#stm-dashboard-root .stm-finance-filter-row--actions {
	grid-template-columns: 1fr;
	justify-items: end;
	padding-top: 0.375rem;
	padding-bottom: 0.375rem;
	border-bottom: none;
}

#stm-dashboard-root .stm-finance-filter-controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.3125rem;
	min-width: 0;
}

#stm-dashboard-root .stm-finance-filter-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.3125rem;
}

#stm-dashboard-root .stm-finance-filter-label {
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	color: var(--stm-fin-muted, #64748b);
	white-space: nowrap;
}

#stm-dashboard-root .stm-finance-filter-sep {
	font-size: 0.6875rem;
	font-weight: 500;
	color: var(--stm-fin-muted, #94a3b8);
	opacity: 1;
	padding: 0 0.0625rem;
}

#stm-dashboard-root .stm-finance-txn-filter-hint {
	padding: 0.3125rem 0.5rem;
	font-size: 0.625rem;
	line-height: 1.35;
	margin: 0;
	color: var(--stm-fin-muted, #94a3b8);
	border-top: 1px solid rgba(99, 102, 241, 0.08);
	background: rgba(255, 255, 255, 0.45);
}

#stm-dashboard-root .stm-finance-date-preset {
	font-size: 0.6875rem;
	padding: 0.18rem 0.55rem;
	line-height: 1.3;
	white-space: nowrap;
	background: #fff;
	border-radius: 2rem;
}

#stm-dashboard-root .stm-finance-filter-btn--apply {
	font-weight: 600;
}

#stm-dashboard-root .stm-finance-filter-btn:hover {
	filter: brightness(1.03);
	transform: none;
}

#stm-dashboard-root .stm-finance-filter-btn--reset {
	background: #fff;
	border: 1px solid rgba(99, 102, 241, 0.18) !important;
	color: #64748b;
	font-weight: 600;
}

/* Biaya ? riwayat premium (rose lembut) */
#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-history__title--exp {
	color: #9f1239;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-history__filters {
	background: #fff;
	border: 1px solid rgba(190, 18, 60, 0.12);
	box-shadow: 0 1px 8px rgba(15, 23, 42, 0.04);
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-filter-row {
	border-bottom-color: rgba(190, 18, 60, 0.08);
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-filter-label {
	color: #9f1239;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-date-preset {
	border-color: rgba(190, 18, 60, 0.2);
	color: #881337;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-date-preset:hover {
	background: #fff5f5;
	border-color: rgba(190, 18, 60, 0.32);
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-date-preset.active,
#stm-dashboard-root .stm-finance-exp-scope .stm-finance-date-preset:active {
	background: #9f1239 !important;
	border-color: #9f1239 !important;
	color: #fff !important;
	box-shadow: none;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-date-input {
	border-color: rgba(190, 18, 60, 0.16);
	background: #fff;
	font-size: 0.75rem;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-date-input:focus {
	border-color: rgba(190, 18, 60, 0.4);
	box-shadow: 0 0 0 0.12rem rgba(190, 18, 60, 0.12);
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-filter-btn--apply {
	color: #fff;
	background: #9f1239;
	box-shadow: 0 1px 4px rgba(159, 18, 57, 0.22);
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-filter-btn--apply:hover {
	background: #881337;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-filter-btn--reset {
	border-color: rgba(190, 18, 60, 0.2) !important;
	color: #9f1239;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-filter-hint {
	color: #a8a29e;
	border-top-color: rgba(190, 18, 60, 0.08);
}

#stm-dashboard-root .stm-finance-filter-controls .stm-finance-txn-date-input {
	min-width: 7.75rem;
	max-width: 9rem;
	font-size: 0.75rem;
}

@media (max-width: 640px) {
	#stm-dashboard-root .stm-finance-filter-row {
		grid-template-columns: 1fr;
		gap: 0.25rem;
	}

	#stm-dashboard-root .stm-finance-filter-row--actions {
		justify-items: stretch;
	}

	#stm-dashboard-root .stm-finance-filter-actions {
		width: 100%;
		justify-content: flex-end;
	}

	#stm-dashboard-root .stm-finance-filter-controls .stm-finance-txn-date-input {
		min-width: 0;
		flex: 1 1 7rem;
		max-width: none;
	}
}

/* Pendapatan ? riwayat premium (emerald lembut) */
#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-history__title--inc {
	color: #047857;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-history__filters {
	background: #fff;
	border: 1px solid rgba(5, 150, 105, 0.12);
	box-shadow: 0 1px 8px rgba(15, 23, 42, 0.04);
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-filter-row {
	border-bottom-color: rgba(5, 150, 105, 0.08);
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-filter-label {
	color: #047857;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-date-preset {
	border-color: rgba(5, 150, 105, 0.2);
	color: #065f46;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-date-preset:hover {
	background: #ecfdf5;
	border-color: rgba(5, 150, 105, 0.32);
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-date-preset.active,
#stm-dashboard-root .stm-finance-inc-scope .stm-finance-date-preset:active {
	background: #059669 !important;
	border-color: #059669 !important;
	color: #fff !important;
	box-shadow: none;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-date-input {
	border-color: rgba(5, 150, 105, 0.16);
	background: #fff;
	font-size: 0.75rem;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-date-input:focus {
	border-color: rgba(5, 150, 105, 0.4);
	box-shadow: 0 0 0 0.12rem rgba(5, 150, 105, 0.12);
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-filter-btn--apply {
	color: #fff;
	background: #059669;
	box-shadow: 0 1px 4px rgba(5, 150, 105, 0.22);
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-filter-btn--apply:hover {
	background: #047857;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-filter-btn--reset {
	border-color: rgba(5, 150, 105, 0.2) !important;
	color: #047857;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-filter-hint {
	color: #a8a29e;
	border-top-color: rgba(5, 150, 105, 0.08);
}

/* Kas ? filter riwayat cyan/indigo */
#stm-dashboard-root .stm-finance-cash-scope .stm-cash-history__filters {
	background: linear-gradient(135deg, rgba(6, 182, 212, 0.09) 0%, rgba(99, 102, 241, 0.07) 52%, rgba(139, 92, 246, 0.08) 100%);
	border: 1px solid rgba(99, 102, 241, 0.2);
	border-left: 3px solid #6366f1;
	box-shadow: 0 4px 14px rgba(99, 102, 241, 0.08);
	padding: 0;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-finance-filter-label {
	color: #4338ca;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-finance-filter-sep {
	color: #818cf8;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-finance-txn-date-filter {
	border-bottom-color: rgba(99, 102, 241, 0.14);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-finance-txn-date-filter--txn {
	background: rgba(255, 255, 255, 0.42);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-finance-txn-date-filter--input {
	background: rgba(255, 255, 255, 0.28);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-finance-date-preset {
	border-color: rgba(99, 102, 241, 0.28);
	color: #4338ca;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-finance-date-preset:hover {
	background: rgba(245, 243, 255, 0.95);
	border-color: rgba(99, 102, 241, 0.4);
	color: #3730a3;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-finance-date-preset.active,
#stm-dashboard-root .stm-finance-cash-scope .stm-finance-date-preset:active {
	background: linear-gradient(135deg, #06b6d4 0%, #6366f1 100%) !important;
	border-color: transparent !important;
	color: #fff !important;
	box-shadow: 0 2px 8px rgba(99, 102, 241, 0.32);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-finance-txn-date-input {
	border-color: rgba(99, 102, 241, 0.2);
	background: rgba(255, 255, 255, 0.92);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-finance-txn-date-input:focus {
	border-color: rgba(99, 102, 241, 0.48);
	box-shadow: 0 0 0 0.15rem rgba(99, 102, 241, 0.18);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-finance-filter-btn--apply {
	color: #fff;
	background: linear-gradient(135deg, #06b6d4 0%, #6366f1 100%);
	box-shadow: 0 3px 10px rgba(99, 102, 241, 0.32);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-finance-filter-btn--reset {
	border-color: rgba(99, 102, 241, 0.28) !important;
	color: #4338ca;
	background: rgba(255, 255, 255, 0.88);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-finance-txn-filter-hint,
#stm-dashboard-root .stm-finance-cash-scope .stm-cash-history__filters .stm-cash-hint {
	color: #4338ca;
	border-top-color: rgba(99, 102, 241, 0.14);
	background: rgba(255, 255, 255, 0.35);
}

#stm-dashboard-root .stm-finance-txn-table-shell.stm-finance-txn-shell {
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	border: 1px solid rgba(99, 102, 241, 0.14);
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(99, 102, 241, 0.06);
	overflow: hidden;
	margin-bottom: 0;
}

#stm-dashboard-root .stm-finance-txn-table-shell .table.stm-table--txn-premium {
	--bs-table-bg: transparent;
	--bs-table-striped-bg: transparent;
	--bs-table-hover-bg: transparent;
	--stm-txn-line: rgba(99, 102, 241, 0.1);
	--stm-txn-text: #1e293b;
	--stm-txn-muted: #64748b;
	--stm-txn-head: #4338ca;
	--stm-txn-row: #ffffff;
	width: 100%;
	margin-bottom: 0;
	color: var(--stm-txn-text);
	background: transparent;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: auto;
	font-size: 0.75rem;
	line-height: 1.3;
}

#stm-dashboard-root .stm-finance-txn-table-shell .table.stm-table--txn-premium > :not(caption) > * > * {
	padding: 0.28rem 0.375rem;
	border-bottom: 1px solid var(--stm-txn-line);
	border-left: none;
	border-right: none;
	vertical-align: middle;
	box-shadow: none;
}

#stm-dashboard-root .stm-finance-txn-table-shell .table.stm-table--txn-premium thead th {
	padding: 0.26rem 0.375rem;
	border-bottom: 1px solid rgba(99, 102, 241, 0.14);
	background: linear-gradient(90deg, rgba(99, 102, 241, 0.1) 0%, rgba(139, 92, 246, 0.06) 55%, rgba(6, 182, 212, 0.06) 100%) !important;
	backdrop-filter: blur(4px);
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-finance-txn-thead__row .stm-finance-txn-th {
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--stm-txn-head);
	text-transform: uppercase;
	white-space: nowrap;
	overflow: visible;
	text-overflow: clip;
}

#stm-dashboard-root .stm-finance-txn-table-shell .table.stm-table--txn-premium tbody tr {
	background: var(--stm-txn-row);
	transition: background-color 0.12s ease;
}

#stm-dashboard-root .stm-finance-txn-table-shell .table.stm-table--txn-premium tbody tr:nth-child(even) {
	background: #fafbff;
}

#stm-dashboard-root .stm-finance-txn-table-shell .table.stm-table--txn-premium tbody tr:hover {
	background: #f5f3ff;
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-finance-txn-memo {
	font-weight: 600;
	font-size: 0.75rem;
	line-height: 1.25;
	color: var(--stm-txn-text);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-finance-txn-account {
	color: var(--stm-txn-muted);
	font-weight: 500;
	font-size: 0.6875rem;
	line-height: 1.2;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-table--txn-premium .stm-task-dt {
	font-size: 0.6875rem;
	font-variant-numeric: tabular-nums;
	color: var(--stm-txn-muted);
	white-space: nowrap;
}

#stm-dashboard-root .stm-finance-txn-table-shell .table.stm-table--txn-premium .font-monospace {
	font-size: 0.625rem;
	color: var(--stm-txn-muted);
	opacity: 0.88;
}

#stm-dashboard-root .stm-finance-txn-table-shell .table.stm-table--txn-premium .text-end.fw-semibold {
	font-size: 0.75rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	color: var(--stm-fin-accent-indigo, #6366f1);
	white-space: nowrap;
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-finance-attachment-thumb {
	display: block;
	width: 32px;
	height: 32px;
	max-width: 32px;
	max-height: 32px;
	border-radius: 6px;
	border: 1px solid rgba(99, 102, 241, 0.18);
	object-fit: cover;
	margin: 0 auto;
}

#stm-dashboard-root .stm-finance-txn-table-shell .table.stm-table--txn-premium .stm-table__empty {
	text-align: center;
	color: var(--stm-txn-muted);
	padding: 0.625rem 0.5rem !important;
	font-size: 0.75rem;
	background: transparent !important;
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-task-status-badge.stm-task-badge {
	font-size: 0.5625rem;
	font-weight: 700;
	padding: 0.2em 0.5em;
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-task-badge--done {
	color: #fff;
	background: linear-gradient(135deg, #10b981, #059669);
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-task-badge--cancelled {
	color: #fff;
	background: linear-gradient(135deg, #f43f5e, #e11d48);
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-task-btn {
	font-size: 0.5625rem;
	font-weight: 700;
	padding: 0.1rem 0.4rem;
	line-height: 1.25;
	min-height: 1.3rem;
	border-radius: 2rem;
	border-width: 1px;
	transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-task-btn:hover {
	transform: none;
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-task-btn--edit {
	color: #4338ca;
	background: rgba(245, 243, 255, 0.95);
	border-color: rgba(99, 102, 241, 0.28);
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-task-btn--edit:hover {
	background: #ede9fe;
	box-shadow: 0 2px 6px rgba(99, 102, 241, 0.15);
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-task-btn--delete {
	color: #fff;
	background: linear-gradient(135deg, #fb7185, #f43f5e);
	border-color: transparent;
	box-shadow: 0 2px 5px rgba(244, 63, 94, 0.22);
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-task-btn--void {
	color: #92400e;
	background: linear-gradient(135deg, #fde68a, #fcd34d);
	border-color: rgba(202, 138, 4, 0.35);
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-finance-txn-actions-cell .stm-task-action-btns {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.2rem;
	justify-content: flex-end;
}

/* Lebar kolom ? riwayat biaya/pendapatan */
#stm-dashboard-root #stm-exp-recent-table.stm-table--txn-premium,
#stm-dashboard-root #stm-inc-recent-table.stm-table--txn-premium {
	table-layout: auto;
}

#stm-dashboard-root #stm-exp-recent-table.stm-table--txn-premium th:nth-child(1),
#stm-dashboard-root #stm-exp-recent-table.stm-table--txn-premium td:nth-child(1),
#stm-dashboard-root #stm-inc-recent-table.stm-table--txn-premium th:nth-child(1),
#stm-dashboard-root #stm-inc-recent-table.stm-table--txn-premium td:nth-child(1) {
	width: 2.75rem;
}

#stm-dashboard-root #stm-exp-recent-table.stm-table--txn-premium th:nth-child(2),
#stm-dashboard-root #stm-exp-recent-table.stm-table--txn-premium td:nth-child(2),
#stm-dashboard-root #stm-inc-recent-table.stm-table--txn-premium th:nth-child(2),
#stm-dashboard-root #stm-inc-recent-table.stm-table--txn-premium td:nth-child(2) {
	width: 6.5rem;
}

#stm-dashboard-root #stm-exp-recent-table.stm-table--txn-premium th:nth-child(4),
#stm-dashboard-root #stm-exp-recent-table.stm-table--txn-premium td:nth-child(4),
#stm-dashboard-root #stm-inc-recent-table.stm-table--txn-premium th:nth-child(4),
#stm-dashboard-root #stm-inc-recent-table.stm-table--txn-premium td:nth-child(4) {
	width: 5rem;
}

#stm-dashboard-root #stm-exp-recent-table.stm-table--txn-premium th.stm-finance-txn-th--attach,
#stm-dashboard-root #stm-exp-recent-table.stm-table--txn-premium td:nth-child(7),
#stm-dashboard-root #stm-inc-recent-table.stm-table--txn-premium th.stm-finance-txn-th--attach,
#stm-dashboard-root #stm-inc-recent-table.stm-table--txn-premium td:nth-child(7) {
	width: 3.5rem;
	text-align: center;
}

#stm-dashboard-root #stm-exp-recent-table.stm-table--txn-premium th:nth-child(8),
#stm-dashboard-root #stm-exp-recent-table.stm-table--txn-premium td:nth-child(8),
#stm-dashboard-root #stm-inc-recent-table.stm-table--txn-premium th:nth-child(8),
#stm-dashboard-root #stm-inc-recent-table.stm-table--txn-premium td:nth-child(8) {
	width: 7rem;
}

#stm-dashboard-root .stm-finance-txn-table-shell .stm-finance-txn-th--attach {
	min-width: 4rem;
	text-align: center;
}

/* Scope Biaya ? tabel */
#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-table-shell,
#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-table-shell.stm-finance-txn-shell {
	background: #fff;
	border: 1px solid rgba(190, 18, 60, 0.1);
	border-radius: 10px;
	box-shadow: 0 1px 8px rgba(15, 23, 42, 0.04);
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium {
	--stm-txn-line: rgba(190, 18, 60, 0.08);
	--stm-txn-muted: #78716c;
	--stm-txn-head: #881337;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium thead th {
	background: #fdf2f4 !important;
	border-bottom: 1px solid rgba(190, 18, 60, 0.1);
	backdrop-filter: none;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium tbody tr:nth-child(even) {
	background: #fffbfc;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium tbody tr:hover {
	background: #fff1f2;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-table-shell .text-end.fw-semibold {
	color: #9f1239;
	font-weight: 700;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-table-shell .stm-finance-attachment-thumb {
	border-color: rgba(190, 18, 60, 0.15);
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-table-shell .stm-task-btn--edit {
	color: #57534e;
	background: #fff;
	border-color: rgba(120, 113, 108, 0.25);
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-table-shell .stm-task-btn--edit:hover {
	background: #fafaf9;
	border-color: rgba(120, 113, 108, 0.4);
	box-shadow: none;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-table-shell .stm-task-btn--delete {
	color: #9f1239;
	background: #fff;
	border: 1px solid rgba(190, 18, 60, 0.25);
	box-shadow: none;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-table-shell .stm-task-btn--delete:hover {
	background: #fff1f2;
	border-color: rgba(190, 18, 60, 0.4);
	color: #881337;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-table-shell .stm-task-btn--void {
	color: #78716c;
	background: #fafaf9;
	border: 1px solid rgba(120, 113, 108, 0.22);
	box-shadow: none;
}

#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-table-shell .stm-task-btn--void:hover {
	background: #f5f5f4;
	border-color: rgba(120, 113, 108, 0.35);
	color: #57534e;
}

/* Scope Pendapatan ? tabel */
#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-table-shell,
#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-table-shell.stm-finance-txn-shell {
	background: #fff;
	border: 1px solid rgba(5, 150, 105, 0.1);
	border-radius: 10px;
	box-shadow: 0 1px 8px rgba(15, 23, 42, 0.04);
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium {
	--stm-txn-line: rgba(5, 150, 105, 0.08);
	--stm-txn-muted: #78716c;
	--stm-txn-head: #065f46;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium thead th {
	background: #ecfdf5 !important;
	border-bottom: 1px solid rgba(5, 150, 105, 0.1);
	backdrop-filter: none;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium tbody tr:nth-child(even) {
	background: #f7fef9;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium tbody tr:hover {
	background: #ecfdf5;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-table-shell .text-end.fw-semibold {
	color: #047857;
	font-weight: 700;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-table-shell .stm-finance-attachment-thumb {
	border-color: rgba(5, 150, 105, 0.15);
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-table-shell .stm-task-btn--edit {
	color: #57534e;
	background: #fff;
	border-color: rgba(120, 113, 108, 0.25);
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-table-shell .stm-task-btn--edit:hover {
	background: #fafaf9;
	border-color: rgba(120, 113, 108, 0.4);
	box-shadow: none;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-table-shell .stm-task-btn--delete {
	color: #047857;
	background: #fff;
	border: 1px solid rgba(5, 150, 105, 0.25);
	box-shadow: none;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-table-shell .stm-task-btn--delete:hover {
	background: #ecfdf5;
	border-color: rgba(5, 150, 105, 0.4);
	color: #065f46;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-table-shell .stm-task-btn--void {
	color: #78716c;
	background: #fafaf9;
	border: 1px solid rgba(120, 113, 108, 0.22);
	box-shadow: none;
}

#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-table-shell .stm-task-btn--void:hover {
	background: #f5f5f4;
	border-color: rgba(120, 113, 108, 0.35);
	color: #57534e;
}

/* Legacy alias */
#stm-dashboard-root .stm-finance-txn-shell {
	background: transparent;
	border: none;
	box-shadow: none;
	overflow: visible;
}

@media (max-width: 640px) {
	#stm-dashboard-root .stm-finance-txn-form-grid--dense {
		grid-template-columns: 1fr;
	}

	#stm-dashboard-root .stm-finance-txn-scope .stm-finance-txn-form-grid:not(.stm-finance-txn-form-grid--dense) {
		grid-template-columns: 1fr;
	}

	#stm-dashboard-root .stm-finance-txn-scope .stm-finance-txn-form-grid:not(.stm-finance-txn-form-grid--dense) > div:nth-child(n + 3) {
		grid-column: auto;
	}

	#stm-dashboard-root .stm-finance-txn-date-filter .stm-finance-txn-date-input {
		min-width: 0;
		width: 100%;
		max-width: none;
	}

	#stm-dashboard-root .stm-finance-txn-table-shell .table.stm-table--txn-premium {
		table-layout: auto;
	}

	#stm-dashboard-root .stm-finance-txn-table-shell .table.stm-table--txn-premium tbody tr {
		border: 1px solid rgba(99, 102, 241, 0.14);
		border-radius: 10px;
		background: #fff;
		box-shadow: 0 2px 8px rgba(99, 102, 241, 0.05);
		margin-bottom: 0.28rem;
	}

	#stm-dashboard-root .stm-finance-exp-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium tbody tr {
		border-color: rgba(244, 63, 94, 0.16);
		box-shadow: 0 2px 8px rgba(244, 63, 94, 0.05);
	}

	#stm-dashboard-root .stm-finance-inc-scope .stm-finance-txn-table-shell .table.stm-table--txn-premium tbody tr {
		border-color: rgba(16, 185, 129, 0.16);
		box-shadow: 0 2px 8px rgba(16, 185, 129, 0.05);
	}

	#stm-dashboard-root .stm-finance-txn-table-shell .table.stm-table--txn-premium tbody td {
		padding: 0.22rem 0.35rem;
		border-bottom-color: rgba(99, 102, 241, 0.08);
	}

	#stm-dashboard-root .stm-finance-txn-table-shell .stm-finance-txn-memo,
	#stm-dashboard-root .stm-finance-txn-table-shell .stm-finance-txn-account {
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
	}

	#stm-dashboard-root .stm-finance-txn-table-shell .stm-finance-txn-actions-cell .stm-task-action-btns {
		gap: 0.2rem !important;
	}
}

@media (min-width: 768px) {
	#stm-dashboard-root .stm-finance-txn-table-shell thead .stm-finance-col-actions,
	#stm-dashboard-root .stm-finance-txn-table-shell tbody td.stm-finance-txn-actions-cell {
		text-align: end;
		vertical-align: middle;
	}
}

/* Keuangan ? tab Kas: forest green + mint (referensi Account & Plan) */
#stm-dashboard-root .stm-finance-cash-scope {
	--stm-cash-brand: #1f473a;
	--stm-cash-brand-deep: #18382e;
	--stm-cash-mint: #e8f1ec;
	--stm-cash-mint-soft: #f3f8f5;
	--stm-cash-canvas: #f9fafb;
	--stm-cash-surface: #e8f1ec;
	--stm-cash-panel: #ffffff;
	--stm-cash-line: #e5e7eb;
	--stm-cash-line-strong: #d1d5db;
	--stm-cash-text: #111827;
	--stm-cash-muted: #6b7280;
	--stm-cash-head: #1f473a;
	--stm-cash-in: #1f473a;
	--stm-cash-in-soft: #e8f1ec;
	--stm-cash-out: #9a4a4a;
	--stm-cash-out-soft: #f6ecec;
	--stm-cash-ring: rgba(31, 71, 58, 0.18);
	--stm-cash-radius: 0.75rem;
	--stm-cash-radius-sm: 0.5rem;
	color: var(--stm-cash-text);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary {
	display: grid;
	grid-template-columns: 1.35fr 1fr 1fr;
	gap: 0.75rem;
	margin-bottom: 1.25rem;
}

#stm-dashboard-root .stm-panel--finance .stm-cash-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

#stm-dashboard-root .stm-panel--finance .stm-page-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-bottom: 1rem;
}

#stm-dashboard-root .stm-cash-ai-card {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 0 0 1.25rem;
	padding: 1.05rem 1rem;
	border: 1px solid #d7e5de;
	border-radius: 1.05rem;
	background: #ffffff;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.95) inset,
		0 10px 24px rgba(22, 53, 44, 0.08),
		0 0 20px rgba(124, 184, 154, 0.14);
}

#stm-dashboard-root .stm-cash-ai-card__glow {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
	filter: blur(1px);
}

#stm-dashboard-root .stm-cash-ai-card__glow--a {
	top: -40%;
	right: -20%;
	width: 10rem;
	height: 10rem;
	background: radial-gradient(circle, rgba(124, 184, 154, 0.35) 0%, transparent 70%);
	animation: stm-admin-login-glow-a 6s ease-in-out infinite;
}

#stm-dashboard-root .stm-cash-ai-card__glow--b {
	bottom: -45%;
	left: -25%;
	width: 11rem;
	height: 11rem;
	background: radial-gradient(circle, rgba(31, 71, 58, 0.14) 0%, transparent 72%);
	animation: stm-admin-login-glow-b 7.5s ease-in-out infinite;
}

#stm-dashboard-root .stm-cash-ai-card__head {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	margin: 0;
	padding: 0;
}

#stm-dashboard-root .stm-cash-ai-card__title {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 750;
	color: #1f473a;
	letter-spacing: -0.015em;
	line-height: 1.25;
}

#stm-dashboard-root .stm-cash-ai-card__desc {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 0.75rem;
	color: #6b7280;
	line-height: 1.4;
}

#stm-dashboard-root .stm-cash-ai-card__actions {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
}

#stm-dashboard-root .stm-cash-ai-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 2.35rem;
	margin: 0;
	padding: 0.45rem 0.85rem;
	border: 1px solid #d7e5de;
	border-radius: 0.7rem;
	background: #fff;
	color: #1f473a;
	font-size: 0.75rem;
	font-weight: 650;
	line-height: 1.2;
	transition: background 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

#stm-dashboard-root .stm-cash-ai-card__btn svg {
	width: 0.85rem;
	height: 0.85rem;
	flex: 0 0 auto;
	display: block;
}

#stm-dashboard-root .stm-cash-ai-card__btn:hover {
	background: #f3f8f5;
	border-color: #cfe0d7;
}

#stm-dashboard-root .stm-cash-ai-card__btn--camera {
	background: linear-gradient(115deg, #1f473a 0%, #2f6b58 55%, #5a9e82 100%);
	background-size: 180% 180%;
	border-color: transparent;
	color: #fff;
	box-shadow:
		0 4px 12px rgba(22, 53, 44, 0.18),
		0 0 14px rgba(124, 184, 154, 0.28);
	animation: stm-login-orb-shift 5.5s ease-in-out infinite;
}

#stm-dashboard-root .stm-cash-ai-card__btn--camera:hover {
	color: #fff;
	filter: brightness(1.05);
}

#stm-dashboard-root .stm-cash-ai-card__btn--camera:disabled {
	opacity: 0.65;
	animation: none;
}

#stm-dashboard-root .stm-cash-ai-card__btn--muted {
	color: #6b7280;
}

@media (min-width: 992px) {
	#stm-dashboard-root .stm-cash-ai-card__btn--camera {
		order: 2;
	}
}

#stm-dashboard-root .stm-cash-ai-card__run {
	position: relative;
	z-index: 1;
	isolation: isolate;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	width: 100%;
	min-height: 2.75rem;
	margin: 0;
	padding: 0.7rem 0.9rem;
	border: none;
	border-radius: 0.8rem;
	background-color: #1f473a;
	background-image: linear-gradient(115deg, #1f473a 0%, #2f6b58 45%, #5a9e82 100%);
	background-size: 180% 180%;
	color: #fff !important;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.2;
	box-shadow:
		0 8px 18px rgba(22, 53, 44, 0.2),
		0 0 20px rgba(124, 184, 154, 0.28);
	animation: stm-login-orb-shift 5s ease-in-out infinite;
	transition: filter 0.15s ease, box-shadow 0.15s ease;
}

#stm-dashboard-root .stm-cash-ai-card__run-glow {
	position: absolute;
	inset: -40% -20%;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(255, 255, 255, 0.28) 45%,
		transparent 70%
	);
	transform: translateX(-60%);
	animation: stm-admin-login-sheen 3.6s ease-in-out infinite;
	pointer-events: none;
	z-index: 0;
}

#stm-dashboard-root .stm-cash-ai-card__run svg,
#stm-dashboard-root .stm-cash-ai-card__run-label {
	position: relative;
	z-index: 1;
}

#stm-dashboard-root .stm-cash-ai-card__run svg {
	width: 0.95rem;
	height: 0.95rem;
	flex: 0 0 auto;
	display: block;
}

#stm-dashboard-root .stm-cash-ai-card__run:hover {
	color: #fff !important;
	filter: brightness(1.05);
	box-shadow:
		0 10px 22px rgba(22, 53, 44, 0.26),
		0 0 28px rgba(124, 184, 154, 0.4);
}

#stm-dashboard-root .stm-cash-ai-card__run:disabled {
	opacity: 0.65;
	animation: none;
	box-shadow: none;
}

#stm-dashboard-root .stm-cash-ai-card #stm-cash-out-ai-drop,
#stm-dashboard-root .stm-cash-ai-card #stm-cash-out-ai-preview-wrap,
#stm-dashboard-root .stm-cash-ai-card #stm-cash-out-ai-loading,
#stm-dashboard-root .stm-cash-ai-card #stm-cash-out-ai-msg {
	position: relative;
	z-index: 1;
	margin: 0;
}

#stm-dashboard-root .stm-cash-ai-card #stm-cash-out-ai-msg:empty {
	display: none;
}

#stm-dashboard-root .stm-cash-ai-card #stm-cash-out-ai-msg:not(:empty) {
	font-size: 0.75rem;
	line-height: 1.35;
}

/* Cash out modal glow shell */
#stm-dashboard-root #stm-cash-out-modal .stm-cash-sheet__panel,
#stm-dashboard-root #stm-cash-in-modal .stm-cash-sheet__panel {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-radius: 1.15rem;
	background:
		radial-gradient(120% 60% at 100% -10%, rgba(124, 184, 154, 0.16) 0%, transparent 55%),
		radial-gradient(90% 50% at -10% 100%, rgba(31, 71, 58, 0.08) 0%, transparent 55%),
		#ffffff;
	box-shadow:
		0 18px 40px rgba(22, 53, 44, 0.14),
		0 0 28px rgba(124, 184, 154, 0.12);
}

#stm-dashboard-root #stm-cash-out-modal .stm-cash-sheet__header,
#stm-dashboard-root #stm-cash-in-modal .stm-cash-sheet__header {
	position: relative;
	z-index: 1;
	background: transparent;
	border-bottom: 1px solid #e8f1ec !important;
	padding-top: 0.85rem;
}

#stm-dashboard-root #stm-cash-out-modal .stm-cash-sheet__title-wrap,
#stm-dashboard-root #stm-cash-in-modal .stm-cash-sheet__title-wrap {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	min-width: 0;
}

#stm-dashboard-root #stm-cash-out-modal .stm-cash-sheet__ico,
#stm-dashboard-root #stm-cash-in-modal .stm-cash-sheet__ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 2.15rem;
	height: 2.15rem;
	border-radius: 0.7rem;
	color: #fff;
	background: linear-gradient(135deg, #1f473a 0%, #2f6b58 50%, #5a9e82 100%);
	background-size: 180% 180%;
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.2) inset,
		0 4px 12px rgba(31, 71, 58, 0.22),
		0 0 14px rgba(124, 184, 154, 0.35);
	animation: stm-login-orb-shift 5.5s ease-in-out infinite;
}

#stm-dashboard-root #stm-cash-in-modal .stm-cash-sheet__ico--in {
	background: linear-gradient(135deg, #166534 0%, #15803d 50%, #4ade80 100%);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.22) inset,
		0 4px 12px rgba(22, 101, 52, 0.24),
		0 0 14px rgba(74, 222, 128, 0.4);
}

#stm-dashboard-root #stm-cash-out-modal .stm-cash-sheet__ico svg,
#stm-dashboard-root #stm-cash-in-modal .stm-cash-sheet__ico svg {
	width: 1rem;
	height: 1rem;
	display: block;
}

#stm-dashboard-root #stm-cash-out-modal .stm-cash-sheet__title,
#stm-dashboard-root #stm-cash-in-modal .stm-cash-sheet__title {
	color: #1f473a;
	font-weight: 750;
}

#stm-dashboard-root #stm-cash-out-modal .stm-cash-field__control.form-control:focus,
#stm-dashboard-root #stm-cash-out-modal .stm-cash-field__control.form-select:focus,
#stm-dashboard-root #stm-cash-in-modal .stm-cash-field__control.form-control:focus,
#stm-dashboard-root #stm-cash-in-modal .stm-cash-field__control.form-select:focus {
	border-color: #2f6b58;
	box-shadow:
		0 0 0 3px rgba(124, 184, 154, 0.28),
		0 0 16px rgba(124, 184, 154, 0.16);
	outline: none;
}

#stm-dashboard-root .stm-cash-sheet__btn--out {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: #1f473a;
	background-image: linear-gradient(115deg, #1f473a 0%, #2f6b58 45%, #5a9e82 100%);
	background-size: 180% 180%;
	color: #fff !important;
	border-color: transparent;
	box-shadow:
		0 8px 18px rgba(22, 53, 44, 0.2),
		0 0 18px rgba(124, 184, 154, 0.26);
	animation: stm-login-orb-shift 5.5s ease-in-out infinite;
}

#stm-dashboard-root .stm-cash-sheet__btn-glow {
	position: absolute;
	inset: -40% -20%;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(255, 255, 255, 0.26) 45%,
		transparent 70%
	);
	transform: translateX(-60%);
	animation: stm-admin-login-sheen 3.6s ease-in-out infinite;
	pointer-events: none;
	z-index: 0;
}

#stm-dashboard-root .stm-cash-sheet__btn-label {
	position: relative;
	z-index: 1;
}

#stm-dashboard-root .stm-cash-sheet__btn--out:hover,
#stm-dashboard-root .stm-cash-sheet__btn--out:active {
	color: #fff !important;
	filter: brightness(1.05);
	background-image: linear-gradient(115deg, #16352c 0%, #2a5f4e 45%, #6fb396 100%);
	background-size: 180% 180%;
}

@media (prefers-reduced-motion: reduce) {
	#stm-dashboard-root .stm-cash-ai-card__glow,
	#stm-dashboard-root .stm-cash-ai-card__btn--camera,
	#stm-dashboard-root .stm-cash-ai-card__run,
	#stm-dashboard-root .stm-cash-ai-card__run-glow,
	#stm-dashboard-root #stm-cash-out-modal .stm-cash-sheet__ico,
	#stm-dashboard-root #stm-cash-in-modal .stm-cash-sheet__ico,
	#stm-dashboard-root .stm-cash-sheet__btn--out,
	#stm-dashboard-root .stm-cash-sheet__btn--in,
	#stm-dashboard-root .stm-cash-sheet__btn-glow {
		animation: none !important;
	}
}
/* Cash input sheets ? mobile form best practice */
#stm-dashboard-root .stm-cash-sheet .modal-content {
	background: #fff;
	overflow: hidden;
}

#stm-dashboard-root .stm-cash-sheet__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.35rem 1.125rem 0.85rem;
	background: #fff;
	border-bottom: 1px solid #f3f4f6 !important;
}

#stm-dashboard-root .stm-cash-sheet__title-wrap {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
}

#stm-dashboard-root .stm-cash-sheet__badge {
	display: none;
}

#stm-dashboard-root .stm-cash-sheet__titles {
	min-width: 0;
}

#stm-dashboard-root .stm-cash-sheet__title {
	margin: 0;
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #111827;
	line-height: 1.25;
}

#stm-dashboard-root .stm-cash-sheet__subtitle {
	margin: 0.15rem 0 0;
	font-size: 0.75rem;
	color: #6b7280;
	line-height: 1.35;
}

#stm-dashboard-root .stm-cash-sheet__close {
	margin: 0;
	opacity: 0.55;
}

#stm-dashboard-root .stm-cash-sheet__body {
	padding: 1rem 1.125rem calc(1rem + env(safe-area-inset-bottom, 0px));
}

#stm-dashboard-root .stm-cash-sheet__stack,
#stm-dashboard-root .stm-cash-sheet__grid {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}

#stm-dashboard-root .stm-cash-field,
#stm-dashboard-root .stm-cash-field--full {
	min-width: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}

#stm-dashboard-root .stm-cash-field__label {
	display: block;
	margin: 0;
	padding: 0 0.1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: #374151;
	line-height: 1.3;
}

#stm-dashboard-root .stm-cash-field__ico {
	display: none;
}

#stm-dashboard-root .stm-cash-field__control.form-control,
#stm-dashboard-root .stm-cash-field__control.form-select {
	width: 100%;
	min-height: 3rem;
	padding: 0.75rem 0.875rem;
	border: 1px solid #e5e7eb;
	border-radius: 0.75rem;
	background: #fff;
	font-size: 1rem;
	line-height: 1.3;
	color: #111827;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#stm-dashboard-root .stm-cash-field__control.form-control:focus,
#stm-dashboard-root .stm-cash-field__control.form-select:focus {
	border-color: #1f473a;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(31, 71, 58, 0.12);
	outline: none;
}

#stm-dashboard-root .stm-cash-field__control--amount {
	min-height: 3.5rem !important;
	font-size: 1.5rem !important;
	font-weight: 700;
	letter-spacing: -0.03em;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

#stm-dashboard-root .stm-cash-field__control--file {
	min-height: 3rem;
	padding: 0.55rem 0.75rem;
	font-size: 0.9375rem;
}

#stm-dashboard-root .stm-cash-amount-wrap {
	display: contents;
}

#stm-dashboard-root .stm-cash-amount-wrap__prefix {
	display: none;
}

#stm-dashboard-root .stm-cash-sheet .stm-cash-form-msg {
	margin-top: 0.75rem;
	min-height: 1.1rem;
	font-size: 0.8125rem;
}

#stm-dashboard-root .stm-cash-sheet__footer {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 1.25rem;
	padding: 0;
	background: transparent;
	position: static;
}

#stm-dashboard-root .stm-cash-sheet__btn {
	flex: none;
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 3rem;
	padding: 0.75rem 1rem;
	border-radius: 0.75rem;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	border: 1px solid transparent;
}

#stm-dashboard-root .stm-cash-sheet__btn-ico {
	display: none;
}

#stm-dashboard-root .stm-cash-sheet__btn--ghost {
	min-width: 0;
	background: transparent;
	border-color: transparent;
	color: #6b7280;
	font-weight: 600;
	min-height: 2.5rem;
}

#stm-dashboard-root .stm-cash-sheet__btn--in {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: #15803d;
	background-image: linear-gradient(115deg, #166534 0%, #15803d 45%, #4ade80 100%);
	background-size: 180% 180%;
	color: #fff !important;
	border-color: transparent;
	box-shadow:
		0 8px 18px rgba(22, 101, 52, 0.2),
		0 0 18px rgba(74, 222, 128, 0.28);
	animation: stm-login-orb-shift 5.5s ease-in-out infinite;
}

#stm-dashboard-root .stm-cash-sheet__btn--in:hover,
#stm-dashboard-root .stm-cash-sheet__btn--in:active {
	color: #fff !important;
	filter: brightness(1.05);
	background-image: linear-gradient(115deg, #14532d 0%, #166534 45%, #22c55e 100%);
}

#stm-dashboard-root #stm-cash-out-modal .stm-cash-label,
#stm-dashboard-root #stm-cash-in-modal .stm-cash-label {
	margin-bottom: 0.25rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: #374151;
}

@media (min-width: 992px) {
	#stm-dashboard-root .stm-cash-sheet__footer {
		flex-direction: row-reverse;
		align-items: center;
	}

	#stm-dashboard-root .stm-cash-sheet__btn {
		width: auto;
		min-width: 8.5rem;
		flex: 0 0 auto;
	}

	#stm-dashboard-root .stm-cash-sheet__btn--ghost {
		min-width: 5.5rem;
	}
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__item {
	background: var(--stm-cash-panel);
	border: 1px solid var(--stm-cash-line);
	border-radius: var(--stm-cash-radius);
	padding: 0.875rem 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	box-shadow: none;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__item--net {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-color: transparent;
	background:
		linear-gradient(135deg, #1f473a 0%, #2f6b58 40%, #254f41 70%, #16352c 100%);
	background-size: 200% 200%;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.1) inset,
		0 10px 24px rgba(22, 53, 44, 0.18),
		0 0 20px rgba(124, 184, 154, 0.2);
	animation: stm-login-orb-shift 7s ease-in-out infinite;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__item--net::before {
	content: "";
	position: absolute;
	inset: -40% -20% auto auto;
	width: 9rem;
	height: 9rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(168, 212, 190, 0.35) 0%, transparent 70%);
	pointer-events: none;
	z-index: 0;
	animation: stm-cash-hero-breathe 5.5s ease-in-out infinite;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__item--net .stm-cash-summary__label,
#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__item--net .stm-cash-summary__value {
	position: relative;
	z-index: 1;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__item--net .stm-cash-summary__label {
	color: rgba(255, 255, 255, 0.7);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__item--net .stm-cash-summary__value {
	color: #fff;
	font-size: 1.35rem;
	letter-spacing: -0.03em;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__item--net .stm-cash-summary__value--pos,
#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__item--net .stm-cash-summary__value--neg {
	color: #fff;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__item--in {
	border-color: #d7e5de;
	background: var(--stm-cash-mint);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__item--out {
	border-color: #eadfdf;
	background: var(--stm-cash-out-soft);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__label {
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--stm-cash-muted);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__value {
	font-size: 1.0625rem;
	font-weight: 750;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
	color: var(--stm-cash-text);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__item--in .stm-cash-summary__value {
	color: var(--stm-cash-in);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__item--out .stm-cash-summary__value {
	color: var(--stm-cash-out);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__value--pos {
	color: var(--stm-cash-in);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__value--neg {
	color: var(--stm-cash-out);
}

@media (max-width: 767.98px) {
	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary {
		grid-template-columns: 1fr;
	}
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-label {
	margin-bottom: 0.0625rem;
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--stm-cash-head);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-hint {
	font-size: 0.625rem;
	line-height: 1.3;
	color: var(--stm-cash-muted);
	margin-top: 0.1rem;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-settings-card {
	border-radius: 12px;
	border: 1px solid var(--stm-cash-line);
	overflow: hidden;
	background: var(--stm-cash-panel);
	box-shadow: none;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-settings-card__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.25rem 0.5rem;
	padding: 0.3125rem 0.5625rem;
	background: var(--stm-cash-brand);
	color: #fff;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-settings-card__badge {
	font-size: 0.6875rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-settings-card__sub {
	font-size: 0.625rem;
	opacity: 0.92;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-settings-bar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.375rem 0.5rem;
	align-items: start;
	padding: 0.375rem 0.5rem;
	margin-bottom: 0;
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-settings-bar__controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.3125rem;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-settings-bar__controls .form-select {
	flex: 1 1 10rem;
	min-width: 0;
	max-width: 18rem;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-save-btn {
	color: #fff;
	background: linear-gradient(135deg, #6366f1, #8b5cf6);
	border: none;
	box-shadow: 0 3px 10px rgba(99, 102, 241, 0.3);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-save-btn:hover {
	color: #fff;
	filter: brightness(1.05);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-settings-bar__meta {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	gap: 0.0625rem;
	min-width: 0;
	text-align: right;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-account-summary {
	font-size: 0.6875rem;
	font-weight: 700;
	color: var(--stm-cash-text);
	white-space: nowrap;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-settings-msg {
	font-size: 0.625rem;
	min-height: 0;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-forms-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.375rem;
	margin-bottom: 0.375rem;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-card {
	padding: 0;
	overflow: hidden;
	border-radius: 12px;
	border: 1px solid var(--stm-cash-line);
	box-shadow: 0 3px 12px rgba(99, 102, 241, 0.06);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-panel--in {
	border-color: rgba(16, 185, 129, 0.22);
	background: linear-gradient(180deg, #ffffff 0%, #ecfdf5 100%);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-panel--out {
	border-color: rgba(244, 63, 94, 0.22);
	background: linear-gradient(180deg, #ffffff 0%, #fff1f2 100%);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-panel__head {
	margin-bottom: 0;
	padding: 0.3125rem 0.5rem;
	border-bottom: none;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-panel--in .stm-cash-form-panel__head {
	background: linear-gradient(95deg, #059669, #10b981);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-panel--out .stm-cash-form-panel__head {
	background: linear-gradient(95deg, #e11d48, #f43f5e);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-panel__title {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #fff;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.25rem 0.375rem;
	padding: 0.375rem 0.5rem 0.4375rem;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-field--full,
#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-actions {
	grid-column: 1 / -1;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-panel--in .stm-cash-label {
	color: #059669;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-panel--out .stm-cash-label {
	color: #e11d48;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-amount-input {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-panel--in .stm-cash-amount-input {
	color: #059669;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-panel--out .stm-cash-amount-input {
	color: #e11d48;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.3125rem;
	margin-top: 0.0625rem;
	padding-top: 0.25rem;
	border-top: 1px dashed rgba(99, 102, 241, 0.15);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-submit-btn {
	border: none;
	color: #fff;
	transition: background 0.15s ease, color 0.15s ease;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-submit-btn--in {
	background: #1f473a;
	box-shadow: none;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-submit-btn--out {
	background: #9a4a4a;
	box-shadow: none;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-submit-btn:hover {
	color: #fff;
	filter: brightness(1.06);
	transform: none;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-msg {
	font-size: 0.625rem;
	min-height: 0;
}

#stm-dashboard-root .stm-finance-cash-scope .form-control-sm,
#stm-dashboard-root .stm-finance-cash-scope .form-select-sm {
	min-height: 1.65rem;
	padding-top: 0.15rem;
	padding-bottom: 0.15rem;
	font-size: 0.78125rem;
	border-radius: 6px;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-field--file .form-control-sm {
	padding-top: 0.1rem;
	padding-bottom: 0.1rem;
	font-size: 0.6875rem;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-history {
	margin-top: 0.125rem;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-history__title {
	margin: 0 0 0.25rem;
	font-size: 0.75rem;
	font-weight: 800;
	color: var(--stm-fin-accent-indigo);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-history__filters {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-bottom: 0.3125rem;
	overflow: hidden;
	border-radius: 12px;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-date-filter .stm-cash-date-input {
	min-width: 8rem;
	max-width: 9.5rem;
	font-size: 0.75rem;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-history__filters .stm-cash-hint {
	font-size: 0.625rem;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-table-shell {
	background: linear-gradient(180deg, #ffffff 0%, #f5f3ff 100%);
	border: 1px solid rgba(99, 102, 241, 0.14);
	border-radius: 10px;
	box-shadow: 0 3px 12px rgba(99, 102, 241, 0.06);
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table.stm-table--cash-premium {
	--stm-cash-row: #ffffff;
	margin-bottom: 0;
	color: var(--stm-cash-text);
	background: transparent;
	border-collapse: separate;
	border-spacing: 0;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table.stm-table--cash-premium > :not(caption) > * > * {
	padding: 0.35rem 0.5rem;
	border-bottom: 1px solid var(--stm-cash-line);
	vertical-align: middle;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table.stm-table--cash-premium thead th {
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: #4338ca;
	background: rgba(245, 243, 255, 0.85);
	border-bottom: 1px solid rgba(99, 102, 241, 0.12);
	white-space: nowrap;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table.stm-table--cash-premium tbody tr {
	background: var(--stm-cash-row);
	transition: background-color 0.15s ease;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table.stm-table--cash-premium tbody tr:nth-child(even) {
	background: #f9fbfc;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table.stm-table--cash-premium tbody tr:hover {
	background: #eef4f7;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-task-dt {
	font-size: 0.75rem;
	color: var(--stm-cash-muted);
	width: 1%;
	white-space: nowrap;
	vertical-align: top;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-created {
	font-size: 0.75rem;
	color: var(--stm-cash-muted);
	width: 1%;
	white-space: nowrap;
	vertical-align: top;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .font-monospace {
	font-size: 0.71875rem;
	color: var(--stm-cash-muted);
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-finance-txn-memo,
#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-desc-cell {
	font-size: 0.78125rem;
	font-weight: 600;
	width: auto;
	min-width: 8rem;
	max-width: none;
	white-space: normal;
	vertical-align: top;
	overflow: hidden;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-finance-txn-account {
	font-size: 0.75rem;
	max-width: 16rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--stm-cash-muted);
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .text-end.fw-semibold {
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-task-status-badge {
	font-size: 0.625rem;
	padding: 0.28em 0.62em;
	border: 1px solid transparent;
	box-shadow: 0 1px 1px rgba(30, 45, 55, 0.04);
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-task-badge--done {
	color: #fff;
	background: linear-gradient(135deg, #10b981, #059669);
	border-color: rgba(5, 150, 105, 0.35);
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-task-badge--cancelled {
	color: #fff;
	background: linear-gradient(135deg, #f43f5e, #e11d48);
	border-color: rgba(225, 29, 72, 0.35);
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-col-att,
#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-att-cell {
	width: 1%;
	min-width: 7.5rem;
	max-width: none;
	text-align: left;
	vertical-align: middle;
	white-space: nowrap;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-att-cell--edit {
	min-width: 9.5rem;
	max-width: none;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-stack {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0.35rem;
	flex-wrap: nowrap;
	max-width: none;
	white-space: nowrap;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-thumbs {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 0.28rem;
	flex-wrap: nowrap;
	justify-content: flex-start;
	max-width: none;
	white-space: nowrap;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-chip {
	position: relative;
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	height: 2rem;
	padding: 0 0.45rem;
	border-radius: 0.4rem;
	border: 1px dashed rgba(45, 90, 61, 0.28);
	background: #f3f7f4;
	color: #1f473a;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	white-space: nowrap;
	cursor: pointer;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-more:hover,
#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-more:focus-visible {
	background: #e8f2eb;
	border-color: rgba(45, 90, 61, 0.45);
	outline: none;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-chip-remove {
	position: absolute;
	top: -0.35rem;
	right: -0.35rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1rem;
	height: 1rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	font-size: 0.75rem;
	line-height: 1;
	color: #fff;
	background: #be123c;
	cursor: pointer;
	box-shadow: 0 1px 3px rgba(20, 40, 30, 0.2);
	opacity: 0;
	transform: scale(0.85);
	pointer-events: none;
	transition: opacity 0.15s ease, transform 0.15s ease, background 0.15s ease;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-chip:hover .stm-cash-att-chip-remove,
#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-chip:focus-within .stm-cash-att-chip-remove,
#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-chip-remove:focus-visible {
	opacity: 1;
	transform: scale(1);
	pointer-events: auto;
	outline: none;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-chip.is-removing {
	opacity: 0.4;
	pointer-events: none;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-chip-remove:hover,
#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-chip-remove:focus-visible {
	background: #9f1239;
	outline: none;
}

@media (hover: none) {
	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-chip-remove {
		opacity: 1;
		transform: scale(1);
		pointer-events: auto;
	}
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-actions {
	display: inline-flex;
	align-items: center;
	gap: 0.2rem;
	flex-shrink: 0;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-tool {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.45rem;
	height: 1.45rem;
	padding: 0;
	border-radius: 0.35rem;
	border: 1px solid rgba(45, 90, 61, 0.18);
	background: #f3f7f4;
	color: #1f473a;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-tool:hover,
#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-tool:focus-visible {
	background: #e8f2eb;
	border-color: rgba(45, 90, 61, 0.35);
	outline: none;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-tool:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-tool--remove {
	color: #be123c;
	border-color: rgba(190, 18, 60, 0.22);
	background: #fff5f7;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-tool--remove:hover,
#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-tool--remove:focus-visible {
	background: #ffe4ea;
	border-color: rgba(190, 18, 60, 0.4);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: inherit;
	border: 0;
	padding: 0;
	background: transparent;
	cursor: pointer;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-link--preview {
	cursor: zoom-in;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-frame {
	display: inline-flex;
	width: 2rem;
	height: 2rem;
	border-radius: 0.4rem;
	overflow: hidden;
	border: 1px solid rgba(45, 90, 61, 0.14);
	box-shadow: 0 1px 2px rgba(20, 40, 30, 0.06);
	background: #f3f7f4;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-link:hover .stm-cash-att-frame,
#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-link:focus-visible .stm-cash-att-frame {
	transform: scale(1.06);
	box-shadow: 0 2px 8px rgba(20, 40, 30, 0.14);
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-finance-attachment-thumb,
#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-thumb {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
	border-radius: 0;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 1.5rem;
	padding: 0 0.4rem;
	border-radius: 0.35rem;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: #2d5a3d;
	background: linear-gradient(135deg, #e8f2eb, #d4e8da);
	border: 1px solid rgba(45, 90, 61, 0.16);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-empty {
	color: #b0beb6;
	font-size: 0.75rem;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-desc-btn,
#stm-dashboard-root .stm-finance-cash-scope .stm-cash-m-table__desc-btn {
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: inherit;
	text-align: left;
	cursor: pointer;
	appearance: none;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-m-table__desc-btn {
	display: block;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-desc-btn {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	overflow-wrap: anywhere;
	word-break: break-word;
	white-space: normal;
	max-width: 100%;
	line-height: 1.35;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-desc-btn:hover,
#stm-dashboard-root .stm-finance-cash-scope .stm-cash-desc-btn:focus-visible {
	color: var(--stm-cash-brand, #2d5a3d);
	text-decoration: underline;
	text-underline-offset: 0.15em;
	outline: none;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-m-table__desc-btn:focus-visible {
	outline: 2px solid rgba(45, 90, 61, 0.35);
	outline-offset: 2px;
	border-radius: 0.25rem;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-m-row--clickable {
	cursor: pointer;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-m-row--clickable:active {
	background: rgba(45, 90, 61, 0.04);
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-amt--debit,
#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-amt--credit,
#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-amt--balance,
#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-th-amt {
	width: 1%;
	min-width: 4.75rem;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	vertical-align: top;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-amt--debit {
	color: var(--stm-cash-in);
	font-weight: 700;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-amt--credit {
	color: var(--stm-cash-out);
	font-weight: 700;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-amt--balance {
	color: var(--stm-cash-text);
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-amt--balance-neg {
	color: #be123c;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table td.stm-cash-cell--editable {
	cursor: text;
	position: relative;
	transition: background-color 0.12s ease, box-shadow 0.12s ease;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table td.stm-cash-cell--editable:hover {
	background: rgba(45, 90, 61, 0.06);
	box-shadow: inset 0 0 0 1px rgba(45, 90, 61, 0.18);
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table td.stm-cash-cell--editing {
	background: #fff !important;
	box-shadow: inset 0 0 0 2px #2f6b58;
	padding: 0.2rem 0.3rem !important;
	vertical-align: middle;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-cell__value {
	display: block;
	min-height: 1.15em;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-desc-clamp {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	overflow-wrap: anywhere;
	word-break: break-word;
	white-space: normal;
	line-height: 1.35;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-cell__input {
	width: 100%;
	min-width: 0;
	border-radius: 0.35rem;
	border-color: #cfe0d7;
	font-size: inherit;
	font-weight: inherit;
	line-height: 1.3;
	padding: 0.2rem 0.35rem;
	box-shadow: none;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-cell__input:focus {
	border-color: #2f6b58;
	box-shadow: 0 0 0 2px rgba(124, 184, 154, 0.28);
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-del-btn {
	border: 1px solid #eadfdf;
	border-radius: 0.45rem;
	background: #f6ecec;
	color: #9a4a4a;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.2rem 0.65rem;
	line-height: 1.3;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-del-btn:hover {
	background: #9a4a4a;
	border-color: #9a4a4a;
	color: #fff;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-col-act {
	width: 5.5rem;
	white-space: nowrap;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-col-check {
	width: 2.25rem;
	text-align: center;
	vertical-align: middle;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-bulk {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin: 0 0 0.75rem;
	padding: 0.55rem 0.65rem;
	border: 1px solid #d7e5de;
	border-radius: var(--stm-cash-radius-sm, 0.625rem);
	background: #e8f1ec;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-bulk__all {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	font-size: 0.75rem;
	font-weight: 650;
	color: #1f473a;
	cursor: pointer;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-bulk__all input {
	width: 1rem;
	height: 1rem;
	margin: 0;
	accent-color: #1f473a;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-bulk__count {
	font-size: 0.75rem;
	font-weight: 650;
	color: #6b7280;
	margin-right: auto;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-bulk__restore {
	border: none;
	border-radius: 0.45rem;
	background: #1f473a;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.4rem 0.75rem;
	line-height: 1.2;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-bulk__restore:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-table__empty {
	padding: 1.25rem 0.75rem !important;
	font-size: 0.8125rem;
	color: var(--stm-cash-muted);
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table {
	table-layout: auto;
	width: 100%;
	min-width: 44rem;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-th-date,
#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-th-created {
	width: 1%;
	white-space: nowrap;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-th-desc {
	width: auto;
	min-width: 8rem;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-col-check {
	width: 1%;
	white-space: nowrap;
}

#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-cash-col-act {
	width: 1%;
	white-space: nowrap;
}

@media (max-width: 991.98px) {
	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-forms-grid {
		grid-template-columns: 1fr;
	}

	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-settings-bar {
		grid-template-columns: 1fr;
	}

	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-settings-bar__meta {
		align-items: flex-start;
		text-align: left;
	}
}

@media (max-width: 575.98px) {
	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-form-grid {
		grid-template-columns: 1fr;
	}

	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-settings-bar__controls .form-select {
		max-width: none;
		flex-basis: 100%;
	}
}

@media (max-width: 640px) {
	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-table-shell #stm-cash-recent-table.stm-table--cash-premium tbody tr {
		border: 1px solid var(--stm-cash-line);
		border-radius: 8px;
		background: #fff;
		box-shadow: 0 1px 6px rgba(30, 45, 55, 0.05);
	}

	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-table-shell #stm-cash-recent-table.stm-table--cash-premium tbody td {
		padding: 0.3rem 0.5rem;
		border-bottom-color: rgba(52, 72, 88, 0.08);
	}

	#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-finance-txn-memo,
	#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table .stm-finance-txn-account {
		max-width: none;
		white-space: normal;
	}
}

/* Finance: kop neraca & laba rugi */
#stm-dashboard-root .stm-finance-kop__name {
	letter-spacing: 0.04em;
	line-height: 1.25;
}

/* Neraca / Laba rugi: area tanda tangan */
#stm-dashboard-root .stm-finance-signatures .stm-finance-sign-space {
	min-height: 3.5rem;
	max-width: 14rem;
}

#stm-dashboard-root .stm-finance-signatures .stm-finance-sign-underline {
	width: 85%;
	max-width: 14rem;
	border-bottom: 1px solid var(--bs-border-color);
}

/* Keuangan ? Aset tetap: tema oranye lembut (premium seperti Task) */
#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope {
	--stm-fixed-surface: #fff9f4;
	--stm-fixed-card-bg: linear-gradient(165deg, #ffffff 0%, #fffbf7 100%);
	--stm-fixed-row: #ffffff;
	--stm-fixed-row-alt: #fff6ee;
	--stm-fixed-line: rgba(200, 130, 85, 0.14);
	--stm-fixed-text: #443329;
	--stm-fixed-muted: #8f7362;
	--stm-fixed-head: #a86438;
	--stm-fixed-accent: #e8884a;
	--stm-fixed-accent-deep: #d97538;
	--stm-fixed-accent-soft: rgba(232, 136, 74, 0.16);
	--stm-fixed-ring: rgba(216, 130, 72, 0.35);
	color: var(--stm-fixed-text);
	background: transparent;
	border-radius: 0;
	padding: 0;
	margin-left: 0;
	margin-right: 0;
}

@media (min-width: 768px) {
	#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope {
		padding: 0;
		margin-left: 0;
		margin-right: 0;
	}
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-intro {
	color: var(--stm-fixed-muted) !important;
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-list-title {
	color: var(--stm-fixed-head);
	letter-spacing: 0.02em;
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-card {
	background: var(--stm-fixed-card-bg);
	border: 1px solid rgba(220, 170, 125, 0.35) !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.85) inset,
		0 8px 28px rgba(120, 72, 40, 0.08) !important;
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-card-title {
	color: var(--stm-fixed-head);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .form-control,
#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .form-select {
	border-color: rgba(200, 140, 95, 0.35);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .form-control:focus,
#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .form-select:focus {
	border-color: var(--stm-fixed-accent);
	box-shadow: 0 0 0 0.2rem var(--stm-fixed-ring);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .stm-fixed-submit-btn {
	color: #fff;
	background: linear-gradient(180deg, #f09858 0%, var(--stm-fixed-accent-deep) 100%);
	border: 1px solid rgba(180, 95, 45, 0.35);
	box-shadow: 0 2px 10px rgba(200, 110, 55, 0.22);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .stm-fixed-submit-btn:hover {
	filter: brightness(1.03);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .stm-fixed-preview-btn {
	color: var(--stm-fixed-head);
	background: #fff;
	border: 1px solid rgba(210, 150, 105, 0.55);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .stm-fixed-preview-btn:hover {
	background: var(--stm-fixed-accent-soft);
	border-color: rgba(200, 130, 85, 0.65);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .stm-fixed-run-btn {
	color: #fff;
	background: linear-gradient(180deg, #f4a062 0%, #e07834 100%);
	border: 1px solid rgba(190, 100, 45, 0.4);
	box-shadow: 0 2px 10px rgba(190, 105, 55, 0.2);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .stm-fixed-run-btn:hover {
	filter: brightness(1.04);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .btn-outline-secondary {
	border-color: rgba(190, 145, 115, 0.55);
	color: var(--stm-fixed-muted);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .btn-outline-secondary:hover {
	background: rgba(255, 244, 235, 0.95);
	border-color: rgba(180, 130, 95, 0.55);
	color: var(--stm-fixed-text);
}

/* Tabel daftar aset ? gaya premium seperti Task */
#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-table-shell #stm-fixed-asset-table.stm-table--fixed-premium {
	--stm-fixed-table-text: var(--stm-fixed-text);
	--stm-fixed-table-muted: var(--stm-fixed-muted);
	color: var(--stm-fixed-table-text);
	border-collapse: separate;
	border-spacing: 0;
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-table-shell #stm-fixed-asset-table.stm-table--fixed-premium > :not(caption) > * > * {
	padding: 0.65rem 0.75rem;
	border-bottom: 1px solid var(--stm-fixed-line);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-thead .stm-finance-fixed-th {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--stm-fixed-head);
	background: rgba(255, 236, 220, 0.65);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-table-shell #stm-fixed-asset-table.stm-table--fixed-premium tbody tr {
	background: var(--stm-fixed-row);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-table-shell #stm-fixed-asset-table.stm-table--fixed-premium tbody tr:nth-child(even) {
	background: var(--stm-fixed-row-alt);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-table-shell #stm-fixed-asset-table.stm-table--fixed-premium tbody tr:hover {
	background: #fff0e5;
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-table-shell #stm-fixed-asset-table.stm-table--fixed-premium .stm-table__empty {
	color: var(--stm-fixed-muted);
	font-style: italic;
	padding: 1.25rem 0.75rem;
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-table-shell .stm-finance-fixed-name {
	font-weight: 600;
	color: var(--stm-fixed-text);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .stm-fixed-status-badge.stm-fixed-status--active {
	background: linear-gradient(180deg, #ffe8d6 0%, #ffd4b8 100%);
	color: #7a4520;
	border: 1px solid rgba(210, 140, 85, 0.45);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .stm-fixed-status-badge.stm-fixed-status--muted {
	background: rgba(245, 235, 228, 0.9);
	color: var(--stm-fixed-muted);
	border: 1px solid rgba(200, 175, 160, 0.4);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .stm-fixed-edit-btn {
	color: var(--stm-fixed-head);
	background: #fff;
	border: 1px solid rgba(210, 155, 110, 0.5);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .stm-fixed-edit-btn:hover {
	background: var(--stm-fixed-accent-soft);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .stm-fixed-delete-btn {
	color: #9a4a38;
	background: rgba(255, 236, 232, 0.95);
	border: 1px solid rgba(210, 130, 110, 0.45);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-scope .stm-fixed-delete-btn:hover {
	background: #ffe8e2;
}

/* Pratinjau posting */
#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-preview-wrap {
	border-radius: 0.75rem;
	border: 1px solid rgba(215, 165, 120, 0.35);
	background: rgba(255, 252, 248, 0.95);
	overflow: hidden;
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-preview-table thead th {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--stm-fixed-head);
	background: rgba(255, 232, 215, 0.75);
	border-bottom: 1px solid var(--stm-fixed-line);
}

#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-preview-table tbody td {
	border-bottom: 1px solid rgba(230, 200, 175, 0.35);
}

@media (max-width: 640px) {
	#stm-dashboard-root .stm-panel--finance .stm-finance-fixed-table-shell #stm-fixed-asset-table.stm-table--fixed-premium tbody tr {
		border: 1px solid rgba(210, 165, 125, 0.22);
		border-radius: 12px;
		background: #fffefc;
		box-shadow: 0 2px 12px rgba(90, 55, 35, 0.06);
	}
}

/* Analisa struk OpenAI ? area tempel / seret */
#stm-dashboard-root .stm-exp-ai-drop {
	min-height: 3.25rem;
	padding: 0.5rem 0.625rem;
	font-size: 0.6875rem;
	line-height: 1.35;
	text-align: center;
	color: var(--stm-txn-muted, #7a7268);
	border: 1px dashed rgba(72, 65, 58, 0.22);
	border-radius: 8px;
	cursor: pointer;
	background: rgba(255, 255, 255, 0.65);
	transition: background 0.15s ease, border-color 0.15s ease;
}

#stm-dashboard-root .stm-exp-ai-drop:hover {
	background: rgba(13, 110, 253, 0.06);
	border-color: rgba(13, 110, 253, 0.35);
}

#stm-dashboard-root .stm-exp-ai-drop:focus {
	outline: 2px solid rgba(13, 110, 253, 0.45);
	outline-offset: 2px;
}

#stm-dashboard-root .stm-exp-ai-preview-wrap {
	margin: 0;
	padding: 0.65rem 0.75rem;
	text-align: center;
	border: 1px solid #cfe0d7;
	border-radius: 0.85rem;
	background: rgba(255, 255, 255, 0.92);
}

#stm-dashboard-root .stm-cash-ai-preview {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
}

#stm-dashboard-root .stm-cash-ai-preview__frame {
	position: relative;
	width: 4.75rem;
	height: 4.75rem;
	border-radius: 0.75rem;
	overflow: hidden;
	border: 1px solid rgba(31, 71, 58, 0.14);
	background: linear-gradient(145deg, #e8f1ec 0%, #f7fbf9 55%, #ffffff 100%);
	box-shadow:
		0 0 0 3px rgba(124, 184, 154, 0.18),
		0 6px 16px rgba(22, 53, 44, 0.12);
}

#stm-dashboard-root .stm-exp-ai-loading {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.75rem;
	color: var(--bs-primary);
	margin: 0.375rem 0;
}

#stm-dashboard-root .stm-exp-ai-preview__img,
#stm-dashboard-root .stm-cash-ai-preview__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 4.75rem;
	max-height: 4.75rem;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	border-radius: 0;
}

#stm-dashboard-root .stm-cash-ai-preview__caption {
	margin: 0;
	font-size: 0.6875rem;
	font-weight: 650;
	color: #6b857a;
	line-height: 1.3;
}

#stm-dashboard-root .stm-finance-attachment-thumb {
	display: block;
	max-width: 48px;
	max-height: 48px;
	object-fit: cover;
}

/* ==========================================================================
   Tema festif ? biru laut & sunset (colorful, youthful)
   ========================================================================== */

#stm-dashboard-root.stm-theme-kuningan {
	--stm-kun-gold: #f97316;
	--stm-kun-gold-bright: #fb923c;
	--stm-kun-gold-soft: #fcd34d;
	--stm-kun-gold-deep: #c2410c;
	--stm-kun-cream: #f0f9ff;
	--stm-kun-cream-deep: #e0f2fe;
	--stm-kun-green: #0369a1;
	--stm-kun-green-bright: #0ea5e9;
	--stm-kun-green-soft: #bae6fd;
	--stm-kun-line: rgba(14, 165, 233, 0.22);
	--bs-primary: #0ea5e9;
	--bs-primary-rgb: 14, 165, 233;
	--bs-link-color: #0284c7;
	--bs-link-hover-color: #c2410c;
	background: transparent;
}

#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner--kuningan {
	position: relative;
	overflow: hidden;
	border-radius: 14px;
	border: 1px solid rgba(14, 165, 233, 0.35);
	background: linear-gradient(
		105deg,
		#0369a1 0%,
		#0ea5e9 18%,
		#f97316 48%,
		#fb923c 72%,
		#f472b6 100%
	);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.45) inset,
		0 8px 28px rgba(249, 115, 22, 0.22);
}

#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner--quote {
	background-size: 200% 200%;
	animation: stm-banner-gradient-shift 12s ease infinite;
}

@keyframes stm-banner-gradient-shift {
	0%,
	100% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
}

#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__glow {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 12% 50%, rgba(255, 255, 255, 0.28), transparent 42%),
		radial-gradient(circle at 88% 40%, rgba(255, 255, 255, 0.2), transparent 38%);
	pointer-events: none;
	animation: stm-banner-glow-pulse 4s ease-in-out infinite;
}

@keyframes stm-banner-glow-pulse {
	0%,
	100% {
		opacity: 1;
	}
	50% {
		opacity: 0.72;
	}
}

#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__shimmer {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		105deg,
		transparent 0%,
		rgba(255, 255, 255, 0.08) 42%,
		rgba(255, 255, 255, 0.22) 50%,
		rgba(255, 255, 255, 0.08) 58%,
		transparent 100%
	);
	background-size: 220% 100%;
	animation: stm-banner-shimmer 5s ease-in-out infinite;
	pointer-events: none;
}

@keyframes stm-banner-shimmer {
	0% {
		background-position: 200% 0;
	}
	100% {
		background-position: -200% 0;
	}
}

#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__inner {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.625rem 1rem;
}

#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__quote-mark {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.75rem;
	font-weight: 700;
	line-height: 0.75;
	color: rgba(255, 255, 255, 0.45);
	text-shadow: 0 2px 8px rgba(3, 105, 161, 0.35);
	flex-shrink: 0;
	align-self: flex-start;
	margin-top: 0.125rem;
	user-select: none;
}

#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__icon {
	font-size: 1.35rem;
	line-height: 1;
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.15));
	flex-shrink: 0;
}

#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__icon--end {
	font-size: 1.5rem;
	animation: stm-banner-sparkle 2.4s ease-in-out infinite;
}

@keyframes stm-banner-sparkle {
	0%,
	100% {
		transform: scale(1) rotate(0deg);
		opacity: 1;
	}
	50% {
		transform: scale(1.12) rotate(8deg);
		opacity: 0.82;
	}
}

#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__text {
	flex: 1;
	min-width: 0;
	color: #fff;
	text-shadow: 0 1px 3px rgba(12, 74, 110, 0.35);
	border: 0;
	margin: 0;
	padding: 0;
}

#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__quote {
	font-size: 1rem;
	font-weight: 700;
	font-style: italic;
	line-height: 1.35;
	letter-spacing: 0.01em;
}

#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__author {
	font-size: 0.6875rem;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.92;
	margin-top: 0.25rem;
	padding-left: 0.125rem;
}

#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__title {
	font-size: 0.9375rem;
	font-weight: 800;
	letter-spacing: 0.02em;
}

#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__sub {
	font-size: 0.6875rem;
	font-weight: 500;
	opacity: 0.95;
	margin-top: 0.125rem;
}

@media (max-width: 480px) {
	#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__inner {
		padding: 0.5rem 0.75rem;
		gap: 0.5rem;
	}

	#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__quote-mark {
		font-size: 2rem;
	}

	#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__quote {
		font-size: 0.875rem;
	}

	#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__author {
		font-size: 0.625rem;
		letter-spacing: 0.04em;
	}

	#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__icon--end {
		display: block;
		font-size: 1.25rem;
	}

	#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__title {
		font-size: 0.875rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner--quote,
	#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__glow,
	#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__shimmer,
	#stm-dashboard-root.stm-theme-kuningan .stm-festive-banner__icon--end {
		animation: none;
	}
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell {
	--stm-sidebar-accent: #111827;
	--stm-sidebar-bg-active: #f3f4f6;
	--stm-accent: #18181b;
	--stm-accent-soft: #f3f4f6;
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-sidebar-nav__link.active .stm-sidebar-nav__icon {
	color: var(--stm-sidebar-text-active);
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-panel--tasks .stm-task-badge--done {
	color: #fff;
	background: #16a34a;
	border: none;
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-ui-btn--primary,
#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-panel--tasks .stm-task-btn--done {
	background: var(--stm-accent);
	border-color: var(--stm-accent);
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-segment-btn.active {
	background: var(--stm-accent);
	box-shadow: none;
	color: #fff;
}

body.stm-sidebar-open {
	overflow: hidden;
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-panel--finance .btn-primary,
#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-panel--finance .stm-finance-submit-btn,
#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-panel--finance .stm-cash-save-btn {
	color: #fff !important;
	background: var(--stm-accent) !important;
	border-color: var(--stm-accent) !important;
	background-image: none !important;
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link.active:not([data-stm-finance-sub='exp']):not([data-stm-finance-sub='inc']) {
	background: var(--stm-accent) !important;
	background-image: none !important;
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub='inc'].active,
#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub='inc'].active:hover {
	color: #fff !important;
	background: #16a34a !important;
	background-image: none !important;
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub='exp'].active,
#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-panel--finance ul.stm-finance-subtabs .nav-link[data-stm-finance-sub='exp'].active:hover {
	color: #fff !important;
	background: #dc2626 !important;
	background-image: none !important;
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-panel--chatroom .stm-msg-thread {
	background: var(--stm-surface) !important;
	background-image: none !important;
	border-color: var(--stm-border) !important;
	box-shadow: none !important;
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-panel--chatroom .stm-msg-row--other .stm-msg-bubble,
#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-panel--chatroom .stm-msg-row--mine .stm-msg-bubble {
	background-image: none !important;
	backdrop-filter: none !important;
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-panel--chatroom .stm-chatroom-compose__send {
	background: var(--stm-accent) !important;
	background-image: none !important;
	border-color: var(--stm-accent) !important;
	color: #fff !important;
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-finance-cash-scope .stm-cash-history__filters {
	background: var(--stm-surface) !important;
	border: 1px solid var(--stm-border-strong) !important;
	border-left: none !important;
	box-shadow: none !important;
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-finance-cash-scope .stm-finance-filter-label {
	color: var(--stm-text-muted) !important;
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-finance-cash-scope .stm-finance-txn-filter-hint,
#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-finance-cash-scope .stm-cash-history__filters .stm-cash-hint {
	color: var(--stm-text-subtle) !important;
	background: transparent !important;
	border-top-color: var(--stm-border) !important;
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-panel--finance .stm-finance-date-preset.active {
	background: var(--stm-accent) !important;
	background-image: none !important;
}

#stm-dashboard-root.stm-theme-kuningan #stm-dashboard-loading {
	background: var(--stm-kun-cream);
	border-color: var(--stm-kun-line) !important;
	color: var(--stm-kun-gold-deep);
}

#stm-dashboard-root.stm-theme-kuningan .stm-tabs.nav-pills:not(.stm-sidebar-nav) .nav-link:hover {
	color: var(--stm-kun-gold-deep);
	background: rgba(14, 165, 233, 0.14);
	border-color: rgba(249, 115, 22, 0.28);
}

#stm-dashboard-root.stm-theme-kuningan .stm-tabs.nav-pills:not(.stm-sidebar-nav) .nav-link.active {
	background: linear-gradient(135deg, #0ea5e9 0%, #0369a1 38%, #f97316 100%);
	box-shadow: 0 0.2rem 0.65rem rgba(249, 115, 22, 0.38);
}

#stm-dashboard-root.stm-theme-kuningan .stm-tabs.nav-pills:not(.stm-sidebar-nav) .nav-link:focus-visible {
	outline-color: var(--stm-kun-gold);
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-panel-head {
	border-bottom-color: var(--stm-kun-line) !important;
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-panel-head__title {
	color: var(--stm-kun-gold-deep);
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-form-card {
	--stm-task-accent-indigo: #c2410c;
	--stm-task-accent-violet: #f97316;
	--stm-task-accent-cyan: #0369a1;
	--stm-task-accent-mint: #0ea5e9;
	--stm-task-accent-coral: #ec4899;
	background: linear-gradient(145deg, #ffffff 0%, #f0f9ff 45%, #fff7ed 100%);
	border-color: rgba(14, 165, 233, 0.28);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.95) inset,
		0 8px 24px rgba(14, 165, 233, 0.12);
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-form-card__head {
	background: linear-gradient(
		95deg,
		#0369a1 0%,
		#0ea5e9 32%,
		#f97316 62%,
		#fb923c 88%,
		#f472b6 100%
	);
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-input.form-control:focus,
#stm-dashboard-root.stm-theme-kuningan .stm-task-input.form-select:focus {
	border-color: rgba(14, 165, 233, 0.5);
	box-shadow: 0 0 0 0.15rem rgba(14, 165, 233, 0.25);
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-field--title .stm-task-input:focus {
	border-color: rgba(194, 65, 12, 0.5);
	box-shadow: 0 0 0 0.15rem rgba(249, 115, 22, 0.2);
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-field--status .stm-task-input:focus {
	border-color: rgba(249, 115, 22, 0.55);
	box-shadow: 0 0 0 0.15rem rgba(249, 115, 22, 0.22);
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-field--started .stm-input-group-datetime .input-group-text {
	background: linear-gradient(135deg, rgba(14, 165, 233, 0.2), rgba(249, 115, 22, 0.18));
	border-color: rgba(3, 105, 161, 0.35);
	color: #0369a1;
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-hint {
	color: #c2410c;
	background: linear-gradient(90deg, rgba(14, 165, 233, 0.16), rgba(249, 115, 22, 0.1));
	border-left-color: var(--stm-kun-gold);
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-field--actions {
	border-top-color: rgba(14, 165, 233, 0.2);
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-submit-btn {
	background: linear-gradient(135deg, #0ea5e9 0%, #0369a1 42%, #f97316 100%);
	box-shadow: 0 4px 14px rgba(249, 115, 22, 0.35);
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-submit-btn:hover {
	box-shadow: 0 6px 18px rgba(249, 115, 22, 0.42);
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-cancel-btn {
	border-color: rgba(14, 165, 233, 0.4);
	color: #c2410c;
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-task-date-filter {
	background: transparent !important;
	border: none !important;
}

#stm-dashboard-root.stm-theme-kuningan.stm-app-shell .stm-task-date-filter .stm-segment-btn:not(.active) {
	color: var(--stm-text-muted) !important;
	border-color: transparent !important;
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-date-filter {
	background: linear-gradient(90deg, rgba(14, 165, 233, 0.08), rgba(249, 115, 22, 0.06));
	border-color: rgba(14, 165, 233, 0.18);
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-date-preset {
	border-color: rgba(14, 165, 233, 0.28);
	color: #c2410c;
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-date-preset.active {
	background: linear-gradient(135deg, #0ea5e9, #f97316);
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-date-preset:active:not(.active) {
	opacity: 0.88;
}

#stm-dashboard-root.stm-theme-kuningan .stm-task-table-shell {
	background: linear-gradient(180deg, #f8fcff 0%, #fff7ed 100%);
	border-color: rgba(14, 165, 233, 0.16);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.9) inset,
		0 3px 12px rgba(14, 165, 233, 0.06);
}

#stm-dashboard-root.stm-theme-kuningan .stm-panel--tasks #stm-task-table.stm-table--tasks-premium {
	--stm-task-surface: #f8fcff;
	--stm-task-row: #ffffff;
	--stm-task-line: rgba(14, 165, 233, 0.1);
	--stm-task-text: #1e3a5f;
	--stm-task-muted: #64748b;
	--stm-task-head: #c2410c;
}

#stm-dashboard-root.stm-theme-kuningan .stm-panel--tasks #stm-task-table.stm-table--tasks-premium tbody tr:nth-child(even) {
	background: #f8fcff;
}

#stm-dashboard-root.stm-theme-kuningan .stm-panel--tasks #stm-task-table.stm-table--tasks-premium tbody tr:hover {
	background: #e0f2fe;
}

#stm-dashboard-root.stm-theme-kuningan .stm-panel--tasks .stm-task-badge--done {
	background: linear-gradient(135deg, #0ea5e9, #0369a1) !important;
	color: #fff !important;
	border-color: rgba(3, 105, 161, 0.35) !important;
}

#stm-dashboard-root.stm-theme-kuningan .stm-panel--tasks .stm-task-badge--progress {
	background: linear-gradient(135deg, #fcd34d, #fb923c) !important;
	color: #9a3412 !important;
	border-color: rgba(249, 115, 22, 0.35) !important;
}

#stm-dashboard-root.stm-theme-kuningan .stm-panel--tasks .stm-task-badge--pending {
	background: linear-gradient(180deg, #f0f9ff, #e0f2fe) !important;
	color: #c2410c !important;
	border-color: rgba(14, 165, 233, 0.25) !important;
}

#stm-dashboard-root.stm-theme-kuningan .stm-panel--tasks .stm-task-btn--done {
	background: linear-gradient(135deg, #0ea5e9, #0369a1) !important;
	border-color: transparent !important;
	color: #fff !important;
}

#stm-dashboard-root.stm-theme-kuningan .stm-panel--finance {
	--stm-fin-line: rgba(14, 165, 233, 0.12);
	--stm-fin-text: #1e3a5f;
	--stm-fin-muted: #64748b;
}

#stm-dashboard-root.stm-theme-kuningan .stm-finance-panel-head__title {
	color: var(--stm-kun-gold-deep);
}

#stm-dashboard-root.stm-theme-kuningan .stm-finance-txn-form-card {
	border-color: rgba(14, 165, 233, 0.18);
	background: linear-gradient(180deg, #ffffff 0%, #f8fcff 100%);
}

#stm-dashboard-root.stm-theme-kuningan .stm-finance-txn-date-filter {
	background: linear-gradient(90deg, rgba(14, 165, 233, 0.06), rgba(249, 115, 22, 0.05));
	border-color: rgba(14, 165, 233, 0.14);
}

#stm-dashboard-root.stm-theme-kuningan .stm-finance-date-preset.active,
#stm-dashboard-root.stm-theme-kuningan .stm-finance-date-preset:active {
	background: linear-gradient(135deg, #0ea5e9, #f97316) !important;
	border-color: transparent !important;
	color: #fff !important;
}

#stm-dashboard-root.stm-theme-kuningan .btn-primary {
	background: linear-gradient(135deg, #0ea5e9, #f97316);
	border-color: #0284c7;
}

#stm-dashboard-root.stm-theme-kuningan .btn-primary:hover {
	background: linear-gradient(135deg, #38bdf8, #fb923c);
	border-color: #0ea5e9;
}

#stm-dashboard-root.stm-theme-kuningan .btn-outline-primary {
	color: #0284c7;
	border-color: rgba(14, 165, 233, 0.45);
}

#stm-dashboard-root.stm-theme-kuningan .btn-outline-primary:hover {
	background: rgba(14, 165, 233, 0.14);
	border-color: #0ea5e9;
	color: #c2410c;
}

/* ==========================================================================
   Halaman dashboard ? flush layout, tanpa gap putih
   ========================================================================== */

/* Hapus offset ganda WP admin bar (html margin + padding tema). */
html:has(body.stm-dashboard-page.admin-bar),
html.admin-bar:has(body.stm-dashboard-page) {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

html:has(body.stm-dashboard-page) {
	background: #f9fafb;
}

body.stm-dashboard-page {
	--stm-site-header-h: 3.25rem;
	--stm-chrome-bg: #ffffff;
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
}

body.stm-dashboard-page:has(#stm-dashboard-root.stm-app-shell) {
	overflow: hidden;
}

body.stm-dashboard-page header.site-header,
body.stm-dashboard-page footer.site-footer,
body.stm-dashboard-page .ramaya-page-loader {
	display: none !important;
}

/* Sembunyikan judul/meta halaman WP (mis. "Keuangan" + tanggal). */
body.stm-dashboard-page .entry-header,
body.stm-dashboard-page .entry-title,
body.stm-dashboard-page .entry-meta,
body.stm-dashboard-page .posted-on,
body.stm-dashboard-page .post-thumbnail,
body.stm-dashboard-page .entry-footer,
body.stm-dashboard-page .page-header {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	border: none !important;
}

body.stm-dashboard-page #page,
body.stm-dashboard-page #main,
body.stm-dashboard-page .site,
body.stm-dashboard-page .site-main,
body.stm-dashboard-page .entry,
body.stm-dashboard-page .entry--singular,
body.stm-dashboard-page .entry-content,
body.stm-dashboard-page article {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	max-width: none !important;
	width: 100% !important;
	min-height: 0 !important;
}

/* Login / gate: isi penuh di bawah header plugin saja. */
body.stm-dashboard-page:not(:has(#stm-dashboard-root.stm-app-shell)) #main,
body.stm-dashboard-page:not(:has(#stm-dashboard-root.stm-app-shell)) .entry-content,
body.stm-dashboard-page:not(:has(#stm-dashboard-root.stm-app-shell)) article {
	display: flex;
	flex-direction: column;
	min-height: calc(100dvh - var(--stm-site-header-h, 3.25rem));
}

body.stm-dashboard-page:not(:has(#stm-dashboard-root.stm-app-shell)) #stm-login-wall-root,
body.stm-dashboard-page:not(:has(#stm-dashboard-root.stm-app-shell)) .stm-login-wall {
	flex: 1 1 auto;
	min-height: 0 !important;
	width: 100%;
}

body.stm-dashboard-page .site {
	max-width: none;
}

/* App shell: full viewport (WP Admin Bar disembunyikan di halaman aplikasi). */
body.stm-dashboard-page #wpadminbar {
	display: none !important;
}

body.stm-dashboard-page #stm-dashboard-root.stm-app-shell {
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	z-index: 99;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
}

body.stm-dashboard-page #stm-dashboard-root .stm-app-layout {
	min-height: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.stm-dashboard-page #stm-dashboard-root .stm-main-shell {
	min-height: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

body.stm-dashboard-page #stm-dashboard-root .stm-main {
	min-height: 0;
	overflow: visible;
}

body.stm-dashboard-page #stm-dashboard-root .stm-app-header {
	position: static !important;
	top: auto !important;
	z-index: auto;
	flex-shrink: 0;
}

/* Header standalone ? hanya halaman login */
body.stm-dashboard-page .stm-site-header--standalone {
	position: relative;
	z-index: 1;
	height: var(--stm-site-header-h, 3.5rem);
	background: #fff;
	border-bottom: 1px solid #e5ebe7;
}

body.stm-dashboard-page .stm-site-header--standalone .stm-site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	height: 100%;
	padding: 0 1.25rem;
	max-width: none;
}

body.stm-dashboard-page .stm-site-header--standalone .stm-site-header__auth {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	color: #1f473a;
	border: 1px solid #d7e5de;
	border-radius: 0.65rem;
	text-decoration: none;
	background: #f7fbf9;
}

body.stm-dashboard-page .stm-site-header--standalone .stm-site-header__auth:hover {
	background: #e8f1ec;
	border-color: #cfe0d7;
	color: #16352c;
}

body.stm-dashboard-page .stm-site-header--standalone .stm-site-header__brand {
	font-size: 0.8125rem;
	font-weight: 750;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	background: none;
	-webkit-background-clip: unset;
	background-clip: unset;
	color: #1f473a;
	text-decoration: none;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

body.stm-dashboard-page .stm-site-header--standalone .stm-site-header__brand:hover,
body.stm-dashboard-page .stm-site-header--standalone .stm-site-header__brand:focus {
	color: #16352c;
	text-decoration: none;
}

body.stm-dashboard-page #stm-dashboard-root.stm-app-shell,
body.stm-dashboard-page #stm-login-wall-root {
	width: 100% !important;
	max-width: none !important;
}

/* Login wall ? selaras palet Laporan Kas */
body.stm-dashboard-page #stm-login-wall-root.stm-login-wall,
body.stm-dashboard-page .stm-login-wall {
	--stm-login-brand: #1f473a;
	--stm-login-brand-deep: #16352c;
	--stm-login-soft: #e8f1ec;
	--stm-login-canvas: #f3f8f5;
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: calc(100vh - var(--stm-site-header-h, 3.25rem));
	min-height: calc(100dvh - var(--stm-site-header-h, 3.25rem));
	margin: 0 !important;
	padding: 1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom, 0px)) !important;
	background:
		radial-gradient(120% 80% at 50% -10%, rgba(31, 71, 58, 0.12) 0%, transparent 55%),
		linear-gradient(180deg, #f7fbf9 0%, var(--stm-login-canvas) 48%, #eef5f1 100%);
	overflow: hidden;
}

body.stm-dashboard-page .stm-login-wall__glow {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
	filter: blur(2px);
}

body.stm-dashboard-page .stm-login-wall__glow--a {
	top: -18%;
	right: -12%;
	width: 18rem;
	height: 18rem;
	background: radial-gradient(circle, rgba(124, 184, 154, 0.35) 0%, transparent 70%);
	animation: stm-admin-login-glow-a 6.5s ease-in-out infinite;
}

body.stm-dashboard-page .stm-login-wall__glow--b {
	bottom: -22%;
	left: -16%;
	width: 22rem;
	height: 22rem;
	background: radial-gradient(circle, rgba(31, 71, 58, 0.2) 0%, transparent 72%);
	animation: stm-admin-login-glow-b 8s ease-in-out infinite;
}

body.stm-dashboard-page .stm-login-wall__stage {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 24rem;
}

body.stm-dashboard-page .stm-login-wall__card {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 1.75rem 1.35rem 1.5rem;
	border: 1px solid #d7e5de;
	border-radius: 1.35rem;
	background: #ffffff;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.95) inset,
		0 22px 48px rgba(22, 53, 44, 0.14),
		0 0 28px rgba(124, 184, 154, 0.16);
	animation: stm-login-rise 0.45s ease both;
}

body.stm-dashboard-page .stm-login-wall__card::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background:
		radial-gradient(120% 80% at 100% -10%, rgba(124, 184, 154, 0.18) 0%, transparent 55%),
		radial-gradient(90% 70% at -10% 110%, rgba(31, 71, 58, 0.08) 0%, transparent 60%);
	pointer-events: none;
	z-index: 0;
}

body.stm-dashboard-page .stm-login-wall__mark {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	margin: 0 auto 0.85rem;
}

body.stm-dashboard-page .stm-login-wall__mark-glow {
	position: absolute;
	inset: -20%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(124, 184, 154, 0.5) 0%, transparent 68%);
	animation: stm-admin-login-mark-pulse 2.8s ease-in-out infinite;
	pointer-events: none;
}

body.stm-dashboard-page .stm-login-wall__mark svg {
	position: relative;
	z-index: 1;
	width: 2.75rem;
	height: 2.75rem;
	display: block;
	filter: drop-shadow(0 4px 12px rgba(31, 71, 58, 0.2));
}

@keyframes stm-login-rise {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

body.stm-dashboard-page .stm-login-wall__eyebrow {
	position: relative;
	z-index: 1;
	margin: 0 0 0.35rem;
	text-align: center;
	font-size: 0.6875rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #6b857a;
}

body.stm-dashboard-page .stm-login-wall__title {
	position: relative;
	z-index: 1;
	margin: 0 0 0.45rem;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 750;
	letter-spacing: -0.03em;
	line-height: 1.15;
	color: #1f473a;
}

body.stm-dashboard-page .stm-login-wall__desc {
	position: relative;
	z-index: 1;
	margin: 0 0 1.25rem;
	text-align: center;
	font-size: 0.875rem;
	line-height: 1.45;
	color: #6b7280;
}

body.stm-dashboard-page .stm-login-wall__form {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

body.stm-dashboard-page .stm-login-wall__field {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

body.stm-dashboard-page .stm-login-wall__label {
	margin: 0;
	padding: 0 0.1rem;
	font-size: 0.8125rem;
	font-weight: 650;
	color: #374151;
}

body.stm-dashboard-page .stm-login-wall__input.form-control {
	min-height: 3rem;
	padding: 0.75rem 0.875rem;
	border: 1px solid #d7e5de;
	border-radius: 0.8rem;
	background: #fff;
	font-size: 1rem;
	color: #111827;
	box-shadow: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.stm-dashboard-page .stm-login-wall__input.form-control:focus {
	border-color: #2f6b58;
	box-shadow:
		0 0 0 3px rgba(124, 184, 154, 0.28),
		0 0 16px rgba(124, 184, 154, 0.18);
	outline: none;
}

body.stm-dashboard-page .stm-login-wall__remember {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0.1rem 0 0;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #4b5563;
	cursor: pointer;
	user-select: none;
}

body.stm-dashboard-page .stm-login-wall__remember input {
	width: 1rem;
	height: 1rem;
	margin: 0;
	accent-color: var(--stm-login-brand);
	cursor: pointer;
}

body.stm-dashboard-page .stm-login-wall__submit {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 3rem;
	margin-top: 0.15rem;
	padding: 0.75rem 1rem;
	border: none;
	border-radius: 0.85rem;
	background-color: #1f473a;
	background-image: linear-gradient(115deg, #1f473a 0%, #2f6b58 45%, #5a9e82 100%);
	background-size: 180% 180%;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.2;
	box-shadow:
		0 8px 18px rgba(22, 53, 44, 0.2),
		0 0 22px rgba(124, 184, 154, 0.28);
	animation: stm-login-orb-shift 5s ease-in-out infinite;
	transition: filter 0.15s ease, transform 0.12s ease, box-shadow 0.15s ease;
}

body.stm-dashboard-page .stm-login-wall__submit-glow {
	position: absolute;
	inset: -40% -20%;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(255, 255, 255, 0.28) 45%,
		transparent 70%
	);
	transform: translateX(-60%);
	animation: stm-admin-login-sheen 3.6s ease-in-out infinite;
	pointer-events: none;
	z-index: 0;
}

body.stm-dashboard-page .stm-login-wall__submit-label {
	position: relative;
	z-index: 1;
}

body.stm-dashboard-page .stm-login-wall__submit:hover {
	color: #fff;
	filter: brightness(1.05);
	box-shadow:
		0 10px 22px rgba(22, 53, 44, 0.26),
		0 0 30px rgba(124, 184, 154, 0.4);
}

body.stm-dashboard-page .stm-login-wall__submit:active {
	transform: translateY(1px);
}

body.stm-dashboard-page .stm-login-wall__submit:disabled {
	opacity: 0.65;
	box-shadow: none;
	animation: none;
}

body.stm-dashboard-page .stm-login-wall__msg {
	min-height: 1.25rem;
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	color: #b91c1c;
	line-height: 1.35;
	text-align: center;
}

@media (prefers-reduced-motion: reduce) {
	body.stm-dashboard-page .stm-login-wall__card {
		animation: none;
	}

	body.stm-dashboard-page .stm-login-wall__glow,
	body.stm-dashboard-page .stm-login-wall__mark-glow,
	body.stm-dashboard-page .stm-login-wall__submit,
	body.stm-dashboard-page .stm-login-wall__submit-glow {
		animation: none !important;
	}

	#stm-dashboard-root .stm-app-header__icon-btn--login-glow,
	#stm-dashboard-root .stm-app-header__icon-btn--login-glow::before,
	#stm-dashboard-root .stm-app-header__icon-btn--lock-glow,
	#stm-dashboard-root .stm-app-header__icon-btn--lock-glow::before,
	#stm-admin-login-modal .stm-admin-login__glow,
	#stm-admin-login-modal .stm-admin-login__mark-glow,
	#stm-admin-login-modal .stm-admin-login__submit-glow {
		animation: none !important;
	}
}

/* Modal Login admin ? kartu solid (modal dipindah ke body via JS) */
body.stm-dashboard-page #stm-admin-login-modal.stm-admin-login-modal {
	--bs-modal-zindex: 100050;
	z-index: 100050 !important;
}

body.stm-dashboard-page #stm-admin-login-modal .modal-dialog {
	max-width: 22.5rem;
	margin: 1rem auto;
}

body.stm-dashboard-page #stm-admin-login-modal .stm-admin-login-modal__content {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	overflow: visible;
}

#stm-admin-login-modal .stm-admin-login {
	--stm-admin-brand: #1f473a;
	--stm-admin-brand-mid: #2f6b58;
	--stm-admin-brand-soft: #7cb89a;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 1.75rem 1.35rem 1.45rem;
	border-radius: 1.35rem;
	border: 1px solid #d7e5de;
	background: #ffffff !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.95) inset,
		0 24px 48px rgba(22, 53, 44, 0.22),
		0 0 0 1px rgba(31, 71, 58, 0.06);
	animation: stm-admin-login-rise 0.42s ease both;
}

#stm-admin-login-modal .stm-admin-login::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background:
		radial-gradient(120% 80% at 100% -10%, rgba(124, 184, 154, 0.2) 0%, transparent 55%),
		radial-gradient(90% 70% at -10% 110%, rgba(31, 71, 58, 0.08) 0%, transparent 60%);
	pointer-events: none;
	z-index: 0;
}

#stm-admin-login-modal .stm-admin-login__glow {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
	filter: blur(2px);
}

#stm-admin-login-modal .stm-admin-login__glow--a {
	top: -28%;
	right: -18%;
	width: 14rem;
	height: 14rem;
	background: radial-gradient(circle, rgba(124, 184, 154, 0.4) 0%, transparent 70%);
	animation: stm-admin-login-glow-a 6s ease-in-out infinite;
}

#stm-admin-login-modal .stm-admin-login__glow--b {
	bottom: -32%;
	left: -22%;
	width: 16rem;
	height: 16rem;
	background: radial-gradient(circle, rgba(31, 71, 58, 0.2) 0%, transparent 72%);
	animation: stm-admin-login-glow-b 7.5s ease-in-out infinite;
}

#stm-admin-login-modal .stm-admin-login__close {
	position: absolute;
	top: 0.7rem;
	right: 0.7rem;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: 1px solid #d7e5de;
	border-radius: 0.65rem;
	background: #ffffff;
	color: #6b857a;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

#stm-admin-login-modal .stm-admin-login__close:hover {
	background: #e8f1ec;
	border-color: #cfe0d7;
	color: #1f473a;
}

#stm-admin-login-modal .stm-admin-login__close svg {
	width: 1rem;
	height: 1rem;
}

#stm-admin-login-modal .stm-admin-login__mark {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	margin: 0 auto 0.85rem;
}

#stm-admin-login-modal .stm-admin-login__mark-glow {
	position: absolute;
	inset: -20%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(124, 184, 154, 0.45) 0%, transparent 68%);
	animation: stm-admin-login-mark-pulse 2.8s ease-in-out infinite;
	pointer-events: none;
}

#stm-admin-login-modal .stm-admin-login__mark svg {
	position: relative;
	z-index: 1;
	width: 2.75rem;
	height: 2.75rem;
	display: block;
	filter: drop-shadow(0 4px 12px rgba(31, 71, 58, 0.22));
}

#stm-admin-login-modal .stm-admin-login__eyebrow,
#stm-admin-login-modal .stm-admin-login__title,
#stm-admin-login-modal .stm-admin-login__desc,
#stm-admin-login-modal .stm-admin-login__form {
	position: relative;
	z-index: 1;
}

#stm-admin-login-modal .stm-admin-login__eyebrow {
	margin: 0 0 0.3rem;
	text-align: center;
	font-size: 0.6875rem;
	font-weight: 750;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #6b857a;
}

#stm-admin-login-modal .stm-admin-login__title {
	margin: 0 0 0.4rem;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 750;
	letter-spacing: -0.03em;
	line-height: 1.15;
	color: #1f473a;
}

#stm-admin-login-modal .stm-admin-login__desc {
	margin: 0 0 1.15rem;
	text-align: center;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: #6b7280;
}

#stm-admin-login-modal .stm-admin-login__form {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}

#stm-admin-login-modal .stm-admin-login__field {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

#stm-admin-login-modal .stm-admin-login__label {
	margin: 0;
	padding: 0 0.1rem;
	font-size: 0.8125rem;
	font-weight: 650;
	color: #374151;
}

#stm-admin-login-modal .stm-admin-login__input.form-control {
	min-height: 2.85rem;
	padding: 0.7rem 0.85rem;
	border: 1px solid #d7e5de;
	border-radius: 0.8rem;
	background: #ffffff;
	font-size: 0.975rem;
	color: #111827;
	box-shadow: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#stm-admin-login-modal .stm-admin-login__input.form-control:focus {
	border-color: #2f6b58;
	box-shadow:
		0 0 0 3px rgba(124, 184, 154, 0.28),
		0 0 18px rgba(124, 184, 154, 0.18);
	outline: none;
}

#stm-admin-login-modal .stm-admin-login__remember {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0.05rem 0 0;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #4b5563;
	cursor: pointer;
	user-select: none;
}

#stm-admin-login-modal .stm-admin-login__remember input {
	width: 1rem;
	height: 1rem;
	margin: 0;
	accent-color: #1f473a;
	cursor: pointer;
}

#stm-admin-login-modal .stm-admin-login__submit {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.95rem;
	margin-top: 0.1rem;
	padding: 0.75rem 1rem;
	border: none;
	border-radius: 0.85rem;
	background-color: #1f473a;
	background-image: linear-gradient(115deg, #1f473a 0%, #2f6b58 45%, #5a9e82 100%);
	background-size: 180% 180%;
	color: #fff !important;
	font-size: 0.975rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.2;
	box-shadow:
		0 8px 20px rgba(22, 53, 44, 0.22),
		0 0 22px rgba(124, 184, 154, 0.28);
	animation: stm-login-orb-shift 5s ease-in-out infinite;
	transition: transform 0.12s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

#stm-admin-login-modal .stm-admin-login__submit-glow {
	position: absolute;
	inset: -40% -20%;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(255, 255, 255, 0.28) 45%,
		transparent 70%
	);
	transform: translateX(-60%);
	animation: stm-admin-login-sheen 3.6s ease-in-out infinite;
	pointer-events: none;
	z-index: 0;
}

#stm-admin-login-modal .stm-admin-login__submit-label {
	position: relative;
	z-index: 1;
}

#stm-admin-login-modal .stm-admin-login__submit:hover {
	color: #fff !important;
	filter: brightness(1.05);
	box-shadow:
		0 10px 24px rgba(22, 53, 44, 0.28),
		0 0 32px rgba(124, 184, 154, 0.42);
}

#stm-admin-login-modal .stm-admin-login__submit:active {
	transform: translateY(1px);
}

#stm-admin-login-modal .stm-admin-login__submit:disabled {
	opacity: 0.7;
	box-shadow: none;
	animation: none;
}

#stm-admin-login-modal .stm-admin-login__msg {
	min-height: 1.2rem;
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	color: #b91c1c;
	line-height: 1.35;
	text-align: center;
}

@keyframes stm-admin-login-rise {
	from {
		opacity: 0;
		transform: translateY(12px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes stm-admin-login-glow-a {
	0%,
	100% {
		transform: translate(0, 0) scale(1);
		opacity: 0.85;
	}
	50% {
		transform: translate(-10%, 8%) scale(1.12);
		opacity: 1;
	}
}

@keyframes stm-admin-login-glow-b {
	0%,
	100% {
		transform: translate(0, 0) scale(1);
		opacity: 0.75;
	}
	50% {
		transform: translate(12%, -6%) scale(1.08);
		opacity: 1;
	}
}

@keyframes stm-admin-login-mark-pulse {
	0%,
	100% {
		transform: scale(1);
		opacity: 0.7;
	}
	50% {
		transform: scale(1.18);
		opacity: 1;
	}
}

@keyframes stm-admin-login-sheen {
	0%,
	55% {
		transform: translateX(-70%);
	}
	100% {
		transform: translateX(90%);
	}
}

/* Modal Bootstrap ? di atas shell app (z-index shell rendah). */
body.stm-dashboard-page .modal {
	--bs-modal-zindex: 100050;
	z-index: 100050 !important;
}

body.stm-dashboard-page .modal-backdrop {
	--bs-backdrop-zindex: 100040;
	z-index: 100040 !important;
}

body.stm-dashboard-page .modal-backdrop.show {
	opacity: 0.72;
	background-color: #0f1f1a;
}


/* ==========================================================================
   Mobile app chrome ? bottom nav, safe areas, sheets, cash cards
   ========================================================================== */

#stm-dashboard-root.stm-app-shell {
	--stm-bottom-nav-h: 0px;
	--stm-safe-bottom: env(safe-area-inset-bottom, 0px);
	--stm-safe-top: env(safe-area-inset-top, 0px);
}

#stm-dashboard-root .stm-bottom-nav {
	display: none;
}

#stm-dashboard-root .stm-app-header__page {
	display: none;
	flex: 1 1 auto;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	line-height: 1.15;
	padding: 0 0.35rem;
}

#stm-dashboard-root .stm-app-header__page-eyebrow {
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #6b857a;
}

#stm-dashboard-root .stm-app-header__page-title {
	font-size: 0.9375rem;
	font-weight: 750;
	letter-spacing: -0.02em;
	line-height: 1.25;
	color: #1f473a;
	white-space: normal;
	overflow: visible;
	text-overflow: unset;
	overflow-wrap: anywhere;
	word-break: break-word;
	text-shadow: 0 0 18px rgba(124, 184, 154, 0.28);
}

#stm-dashboard-root .stm-cash-fab {
	display: none;
}

@media (max-width: 991.98px) {
	#stm-dashboard-root.stm-app-shell {
		--stm-chrome-header-h: 3.5rem;
		--stm-action-dock-h: 0px;
	}

	#stm-dashboard-root[data-stm-app-module="finance"]:has(#stm-cash-fab) {
		--stm-action-dock-h: calc(4rem + var(--stm-safe-bottom));
	}

	#stm-dashboard-root .stm-app-layout {
		min-height: 100dvh;
		padding-bottom: var(--stm-action-dock-h);
	}

	#stm-dashboard-root .stm-main-shell {
		min-height: calc(100dvh - var(--stm-action-dock-h));
	}

	#stm-dashboard-root .stm-app-header {
		position: static;
		top: auto;
		z-index: auto;
		backdrop-filter: none;
		background: var(--stm-chrome-bg, #fff);
		padding-top: 0;
		height: auto;
		min-height: var(--stm-chrome-header-h);
	}

	#stm-dashboard-root .stm-app-header__inner {
		height: auto;
		min-height: var(--stm-chrome-header-h);
		align-items: center;
		padding-top: 0.45rem;
		padding-bottom: 0.45rem;
		gap: 0.55rem;
	}

	body.stm-dashboard-page.admin-bar #stm-dashboard-root .stm-app-header {
		top: auto;
	}

	#stm-dashboard-root .stm-app-header__menu {
		width: 2.75rem;
		height: 2.75rem;
		min-width: 2.75rem;
		border-radius: 0.75rem;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	#stm-dashboard-root .stm-app-header__page {
		display: flex;
		padding: 0.1rem 0.2rem 0.1rem 0;
	}

	#stm-dashboard-root .stm-app-header__page-title {
		font-size: 0.875rem;
		line-height: 1.28;
	}

	#stm-dashboard-root .stm-app-header__avatar {
		width: 2rem;
		height: 2rem;
	}

	#stm-dashboard-root .stm-app-header__icon-btn {
		width: 2.75rem;
		height: 2.75rem;
		min-width: 2.75rem;
		border-radius: 0.75rem;
	}

	#stm-dashboard-root .stm-main__body {
		padding: 0.875rem 0.875rem 1rem;
	}

	/* Bottom nav dihapus ? navigasi lewat burger/sidebar */
	#stm-dashboard-root .stm-bottom-nav {
		display: none !important;
	}

	#stm-dashboard-root .stm-sidebar-nav__link {
		min-height: 2.75rem;
		padding: 0.75rem 0.875rem !important;
		border-radius: 0.75rem;
	}

	/* Cash mobile: legacy card/table stack diganti ledger compact (lihat blok di bawah) */
	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary,
	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-table-shell,
	#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table {
		display: none !important;
		height: 0 !important;
		overflow: hidden !important;
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
	}

	/* Bottom sheet modals */
	#stm-dashboard-root .stm-modal-sheet .modal-dialog.modal-fullscreen-sm-down {
		margin: 0;
		max-width: 100%;
		height: auto;
		min-height: 0;
		align-items: flex-end;
	}

	#stm-dashboard-root .stm-modal-sheet.show .modal-dialog.modal-fullscreen-sm-down {
		transform: none;
	}

	#stm-dashboard-root .stm-modal-sheet .modal-dialog.modal-fullscreen-sm-down .modal-content {
		border-radius: 1.25rem 1.25rem 0 0;
		min-height: 70dvh;
		max-height: 92dvh;
		padding-bottom: var(--stm-safe-bottom);
	}

	#stm-dashboard-root .stm-cash-sheet--in .modal-dialog.modal-fullscreen-sm-down .modal-content,
	#stm-dashboard-root .stm-cash-sheet--out .modal-dialog.modal-fullscreen-sm-down .modal-content {
		min-height: 0;
		max-height: 92dvh;
	}

	#stm-dashboard-root #stm-cash-in-modal .modal-header,
	#stm-dashboard-root #stm-cash-out-modal .modal-header {
		padding-top: 0.85rem;
	}

	#stm-dashboard-root .stm-cash-sheet .form-control,
	#stm-dashboard-root .stm-cash-sheet .form-select {
		min-height: 3rem !important;
		font-size: 1rem !important;
	}

	#stm-dashboard-root .stm-cash-sheet .stm-cash-field__control--amount {
		min-height: 3.5rem !important;
		font-size: 1.5rem !important;
	}

	#stm-dashboard-root .stm-cash-sheet .stm-cash-sheet__btn {
		min-height: 3rem !important;
		font-size: 1rem !important;
	}

	#stm-dashboard-root .stm-cash-sheet .stm-cash-sheet__btn--ghost {
		min-height: 2.5rem !important;
	}

	#stm-dashboard-root .stm-modal-sheet .modal-header {
		position: relative;
		padding-top: 1rem;
	}

	#stm-dashboard-root .stm-modal-sheet .modal-header::before {
		content: "";
		position: absolute;
		top: 0.45rem;
		left: 50%;
		width: 2.5rem;
		height: 0.25rem;
		margin-left: -1.25rem;
		border-radius: 999px;
		background: #d1d5db;
	}

	#stm-dashboard-root .stm-modal-sheet .form-control,
	#stm-dashboard-root .stm-modal-sheet .form-select,
	#stm-dashboard-root .stm-modal-sheet .btn {
		min-height: 2.75rem;
		font-size: 1rem;
	}

	#stm-dashboard-root .stm-modal-sheet .modal-footer {
		position: sticky;
		bottom: 0;
		background: #fff;
		gap: 0.5rem;
	}

	#stm-dashboard-root .stm-modal-sheet .modal-footer .btn {
		flex: 1 1 0;
	}

	#stm-dashboard-root .stm-ui-btn,
	#stm-dashboard-root .stm-segment-btn,
	#stm-dashboard-root .stm-finance-filter-btn {
		min-height: 2.5rem;
	}

	#stm-dashboard-root .stm-finance-filter-controls {
		flex-wrap: wrap;
	}

	#stm-dashboard-root .stm-finance-filter-controls .stm-cash-date-input,
	#stm-dashboard-root .stm-finance-filter-controls .stm-finance-txn-date-input {
		min-width: 0;
		flex: 1 1 calc(50% - 1rem);
		max-width: none;
	}
}

/* ==========================================================================
   Laporan Kas ? forest green + mint (mobile + desktop filter chrome)
   ========================================================================== */

@media (max-width: 991.98px) {
	#stm-dashboard-root[data-stm-app-module="finance"] {
		--stm-cash-pad-x: 1rem;
		--stm-cash-pad-y: 0.75rem;
		--stm-cash-gap: 0.625rem;
		--stm-cash-gap-lg: 1rem;
		--stm-cash-ctrl-h: 2.25rem;
	}

	#stm-dashboard-root[data-stm-app-module="finance"] .stm-main__body {
		padding: 0 0 calc(var(--stm-action-dock-h, 0px) + 0.75rem);
		background: var(--stm-cash-canvas, #f9fafb);
	}

	#stm-dashboard-root .stm-finance-cash-scope {
		--stm-cash-brand: #1f473a;
		--stm-cash-brand-deep: #18382e;
		--stm-cash-mint: #e8f1ec;
		--stm-cash-mint-soft: #f3f8f5;
		--stm-cash-ink: #111827;
		--stm-cash-muted: #6b7280;
		--stm-cash-line: #e5e7eb;
		--stm-cash-line-strong: #d1d5db;
		--stm-cash-in: #1f473a;
		--stm-cash-in-soft: #e8f1ec;
		--stm-cash-out: #9a4a4a;
		--stm-cash-out-soft: #f6ecec;
		--stm-cash-panel: #ffffff;
		--stm-cash-radius: 0.875rem;
		--stm-cash-radius-sm: 0.625rem;
		color: var(--stm-cash-ink);
	}

	#stm-dashboard-root .stm-finance-readonly-hint {
		margin: var(--stm-cash-pad-y) var(--stm-cash-pad-x) 0;
		padding: 0.55rem 0.75rem;
		border-radius: var(--stm-cash-radius-sm);
		border: 1px solid #d7e5de;
		background: var(--stm-cash-mint);
		color: var(--stm-cash-brand);
		font-size: 0.75rem;
		line-height: 1.35;
	}

	/* ??? Balance board (compact premium) ??? */
	#stm-dashboard-root .stm-cash-m-hero {
		margin: 0;
		padding: 0.45rem var(--stm-cash-pad-x) 0;
		border: none;
		background: transparent;
	}

	#stm-dashboard-root .stm-cash-m-hero__board {
		position: relative;
		isolation: isolate;
		overflow: hidden;
		display: grid;
		gap: 0.4rem;
		padding: 0.6rem 0.7rem 0.55rem;
		border: 1px solid rgba(168, 212, 190, 0.28);
		border-radius: 0.85rem;
		background:
			radial-gradient(120% 90% at 100% 0%, rgba(168, 212, 190, 0.42) 0%, transparent 48%),
			radial-gradient(90% 80% at 0% 100%, rgba(92, 168, 130, 0.32) 0%, transparent 52%),
			linear-gradient(135deg, #1f473a 0%, #2f6b58 36%, #254f41 62%, #16352c 100%);
		background-size: 100% 100%, 100% 100%, 220% 220%;
		box-shadow:
			0 1px 0 rgba(255, 255, 255, 0.16) inset,
			0 0 0 1px rgba(124, 184, 154, 0.18),
			0 8px 20px rgba(22, 53, 44, 0.22),
			0 0 28px rgba(124, 184, 154, 0.42),
			0 0 48px rgba(168, 212, 190, 0.22);
		color: #fff;
		animation: stm-login-orb-shift 8s ease-in-out infinite;
	}

	#stm-dashboard-root .stm-cash-m-hero__glow {
		position: absolute;
		border-radius: 50%;
		pointer-events: none;
		z-index: 0;
		filter: blur(2px);
	}

	#stm-dashboard-root .stm-cash-m-hero__glow--a {
		inset: -55% -22% auto auto;
		width: 11rem;
		height: 11rem;
		background: radial-gradient(
			circle,
			rgba(210, 236, 220, 0.72) 0%,
			rgba(124, 184, 154, 0.45) 38%,
			rgba(232, 241, 236, 0) 72%
		);
		animation: stm-cash-hero-breathe 5.5s ease-in-out infinite;
	}

	#stm-dashboard-root .stm-cash-m-hero__glow--b {
		inset: auto auto -55% -28%;
		width: 12rem;
		height: 12rem;
		background: radial-gradient(
			circle,
			rgba(124, 184, 154, 0.55) 0%,
			rgba(74, 140, 110, 0.3) 42%,
			transparent 72%
		);
		animation: stm-admin-login-glow-b 7s ease-in-out infinite;
	}

	#stm-dashboard-root .stm-cash-m-hero__pattern {
		position: absolute;
		inset: 0;
		z-index: 0;
		pointer-events: none;
		opacity: 0.12;
		background-image:
			linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
			linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
		background-size: 16px 16px;
		mask-image: linear-gradient(135deg, #000 0%, transparent 72%);
	}

	#stm-dashboard-root .stm-cash-m-hero__saldo,
	#stm-dashboard-root .stm-cash-m-hero__split {
		position: relative;
		z-index: 1;
	}

	#stm-dashboard-root .stm-cash-m-hero__saldo {
		min-width: 0;
		animation: stm-cash-hero-rise 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
	}

	#stm-dashboard-root .stm-cash-m-hero__saldo-top {
		display: flex;
		align-items: center;
		gap: 0.4rem;
		margin: 0;
		min-width: 0;
	}

	#stm-dashboard-root .stm-cash-m-hero__mark {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 1.4rem;
		height: 1.4rem;
		border-radius: 0.4rem;
		color: #e8f1ec;
		background: rgba(255, 255, 255, 0.12);
		border: 1px solid rgba(255, 255, 255, 0.16);
		box-shadow:
			0 1px 0 rgba(255, 255, 255, 0.1) inset,
			0 0 8px rgba(168, 212, 190, 0.28);
	}

	#stm-dashboard-root .stm-cash-m-hero__mark svg {
		width: 0.78rem;
		height: 0.78rem;
		display: block;
	}

	#stm-dashboard-root .stm-cash-m-hero__label {
		display: block;
		margin: 0;
		flex: 0 1 auto;
		min-width: 0;
		font-size: 0.5625rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		color: rgba(232, 241, 236, 0.7);
		white-space: nowrap;
	}

	#stm-dashboard-root .stm-cash-m-hero__value {
		display: block;
		margin: 0 0 0 auto;
		padding: 0;
		min-width: 0;
		font-size: clamp(1.05rem, 4.6vw, 1.25rem);
		font-weight: 750;
		letter-spacing: -0.04em;
		line-height: 1.05;
		font-variant-numeric: tabular-nums;
		color: #fff;
		text-align: right;
		text-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	#stm-dashboard-root .stm-cash-m-hero__value.stm-cash-summary__value--pos,
	#stm-dashboard-root .stm-cash-m-hero__value.stm-cash-summary__value--neg {
		color: #fff;
	}

	#stm-dashboard-root .stm-cash-m-hero__split {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0.35rem;
		margin: 0;
		padding: 0.4rem 0 0;
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		animation: stm-cash-hero-rise 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.06s both;
	}

	#stm-dashboard-root .stm-cash-m-hero__chip {
		display: flex;
		align-items: center;
		gap: 0.35rem;
		min-width: 0;
		padding: 0.32rem 0.4rem;
		border: 1px solid rgba(255, 255, 255, 0.1);
		border-radius: 0.55rem;
		background: rgba(255, 255, 255, 0.07);
		backdrop-filter: blur(6px);
		-webkit-backdrop-filter: blur(6px);
		transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
	}

	#stm-dashboard-root .stm-cash-m-hero__chip:active {
		transform: scale(0.985);
	}

	#stm-dashboard-root .stm-cash-m-hero__chip-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 1.25rem;
		height: 1.25rem;
		border-radius: 0.35rem;
		border: 1px solid transparent;
	}

	#stm-dashboard-root .stm-cash-m-hero__chip-icon svg {
		width: 0.72rem;
		height: 0.72rem;
		display: block;
	}

	#stm-dashboard-root .stm-cash-m-hero__chip-dot {
		display: none;
	}

	#stm-dashboard-root .stm-cash-m-hero__chip--in {
		color: #d5ebe0;
	}

	#stm-dashboard-root .stm-cash-m-hero__chip--in .stm-cash-m-hero__chip-icon {
		color: #1f473a;
		background: linear-gradient(160deg, #f3f8f5 0%, #cfe3d7 100%);
		border-color: rgba(255, 255, 255, 0.3);
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	}

	#stm-dashboard-root .stm-cash-m-hero__chip--out {
		color: #f0d7d4;
	}

	#stm-dashboard-root .stm-cash-m-hero__chip--out .stm-cash-m-hero__chip-icon {
		color: #7a3838;
		background: linear-gradient(160deg, #fff7f6 0%, #efd2ce 100%);
		border-color: rgba(255, 255, 255, 0.3);
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	}

	#stm-dashboard-root .stm-cash-m-hero__chip-meta {
		min-width: 0;
		display: flex;
		flex-direction: column;
		gap: 0.05rem;
	}

	#stm-dashboard-root .stm-cash-m-hero__chip-meta > span {
		display: block;
		font-size: 0.5rem;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: rgba(255, 255, 255, 0.55);
		line-height: 1.15;
	}

	#stm-dashboard-root .stm-cash-m-hero__chip-meta > strong {
		display: block;
		font-size: 0.75rem;
		font-weight: 700;
		font-variant-numeric: tabular-nums;
		letter-spacing: -0.02em;
		line-height: 1.15;
		color: #fff;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	@keyframes stm-cash-hero-rise {
		from {
			opacity: 0;
			transform: translateY(0.25rem);
		}
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@keyframes stm-cash-hero-breathe {
		0%,
		100% {
			transform: translate(0, 0) scale(1);
			opacity: 0.85;
		}
		50% {
			transform: translate(-0.3rem, 0.35rem) scale(1.12);
			opacity: 1;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		#stm-dashboard-root .stm-cash-m-hero__saldo,
		#stm-dashboard-root .stm-cash-m-hero__split,
		#stm-dashboard-root .stm-cash-m-hero__board,
		#stm-dashboard-root .stm-cash-m-hero__glow,
		#stm-dashboard-root .stm-cash-m-hero__glow--a,
		#stm-dashboard-root .stm-cash-m-hero__glow--b {
			animation: none;
		}
	}

	/* ??? History panel (compact) ??? */
	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-history {
		margin: 0;
		padding: 0.55rem var(--stm-cash-pad-x) 0;
	}

	#stm-dashboard-root .stm-cash-m-panel {
		margin: 0;
		padding: 0;
		background: transparent;
		border: none;
		border-radius: 0;
		box-shadow: none;
		overflow: visible;
	}

	#stm-dashboard-root .stm-cash-m-toolbar {
		display: flex;
		flex-direction: column;
		gap: 0.45rem;
		margin: 0 0 0.5rem;
		padding: 0;
		border: none;
	}

	#stm-dashboard-root .stm-cash-m-toolbar__top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		min-height: 1.5rem;
	}

	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-history__title {
		display: inline-flex;
		align-items: center;
		gap: 0.4rem;
		margin: 0;
		font-size: 0.8125rem;
		font-weight: 750;
		letter-spacing: -0.02em;
		text-transform: none;
		color: var(--stm-cash-ink, #111827);
		line-height: 1.1;
	}

	#stm-dashboard-root .stm-cash-history__title-ico {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 1.45rem;
		height: 1.45rem;
		border-radius: 0.4rem;
		color: #1f473a;
		background: linear-gradient(160deg, #f3f8f5 0%, #cfe3d7 100%);
		border: 1px solid rgba(31, 71, 58, 0.1);
	}

	#stm-dashboard-root .stm-cash-history__title-ico svg {
		width: 0.8rem;
		height: 0.8rem;
		display: block;
	}

	#stm-dashboard-root .stm-cash-m-sort {
		display: inline-flex;
		align-items: center;
		gap: 0.28rem;
		height: 1.6rem;
		margin: 0;
		padding: 0 0.5rem 0 0.4rem;
		border: none;
		border-radius: 0.45rem;
		background: transparent;
		color: var(--stm-cash-brand);
		font-size: 0.6875rem;
		font-weight: 650;
		line-height: 1;
		-webkit-tap-highlight-color: transparent;
	}

	#stm-dashboard-root .stm-cash-m-sort svg {
		width: 0.8rem;
		height: 0.8rem;
		opacity: 0.8;
		flex-shrink: 0;
	}

	#stm-dashboard-root .stm-cash-m-sort__label {
		max-width: 5.5rem;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		text-decoration: none;
	}

	#stm-dashboard-root .stm-cash-m-toolbar__filters {
		display: flex;
		flex-direction: column;
		gap: 0.4rem;
	}

	/* Segmented filter ? borderless */
	#stm-dashboard-root .stm-cash-m-chips {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0.15rem;
		height: auto;
		margin: 0;
		padding: 0.15rem;
		border: none;
		border-radius: 0.55rem;
		background: var(--stm-cash-mint);
		overflow: hidden;
	}

	#stm-dashboard-root .stm-cash-m-chips::-webkit-scrollbar {
		display: none;
	}

	#stm-dashboard-root .stm-cash-m-chip {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		height: 1.7rem;
		min-height: 1.7rem;
		margin: 0;
		padding: 0 0.3rem;
		border: none;
		border-radius: 0.4rem;
		background: transparent;
		color: var(--stm-cash-muted);
		font-size: 0.6875rem;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.01em;
		white-space: nowrap;
		box-shadow: none;
		-webkit-tap-highlight-color: transparent;
		transition: background 0.15s ease, color 0.15s ease;
	}

	#stm-dashboard-root .stm-cash-m-chip.active,
	#stm-dashboard-root .stm-cash-m-chip.stm-finance-date-preset.active {
		background: var(--stm-cash-brand);
		color: #fff;
		box-shadow: none;
	}

	/* Compact date range */
	#stm-dashboard-root .stm-cash-m-range {
		display: flex;
		align-items: center;
		gap: 0.3rem;
		height: auto;
		min-height: 1.9rem;
		margin: 0;
		padding: 0.1rem 0.15rem 0.1rem 0.3rem;
		border: none;
		border-radius: 0.55rem;
		background: var(--stm-cash-mint-soft, #f3f8f5);
		box-sizing: border-box;
	}

	#stm-dashboard-root .stm-cash-m-range__ico {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 1rem;
		height: 1rem;
		color: var(--stm-cash-brand, #1f473a);
		opacity: 0.7;
	}

	#stm-dashboard-root .stm-cash-m-range__ico svg {
		width: 0.85rem;
		height: 0.85rem;
		display: block;
	}

	#stm-dashboard-root .stm-cash-m-range .form-control {
		flex: 1 1 0;
		min-width: 0;
		height: 1.7rem;
		min-height: 1.7rem;
		margin: 0;
		padding: 0 0.15rem;
		font-size: 0.6875rem;
		font-weight: 600;
		line-height: 1;
		border: none;
		border-radius: 0.35rem;
		background: transparent;
		color: var(--stm-cash-ink, #111827);
		box-shadow: none;
		color-scheme: light;
	}

	#stm-dashboard-root .stm-cash-m-range .form-control:focus {
		background: rgba(255, 255, 255, 0.75);
		box-shadow: none;
		outline: none;
	}

	#stm-dashboard-root .stm-cash-m-range__sep {
		flex: 0 0 auto;
		width: 0.28rem;
		height: 0.28rem;
		margin: 0;
		padding: 0;
		border-radius: 50%;
		background: #c5d5cc;
		color: transparent;
		font-size: 0;
		line-height: 0;
		opacity: 1;
	}

	#stm-dashboard-root .stm-cash-m-range .stm-finance-filter-sep {
		display: none;
	}

	#stm-dashboard-root .stm-cash-m-range__apply {
		display: none !important;
	}

	/* Ledger sheet ? denser rows */
	#stm-dashboard-root .stm-cash-m-sheet {
		box-sizing: border-box;
		display: block;
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		border: none;
		border-radius: 0;
		background: transparent;
	}

	#stm-dashboard-root .stm-cash-m-table {
		width: 100%;
		min-width: 0;
		margin: 0;
		border-collapse: collapse;
		table-layout: fixed;
		font-size: 0.6875rem;
		color: var(--stm-cash-ink);
	}

	#stm-dashboard-root .stm-cash-m-table thead th {
		position: sticky;
		top: 0;
		z-index: 1;
		padding: 0.35rem 0.3rem;
		border-bottom: 1px solid #e5ebe7;
		background: #f3f8f5;
		color: var(--stm-cash-brand);
		font-size: 0.5rem;
		font-weight: 750;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		white-space: nowrap;
		line-height: 1.15;
		vertical-align: middle;
	}

	#stm-dashboard-root .stm-cash-m-table tbody td {
		padding: 0.4rem 0.3rem;
		border-bottom: 1px solid #f0f3f1;
		vertical-align: middle;
		line-height: 1.25;
		background: transparent;
	}

	#stm-dashboard-root .stm-cash-m-table tbody tr:nth-child(even) td {
		background: rgba(243, 248, 245, 0.55);
	}

	#stm-dashboard-root .stm-cash-m-table tbody tr:last-child td {
		border-bottom: none;
	}

	#stm-dashboard-root .stm-cash-m-table__date {
		width: 2.85rem;
		white-space: nowrap;
		color: var(--stm-cash-muted);
		font-variant-numeric: tabular-nums;
		font-size: 0.625rem;
	}

	#stm-dashboard-root .stm-cash-m-table__desc,
	#stm-dashboard-root .stm-cash-m-table thead th.stm-cash-m-table__desc {
		width: auto;
		min-width: 0;
		font-weight: 650;
		font-size: 0.75rem;
		line-height: 1.3;
		color: var(--stm-cash-ink);
		white-space: normal;
		word-break: break-word;
	}

	#stm-dashboard-root .stm-cash-m-table__desc-text {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		line-clamp: 2;
		overflow: hidden;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	#stm-dashboard-root .stm-cash-m-table thead th.stm-cash-m-table__desc {
		font-size: 0.5rem;
		font-weight: 750;
		color: var(--stm-cash-brand);
		white-space: nowrap;
	}

	#stm-dashboard-root .stm-cash-m-table__num,
	#stm-dashboard-root .stm-cash-m-table thead th.stm-cash-m-table__num {
		width: 4.6rem;
		text-align: right;
		font-variant-numeric: tabular-nums;
		font-feature-settings: 'tnum' 1;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	#stm-dashboard-root .stm-cash-m-table__amt,
	#stm-dashboard-root .stm-cash-m-table thead th.stm-cash-m-table__amt {
		width: 5.1rem;
		font-weight: 700;
		letter-spacing: -0.02em;
	}

	#stm-dashboard-root .stm-cash-m-table__amt--in {
		color: #15803d;
	}

	#stm-dashboard-root .stm-cash-m-table__amt--out {
		color: #c0392b;
	}

	#stm-dashboard-root .stm-cash-m-table__debit {
		color: #15803d;
		font-weight: 650;
	}

	#stm-dashboard-root .stm-cash-m-table__credit {
		color: #c0392b;
		font-weight: 650;
	}

	#stm-dashboard-root .stm-cash-m-table__bal {
		width: 4.4rem;
		color: var(--stm-cash-brand);
		font-weight: 700;
		font-size: 0.625rem;
	}

	#stm-dashboard-root .stm-cash-m-table__bal--neg {
		color: #be123c;
	}

	#stm-dashboard-root .stm-cash-m-table__act {
		width: 2rem;
		padding-left: 0.15rem !important;
		padding-right: 0.15rem !important;
		text-align: center;
		vertical-align: middle;
	}

	#stm-dashboard-root .stm-cash-m-table__check,
	#stm-dashboard-root .stm-cash-check-cell {
		width: 1.75rem;
		padding-left: 0.25rem !important;
		padding-right: 0.1rem !important;
		text-align: center;
		vertical-align: middle;
	}

	#stm-dashboard-root .stm-cash-check {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin: 0;
		cursor: pointer;
	}

	#stm-dashboard-root .stm-cash-row-check {
		width: 1rem;
		height: 1rem;
		margin: 0;
		accent-color: #1f473a;
		cursor: pointer;
	}

	#stm-dashboard-root .stm-cash-bulk {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 0.4rem 0.55rem;
		margin: 0;
		padding: 0.4rem 0.5rem;
		border: none;
		border-radius: 0.5rem;
		background: var(--stm-cash-mint, #e8f1ec);
	}

	#stm-dashboard-root .stm-cash-bulk[hidden] {
		display: none !important;
	}

	#stm-dashboard-root .stm-cash-bulk__all {
		display: inline-flex;
		align-items: center;
		gap: 0.4rem;
		margin: 0;
		font-size: 0.75rem;
		font-weight: 650;
		color: #1f473a;
		cursor: pointer;
	}

	#stm-dashboard-root .stm-cash-bulk__all input {
		width: 1rem;
		height: 1rem;
		margin: 0;
		accent-color: #1f473a;
	}

	#stm-dashboard-root .stm-cash-bulk__count {
		font-size: 0.75rem;
		font-weight: 650;
		color: #6b7280;
		margin-right: auto;
	}

	#stm-dashboard-root .stm-cash-bulk__delete {
		border: none;
		border-radius: 0.45rem;
		background: #9a4a4a;
		color: #fff;
		font-size: 0.75rem;
		font-weight: 700;
		padding: 0.4rem 0.75rem;
		line-height: 1.2;
	}

	#stm-dashboard-root .stm-cash-bulk__delete:disabled {
		opacity: 0.45;
		cursor: not-allowed;
	}

	#stm-dashboard-root .stm-cash-bulk__restore {
		border: none;
		border-radius: 0.45rem;
		background: #1f473a;
		color: #fff;
		font-size: 0.75rem;
		font-weight: 700;
		padding: 0.4rem 0.75rem;
		line-height: 1.2;
	}

	#stm-dashboard-root .stm-cash-bulk__restore:disabled {
		opacity: 0.45;
		cursor: not-allowed;
	}

	#stm-dashboard-root .stm-cash-m-del {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 1.75rem;
		height: 1.75rem;
		margin: 0;
		padding: 0;
		border: none;
		border-radius: 0.4rem;
		background: transparent;
		color: #9a4a4a;
		-webkit-tap-highlight-color: transparent;
	}

	#stm-dashboard-root .stm-cash-m-del:active {
		background: #f6ecec;
	}

	#stm-dashboard-root .stm-cash-m-restore {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 1.75rem;
		height: 1.75rem;
		margin: 0;
		padding: 0;
		border: none;
		border-radius: 0.4rem;
		background: transparent;
		color: #1f473a;
		-webkit-tap-highlight-color: transparent;
	}

	#stm-dashboard-root .stm-cash-m-restore:active {
		background: #e8f1ec;
	}

	#stm-dashboard-root .stm-cash-m-table--with-act .stm-cash-m-table__amt,
	#stm-dashboard-root .stm-cash-m-table--with-act thead th.stm-cash-m-table__amt {
		width: 4.85rem;
	}

	#stm-dashboard-root .stm-cash-m-table--with-act .stm-cash-m-table__bal {
		width: 4.1rem;
	}

	#stm-dashboard-root .stm-cash-m-empty {
		margin: 0;
		padding: 2rem 0.75rem;
		text-align: center;
		font-size: 0.8125rem;
		font-weight: 500;
		color: var(--stm-cash-muted);
		background: #fff !important;
		border: none;
	}

	#stm-dashboard-root .stm-cash-m-list,
	#stm-dashboard-root .stm-cash-m-item {
		display: none;
	}

	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-table-shell,
	#stm-dashboard-root .stm-finance-cash-scope #stm-cash-recent-table,
	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary {
		display: none !important;
		height: 0 !important;
		overflow: hidden !important;
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
	}

	/* Bottom action dock */
	#stm-dashboard-root .stm-cash-fab {
		display: flex !important;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1040;
		gap: 0.6rem;
		margin: 0;
		padding: 0.7rem var(--stm-cash-pad-x, 1rem) calc(0.7rem + var(--stm-safe-bottom, 0px));
		pointer-events: none;
		background:
			linear-gradient(180deg, rgba(249, 250, 251, 0.72) 0%, rgba(255, 255, 255, 0.94) 38%);
		backdrop-filter: saturate(1.2) blur(14px);
		-webkit-backdrop-filter: saturate(1.2) blur(14px);
		border-top: 1px solid rgba(31, 71, 58, 0.08);
		box-shadow: 0 -8px 24px rgba(22, 53, 44, 0.06);
		box-sizing: border-box;
	}

	#stm-dashboard-root .stm-cash-fab__btn {
		pointer-events: auto;
		flex: 1 1 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.55rem;
		min-height: 2.85rem;
		margin: 0;
		padding: 0.55rem 0.85rem;
		border: 1px solid transparent;
		border-radius: 0.9rem;
		font-size: 0.875rem;
		font-weight: 700;
		letter-spacing: 0.01em;
		line-height: 1.2;
		box-shadow: none;
		-webkit-appearance: none;
		appearance: none;
		-webkit-tap-highlight-color: transparent;
		transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease;
	}

	#stm-dashboard-root .stm-cash-fab__btn:active {
		transform: scale(0.985);
	}

	#stm-dashboard-root .stm-cash-fab__icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 1.7rem;
		height: 1.7rem;
		border-radius: 0.5rem;
		border: 1px solid transparent;
	}

	#stm-dashboard-root .stm-cash-fab__icon svg {
		width: 0.9rem;
		height: 0.9rem;
		display: block;
	}

	#stm-dashboard-root .stm-cash-fab__label {
		display: inline-block;
		line-height: 1.1;
		font-size: 0.8125rem;
		letter-spacing: 0.01em;
	}

	#stm-dashboard-root .stm-cash-fab__btn--in {
		color: #ffffff !important;
		background:
			linear-gradient(135deg, #1f473a 0%, #2f6b58 42%, #5a9e82 100%) !important;
		background-size: 200% 200% !important;
		border-color: rgba(255, 255, 255, 0.12) !important;
		box-shadow:
			0 1px 0 rgba(255, 255, 255, 0.14) inset,
			0 8px 18px rgba(22, 53, 44, 0.24),
			0 0 18px rgba(124, 184, 154, 0.28);
		animation: stm-login-orb-shift 5.5s ease-in-out infinite;
	}

	#stm-dashboard-root .stm-cash-fab__btn--in .stm-cash-fab__icon {
		color: #1f473a;
		background: linear-gradient(160deg, #f3f8f5 0%, #cfe3d7 100%);
		border-color: rgba(255, 255, 255, 0.4);
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
	}

	#stm-dashboard-root .stm-cash-fab__btn--in:active {
		box-shadow:
			0 1px 0 rgba(255, 255, 255, 0.1) inset,
			0 4px 10px rgba(22, 53, 44, 0.18);
	}

	#stm-dashboard-root .stm-cash-fab__btn--out {
		color: #1f473a !important;
		background:
			linear-gradient(160deg, #ffffff 0%, #e8f1ec 100%) !important;
		border-color: #d7e5de !important;
		box-shadow:
			0 1px 0 rgba(255, 255, 255, 0.9) inset,
			0 6px 14px rgba(22, 53, 44, 0.06);
	}

	#stm-dashboard-root .stm-cash-fab__btn--out .stm-cash-fab__icon {
		color: #7a3838;
		background: linear-gradient(160deg, #fff7f6 0%, #efd2ce 100%);
		border-color: rgba(154, 74, 74, 0.12);
		box-shadow: 0 2px 6px rgba(122, 56, 56, 0.08);
	}

	#stm-dashboard-root .stm-cash-fab__btn--out:active {
		box-shadow:
			0 1px 0 rgba(255, 255, 255, 0.85) inset,
			0 3px 8px rgba(22, 53, 44, 0.05);
	}

	#stm-dashboard-root .stm-modal-sheet .modal-content {
		border-radius: 1rem 1rem 0 0 !important;
	}
}

@media (min-width: 992px) {
	#stm-dashboard-root .stm-cash-m-hero,
	#stm-dashboard-root .stm-cash-m-sheet,
	#stm-dashboard-root .stm-cash-m-list,
	#stm-dashboard-root .stm-cash-fab {
		display: none !important;
	}

	#stm-dashboard-root .stm-cash-m-panel {
		--stm-cash-ctrl-h: 2.125rem;
		background: transparent;
		border: none;
		box-shadow: none;
		overflow: visible;
		padding: 0;
	}

	#stm-dashboard-root .stm-cash-m-toolbar {
		display: flex;
		flex-direction: column;
		gap: 0.75rem;
		margin: 0 0 0.85rem;
		padding: 0;
	}

	#stm-dashboard-root .stm-cash-history__title-ico {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 1.5rem;
		height: 1.5rem;
		border-radius: 0.45rem;
		color: #1f473a;
		background: linear-gradient(160deg, #f3f8f5 0%, #cfe3d7 100%);
		border: 1px solid rgba(31, 71, 58, 0.1);
	}

	#stm-dashboard-root .stm-cash-history__title-ico svg {
		width: 0.85rem;
		height: 0.85rem;
		display: block;
	}

	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-history__title {
		display: inline-flex;
		align-items: center;
		gap: 0.45rem;
		font-size: 0.9375rem;
		font-weight: 750;
		letter-spacing: -0.02em;
		text-transform: none;
		color: #111827;
	}

	#stm-dashboard-root .stm-cash-m-toolbar__top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.75rem;
	}

	#stm-dashboard-root .stm-cash-m-toolbar__filters {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 0.65rem 1rem;
	}

	#stm-dashboard-root .stm-cash-m-sort {
		display: inline-flex;
		align-items: center;
		gap: 0.35rem;
		height: 2rem;
		padding: 0 0.7rem;
		border: 1px solid #e5e7eb;
		border-radius: 999px;
		background: #f3f8f5;
		color: #1f473a;
		font-size: 0.75rem;
		font-weight: 650;
	}

	#stm-dashboard-root .stm-cash-m-sort__label {
		text-decoration: none;
	}

	#stm-dashboard-root .stm-cash-m-chips {
		display: inline-flex;
		align-items: center;
		gap: 0.25rem;
		height: auto;
		margin: 0;
		padding: 0.2rem;
		background: #e8f1ec;
		border: 1px solid #e5e7eb;
		border-radius: 0.55rem;
	}

	#stm-dashboard-root .stm-cash-m-chip {
		flex: 0 0 auto;
		height: 1.85rem;
		min-height: 1.85rem;
		padding: 0 0.8rem;
		border: none;
		border-radius: 0.4rem;
		background: transparent;
		font-size: 0.6875rem;
		font-weight: 700;
		color: #6b7280;
	}

	#stm-dashboard-root .stm-cash-m-chip.active {
		background: #1f473a;
		border-color: #1f473a;
		color: #fff;
		box-shadow: none;
	}

	#stm-dashboard-root .stm-cash-m-range {
		display: flex;
		align-items: center;
		gap: 0.4rem;
		height: auto;
		min-height: 2.125rem;
		margin: 0;
		padding: 0.15rem 0.25rem 0.15rem 0.4rem;
		max-width: 26rem;
		background: #f3f8f5;
		border: none;
		border-radius: 0.7rem;
	}

	#stm-dashboard-root .stm-cash-m-range__ico {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 1.15rem;
		height: 1.15rem;
		color: #1f473a;
		opacity: 0.75;
	}

	#stm-dashboard-root .stm-cash-m-range__ico svg {
		width: 0.95rem;
		height: 0.95rem;
		display: block;
	}

	#stm-dashboard-root .stm-cash-m-range .form-control {
		flex: 1 1 0;
		height: 1.85rem;
		min-height: 1.85rem;
		background: transparent;
		border: none;
		border-radius: 0.45rem;
		padding: 0 0.25rem;
		font-size: 0.8125rem;
		font-weight: 600;
		box-shadow: none;
	}

	#stm-dashboard-root .stm-cash-m-range .form-control:focus {
		background: rgba(255, 255, 255, 0.75);
		outline: none;
		box-shadow: none;
	}

	#stm-dashboard-root .stm-cash-m-range__sep {
		width: 0.35rem;
		height: 0.35rem;
		border-radius: 50%;
		background: #c5d5cc;
		color: transparent;
		font-size: 0;
	}

	#stm-dashboard-root .stm-cash-m-range__apply {
		display: none !important;
	}

	#stm-dashboard-root .stm-cash-summary.d-lg-grid {
		display: grid !important;
	}
}

/* Sort modal ? shared (mobile sheet + desktop centered) */
#stm-dashboard-root .stm-cash-sort-hint {
	margin: 0;
	font-size: 0.6875rem;
	font-weight: 650;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #8b95a5;
}

#stm-dashboard-root .stm-cash-sort-options {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

#stm-dashboard-root .stm-cash-sort-option {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
	text-align: left;
	padding: 0.85rem 0.9rem;
	border: 1px solid #e8ecf1;
	border-radius: 0.85rem;
	background: #fff;
	color: #0b1220;
	-webkit-tap-highlight-color: transparent;
}

#stm-dashboard-root .stm-cash-sort-option.is-active {
	border-color: #1f473a;
	background: #e8f1ec;
	box-shadow: inset 0 0 0 1px #1f473a;
}

#stm-dashboard-root .stm-cash-sort-option__title {
	display: block;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.2;
}

#stm-dashboard-root .stm-cash-sort-option__desc {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.75rem;
	font-weight: 500;
	color: #8b95a5;
	line-height: 1.3;
}

#stm-dashboard-root .stm-cash-sort-option__check {
	flex: 0 0 auto;
	width: 1.15rem;
	height: 1.15rem;
	border-radius: 50%;
	border: 1.5px solid #c9d0da;
	background: #fff;
	position: relative;
}

#stm-dashboard-root .stm-cash-sort-option.is-active .stm-cash-sort-option__check {
	border-color: #1f473a;
	background: #1f473a;
}

#stm-dashboard-root .stm-cash-sort-option.is-active .stm-cash-sort-option__check::after {
	content: '';
	position: absolute;
	inset: 0.28rem;
	border-radius: 50%;
	background: #fff;
}

#stm-dashboard-root .stm-cash-view-prefs {
	margin-top: 0.25rem;
}

#stm-dashboard-root .stm-cash-view-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem;
	width: 100%;
	margin: 0;
	padding: 0.85rem 0.9rem;
	border: 1px solid #e8ecf1;
	border-radius: 0.85rem;
	background: #fff;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

#stm-dashboard-root .stm-cash-view-toggle__text {
	min-width: 0;
	flex: 1 1 auto;
}

#stm-dashboard-root .stm-cash-view-toggle__title {
	display: block;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.2;
	color: #0b1220;
}

#stm-dashboard-root .stm-cash-view-toggle__desc {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.75rem;
	font-weight: 500;
	color: #8b95a5;
	line-height: 1.3;
}

#stm-dashboard-root .stm-cash-view-toggle__input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}

#stm-dashboard-root .stm-cash-view-toggle__track {
	position: relative;
	flex: 0 0 auto;
	width: 2.75rem;
	height: 1.55rem;
	border-radius: 999px;
	background: #d1d5db;
	transition: background 0.18s ease;
}

#stm-dashboard-root .stm-cash-view-toggle__track::after {
	content: '';
	position: absolute;
	top: 0.15rem;
	left: 0.15rem;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.2);
	transition: transform 0.18s ease;
}

#stm-dashboard-root .stm-cash-view-toggle__input:checked + .stm-cash-view-toggle__track {
	background: #1f473a;
}

#stm-dashboard-root .stm-cash-view-toggle__input:checked + .stm-cash-view-toggle__track::after {
	transform: translateX(1.2rem);
}

#stm-dashboard-root .stm-cash-view-toggle__input:focus-visible + .stm-cash-view-toggle__track {
	outline: 2px solid rgba(31, 71, 58, 0.35);
	outline-offset: 2px;
}

#stm-dashboard-root .stm-cash-history--hide-del .stm-cash-del-col,
#stm-dashboard-root .stm-cash-history--hide-del .stm-cash-m-table__check,
#stm-dashboard-root .stm-cash-history--hide-del .stm-cash-m-table__act,
#stm-dashboard-root .stm-cash-history--hide-del .stm-cash-col-check,
#stm-dashboard-root .stm-cash-history--hide-del .stm-cash-col-act,
#stm-dashboard-root .stm-cash-history--hide-del .stm-cash-bulk {
	display: none !important;
}

/* ==========================================================================
   Trash ? soft-deleted transactions (UI selaras Laporan Kas)
   ========================================================================== */

#stm-dashboard-root[data-stm-app-module="trash"] .stm-main__body {
	padding: 1rem 1.25rem 1.5rem;
	background: var(--stm-cash-canvas, #f9fafb);
}

#stm-dashboard-root.stm-app-shell .stm-panel--trash.stm-panel-content {
	padding: 0;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-restore-btn {
	border: none;
	border-radius: 0.45rem;
	background: #e8f1ec;
	color: #1f473a;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.35rem 0.7rem;
	line-height: 1.2;
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-restore-btn:hover {
	background: #1f473a;
	color: #fff;
}

/* Laporan keuangan publik */
#stm-dashboard-root.stm-app-shell--public .stm-app-layout--public {
	grid-template-columns: 1fr;
}

#stm-dashboard-root.stm-app-shell--public .stm-app-header__page {
	display: flex;
}

#stm-dashboard-root.stm-app-shell--public {
	background:
		radial-gradient(120% 70% at 50% -15%, rgba(124, 184, 154, 0.16) 0%, transparent 55%),
		radial-gradient(80% 50% at 100% 30%, rgba(31, 71, 58, 0.06) 0%, transparent 50%),
		linear-gradient(180deg, #f7fbf9 0%, #ffffff 42%, #f3f8f5 100%);
}

#stm-dashboard-root .stm-public-pin {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: calc(100dvh - var(--stm-chrome-header-h, 3.5rem));
	padding: 1.5rem 1rem;
}

#stm-dashboard-root .stm-public-pin__card {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: 100%;
	max-width: 22.5rem;
	padding: 1.75rem 1.35rem 1.45rem;
	border: 1px solid #d7e5de;
	border-radius: 1.35rem;
	background: #ffffff;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.95) inset,
		0 22px 48px rgba(22, 53, 44, 0.14),
		0 0 28px rgba(124, 184, 154, 0.18);
	animation: stm-admin-login-rise 0.42s ease both;
}

#stm-dashboard-root .stm-public-pin__glow {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
	filter: blur(2px);
}

#stm-dashboard-root .stm-public-pin__glow--a {
	top: -28%;
	right: -18%;
	width: 14rem;
	height: 14rem;
	background: radial-gradient(circle, rgba(124, 184, 154, 0.42) 0%, transparent 70%);
	animation: stm-admin-login-glow-a 6s ease-in-out infinite;
}

#stm-dashboard-root .stm-public-pin__glow--b {
	bottom: -32%;
	left: -22%;
	width: 16rem;
	height: 16rem;
	background: radial-gradient(circle, rgba(31, 71, 58, 0.2) 0%, transparent 72%);
	animation: stm-admin-login-glow-b 7.5s ease-in-out infinite;
}

#stm-dashboard-root .stm-public-pin__mark {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	margin: 0 auto 0.85rem;
}

#stm-dashboard-root .stm-public-pin__mark-glow {
	position: absolute;
	inset: -20%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(124, 184, 154, 0.5) 0%, transparent 68%);
	animation: stm-admin-login-mark-pulse 2.8s ease-in-out infinite;
	pointer-events: none;
}

#stm-dashboard-root .stm-public-pin__mark svg {
	position: relative;
	z-index: 1;
	width: 2.75rem;
	height: 2.75rem;
	display: block;
	filter: drop-shadow(0 4px 12px rgba(31, 71, 58, 0.2));
}

#stm-dashboard-root .stm-public-pin__eyebrow,
#stm-dashboard-root .stm-public-pin__title,
#stm-dashboard-root .stm-public-pin__desc,
#stm-dashboard-root .stm-public-pin__form {
	position: relative;
	z-index: 1;
}

#stm-dashboard-root .stm-public-pin__eyebrow {
	margin: 0 0 0.3rem;
	text-align: center;
	font-size: 0.6875rem;
	font-weight: 750;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #6b857a;
}

#stm-dashboard-root .stm-public-pin__title {
	margin: 0 0 0.4rem;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 750;
	letter-spacing: -0.03em;
	color: #1f473a;
}

#stm-dashboard-root .stm-public-pin__desc {
	margin: 0 0 1.15rem;
	text-align: center;
	font-size: 0.875rem;
	line-height: 1.45;
	color: #6b7280;
}

#stm-dashboard-root .stm-public-pin__form {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

#stm-dashboard-root .stm-public-pin__input {
	min-height: 3rem;
	border: 1px solid #d7e5de;
	border-radius: 0.85rem;
	font-size: 1.125rem;
	letter-spacing: 0.28em;
	text-align: center;
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#stm-dashboard-root .stm-public-pin__input:focus {
	border-color: #2f6b58;
	box-shadow:
		0 0 0 3px rgba(124, 184, 154, 0.28),
		0 0 18px rgba(124, 184, 154, 0.18);
	outline: none;
}

#stm-dashboard-root .stm-public-pin__btn {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	border: none;
	border-radius: 0.85rem;
	background-color: #1f473a;
	background-image: linear-gradient(115deg, #1f473a 0%, #2f6b58 45%, #5a9e82 100%);
	background-size: 180% 180%;
	color: #fff !important;
	font-weight: 700;
	box-shadow:
		0 8px 20px rgba(22, 53, 44, 0.22),
		0 0 22px rgba(124, 184, 154, 0.3);
	animation: stm-login-orb-shift 5s ease-in-out infinite;
	transition: filter 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
}

#stm-dashboard-root .stm-public-pin__btn-glow {
	position: absolute;
	inset: -40% -20%;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(255, 255, 255, 0.28) 45%,
		transparent 70%
	);
	transform: translateX(-60%);
	animation: stm-admin-login-sheen 3.6s ease-in-out infinite;
	pointer-events: none;
	z-index: 0;
}

#stm-dashboard-root .stm-public-pin__btn-label {
	position: relative;
	z-index: 1;
}

#stm-dashboard-root .stm-public-pin__btn:hover {
	color: #fff !important;
	filter: brightness(1.05);
	box-shadow:
		0 10px 24px rgba(22, 53, 44, 0.28),
		0 0 32px rgba(124, 184, 154, 0.42);
}

#stm-dashboard-root .stm-public-pin__btn:disabled {
	opacity: 0.65;
	box-shadow: none;
	animation: none;
}

#stm-dashboard-root .stm-public-pin__msg {
	min-height: 1.2rem;
	margin: 0;
	text-align: center;
	font-size: 0.8125rem;
	font-weight: 600;
	color: #b91c1c;
}

#stm-dashboard-root .stm-cash-fab--disabled {
	opacity: 0.45;
	pointer-events: none;
}

#stm-dashboard-root .stm-cash-fab--disabled .stm-cash-fab__btn,
#stm-dashboard-root .stm-cash-actions--disabled .stm-ui-btn {
	cursor: not-allowed;
	opacity: 0.55;
}

@media (prefers-reduced-motion: reduce) {
	#stm-dashboard-root .stm-public-pin__card,
	#stm-dashboard-root .stm-public-pin__glow,
	#stm-dashboard-root .stm-public-pin__mark-glow,
	#stm-dashboard-root .stm-public-pin__btn,
	#stm-dashboard-root .stm-public-pin__btn-glow,
	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__item--net,
	#stm-dashboard-root .stm-finance-cash-scope .stm-cash-summary__item--net::before,
	#stm-dashboard-root.stm-app-shell .stm-panel--finance .stm-ui-btn--primary,
	#stm-dashboard-root.stm-app-shell .stm-panel--settings .stm-ui-btn--primary,
	#stm-dashboard-root .stm-cash-fab__btn--in {
		animation: none !important;
	}
}

#stm-dashboard-root .stm-cash-actions--disabled {
	gap: 0.4rem;
}

@media (max-width: 991.98px) {
	#stm-dashboard-root[data-stm-app-module="trash"] .stm-main__body,
	#stm-dashboard-root[data-stm-app-module="public_finance"] .stm-main__body {
		padding: 0 0 1.25rem;
		background: var(--stm-cash-canvas, #f9fafb);
	}
}
/* ==========================================================================
   Kas Keluar modal ? glow/gradasi (selector #id, tetap valid di body)
   ========================================================================== */
#stm-cash-out-modal .stm-cash-sheet__panel,
#stm-cash-out-modal .modal-content {
	background:
		radial-gradient(120% 60% at 100% -10%, rgba(124, 184, 154, 0.2) 0%, transparent 55%),
		radial-gradient(90% 50% at -10% 110%, rgba(31, 71, 58, 0.1) 0%, transparent 55%),
		#ffffff !important;
	box-shadow:
		0 18px 40px rgba(22, 53, 44, 0.16),
		0 0 32px rgba(124, 184, 154, 0.16) !important;
	border: 1px solid #d7e5de !important;
	border-radius: 1.15rem !important;
	overflow: hidden;
}

#stm-cash-out-modal .stm-cash-sheet__header {
	background: transparent !important;
	border-bottom: 1px solid #e8f1ec !important;
}

#stm-cash-out-modal .stm-cash-sheet__title-wrap {
	display: flex !important;
	align-items: center;
	gap: 0.55rem;
}

#stm-cash-out-modal .stm-cash-sheet__ico {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 2.15rem !important;
	height: 2.15rem !important;
	border-radius: 0.7rem !important;
	color: #fff !important;
	background: linear-gradient(135deg, #1f473a 0%, #2f6b58 48%, #5a9e82 100%) !important;
	background-size: 180% 180% !important;
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.22) inset,
		0 4px 12px rgba(31, 71, 58, 0.24),
		0 0 16px rgba(124, 184, 154, 0.4) !important;
	animation: stm-login-orb-shift 5.5s ease-in-out infinite;
}

#stm-cash-out-modal .stm-cash-sheet__ico svg {
	width: 1rem !important;
	height: 1rem !important;
	display: block;
}

#stm-cash-out-modal .stm-cash-sheet__title {
	color: #1f473a !important;
	font-weight: 750 !important;
}

#stm-cash-out-modal .stm-cash-ai-card {
	position: relative !important;
	isolation: isolate;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem !important;
	margin: 0 0 1.25rem !important;
	padding: 1.05rem 1rem 1.05rem !important;
	border: 1px solid #cfe0d7 !important;
	border-radius: 1.05rem !important;
	background: #f7fbf9 !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.9) inset,
		0 8px 22px rgba(22, 53, 44, 0.08),
		0 0 22px rgba(124, 184, 154, 0.18) !important;
}

#stm-cash-out-modal .stm-cash-ai-card__glow {
	position: absolute !important;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
}

#stm-cash-out-modal .stm-cash-ai-card__glow--a {
	top: -35%;
	right: -18%;
	width: 10rem;
	height: 10rem;
	background: radial-gradient(circle, rgba(124, 184, 154, 0.45) 0%, transparent 70%) !important;
	animation: stm-admin-login-glow-a 6s ease-in-out infinite;
}

#stm-cash-out-modal .stm-cash-ai-card__glow--b {
	bottom: -40%;
	left: -22%;
	width: 11rem;
	height: 11rem;
	background: radial-gradient(circle, rgba(31, 71, 58, 0.18) 0%, transparent 72%) !important;
	animation: stm-admin-login-glow-b 7.5s ease-in-out infinite;
}

#stm-cash-out-modal .stm-cash-ai-card__head,
#stm-cash-out-modal .stm-cash-ai-card__actions,
#stm-cash-out-modal .stm-cash-ai-card__run,
#stm-cash-out-modal #stm-cash-out-ai-drop,
#stm-cash-out-modal #stm-cash-out-ai-preview-wrap,
#stm-cash-out-modal #stm-cash-out-ai-loading,
#stm-cash-out-modal #stm-cash-out-ai-msg {
	position: relative;
	z-index: 1;
	margin: 0 !important;
}

#stm-cash-out-modal .stm-cash-ai-card__head {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.2rem !important;
	margin: 0 !important;
	padding: 0 !important;
}

#stm-cash-out-modal .stm-cash-ai-card__title {
	margin: 0 !important;
	padding: 0 !important;
	color: #1f473a !important;
	font-size: 0.875rem !important;
	font-weight: 750 !important;
	letter-spacing: -0.015em !important;
	line-height: 1.25 !important;
}

#stm-cash-out-modal .stm-cash-ai-card__desc {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.75rem !important;
	line-height: 1.4 !important;
	color: #6b857a !important;
}

#stm-cash-out-modal .stm-cash-ai-card__actions {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.5rem !important;
	margin: 0 !important;
	padding: 0 !important;
}

#stm-cash-out-modal .stm-cash-ai-card__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.4rem !important;
	min-height: 2.35rem !important;
	margin: 0 !important;
	padding: 0.45rem 0.85rem !important;
	border: 1px solid #cfe0d7 !important;
	border-radius: 0.7rem !important;
	background: #ffffff !important;
	color: #1f473a !important;
	font-size: 0.75rem !important;
	font-weight: 650 !important;
	line-height: 1.2 !important;
}

#stm-cash-out-modal .stm-cash-ai-card__btn svg {
	width: 0.85rem !important;
	height: 0.85rem !important;
	flex: 0 0 auto;
	display: block;
}

#stm-cash-out-modal .stm-cash-ai-card__btn--camera {
	border-color: transparent !important;
	color: #ffffff !important;
	background: linear-gradient(115deg, #1f473a 0%, #2f6b58 50%, #5a9e82 100%) !important;
	background-size: 180% 180% !important;
	box-shadow:
		0 4px 14px rgba(22, 53, 44, 0.22),
		0 0 16px rgba(124, 184, 154, 0.35) !important;
	animation: stm-login-orb-shift 5.5s ease-in-out infinite;
}

#stm-cash-out-modal .stm-cash-ai-card__btn--camera:hover {
	color: #ffffff !important;
	filter: brightness(1.06);
}

#stm-cash-out-modal .stm-cash-ai-card__btn--muted {
	color: #6b7280 !important;
	background: #ffffff !important;
}

#stm-cash-out-modal #stm-cash-out-ai-drop.stm-exp-ai-drop {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 2.75rem !important;
	margin: 0 !important;
	padding: 0.7rem 0.85rem !important;
	border: 1px dashed #9fc4b2 !important;
	border-radius: 0.75rem !important;
	background: rgba(255, 255, 255, 0.88) !important;
	color: #6b857a !important;
	font-size: 0.75rem !important;
	line-height: 1.35 !important;
	text-align: center !important;
}

#stm-cash-out-modal #stm-cash-out-ai-drop.stm-exp-ai-drop:hover,
#stm-cash-out-modal #stm-cash-out-ai-drop.stm-exp-ai-drop:focus {
	border-color: #2f6b58 !important;
	background: rgba(232, 241, 236, 0.7) !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(124, 184, 154, 0.22);
}

#stm-cash-out-modal #stm-cash-out-ai-preview-wrap,
#stm-cash-out-modal .stm-cash-ai-preview {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.45rem !important;
	margin: 0 !important;
	padding: 0.65rem 0.75rem !important;
	border: 1px solid #cfe0d7 !important;
	border-radius: 0.85rem !important;
	background: rgba(255, 255, 255, 0.92) !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.9) inset,
		0 4px 14px rgba(22, 53, 44, 0.06) !important;
	text-align: center !important;
}

#stm-cash-out-modal .stm-cash-ai-preview.d-none {
	display: none !important;
}

#stm-cash-out-modal .stm-cash-ai-preview__frame {
	position: relative;
	width: 4.75rem !important;
	height: 4.75rem !important;
	border-radius: 0.75rem !important;
	overflow: hidden !important;
	border: 1px solid rgba(31, 71, 58, 0.14) !important;
	background:
		linear-gradient(145deg, #e8f1ec 0%, #f7fbf9 55%, #ffffff 100%) !important;
	box-shadow:
		0 0 0 3px rgba(124, 184, 154, 0.18),
		0 6px 16px rgba(22, 53, 44, 0.12),
		0 0 18px rgba(124, 184, 154, 0.22) !important;
	flex: 0 0 auto;
}

#stm-cash-out-modal .stm-cash-ai-preview__frame::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
	pointer-events: none;
}

#stm-cash-out-modal #stm-cash-out-ai-preview,
#stm-cash-out-modal .stm-cash-ai-preview__img,
#stm-cash-out-modal .stm-exp-ai-preview__img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 4.75rem !important;
	max-height: 4.75rem !important;
	object-fit: cover !important;
	object-position: center !important;
	margin: 0 auto !important;
}

#stm-cash-out-modal .stm-cash-ai-preview__caption {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.6875rem !important;
	font-weight: 650 !important;
	letter-spacing: 0.02em !important;
	color: #6b857a !important;
	line-height: 1.3 !important;
}

#stm-cash-out-modal #stm-cash-out-ai-loading {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin: 0 !important;
	padding: 0.35rem 0 !important;
	min-height: 1.5rem;
	font-size: 0.75rem;
	color: #1f473a;
}

#stm-cash-out-modal #stm-cash-out-ai-loading.d-flex {
	display: flex !important;
}

#stm-cash-out-modal .stm-cash-ai-card__run {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	width: 100% !important;
	min-height: 2.75rem !important;
	margin: 0 !important;
	padding: 0.7rem 0.9rem !important;
	border: none !important;
	border-radius: 0.8rem !important;
	color: #ffffff !important;
	background: linear-gradient(115deg, #1f473a 0%, #2f6b58 45%, #5a9e82 100%) !important;
	background-size: 180% 180% !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	box-shadow:
		0 8px 18px rgba(22, 53, 44, 0.22),
		0 0 22px rgba(124, 184, 154, 0.32) !important;
	animation: stm-login-orb-shift 5s ease-in-out infinite;
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

#stm-cash-out-modal .stm-cash-ai-card__run-glow {
	position: absolute;
	inset: -40% -20%;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.3) 45%, transparent 70%);
	transform: translateX(-60%);
	animation: stm-admin-login-sheen 3.6s ease-in-out infinite;
	pointer-events: none;
	z-index: 0;
}

#stm-cash-out-modal .stm-cash-ai-card__run svg,
#stm-cash-out-modal .stm-cash-ai-card__run-label {
	position: relative;
	z-index: 1;
	color: #fff !important;
}

#stm-cash-out-modal .stm-cash-ai-card__run svg {
	width: 0.95rem !important;
	height: 0.95rem !important;
	flex: 0 0 auto;
	display: block;
}

#stm-cash-out-modal .stm-cash-ai-card__run:hover {
	color: #ffffff !important;
	filter: brightness(1.05);
}

#stm-cash-out-modal #stm-cash-out-ai-msg {
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.75rem !important;
	line-height: 1.35 !important;
}

#stm-cash-out-modal #stm-cash-out-ai-msg:empty {
	display: none !important;
}

#stm-cash-out-modal #stm-cash-out-ai-msg:not(:empty) {
	margin-top: -0.15rem !important;
}

#stm-cash-out-modal .stm-cash-field__control.form-control:focus,
#stm-cash-out-modal .stm-cash-field__control.form-select:focus {
	border-color: #2f6b58 !important;
	box-shadow:
		0 0 0 3px rgba(124, 184, 154, 0.3),
		0 0 16px rgba(124, 184, 154, 0.18) !important;
	outline: none !important;
}

#stm-cash-out-modal .stm-cash-sheet__footer {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.5rem !important;
	margin-top: 1.25rem !important;
}

#stm-cash-out-modal .stm-cash-sheet__btn.stm-cash-sheet__btn--out,
#stm-cash-out-modal .btn.stm-cash-sheet__btn--out,
#stm-cash-out-modal .stm-cash-submit-btn.stm-cash-sheet__btn--out {
	position: relative !important;
	isolation: isolate;
	overflow: hidden !important;
	width: 100% !important;
	min-height: 3rem !important;
	border: none !important;
	border-radius: 0.85rem !important;
	color: #ffffff !important;
	background: linear-gradient(115deg, #1f473a 0%, #2f6b58 45%, #5a9e82 100%) !important;
	background-size: 180% 180% !important;
	font-weight: 700 !important;
	box-shadow:
		0 8px 20px rgba(22, 53, 44, 0.22),
		0 0 22px rgba(124, 184, 154, 0.3) !important;
	animation: stm-login-orb-shift 5.5s ease-in-out infinite;
}

#stm-cash-out-modal .stm-cash-sheet__btn-glow {
	position: absolute;
	inset: -40% -20%;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.28) 45%, transparent 70%);
	transform: translateX(-60%);
	animation: stm-admin-login-sheen 3.6s ease-in-out infinite;
	pointer-events: none;
	z-index: 0;
}

#stm-cash-out-modal .stm-cash-sheet__btn-label {
	position: relative;
	z-index: 1;
	color: #fff !important;
}

#stm-cash-out-modal .stm-cash-sheet__btn--out:hover,
#stm-cash-out-modal .stm-cash-sheet__btn--out:active,
#stm-cash-out-modal .stm-cash-sheet__btn--out:focus {
	color: #ffffff !important;
	filter: brightness(1.05);
	background: linear-gradient(115deg, #16352c 0%, #2a5f4e 45%, #6fb396 100%) !important;
	background-size: 180% 180% !important;
}

#stm-cash-out-modal .stm-cash-sheet__btn--ghost {
	color: #6b857a !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	font-weight: 600 !important;
}

#stm-cash-out-modal .stm-cash-sheet__btn--ghost:hover {
	color: #1f473a !important;
	background: #e8f1ec !important;
}

@media (prefers-reduced-motion: reduce) {
	#stm-cash-out-modal .stm-cash-sheet__ico,
	#stm-cash-out-modal .stm-cash-ai-card__glow,
	#stm-cash-out-modal .stm-cash-ai-card__btn--camera,
	#stm-cash-out-modal .stm-cash-ai-card__run,
	#stm-cash-out-modal .stm-cash-ai-card__run-glow,
	#stm-cash-out-modal .stm-cash-sheet__btn--out,
	#stm-cash-out-modal .stm-cash-sheet__btn-glow {
		animation: none !important;
	}
}


/* ==========================================================================
   Detail transaksi kas (modal di body)
   ========================================================================== */
#stm-cash-detail-modal .stm-cash-detail__panel,
#stm-cash-detail-modal .modal-content {
	background:
		radial-gradient(120% 55% at 100% -8%, rgba(124, 184, 154, 0.22) 0%, transparent 52%),
		radial-gradient(85% 45% at -8% 108%, rgba(31, 71, 58, 0.1) 0%, transparent 55%),
		#ffffff !important;
	box-shadow:
		0 18px 40px rgba(22, 53, 44, 0.16),
		0 0 28px rgba(124, 184, 154, 0.14) !important;
	border: 1px solid #d7e5de !important;
	border-radius: 1.15rem !important;
	overflow: hidden;
}

#stm-cash-detail-modal .stm-cash-detail__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 1.1rem 1.15rem 0.65rem;
	border-bottom: 1px solid #e8f1ec !important;
	background: transparent !important;
}

#stm-cash-detail-modal .stm-cash-detail__head-main {
	min-width: 0;
	flex: 1;
}

#stm-cash-detail-modal .stm-cash-detail__badge {
	display: inline-flex;
	align-items: center;
	margin-bottom: 0.35rem;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	font-size: 0.625rem;
	font-weight: 750;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #2d5a3d;
	background: #e8f2eb;
	border: 1px solid rgba(45, 90, 61, 0.14);
}

#stm-cash-detail-modal .stm-cash-detail__badge--in {
	color: #166534;
	background: linear-gradient(135deg, #ecfdf3, #dcfce7);
	border-color: rgba(22, 101, 52, 0.18);
}

#stm-cash-detail-modal .stm-cash-detail__badge--out {
	color: #9f1239;
	background: linear-gradient(135deg, #fff1f2, #ffe4e6);
	border-color: rgba(159, 18, 57, 0.16);
}

#stm-cash-detail-modal .stm-cash-detail__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 750;
	line-height: 1.3;
	color: #16352c;
	word-break: break-word;
}

#stm-cash-detail-modal .stm-cash-detail__close {
	margin: 0.1rem 0 0;
	opacity: 0.65;
}

#stm-cash-detail-modal .stm-cash-detail__body {
	padding: 0.85rem 1.15rem 0.5rem;
}

#stm-cash-detail-modal .stm-cash-detail__amount-block {
	position: relative;
	margin: 0 0 1rem;
	padding: 1rem 1.05rem;
	border-radius: 0.95rem;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(232, 242, 235, 0.95), rgba(243, 248, 245, 0.9));
	border: 1px solid #d7e5de;
}

#stm-cash-detail-modal .stm-cash-detail__amount-block::before {
	content: "";
	position: absolute;
	inset: auto -20% -40% auto;
	width: 9rem;
	height: 9rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(124, 184, 154, 0.35), transparent 70%);
	pointer-events: none;
}

#stm-cash-detail-modal .stm-cash-detail__amount-block--in {
	background: linear-gradient(135deg, #ecfdf3 0%, #f0fdf4 55%, #ffffff 100%);
	border-color: rgba(22, 101, 52, 0.16);
}

#stm-cash-detail-modal .stm-cash-detail__amount-block--out {
	background: linear-gradient(135deg, #fff1f2 0%, #fff7f7 55%, #ffffff 100%);
	border-color: rgba(159, 18, 57, 0.14);
}

#stm-cash-detail-modal .stm-cash-detail__amount-label {
	position: relative;
	z-index: 1;
	margin: 0 0 0.2rem;
	font-size: 0.6875rem;
	font-weight: 650;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #6b857a;
}

#stm-cash-detail-modal .stm-cash-detail__amount {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 1.65rem;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.15;
	font-variant-numeric: tabular-nums;
	color: #16352c;
}

#stm-cash-detail-modal .stm-cash-detail__amount-block--in .stm-cash-detail__amount {
	color: #15803d;
}

#stm-cash-detail-modal .stm-cash-detail__amount-block--out .stm-cash-detail__amount {
	color: #be123c;
}

#stm-cash-detail-modal .stm-cash-detail__meta {
	display: grid;
	gap: 0.55rem;
	margin: 0 0 1.1rem;
}

#stm-cash-detail-modal .stm-cash-detail__meta-row {
	display: grid;
	grid-template-columns: minmax(6.5rem, 38%) 1fr;
	gap: 0.5rem;
	align-items: baseline;
	padding: 0.55rem 0.7rem;
	border-radius: 0.7rem;
	background: rgba(243, 248, 245, 0.7);
	border: 1px solid rgba(215, 229, 222, 0.85);
}

#stm-cash-detail-modal .stm-cash-detail__meta-row dt {
	margin: 0;
	font-size: 0.6875rem;
	font-weight: 650;
	color: #6b857a;
}

#stm-cash-detail-modal .stm-cash-detail__meta-row dd {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 650;
	color: #16352c;
	text-align: right;
	word-break: break-word;
}

#stm-cash-detail-modal .stm-cash-detail__att-label {
	margin: 0 0 0.55rem;
	font-size: 0.6875rem;
	font-weight: 750;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #2d5a3d;
}

#stm-cash-detail-modal .stm-cash-detail__att-empty {
	padding: 0.85rem 0.9rem;
	border-radius: 0.75rem;
	font-size: 0.8125rem;
	color: #6b857a;
	background: #f3f7f4;
	border: 1px dashed #c9d9d0;
}

#stm-cash-detail-modal .stm-cash-detail__att-link {
	display: block;
	text-decoration: none;
	border-radius: 0.95rem;
	overflow: hidden;
	border: 1px solid #d7e5de;
	background: #f3f7f4;
	box-shadow: 0 8px 22px rgba(22, 53, 44, 0.08);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

#stm-cash-detail-modal .stm-cash-detail__att-link:hover,
#stm-cash-detail-modal .stm-cash-detail__att-link:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 12px 28px rgba(22, 53, 44, 0.14);
	outline: none;
}

#stm-cash-detail-modal .stm-cash-detail__att-img {
	display: block;
	width: 100%;
	max-height: min(52vh, 22rem);
	object-fit: contain;
	background:
		linear-gradient(45deg, #eef4f0 25%, transparent 25%),
		linear-gradient(-45deg, #eef4f0 25%, transparent 25%),
		linear-gradient(45deg, transparent 75%, #eef4f0 75%),
		linear-gradient(-45deg, transparent 75%, #eef4f0 75%);
	background-size: 16px 16px;
	background-position: 0 0, 0 8px, 8px -8px, -8px 0;
	background-color: #f8fbf9;
}

#stm-cash-detail-modal .stm-cash-detail__att-pdf {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 5.5rem;
	padding: 1rem;
	font-size: 0.9rem;
	font-weight: 750;
	color: #1f473a;
	background: linear-gradient(135deg, #e8f2eb, #d4e8da);
}

#stm-cash-detail-modal .stm-cash-detail__footer {
	padding: 0.75rem 1.15rem 1.15rem;
}

#stm-cash-detail-modal .stm-cash-detail__btn {
	width: 100%;
	border: 0;
	border-radius: 0.85rem;
	padding: 0.75rem 1rem;
	font-weight: 700;
	color: #fff !important;
	background: linear-gradient(115deg, #16352c 0%, #2a5f4e 50%, #6fb396 100%);
	box-shadow: 0 8px 18px rgba(22, 53, 44, 0.18);
}

#stm-cash-detail-modal .stm-cash-detail__btn:hover,
#stm-cash-detail-modal .stm-cash-detail__btn:focus {
	filter: brightness(1.05);
	color: #fff !important;
}

@media (min-width: 576px) {
	#stm-cash-detail-modal .modal-dialog {
		max-width: 26rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	#stm-cash-detail-modal .stm-cash-detail__att-link {
		transition: none;
	}
}

#stm-cash-detail-modal.stm-cash-detail--edit .stm-cash-detail__title-input {
	display: block !important;
	margin-top: 0.15rem;
	border: 1px solid #d7e5de;
	border-radius: 0.65rem;
	font-size: 1.05rem;
	font-weight: 750;
	color: #16352c;
	background: #fff;
	box-shadow: none;
}

#stm-cash-detail-modal.stm-cash-detail--edit .stm-cash-detail__amount-input {
	display: block !important;
	position: relative;
	z-index: 1;
	margin-top: 0.15rem;
	border: 0;
	border-radius: 0.55rem;
	padding: 0.2rem 0;
	font-size: 1.65rem;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.15;
	font-variant-numeric: tabular-nums;
	color: inherit;
	background: transparent;
	box-shadow: none;
}

#stm-cash-detail-modal.stm-cash-detail--edit .stm-cash-detail__amount-block--in .stm-cash-detail__amount-input {
	color: #15803d;
}

#stm-cash-detail-modal.stm-cash-detail--edit .stm-cash-detail__amount-block--out .stm-cash-detail__amount-input {
	color: #be123c;
}

#stm-cash-detail-modal .stm-cash-detail__field {
	width: 100%;
	max-width: 14rem;
	margin-left: auto;
	text-align: right;
}

#stm-cash-detail-modal .stm-cash-detail__meta-row dd {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.25rem;
}

#stm-cash-detail-modal .stm-cash-detail__att-actions {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	margin-top: 0.65rem;
}

#stm-cash-detail-modal .stm-cash-detail__att-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

#stm-cash-detail-modal .stm-cash-detail__att-chip {
	position: relative;
	display: inline-flex;
	width: 4.75rem;
	height: 4.75rem;
	border-radius: 0.75rem;
	overflow: hidden;
	border: 1px solid #d7e5de;
	background: #f3f7f4;
	box-shadow: 0 4px 12px rgba(22, 53, 44, 0.08);
}

#stm-cash-detail-modal .stm-cash-detail__att-chip-preview {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
}

#stm-cash-detail-modal .stm-cash-detail__att-chip-preview img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#stm-cash-detail-modal .stm-cash-detail__att-chip-pdf {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-decoration: none;
	font-size: 0.75rem;
	font-weight: 750;
	color: #1f473a;
	background: linear-gradient(135deg, #e8f2eb, #d4e8da);
}

#stm-cash-detail-modal .stm-cash-detail__att-chip-remove {
	position: absolute;
	top: 0.2rem;
	right: 0.2rem;
	z-index: 2;
	width: 1.25rem;
	height: 1.25rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	font-size: 0.9rem;
	line-height: 1;
	color: #fff;
	background: rgba(190, 18, 60, 0.92);
	cursor: pointer;
}

#stm-cash-detail-modal .stm-cash-detail__att-chip-remove:hover,
#stm-cash-detail-modal .stm-cash-detail__att-chip-remove:focus {
	background: #9f1239;
}

#stm-cash-detail-modal .stm-cash-detail__att-replace {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 0;
	padding: 0.65rem 0.85rem;
	border-radius: 0.75rem;
	border: 1px dashed #b7cfc3;
	background: rgba(232, 242, 235, 0.65);
	color: #1f473a;
	font-size: 0.8125rem;
	font-weight: 650;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease;
}

#stm-cash-detail-modal .stm-cash-detail__att-replace.is-disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

#stm-cash-detail-modal .stm-cash-detail__att-replace:hover {
	background: #e8f2eb;
	border-color: #7cb89a;
}

#stm-cash-detail-modal .stm-cash-detail__msg {
	margin-top: 0.75rem;
	font-size: 0.8125rem;
	font-weight: 650;
}

#stm-cash-detail-modal .stm-cash-detail__footer {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

#stm-cash-detail-modal .stm-cash-detail__btn--save {
	width: 100%;
	border: 0;
	border-radius: 0.85rem;
	padding: 0.75rem 1rem;
	font-weight: 700;
	color: #fff !important;
	background: linear-gradient(115deg, #16352c 0%, #2a5f4e 50%, #6fb396 100%);
	box-shadow: 0 8px 18px rgba(22, 53, 44, 0.18);
}

#stm-cash-detail-modal .stm-cash-detail__btn--save:disabled {
	opacity: 0.65;
	cursor: wait;
}

#stm-cash-detail-modal .stm-cash-detail__btn--ghost {
	width: 100%;
	border: 0;
	border-radius: 0.85rem;
	padding: 0.7rem 1rem;
	font-weight: 650;
	color: #6b857a !important;
	background: transparent !important;
	box-shadow: none !important;
}

#stm-cash-detail-modal .stm-cash-detail__btn--ghost:hover {
	color: #1f473a !important;
	background: #e8f1ec !important;
}

/* ==========================================================================
   Kas Masuk modal ? seragam dengan Kas Keluar (selector #id, valid di body)
   ========================================================================== */
#stm-cash-in-modal .stm-cash-sheet__panel,
#stm-cash-in-modal .modal-content {
	background:
		radial-gradient(120% 60% at 100% -10%, rgba(74, 222, 128, 0.18) 0%, transparent 55%),
		radial-gradient(90% 50% at -10% 110%, rgba(22, 101, 52, 0.1) 0%, transparent 55%),
		#ffffff !important;
	box-shadow:
		0 18px 40px rgba(22, 53, 44, 0.16),
		0 0 32px rgba(74, 222, 128, 0.14) !important;
	border: 1px solid #d7e5de !important;
	border-radius: 1.15rem !important;
	overflow: hidden;
}

#stm-cash-in-modal .stm-cash-sheet__header {
	background: transparent !important;
	border-bottom: 1px solid #e8f1ec !important;
}

#stm-cash-in-modal .stm-cash-sheet__title-wrap {
	display: flex !important;
	align-items: center;
	gap: 0.55rem;
}

#stm-cash-in-modal .stm-cash-sheet__ico {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 2.15rem !important;
	height: 2.15rem !important;
	border-radius: 0.7rem !important;
	color: #fff !important;
	background: linear-gradient(135deg, #166534 0%, #15803d 48%, #4ade80 100%) !important;
	background-size: 180% 180% !important;
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.22) inset,
		0 4px 12px rgba(22, 101, 52, 0.24),
		0 0 16px rgba(74, 222, 128, 0.4) !important;
	animation: stm-login-orb-shift 5.5s ease-in-out infinite;
}

#stm-cash-in-modal .stm-cash-sheet__ico svg {
	width: 1rem !important;
	height: 1rem !important;
	display: block;
}

#stm-cash-in-modal .stm-cash-sheet__title {
	color: #14532d !important;
	font-weight: 750 !important;
}

#stm-cash-in-modal .stm-cash-field__control.form-control:focus,
#stm-cash-in-modal .stm-cash-field__control.form-select:focus {
	border-color: #15803d !important;
	box-shadow:
		0 0 0 3px rgba(74, 222, 128, 0.28),
		0 0 16px rgba(74, 222, 128, 0.16) !important;
	outline: none;
}

#stm-cash-in-modal .stm-cash-sheet__footer {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	padding-top: 0.85rem !important;
}

#stm-cash-in-modal .stm-cash-sheet__btn.stm-cash-sheet__btn--in,
#stm-cash-in-modal .btn.stm-cash-sheet__btn--in,
#stm-cash-in-modal .stm-cash-submit-btn.stm-cash-sheet__btn--in {
	position: relative !important;
	isolation: isolate;
	overflow: hidden !important;
	width: 100%;
	border: 0 !important;
	border-radius: 0.85rem !important;
	padding: 0.8rem 1rem !important;
	font-weight: 700 !important;
	color: #fff !important;
	background: linear-gradient(115deg, #166534 0%, #15803d 45%, #4ade80 100%) !important;
	background-size: 180% 180% !important;
	box-shadow:
		0 8px 20px rgba(22, 101, 52, 0.22),
		0 0 22px rgba(74, 222, 128, 0.3) !important;
	animation: stm-login-orb-shift 5.5s ease-in-out infinite;
}

#stm-cash-in-modal .stm-cash-sheet__btn-glow {
	position: absolute;
	inset: -40% -20%;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.28) 45%, transparent 70%);
	transform: translateX(-60%);
	animation: stm-admin-login-sheen 3.6s ease-in-out infinite;
	pointer-events: none;
	z-index: 0;
}

#stm-cash-in-modal .stm-cash-sheet__btn-label {
	position: relative;
	z-index: 1;
	color: #fff !important;
}

#stm-cash-in-modal .stm-cash-sheet__btn--in:hover,
#stm-cash-in-modal .stm-cash-sheet__btn--in:active,
#stm-cash-in-modal .stm-cash-sheet__btn--in:focus {
	color: #ffffff !important;
	filter: brightness(1.05);
	background: linear-gradient(115deg, #14532d 0%, #166534 45%, #22c55e 100%) !important;
	background-size: 180% 180% !important;
}

#stm-cash-in-modal .stm-cash-sheet__btn--ghost {
	color: #6b857a !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	font-weight: 600 !important;
}

#stm-cash-in-modal .stm-cash-sheet__btn--ghost:hover {
	color: #14532d !important;
	background: #ecfdf3 !important;
}

@media (prefers-reduced-motion: reduce) {
	#stm-cash-in-modal .stm-cash-sheet__ico,
	#stm-cash-in-modal .stm-cash-sheet__btn--in,
	#stm-cash-in-modal .stm-cash-sheet__btn-glow {
		animation: none !important;
	}
}

/* ==========================================================================
   Lightbox lampiran (modal di body)
   ========================================================================== */
#stm-att-lightbox-modal .stm-att-lightbox__panel,
#stm-att-lightbox-modal .modal-content {
	background:
		radial-gradient(110% 70% at 100% -10%, rgba(124, 184, 154, 0.18) 0%, transparent 55%),
		radial-gradient(90% 55% at -10% 110%, rgba(31, 71, 58, 0.08) 0%, transparent 55%),
		#0f1f1a !important;
	border: 1px solid rgba(215, 229, 222, 0.28) !important;
	border-radius: 1.1rem !important;
	overflow: hidden;
	box-shadow:
		0 22px 48px rgba(8, 20, 16, 0.45),
		0 0 32px rgba(124, 184, 154, 0.18) !important;
}

#stm-att-lightbox-modal .stm-att-lightbox__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.85rem 1rem 0.55rem;
	background: transparent !important;
	border-bottom: 1px solid rgba(232, 241, 236, 0.12) !important;
}

#stm-att-lightbox-modal .stm-att-lightbox__title {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 750;
	color: #e8f1ec !important;
}

#stm-att-lightbox-modal .stm-att-lightbox__close {
	filter: invert(1) grayscale(1);
	opacity: 0.75;
}

#stm-att-lightbox-modal .stm-att-lightbox__body {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.65rem 1rem 0.35rem;
	min-height: 12rem;
}

#stm-att-lightbox-modal .stm-att-lightbox__img {
	display: block;
	max-width: 100%;
	max-height: min(72vh, 34rem);
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 0.65rem;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
	background:
		linear-gradient(45deg, rgba(255, 255, 255, 0.06) 25%, transparent 25%),
		linear-gradient(-45deg, rgba(255, 255, 255, 0.06) 25%, transparent 25%),
		linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.06) 75%),
		linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.06) 75%);
	background-size: 16px 16px;
	background-position: 0 0, 0 8px, 8px -8px, -8px 0;
	background-color: rgba(255, 255, 255, 0.04);
}

#stm-att-lightbox-modal .stm-att-lightbox__footer {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: flex-end;
	padding: 0.65rem 1rem 1rem;
}

#stm-att-lightbox-modal .stm-att-lightbox__open {
	border: 1px solid rgba(232, 241, 236, 0.22);
	border-radius: 0.7rem;
	padding: 0.55rem 0.9rem;
	font-weight: 650;
	color: #e8f1ec !important;
	background: rgba(255, 255, 255, 0.08);
	text-decoration: none;
}

#stm-att-lightbox-modal .stm-att-lightbox__open:hover {
	background: rgba(255, 255, 255, 0.14);
	color: #fff !important;
}

#stm-att-lightbox-modal .stm-att-lightbox__done {
	border: 0;
	border-radius: 0.7rem;
	padding: 0.55rem 0.95rem;
	font-weight: 700;
	color: #fff !important;
	background: linear-gradient(115deg, #16352c 0%, #2a5f4e 50%, #6fb396 100%);
	box-shadow: 0 6px 16px rgba(22, 53, 44, 0.28);
}

#stm-dashboard-root .stm-finance-cash-scope .stm-cash-att-link--preview {
	border: 0;
	padding: 0;
	background: transparent;
	cursor: zoom-in;
}

@media (max-width: 575.98px) {
	#stm-att-lightbox-modal .modal-dialog {
		margin: 0.75rem;
	}

	#stm-att-lightbox-modal .stm-att-lightbox__footer {
		flex-direction: column;
	}

	#stm-att-lightbox-modal .stm-att-lightbox__open,
	#stm-att-lightbox-modal .stm-att-lightbox__done {
		width: 100%;
		text-align: center;
	}
}

/* Gallery semua lampiran ? premium compact */
#stm-att-gallery-modal .modal-dialog {
	max-width: 26rem;
}

#stm-att-gallery-modal .stm-att-gallery__panel,
#stm-att-gallery-modal .modal-content {
	border-radius: 1.15rem !important;
	border: 1px solid rgba(215, 229, 222, 0.95) !important;
	background:
		radial-gradient(120% 80% at 100% -20%, rgba(111, 179, 150, 0.16) 0%, transparent 55%),
		radial-gradient(90% 60% at -15% 110%, rgba(22, 53, 44, 0.06) 0%, transparent 50%),
		linear-gradient(180deg, #fbfdfc 0%, #f3f8f5 100%) !important;
	overflow: hidden;
	box-shadow:
		0 24px 48px rgba(15, 35, 28, 0.18),
		0 2px 0 rgba(255, 255, 255, 0.65) inset !important;
}

#stm-att-gallery-modal .stm-att-gallery__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 1rem 1.1rem 0.65rem;
	background: transparent !important;
}

#stm-att-gallery-modal .stm-att-gallery__eyebrow {
	margin: 0 0 0.15rem;
	font-size: 0.6875rem;
	font-weight: 750;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #5f7f70;
}

#stm-att-gallery-modal .stm-att-gallery__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 780;
	letter-spacing: -0.02em;
	color: #14352a;
}

#stm-att-gallery-modal .stm-att-gallery__header-meta {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	flex-shrink: 0;
}

#stm-att-gallery-modal .stm-att-gallery__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.65rem;
	height: 1.65rem;
	padding: 0 0.4rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	color: #1f473a;
	background: rgba(232, 242, 235, 0.95);
	border: 1px solid rgba(45, 90, 61, 0.14);
}

#stm-att-gallery-modal .stm-att-gallery__close {
	margin: 0;
	opacity: 0.7;
}

#stm-att-gallery-modal .stm-att-gallery__body {
	padding: 0.35rem 1.1rem 0.85rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

#stm-att-gallery-modal .stm-att-gallery__progress {
	padding: 0.7rem 0.8rem;
	border-radius: 0.85rem;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(45, 90, 61, 0.12);
	box-shadow: 0 8px 20px rgba(20, 40, 30, 0.05);
}

#stm-att-gallery-modal .stm-att-gallery__progress-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.45rem;
}

#stm-att-gallery-modal .stm-att-gallery__progress-label {
	font-size: 0.75rem;
	font-weight: 700;
	color: #1f473a;
}

#stm-att-gallery-modal .stm-att-gallery__progress-pct {
	font-size: 0.75rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	color: #5f7f70;
}

#stm-att-gallery-modal .stm-att-gallery__progress-track {
	height: 0.35rem;
	border-radius: 999px;
	overflow: hidden;
	background: rgba(45, 90, 61, 0.1);
}

#stm-att-gallery-modal .stm-att-gallery__progress-fill {
	height: 100%;
	width: 0%;
	border-radius: inherit;
	background: linear-gradient(90deg, #1f473a 0%, #3d8f6e 55%, #7cb89a 100%);
	box-shadow: 0 0 12px rgba(124, 184, 154, 0.45);
	transition: width 0.25s ease;
}

#stm-att-gallery-modal .stm-att-gallery__progress.is-done .stm-att-gallery__progress-fill {
	background: linear-gradient(90deg, #166534 0%, #22c55e 100%);
}

#stm-att-gallery-modal .stm-att-gallery__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	padding: 1.35rem 1rem;
	border-radius: 0.95rem;
	border: 1px dashed rgba(45, 90, 61, 0.22);
	background: rgba(255, 255, 255, 0.55);
	color: #6b857a;
	font-size: 0.8125rem;
	font-weight: 650;
	text-align: center;
}

#stm-att-gallery-modal .stm-att-gallery__empty-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 0.75rem;
	color: #2d5a3d;
	background: linear-gradient(145deg, #e8f2eb, #d8ebe1);
}

#stm-att-gallery-modal .stm-att-gallery__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.55rem;
}

#stm-att-gallery-modal .stm-att-gallery__tile {
	position: relative;
	aspect-ratio: 1 / 1;
	border-radius: 0.8rem;
	overflow: hidden;
	background: #eef4f0;
	border: 1px solid rgba(45, 90, 61, 0.12);
	box-shadow: 0 6px 14px rgba(20, 40, 30, 0.06);
	transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.2s ease;
}

#stm-att-gallery-modal .stm-att-gallery__tile:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 18px rgba(20, 40, 30, 0.1);
}

#stm-att-gallery-modal .stm-att-gallery__tile.is-removing {
	opacity: 0.35;
	transform: scale(0.96);
	pointer-events: none;
}

#stm-att-gallery-modal .stm-att-gallery__media {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
	text-decoration: none;
	color: inherit;
}

#stm-att-gallery-modal .stm-att-gallery__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#stm-att-gallery-modal .stm-att-gallery__media--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #9aada3;
	cursor: default;
}

#stm-att-gallery-modal .stm-att-gallery__pdf {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
	width: 100%;
	height: 100%;
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: #1f473a;
	background: linear-gradient(145deg, #e8f2eb, #d4e8da);
}

#stm-att-gallery-modal .stm-att-gallery__remove {
	position: absolute;
	top: 0.3rem;
	right: 0.3rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	color: #fff;
	background: rgba(190, 18, 60, 0.92);
	box-shadow: 0 4px 10px rgba(159, 18, 57, 0.28);
	cursor: pointer;
	opacity: 0;
	transform: scale(0.9);
	transition: opacity 0.15s ease, transform 0.15s ease, background 0.15s ease;
}

#stm-att-gallery-modal .stm-att-gallery__tile:hover .stm-att-gallery__remove,
#stm-att-gallery-modal .stm-att-gallery__tile:focus-within .stm-att-gallery__remove,
#stm-att-gallery-modal .stm-att-gallery__remove:focus-visible {
	opacity: 1;
	transform: scale(1);
	outline: none;
}

#stm-att-gallery-modal .stm-att-gallery__remove:hover,
#stm-att-gallery-modal .stm-att-gallery__remove:focus-visible {
	background: #9f1239;
}

#stm-att-gallery-modal .stm-att-gallery__upload {
	margin-top: 0.1rem;
}

#stm-att-gallery-modal .stm-att-gallery__drop {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	margin: 0;
	padding: 0.7rem 0.8rem;
	border-radius: 0.9rem;
	border: 1px dashed rgba(45, 90, 61, 0.28);
	background: rgba(255, 255, 255, 0.7);
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}

#stm-att-gallery-modal .stm-att-gallery__drop:hover {
	border-color: rgba(45, 90, 61, 0.45);
	background: #fff;
	transform: translateY(-1px);
}

#stm-att-gallery-modal .stm-att-gallery__drop-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 0.7rem;
	color: #fff;
	background: linear-gradient(135deg, #16352c, #2a5f4e 55%, #6fb396);
	box-shadow: 0 8px 16px rgba(22, 53, 44, 0.18);
	flex-shrink: 0;
}

#stm-att-gallery-modal .stm-att-gallery__drop-text {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

#stm-att-gallery-modal .stm-att-gallery__drop-text strong {
	font-size: 0.8125rem;
	font-weight: 750;
	color: #16352c;
}

#stm-att-gallery-modal .stm-att-gallery__drop-text small {
	font-size: 0.6875rem;
	color: #6b857a;
}

#stm-att-gallery-modal .stm-att-gallery__footer {
	padding: 0.55rem 1.1rem 1.05rem;
}

#stm-att-gallery-modal .stm-att-gallery__done {
	width: 100%;
	border: 0;
	border-radius: 0.9rem;
	padding: 0.72rem 1rem;
	font-weight: 750;
	color: #fff !important;
	background: linear-gradient(115deg, #16352c 0%, #2a5f4e 50%, #6fb396 100%);
	box-shadow: 0 10px 22px rgba(22, 53, 44, 0.18);
}

#stm-att-gallery-modal .stm-att-gallery__done:hover,
#stm-att-gallery-modal .stm-att-gallery__done:focus {
	filter: brightness(1.04);
	color: #fff !important;
}

/* Global upload progress toast */
.stm-cash-att-global-progress {
	position: fixed;
	left: 50%;
	bottom: 1.25rem;
	z-index: 2000;
	transform: translateX(-50%);
	width: min(22rem, calc(100vw - 1.5rem));
	pointer-events: none;
}

.stm-cash-att-global-progress__card {
	padding: 0.75rem 0.85rem;
	border-radius: 0.95rem;
	background: rgba(15, 31, 26, 0.92);
	border: 1px solid rgba(232, 241, 236, 0.14);
	box-shadow: 0 18px 40px rgba(8, 20, 16, 0.35);
	backdrop-filter: blur(10px);
}

.stm-cash-att-global-progress__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.45rem;
}

.stm-cash-att-global-progress__label {
	font-size: 0.75rem;
	font-weight: 700;
	color: #e8f1ec;
}

.stm-cash-att-global-progress__pct {
	font-size: 0.75rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	color: rgba(232, 241, 236, 0.72);
}

.stm-cash-att-global-progress__track {
	height: 0.32rem;
	border-radius: 999px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.12);
}

.stm-cash-att-global-progress__fill {
	height: 100%;
	width: 0%;
	border-radius: inherit;
	background: linear-gradient(90deg, #6fb396, #a7f3d0);
	transition: width 0.25s ease;
}

.stm-cash-att-global-progress.is-done .stm-cash-att-global-progress__fill {
	background: linear-gradient(90deg, #22c55e, #86efac);
}

@media (max-width: 575.98px) {
	#stm-att-gallery-modal .stm-att-gallery__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (hover: none) {
	#stm-att-gallery-modal .stm-att-gallery__remove {
		opacity: 1;
		transform: scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	#stm-att-gallery-modal .stm-att-gallery__tile,
	#stm-att-gallery-modal .stm-att-gallery__remove,
	#stm-att-gallery-modal .stm-att-gallery__progress-fill,
	.stm-cash-att-global-progress__fill {
		transition: none;
	}
}

/* ?? Master Data (compact, selaras Laporan Kas) ?? */
#stm-dashboard-root .stm-panel--master-data {
	min-width: 0;
}

#stm-dashboard-root .stm-md-page-head {
	margin-bottom: 0.85rem;
}

#stm-dashboard-root .stm-md-tabs {
	gap: 0.35rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding-bottom: 0.15rem;
}

#stm-dashboard-root .stm-md-tabs::-webkit-scrollbar {
	display: none;
}

#stm-dashboard-root .stm-md-tabs .nav-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	white-space: nowrap;
}

#stm-dashboard-root .stm-md-tab__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.25rem;
	height: 1.15rem;
	padding: 0 0.35rem;
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 600;
	line-height: 1;
	color: var(--stm-text-muted);
	background: var(--stm-surface-muted);
}

#stm-dashboard-root .stm-md-tabs .nav-link.active .stm-md-tab__count {
	color: #fff;
	background: var(--stm-accent);
}

#stm-dashboard-root .stm-md-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
	flex-wrap: wrap;
}

#stm-dashboard-root .stm-md-toolbar__search {
	flex: 1 1 12rem;
	min-width: 0;
	max-width: 22rem;
}

#stm-dashboard-root .stm-md-toolbar__meta {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

#stm-dashboard-root .stm-md-toolbar__total {
	font-size: 0.78rem;
	color: var(--stm-text-muted);
	white-space: nowrap;
}

#stm-dashboard-root .stm-md-table td {
	vertical-align: middle;
}

/* Wargi / Undangan compact grid ? scroll ikut halaman (tanpa frame sticky) */
#stm-dashboard-root .stm-md-grid-shell {
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
	box-shadow: none;
}

#stm-dashboard-root .stm-md-grid-scroll {
	overflow-x: auto;
	overflow-y: visible;
	max-height: none;
	-webkit-overflow-scrolling: touch;
}

#stm-dashboard-root .stm-md-table--airtable {
	--md-grid-line: color-mix(in srgb, var(--stm-border, #d0d5dd) 85%, transparent);
	width: 100%;
	min-width: 32rem;
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 0.8125rem;
	line-height: 1.25;
	color: var(--stm-text, #1d2939);
	background: var(--stm-surface, #fff);
	border: 1px solid var(--stm-border, #d0d5dd);
	border-radius: 8px;
}

#stm-dashboard-root .stm-md-table--airtable > :not(caption) > * > * {
	padding: 0.15rem 0.5rem;
	border-bottom-width: 0;
	box-shadow: none;
}

#stm-dashboard-root .stm-md-table--airtable.table > :not(caption) > * > * {
	background-color: transparent;
}

#stm-dashboard-root .stm-md-table--airtable thead th {
	position: static;
	top: auto;
	z-index: auto;
	height: 1.85rem;
	padding: 0.28rem 0.5rem;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-transform: none;
	text-align: left;
	white-space: nowrap;
	color: var(--stm-text-muted, #667085);
	background: color-mix(in srgb, var(--stm-surface-muted, #f2f4f7) 92%, #fff);
	border: 0;
	border-bottom: 1px solid var(--md-grid-line);
	border-right: 1px solid var(--md-grid-line);
	box-shadow: none;
}

#stm-dashboard-root .stm-md-table--airtable thead th:last-child {
	border-right: 0;
}

#stm-dashboard-root .stm-md-table--airtable tbody td {
	height: 1.9rem;
	max-width: 0;
	padding: 0.15rem 0.5rem;
	border: 0;
	border-bottom: 1px solid var(--md-grid-line);
	border-right: 1px solid var(--md-grid-line);
	vertical-align: middle;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	background: var(--stm-surface, #fff);
}

#stm-dashboard-root .stm-md-table--airtable tbody td:last-child {
	border-right: 0;
}

#stm-dashboard-root .stm-md-table--airtable tbody tr:last-child td {
	border-bottom: 0;
}

#stm-dashboard-root .stm-md-table--airtable tbody tr:hover td {
	background: color-mix(in srgb, var(--stm-accent, #166534) 7%, #fff);
}

#stm-dashboard-root .stm-md-table--airtable tbody tr.is-dragging td {
	background: color-mix(in srgb, var(--stm-accent, #166534) 12%, #fff);
	opacity: 0.72;
}

#stm-dashboard-root .stm-md-table--airtable tbody tr.is-drag-over td {
	box-shadow: inset 0 2px 0 0 var(--stm-accent, #166534);
}

#stm-dashboard-root .stm-md-table--airtable .stm-md-col-drag {
	width: 1.6rem;
	min-width: 1.6rem;
	max-width: 1.6rem;
	padding-left: 0.2rem !important;
	padding-right: 0.1rem !important;
	text-overflow: clip;
	overflow: visible;
}

#stm-dashboard-root .stm-md-table--airtable .stm-md-col-no {
	width: 2.4rem;
	min-width: 2.4rem;
	max-width: 2.4rem;
	text-align: center;
	color: var(--stm-text-muted, #98a2b3);
	font-variant-numeric: tabular-nums;
	font-size: 0.75rem;
}

#stm-dashboard-root .stm-md-table--airtable .stm-md-col-nama {
	min-width: 10rem;
	width: 24%;
	font-weight: 600;
	color: var(--stm-text, #101828);
	overflow: visible;
}

#stm-dashboard-root .stm-md-table--airtable .stm-md-col-label {
	min-width: 6.5rem;
	width: 9rem;
	overflow: visible;
}

#stm-dashboard-root .stm-md-table--airtable .stm-md-col-lp {
	width: 3rem;
	min-width: 3rem;
	max-width: 3.25rem;
	text-align: center;
	overflow: visible;
}

#stm-dashboard-root .stm-md-table--airtable .stm-md-col-genah {
	min-width: 10rem;
	width: 34%;
	color: var(--stm-text-muted, #475467);
}

#stm-dashboard-root .stm-md-table--airtable .stm-md-col-hp {
	min-width: 7.5rem;
	width: 8.5rem;
	font-variant-numeric: tabular-nums;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.78rem;
	color: var(--stm-text-muted, #344054);
}

#stm-dashboard-root .stm-md-table--airtable .stm-md-col-aksi {
	width: 5.75rem;
	min-width: 5.75rem;
	max-width: 6.5rem;
	padding-left: 0.25rem !important;
	padding-right: 0.3rem !important;
	overflow: visible;
	text-align: right;
}

#stm-dashboard-root .stm-md-table--undangan {
	min-width: 28rem;
}

#stm-dashboard-root .stm-md-table--airtable .stm-md-col-katunasin {
	min-width: 7rem;
	width: 22%;
}

#stm-dashboard-root .stm-md-table--airtable .stm-md-col-rahina {
	min-width: 7rem;
	width: 18%;
}

#stm-dashboard-root .stm-md-lp {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.2rem;
	height: 1.15rem;
	padding: 0 0.28rem;
	border-radius: 4px;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1;
}

#stm-dashboard-root .stm-md-lp--l {
	color: #175cd3;
	background: #eff8ff;
}

#stm-dashboard-root .stm-md-lp--p {
	color: #c11574;
	background: #fdf2fa;
}

#stm-dashboard-root .stm-md-row-actions {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.1rem;
	opacity: 0.35;
	transition: opacity 0.12s ease;
}

#stm-dashboard-root .stm-md-table--airtable tbody tr:hover .stm-md-row-actions,
#stm-dashboard-root .stm-md-table--airtable tbody tr:focus-within .stm-md-row-actions {
	opacity: 1;
}

#stm-dashboard-root .stm-md-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.45rem;
	height: 1.45rem;
	padding: 0;
	border: 0;
	border-radius: 5px;
	background: transparent;
	color: var(--stm-text-muted, #667085);
	line-height: 1;
}

#stm-dashboard-root .stm-md-icon-btn:hover,
#stm-dashboard-root .stm-md-icon-btn:focus-visible {
	background: var(--stm-surface-muted, #f2f4f7);
	color: var(--stm-text, #101828);
	outline: none;
}

#stm-dashboard-root .stm-md-icon-btn--danger:hover,
#stm-dashboard-root .stm-md-icon-btn--danger:focus-visible {
	background: #fef3f2;
	color: #b42318;
}

#stm-dashboard-root .stm-md-table--airtable .stm-md-order-btns {
	display: none;
}

#stm-dashboard-root .stm-md-table--airtable .stm-table__empty {
	max-width: none;
	height: auto;
	padding: 1.5rem 0.75rem !important;
	text-align: center;
	white-space: normal;
	overflow: visible;
	border-right: 0 !important;
}

#stm-dashboard-root .stm-md-sheet .stm-cash-sheet__title-wrap {
	min-width: 0;
}

#stm-dashboard-root .stm-md-sheet .stm-cash-sheet__eyebrow {
	font-size: 0.7rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--stm-text-subtle);
}

#stm-dashboard-root .stm-md-sheet .stm-cash-sheet__title {
	font-size: 1.05rem;
	font-weight: 600;
	margin: 0.1rem 0 0;
}

@media (max-width: 991.98px) {
	#stm-dashboard-root .stm-md-tabs {
		margin-left: -0.15rem;
		margin-right: -0.15rem;
		padding-left: 0.15rem;
		padding-right: 0.15rem;
	}

	#stm-dashboard-root .stm-md-row-actions {
		opacity: 1;
	}

	#stm-dashboard-root .stm-md-table--airtable .stm-md-order-btns {
		display: inline-flex;
		flex-direction: row;
		gap: 0.05rem;
		margin-right: 0.05rem;
	}

	#stm-dashboard-root .stm-md-table--airtable .stm-md-col-aksi {
		width: 7.25rem;
		min-width: 7.25rem;
		max-width: 8rem;
	}
}

#stm-dashboard-root .stm-md-col-no {
	width: 2.75rem;
	text-align: center;
	color: var(--stm-text-muted);
	font-variant-numeric: tabular-nums;
}

#stm-dashboard-root .stm-md-ai-card {
	margin-bottom: 0.25rem;
}

#stm-dashboard-root .stm-md-ai-result {
	border-top: 1px solid var(--stm-border);
	padding-top: 0.85rem;
}

#stm-dashboard-root #stm-md-ai-preview-table {
	max-height: 16rem;
}

#stm-dashboard-root .stm-page-head__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	align-items: center;
}

#stm-dashboard-root .stm-md-order-btns {
	display: inline-flex;
	flex-direction: column;
	gap: 0.15rem;
	margin-right: 0.15rem;
}

#stm-dashboard-root .stm-md-order-btn {
	padding: 0.05rem 0.2rem !important;
	min-width: 1.35rem;
	line-height: 1;
}

#stm-dashboard-root .stm-md-order-btn:disabled {
	opacity: 0.35;
	pointer-events: none;
}

@media (min-width: 768px) {
	#stm-dashboard-root .stm-md-order-btns {
		flex-direction: row;
	}
}

#stm-dashboard-root .stm-md-col-drag {
	width: 1.75rem;
	padding-left: 0.35rem !important;
	padding-right: 0.15rem !important;
	vertical-align: middle;
}

#stm-dashboard-root .stm-md-drag-handle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: var(--stm-text-subtle, #98a2b3);
	cursor: grab;
	touch-action: none;
	user-select: none;
	opacity: 0.55;
}

#stm-dashboard-root .stm-md-table--airtable tbody tr:hover .stm-md-drag-handle,
#stm-dashboard-root .stm-md-drag-handle:hover,
#stm-dashboard-root .stm-md-drag-handle:focus-visible {
	opacity: 1;
	color: var(--stm-text, #344054);
	background: var(--stm-surface-muted, #f2f4f7);
	outline: none;
}

#stm-dashboard-root .stm-md-drag-handle:active,
#stm-dashboard-root tr.is-dragging .stm-md-drag-handle {
	cursor: grabbing;
}

#stm-dashboard-root .stm-md-row--draggable {
	transition: background 0.12s ease;
}

@supports not (background: color-mix(in srgb, #000 50%, #fff)) {
	#stm-dashboard-root .stm-md-table--airtable thead th {
		background: #f8fafc;
	}

	#stm-dashboard-root .stm-md-table--airtable tbody tr:hover td {
		background: #f0fdf4;
	}
}

/* Warna tanda + label Wargi */
#stm-dashboard-root .stm-md-nama-wrap {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	min-width: 0;
}

#stm-dashboard-root .stm-md-nama-text {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#stm-dashboard-root .stm-md-nama-warna,
#stm-dashboard-root .stm-md-warna-swatch,
.stm-md-warna-popover .stm-md-warna-swatch {
	flex: 0 0 auto;
	width: 0.85rem;
	height: 0.85rem;
	padding: 0;
	border: 1px solid rgba(16, 24, 40, 0.18);
	border-radius: 3px;
	cursor: pointer;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.25);
	appearance: none;
	-webkit-appearance: none;
}

#stm-dashboard-root .stm-md-nama-warna:disabled {
	cursor: default;
	opacity: 0.9;
}

#stm-dashboard-root .stm-md-nama-warna.is-none,
#stm-dashboard-root .stm-md-warna-swatch.is-none,
.stm-md-warna-popover .stm-md-warna-swatch.is-none {
	background: linear-gradient(135deg, transparent 46%, #d0d5dd 46%, #d0d5dd 54%, transparent 54%), #fff;
}

#stm-dashboard-root .stm-md-nama-warna.is-red,
#stm-dashboard-root .stm-md-warna-swatch.is-red,
#stm-dashboard-root .stm-md-label-chip.is-red,
.stm-md-warna-popover .stm-md-warna-swatch.is-red { --md-c: #f04438; --md-bg: #fef3f2; --md-fg: #b42318; }
#stm-dashboard-root .stm-md-nama-warna.is-orange,
#stm-dashboard-root .stm-md-warna-swatch.is-orange,
#stm-dashboard-root .stm-md-label-chip.is-orange,
.stm-md-warna-popover .stm-md-warna-swatch.is-orange { --md-c: #f79009; --md-bg: #fffaeb; --md-fg: #b54708; }
#stm-dashboard-root .stm-md-nama-warna.is-yellow,
#stm-dashboard-root .stm-md-warna-swatch.is-yellow,
#stm-dashboard-root .stm-md-label-chip.is-yellow,
.stm-md-warna-popover .stm-md-warna-swatch.is-yellow { --md-c: #eaaa08; --md-bg: #fefbe8; --md-fg: #a15c07; }
#stm-dashboard-root .stm-md-nama-warna.is-green,
#stm-dashboard-root .stm-md-warna-swatch.is-green,
#stm-dashboard-root .stm-md-label-chip.is-green,
.stm-md-warna-popover .stm-md-warna-swatch.is-green { --md-c: #12b76a; --md-bg: #ecfdf3; --md-fg: #027a48; }
#stm-dashboard-root .stm-md-nama-warna.is-teal,
#stm-dashboard-root .stm-md-warna-swatch.is-teal,
#stm-dashboard-root .stm-md-label-chip.is-teal,
.stm-md-warna-popover .stm-md-warna-swatch.is-teal { --md-c: #15b79e; --md-bg: #f0fdfa; --md-fg: #0f766e; }
#stm-dashboard-root .stm-md-nama-warna.is-blue,
#stm-dashboard-root .stm-md-warna-swatch.is-blue,
#stm-dashboard-root .stm-md-label-chip.is-blue,
.stm-md-warna-popover .stm-md-warna-swatch.is-blue { --md-c: #2e90fa; --md-bg: #eff8ff; --md-fg: #175cd3; }
#stm-dashboard-root .stm-md-nama-warna.is-purple,
#stm-dashboard-root .stm-md-warna-swatch.is-purple,
#stm-dashboard-root .stm-md-label-chip.is-purple,
.stm-md-warna-popover .stm-md-warna-swatch.is-purple { --md-c: #9e77ed; --md-bg: #f4f3ff; --md-fg: #5925dc; }
#stm-dashboard-root .stm-md-nama-warna.is-pink,
#stm-dashboard-root .stm-md-warna-swatch.is-pink,
#stm-dashboard-root .stm-md-label-chip.is-pink,
.stm-md-warna-popover .stm-md-warna-swatch.is-pink { --md-c: #ee46bc; --md-bg: #fdf2fa; --md-fg: #c11574; }
#stm-dashboard-root .stm-md-nama-warna.is-gray,
#stm-dashboard-root .stm-md-warna-swatch.is-gray,
#stm-dashboard-root .stm-md-label-chip.is-gray,
.stm-md-warna-popover .stm-md-warna-swatch.is-gray { --md-c: #98a2b3; --md-bg: #f2f4f7; --md-fg: #344054; }

#stm-dashboard-root .stm-md-nama-warna:not(.is-none),
#stm-dashboard-root .stm-md-warna-swatch:not(.is-none),
.stm-md-warna-popover .stm-md-warna-swatch:not(.is-none) {
	background-color: var(--md-c);
	background-image: none;
}

/* Warna eksplisit di popover (di luar #stm-dashboard-root) */
.stm-md-warna-popover .stm-md-warna-swatch.is-red { background-color: #f04438; }
.stm-md-warna-popover .stm-md-warna-swatch.is-orange { background-color: #f79009; }
.stm-md-warna-popover .stm-md-warna-swatch.is-yellow { background-color: #eaaa08; }
.stm-md-warna-popover .stm-md-warna-swatch.is-green { background-color: #12b76a; }
.stm-md-warna-popover .stm-md-warna-swatch.is-teal { background-color: #15b79e; }
.stm-md-warna-popover .stm-md-warna-swatch.is-blue { background-color: #2e90fa; }
.stm-md-warna-popover .stm-md-warna-swatch.is-purple { background-color: #9e77ed; }
.stm-md-warna-popover .stm-md-warna-swatch.is-pink { background-color: #ee46bc; }
.stm-md-warna-popover .stm-md-warna-swatch.is-gray { background-color: #98a2b3; }

#stm-dashboard-root .stm-md-warna-picker {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.25rem;
}

#stm-dashboard-root .stm-md-warna-picker .stm-md-warna-swatch {
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 5px;
}

#stm-dashboard-root .stm-md-warna-picker .stm-md-warna-swatch.is-active,
.stm-md-warna-popover .stm-md-warna-swatch.is-active {
	outline: 2px solid var(--stm-accent, #166534);
	outline-offset: 1px;
}

.stm-md-warna-popover {
	position: absolute;
	z-index: 1080;
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem;
	width: 9.2rem;
	padding: 0.45rem;
	border: 1px solid #d0d5dd;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(16, 24, 40, 0.14);
}

.stm-md-warna-popover .stm-md-warna-swatch {
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 4px;
}

#stm-dashboard-root .stm-md-label-chip {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	height: 1.25rem;
	padding: 0 0.4rem;
	border-radius: 4px;
	font-size: 0.68rem;
	font-weight: 600;
	line-height: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--md-fg, #344054);
	background: var(--md-bg, #f2f4f7);
}

#stm-dashboard-root .stm-md-table--airtable .stm-md-col-label.is-empty {
	color: var(--stm-text-subtle, #98a2b3);
}

/* Tambah undangan dari Wargi */
#stm-dashboard-root .stm-md-from-wargi-banner {
	padding: 0.55rem 0.65rem;
	border: 1px dashed var(--stm-border, #d0d5dd);
	border-radius: 8px;
	background: color-mix(in srgb, var(--stm-surface-muted, #f2f4f7) 70%, #fff);
}

#stm-dashboard-root .stm-md-fw-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.55rem;
}

#stm-dashboard-root .stm-md-fw-toolbar__search {
	flex: 1 1 12rem;
	min-width: 0;
}

#stm-dashboard-root .stm-md-fw-toolbar__actions {
	display: flex;
	gap: 0.25rem;
	flex-wrap: wrap;
}

#stm-dashboard-root .stm-md-fw-skip {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

#stm-dashboard-root .stm-md-fw-list-wrap {
	border: 1px solid var(--stm-border, #d0d5dd);
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

#stm-dashboard-root .stm-md-fw-list-meta {
	padding: 0.4rem 0.65rem;
	border-bottom: 1px solid var(--stm-border, #eaecf0);
	background: #f8fafc;
}

#stm-dashboard-root .stm-md-fw-list {
	max-height: min(48vh, 22rem);
	overflow: auto;
	margin: 0;
	padding: 0;
}

#stm-dashboard-root .stm-md-fw-item {
	border-bottom: 1px solid var(--stm-border, #eaecf0);
}

#stm-dashboard-root .stm-md-fw-item:last-child {
	border-bottom: 0;
}

#stm-dashboard-root .stm-md-fw-item__lab {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	margin: 0;
	padding: 0.45rem 0.65rem;
	cursor: pointer;
}

#stm-dashboard-root .stm-md-fw-item__lab:hover {
	background: #f8fafc;
}

#stm-dashboard-root .stm-md-fw-item.is-dup .stm-md-fw-item__name {
	color: var(--stm-text-muted, #667085);
}

#stm-dashboard-root .stm-md-fw-item__body {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

#stm-dashboard-root .stm-md-fw-item__name {
	font-size: 0.84rem;
	font-weight: 600;
	line-height: 1.25;
}

#stm-dashboard-root .stm-md-fw-item__meta {
	font-size: 0.72rem;
	color: var(--stm-text-muted, #667085);
}

#stm-dashboard-root .stm-md-fw-empty {
	padding: 1rem 0.75rem;
	text-align: center;
	list-style: none;
}

#stm-dashboard-root .stm-md-fw-check {
	margin-top: 0.15rem;
}
