@font-face {
	font-family: Outfit;
	src: url('../fonts/outfit-variable.ttf') format('truetype');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
:root {
	--bg: #f4f7fb;
	--surface: #ffffff;
	--text: #22364f;
	--muted: #61748a;
	--border: #dce5ef;
	--accent: #2468aa;
	--soft: #edf4fc;
	--yellow: #e8f1fb;
	--green: #2b6d58;
	--red: #ad3c4b;
	--rail: #142e49;
	--rail-text: #c3d3e5;
	--rail-active: #2266a6;
	--fina-blue: #2268ad;
}
body.dark, body.dark-mode {
	--bg: #101b2b;
	--surface: #19283b;
	--text: #e5edf7;
	--muted: #a8b9cf;
	--border: #304359;
	--accent: #8ac5ff;
	--soft: #223952;
	--yellow: #253e59;
	--green: #a2dcbc;
	--red: #ffb0bd;
	--rail: #0d1b2d;
	--rail-text: #bfcfe3;
	--rail-active: #1d578f;
}
body, button, input, select, textarea, .table, svg text {
	font-family: Outfit, Arial, sans-serif;
}
body, button, input, select, textarea {
	font-size: 13px;
}
body, .content-wrapper, body.dark-mode .content-wrapper {
	background: var(--bg) !important;
	color: var(--text);
}
h1, .content-header h1 {
	font-size: 21px;
	font-weight: 600;
	letter-spacing: -0.35px;
	line-height: 1.4;
}
h2 {
	font-size: 22px;
	font-weight: 600;
}
h3 {
	font-size: 15px;
	font-weight: 600;
}
.fina-icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	display: inline-block;
	vertical-align: middle;
}
.fina-kicker, .eyebrow {
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 1.4px;
}
.btn, button, input, select, textarea, .card {
	border-radius: 9px;
}
.btn-primary, .primary, .nav-pills .nav-link.active {
	background: var(--fina-blue) !important;
	border-color: var(--fina-blue) !important;
	color: #ffffff !important;
}
.btn-primary:hover, .primary:hover {
	background: #1b5794 !important;
}
.btn-outline-secondary, .outline {
	color: var(--text) !important;
	background: var(--surface) !important;
	border-color: var(--border) !important;
}
.btn-outline-secondary:hover, .outline:hover {
	background: var(--soft) !important;
}
input:focus-visible, select:focus-visible, button:focus-visible, a:focus-visible {
	outline: 2px solid #76aee3;
	outline-offset: 3px;
}
.form-control:focus {
	border-color: #76aee3 !important;
	box-shadow: 0 0 0 3px #6aa6df2b;
}
body input:is(:autofill, :-webkit-autofill):focus {
	-webkit-box-shadow: 0 0 0 1000px var(--field-background, var(--surface)) inset, 0 0 0 3px #6aa6df2b !important;
	box-shadow: 0 0 0 1000px var(--field-background, var(--surface)) inset, 0 0 0 3px #6aa6df2b !important;
}
.card {
	box-shadow: 0 3px 14px #18364e08;
	border: 1px solid var(--border);
}
.content-header {
	padding: 22px 26px 16px !important;
}
.content {
	padding: 0 26px 24px !important;
}
.fina-topbar {
	min-height: 60px;
	padding: 9px 18px;
	border-bottom: 1px solid var(--border);
	gap: 12px;
}
.fina-menu-toggle, .fina-logout-top {
	width: 34px;
	height: 34px;
	padding: 7px;
	color: var(--muted);
	background: transparent;
	border: 1px solid var(--border);
}
.fina-menu-toggle .fina-icon, .fina-logout-top .fina-icon {
	width: 17px;
	height: 17px;
}
.fina-topbar-title {
	display: grid;
	gap: 2px;
	color: var(--text);
	font-size: 13px;
}
.fina-topbar-title .fina-kicker {
	color: var(--muted);
	font-size: 8px;
}
.fina-topbar-actions {
	gap: 13px;
}
.fina-topbar-actions [data-theme] {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 10px;
	font-size: 11px;
}
.fina-topbar-actions [data-theme] .fina-icon {
	width: 15px;
	height: 15px;
}
.fina-user-name {
	font-size: 11px;
	color: var(--muted);
}
[data-dark-icon] {
	display: none;
}
body.dark [data-dark-icon] {
	display: inline-flex;
}
body.dark [data-light-icon] {
	display: none;
}
body .main-sidebar.fina-rail {
	background: var(--rail) !important;
	width: 104px !important;
	height: 100vh;
	height: 100dvh;
	position: fixed;
	top: 0;
	left: 0;
	margin: 0 !important;
	border-right: 1px solid #ffffff0d;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	z-index: 1038;
}
.fina-rail .fina-rail-brand {
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	gap: 7px;
	padding: 18px 6px 12px;
	border-bottom: 0;
	color: #ffffff !important;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1.8px;
}
.fina-rail .fina-rail-brand img {
	margin: 0;
	opacity: 1;
}
body .fina-rail .sidebar {
	padding: 0 7px;
	width: 100%;
	height: auto !important;
	flex: 1;
	overflow-y: auto;
	overflow-x: hidden;
}
.fina-rail-role {
	text-align: center;
	color: #c3d3e5;
	font-size: 9px;
	margin: 0 0 14px;
}
.fina-rail .nav-sidebar {
	width: 100% !important;
	padding: 0;
}
.fina-rail .nav-item {
	width: 100%;
	margin-bottom: 6px;
}
body .fina-rail .nav-sidebar .nav-link {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 7px;
	width: 100% !important;
	min-height: 64px;
	padding: 11px 5px;
	margin: 0;
	color: var(--rail-text) !important;
	font-size: 10.5px;
	line-height: 1.2;
	text-align: center;
	white-space: normal;
	border-radius: 10px;
}
body .fina-rail .nav-link:hover {
	background: #ffffff0c !important;
	color: #fff !important;
}
body .fina-rail .nav-sidebar .nav-link.active {
	background: var(--rail-active) !important;
	color: #ffffff !important;
	box-shadow: none;
}
body .fina-rail .nav-link.active::before {
	content: '';
	width: 3px;
	height: 24px;
	background: #9bd8ff;
	position: absolute;
	left: 0;
	border-radius: 0 3px 3px 0;
}
.fina-rail .nav-link .fina-icon {
	width: 19px;
	height: 19px;
}
.fina-rail-foot {
	display: grid;
	text-align: center;
	gap: 2px;
	color: #c3d3e5;
	padding: 12px 4px;
	font-size: 9px;
	border-top: 1px solid #ffffff12;
}
.fina-rail-foot small {
	color: #c3d3e5;
	font-size: 9px;
}
.fina-app-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	padding: 14px 25px;
	font-size: 11px;
	color: var(--muted) !important;
}
.fina-app-footer strong {
	color: var(--text);
	font-weight: 600;
}
.fina-version {
	background: var(--soft);
	border: 1px solid var(--border);
	padding: 3px 9px;
	border-radius: 20px;
	color: var(--text);
	font-size: 10px;
}
.fina-public-footer {
	text-align: center;
	padding: 25px 15px;
	color: var(--muted);
	font-size: 11px;
}
.fina-public-footer span {
	margin-left: 10px;
	color: var(--accent);
}
#studioRoot {
	border-radius: 14px;
}
#studioRoot .workspace-main {
	padding: 22px 24px;
}
#studioRoot .workspace-sidebar {
	display: grid;
	grid-template-columns: minmax(160px, 1fr) auto;
	gap: 12px;
	align-items: end;
	width: auto;
	min-width: 0;
	border-right: 0;
	border-bottom: 1px solid var(--border);
	padding: 16px 22px;
}
#studioRoot {
	display: block;
}
#studioRoot .workspace-sidebar > .brand, #studioRoot .workspace-sidebar > .eyebrow, #studioRoot .workspace-sidebar .aside-bottom {
	display: none;
}
#studioRoot .workspace-sidebar > label {
	max-width: 390px;
	margin: 0;
}
#studioRoot .workspace-sidebar select {
	font-size: 12px;
	height: 37px;
	margin-top: 6px;
}
#studioRoot .workspace-sidebar nav {
	grid-column: 1 / -1;
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
	margin: 0;
}
#studioRoot .workspace-sidebar nav button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 12px;
	font-size: 11px;
	margin: 0;
}
#studioRoot .workspace-sidebar nav button .fina-icon {
	width: 14px;
	height: 14px;
}
#studioRoot .workspace-sidebar nav button.active {
	background: var(--soft);
	color: var(--accent);
}
#studioRoot .actions > button, #studioRoot .actions select {
	font-size: 12px;
}
#studioRoot .workspace-main > header h1 {
	font-size: 21px;
	margin: 8px 0;
	font-weight: 600;
}
#studioRoot .workspace-main > header p {
	font-size: 11px;
}
#studioRoot .panel h3 {
	font-size: 15px;
}
#studioRoot table {
	font-size: 11px;
}
#studioRoot th {
	font-size: 10px;
}
#studioRoot td input {
	width: 170px;
	font-size: 12px;
}
#studioRoot .workspace-main footer {
	font-size: 10px;
}
#studioRoot .link {
	font-size: 10px;
}
#financeDashboard {
	--fin-positive: #2c6c57;
	--fin-negative: #aa3c4d;
	--fin-positive-bg: #e8f4ef;
	--fin-warning-bg: #f8e9ed;
	--fin-kpi-tint: #ffffff80;
	margin-top: 21px;
}
body.dark #financeDashboard {
	--fin-positive: #a4dec2;
	--fin-negative: #ffb6c2;
	--fin-positive-bg: #203d38;
	--fin-warning-bg: #462d3b;
	--fin-kpi-tint: #ffffff0b;
}
#financeDashboard .fin-intro {
	margin-bottom: 17px;
}
#financeDashboard .fin-intro h2 {
	font-size: 19px;
	letter-spacing: -0.2px;
	margin: 7px 0 5px;
}
#financeDashboard .fin-eyebrow {
	font-size: 8px;
	letter-spacing: 1.2px;
	color: var(--accent);
}
#financeDashboard .fin-kpis {
	gap: 14px;
}
#financeDashboard .fin-kpi {
	--tile-bg: #e8f1fc;
	--tile-text: #214467;
	--tile-border: #d7e5f7;
	background: var(--tile-bg);
	color: var(--tile-text);
	border: 1px solid var(--tile-border);
	border-radius: 12px;
	padding: 18px 19px;
	box-shadow: 0 3px 13px #19374f04;
}
#financeDashboard .fin-tone-gold {
	--tile-bg: #e9f4f2;
	--tile-text: #28524b;
	--tile-border: #d6e9e5;
}
#financeDashboard .fin-tone-slate {
	--tile-bg: #eeeefa;
	--tile-text: #42496e;
	--tile-border: #e1e1f2;
}
#financeDashboard .fin-tone-green {
	--tile-bg: #e8f3fb;
	--tile-text: #264e6b;
	--tile-border: #d6e8f4;
}
#financeDashboard .fin-tone-rose {
	--tile-bg: #f8edf0;
	--tile-text: #754052;
	--tile-border: #efdbe2;
}
body.dark #financeDashboard .fin-kpi {
	--tile-bg: #1c3653;
	--tile-text: #d8eaff;
	--tile-border: #2d4b6e;
}
body.dark #financeDashboard .fin-tone-gold {
	--tile-bg: #1c3a39;
	--tile-text: #c9e9e2;
	--tile-border: #2c514a;
}
body.dark #financeDashboard .fin-tone-slate {
	--tile-bg: #2a304e;
	--tile-text: #dce1fa;
	--tile-border: #404768;
}
body.dark #financeDashboard .fin-tone-green {
	--tile-bg: #1c3547;
	--tile-text: #cce7f8;
	--tile-border: #305064;
}
body.dark #financeDashboard .fin-tone-rose {
	--tile-bg: #3e2d40;
	--tile-text: #f2dce6;
	--tile-border: #584059;
}
#financeDashboard .fin-kpi-label, #financeDashboard .fin-kpi p {
	color: var(--tile-text);
}
#financeDashboard .fin-kpi-label {
	font-size: 11px;
}
#financeDashboard .fin-kpi > strong {
	font-size: clamp(18px, 1.55vw, 23px);
	font-weight: 600;
	margin: 10px 0 6px;
	letter-spacing: -0.2px;
}
#financeDashboard .fin-kpi-icon {
	color: var(--tile-text);
	background: var(--fin-kpi-tint);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 29px;
	width: 29px;
	padding: 6px;
}
#financeDashboard .fin-kpi-icon svg {
	width: 17px;
	height: 17px;
}
#financeDashboard p {
	font-size: 11px;
}
#financeDashboard h3 {
	font-size: 14px;
	font-weight: 600;
}
#financeDashboard .fin-panel {
	padding: 20px;
	border-radius: 12px;
}
#financeDashboard .fin-insights strong {
	font-size: 15px;
	font-weight: 600;
}
#financeDashboard .fin-completeness {
	font-size: 24px;
	font-weight: 600;
}
#financeDashboard .fin-axis {
	font-family: Outfit, Arial, sans-serif;
	fill: var(--muted);
}
#financeDashboard .fin-revenue-bar, #financeDashboard .fin-legend-revenue {
	fill: #76a8db;
	background: #76a8db;
}
#financeDashboard .fin-profit-line {
	stroke: #589a92;
}
#financeDashboard .fin-profit-dot {
	fill: #589a92;
}
#financeDashboard .fin-legend-profit {
	background: #589a92;
}
#financeDashboard .fin-progress span {
	background: #568bc5;
}
#financeDashboard .fin-month-table {
	border: 1px solid var(--border);
	border-radius: 9px;
}
#financeDashboard .fin-month-table th {
	font-size: 10px;
}
#financeDashboard .fin-month-table td {
	font-size: 11px;
}
.landing-hero h1 {
	font-size: 30px;
	line-height: 1.4;
	font-weight: 600;
}
.landing .sample-card {
	background: var(--soft);
}
.visual-bars i {
	background: #6a9ed2;
}
.visual-bars i:nth-child(2), .visual-bars i:nth-child(4) {
	background: #a0c9ed;
}
.brand-public, .public-nav a {
	color: var(--accent);
	font-weight: 600;
}
@media screen and (min-width: 768px) {
	body:not(.sidebar-collapse) .wrapper > .main-header, body:not(.sidebar-collapse) .wrapper > .content-wrapper, body:not(.sidebar-collapse) .wrapper > .main-footer {
		margin-left: 104px !important;
	}
	body.sidebar-collapse .wrapper > .main-header, body.sidebar-collapse .wrapper > .content-wrapper, body.sidebar-collapse .wrapper > .main-footer {
		margin-left: 0 !important;
	}
	body .main-sidebar.fina-rail {
		transform: translateX(0) !important;
	}
	body.sidebar-collapse .main-sidebar.fina-rail {
		transform: translateX(-104px) !important;
	}
}
@media screen and (max-width: 767.98px) {
	body .wrapper > .main-header, body .wrapper > .content-wrapper, body .wrapper > .main-footer {
		margin-left: 0 !important;
	}
	body:not(.sidebar-open) .main-sidebar.fina-rail {
		transform: translateX(-104px) !important;
	}
	body.sidebar-open .main-sidebar.fina-rail {
		transform: translateX(0) !important;
	}
	.fina-topbar-title {
		display: none;
	}
	.fina-user-name {
		display: none;
	}
	.fina-topbar {
		gap: 8px;
		padding: 9px 12px;
	}
	.fina-topbar-actions {
		gap: 8px;
	}
	.main-header [data-theme-label] {
		display: inline !important;
	}
	.content-header {
		padding: 18px 15px 12px !important;
	}
	.content {
		padding: 0 12px 20px !important;
	}
	#studioRoot .workspace-main {
		padding: 18px 14px;
	}
	#studioRoot .workspace-sidebar {
		grid-template-columns: minmax(0, 1fr);
		padding: 15px;
	}
	#studioRoot .workspace-sidebar > label {
		max-width: none;
	}
	#studioRoot .workspace-sidebar nav button {
		padding: 8px;
		font-size: 10px;
	}
	#financeDashboard .fin-kpi {
		padding: 14px;
	}
	#financeDashboard .fin-kpi > strong {
		font-size: 18px;
	}
	.fina-app-footer {
		padding: 13px 15px;
		font-size: 10px;
	}
}
@media print {
	body, #report, #report table, #report small, svg text {
		font-family: Outfit, Arial, sans-serif !important;
	}
	.fina-rail, .fina-topbar, .fina-app-footer, .fina-public-footer {
		display: none !important;
	}
	#report th, #report tr.total td {
		background: #e9f1fb !important;
	}
	#report .neg {
		color: #963749 !important;
	}
}
.fina-topbar [data-light-icon] {
	display: inline-flex;
}
body.dark .fina-topbar [data-light-icon] {
	display: none;
}
.fina-rail-close {
	display: none;
}
@media screen and (max-width: 767.98px) {
	.fina-rail-close {
		display: inline-flex;
		position: absolute;
		top: 4px;
		right: 3px;
		padding: 4px;
		width: 23px;
		height: 23px;
		color: #d8e8fa;
		background: transparent;
		border: 0;
		z-index: 2;
	}
	.fina-rail-close .fina-icon {
		width: 15px;
		height: 15px;
	}
}
body.dark, body.dark-mode {
	background: var(--bg) !important;
	color: var(--text);
}
@media screen and (max-width: 767.98px) {
	#studioRoot[data-active-view] .workspace-sidebar {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
		gap: 10px;
	}
	#studioRoot[data-active-view] .workspace-sidebar nav {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 3px;
	}
	#studioRoot[data-active-view] .workspace-sidebar nav button {
		flex-shrink: 0;
		white-space: nowrap;
	}
	#studioRoot[data-active-view] #addCompany {
		font-size: 0;
		width: 39px;
		height: 38px;
		padding: 0;
	}
	#studioRoot[data-active-view] #addCompany::after {
		content: '+';
		font-size: 21px;
		line-height: 1;
	}
	#studioRoot[data-active-view='dashboard'] .workspace-main > header > div:first-child {
		display: none;
	}
	#financeDashboard .fin-intro > div:first-child {
		display: none;
	}
	#financeDashboard .fin-period-status {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 10px;
	}
	#financeDashboard .fin-intro {
		margin-bottom: 14px;
	}
}
