
:root {
		--green-500: #00D09B; --green-400: #39E0B4; --green-600: #00B586; --green-900: #06231B;
	--ink-950: #0A0C0B; --ink-900: #101413; --ink-850: #141A18; --ink-800: #1E2523; --ink-700: #2A332F;
	--gray-400: #8FA09B; --gray-300: #B9C6C2; --gray-100: #F2F5F4;
	--red-400: #F26D6D; --amber-400: #F5B950; --blue-400: #8AA2DB;
		--teal-400: #38C2D6; --violet-400: #B08CE8; --pink-400: #EE7FB8; --orange-400: #F2924E;
		--surface-page: var(--ink-950); --surface-card: var(--ink-900); --surface-raised: var(--ink-850);
	--surface-glass: rgba(16,20,19,.30); --blur-glass: blur(9px) saturate(1.15);
	--border-default: var(--ink-800); --border-strong: var(--ink-700);
	--text-primary: var(--gray-100); --text-secondary: var(--gray-300); --text-muted: var(--gray-400);
	--accent: var(--green-500); --accent-hover: var(--green-400); --accent-pressed: var(--green-600); --on-accent: var(--green-900);
	--focus-ring: 0 0 0 2px rgba(var(--accent-rgb),.45);
	--glow-accent: 0 0 18px rgba(var(--accent-rgb),.55);
	--glow-border: 0 0 10px rgba(var(--accent-rgb),.65), 0 0 26px rgba(var(--accent-rgb),.3), inset 0 0 8px rgba(var(--accent-rgb),.22);
	--glow-white: 0 0 10px rgba(var(--secondary-rgb),.5), 0 0 26px rgba(var(--secondary-rgb),.22), inset 0 0 8px rgba(var(--secondary-rgb),.18);
	--success: var(--green-500); --danger: var(--red-400); --warning: var(--amber-400);
		--font-display: 'Space Grotesk', ui-sans-serif, sans-serif;
	--font-body: 'Instrument Sans', ui-sans-serif, sans-serif;
	--font-mono: 'IBM Plex Mono', ui-monospace, monospace;
	--text-display: 600 44px/1.1 var(--font-display); --ls-display: -0.03em;
	--text-h1: 600 28px/1.2 var(--font-display); --ls-h1: -0.02em;
	--text-h2: 600 20px/1.3 var(--font-display); --ls-h2: -0.01em;
	--text-body: 400 15px/1.55 var(--font-body);
	--text-body-strong: 600 15px/1.55 var(--font-body);
	--text-small: 400 13px/1.45 var(--font-body);
	--text-label: 500 12px/1.2 var(--font-body); --ls-label: 0.04em;
	--text-num: 500 15px/1.4 var(--font-body);
	--text-code: 400 13px/1.5 var(--font-mono);
		--space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
	--radius-s: 6px; --radius-m: 10px; --radius-l: 16px; --radius-tile: 22%;
	--shadow-card: 0 8px 30px rgba(0,0,0,.4); --shadow-pop: 0 20px 60px rgba(0,0,0,.5);
		--accent-rgb: 0,208,155;
	--secondary-rgb: 242,245,244;
	--overlay-rgb: 10,12,11;
	--popover-bg: var(--ink-900);
	--modal-bg: var(--modal-bg);
	--tooltip-bg: rgba(6,35,27,.92);
	--tooltip-text: var(--green-500);
	--scrollbar: var(--ink-700);
	--disabled: var(--ink-700);
	--nav-glass: var(--nav-glass);
	--topbar-glass: var(--topbar-glass);
	--paper: #F5F5F2;
	--wave-alpha: 1;
	--scheme: dark;
		--nav-width: 114px; --nav-width-collapsed: 114px;
		--nav-active-bg: linear-gradient(180deg, rgba(0,208,155,.24), rgba(0,208,155,.06));
	--nav-active-edge: inset 0 0 0 1px rgba(0,208,155,.18);
	--icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238FA09B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z'/%3E%3C/svg%3E");
	--icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238FA09B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
	--icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306231B' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.75l6 6 9-13.5'/%3E%3C/svg%3E");
	--icon-chevron-accent: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300D09B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
	--icon-dots: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='12' cy='5' r='1.7'/%3E%3Ccircle cx='12' cy='12' r='1.7'/%3E%3Ccircle cx='12' cy='19' r='1.7'/%3E%3C/svg%3E");
	--icon-cloud-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16.5V9.75m0 0l3 3m-3-3l-3 3M6.75 19.5a4.5 4.5 0 01-1.41-8.775 5.25 5.25 0 0110.233-2.33 3 3 0 013.758 3.848A3.752 3.752 0 0118 19.5H6.75z'/%3E%3C/svg%3E");
	--icon-paperclip: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18.375 12.739l-7.693 7.693a4.5 4.5 0 01-6.364-6.364l10.94-10.94A3 3 0 1119.5 7.372L8.552 18.32m.009-.01l-.01.01m5.699-9.941l-7.81 7.81a1.5 1.5 0 002.112 2.13'/%3E%3C/svg%3E");
}

[data-theme="light"] {
	--surface-page: #EEF2F1; --surface-card: #FFFFFF; --surface-raised: #F4F7F6;
	--surface-glass: rgba(255,255,255,.55);
	--border-default: #DCE4E1; --border-strong: #C3CFCA;
	--text-primary: #0F1513; --text-secondary: #33403B; --text-muted: #66756F;
	--accent: #00A87D; --accent-hover: #00B586; --accent-pressed: #008F6B; --on-accent: #FFFFFF;
	--focus-ring: 0 0 0 2px rgba(0,168,125,.4); --glow-accent: 0 0 18px rgba(0,168,125,.4);
	--glow-border: 0 0 10px rgba(0,168,125,.5), 0 0 26px rgba(0,168,125,.22), inset 0 0 8px rgba(0,168,125,.16);
	--glow-white: 0 0 10px rgba(15,21,19,.18), 0 0 26px rgba(15,21,19,.08), inset 0 0 8px rgba(15,21,19,.06);
	--success: #00A87D; --danger: #D9534F; --warning: #C98A1B; --blue-400: #5B78C7;
	--teal-400: #13899A; --violet-400: #8A5CD6; --pink-400: #CC4A8C; --orange-400: #D46A22;
	--shadow-card: 0 8px 30px rgba(15,21,19,.10); --shadow-pop: 0 20px 60px rgba(15,21,19,.18);
	--accent-rgb: 0,168,125;
	--secondary-rgb: 15,21,19;
	--overlay-rgb: 238,242,241;
	--popover-bg: #FFFFFF;
	--modal-bg: rgba(255,255,255,.86);
	--tooltip-bg: rgba(255,255,255,.96);
	--tooltip-text: #008F6B;
	--scrollbar: #C3CFCA;
	--disabled: #C3CFCA;
	--nav-glass: rgba(238,242,241,.94);
	--topbar-glass: rgba(238,242,241,.85);
	--wave-alpha: .55;
	--scheme: light;
	--icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2366756F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z'/%3E%3C/svg%3E");
	--icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2366756F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
	--icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.75l6 6 9-13.5'/%3E%3C/svg%3E");
	--icon-chevron-accent: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300A87D' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
}

[class*="entypo-"]:before {
	font-family: 'entypo', sans-serif;
}


html {
	height: 100%;
	min-width: 320px;
	overflow-x: hidden;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	color-scheme: var(--scheme);
}
body {
	margin: 0;
	padding: 0;
	min-height: 100%;
	min-width: 320px;
	background: var(--surface-page);
	color: var(--text-primary);
	font: var(--text-body);
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
	overflow-x: hidden;
}
body * {
	box-sizing: border-box;
}
::-webkit-scrollbar {
	width: 0;
	height: 0;
	display: none;
}
* {
	scrollbar-width: none;
}
::selection {
	background: rgba(var(--accent-rgb),.35);
	color: var(--text-primary);
}
#bg-waves {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
}
[data-bg="schlicht"] #bg-waves {
	display: none;
}
h1, h2, h3, h4 {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--text-primary);
	margin: 0;
}
h1 {
	font: var(--text-h1);
	letter-spacing: var(--ls-h1);
}
h2 {
	font: var(--text-h2);
	letter-spacing: var(--ls-h2);
}
h3 {
	font: 600 16px/1.3 var(--font-display);
	letter-spacing: -0.01em;
}
h4 {
	font: 600 14px/1.3 var(--font-display);
}
p {
	margin: 0 0 12px 0;
}
p:last-child {
	margin-bottom: 0;
}
strong {
	font-weight: 600;
}
a {
	cursor: pointer;
	text-decoration: none;
	color: var(--accent);
	transition: color .15s;
}
a:hover {
	color: var(--accent-hover);
}
ul, ol {
	padding-left: 24px;
}
.center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.clear {
	clear: both;
}
.inline {
	display: inline-block;
}
.euro:after {
	content: ' €';
}
.icon {
	flex-shrink: 0;
	vertical-align: middle;
}

@keyframes bc-glow-in {
	from { box-shadow: 0 0 0 rgba(var(--accent-rgb),0); }
	to { box-shadow: var(--glow-border); }
}
@keyframes bc-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes bc-pop-in {
	from { opacity: 0; transform: translateY(14px) scale(.97); }
	to { opacity: 1; transform: none; }
}
@keyframes bc-label-in {
	0% { opacity: 0; margin-top: 14px; }
	40% { opacity: 0; }
	100% { opacity: 1; margin-top: 0; }
}
@keyframes bc-row-in {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}
@keyframes bc-widget-in {
	from { opacity: 0; transform: scale(1.2); }
	to { opacity: 1; transform: scale(1); }
}
@keyframes bc-slide-in {
	from { opacity: 0; transform: translateX(-32px); }
	to { opacity: 1; transform: none; }
}
@keyframes bc-drop-in {
	from { opacity: 0; transform: translateY(-16px); }
	to { opacity: 1; transform: none; }
}
@keyframes bc-charge {
	from { transform: scaleY(0); }
	to { transform: scaleY(1); }
}


aside.nav {
	position: fixed;
	left: 0;
	top: 0;
	height: 100%;
	width: var(--nav-width);
	padding: 20px 16px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	z-index: 600;
	transition: width .25s ease, transform .25s ease;
}
body.signed_out aside.nav {
	display: none;
}
@media (min-width: 771px) {
		body aside.nav {
		animation: bc-slide-in .5s cubic-bezier(.2,.8,.3,1) backwards;
	}
}

body.nav-collapsed aside.nav {
	width: var(--nav-width-collapsed);
}
@media (max-width: 1179px) {
	body:not(.static) aside.nav {
		width: var(--nav-width-collapsed);
	}
}

@media (max-width: 770px) {
	body:not(.static) aside.nav {
		width: var(--nav-width-collapsed);
		transform: none;
	}
}

aside .logo {
	display: flex;
	align-items: center;
	gap: 14px;
	white-space: nowrap;
	cursor: pointer;
	height: 42px;
}
.logo .app_icon {
	width: 42px;
	min-width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-m);
	overflow: hidden;
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
}
.logo .app_icon img {
	display: block;
	width: 100%;
	height: 100%;
}
.wordmark {
	font: 600 26px/1 var(--font-display);
	letter-spacing: -0.03em;
	white-space: nowrap;
}
.wordmark .bill {
	color: var(--text-primary);
}
.wordmark .creator {
	color: var(--accent);
}
body.nav-collapsed aside .wordmark,
body.nav-collapsed aside nav .title:not(.account_menu .title) {
	display: none;
}
@media (max-width: 1179px) {
	body:not(.static) aside .wordmark,
	body:not(.static) aside nav .title:not(.account_menu .title) {
		display: none;
	}
}

aside nav {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: 0;
	margin: 0;
}
aside nav .nav_container {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 0;
}
aside nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
aside nav ul li a {
	display: flex;
	align-items: center;
	gap: 14px;
	white-space: nowrap;
	color: var(--text-secondary);
	font: 500 14px/1 var(--font-body);
	transition: color .15s;
}
aside nav ul li.muted a {
	color: var(--text-muted);
}
aside nav ul li a:hover {
	color: var(--text-primary);
}
aside nav ul li.active a {
	color: var(--accent);
	font-weight: 600;
}
aside nav .nav_icon {
	position: relative;
	width: 42px;
	min-width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-m);
	color: inherit;
	transition: background .15s;
}
aside nav ul li.active .nav_icon {
	background: rgba(var(--accent-rgb),.08);
	color: var(--accent);
	animation: bc-glow-in .3s ease .4s both;
}
aside nav .nav_icon .trace {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: visible;
}
aside nav .container {
	padding-top: 20px;
}
aside nav li.collapse_nav .icon {
	transition: transform .25s;
}
body.nav-collapsed aside nav li.collapse_nav .icon {
	transform: rotate(180deg);
}
@media (max-width: 1179px) {
	body:not(.static) aside nav li.collapse_nav {
		display: none;
	}
}
@media (max-width: 770px) {
	body:not(.static) aside nav li.collapse_nav {
		display: none;
	}
}

.theme_toggle .icon-moon,
[data-theme="light"] .theme_toggle .icon-sun {
	display: none;
}
[data-theme="light"] .theme_toggle .icon-moon {
	display: block;
}
[data-theme="light"] #bg-waves {
	opacity: var(--wave-alpha);
}


@media (min-width: 771px) {
	aside.nav {
		width: var(--nav-width);
		padding: 20px 26px;
		align-items: center;
		overflow: visible;
	}
	aside.nav .logo {
		gap: 0;
	}
	aside.nav .wordmark,
	aside.nav nav li.collapse_nav,
	aside.nav nav .title:not(.account_menu .title),
	aside.nav nav .nav_icon .trace {
		display: none;
	}
	aside.nav nav {
		align-items: center;
	}
	aside.nav nav .container {
		padding-top: 0;
	}
	aside.nav nav ul.primary,
	aside.nav nav ul.secondary {
		position: relative;
		isolation: isolate;
		width: 62px;
		padding: 5px;
		gap: 2px;
		box-sizing: border-box;
		align-items: center;
		border: 1px solid var(--border-default);
		border-radius: 999px;
	}
	aside.nav nav ul.primary::before,
	aside.nav nav ul.secondary::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		border-radius: inherit;
		background: var(--surface-glass);
		backdrop-filter: var(--blur-glass);
		-webkit-backdrop-filter: var(--blur-glass);
		pointer-events: none;
	}
		aside.nav nav ul.primary::after {
		content: "";
		position: absolute;
		left: 5px;
		top: 5px;
		z-index: -1;
		width: 50px;
		height: 50px;
		border-radius: 999px;
		background: var(--nav-active-bg);
		box-shadow: var(--nav-active-edge);
		opacity: 0;
		pointer-events: none;
		transition: top .35s cubic-bezier(.4,0,.2,1), opacity .2s;
	}
	aside.nav nav ul.primary:has(> li.active)::after { opacity: 1; }
	aside.nav nav ul.primary:has(> li.active:nth-child(2))::after { top: 57px; }
	aside.nav nav ul.primary:has(> li.active:nth-child(3))::after { top: 109px; }
	aside.nav nav ul.primary:has(> li.active:nth-child(4))::after { top: 161px; }
	aside.nav nav ul.primary:has(> li.active:nth-child(5))::after { top: 213px; }
	aside.nav nav ul.primary:has(> li.active:nth-child(6))::after { top: 265px; }
	aside.nav nav ul.primary:has(> li.active:nth-child(7))::after { top: 317px; }
	aside.nav nav ul.primary:has(> li.active:nth-child(8))::after { top: 369px; }
	aside.nav nav ul > li {
		width: 50px;
		height: 50px;
	}
	aside.nav nav ul li > a,
	aside.nav nav li.account .account_wrap > a {
		position: relative;
		display: flex;
		align-items: center;
		width: 50px;
		height: 50px;
		gap: 0;
		justify-content: center;
		border-radius: 999px;
		color: var(--text-muted);
		outline: none;
		transition: background .2s, color .25s;
	}
	aside.nav nav ul li > a:focus-visible,
	aside.nav nav li.account .account_wrap > a:focus-visible {
		box-shadow: var(--focus-ring);
	}
	aside.nav nav ul li > a:hover {
		color: var(--text-primary);
	}
	aside.nav nav ul li.active > a {
		color: var(--accent);
	}
	aside.nav nav .nav_icon,
	aside.nav nav ul li.active .nav_icon {
		width: auto;
		min-width: 0;
		height: auto;
		background: transparent;
		animation: none;
	}
	aside.nav nav ul.primary .nav_icon svg {
		width: 21px;
		height: 21px;
	}
		aside.nav nav ul.secondary li > a:hover,
	aside.nav nav li.account .account_wrap > a:hover {
		background: rgba(var(--accent-rgb),.08);
	}
	aside.nav nav ul li.notif_toggle.open > a,
	aside.nav nav li.account .account_wrap.open > a,
	aside.nav nav li.account.current a.account_toggle {
		background: var(--nav-active-bg);
		box-shadow: var(--nav-active-edge);
		color: var(--accent);
	}
	aside.nav nav ul li.notif_toggle.open .nav_icon {
		background: transparent;
	}
	aside.nav nav li.notif_toggle .nav_icon {
		position: static;
	}
	aside.nav nav li.notif_toggle .notif_count {
		top: 8px;
		right: 7px;
	}
	aside.nav li.account .account_wrap {
		width: 50px;
		height: 50px;
	}
	aside.nav nav li.account .nav_icon .avatar {
		width: 32px;
		min-width: 32px;
		height: 32px;
		font-size: 11px;
	}
	aside.nav li.account .account_wrap.open .avatar,
	aside.nav li.account .account_toggle:active .avatar {
		box-shadow: 0 0 10px rgba(var(--accent-rgb),.25);
	}
		body:not(.static) aside.nav li.account .account_menu {
		position: fixed;
		left: calc(var(--nav-width) - 12px);
		bottom: 20px;
	}
}

.nav_tip {
	position: fixed;
	z-index: 700;
	transform: translateY(-50%);
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
	color: var(--text-primary);
	font: 500 12px/1.2 var(--font-body);
	white-space: nowrap;
	pointer-events: none;
	animation: bc-fade-in .12s ease both;
}

.logo .app_icon {
	position: relative;
}
.logo .app_icon::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: var(--nav-active-edge);
	pointer-events: none;
}
body.signed_in.has_tabs {
	overflow-x: clip;
}
@keyframes bc-fly-in {
	from { transform: translateX(-4px); }
	to { transform: none; }
}
.bc-zipfel {
	border: none !important;
	box-shadow: none !important;
}
.bc-zipfel.licht::after {
	display: none !important;
}
.bc-zipfel > .zf_rand {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	overflow: visible;
	pointer-events: none;
}
.bc-zipfel > .zf_rand path {
	stroke: var(--border-default);
}
.bc-zipfel > .zf_licht {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	pointer-events: none;
	opacity: var(--licht, 0);
	transition: opacity .4s;
	background: radial-gradient(320px circle at var(--lx, -9999px) var(--ly, -9999px), var(--licht-rand), transparent 70%);
}
.bc-zipfel > :not(.zf_rand):not(.zf_licht) {
	position: relative;
	z-index: 3;
}
@media (hover: none) {
	.bc-zipfel > .zf_licht {
		display: none;
	}
}

.nav_fly {
	position: fixed;
	z-index: 700;
	padding-left: 14px;
}
.nav_fly_glas {
	position: relative;
	min-width: 216px;
	box-sizing: border-box;
	padding: 6px 6px 6px 12px;
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	animation: bc-fly-in .14s ease-out;
	visibility: hidden;
}
.nav_fly_glas.zf_bereit {
	visibility: visible;
}
.nav_fly_kopf {
	padding: 6px 0 8px;
	margin: 0 10px 4px;
	border-bottom: 1px solid var(--border-default);
	font: 600 13px/1.2 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
}
.nav_fly a {
	display: block;
	padding: 9px 10px;
	border-radius: var(--radius-s);
	font: 500 13px/17px var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
	cursor: pointer;
}
.nav_fly a:hover {
	background: rgba(var(--accent-rgb),.07);
	color: var(--text-primary);
}
.nav_fly a.on,
.nav_fly a.on:hover {
	color: var(--accent);
	font-weight: 600;
}

.page_path,
.bc_tabs {
	display: none;
}

@media (min-width: 771px) {
	body:not(.static) aside.nav li.account .account_menu {
		left: calc(var(--nav-width) - 18px);
		width: 268px;
		padding: 6px 6px 6px 12px;
	}
	body:not(.static) aside.nav .account_wrap.open .account_menu {
		animation: bc-fly-in .14s ease-out;
	}
	body:not(.static) aside.nav .account_wrap.open .account_menu:not(.zf_bereit) {
		visibility: hidden;
	}
	body:not(.static) aside.nav .account_menu .ob_tile_head {
		white-space: nowrap;
	}

	body.signed_in .heading:has(.page_path) > .tab_bar {
		display: none;
	}
	body.signed_in .heading {
		position: relative;
		z-index: 5;
	}
	body.signed_in .page_path {
		display: flex;
		align-items: center;
		gap: 6px;
		margin: 0 0 6px;
		font: 500 13px/1.3 var(--font-body);
		color: var(--text-muted);
		white-space: nowrap;
	}
	.page_path .pp_sep {
		color: var(--text-muted);
	}
	.page_path .pp_wrap {
		position: relative;
		display: inline-flex;
	}
	.page_path .pp_cur {
		display: inline-flex;
		align-items: center;
		gap: 4px;
		font-weight: 600;
		color: var(--text-primary);
		cursor: pointer;
		border-radius: var(--radius-s);
		outline: none;
	}
	.page_path .pp_cur:focus-visible {
		box-shadow: var(--focus-ring);
	}
	.page_path .pp_cur .icon,
	.page_path .pp_cur svg {
		color: var(--text-muted);
		transition: transform .15s;
	}
	.page_path .pp_wrap.open .pp_cur svg {
		transform: rotate(180deg);
	}
	.page_path .pp_menu {
		display: none;
		position: absolute;
		left: -10px;
		top: calc(100% + 8px);
		z-index: 60;
		min-width: 210px;
		box-sizing: border-box;
		padding: 6px;
		border-radius: var(--radius-m);
		background: var(--surface-glass);
		backdrop-filter: var(--blur-glass);
		-webkit-backdrop-filter: var(--blur-glass);
		border: 1px solid var(--border-default);
	}
	.page_path .pp_wrap.open .pp_menu {
		display: block;
		animation: bc-fade-in .12s ease both;
	}
	.page_path .pp_menu a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 9px 10px;
		border-radius: var(--radius-s);
		font: 500 13px/17px var(--font-body);
		color: var(--text-secondary);
		white-space: nowrap;
	}
	.page_path .pp_menu a:hover {
		background: rgba(var(--accent-rgb),.07);
		color: var(--text-primary);
	}
	.page_path .pp_menu a.on {
		color: var(--accent);
		font-weight: 600;
		cursor: default;
	}

	body.signed_in.has_tabs .bc_tabs {
		display: flex;
		align-items: center;
		gap: 8px;
		min-width: 0;
		position: sticky;
		top: 0;
		z-index: 2500;
		padding: 20px 16px 28px 4px;
	}
	body.testsystem.signed_in.has_tabs .bc_tabs {
		top: var(--testbar);
	}
	body.signed_in.has_tabs:not(.static) .page > section {
		padding-top: 0;
	}
	.bc_tabs_list {
		display: flex;
		align-items: center;
		gap: 6px;
		min-width: 0;
		overflow-x: auto;
		overflow-y: hidden;
		scrollbar-width: none;
	}
	.bc_tabs_list::-webkit-scrollbar {
		display: none;
	}
	.bc_tabs_list.fade_l {
		-webkit-mask-image: linear-gradient(to right, transparent 0, #000 32px, #000 100%);
		mask-image: linear-gradient(to right, transparent 0, #000 32px, #000 100%);
	}
	.bc_tabs_list.fade_r {
		-webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 32px), transparent 100%);
		mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 32px), transparent 100%);
	}
	.bc_tabs_list.fade_l.fade_r {
		-webkit-mask-image: linear-gradient(to right, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%);
		mask-image: linear-gradient(to right, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%);
	}
	.bc_tab {
		position: relative;
		flex-shrink: 0;
		display: flex;
		align-items: center;
		gap: 8px;
		height: 42px;
		max-width: 220px;
		padding: 0 10px 0 14px;
		box-sizing: border-box;
		border-radius: var(--radius-m);
		border: 1px solid var(--border-default);
		background: var(--surface-glass);
		backdrop-filter: var(--blur-glass);
		-webkit-backdrop-filter: var(--blur-glass);
		color: var(--text-muted);
		cursor: pointer;
		user-select: none;
		-webkit-user-select: none;
		transition: background .15s, color .15s;
	}
	.bc_tab:hover {
		background: rgba(var(--accent-rgb),.05);
		color: var(--text-primary);
	}
	.bc_tab.on,
	.bc_tab.on:hover {
		background: linear-gradient(180deg, rgba(0,208,155,.15), rgba(0,208,155,.07));
		border-color: rgba(0,208,155,.28);
		box-shadow: none;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		color: var(--text-primary);
	}
	.bc_tab.zieht {
		opacity: .5;
	}
	.bc_tab_icon {
		display: grid;
		flex-shrink: 0;
	}
	.bc_tab_icon svg {
		display: block;
		width: 16px;
		height: 16px;
	}
	.bc_tab.on .bc_tab_icon {
		color: var(--accent);
	}
	.bc_tab_titel {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		font: 500 13px/1.2 var(--font-body);
	}
	.bc_tab.on .bc_tab_titel {
		font-weight: 600;
	}
	.bc_tab_zu {
		width: 20px;
		height: 20px;
		flex-shrink: 0;
		display: grid;
		place-items: center;
		margin-left: -2px;
		border-radius: var(--radius-s);
		color: var(--text-muted);
		opacity: 0;
		cursor: pointer;
		transition: opacity .12s, color .12s, background .12s;
	}
	.bc_tab:hover .bc_tab_zu,
	.bc_tab.on .bc_tab_zu {
		opacity: 1;
	}
	.bc_tab_zu:hover {
		color: var(--text-primary);
		background: rgba(242,245,244,.08);
	}
	[data-theme="light"] .bc_tab_zu:hover {
		background: rgba(10,12,11,.06);
	}
	.bc_tab_linie {
		flex-shrink: 0;
		width: 2px;
		height: 30px;
		margin: 0 -4px;
		border-radius: 1px;
		background: var(--accent);
		box-shadow: 0 0 8px rgba(0,208,155,.7);
		pointer-events: none;
	}
	.bc_tab_neu {
		flex-shrink: 0;
		width: 42px;
		height: 42px;
		display: grid;
		place-items: center;
		box-sizing: border-box;
		border: 1px dashed var(--border-strong);
		border-radius: var(--radius-m);
		color: var(--text-muted);
		cursor: pointer;
		transition: color .15s, border-color .15s;
	}
	.bc_tab_neu:hover {
		color: var(--accent);
		border-color: var(--accent);
	}
}

.pp_back,
.area_list,
.acc_notif,
.acc_count {
	display: none;
}

@media (max-width: 770px) {
	html body.signed_in:not(.static) .page > header {
		display: none;
	}
	body.signed_in:not(.static) .page {
		max-width: 100vw;
		overflow-x: clip;
	}
	body.signed_in.has_tabs:not(.static) .bc_tabs {
		display: flex;
		align-items: center;
		gap: 8px;
		box-sizing: border-box;
		width: 100%;
		max-width: 100vw;
		min-width: 0;
		padding: calc(14px + env(safe-area-inset-top, 0px)) 74px 0 16px;
	}
	body.signed_in.no-agent:not(.static) .bc_tabs {
		padding-right: 16px;
	}
	body:not(.static) .bc_tabs_list {
		display: flex;
		align-items: center;
		gap: 6px;
		flex: 0 1 auto;
		min-width: 0;
		overflow-x: auto;
		overflow-y: hidden;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	body:not(.static) .bc_tabs_list::-webkit-scrollbar {
		display: none;
	}
	body:not(.static) .bc_tabs_list.fade_l {
		-webkit-mask-image: linear-gradient(to right, transparent 0, #000 32px, #000 100%);
		mask-image: linear-gradient(to right, transparent 0, #000 32px, #000 100%);
	}
	body:not(.static) .bc_tabs_list.fade_r {
		-webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 32px), transparent 100%);
		mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 32px), transparent 100%);
	}
	body:not(.static) .bc_tabs_list.fade_l.fade_r {
		-webkit-mask-image: linear-gradient(to right, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%);
		mask-image: linear-gradient(to right, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%);
	}
	body:not(.static) .bc_tab {
		flex-shrink: 0;
		display: flex;
		align-items: center;
		gap: 8px;
		height: 42px;
		max-width: 180px;
		padding: 0 10px 0 14px;
		box-sizing: border-box;
		border-radius: var(--radius-m);
		border: 1px solid var(--border-default);
		background: var(--surface-glass);
		backdrop-filter: var(--blur-glass);
		-webkit-backdrop-filter: var(--blur-glass);
		color: var(--text-muted);
		cursor: pointer;
		user-select: none;
		-webkit-user-select: none;
		-webkit-tap-highlight-color: transparent;
	}
	body:not(.static) .bc_tab.on {
		background: linear-gradient(180deg, rgba(0,208,155,.15), rgba(0,208,155,.07));
		border-color: rgba(0,208,155,.28);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		color: var(--text-primary);
	}
	body:not(.static) .bc_tab_icon {
		display: grid;
		flex-shrink: 0;
	}
	body:not(.static) .bc_tab_icon svg {
		display: block;
		width: 16px;
		height: 16px;
	}
	body:not(.static) .bc_tab.on .bc_tab_icon {
		color: var(--accent);
	}
	body:not(.static) .bc_tab_titel {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		font: 500 13px/1.2 var(--font-body);
	}
	body:not(.static) .bc_tab.on .bc_tab_titel {
		font-weight: 600;
	}
	body:not(.static) .bc_tab_zu {
		display: none;
	}
	body:not(.static) .bc_tab.on .bc_tab_zu {
		width: 20px;
		height: 20px;
		flex-shrink: 0;
		display: grid;
		place-items: center;
		margin-left: -2px;
		border-radius: var(--radius-s);
		color: var(--text-muted);
	}
	body:not(.static) .bc_tab_neu {
		flex-shrink: 0;
		width: 42px;
		height: 42px;
		display: grid;
		place-items: center;
		box-sizing: border-box;
		border: 1px dashed var(--border-strong);
		border-radius: var(--radius-m);
		color: var(--text-muted);
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	body.signed_in:not(.static) .page_path {
		display: block;
		margin: 0 0 10px;
	}
	body.signed_in:not(.static) .page_path > :not(.pp_back) {
		display: none;
	}
	body.signed_in:not(.static) .page_path:not(:has(.pp_back)) {
		display: none;
	}
	body.signed_in:not(.static) .heading:has(.pp_back) > .tab_bar {
		display: none;
	}
	body.signed_in:not(.static) .pp_back {
		display: inline-flex;
		align-items: center;
		gap: 2px;
		min-height: 32px;
		margin-left: -6px;
		font: 500 15px/1.2 var(--font-body);
		color: var(--accent);
		-webkit-tap-highlight-color: transparent;
	}

	body.signed_in:not(.static) .area_list {
		display: block;
		margin-top: -12px;
		padding: 0 0 24px;
	}
	.area_list h1 {
		margin: 0 0 16px;
		font: var(--text-h1);
		letter-spacing: var(--ls-h1);
		color: var(--text-primary);
	}
	.area_list .al_glas {
		overflow: hidden;
		border-radius: var(--radius-l);
		border: 1px solid var(--border-default);
		background: var(--surface-glass);
		backdrop-filter: var(--blur-glass);
		-webkit-backdrop-filter: var(--blur-glass);
	}
	.area_list .al_glas a {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		min-height: 56px;
		padding: 0 14px 0 18px;
		font: 500 16px/1.3 var(--font-body);
		color: var(--text-primary);
		-webkit-tap-highlight-color: transparent;
		transition: background .12s;
	}
	.area_list .al_glas a + a::before {
		content: "";
		position: absolute;
		left: 18px;
		right: 0;
		top: 0;
		height: 1px;
		background: var(--border-default);
	}
	.area_list .al_glas a:active {
		background: rgba(var(--accent-rgb),.07);
	}
	.area_list .al_glas a svg {
		flex-shrink: 0;
		color: var(--text-muted);
	}

	body:not(.static) .notif_fab {
		display: none !important;
	}
	body:not(.static) aside.nav li.account .nav_icon {
		position: relative;
	}
	body:not(.static) aside.nav .acc_count {
		display: grid;
		place-items: center;
		position: absolute;
		top: -4px;
		left: -6px;
		min-width: 16px;
		height: 16px;
		padding: 0 4px;
		box-sizing: border-box;
		border-radius: 8px;
		background: var(--accent);
		color: var(--on-accent);
		font: 700 10px/1 var(--font-body);
		font-variant-numeric: tabular-nums;
		box-shadow: 0 0 0 2px var(--surface-page);
		pointer-events: none;
	}
	body:not(.static) aside.nav .acc_count[hidden] {
		display: none;
	}
	body:not(.static) aside.nav li.account .account_wrap .account_menu {
		left: 12px;
		right: 12px;
		width: auto;
	}
	body:not(.static) aside.nav .acc_notif:not([hidden]) {
		display: block;
		margin: 0 0 6px;
		padding: 0 0 6px;
		border-bottom: 1px solid var(--border-default);
	}
	.acc_notif .acc_notif_head {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 10px;
		padding: 8px 10px 8px;
	}
	.acc_notif .acc_notif_head b {
		font: 600 13px/1.2 var(--font-body);
		color: var(--text-primary);
	}
	.acc_notif .notif_read_all {
		font: 600 12px/1.2 var(--font-body);
		color: var(--accent);
		white-space: nowrap;
		cursor: pointer;
	}
	.acc_notif .acc_notif_list {
		display: flex;
		flex-direction: column;
		gap: 4px;
		max-height: 38vh;
		max-height: 38dvh;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	.acc_notif .notif_none {
		padding: 2px 10px 8px;
		font: 400 13px/1.4 var(--font-body);
		color: var(--text-muted);
	}
	.acc_notif .notif_entry {
		position: relative;
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 8px 10px 8px 22px;
		border-radius: var(--radius-m);
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}
	.acc_notif .notif_entry.unread {
		background: rgba(var(--accent-rgb),.04);
	}
	.acc_notif .notif_entry:active {
		background: rgba(var(--accent-rgb),.07);
	}
	.acc_notif .notif_bar {
		position: absolute;
		left: 3px;
		top: 8px;
		bottom: 8px;
		width: 9px;
		display: flex;
		justify-content: center;
	}
	.acc_notif .notif_bar span {
		width: 3px;
		height: 100%;
		border-radius: 2px;
		background: transparent;
	}
	.acc_notif .notif_entry.unread .notif_bar span {
		background: var(--accent);
	}
	.acc_notif .notif_body {
		flex: 1;
		min-width: 0;
		display: flex;
		flex-direction: column;
		gap: 1px;
	}
	.acc_notif .notif_line {
		display: flex;
		align-items: baseline;
		gap: 10px;
	}
	.acc_notif .notif_t {
		flex: 1;
		min-width: 0;
		font: 600 13px/1.35 var(--font-body);
		color: var(--text-secondary);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.acc_notif .notif_entry.unread .notif_t {
		color: var(--text-primary);
	}
	.acc_notif .notif_time {
		flex-shrink: 0;
		font: 400 11px var(--font-body);
		color: var(--text-muted);
		white-space: nowrap;
	}
	.acc_notif .notif_text {
		font: 400 12px/1.45 var(--font-body);
		color: var(--text-muted);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	body.signed_in:not(.static) a.agent_fab {
		top: calc(14px + env(safe-area-inset-top, 0px));
		right: 16px;
	}
	body.testsystem.signed_in:not(.static) a.agent_fab {
		top: calc(14px + var(--testbar) + env(safe-area-inset-top, 0px));
	}
	body:not(.static) .agent_fab .agent_pulse {
		--size: 42px;
		box-sizing: border-box;
	}
}

body.tab_ruhe .page > section *,
body.tab_ruhe .page > section *::before,
body.tab_ruhe .page > section *::after,
body.tab_ruhe .modal,
body.tab_ruhe .modal * {
	animation-duration: 0s !important;
	animation-delay: 0s !important;
	transition-duration: 0s !important;
}
body.tab_ruhe aside.nav .trace {
	display: none;
}

@media (max-width: 770px) {
	body.signed_in.has_tabs:not(.static) .bc_tabs {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 2500;
		padding-bottom: 28px;
		transform: translateZ(0);
		-webkit-transform: translateZ(0);
		will-change: transform;
	}
	body.testsystem.signed_in.has_tabs:not(.static) .bc_tabs {
		top: var(--testbar);
	}
	body.signed_in.has_tabs:not(.static) .page {
		padding-top: calc(70px + env(safe-area-inset-top, 0px));
	}
}

body.signed_in.has_tabs .bc_tabs::before {
	content: "";
	position: absolute;
	left: -100vw;
	top: 0;
	bottom: 0;
	right: -100vw;
	z-index: -1;
	pointer-events: none;
	background: color-mix(in srgb, var(--surface-page) 82%, transparent);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	-webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 16px), rgba(0,0,0,.55) calc(100% - 8px), transparent 100%), linear-gradient(to right, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 16px), rgba(0,0,0,.55) calc(100% - 8px), transparent 100%), linear-gradient(to right, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
	mask-composite: intersect;
}
@media (max-width: 770px) {
	body.signed_in.has_tabs:not(.static) .bc_tabs::before {
		left: 0;
		right: 0;
	}
}

@media (max-width: 770px) {
	body.signed_in:not(.static) aside.nav nav ul.primary li,
	body.signed_in:not(.static) aside.nav nav ul.primary li.active {
		flex: 1 1 0;
		place-items: center;
		background: none;
		box-shadow: none;
	}
	body.signed_in:not(.static) aside.nav nav ul.primary li > a {
		width: min(50px, 100%);
		height: auto;
		aspect-ratio: 1 / 1;
		border-radius: 50%;
		transition: color .2s, background .2s, box-shadow .3s;
	}
}
.list-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-left: auto;
	flex: 0 0 auto;
}
body:not(.static) .list-filter > .list-actions,
body:not(.static) .ablage_bar > .list-actions {
	flex: 0 0 auto;
	margin-left: auto;
}
.list-actions .button {
	height: 40px;
	box-sizing: border-box;
}
.list-actions.icons .button {
	width: 40px;
	padding: 0;
	gap: 0;
}
.list-actions.icons .button > span {
	display: none;
}
.list-actions .button[style*="display: none"] {
	display: none !important;
}
.checkboxes.pill.status_multi .selected:empty::before {
	content: attr(data-placeholder);
	color: var(--text-muted);
}
.checkboxes.pill.status_multi ul {
	min-width: 200px;
	left: 0;
	right: auto;
}
.side_nav {
	display: none;
}
@media (min-width: 771px) {
	body.signed_in:not(.static) .page > section:has(> .heading.has_side) {
		display: grid;
		grid-template-columns: 210px minmax(0, 1fr);
		column-gap: 40px;
		align-content: start;
	}
	body.signed_in:not(.static) .page > section:has(> .heading.has_side) > * {
		grid-column: 2;
	}
	body.signed_in:not(.static) .page > section > .heading.has_side {
		display: contents;
	}
	body.signed_in:not(.static) .heading.has_side > * {
		grid-column: 2;
	}
	body.signed_in:not(.static) .heading.has_side > .tab_bar,
	body.signed_in:not(.static) .heading.has_side > .page_path {
		display: none;
	}
	body.signed_in:not(.static) .heading.has_side > .page-head {
		position: relative;
		z-index: 5;
		margin-bottom: 24px;
	}
	body.signed_in:not(.static) .heading.has_side > .side_nav {
		display: block;
		grid-column: 1;
		grid-row: 1 / span 40;
		align-self: stretch;
		contain: size;
		padding-top: 6px;
	}
	.side_nav_in {
		position: sticky;
		top: 20px;
		display: flex;
		flex-direction: column;
		gap: 2px;
		width: 210px;
	}
	body.testsystem .side_nav_in {
		top: calc(20px + var(--testbar));
	}
	.side_nav .sn_page {
		padding: 8px 0;
		font: 500 14px/1.3 var(--font-body);
		color: var(--text-primary);
		text-decoration: none;
		transition: color .15s;
	}
	.side_nav .sn_page:hover {
		color: var(--accent);
	}
	.side_nav .sn_page.active {
		font-weight: 600;
		color: var(--accent);
	}
	.side_nav .sn_slot:not(:empty) {
		margin: 2px 0 10px;
	}
	.side_nav .sn_slot .anchor_nav {
		position: static;
		gap: 3px;
		min-width: 0;
		max-width: none;
		width: 100%;
	}
	.side_nav .sn_slot .anchor_nav .anchor {
		justify-content: space-between;
		padding: 7px 12px;
	}
	.side_nav .sn_slot .anchor_nav .anchor .nav_count {
		margin-left: auto;
		font: 500 12px var(--font-body);
		font-variant-numeric: tabular-nums;
	}
	.side_nav .sn_slot .anchor_nav .anchor.add {
		justify-content: flex-start;
		padding: 7px 14px;
		border-left: none;
	}
}
@media (max-width: 770px) {
	body:not(.static) .heading.has_side > .side_nav {
		display: none;
	}
}
.page-title .page-kicker {
	margin: 0 0 4px;
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-muted);
}
.page > section.mv_unter {
	position: fixed;
	z-index: 1;
	margin: 0;
	overflow: hidden;
	box-sizing: border-box;
	pointer-events: none;
	box-shadow: none;
}
.sn_mpicks,
.mv_lz_keep,
.mv_such {
	display: none;
}
@media (max-width: 770px) {
	body.signed_in:not(.static) .page > section {
		touch-action: pan-y;
	}
	body.signed_in:not(.static) .page > section.mv_l3_on > :not(.mv_l3) {
		display: none !important;
	}
	body.signed_in:not(.static) .page-head .subline {
		display: none;
	}
	.mv_l3 h1 {
		display: flex;
		align-items: center;
		gap: 2px;
	}
	.mv_l3 .mv_l3_back {
		display: grid;
		place-items: center;
		width: 30px;
		height: 36px;
		margin-left: -8px;
		color: var(--accent);
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}
	.mv_l3 .al_glas a.mv_l3_e {
		padding: 0 12px 0 18px;
		cursor: pointer;
	}
	.mv_l3 .mv_l {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.mv_l3 .mv_r {
		display: flex;
		align-items: center;
		gap: 8px;
		padding-left: 8px;
		color: var(--text-muted);
	}
	.mv_l3 .mv_z {
		font: 500 13px var(--font-body);
		font-variant-numeric: tabular-nums;
		color: var(--text-muted);
	}
	.mv_l3 .al_glas a.mv_add {
		justify-content: flex-start;
		color: var(--text-muted);
	}
	.mv_l3 .al_glas a.mv_add svg {
		color: currentColor;
	}

	body:not(.static) .mail_folder_pick {
		display: none !important;
	}

	body:not(.static) .heading.is_settings > .tab_bar {
		display: none;
	}
	body:not(.static) .sn_mpicks {
		display: grid;
		gap: 10px;
		margin-bottom: 40px;
	}
	body:not(.static) .sn_mpick {
		display: block;
		position: relative;
	}
	body:not(.static) .anb_pick {
		display: none !important;
	}
	body:not(.static) .sn_mpick .select > .sn_mpick_zahl {
		position: absolute;
		right: 38px;
		top: 50%;
		transform: translateY(-50%);
		font: 600 11px var(--font-body);
		font-variant-numeric: tabular-nums;
		color: var(--text-muted);
		pointer-events: none;
	}
	body:not(.static) .sn_mpick li p {
		display: flex;
		align-items: center;
		gap: 10px;
	}
	body:not(.static) .sn_mpick li .sn_mpick_l {
		flex: 1;
		min-width: 0;
	}
	body:not(.static) .sn_mpick li .sn_mpick_zahl {
		font: 600 11px var(--font-body);
		font-variant-numeric: tabular-nums;
		color: var(--text-muted);
	}
	body:not(.static) .sn_mpick .select,
	body:not(.static) .list-filter .sn_mpick .select:not(.pill),
	body:not(.static) .sn_mpick .select > input {
		width: 100%;
	}
	body:not(.static) .sn_mpick .select > input {
		height: 42px;
		font: 500 15px var(--font-body);
	}

	body:not(.static) .mv_lz {
		position: relative;
		flex-wrap: wrap;
		gap: 10px;
	}
	body:not(.static) .mv_lz > * {
		order: 2;
	}
	body:not(.static) .mv_lz > .acc_pick {
		order: -1;
		flex-basis: 100%;
	}
	body:not(.static) .mv_lz > .mv_lz_keep,
	body:not(.static) .mv_lz > .bulk_actions,
	body:not(.static) .mv_lz > .spacer,
	body:not(.static) .mv_lz > .list-actions,
	body:not(.static) .mv_lz > .board-actions {
		order: 0;
	}
	body:not(.static) .mv_lz > .list-actions,
	body:not(.static) .mv_lz > .board-actions {
		margin-left: auto;
	}
	body:not(.static) .mv_lz > .spacer {
		display: none;
	}
	body:not(.static) .mv_lz::after {
		content: "";
		order: 1;
		flex-basis: 100%;
		height: 0;
	}
	body:not(.static) .mv_lz:not(.mv_lz_auf)::after,
	body:not(.static) .mv_lz:not(.mv_lz_auf) > .mv_lz_f {
		display: none !important;
	}
	body:not(.static) .mv_lz > .mv_lz_f,
	body:not(.static) .mv_lz > .mv_lz_f .select:not(.pill),
	body:not(.static) .mv_lz > .mv_lz_f .multiselect {
		max-width: 100%;
	}
	body:not(.static) .mv_lz_keep {
		display: inline-flex;
		gap: 10px;
	}
	body:not(.static) .mv_lz_knopf {
		position: relative;
		width: 40px;
		height: 40px;
		flex-shrink: 0;
		display: grid;
		place-items: center;
		box-sizing: border-box;
		padding: 0;
		cursor: pointer;
		background: var(--surface-raised);
		border: 1px solid var(--border-strong);
		border-radius: var(--radius-m);
		color: var(--text-muted);
		-webkit-tap-highlight-color: transparent;
	}
	body:not(.static) .mv_lz_knopf.on {
		background: rgba(0,208,155,.08);
		border-color: var(--accent);
		color: var(--accent);
	}
	body:not(.static) .mv_lz.mv_such_auf > .mv_such {
		position: absolute;
		left: 0;
		right: 0;
		z-index: 6;
		display: flex;
		align-items: center;
		gap: 8px;
		background: var(--surface-page);
	}
	body:not(.static) .mv_such_feld {
		position: relative;
		flex: 1;
		display: flex;
	}
	body:not(.static) .mv_such_feld input.search_filter {
		width: 100%;
		height: 40px;
		padding: 0 12px 0 36px;
		box-sizing: border-box;
	}
	body:not(.static) .mv_such_lupe {
		position: absolute;
		left: 12px;
		top: 50%;
		transform: translateY(-50%);
		display: flex;
		color: var(--text-muted);
		pointer-events: none;
	}
	body:not(.static) .mv_such_zu {
		width: 40px;
		height: 40px;
		flex-shrink: 0;
		display: grid;
		place-items: center;
		color: var(--text-muted);
		cursor: pointer;
	}
}
.mv_linse {
	display: none;
}
@media (max-width: 770px) {
	body:not(.static) aside.nav nav ul.primary {
		position: relative;
	}
	body:not(.static) aside.nav nav ul.primary li,
	body:not(.static) aside.nav nav ul.primary li.active {
		position: relative;
		z-index: 1;
		flex: 1 1 0;
		background: transparent;
		box-shadow: none;
	}
	body:not(.static) aside.nav nav ul.primary li.active > a {
		touch-action: none;
	}
	body:not(.static) aside.nav nav ul.primary.mv_zieht li a {
		color: var(--text-muted);
	}
	body:not(.static) aside.nav nav ul.primary li.mv_linse_ziel a {
		color: var(--accent);
	}
	body:not(.static) .mv_linse {
		display: block;
		position: absolute;
		z-index: 0;
		top: 50%;
		width: 50px;
		height: 50px;
		margin: -25px 0 0 -25px;
		border-radius: 50%;
		background: var(--nav-active-bg);
		box-shadow: var(--nav-active-edge);
		pointer-events: none;
		transition: left .23s cubic-bezier(.2,.8,.2,1), transform .2s cubic-bezier(.2,.8,.2,1);
	}
	body:not(.static) .mv_linse.aus {
		opacity: 0;
	}
	body:not(.static) .mv_linse.still {
		transition: none;
	}
	body:not(.static) .mv_linse.zug {
		transform: scale(1.25);
		backdrop-filter: blur(2px);
		-webkit-backdrop-filter: blur(2px);
		transition: transform .18s cubic-bezier(.2,.8,.2,1);
	}
}

.page {
	position: relative;
	z-index: 1;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	transition: margin-left .25s ease;
}
body.signed_in .page {
	margin-left: var(--nav-width);
}
body.signed_in.nav-collapsed .page {
	margin-left: var(--nav-width-collapsed);
}
@media (max-width: 1179px) {
	body.signed_in:not(.static) .page {
		margin-left: var(--nav-width-collapsed);
	}
}

@media (max-width: 770px) {
	body.signed_in:not(.static) .page {
		margin-left: var(--nav-width-collapsed);
	}
}

body.signed_out .page {
	margin-left: 0;
}
.page > header {
	display: none;
	position: sticky;
	top: 0;
	z-index: 500;
	padding: 12px 20px;
	background: var(--topbar-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border-bottom: 1px solid var(--border-default);
}
body.signed_out .page > header {
	display: block;
}
body.signed_out .page > header {
	background: transparent;
	border-bottom: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	position: relative;
	padding: 20px 24px;
}
body.signed_out .page > header .logo .app_icon {
	width: 42px;
	min-width: 42px;
	height: 42px;
}
body.signed_out .page > header .wordmark {
	font-size: 20px;
}
body.signed_out .page > section {
	display: flex;
	flex-direction: column;
	padding: 24px;
}
.page > header .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.page > header .logo {
	display: flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
}
.page > header .logo .app_icon {
	width: 36px;
	min-width: 36px;
	height: 36px;
}
.page > header .wordmark {
	font-size: 22px;
}
header .account .bulb_navi {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 10px;
}
.page > section {
	flex: 1;
		padding: 28px 16px 28px 4px;
	min-height: 60vh;
		container: page / inline-size;
}
@media (max-width: 770px) {
	body:not(.static) .page > section {
		padding: 20px 16px 20px 0;
	}
}

.wrapper {
	position: relative;
	width: 100%;
}
.page footer {
	padding: 28px 16px 30px 4px;
	display: block;
}
@media (max-width: 770px) {
	body:not(.static) .page footer {
		padding: 16px 16px 16px 0;
	}
}
body.signed_out .page footer {
	padding-left: 24px;
	padding-right: 24px;
}
@media (max-width: 770px) {
	body.signed_out .page footer {
		padding-left: 16px;
		padding-right: 16px;
	}
}

footer .wrapper {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}
footer nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 16px;
}
footer nav ul li a,
footer .copyright p {
	font: var(--text-small);
	color: var(--text-muted);
	margin: 0;
}
footer nav ul li a:hover {
	color: var(--text-secondary);
}
footer .copyright {
	margin-left: auto;
}
@media (max-width: 770px) {
	body:not(.static) footer .wrapper {
		flex-direction: column;
		justify-content: center;
		gap: 10px;
		text-align: center;
	}
	body:not(.static) footer nav ul {
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px 16px;
	}
	body:not(.static) footer .copyright {
		margin-left: 0;
	}
}


.heading {
	margin-bottom: 24px;
}
.tab_bar {
	margin-bottom: 24px;
	min-width: 0;
	border-bottom: 1px solid var(--border-default);
}
.tab_bar > .slide_navi {
	margin-bottom: -1px;
}
.tab_bar > .slide_navi > ul {
	box-shadow: none;
}
.tab_bar > .slide_navi.fade_l {
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 32px, #000 100%);
	mask-image: linear-gradient(to right, transparent 0, #000 32px, #000 100%);
}
.tab_bar > .slide_navi.fade_r {
	-webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 32px), transparent 100%);
	mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 32px), transparent 100%);
}
.tab_bar > .slide_navi.fade_l.fade_r {
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%);
	mask-image: linear-gradient(to right, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%);
}
.slide_navi {
	margin-bottom: 24px;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	touch-action: pan-x pan-y;
}
.slide_navi::-webkit-scrollbar {
	display: none;
}
.slide_navi > ul {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 26px;
	width: max-content !important;
	min-width: 100%;
	white-space: nowrap;
	box-shadow: inset 0 -1px 0 var(--border-default);
}
.slide_navi .user_navi li {
	flex: 0 0 auto;
}
.slide_navi .user_navi li a {
	display: block;
	padding: 0 2px 11px;
	border-bottom: 2px solid transparent;
	color: var(--text-muted);
	font: 500 14px/1.2 var(--font-body);
	transition: color .15s, border-color .15s;
}
.slide_navi .user_navi li a:hover {
	color: var(--text-primary);
}
.slide_navi .user_navi li.active a {
	color: var(--accent);
	font-weight: 600;
	border-bottom-color: var(--accent);
	cursor: default;
}
.page-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.page-title {
	animation: bc-drop-in .45s cubic-bezier(.2,.8,.3,1) both;
}
.page-actions {
	animation: bc-drop-in .45s cubic-bezier(.2,.8,.3,1) .15s both;
}
.page-title .subline {
	margin: 4px 0 0;
	font: var(--text-small);
	color: var(--text-muted);
}
.page-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}


button,
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	white-space: nowrap;
	cursor: pointer;
	vertical-align: top;
	margin: 0;
	padding: 10px 16px;
	border-radius: var(--radius-m);
	border: 1px solid rgba(var(--secondary-rgb),.45);
	background: transparent;
	color: var(--text-secondary);
	font: 600 14px/1.2 var(--font-body);
	text-decoration: none;
	outline: none;
	transition: border-color .15s, color .15s, box-shadow .15s, background .15s;
}
button:hover,
.button:hover {
	border-color: var(--text-primary);
	color: var(--text-primary);
	box-shadow: var(--glow-white);
	text-decoration: none;
}
button.primary,
.button.primary,
.button.good,
#accept .button {
	border: 1px solid var(--accent);
	color: var(--accent);
}
button.primary:hover,
.button.primary:hover,
.button.good:hover,
#accept .button:hover {
	background: rgba(var(--accent-rgb),.08);
	box-shadow: var(--glow-border);
	color: var(--accent);
	border-color: var(--accent);
}
.button.danger {
	border-color: rgba(242,109,109,.55);
	color: var(--danger);
}
.button.danger:hover {
	border-color: var(--danger);
	box-shadow: 0 0 10px rgba(242,109,109,.5), 0 0 26px rgba(242,109,109,.22);
	color: var(--danger);
}
.button .fa,
.button .entypo {
	font-size: 15px;
}
.button.compact {
	padding: 7px 12px;
	font-size: 13px;
}
.mini_btn {
	width: 26px;
	height: 26px;
	display: inline-grid;
	place-items: center;
	cursor: pointer;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	background: transparent;
	transition: color .15s, background .15s;
}
.mini_btn:hover {
	color: var(--text-primary);
	text-decoration: none;
}
.view_switcher {
	display: inline-flex;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	overflow: hidden;
	background: var(--surface-raised);
}
.view_switcher .button {
	border: none;
	border-radius: 0;
	padding: 0 14px;
	height: 38px;
	color: var(--text-muted);
	font-weight: 500;
	font-size: 13px;
	box-shadow: none;
}
.view_switcher .button + .button {
	border-left: 1px solid var(--border-strong);
}
.view_switcher .button.active {
	color: var(--accent);
	background: rgba(var(--accent-rgb),.08);
}
.view_switcher .button:hover {
	box-shadow: none;
	color: var(--text-primary);
}


input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="search"],
textarea {
	-webkit-appearance: none;
	appearance: none;
	height: 40px;
	width: 100%;
	padding: 0 12px;
	margin: 0;
	background: var(--surface-raised);
	color: var(--text-primary);
	font: 400 14px/1.4 var(--font-body);
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	outline: none;
	vertical-align: top;
	transition: border-color .15s, box-shadow .2s;
}
textarea {
	height: auto;
	min-height: 90px;
	padding: 10px 12px;
	resize: vertical;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="search"]:focus,
textarea:focus {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
input[disabled] {
	color: var(--text-primary);
	opacity: 1;
	-webkit-text-fill-color: var(--text-primary);
}
::placeholder {
	color: var(--text-muted);
	opacity: 1;
}
:focus::placeholder {
	color: var(--disabled);
}
label {
	display: block;
	font: var(--text-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--text-muted);
}

input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	display: inline-grid;
	place-items: center;
	width: 15px;
	height: 15px;
	margin: 0;
	padding: 0;
	border-radius: 4px;
	border: 1px solid var(--text-muted);
	background: transparent;
	cursor: pointer;
	vertical-align: middle;
	flex-shrink: 0;
	transition: background .12s, border-color .12s;
}
input[type="checkbox"]:hover {
	border-color: var(--text-secondary);
}
input[type="checkbox"]:checked {
	background: var(--accent) var(--icon-check) no-repeat center / 10px 10px;
	border-color: var(--accent);
}
input[type="checkbox"]:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}
input[type="checkbox"] + label {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-left: 10px;
	font: 400 14px/26px var(--font-body);
	text-transform: none;
	letter-spacing: 0;
	color: var(--text-secondary);
	vertical-align: middle;
}
input[type="checkbox"]:checked + label {
	color: var(--text-primary);
}
input[type="checkbox"] + label:empty {
	display: none;
}

.toggles {
	display: flex;
	gap: 12px;
}
.toggles .toggle {
	position: relative;
	display: inline-flex;
}
.toggles input[type="checkbox"] {
	position: absolute;
	left: 14px;
	top: 50%;
	margin-top: -7.5px;
	z-index: 1;
	pointer-events: none;
}
.toggles input[type="checkbox"] + label {
	position: relative;
	margin: 0;
	height: 40px;
	padding: 0 14px 0 37px;
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	color: var(--text-muted);
	font: 500 13px/38px var(--font-body);
	transition: all .15s;
}
.toggles input[type="checkbox"]:checked + label {
	background: rgba(var(--accent-rgb),.08);
	border-color: var(--accent);
	box-shadow: inset 0 0 0 .5px var(--accent);
	color: var(--accent);
}

.select {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	vertical-align: top;
}
.select:before {
	content: '';
	position: absolute;
	right: 12px;
	top: 50%;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	background: var(--icon-chevron) no-repeat center / contain;
	pointer-events: none;
	z-index: 1;
}
.select > input {
	padding-right: 36px;
	cursor: pointer;
	width: 100%;
	min-width: 0;
}
.select.hover > input,
.select.hover.pill > input {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.select.hover:before {
	background-image: var(--icon-chevron-accent);
}
.select > ul {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	width: 100%;
	margin: 6px 0 0;
	padding: 6px;
	list-style: none;
	display: none;
	max-height: 260px;
	overflow: auto;
	border-radius: var(--radius-m);
	background: var(--popover-bg);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	z-index: 2100;
}
.select ul li {
	position: relative;
	cursor: pointer;
}
.select ul li p {
	margin: 0;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: background .12s, color .12s;
}
.select > ul > li:hover > p {
	background: rgba(var(--accent-rgb),.07);
	color: var(--text-primary);
}
.select > ul > li.selected > p {
	color: var(--accent);
	font-weight: 600;
}
.select ul li.disabled {
	cursor: default;
}
.select ul li.disabled p {
	color: var(--disabled);
}
.select ul li.search p {
	padding: 4px 4px 8px;
	cursor: default;
}
.select ul li.search p input {
	height: 32px;
	font-size: 13px;
}
.select > ul > li.disabled:hover > p,
.select > ul > li.search:hover > p {
	background: transparent;
}
.select > ul > li > ul {
	padding: 0 0 0 10px;
	margin: 0;
	list-style: none;
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s .3s;
}
.select > ul > li > ul > li {
	padding: 6px 10px;
	font: 400 13px/1.3 var(--font-body);
	color: var(--text-muted);
}
.select > ul > li > ul > li:hover {
	color: var(--text-primary);
}
.select > ul > li:hover > ul {
	max-height: 800px;
}

.pill:not(.select):not(.checkboxes) {
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 12px;
	border-radius: 999px;
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
	color: var(--text-muted);
	font: 500 12px/1 var(--font-body);
	letter-spacing: .02em;
	white-space: nowrap;
	margin: 0;
}
.select.pill,
.select.compact,
.checkboxes.pill {
	width: auto;
}
.checkboxes ul li.filtered_out {
	display: none !important;
}
.checkboxes.pill {
	width: fit-content;
	max-width: 100%;
}
.select.pill > input,
.select.compact > input,
.checkboxes.pill .selected {
	display: inline-flex;
	align-items: center;
	height: 30px;
	padding: 0 28px 0 10px;
	border-radius: var(--radius-s);
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	color: var(--text-secondary);
	font: 500 12px/1 var(--font-body);
	letter-spacing: .02em;
	white-space: nowrap;
	margin: 0;
	min-width: 80px;
	field-sizing: content;
	cursor: pointer;
	transition: border-color .15s, box-shadow .15s, color .15s;
}
.select.pill > input,
.select.compact > input {
	width: 100%;
}
.select.pill > input:focus,
.select.compact > input:focus {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.select.pill:before,
.select.compact:before,
.checkboxes.pill:before {
	width: 11px;
	height: 11px;
	margin-top: -5.5px;
	right: 10px;
}
.select.pill > ul,
.select.compact > ul {
	left: auto;
	right: 0;
	width: auto;
	min-width: 180px;
}

.list-filter .checkboxes {
	position: relative;
}
.checkboxes.pill {
	position: relative;
}
.checkboxes.pill .selected {
	width: max-content;
	max-width: 320px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: block;
	line-height: 28px;
}
.checkboxes.pill:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	background: var(--icon-chevron) no-repeat center / contain;
	pointer-events: none;
}
.checkboxes.pill:hover::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 8px;
}
.checkboxes.pill ul {
	position: absolute;
	top: 100%;
	right: 0;
	margin: 6px 0 0;
	padding: 6px;
	list-style: none;
	visibility: hidden;
	opacity: 0;
	max-height: 0;
	overflow: auto;
	min-width: 240px;
	border-radius: var(--radius-m);
	background: var(--popover-bg);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	z-index: 2100;
	transition: opacity .15s, max-height .2s, visibility 0s .2s;
}
.checkboxes.pill:hover ul {
	visibility: visible;
	opacity: 1;
	max-height: 360px;
	transition: opacity .15s, max-height .2s;
}
.checkboxes.pill ul:before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: -8px;
	height: 8px;
}
.checkboxes.pill ul li {
	padding: 0 4px;
}
.checkboxes.pill ul li.search input {
	height: 32px;
	font-size: 13px;
	margin: 2px 0 6px;
}
.checkboxes.pill ul li.reset a {
	display: block;
	padding: 6px 6px 8px;
	margin-bottom: 4px;
	border-bottom: 1px solid var(--border-default);
	font: 500 12px/1.3 var(--font-body);
	color: var(--text-muted);
}
.checkboxes.pill ul li.reset a:hover {
	color: var(--accent);
}
.checkboxes.pill ul li:not(.search):not(.reset) {
	display: flex;
	align-items: center;
	padding: 6px 8px;
	border-radius: var(--radius-s);
}
.checkboxes.pill ul li:not(.search):not(.reset):hover {
	background: rgba(var(--accent-rgb),.05);
}
.checkboxes.pill ul li input[type="checkbox"] + label {
	flex: 1;
	min-width: 0;
	line-height: 20px;
	font-size: 13px;
}

.tag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 22px;
	padding: 0 10px;
	margin-right: 6px;
	border-radius: 999px;
	background: rgba(var(--accent-rgb),.08);
	border: 1px solid var(--border-strong);
	color: var(--accent);
	font: 600 11px/1 var(--font-body);
	letter-spacing: .02em;
	white-space: nowrap;
	vertical-align: middle;
}
.tag.soft {
	background: var(--surface-raised);
	color: var(--text-secondary);
	font-weight: 500;
	letter-spacing: 0;
}
.list-view li > [data-id='tags'] {
	overflow: visible;
}

.multiselect {
	position: relative;
	display: inline-flex;
	width: 220px;
}
.multiselect .ms_field {
	display: flex;
	align-items: center;
	gap: 6px;
	width: 100%;
	height: 40px;
	padding: 0 34px 0 10px;
	overflow: hidden;
	white-space: nowrap;
	cursor: pointer;
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	transition: border-color .15s, box-shadow .15s;
}
.multiselect .ms_field .placeholder {
	font: 400 14px/1 var(--font-body);
	color: var(--text-muted);
}
.multiselect .ms_field .tag {
	height: 24px;
	padding: 0 9px;
	margin: 0;
	flex-shrink: 0;
}
.multiselect .ms_field .tag .remove {
	display: inline-grid;
	place-items: center;
	width: 9px;
	height: 9px;
	opacity: .7;
	cursor: pointer;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 18 18 6M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 18 18 6M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
}
.multiselect .ms_field:after {
	content: '';
	position: absolute;
	right: 12px;
	top: 50%;
	width: 13px;
	height: 13px;
	margin-top: -6.5px;
	background: var(--icon-chevron) no-repeat center / contain;
	transition: transform .15s;
	pointer-events: none;
}
.multiselect.open .ms_field {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.multiselect.open .ms_field:after {
	transform: rotate(180deg);
}
.multiselect .ms_menu {
	position: absolute;
	left: 0;
	top: calc(100% + 6px);
	min-width: 100%;
	display: none;
	padding: 6px;
	border-radius: var(--radius-m);
	background: var(--popover-bg);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	z-index: 2100;
}
.multiselect.open .ms_menu {
	display: block;
}
.multiselect .ms_menu .ms_search {
	height: 32px;
	margin-bottom: 6px;
	font-size: 13px;
}
.multiselect .ms_option {
	display: flex;
	align-items: center;
	gap: 9px;
	width: 100%;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	cursor: pointer;
	font: 500 13px/1.2 var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
}
.multiselect .ms_option:hover {
	background: rgba(var(--accent-rgb),.07);
}
.multiselect .ms_option .ms_box {
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	border-radius: 4px;
	border: 1px solid var(--text-muted);
}
.multiselect .ms_option.on {
	color: var(--accent);
}
.multiselect .ms_option.on .ms_box {
	border-color: var(--accent);
	background: var(--accent) var(--icon-check) no-repeat center / 9px 9px;
}
.multiselect .ms_option.create {
	color: var(--accent);
}
.multiselect .ms_option.create .ms_box {
	border: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 4.5v15m7.5-7.5h-15'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 4.5v15m7.5-7.5h-15'/%3E%3C/svg%3E") no-repeat center / contain;
}
.multiselect .ms_empty {
	padding: 8px 10px;
	font: var(--text-small);
	color: var(--text-muted);
}
.form .multiselect {
	width: 100%;
}

.list-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
}
.list-filter .spacer {
	flex: 1;
}
.list-filter .hidden_filter {
	display: none;
}
.list-filter .select:not(.pill) {
	width: 220px;
}
.list-filter .search_filter {
	width: 240px;
	flex: 0 0 240px;
	padding-left: 36px;
	background-image: var(--icon-search);
	background-repeat: no-repeat;
	background-size: 15px;
	background-position: 12px center;
}


.content-card {
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-l);
	overflow: hidden;
}
.content-card.list-card {
	overflow: visible;
}
.list-card .list-legend {
	border-radius: var(--radius-l) var(--radius-l) 0 0;
}
.list-card .scrollable:last-child .list-view > li:last-child {
	border-radius: 0 0 var(--radius-l) var(--radius-l);
}
.content-card.list-card:not(:has(> .list-footer)) > .scrollable {
	padding-bottom: 20px;
}
.content-card.empty-state {
	padding: 40px 28px;
	text-align: center;
	color: var(--text-secondary);
}
.content-card.empty-state p {
	margin-bottom: 16px;
}
.content-card.text-page {
	padding: 28px;
	max-width: 760px;
}
.text-page .label {
	font: var(--text-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--text-muted);
	margin: 22px 0 6px;
}
.text-page .label:first-child {
	margin-top: 0;
}
.text-page p {
	color: var(--text-secondary);
}
.wrapper.legal {
	display: grid;
	grid-template-columns: 240px minmax(0,720px);
	gap: 40px;
	align-items: start;
}
.wrapper.legal.no_nav {
	grid-template-columns: minmax(0,720px);
}
.wrapper.legal.no_nav .legal_nav {
	display: none;
}
.legal_nav {
	position: sticky;
	top: 24px;
}
.legal_nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.legal_nav a {
	display: block;
	padding: 6px 12px;
	border-left: 2px solid var(--border-default);
	font: 500 13px/1.35 var(--font-body);
	color: var(--text-muted);
}
.legal_nav a:hover {
	color: var(--text-primary);
}
.legal_nav a.active {
	border-left-color: var(--accent);
	color: var(--accent);
}
.legal .content-card.text-page {
	max-width: 720px;
}
.legal .text-page p {
	max-width: 70ch;
	font: 400 15px/1.7 var(--font-body);
}
.legal .text-page .label {
	margin: 0;
	padding-top: 22px;
	border-top: 1px solid var(--border-default);
	font: 600 12px/1.3 var(--font-body);
	letter-spacing: .06em;
	color: var(--accent);
	scroll-margin-top: 24px;
}
.legal .text-page .label:first-child {
	padding-top: 0;
	border-top: none;
}
.legal .text-page .label + p {
	margin-top: 8px;
}
.legal .text-page p:not(.label) + .label {
	margin-top: 26px;
}
.legal .text-page mark {
	background: rgba(245,185,80,.25);
	color: var(--text-primary);
	padding: 0 3px;
	border-radius: 3px;
}
@media (max-width: 959px) {
	.wrapper.legal {
		grid-template-columns: minmax(0,1fr);
	}
	.legal_nav {
		display: none;
	}
}
@media (max-width: 599px) {
	.legal_print {
		display: none !important;
	}
	.legal .content-card.text-page {
		padding: 18px;
	}
}
@media print {
	.legal_nav {
		display: none !important;
	}
	.wrapper.legal {
		display: block;
	}
	.legal .content-card.text-page {
		max-width: none;
		padding: 0;
		border: none;
		background: #fff;
		box-shadow: none;
	}
	.legal .text-page p,
	.legal .text-page .label {
		color: #000;
	}
	.legal .text-page .label {
		border-top-color: #ccc;
		break-after: avoid;
		page-break-after: avoid;
	}
	.legal .text-page p {
		break-inside: avoid;
		page-break-inside: avoid;
	}
}
.scrollable {
	outline: none;
	width: 100%;
}
.list-legend {
	display: flex;
	align-items: center;
	padding: 0 44px 0 20px;
	border-bottom: 1px solid var(--border-strong);
}
.list-legend p {
	display: none;
	margin: 0;
	padding: 12px 14px;
	width: 25%;
	min-width: 0;
	flex: 0 1 auto;
	font: 600 12px/1.3 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	user-select: none;
}
.list-legend p.sortable {
	cursor: pointer;
	user-select: none;
}
.list-legend p.sortable:after {
	content: '▲';
	display: inline-block;
	margin-left: 6px;
	font-size: 9px;
	opacity: .25;
	transition: transform .15s;
}
.list-legend p.sortable:hover {
	color: var(--text-primary);
}
.list-legend p.sortable.active {
	color: var(--accent);
}
.list-legend p.sortable.active:after {
	opacity: 1;
}
.list-legend p.sortable.active.asc:after {
	transform: rotate(180deg);
}
.list-legend p a {
	color: inherit;
	display: inline-block;
}
.list-legend p a:after {
	content: '▲';
	display: inline-block;
	margin-left: 6px;
	font-size: 9px;
	opacity: .25;
	transition: transform .15s;
}
.list-legend p a:hover {
	color: var(--text-primary);
}
.list-legend p a.active {
	color: var(--accent);
}
.list-legend p a.active:after {
	opacity: 1;
}
.list-legend p a.active.asc:after {
	transform: rotate(180deg);
}
.list-legend p > span,
.list-legend p a > span {
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: middle;
}
.list-legend p.sortable > span,
.list-legend p a > span {
	max-width: calc(100% - 16px);
}
.list-legend p a {
	display: block;
	overflow: hidden;
}
.list-legend p.sortable:after,
.list-legend p a:after {
	vertical-align: middle;
}
.list-legend p.sortable.visible,
.list-legend p.visible > a {
	display: flex;
	align-items: center;
	min-width: 0;
}
.list-legend p.sortable > span,
.list-legend p a > span {
	max-width: none;
	flex: 0 1 auto;
	min-width: 0;
}
.list-legend p.sortable:after,
.list-legend p a:after {
	flex: 0 0 auto;
}
.list-legend p[data-id='sum'].sortable.visible,
.list-legend p[data-id='amount'].sortable.visible,
.list-legend p[data-id='cost'].sortable.visible,
.list-legend p[data-id='total'].sortable.visible,
.list-legend p[data-id='receipt'].sortable.visible,
.list-legend p.text-right.sortable.visible,
.list-legend p[data-id='sum'].visible > a,
.list-legend p[data-id='amount'].visible > a,
.list-legend p[data-id='cost'].visible > a,
.list-legend p[data-id='total'].visible > a,
.list-legend p[data-id='receipt'].visible > a,
.list-legend p.text-right.visible > a {
	justify-content: flex-end;
}
.list-view {
	margin: 0;
	padding: 0;
	list-style: none;
	min-height: 120px;
}
.content-card.list-card {
	animation: bc-fade-in .3s ease both;
}
.list-view > li {
	animation: bc-row-in .4s cubic-bezier(.2,.8,.3,1) backwards;
	animation-delay: calc(.12s + var(--i, 10) * 30ms);
}
html.lists-pending .list-view > li {
	animation-play-state: paused;
}
.list-view > li.settled {
	animation: none;
}
.list-view > li:hover {
	z-index: 2;
}
.list-view > li:nth-child(1) { --i: 0; }
.list-view > li:nth-child(2) { --i: 1; }
.list-view > li:nth-child(3) { --i: 2; }
.list-view > li:nth-child(4) { --i: 3; }
.list-view > li:nth-child(5) { --i: 4; }
.list-view > li:nth-child(6) { --i: 5; }
.list-view > li:nth-child(7) { --i: 6; }
.list-view > li:nth-child(8) { --i: 7; }
.list-view > li:nth-child(9) { --i: 8; }
.list-view > li:nth-child(10) { --i: 9; }

.list-view > li {
	position: relative;
	display: flex;
	align-items: center;
	cursor: default;
	width: 100%;
	min-height: 46px;
	padding: 0 44px 0 20px;
	border-bottom: 1px solid var(--border-default);
	transition: background .12s;
}
.settings-card .list-legend:not(:has(input[type="checkbox"])),
.settings-card .list-view > li:not(:has(input[type="checkbox"])) {
	padding-left: 14px;
}
.settings-card .list-legend:not(:has(input[type="checkbox"])) > p:first-child,
.settings-card .list-view > li:not(:has(input[type="checkbox"])) > p:first-child {
	padding-left: 0;
}
.list-view > li:last-child {
	border-bottom: none;
}
.list-view > li:hover,
.list-view > li.multi-selected:hover {
	background: rgba(var(--accent-rgb),.04);
}
.list-view > li.multi-selected {
	background: rgba(var(--accent-rgb),.07);
}
.list-view li.force_hide {
	display: none !important;
}
.list-view > li[data-archived='yes'] > [data-id],
.list-view > li[data-archived='yes']:before {
	opacity: .6;
}
.list-view > li[data-archived='yes']:before {
	background: var(--gray-400);
}
.list-view > li[data-archived='yes'] > [data-id],
.list-view > li[data-archived='yes'] > [data-id] a {
	color: var(--text-muted);
	font-weight: 400;
}
.list-view > li[data-archived='yes'] .tag {
	color: var(--text-muted);
	background: transparent;
}
.list-view > li:before {
	content: '';
	position: absolute;
	left: 6px;
	top: 6px;
	bottom: 6px;
	width: 3px;
	border-radius: 2px;
	background: transparent;
}
.list-view li[data-type='service']:before,
.list-view li[data-type='archive']:before,
.list-view.estimates li[data-type='won']:before,
.list-view.bank-receipts li[data-type='credit']:before {
	background: var(--accent);
}
.list-view li[data-type='estimation']:before {
	background: var(--blue-400);
}
.list-view.efforts li[data-type='travel']:before {
	background: var(--gray-400);
}
.list-view li[data-type='material']:before,
.list-view.estimates li[data-type='lost']:before,
.list-view.bank-receipts li[data-type='debit']:before {
	background: var(--danger);
}
.list-view li[data-type='credit']:before,
.list-view li[data-type='active']:before,
.list-view.estimates li[data-type='valid']:before {
	background: var(--warning);
}
.list-view.bills li[data-canceled='no'][data-paid='no']:before {
	background: var(--warning);
}
.list-view.bills li[data-canceled='no'][data-paid='yes']:before {
	background: var(--accent);
}
.list-view.bills li[data-canceled='no'][data-paid='no'][data-partial='yes']:before {
	background: linear-gradient(to top, var(--accent) 0 var(--paid-pct, 0%), rgba(var(--accent-rgb),.5) var(--paid-pct, 0%));
}
.list-view.credits li[data-sent='no']:before {
	background: var(--warning);
}
.list-view.credits li[data-sent='yes']:before {
	background: var(--accent);
}
.list-view.credits .send_state {
	display: inline-block;
	padding: 3px 9px;
	border-radius: 999px;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	font: 500 11px/1.4 var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
}
.list-view.credits .send_state.open {
	color: var(--warning);
}
.list-view > li > [data-id] > .lock_mark {
	display: inline-flex;
	vertical-align: -1px;
	margin-left: 6px;
	color: var(--text-muted);
	cursor: help;
}
.list-view > li[data-canceled='yes'] > p[data-id='num'] {
	text-decoration: none;
}
.list-view.estimates li[data-type='expired']:before,
.list-view > li[data-canceled='yes']:before {
	background: var(--gray-400);
}
.list-view.bills li[data-paid='no'][data-partial='yes'] p[data-id='total'] {
	white-space: nowrap;
}
.list-view.bills li p[data-id='total'] .paid-in {
	color: var(--accent);
}
.list-view.bills li p[data-id='total'] .paid-sep {
	color: var(--text-muted);
}
.list-view.bank-receipts li[data-type='credit'] p[data-id='amount'] {
	color: var(--accent);
}
.list-view.bank-receipts li[data-type='debit'] p[data-id='amount'] {
	color: var(--danger);
}
.list-view > li > [data-id] {
	display: none;
	margin: 0;
	width: 25%;
	min-width: 0;
	flex: 0 1 auto;
	padding: 13px 14px;
	font: 400 14px/20px var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.list-view > li > [data-id] > * {
	margin: 0;
}
.list-view:not(.expand) > li > div[data-id] {
	max-height: 46px;
	overflow: hidden;
}
.list-view:not(.expand) > li > div[data-id] > * {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.list-view:not(.expand) > li > div[data-id] > * + * {
	display: none;
}
.list-view li > .visible,
.list-legend p.visible {
	display: block;
}
.list-view li > .no_head {
	display: none;
}
.list-view li > .visible.show_mobile[data-id='name'],
.list-view li > [data-id='project'],
.list-view li > [data-id='company'],
.list-view li > [data-id='effort'],
.list-view li > [data-id='label'],
.list-view li > [data-id='bank_name'],
.list-view.emails li > [data-id='type'],
.list-view li > [data-id='total'],
.list-view li > [data-id='sum'],
.list-view li > [data-id='sum_total'],
.list-view li > [data-id='amount'].show_mobile {
	color: var(--text-primary);
	font-weight: 500;
}
.list-view li p[data-id='sum'],
.list-view li p[data-id='amount'],
.list-view li p[data-id='cost'],
.list-view li p[data-id='total'],
.list-view li p[data-id='num_invoices'],
.list-view li p[data-id='sum_total'],
.list-view li p.text-right,
.list-legend p[data-id='sum'],
.list-legend p[data-id='amount'],
.list-legend p[data-id='cost'],
.list-legend p[data-id='total'],
.list-legend p[data-id='receipt'],
.list-legend p.text-right {
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.list-view li p .none {
	color: var(--text-muted);
}
.list-view li p[data-id='num'],
.list-view li p[data-id='date'],
.list-view li p[data-id='date_from'] {
	color: var(--text-muted);
}
.list-view li a {
	color: var(--accent);
}
.list-view > li[data-canceled='yes'] > [data-id] {
	text-decoration: line-through;
	color: var(--text-muted);
}
.list-view.expand li p {
	height: auto;
	text-overflow: clip;
	white-space: normal;
}
.list-view.efforts-archive li p,
.list-view.efforts li > [data-id],
.list-view.hbcis li p:not([data-id='select']):not(.table-options),
.list-legend.for-efforts p,
.list-legend.for-hbcis p:not([data-id='select']):not(.table-options) {
	width: 20%;
}
p[data-id='bank_pin'] {
	-webkit-text-security: disc;
}
.list-view li [data-id].big,
.list-legend p.big {
	width: 50%;
}
.list-view li [data-id].mini,
.list-legend p.mini {
	width: 5%;
	min-width: 40px;
}
.list-card .list-view li [data-id='num'],
.list-card .list-legend p[data-id='num'] {
	flex: 0 0 72px;
	width: 72px;
	min-width: 72px;
}
.list-view li [data-id].small,
.list-legend p.small {
	width: 10%;
}
.list-view li [data-id].medium,
.list-legend p.medium {
	width: 15%;
}
.list-view li [data-id].large,
.list-legend p.large {
	width: 40%;
}
.list-view li [data-id].wide,
.list-legend p.wide {
	width: 20%;
}
.hbcis li [data-id='automation'].visible {
	display: flex;
	align-items: center;
	gap: 6px;
}
.list-view li [data-id].fill,
.list-legend p.fill {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
}
.bulk_actions {
	display: flex;
	align-items: center;
	gap: 10px;
}
.bulk_actions[hidden] {
	display: none;
}
.bulk_menu {
	position: relative;
}
.bulk_menu .bulk_toggle {
	height: 40px;
	gap: 4px;
	color: var(--accent);
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.08);
}
.bulk_menu .bulk_toggle .icon {
	margin-left: 4px;
}
.bulk_menu .bulk_toggle:hover,
.bulk_menu.open .bulk_toggle {
	background: rgba(var(--accent-rgb),.16);
}
.bulk_menu .bulk_toggle .icon {
	transition: transform .15s;
}
.bulk_menu.open .bulk_toggle .icon {
	transform: rotate(180deg);
}
.bulk_popover {
	position: absolute;
	left: 0;
	top: calc(100% + 6px);
	display: none;
	width: max-content;
	min-width: 220px;
	padding: 6px;
	border-radius: var(--radius-m);
	background: var(--popover-bg);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	z-index: 200;
}
.bulk_menu.open .bulk_popover {
	display: block;
	animation: bc-fade-in .12s ease both;
}
.bulk_popover a {
	display: block;
	white-space: nowrap;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	font: 500 13px/1.2 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
}
.bulk_popover a:hover {
	background: rgba(var(--accent-rgb),.07);
	color: var(--text-primary);
}
.bulk_actions.compact .bulk_toggle {
	height: 30px;
	padding: 0 10px;
	border-radius: var(--radius-s);
	font: 600 12px/1 var(--font-body);
}
.bulk_actions.right .bulk_popover {
	left: auto;
	right: 0;
}
.bulk_popover a.danger {
	color: var(--danger);
}
.list-view > li > p[data-id='select'],
.list-legend p[data-id='select'] {
	padding-left: 0;
	padding-right: 0;
	text-align: left;
	overflow: visible;
}
.list-view > li > p[data-id='select'] .multi-select,
.list-legend p[data-id='select'] .multi-select {
	display: block;
}
.data .list-view > li > p[data-id='select'] .multi-select,
.data .list-legend p[data-id='select'] .multi-select {
	width: 15px;
}
.list-view li .visible .highlight {
	background: rgba(var(--accent-rgb),.25);
	color: var(--text-primary);
	border-radius: 3px;
}
.list-view li p .grace,
.list-view li p .done {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 96px;
	max-width: 100%;
	height: 24px;
	padding: 0 8px;
	border-radius: var(--radius-s);
	overflow: hidden;
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	vertical-align: middle;
	font: 600 11px/1 var(--font-body);
	letter-spacing: .02em;
	color: var(--warning);
}
.list-view li p .grace .indicator {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	background: rgba(245,185,80,.22);
}
.list-view li p .days {
	position: relative;
	z-index: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.list-view li p .done {
	color: var(--accent);
	background: rgba(var(--accent-rgb),.12);
	border-color: rgba(var(--accent-rgb),.35);
}

.list-view > li[data-canceled='yes'] p .grace,
.list-view > li[data-canceled='yes'] p .done {
	color: var(--text-muted);
	background: var(--surface-raised);
	border-color: var(--border-strong);
	text-decoration: none;
}
.list-view > li[data-canceled='yes'] p .grace .indicator {
	display: none;
}
.list-view.bank-receipts li.has-receipt:after {
	content: '';
	position: absolute;
	right: 44px;
	top: 0;
	bottom: 0;
	width: 36px;
	background: var(--accent);
	-webkit-mask: var(--icon-paperclip) no-repeat center / 16px 16px;
	mask: var(--icon-paperclip) no-repeat center / 16px 16px;
	opacity: .9;
	pointer-events: none;
}
.list-view.bank-receipts li.has-receipt.in-datev:after {
	-webkit-mask-image: var(--icon-cloud-up);
	mask-image: var(--icon-cloud-up);
}
.list-view li .receipt_mark {
	display: inline-block;
	width: 16px;
	height: 16px;
	vertical-align: middle;
	background: var(--accent);
	-webkit-mask: var(--icon-paperclip) no-repeat center / 16px 16px;
	mask: var(--icon-paperclip) no-repeat center / 16px 16px;
}
.list-view li .receipt_mark.datev {
	-webkit-mask-image: var(--icon-cloud-up);
	mask-image: var(--icon-cloud-up);
}
.list-view li .receipt_xml {
	margin-left: 4px;
	vertical-align: middle;
	font: 700 9px/1 var(--font-body);
	letter-spacing: .04em;
	color: var(--text-muted);
}
.list-view li .receipt_mark .sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.list-view.bank-receipts:has(> li > p[data-id='receipt'].visible) li.has-receipt:after {
	display: none;
}
.bills > li,
.bank-receipts > li,
.list-legend.for-bills,
.list-legend.for-receipts {
	padding-right: 80px;
}
.list-view > li:has(> .options:hover),
.list-view > li:has(> .bank_match:hover) {
	z-index: 170;
}
.list-view li .options {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 160;
	opacity: 0;
	transition: opacity .12s;
}
.list-view li:hover .options,
.list-view li .options:hover {
	opacity: 1;
}
.list-view li .options > .mini_btn.menu span {
	display: none;
}
.list-view li .options > .mini_btn.menu:before {
	content: '';
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--icon-dots) no-repeat center / contain;
	mask: var(--icon-dots) no-repeat center / contain;
}
.list-view li .options:hover > .mini_btn.menu {
	color: var(--accent);
}
.list-view li .options .hidden_menu {
	position: absolute;
	right: 0;
	top: 100%;
	display: none;
	list-style: none;
	margin: 0;
	padding: 6px;
	width: 240px;
	border-radius: var(--radius-m);
	background: var(--popover-bg);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	z-index: 100;
	animation: bc-fade-in .12s ease both;
}
.list-view li .options:before {
	content: '';
	position: absolute;
	left: -10px;
	right: 0;
	top: 100%;
	height: 8px;
}
.list-view li:nth-last-child(-n+5):not(:nth-child(-n+5)) .options .hidden_menu {
	top: auto;
	bottom: 100%;
}
.list-view li .options:hover .hidden_menu {
	display: block;
}
.list-view li .options .hidden_menu li {
	margin: 0;
	padding: 0;
}
.list-view li .options .hidden_menu .mini_btn {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	height: auto;
	padding: 8px 10px;
	text-align: left;
	white-space: nowrap;
	font: 500 13px/1.2 var(--font-body);
	color: var(--text-secondary);
	border-radius: var(--radius-s);
}
.list-view li .options .hidden_menu .mini_btn:hover {
	background: rgba(var(--accent-rgb),.07);
	color: var(--text-primary);
}
.list-view li .options .hidden_menu .mini_btn span {
	width: 16px;
	display: inline-block;
	text-align: center;
	font-size: 13px;
	color: var(--text-muted);
}
.list-view li .options .hidden_menu .mini_btn:hover span {
	color: var(--accent);
}
.list-view li .options .hidden_menu .mini_btn:after {
	content: attr(title);
	overflow: hidden;
	text-overflow: ellipsis;
}
.list-view li .options .hidden_menu .mini_btn.remove,
.list-view li .options .hidden_menu .mini_btn.cancel {
	color: var(--danger);
}
.list-view li .options .hidden_menu .mini_btn.remove span,
.list-view li .options .hidden_menu .mini_btn.cancel span {
	color: var(--danger);
}
.list-view.estimates li .options .mini_btn.is-set,
.list-view.estimates li .options .mini_btn.is-set span {
	color: var(--accent);
}
.bills li .bank_match {
	position: absolute;
	right: 48px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 150;
}
.bills li.in-datev .bank_match {
	display: none;
}
.bills li .bank_match .mark {
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: var(--radius-s);
	color: var(--warning);
	cursor: help;
}
.bills li .bank_match:hover .mark {
	background: rgba(245,185,80,.12);
}
.bills li[data-paid='yes'] .bank_match .mark {
	color: var(--accent);
}
.bills li[data-paid='yes'] .bank_match:hover .mark {
	background: rgba(var(--accent-rgb),.12);
}
.bills li .bank_match ul {
	position: absolute;
	display: none;
	right: 0;
	top: 100%;
	margin: 4px 0 0;
	padding: 12px;
	min-width: 300px;
	list-style: none;
	border-radius: var(--radius-m);
	background: var(--popover-bg);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	z-index: 100;
}
.bills li .bank_match:hover ul {
	display: block;
}
.bills li .bank_match ul li {
	display: flex;
	gap: 12px;
	padding: 6px 0;
	border-top: 1px solid var(--border-default);
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-secondary);
	white-space: normal;
}
.bills li .bank_match ul li:first-child {
	border-top: none;
	padding-top: 0;
}
.bills li .bank_match ul li .label {
	width: 110px;
	flex-shrink: 0;
	color: var(--text-muted);
}
.bills li .bank_match ul li .value {
	color: var(--text-primary);
	font-weight: 500;
}
.page-title .list-overview .sum,
.page-title .list-overview .count,
.page-title .list-overview .account {
	font-variant-numeric: tabular-nums;
}
.list-view > li.page_hide {
	display: none !important;
}
.list-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding: 14px 20px;
}
.list-footer .pagination {
	display: flex;
	align-items: center;
	gap: 6px;
}
.list-footer .pagination button {
	min-width: 30px;
	height: 30px;
	padding: 0 6px;
	display: grid;
	place-items: center;
	border: none;
	border-radius: var(--radius-s);
	background: transparent;
	color: var(--text-muted);
	font: 600 12px/1 var(--font-body);
	box-shadow: none;
}
.list-footer .pagination button.arrow {
	width: 30px;
	padding: 0;
	font-size: 13px;
}
.list-footer .pagination button:hover {
	color: var(--text-primary);
	border: none;
	box-shadow: none;
}
.list-footer .pagination button.active,
.list-footer .pagination button.active:hover {
	background: rgba(var(--accent-rgb),.08);
	border: 1.5px solid var(--accent);
	color: var(--accent);
	box-shadow: 0 0 10px rgba(var(--accent-rgb),.25);
}
.list-footer .pagination button[disabled] {
	color: var(--disabled);
	cursor: default;
}
.list-footer .pagination .ellipsis {
	padding: 0 4px;
	color: var(--text-muted);
	font: 600 12px/1 var(--font-body);
}
.list-footer .per-page {
	display: flex;
	align-items: center;
	gap: 10px;
}
.list-footer .per-page .label {
	font: var(--text-label);
	letter-spacing: .03em;
	text-transform: none;
	color: var(--text-muted);
}
.list-footer .per-page .select.pill > input {
	min-width: 70px;
}
.list-footer .select.pill > ul {
	top: auto;
	bottom: 100%;
	margin: 0 0 6px;
}
.list-legend-colors {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	margin-top: 14px;
	padding-left: 4px;
}
.list-legend-colors span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: var(--text-small);
	color: var(--text-muted);
}
.list-legend-colors .legend-lock {
	cursor: help;
}
.list-legend-colors .legend-lock:before {
	display: none;
}
.list-legend-colors .legend-lock svg {
	flex-shrink: 0;
	margin-right: -2px;
}
.list-legend-colors span:before {
	content: '';
	width: 3px;
	height: 14px;
	border-radius: 2px;
	background: var(--gray-400);
}
.list-legend-colors.pipeline-legend {
	margin-top: 16px;
}
.list-legend-colors .stripe-accent:before {
	background: var(--accent);
}
.list-legend-colors .stripe-warning:before {
	background: var(--warning);
}
.list-legend-colors .stripe-danger:before {
	background: var(--danger);
}
.list-legend-colors .stripe-gray:before {
	background: var(--gray-400);
}
.list-legend-colors.pipeline-legend span[style]:before {
	background: var(--stripe);
}
.list-legend-colors .is-paid:before,
.list-legend-colors .is-won:before,
.list-legend-colors .is-service:before,
.list-legend-colors .is-credit:before {
	background: var(--accent);
}
.list-legend-colors .is-open:before,
.list-legend-colors .is-valid:before,
.list-legend-colors .is-credit.effort:before {
	background: var(--warning);
}
.list-legend-colors .is-lost:before,
.list-legend-colors .is-material:before,
.list-legend-colors .is-debit:before {
	background: var(--danger);
}
.list-legend-colors .is-estimation:before {
	background: var(--blue-400);
}
.list-legend-colors .is-travel:before {
	background: var(--gray-400);
}
.list-legend-colors .is-partial:before {
	background: linear-gradient(to top, var(--accent) 0 60%, rgba(var(--accent-rgb),.5) 60%);
}
.list-legend-colors .is-canceled {
	text-decoration: line-through;
}
.datev-progress {
	margin: 20px 0 10px 0;
}
.datev-progress .bar {
	width: 100%;
	height: 6px;
	background: var(--surface-raised);
	border-radius: 999px;
	overflow: hidden;
}
.datev-progress .bar span {
	display: block;
	height: 100%;
	width: 0;
	background: var(--accent);
	box-shadow: 0 0 8px rgba(var(--accent-rgb),.4);
	transition: width .3s ease;
}
.datev-progress .status {
	margin-top: 8px;
	text-align: center;
	font: var(--text-small);
	color: var(--text-muted);
}

.list-view > li.open_flash {
	box-shadow: inset 0 0 0 1px var(--accent), 0 0 0 3px rgba(var(--accent-rgb),.15);
	transition: box-shadow .4s;
}

.pipeline-view .anchor_nav {
	min-width: 160px;
}
.pipeline {
	display: flex;
	gap: 12px;
	align-items: stretch;
	height: calc(100vh - 290px);
	min-height: 420px;
	overflow-x: auto;
	scrollbar-width: none;
	padding-bottom: 4px;
}
.pipeline::-webkit-scrollbar {
	display: none;
}
.pipeline.more-right {
	-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 48px), transparent);
	mask-image: linear-gradient(to right, #000 calc(100% - 48px), transparent);
}
.pipeline.more-left {
	-webkit-mask-image: linear-gradient(to right, transparent, #000 48px);
	mask-image: linear-gradient(to right, transparent, #000 48px);
}
.pipeline.more-left.more-right {
	-webkit-mask-image: linear-gradient(to right, transparent, #000 48px, #000 calc(100% - 48px), transparent);
	mask-image: linear-gradient(to right, transparent, #000 48px, #000 calc(100% - 48px), transparent);
}
.pipeline.panning,
.pipeline.panning * {
	cursor: grabbing;
	user-select: none;
}
.pipeline .col {
	position: relative;
	width: 240px;
	min-width: 240px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 10px;
	border-radius: var(--radius-l);
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
	height: 100%;
}
.pipeline .col-head {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 2px 0 6px;
}
.pipeline .col-head .title {
	font: 600 13px/1.3 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.pipeline .col-head .title.edit_column {
	cursor: pointer;
}
.pipeline .col-head .confetti_mark {
	display: inline-flex;
	flex-shrink: 0;
	color: var(--accent);
}
#pipeline_box .column_confetti {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 18px 0 4px;
}
#pipeline_box .confetti_hint {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding-left: 44px;
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
#pipeline_box .confetti_hint .confetti_try {
	font: 600 12px var(--font-body);
	color: var(--accent);
	cursor: pointer;
}
.pipeline .col-head input.rename {
	height: 28px;
	padding: 0 8px;
	font: 600 13px/1.3 var(--font-body);
	border-radius: var(--radius-s);
}
.pipeline .col-head .count {
	flex: 1;
	font: 600 12px/1.3 var(--font-body);
	color: var(--accent);
}
.pipeline .col-head .add_card_here {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}
.pipeline .col-head .add_card_here:hover {
	color: var(--accent);
}
.pipeline .col-menu {
	position: relative;
	flex-shrink: 0;
}
.pipeline .col-menu .menu {
	width: 24px;
	height: 24px;
}
.pipeline .col-menu .menu:before {
	content: '';
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: var(--icon-dots) no-repeat center / contain;
	mask: var(--icon-dots) no-repeat center / contain;
}
.pipeline .col-popover {
	position: absolute;
	right: 0;
	top: 100%;
	display: none;
	width: 170px;
	padding: 6px;
	margin-top: 4px;
	border-radius: var(--radius-m);
	background: var(--popover-bg);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	z-index: 50;
}
.pipeline .col-popover.open {
	display: block;
	animation: bc-fade-in .12s ease both;
}
.pipeline .col-popover a {
	display: block;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	font: 500 13px/1.2 var(--font-body);
	color: var(--text-secondary);
}
.pipeline .col-popover a:hover {
	background: rgba(var(--accent-rgb),.07);
	color: var(--text-primary);
}
.pipeline .col-popover a.danger {
	color: var(--danger);
}
.pipeline .cards {
	flex: 1;
	min-height: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
	overflow-y: auto;
	scrollbar-width: none;
}
.pipeline .cards::-webkit-scrollbar {
	display: none;
}
.pipeline .cards:empty + .drop-hint {
	display: block;
}
.pipeline .drop-hint {
	display: none;
	position: absolute;
	left: 10px;
	right: 10px;
	top: 48px;
	padding: 18px 12px;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-m);
	text-align: center;
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-muted);
	pointer-events: none;
}
.pipeline .sortable-placeholder {
	min-height: 60px;
	border: 1px dashed var(--accent);
	border-radius: var(--radius-m);
	background: rgba(var(--accent-rgb),.05);
	box-shadow: 0 0 8px rgba(var(--accent-rgb),.25);
}
.pipe-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 12px 12px 10px;
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
	cursor: grab;
	transition: border-color .2s, padding .2s;
}
.pipe-card:hover {
	border-color: var(--accent);
}
.pipe-card.sortable-drag {
	cursor: grabbing;
	box-shadow: var(--shadow-pop);
}
.pipe-card .name {
	font: 600 13px/1.3 var(--font-body);
	color: var(--text-primary);
}
.pipe-card .sub {
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-secondary);
}
.pipe-card .firma {
	display: flex;
	align-items: center;
	gap: 6px;
	padding-top: 8px;
	border-top: 1px solid var(--border-default);
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-secondary);
	min-width: 0;
}
.pipe-card .firma span:last-child {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
}
.pipe-card .zone.firma {
	flex-wrap: nowrap;
}
.pipe-card .firma .haus {
	flex-shrink: 0;
}
.pipe-card .avatar {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	display: grid;
	place-items: center;
	border-radius: 4px;
	border: 1px solid var(--border-strong);
	font: 700 8px/1 var(--font-display);
	color: var(--accent);
}
.pipe-card .meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
.pipe-card .badge {
	padding: 4px 8px;
	border-radius: var(--radius-s);
	border: 1px solid transparent;
	font: 600 10px/1 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
}
.pipe-card .badge.in {
	background: rgba(var(--accent-rgb),.12);
	border-color: rgba(var(--accent-rgb),.4);
	color: var(--accent);
}
.pipe-card .badge.out {
	background: rgba(242,109,109,.12);
	border-color: rgba(242,109,109,.4);
	color: var(--danger);
}
.pipe-card .value {
	font: 500 12px/1.3 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-secondary);
	white-space: nowrap;
}
.pipe-card .date {
	font: 400 11px/1.3 var(--font-body);
	color: var(--text-muted);
}
.pipe-card .pipe-offer {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	font: 400 11px/1.3 var(--font-body);
	color: var(--text-muted);
}
.pipe-card .pipe-offer svg {
	flex-shrink: 0;
}
.pipe-card .pipe-offer .label {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.pipe-card .pipe-offer .dot {
	width: 7px;
	height: 7px;
}
.pipe-card .pipe-offer .dot,
.offer_picker .dot,
#offer_menu .dot {
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--warning);
}
.pipe-card .pipe-offer .dot.won,
.offer_picker .dot.won,
#offer_menu .dot.won {
	background: var(--accent);
}
.pipe-card .pipe-offer .dot.lost,
.offer_picker .dot.lost,
#offer_menu .dot.lost {
	background: var(--danger);
}
.pipe-card .pipe-offer .dot.expired,
.offer_picker .dot.expired,
#offer_menu .dot.expired {
	background: var(--gray-400);
}
.pipe-card .actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	color: var(--text-muted);
}
.pipe-card .actions a {
	display: inline-flex;
	color: inherit;
}
.pipe-card .actions a:hover {
	color: var(--accent);
}
.pipe-card .actions .remove_card:hover {
	color: var(--danger);
}
.pipe-card .row {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}
.pipe-card .zone {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	min-width: 0;
}
.pipe-card .row.head .zone.kopf {
	flex: 1;
}
.pipe-card .row.head .zone.wert {
	flex-shrink: 0;
	justify-content: flex-end;
}
.pipe-card .row.foot .actions {
	margin-left: auto;
}
.pipe-card .zone.kopf {
	font: 600 13px/1.3 var(--font-body);
	color: var(--text-primary);
}
.pipe-card .zone.wert {
	font: 500 12px/1.3 var(--font-body);
	color: var(--text-secondary);
}
.pipe-card .zone.zeile1,
.pipe-card .zone.zeile2,
.pipe-card .zone.fuss {
	font: 400 11px/1.3 var(--font-body);
	color: var(--text-muted);
}
.pipe-card .zone.marke {
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-secondary);
}
.pipe-card .zone .txt {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
}
.pipe-card .zone .num {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.pipe-card .zone .day {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.pipe-card .zone .day svg {
	flex-shrink: 0;
}
.pipe-card .zone .chip {
	display: inline-flex;
	align-items: center;
	height: 20px;
	padding: 0 8px;
	border-radius: var(--radius-s);
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	font: 600 10px/1 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: inherit;
	white-space: nowrap;
}
.pipe-card .zone .pipe-offer {
	flex: 1;
}
.pipe-card .firma .haus {
	flex-shrink: 0;
	color: var(--text-muted);
}
.pipe-card.inset {
	padding-left: 22px;
}
.pipe-card[data-stripe]:before {
	content: '';
	position: absolute;
	left: 10px;
	top: 10px;
	bottom: 10px;
	width: 3px;
	border-radius: 2px;
}
.pipe-card[data-stripe]:before {
	background: var(--stripe, var(--gray-400));
}
.pipe-card[data-stripe]:hover {
	border-color: var(--stripe, var(--gray-400));
}

@media (hover: none) {
	.pipeline .pipe-card,
	.task-board .task-card {
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		user-select: none;
	}
	.pipeline .pipe-card.gegriffen:not(.sortable-placeholder),
	.task-board .task-card.gegriffen:not(.sortable-placeholder) {
		transform: scale(1.03);
		box-shadow: var(--shadow-pop);
		border-color: var(--accent);
		transition: transform .12s, box-shadow .12s;
	}
}
.pipe-card.sortable-fallback,
.task-card.sortable-fallback {
	height: auto !important;
	min-height: 0;
	margin: 0;
	opacity: 1 !important;
	background: var(--surface-raised);
	border: 1px solid var(--accent);
	box-shadow: var(--shadow-pop);
	transform: scale(1.03);
	pointer-events: none;
	z-index: 9999;
}
.task-card.sortable-fallback .title {
	padding-right: 18px;
}
.task-card.sortable-fallback .card_menu_btn {
	position: absolute;
	top: 6px;
	right: 4px;
	width: 24px;
	height: 24px;
	display: grid;
	place-items: center;
	color: var(--text-muted);
}
.avatar {
	--size: 32px;
	width: var(--size);
	min-width: var(--size);
	height: var(--size);
	display: inline-grid;
	place-items: center;
	border-radius: 50%;
	overflow: hidden;
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	font: 700 calc(var(--size) * .34) / 1 var(--font-display);
	letter-spacing: -.02em;
	vertical-align: middle;
	flex-shrink: 0;
}
.avatar b {
	color: var(--text-primary);
	font-weight: 700;
}
.avatar i {
	color: var(--accent);
	font-style: normal;
}
.avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.data > ul > li.full {
	grid-column: 1 / -1;
}
.data > ul > li.actions {
	flex-direction: row;
	justify-content: flex-end;
	margin-top: 6px;
}
@media (max-width: 770px) {
		.data > ul > li.actions {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}
	.data > ul > li.actions .button {
		text-align: center;
	}
}
.data > ul > li .hint {
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.data > ul > li input.error {
	border: 1.5px solid var(--danger);
	box-shadow: none;
}
.data > ul > li input.error:focus {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.data > ul > li .field_error {
	margin: 0;
	font: 400 12px/1.3 var(--font-body);
	color: var(--danger);
}
.data > ul > li input[readonly] {
	color: var(--text-secondary);
}
.data > ul > li.email_pending_row:not(:has(.email_pending:not([hidden]))) {
	display: none;
}
.data .email_pending {
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.data .email_pending strong {
	color: var(--text-primary);
	font-weight: 600;
}
.data .email_pending .cancel_email_change {
	margin-left: 4px;
	cursor: pointer;
	color: var(--accent);
}
.data .photo_row {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}
.data .photo_actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.data .photo_actions .upload {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: auto;
	padding: 10px 16px;
	border: 1px dashed rgba(var(--secondary-rgb),.35);
	border-radius: var(--radius-m);
	font: 600 13px/1.2 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
	transition: border-color .15s, color .15s;
}
.data .photo_actions .upload:hover {
	border-color: var(--accent);
	color: var(--accent);
}
.data .photo_actions .upload .icon-up {
	transform: rotate(180deg);
}

.data .bg_hint {
	margin: 0 0 4px;
}
.data .bg_choice {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 16px;
	width: 100%;
	max-width: 480px;
}
.data .bg_card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: auto;
	height: auto;
	gap: 10px;
	padding: 10px;
	text-align: left;
	cursor: pointer;
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	box-shadow: none;
	transition: border-color .15s;
}
.data .bg_card:hover {
	border-color: var(--text-muted);
}
.data .bg_card.active {
	border-color: var(--accent);
}
.data .bg_preview {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: var(--radius-s);
	background: var(--surface-page);
	border: 1px solid var(--border-default);
}
.data .bg_preview img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
[data-theme="light"] .data .bg_preview img {
	opacity: var(--wave-alpha);
}
.data .bg_glass {
	position: absolute;
	top: 22%;
	height: 48%;
	box-sizing: border-box;
	border-radius: 8px;
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
}
.data .bg_glass.big {
	left: 12%;
	width: 46%;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 9px 10px;
}
.data .bg_glass.small {
	left: 64%;
	width: 24%;
}
.data .bg_glass i {
	display: block;
	height: 5px;
	border-radius: 3px;
}
.data .bg_glass i:nth-child(1) {
	width: 55%;
	background: var(--text-muted);
	opacity: .6;
}
.data .bg_glass i:nth-child(2) {
	width: 80%;
	height: 9px;
	background: var(--text-primary);
	opacity: .8;
}
.data .bg_glass i:nth-child(3) {
	width: 35%;
	margin-top: auto;
	background: var(--accent);
}
.data .bg_text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 0 4px 2px;
}
.data .bg_text strong {
	font: 600 14px var(--font-body);
	color: var(--text-primary);
}
.data .bg_card.active .bg_text strong {
	color: var(--accent);
}
.data .bg_text span {
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
.data .login_hint {
	margin: 0 0 4px;
}
.data .trusted_head {
	margin: 12px 0 10px;
	font: 600 13px var(--font-body);
	color: var(--text-primary);
}
.data .trusted_empty {
	margin: 0;
	font: var(--text-small);
	color: var(--text-muted);
}
.data .trusted_devices .td_name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.data .trusted_devices p[data-id="name"] {
	display: flex;
	align-items: center;
	gap: 10px;
}
:root {
		--agent-rail: 99px;
	--agent-width: 370px;
			--agent-top: 21px;
}
body.signed_in .page {
	margin-right: var(--agent-rail);
}
body.signed_in.agent-open .page {
	margin-right: var(--agent-width);
}
aside.agent {
	position: fixed;
	right: 0;
	top: 0;
	height: 100vh;
	height: 100dvh; 	width: var(--agent-rail);
	z-index: 550;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	transition: width .25s ease;
}
body.agent-open aside.agent {
	width: var(--agent-width);
}
aside.agent .agent_rail {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 14px;
	padding: var(--agent-top) 16px 28px 20px;
}
body.agent-open aside.agent .agent_rail {
	display: none;
}
aside.agent .agent_rail a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
aside.nav li.account .account_wrap {
	position: relative;
	display: block;
}
aside.nav li.account .nav_icon .avatar {
	--size: 34px;
}
aside.nav li.account .account_wrap.open > a {
	color: var(--text-primary);
}
aside.nav li.account .account_wrap.open .avatar,
aside.nav li.account .account_toggle:active .avatar {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
	transition: border-color .15s, box-shadow .15s;
}
.account_menu {
	display: none;
	position: absolute;
	left: 0;
	bottom: calc(100% + 8px);
	width: 250px;
	box-sizing: border-box;
	padding: 6px;
	border-radius: var(--radius-m);
		background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
	z-index: 60;
}
body.nav-collapsed aside.nav .account_menu {
	left: 50px;
	bottom: 4px;
}
aside.nav:has(.account_wrap.open) {
	overflow: visible;
}
.account_wrap.open .account_menu {
	display: block;
	animation: bc-fade-in .12s ease both;
}
.account_menu .account_name {
	display: block;
	padding: 6px 10px 8px;
	margin-bottom: 4px;
	border-bottom: 1px solid var(--border-default);
	font: 600 13px/1.2 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
}
.account_menu a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	font: 500 13px/1.2 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
	white-space: nowrap;
}
.account_menu a:hover {
	background: rgba(var(--accent-rgb),.07);
	color: var(--text-primary);
}
.account_menu a .icon {
	color: var(--text-muted);
	flex-shrink: 0;
}
aside.agent .close_agent .icon-collapse {
	transform: rotate(180deg);
}
.agent_icon .icon {
	display: block;
}
.agent_icon {
	width: 26px;
	min-width: 26px;
	height: 26px;
	display: inline-grid !important;
	place-items: center;
	line-height: 0;
	border-radius: 50%;
	background: var(--surface-raised);
	border: 1px solid var(--accent);
	color: var(--accent);
	box-shadow: 0 0 10px rgba(var(--accent-rgb),.25);
	flex-shrink: 0;
}
.agent_pulse {
	--size: 41px;
	width: var(--size);
	min-width: var(--size);
	height: var(--size);
	display: inline-grid;
	place-items: center;
	border-radius: 50%;
	background: var(--surface-raised);
	border: 1px solid var(--accent);
	box-shadow: 0 0 10px rgba(var(--accent-rgb),.25);
	flex-shrink: 0;
}
.agent_pulse svg {
	display: block;
	width: calc(var(--size) - 2px);
	height: calc(var(--size) - 2px);
}
.agent_pulse .dot {
	fill: var(--accent-hover);
}
.agent_pulse .ring {
	fill: var(--accent);
	transform-origin: 60px 60px;
	animation: bc-load-ring 1.5s ease-out infinite;
}
aside.agent .agent_panel {
	display: none;
	flex: 1;
	min-height: 0;
	flex-direction: column;
	gap: 14px;
	padding: var(--agent-top) 16px 20px 20px;
	box-sizing: border-box;
	height: 100vh;
	height: 100dvh; }
body.agent-open aside.agent .agent_panel {
	display: flex;
	animation: bc-fade-in .2s ease both;
}
aside.agent .agent_panel > header {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 36px;
}
aside.agent .agent_name {
	flex: 1;
	font: 600 15px/1.3 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
aside.agent .close_agent {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .15s;
}
aside.agent .close_agent:hover {
	color: var(--text-primary);
}
aside.agent .close_agent .icon-close {
	display: none;
}
aside.agent .full_agent {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .15s;
}
aside.agent .full_agent:hover {
	color: var(--text-primary);
}
aside.agent .full_agent .icon-compress {
	display: none;
}
aside.agent .sound_agent {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .15s;
}
aside.agent .sound_agent:hover {
	color: var(--text-primary);
}
aside.agent .sound_agent .icon-sound-off,
aside.agent .sound_agent.off .icon-sound-on {
	display: none;
}
aside.agent .sound_agent.off .icon-sound-off {
	display: block;
}
aside.agent .mic_agent {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .15s;
}
aside.agent .mic_agent:hover {
	color: var(--text-primary);
}
aside.agent .mic_agent.unsupported {
	display: none;
}
@media (max-width: 770px), (hover: none) and (pointer: coarse) {
	aside.agent .mic_agent {
		display: none;
	}
}
aside.agent .composer_row.recording .composer_left,
aside.agent .composer_row.recording .composer_actions {
	display: none;
}
aside.agent .voice_bar {
	flex: 1;
	min-width: 0;
	height: 28px;
	display: flex;
	align-items: center;
	gap: 10px;
}
aside.agent .voice_bar[hidden],
aside.agent .voice_bar [hidden] {
	display: none;
}
aside.agent .voice_live {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}
aside.agent .voice_dot {
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--danger);
	animation: bc-voice-punkt 1.2s ease-in-out infinite;
}
@keyframes bc-voice-punkt {
	0%, 100% { opacity: 1; }
	50% { opacity: .3; }
}
aside.agent .voice_time {
	flex: none;
	font: 500 12px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-secondary);
}
aside.agent .voice_time.warn {
	color: var(--warning);
}
aside.agent .voice_level {
	flex: 1;
	min-width: 0;
	height: 18px;
	display: flex;
	align-items: center;
	gap: 2px;
	overflow: hidden;
}
aside.agent .voice_level i {
	flex: none;
	width: 2px;
	height: 18px;
	border-radius: 1px;
	background: var(--accent);
	opacity: .75;
	transform: scaleY(.15);
	transition: transform .08s linear;
}
aside.agent .voice_loading {
	flex: 1;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: 500 12px var(--font-body);
	color: var(--text-secondary);
}
aside.agent .voice_spinner {
	width: 18px;
	height: 18px;
	box-sizing: border-box;
	border-radius: 50%;
	border: 2px solid var(--border-strong);
	border-top-color: var(--accent);
	animation: bc-voice-dreh .8s linear infinite;
}
@keyframes bc-voice-dreh {
	to { transform: rotate(360deg); }
}
aside.agent .voice_cancel,
aside.agent .voice_done {
	flex: none;
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	cursor: pointer;
	transition: color .15s;
}
aside.agent .voice_cancel {
	margin-left: auto;
	color: var(--text-muted);
}
aside.agent .voice_cancel:hover {
	color: var(--text-primary);
}
aside.agent .voice_done {
	color: var(--accent);
}
@media (prefers-reduced-motion: reduce) {
	aside.agent .voice_dot,
	aside.agent .voice_spinner {
		animation: none;
	}
}
@media (min-width: 771px) {
	.page {
		transition: margin-left .25s ease, margin-right .35s cubic-bezier(.4,0,.2,1);
	}
	aside.agent {
		overflow: hidden;
		transition: width .35s cubic-bezier(.4,0,.2,1);
	}
	aside.agent .agent_rail {
		position: absolute;
		top: 0;
		right: 0;
		padding: var(--agent-top) 36px 28px 22px;
		transition: opacity .2s;
	}
	body.agent-open aside.agent .agent_rail {
		display: flex;
		opacity: 0;
		pointer-events: none;
	}
	body:not(.static) aside.agent .agent_panel {
		display: flex;
		position: absolute;
		top: 0;
		bottom: 0;
		left: var(--agent-rail);
		width: var(--agent-width);
		height: auto;
		padding: 21px 36px 20px 20px;
		visibility: hidden;
		transition: left .35s cubic-bezier(.4,0,.2,1), visibility 0s linear .35s;
	}
	body.agent-open:not(.static) aside.agent .agent_panel {
		left: 0;
		visibility: visible;
		animation: none;
		transition: left .35s cubic-bezier(.4,0,.2,1), visibility 0s;
	}
	body.agent-full aside.agent {
		transition: none;
	}
	body.agent-full:not(.static) aside.agent .agent_panel {
		width: auto;
		right: 0;
		transition: none;
	}
}
@keyframes bc-agent-full-in {
	from { transform: translateX(100%); }
	to { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	aside.agent,
	aside.agent .agent_panel,
	.page {
		transition: none !important;
	}
	body.agent-full aside.agent {
		animation: none !important;
	}
}
body.agent-full aside.agent {
	left: var(--nav-width);
	width: auto;
	background: var(--surface-page);
	animation: bc-agent-full-in .35s cubic-bezier(.4,0,.2,1) both;
}
body.agent-full.nav-collapsed aside.agent {
	left: var(--nav-width-collapsed);
}
body.agent-full aside.agent .agent_panel {
	padding: var(--agent-top) 36px 20px;
}
body.agent-full aside.agent .full_agent,
body.agent-full aside.agent .full_agent:hover {
	color: var(--accent);
}
body.agent-full aside.agent .full_agent .icon-expand {
	display: none;
}
body.agent-full aside.agent .full_agent .icon-compress {
	display: block;
}
@media (max-width: 770px) {
	body:not(.static) aside.agent .full_agent {
		display: none;
	}
}

aside.agent .messages {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	scrollbar-width: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-right: 2px;
	position: relative;
	z-index: 1;
}
aside.agent .messages::-webkit-scrollbar {
	display: none;
}
aside.agent .msg {
	display: flex;
	gap: 8px;
	align-items: flex-end;
}
aside.agent .msg.user {
	flex-direction: row-reverse;
}
aside.agent .msg.fresh {
	animation: bc-msg-in .5s cubic-bezier(.3,.9,.35,1) both;
	transform-origin: bottom right;
}
aside.agent .msg .stack {
	max-width: 82%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
aside.agent .msg.user .stack {
	align-items: flex-end;
}
aside.agent .msg .bubble {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	border-radius: var(--radius-m);
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
}
aside.agent .msg.user .bubble {
	background: rgba(var(--accent-rgb),.07);
	border-color: rgba(var(--accent-rgb),.3);
}
aside.agent .msg .text {
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
	text-align: left;
	word-break: break-word;
}
aside.agent .msg .text p {
	margin: 0 0 8px;
}
aside.agent .msg .text p:last-child,
aside.agent .msg .text ul:last-child {
	margin-bottom: 0;
}
aside.agent .msg .text ul {
	margin: 0 0 8px;
	padding-left: 18px;
}
aside.agent .msg .text li {
	margin: 2px 0;
}
aside.agent .msg .text b {
	font-weight: 600;
	color: var(--text-primary);
}
aside.agent .msg .text .agent_table {
	width: 100%;
	margin: 8px 0;
	border-collapse: collapse;
	font: 400 12px/1.7 var(--font-body);
	color: var(--text-secondary);
}
aside.agent .msg .text .agent_table th,
aside.agent .msg .text .agent_table td {
	padding: 0 10px 0 0;
	text-align: left;
	vertical-align: top;
	border: none;
	word-break: normal;
	overflow-wrap: normal;
}
aside.agent .msg .text .agent_table tr:first-child th,
aside.agent .msg .text .agent_table tr:first-child td {
	padding-top: 6px;
	border-top: 1px solid var(--border-default);
}
aside.agent .msg .text .agent_table:not(:last-child) tr:last-child td {
	padding-bottom: 6px;
	border-bottom: 1px solid var(--border-default);
}
aside.agent .msg .text .agent_table th:last-child,
aside.agent .msg .text .agent_table td:last-child {
	padding-right: 0;
}
aside.agent .msg .text .agent_table th {
	font-weight: 600;
	color: var(--text-primary);
}
aside.agent .msg .text .agent_table .num {
	text-align: right;
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
aside.agent .msg .text .agent_table td.num {
	white-space: nowrap;
}
aside.agent .msg .text .agent_table th.num {
	hyphens: auto;
	-webkit-hyphens: auto;
}
body:not(.agent-full) aside.agent .msg .text .agent_table.stacked,
body:not(.agent-full) aside.agent .msg .text .agent_table.stacked tbody,
body:not(.agent-full) aside.agent .msg .text .agent_table.stacked tr,
body:not(.agent-full) aside.agent .msg .text .agent_table.stacked td {
	display: block;
}
body:not(.agent-full) aside.agent .msg .text .agent_table.stacked tr:first-child {
	display: none;
}
body:not(.agent-full) aside.agent .msg .text .agent_table.stacked tr {
	padding: 6px 0;
	border-bottom: 1px solid var(--border-default);
}
body:not(.agent-full) aside.agent .msg .text .agent_table.stacked tr:nth-child(2) {
	border-top: 1px solid var(--border-default);
}
body:not(.agent-full) aside.agent .msg .text .agent_table.stacked:last-child tr:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
body:not(.agent-full) aside.agent .msg .text .agent_table.stacked td,
body:not(.agent-full) aside.agent .msg .text .agent_table.stacked tr:last-child td {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 0;
	border: none;
	text-align: right;
}
body:not(.agent-full) aside.agent .msg .text .agent_table.stacked td::before {
	content: attr(data-label);
	flex-shrink: 0;
	text-align: left;
	color: var(--text-muted);
}
aside.agent .msg .text code {
	font: 400 12px var(--font-mono, ui-monospace, monospace);
	background: var(--surface-raised);
	border-radius: 4px;
	padding: 0 4px;
}
aside.agent .msg.error .text {
	color: var(--danger);
}
aside.agent .msg .rows {
	margin-top: 8px;
	padding-top: 6px;
	border-top: 1px solid var(--border-default);
}
aside.agent .msg .rows .row {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	font: 400 12px/1.7 var(--font-body);
	color: var(--text-secondary);
}
aside.agent .msg .rows .row span:first-child {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
aside.agent .msg .rows .value {
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
aside.agent .msg .plan {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--border-default);
}
aside.agent .msg .plan_group + .plan_group {
	margin-top: 10px;
}
aside.agent .msg .plan_head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
	font: 600 12px/1.4 var(--font-body);
	color: var(--text-primary);
}
aside.agent .msg .plan_head .count {
	min-width: 18px;
	padding: 0 6px;
	border-radius: 9px;
	background: rgba(var(--accent-rgb), .14);
	color: var(--accent);
	font: 600 11px/18px var(--font-body);
	text-align: center;
}
aside.agent .msg .plan_table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font: 400 12px/1.45 var(--font-body);
}
aside.agent .msg .plan_table td {
	padding: 6px 0;
	border-bottom: 1px solid var(--border-default);
	vertical-align: top;
}
aside.agent .msg .plan_table tr:last-child td {
	border-bottom: none;
}
aside.agent .msg .plan_table td.entry span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
aside.agent .msg .plan_table .label {
	color: var(--text-primary);
}
aside.agent .msg .plan_table td.entry span.details {
	margin-top: 1px;
	font-size: 11px;
	line-height: 1.4;
	color: var(--text-muted);
	white-space: normal;
}
aside.agent .msg .plan_table .details.error {
	color: var(--danger);
	white-space: normal;
}
aside.agent .msg .plan_table td.status {
	width: 18px;
	padding-left: 8px;
	text-align: right;
	color: var(--accent);
}
aside.agent .msg .plan_table tr.error td.status {
	color: var(--danger);
	font-weight: 700;
}
aside.agent .msg .plan_table tr.error .label {
	color: var(--danger);
}
aside.agent .msg .plan_table td.entry.with_fields {
	padding: 8px 0 10px;
}
aside.agent .msg .plan_table td.entry.with_fields span.entry_head,
aside.agent .msg .plan_table td.entry.with_fields span.entry_sub {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	overflow: visible;
}
aside.agent .msg .plan_table td.entry.with_fields .entry_head .label {
	flex: 1;
	min-width: 0;
	font: 600 13px/1.4 var(--font-body);
	color: var(--text-primary);
}
aside.agent .msg .plan_table td.entry.with_fields .entry_head .amount {
	flex: none;
	font: 600 15px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
aside.agent .msg .plan_table td.entry.with_fields span.entry_sub {
	font: 400 11px/1.4 var(--font-body);
	color: var(--text-muted);
}
aside.agent .msg .plan_table td.entry.with_fields .entry_sub span:first-child {
	flex: 1;
	min-width: 0;
}
aside.agent .msg .plan_table td.entry.with_fields .entry_sub span:last-child {
	flex: none;
}
aside.agent .msg .plan_table td.entry.with_fields span.entry_fields {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 14px;
	row-gap: 3px;
	margin-top: 8px;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
	white-space: normal;
}
aside.agent .msg .plan_table td.entry.with_fields .entry_fields .k {
	font: 400 11px/18px var(--font-body);
	color: var(--text-muted);
}
aside.agent .msg .plan_table td.entry.with_fields .entry_fields .v {
	min-width: 0;
	font: 500 12px/18px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
	text-align: right;
}
aside.agent .msg .plan_more {
	margin-top: 4px;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
aside.agent .msg .plan_actions {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 12px;
}
aside.agent .msg .button {
	height: 30px;
	padding: 0 14px;
	box-sizing: border-box;
	border-radius: 999px;
	font: 600 12px var(--font-body);
}
aside.agent .msg .plan_status {
	margin-top: 10px;
	font: 500 12px var(--font-body);
	color: var(--text-muted);
}
aside.agent .msg .plan_status.error {
	color: var(--danger);
}

aside.agent .msg .file {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--border-default);
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-secondary);
}
aside.agent .msg .file span {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
aside.agent .msg .file a {
	font: 600 12px/1.3 var(--font-body);
	color: var(--accent);
}
aside.agent .msg .meta {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin-top: 4px;
	font: 400 10px/1.3 var(--font-body);
	color: var(--text-muted);
}
aside.agent .msg .meta .dur {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
aside.agent .msg .meta .rate {
	display: inline-flex;
	gap: 2px;
	margin-left: auto;
}
aside.agent .msg.user .meta {
	justify-content: flex-end;
}
aside.agent .msg .meta .copy_msg {
	width: 20px;
	height: 20px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .15s;
}
aside.agent .msg .meta .copy_msg:hover {
	color: var(--text-primary);
}
aside.agent .msg.agent .meta .copy_msg {
	margin-left: auto;
}
aside.agent .msg.agent .meta .copy_msg + .rate {
	margin-left: -8px;
}
aside.agent .msg .meta .copy_msg .copied_icon,
aside.agent .msg .meta .copy_msg.copied .copy_icon {
	display: none;
}
aside.agent .msg .meta .copy_msg.copied .copied_icon {
	display: block;
}
aside.agent .msg .meta .copy_msg.copied {
	color: var(--accent);
}
aside.agent .msg .meta .rate a {
	width: 20px;
	height: 20px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .15s;
}
aside.agent .msg .meta .rate a:hover {
	color: var(--text-primary);
}
aside.agent .msg .meta .rate a.on,
aside.agent .msg .meta .rate a.on:hover {
	color: var(--accent);
}
aside.agent .msg .meta .rate .rate_down svg {
	transform: scaleY(-1);
}
aside.agent .msg.waiting .stack {
	width: 82%;
}
aside.agent .msg.waiting .bubble.working {
	width: 100%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 10px;
}
aside.agent .msg.waiting .bubble.working .dots {
	gap: 3px;
	padding: 0;
}
aside.agent .msg.waiting .bubble.working .dots i {
	width: 5px;
	height: 5px;
	animation-name: bc-bill-punkt;
}
aside.agent .msg.waiting .bubble.working .dots i:nth-child(2) { animation-delay: .15s; }
aside.agent .msg.waiting .bubble.working .dots i:nth-child(3) { animation-delay: .3s; }
@keyframes bc-bill-punkt {
	0%, 80%, 100% { opacity: .25; transform: translateY(0); }
	40% { opacity: 1; transform: translateY(-2px); }
}
aside.agent .msg.waiting .working_text {
	flex: 1;
	min-width: 0;
	height: 18px;
	overflow: hidden;
	font: 400 13px/18px var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
}
aside.agent .msg.waiting .working_text .step {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	background-image: linear-gradient(90deg, var(--text-secondary) 0%, var(--text-secondary) 40%, var(--text-primary) 50%, var(--text-secondary) 60%, var(--text-secondary) 100%);
	background-size: 200% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	animation: bc-schritt-in .3s cubic-bezier(.3,.9,.35,1) both, bc-schimmer 2.4s linear infinite;
}
@keyframes bc-schritt-in {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}
@keyframes bc-schimmer {
	from { background-position: 100% 0; }
	to { background-position: -100% 0; }
}
@media (prefers-reduced-motion: reduce) {
	aside.agent .msg.waiting .working_text .step {
		animation: none;
	}
}
aside.agent .msg.waiting .secs {
	font: 400 11px var(--font-body);
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
aside.agent .msg .meta .cancelled {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-right: auto;
	font: 400 10px var(--font-body);
	color: var(--text-muted);
}
aside.agent .msg .meta .cancelled .requeue,
aside.agent .msg .meta .cancelled .retry {
	font: 600 10px var(--font-body);
	color: var(--accent);
	cursor: pointer;
}
aside.agent .msg.error .retry_row {
	margin-top: 10px;
}

aside.agent .dots {
	display: inline-flex;
	gap: 4px;
	padding: 4px 0;
}
aside.agent .dots i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--accent);
	animation: bc-dot 1.2s ease-in-out infinite;
}
aside.agent .dots i:nth-child(2) { animation-delay: .2s; }
aside.agent .dots i:nth-child(3) { animation-delay: .4s; }
@keyframes bc-dot {
	0%, 80%, 100% { opacity: .25; transform: scale(.8); }
	40% { opacity: 1; transform: scale(1); }
}
@keyframes bc-msg-in {
	from { opacity: 0; transform: translateY(8px) scale(.96); }
	to { opacity: 1; transform: none; }
}
aside.agent .composer {
	position: relative;
	z-index: 2;
}
aside.agent .composer_box {
	position: relative;
	padding: 10px 12px;
	border-radius: var(--radius-m);
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
}
aside.agent .composer_box textarea {
	width: 100%;
	min-height: 0;
	height: 39px; 	padding: 0;
	resize: none;
	overflow-y: hidden;
	transition: height .12s ease;
	background: transparent;
	border: none;
	box-shadow: none;
	outline: none;
	color: var(--text-primary);
	font: 400 13px/1.5 var(--font-body);
}
aside.agent .composer_box textarea:focus {
	border: none;
	box-shadow: none;
}
aside.agent .composer_row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 6px;
}
aside.agent .composer_left {
	display: flex;
	align-items: center;
	gap: 4px;
}
aside.agent .composer_row .badge {
	padding: 3px 8px;
	border-radius: var(--radius-s);
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	font: 600 11px/1.3 var(--font-body);
	color: var(--text-secondary);
}
aside.agent .send_agent {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .15s;
}
aside.agent .send_agent.ready {
	color: var(--accent);
}
aside.agent .send_agent .stop_icon {
	display: none;
}
aside.agent.busy .send_agent {
	color: var(--accent);
}
aside.agent.busy .send_agent > .icon {
	display: none;
}
aside.agent.busy .send_agent .stop_icon {
	display: grid;
	place-items: center;
}
aside.agent .composer_actions {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
aside.agent .agent_usage {
	position: relative;
	display: inline-flex;
}
aside.agent .agent_usage[hidden] {
	display: none;
}
aside.agent .usage_ring {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	cursor: default;
}
aside.agent .usage_ring svg {
	transform: rotate(-90deg);
}
aside.agent .usage_ring circle {
	fill: none;
	stroke-width: 2;
}
aside.agent .usage_ring .track {
	stroke: var(--border-strong);
}
aside.agent .usage_ring .value {
	stroke: var(--accent);
	stroke-linecap: round;
	transition: stroke-dashoffset .3s, stroke .3s;
}
aside.agent .agent_usage[data-level="warning"] .usage_ring .value { stroke: var(--warning); }
aside.agent .agent_usage[data-level="danger"] .usage_ring .value { stroke: var(--danger); }
aside.agent .usage_pop {
	position: absolute;
	right: -6px;
	bottom: calc(100% + 8px);
	width: 236px;
	z-index: 20;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 12px 14px;
	box-sizing: border-box;
	background: var(--surface-card);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	box-shadow: var(--shadow-pop);
	animation: bc-pop-in .16s ease both;
}
aside.agent .usage_pop[hidden] {
	display: none;
}
aside.agent .usage_pop .pop_title {
	font: var(--text-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--text-muted);
}
aside.agent .usage_pop .pop_row {
	display: flex;
	flex-direction: column;
	gap: 5px;
}
aside.agent .usage_pop .pop_line {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	white-space: nowrap;
	font: 500 12px var(--font-body);
	color: var(--text-secondary);
}
aside.agent .usage_pop .amount {
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
aside.agent .usage_pop .amount small {
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
aside.agent .usage_pop .pop_row[data-level="warning"] .amount { color: var(--warning); }
aside.agent .usage_pop .pop_row[data-level="danger"] .amount { color: var(--danger); }
aside.agent .usage_pop .bar {
	height: 4px;
	border-radius: 2px;
	background: var(--border-default);
	overflow: hidden;
}
aside.agent .usage_pop .bar > span {
	display: block;
	height: 100%;
	background: var(--accent);
}
aside.agent .usage_pop .pop_row[data-level="warning"] .bar > span { background: var(--warning); }
aside.agent .usage_pop .pop_row[data-level="danger"] .bar > span { background: var(--danger); }
aside.agent .usage_pop .pop_foot {
	font: 400 11px var(--font-body);
	color: var(--text-muted);
}
aside.agent .usage_pop .pop_link,
aside.agent .agent_limit_note a,
aside.agent .agent_pro_box a {
	color: var(--accent);
	font: 600 12px var(--font-body);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}
aside.agent .agent_limit_note {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	padding: 8px 12px;
	border-radius: var(--radius-m);
	font: 500 12px/1.4 var(--font-body);
}
aside.agent .agent_limit_note[hidden] {
	display: none;
}
aside.agent .agent_limit_note .text {
	flex: 1;
}
aside.agent .agent_limit_note svg {
	flex-shrink: 0;
}
aside.agent .agent_limit_note.warning {
	border: 1px solid rgba(245,185,80,.45);
	background: rgba(245,185,80,.1);
	color: var(--warning);
}
aside.agent .agent_limit_note.danger {
	flex-wrap: wrap;
	align-items: flex-start;
	border: 1px solid rgba(255,69,58,.45);
	background: rgba(255,69,58,.1);
	color: var(--danger);
}
aside.agent .agent_limit_note.danger a {
	flex-basis: 100%;
	margin-left: 22px;
}
aside.agent.limit-reached .composer_box textarea {
	opacity: .5;
	cursor: not-allowed;
}
aside.agent.limit-reached .send_agent {
	cursor: not-allowed;
	color: var(--text-muted);
}
aside.agent .agent_pro_box {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 14px 14px 12px;
	border-radius: var(--radius-m);
	border: 1px solid rgba(var(--accent-rgb),.35);
	background: rgba(var(--accent-rgb),.06);
}
aside.agent .agent_pro_box .title {
	font: 600 13px var(--font-body);
	color: var(--text-primary);
}
aside.agent .agent_pro_box .text {
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.agent_fab {
	display: none;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 580;
	cursor: pointer;
}
body.no-agent aside.agent,
body.no-agent .agent_fab {
	display: none !important;
}
body.signed_in.no-agent .page {
	margin-right: 0;
}
body.signed_in.no-agent .page > section,
body.signed_in.no-agent .page footer {
	padding-right: 20px;
}
@media (max-width: 770px) {
	body:not(.static).signed_in .page,
	body:not(.static).signed_in.agent-open .page {
		margin-right: 0;
	}
}

@media (max-width: 770px) {
	body:not(.static) aside.agent {
		display: none;
	}
}

@media (max-width: 770px) {
	body:not(.static) .agent_fab {
		display: grid;
	}
}

@media (max-width: 770px) {
	body:not(.static).agent-open aside.agent {
		display: flex;
		width: 100%;
		z-index: 950;
		background: var(--surface-page);
	}
}

@media (max-width: 770px) {
	body:not(.static).agent-open aside.agent .agent_panel {
		padding: 20px 16px calc(12px + env(safe-area-inset-bottom, 0px));
	}
}

@media (max-width: 770px) {
	body:not(.static).agent-open .agent_fab {
		display: none;
	}
}

@media (max-width: 770px) {
	body:not(.static) aside.agent .close_agent .icon-collapse {
		display: none;
	}
}

@media (max-width: 770px) {
	body:not(.static) aside.agent .close_agent .icon-close {
		display: block;
	}
}



aside.agent .msg .ust {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--border-default);
}
aside.agent .msg .ust_head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 8px;
}
aside.agent .msg .ust_head .title {
	font: 600 13px/1.35 var(--font-body);
	color: var(--text-primary);
}
aside.agent .msg .ust_head .deadline {
	flex-shrink: 0;
	font: 400 11px var(--font-body);
	color: var(--text-muted);
}
aside.agent .msg .ust_box {
	padding: 8px 10px;
	border-radius: var(--radius-s);
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
}
aside.agent .msg .ust_row {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 4px 0;
}
aside.agent .msg .ust_row .kz {
	flex: 0 0 22px;
	font: 400 11px/18px var(--font-mono);
	color: var(--text-muted);
}
aside.agent .msg .ust_row .label {
	flex: 1;
	min-width: 0;
	font: 400 12px/18px var(--font-body);
	color: var(--text-primary);
}
aside.agent .msg .ust_row .label small {
	display: block;
	font: 400 11px/1.4 var(--font-body);
	color: var(--text-muted);
}
aside.agent .msg .ust_row .amount {
	flex-shrink: 0;
	font: 500 12px/18px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
	white-space: nowrap;
}
aside.agent .msg .ust_legend span,
aside.agent .msg .ust_legend .kz,
aside.agent .msg .ust_legend .label,
aside.agent .msg .ust_legend .amount {
	font: 500 10px/14px var(--font-body);
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--text-muted);
}
aside.agent .msg .ust_result {
	margin-top: 4px;
	padding-top: 8px;
	border-top: 1px solid var(--border-default);
}
aside.agent .msg .ust_result .label {
	font-weight: 600;
}
aside.agent .msg .ust_result .amount {
	font: 600 14px/18px var(--font-body);
	color: var(--accent);
}
aside.agent .msg .ust_hint {
	margin-top: 6px;
	font: 400 11px/1.4 var(--font-body);
	color: var(--text-muted);
}
aside.agent .msg .ust_missing {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin-top: 6px;
	font: 400 11px/1.45 var(--font-body);
	color: var(--warning);
}
aside.agent .msg .ust_missing svg {
	flex-shrink: 0;
	margin-top: 1px;
}
aside.agent .msg .ust_actions .button.disabled {
	opacity: .5;
	pointer-events: none;
}
#agent .plan_table td.pick {
	width: 22px;
	padding-right: 6px;
	vertical-align: top;
}
#agent .plan_table td.pick input {
	width: 15px;
	height: 15px;
	margin: 3px 0 0;
	accent-color: var(--accent);
}
#agent .plan_table tr.unpicked td.entry {
	opacity: .4;
}
#agent .plan_table td.status .skipped {
	font: 500 11px var(--font-body);
	color: var(--text-muted);
	white-space: nowrap;
}
#agent .agent_stapel {
	margin-top: 10px;
	padding: 12px 14px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
#agent .agent_stapel .stapel_head {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-secondary);
}
#agent .agent_stapel .stapel_head b {
	color: var(--text-primary);
	font-variant-numeric: tabular-nums;
}
#agent .agent_stapel .stapel_bar {
	height: 4px;
	margin: 8px 0 12px;
	border-radius: 2px;
	background: var(--border-default);
	overflow: hidden;
}
#agent .agent_stapel .stapel_bar span {
	display: block;
	height: 100%;
	border-radius: 2px;
	background: var(--accent);
}
#agent .agent_vertraege {
	margin-top: 10px;
	padding-top: 4px;
	border-top: 1px solid var(--border-default);
}
#agent .agent_vertraege .av_row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 0;
}
#agent .agent_vertraege .av_row + .av_row {
	border-top: 1px solid var(--border-default);
}
#agent .agent_vertraege .av_text {
	flex: 1;
	min-width: 0;
}
#agent .agent_vertraege .av_label {
	display: block;
	font: 400 12px/1.45 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#agent .agent_vertraege .av_sub {
	display: block;
	margin-top: 1px;
	font: 400 11px/1.4 var(--font-body);
	color: var(--text-muted);
}
#agent .agent_vertraege .av_pill {
	flex: none;
	padding: 0 8px;
	border-radius: 9px;
	font: 600 11px/18px var(--font-body);
	white-space: nowrap;
	color: var(--danger);
	background: color-mix(in srgb, var(--danger) 14%, transparent);
}
#agent .agent_vertraege .av_pill.ok {
	color: var(--accent);
	background: rgba(var(--accent-rgb), .14);
}
#agent .agent_passt {
	display: flex;
	gap: 6px;
	margin-top: 8px;
	font: 400 11px/1.45 var(--font-body);
	color: var(--text-muted);
}
#agent .agent_passt svg {
	flex: none;
	margin-top: 1px;
	color: var(--accent);
}
#agent .agent_passt b {
	font-weight: 600;
	color: var(--text-secondary);
}
#agent .agent_heute {
	margin-top: 10px;
}
#agent .agent_heute .ah_list {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
#agent .agent_heute .ah_ev {
	position: relative;
	display: block;
	padding: 6px 10px 6px 15px;
	background: color-mix(in srgb, var(--cal) 18%, transparent);
	color: var(--cal);
	text-decoration: none;
	cursor: pointer;
	transition: filter .12s;
}
#agent .agent_heute .ah_ev:hover {
	color: var(--cal);
	filter: brightness(1.25);
	text-decoration: none;
}
#agent .agent_heute .ah_ev.past {
	opacity: .5;
}
#agent .agent_heute .ah_ev .cal_bar {
	position: absolute;
	left: 4px;
	top: 5px;
	bottom: 5px;
	width: 3px;
	border-radius: 2px;
	background: var(--cal);
}
#agent .agent_heute .ah_ev .title {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font: 600 12px/1.35 var(--font-body);
	color: var(--cal);
}
#agent .agent_heute .ah_ev.done .title {
	text-decoration: line-through;
}
#agent .agent_heute .ah_ev .l2 {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 2px;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	font: 400 11px/1.35 var(--font-body);
	color: var(--cal);
	opacity: .85;
}
#agent .agent_heute .ah_ev .l2 svg {
	flex: none;
}
#agent .agent_heute .ah_ev .l2 span {
	overflow: hidden;
	text-overflow: ellipsis;
}
#agent .agent_heute .ah_ev .l2 i {
	font-style: normal;
	opacity: .6;
}
#agent .agent_heute .ah_now {
	display: flex;
	align-items: center;
	margin: 2px 0;
}
#agent .agent_heute .ah_now::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--danger);
}
#agent .agent_heute .ah_now span {
	flex: 1;
	height: 2px;
	background: var(--danger);
}
.data.api-keys {
	max-width: 760px;
}
.settings-card {
	padding: 24px;
	border-radius: var(--radius-l);
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
}
.settings-card h2 {
	margin: 0 0 10px;
	font: 600 17px/1.3 var(--font-display);
	letter-spacing: -.01em;
	color: var(--text-primary);
}
.settings-card .hint {
	margin: 0 0 20px;
	font: var(--text-small);
	line-height: 1.5;
	color: var(--text-muted);
}
.license_banner {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 20px 0 0 4px;
	padding: 10px 14px;
	border-radius: var(--radius-m);
	font: 500 13px/1.4 var(--font-body);
}
.license_banner .text {
	flex: 1 1 240px;
}
.license_banner svg {
	flex-shrink: 0;
}
.license_banner.free {
	border: 1px solid rgba(245,185,80,.45);
	background: rgba(245,185,80,.1);
	color: var(--warning);
}
.license_banner .license_banner_button {
	flex-shrink: 0;
	padding: 5px 12px;
	border-radius: var(--radius-s);
	border: 1px solid currentColor;
	background: transparent;
	font: 600 12px var(--font-body);
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer;
}
.license_banner.free .license_banner_button { color: var(--warning); }
@media (max-width: 770px) {
	body:not(.static) .license_banner {
		margin: 16px 16px 0 0;
	}
}
.license_toast {
	position: fixed;
	left: 50%;
	bottom: 28px;
	transform: translateX(-50%);
	z-index: 1200;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-radius: var(--radius-m);
	border: 1px solid rgba(245,185,80,.6);
	background: var(--surface-card);
	box-shadow: var(--shadow-pop);
	font: 500 13px var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
}
.license_toast[hidden] {
	display: none;
}
.license_toast.show {
	animation: bc-pop-in .25s cubic-bezier(.3,.9,.35,1.1) both;
}
.license_toast a {
	color: var(--accent);
	font: 600 13px var(--font-body);
	text-decoration: none;
}
body.license-free :is(a[class*="add_"], a[class*="create_"], .cal_new, .cal_account_add, .compose_mail, .csv_import, .check_accounting, .doc_new, .doc_new_template, .manage_pipeline, .manage_task_board, .cd_rule_add, .widget-footer[data-action], #insert_box .good, #settings .card_save, #email_connect .save, .upload:not(.upload_profile_photo)) {
	opacity: .45;
	cursor: default;
}
body.license-free :is(a[class*="add_"], a[class*="create_"], .cal_new, .cal_account_add, .compose_mail, .csv_import, .check_accounting, .doc_new, .doc_new_template, .manage_pipeline, .manage_task_board, .cd_rule_add, .widget-footer[data-action], #insert_box .good, #settings .card_save, #email_connect .save, .upload:not(.upload_profile_photo)):hover {
	box-shadow: none !important;
	filter: none !important;
	background-color: transparent !important;
}

#profile .license_hint {
	margin: 0 0 14px;
}
#profile .license_cards {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}
#profile .license_card {
	flex: 1 1 240px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 16px 18px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
}
#profile .license_card.active {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.05);
}
#profile .license_head {
	display: flex;
	align-items: center;
	gap: 10px;
}
#profile .license_head .name {
	flex: 1;
	font: 600 15px var(--font-display);
	color: var(--text-primary);
}
#profile .license_badge {
	padding: 3px 9px;
	border-radius: 999px;
	border: 1px solid var(--accent);
	background: rgba(var(--accent-rgb),.12);
	color: var(--accent);
	font: 600 11px/1.3 var(--font-body);
}
#profile .license_card ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 7px;
}
#profile .license_card li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	padding: 0;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-secondary);
}
#profile .license_card li svg {
	flex-shrink: 0;
	margin-top: 3px;
	color: var(--accent);
}
#profile .license_card li.without,
#profile .license_card li.without svg {
	color: var(--text-muted);
}
#profile .license_action {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}
#profile .license_cards_free {
	margin-bottom: 14px;
}
#profile .license_card.free {
	flex-basis: 100%;
}
#profile .license_card.free ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
#profile .license_badge.trial {
	border-color: var(--warning);
	background: rgba(245,185,80,.12);
	color: var(--warning);
}
#profile .license_trial {
	margin-top: -4px;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
#profile .license_choose_note {
	margin: 12px 0 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
#profile .license_upgrade_note {
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}

#agent_settings {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 760px;
}
#agent_settings .usage_note {
	margin: 0 0 14px;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
#agent_settings .usage_tiles {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}
#agent_settings .usage_tile {
	flex: 1 1 240px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px 18px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
}
#agent_settings .usage_tile .label {
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#agent_settings .usage_tile .amount {
	display: flex;
	align-items: baseline;
	gap: 8px;
	flex-wrap: wrap;
}
#agent_settings .usage_tile .used {
	font: 600 26px var(--font-display);
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
#agent_settings .usage_tile[data-level="warning"] .used { color: var(--warning); }
#agent_settings .usage_tile[data-level="danger"] .used { color: var(--danger); }
#agent_settings .usage_tile .of {
	font: 400 13px var(--font-body);
	color: var(--text-muted);
}
#agent_settings .usage_tile .bar {
	height: 6px;
	border-radius: 3px;
	background: var(--border-default);
	overflow: hidden;
}
#agent_settings .usage_tile .bar > span {
	display: block;
	height: 100%;
	background: var(--accent);
	transition: width .3s, background .3s;
}
#agent_settings .usage_tile[data-level="warning"] .bar > span { background: var(--warning); }
#agent_settings .usage_tile[data-level="danger"] .bar > span { background: var(--danger); }
#agent_settings .usage_tile .foot {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
#agent_settings .usage_tile .count {
	font-variant-numeric: tabular-nums;
}
#agent_settings .usage_alert {
	margin-top: 14px;
	padding: 10px 12px;
	border-radius: var(--radius-m);
	font: 500 13px/1.4 var(--font-body);
}
#agent_settings .usage_alert.warning {
	border: 1px solid rgba(245,185,80,.45);
	background: rgba(245,185,80,.1);
	color: var(--warning);
}
#agent_settings .usage_alert.danger {
	border: 1px solid rgba(255,69,58,.45);
	background: rgba(255,69,58,.1);
	color: var(--danger);
}
#agent_settings .usage_notify {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 20px;
}
#agent_settings .usage_notify .hint {
	margin: 0;
	padding-left: 44px;
	font: 400 12px/1.5 var(--font-body);
}
#agent_settings .agent_notify_toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font: 400 14px/1.3 var(--font-body);
	color: var(--text-secondary);
	user-select: none;
}
#agent_settings .agent_notify_toggle .switch {
	position: relative;
	width: 34px;
	height: 20px;
	flex-shrink: 0;
	box-sizing: border-box;
	border-radius: 10px;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	transition: background .15s, border-color .15s;
}
#agent_settings .agent_notify_toggle .switch:after {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--text-muted);
	transition: left .15s, background .15s;
}
#agent_settings .agent_notify_toggle.on .switch {
	background: var(--accent);
	border-color: var(--accent);
}
#agent_settings .agent_notify_toggle.on .switch:after {
	left: 16px;
	background: var(--on-accent);
}
#agent_settings .card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
#agent_settings .history_sum {
	padding-top: 4px;
	white-space: nowrap;
	font: 500 13px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-secondary);
}
#agent_settings .history_sum b {
	font-weight: 600;
	color: var(--text-primary);
}
#agent_settings .agent_model_note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 8px;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
#agent_settings .agent_model_note svg {
	flex-shrink: 0;
	margin-top: 2px;
}

.api-keys .key_create {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.api-keys .key_create input {
	flex: 1;
	min-width: 200px;
	height: 40px;
}
.api-keys .button.disabled {
	opacity: .45;
	pointer-events: none;
}
.api-keys .new_key {
	margin-bottom: 20px;
	padding: 14px 16px;
	border-radius: var(--radius-m);
	border: 1.5px solid var(--accent);
	box-shadow: var(--glow-border);
	background: rgba(var(--accent-rgb),.05);
}
.api-keys .new_key .title {
	margin-bottom: 6px;
	font: 600 13px/1.4 var(--font-body);
	color: var(--accent);
}
.api-keys .new_key .key_row {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.api-keys .new_key code {
	flex: 1;
	min-width: 220px;
	font: var(--text-code);
	color: var(--text-primary);
	word-break: break-all;
	user-select: all;
}
.api-keys .new_key .copy_new_key {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: var(--radius-s);
	border: 1px solid var(--accent);
	font: 600 12px/1.2 var(--font-body);
	color: var(--accent);
	cursor: pointer;
	transition: background .15s;
}
.api-keys .new_key .copy_new_key:hover {
	background: rgba(var(--accent-rgb),.08);
}
.api-keys .list-card {
	margin: 0;
}
.api-keys .list-legend p.medium,
.api-keys .list-view li [data-id].medium {
	width: 27%;
}
.api-keys .list-legend p.small,
.api-keys .list-view li [data-id].small {
	width: 16%;
}
.list-view li > p.code {
	font: var(--text-code);
	color: var(--text-secondary);
	white-space: nowrap;
}
.list-view li > p.muted {
	color: var(--text-muted);
}

#pipeline_box .box {
	width: 420px;
}
#pipeline_box .box.item {
	width: 560px;
}
#pipeline_box .box.manage {
	width: 560px;
}
#pipeline_box .box.manage.wide {
	width: 780px;
}
#pipeline_box .dlg_tabs {
	display: flex;
	gap: 22px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--border-default);
}
#pipeline_box .dlg_tabs .tab {
	padding: 0 2px 10px;
	margin-bottom: -1px;
	border-bottom: 2px solid transparent;
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .15s;
}
#pipeline_box .dlg_tabs .tab:hover {
	color: var(--text-primary);
}
#pipeline_box .dlg_tabs .tab.active {
	color: var(--accent);
	font-weight: 600;
	border-bottom-color: var(--accent);
}
#pipeline_box .tab_pane[hidden] {
	display: none;
}
#pipeline_box .form {
	margin-top: 0;
}
#pipeline_box .form input:disabled {
	color: var(--text-secondary);
	cursor: default;
}
.field.select_field {
	position: relative;
}
.field.select_field select,
#pipeline_box select {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 40px;
	padding: 0 36px 0 12px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-primary);
	font: 400 14px/1.3 var(--font-body);
	outline: none;
	cursor: pointer;
	transition: border-color .15s, box-shadow .2s;
}
.field.select_field select:focus,
#pipeline_box select:focus {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.field.select_field select option,
#pipeline_box select option {
	background: var(--popover-bg);
	color: var(--text-primary);
}
.field.select_field:after,
#pipeline_box .select_field:after {
	content: '';
	position: absolute;
	right: 12px;
	top: 50%;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	background: var(--icon-chevron) no-repeat center / contain;
	pointer-events: none;
}
.offer_picker .trigger {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 32px 0 12px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-primary);
	font: 400 14px/1.3 var(--font-body);
	white-space: nowrap;
	overflow: hidden;
	cursor: pointer;
	transition: border-color .15s, box-shadow .2s;
}
.offer_picker .trigger:focus {
	outline: none;
}
.offer_picker.open .trigger,
.offer_picker .trigger:focus {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.offer_picker .trigger.empty {
	color: var(--text-muted);
}
.offer_picker .trigger .dot {
	width: 8px;
	height: 8px;
}
.offer_picker .trigger .label {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}
.offer_picker .trigger .arrow {
	position: absolute;
	right: 12px;
	top: 50%;
	display: flex;
	margin-top: -6px;
	color: var(--text-muted);
	transition: transform .15s;
}
.offer_picker.open .trigger .arrow {
	transform: rotate(180deg);
}
#offer_menu {
	position: fixed;
		z-index: 1100;
	padding: 6px;
	border-radius: var(--radius-m);
	border: 1px solid var(--accent);
	background: var(--surface-card);
	box-shadow: var(--glow-border);
	overflow-y: auto;
	animation: bc-fade-in .12s ease both;
}
#offer_menu .group {
	padding: 6px 10px 2px;
	font: 500 11px/1.3 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#offer_menu .entry {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 10px;
	border-radius: var(--radius-s);
	font: 400 13px/1.3 var(--font-body);
	color: var(--text-secondary);
	text-align: left;
	cursor: pointer;
}
#offer_menu .entry.none {
	color: var(--text-muted);
}
#offer_menu .entry:hover,
#offer_menu .entry.active {
	background: var(--surface-raised);
}
#offer_menu .entry.selected {
	background: rgba(var(--accent-rgb),.08);
	color: var(--accent);
}
#offer_menu .entry .dot {
	width: 8px;
	height: 8px;
}
#offer_menu .entry .num {
	flex-shrink: 0;
	font: 600 12px/1.3 var(--font-body);
	font-variant-numeric: tabular-nums;
}
#offer_menu .entry .project {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#offer_menu .entry .net {
	flex-shrink: 0;
	font: 500 12px/1.3 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-muted);
}
#offer_menu .entry.selected .net {
	color: var(--accent);
}
#pipeline_box .extra_fields {
	margin-top: 22px;
}
#pipeline_box .extra_fields .extra_head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}
#pipeline_box .extra_fields .extra_label {
	font: 500 10px var(--font-body);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--text-muted);
	white-space: nowrap;
	flex-shrink: 0;
}
#pipeline_box .extra_fields .extra_rule {
	flex: 1 1 auto;
	height: 1px;
	background: var(--border-default);
}
#pipeline_box .extra_fields .form {
	margin: 0;
}
#pipeline_box .offer_box {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 18px;
	padding: 14px 16px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-default);
	background: var(--surface-raised);
}
#pipeline_box .offer_box[hidden] {
	display: none;
}
#pipeline_box .offer_box .head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}
#pipeline_box .offer_box .head .title {
	font: 600 13px/1.3 var(--font-body);
	color: var(--text-primary);
}
#pipeline_box .offer_box .head .date {
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-muted);
}
#pipeline_box .offer_box .state {
	display: inline-flex;
	align-items: center;
	height: 22px;
	padding: 0 9px;
	border-radius: var(--radius-s);
	border: 1px solid var(--warning);
	color: var(--warning);
	background: rgba(245,185,80,.14);
	font: 600 11px/1 var(--font-body);
}
#pipeline_box .offer_box .state.won {
	border-color: var(--accent);
	color: var(--accent);
	background: rgba(var(--accent-rgb),.12);
}
#pipeline_box .offer_box .state.lost {
	border-color: var(--danger);
	color: var(--danger);
	background: transparent;
}
#pipeline_box .offer_box .state.expired {
	border-color: var(--gray-400);
	color: var(--gray-400);
	background: transparent;
}
#pipeline_box .offer_box .open_estimate {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-left: auto;
	color: var(--accent);
	font: 500 12px/1.3 var(--font-body);
	cursor: pointer;
}
#pipeline_box .offer_box .line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 8px;
	border-top: 1px solid var(--border-default);
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-secondary);
}
#pipeline_box .offer_box .line b {
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
#pipeline_box .offer_box .sum .sum_text b {
	color: var(--accent);
}
#pipeline_box .offer_box .sum .hint {
	color: var(--text-muted);
}
#pipeline_box .offer_box .options {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
#pipeline_box .offer_box .options_head {
	font: 500 11px/1.3 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#pipeline_box .offer_box .opt {
	display: flex;
	align-items: center;
	gap: 10px;
	font: 400 13px/1.4 var(--font-body);
	text-transform: none;
	letter-spacing: normal;
	color: var(--text-secondary);
	cursor: pointer;
}
#pipeline_box .offer_box .opt.on {
	color: var(--text-primary);
}
#pipeline_box .offer_box .opt .name {
	flex: 1;
	min-width: 0;
}
#pipeline_box .offer_box .opt .amount {
	flex-shrink: 0;
	font-variant-numeric: tabular-nums;
	color: var(--text-muted);
}
#pipeline_box .offer_box .opt.on .amount {
	color: var(--text-primary);
}
#pipeline_box .offer_box .take_dealsize {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	height: 30px;
	padding: 0 12px;
	border-radius: var(--radius-m);
	border: 1px solid rgba(var(--secondary-rgb),.45);
	color: var(--text-secondary);
	font: 600 12px/1 var(--font-body);
	cursor: pointer;
	transition: border-color .15s, color .15s;
}
#pipeline_box .offer_box .take_dealsize:hover {
	border-color: var(--text-primary);
	color: var(--text-primary);
}
#pipeline_box .offer_box .take_dealsize.disabled {
	opacity: .45;
	cursor: default;
	pointer-events: none;
}
#pipeline_box .offer_box .note {
	display: flex;
	gap: 8px;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
#pipeline_box .offer_box .note svg {
	flex-shrink: 0;
	margin-top: 2px;
}
#pipeline_box .offer_box .note.won svg {
	color: var(--accent);
}
#pipeline_box .note_composer {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 22px;
}
#pipeline_box .note_composer textarea {
	width: 100%;
	min-height: 52px;
	resize: vertical;
}
#pipeline_box .note_composer .row {
	display: flex;
	justify-content: flex-end;
}
#pipeline_box .button.disabled {
	opacity: .45;
	pointer-events: none;
}
.timeline .empty {
	margin: 0;
	font: var(--text-small);
	color: var(--text-muted);
}
.tl_month {
	margin: 4px 0 14px;
	font: 600 14px/1.3 var(--font-display);
	color: var(--text-primary);
}
.tl_item {
	display: flex;
	gap: 14px;
}
.tl_rail {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex-shrink: 0;
}
.tl_icon {
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-secondary);
}
.tl_icon.activity,
.tl_icon.estimate {
	color: var(--accent);
}
.tl_line {
	flex: 1;
	width: 1px;
	margin: 6px 0;
	background: var(--border-strong);
}
.tl_item.last .tl_line {
	display: none;
}
.tl_body {
	flex: 1;
	min-width: 0;
	margin-bottom: 14px;
	padding: 12px 14px;
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
}
.tl_title {
	font: 600 13px/1.3 var(--font-body);
	color: var(--text-primary);
}
.tl_title span {
	font-weight: 400;
	color: var(--text-secondary);
}
.tl_ts {
	margin: 4px 0 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--border-default);
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-muted);
}
.tl_text {
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
	white-space: pre-wrap;
}
#pipeline_box .columns_label {
	margin: 18px 0 8px;
}
#pipeline_box .column_list {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
#pipeline_box .column_row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 10px 6px 12px;
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
}
#pipeline_box .column_row .grip {
	width: 13px;
	height: 13px;
	flex-shrink: 0;
	cursor: grab;
	background: var(--text-muted);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='9' cy='6' r='1.4'/%3E%3Ccircle cx='15' cy='6' r='1.4'/%3E%3Ccircle cx='9' cy='12' r='1.4'/%3E%3Ccircle cx='15' cy='12' r='1.4'/%3E%3Ccircle cx='9' cy='18' r='1.4'/%3E%3Ccircle cx='15' cy='18' r='1.4'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='9' cy='6' r='1.4'/%3E%3Ccircle cx='15' cy='6' r='1.4'/%3E%3Ccircle cx='9' cy='12' r='1.4'/%3E%3Ccircle cx='15' cy='12' r='1.4'/%3E%3Ccircle cx='9' cy='18' r='1.4'/%3E%3Ccircle cx='15' cy='18' r='1.4'/%3E%3C/svg%3E") no-repeat center / contain;
}
#pipeline_box .column_row input {
	flex: 1;
	height: 32px;
	padding: 0 8px;
	background: transparent;
	border-color: transparent;
	font: 500 14px/1.3 var(--font-body);
}
#pipeline_box .column_row input:focus {
	background: var(--surface-card);
	border-color: var(--accent);
	box-shadow: none;
}
#pipeline_box .column_row .count {
	font: 500 12px/1.3 var(--font-body);
	color: var(--text-muted);
}
#pipeline_box .column_row .remove_row {
	width: 20px;
	height: 20px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--danger);
	opacity: 0;
	transition: opacity .12s;
	cursor: pointer;
}
#pipeline_box .column_row .remove_row:before {
	content: '';
	width: 12px;
	height: 12px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 18 18 6M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 18 18 6M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
}
#pipeline_box .column_row:hover .remove_row {
	opacity: 1;
}
#pipeline_box .column_list .sortable-placeholder {
	height: 46px;
	border: 1px dashed var(--accent);
	border-radius: var(--radius-m);
	background: rgba(var(--accent-rgb),.05);
}
#pipeline_box .field_hint {
	margin: 0 0 12px;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
#pipeline_box .field_list {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
#pipeline_box .field_row {
	padding: 6px 10px 6px 12px;
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
}
#pipeline_box .field_row .field_main {
	display: flex;
	align-items: center;
	gap: 8px;
}
#pipeline_box .field_row .grip {
	width: 13px;
	height: 13px;
	flex-shrink: 0;
	cursor: grab;
	background: var(--text-muted);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='9' cy='6' r='1.4'/%3E%3Ccircle cx='15' cy='6' r='1.4'/%3E%3Ccircle cx='9' cy='12' r='1.4'/%3E%3Ccircle cx='15' cy='12' r='1.4'/%3E%3Ccircle cx='9' cy='18' r='1.4'/%3E%3Ccircle cx='15' cy='18' r='1.4'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='9' cy='6' r='1.4'/%3E%3Ccircle cx='15' cy='6' r='1.4'/%3E%3Ccircle cx='9' cy='12' r='1.4'/%3E%3Ccircle cx='15' cy='12' r='1.4'/%3E%3Ccircle cx='9' cy='18' r='1.4'/%3E%3Ccircle cx='15' cy='18' r='1.4'/%3E%3C/svg%3E") no-repeat center / contain;
}
#pipeline_box .field_row .field_name {
	flex: 1;
	min-width: 0;
	height: 32px;
	padding: 0 8px;
	background: transparent;
	border-color: transparent;
	font: 500 14px/1.3 var(--font-body);
}
#pipeline_box .field_row .field_name:focus {
	background: var(--surface-card);
	border-color: var(--accent);
	box-shadow: none;
}
#pipeline_box .field_row .field_select {
	position: relative;
	display: block;
	flex-shrink: 0;
}
#pipeline_box .field_row .field_select.type {
	width: 118px;
}
#pipeline_box .field_row select {
	height: 32px;
	padding: 0 28px 0 10px;
	font-size: 13px;
}
#pipeline_box .field_row select:disabled {
	color: var(--text-muted);
	cursor: default;
}
#pipeline_box .field_row .field_select:after {
	content: '';
	position: absolute;
	right: 10px;
	top: 50%;
	width: 12px;
	height: 12px;
	margin-top: -6px;
	background: var(--icon-chevron) no-repeat center / contain;
	pointer-events: none;
}
#pipeline_box .field_row .tag {
	flex-shrink: 0;
	padding: 3px 7px;
	border-radius: var(--radius-s);
	background: rgba(var(--secondary-rgb),.12);
	font: 600 10px/1.2 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#pipeline_box .field_row .remove_row {
	width: 20px;
	height: 20px;
	display: grid;
	place-items: center;
	flex-shrink: 0;
	border-radius: var(--radius-s);
	color: var(--danger);
	opacity: 0;
	transition: opacity .12s;
	cursor: pointer;
}
#pipeline_box .field_row .remove_row:before {
	content: '';
	width: 12px;
	height: 12px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 18 18 6M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 18 18 6M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
}
#pipeline_box .field_row:hover .remove_row {
	opacity: 1;
}
#pipeline_box .field_row .field_extra {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 8px;
	padding: 8px 0 2px 21px;
	border-top: 1px dashed var(--border-default);
}
#pipeline_box .field_row .field_extra[hidden] {
	display: none;
}
#pipeline_box .field_row .field_options {
	width: 100%;
	min-height: 66px;
	padding: 8px 10px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-card);
	color: var(--text-primary);
	font: 400 13px/1.5 var(--font-body);
	resize: vertical;
	outline: none;
}
#pipeline_box .field_row .field_options:focus {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
#pipeline_box .field_row .field_options:disabled {
	color: var(--text-muted);
	cursor: default;
}
#pipeline_box .field_row .field_options[hidden] {
	display: none;
}
#pipeline_box .field_list .sortable-placeholder {
	height: 46px;
	border: 1px dashed var(--accent);
	border-radius: var(--radius-m);
	background: rgba(var(--accent-rgb),.05);
}
#pipeline_box .card_design .cd_split {
	display: flex;
	align-items: flex-start;
	gap: 24px;
}
#pipeline_box .card_design .cd_left {
	width: 252px;
	flex-shrink: 0;
}
#pipeline_box .card_design .cd_right {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
#pipeline_box .card_design .cd_label {
	display: block;
	margin: 0 0 8px;
	font: var(--text-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--text-muted);
}
#pipeline_box .card_design .cd_hint {
	margin: 0 0 12px;
	font: 400 12px/1.55 var(--font-body);
	color: var(--text-muted);
}
#pipeline_box .card_design .cd_left .cd_hint {
	margin: 10px 0 0;
}
#pipeline_box .card_design .cd_stage {
	padding: 16px;
	border-radius: var(--radius-l);
	border: 1px solid var(--border-default);
	background: var(--surface-glass);
}
#pipeline_box .card_design .cd_card {
	position: relative;
	width: 220px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 12px 12px 10px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-default);
	background: var(--surface-raised);
	transition: border-color .2s, padding .2s;
}
#pipeline_box .card_design .cd_card.with_stripe {
	padding-left: 22px;
}
#pipeline_box .card_design .cd_stripe {
	position: absolute;
	left: 10px;
	top: 10px;
	bottom: 10px;
	width: 3px;
	border-radius: 2px;
}
#pipeline_box .card_design .cd_head {
	display: flex;
	align-items: center;
	gap: 8px;
}
#pipeline_box .card_design .cd_head .cd_slot:first-child {
	flex: 1;
	min-width: 0;
}
#pipeline_box .card_design .cd_head .cd_slot.right {
	flex-shrink: 0;
	min-width: 62px;
}
#pipeline_box .card_design .cd_slot {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	min-height: 22px;
	margin: 0 -4px;
	padding: 2px 4px;
	border: 1px dashed transparent;
	border-radius: var(--radius-s);
	cursor: pointer;
	transition: border-color .15s, background .15s;
}
#pipeline_box .card_design .cd_slot.right {
	justify-content: flex-end;
}
#pipeline_box .card_design .cd_slot.empty {
	border-color: var(--border-strong);
}
#pipeline_box .card_design .cd_slot.hl {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.07);
}
#pipeline_box .card_design .cd_slot[data-zone="marke"] {
	margin-top: 2px;
	padding-top: 8px;
	border-top: 1px solid var(--border-default);
}
#pipeline_box .card_design .cd_slot[data-zone="marke"].hl,
#pipeline_box .card_design .cd_slot[data-zone="marke"].empty {
	border-top-color: transparent;
}
#pipeline_box .card_design .cd_slot[data-zone="fuss"] {
	gap: 10px;
}
#pipeline_box .card_design .cd_slot_name {
	font: 400 10.5px/1.3 var(--font-body);
	color: var(--text-muted);
	opacity: .7;
	pointer-events: none;
}
#pipeline_box .card_design .cd_piece {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	min-width: 0;
	border-radius: 4px;
	outline: 1px solid transparent;
	outline-offset: 2px;
	cursor: pointer;
}
#pipeline_box .card_design .cd_piece:hover {
	outline-color: var(--accent);
}
#pipeline_box .card_design .cd_slot[data-zone="kopf"] .cd_piece {
	font: 600 13px/1.3 var(--font-body);
	color: var(--text-primary);
}
#pipeline_box .card_design .cd_slot[data-zone="wert"] .cd_piece {
	font: 500 12px/1.3 var(--font-body);
	color: var(--text-secondary);
}
#pipeline_box .card_design .cd_slot[data-zone="zeile1"] .cd_piece,
#pipeline_box .card_design .cd_slot[data-zone="zeile2"] .cd_piece,
#pipeline_box .card_design .cd_slot[data-zone="fuss"] .cd_piece {
	font: 400 11px/1.3 var(--font-body);
	color: var(--text-muted);
}
#pipeline_box .card_design .cd_slot[data-zone="marke"] .cd_piece {
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-secondary);
}
#pipeline_box .card_design .cd_text,
#pipeline_box .card_design .cd_unknown {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
}
#pipeline_box .card_design .cd_unknown {
	font-style: italic;
}
#pipeline_box .card_design .cd_zahl {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
#pipeline_box .card_design .cd_datum {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
#pipeline_box .card_design .cd_kapsel {
	display: inline-flex;
	align-items: center;
	height: 20px;
	padding: 0 8px;
	border-radius: var(--radius-s);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	font: 600 10px/1 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
}
#pipeline_box .card_design .cd_action {
	display: inline-flex;
	color: var(--text-muted);
}
#pipeline_box .card_design .cd_switch {
	display: inline-flex;
	margin-top: 10px;
	padding: 3px;
	gap: 2px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
}
#pipeline_box .card_design .cd_switch a {
	padding: 5px 12px;
	border-radius: var(--radius-s);
	font: 500 12px/1.3 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .15s, background .15s;
}
#pipeline_box .card_design .cd_switch a.on {
	background: rgba(var(--accent-rgb),.12);
	color: var(--accent);
	font-weight: 600;
}
#pipeline_box .card_design .cd_zones {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
#pipeline_box .card_design .cd_zone {
	padding: 6px 10px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	transition: border-color .15s;
}
#pipeline_box .card_design .cd_zone.hl {
	border-color: var(--accent);
}
#pipeline_box .card_design .cd_zone_main {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	min-height: 28px;
}
#pipeline_box .card_design .cd_zone_label {
	flex-shrink: 0;
	width: 76px;
	padding-top: 7px;
	font: 500 12px/1.2 var(--font-body);
	color: var(--text-muted);
}
#pipeline_box .card_design .cd_chips {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
	padding: 2px 0;
}
#pipeline_box .card_design .cd_chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 26px;
	padding: 0 6px 0 9px;
	border-radius: var(--radius-s);
	border: 1px solid var(--border-strong);
	background: var(--surface-card);
	font: 500 12px/1.2 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
	transition: border-color .15s, color .15s;
}
#pipeline_box .card_design .cd_chip:hover,
#pipeline_box .card_design .cd_chip.on {
	border-color: var(--accent);
	color: var(--text-primary);
}
#pipeline_box .card_design .cd_chip_x {
	width: 12px;
	height: 12px;
	flex-shrink: 0;
	background: var(--text-muted);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 18 18 6M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 18 18 6M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
}
#pipeline_box .card_design .cd_chip_x:hover {
	background: var(--danger);
}
#pipeline_box .card_design .cd_add {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 26px;
	padding: 0 9px;
	border-radius: var(--radius-s);
	border: 1px dashed var(--border-strong);
	font: 500 12px/1.2 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
	transition: border-color .15s, color .15s;
}
#pipeline_box .card_design .cd_add:hover,
#pipeline_box .card_design .cd_add.on {
	border-color: var(--accent);
	color: var(--accent);
}
#pipeline_box .card_design .cd_panel {
	margin-top: 8px;
	padding: 10px 0 2px;
	border-top: 1px dashed var(--border-default);
}
#pipeline_box .card_design .cd_panel[hidden] {
	display: none;
}
#pipeline_box .card_design .cd_group + .cd_group {
	margin-top: 12px;
}
#pipeline_box .card_design .cd_group_title {
	display: block;
	margin-bottom: 6px;
	font: 500 11px/1.2 var(--font-body);
	color: var(--text-muted);
}
#pipeline_box .card_design .cd_opts {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
#pipeline_box .card_design .cd_opt {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 26px;
	padding: 0 9px;
	border-radius: var(--radius-s);
	border: 1px solid var(--border-strong);
	background: var(--surface-card);
	font: 500 12px/1.2 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
	transition: border-color .15s, color .15s;
}
#pipeline_box .card_design .cd_opt:hover {
	border-color: var(--accent);
	color: var(--text-primary);
}
#pipeline_box .card_design .cd_opt.used {
	border-color: var(--border-default);
	color: var(--text-muted);
	opacity: .45;
	cursor: default;
}
#pipeline_box .card_design .cd_from {
	font: 400 11px/1.2 var(--font-body);
	color: var(--text-muted);
}
#pipeline_box .card_design .cd_options {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 18px;
}
#pipeline_box .card_design .cd_toggle {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font: 400 13px/1.3 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
}
#pipeline_box .card_design .cd_sw {
	position: relative;
	width: 34px;
	height: 20px;
	flex-shrink: 0;
	border-radius: 10px;
	border: 1px solid var(--border-strong);
	background: var(--surface-card);
	transition: background .15s, border-color .15s;
}
#pipeline_box .card_design .cd_sw:before {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--text-muted);
	transition: left .15s, background .15s;
}
#pipeline_box .card_design .cd_toggle.on .cd_sw {
	border-color: var(--accent);
	background: var(--accent);
}
#pipeline_box .card_design .cd_toggle.on .cd_sw:before {
	left: 16px;
	background: var(--on-accent);
}
#pipeline_box .card_design .cd_take_out {
	margin-left: auto;
	font: 600 12px/1.3 var(--font-body);
	color: var(--danger);
	cursor: pointer;
}
#pipeline_box .card_design .cd_note {
	margin: 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
#pipeline_box .card_design .cd_field_row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 7px 10px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
}
#pipeline_box .card_design .cd_field_label {
	flex: 1;
	min-width: 0;
	font: 400 13px/1.3 var(--font-body);
	color: var(--text-secondary);
}
#pipeline_box .card_design .cd_select {
	position: relative;
	display: block;
	flex-shrink: 0;
	width: 232px;
}
#pipeline_box .card_design .cd_select select {
	height: 32px;
	padding: 0 28px 0 10px;
	font-size: 13px;
}
#pipeline_box .card_design .cd_select:after {
	content: '';
	position: absolute;
	right: 10px;
	top: 50%;
	width: 12px;
	height: 12px;
	margin-top: -6px;
	background: var(--icon-chevron) no-repeat center / contain;
	pointer-events: none;
}
#pipeline_box .card_design .cd_rules {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 10px;
}
#pipeline_box .card_design .cd_rule {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 10px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
}
#pipeline_box .card_design .cd_rule.rest {
	border-style: dashed;
	background: transparent;
}
#pipeline_box .card_design .cd_rule_value {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font: 400 13px/1.3 var(--font-body);
	color: var(--text-secondary);
}
#pipeline_box .card_design .cd_rule.rest .cd_rule_value {
	color: var(--text-muted);
}
#pipeline_box .card_design .cd_rule_ab {
	flex-shrink: 0;
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-muted);
}
#pipeline_box .card_design .cd_rule_input {
	flex: 1;
	min-width: 0;
	height: 30px;
	padding: 0 10px;
	border-radius: var(--radius-s);
	border: 1px solid var(--border-strong);
	background: var(--surface-card);
	color: var(--text-primary);
	font: 500 12px/1.3 var(--font-body);
	outline: none;
}
#pipeline_box .card_design .cd_rule_input:focus {
	border-color: var(--accent);
	box-shadow: none;
}
#pipeline_box .card_design .cd_rule_x {
	width: 13px;
	height: 13px;
	flex-shrink: 0;
	background: var(--text-muted);
	opacity: .5;
	cursor: pointer;
	transition: opacity .12s, background .12s;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 18 18 6M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 18 18 6M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
}
#pipeline_box .card_design .cd_rule_x:hover {
	background: var(--danger);
	opacity: 1;
}
#pipeline_box .card_design .cd_rule_add {
	margin-top: 2px;
}
#pipeline_box .card_design .cd_dots {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}
#pipeline_box .card_design .cd_dot {
	position: relative;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	cursor: pointer;
	outline: none;
	transition: box-shadow .15s;
}
#pipeline_box .card_design .cd_dot:focus,
#pipeline_box .card_design .cd_dot:focus-visible {
	outline: none;
}
#pipeline_box .card_design .cd_dot[style] {
	background: var(--dot);
}
#pipeline_box .card_design .cd_dot.none {
	background: transparent;
	border: 1px solid var(--border-strong);
}
#pipeline_box .card_design .cd_dot.none:before {
	content: '';
	position: absolute;
	left: 50%;
	top: -1px;
	bottom: -1px;
	width: 1px;
	margin-left: -1px;
	background: var(--border-strong);
	transform: rotate(45deg);
}
#pipeline_box .card_design .cd_dot[style].on {
	box-shadow: 0 0 0 2px var(--surface-raised), 0 0 0 3px var(--dot);
}
#pipeline_box .card_design .cd_dot.none.on {
	box-shadow: 0 0 0 2px var(--surface-raised), 0 0 0 3px var(--text-muted);
}
#pipeline_box .subline.muted {
	color: var(--text-muted);
}
#pipeline_box .contact_search ,
#conv_box .contact_search {
	margin-bottom: 18px;
}
#pipeline_box .contact_search input ,
#conv_box .contact_search input {
	width: 100%;
}
#pipeline_box .contact_list ,
#conv_box .contact_list {
	max-height: 208px;
	overflow-y: auto;
	margin-top: 8px;
	padding: 4px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-default);
	background: var(--surface-raised);
}
#pipeline_box .contact_list .empty ,
#conv_box .contact_list .empty {
	margin: 0;
	padding: 10px 8px;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-muted);
}
#pipeline_box .pick_contact ,
#conv_box .pick_contact {
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 7px 10px;
	border-radius: var(--radius-s);
	cursor: pointer;
	transition: background .12s, color .12s;
}
#pipeline_box .pick_contact:hover ,
#conv_box .pick_contact:hover {
	background: rgba(var(--secondary-rgb),.08);
}
#pipeline_box .pick_contact .name ,
#conv_box .pick_contact .name {
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#pipeline_box .pick_contact .company ,
#conv_box .pick_contact .company {
	flex: 1;
	text-align: right;
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#pipeline_box .pick_contact.selected ,
#conv_box .pick_contact.selected {
	background: rgba(var(--accent-rgb),.12);
}
#pipeline_box .pick_contact.selected .name ,
#conv_box .pick_contact.selected .name {
	color: var(--accent);
	font-weight: 600;
}
#pipeline_box .dialog_error {
	margin: 12px 0 0;
	font: 500 13px/1.4 var(--font-body);
	color: var(--danger);
}
#pipeline_box .dialog_error[hidden] {
	display: none;
}
#pipeline_box .button.dashed {
	width: 100%;
	border: 1px dashed rgba(var(--secondary-rgb),.35);
	color: var(--text-secondary);
	font-size: 13px;
	padding: 11px 12px;
	box-shadow: none;
}
#pipeline_box .button.dashed:hover {
	border-color: var(--accent);
	color: var(--accent);
	box-shadow: none;
}
#pipeline_box .button.dashed .icon-plus:before,
#pipeline_box .pick .icon-arrow:before {
	content: '';
	display: inline-block;
	width: 13px;
	height: 13px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4.5v15m7.5-7.5h-15'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4.5v15m7.5-7.5h-15'/%3E%3C/svg%3E") no-repeat center / contain;
}
#pipeline_box .pick .icon-arrow:before {
	width: 14px;
	height: 14px;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3'/%3E%3C/svg%3E");
}
#pipeline_box .pick_list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
#pipeline_box .pick {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 14px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	font: 500 14px/1.3 var(--font-body);
	color: var(--text-secondary);
	transition: border-color .15s, color .15s, box-shadow .15s;
}
#pipeline_box .pick:hover {
	border-color: var(--accent);
	color: var(--accent);
	box-shadow: var(--glow-border);
}
#pipeline_box .center .spacer {
	flex: 1;
}
.toast {
	position: fixed;
	left: 50%;
	bottom: 28px;
	transform: translate(-50%, 16px);
	z-index: 1200;
	padding: 10px 16px;
	border-radius: var(--radius-m);
	background: var(--popover-bg);
	border: 1px solid var(--accent);
	box-shadow: var(--glow-border);
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-primary);
	opacity: 0;
	transition: opacity .25s, transform .25s;
	pointer-events: none;
}
.toast.show {
	opacity: 1;
	transform: translate(-50%, 0);
}
.toast.with_icon {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 18px;
	white-space: nowrap;
}
.toast.with_icon .icon {
	display: flex;
	color: var(--accent);
}
@media (max-width: 770px) {
	body:not(.static) .pipeline {
		height: auto;
		flex-direction: column;
	}
}

@media (max-width: 770px) {
	body:not(.static) .pipeline .col {
		width: 100%;
		min-width: 0;
		height: auto;
	}
}

@media (max-width: 770px) {
	body:not(.static) .pipeline .cards {
		max-height: 320px;
	}
}



.widgets {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 340px;
	gap: 50px;
}
@container page (max-width: 999px) {
	.widgets {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px;
	}
}
@container page (max-width: 599px) {
	.widgets {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}
}
.widget {
	display: flex;
	flex-direction: column;
	padding: 20px;
	overflow: visible;
	animation: bc-widget-in .55s cubic-bezier(.2,.8,.3,1) backwards;
	animation-delay: calc(var(--i, 0) * 70ms);
	border-radius: var(--radius-l);
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
	transition: opacity .15s;
}
.widget:nth-child(1) { --i: 0; } .widget:nth-child(2) { --i: 1; } .widget:nth-child(3) { --i: 2; }
.widget:nth-child(4) { --i: 3; } .widget:nth-child(5) { --i: 4; } .widget:nth-child(6) { --i: 5; }
.widget:nth-child(7) { --i: 6; } .widget:nth-child(8) { --i: 7; } .widget:nth-child(9) { --i: 8; }
.widget:nth-child(n+10) { --i: 9; }
.widget.loading {
	opacity: .55;
	pointer-events: none;
}
.widget > header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 30px;
	margin-bottom: 14px;
	flex-shrink: 0;
}
.widget > header .select {
	display: flex;
	flex-shrink: 0;
}
.widget > header h3 {
	margin: 0;
	font: 600 16px/1.3 var(--font-display);
	letter-spacing: -0.01em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.select.pill.hover > input {
	color: var(--accent);
}
.select.pill.hover:before {
	filter: none;
}
.widget-filter.select > ul > li.selected > p {
	color: var(--accent);
}
.widget-body {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow: auto;
	scrollbar-width: thin;
}
.widget-footer {
	align-self: flex-start;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 32px;
	margin-top: 20px;
	padding: 0 12px;
	border-radius: var(--radius-m);
	background: transparent;
	border: 1px solid rgba(var(--secondary-rgb),.45);
	font: 600 12px/1 var(--font-body);
	color: var(--text-secondary);
	transition: color .15s, border-color .15s, box-shadow .15s;
}
.widget-footer:hover {
	color: var(--text-primary);
	border-color: var(--text-primary);
	box-shadow: var(--glow-white);
}

.widget.bleed {
	overflow: hidden;
}
.widget.bleed .widget-body,
.widget.bleed .widget-scroll {
	margin: 0 -20px;
	padding: 0 20px;
}
.widget.bleed .widget-scroll {
	flex: 1;
	min-height: 0;
	overflow: auto;
	scrollbar-width: thin;
}
.widget.bleed .widget-row {
	display: block;
	margin: 0 -20px;
	padding: 0 20px;
	transition: background .12s;
}
.widget.bleed .widget-row:hover {
	background: rgba(var(--accent-rgb),.05);
}
.widget.bleed .widget-row > .inner {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid var(--border-default);
}
.widget.bleed .widget-row:last-child > .inner {
	border-bottom: none;
}
.chart {
	position: relative;
	flex: 1;
	min-height: 140px;
	width: 100%;
}
.chart canvas {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
}
.chart-range {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 6px;
	font: 400 10px/1.3 var(--font-body);
	color: var(--text-muted);
}
.chart-range .total {
	font: 600 12px/1.3 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--accent);
}
.key_facts {
	margin: 0;
	padding: 0;
	list-style: none;
}
.key_facts li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 6px 0;
	border-bottom: 1px solid var(--border-default);
}
.key_facts li:last-child {
	border-bottom: none;
}
.key_facts li p {
	margin: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.key_facts li p.label {
	font: var(--text-small);
	color: var(--text-secondary);
		flex: 1 1 auto;
	min-width: 0;
}
.key_facts li p.value {
	font: 600 15px/1.3 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
	flex-shrink: 0;
}
.key_facts li.accent p.value {
	color: var(--accent);
}
.key_facts li.empty p.label {
	color: var(--text-muted);
}
.widget .offer_rows {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.widget .offer_rows .head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}
.widget .offer_rows .label {
	font: var(--text-small);
	color: var(--text-secondary);
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.widget .offer_rows .value {
	font: 600 15px/1.2 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
	white-space: nowrap;
}
.widget .offer_rows .bar {
	position: relative;
	display: flex;
	height: 4px;
	margin-top: 6px;
	border-radius: 2px;
	background: var(--border-default);
	overflow: hidden;
}
.widget .offer_rows .won {
	flex: none;
	width: var(--won);
	background: var(--accent);
	animation: offer-grow .9s cubic-bezier(.3,.9,.35,1) .06s backwards;
}
.widget .offer_rows .lost {
	flex: 1;
	margin-left: 2px;
	background: var(--danger);
}
.widget .offer_rows .won.all + .lost {
	display: none;
}
.widget .offer_rows .won.none + .lost {
	margin-left: 0;
}
@keyframes offer-grow {
	from { width: 0; }
	to { width: var(--won); }
}
@media (prefers-reduced-motion: reduce) {
	.widget .offer_rows .won {
		animation: none;
	}
}
.stat_grid {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	height: 100%;
}
.stat_grid li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	padding: 12px 14px;
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
	min-width: 0;
}
.stat_grid li .value {
	font: 600 24px/1.2 var(--font-display);
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.stat_grid li.accent .value {
	color: var(--accent);
}
.stat_grid li .label {
	font: var(--text-small);
	color: var(--text-muted);
}


.chart_tip {
	position: fixed;
	z-index: 700;
	transform: translate(-50%, -100%);
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
	font: 500 12px/1.2 var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
	pointer-events: none;
}
.chart_tip .value {
	font-weight: 600;
	color: var(--accent);
	font-variant-numeric: tabular-nums;
}

.form {
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 20px;
}
.form > li {
	position: relative;
	grid-column: 1 / -1;
	min-width: 0;
}
.form > li.medium {
	grid-column: auto;
}
@media (max-width: 770px) {
	body:not(.static) .form > li.medium {
		grid-column: 1 / -1;
	}
}

.form > li label {
	display: block;
	margin-bottom: 6px;
	height: auto;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.form > li .field {
	position: relative;
}
#insert_box .form .field input.error,
#insert_box .form .field textarea.error,
#insert_box .form .field .select.error > input,
#insert_box .form .field .editor_box.error,
#insert_box .form .field .checkboxes.error > .selected {
	border: 1.5px solid var(--danger);
	box-shadow: none;
}
#insert_box .form .field input.error:focus,
#insert_box .form .field textarea.error:focus,
#insert_box .form .field .editor_box.error:focus-within {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
#insert_box .form .field .field_error {
	margin: 6px 0 0;
	font: 400 12px/1.3 var(--font-body);
	color: var(--danger);
	text-transform: none;
	letter-spacing: 0;
}
.form > li .field input,
.form > li .field textarea {
	width: 100%;
}
.form > li .field textarea {
	min-height: 120px;
}
.form > li.calc_net .field {
	display: flex;
	align-items: center;
	gap: 8px;
}
.form > li.calc_net .field input {
	flex: 1;
	min-width: 0;
}
.form > li.calc_net .field .mini_btn {
	width: 32px;
	height: 40px;
	flex-shrink: 0;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-muted);
	border-radius: var(--radius-m);
}
.form > li.calc_net .field .mini_btn:hover {
	color: var(--accent);
	border-color: var(--accent);
}
.form > li .field .file_select {
	width: 100%;
	height: 100px;
	border: 1px dashed rgba(var(--secondary-rgb),.35);
	box-shadow: none;
	color: var(--text-secondary);
	font-weight: 600;
	font-size: 13px;
}
.form > li .field .file_select:hover,
.form > li .field .file_select.highlight {
	border-color: var(--accent);
	color: var(--accent);
	background: rgba(var(--accent-rgb),.05);
	box-shadow: none;
}
.form > li .field .file_select input {
	height: 100%;
}
.form > li .field .upload_progress {
	top: 0;
	left: 0;
	z-index: -1;
	border-radius: var(--radius-m);
	overflow: hidden;
}
.form > li .field .file_preview {
	min-height: 200px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	overflow: hidden;
}
.form > li .field .file_preview embed {
	width: 100%;
	height: 400px;
}
.form > li .field .file_preview img {
	width: 100%;
	display: block;
}
.form > li .field > .checkbox {
	display: flex;
	align-items: center;
	margin-top: 4px;
}
.form > li .field > .checkbox input[type="checkbox"] {
	width: 15px;
}
.form > li .field > .checkbox label {
	display: inline-flex;
	margin: 0 0 0 10px;
	height: auto;
	white-space: normal;
	overflow: visible;
	font: 400 14px/1.4 var(--font-body);
	text-transform: none;
	letter-spacing: 0;
	color: var(--text-secondary);
}
.form > li .field > .checkbox input[type="checkbox"]:checked + label {
	color: var(--text-primary);
}
.form > li.checkbox_row + li.checkbox_row {
	margin-top: -8px;
}
.form > li .field .checkboxes {
	min-height: 120px;
	max-height: 240px;
	overflow: auto;
	padding: 6px 4px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.form > li .field .checkboxes ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.form > li .field .checkboxes ul:empty:after {
	content: 'Keine Einträge vorhanden';
	display: block;
	padding: 10px 10px;
	font: var(--text-small);
	color: var(--text-muted);
}
.form > li .field .checkboxes ul li {
	position: relative;
	display: flex;
	align-items: center;
	padding: 7px 10px;
	border-radius: var(--radius-s);
	transition: background .12s;
}
.form > li .field .checkboxes ul li:hover {
	background: rgba(var(--accent-rgb),.05);
}
.form > li .field .checkboxes ul input[type="checkbox"] {
	width: 15px;
	flex: 0 0 15px;
	margin: 0;
	align-self: center;
}
.form > li .field .checkboxes ul input[type="checkbox"] + label {
	display: flex;
	align-items: center;
	flex: 1;
	min-width: 0;
	line-height: 15px;
	margin: 0 0 0 10px;
}
.form > li .field .checkboxes ul label > p {
	margin: 0;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.form > li .field .checkboxes ul label > p ~ p {
	display: none;
}
.form > li .field .checkboxes ul li span {
	display: inline-block;
	vertical-align: top;
}
.form > li .field .checkboxes ul li span.num {
	width: 44px;
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
}
.form > li .field .checkboxes ul li span.name {
	width: calc(100% - 150px);
	overflow: hidden;
	text-overflow: ellipsis;
}
.form > li .field .checkboxes ul li span.total {
	width: 100px;
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.form .info {
	margin: 0;
	font: var(--text-small);
	color: var(--text-secondary);
}
.form .info span {
	margin-right: 8px;
}
.tabs .nav {
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	display: flex;
	gap: 26px;
	border-bottom: 1px solid var(--border-default);
}
.tabs .nav li {
	padding: 0 2px 11px;
	margin-bottom: -1px;
	border-bottom: 2px solid transparent;
	cursor: pointer;
	font: 500 14px/1.2 var(--font-body);
	color: var(--text-muted);
	transition: color .15s;
}
.tabs .nav li:hover {
	color: var(--text-primary);
}
.tabs .nav li.active {
	color: var(--accent);
	font-weight: 600;
	border-bottom-color: var(--accent);
}
.tabs .contents > div {
	display: none;
}
.tabs .contents > div.active {
	display: block;
}
.pin_box {
	padding: 20px;
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
}
.pin_box p {
	color: var(--text-secondary);
}
.pin_box input {
	width: 100%;
}
.tooltip {
	position: relative;
	display: inline-block;
	max-width: 100%;
}
.tooltip:after {
	content: 'i';
	display: inline-grid;
	place-items: center;
	width: 14px;
	height: 14px;
	margin-left: 6px;
	border-radius: 50%;
	border: 1px solid var(--text-muted);
	font: 600 9px/1 var(--font-body);
	text-transform: none;
	letter-spacing: 0;
	color: var(--text-muted);
	vertical-align: 1px;
	cursor: help;
}
.tooltip .tip,
.tooltip span {
	position: absolute;
	left: 0;
	top: 100%;
	margin-top: 6px;
	z-index: 300;
	width: 280px;
	padding: 10px 12px;
	border-radius: var(--radius-m);
	background: var(--popover-bg);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	font: 400 12px/1.5 var(--font-body);
	text-transform: none;
	letter-spacing: 0;
	color: var(--text-secondary);
	white-space: normal;
	visibility: hidden;
	opacity: 0;
	transition: opacity .15s;
}
.tooltip:hover .tip,
.tooltip:hover span {
	visibility: visible;
	opacity: 1;
}


#insert_box .address_profile {
	display: flex;
	flex-direction: column;
	gap: 26px;
}
#insert_box .address_profile .profil_bereich {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
#insert_box .address_profile .profil_bereich h4 {
	margin: 0;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--border-default);
	font: 600 14px var(--font-display);
	color: var(--text-primary);
}
#insert_box .address_profile ul.form {
	margin: 0;
}
#insert_box .address_profile .profil_web {
	position: relative;
}
#insert_box .address_profile .profil_web input {
	padding-right: 40px;
}
#insert_box .address_profile .profil_link {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--accent);
	cursor: pointer;
}
#insert_box .address_profile .profil_link.off {
	color: var(--text-muted);
	opacity: .45;
	cursor: default;
	pointer-events: none;
}
#insert_box .address_profile textarea#description {
	min-height: 90px;
}
#insert_box .address_profile .profil_kennzahlen {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 18px 20px;
}
#insert_box .address_profile .profil_feld {
	min-width: 0;
}
#insert_box .address_profile .profil_feld > label {
	display: block;
	margin-bottom: 6px;
	line-height: 1.2;
}
#insert_box .address_profile .profil_umsatz {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 96px;
	gap: 8px;
}
#insert_box .address_profile .profil_euro {
	position: relative;
}
#insert_box .address_profile .profil_euro input {
	padding-right: 30px;
	text-align: right;
	font-variant-numeric: tabular-nums;
}
#insert_box .address_profile .profil_euro .suffix {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	font: 400 13px var(--font-body);
	color: var(--text-muted);
	pointer-events: none;
}
#insert_box .address_profile .profil_hint {
	margin: 6px 0 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}

.modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	visibility: hidden;
	opacity: 0;
	background: rgba(var(--overlay-rgb),.55);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transition: opacity .2s, visibility 0s .2s;
}
.modal.show {
	visibility: visible;
	opacity: 1;
	transition: opacity .2s;
}
.modal .container {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 24px;
}
.modal .box {
	position: relative;
	width: 600px;
	max-width: 100%;
	max-height: 90vh;
	overflow: auto;
	padding: 28px;
	border-radius: var(--radius-l);
	background: var(--modal-bg);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	color: var(--text-primary);
}
#numberranges {
	margin-top: 8px;
	padding-top: 22px;
	border-top: 1px solid var(--border-default);
}
#numberranges h4 {
	margin: 0 0 6px;
	font: 600 15px var(--font-display);
	letter-spacing: -.01em;
	color: var(--text-primary);
}
#numberranges .hint {
	margin: 0 0 16px;
	font: var(--text-small);
	color: var(--text-muted);
}
#numberranges .nr_boxes {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
#numberranges .nr_box {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 14px 16px 16px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
#numberranges .nr_head {
	display: flex;
	align-items: baseline;
	gap: 12px;
}
#numberranges .nr_name {
	flex: 1;
	font: 600 14px var(--font-body);
	color: var(--text-primary);
}
#numberranges .nr_next_label {
	font: 400 14px var(--font-body);
	color: var(--text-muted);
}
#numberranges .nr_preview {
	font: 600 14px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--accent);
}
#numberranges .nr_box.too_long .nr_preview {
	color: var(--danger);
}
#numberranges .nr_grid {
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(170px,1fr));
	gap: 14px 18px;
	align-items: start;
}
#numberranges .nr_col {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
#numberranges .nr_label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 16px;
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
	white-space: nowrap;
}
#numberranges .nr_col input {
	width: 100%;
	box-sizing: border-box;
	height: 40px;
}
#numberranges .nr_var {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	height: 24px;
	padding: 0 5px;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	text-transform: none;
}
#numberranges .nr_var:hover {
	background: var(--ink-800);
	color: var(--text-secondary);
}
#numberranges .nr_var.open {
	background: rgba(var(--accent-rgb),.10);
	color: var(--accent);
}
#numberranges .nr_flyout {
	position: absolute;
	left: 0;
	right: 0;
	top: 22px;
	z-index: 50;
	box-sizing: border-box;
	padding: 6px;
	background: var(--surface-card);
	border: 1px solid var(--accent);
	border-radius: var(--radius-m);
	box-shadow: var(--glow-border);
}
#numberranges .nr_flyout[hidden] {
	display: none;
}
#numberranges .nr_flyout_head {
	padding: 4px 10px 6px;
	font: 600 11px var(--font-body);
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#numberranges .nr_flyout a {
	display: flex;
	flex-direction: column;
	gap: 1px;
	padding: 7px 10px;
	border-radius: var(--radius-s);
	cursor: pointer;
}
#numberranges .nr_flyout a:hover {
	background: rgba(var(--accent-rgb),.07);
}
#numberranges .nr_flyout .t {
	font: 500 13px var(--font-mono);
	color: var(--text-primary);
}
#numberranges .nr_flyout .l {
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
#numberranges .nr_toggle {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 10px;
	cursor: pointer;
	font: 400 14px/1.3 var(--font-body);
	color: var(--text-secondary);
	user-select: none;
}
#numberranges .nr_toggle.disabled {
	opacity: .5;
	cursor: default;
}
#numberranges .nr_toggle .switch {
	position: relative;
	flex-shrink: 0;
	box-sizing: border-box;
	width: 34px;
	height: 20px;
	border-radius: 10px;
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	transition: background .15s, border-color .15s;
}
#numberranges .nr_toggle .switch:after {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--text-muted);
	transition: left .15s, background .15s;
}
#numberranges .nr_toggle.on .switch {
	background: var(--accent);
	border-color: var(--accent);
}
#numberranges .nr_toggle.on .switch:after {
	left: 16px;
	background: var(--on-accent);
}
#numberranges .nr_long {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	font: 400 12px/1.45 var(--font-body);
	color: var(--danger);
}
#numberranges .nr_long[hidden] {
	display: none;
}
#numberranges .nr_long svg {
	flex-shrink: 0;
	margin-top: 1px;
}
#numberranges .nr_field {
	width: auto;
}
#numberranges .nr_field.error label.nr_label {
	color: var(--danger);
}
#numberranges .nr_field.error input[data-nr] {
	border-color: var(--danger);
	box-shadow: 0 0 10px rgba(242,109,109,.25);
}
#numberranges .nr_error {
	letter-spacing: 0;
	text-transform: none;
	display: flex;
	align-items: flex-start;
	gap: 6px;
	font: 400 12px/1.4 var(--font-body);
	color: var(--danger);
}
#numberranges .nr_error[hidden] {
	display: none;
}
#numberranges .nr_error svg {
	flex-shrink: 0;
	margin-top: 1px;
}
@media (max-width: 770px) {
	body:not(.static) #numberranges .nr_fields {
		grid-template-columns: minmax(0,1fr);
	}
}
.field_readonly {
	height: 40px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 12px;
	background: transparent;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-m);
	font: 500 14px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
	cursor: default;
}
.field_readonly svg {
	flex-shrink: 0;
	color: var(--text-muted);
}
.field_hint {
	display: block;
	margin-top: 4px;
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
.avv_hint {
	margin: 0 0 12px;
}
.avv_status {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	font: var(--text-body);
	color: var(--text-primary);
}
.avv_status .avv_ok {
	display: inline-flex;
	color: var(--accent);
}
.avv_status a {
	margin-left: auto;
	font: 500 13px var(--font-body);
}
.modal.avv_gate {
	visibility: visible;
	opacity: 1;
	z-index: 1100;
}
#avv .box {
	width: 620px;
	max-height: min(720px, 85vh);
	padding: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
#avv .avv_head {
	padding: 24px 28px 14px;
	border-bottom: 1px solid var(--border-default);
}
#avv .avv_shield {
	width: 40px;
	height: 40px;
	margin-bottom: 12px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	border: 1px solid rgba(var(--accent-rgb),.45);
	background: rgba(var(--accent-rgb),.08);
	color: var(--accent);
}
#avv .avv_head .subline {
	margin-bottom: 10px;
}
#avv .avv_intro {
	margin: 0;
	font: var(--text-small);
	color: var(--text-secondary);
}
#avv .avv_doc {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 4px 28px 20px;
	font: var(--text-small);
	color: var(--text-secondary);
	outline: none;
}
#avv .avv_doc .label:first-child {
	margin-top: 16px;
}
#avv .avv_foot {
	padding: 14px 28px 20px;
	border-top: 1px solid var(--border-default);
}
@media (max-width: 770px) {
	body:not(.static) #avv .box {
		max-height: 90vh;
	}
	body:not(.static) #avv .avv_head,
	body:not(.static) #avv .avv_doc,
	body:not(.static) #avv .avv_foot {
		padding-left: 18px;
		padding-right: 18px;
	}
}
#avv .avv_check {
	display: flex;
	align-items: center;
	margin: 0;
}
#avv .avv_check label {
	white-space: normal;
	color: var(--text-primary);
}
#avv .avv_error {
	margin: 12px 0 0;
	color: var(--danger);
	font: var(--text-small);
}
#avv .avv_actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 16px;
}
#avv .avv_actions .logout {
	font: var(--text-small);
	color: var(--text-muted);
}
#avv .avv_accept.disabled {
	opacity: .45;
	pointer-events: none;
}
.modal.show .box {
	animation: bc-pop-in .25s cubic-bezier(.3,.9,.35,1.1) both;
}
@media (max-width: 770px) {
	body:not(.static) .modal .container {
		padding: 12px;
	}
}

@media (max-width: 770px) {
	body:not(.static) .modal .box {
		width: 100%;
		padding: 20px;
	}
}

#signin .box {
	width: 420px;
}
.modal h2 {
	margin: 0 0 4px;
	padding-right: 36px;
	font: 600 19px/1.3 var(--font-display);
	letter-spacing: -0.01em;
}
.modal .subline,
.modal .moderate {
	margin: 0 0 22px;
	font: var(--text-small);
	color: var(--text-muted);
}
.modal p {
	margin: 0 0 8px;
}
.editor_box {
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	overflow: visible;
	background: var(--surface-raised);
	transition: border-color .15s, box-shadow .2s;
}
.editor_box:focus-within {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.editor_toolbar {
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 2px;
	padding: 6px 8px;
	border-bottom: 1px solid var(--border-default);
	border-radius: var(--radius-m) var(--radius-m) 0 0;
	background: var(--surface-card);
}
.editor_tool {
	position: relative;
	display: inline-flex;
}
.editor_btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	width: 30px;
	height: 30px;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .12s, background .12s;
}
.editor_btn svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}
.editor_btn.with_chevron {
	width: auto;
	padding: 0 6px;
}
.editor_btn.with_chevron svg + svg {
	width: 9px;
	height: 9px;
}
.editor_btn:hover {
	background: var(--ink-800);
	color: var(--text-secondary);
	text-decoration: none;
}
.editor_btn[data-tip]:hover::after {
	content: attr(data-tip);
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translateX(-50%);
	padding: 3px 8px 4px;
	border-radius: 6px;
	background: var(--ink-800);
	box-shadow: 0 6px 16px rgba(0,0,0,.25);
	font: 500 11px/1.3 var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
	pointer-events: none;
	z-index: 40;
	animation: bc-fade-in .15s ease both;
}
.editor_toolbar:has(.editor_tool.open) .editor_btn::after {
	display: none;
}
.editor_menu.to_left {
	left: auto;
	right: 0;
}
[data-theme="light"] .editor_btn:hover,
[data-theme="light"] .editor_btn[data-tip]:hover::after {
	background: var(--border-default);
	box-shadow: none;
}
.editor_sep {
	width: 1px;
	height: 18px;
	margin: 0 6px;
	background: var(--border-strong);
}
.editor_box.html_mode .editor_btn:not([data-cmd="html"]) {
	opacity: .35;
	cursor: default;
}
.editor_box.html_mode .editor_btn:not([data-cmd="html"]):hover {
	background: transparent;
	color: var(--text-muted);
}
.editor_box.html_mode .editor_btn:not([data-cmd="html"])::after {
	display: none;
}
.editor_btn.active {
	background: rgba(var(--accent-rgb),.10);
	color: var(--accent);
}
.editor_menu {
	display: none;
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	z-index: 50;
	min-width: 220px;
	max-width: 300px;
	max-height: 340px;
	overflow-y: auto;
	padding: 6px;
	border: 1px solid var(--accent);
	border-radius: var(--radius-m);
	background: var(--surface-card);
	box-shadow: var(--glow-border);
}
.editor_tool.open .editor_menu {
	display: block;
}
.editor_menu.variables {
	width: 300px;
}
.editor_menu_title {
	padding: 4px 10px 6px;
	font: 600 11px var(--font-body);
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.editor_menu a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 10px;
	border-radius: var(--radius-s);
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-primary);
	cursor: pointer;
	white-space: nowrap;
}
.editor_menu a svg {
	flex-shrink: 0;
	color: var(--text-muted);
}
.editor_menu a .txt {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}
.editor_menu a .top.mono {
	font: 500 13px var(--font-mono, ui-monospace, monospace);
}
.editor_menu a .note {
	font: 400 12px/1.35 var(--font-body);
	color: var(--text-muted);
	white-space: normal;
}
.editor_menu a:hover {
	background: rgba(var(--accent-rgb),.07);
	text-decoration: none;
}
.editor_menu.checked a .txt {
	flex: 1;
}
.editor_menu.checked a .check {
	display: none;
	margin-left: auto;
}
.editor_menu.checked a.on .top {
	color: var(--accent);
}
.editor_menu.checked a.on .check {
	display: inline-flex;
}
.editor_menu.checked a.on .check svg {
	color: var(--accent);
}
.editor_linkbar {
	display: none;
	position: absolute;
	top: calc(100% + 6px);
	left: 8px;
	right: 8px;
	z-index: 20;
	align-items: center;
	gap: 8px;
	padding: 8px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	box-shadow: var(--shadow-card);
}
.editor_box.link_open .editor_linkbar {
	display: flex;
}
.editor_linkbar .editor_link_url {
	flex: 1 1 auto;
	min-width: 0;
	height: 34px;
}
.editor_box .editor_linkbar .editor_link_url {
	width: auto;
}
.editor_linkbar .editor_link_url.error {
	border-color: var(--danger);
}
.editor_linkbar .editor_link_apply {
	flex: 0 0 auto;
	width: auto;
	height: 34px;
	padding: 0 14px;
	font-size: 13px;
}
.editor_content,
.editor_source {
	min-height: 300px;
	padding: 12px 14px;
	box-sizing: border-box;
	outline: none;
	font: 400 14px/1.55 var(--font-body);
	color: var(--text-primary);
	background: transparent;
}
.editor_source {
	display: none;
	width: 100%;
	border: none;
	resize: vertical;
	font: 400 13px/1.5 var(--font-mono, ui-monospace, monospace);
}
.editor_content {
	position: relative;
}
#compose_mail_box .editor_content {
	max-height: min(420px, 45vh);
	overflow-y: auto;
}
.editor_content:empty::before,
.editor_content.empty::before {
	content: attr(data-placeholder);
	position: absolute;
	left: 14px;
	top: 12px;
	right: 14px;
	color: var(--text-muted);
	pointer-events: none;
}
.editor_content p {
	margin: 0 0 8px;
}
.editor_content a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.editor_content blockquote {
	margin: 0 0 8px;
	padding: 2px 0 2px 12px;
	border-left: 2px solid var(--border-strong);
	color: var(--text-secondary);
}
.editor_content p.small {
	font-size: 12px;
}
.editor_content ul,
.editor_content ol {
	margin: 20px 0;
	padding-left: 22px;
}
.editor_content b,
.editor_content strong {
	font-weight: 600;
}
.modal .box > .close {
	position: absolute;
	right: 20px;
	top: 20px;
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
}
.modal .box > .close:hover {
	color: var(--text-primary);
}
.modal .pack {
	padding-top: 4px;
}
.modal button {
	width: 100%;
	margin-top: 6px;
}
.modal .center {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 26px;
}
.modal .center .button + .button {
	margin: 0;
}
.modal .center .bad {
	order: -1;
}
@media (max-width: 770px) {
	body:not(.static) .modal .center {
		justify-content: safe flex-end;
		gap: 8px;
	}
	body:not(.static) .modal .center .button {
		flex: 0 1 auto;
		min-width: 0;
		padding-left: 12px;
		padding-right: 12px;
	}
}
.modal .box_content > div > .form {
	margin-top: 0;
}
#error_msg {
	margin: 0 0 16px;
	padding: 10px 12px;
	border-radius: var(--radius-m);
	background: rgba(242,109,109,.12);
	border: 1px solid rgba(242,109,109,.4);
	color: var(--danger);
	font: var(--text-small);
	text-align: center;
}

#signin .box.code_mode > h2,
#signin .box.code_mode > .subline,
#signin .box.code_mode > .pack {
	display: none;
}
#signin .code_step[hidden] {
	display: none;
}
#signin .code_icon {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	margin-bottom: 16px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	color: var(--accent);
}
#signin .code_mail {
	color: var(--text-secondary);
	font-weight: 600;
	white-space: nowrap;
}
#signin .code_fields {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)) 12px repeat(3, minmax(0, 1fr));
	gap: 8px;
}
#signin .code_dash {
	width: 100%;
	height: 2px;
	align-self: center;
	border-radius: 1px;
	background: var(--border-strong);
}
#signin .code_fields .code_digit {
	width: 100%;
	min-width: 0;
	height: 60px;
	padding: 0;
	text-align: center;
	font: 600 26px var(--font-display);
	font-variant-numeric: tabular-nums;
	caret-color: var(--accent);
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	color: var(--text-primary);
	-webkit-text-fill-color: var(--text-primary);
}
#signin .code_fields .code_digit:focus {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
#signin .code_fields.error .code_digit {
	border-color: var(--danger);
	box-shadow: none;
	color: var(--danger);
	-webkit-text-fill-color: var(--danger);
}
#signin .code_fields.ok .code_digit {
	border-color: var(--accent);
	box-shadow: none;
}
#signin .code_fields.error {
	animation: bc-code-shake .4s ease;
}
#signin .code_fields.ok {
	animation: bc-code-ok .35s ease;
}
#signin .code_fields.locked .code_digit {
	opacity: .45;
}
@keyframes bc-code-shake {
	0%, 100% { transform: none; }
	20% { transform: translateX(-6px); }
	40% { transform: translateX(6px); }
	60% { transform: translateX(-4px); }
	80% { transform: translateX(4px); }
}
@keyframes bc-code-ok {
	0% { transform: none; }
	50% { transform: translateY(-3px); }
	100% { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	#signin .code_fields.error,
	#signin .code_fields.ok {
		animation: none;
	}
}
#signin .code_note {
	min-height: 20px;
	margin: 12px 0 0;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 6px;
	text-align: center;
	font: 400 12px/1.5 var(--font-body);
}
#signin .code_note svg {
	flex-shrink: 0;
	margin-top: 2px;
}
#signin .code_note.error {
	color: var(--danger);
}
#signin .code_note.sent {
	color: var(--accent);
}
#signin .code_trust {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 14px 0 18px;
	padding: 10px 12px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	cursor: pointer;
	text-transform: none;
	letter-spacing: normal;
	transition: border-color .15s;
}
#signin .code_trust.on {
	border-color: var(--accent);
}
#signin .code_trust .code_trust_box {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
#signin .code_check {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	margin-top: 1px;
	display: grid;
	place-items: center;
	border-radius: 5px;
	border: 1px solid var(--border-strong);
	color: var(--on-accent, #04120D);
}
#signin .code_check svg {
	visibility: hidden;
}
#signin .code_trust.on .code_check {
	border-color: var(--accent);
	background: var(--accent);
}
#signin .code_trust.on .code_check svg {
	visibility: visible;
}
#signin .code_trust_box:focus-visible + .code_check {
	box-shadow: var(--glow-border);
}
#signin .code_trust_text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
#signin .code_trust_text strong {
	font: 600 13px var(--font-body);
	color: var(--text-primary);
}
#signin .code_trust_text span {
	font: 400 12px/1.45 var(--font-body);
	color: var(--text-muted);
}
#signin .code_submit {
	height: 44px;
	margin-top: 0;
}
#signin .code_submit[disabled] {
	opacity: .45;
	pointer-events: none;
}
#signin .code_links {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 18px;
}
#signin .code_back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	font: 500 13px var(--font-body);
	color: var(--text-muted);
}
#signin .code_back:hover {
	color: var(--text-primary);
	text-decoration: none;
}
#signin .code_back svg {
	transform: rotate(180deg);
}
#signin .code_wait {
	font: 400 13px var(--font-body);
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
}
#signin .code_wait[hidden],
#signin .code_resend[hidden] {
	display: none;
}
#signin .code_resend {
	cursor: pointer;
	font: 600 13px var(--font-body);
	color: var(--accent);
}
#signin .code_help {
	margin: 18px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--border-default);
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
#signin .code_help a {
	text-decoration: none;
}

.split {
	display: flex;
	gap: 36px;
	align-items: flex-start;
}
.split-content {
	flex: 1;
	min-width: 0;
}
.anchor_nav {
	position: sticky;
	top: 20px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 190px;
	max-width: 220px;
	flex-shrink: 0;
}
.anchor_nav .anchor {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	border-left: 2px solid var(--border-default);
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-muted);
	transition: color .15s, border-color .15s;
	cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.anchor_nav .anchor:hover {
	color: var(--text-primary);
}
.anchor_nav .anchor.active {
	color: var(--accent);
	font-weight: 600;
	border-left-color: var(--accent);
}
.anchor_nav .anchor.add {
	border-left-color: transparent;
}
.anchor_nav .anchor.add:hover {
	color: var(--accent);
}
@media (max-width: 770px) {
	body:not(.static) .split {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
	}
}

@media (max-width: 770px) {
	body:not(.static) .anchor_nav {
		position: static;
		flex-direction: row;
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		max-width: none;
		min-width: 0;
		gap: 2px;
		padding-bottom: 2px;
	}
}

@media (max-width: 770px) {
	body:not(.static) .anchor_nav::-webkit-scrollbar {
		display: none;
	}
}

@media (max-width: 770px) {
	body:not(.static) .anchor_nav .anchor {
		flex-shrink: 0;
	}
}

.data {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 760px;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	text-align: left;
}
.data > ul {
	list-style: none;
	margin: 0;
	padding: 24px;
	width: 100%;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 18px 24px;
	border-radius: var(--radius-l);
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
	scroll-margin-top: 20px;
}
.data > ul > li {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	margin: 0;
}
.data > ul > li:first-child:has(h3),
.data > ul > li:has(textarea) {
	grid-column: 1 / -1;
}
.data > ul > li h3 {
	font: 600 17px/1.3 var(--font-display);
	letter-spacing: -0.01em;
	margin-bottom: 2px;
}
.data > ul > li:has(h3) + li:not(:has(label)) {
	grid-column: 1 / -1;
	color: var(--text-secondary);
}
.data label {
	width: 100%;
	float: none;
	line-height: 1.2;
}
.data .select,
.data input,
.data textarea,
.data .no-image,
.data label + * {
	width: 100%;
	float: none;
}
.data textarea {
	min-height: 120px;
}
.data > .options {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	padding: 0 0 8px;
	background: transparent;
}
.data h2,
.data h3,
.data p {
	margin: 0;
}
.data > ul > li .upload {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	position: relative;
	padding: 14px 16px;
	border-radius: var(--radius-m);
	border: 1px dashed rgba(var(--secondary-rgb),.35);
	background: transparent;
	color: var(--text-secondary);
	font: 600 13px/1.3 var(--font-body);
	cursor: pointer;
	text-align: center;
	transition: border-color .15s, color .15s;
}
.data > ul > li .upload:hover {
	border-color: var(--accent);
	color: var(--accent);
}
.data > ul > li .upload input {
	width: 100%;
}
.data > ul > li .preview {
	display: block;
	width: 150px;
	min-height: 200px;
	height: auto;
	object-fit: contain;
	border-radius: 4px;
	border: 1px solid var(--border-strong);
	background: var(--paper);
}
.data > ul > li .preview[src=""] {
	display: none;
}
.data > ul > li .preview + .no-image,
.data > ul > li .no-image {
	display: none;
	padding: 14px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	text-align: center;
	font: var(--text-small);
	color: var(--text-muted);
}
.data > ul > li .preview[src=""] + .no-image {
	display: block;
}
.data > ul > li .mail_logo_container {
	min-height: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-m);
	background: var(--paper);
	border: 1px solid var(--border-strong);
}
.data > ul > li .mail_logo_container img {
	max-width: 80%;
	max-height: 160px;
	object-fit: contain;
	object-position: center;
}
.data > ul > li .mail_logo_container:has(img[src=""]) {
	display: none;
}
.upload_progress {
	position: absolute;
	width: 100%;
	height: 100%;
}
.upload_bar {
	background: rgba(var(--accent-rgb),.25);
	height: 100%;
	position: absolute;
}
.data:has(> .list-legend) {
	display: block;
	max-width: none;
	border-radius: var(--radius-l);
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
	overflow: hidden;
}
.data:has(> .list-legend) > .options {
	padding: 14px 20px;
	border-top: 1px solid var(--border-default);
	justify-content: flex-start;
}


.landing {
	flex: 1;
	min-height: calc(100vh - 200px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.landing-card {
	width: 420px;
	max-width: 100%;
	padding: 36px 32px;
	text-align: center;
	border-radius: var(--radius-l);
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
}
.landing-card h1 {
	margin: 0;
	font: 600 22px/1.3 var(--font-display);
	letter-spacing: -0.01em;
	color: var(--text-primary);
}
.landing-card h1.wordmark {
	font-size: 34px;
	letter-spacing: -0.03em;
}
.landing-card p {
	margin: 10px 0 24px;
	font: var(--text-body);
	color: var(--text-muted);
}
.landing-card .button {
	padding: 10px 18px;
}
.landing-card .not_found_actions {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}
.fullscreen {
	min-height: 60vh;
}
.alert {
	padding: 16px 16px 16px 48px;
	position: relative;
	border-radius: var(--radius-m);
	border: 1px solid rgba(242,109,109,.4);
	background: rgba(242,109,109,.08);
	color: var(--text-secondary);
}
.alert:before {
	content: "\26a0";
	font-family: 'entypo', sans-serif;
	position: absolute;
	left: 16px;
	top: 14px;
	font-size: 20px;
	color: var(--danger);
}
.cookies {
	position: relative;
	background: var(--popover-bg);
	border-bottom: 1px solid var(--border-default);
	color: var(--text-secondary);
	font: var(--text-small);
}
.cookies .wrapper {
	padding: 14px 60px 14px 20px;
}
.cookies .close {
	position: absolute;
	right: 20px;
	top: 12px;
}
.cookies .wrapper p a {
	color: var(--accent);
}
#forgotten_email {
	margin-top: 12px;
}


.waiter {
	display: flex;
	justify-content: center;
	padding: 24px 0;
	position: relative;
	z-index: 500;
}
section .waiter {
	padding-top: 140px;
}
.page > .waiter {
	position: fixed;
	inset: 0;
	z-index: 900;
	padding: 0;
	align-items: center;
	pointer-events: none;
}
.loader {
	display: block;
}
.loader .ring {
	fill: var(--accent);
	transform-origin: 60px 60px;
	animation: bc-load-ring 1.5s ease-out infinite;
}
.loader .blink {
	fill: var(--accent-hover);
	transform-origin: 60px 60px;
	animation: bc-load-blink 1.5s ease-in-out infinite;
}
@keyframes bc-load-ring {
	0% { opacity: .7; transform: scale(1); }
	100% { opacity: 0; transform: scale(3.2); }
}
@keyframes bc-load-blink {
	0% { opacity: 0; transform: scale(1.2); }
	12% { opacity: 1; transform: scale(1); }
	55% { opacity: 1; }
	75% { opacity: 0; }
	100% { opacity: 0; }
}
.button .loader,
button .loader {
	flex-shrink: 0;
}
.button.busy > svg {
	animation: bc-spin 1s linear infinite;
}
@keyframes bc-spin {
	to { transform: rotate(360deg); }
}
.browser_nav {
	display: none;
}


@media (max-width: 770px) {
	body:not(.static) .list-legend {
		padding-left: 12px;
	}
}

@media (max-width: 770px) {
		body:not(.static) .list-view > li {
		padding-left: 12px;
	}
}

@media (max-width: 770px) {
		body:not(.static) .list-view > li > [data-id]:not([data-id='select']) {
		padding: 10px 6px;
	}
		body:not(.static) .list-legend p[data-id]:not([data-id='select']):not(.table-options) {
		padding-left: 6px;
		padding-right: 6px;
	}
		body:not(.static) .list-view > li > p[data-id='select'],
	body:not(.static) .list-legend p[data-id='select'] {
		padding-left: 8px;
	}
}

@media (max-width: 770px) {
	body:not(.static) .list-filter > * {
		flex: 1 1 calc(50% - 6px);
	}
		body:not(.static) .list-filter .checkboxes.pill {
		width: 100%;
	}
	body:not(.static) .list-filter .checkboxes.pill .selected {
		width: 100%;
		max-width: none;
	}
}

@media (max-width: 770px) {
	body:not(.static) .list-filter .spacer {
		display: none;
	}
}

@media (max-width: 770px) {
	body:not(.static) .list-filter .search_filter {
		width: 100%;
		flex-basis: 100%;
	}
}

@media (max-width: 770px) {
	body:not(.static) .page-actions {
		width: 100%;
	}
}

@media (max-width: 770px) {
	body:not(.static) .page-actions .button {
		flex: 1;
	}
}

@media (max-width: 770px) {
		body:not(.static) .tab_bar {
		margin-right: -16px;
	}
	body:not(.static) .slide_navi > ul {
		padding-right: 16px;
	}
}

@media (max-width: 770px) {
	body:not(.static) h1 {
		font-size: 24px;
	}
}


@media (prefers-reduced-motion: reduce) {
	.widget, aside.nav, .page-title, .page-actions, aside nav ul li.active .nav_icon,
	.content-card.list-card, .list-view > li {
		animation: none !important;
	}
}


@media print {

	body {
		background: #fff;
		color: #000;
		font-size: 12px;
	}
	#bg-waves,
	aside.nav,
	.page > header,
	footer,
	.page-actions,
	.list-filter,
	.slide_navi .user_navi li:not(.active),
	.list-legend-colors,
	.list-view li .options {
		display: none !important;
	}
	body.signed_in .page {
		margin-left: 0 !important;
	}
	.page > section {
		padding: 0;
	}
	h1, h2, h3,
	.list-view > li > [data-id],
	.list-legend p,
	.key_facts li p {
		color: #000 !important;
	}
	.content-card,
	.widget,
	.data > ul {
		background: none;
		border-color: #ccc;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
	.list-view > li,
	.list-legend {
		border-color: #ddd;
	}
	.list-view li {
		page-break-inside: avoid;
	}
	input[type='text'],
	input[type='password'],
	textarea {
		border: 1px solid #000;
		box-shadow: none;
		background: #fff;
		color: #000;
	}
}

@keyframes bc-shake {
	0% { left: 0; }
	20% { left: -20px; }
	40% { left: 20px; }
	60% { left: -20px; }
	80% { left: 20px; }
	100% { left: 0; }
}
.modal .box.shake {
	animation: bc-shake .4s ease-in-out;
}
.modal.show .box.shake {
	animation: bc-pop-in .25s cubic-bezier(.3,.9,.35,1.1) both, bc-shake .4s ease-in-out;
}

.content-card.coming-soon {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 40px 20px;
	text-align: center;
}
.coming-soon .badge {
	width: 48px;
	height: 48px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-m);
	border: 1px solid var(--accent);
	color: var(--accent);
	box-shadow: var(--glow-border);
}
.coming-soon h2 {
	margin: 0;
	font: var(--text-h2);
	letter-spacing: var(--ls-h2);
	color: var(--text-primary);
}
.coming-soon p {
	margin: 0;
	max-width: 420px;
	font: var(--text-body);
	color: var(--text-muted);
}

.list-view > li > [data-id].strong {
	font-weight: 500;
	color: var(--text-primary);
}
.list-view > li > [data-id].warn {
	color: var(--warning);
}
.list-view li p .state {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 96px;
	height: 24px;
	padding: 0 10px;
	border-radius: var(--radius-s);
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	vertical-align: middle;
	font: 600 11px/1 var(--font-body);
	letter-spacing: .02em;
	color: var(--text-muted);
	white-space: nowrap;
	text-decoration: none;
}
.list-view li p .state.active {
	color: var(--accent);
	background: rgba(var(--accent-rgb),.12);
	border-color: var(--accent);
}
.list-view li p .state.notice {
	color: var(--warning);
	background: rgba(245,185,80,.14);
	border-color: var(--warning);
}
.list-view.contracts > li[data-state='active']:before {
	background: var(--accent);
}
.list-view.contracts > li[data-state='notice']:before {
	background: var(--warning);
}
.list-view.contracts > li[data-state='cancelled']:before,
.list-view.contracts > li[data-state='expired']:before {
	background: var(--gray-400);
}
.list-view.contracts > li[data-state='cancelled'],
.list-view.contracts > li[data-state='expired'] {
	opacity: .6;
}
.list-view.contracts > li[data-state='cancelled'] > [data-id],
.list-view.contracts > li[data-state='expired'] > [data-id] {
	color: var(--text-muted);
}
.list-view.contracts > li[data-state='expired'] > [data-id]:not([data-id='select']):not([data-id='status']) {
	text-decoration: line-through;
}
.list-view li p .deviation {
	display: inline-grid;
	place-items: center;
	width: 16px;
	height: 16px;
	margin-left: 4px;
	border-radius: 50%;
	border: 1px solid var(--warning);
	color: var(--warning);
	font: 700 10px/1 var(--font-body);
	vertical-align: middle;
	cursor: help;
}
.list-legend-colors .is-active:before,
.list-legend-colors .is-notice:before {
	background: var(--accent);
}
.list-legend-colors .is-notice:before {
	background: var(--warning);
}
.list-legend-colors .is-expired {
	text-decoration: line-through;
}
.category-cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 20px;
}
.category-card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px;
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	min-width: 0;
}
.category-card .label {
	font: var(--text-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.category-card .value {
	font: 600 20px/1.2 var(--font-display);
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
.category-card .bar {
	display: block;
	height: 3px;
	margin-top: 6px;
	border-radius: 2px;
	background: var(--border-default);
	overflow: hidden;
}
.category-card .bar > span {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, var(--accent-hover), var(--accent));
}
@media (max-width: 770px) {
	body:not(.static) .category-cards {
		grid-template-columns: 1fr 1fr;
	}
}
.form .info.charges_info {
	display: block;
}
.form .charges_info .label {
	display: block;
	margin-bottom: 8px;
	font: var(--text-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--text-muted);
}
.form .charges {
	list-style: none;
	margin: 0;
	padding: 4px 12px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.form .charges li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 0;
	border-bottom: 1px solid var(--border-default);
	font: 400 13px/1.3 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-secondary);
}
.form .charges li:last-child {
	border-bottom: none;
}
.form .charges li span:last-child {
	font-weight: 500;
	color: var(--text-primary);
}
.form .charges li.warn span:last-child {
	color: var(--warning);
}
.modal .center .contract-cancel-dialog {
	margin-right: auto;
	order: -2;
	align-self: center;
	font: 600 14px var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .15s;
}
.modal .center .contract-cancel-dialog:hover {
	color: var(--danger);
}


.content-card.list-card {
	position: relative;
	--list-min: 820px;
}
.content-card.list-card.wide {
	--list-min: 1000px;
}
.list-card .list-legend,
.list-card .list-view > li {
	min-width: var(--list-min);
}
.list-card .scrollable.scroll-x {
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
		overscroll-behavior-x: none;
}
.list-card .scrollable.scroll-x::-webkit-scrollbar {
	display: none;
}
.list-card.edged .scrollable.scroll-x {
	clip-path: inset(0 var(--rw, 0px) 0 var(--lw, 0px));
}
.list-legend {
	position: relative;
}
.list-legend p.table-options {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: auto;
	min-width: 0;
	padding: 0;
	overflow: visible;
	flex: none;
}
.mini_btn.table-menu {
	width: 26px;
	height: 26px;
	display: inline-grid;
	place-items: center;
		justify-content: center;
	align-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .15s;
}
.mini_btn.table-menu:before {
	content: '';
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--icon-dots) no-repeat center / contain;
	mask: var(--icon-dots) no-repeat center / contain;
}
.mini_btn.table-menu:hover {
	color: var(--text-primary);
}
.mini_btn.table-menu.open {
	color: var(--accent);
}
#column_menu {
	position: fixed;
	z-index: 220;
	width: 230px;
	padding: 8px 6px;
	border-radius: var(--radius-m);
	background: var(--popover-bg);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	animation: bc-fade-in .12s ease both;
}
#column_menu .title {
	padding: 4px 10px 8px;
	font: 600 11px/1.2 var(--font-body);
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#column_menu .entry {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 10px;
	border-radius: var(--radius-s);
	cursor: pointer;
	font: 500 13px/1.2 var(--font-body);
	color: var(--text-secondary);
}
#column_menu .entry:hover {
	background: rgba(var(--accent-rgb),.05);
}
#column_menu .entry .label {
	flex: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#column_menu .switch {
	position: relative;
	flex-shrink: 0;
	width: 28px;
	height: 16px;
	border-radius: 999px;
	background: var(--ink-700);
	transition: background .15s;
}
#column_menu .switch:after {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--gray-300);
	transition: left .15s, background .15s;
}
#column_menu .entry.on .switch {
	background: var(--accent);
}
#column_menu .entry.on .switch:after {
	left: 14px;
	background: var(--green-900);
}
.list-edge {
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 3;
	pointer-events: none;
	display: none;
}
.list-card.edged .list-edge {
	display: block;
}
.list-edge.left {
	left: 0;
}
.list-edge.right {
	right: 0;
}
.edge-cell {
	position: absolute;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	pointer-events: auto;
	transition: background .12s;
}
.edge-cell:after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: var(--bb, var(--border-default));
}
.edge-cell.no-border:after {
	display: none;
}
.edge-cell.head {
	cursor: default;
}
.edge-cell.hover {
	background: rgba(var(--accent-rgb),.04);
}
.edge-cell.selected {
	background: rgba(var(--accent-rgb),.07);
}
.edge-cell.selected.hover {
	background: rgba(var(--accent-rgb),.04);
}
.edge-cell .stripe {
	position: absolute;
	left: 6px;
	top: 6px;
	bottom: 6px;
	width: 3px;
	border-radius: 2px;
	background: var(--stripe, transparent);
}
.list-edge.left .edge-cell {
	padding-left: 20px;
}
.list-edge.left .edge-cell .multi-select {
	display: block;
}
.list-edge.right .edge-cell {
	justify-content: flex-end;
	padding-right: 8px;
}
.list-edge.right .edge-cell .options {
	position: relative;
	opacity: 0;
	transition: opacity .12s;
}
@media (hover: none) {
	.list-edge.right .edge-cell .options {
		opacity: 1;
	}
}
.list-edge.right .edge-cell.hover .options,
.list-edge.right .edge-cell .options:hover,
.list-edge.right .edge-cell.head .options {
	opacity: 1;
}
.list-edge.right .edge-cell .options > .mini_btn.menu span {
	display: none;
}
.list-edge.right .edge-cell .options > .mini_btn.menu:before {
	content: '';
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--icon-dots) no-repeat center / contain;
	mask: var(--icon-dots) no-repeat center / contain;
}
.list-edge.right .edge-cell .options:hover > .mini_btn.menu {
	color: var(--accent);
}
.list-edge.right .edge-cell .options:before {
	content: '';
	position: absolute;
	left: -10px;
	right: -10px;
	top: 100%;
	height: 8px;
}
.list-edge.right .edge-cell .options .hidden_menu {
	position: absolute;
	right: 0;
	top: 100%;
	display: none;
	list-style: none;
	margin: 0;
	padding: 6px;
	width: 240px;
	border-radius: var(--radius-m);
	background: var(--popover-bg);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	z-index: 100;
	animation: bc-fade-in .12s ease both;
}
.list-edge.right .edge-cell.up .options .hidden_menu {
	top: auto;
	bottom: 100%;
}
.list-edge.right .edge-cell .options:hover .hidden_menu:not(:empty),
.list-edge.right .edge-cell.tap-open .options .hidden_menu:not(:empty) {
	display: block;
}
.list-edge.right .edge-cell.tap-open .options {
	opacity: 1;
}
.list-edge.right .edge-cell .options .hidden_menu li {
	margin: 0;
	padding: 0;
}
.list-edge.right .edge-cell .options .hidden_menu .mini_btn {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	height: auto;
	padding: 8px 10px;
	text-align: left;
	white-space: nowrap;
	font: 500 13px/1.2 var(--font-body);
	color: var(--text-secondary);
	border-radius: var(--radius-s);
	cursor: pointer;
}
.list-edge.right .edge-cell .options .hidden_menu .mini_btn:hover {
	background: rgba(var(--accent-rgb),.07);
	color: var(--text-primary);
}
.list-edge.right .edge-cell .options .hidden_menu .mini_btn span {
	width: 16px;
	display: inline-block;
	text-align: center;
	font-size: 13px;
	color: var(--text-muted);
}
.list-edge.right .edge-cell .options .hidden_menu .mini_btn:hover span {
	color: var(--accent);
}
.list-edge.right .edge-cell .options .hidden_menu .mini_btn:after {
	content: attr(title);
	overflow: hidden;
	text-overflow: ellipsis;
}
.list-edge.right .edge-cell .options .hidden_menu .mini_btn.remove,
.list-edge.right .edge-cell .options .hidden_menu .mini_btn.cancel,
.list-edge.right .edge-cell .options .hidden_menu .mini_btn.remove span,
.list-edge.right .edge-cell .options .hidden_menu .mini_btn.cancel span {
	color: var(--danger);
}
.list-view > li.edge-hover {
	background: rgba(var(--accent-rgb),.04);
}
@media (max-width: 770px) {
	body:not(.static) .content-card.list-card {
		--list-min: 0px;
	}
}


.list-card .scrollable.scroll-x.panning {
	cursor: grabbing;
	user-select: none;
}
.list-card .scrollable.scroll-x.panning * {
	cursor: grabbing !important;
}

.list-card.sized .list-legend,
.list-card.sized .list-view > li {
	width: max-content;
	min-width: 100%;
}
.list-card.sized .list-legend p[data-id='select'],
.list-card.sized .list-view > li > [data-id='select'] {
	flex: 0 0 40px;
	width: 40px;
	min-width: 40px;
}
.list-card.measure .list-legend p,
.list-card.measure .list-view > li > [data-id] {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
}
.list-legend p.table-options,
.list-view > li > :not([data-id]) {
	order: 9999;
}
.list-legend p {
	position: relative;
}
.col-resize {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 10px;
	cursor: col-resize;
	opacity: 0;
	transition: opacity .12s;
	z-index: 2;
	touch-action: none;
}
.col-resize:after {
	content: '';
	position: absolute;
	left: 4px;
	top: 9px;
	bottom: 9px;
	width: 2px;
	border-radius: 1px;
	background: var(--accent);
}
.list-legend p:hover > .col-resize,
.col-resize.active {
	opacity: 1;
}
.list-card.resizing,
.list-card.resizing * {
	cursor: col-resize !important;
	user-select: none;
}
.list-card.resizing .col-resize:not(.active) {
	opacity: 0;
}
#column_menu .grip {
	flex-shrink: 0;
	width: 13px;
	height: 13px;
	cursor: grab;
	color: var(--text-muted);
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='9' cy='6' r='1.4'/%3E%3Ccircle cx='15' cy='6' r='1.4'/%3E%3Ccircle cx='9' cy='12' r='1.4'/%3E%3Ccircle cx='15' cy='12' r='1.4'/%3E%3Ccircle cx='9' cy='18' r='1.4'/%3E%3Ccircle cx='15' cy='18' r='1.4'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='9' cy='6' r='1.4'/%3E%3Ccircle cx='15' cy='6' r='1.4'/%3E%3Ccircle cx='9' cy='12' r='1.4'/%3E%3Ccircle cx='15' cy='12' r='1.4'/%3E%3Ccircle cx='9' cy='18' r='1.4'/%3E%3Ccircle cx='15' cy='18' r='1.4'/%3E%3C/svg%3E") no-repeat center / contain;
}
#column_menu .entry:hover .grip {
	color: var(--text-primary);
}
#column_menu .entry.sortable-placeholder {
	opacity: .35;
}

.list-filter .select.pill > input,
.list-filter .checkboxes.pill .selected {
	height: 40px;
	padding: 0 36px 0 12px;
	border-radius: var(--radius-m);
	border-color: var(--border-strong);
	color: var(--text-primary);
	font: 400 14px/1 var(--font-body);
	letter-spacing: 0;
}
.list-filter .checkboxes.pill .selected {
	line-height: 40px;
}
.list-filter .select.pill:before,
.list-filter .checkboxes.pill:before {
	width: 14px;
	height: 14px;
	margin-top: -7px;
	right: 12px;
}
.list-filter .select.pill.hover > input {
	color: var(--text-primary);
	border-color: var(--accent);
}
.list-filter .select.pill > ul {
	left: 0;
	right: auto;
	min-width: 100%;
}
.list-legend p.table-options a:after {
	display: none;
}

@media (max-width: 770px) {
	body:not(.static) .list-legend p:has(> .col-resize) {
		overflow: clip;
		overflow-clip-margin: 12px;
	}
	body:not(.static) .col-resize {
		right: -12px;
		width: 24px;
		opacity: 1;
	}
	body:not(.static) .col-resize:after {
		left: 11px;
		background: var(--border-strong);
	}
	body:not(.static) .col-resize.active:after {
		background: var(--accent);
	}
	body:not(.static) .list-card.resizing .col-resize:not(.active) {
		opacity: 1;
	}
}
.list-view.recurring > li[data-state='active']:before {
	background: var(--accent);
}
.list-view.recurring > li[data-state='due']:before {
	background: var(--warning);
}
.list-view.recurring > li[data-state='ended']:before {
	background: var(--gray-400);
}
.list-view.recurring > li[data-state='ended'] {
	opacity: .6;
}
.list-view.recurring > li[data-state='ended'] > [data-id] {
	color: var(--text-muted);
}
.list-view li p .state.ended {
	color: var(--text-muted);
}
.list-view > li > [data-id].profit {
	color: var(--accent);
	font-weight: 500;
}
.list-view > li > [data-id].profit.negative {
	color: var(--danger, #ff6b6b);
}
.list-view > li[data-state='ended'] > [data-id].profit {
	color: var(--text-muted);
}
.list-legend-colors .is-expired.ended {
	text-decoration: none;
}
.sepa_mark {
	display: inline-block;
	margin-left: 6px;
	font: 600 10px/1 var(--font-body);
	letter-spacing: .04em;
	color: var(--accent);
	white-space: nowrap;
	vertical-align: middle;
	cursor: help;
}
.list-view li p .tag.soft + .tag.soft {
	margin-left: 4px;
}
.recurring-kpis .value.negative {
	color: var(--danger, #ff6b6b);
}
.settings-card .card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 6px;
	flex-wrap: wrap;
}
.settings-card .card-head h2 {
	margin: 0;
}
.settings-card .list-filter {
	margin-bottom: 16px;
}
.settings-card .list-card {
	margin-top: 0;
}
#products_page .list-overview .count,
#products_page .list-overview .sum {
	color: var(--text-secondary);
}

.form .rec_items {
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	padding: 4px 12px;
}
.form .rec_items .rec_item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 84px 110px 30px;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid var(--border-default);
	font: 400 13px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-secondary);
}
.form .rec_items .rec_item .select {
	min-width: 0;
}
.form .rec_items .rec_item .select > input {
	height: 34px;
	font-size: 13px;
}
.form .rec_items .rec_item input.rec_qty {
	height: 34px;
	text-align: right;
	font-size: 13px;
}
.form .rec_items .rec_item .rec_cost {
	text-align: right;
	white-space: nowrap;
}
.form .rec_items .rec_item .rec_remove {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	cursor: pointer;
	border-radius: var(--radius-s);
	color: var(--text-muted);
}
.form .rec_items .rec_item .rec_remove:hover {
	color: var(--danger, #ff6b6b);
}
.form .rec_items .rec_sum {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
	font: 500 13px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
.form .rec_items .rec_sum .value {
	color: var(--accent);
}
.form .rec_items .rec_sum .value.negative {
	color: var(--danger, #ff6b6b);
}
.form .rec_items .rec_empty {
	padding: 10px 0;
	font: var(--text-small);
	color: var(--text-muted);
}
.form .rec_add {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	cursor: pointer;
	font: 600 12px var(--font-body);
	color: var(--accent);
}
.form .rec_hint {
	display: block;
	margin-top: 8px;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.form .rec_hint code {
	font: var(--text-code);
	color: var(--text-secondary);
}

.form .property_list {
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	overflow: hidden;
	background: var(--surface-raised);
}
.form .property_list .property_row {
	display: grid;
	grid-template-columns: minmax(90px, .8fr) 1.6fr 34px;
	align-items: center;
	gap: 4px;
	padding: 0 4px;
	border-bottom: 1px solid var(--border-default);
}
.form .property_list .property_row:last-child {
	border-bottom: none;
}
.form .property_list .property_row input {
	min-width: 0;
	height: 38px;
	padding: 0 12px;
	background: transparent;
	border: none;
	border-radius: var(--radius-s);
	box-shadow: none;
	color: var(--text-primary);
	font: 400 14px var(--font-body);
}
.form .property_list .property_row input.property_key {
	color: var(--text-secondary);
	font: 500 13px var(--font-body);
}
.form .property_list .property_row input:focus {
	background: transparent;
	box-shadow: none;
}
.form .property_list:focus-within {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.form .property_list .property_row a {
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	justify-self: center;
	cursor: pointer;
	border-radius: var(--radius-s);
	color: var(--text-muted);
}
.form .property_list .property_row a.property_remove:hover {
	color: var(--danger, #ff6b6b);
}
.form .property_list .property_row a.property_add {
	color: var(--accent);
}

#insert_box .tabs .contents .timeline {
	max-height: 50vh;
	overflow: auto;
	padding-right: 4px;
}
#insert_box .tabs .contents .sepa_head {
	margin: 0 0 16px;
	font: var(--text-small);
	color: var(--text-muted);
}
#insert_box .form > li.disabled_by_mandate {
	opacity: .45;
	pointer-events: none;
}

#insert_box .dlg_head,
#sign_box .dlg_head {
	margin: 0 0 22px;
}
#insert_box .dlg_head h2,
#sign_box .dlg_head h2 {
	margin: 0;
	font: 600 19px/1.3 var(--font-display);
	letter-spacing: -.01em;
	color: var(--text-primary);
}
#insert_box .dlg_head .subline,
#sign_box .dlg_head .subline {
	margin: 4px 0 0;
	font: var(--text-small);
	color: var(--text-muted);
}

@media (max-width: 770px) {
	body:not(.static) aside.nav {
		top: auto;
				bottom: max(16px, env(safe-area-inset-bottom, 0px));
		left: 12px;
		right: 12px;
		width: auto;
		height: 62px;
		padding: 5px;
		box-sizing: border-box;
		border-radius: 999px;
		flex-direction: row;
		align-items: center;
		border: 1px solid var(--border-default);
		overflow: visible;
		transform: none;
		animation: none;
		transition: none;
	}
	body:not(.static) aside.nav::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		border-radius: inherit;
		background: var(--surface-glass);
		backdrop-filter: var(--blur-glass);
		-webkit-backdrop-filter: var(--blur-glass);
		pointer-events: none;
	}
	body:not(.static) aside.nav .logo {
		display: none;
	}
	body:not(.static) aside.nav nav {
		flex: 1;
		flex-direction: row;
		align-items: center;
		min-height: 0;
	}
	body:not(.static) aside.nav nav .nav_container {
		flex: 1 1 auto;
		min-width: 0;
		flex-direction: row;
	}
	body:not(.static) aside.nav nav .container {
		flex: 0 0 auto;
		padding: 0 0 0 2px;
	}
	body:not(.static) aside.nav nav ul {
		flex-direction: row;
		gap: 2px;
		width: 100%;
	}
	body:not(.static) aside.nav nav ul.primary li {
		flex: 1 1 0;
		min-width: 36px;
		height: 50px;
		display: grid;
		place-items: stretch;
		border-radius: 999px;
		transition: flex .3s cubic-bezier(.4,0,.2,1), background .2s, box-shadow .3s;
	}
	body:not(.static) aside.nav nav ul.primary li.active {
		flex: 1.6 1 0;
		background: var(--nav-active-bg);
		box-shadow: var(--nav-active-edge);
	}
	body:not(.static) aside.nav nav ul li a {
		gap: 0;
		height: 50px;
		justify-content: center;
		color: var(--text-muted);
		transition: color .2s;
	}
	body:not(.static) aside.nav nav ul.primary li.active a {
		color: var(--accent);
	}
	body:not(.static) aside.nav nav .title:not(.account_menu .title),
	body:not(.static) aside.nav nav .nav_icon .trace,
	body:not(.static) aside.nav nav ul.secondary li:not(.account) {
		display: none;
	}
		body:not(.static) aside.nav .account_menu a {
		gap: 10px;
		height: auto;
		justify-content: flex-start;
	}
	body:not(.static) aside.nav .account_menu .title {
		display: inline;
	}
		body:not(.static) aside.nav nav .nav_icon,
	body:not(.static) aside.nav nav ul li.active .nav_icon {
		width: auto;
		min-width: 0;
		height: auto;
		border: none;
		background: transparent;
		box-shadow: none;
		color: inherit;
		animation: none;
	}
	body:not(.static) aside.nav nav ul.primary .nav_icon svg {
		width: 21px;
		height: 21px;
	}
	body:not(.static) aside.nav li.account .account_wrap {
		display: grid;
		place-items: center;
		width: 50px;
		height: 50px;
		border-radius: 50%;
		transition: box-shadow .3s;
	}
	body:not(.static) aside.nav li.account .account_toggle {
		width: 50px;
		height: 50px;
	}
		body:not(.static) aside.nav li.account .nav_icon .avatar {
		width: 32px;
		min-width: 32px;
		height: 32px;
		font-size: 11px;
		transition: box-shadow .3s;
	}
		body:not(.static) aside.nav li.account .account_wrap.open,
	body:not(.static) aside.nav li.account.current .account_wrap {
		background: var(--nav-active-bg);
		box-shadow: var(--nav-active-edge);
	}
	body:not(.static) aside.nav li.account .account_wrap.open .avatar,
	body:not(.static) aside.nav li.account .account_toggle:active .avatar {
		box-shadow: 0 0 10px rgba(var(--accent-rgb),.25);
	}
		body:not(.static) aside.nav .account_menu {
		position: fixed;
		left: auto;
		right: 12px;
		bottom: calc(max(16px, env(safe-area-inset-bottom, 0px)) + 74px);
	}
	body.signed_in:not(.static) .page,
	body.signed_in.nav-collapsed:not(.static) .page {
		margin-left: 0;
		padding-bottom: calc(96px + max(16px, env(safe-area-inset-bottom, 0px)));
	}
	body:not(.static) .page > section {
		padding: 20px 16px 20px 16px;
	}
	body:not(.static) .page footer {
		padding: 16px;
	}
		body:not(.static) .agent_fab {
		right: 16px;
		top: calc(24px + env(safe-area-inset-top, 0px));
		bottom: auto;
	}
		body.signed_in:not(.static) .page > header {
		display: block;
		position: static;
		padding: calc(24px + env(safe-area-inset-top, 0px)) 74px 0 16px;
		background: transparent;
		border-bottom: none;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
	body.signed_in:not(.static) .page > header .account {
		display: none;
	}
	body.signed_in:not(.static) .page > header .logo .app_icon {
		width: 42px;
		min-width: 42px;
		height: 42px;
	}
	body.signed_in:not(.static) .page > header .wordmark {
		font-size: 22px;
	}
}

.mail_split .anchor_nav.mail_accounts {
	min-width: 220px;
	max-width: 220px;
}
.mail_accounts .mail_account {
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-left: 2px solid var(--border-default);
}
.mail_accounts .mail_account.active {
	border-left-color: var(--accent);
}
.mail_accounts .mail_account > .anchor {
	border-left: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	overflow: hidden;
}
.mail_accounts .mail_account > .anchor .label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.mail_accounts .count,
.mail_folder_pick .pill {
	display: inline-block;
	padding: 2px 7px;
	border-radius: 999px;
	background: var(--accent);
	color: var(--on-accent, #0A0C0B);
	font: 600 10px/1.3 var(--font-body);
	flex-shrink: 0;
}
.mail_accounts .count[hidden] {
	display: none;
}
.mail_accounts .count.muted {
	background: var(--border-strong);
	color: var(--text-secondary);
}
.mail_accounts .mail_folders {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.mail_accounts .mail_folders .folder {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 6px 12px 6px 30px;
	font: 500 12px/1.3 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
	white-space: nowrap;
	overflow: visible;
	transition: color .15s;
}
.mail_accounts .mail_folders .folder:before {
	content: '';
	position: absolute;
	left: 12px;
	top: -2px;
	bottom: 0;
	width: 1px;
	background: var(--border-default);
	pointer-events: none;
}
.mail_accounts .mail_folders .folder:last-child:before {
	bottom: 50%;
}
.mail_accounts .mail_folders .folder:after {
	content: '';
	position: absolute;
	left: 12px;
	top: 50%;
	width: 10px;
	height: 1px;
	background: var(--border-default);
	pointer-events: none;
}
.mail_accounts .mail_folders .folder:hover {
	color: var(--text-primary);
}
.mail_accounts .mail_folders .folder.active {
	color: var(--accent);
	font-weight: 600;
}
.mail_accounts .mail_folders .folder .label {
	overflow: hidden;
	text-overflow: ellipsis;
}
.mail_accounts .mail_folder_state {
	display: block;
	padding: 6px 12px 6px 30px;
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
.mail_accounts .mail_folder_state.error {
	color: var(--warning);
	white-space: normal;
}
.mail_accounts .anchor.add {
	margin-top: 4px;
}
.mail_folder_pick {
	display: none;
	margin-bottom: 14px;
}
.mail_folder_pick .select {
	width: 100%;
}
.mail_folder_pick .select > input {
	width: 100%;
}
.mail_grid {
	display: grid;
	grid-template-columns: minmax(300px, 1fr) 2fr;
	gap: 20px;
	align-items: stretch;
}
.mail_list_card,
.mail_preview_card {
	display: flex;
	flex-direction: column;
	height: calc(100vh - 210px);
	min-height: 560px;
	padding: 0;
	overflow: hidden;
}
.mail_list_head {
	padding: 14px 16px 10px;
	border-bottom: 1px solid var(--border-strong);
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.mail_search {
	position: relative;
	display: flex;
}
.mail_search input {
	width: 100%;
	height: 36px;
	padding: 0 12px 0 34px;
	font-size: 13px;
}
.mail_search .icon {
	position: absolute;
	left: 11px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--text-muted);
	pointer-events: none;
}
.mail_list_tools {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 28px;
}
.mail_list_tools .mail_selected {
	font: 500 12px/1 var(--font-body);
	color: var(--text-muted);
}
.mail_list_tools .spacer {
	flex: 1;
}
.mail_list_tools .mail_bulk {
	display: inline-flex;
	gap: 4px;
	align-items: center;
}
.mail_list_tools .mail_bulk[hidden] {
	display: none;
}
.mail_list_tools .mini_btn,
.mail_attachment .mini_btn {
	width: 28px;
	height: 28px;
	display: inline-grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
}
.mail_list_tools .mini_btn:hover,
.mail_attachment .mini_btn:hover {
	color: var(--accent);
}
.mail_list_tools .mini_btn.danger:hover {
	color: var(--danger, #ff6b6b);
}
.mail_list {
	flex: 1;
	overflow: auto;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mail_list .mail_state {
	padding: 40px 16px;
	text-align: center;
	font: var(--text-body);
	color: var(--text-muted);
}
.mail_list .mail_state.error {
	color: var(--warning);
}
.mail_list .mail_state p {
	margin: 0 0 16px;
}
.mail_list .mail_state .button {
	margin: 0 auto;
}
.mail_row {
	display: grid;
	grid-template-columns: 22px 1fr auto;
	gap: 10px;
	padding: 11px 14px 11px 12px;
	border-bottom: 1px solid var(--border-default);
	border-left: 2px solid transparent;
	cursor: pointer;
	transition: background .12s;
}
.mail_row:hover {
	background: rgba(var(--accent-rgb),.04);
}
.mail_row.current {
	background: rgba(var(--accent-rgb),.07);
	border-left-color: var(--accent);
}
.mail_row .mail_check {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding-top: 3px;
}
.mail_row .mail_check label {
	margin: 0;
}
.mail_row .unread_dot {
	display: none;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 6px rgba(var(--accent-rgb),.6);
}
.mail_row.unread .unread_dot {
	display: block;
}
.mail_row .mail_body {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.mail_row .mail_from {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-primary);
}
.mail_row .mail_from .name,
.mail_row .mail_subject,
.mail_row .mail_excerpt {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mail_row .mail_subject {
	font: 400 13px/1.3 var(--font-body);
	color: var(--text-secondary);
}
.mail_row.unread .mail_from,
.mail_row.unread .mail_subject {
	font-weight: 600;
	color: var(--text-primary);
}
.mail_row .mail_excerpt {
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-muted);
}
.flag_dot {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
}
.mail_row .mail_meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
}
.mail_row .mail_date {
	font: 400 11px/1 var(--font-body);
	color: var(--text-muted);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.mail_row .mail_clip {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font: 500 11px/1 var(--font-body);
	color: var(--text-muted);
}
.mail_row .mail_chevron {
	display: none;
	color: var(--text-muted);
}
.mail_row .mail_chevron .icon {
	transform: rotate(-90deg);
}
.mail_more {
	padding: 10px 16px;
	border-top: 1px solid var(--border-default);
	text-align: center;
}
.mail_more[hidden] {
	display: none;
}
.mail_preview_card .mail_mobile_head {
	display: none;
}
.mail_preview {
	flex: 1;
	min-height: 0;
	overflow: auto;
	display: flex;
	flex-direction: column;
}
.mail_preview .empty {
	flex: 1;
	display: grid;
	place-items: center;
	margin: 0;
	padding: 40px 16px;
	font: var(--text-body);
	color: var(--text-muted);
}
.mail_preview .empty.error {
	color: var(--warning);
}
.mail_head {
	padding: 16px 20px;
	border-bottom: 1px solid var(--border-strong);
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.mail_toolbar {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
}
.mail_toolbar .spacer {
	flex: 1;
}
.mail_toolbar .tool {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 34px;
	padding: 0 12px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	font: 500 13px/1 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
	white-space: nowrap;
	transition: border-color .15s, color .15s, box-shadow .15s;
}
.mail_toolbar .tool:hover {
	border-color: var(--accent);
	color: var(--accent);
}
.mail_toolbar .tool.danger:hover {
	border-color: var(--danger, #ff6b6b);
	color: var(--danger, #ff6b6b);
}
.mail_flag_wrap {
	position: relative;
	display: inline-flex;
}
.mail_flag_menu {
	position: absolute;
	right: 0;
	top: calc(100% + 6px);
	width: 180px;
	padding: 6px;
	border-radius: var(--radius-m);
	background: var(--popover-bg);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	z-index: 70;
}
.mail_flag_menu a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 10px;
	border-radius: var(--radius-s);
	font: 500 13px/1.2 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
}
.mail_flag_menu a:hover {
	background: rgba(var(--accent-rgb),.07);
}
.mail_flag_menu a.on {
	color: var(--text-primary);
}
.mail_flag_menu a .dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex-shrink: 0;
}
.mail_flag_menu a .check {
	margin-left: auto;
	color: var(--accent);
	display: inline-grid;
}
.mail_flag_menu a.remove {
	margin-top: 4px;
	border-top: 1px solid var(--border-default);
	border-radius: 0;
	color: var(--text-muted);
}
.mail_head_row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.mail_head_text {
	min-width: 0;
}
.mail_head_text h2 {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	font: 600 18px/1.3 var(--font-display);
	letter-spacing: -.01em;
	color: var(--text-primary);
	word-break: break-word;
}
.mail_head_text h2 .flag_dot {
	width: 9px;
	height: 9px;
}
.mail_head_text p {
	margin: 6px 0 0;
	font: var(--text-small);
	color: var(--text-secondary);
	line-height: 1.5;
}
.mail_head_text p .from {
	color: var(--text-primary);
	font-weight: 500;
}
.mail_head_text p .to {
	color: var(--text-muted);
}
.mail_head_date {
	font: var(--text-small);
	color: var(--text-muted);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.mail_invite {
	display: flex;
	gap: 14px;
	margin: 14px 20px;
	padding: 16px 18px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-l);
	background: var(--surface-raised);
}
.mail_invite_icon {
	flex: none;
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-m);
	background: color-mix(in srgb, var(--accent) 14%, transparent);
	color: var(--accent);
}
.mail_invite_icon svg {
	width: 20px;
	height: 20px;
}
.mail_invite_body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.mail_invite_title {
	display: flex;
	align-items: center;
	gap: 10px;
	font: 600 15px/1.35 var(--font-body);
	color: var(--text-primary);
}
.mail_invite.cancelled .mail_invite_title b {
	text-decoration: line-through;
	color: var(--text-secondary);
}
.mail_invite_mark {
	padding: 2px 8px;
	border-radius: 999px;
	font: 600 11px/1.4 var(--font-body);
}
.mail_invite_mark.danger {
	color: var(--danger);
	background: color-mix(in srgb, var(--danger) 12%, transparent);
}
.mail_invite_meta {
	margin: 0;
	font: 400 13px/1.45 var(--font-body);
	color: var(--text-secondary);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.mail_invite_meta:empty {
	display: none;
}
.mail_invite_meta a {
	color: var(--accent);
}
.mail_invite_overlap {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 6px 0 0;
	font: 500 13px/1.4 var(--font-body);
	color: var(--warning);
}
.mail_invite_overlap svg {
	flex: none;
}
.mail_invite_actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
}
.mail_invite_actions .button.busy {
	pointer-events: none;
	opacity: .6;
}
.mail_invite_done {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 600 13px/1.4 var(--font-body);
	color: var(--text-primary);
}
.mail_invite_done svg {
	color: var(--accent);
}
.mail_invite_change {
	font: 500 13px/1.4 var(--font-body);
	color: var(--accent);
	cursor: pointer;
}
.mail_invite_hint {
	margin: 8px 0 0;
	font: 400 12px/1.8 var(--font-body);
	color: var(--text-muted);
}
.mail_invite_calrow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 6px;
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
.mail_invite_error {
	margin: 6px 0 0;
	font: 500 12px/1.4 var(--font-body);
	color: var(--danger);
}
@media (max-width: 640px) {
	.mail_invite {
		margin: 12px;
		padding: 14px;
	}
	.mail_invite_icon {
		display: none;
	}
}
.mail_attachments {
	padding: 14px 20px;
	border-bottom: 1px solid var(--border-default);
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.mail_attachments .label,
.mail_book .label,
.mail_book_chips .label {
	font: 500 12px/1.2 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.mail_attachment {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 12px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.mail_attachment .kind {
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	border: 1px solid var(--border-strong);
	font: 700 9px/1 var(--font-body);
	letter-spacing: .04em;
	color: var(--text-muted);
	flex-shrink: 0;
}
.mail_attachment .kind.pdf { color: var(--danger, #ff6b6b); }
.mail_attachment .kind.doc { color: #0A84FF; }
.mail_attachment .kind.xls { color: var(--accent); }
.mail_attachment .kind.img { color: #BF5AF2; }
.mail_attachment .info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.mail_attachment .info .name {
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mail_attachment .info .size {
	font: 400 11px/1.3 var(--font-body);
	color: var(--text-muted);
}
.mail_attachment .mail_book {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 30px;
	padding: 0 10px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-s);
	font: 500 12px/1 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
	white-space: nowrap;
	transition: border-color .15s, color .15s;
}
.mail_attachment .mail_book:hover {
	border-color: var(--accent);
	color: var(--accent);
}
.mail_attachment .booked {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 30px;
	padding: 0 10px;
	border-radius: var(--radius-s);
	border: 1px solid var(--accent);
	background: rgba(var(--accent-rgb),.12);
	font: 600 11px/1 var(--font-body);
	letter-spacing: .02em;
	color: var(--accent);
	white-space: nowrap;
	text-decoration: none;
	cursor: help;
}
.mail_row[draggable="true"] {
	cursor: default;
}
.mail_row.dragging {
	opacity: .45;
}
.mail_accounts .mail_folders .folder.drop {
	color: var(--accent);
	background: rgba(var(--accent-rgb),.12);
	box-shadow: inset 0 0 0 1px var(--accent);
}
body.mail_dragging .mail_accounts .mail_folders .folder {
	transition: background .1s, box-shadow .1s;
}
.mail_drag_ghost {
	position: fixed;
	top: -100px;
	left: -100px;
	padding: 8px 12px;
	border-radius: var(--radius-s);
	background: var(--surface-raised);
	border: 1px solid var(--accent);
	box-shadow: var(--glow-accent);
	font: 600 12px/1 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	pointer-events: none;
}
.mail_content {
	padding: 20px;
}
.mail_frame {
	display: block;
	width: 100%;
	min-height: 120px;
	border: 0;
	border-radius: var(--radius-m);
	background: #fff;
	overflow: hidden;
}
.mail_text {
	margin: 0;
	padding: 24px 28px;
	border-radius: var(--radius-m);
	background: #fff;
	white-space: pre-wrap;
	word-break: break-word;
	font: 400 14px/1.6 var(--font-body);
	color: #1b1f1e;
}
.mail_att_li[hidden] {
	display: none !important;
}
.mail_att_row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
.mail_att_chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 260px;
	padding: 4px 6px 4px 4px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	font: 500 12px/1.2 var(--font-body);
	color: var(--text-primary);
}
.mail_att_chip .kind {
	flex: none;
	min-width: 26px;
	height: 22px;
	padding: 0 4px;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-s);
	font: 700 9px/1 var(--font-body);
	letter-spacing: .04em;
	color: var(--text-secondary);
}
.mail_att_chip .name {
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mail_att_chip .size {
	flex: none;
	color: var(--text-muted);
}
.mail_att_chip .mail_attach_remove {
	flex: none;
	width: 20px;
	height: 20px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	font-size: 15px;
	color: var(--text-muted);
	cursor: pointer;
}
.mail_att_chip .mail_attach_remove:hover {
	color: var(--accent);
}
.mail_att_sum {
	font: 500 12px/1.2 var(--font-body);
	color: var(--text-muted);
}
.mail_att_sum.over {
	color: var(--warning);
}
#insert_box .dlg_head:has(.mail_attach_head) {
	position: relative;
	padding-right: 48px;
}
.mail_attach_head {
	position: absolute;
	top: 0;
	right: 0;
	width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	color: var(--text-secondary);
	cursor: pointer;
	transition: border-color .15s, color .15s;
}
.mail_attach_head:hover {
	border-color: var(--accent);
	color: var(--accent);
}
.mail_attach_head svg {
	width: 16px;
	height: 16px;
}
#compose_mail_box {
	position: relative;
}
.mail_drop_zone {
	position: absolute;
	inset: 0;
	z-index: 20;
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border: 2px dashed var(--accent);
	border-radius: var(--radius-l);
	background: color-mix(in srgb, var(--surface-card) 92%, transparent);
	font: 600 15px/1.2 var(--font-body);
	color: var(--accent);
	pointer-events: none;
}
.mail_drop_zone svg {
	width: 26px;
	height: 26px;
}
#compose_mail_box.mail_dropping .mail_drop_zone {
	display: flex;
}
@media (max-width: 640px) {
	.mail_att_chip {
		max-width: 180px;
	}
}
#insert_box .center .mail_save_draft,
#insert_box .center .mail_book_foot {
	margin-right: auto;
	font: 600 14px/1.2 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
	align-self: center;
}
#insert_box .center .mail_book_foot {
	font-weight: 400;
	font-size: 13px;
	cursor: default;
}
#insert_box .center .mail_save_draft:hover {
	color: var(--accent);
}
.mail_oauth_action {
	display: block;
	margin-top: 12px;
}
.mail_oauth_box {
	margin-top: 4px;
	padding: 14px 16px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.mail_oauth_box p {
	margin: 0;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.mail_oauth_box.done {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.mail_oauth_box.done p,
.mail_oauth_box.error p {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--text-primary);
}
.mail_oauth_box.done p svg {
	color: var(--accent);
	flex-shrink: 0;
}
.mail_oauth_box.error {
	border-color: var(--warning);
}
.mail_oauth_row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 14px;
	align-items: stretch;
}
.mail_oauth_code {
	position: relative;
	display: flex;
	align-items: center;
	height: 40px;
	padding: 0 40px 0 12px;
	border-radius: var(--radius-m);
	background: var(--surface-page);
	border: 1px solid var(--border-strong);
	color: var(--text-primary);
	overflow: hidden;
}
.mail_oauth_code code {
	font: 500 15px/1 var(--font-body);
	letter-spacing: .14em;
	white-space: nowrap;
}
.mail_oauth_copy {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	color: var(--text-muted);
	cursor: pointer;
}
.mail_oauth_copy:hover,
.mail_oauth_copy.done {
	color: var(--accent);
}
@media (max-width: 770px) {
	.mail_oauth_row {
		grid-template-columns: 1fr;
	}
}
.mail_oauth_wait {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--text-muted) !important;
}
.mail_oauth_wait .loader {
	flex-shrink: 0;
}
.mail_book_chips {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}
.mail_book_chips .chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 28px;
	padding: 0 12px;
	border-radius: 999px;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	font: 600 11px/1 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
}
.mail_book_chips .chip.on {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.08);
	color: var(--accent);
}
.mail_book {
	display: flex;
	gap: 24px;
	min-height: 0;
}
.mail_book_accounts {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 190px;
	flex-shrink: 0;
}
.mail_book_accounts .label {
	padding: 0 12px 8px;
}
.mail_book_accounts .acct {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 12px;
	border-left: 2px solid var(--border-default);
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mail_book_accounts .acct:hover {
	color: var(--text-primary);
}
.mail_book_accounts .acct.active {
	border-left-color: var(--accent);
	color: var(--accent);
	font-weight: 600;
}
.mail_book_main {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mail_book_rows {
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	overflow: auto;
	max-height: 360px;
}
.mail_book_state {
	padding: 28px 16px;
	text-align: center;
	font: var(--text-small);
	color: var(--text-muted);
}
.mail_book_row {
	display: grid;
	grid-template-columns: 22px 84px 1fr auto 26px;
	align-items: center;
	gap: 12px;
	padding: 9px 12px;
	border-bottom: 1px solid var(--border-default);
	cursor: pointer;
	font-weight: 400;
}
.mail_book_row:hover {
	background: rgba(var(--accent-rgb),.03);
}
.mail_book_row.on {
	background: rgba(var(--accent-rgb),.06);
}
.mail_book_row input[type="checkbox"] {
	width: 15px;
	height: 15px;
	margin: 0;
	accent-color: var(--accent);
	cursor: pointer;
}
.mail_book_row .date {
	font: 400 13px/1.3 var(--font-body);
	color: var(--text-secondary);
	font-variant-numeric: tabular-nums;
}
.mail_book_row .text {
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.mail_book_row .text .name,
.mail_book_row .text .desc {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mail_book_row .text .name {
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-primary);
}
.mail_book_row .text .desc {
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-muted);
}
.mail_book_row .amount {
	font: 500 13px/1.3 var(--font-body);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.mail_book_row .amount.pos { color: var(--accent); }
.mail_book_row .amount.neg { color: var(--danger, #ff6b6b); }
.mail_book_row .has {
	display: grid;
	place-items: center;
	color: var(--warning);
}
.mail_book_row .has.yes {
	color: var(--accent);
}
#insert_box .form > li .field .mail_book {
	margin-top: 4px;
}
#insert_box .form > li .field .mail_book_row {
	display: grid;
	grid-template-columns: 22px 84px 1fr auto 26px;
	align-items: center;
	gap: 12px;
	padding: 9px 12px;
	width: auto;
}
#insert_box .form > li .field .mail_book_row input[type="checkbox"] {
	width: 15px;
	height: 15px;
	min-width: 15px;
	padding: 0;
	margin: 0;
	border-radius: 4px;
}
#insert_box .form > li .field .mail_book_row .text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
#insert_box .form > li .field .mail_book_accounts .acct {
	width: auto;
}
#insert_box .form > li .field .mail_book_main .mail_search input {
	width: 100%;
}
#insert_box.wide .box,
body #insert_box .box:has(.mail_book) {
	width: 900px;
}
@media (max-width: 770px) {
	body:not(.static) .mail_split {
		display: flex;
		flex-direction: column;
		gap: 14px;
	}
	body:not(.static) .mail_split .anchor_nav.mail_accounts {
		max-width: none;
		flex-direction: row;
	}
	body:not(.static) .mail_accounts .mail_account {
		flex-direction: row;
		flex-shrink: 0;
	}
	body:not(.static) .mail_accounts .mail_folders,
	body:not(.static) .mail_accounts .anchor.add {
		display: none;
	}
	body:not(.static) .mail_folder_pick {
		display: block;
	}
	body:not(.static) .mail_grid {
		display: block;
	}
	body:not(.static) .mail_list_card {
		min-height: 0;
		max-height: none;
	}
	body:not(.static) .mail_row .mail_chevron {
		display: grid;
		place-items: center;
	}
	body:not(.static) .mail_preview_card {
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
				bottom: 0;
		padding-bottom: calc(78px + max(16px, env(safe-area-inset-bottom, 0px)));
		box-sizing: border-box;
		z-index: 590;
		display: none;
		min-height: 0;
				height: auto;
		max-height: none;
		border-radius: 0;
		border: none;
		background: var(--surface-page);
	}
	body:not(.static) .mail_preview_card.open {
		display: flex;
		animation: bc-slide-in .26s cubic-bezier(.3,.9,.35,1) both;
	}
	body:not(.static) .mail_preview_card.open.closing {
		animation: bc-slide-out .26s cubic-bezier(.3,.9,.35,1) both;
	}
	body:not(.static) .mail_preview_card .mail_mobile_head {
		display: flex;
		align-items: center;
		gap: 6px;
		padding: calc(10px + env(safe-area-inset-top, 0px)) 12px 10px;
		border-bottom: 1px solid var(--border-default);
		background: var(--surface-glass);
		backdrop-filter: var(--blur-glass);
		-webkit-backdrop-filter: var(--blur-glass);
	}
	body:not(.static) .mail_mobile_head .mail_back {
		display: inline-flex;
		align-items: center;
		gap: 4px;
		padding: 6px 4px;
		font: 600 14px/1 var(--font-body);
		color: var(--accent);
		cursor: pointer;
	}
	body:not(.static) .mail_mobile_head .mail_back .icon-back {
		transform: rotate(90deg);
	}
	body:not(.static) .mail_mobile_head .mail_mobile_from {
		flex: 1;
		text-align: center;
		font: 600 13px/1.2 var(--font-body);
		color: var(--text-muted);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	body:not(.static) .mail_mobile_head .mail_mobile_space {
		width: 70px;
	}
	body:not(.static) .mail_head,
	body:not(.static) .mail_attachments,
	body:not(.static) .mail_content {
		padding-left: 16px;
		padding-right: 16px;
	}
	body:not(.static) .mail_book {
		flex-direction: column;
	}
	body:not(.static) .mail_book_accounts {
		flex-direction: row;
		overflow-x: auto;
		gap: 8px;
	}
}

.amex_dialog p,
.amex_dialog li {
	font: var(--text-body);
	color: var(--text-secondary);
	margin: 0;
}
.dlg_x,
.amex_dialog .amex_x {
	position: absolute;
	right: 20px;
	top: 20px;
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
}
.dlg_x:hover,
.amex_dialog .amex_x:hover {
	color: var(--text-primary);
	background: var(--surface-raised);
}
.amex_dialog h3 {
	margin: 22px 0 12px;
	font: 600 12px/1.4 var(--font-body);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.amex_dialog ol {
	list-style: none;
	counter-reset: amex_step;
	margin: 0;
	padding: 20px 0;
	display: flex;
	flex-direction: column;
}
.amex_dialog ol li {
	counter-increment: amex_step;
	position: relative;
	padding: 0 0 30px 40px;
	min-height: 28px;
}
.amex_dialog ol li:last-child {
	padding-bottom: 0;
}
.amex_dialog ol li:before {
	content: counter(amex_step);
	position: absolute;
	left: 0;
	top: -2px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 1px solid var(--accent);
	background: var(--surface-page);
	display: grid;
	place-items: center;
	font: 600 12px/1 var(--font-body);
	color: var(--accent);
}
.amex_dialog ol li:not(:last-child):after {
	content: '';
	position: absolute;
	left: 13px;
	top: 26px;
	bottom: 2px;
	width: 1px;
	background: var(--border-default);
}
.amex_dialog code {
	font: 400 13px/1.4 var(--font-mono, monospace);
	color: var(--text-primary);
}
.amex_dialog .amex_actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 12px;
	margin-top: 24px;
}
.amex_dialog .amex_actions .button {
	width: 100%;
}
@media (max-width: 770px) {
	.amex_dialog .amex_actions {
		grid-template-columns: minmax(0, 1fr);
	}
}

.mail-account-settings {
	margin-top: 24px;
}
.mail-account-settings > .settings-card > h2 {
	margin-bottom: 10px;
}
.mail-account-settings > .settings-card > .hint {
	margin-bottom: 20px;
}
.mail-account-settings .data,
.settings-connect .data {
	max-width: none;
	gap: 0;
}
.list-view.mail_accounts li p,
.list-legend.for-mail-accounts p {
	width: 24%;
}
.list-view.mail_accounts li p[data-id="email"],
.list-legend.for-mail-accounts p[data-id="email"] {
	width: 32%;
}
.list-view.mail_accounts li p[data-id="name"],
.list-legend.for-mail-accounts p[data-id="name"] {
	width: 22%;
}
.list-view.mail_accounts li p[data-id="outgoing"],
.list-legend.for-mail-accounts p[data-id="outgoing"] {
	width: 16%;
}
.list-view.mail_accounts li p[data-id="select"],
.list-legend.for-mail-accounts p[data-id="select"] {
	width: 40px;
	flex: none;
}
.list-legend.for-mail-accounts p.table-options {
	width: auto;
}
.mail_outgoing {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--accent);
	font-weight: 600;
}
.mail_outgoing_cell .muted {
	color: var(--text-muted);
}

.mail_provider_list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.mail_pick_btn {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 14px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	cursor: pointer;
	text-align: left;
	color: var(--text-muted);
	transition: border-color .15s, box-shadow .15s;
}
.mail_pick_btn:hover {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
	text-decoration: none;
}
.mail_pick_btn.wide {
	grid-column: 1 / -1;
}
.mail_pick_btn .cal_logo {
	width: 34px;
	height: 34px;
	font-size: 15px;
}
.mail_pick_btn .text {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.mail_pick_btn .name {
	font: 600 14px/1.3 var(--font-body);
	color: var(--text-primary);
}
.mail_pick_btn .hint {
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
.mail_pick_btn .mail_logo_gmx {
	font-size: 11px;
	letter-spacing: -.02em;
}
#insert_box .form > li.mail_pick_head {
	display: flex;
	align-items: center;
	gap: 12px;
}
.mail_pick_head .cal_logo {
	width: 34px;
	height: 34px;
	font-size: 15px;
}
.mail_pick_head .name {
	font: 600 14px/1.3 var(--font-body);
	color: var(--text-primary);
}
.mail_pick_head .mail_pick_back {
	margin-left: auto;
	font: 500 12px/1.3 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
}
#insert_box .form > li.mail_pick_fixed {
	display: none;
}
@media (max-width: 560px) {
	.mail_provider_list {
		grid-template-columns: 1fr;
	}
}
.mail_book_nav {
	display: flex;
	flex-direction: column;
	min-width: 190px;
	flex-shrink: 0;
}
.mail_book_ablage {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding-top: 18px;
}
.mail_book_ablage .label {
	padding: 0 12px 8px;
}
.mail_book_ablage .acct {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border-left: 2px solid var(--border-default);
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
	text-decoration: none;
}
.mail_book_ablage .acct svg {
	width: 14px;
	height: 14px;
	flex: none;
}
.mail_book_ablage .acct:hover {
	color: var(--text-primary);
	text-decoration: none;
}
.mail_book_ablage .acct.active {
	border-left-color: var(--accent);
	color: var(--accent);
	font-weight: 600;
}
.mail_book_files[hidden],
.mail_book_main[hidden] {
	display: none;
}
.mail_book_path {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	min-height: 36px;
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-muted);
}
.mail_book_path a {
	color: var(--text-muted);
	cursor: pointer;
	text-decoration: none;
}
.mail_book_path a:hover {
	color: var(--accent);
	text-decoration: none;
}
.mail_book_path .here {
	font-weight: 600;
	color: var(--text-primary);
}
.mail_book_box {
	display: flex;
	flex-direction: column;
	max-height: 360px;
	overflow: auto;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.mail_book_tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
	gap: 4px;
	padding: 12px;
}
.mail_book_tiles .tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 16px 8px 12px;
	border: 1px solid transparent;
	border-radius: var(--radius-m);
	cursor: pointer;
	text-decoration: none;
}
.mail_book_tiles .tile:hover {
	background: rgba(var(--accent-rgb), .05);
	text-decoration: none;
}
.mail_book_tiles .tile .sym {
	height: 56px;
	display: flex;
	align-items: flex-end;
}
.mail_book_tiles .tile .name {
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	text-align: center;
	font: 500 13px/1.35 var(--font-body);
	color: var(--text-primary);
}
.mail_book_tiles .tile .n {
	font: 400 11px/1.3 var(--font-body);
	color: var(--text-muted);
}
.mail_book_list {
	padding: 0 12px 8px;
}
.mail_book_list .file {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 4px;
	border-top: 1px solid var(--border-default);
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-muted);
}
.mail_book_list .file svg {
	width: 12px;
	height: 12px;
	flex: none;
}
.mail_book_list .file .name {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	color: var(--text-secondary);
}
.mail_book_list .file .date {
	font-variant-numeric: tabular-nums;
}
.mail_book_info {
	margin-top: auto;
	padding: 10px 16px;
	border-top: 1px solid var(--border-default);
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-muted);
}
#insert_box .center .mail_book_foot.error {
	color: var(--danger);
}
#insert_box .good svg {
	margin-right: 6px;
	vertical-align: -3px;
}
.sn_slot .mail_accounts .mail_account {
	border-left: none;
}
.sn_slot .mail_accounts .mail_account[hidden],
.sn_slot .mail_accounts .mail_account > .anchor.account {
	display: none;
}
.sn_slot .mail_accounts .mail_folders {
	gap: 3px;
}
.sn_slot .mail_accounts .mail_folders .folder {
	padding: 7px 12px;
	border-left: 2px solid var(--border-default);
	font: 500 13px/1.3 var(--font-body);
}
.sn_slot .mail_accounts .mail_folders .folder.active {
	border-left-color: var(--accent);
}
.sn_slot .mail_accounts .mail_folders .folder:before,
.sn_slot .mail_accounts .mail_folders .folder:after {
	display: none;
}
.sn_slot .mail_accounts .mail_folders .count {
	padding: 0;
	background: none;
	color: var(--text-muted);
	font: 500 12px var(--font-body);
	font-variant-numeric: tabular-nums;
}
.sn_slot .mail_accounts .mail_folders .folder.active .count {
	color: var(--accent);
}
.mail_bar {
	position: relative;
	z-index: 20;
}
.mail_bar .spacer {
	flex: 1;
}
.list-filter .mail_account_pick .select:not(.pill),
.mail_account_pick .select > input {
	width: 280px;
	max-width: 100%;
}
.mail_account_pick .select li p {
	display: flex;
	align-items: center;
	gap: 8px;
}
.mail_account_pick .select li .label {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mail_account_pick .select li .count {
	font: 600 11px var(--font-body);
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
}
.mail_account_pick .select li .count[hidden] {
	display: none;
}
.mail_account_pick .select li .mail_pick_check {
	display: none;
	color: var(--accent);
}
.mail_account_pick .select li.current p {
	color: var(--accent);
	font-weight: 600;
}
.mail_account_pick .select li.current .mail_pick_check {
	display: flex;
}
.mail_account_pick .select li.mail_pick_add {
	margin-top: 4px;
	padding-top: 4px;
	border-top: 1px solid var(--border-default);
}
.mail_account_pick .select li.mail_pick_add p {
	gap: 6px;
	color: var(--text-muted);
}
@media (max-width: 770px) {
	body:not(.static) .sn_slot .mail_accounts {
		display: none;
	}
	body:not(.static) .mail_account_pick,
	body:not(.static) .list-filter .mail_account_pick .select:not(.pill),
	body:not(.static) .mail_account_pick .select > input {
		flex: 1;
		width: 100%;
	}
	body:not(.static) .mail_bar .spacer {
		display: none;
	}
}
#bank_settings {
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-width: 760px;
}
#bank_settings .bank_notices {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 16px;
}
#bank_settings .bank_notices[hidden],
#bank_settings .bank_empty[hidden],
#bank_settings .bank_list[hidden] {
	display: none;
}
.bank_line {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding: 10px 14px;
	border-radius: var(--radius-m);
	border: 1px solid rgba(245,185,80,.45);
	background: rgba(245,185,80,.1);
	font: 500 13px/1.45 var(--font-body);
	color: var(--warning);
}
.bank_line > span {
	flex: 1 1 220px;
}
.bank_line.accent {
	border-color: rgba(var(--accent-rgb),.45);
	background: rgba(var(--accent-rgb),.1);
	color: var(--accent);
}
.bank_line.danger {
	border-color: rgba(255,69,58,.45);
	background: rgba(255,69,58,.1);
	color: var(--danger);
}
.bank_line.quiet {
	margin-bottom: 16px;
	border-color: var(--border-default);
	background: var(--surface-glass);
	font-weight: 400;
	color: var(--text-secondary);
}
.bank_line.quiet > svg {
	color: var(--warning);
}
.bank_line_btn {
	flex-shrink: 0;
	padding: 5px 12px;
	border: 1px solid currentColor;
	border-radius: var(--radius-s);
	font: 600 12px var(--font-body);
	color: inherit;
	white-space: nowrap;
	cursor: pointer;
}
.bank_line_btn:hover {
	text-decoration: none;
	color: inherit;
	background: rgba(255,255,255,.04);
}
#bank_settings .bank_empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 34px 16px;
	text-align: center;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-m);
	font: 500 14px var(--font-body);
	color: var(--text-secondary);
}
#bank_settings .bank_empty_icon {
	color: var(--text-muted);
}
#bank_settings .bank_actions {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}
#bank_settings .bank_card {
	background: none;
	border: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-radius: 0;
}
#bank_settings .list-view.hbcis li p:not([data-id='select']),
#bank_settings .list-legend.for-hbcis p:not([data-id='select']) {
	padding-left: 12px;
	padding-right: 12px;
}
#bank_settings .list-view.hbcis > li {
	min-height: 58px;
}
#bank_settings .list-view.hbcis li p.bank_name_cell {
	display: flex;
	align-items: center;
	gap: 12px;
	height: auto;
	min-width: 0;
}
#bank_settings .bank_name_cell .bank_name_text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	min-width: 0;
}
#bank_settings .bank_name_cell b {
	font: 600 14px/20px var(--font-body);
	color: var(--text-primary);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#bank_settings .bank_name_cell .bank_name_text > span {
	font: 400 12px/16px var(--font-body);
	color: var(--text-muted);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#bank_settings .list-view.hbcis li p.muted {
	color: var(--text-muted);
}
#bank_settings .list-view.hbcis li p[data-id='status'],
#bank_settings .list-view.hbcis li p[data-id='auto'] {
	height: auto;
	white-space: normal;
	overflow: visible;
}
#bank_settings .list-view.hbcis .bank_status,
#bank_settings .list-view.hbcis .bank_pill {
	height: auto;
	min-height: 22px;
	white-space: normal;
	line-height: 1.3;
}
#bank_settings .list-view.hbcis .bank_status {
	padding: 3px 9px;
}
#bank_settings .list-view.hbcis p[data-id='art'] .bank_pill {
	white-space: nowrap;
}
.bank_pills {
	display: inline-flex;
	gap: 6px;
}
.list-overview .mails_off[hidden] {
	display: none;
}
.list-overview.privat .missing_info,
.list-overview.privat .vat_check,
.list-overview.privat .mails_off,
.list-overview:not(.privat) .privat_info {
	display: none !important;
}
.list-view.bank-receipts li[data-privat='yes']:not(.has-receipt):before {
	background: var(--ink-700);
}
.bank_pill.muted {
	color: var(--text-muted);
}
#insert_box .bank_usage_field[hidden] {
	display: none;
}
.bank_pill {
	display: inline-block;
	padding: 3px 9px;
	border-radius: 999px;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	font: 500 11px var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
}
.bank_status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 22px;
	padding: 0 9px;
	border-radius: var(--radius-s);
	border: 1px solid rgba(var(--accent-rgb),.45);
	background: rgba(var(--accent-rgb),.1);
	color: var(--accent);
	font: 600 11px var(--font-body);
	white-space: nowrap;
}
.bank_status[title] {
	cursor: help;
}
.bank_status i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
}
.bank_status.warning {
	border-color: rgba(245,185,80,.45);
	background: rgba(245,185,80,.1);
	color: var(--warning);
}
.bank_status.danger {
	border-color: rgba(255,69,58,.45);
	background: rgba(255,69,58,.1);
	color: var(--danger);
}
.bank_status.neutral {
	border-color: var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-secondary);
}
.bank_next {
	margin: -6px 0 14px;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-muted);
}
.bank_finapi_note {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px 4px;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.bank_finapi_mark {
	display: inline-flex;
	align-items: center;
	height: 16px;
	padding: 0 6px;
	border-radius: 4px;
	border: 1px dashed var(--border-strong);
	font: 700 9px var(--font-body);
	letter-spacing: .04em;
	color: var(--text-secondary);
}

#backup,
#audit_log {
	max-width: 760px;
}
#backup .settings-card .hint {
	margin-bottom: 0;
}
#audit_log {
	margin-top: 24px;
}
#audit_log .audit_filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}
#audit_log .audit_filter[hidden],
#audit_log .audit_range[hidden],
#audit_log .audit_count[hidden] {
	display: none;
}
#audit_log .audit_search {
	position: relative;
	flex: 1 1 220px;
	min-width: 0;
	display: flex;
	align-items: center;
}
#audit_log .audit_search svg {
	position: absolute;
	left: 12px;
	color: var(--text-muted);
	pointer-events: none;
}
#audit_log .audit_filter input,
#audit_log .audit_filter select {
	height: 36px;
	box-sizing: border-box;
	background: var(--surface-raised);
	color: var(--text-primary);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	font: 500 13px var(--font-body);
	outline: none;
}
#audit_log .audit_search input {
	width: 100%;
	padding: 0 12px 0 36px;
	font-weight: 400;
}
#audit_log .audit_filter select {
	flex: 0 0 auto;
	width: auto;
	min-width: 0;
	padding: 0 30px 0 12px;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238A9491' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
}
#audit_log .audit_filter input:focus,
#audit_log .audit_filter select:focus {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
#audit_log .audit_range {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--text-muted);
}
#audit_log .audit_range input {
	padding: 0 10px;
}
#audit_log .audit_loading {
	padding: 30px;
	display: grid;
	place-items: center;
	color: var(--text-muted);
}
#audit_log .audit_empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 40px 20px;
	text-align: center;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	font: 500 14px var(--font-body);
	color: var(--text-secondary);
}
#audit_log .audit_empty_icon {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-muted);
}
#audit_log .audit_reset {
	font: 500 13px var(--font-body);
	color: var(--accent);
	cursor: pointer;
}
#audit_log .audit_list {
	max-width: none;
	gap: 0;
}
#audit_log .list-view.audit_log li p:not([data-id='select']),
#audit_log .list-legend.for-audit p:not([data-id='select']) {
	width: 20%;
}
#audit_log .list-view.audit_log li p[data-id='label'],
#audit_log .list-legend.for-audit p[data-id='label'] {
	width: 32%;
}
#audit_log .list-view.audit_log li p[data-id='action'],
#audit_log .list-legend.for-audit p[data-id='action'] {
	width: 29%;
}
#audit_log .list-view.audit_log li p[data-id='source'],
#audit_log .list-legend.for-audit p[data-id='source'] {
	width: 15%;
	overflow: visible;
}
#audit_log .list-view.audit_log li p[data-id='changes'],
#audit_log .list-legend.for-audit p[data-id='changes'] {
	width: 12%;
}
#audit_log .list-view.audit_log li p:not([data-id='select']),
#audit_log .list-legend.for-audit p:not(.table-options):not([data-id='select']) {
	padding-left: 8px;
	padding-right: 8px;
}
#audit_log .list-legend.for-audit p.table-options {
	width: auto;
}
#audit_log .list-view.audit_log > li {
	cursor: pointer;
}
#audit_log .audit_when {
	color: var(--text-secondary);
	font-variant-numeric: tabular-nums;
}
#audit_log .audit_beleg {
	font: 600 14px var(--font-body);
	color: var(--text-primary);
}
#audit_log .audit_aktion {
	font: 400 13px var(--font-body);
	color: var(--text-secondary);
}
#audit_log .audit_aend {
	font: 500 12px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-muted);
}
#audit_log .audit_footer {
	display: flex;
	justify-content: center;
	margin-top: 12px;
}
#audit_log .audit_count {
	margin: 10px 0 0;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-muted);
}
#audit_log .audit_error {
	margin: 0;
	color: var(--danger);
}
@media (max-width: 720px) {
	#audit_log .audit_search,
	#audit_log .audit_period,
	#audit_log .audit_range {
		flex: 1 1 100%;
	}
	#audit_log .audit_entity,
	#audit_log .audit_source {
		flex: 1 1 40%;
	}
	#audit_log .list-view.audit_log li p[data-id='when'],
	#audit_log .list-legend.for-audit p[data-id='when'] { width: 30%; }
	#audit_log .list-view.audit_log li p[data-id='label'],
	#audit_log .list-legend.for-audit p[data-id='label'] { width: 34%; }
	#audit_log .list-view.audit_log li p[data-id='action'],
	#audit_log .list-legend.for-audit p[data-id='action'] { width: 36%; white-space: normal; }
	#audit_log .audit_when {
		font-size: 12px;
	}
}

.modal.audit_modal .box {
	width: 620px;
}
.audit_dlg {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.audit_lock {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 9px 12px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-default);
	background: var(--surface-raised);
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.audit_table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
.audit_table col.c1 { width: 26%; }
.audit_table col.c2 { width: 37%; }
.audit_table.created col.c1 { width: 34%; }
.audit_table th,
.audit_table td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--border-default);
	font: 400 13px/1.5 var(--font-body);
	text-align: left;
	vertical-align: top;
	overflow-wrap: anywhere;
	word-break: break-word;
}
.audit_table th {
	font: 600 11px var(--font-body);
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--text-muted);
	border-bottom-color: var(--border-strong);
}
.audit_table .audit_field {
	font-weight: 500;
	color: var(--text-secondary);
}
.audit_table .audit_old {
	color: var(--text-muted);
	text-decoration: line-through;
	font-variant-numeric: tabular-nums;
}
.audit_table .audit_new {
	color: var(--accent);
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}
.audit_table .audit_old.empty,
.audit_table .audit_new.empty {
	text-decoration: none;
	color: var(--text-muted);
	font-weight: 400;
}
.audit_table .audit_value {
	color: var(--text-primary);
}
.audit_zip {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
}
.audit_zip_icon {
	color: var(--accent);
}
.audit_zip_text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.audit_zip_text b {
	font: 500 13px var(--font-body);
	color: var(--text-primary);
	overflow-wrap: anywhere;
}
.audit_scope .lbl {
	display: block;
	margin-bottom: 6px;
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.audit_scope_row {
	display: flex;
	justify-content: space-between;
	padding: 8px 2px;
	border-bottom: 1px solid var(--border-default);
	font: 400 13px var(--font-body);
	color: var(--text-secondary);
}
.audit_scope_row b {
	font-weight: 400;
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
.audit_dlg_footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.audit_open {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 500 13px var(--font-body);
	color: var(--accent);
}
@media (max-width: 720px) {
	body:not(.static) .modal.audit_modal .container {
		padding: 0;
		align-items: stretch;
	}
	.modal.audit_modal .box {
		width: 100%;
		max-width: 100%;
		height: 100%;
		max-height: 100%;
		border-radius: 0;
		padding: 18px 16px 0;
		display: flex;
		flex-direction: column;
	}
	.modal.audit_modal .box_content,
	.modal.audit_modal #audit_box {
		display: flex;
		flex-direction: column;
		flex: 1;
		min-height: 0;
	}
	.modal.audit_modal .audit_dlg {
		flex: 1;
		min-height: 0;
		overflow: auto;
	}
	.modal.audit_modal .audit_dlg_footer {
		position: sticky;
		bottom: 0;
		margin: auto -16px 0;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
		background: var(--modal-bg);
		border-top: 1px solid var(--border-default);
	}
}

.anchor_nav .anchor.has_warn {
	overflow: visible;
}
.anchor_nav:has(.has_warn) {
	z-index: 20;
}
.anchor_nav .nav_warn {
	position: relative;
	flex-shrink: 0;
	width: 15px;
	height: 15px;
	margin-left: 2px;
	border-radius: 50%;
	display: inline-grid;
	place-items: center;
	background: var(--warning);
	color: var(--surface-page);
	font: 800 10px/1 var(--font-body);
	cursor: help;
}
.anchor_nav .nav_warn_tip {
	display: none;
	position: absolute;
	left: calc(100% + 10px);
	top: 50%;
	transform: translateY(-50%);
	width: 250px;
	z-index: 30;
	padding: 8px 11px;
	border-radius: var(--radius-m);
	background: var(--surface-card);
	border: 1px solid rgba(245,185,80,.6);
	box-shadow: var(--shadow-pop);
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-secondary);
	text-align: left;
	white-space: normal;
	pointer-events: none;
	animation: bc-fade-in .15s ease both;
}
.anchor_nav .nav_warn:hover .nav_warn_tip {
	display: block;
}
.bank_consent_quiet:empty {
	display: none;
}
.list-overview .bank_sync_note {
	color: var(--accent);
}

.modal.bank_modal .box {
	width: var(--bank-dlg-width, 540px);
}
.bank_pick_row .bank_pick_iban {
	text-transform: none;
	letter-spacing: .02em;
	font-variant-numeric: tabular-nums;
}
#bank_csv_body,
#bank_finapi_state {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
#bank_finapi_state:empty {
	display: none;
}
.bank_dlg {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.bank_dlg .muted {
	color: var(--text-muted);
}
.bank_dlg .lbl {
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.bank_dlg_footer {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}
.bank_dlg_footer .button.disabled {
	opacity: .45;
	cursor: default;
	box-shadow: none;
}
.bank_hint {
	margin: 0;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-muted);
}
.bank_hint.strong {
	color: var(--text-secondary);
}
.bank_intro {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 14px 16px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
}
.bank_intro_icon {
	margin-top: 2px;
	color: var(--accent);
}
.bank_intro > div {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font: 400 13px/1.55 var(--font-body);
	color: var(--text-secondary);
}
.bank_wait {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 26px 16px;
	text-align: center;
	border-radius: var(--radius-m);
	border: 1px dashed var(--border-strong);
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-muted);
}
.bank_wait b {
	font: 500 14px var(--font-body);
	color: var(--text-primary);
}
.bank_wait span {
	max-width: 380px;
}
.bank_pick {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.bank_pick_row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	cursor: pointer;
}
.bank_pick_row.on {
	border-color: rgba(var(--accent-rgb),.45);
	background: rgba(var(--accent-rgb),.05);
}
.bank_pick_row.done {
	opacity: .5;
	cursor: default;
}
.bank_pick_row input[type=checkbox] {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	accent-color: var(--accent);
}
.bank_pick_text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
	font: 400 12px var(--font-body);
}
.bank_pick_text b {
	font: 600 13px var(--font-body);
	color: var(--text-primary);
}
.bank_dlg input[type=text],
.bank_dlg select {
	width: 100%;
	box-sizing: border-box;
	height: 40px;
	padding: 0 12px;
	background: var(--surface-raised);
	color: var(--text-primary);
	font: 400 14px var(--font-body);
	border-radius: var(--radius-m);
	outline: none;
	border: 1px solid var(--border-strong);
	transition: border-color .15s, box-shadow .2s;
}
.bank_dlg input[type=text]:focus,
.bank_dlg select:focus {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.bank_pick_text input.bank_pick_name {
	height: 34px;
	font: 500 13px var(--font-body);
}
.bank_pick_amount {
	flex-shrink: 0;
	font: 500 13px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-secondary);
}
.bank_toggles {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.bank_toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font: 400 14px/1.3 var(--font-body);
	color: var(--text-secondary);
	user-select: none;
}
.bank_toggle:hover {
	text-decoration: none;
	color: var(--text-primary);
}
.bank_toggle .switch {
	position: relative;
	width: 34px;
	height: 20px;
	flex-shrink: 0;
	box-sizing: border-box;
	border-radius: 10px;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	transition: background .15s, border-color .15s;
}
.bank_toggle .switch:after {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--text-muted);
	transition: left .15s, background .15s;
}
.bank_toggle.on .switch {
	background: var(--accent);
	border-color: var(--accent);
}
.bank_toggle.on .switch:after {
	left: 16px;
	background: var(--on-accent);
}
.bank_grid {
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
	gap: 16px 20px;
}
.bank_field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.bank_field.wide {
	grid-column: 1 / -1;
}
.bank_field_hint,
.bank_dlg label .bank_field_hint {
	font: 400 12px/1.4 var(--font-body);
	letter-spacing: 0;
	text-transform: none;
	color: var(--text-muted);
}
.bank_select {
	position: relative;
	display: flex;
}
.bank_select select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 34px;
	cursor: pointer;
}
.bank_select svg {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	color: var(--text-muted);
}
.bank_select.small select {
	height: 30px;
	padding-right: 26px;
	font: 600 12px var(--font-body);
	color: var(--accent);
}
.bank_select.small select.skip {
	color: var(--text-muted);
}
.bank_select.small svg {
	right: 9px;
}
.bank_drop {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 28px 16px;
	text-align: center;
	border: 1px dashed rgba(242,245,244,.35);
	border-radius: var(--radius-m);
	font: 400 12px var(--font-body);
	color: var(--accent);
	cursor: pointer;
	transition: border-color .15s;
}
.bank_drop:hover {
	border-color: var(--accent);
}
.bank_drop b {
	font: 600 14px var(--font-body);
	color: var(--text-primary);
}
.bank_csv_file_row {
	display: flex;
	align-items: center;
	gap: 10px;
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
}
.bank_csv_file_row svg {
	color: var(--accent);
}
.bank_csv_file_row span {
	flex: 1;
}
.bank_csv_file_row a {
	font: 500 12px var(--font-body);
	cursor: pointer;
}
.bank_csv_table {
	overflow-x: auto;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
}
.bank_csv_table table {
	width: 100%;
	min-width: 520px;
	border-collapse: collapse;
	font: 400 12px var(--font-body);
	color: var(--text-secondary);
}
.bank_csv_table th {
	min-width: 128px;
	padding: 8px;
	border-bottom: 1px solid var(--border-strong);
	background: var(--surface-raised);
	text-align: left;
	vertical-align: top;
}
.bank_csv_head {
	display: block;
	margin-top: 6px;
	font: 400 11px var(--font-body);
	color: var(--text-muted);
}
.bank_csv_table td {
	padding: 7px 8px;
	border-top: 1px solid var(--border-default);
	white-space: nowrap;
}
.bank_csv_table tr:first-child td {
	border-top: none;
}
.bank_csv_table td.skip {
	opacity: .4;
}
.bank_csv_table td.neg {
	color: var(--danger);
	font-variant-numeric: tabular-nums;
}
.bank_csv_table td.pos {
	color: var(--accent);
	font-variant-numeric: tabular-nums;
}
@media (max-width: 770px) {
	#bank_settings .bank_actions {
		justify-content: stretch;
	}
	#bank_settings .bank_actions .button {
		flex: 1 1 auto;
	}
}
.bank_abruf_problem:empty {
	display: none;
}
.bank_abruf_problem {
	margin-bottom: 12px;
}
.bank_abruf_text {
	margin: 12px 0 0;
	font: var(--text-small);
	color: var(--text-secondary);
}
.bank_abruf_text.muted {
	color: var(--text-muted);
}
.bank_abruf_liste {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}
.bank_abruf_liste li {
	display: flex;
	justify-content: space-between;
	padding: 6px 0;
	font: var(--text-small);
	color: var(--text-secondary);
	border-top: 1px solid var(--border-default);
}
.bank_abruf_liste b {
	color: var(--text-primary);
}
.creditor_hint {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 12px;
	padding: 12px 14px;
	border-radius: var(--radius-m);
	border: 1px solid color-mix(in srgb, var(--warning) 50%, transparent);
	background: color-mix(in srgb, var(--warning) 8%, transparent);
	color: var(--warning);
}
.creditor_hint > svg {
	flex-shrink: 0;
	margin-top: 1px;
}
.creditor_hint strong {
	display: block;
	font: 600 13px var(--font-body);
	color: var(--text-primary);
}
.creditor_hint p {
	margin: 2px 0 8px;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.creditor_hint a {
	font: 600 13px var(--font-body);
}
#create_bill .creditor_hint {
	margin: 6px 0 2px;
}
#create_bill li:has(> .creditor_hint) {
	flex-basis: 100%;
	width: 100%;
	max-width: 100%;
}
.creditor_error {
	margin: 6px 0 0;
	font: 400 12px/1.4 var(--font-body);
	color: var(--danger);
}
#sepa_creditor_id.error {
	border-color: var(--danger);
}
.anchor_nav .anchor .nav_count {
	margin-left: auto;
	font: 500 11px/1 var(--font-body);
	color: var(--text-muted);
}
.list-view.docs > li[data-status='sent']:before {
	background: var(--warning);
}
.list-view.docs > li[data-status='signed']:before {
	background: var(--accent);
}
.list-view.docs > li[data-status='declined']:before {
	background: var(--danger);
}
.list-view.docs > li[data-status='expired']:before {
	background: var(--gray-400);
}
.list-view.docs > li[data-status='declined'],
.list-view.docs > li[data-status='expired'] {
	opacity: .6;
}
.list-view li p .state.danger {
	color: var(--danger);
	background: rgba(242,109,109,.10);
	border-color: var(--danger);
}
.list-legend-colors .is-active:before {
	background: var(--accent);
}
.list-legend-colors .is-notice:before {
	background: var(--warning);
}
.list-legend-colors .is-danger:before {
	background: var(--danger);
}
.list-legend-colors .is-expired:before {
	background: var(--gray-400);
}

.docs_bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 20px;
}

.docs_editor_wrap,
.docs_view {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 24px;
	align-items: start;
	min-width: 0;
}
.docs_side {
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	overflow: visible;
}
.docs_side .button.full {
	width: 100%;
	justify-content: center;
}
.docs_side_block {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.docs_side_block + .docs_side_block {
	border-top: 1px solid var(--border-default);
	padding-top: 14px;
}
.docs_side_label {
	font: 500 12px/1.4 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.docs_side .hint {
	margin: 0;
	font: var(--text-small);
	color: var(--text-muted);
	line-height: 1.5;
}
.docs_side .state {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	height: 24px;
	padding: 0 10px;
	border-radius: var(--radius-s);
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	font: 600 11px/1 var(--font-body);
	letter-spacing: .02em;
	color: var(--text-muted);
	white-space: nowrap;
}
.docs_side .state.active { color: var(--accent); background: rgba(var(--accent-rgb),.12); border-color: var(--accent); }
.docs_side .state.notice { color: var(--warning); background: rgba(245,185,80,.14); border-color: var(--warning); }
.docs_side .state.danger { color: var(--danger); background: rgba(242,109,109,.10); border-color: var(--danger); }
.docs_side_status {
	display: flex;
	align-items: center;
	gap: 10px;
	font: var(--text-small);
	color: var(--text-muted);
}
.docs_side input[type="text"] {
	width: 100%;
}

.docs_people_rows {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.docs_people_dialog {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.docs_people_dialog > p {
	margin: 0;
	font: var(--text-small);
	color: var(--text-muted);
	line-height: 1.5;
}
.docs_people_list {
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	overflow: hidden;
	background: var(--surface-raised);
}
.docs_people_list:focus-within {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.docs_people_row {
	display: grid;
	grid-template-columns: 30px 1.1fr 1fr 1fr 1.4fr 34px;
	align-items: center;
	gap: 4px;
	padding: 0 4px;
	border-bottom: 1px solid var(--border-default);
}
.docs_people_row:last-child {
	border-bottom: none;
}
.docs_people_row .num {
	width: 18px;
	height: 18px;
	margin-left: 6px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--accent);
	color: var(--on-accent);
	font: 700 10px/1 var(--font-body);
}
.docs_people_row.new .num {
	background: transparent;
}
#insert_box .docs_people_row input {
	min-width: 0;
	height: 38px;
	padding: 0 10px;
	background: transparent;
	border: none;
	border-radius: var(--radius-s);
	box-shadow: none;
	color: var(--text-primary);
	font: 400 14px var(--font-body);
}
#insert_box .docs_people_row input.p_role {
	color: var(--text-secondary);
	font: 500 13px var(--font-body);
}
#insert_box .docs_people_row input:focus {
	background: transparent;
	box-shadow: none;
	border: none;
}
.docs_people_row a {
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	justify-self: center;
	cursor: pointer;
	border-radius: var(--radius-s);
	color: var(--text-muted);
}
.docs_people_row a.remove:hover {
	color: var(--danger);
}
.docs_people_row a.add {
	color: var(--accent);
}
.docs_people .docs_people_rows {
	gap: 8px;
	margin-bottom: 12px;
}
.docs_people_row .remove:hover {
	color: var(--danger);
}
.docs_people_actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
@media (max-width: 700px) {
	.docs_people_row {
		grid-template-columns: 30px 1fr 1fr 34px;
	}
	.docs_people_row .p_role,
	.docs_people_row .p_mail {
		grid-column: 2 / 4;
	}
}
.docs_people_actions .docs_people_add {
	font: 500 12px/1.2 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
	white-space: nowrap;
}
.docs_people_actions .docs_people_add:hover {
	color: var(--accent);
}
.docs_side .hint.warn {
	color: var(--warning);
}
.docs_pick .docs_pick_search {
	width: 100%;
	height: 40px;
	margin-bottom: 10px;
}
.docs_pick .docs_pick_rows {
	max-height: 50vh;
	overflow: auto;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	padding: 6px;
}
.docs_pick .docs_pick_row {
	display: grid;
	grid-template-columns: minmax(0,1fr) minmax(0,1fr) 16px;
	gap: 14px;
	align-items: center;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
}
.docs_pick .docs_pick_row:hover {
	background: rgba(var(--accent-rgb),.07);
	color: var(--text-primary);
}
.docs_pick .docs_pick_row > span {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.docs_pick .docs_pick_row .c_company {
	color: var(--text-muted);
}
.docs_pick .docs_pick_row .c_mail {
	display: flex;
	justify-content: center;
	color: var(--accent);
}
.docs_pick .docs_pick_row .highlight {
	background: rgba(var(--accent-rgb),.25);
	color: var(--text-primary);
	border-radius: 3px;
}
.docs_sign_table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	overflow: hidden;
	background: var(--surface-raised);
}
.docs_sign_table th,
.docs_sign_table td {
	padding: 10px 12px;
	text-align: left;
	border-bottom: 1px solid var(--border-default);
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-secondary);
	vertical-align: middle;
}
.docs_sign_table th {
	font: var(--text-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--text-muted);
	border-bottom: 1px solid var(--border-strong);
}
.docs_sign_table tbody tr:last-child td {
	border-bottom: 0;
}
.docs_sign_table td:first-child,
.docs_sign_table th:first-child {
	width: 18px;
	padding-right: 0;
}
.docs_sign_table td:nth-child(2) {
	color: var(--text-primary);
	font-weight: 500;
}
.docs_sign_table .num {
	width: 18px;
	height: 18px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--border-strong);
	color: var(--text-primary);
	font: 700 10px/1 var(--font-body);
}
.docs_sign_table tr.incomplete td {
	color: var(--danger);
}
.docs_sign_table .none {
	color: var(--text-muted);
}
.docs_person .name small {
	display: block;
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.docs_person.incomplete .name,
.docs_person.incomplete .mail {
	color: var(--danger);
}
.docs_fields_list .row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 -8px;
	padding: 2px 8px;
	border-radius: var(--radius-s);
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
	transition: background .12s, color .12s;
}
.docs_fields_list .row:hover {
	background: rgba(0,208,155,.06);
	color: var(--text-primary);
}
.docs_fields_list .row .ico {
	display: inline-flex;
	color: var(--accent);
}
.docs_fields_list .row .name {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.docs_fields_list .row .remove {
	width: 22px;
	height: 22px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	opacity: 0;
	transition: opacity .12s, color .12s;
}
.docs_fields_list .row:hover .remove {
	opacity: 1;
}
.docs_fields_list .row .remove:hover {
	color: var(--danger);
}

.doc_editor {
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	min-width: 0;
}
.doc_editor .editor_toolbar {
	gap: 2px;
}
.doc_editor .editor_sep {
	width: 1px;
	height: 20px;
	background: var(--border-default);
	margin: 0 6px;
}
.doc_editor .editor_btn {
	width: 28px;
	height: 28px;
}
.doc_editor .editor_btn svg {
	width: 15px;
	height: 15px;
}
.doc_editor .doc_fmt,
.doc_editor .doc_fieldbtn,
.doc_editor .doc_snippetbtn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 28px;
	padding: 0 10px;
	box-sizing: border-box;
	border-radius: var(--radius-s);
	border: 1px solid var(--border-strong);
	background: transparent;
	color: var(--text-secondary);
	font: 600 12px/1 var(--font-body);
	cursor: pointer;
	white-space: nowrap;
}
.doc_editor .doc_fmt {
	width: 128px;
}
.doc_editor .doc_fmt > span:first-child {
	flex: 1;
	text-align: left;
}
.doc_editor .editor_tool.open > .doc_fmt,
.doc_editor .editor_tool.open > .doc_fieldbtn,
.doc_editor .editor_tool.open > .doc_snippetbtn {
	border-color: var(--accent);
	color: var(--accent);
}
.doc_editor .editor_menu.fmt {
	min-width: 170px;
}
.doc_editor .editor_menu.fmt a[data-value="h1"] { font: 600 16px/1.3 var(--font-display); }
.doc_editor .editor_menu.fmt a[data-value="h2"] { font: 600 14px/1.3 var(--font-display); }
.doc_editor .editor_menu.fmt a[data-value="h3"] { font: 600 13px/1.3 var(--font-display); }
.doc_editor .editor_menu.fields,
.doc_editor .editor_menu.snippets {
	width: 280px;
	padding: 6px;
}
.doc_editor .editor_menu.fields .head,
.doc_editor .editor_menu.snippets .head {
	font: 600 11px/1.4 var(--font-body);
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--text-muted);
	padding: 4px 10px 6px;
}
.doc_editor .editor_menu.fields .kind,
.doc_editor .editor_menu.snippets .kind {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	cursor: grab;
}
.doc_editor .editor_menu.fields .kind:hover,
.doc_editor .editor_menu.snippets .kind:hover {
	background: rgba(var(--accent-rgb),.07);
}
.doc_editor .editor_menu.fields .kind .ico,
.doc_editor .editor_menu.snippets .kind .ico {
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	border: 1px solid var(--border-strong);
	color: var(--accent);
	flex-shrink: 0;
}
.doc_editor .editor_menu.fields .kind .text,
.doc_editor .editor_menu.snippets .kind .text {
	flex: 1;
	display: flex;
	flex-direction: column;
}
.doc_editor .editor_menu.fields .kind .text b,
.doc_editor .editor_menu.snippets .kind .text b {
	font: 500 13px/1.4 var(--font-body);
	color: var(--text-primary);
}
.doc_editor .editor_menu.fields .kind .text small,
.doc_editor .editor_menu.snippets .kind .text small {
	font: 400 11px/1.4 var(--font-body);
	color: var(--text-muted);
}
.doc_editor .editor_menu.snippets .kind {
	cursor: pointer;
}
.doc_editor .editor_menu.fields .kind .grip {
	color: var(--text-muted);
	display: inline-flex;
}
.doc_editor .editor_toolbar .spacer {
	flex: 1;
}
.doc_blocks {
	padding: 12px 14px;
	min-height: 300px;
}
.doc_block {
	outline: none;
	padding: 4px 10px;
	margin: 2px 0;
	border-radius: var(--radius-s);
	font: 400 14px/1.6 var(--font-body);
	color: var(--text-secondary);
	min-height: 22px;
	white-space: pre-wrap;
	word-break: break-word;
}
.doc_block:empty:before {
	content: attr(data-placeholder);
	color: var(--text-muted);
}
.doc_block.h1 { font: 600 22px/1.3 var(--font-display); color: var(--text-primary); }
.doc_block.h2 { font: 600 17px/1.4 var(--font-display); color: var(--text-primary); }
.doc_block.h3 { font: 600 14px/1.5 var(--font-display); color: var(--text-primary); }
.doc_list {
	padding: 4px 10px;
	margin: 2px 0;
}
.doc_list ul,
.doc_list ol {
	margin: 0;
	padding-left: 15px;
	font: 400 14px/1.6 var(--font-body);
	color: var(--text-secondary);
}
.doc_list li {
	outline: none;
	min-height: 22px;
}
.doc_pagebreak {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
	margin: 6px 0;
	border-radius: var(--radius-m);
	border: 1px solid transparent;
	outline: none;
	cursor: default;
	user-select: none;
}
.doc_pagebreak:before {
	content: '';
	position: absolute;
	left: 10px;
	right: 10px;
	top: 50%;
	border-top: 1px dashed var(--border-strong);
}
.doc_pagebreak .tag {
	position: relative;
	padding: 0 10px;
	background: var(--surface-card);
	font: 500 10px/1.6 var(--font-body);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.doc_pagebreak.focused {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.05);
}
.doc_pagebreak.focused .tag {
	background: transparent;
	color: var(--accent);
}
.doc_pagebreak .pbremove {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	opacity: 0;
	color: var(--text-muted);
	cursor: pointer;
	transition: opacity .12s, color .12s;
}
.doc_pagebreak:hover .pbremove,
.doc_pagebreak.focused .pbremove {
	opacity: 1;
}
.doc_pagebreak .pbremove:hover {
	color: var(--danger);
}
.doc_tableblock {
	position: relative;
	padding: 6px 10px;
	margin: 4px 0;
	border-radius: var(--radius-m);
	border: 1px solid transparent;
}
.doc_tableblock.focused {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.05);
}
.doc_tableblock table {
	width: 100%;
	border-collapse: collapse;
	font: 400 14px/1.6 var(--font-body);
	color: var(--text-secondary);
}
.doc_tableblock td,
.doc_tableblock th {
	border: 1px solid var(--border-default);
	padding: 5px 8px;
	text-align: left;
	vertical-align: top;
	outline: none;
	word-break: break-word;
}
.doc_tableblock td:first-child,
.doc_tableblock th {
	font-weight: 600;
	color: var(--text-primary);
}
.doc_tableblock td[data-cell]:focus,
.doc_tableblock th[data-cell]:focus {
	background: rgba(var(--accent-rgb),.06);
}
.doc_tableblock td.tbtools {
	width: 0;
	padding: 0;
	border: none;
	position: relative;
}
.doc_tableblock .trremove {
	position: absolute;
	left: 6px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	opacity: 0;
	color: var(--text-muted);
	cursor: pointer;
	transition: opacity .12s, color .12s;
}
.doc_tableblock tr:hover .trremove {
	opacity: 1;
}
.doc_tableblock .trremove:hover {
	color: var(--danger);
}
.doc_tableblock .tbaddrow {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 6px;
	font: 500 11px/1.4 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
}
.doc_tableblock .tbaddrow:hover {
	color: var(--accent);
}
.doc_fieldblock {
	position: relative;
	padding: 8px 10px;
	margin: 4px 0;
	border-radius: var(--radius-m);
	border: 1px solid transparent;
}
.doc_fieldblock.focused {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.05);
}
.doc_fieldblock .flabel {
	outline: none;
	font: 500 12px/1.4 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
	min-width: 40px;
	display: inline-block;
}
.doc_fieldblock .fbox {
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-s);
	background: rgba(var(--accent-rgb),.04);
	margin-top: 5px;
}
.doc_fieldblock .fbox.line { height: 34px; }
.doc_fieldblock .fbox.multi { height: 72px; }
.doc_fieldblock .fbox.sign {
	height: 64px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding: 0 10px 6px;
	box-sizing: border-box;
	font: 400 11px/1 var(--font-body);
	color: var(--text-muted);
}
.doc_fieldblock .fcheck {
	display: flex;
	align-items: center;
	gap: 10px;
}
.doc_fieldblock .fsigner_wrap {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 6px;
	font: 400 11px/1.2 var(--font-body);
	color: var(--text-muted);
}
.doc_fieldblock .fsigner_wrap span {
	white-space: nowrap;
}
.doc_fieldblock .fsigner_wrap .fsigner {
	min-width: 0;
	flex: 1;
}
.doc_fieldblock .fsigner {
	height: 26px;
	padding: 0 30px 0 10px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-s);
	background: var(--surface-raised) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a9591' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 12px 12px;
	color: var(--text-secondary);
	font: 400 11px/1.2 var(--font-body);
	-webkit-appearance: none;
	appearance: none;
	text-overflow: ellipsis;
}
.doc_page_wrap .doc_page.letterhead + .doc_page.letterhead {
	margin-top: 24px;
}
.doc_fieldblock .fcheck .fbox {
	width: 18px;
	height: 18px;
	margin: 0;
	flex-shrink: 0;
}
.doc_fieldblock .fcheck .flabel {
	text-transform: none;
	letter-spacing: 0;
	font: 400 14px/1.5 var(--font-body);
	color: var(--text-primary);
}
.doc_fieldblock .flabel {
	max-width: calc(100% - 64px);
}
.doc_fieldblock .fhalf {
	position: absolute;
	right: 36px;
	top: 6px;
	width: 24px;
	height: 24px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
}
.doc_fieldblock .fhalf {
	opacity: 0;
	transition: opacity .12s, color .12s;
}
.doc_fieldblock:hover .fhalf,
.doc_fieldblock.focused .fhalf {
	opacity: 1;
}
.doc_fieldblock .fhalf:hover,
.doc_fieldblock .fhalf.on {
	color: var(--accent);
}
.doc_blocks {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
}
.doc_blocks > * {
	flex: 0 0 100%;
	min-width: 0;
	box-sizing: border-box;
}
.doc_blocks > .doc_fieldblock.half {
	flex: 0 0 calc(50% - 6px);
}
.doc_blocks > .doc_drop.between {
	flex: 0 0 12px;
	min-width: 0;
	overflow: hidden;
	height: auto;
	align-self: stretch;
}
.doc_page .doc_row {
	display: flex;
	align-items: flex-end;
	gap: 16px;
}
.doc_page .doc_row > .doc_field,
.doc_page .doc_row > .doc_sign,
.doc_page .doc_row > .doc_check {
	flex: 1 1 0;
	min-width: 0;
	width: auto;
	display: block;
	margin-right: 0;
	margin-bottom: 0;
}
.doc_page.letterhead .doc_row > .doc_field,
.doc_page.letterhead .doc_row > .doc_sign,
.doc_page.letterhead .doc_row > .doc_check {
	margin-bottom: 0;
	margin-right: 0;
}
.doc_page .doc_field.half,
.doc_page .doc_check.half {
	width: calc(50% - 8px);
}
.doc_page .doc_sign.half {
	width: calc(50% - 8px);
	margin-right: 0;
}
.doc_fieldblock .fremove {
	position: absolute;
	right: 10px;
	top: 6px;
	width: 24px;
	height: 24px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	opacity: 0;
	transition: opacity .12s, color .12s;
}
.doc_fieldblock:hover .fremove,
.doc_fieldblock.focused .fremove {
	opacity: 1;
}
.doc_fieldblock .fremove:hover {
	color: var(--danger);
}
.doc_drop {
	height: 6px;
	border-radius: var(--radius-s);
	border: 1px dashed transparent;
	display: grid;
	place-items: center;
	font: 500 11px/1 var(--font-body);
	color: var(--accent);
	transition: height .12s;
}
.doc_drop.over {
	height: 34px;
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.08);
}
.doc_twig {
	margin: 0;
	padding: 14px 16px;
	min-height: 300px;
	font: var(--text-code);
	color: var(--text-secondary);
	white-space: pre-wrap;
	word-break: break-word;
}

.docs_paper_card {
	padding: 24px;
	display: flex;
	justify-content: center;
	min-width: 0;
}
.docs_paper_card .docs_view_pdf {
	width: 100%;
	min-height: 400px;
}
.docs_paper_card .docs_view_pdf embed {
	display: block;
	width: 100%;
	height: max(600px, calc(100vh - 300px));
	border-radius: var(--radius-m);
}
.docs_paper_card .docs_view_pdf .docs_loading {
	margin: 0;
	padding: 60px 20px;
	text-align: center;
	color: var(--text-secondary);
}
.doc_page_wrap {
	width: 100%;
	max-width: 595px;
	min-width: 0;
	overflow: hidden;
}
.doc_page {
	position: relative;
	width: 100%;
	max-width: 595px;
	min-height: 842px;
	box-sizing: border-box;
	padding: 110px 56px 90px;
	border-radius: 4px;
	border: 1px solid var(--border-strong);
	background: #F5F5F2;
	color: #101413;
	font: 400 11px/1.55 var(--font-body);
}
.doc_page .doc_mark {
	position: absolute;
	top: 34px;
	left: 56px;
	font: 700 16px/1 var(--font-display);
	letter-spacing: -.02em;
}
.doc_page .doc_bar {
	position: absolute;
	top: 40px;
	right: 56px;
	width: 110px;
	height: 6px;
	border-radius: 2px;
	background: #D8D8D2;
}
.doc_page .doc_sender {
	position: absolute;
	top: 78px;
	left: 56px;
	right: 56px;
	font: 400 8px/1.3 var(--font-body);
	color: #777;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.doc_page h1 { margin: 0 0 12px; font: 600 17px/1.3 var(--font-display); color: #101413; }
.doc_page h2 { margin: 14px 0 6px; font: 600 13px/1.35 var(--font-display); color: #101413; }
.doc_page h3 { margin: 10px 0 4px; font: 600 11px/1.4 var(--font-display); color: #101413; }
.doc_page p { margin: 0 0 8px; white-space: pre-wrap; color: #101413; }
.doc_page ul,
.doc_page ol { margin: 0 0 8px; padding-left: 15px; color: #101413; }
.doc_page ol:has(li:nth-child(10)),
.doc_list ol:has(li:nth-child(10)),
.doc_page.letterhead ol:has(li:nth-child(10)) { padding-left: 23px; }
.doc_page .doc_table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 8px;
	color: #101413;
}
.doc_page .doc_table td,
.doc_page .doc_table th {
	border: 1px solid #ccc;
	padding: 3px 6px;
	text-align: left;
	vertical-align: top;
	font: 400 11px/1.5 var(--font-body);
}
.doc_page .doc_table td:first-child,
.doc_page .doc_table th {
	font-weight: 600;
}
.doc_page .doc_table.with_head th {
	border-bottom: 1px solid #999;
}
.doc_page .doc_pagebreak_mark {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 10px 0;
}
.doc_page .doc_pagebreak_mark:before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	border-top: 1px dashed #bbb;
}
.doc_page .doc_pagebreak_mark .tag {
	position: relative;
	padding: 0 8px;
	background: #F5F5F2;
	font: 500 8px/1.6 var(--font-body);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #777;
}
.doc_page.letterhead .doc_pagebreak_mark .tag { background: #fff; }
.doc_page .doc_field { margin: 6px 0; }
.doc_page .doc_field .label {
	display: block;
	font: 400 9px/1.3 var(--font-body);
	color: #555;
}
.doc_page .doc_field .value {
	display: block;
	border: 1px solid #bbb;
	min-height: 16px;
	border-radius: 2px;
	background: #fafaf8;
	padding: 1px 4px;
	font: 400 10px/1.4 var(--font-body);
	color: #101413;
	box-sizing: border-box;
	white-space: pre-wrap;
}
.doc_page .doc_field.multi .value { min-height: 44px; }
.doc_page .doc_field.line .label { margin-top: 3px; }
.doc_page .doc_field .value.input {
	width: 100%;
	height: auto;
	min-height: 22px;
	border: 1px solid var(--accent);
	background: #fff;
	outline: none;
	resize: vertical;
	font: 400 10px/1.4 var(--font-body);
	color: #101413;
	margin: 0;
}
.doc_page .doc_field.multi .value.input { min-height: 56px; }
.doc_page .doc_field .value.input.missing { border-color: #D9534F; background: #fff4f3; }
.doc_page .doc_check {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 6px 0;
	color: #101413;
}
.doc_page .doc_check .cbox {
	width: 12px;
	height: 12px;
	border: 1px solid #333;
	border-radius: 2px;
	display: grid;
	place-items: center;
	font: 700 9px/1 var(--font-body);
	flex-shrink: 0;
	background: #fff;
}
.doc_page .doc_check.editable {
	cursor: pointer;
	font: 400 11px/1.55 var(--font-body);
	text-transform: none;
	letter-spacing: 0;
	color: #101413;
	margin: 6px 0;
}
.doc_page .doc_check.editable input { position: absolute; opacity: 0; width: 0; height: 0; }
.doc_page .doc_check.editable .cbox { border-color: var(--accent); }
.doc_page .doc_check.editable input:checked + .cbox:after { content: '✓'; }
.doc_page .doc_sign {
	display: inline-block;
	vertical-align: bottom;
	width: 220px;
	margin: 22px 20px 0 0;
}
.doc_page .doc_sign .pad {
	position: relative;
	height: 44px;
	border-bottom: 1px solid #333;
}
.doc_page .doc_sign .pad img {
	position: absolute;
	left: 0;
	bottom: 2px;
	height: 40px;
}
.doc_page .doc_sign.mine .pad {
	border: 1px dashed var(--accent);
	border-radius: 3px;
	background: rgba(0,208,155,.06);
	display: grid;
	place-items: center;
}
.doc_page .doc_sign .pad_hint {
	font: 500 9px/1 var(--font-body);
	color: var(--accent);
	letter-spacing: .04em;
	text-transform: uppercase;
}
.doc_page .doc_sign .who {
	margin-top: 3px;
	font: 400 9px/1.3 var(--font-body);
	color: #555;
}
.doc_page .doc_sign .who .name {
	font: 600 10px/1.3 var(--font-display);
	color: #101413;
}
.doc_page .doc_rule {
	position: absolute;
	bottom: 40px;
	left: 56px;
	right: 56px;
	height: 1px;
	background: #D8D8D2;
}
.doc_page .doc_foot_left,
.doc_page .doc_foot_right {
	position: absolute;
	bottom: 24px;
	font: 400 7px/1.3 var(--font-body);
	color: #888;
}
.doc_page .doc_foot_left { left: 56px; right: 140px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.doc_page .doc_foot_right { right: 56px; }

#insert_box .docs_preview {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
#insert_box .docs_preview .docs_preview_actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
}
#insert_box .docs_preview .doc_page_wrap {
	margin: 0 auto;
	max-height: 70vh;
	overflow: auto;
}
#insert_box .docs_preview .docs_preview_pdf {
	min-height: 200px;
	max-height: 72vh;
	padding: 24px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	overflow: auto;
}
.pdf_pages {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.pdf_pages .pdf_page {
	display: block;
	width: 100%;
	background: #fff;
	border-radius: 2px;
	box-shadow: 0 1px 2px rgba(0,0,0,.25), 0 8px 24px rgba(0,0,0,.18);
}
.pdf_pages .docs_loading {
	margin: 0;
	padding: 60px 20px;
	text-align: center;
	color: var(--text-secondary);
}
#insert_box .docs_preview .docs_preview_pdf embed {
	display: block;
	width: 100%;
	height: 72vh;
}
#insert_box .docs_preview .docs_preview_pdf .docs_loading {
	margin: 0;
	padding: 60px 20px;
	text-align: center;
	color: var(--text-secondary);
}

.docs_timeline .step {
	display: grid;
	grid-template-columns: 18px 1fr;
	gap: 10px;
	align-items: start;
}
.docs_timeline .step .dot {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	margin-top: 1px;
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	color: var(--on-accent);
}
.docs_timeline .step.done .dot { background: var(--accent); border-color: var(--accent); }
.docs_timeline .step.bad .dot { background: var(--danger); border-color: var(--danger); color: #fff; }
.docs_timeline .step .text {
	display: flex;
	flex-direction: column;
}
.docs_timeline .step .text .t {
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-muted);
}
.docs_timeline .step.done .text .t,
.docs_timeline .step.bad .text .t {
	color: var(--text-primary);
}
.docs_timeline .step .text .d {
	font: 400 11px/1.4 var(--font-body);
	color: var(--text-muted);
}
.docs_person {
	display: flex;
	align-items: center;
	gap: 8px;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-secondary);
}
.docs_person .num {
	width: 18px;
	height: 18px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--border-strong);
	color: var(--text-primary);
	font: 700 10px/1 var(--font-body);
	flex-shrink: 0;
}
.docs_person .num.done {
	background: var(--accent);
	color: var(--on-accent);
}
.docs_person .name {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.docs_person .when,
.docs_person .mail {
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
	white-space: nowrap;
}
.docs_file {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	color: var(--text-primary);
	text-decoration: none;
}
.docs_file:hover {
	border-color: var(--accent);
	text-decoration: none;
}
.docs_file .kind {
	width: 26px;
	height: 26px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	border: 1px solid var(--border-strong);
	color: var(--danger);
	font: 700 8px/1 var(--font-body);
	flex-shrink: 0;
}
.docs_file .name {
	flex: 1;
	min-width: 0;
	font: 500 13px/1.3 var(--font-body);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.docs_file .name small {
	display: block;
	font: 400 11px/1.4 var(--font-body);
	color: var(--text-muted);
}
.docs_file svg {
	color: var(--text-muted);
	flex-shrink: 0;
}
.docs_file:hover svg {
	color: var(--accent);
}

.docs_sign_dialog {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.docs_sign_dialog > p {
	margin: 0;
	font: var(--text-small);
	color: var(--text-muted);
	line-height: 1.5;
}
.docs_signer_card {
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	padding: 12px 14px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.docs_signer_card .head {
	display: flex;
	align-items: center;
	gap: 10px;
}
.docs_signer_card .head .num {
	width: 22px;
	height: 22px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--accent);
	color: var(--on-accent);
	font: 700 11px/1 var(--font-body);
}
.docs_signer_card .head .title {
	font: 600 13px/1.3 var(--font-body);
	color: var(--text-primary);
}
.docs_signer_card .head .spacer {
	flex: 1;
}
.docs_signer_card .head .select {
	width: 240px;
}
.docs_signer_card .inputs {
	display: grid;
	grid-template-columns: 1fr 1fr 1.4fr;
	gap: 10px;
}
.docs_contact_select > ul > li:not(.search) > p {
	display: grid;
	grid-template-columns: minmax(0,1fr) minmax(0,1fr) 16px;
	align-items: center;
	gap: 14px;
}
.docs_contact_select > ul > li > p > .c_mail {
	display: flex;
	justify-content: center;
	color: var(--accent);
}
.docs_contact_select > ul > li > p > .c_mail svg {
	display: block;
}
.docs_contact_select > ul > li > p > span {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.docs_contact_select > ul > li > p > .c_company {
	color: var(--text-muted);
}
.select ul li p .highlight {
	background: rgba(var(--accent-rgb),.25);
	color: var(--text-primary);
	border-radius: 3px;
}
.docs_signer_card .inputs input {
	height: 38px;
}
#insert_box .docs_signer_card .inputs input.error {
	border: 1.5px solid var(--danger);
	box-shadow: none;
}
#insert_box .docs_signer_card .inputs input.error:focus {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.docs_signer_card .s_error {
	margin: -2px 0 0;
	font: 400 12px var(--font-body);
	color: var(--danger);
}
.docs_sign_dialog .grid2 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px 20px;
}
.docs_sign_dialog label.lbl {
	display: block;
	margin-bottom: 6px;
	font: 500 12px/1.4 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.docs_sign_dialog textarea {
	min-height: 120px;
}
.docs_error_box {
	border: 1px solid var(--danger);
	border-radius: var(--radius-m);
	background: rgba(242,109,109,.08);
	padding: 14px 16px;
	display: flex;
	gap: 12px;
	align-items: flex-start;
}
.docs_error_box .mark {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	border: 1px solid var(--danger);
	color: var(--danger);
	font: 700 14px/1 var(--font-body);
	flex-shrink: 0;
}
.docs_error_box b {
	display: block;
	font: 600 14px/1.4 var(--font-body);
	color: var(--danger);
}
.docs_error_box span {
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.docs_dialog_footer {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 8px;
}

.sign_view .docs_side .button.full {
	width: 100%;
	justify-content: center;
}
.sign_pad_wrap {
	position: relative;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-page);
	height: 160px;
	overflow: hidden;
}
.sign_pad_wrap canvas {
	display: block;
	width: 100%;
	height: 100%;
	touch-action: none;
	cursor: crosshair;
}
.sign_pad_wrap .sign_pad_hint {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 12px;
	text-align: center;
	font: 500 11px/1 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
	pointer-events: none;
}
.sign_pad_wrap.has_ink .sign_pad_hint {
	display: none;
}
.sign_pad_wrap .sign_pad_clear {
	position: absolute;
	right: 8px;
	top: 8px;
	width: 26px;
	height: 26px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
}
.sign_pad_wrap .sign_pad_clear:hover {
	color: var(--text-primary);
	background: var(--surface-raised);
}
.sign_consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font: var(--text-small);
	text-transform: none;
	letter-spacing: 0;
	color: var(--text-secondary);
	line-height: 1.5;
	cursor: pointer;
}
.sign_consent input {
	margin-top: 3px;
	accent-color: var(--accent);
}
.sign_error {
	margin: 0;
	font: var(--text-small);
	color: var(--danger);
}
.sign_message {
	margin: 0;
	font: var(--text-small);
	color: var(--text-secondary);
	line-height: 1.5;
}
#sign_decline textarea {
	margin-bottom: 8px;
}
body.signed_out #sign_page {
	max-width: 1100px;
	margin: 0 auto;
}

@media (max-width: 770px) {
	.docs_editor_wrap,
	.docs_view {
		grid-template-columns: minmax(0, 1fr);
	}
	.docs_signer_card .inputs {
		grid-template-columns: 1fr;
	}
	.docs_signer_card .head .select {
		width: 100%;
	}
	.doc_page {
		padding: 80px 24px 70px;
		min-height: 0;
	}
	.doc_page .doc_mark,
	.doc_page .doc_sender,
	.doc_page .doc_rule,
	.doc_page .doc_foot_left { left: 24px; }
	.doc_page .doc_bar,
	.doc_page .doc_rule,
	.doc_page .doc_foot_right { right: 24px; }
	.doc_page .doc_sender { right: 24px; }
}

@font-face {
	font-family: 'roboto_condensedlight';
	src: url('fonts/RobotoCondensed-Light.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'roboto_condensedbold';
	src: url('fonts/RobotoCondensed-Bold.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
.doc_page.letterhead {
	width: 595px;
	max-width: none;
	min-height: 842px;
	background-color: #fff;
	background-size: 100% auto;
	background-position: center top;
	background-repeat: no-repeat;
	border: 1px solid var(--border-strong);
	border-radius: 2px;
	color: #111;
	font: 400 10px/13px 'roboto_condensedlight', sans-serif;
}
.doc_page.letterhead h1,
.doc_page.letterhead h2,
.doc_page.letterhead h3,
.doc_page.letterhead b,
.doc_page.letterhead strong {
	font-family: 'roboto_condensedbold', sans-serif;
	font-weight: normal;
	color: #111;
}
.doc_page.letterhead h1 { font-size: 16px; line-height: 20px; margin: 0 0 14px; }
.doc_page.letterhead h2 { font-size: 12px; line-height: 15px; margin: 14px 0 6px; }
.doc_page.letterhead h3 { font-size: 10.5px; line-height: 13px; margin: 11px 0 4px; }
.doc_page.letterhead p { margin: 0 0 7px; color: #111; }
.doc_page.letterhead ul,
.doc_page.letterhead ol { margin: 0 0 7px; padding-left: 15px; color: #111; }
.doc_page.letterhead li { margin: 0 0 2px; }
.doc_page.letterhead .doc_sender_line {
	font-size: 8px;
	line-height: 10px;
	text-decoration: underline;
	margin: 0 0 23px;
}
.doc_page.letterhead .doc_field { margin: 6px 0 10px; }
.doc_page.letterhead .doc_field .label {
	font: 400 7.5px/9px 'roboto_condensedlight', sans-serif;
	color: #555;
	margin-bottom: 2px;
}
.doc_page.letterhead .doc_field.line .label {
	margin: 2px 0 0;
}
.doc_page.letterhead .doc_field .value {
	border: 0;
	border-bottom: 1px solid #333;
	border-radius: 0;
	background: transparent;
	min-height: 14px;
	padding: 0 0 1px;
	font: 400 10px/13px 'roboto_condensedlight', sans-serif;
	color: #111;
}
.doc_page.letterhead .doc_field.multi .value {
	border: 1px solid #999;
	min-height: 45px;
	padding: 3px 4px;
}
.doc_page.letterhead .doc_field .value.input {
	border: 1px solid var(--accent);
	background: #fff;
	padding: 2px 4px;
}
.doc_page.letterhead .doc_check {
	margin: 6px 0;
	color: #111;
	font: 400 10px/13px 'roboto_condensedlight', sans-serif;
}
.doc_page.letterhead .doc_check .cbox {
	width: 9px;
	height: 9px;
	font-size: 7px;
	border-color: #333;
	margin-right: 0;
}
.doc_page.letterhead .doc_check.editable {
	font: 400 10px/13px 'roboto_condensedlight', sans-serif;
}
.doc_page.letterhead .doc_sign {
	width: 198px;
	margin: 23px 23px 0 0;
}
.doc_page.letterhead .doc_sign .pad {
	height: 54px;
	border-bottom: 1px solid #333;
}
.doc_page.letterhead .doc_sign .pad img {
	height: 48px;
	bottom: 1px;
}
.doc_page.letterhead .doc_sign .who {
	font: 400 7.5px/10px 'roboto_condensedlight', sans-serif;
	color: #444;
	margin-top: 2px;
}
.doc_page.letterhead .doc_sign .who .name {
	font: 400 9px/12px 'roboto_condensedbold', sans-serif;
	color: #111;
}
.doc_page.letterhead .doc_foot_left,
.doc_page.letterhead .doc_foot_right {
	bottom: 10px;
	font: 400 6.5px/8px 'roboto_condensedlight', sans-serif;
	color: #999;
}
.doc_page.letterhead .doc_foot_left { left: 57px; right: auto; max-width: 60%; }
.doc_page.letterhead .doc_foot_right { right: 57px; }

.doc_page .doc_sign.mine .pad {
	cursor: pointer;
	transition: box-shadow .15s, background .15s;
}
.doc_page .doc_sign.mine .pad:hover {
	background: rgba(0,208,155,.12);
	box-shadow: 0 0 0 2px rgba(0,208,155,.25);
}
.doc_page .doc_sign.mine.has_sig .pad {
	display: block;
	border: 1px dashed transparent;
	border-bottom: 1px solid #333;
	border-radius: 0;
	background: transparent;
}
.doc_page .doc_sign.mine.has_sig .pad:hover {
	border-color: var(--accent);
	background: rgba(0,208,155,.06);
}
.doc_page .doc_sign .pad .pad_change {
	position: absolute;
	right: 4px;
	top: 3px;
	font: 500 8px/1 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--accent);
	opacity: 0;
	transition: opacity .12s;
}
.doc_page .doc_sign.mine.has_sig .pad:hover .pad_change {
	opacity: 1;
}
#sign_box .box {
	width: 640px;
}
#sign_box .sign_pad_wrap {
	height: 240px;
	background: #fff;
	border-color: var(--border-strong);
}
#sign_box .sign_pad_wrap .sign_pad_hint {
	color: #9aa;
}
#sign_box .sign_pad_wrap .sign_pad_clear {
	color: #667;
}
#sign_box .sign_pad_wrap .sign_pad_clear:hover {
	background: #eef2f1;
	color: #111;
}
#sign_box .docs_dialog_footer {
	margin-top: 18px;
}


.doc_flow {
	outline: none;
	min-height: 300px;
	padding: 4px 10px;
	font: 400 14px/1.6 var(--font-body);
	color: var(--text-secondary);
	word-break: break-word;
}
.doc_flow > p,
.doc_flow > h1,
.doc_flow > h2,
.doc_flow > h3 {
	margin: 0 0 8px;
	min-height: 22px;
}
.doc_flow > h1 { font: 600 22px/1.3 var(--font-display); color: var(--text-primary); margin-top: 6px; }
.doc_flow > h2 { font: 600 17px/1.4 var(--font-display); color: var(--text-primary); margin-top: 10px; }
.doc_flow > h3 { font: 600 14px/1.5 var(--font-display); color: var(--text-primary); margin-top: 8px; }
.doc_flow strong,
.doc_flow b {
	font-weight: 600;
	color: var(--text-primary);
}
.doc_flow > ul,
.doc_flow > ol {
	margin: 0 0 8px;
	margin-left: 0;
}
.doc_flow > ul {
	padding-left: 1.15em;
}
.doc_flow > ol {
	padding-left: 1.45em;
}
.doc_flow > p:only-child:has(> br:only-child)::before {
	content: attr(data-placeholder);
	color: var(--text-muted);
	position: absolute;
	pointer-events: none;
}
.doc_flow table.doc_table {
	font: inherit;
	color: inherit;
	width: 100%;
	border-collapse: collapse;
	margin: 4px 0 10px;
}
.doc_flow table.doc_table.fixed,
.doc_page .doc_table.fixed {
	table-layout: fixed;
}
.doc_flow table.doc_table td.cur,
.doc_flow table.doc_table th.cur {
	box-shadow: inset 0 0 0 1px var(--accent);
}
.doc_flow.col_resize,
.doc_flow.col_resize td,
.doc_flow.col_resize th {
	cursor: col-resize;
}
.doc_flow table.doc_table td,
.doc_flow table.doc_table th {
	border: 1px solid var(--border-default);
	padding: 5px 8px;
	text-align: left;
	vertical-align: top;
}
.doc_flow table.doc_table th {
	font-weight: 600;
	color: var(--text-primary);
}
.doc_flow > .doc_fieldblock {
	margin: 14px 0 18px;
	padding: 0;
	border: 0;
	background: none;
	user-select: none;
}
.doc_flow > .doc_fieldblock::before {
	content: '';
	position: absolute;
	inset: -10px;
	border-radius: var(--radius-m);
	border: 1px solid transparent;
	pointer-events: none;
	transition: border-color .15s, background .15s;
}
.doc_flow > .doc_fieldblock > * {
	position: relative;
}
.doc_flow > .doc_fieldblock:hover::before {
	border-color: var(--border-default);
}
.doc_flow > .doc_fieldblock.hl::before {
	border-color: rgba(0,208,155,.45);
	background: rgba(0,208,155,.04);
}
.doc_flow > .doc_fieldblock.focused {
	border: 0;
	background: none;
}
.doc_flow > .doc_fieldblock.focused::before {
	border-color: var(--accent);
	background: rgba(0,208,155,.05);
}
.doc_flow > .doc_fieldblock.flash::before {
	animation: doc-field-flash 1.2s ease-out;
}
@keyframes doc-field-flash {
	from { background: rgba(0,208,155,.14); }
	to { background: rgba(0,208,155,.05); }
}
.doc_flow > .doc_fieldblock .flabel {
	user-select: text;
	max-width: calc(100% - 92px);
}
.doc_flow > .doc_fieldblock > .fhalf,
.doc_flow > .doc_fieldblock > .fremove,
.doc_flow > .doc_fieldblock > .fgrip {
	position: absolute;
	top: -4px;
}
.doc_flow > .doc_fieldblock > .fremove {
	right: 0;
}
.doc_flow > .doc_fieldblock > .fhalf {
	right: 26px;
}
.doc_flow > .doc_fieldblock > .fgrip {
	right: 52px;
}
.doc_flow > .doc_fieldblock.half {
	display: inline-block;
	vertical-align: bottom;
	width: calc(50% - 16px);
	box-sizing: border-box;
}
.doc_flow > .doc_fieldblock.half.rechts {
	margin-left: 32px;
}
.doc_flow > .drop_after {
	box-shadow: 0 2px 0 var(--accent);
}
.doc_flow .fgrip {
	position: absolute;
	right: 62px;
	top: 6px;
	width: 24px;
	height: 24px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: grab;
	opacity: 0;
	transition: opacity .12s, color .12s;
}
.doc_flow .doc_pagebreak .fgrip {
	right: auto;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
}
.doc_flow .doc_fieldblock:hover .fgrip,
.doc_flow .doc_fieldblock.focused .fgrip,
.doc_flow .doc_pagebreak:hover .fgrip,
.doc_flow .doc_pagebreak.focused .fgrip {
	opacity: 1;
}
.doc_flow .fgrip:hover {
	color: var(--accent);
}
.doc_flow .fgrip:active {
	cursor: grabbing;
}
.doc_flow .dragging {
	opacity: .4;
}
.doc_flow.drop_start {
	box-shadow: inset 0 2px 0 var(--accent);
}
.docs_pick .docs_pick_row.own .c_company small {
	margin-left: 6px;
	padding: 1px 6px;
	border-radius: 999px;
	border: 1px solid rgba(var(--accent-rgb),.45);
	font: 500 10px/1.4 var(--font-body);
	color: var(--accent);
	white-space: nowrap;
}
#docs_content .list-card:has(.doctemplates) .hidden_menu,
#docs_content .list-card:has(.docs-signed) .hidden_menu {
	width: 270px;
}
#docs_content .list-card:has(.docs-created) .hidden_menu {
	width: 250px;
}
#docs_content .hidden_menu .mini_btn span svg {
	display: block;
	margin: 0 auto;
}
#docs_upload_box .docs_upload {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
#docs_upload_box .docs_upload .center {
	margin-top: 8px;
}
#docs_upload_box .docs_upload_note {
	display: flex;
	gap: 10px;
	padding: 12px 14px;
	border-radius: var(--radius-m);
	border: 1px solid var(--accent);
	background: rgba(0,208,155,.05);
}
#docs_upload_box .docs_upload_note .ico {
	flex-shrink: 0;
	margin-top: 1px;
	color: var(--accent);
}
#docs_upload_box .docs_upload_note.danger {
	border-color: var(--danger);
	background: rgba(242,109,109,.08);
}
#docs_upload_box .docs_upload_note.danger .ico {
	color: var(--danger);
}
#docs_upload_box .docs_upload_note > div {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
#docs_upload_box .docs_upload_note strong {
	font: 600 13px var(--font-body);
	color: var(--text-primary);
	overflow-wrap: anywhere;
}
#docs_upload_box .docs_upload_note span:not(.ico) {
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-secondary);
}
#docs_upload_box .docs_upload_list {
	margin: 0;
	padding-left: 18px;
	font: 400 12px/1.6 var(--font-body);
	color: var(--text-secondary);
}
#docs_upload_box .docs_upload_again_row {
	margin: 0;
}
#docs_upload_box .docs_upload_again_row a {
	cursor: pointer;
	font: 600 12px var(--font-body);
	color: var(--accent);
}
#docs_upload_box .docs_upload .form {
	margin: 0;
}
.doc_blocks {
	position: relative;
}
.doc_colguide {
	position: absolute;
	width: 2px;
	background: var(--accent);
	box-shadow: 0 0 6px rgba(0,208,155,.6);
	pointer-events: none;
	z-index: 6;
}
.doc_tablemenu {
	position: absolute;
	z-index: 7;
	display: flex;
	align-items: center;
	gap: 2px;
	padding: 4px;
	transform: translateX(-50%);
	background: var(--surface-card);
	border: 1px solid var(--accent);
	box-shadow: var(--glow-border);
	border-radius: var(--radius-m);
	user-select: none;
}
.doc_tablemenu[hidden] {
	display: none;
}
.doc_tablemenu .tm_btn {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 2px;
	border-radius: var(--radius-s);
	color: var(--text-secondary);
	cursor: pointer;
}
.doc_tablemenu .tm_btn.wide {
	width: auto;
	padding: 0 6px;
}
.doc_tablemenu .tm_btn:hover {
	background: rgba(var(--accent-rgb),.07);
	color: var(--text-primary);
	text-decoration: none;
}
.doc_tablemenu .tm_btn.on {
	background: rgba(var(--accent-rgb),.14);
	color: var(--accent);
}
.doc_tablemenu .tm_btn.danger,
.doc_tablemenu .tm_list a.danger,
.doc_tablemenu .tm_list a.danger svg {
	color: var(--danger);
}
.doc_tablemenu .tm_sep {
	width: 1px;
	height: 22px;
	margin: 0 3px;
	background: var(--border-default);
}
.doc_tablemenu .tm_drop {
	position: relative;
}
.doc_tablemenu .tm_list {
	display: none;
	position: absolute;
	left: 0;
	top: calc(100% + 8px);
	min-width: 220px;
	padding: 6px;
	background: var(--surface-card);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	border-radius: var(--radius-m);
}
.doc_tablemenu .tm_drop.open .tm_list {
	display: block;
}
.doc_tablemenu .tm_list a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	font: 500 13px/1.2 var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
	cursor: pointer;
}
.doc_tablemenu .tm_list a svg {
	flex-shrink: 0;
	color: var(--text-muted);
}
.doc_tablemenu .tm_list a:hover {
	background: rgba(var(--accent-rgb),.07);
	color: var(--text-primary);
	text-decoration: none;
}
.doc_tablegrid {
	padding: 8px 10px 4px;
}
.doc_tablegrid[hidden] {
	display: none;
}
.doc_tablegrid .cells {
	display: grid;
	grid-template-columns: repeat(8, 22px);
	gap: 3px;
}
.doc_tablegrid .cells span {
	width: 22px;
	height: 18px;
	border-radius: 3px;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	cursor: pointer;
}
.doc_tablegrid .cells span.on {
	border-color: rgba(var(--accent-rgb),.6);
	background: rgba(var(--accent-rgb),.18);
}
.doc_tablegrid .cells span.on.head {
	background: rgba(var(--accent-rgb),.4);
}
.doc_tablegrid .size {
	margin-top: 8px;
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
#docs_upload_box .docs_upload_busy {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 8px 0;
	font: var(--text-small);
	color: var(--text-muted);
}
#docs_upload_box .docs_upload_files {
	max-height: 44vh;
	overflow-y: auto;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
}
#docs_upload_box .docs_upload_files .row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 12px;
}
#docs_upload_box .docs_upload_files .row + .row {
	border-top: 1px solid var(--border-default);
}
#docs_upload_box .docs_upload_files .ico {
	flex-shrink: 0;
	display: inline-flex;
	color: var(--accent);
}
#docs_upload_box .docs_upload_files .row.bad .ico,
#docs_upload_box .docs_upload_files .row.bad small {
	color: var(--danger);
}
#docs_upload_box .docs_upload_files .text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
#docs_upload_box .docs_upload_files .text b {
	font: 600 13px/1.35 var(--font-body);
	color: var(--text-primary);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#docs_upload_box .docs_upload_files .text small {
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
	overflow-wrap: anywhere;
}
#docs_upload_box .docs_upload_files .tag {
	flex-shrink: 0;
}
.cal_arrows {
	display: inline-flex;
	height: 40px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	overflow: hidden;
	background: var(--surface-raised);
	box-sizing: border-box;
}
.cal_arrows a {
	width: 38px;
	display: grid;
	place-items: center;
	color: var(--text-muted);
	cursor: pointer;
}
.cal_arrows a + a {
	border-left: 1px solid var(--border-strong);
}
.cal_arrows a:hover {
	color: var(--text-primary);
}
.cal_arrows .icon.left {
	transform: rotate(90deg);
}
.cal_arrows .icon.right {
	transform: rotate(-90deg);
}
.cal_views .button {
	height: 40px;
}
.cal_empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}
.cal_empty .badge {
	width: 48px;
	height: 48px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-m);
	border: 1px solid var(--accent);
	color: var(--accent);
	box-shadow: var(--glow-border);
}
.cal_empty h2 {
	margin: 0;
	font: var(--text-h2);
	letter-spacing: var(--ls-h2);
	color: var(--text-primary);
}
.cal_empty p {
	max-width: 460px;
	color: var(--text-muted);
}
.cal_loading {
	display: grid;
	place-items: center;
	padding: 60px 0;
}

.cal_nav {
	gap: 10px;
	min-width: 200px;
	max-width: 200px;
}
.cal_nav_account {
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-left: 2px solid var(--border-default);
}
.cal_nav_name {
	padding: 6px 12px 2px;
	font: 500 11px/1.4 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cal_nav_cal {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 6px 12px 6px 14px;
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cal_nav_cal.on {
	color: var(--text-secondary);
}
.cal_nav_cal:hover {
	color: var(--text-primary);
	text-decoration: none;
}
.cal_nav_cal .cal_check {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	border-radius: 4px;
	border: 1.5px solid var(--cal);
	background: transparent;
	display: grid;
	place-items: center;
	color: #0B0F0E;
}
.cal_nav_cal .cal_check svg {
	visibility: hidden;
	stroke-width: 4;
}
.cal_nav_cal.on .cal_check {
	background: var(--cal);
}
.cal_nav_cal.on .cal_check svg {
	visibility: visible;
}
.cal_nav_label {
	overflow: hidden;
	text-overflow: ellipsis;
}

.cal_week {
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.cal_week_scroll {
	overflow-x: auto;
	overscroll-behavior-x: contain;
	display: flex;
	flex-direction: column;
	max-height: calc(100vh - 250px);
	min-height: 420px;
}
.cal_grid.cal_tracked {
	grid-template-columns: 56px minmax(0, 1fr);
}
.cal_vp {
	min-width: 0;
	overflow: hidden;
}
.cal_track {
	display: grid;
	grid-template-columns: repeat(var(--days), minmax(0, 1fr));
	width: calc(100% * var(--days) / 7);
	height: 100%;
	will-change: transform;
}
.cal_swipe {
	overscroll-behavior-x: contain;
}
.cal_grid {
	display: grid;
	grid-template-columns: 56px repeat(7, minmax(0, 1fr));
}
.cal_week_head {
	border-bottom: 1px solid var(--border-strong);
	flex-shrink: 0;
}
.cal_kw {
	padding: 10px 0 6px;
	text-align: center;
	font: 500 10px/1.4 var(--font-body);
	color: var(--text-muted);
}
.cal_day_head {
	padding: 10px 8px 8px;
	border-left: 1px solid var(--border-default);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	cursor: pointer;
}
.cal_day_head .wd {
	font: 500 12px/1 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.cal_day_head .num {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	color: var(--text-primary);
	font: 600 14px/1 var(--font-body);
}
.cal_day_head.today .wd {
	color: var(--accent);
}
.cal_day_head.today .num {
	background: var(--accent);
	color: var(--on-accent);
}
.cal_allday_row {
	border-bottom: 1px solid var(--border-strong);
	flex-shrink: 0;
}
.cal_allday_label {
	padding: 6px 0;
	text-align: center;
	font: 400 10px/1.4 var(--font-body);
	color: var(--text-muted);
}
.cal_allday_cell {
	border-left: 1px solid var(--border-default);
	padding: 4px;
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-height: 28px;
	min-width: 0;
}
.cal_allday_block {
	position: relative;
	padding: 3px 8px 3px 13px;
	background: color-mix(in srgb, var(--cal) 18%, transparent);
	font: 600 11px/1.4 var(--font-body);
	color: var(--cal);
	cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cal_bar {
	position: absolute;
	left: 3px;
	top: 4px;
	bottom: 4px;
	width: 3px;
	border-radius: 2px;
	background: var(--cal);
}
.cal_allday_block .cal_bar {
	top: 3px;
	bottom: 3px;
}
.cal_week_body {
	overflow-y: auto;
	flex: 1;
	min-height: 0;
}
.cal_hours {
	position: relative;
}
.cal_time_col {
	position: relative;
}
.cal_time_col span {
	position: absolute;
	right: 8px;
	font: 400 10px/1.4 var(--font-body);
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
}
.cal_day_col {
	position: relative;
	border-left: 1px solid var(--border-default);
	background-image: repeating-linear-gradient(to bottom, var(--border-default) 0 1px, transparent 1px var(--cal-h, 48px));
	cursor: crosshair;
	user-select: none;
}
.cal_day_col.today {
	background-color: rgba(var(--accent-rgb),.025);
}
.cal_block {
	position: absolute;
	overflow: hidden;
	box-sizing: border-box;
	padding: 4px 8px 4px 13px;
	background: color-mix(in srgb, var(--cal) 18%, transparent);
	cursor: pointer;
	z-index: 2;
	transition: filter .12s;
	color: var(--cal);
}
.cal_block.compact {
	padding: 2px 6px 2px 12px;
}
.cal_block:hover {
	filter: brightness(1.25);
}
.cal_block_head {
	display: flex;
	align-items: flex-start;
	gap: 6px;
}
.cal_block_title {
	flex: 1;
	min-width: 0;
	font: 600 12px/1.3 var(--font-body);
	overflow: hidden;
	text-overflow: ellipsis;
}
.cal_block_title.nowrap {
	white-space: nowrap;
}
.cal_block_time_inline {
	font-weight: 400;
	opacity: .8;
}
.cal_block_icons {
	display: flex;
	gap: 4px;
	opacity: .8;
	flex-shrink: 0;
}
.cal_block_line {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 2px;
	font: 400 11px/1.3 var(--font-body);
	opacity: .85;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cal_block_line span {
	overflow: hidden;
	text-overflow: ellipsis;
}
.cal_block_line svg {
	flex-shrink: 0;
}
.cal_now {
	position: absolute;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--danger);
	z-index: 4;
	pointer-events: none;
}
.cal_now span {
	position: absolute;
	left: -5px;
	top: -4px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--danger);
}
.cal_ghost {
	position: absolute;
	left: 2px;
	right: 3px;
	box-sizing: border-box;
	padding: 4px 8px 4px 10px;
	background: rgba(var(--accent-rgb),.22);
	border-left: 3px solid var(--accent);
	font: 600 12px/1.3 var(--font-body);
	color: var(--accent);
	pointer-events: none;
	z-index: 3;
	overflow: hidden;
}
.cal_ghost b {
	font-weight: 600;
}
.cal_ghost span {
	display: block;
	font: 400 11px/1.3 var(--font-body);
	opacity: .85;
}

.cal_month {
	padding: 0;
	overflow: hidden;
}
.cal_month_scroll {
	overflow-x: auto;
}
.cal_month_inner {
	min-width: 700px;
}
.cal_month_head {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	border-bottom: 1px solid var(--border-strong);
}
.cal_month_head div {
	padding: 10px;
	font: 500 12px/1.4 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-secondary);
}
.cal_month_head div + div {
	border-left: 1px solid var(--border-default);
}
.cal_month_head div.weekend {
	color: var(--text-muted);
}
.cal_month_grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	grid-auto-rows: minmax(104px, auto);
}
.cal_month_cell {
	padding: 6px 6px 8px;
	border-top: 1px solid var(--border-default);
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
	cursor: pointer;
}
.cal_month_cell:nth-child(-n+7) {
	border-top: none;
}
.cal_month_cell:not(:nth-child(7n+1)) {
	border-left: 1px solid var(--border-default);
}
.cal_month_cell.weekend {
	background: rgba(255,255,255,.015);
}
.cal_month_cell.today {
	background: rgba(var(--accent-rgb),.04);
}
.cal_month_cell.outside {
	opacity: .45;
}
.cal_month_day {
	align-self: flex-start;
	width: 26px;
	height: 26px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	color: var(--text-primary);
	font: 600 13px/1 var(--font-body);
	cursor: pointer;
}
.cal_month_day:hover {
	background: var(--surface-raised);
	text-decoration: none;
}
.cal_month_cell.today .cal_month_day {
	background: var(--accent);
	color: var(--on-accent);
}
.cal_month_ev {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 2px 6px;
	font: 500 11px/1.4 var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
}
.cal_month_ev .dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--cal);
	flex-shrink: 0;
}
.cal_month_ev .t {
	color: var(--text-muted);
	flex-shrink: 0;
}
.cal_month_ev .title {
	overflow: hidden;
	text-overflow: ellipsis;
}
.cal_month_ev:hover,
.cal_month_ev.allday {
	background: color-mix(in srgb, var(--cal) 18%, transparent);
}
.cal_month_ev.allday {
	color: var(--cal);
}
.cal_month_more {
	align-self: flex-start;
	padding: 1px 6px;
	font: 500 11px/1.4 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
}
.cal_month_more:hover {
	color: var(--text-primary);
	text-decoration: none;
}

.cal_year {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 16px;
}
.cal_mini {
	padding: 14px;
}
.cal_mini_name {
	display: inline-block;
	padding: 0 0 8px;
	font: 600 14px/1.3 var(--font-display);
	color: var(--text-primary);
	cursor: pointer;
}
.cal_mini_name.current,
.cal_mini_name:hover {
	color: var(--accent);
	text-decoration: none;
}
.cal_mini_grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
}
.cal_mini_grid .wd {
	text-align: center;
	font: 500 9px/1.4 var(--font-body);
	color: var(--text-muted);
	padding-bottom: 2px;
}
.cal_mini_day {
	height: 26px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1px;
	border-radius: 6px;
	font: 500 11px/1 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
}
.cal_mini_day.outside {
	color: transparent;
	cursor: default;
	pointer-events: none;
}
.cal_mini_day:hover {
	background: var(--surface-raised);
	text-decoration: none;
}
.cal_mini_day.today {
	background: var(--accent);
	color: var(--on-accent);
}
.cal_mini_day .dots {
	display: flex;
	gap: 2px;
	height: 3px;
}
.cal_mini_day .dots span {
	width: 3px;
	height: 3px;
	border-radius: 50%;
}

.cal_modal .box {
	width: 560px;
}
.cal_modal.cal_remove_modal .box {
	width: 460px;
}
.cal_remove_dialog .cal_remove_text {
	margin: 0;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.cal_modal .dlg_head h2 {
	margin-bottom: 14px;
}
.cal_modal .dlg_head .subline {
	margin-bottom: 18px;
}
.cal_dialog {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.cal_dialog_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.cal_kind .button {
	height: 38px;
}
.cal_dialog_title {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 190px;
	gap: 12px;
}
.cal_dialog_title input {
	height: 40px;
	font: 400 14px var(--font-body);
	letter-spacing: 0;
}
.cal_dialog_title .cal_picker_btn {
	height: 40px;
}
.cal_picker {
	position: relative;
	display: flex;
}
.cal_picker_btn {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 44px;
	width: 100%;
	padding: 0 32px 0 12px;
	box-sizing: border-box;
	cursor: pointer;
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	color: var(--text-primary);
	font: 400 14px/1.3 var(--font-body);
	white-space: nowrap;
	position: relative;
}
.cal_picker_btn:hover {
	text-decoration: none;
}
.cal_picker.open .cal_picker_btn {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.cal_picker_btn > svg {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--text-muted);
	transition: transform .15s;
}
.cal_picker.open .cal_picker_btn > svg {
	transform: translateY(-50%) rotate(180deg);
}
.cal_picker_name {
	overflow: hidden;
	text-overflow: ellipsis;
}
.cal_dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex-shrink: 0;
	display: inline-block;
}
.cal_picker_menu {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 6px);
	width: auto;
	box-sizing: border-box;
	background: var(--surface-card);
	border: 1px solid var(--accent);
	border-radius: var(--radius-m);
	box-shadow: var(--glow-border);
	padding: 6px;
	z-index: 60;
	max-height: 320px;
	overflow-y: auto;
}
.cal_picker.open .cal_picker_menu {
	display: block;
}
.cal_picker_group {
	padding: 6px 10px 2px;
	font: 500 11px/1.4 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cal_picker_item {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 7px 10px;
	border-radius: var(--radius-s);
	color: var(--text-secondary);
	font: 400 13px/1.3 var(--font-body);
	cursor: pointer;
	box-sizing: border-box;
}
.cal_picker_item svg {
	margin-left: auto;
	color: var(--text-muted);
}
.cal_picker_item:hover {
	background: var(--surface-raised);
	text-decoration: none;
}
.cal_picker_item.active {
	background: rgba(var(--accent-rgb),.08);
	color: var(--accent);
}
.cal_dialog_place {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
}
.cal_video_btn {
	height: 40px;
	width: 44px;
	display: grid;
	place-items: center;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	color: var(--text-muted);
	cursor: pointer;
}
.cal_video_btn.on {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.08);
	color: var(--accent);
}
.cal_dialog_when {
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.cal_when_line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	font: 500 14px/1.3 var(--font-body);
	color: var(--text-primary);
}
.cal_when_line b {
	font-weight: 500;
}
.cal_when_line span span {
	color: var(--text-secondary);
}
.cal_when_grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 10px;
}
.cal_when_grid.allday {
	grid-template-columns: 1fr;
}
.cal_when_grid.allday .time {
	display: none;
}
.cal_when_grid2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.cal_dialog label.lbl,
.cal_add_dialog label.lbl,
.data .cal_dialog label.lbl {
	display: block;
	margin-bottom: 6px;
	font: 500 12px/1.4 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.cal_dialog input[type="date"],
.cal_dialog input[type="time"] {
	color-scheme: dark;
	width: 100%;
	box-sizing: border-box;
	height: 40px;
	padding: 0 12px;
	background: var(--surface-card);
	color: var(--text-primary);
	font: 400 14px/1.3 var(--font-body);
	border-radius: var(--radius-m);
	outline: none;
	border: 1px solid var(--border-strong);
}
[data-theme="light"] .cal_dialog input[type="date"],
[data-theme="light"] .cal_dialog input[type="time"] {
	color-scheme: light;
}
.cal_select {
	position: relative;
	display: flex;
}
.cal_select select {
	appearance: none;
	-webkit-appearance: none;
	width: 100%;
	height: 40px;
	padding: 0 36px 0 12px;
	background: var(--surface-card);
	color: var(--text-primary);
	font: 400 14px/1.3 var(--font-body);
	border-radius: var(--radius-m);
	outline: none;
	cursor: pointer;
	border: 1px solid var(--border-strong);
}
.cal_select select:disabled {
	opacity: .6;
	cursor: default;
}
.cal_select > svg {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	color: var(--text-muted);
}
.cal_field_hint {
	display: block;
	margin-top: 4px;
	font: 400 11px/1.4 var(--font-body);
	color: var(--text-muted);
}
.cal_dialog_guests {
	position: relative;
}
.cal_dialog_guests input {
	padding-left: 38px;
}
.cal_dialog_guests > svg {
	position: absolute;
	left: 12px;
	top: 12px;
	color: var(--text-muted);
}
.cal_dialog textarea {
	min-height: 80px;
}
.cal_dialog_note {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font: var(--text-small);
	color: var(--text-muted);
}
.cal_dialog_task {
	margin: 0;
}
.cal_dialog.is_new {
	min-height: min(668px, 92vh);
}
.cal_dialog.is_new .cal_dialog_footer {
	margin-top: auto;
	padding-top: 4px;
}
.cal_dialog .cal_ev_group,
.cal_dialog .cal_task_group {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.cal_dialog .cal_task_only,
.cal_dialog .cal_tk_save,
.cal_dialog.kind_task .cal_ev_only,
.cal_dialog.kind_task .cal_ev_save {
	display: none;
}
.cal_dialog.kind_task .cal_task_only,
.cal_dialog.kind_task .cal_tk_save {
	display: flex;
}
.cal_dialog.kind_task .cal_task_only.cal_task_group {
	display: flex;
}
.cal_dialog_title .cal_ev_only,
.cal_dialog.kind_task .cal_dialog_title .cal_task_only {
	display: block;
	min-width: 0;
}
.cal_dialog_title {
	row-gap: 6px;
}
.cal_dialog .cal_title_error {
	grid-column: 1 / -1;
	margin: 0;
	font: 400 12px/1.4 var(--font-body);
	color: var(--danger);
}
.cal_dialog_title input.invalid,
.cal_dialog_title input.invalid:focus {
	border-color: var(--danger);
	box-shadow: none;
}
.cal_task_when.off .cal_task_plan,
.cal_task_when:not(.off) .cal_tk_none {
	display: none;
}
.cal_tk_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 20px;
}
.cal_tk_head_lbl {
	font: 500 12px/1.4 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.cal_tk_switch {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	user-select: none;
}
.cal_tk_switch_label {
	font: 400 13px/1.3 var(--font-body);
	color: var(--text-secondary);
}
.cal_tk_switch_track {
	position: relative;
	flex: 0 0 34px;
	width: 34px;
	height: 20px;
	box-sizing: border-box;
	border-radius: 10px;
	background: var(--surface-card);
	border: 1px solid var(--border-strong);
	transition: background .15s, border-color .15s;
}
.cal_tk_switch_knob {
	position: absolute;
	top: 2px;
	left: 2px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--text-muted);
	transition: left .15s, background .15s;
}
.cal_tk_switch.on .cal_tk_switch_track {
	background: var(--accent);
	border-color: var(--accent);
}
.cal_tk_switch.on .cal_tk_switch_knob {
	left: 16px;
	background: var(--on-accent);
}
.cal_tk_none {
	height: 40px;
	box-sizing: border-box;
	padding: 0 12px;
	display: flex;
	align-items: center;
	background: var(--surface-card);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	font: 400 14px/1.3 var(--font-body);
	color: var(--text-muted);
}
.cal_task_plan {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.cal_dialog #cal_tk_desc {
	min-height: 120px;
}
.cal_dialog #cal_tk_deadline {
	color-scheme: dark;
	width: 100%;
	box-sizing: border-box;
	height: 40px;
	padding: 0 12px;
	background: var(--surface-card);
	color: var(--text-primary);
	font: 400 14px/1.3 var(--font-body);
	border-radius: var(--radius-m);
	outline: none;
	border: 1px solid var(--border-strong);
}
[data-theme="light"] .cal_dialog #cal_tk_deadline {
	color-scheme: light;
}
.cal_dialog .cal_select select#cal_tk_board,
.cal_dialog .cal_select select#cal_tk_column {
	height: 40px;
}
.cal_task_mark {
	display: inline-flex;
}
.cal_task_slot.done {
	opacity: .6;
}
.cal_task_slot.done .cal_block_title,
.cal_month_ev.task.done .title {
	text-decoration: line-through;
}
.cal_dialog_task a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 600 12px/1.3 var(--font-body);
	color: var(--accent);
}
.cal_dialog_error {
	margin: 0;
	font: var(--text-small);
	color: var(--danger);
}
.cal_dialog_footer {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 4px;
}
.cal_dialog_footer .right {
	display: flex;
	gap: 12px;
}
.cal_dialog_footer .button.busy {
	pointer-events: none;
	min-width: 90px;
}
.cal_dialog.readonly input,
.cal_dialog.readonly textarea,
.cal_dialog.readonly select,
.cal_dialog.readonly .cal_toggle,
.cal_dialog.readonly .cal_video_btn,
.cal_dialog.readonly .cal_kind,
.cal_dialog.readonly .cal_picker {
	pointer-events: none;
	opacity: .7;
}

.cal_toggle,
.data .cal_toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: auto;
	flex: 0 0 auto;
	cursor: pointer;
	user-select: none;
	margin: 0;
	font: 500 13px/1.3 var(--font-body);
	line-height: 1.3;
	color: var(--text-muted);
	text-transform: none;
	letter-spacing: 0;
}
.cal_toggle_track {
	position: relative;
	width: 34px;
	height: 20px;
	border-radius: 999px;
	background: var(--border-strong);
	transition: background .15s;
	flex-shrink: 0;
}
.cal_toggle_knob {
	position: absolute;
	left: 2px;
	top: 2px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--text-primary);
	transition: left .15s;
}
.cal_toggle.on .cal_toggle_track {
	background: var(--accent);
}
.cal_toggle.on .cal_toggle_knob {
	left: 16px;
	background: var(--on-accent);
}
.cal_toggle.on {
	color: var(--text-primary);
}

.cal_toast {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 1200;
	max-width: 420px;
	padding: 12px 16px;
	border-radius: var(--radius-m);
	background: var(--surface-card);
	border: 1px solid var(--accent);
	box-shadow: var(--shadow-pop);
	color: var(--text-primary);
	font: var(--text-small);
	opacity: 0;
	transform: translateY(8px);
	transition: opacity .25s, transform .25s;
}
.cal_toast.show {
	opacity: 1;
	transform: none;
}
.cal_toast.warn {
	border-color: var(--warning);
}

.cal_settings .cal_card_head {
	display: flex;
	gap: 16px;
	margin-bottom: 0;
}
.cal_settings .cal_card_head h3 {
	margin-bottom: 2px;
}
.cal_prefs .hint {
	margin: 4px 0 0;
}
.cal_prefs .cal_pref_blocks_row {
	padding-top: 18px;
	border-top: 1px solid var(--border-default);
}
.cal_prefs .cal_pref_blocks {
	font: 500 14px/1.3 var(--font-body);
}
.cal_card_head .hint {
	margin-bottom: 0;
}
.cal_card_head {
	margin-bottom: 18px;
	align-items: flex-start;
}
.cal_card_head > div {
	flex: 1 1 260px;
	min-width: 0;
}
.cal_card_head > .button {
	flex-shrink: 0;
}
.cal_accounts {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.cal_none {
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-muted);
}
.cal_account_card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 14px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	flex-wrap: wrap;
	transition: border-color .15s;
}
.cal_logo {
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-primary);
	font: 700 16px/1 var(--font-display);
	flex-shrink: 0;
}
.cal_account_text {
	flex: 1;
	min-width: 180px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.cal_account_name {
	font: 600 14px/1.3 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cal_account_state {
	display: flex;
	align-items: center;
	gap: 6px;
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
.cal_account_state .dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--accent);
	flex-shrink: 0;
}
.cal_account_state .dot.off {
	background: var(--text-muted);
}
.cal_account_state .dot.warn {
	background: var(--warning);
}
.cal_account_error {
	font: 400 12px/1.4 var(--font-body);
	color: var(--warning);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 420px;
}
.cal_account_actions {
	display: flex;
	gap: 2px;
}
.cal_account_actions .mini_btn {
	width: 30px;
	height: 30px;
}
.cal_account_actions .mini_btn:hover {
	color: var(--accent);
}
.cal_account_actions .mini_btn.danger:hover,
.cal_account_actions .mini_btn.confirm {
	color: var(--danger);
}
.cal_account_actions .mini_btn.spin svg {
	animation: cal_spin 1s linear infinite;
}
@keyframes cal_spin {
	to { transform: rotate(360deg); }
}
.cal_oauth_message {
	margin: 14px 0 0;
	font: var(--text-small);
	color: var(--warning);
}
.cal_groups {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.cal_group_name {
	margin-bottom: 6px;
	font: 500 11px/1.4 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.cal_group_list {
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	overflow: visible;
}
.cal_row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 12px;
	background: var(--surface-raised);
	position: relative;
}
.cal_row:first-child {
	border-radius: var(--radius-m) var(--radius-m) 0 0;
}
.cal_row:last-child {
	border-radius: 0 0 var(--radius-m) var(--radius-m);
}
.cal_row:only-child {
	border-radius: var(--radius-m);
}
.cal_row + .cal_row {
	border-top: 1px solid var(--border-default);
}
.cal_row_empty {
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-muted);
}
.cal_color_wrap {
	position: relative;
	display: inline-flex;
}
.cal_color_btn {
	width: 16px;
	height: 32px;
	display: grid;
	place-items: center;
	cursor: pointer;
}
.cal_color_btn .cal_dot {
	width: 4px;
	height: 24px;
	border-radius: 2px;
	transition: box-shadow .15s;
}
.cal_color_wrap:has(.cal_palette) .cal_dot {
	box-shadow: 0 0 10px currentColor;
}
.cal_palette {
	position: absolute;
	left: 0;
	top: calc(100% + 6px);
	display: grid;
	grid-template-columns: repeat(6, 26px);
	gap: 6px;
	padding: 8px;
	background: var(--surface-card);
	border: 1px solid var(--accent);
	border-radius: var(--radius-m);
	box-shadow: var(--glow-border);
	z-index: 60;
}
.cal_swatch {
	width: 26px;
	height: 26px;
	display: grid;
	place-items: center;
	border-radius: 7px;
	cursor: pointer;
}
.cal_swatch span {
	width: 18px;
	height: 18px;
	border-radius: 5px;
	background: var(--c);
}
.cal_swatch.active span {
	box-shadow: 0 0 0 2px var(--surface-card), 0 0 0 3.5px var(--c);
}
.cal_row_name {
	flex: 1;
	min-width: 0;
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cal_row_name.editable {
	cursor: text;
}
.cal_row_name.editing {
	overflow: visible;
}
.cal_row_name.saving {
	opacity: .6;
}
.cal_row_name .cal_rename,
.data .cal_row_name .cal_rename {
	width: 100%;
	max-width: 320px;
	height: 28px;
	padding: 0 8px;
	margin: -2px 0;
	font: 500 13px/1.3 var(--font-body);
}
.cal_ro {
	font: 400 11px/1 var(--font-body);
	color: var(--text-muted);
	margin-left: 6px;
}
.cal_std {
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 10px;
	border: 1px solid transparent;
	border-radius: 999px;
	color: var(--text-muted);
	font: 500 11px/1 var(--font-body);
	white-space: nowrap;
	cursor: pointer;
}
.cal_std:hover {
	color: var(--text-primary);
	text-decoration: none;
}
.cal_std.is_std {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.08);
	color: var(--accent);
	cursor: default;
}
.cal_std:not(.is_std) {
	opacity: 0;
	transition: opacity .12s;
}
.cal_row:hover .cal_std:not(.is_std),
.cal_std:not(.is_std):focus-visible {
	opacity: 1;
}
@media (hover: none) {
	.cal_std:not(.is_std) {
		opacity: 1;
	}
}
.cal_row .cal_toggle {
	margin-left: auto;
	flex-direction: row-reverse;
	gap: 10px;
}

.cal_add_dialog {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.cal_provider_list {
	display: grid;
	gap: 10px;
}
.cal_provider_btn {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 14px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	cursor: pointer;
	text-align: left;
	color: var(--text-muted);
	transition: border-color .15s, box-shadow .15s;
}
.cal_provider_btn:hover {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
	text-decoration: none;
}
.cal_provider_btn .cal_logo {
	width: 34px;
	height: 34px;
	font-size: 15px;
}
.cal_provider_btn .text {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.cal_provider_btn .name {
	font: 600 14px/1.3 var(--font-body);
	color: var(--text-primary);
}
.cal_provider_btn .hint {
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
	margin: 0;
}
.cal_add_head {
	display: flex;
	align-items: center;
	gap: 12px;
}
.cal_add_head .cal_logo {
	width: 34px;
	height: 34px;
	font-size: 15px;
}
.cal_add_head .name {
	font: 600 14px/1.3 var(--font-body);
	color: var(--text-primary);
}
.cal_add_switch {
	margin-left: auto;
	font: 500 12px/1.3 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
}
.cal_add_switch:hover {
	color: var(--text-primary);
	text-decoration: none;
}
.cal_add_field input {
	width: 100%;
	box-sizing: border-box;
}
.cal_add_hint {
	margin: 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.cal_add_hint a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.cal_add_hint a:hover {
	color: var(--accent-hover);
}
#cal_add_state .mail_oauth_box {
	margin-top: 4px;
}

@media (max-width: 770px) {
	body:not(.static) .cal_nav {
		flex-direction: row;
		max-width: none;
		min-width: 0;
		gap: 2px;
	}
	body:not(.static) .cal_nav_account {
		flex-direction: row;
		border-left: none;
	}
	body:not(.static) .cal_nav_name {
		display: none;
	}
	body:not(.static) .cal_grid {
		grid-template-columns: 56px repeat(7, 150px);
		min-width: 1106px;
	}
		body:not(.static) .cal_grid.cal_tracked {
		grid-template-columns: 56px 1050px;
	}
	body:not(.static) .cal_vp {
		overflow: visible;
	}
	body:not(.static) .cal_track {
		width: 1050px;
		grid-template-columns: repeat(7, 150px);
		transform: none !important;
	}
		body:not(.static) .cal_week_body {
		width: max-content;
		min-width: 100%;
		overflow-x: hidden;
	}
	body:not(.static) .cal_dialog_title,
	body:not(.static) .cal_when_grid,
	body:not(.static) .cal_when_grid2 {
		grid-template-columns: 1fr;
	}
}

.docs_leave_dialog p {
	margin: 0 0 18px;
	font: var(--text-body);
	color: var(--text-secondary);
}

.content-card.list-card:has(.options:hover) {
	position: relative;
	z-index: 150;
}

.settings-card:has(.options:hover) {
	position: relative;
	z-index: 150;
}

#insert_box .center .mail_servers_toggle {
	margin-right: auto;
}
#insert_box .info .mail_servers_hint {
	color: var(--text-muted);
}

.mail_attachment .suggested {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 9px;
	border-radius: 999px;
	border: 1px solid var(--warning);
	color: var(--warning);
	font: 600 11px/1.3 var(--font-body);
	cursor: pointer;
	white-space: nowrap;
}

#insert_box .mail_provider_hint .mail_hint_box {
	margin: 0;
	padding: 12px 14px;
	border-radius: var(--radius-m);
	border: 1px solid var(--warning);
	background: rgba(201,138,27,.08);
	font: var(--text-small);
	line-height: 1.5;
	color: var(--text-secondary);
}
#insert_box .mail_provider_hint .mail_hint_box a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 2px;
	white-space: nowrap;
}
.mail_list .mail_state a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 2px;
	word-break: break-all;
}


.cal_gear {
	width: 40px;
	height: 40px;
	box-sizing: border-box;
	display: inline-grid;
	place-items: center;
	flex-shrink: 0;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-secondary);
	transition: color .12s, border-color .12s;
}
.cal_gear:hover {
	color: var(--accent);
	border-color: var(--accent);
	text-decoration: none;
}

.dash_events {
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.dash_ev_allday {
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin-bottom: 4px;
}
.dash_ev {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 7px 10px 7px 14px;
	background: color-mix(in srgb, var(--cal) 18%, transparent);
	color: var(--cal);
	cursor: pointer;
	text-decoration: none;
	transition: filter .12s;
}
.dash_ev:hover {
	color: var(--cal);
	filter: brightness(1.25);
	text-decoration: none;
}
.dash_ev.allday {
	padding: 4px 10px 4px 14px;
}
.dash_ev.allday .title {
	font: 600 11px/1.4 var(--font-body);
}
.dash_ev.past {
	opacity: .45;
}
.dash_ev .l1 {
	display: flex;
	align-items: baseline;
	gap: 8px;
	min-width: 0;
}
.dash_ev .title {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font: 600 13px/1.35 var(--font-body);
}
.dash_ev.done .title {
	text-decoration: line-through;
}
.dash_ev .now {
	flex-shrink: 0;
	font: 600 10px/1 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--danger);
}
.dash_ev .l2 {
	display: flex;
	align-items: center;
	gap: 5px;
	min-width: 0;
	font: 400 11px/1.35 var(--font-body);
	opacity: .85;
}
.dash_ev .l2 span {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.dash_ev .l2 svg {
	flex-shrink: 0;
}
.dash_now {
	position: relative;
	height: 2px;
	margin: 5px 0 5px 5px;
	background: var(--danger);
}
.dash_now span {
	position: absolute;
	left: -5px;
	top: -4px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--danger);
}
.dash_ev_done {
	margin: 8px 0 0;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-muted);
}
.dash_ev_none {
	margin: auto;
	padding: 24px 0;
	text-align: center;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-muted);
}
.dash_events:has(.dash_ev_none) {
	flex: 1;
}
.cal_toolbar {
	position: relative;
	z-index: 20;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
}
.cal_toolbar .spacer {
	flex: 1;
}
.cal_bar_nav,
.cal_bar_right {
	display: flex;
	align-items: center;
	gap: 10px;
}
.cal_pick {
	position: relative;
	width: 200px;
}
.cal_pick_btn {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	height: 40px;
	padding: 0 12px 0 14px;
	box-sizing: border-box;
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	font: 500 14px var(--font-body);
	color: var(--text-primary);
	text-align: left;
	cursor: pointer;
	transition: border-color .15s, box-shadow .2s;
}
.cal_pick_btn .cal_pick_label {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.cal_pick_btn .icon {
	flex-shrink: 0;
	color: var(--text-muted);
	transition: transform .15s;
}
.cal_pick.open .cal_pick_btn,
.cal_pick_btn:hover {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.cal_pick.open .cal_pick_btn .icon {
	color: var(--accent);
	transform: rotate(180deg);
}
.cal_pick_menu {
	display: none;
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	width: 260px;
	max-height: 60vh;
	overflow-y: auto;
	box-sizing: border-box;
	padding: 6px;
	background: var(--popover-bg);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	box-shadow: var(--shadow-pop);
}
.cal_pick.open .cal_pick_menu {
	display: block;
}
.cal_pick_menu .cal_l4 {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 4px 0;
}
.cal_pick_menu .cal_nav_account {
	border-left: none;
}
.cal_pick_menu .cal_nav_name {
	padding: 6px 10px 2px;
}
.cal_pick_menu .cal_nav_cal {
	padding: 7px 10px;
	border-radius: var(--radius-s);
}
.cal_pick_menu .cal_nav_cal:hover {
	background: rgba(var(--accent-rgb), .06);
}
.cal_pick_all,
.cal_pick_manage {
	display: block;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
	text-decoration: none;
}
.cal_pick_all {
	border-bottom: 1px solid var(--border-default);
	border-radius: 0;
}
.cal_pick_manage {
	border-top: 1px solid var(--border-default);
	border-radius: 0;
	color: var(--text-muted);
}
.cal_pick_all:hover,
.cal_pick_manage:hover {
	color: var(--accent);
	text-decoration: none;
}
.bk_bar {
	position: relative;
	z-index: 20;
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
}
.bk_bar .spacer {
	flex: 1;
}
.bk_bar_slot,
.bk_bar_right {
	display: contents;
}
.bk_bar:has(.bk_bar_slot:empty):has(.bk_bar_right:empty):not(:has(.list-actions)) {
	display: none;
}
.bk_bar_slot .bk_search {
	margin: 0;
}
.nav_pick .select,
.list-filter .nav_pick .select:not(.pill),
.nav_pick .select > input {
	width: 200px;
}
@media (max-width: 770px) {
	body:not(.static) .cal_toolbar .spacer {
		display: none;
	}
	body:not(.static) .cal_pick {
		width: 100%;
	}
}

#receipt_box .receipt_error {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font: 400 13px/1.4 var(--font-body);
	color: var(--danger);
}
#receipt_box .receipt_error[hidden] {
	display: none;
}
#receipt_box .receipt_error .icon {
	flex-shrink: 0;
}
.receipt_drop.error,
.receipt_drop.error:hover {
	border-color: var(--danger);
}
.receipt_file .thumb.xml {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	color: var(--accent);
}
.receipt_file .thumb.xml b {
	font: 700 8px/1 var(--font-body);
	letter-spacing: .04em;
	color: var(--accent);
}
.receipt_versions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0 0;
	padding: 2px 2px 0;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.receipt_versions a {
	font: 500 12px var(--font-body);
}
#receipt_box .box {
	width: 600px;
}
#receipt_box .close {
	position: absolute;
	top: 20px;
	right: 20px;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .15s;
}
#receipt_box .close:hover {
	color: var(--text-primary);
}
#receipt_box h2 {
	margin: 0;
	padding-right: 36px;
	font: 600 19px/1.3 var(--font-display);
	letter-spacing: -.01em;
	color: var(--text-primary);
}
#receipt_box .subline {
	margin: 4px 0 0;
	font: var(--text-small);
	color: var(--text-muted);
}

.receipt_booking {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 18px 0 20px;
	padding: 12px 16px 12px 20px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	overflow: hidden;
}
.receipt_booking:before {
	content: '';
	position: absolute;
	left: 6px;
	top: 10px;
	bottom: 10px;
	width: 3px;
	border-radius: 2px;
	background: var(--accent);
}
.receipt_booking.debit:before {
	background: var(--danger);
}
.receipt_booking .who {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.receipt_booking .who .name {
	font: 600 14px/1.3 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.receipt_booking .who .purpose {
	margin-top: 2px;
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.receipt_booking .sum {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.receipt_booking .sum .amount {
	font: 600 17px/1.2 var(--font-display);
	letter-spacing: -.01em;
	font-variant-numeric: tabular-nums;
	color: var(--accent);
}
.receipt_booking.debit .sum .amount {
	color: var(--danger);
}
.receipt_booking .sum .date {
	margin-top: 2px;
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}

#receipt_box .dlg_tabs {
	display: flex;
	gap: 22px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--border-default);
}
#receipt_box .dlg_tabs .tab {
	padding: 0 2px 10px;
	margin-bottom: -1px;
	border-bottom: 2px solid transparent;
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .15s;
}
#receipt_box .dlg_tabs .tab:hover {
	color: var(--text-primary);
}
#receipt_box .dlg_tabs .tab.active {
	color: var(--accent);
	font-weight: 600;
	border-bottom-color: var(--accent);
}
#receipt_box .tab_pane[hidden] {
	display: none;
}
#receipt_box .tab_pane {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
#receipt_box .receipt_hint {
	margin: 0;
	font: var(--text-small);
	color: var(--text-muted);
}
#receipt_box .receipt_label {
	margin: 0 0 8px;
	font: 500 12px/1.3 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#receipt_box .receipt_foot {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 24px;
}
#receipt_box .button.disabled {
	opacity: .45;
	cursor: default;
	pointer-events: none;
}
#receipt_box .button.full {
	width: 100%;
	justify-content: center;
}

.receipt_drop {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 26px 16px;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-m);
	text-align: center;
	cursor: pointer;
	transition: border-color .15s, box-shadow .15s, opacity .15s;
}
.receipt_drop:hover,
.receipt_drop.over {
	border-color: var(--accent);
}
.receipt_drop.over {
	box-shadow: var(--glow-border);
}
.receipt_drop.busy {
	opacity: .5;
	pointer-events: none;
}
.receipt_drop .icon {
	color: var(--accent);
}
.receipt_drop .title {
	font: 600 14px/1.3 var(--font-body);
	color: var(--text-primary);
}
.receipt_drop .note {
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
.receipt_or {
	display: flex;
	align-items: center;
	gap: 12px;
}
.receipt_or .line {
	flex: 1;
	height: 1px;
	background: var(--border-default);
}
.receipt_or em {
	font: 400 12px/1 var(--font-body);
	font-style: normal;
	color: var(--text-muted);
}

.receipt_files {
	display: flex;
	flex-direction: column;
}
.receipt_files .receipt_label {
	margin-bottom: 8px;
}
.receipt_file {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 10px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.receipt_file + .receipt_file {
	margin-top: 8px;
}
.receipt_file .thumb {
	flex-shrink: 0;
	display: grid;
	place-items: center;
	width: 34px;
	height: 44px;
	border-radius: 4px;
	border: 1px solid var(--border-strong);
	background: #fff;
	overflow: hidden;
}
.receipt_file .thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.receipt_file .thumb.empty {
	background: var(--surface-card);
}
.receipt_file .thumb b {
	font: 700 9px/1 var(--font-body);
	color: var(--danger);
}
.receipt_file .thumb .icon {
	color: var(--accent);
}
.receipt_file .meta {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.receipt_file .meta .name {
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.receipt_file .meta .sub {
	font: 400 11px/1.4 var(--font-body);
	color: var(--text-muted);
}
.receipt_file .mini {
	flex-shrink: 0;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .15s;
}
.receipt_file .receipt_file_open:hover {
	color: var(--accent);
}
.receipt_file .receipt_file_remove:hover {
	color: var(--danger);
}

@media (orientation: portrait) and (max-width: 700px) {
	.receipt_scanner .cam {
		aspect-ratio: 3 / 4;
		max-height: 60vh;
	}
}

#receipt_box .receipt_search {
	width: 100%;
}
.receipt_bills {
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	max-height: 300px;
	overflow-y: auto;
}
.receipt_bill {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 12px;
	background: var(--surface-raised);
	cursor: pointer;
		text-transform: none;
	letter-spacing: normal;
}
.receipt_bill + .receipt_bill {
	border-top: 1px solid var(--border-default);
}
.receipt_bill.on {
	background: rgba(var(--accent-rgb),.06);
}
.receipt_bill input[type="checkbox"] {
	flex-shrink: 0;
}
.receipt_bill .num {
	flex-shrink: 0;
	font: 600 13px/1.3 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
.receipt_bill.on .num {
	color: var(--accent);
}
.receipt_bill .who {
	flex: 1;
	min-width: 0;
	font: 400 13px/1.3 var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.receipt_bill .who em {
	font-style: normal;
	color: var(--text-muted);
}
.receipt_bill .date {
	flex-shrink: 0;
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-muted);
}
.receipt_bill .total {
	flex-shrink: 0;
	min-width: 86px;
	text-align: right;
	font: 500 13px/1.3 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
.receipt_bill .total.match {
	color: var(--accent);
}
.receipt_bills .empty {
	margin: 0;
	padding: 20px;
	text-align: center;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-muted);
}
.receipt_sum {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-secondary);
}
.receipt_sum .icon {
	flex-shrink: 0;
	color: var(--text-muted);
}
.receipt_sum b {
	color: var(--text-primary);
	font-variant-numeric: tabular-nums;
}
.receipt_sum i {
	font-style: normal;
	color: var(--warning);
}
.receipt_sum.match {
	border-color: var(--accent);
}
.receipt_sum.match .icon {
	color: var(--accent);
}
.receipt_sum.diff {
	border-color: var(--warning);
}
.receipt_sum.diff .icon {
	color: var(--warning);
}

.list-view.bank-receipts li p[data-id='receipt'] .receipt_add {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: var(--radius-s);
	color: var(--warning);
	cursor: pointer;
	transition: background .12s;
}
.list-view.bank-receipts li p[data-id='receipt'] .receipt_add:hover {
	background: color-mix(in srgb, var(--warning) 12%, transparent);
}

body.sc_offen {
	overflow: hidden;
}
.sc {
	position: fixed;
	inset: 0;
	z-index: 1700;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--surface-page);
	color: var(--text-primary);
	font-family: var(--font-body);
}
.sc_rahmen {
	position: relative;
	width: 100%;
	height: 100dvh;
	box-sizing: border-box;
	overflow: hidden;
}
.sc_dunkel,
.sc_nummer,
.sc .sc_kachel_menu {
	--surface-page: var(--ink-950);
	--surface-card: var(--ink-900);
	--surface-raised: var(--ink-850);
	--surface-glass: rgba(16, 20, 19, .30);
	--border-default: var(--ink-800);
	--border-strong: var(--ink-700);
	--text-primary: var(--gray-100);
	--text-secondary: var(--gray-300);
	--text-muted: var(--gray-400);
	--accent: var(--green-500);
	--on-accent: var(--green-900);
	--danger: var(--red-400);
	--warning: var(--amber-400);
	--overlay-bg: rgba(10, 12, 11, .55);
	--secondary-rgb: 242, 245, 244;
	color: var(--text-primary);
}
@media (min-width: 720px) {
	.sc {
		background: var(--overlay-bg);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
	}
	.sc_rahmen {
		width: 560px;
		height: min(90vh, 900px);
		border: 1px solid var(--border-strong);
		border-radius: var(--radius-l);
		box-shadow: var(--shadow-pop);
	}
}
.sc :where(button:not(.button)) {
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
	color: inherit;
	font: inherit;
	cursor: pointer;
}
.sc_kamera,
.sc_ecken,
.sc_ergebnis,
.sc_seiten {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	background: var(--surface-page);
}
.sc_kamera video,
.sc_ueberlagerung {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sc_flaeche {
	fill: var(--accent);
	fill-opacity: .2;
	stroke: var(--accent);
	stroke-linejoin: round;
}
.sc_kopf {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	padding: calc(var(--space-3) + env(safe-area-inset-top)) var(--space-4) var(--space-3);
}
.sc_mitte {
	flex: 1;
	min-width: 0;
	display: flex;
	justify-content: center;
}
.sc_stand,
.sc_kapsel,
.sc .sc_kapsel_wahl {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 var(--space-3);
	box-sizing: border-box;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--overlay-bg);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	color: var(--text-primary);
	font: 500 13px var(--font-body);
	white-space: nowrap;
}
.sc_stand[hidden] {
	display: none;
}
.sc_stand.an {
	color: var(--accent);
}
.sc .sc_kapsel_wahl {
	border-color: var(--border-strong);
}
.sc .sc_kapsel_wahl.an {
	border-color: var(--accent);
	color: var(--accent);
}
.sc .sc_rund,
.sc_werkzeug span {
	flex-shrink: 0;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	border: 1px solid var(--border-strong);
	border-radius: 50%;
	background: var(--overlay-bg);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
}
.sc .sc_rund {
	width: 44px;
	height: 44px;
	color: var(--text-primary);
}
.sc .sc_fertig {
	color: var(--text-muted);
	cursor: default;
}
.sc .sc_fertig.an {
	border-color: var(--accent);
	color: var(--accent);
	cursor: pointer;
}
.sc_kein_zugriff {
	position: absolute;
	left: var(--space-5);
	right: var(--space-5);
	top: 50%;
	z-index: 3;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-4);
	text-align: center;
}
.sc_kein_zugriff[hidden] {
	display: none;
}
.sc_kein_zugriff p {
	margin: 0;
	font: var(--text-small);
	line-height: 1.5;
	color: var(--text-secondary);
}
.sc_unten {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	padding: var(--space-7) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));
	background: linear-gradient(to top, var(--overlay-bg), transparent);
}
.sc_hinweis {
	margin-bottom: var(--space-3);
	text-align: center;
}
.sc_hinweis[hidden] {
	display: none;
}
.sc_hinweis span {
	display: inline-block;
	padding: var(--space-2) var(--space-3);
	border-radius: var(--radius-m);
	background: var(--overlay-bg);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	font: var(--text-small);
	line-height: 1.5;
	color: var(--text-primary);
}
.sc_filterzeile {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-bottom: var(--space-4);
}
.sc_werkzeuge {
	display: flex;
	justify-content: center;
	gap: var(--space-5);
	margin-bottom: var(--space-4);
}
.sc .sc_werkzeug {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-1);
	width: 60px;
	color: var(--text-primary);
	font: 500 12px var(--font-body);
}
.sc .sc_werkzeug.an {
	color: var(--accent);
}
.sc_werkzeug span {
	width: 48px;
	height: 48px;
}
.sc_werkzeug.an span {
	border-color: var(--accent);
}
.sc_ausloeser_zeile {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
}
.sc_stapel_platz {
	justify-self: start;
	min-width: 48px;
}
.sc .sc_stapel {
	position: relative;
	display: block;
	width: 48px;
	height: 64px;
	box-sizing: border-box;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-s);
	background: var(--surface-raised);
}
.sc_stapel img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	border-radius: var(--radius-s);
}
.sc_stapel b {
	position: absolute;
	top: -8px;
	right: -8px;
	min-width: 20px;
	height: 20px;
	padding: 0 var(--space-1);
	box-sizing: border-box;
	display: grid;
	place-items: center;
	border-radius: 999px;
	background: var(--accent);
	color: var(--on-accent);
	font: 600 12px var(--font-body);
}
.sc .sc_ausloeser {
	width: 72px;
	height: 72px;
	box-sizing: border-box;
	display: grid;
	place-items: center;
	border: 4px solid var(--text-primary);
	border-radius: 50%;
}
.sc_ausloeser span {
	display: block;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--text-primary);
}
.sc h2 {
	margin: 0;
	font: 600 19px var(--font-display);
	letter-spacing: -.01em;
	color: var(--text-primary);
}
.sc_titel {
	padding: calc(var(--space-4) + env(safe-area-inset-top)) var(--space-4) var(--space-3);
	text-align: center;
}
.sc_titel p,
.sc_frage p {
	margin: var(--space-1) 0 0;
	font: var(--text-small);
	line-height: 1.5;
	color: var(--text-muted);
}
.sc_ecken_flaeche {
	flex: 1;
	min-height: 0;
	display: flex;
	padding: 0 var(--space-4) var(--space-3);
}
.sc_ecken_bild {
	width: 100%;
	height: 100%;
	touch-action: none;
	user-select: none;
	-webkit-user-select: none;
}
.sc_ecken_bild .sc_abdunkeln {
	fill: rgba(0, 0, 0, .55);
}
.sc_linie {
	stroke: var(--accent);
}
.sc_griff {
	cursor: grab;
}
.sc_griff .zone {
	fill: transparent;
}
.sc_griff .punkt {
	fill: var(--text-primary);
	stroke: var(--accent);
}
.sc_lupe {
	pointer-events: none;
}
.sc_lupe .grund {
	fill: #000;
}
.sc_lupe .ring {
	stroke: var(--text-primary);
}
.sc_lupe .kreuz {
	stroke: var(--accent);
	fill: none;
}
.sc_fuss {
	display: flex;
	gap: var(--space-3);
	padding: var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));
	background: var(--surface-card);
	border-top: 1px solid var(--border-default);
}
.sc_fuss .button {
	flex: 1;
	justify-content: center;
}
.sc_ergebnis_kopf {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	padding: calc(var(--space-3) + env(safe-area-inset-top)) var(--space-4) var(--space-3);
}
.sc .sc_text_knopf {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	height: 32px;
	color: var(--text-secondary);
	font: 600 13px var(--font-body);
}
.sc_dok {
	flex: 1;
	min-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 var(--space-5);
}
.sc_dok img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: var(--radius-s);
	box-shadow: var(--shadow-pop);
}
.sc_filterwahl {
	display: flex;
	justify-content: center;
	gap: var(--space-3);
	padding: var(--space-3) var(--space-4);
	overflow-x: auto;
	scrollbar-width: none;
}
.sc .sc_filter_bild {
	flex-shrink: 0;
	width: 72px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-1);
	font: 500 12px var(--font-body);
	color: var(--text-muted);
}
.sc .sc_filter_bild.an {
	font-weight: 600;
	color: var(--accent);
}
.sc_filter_bild span {
	width: 56px;
	height: 72px;
	box-sizing: border-box;
	overflow: hidden;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-s);
	background: var(--surface-raised);
}
.sc_filter_bild.an span {
	border-color: var(--accent);
}
.sc_filter_bild img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}
.sc_seiten_kopf {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	padding: calc(var(--space-4) + env(safe-area-inset-top)) var(--space-4) var(--space-4);
	border-bottom: 1px solid var(--border-default);
}
.sc_seiten_kopf h2 {
	flex: 1;
}
.sc .sc_klein {
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
}
.sc_raster {
	flex: 1;
	overflow-y: auto;
	padding: var(--space-4);
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: var(--space-3);
	align-content: start;
	scrollbar-width: none;
}
.sc_kachel {
	position: relative;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.sc .sc_kachel_auf {
	position: absolute;
	inset: 0;
}
.sc_kachel_auf img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}
.sc_nummer {
	position: absolute;
	left: var(--space-2);
	bottom: var(--space-2);
	padding: 2px var(--space-2);
	border-radius: 999px;
	background: var(--overlay-bg);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	font: 600 12px var(--font-body);
}
.sc .sc_kachel_menu {
	position: absolute;
	top: var(--space-2);
	right: var(--space-2);
	width: 32px;
	height: 32px;
	box-sizing: border-box;
	display: grid;
	place-items: center;
	border: 1px solid var(--border-strong);
	border-radius: 50%;
	background: var(--overlay-bg);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
}
.sc_menu {
	position: fixed;
	z-index: 1710;
	width: 180px;
	box-sizing: border-box;
	padding: 6px;
	background: var(--surface-card);
	border: 1px solid var(--accent);
	border-radius: var(--radius-m);
	box-shadow: var(--glow-border);
}
.sc .sc_menu button {
	display: block;
	width: 100%;
	padding: 8px 10px;
	text-align: left;
	border-radius: var(--radius-s);
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
}
.sc .sc_menu button:hover {
	background: rgba(var(--accent-rgb), .07);
}
.sc .sc_menu button.gefahr {
	color: var(--danger);
}
.sc_warten {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-4);
	padding: var(--space-5);
	background: var(--surface-page);
	text-align: center;
	font: var(--text-small);
	color: var(--text-secondary);
}
.sc_kreis {
	width: 28px;
	height: 28px;
	box-sizing: border-box;
	border: 3px solid var(--border-strong);
	border-top-color: var(--accent);
	border-radius: 50%;
	animation: sc-dreh 1s linear infinite;
}
@keyframes sc-dreh {
	to {
		transform: rotate(360deg);
	}
}
.sc_frage {
	position: absolute;
	inset: 0;
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-5);
	background: var(--overlay-bg);
}
.sc_frage > div {
	width: 100%;
	max-width: 460px;
	padding: var(--space-5);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	border-radius: var(--radius-l);
	background: var(--surface-card);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
}
.sc_frage footer {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: var(--space-3);
}

.task-view .anchor_nav {
	min-width: 180px;
}
.task-search {
	margin-bottom: 14px;
}
.task-search .task_search {
	width: 100%;
	max-width: 320px;
}
.task-board {
	display: flex;
	gap: 12px;
	align-items: stretch;
	height: calc(100vh - 330px);
	min-height: 420px;
	overflow-x: auto;
	scrollbar-width: none;
	padding-bottom: 4px;
}
.task-board::-webkit-scrollbar {
	display: none;
}
.task-board .col {
	position: relative;
	width: 250px;
	min-width: 250px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 10px;
	border-radius: var(--radius-l);
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
	height: 100%;
}
.task-board .col-head {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 2px 0 6px;
}
.task-board .col-head .title {
	font: 600 13px/1.3 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.task-board .col-head .count {
	flex: 1;
	font: 600 12px/1.3 var(--font-body);
	color: var(--accent);
}
.task-board .col-head .add_card_here {
	width: 24px;
	height: 24px;
	display: grid;
	place-items: center;
	flex-shrink: 0;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .12s;
}
.task-board .col-head .add_card_here:hover {
	color: var(--accent);
}
.task-board .cards {
	flex: 1;
	min-height: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
	overflow-y: auto;
	scrollbar-width: none;
}
.task-board .cards::-webkit-scrollbar {
	display: none;
}
.task-board .cards:empty + .drop-hint {
	display: block;
}
.task-board .drop-hint {
	display: none;
	position: absolute;
	left: 10px;
	right: 10px;
	top: 48px;
	padding: 18px 12px;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-m);
	text-align: center;
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-muted);
	pointer-events: none;
}
.task-board .sortable-placeholder {
	height: 2px;
	min-height: 2px;
	margin: -4px 2px;
	padding: 0;
	border: none;
	border-radius: 1px;
	background: var(--accent);
	box-shadow: 0 0 8px rgba(var(--accent-rgb),.7);
	overflow: hidden;
}
.task-board .add_card {
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 9px 10px;
	border: 1px dashed rgba(var(--secondary-rgb),.25);
	border-radius: var(--radius-m);
	font: 500 12px/1.2 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
	transition: border-color .12s, color .12s;
}
.task-board .add_card:hover {
	border-color: var(--accent);
	color: var(--accent);
}
.task-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 12px 12px 10px;
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
	cursor: grab;
	transition: border-color .12s, box-shadow .12s;
}
.task-card:hover {
	border-color: var(--accent);
	box-shadow: 0 0 12px rgba(var(--accent-rgb),.18);
}
.task-card .title {
	font: 600 13px/1.35 var(--font-body);
	color: var(--text-primary);
}
.task-card .progress {
	display: flex;
	align-items: center;
	gap: 8px;
}
.task-card .progress .bar {
	flex: 1;
	height: 4px;
	border-radius: 2px;
	background: var(--border-default);
	overflow: hidden;
}
.task-card .progress .fill {
	display: block;
	height: 100%;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--accent-hover), var(--accent));
	transition: width .25s;
}
.task-card .progress .fill.full {
	background: var(--accent);
}
.task-card .progress .pct {
	font: 600 11px/1 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-secondary);
}
.task-card .progress .pct.full {
	color: var(--accent);
}
.task-card .foot {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 8px;
	font: 500 11px/1 var(--font-body);
	color: var(--text-muted);
}
.task-card .foot .spacer {
	flex: 1;
}
.task-card .deadline,
.task-card .slot {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 20px;
	padding: 0 7px;
	border-radius: 999px;
	border: 1px solid var(--border-strong);
	color: var(--text-muted);
	white-space: nowrap;
	flex-shrink: 0;
}
.task-card .slot {
	border-color: rgba(var(--accent-rgb),.4);
	color: var(--accent);
}
.task-card .deadline.overdue {
	border-color: var(--danger);
	color: var(--danger);
	background: color-mix(in srgb, var(--danger) 12%, transparent);
}
.task-card .deadline.today,
.task-card .deadline.tomorrow,
.task-card .deadline.soon {
	border-color: var(--warning);
	color: var(--warning);
	background: color-mix(in srgb, var(--warning) 12%, transparent);
}
.task-card .deadline.done {
	border-color: transparent;
	padding: 0;
	color: var(--text-muted);
}
.task-card .checks,
.task-card .has_text {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
}

#task_box .box.task_card {
	width: 640px;
	max-width: 100%;
}
#task_box .task_title_row {
	margin: 0;
	padding-right: 0;
}
#task_box #task_title {
	width: 100%;
	height: 46px;
	padding: 0 12px;
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	font: 600 18px/1.3 var(--font-display);
	letter-spacing: -.01em;
	color: var(--text-primary);
}
#task_box .task_subline {
	margin: 6px 0 4px;
}
#task_box #task_deadline.overdue {
	border-color: var(--danger);
}
#task_box .task_quick {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	margin-top: 8px;
}
#task_box .task_quick .quick {
	height: 24px;
	padding: 0 9px;
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--border-strong);
	border-radius: 999px;
	font: 500 11px/1 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
	transition: border-color .12s, color .12s;
}
#task_box .task_quick .quick:hover {
	border-color: var(--accent);
	color: var(--accent);
}
#task_box .task_quick .quick_label {
	font: 500 11px/1 var(--font-body);
	color: var(--text-muted);
}
#task_box .task_quick .quick_label.overdue {
	color: var(--danger);
}
#task_box .task_quick .quick_label.today,
#task_box .task_quick .quick_label.soon {
	color: var(--warning);
}
#task_box .task_slot_head {
	margin: 18px 0 10px;
}
#task_box .task_slot_head .label,
#task_box .slot_label {
	font: 500 12px/1 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#task_box .slot_label {
	font-size: 11px;
	letter-spacing: .05em;
	margin-right: 6px;
}
#task_box .task_slot {
	margin-bottom: 18px;
}
#task_box .slot_plan {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-m);
	cursor: pointer;
	transition: border-color .12s;
}
#task_box .slot_plan:hover {
	border-color: var(--accent);
	text-decoration: none;
}
#task_box .slot_plan .icon {
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	flex-shrink: 0;
	border-radius: var(--radius-s);
	background: rgba(var(--accent-rgb),.1);
	color: var(--accent);
}
#task_box .slot_plan .text,
#task_box .slot_row .text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
#task_box .slot_plan .head {
	font: 600 13px/1.3 var(--font-body);
	color: var(--text-primary);
}
#task_box .slot_plan .sub,
#task_box .slot_row .sub {
	font: 400 12px/1.3 var(--font-body);
	color: var(--text-muted);
}
#task_box .slot_plan .go {
	font: 600 12px/1 var(--font-body);
	color: var(--accent);
	flex-shrink: 0;
}
#task_box .slot_row {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 10px 9px 18px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
#task_box .slot_row.past {
	opacity: .6;
}
#task_box .slot_row .stripe {
	position: absolute;
	left: 7px;
	top: 9px;
	bottom: 9px;
	width: 3px;
	border-radius: 2px;
	background: var(--cal);
}
#task_box .slot_row .when {
	font: 600 13px/1.3 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
#task_box .slot_row .sub {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#task_box .slot_row .late {
	color: var(--warning);
}
#task_box .slot_row .actions {
	display: flex;
	gap: 2px;
	opacity: .55;
	transition: opacity .12s;
}
#task_box .slot_row:hover .actions {
	opacity: 1;
}
#task_box .slot_row .slot_edit {
	height: 28px;
	padding: 0 10px;
	display: inline-flex;
	align-items: center;
	border-radius: var(--radius-s);
	font: 600 12px/1 var(--font-body);
	color: var(--accent);
	cursor: pointer;
}
#task_box .slot_row .slot_remove {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
}
#task_box .slot_row .slot_remove:hover {
	color: var(--danger);
}
#task_box .slot_planner {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 16px;
	border: 1px solid var(--accent);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	box-shadow: var(--glow-border);
}
#task_box .slot_days {
	display: flex;
	align-items: center;
	gap: 4px;
}
#task_box .slot_days .days {
	flex: 1;
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
}
#task_box .slot_arrow {
	width: 28px;
	height: 52px;
	display: grid;
	place-items: center;
	flex-shrink: 0;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
}
#task_box .slot_arrow:hover {
	color: var(--text-primary);
}
#task_box .slot_day {
	position: relative;
	height: 52px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1px;
	padding-bottom: 4px;
	box-sizing: border-box;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-s);
	cursor: pointer;
}
#task_box .slot_day:hover {
	text-decoration: none;
	border-color: var(--border-strong);
}
#task_box .slot_day.weekend:not(.on) {
	opacity: .6;
}
#task_box .slot_day.on {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.1);
}
#task_box .slot_day .wd {
	font: 500 11px/1.2 var(--font-body);
	color: var(--text-muted);
}
#task_box .slot_day.late .wd {
	color: var(--warning);
}
#task_box .slot_day .num {
	font: 600 14px/1.2 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
#task_box .slot_day.on .wd,
#task_box .slot_day.on .num {
	color: var(--accent);
}
#task_box .slot_day .load {
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: 5px;
	height: 2px;
	border-radius: 1px;
	background: var(--border-default);
	overflow: hidden;
}
#task_box .slot_day .load span {
	display: block;
	height: 100%;
	background: var(--text-muted);
	opacity: .7;
}
#task_box .slot_day.on .load span {
	background: var(--accent);
}
#task_box .slot_day .dl {
	position: absolute;
	top: 4px;
	right: 5px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--danger);
}
#task_box .slot_line {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}
#task_box .slot_chip {
	height: 28px;
	padding: 0 11px;
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--border-strong);
	border-radius: 999px;
	font: 500 12px/1 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-secondary);
	white-space: nowrap;
	cursor: pointer;
}
#task_box .slot_chip:hover {
	text-decoration: none;
	border-color: var(--accent);
}
#task_box .slot_chip.on {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.1);
	color: var(--accent);
}
#task_box .slot_none {
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
#task_box .slot_grid {
	max-height: 300px;
	overflow-y: auto;
	scrollbar-width: none;
	border-radius: var(--radius-s);
	background: var(--surface-card);
	border: 1px solid var(--border-default);
}
#task_box .slot_grid::-webkit-scrollbar {
	display: none;
}
#task_box .slot_hours {
	position: relative;
	margin: 6px 0;
	cursor: crosshair;
}
#task_box .slot_hours .hour {
	position: absolute;
	left: 0;
	width: 44px;
	text-align: right;
	font: 400 10px/1.2 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-muted);
	pointer-events: none;
}
#task_box .slot_hours .line {
	position: absolute;
	left: 52px;
	right: 0;
	height: 1px;
	background: var(--border-default);
	pointer-events: none;
}
#task_box .slot_hours .line.half {
	height: 0;
	background: none;
	border-top: 1px dashed var(--border-default);
	opacity: .5;
}
#task_box .slot_hours .busy {
	position: absolute;
	box-sizing: border-box;
	padding: 3px 6px;
	overflow: hidden;
	border-left: 3px solid var(--cal);
	border-radius: 3px;
	background: color-mix(in srgb, var(--cal) 15%, transparent);
	color: var(--cal);
	pointer-events: none;
}
#task_box .slot_hours .busy .t {
	display: block;
	font: 600 11px/1.3 var(--font-body);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#task_box .slot_hours .busy .tm {
	font: 400 10px/1.3 var(--font-body);
	opacity: .8;
	white-space: nowrap;
}
#task_box .slot_hours .busy > .tm {
	display: block;
}
#task_box .slot_hours .ghost,
#task_box .slot_hours .pick {
	position: absolute;
	left: 56px;
	right: 4px;
	box-sizing: border-box;
	border-radius: 4px;
	padding: 3px 8px;
	pointer-events: none;
	white-space: nowrap;
	overflow: hidden;
}
#task_box .slot_hours .ghost {
	border: 1px dashed var(--accent);
	background: rgba(var(--accent-rgb),.05);
	font: 500 11px/1.3 var(--font-body);
	color: var(--accent);
}
#task_box .slot_hours .pick {
	padding: 4px 8px;
	border: 1.5px solid var(--accent);
	background: rgba(var(--accent-rgb),.2);
	box-shadow: 0 0 12px rgba(var(--accent-rgb),.35);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
	font: 600 12px/1.3 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--accent);
}
#task_box .slot_hours .pick.clash {
	border-color: var(--warning);
	background: color-mix(in srgb, var(--warning) 20%, transparent);
	color: var(--warning);
}
#task_box .slot_clash {
	display: flex;
	align-items: center;
	gap: 8px;
	font: 400 12px/1.4 var(--font-body);
	color: var(--warning);
}
#task_box .slot_foot {
	display: flex;
	align-items: flex-end;
	gap: 12px;
	flex-wrap: wrap;
	padding-top: 14px;
	border-top: 1px solid var(--border-default);
}
#task_box .slot_cal {
	flex: 1 1 200px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
#task_box .slot_foot .buttons {
	display: flex;
	gap: 10px;
}
#task_box .save.busy {
	pointer-events: none;
	min-width: 110px;
	justify-content: center;
}
#task_box .slot_foot .take_slot.disabled {
	opacity: .45;
	cursor: default;
}
#task_box .cal_picker.up .cal_picker_menu {
	top: auto;
	bottom: calc(100% + 6px);
}
#task_box .slot_cal .cal_picker_btn {
	height: 40px;
}
#task_box .task_lists_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 18px 0 8px;
}
#task_box .task_lists_head .label {
	font: 500 12px/1 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#task_box .task_lists_head .add_checklist {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 600 12px/1 var(--font-body);
	color: var(--accent);
	cursor: pointer;
}
#task_box .task_lists {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
#task_box .task_lists_empty {
	padding: 14px;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-m);
	text-align: center;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-muted);
}
#task_box .checklist {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 12px 14px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
#task_box .checklist .head {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--accent);
}
#task_box .checklist .list_name {
	flex: 1;
	height: 28px;
	padding: 0 6px;
	background: transparent;
	border-color: transparent;
	font: 600 14px/1.3 var(--font-body);
	color: var(--text-primary);
}
#task_box .checklist .list_name:focus {
	background: var(--surface-card);
	border-color: var(--accent);
	box-shadow: none;
}
#task_box .checklist .state {
	font: 500 12px/1 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-muted);
	flex-shrink: 0;
}
#task_box .checklist .state.full {
	color: var(--accent);
}
#task_box .checklist .remove_list {
	width: 26px;
	height: 26px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	flex-shrink: 0;
	transition: color .12s;
}
#task_box .checklist .remove_list:hover {
	color: var(--danger);
}
#task_box .checklist > .bar {
	height: 4px;
	border-radius: 2px;
	background: var(--border-default);
	overflow: hidden;
}
#task_box .checklist > .bar .fill {
	display: block;
	height: 100%;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--accent-hover), var(--accent));
	transition: width .25s;
}
#task_box .checklist > .bar .fill.full {
	background: var(--accent);
}
#task_box .checklist .items {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
#task_box .check_item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 5px 4px;
	border-radius: var(--radius-s);
}
#task_box .check_item:hover {
	background: rgba(var(--accent-rgb),.05);
}
#task_box .check_item .tick {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	display: grid;
	place-items: center;
	border-radius: 4px;
	border: 1px solid var(--text-muted);
	color: var(--on-accent);
	cursor: pointer;
}
#task_box .check_item .tick.on {
	background: var(--accent);
	border-color: var(--accent);
}
#task_box .check_item .tick.empty {
	border-style: dashed;
	cursor: default;
}
#task_box .check_item .item_text,
#task_box .check_item .new_item {
	flex: 1;
	height: 28px;
	padding: 0 6px;
	background: transparent;
	border-color: transparent;
	font: 400 14px/1.3 var(--font-body);
	color: var(--text-primary);
}
#task_box .check_item .item_text:focus,
#task_box .check_item .new_item:focus {
	background: var(--surface-card);
	border-color: var(--accent);
	box-shadow: none;
}
#task_box .check_item.done .item_text {
	color: var(--text-muted);
	text-decoration: line-through;
}
#task_box .check_item .remove_item {
	width: 22px;
	height: 22px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	opacity: 0;
	cursor: pointer;
	transition: opacity .12s, color .12s;
}
#task_box .check_item:hover .remove_item {
	opacity: 1;
}
#task_box .check_item .remove_item:hover {
	color: var(--danger);
}
#task_box .check_item .take {
	font: 600 12px/1 var(--font-body);
	color: var(--accent);
	cursor: pointer;
	flex-shrink: 0;
}

#task_box .columns_label {
	display: block;
	margin: 18px 0 8px;
}
#task_box .column_list {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
#task_box .column_row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 10px 6px 12px;
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
}
#task_box .column_row .grip {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	color: var(--text-muted);
	cursor: grab;
}
#task_box .column_row input {
	flex: 1;
	height: 32px;
	padding: 0 8px;
	background: transparent;
	border-color: transparent;
	font: 500 14px/1.3 var(--font-body);
}
#task_box .column_row input:focus {
	background: var(--surface-card);
	border-color: var(--accent);
	box-shadow: none;
}
#task_box .column_row .count {
	font: 500 12px/1.3 var(--font-body);
	color: var(--text-muted);
}
#task_box .column_row .remove_row {
	width: 20px;
	height: 20px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--danger);
	opacity: 0;
	cursor: pointer;
	transition: opacity .12s;
}
#task_box .column_row:hover .remove_row {
	opacity: 1;
}
#task_box .column_list .sortable-placeholder {
	height: 46px;
	border: 1px dashed var(--accent);
	border-radius: var(--radius-m);
	background: rgba(var(--accent-rgb),.05);
}
#task_box .button.dashed {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border: 1px dashed rgba(var(--secondary-rgb),.35);
	color: var(--text-secondary);
	font-size: 13px;
	padding: 11px 12px;
	box-shadow: none;
}
#task_box .button.dashed:hover {
	border-color: var(--accent);
	color: var(--accent);
	box-shadow: none;
}

@media (max-width: 770px) {
		body:not(.static) .task-board {
		height: calc(100vh - 300px);
		height: calc(100svh - 300px);
		min-height: 360px;
	}
	body:not(.static) .task-search .task_search {
		max-width: none;
	}
}

.board-toolbar {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}
.board-toolbar .search_filter {
	width: 100%;
	max-width: 320px;
}
.board-toolbar .checkboxes.toggles {
	margin: 0;
}
.board-toolbar .spacer {
	flex: 1;
}
.board-toolbar .board-actions {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.pipeline .col-head .count_wrap,
.task-board .col-head .count_wrap {
	flex: 1;
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	min-width: 0;
}
.pipeline .col-head .count_wrap .count,
.task-board .col-head .count_wrap .count {
	flex: none;
}
.col-head .count_archived {
	font: 500 11px var(--font-body);
	color: var(--text-muted);
	white-space: nowrap;
}
.col-head .col_mark {
	display: inline-flex;
	flex-shrink: 0;
}
.col-head .col_mark.reason {
	color: var(--text-muted);
}
.col-head .col_mark.confetti {
	color: var(--accent);
}
.col-head .col_mark.archive {
	color: var(--text-muted);
}
.task-board .col-head .title.edit_task_column {
	cursor: pointer;
}
.task-board .col-menu {
	position: relative;
	flex-shrink: 0;
}
.task-board .col-menu .menu {
	width: 24px;
	height: 24px;
}
.task-board .col-menu .menu:before {
	content: '';
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: var(--icon-dots) no-repeat center / contain;
	mask: var(--icon-dots) no-repeat center / contain;
}
.task-board .col-popover {
	position: absolute;
	right: 0;
	top: 100%;
	display: none;
	width: 170px;
	padding: 6px;
	margin-top: 4px;
	border-radius: var(--radius-m);
	background: var(--popover-bg);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	z-index: 50;
}
.task-board .col-popover.open {
	display: block;
	animation: bc-fade-in .12s ease both;
}
.task-board .col-popover a {
	display: block;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	font: 500 13px/1.2 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
}
.task-board .col-popover a:hover {
	background: rgba(var(--accent-rgb),.07);
	color: var(--text-primary);
}
.task-board .col-popover a.danger {
	color: var(--danger);
}
.archive_zone {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 4px;
	list-style: none;
	cursor: default;
}
.archive_zone .archive_head {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 8px 6px 2px;
	border-top: 1px solid var(--border-default);
	color: var(--text-muted);
	font: 600 11px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
}
.archive_zone .archive_head span {
	flex: 1;
	text-align: left;
}
.archive_zone .archive_head svg:last-child {
	transform: rotate(180deg);
	transition: transform .15s;
}
.archive_zone.closed .archive_head svg:last-child {
	transform: none;
}
.archive_zone.closed .archived_cards {
	display: none;
}
.archive_zone .archived_cards {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.archive_zone .archived_cards > li {
	opacity: .5;
	filter: saturate(.6);
	cursor: pointer;
}
.pipe-card .pipe_menu_btn {
	position: absolute;
	top: 1px;
	right: 1px;
	z-index: 2;
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	border-radius: 0 var(--radius-m) 0 var(--radius-m);
	background: var(--surface-raised);
	color: var(--text-muted);
	opacity: 0;
	cursor: pointer;
	transition: opacity .12s, color .12s;
}
.pipe-card:hover .pipe_menu_btn,
.pipe-card.menu-open .pipe_menu_btn {
	opacity: 1;
}
.pipe-card .pipe_menu_btn:hover,
.pipe-card.menu-open .pipe_menu_btn {
	color: var(--accent);
}
.pipe-card.menu-open {
	border-color: var(--accent);
}
.pipe-card.sortable-fallback .pipe_menu_btn {
	display: none;
}
@media (hover: none) {
	.pipe-card .pipe_menu_btn {
		opacity: 1;
		background: transparent;
	}
}
.pipe-card.search_miss,
.task-card.search_miss {
	opacity: .28;
}
::highlight(bc-suche) {
	background-color: rgba(0,208,155,.35);
	color: var(--text-primary);
}
.sw_rows {
	margin-top: 8px;
}
.sw_row {
	padding: 14px 0;
	border-top: 1px solid var(--border-default);
}
.sw_head {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}
.sw_head > div {
	flex: 1;
	min-width: 0;
}
.sw_head b {
	display: block;
	font: 600 13px var(--font-body);
	color: var(--text-primary);
}
.sw_text {
	display: block;
	margin: 2px 0 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.sw_text a {
	margin-left: 6px;
	font: 600 12px var(--font-body);
	color: var(--accent);
	cursor: pointer;
}
.sw_head .sw_toggle {
	flex-shrink: 0;
	margin-top: 2px;
}
.sw_extra {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 12px;
}
.sw_extra[hidden] {
	display: none;
}
.sw_label {
	font: 600 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.sw_pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.sw_pair > input[type='text'] {
	text-align: right;
}
.column_kind_hint {
	margin-top: 6px;
}
#pipeline_box .box.loss {
	max-width: 520px;
}
.loss_form {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 16px;
	text-align: left;
}
.loss_label {
	font: 600 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.loss_form textarea {
	resize: vertical;
	line-height: 1.5;
}
.loss_pills,
.loss_reasons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 8px;
}
.loss_pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 34px;
	padding: 0 14px;
	border: 1px solid var(--border-strong);
	border-radius: 999px;
	background: var(--surface-raised);
	color: var(--text-secondary);
	font: 500 13px var(--font-body);
	cursor: pointer;
}
.loss_pill.on {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.1);
	color: var(--accent);
}
.loss_reasons .loss_pill {
	cursor: default;
}
.loss_remove {
	font-size: 16px;
	line-height: 1;
	color: var(--text-muted);
	cursor: pointer;
}
.loss_remove:hover {
	color: var(--danger);
}
.column_reasons {
	margin-top: 6px;
}
.column_reason_hint {
	margin: 6px 0 0;
}
.column_reason_defaults {
	display: inline-block;
	margin-top: 8px;
	font: 500 13px var(--font-body);
	color: var(--accent);
	cursor: pointer;
}
.column_reason_defaults[hidden] {
	display: none;
}
.loss_reason_add {
	width: 100%;
}
.loss_foot {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
}
.loss_foot .spacer {
	flex: 1;
}
.loss_skip {
	padding: 10px 4px;
	font: 600 14px var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
}
.loss_skip:hover {
	color: var(--text-primary);
}
#task_box .column_row .column_settings {
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	color: var(--text-muted);
	cursor: pointer;
}
#task_box .column_row .column_settings:hover {
	color: var(--accent);
}
@media (max-width: 719px) {
	#pipeline_box .box.loss {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		max-width: none;
		border-radius: var(--radius-l) var(--radius-l) 0 0;
		padding-bottom: calc(20px + env(safe-area-inset-bottom));
	}
	.board-toolbar .search_filter {
		max-width: none;
	}
}
.board_lupe {
	display: none;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	box-sizing: border-box;
	place-items: center;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	color: var(--text-muted);
	cursor: pointer;
	transition: border-color .15s, color .15s;
}
.board_lupe:hover {
	border-color: var(--accent);
	color: var(--text-primary);
}
.board-toolbar.compact {
	flex-wrap: nowrap;
}
.board-toolbar.compact:not(.wrap) .board-actions {
	flex-wrap: nowrap;
	flex-shrink: 0;
}
.board-toolbar.compact.wrap {
	flex-wrap: wrap;
}
.board-toolbar.compact:not(.open) .board_lupe {
	display: grid;
}
.board-toolbar.compact:not(.open) .search_filter {
	display: none;
}
.board-toolbar.compact.open .search_filter {
	flex: 0 0 auto;
	width: var(--search-w, 160px);
	max-width: none;
}

.widget[data-widget='open_tasks'] .widget-row {
	cursor: pointer;
}
.widget[data-widget='open_tasks'] .widget-row .title {
	flex: 1;
	min-width: 0;
	font: 500 13px/1.35 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.widget[data-widget='open_tasks'] .widget-row .mini {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}
.widget[data-widget='open_tasks'] .widget-row .mini .bar {
	display: block;
	width: 44px;
	height: 4px;
	border-radius: 2px;
	background: var(--border-default);
	overflow: hidden;
}
.widget[data-widget='open_tasks'] .widget-row .mini .fill {
	display: block;
	height: 100%;
	border-radius: 2px;
	background: var(--accent);
}
.widget[data-widget='open_tasks'] .widget-row > .inner {
	gap: 10px;
}
.widget[data-widget='open_tasks'] .widget-row .due {
	flex: 0 0 60px;
	width: 60px;
	white-space: nowrap;
	text-align: right;
	font: 500 12px/1 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-muted);
}
.widget[data-widget='open_tasks'] .widget-row .due.overdue {
	color: var(--danger);
}
.widget[data-widget='open_tasks'] .widget-row .due.today,
.widget[data-widget='open_tasks'] .widget-row .due.tomorrow,
.widget[data-widget='open_tasks'] .widget-row .due.soon {
	color: var(--warning);
}
.widget .widget-empty {
	margin: 0;
	padding: 20px 0;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-muted);
}

.pd_back {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 10px;
	font: 500 13px var(--font-body);
	color: var(--text-muted);
	text-decoration: none;
	transition: color .15s;
}
.pd_back:hover {
	color: var(--accent);
}
.pd_widgets {
	gap: 32px;
}
@container page (min-width: 1400px) {
	.pd_widgets {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@container page (max-width: 1399px) {
	.pd_widgets {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@container page (max-width: 999px) {
	.pd_widgets {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}
}
.pd_hint {
	margin: 0 0 10px;
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
.pd_lines {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.pd_lines .head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}
.pd_lines .label {
	font: var(--text-small);
	color: var(--text-secondary);
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.pd_lines .value {
	font: 600 14px/1.2 var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
	white-space: nowrap;
}
.pd_lines .bar {
	display: flex;
	height: 4px;
	margin-top: 6px;
	border-radius: 2px;
	background: var(--border-default);
	overflow: hidden;
}
.pd_lines .fill {
	flex: none;
	background: var(--accent);
}
.pd_lines .rest {
	flex: 1;
	margin-left: 2px;
}
.pd_lines .rest.danger {
	background: var(--danger);
}
.pd_lines .rest.warning {
	background: var(--warning);
}
.pd_client_row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 0;
	color: var(--text-muted);
	border-bottom: 1px solid var(--border-default);
}
.pd_client_row:last-child {
	border-bottom: none;
}
.pd_client_row .name {
	flex: 1;
	min-width: 0;
	font: 500 14px var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.pd_client_row a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 400 13px var(--font-body);
	color: var(--text-secondary);
	text-decoration: none;
	white-space: nowrap;
	transition: color .15s;
}
.pd_client_row a:hover {
	color: var(--accent);
}
.pd_client_row a.mail {
	color: var(--text-muted);
}
@container page (max-width: 719px) {
	.pd_client_row a.phone span {
		display: none;
	}
}
.widget[data-widget='pd_weeks'] header .pd_weeks {
	margin-left: auto;
}
.pd_notes {
	display: flex;
	flex-direction: column;
	gap: 10px;
	height: 100%;
	min-height: 0;
	padding-top: 4px;
	box-sizing: border-box;
}
.pd_note_input {
	flex-shrink: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 9px 12px;
	resize: none;
	background: var(--surface-raised);
	color: var(--text-primary);
	font: 400 13px/1.45 var(--font-body);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	outline: none;
	transition: border-color .15s, box-shadow .15s;
}
.pd_note_input:focus {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.pd_note_list {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	scrollbar-width: none;
}
.pd_note {
	position: relative;
	padding: 9px 26px 9px 0;
	border-top: 1px solid var(--border-default);
}
.pd_note p {
	margin: 0;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
	white-space: pre-wrap;
}
.pd_note span {
	display: block;
	margin-top: 3px;
	font: 400 11px var(--font-body);
	color: var(--text-muted);
}
.pd_note_remove {
	position: absolute;
	right: 0;
	top: 9px;
	width: 20px;
	height: 20px;
	display: grid;
	place-items: center;
	color: var(--text-muted);
	cursor: pointer;
	opacity: 0;
	transition: opacity .12s, color .12s;
}
.pd_note:hover .pd_note_remove {
	opacity: 1;
}
.pd_note_remove:hover {
	color: var(--danger);
}
.widget[data-widget='top_projects'] .key_facts li[data-project] {
	cursor: pointer;
}
.widget[data-widget='top_projects'] .key_facts li[data-project] p.label {
	transition: color .15s;
}
.widget[data-widget='top_projects'] .key_facts li[data-project]:hover p.label {
	color: var(--accent);
}
.pd_toolbar .pd_columns[hidden] {
	display: none;
}
.pd_views {
	display: inline-flex;
	flex-shrink: 0;
	height: 40px;
	box-sizing: border-box;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	overflow: hidden;
}
.pd_view {
	width: 40px;
	display: grid;
	place-items: center;
	color: var(--text-muted);
	cursor: pointer;
	transition: background .15s, color .15s;
}
.pd_view + .pd_view {
	border-left: 1px solid var(--border-strong);
}
.pd_view:hover {
	color: var(--text-primary);
}
.pd_view.on {
	background: rgba(var(--accent-rgb), .1);
	color: var(--accent);
}
.pd_list .efforts > li > p[data-id='project'],
.pd_list .list-legend > p:nth-child(2) {
	display: none;
}
.pd_board {
	display: flex;
	gap: 12px;
	align-items: stretch;
	height: calc(100vh - 330px);
	min-height: 360px;
	overflow-x: auto;
	scrollbar-width: none;
}
.pd_board[hidden] {
	display: none;
}
.pd_board .col {
	width: 270px;
	min-width: 270px;
	height: 100%;
}
.pd_board .layer {
	display: flex;
	flex-direction: column;
	gap: 10px;
	height: 100%;
	box-sizing: border-box;
	padding: 10px;
	overflow-y: auto;
	scrollbar-width: none;
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-l);
}
.pd_board .title {
	display: flex;
	align-items: baseline;
	gap: 8px;
	padding: 4px 6px 0;
}
.pd_board .title .name {
	font: 600 13px var(--font-body);
	color: var(--text-primary);
	cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.pd_board .title .count {
	font: 600 12px var(--font-body);
	color: var(--accent);
}
.pd_board .title .sum {
	margin-left: auto;
	font: 500 12px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-muted);
}
.pd_board .cards {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pd_card {
	position: relative;
	padding: 12px 14px 12px 22px;
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	cursor: pointer;
	transition: border-color .15s;
}
.pd_card:hover {
	border-color: var(--border-strong);
}
.pd_card.bezahlt::before,
.pd_card.fordernd::before {
	content: '';
	position: absolute;
	left: 10px;
	top: 10px;
	bottom: 10px;
	width: 3px;
	border-radius: 2px;
	background: var(--accent);
}
.pd_card.fordernd::before {
	background: var(--warning);
}
.pd_card.archived {
	opacity: .5;
}
.pd_card b {
	display: block;
	font: 600 13px/1.35 var(--font-body);
	color: var(--text-primary);
	overflow-wrap: anywhere;
}
.pd_card .meta {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
	margin-top: 8px;
	font: 400 12px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-muted);
}
.pd_card .meta .total {
	font: 600 13px var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
}
.pd_board .sortable-placeholder {
	opacity: .4;
}
.pd_empty {
	margin: 0;
	padding: 18px 12px;
	text-align: center;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-m);
}
.pd_add {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: auto;
	padding: 9px 10px;
	font: 500 12px var(--font-body);
	color: var(--text-muted);
	border: 1px dashed rgba(242, 245, 244, .25);
	border-radius: var(--radius-m);
	cursor: pointer;
	transition: border-color .15s, color .15s;
}
.pd_add:hover {
	border-color: var(--accent);
	color: var(--accent);
}
#task_box .pd_column_list .done_mark {
	display: none;
	font: 600 10px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--accent);
}
#task_box .pd_column_list > li:last-child .done_mark {
	display: inline;
}
@media (max-width: 770px) {
	.pd_board {
		height: calc(100svh - 360px);
	}
}

@keyframes bc-flow-dash {
	to { stroke-dashoffset: -12; }
}
@keyframes bc-load-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: .35; transform: scale(.7); }
}


#flows_page .list-filter {
	margin-bottom: 20px;
}
.list-view.flows > li[data-status='active']:before {
	background: var(--accent);
}
.list-view.flows > li[data-status='paused']:before {
	background: var(--warning);
}
.list-view.flows > li[data-status='draft']:before {
	background: var(--gray-400);
}
.list-view.flows > li > p[data-id='name'] a {
	color: var(--text-primary);
	text-decoration: none;
}
.list-view.flows > li > p[data-id='name'] a:hover {
	color: var(--accent);
}
.list-view.flows li p .state.active {
	color: var(--accent);
	background: rgba(var(--accent-rgb),.12);
	border-color: var(--accent);
}
.list-view.flows li p .state.paused {
	color: var(--warning);
	background: rgba(245,185,80,.14);
	border-color: var(--warning);
}
.list-view.flows li p .state.draft {
	color: var(--text-muted);
	background: transparent;
	border-color: var(--border-strong);
}
#flows_page .list-legend-colors .is-active:before {
	background: var(--accent);
}
#flows_page .list-legend-colors .is-paused:before {
	background: var(--warning);
}
#flows_page .list-legend-colors .is-draft:before {
	background: var(--gray-400);
}


#flow_editor {
	display: flex;
	flex-direction: column;
	gap: 16px;
	height: calc(100vh - 140px);
	min-height: 520px;
}
#flow_editor .flow-head {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
#flow_editor .flow-spacer {
	flex: 1;
}
#flow_editor .flow-head .button[hidden],
#flow_editor .flow-empty[hidden] {
	display: none;
}
#flow_editor .flow-head .button {
	padding: 8px 14px;
	font: 600 13px/1.2 var(--font-body);
}
#flow_editor .flow-head .button.is-off {
	opacity: .45;
	cursor: default;
}
#flow_editor .flow-name {
	width: auto;
	flex: 0 1 auto;
	min-width: 220px;
	max-width: 50vw;
	height: auto;
	padding: 4px 8px;
	background: transparent;
	border: 1px solid transparent;
	border-radius: var(--radius-s);
	outline: none;
	color: var(--text-primary);
	font: 600 18px var(--font-display);
	letter-spacing: -.01em;
}
#flow_editor .flow-name:focus {
	border-color: var(--border-strong);
}
#flow_editor .flow-state {
	display: inline-flex;
	align-items: center;
	height: 24px;
	padding: 0 10px;
	border-radius: var(--radius-s);
	border: 1px solid var(--text-muted);
	color: var(--text-muted);
	font: 600 11px/1 var(--font-body);
	white-space: nowrap;
}
#flow_editor .flow-state.active {
	border-color: var(--accent);
	color: var(--accent);
	background: rgba(var(--accent-rgb),.12);
}
#flow_editor .flow-state.paused {
	border-color: var(--warning);
	color: var(--warning);
	background: rgba(245,185,80,.14);
}
#flow_editor .flow-saved {
	font: 400 12px var(--font-body);
	color: var(--text-muted);
	white-space: nowrap;
}
#flow_editor .flow-work {
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	gap: 16px;
	flex: 1;
	min-height: 0;
}


#flow_editor .flow-palette {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-height: 0;
	padding: 16px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-l);
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
}
#flow_editor .flow-palette-head {
	display: flex;
	align-items: center;
	gap: 10px;
}
#flow_editor .flow-palette-head .tile {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: rgba(var(--accent-rgb),.13);
	border: 1px solid rgba(var(--accent-rgb),.28);
	color: var(--accent);
}
#flow_editor .flow-palette-head .title {
	font: 600 15px var(--font-display);
	letter-spacing: -.01em;
	color: var(--text-primary);
}
#flow_editor .flow-palette-head .count {
	margin-left: auto;
	font: 400 11px var(--font-body);
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
}
#flow_editor .flow-palette-search {
	position: relative;
	display: flex;
}
#flow_editor .flow-search {
	width: 100%;
	height: 40px;
	flex: 1;
	padding: 0 12px 0 36px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised) var(--icon-search) no-repeat 12px 50%;
	background-size: 15px 15px;
	outline: none;
	color: var(--text-primary);
	font: 400 13px var(--font-body);
}
#flow_editor .flow-search:focus {
	border-color: var(--accent);
}
#flow_editor .flow-groups {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	scrollbar-width: none;
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0 -4px;
	padding: 0 4px;
}
#flow_editor .flow-groups::-webkit-scrollbar {
	display: none;
}
#flow_editor .flow-group-head {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 0 8px;
	border: none;
	background: transparent;
	cursor: pointer;
	color: var(--text-muted);
	font: 500 11px var(--font-body);
	letter-spacing: .06em;
	text-transform: uppercase;
}
#flow_editor .flow-group-head .num {
	margin-left: auto;
	font-variant-numeric: tabular-nums;
}
#flow_editor .flow-group-head svg {
	transition: transform .15s;
}
#flow_editor .flow-group.open .flow-group-head svg {
	transform: rotate(90deg);
}
#flow_editor .flow-tiles {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}
#flow_editor .flow-tile {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 60px;
	padding: 9px 10px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	cursor: grab;
	transition: border-color .15s, background .15s;
}
#flow_editor .flow-tile:hover {
	border-color: rgba(var(--krgb),.5);
	background: var(--surface-card);
}
#flow_editor .flow-tile.blocked {
	opacity: .4;
	cursor: not-allowed;
}
#flow_editor .flow-tile .tile {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: rgba(var(--krgb),.13);
	border: 1px solid rgba(var(--krgb),.28);
	color: var(--kc);
}
#flow_editor .flow-tile .names {
	min-width: 0;
}
#flow_editor .flow-tile .name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font: 600 12px/1.25 var(--font-body);
	color: var(--text-primary);
}
#flow_editor .flow-tile .kind {
	display: block;
	margin-top: 2px;
	font: 400 11px var(--font-body);
	color: var(--text-muted);
}


#flow_editor .flow-stage {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-l);
	background-color: var(--surface-page);
	background-image: radial-gradient(rgba(143,160,155,.22) 1px, transparent 1px);
	background-size: 22px 22px;
	background-position: 40px 40px;
}
#flow_editor .flow-canvas {
	position: absolute;
	left: 0;
	top: 0;
	transform-origin: 0 0;
}
#flow_editor .flow-edges {
	position: absolute;
	left: 0;
	top: 0;
	overflow: visible;
	pointer-events: none;
}
#flow_editor .flow-edge .hit {
	pointer-events: stroke;
	cursor: pointer;
}
#flow_editor .flow-edge .label {
	font: 600 10px var(--font-body);
	fill: var(--text-muted);
}
#flow_editor .flow-edge.bad .label {
	fill: var(--danger);
}
#flow_editor.running .flow-edge .line {
	stroke-dasharray: 6 6;
	animation: bc-flow-dash 1s linear infinite;
}
#flow_editor .flow-guides line {
	stroke: var(--accent);
	stroke-width: 1;
	stroke-dasharray: 4 4;
	opacity: .7;
}
#flow_editor .flow-empty {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	pointer-events: none;
	text-align: center;
	font: 400 14px/1.6 var(--font-body);
	color: var(--text-muted);
}
#flow_editor .flow-hint {
	position: absolute;
	right: 12px;
	bottom: 12px;
	font: 400 11px var(--font-body);
	color: var(--text-muted);
}
#flow_editor .flow-zoom {
	position: absolute;
	left: 12px;
	bottom: 12px;
	display: inline-flex;
	overflow: hidden;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-card);
}
#flow_editor .flow-zoom > a {
	display: grid;
	place-items: center;
	width: 34px;
	height: 32px;
	border-left: 1px solid var(--border-strong);
	cursor: pointer;
	color: var(--text-muted);
}
#flow_editor .flow-zoom > a:first-child {
	border-left: none;
}
#flow_editor .flow-zoom > a:hover {
	color: var(--text-primary);
}
#flow_editor .flow-zoom .zoom-value {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 52px;
	padding: 0 10px;
	border-left: 1px solid var(--border-strong);
	white-space: nowrap;
	font: 500 11px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-muted);
}
#flow_editor .flow-zoom .zoom-snap {
	width: auto;
	gap: 8px;
	display: inline-flex;
	align-items: center;
	padding: 0 12px;
	font: 500 11px var(--font-body);
}
#flow_editor .flow-zoom .zoom-snap.on {
	color: var(--text-primary);
}
#flow_editor .flow-zoom .zoom-snap .switch,
.flow-modal .flow-switch .switch {
	position: relative;
	width: 26px;
	height: 14px;
	flex-shrink: 0;
	border-radius: 7px;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	transition: background .15s, border-color .15s;
}
#flow_editor .flow-zoom .zoom-snap .switch:after,
.flow-modal .flow-switch .switch:after {
	content: '';
	position: absolute;
	top: 1px;
	left: 1px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--text-muted);
	transition: left .15s, background .15s;
}
#flow_editor .flow-zoom .zoom-snap.on .switch,
.flow-modal .flow-switch.on .switch {
	background: var(--accent);
	border-color: var(--accent);
}
#flow_editor .flow-zoom .zoom-snap.on .switch:after,
.flow-modal .flow-switch.on .switch:after {
	left: 13px;
	background: var(--on-accent);
}
#flow_editor .flow-note {
	position: absolute;
	left: 50%;
	bottom: 56px;
	transform: translate(-50%, 8px);
	max-width: 70%;
	padding: 10px 14px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-card);
	box-shadow: var(--shadow-card);
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s, transform .2s;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-secondary);
}
#flow_editor .flow-note.show {
	opacity: 1;
	transform: translate(-50%, 0);
}
#flow_editor .flow-note.bad {
	border-color: var(--danger);
	color: var(--danger);
}


#flow_editor .flow-node {
	position: absolute;
	display: flex;
	flex-direction: column;
	width: 280px;
	height: 152px;
	padding: 14px 16px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-l);
	background: var(--surface-card);
	cursor: grab;
	user-select: none;
	transition: border-color .15s;
}
#flow_editor .flow-node.selected,
#flow_editor .flow-node.running {
	border-color: var(--kc);
}
#flow_editor .flow-node .node-glow {
	position: absolute;
	left: -1px;
	top: -1px;
	overflow: visible;
	pointer-events: none;
}
#flow_editor .flow-node .node-head {
	display: flex;
	align-items: center;
	gap: 11px;
}
#flow_editor .flow-node .node-head .tile {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: rgba(var(--krgb),.13);
	border: 1px solid rgba(var(--krgb),.28);
	color: var(--kc);
}
#flow_editor .flow-node .node-head .names {
	flex: 1;
	min-width: 0;
}
#flow_editor .flow-node .node-head .kind {
	display: block;
	font: 400 11px var(--font-body);
	color: var(--text-muted);
}
#flow_editor .flow-node .node-head .name {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font: 600 15px var(--font-display);
	letter-spacing: -.01em;
	color: var(--text-primary);
}
#flow_editor .flow-node .node-head .live {
	display: none;
	align-self: flex-start;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--kc);
}
#flow_editor .flow-node.running .node-head .live {
	display: block;
}
#flow_editor .flow-node .node-sum {
	flex-shrink: 0;
	height: 22px;
	margin-top: 10px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font: 400 12.5px/22px var(--font-body);
	color: var(--text-secondary);
}
#flow_editor .flow-node .node-foot {
	display: flex;
	align-items: center;
	flex: 1;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--border-default);
}
#flow_editor .flow-node .node-foot .run {
	display: none;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}
#flow_editor .flow-node.running .node-foot .run {
	display: flex;
}
#flow_editor .flow-node.running .node-foot .rest {
	display: none;
}
#flow_editor .flow-node .node-foot .run-time {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	align-self: flex-start;
	height: 22px;
	padding: 0 9px;
	border-radius: var(--radius-s);
	background: rgba(var(--krgb),.14);
	color: var(--kc);
	font: 600 11px var(--font-body);
}
#flow_editor .flow-node .node-foot .run-time:before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--kc);
	animation: bc-load-pulse 1s ease-in-out infinite;
}
#flow_editor .flow-node .node-foot .bar {
	position: relative;
	display: block;
	height: 2px;
	border-radius: 1px;
	background: rgba(var(--krgb),.2);
}
#flow_editor .flow-node .node-foot .bar > span {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 58%;
	border-radius: 1px;
	background: var(--kc);
}
#flow_editor .flow-node .node-foot .ends {
	font: 400 11px var(--font-body);
	color: var(--text-muted);
}
#flow_editor .flow-node .node-foot .pill.soft {
	display: inline-flex;
	align-items: center;
	height: 22px;
	padding: 0 9px;
	border-radius: var(--radius-s);
	border: 1px solid var(--border-default);
	background: var(--surface-raised);
	font: 400 11px var(--font-body);
	color: var(--text-muted);
}
#flow_editor .flow-node .node-foot .ports {
	display: flex;
	gap: 8px;
}
#flow_editor .flow-node .port-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 22px;
	padding: 0 9px;
	border-radius: var(--radius-s);
	border: 1px solid rgba(var(--accent-rgb),.3);
	background: rgba(var(--accent-rgb),.12);
	color: var(--accent);
	font: 600 10px var(--font-body);
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: crosshair;
}
#flow_editor .flow-node .port-pill.bad {
	border-color: rgba(255,69,58,.35);
	background: rgba(255,69,58,.12);
	color: var(--danger);
}
#flow_editor .flow-node .dot {
	position: absolute;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	cursor: crosshair;
}
#flow_editor .flow-node .dot.in {
	left: -7px;
	top: 69px;
	background: var(--surface-card);
	border: 2px solid var(--border-strong);
}
#flow_editor .flow-node .dot.out {
	right: -7px;
	background: var(--kc);
	border: 2px solid var(--surface-card);
}
#flow_editor .flow-node .dot.out.bad {
	background: var(--danger);
}


#flow_editor .flow-chip,
.flow-modal .flow-chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 20px;
	margin: 0 2px;
	padding: 0 7px;
	border-radius: var(--radius-s);
	border: 1px solid rgba(var(--accent-rgb),.25);
	background: rgba(var(--accent-rgb),.1);
	color: var(--accent);
	font: 500 11px var(--font-mono);
	vertical-align: middle;
}
#flow_editor .flow-chip .dot {
	position: static;
	width: 5px;
	height: 5px;
	border: none;
	border-radius: 50%;
	background: var(--accent);
	cursor: inherit;
}
.flow-modal .flow-chip.pick {
	height: 22px;
	padding: 0 8px;
	border-color: var(--border-strong);
	background: rgba(var(--accent-rgb),.08);
	cursor: copy;
}
.flow-modal .flow-chip.pick:hover {
	border-color: var(--accent);
}


.flow-modal .box {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.flow-modal .box_content {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.flow-modal .flow-dialog-head {
	display: flex;
	align-items: center;
	gap: 12px;
}
.flow-modal .flow-dialog-head .tile {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 38px;
	height: 38px;
	border-radius: var(--radius-s);
	background: rgba(var(--krgb),.14);
	color: var(--kc);
}
.flow-modal .flow-dialog-head .names {
	flex: 1;
	min-width: 0;
}
.flow-modal .flow-dialog-head .name {
	display: block;
	font: 600 19px var(--font-display);
	letter-spacing: -.01em;
	color: var(--text-primary);
}
.flow-modal .flow-dialog-head .kind {
	display: block;
	font: var(--text-small);
	color: var(--kc);
}
.flow-modal .flow-dialog-head .kind.muted {
	color: var(--text-muted);
}
.flow-modal .flow-dialog-head .close {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	border-radius: var(--radius-s);
	cursor: pointer;
	color: var(--text-muted);
}
.flow-modal .flow-dialog-head .close:hover {
	color: var(--text-primary);
}
.flow-modal h2 {
	margin: 0;
}
.flow-modal .moderate {
	margin: -12px 0 0;
}
.flow-modal .flow-fields {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 14px 20px;
}
.flow-modal .flow-fields.wide {
	grid-template-columns: 1fr;
}
.flow-modal .flow-field {
	min-width: 0;
}
.flow-modal .flow-field.wide {
	grid-column: 1 / -1;
}
.flow-modal .flow-field > label {
	display: block;
	margin-bottom: 6px;
	font: var(--text-label);
	letter-spacing: var(--ls-label);
	color: var(--text-muted);
}
.flow-modal .flow-field input,
.flow-modal .flow-field select {
	width: 100%;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	outline: none;
	color: var(--text-primary);
	font: 400 14px var(--font-body);
}
.flow-modal .flow-field input:focus,
.flow-modal .flow-field select:focus {
	border-color: var(--accent);
}
.flow-modal .flow-select {
	position: relative;
	display: flex;
}
.flow-modal .flow-select select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 36px;
	cursor: pointer;
	background-image: var(--icon-chevron);
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 14px 14px;
}
.flow-modal .flow-select select.mono {
	font: 400 13px var(--font-mono);
}
.flow-modal .flow-field .editor_box {
	min-height: 150px;
}
.flow-modal .flow-switch {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 40px;
	cursor: pointer;
	color: var(--text-secondary);
	font: 400 14px var(--font-body);
}
.flow-modal .flow-switch.on {
	color: var(--text-primary);
}
.flow-modal .flow-data {
	padding-top: 14px;
	border-top: 1px solid var(--border-default);
}
.flow-modal .flow-data .title {
	margin-bottom: 8px;
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.flow-modal .flow-data .chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.flow-modal .flow-data .note {
	margin: 6px 0 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.flow-modal .flow-empty-note {
	margin: 0;
	font: 400 13px var(--font-body);
	color: var(--text-muted);
}
.flow-modal .center {
	margin-top: 4px;
	align-items: center;
}
.flow-modal .flow-node-foot-bar {
	justify-content: flex-start;
	flex-wrap: nowrap;
	gap: 8px;
}
.flow-modal .flow-node-foot-bar .button {
	padding: 9px 12px;
	font: 600 13px/1.2 var(--font-body);
}
.flow-modal .flow-node-foot-bar .flow-spacer {
	flex: 1;
}
.flow-modal .center .button {
	white-space: nowrap;
}
.flow-modal .center .button.bad {
	order: 0;
	color: var(--danger);
	border-color: rgba(255,69,58,.5);
}


.flow-modal .flow-runs {
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-height: 60vh;
	overflow-y: auto;
}
.flow-modal .flow-run {
	padding: 12px 14px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.flow-modal .flow-run .head {
	display: flex;
	align-items: center;
	gap: 10px;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.flow-modal .flow-run .head .state {
	display: inline-flex;
	align-items: center;
	height: 22px;
	padding: 0 9px;
	border-radius: var(--radius-s);
	border: 1px solid var(--border-strong);
	font: 600 11px/1 var(--font-body);
	color: var(--text-muted);
}
.flow-modal .flow-run .head .state.ok {
	border-color: var(--accent);
	color: var(--accent);
	background: rgba(var(--accent-rgb),.12);
}
.flow-modal .flow-run .head .state.error {
	border-color: var(--danger);
	color: var(--danger);
	background: rgba(255,69,58,.12);
}
.flow-modal .flow-run .head .state.waiting,
.flow-modal .flow-run .head .state.running {
	border-color: var(--warning);
	color: var(--warning);
	background: rgba(245,185,80,.14);
}
.flow-modal .flow-run .head .trigger {
	margin-left: auto;
	font: 400 11px var(--font-mono);
}
.flow-modal .flow-run .message {
	margin: 8px 0 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.flow-modal .flow-run .steps {
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.flow-modal .flow-run .steps li {
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 4px 0;
	border-top: 1px solid var(--border-default);
	font: 400 12px var(--font-body);
	color: var(--text-secondary);
}
.flow-modal .flow-run .steps li.error {
	color: var(--danger);
}
.flow-modal .flow-run .steps li.skipped {
	color: var(--text-muted);
}
.flow-modal .flow-run .steps .name {
	min-width: 140px;
	font-weight: 500;
	color: var(--text-primary);
}
.flow-modal .flow-run .steps li.error .name {
	color: var(--danger);
}
.flow-modal .flow-run .steps .port {
	min-width: 48px;
	font: 600 10px var(--font-body);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.flow-modal .flow-run .steps .ms {
	min-width: 56px;
	text-align: right;
	font-variant-numeric: tabular-nums;
	color: var(--text-muted);
}
.flow-modal .flow-run .steps .msg {
	flex: 1;
	min-width: 0;
	color: var(--text-muted);
}

@media (max-width: 1179px) {
	body:not(.static) #flow_editor .flow-work {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto minmax(320px, 1fr);
	}
	body:not(.static) #flow_editor .flow-palette {
		max-height: 260px;
	}
}

#flow_editor .flow-status {
	position: relative;
}
#flow_editor .flow-status-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 34px;
	padding: 0 12px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	color: var(--text-primary);
	font: 600 13px var(--font-body);
	cursor: pointer;
}
#flow_editor .flow-status-btn svg {
	color: var(--text-muted);
}
#flow_editor .flow-status-btn i,
#flow_editor .flow-status-pick i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--text-muted);
	flex-shrink: 0;
}
#flow_editor .active > i {
	background: var(--accent);
}
#flow_editor .paused > i {
	background: var(--warning);
}
#flow_editor .flow-status-menu {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 30;
	min-width: 160px;
	margin: 0;
	padding: 6px;
	list-style: none;
	background: var(--surface-raised, var(--surface-card));
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	box-shadow: 0 12px 32px rgba(0,0,0,.35);
}
#flow_editor .flow-status-menu[hidden] {
	display: none;
}
#flow_editor .flow-status-pick {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	color: var(--text-secondary);
	font: 500 13px var(--font-body);
	cursor: pointer;
}
#flow_editor .flow-status-pick:hover,
#flow_editor .flow-status-pick.on {
	background: color-mix(in srgb, var(--text-primary) 7%, transparent);
	color: var(--text-primary);
}
.list-view.flow_templates p[data-id='text'] {
	color: var(--text-muted);
	white-space: normal;
}
.list-legend.for-flow-templates p[data-id='take'],
.list-view.flow_templates > li > p[data-id='take'] {
	order: 99;
}

#flow_editor .flow-break,
#flow_editor .flow-palette-open,
#flow_editor .flow-palette-close,
#flow_editor .flow-palette-dim {
	display: none;
}
@keyframes flow-drawer-in {
	from { transform: translateX(-24px); }
	to { transform: none; }
}
@media (max-width: 770px) {
	body:not(.static) #flow_editor .flow-head {
		gap: 10px;
	}
	body:not(.static) #flow_editor .flow-back { order: 1; }
	body:not(.static) #flow_editor .flow-name {
		order: 2;
		flex: 1 1 0;
		min-width: 0;
		max-width: none;
	}
	body:not(.static) #flow_editor .flow-saved {
		display: none;
	}
	body:not(.static) #flow_editor .flow-break {
		display: block;
		order: 3;
		flex-basis: 100%;
		height: 0;
	}
	body:not(.static) #flow_editor .flow-status {
		order: 4;
		width: 130px;
	}
	body:not(.static) #flow_editor .flow-status-btn {
		width: 100%;
		box-sizing: border-box;
	}
	body:not(.static) #flow_editor .flow-spacer { order: 5; }
	body:not(.static) #flow_editor .flow-palette-open { order: 6; display: inline-flex; }
	body:not(.static) #flow_editor .flow-test { order: 7; }
	body:not(.static) #flow_editor .flow-start { order: 8; }
	body:not(.static) #flow_editor .flow-palette-open,
	body:not(.static) #flow_editor .flow-test,
	body:not(.static) #flow_editor .flow-start {
		width: 40px;
		height: 40px;
		padding: 0;
		gap: 0;
		justify-content: center;
	}
	body:not(.static) #flow_editor .flow-palette-open > span,
	body:not(.static) #flow_editor .flow-test > span,
	body:not(.static) #flow_editor .flow-start > span {
		display: none;
	}
	body:not(.static) #flow_editor .flow-work {
		position: relative;
		display: block;
	}
	body:not(.static) #flow_editor .flow-stage {
		height: calc(100dvh - 260px);
		min-height: 360px;
		touch-action: none;
	}
	body:not(.static) #flow_editor .flow-palette {
		display: none;
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		z-index: 20;
		width: min(320px, calc(100% - 40px));
		max-height: none;
		box-sizing: border-box;
		overflow-y: auto;
		box-shadow: var(--shadow-pop);
	}
	body:not(.static) #flow_editor.palette_auf .flow-palette {
		display: flex;
		animation: flow-drawer-in .2s ease-out;
	}
	body:not(.static) #flow_editor.palette_auf .flow-palette-dim {
		display: block;
		position: absolute;
		inset: 0;
		z-index: 19;
		border-radius: var(--radius-l);
		background: rgba(0,0,0,.35);
	}
	body:not(.static) #flow_editor .flow-palette-close {
		display: grid;
		place-items: center;
		width: 32px;
		height: 32px;
		margin-left: 2px;
		color: var(--text-muted);
		cursor: pointer;
	}
	body:not(.static) #flow_editor .flow-hint {
		display: none;
	}
}
.admin_page {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.admin_page .data {
	margin: 0;
}
.admin_loading,
.admin_empty {
	padding: 24px 4px;
	font: var(--text-small);
	color: var(--text-muted);
}
.admin_empty {
	padding: 28px 20px;
	text-align: center;
}
.admin_tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(180px,1fr));
	gap: 12px;
}
.admin_tile {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	padding: 14px 16px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-default);
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
}
.admin_tile .lbl {
	font: var(--text-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--text-muted);
}
.admin_tile .val {
	font: 600 22px var(--font-display);
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
.admin_tile .sub {
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.admin_attention,
.admin_notices {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.admin_notice {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-default);
	background: var(--surface-raised);
	font: 500 13px/1.4 var(--font-body);
	color: var(--text-secondary);
	transition: background .15s, border-color .15s;
}
.admin_notice svg {
	flex-shrink: 0;
}
.admin_notice .txt {
	flex: 1;
	min-width: 0;
}
.admin_notice .act {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
	font: 600 12px var(--font-body);
	white-space: nowrap;
	opacity: .85;
}
.admin_notice.clickable {
	cursor: pointer;
}
.admin_notice.clickable:hover {
	border-color: var(--border-strong);
	background: rgba(242,245,244,.04);
}
.admin_notice.clickable:hover .act {
	opacity: 1;
}
.admin_notice.danger {
	border-color: rgba(255,69,58,.45);
	background: rgba(255,69,58,.08);
	color: var(--danger);
}
.admin_notice.danger.clickable:hover {
	border-color: rgba(255,69,58,.7);
	background: rgba(255,69,58,.13);
}
.admin_notice.warning {
	border-color: rgba(245,185,80,.45);
	background: rgba(245,185,80,.08);
	color: var(--warning);
}
.admin_notice.warning.clickable:hover {
	border-color: rgba(245,185,80,.7);
	background: rgba(245,185,80,.13);
}
.admin_filter {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.admin_filter .spacer {
	flex: 1;
}
.admin_search input {
	width: 280px;
	max-width: 100%;
}
.admin_select {
	position: relative;
	display: inline-grid;
}
.admin_select select {
	height: 40px;
	padding: 0 32px 0 12px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-primary);
	font: 400 14px var(--font-body);
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	outline: none;
}
.admin_select select:focus {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.admin_select:after {
	content: '';
	position: absolute;
	right: 12px;
	top: 50%;
	width: 12px;
	height: 12px;
	margin-top: -6px;
	background: var(--icon-chevron) no-repeat center / contain;
	pointer-events: none;
}
.admin_field .admin_select,
.admin_field .admin_select select {
	width: 100%;
}
.list-view.admin_accounts_list li[data-type='admin_active']:before {
	background: var(--accent);
}
.list-view.admin_accounts_list li[data-type='admin_notice']:before {
	background: var(--warning);
}
.list-view.admin_accounts_list li[data-type='admin_error']:before {
	background: var(--danger);
}
.list-view.admin_accounts_list li[data-type='admin_muted']:before {
	background: var(--gray-400);
}
.list-view.admin_click > li {
	cursor: pointer;
}
.admin_list .muted,
.admin_list_card .muted {
	color: var(--text-muted);
}
.admin_list .warn {
	color: var(--warning);
}
.admin_list .err {
	color: var(--danger);
}
.admin_who {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.admin_who .n {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--text-primary);
	font-weight: 500;
}
.admin_who .f {
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.admin_who .f.mono {
	font: 400 12px var(--font-mono, ui-monospace, monospace);
}
.admin_shield {
	display: inline-flex;
	color: var(--accent);
}
.admin_tarif {
	font: 600 13px var(--font-body);
	color: var(--text-secondary);
}
.admin_tarif.pro,
.admin_tarif.max {
	color: var(--accent);
}
.admin_badge {
	display: inline-flex;
	align-items: center;
	height: 22px;
	padding: 0 8px;
	border-radius: 999px;
	border: 1px solid var(--border-strong);
	font: 600 11px var(--font-body);
	white-space: nowrap;
	color: var(--text-muted);
}
.admin_badge.active {
	border-color: rgba(var(--accent-rgb),.5);
	color: var(--accent);
	background: rgba(var(--accent-rgb),.08);
}
.admin_badge.notice {
	border-color: rgba(245,185,80,.5);
	color: var(--warning);
	background: rgba(245,185,80,.08);
}
.admin_badge.error {
	border-color: rgba(255,69,58,.5);
	color: var(--danger);
	background: rgba(255,69,58,.08);
}
.admin_dot_name {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--text-primary);
}
.admin_dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
	background: var(--danger);
}
.admin_dot.ok {
	background: var(--accent);
	box-shadow: 0 0 6px rgba(var(--accent-rgb),.6);
}
.admin_dot.warn {
	background: var(--warning);
}
.admin_errors_list p.admin_ellipsis span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.admin_pre {
	margin: 0;
	max-height: 60vh;
	overflow: auto;
	padding: 12px 14px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-default);
	background: var(--surface-raised);
	font: 400 12px/1.55 var(--font-mono, ui-monospace, monospace);
	color: var(--text-secondary);
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}
.admin_progress {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-variant-numeric: tabular-nums;
}
.admin_progress .bar {
	width: 70px;
	height: 4px;
	border-radius: 2px;
	overflow: hidden;
	background: var(--border-default);
}
.admin_progress .bar i {
	display: block;
	height: 100%;
	background: var(--accent);
}
.admin_modal .box {
	max-width: 680px;
}
.admin_dlg {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.admin_dlg_footer {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 22px;
}
.admin_dlg_footer .button {
	width: auto;
}
.admin_kv_grid {
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
	gap: 0 28px;
}
.admin_kv {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 8px 0;
	border-bottom: 1px solid var(--border-default);
	font: 400 13px var(--font-body);
}
.admin_kv span:first-child {
	color: var(--text-muted);
}
.admin_kv span:last-child {
	color: var(--text-primary);
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.admin_label,
.admin_field > span {
	margin: 0;
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.admin_actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.admin_action {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 12px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
}
.admin_action:hover {
	border-color: var(--accent);
	color: var(--text-primary);
	text-decoration: none;
}
.admin_action.danger {
	border-color: rgba(255,69,58,.5);
	color: var(--danger);
}
.admin_action.danger:hover {
	border-color: var(--danger);
	color: var(--danger);
}
.admin_action_title {
	margin: 0;
	font: 600 15px var(--font-body);
	color: var(--text-primary);
}
.admin_action_form,
.admin_form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.admin_field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.admin_field input,
.admin_field textarea {
	width: 100%;
}
.admin_field textarea {
	height: auto;
	padding: 10px 12px;
	resize: vertical;
}
.admin_field small {
	font: 400 12px/1.45 var(--font-body);
	letter-spacing: 0;
	text-transform: none;
	color: var(--text-muted);
}
.admin_text {
	margin: 0;
	font: 400 13px/1.55 var(--font-body);
	color: var(--text-secondary);
}
.admin_error {
	margin: 0;
	font: 400 12px/1.45 var(--font-body);
	color: var(--danger);
}
.admin_dlg_footer .button.disabled {
	opacity: .45;
	cursor: default;
	pointer-events: none;
}
.admin_mails {
	align-items: flex-start;
}
.admin_mail_bar {
	position: relative;
	z-index: 20;
	margin-bottom: 16px;
}
.list-filter #admin_mail_select:not(.pill),
#admin_mail_select > input {
	width: 320px;
	max-width: 100%;
}
#admin_mail_select li p {
	display: flex;
	align-items: center;
	gap: 8px;
}
#admin_mail_select li .label {
	flex: 1;
	min-width: 0;
}
#admin_mail_select li .admin_mail_check {
	display: none;
	color: var(--accent);
}
#admin_mail_select li.current p {
	color: var(--accent);
	font-weight: 600;
}
#admin_mail_select li.current .admin_mail_check {
	display: flex;
}
.admin_mail_edit {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 760px;
	min-width: 0;
}
.admin_grid2 {
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
	gap: 18px 24px;
}
.admin_form_footer {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 24px;
}
.admin_form_footer .button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: auto;
}
.admin_form_footer .button.disabled {
	opacity: .45;
	pointer-events: none;
}
.admin_sent {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 500 13px var(--font-body);
	color: var(--accent);
}
.admin_segments {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.admin_segment {
	display: inline-flex;
	padding: 3px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
}
.admin_segment a {
	padding: 5px 12px;
	border-radius: var(--radius-s);
	font: 600 12px var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
}
.admin_segment a:hover {
	color: var(--text-primary);
	text-decoration: none;
}
.admin_segment a.on {
	background: rgba(var(--accent-rgb),.12);
	color: var(--accent);
}
.admin_preview_wrap {
	display: flex;
	justify-content: center;
	padding: 4px 0;
}
.admin_preview {
	display: block;
	width: 100%;
	max-width: 660px;
	height: 680px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: #EEF2F1;
}
.admin_preview.handy {
	width: 375px;
	height: 720px;
	border-radius: 28px;
}
.admin_preview.dunkel {
	background: #0A0C0B;
}
.admin_settings .admin_nr.error input {
	border-color: var(--danger);
	box-shadow: 0 0 0 3px rgba(255,69,58,.12);
}
.admin_settings .admin_nr.error label,
.admin_settings .admin_nr_error {
	color: var(--danger);
}
.view_as_bar {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 20px 16px 0 4px;
	padding: 8px 14px;
	border-radius: var(--radius-m);
	border: 1px solid rgba(245,185,80,.55);
	background: rgba(245,185,80,.12);
	font: 500 13px/1.4 var(--font-body);
	color: var(--warning);
}
.view_as_bar span {
	flex: 1 1 240px;
}
.view_as_bar .view_as_end {
	flex-shrink: 0;
	padding: 5px 12px;
	border-radius: var(--radius-s);
	border: 1px solid var(--warning);
	font: 600 12px var(--font-body);
	color: var(--warning);
	cursor: pointer;
}
.view_as_bar .view_as_end:hover {
	background: rgba(245,185,80,.12);
	text-decoration: none;
}
@media (max-width: 720px) {
	.admin_mails {
		flex-direction: column;
	}
	.admin_search input {
		width: 100%;
	}
}
.data.admin_list {
	display: block;
	max-width: none;
}
.admin_page > .data,
.admin_page .admin_mail_edit > .data {
	max-width: none;
}

.billing_license {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 16px 18px;
	border-radius: var(--radius-m);
	border: 1px solid var(--accent);
	background: rgba(var(--accent-rgb),.05);
}
.billing_license.muted {
	border-color: var(--border-strong);
	background: var(--surface-raised);
}
.billing_license_head {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.billing_license_head .name {
	font: 600 17px var(--font-display);
	color: var(--text-primary);
}
.billing_license_head .spacer {
	flex: 1;
}
.billing_price {
	font: 500 14px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-secondary);
}
.billing_price span {
	font-weight: 400;
	color: var(--text-muted);
}
.billing_line {
	margin: 0;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.billing_line.notice {
	color: var(--warning);
}
.billing_line a {
	font-weight: 600;
	cursor: pointer;
}
.billing_points {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 7px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.billing_points li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-muted);
}
.billing_points li svg {
	flex-shrink: 0;
	margin-top: 3px;
	color: var(--accent);
}
.billing_points li.no svg {
	color: var(--text-muted);
}
@media (max-width: 480px) {
	.billing_points {
		grid-template-columns: minmax(0,1fr);
	}
}
.billing_badge {
	display: inline-flex;
	align-items: center;
	height: 22px;
	padding: 0 8px;
	border-radius: 999px;
	border: 1px solid var(--border-strong);
	font: 600 11px var(--font-body);
	white-space: nowrap;
	color: var(--text-muted);
}
.billing_badge.active {
	border-color: rgba(var(--accent-rgb),.5);
	color: var(--accent);
	background: rgba(var(--accent-rgb),.08);
}
.billing_badge.notice {
	border-color: rgba(245,185,80,.5);
	color: var(--warning);
	background: rgba(245,185,80,.08);
}
.billing_badge.error {
	border-color: rgba(255,69,58,.5);
	color: var(--danger);
	background: rgba(255,69,58,.08);
}
.billing_empty {
	margin: 0;
	font: var(--text-small);
	color: var(--text-muted);
}
.billing_method {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 14px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-default);
	background: var(--surface-raised);
}
.billing_method img {
	display: block;
	flex-shrink: 0;
}
.billing_method strong {
	display: block;
	font: 600 14px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
.billing_method span {
	display: block;
	margin-top: 2px;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.billing_logos {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 14px;
}
.billing_logos img {
	display: block;
}
.billing_alert {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	padding: 10px 12px;
	border-radius: var(--radius-m);
	border: 1px solid rgba(255,69,58,.45);
	background: rgba(255,69,58,.1);
	font: 500 13px/1.4 var(--font-body);
	color: var(--danger);
}
.list-view.billing_invoice_list li[data-type='billing_bezahlt']:before {
	background: var(--accent);
}
.list-view.billing_invoice_list li[data-type='billing_offen']:before {
	background: var(--warning);
}
.list-view.billing_invoice_list li[data-type='billing_fehlgeschlagen']:before {
	background: var(--danger);
}
.list-view.billing_invoice_list li[data-type='billing_erstattet']:before {
	background: var(--gray-400);
}
.billing_modal .box {
	max-width: 640px;
}
.cal_modal.billing_modal.billing_wide .box {
	width: 860px;
	max-width: calc(100vw - 32px);
}
.billing_dlg {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.billing_dlg_footer {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 22px;
}
.billing_dlg_footer:empty {
	display: none;
}
.billing_dlg_footer .button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: auto;
}
.billing_dlg_footer .button.disabled {
	opacity: .45;
	pointer-events: none;
}
.billing_iv {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 220px;
	max-width: 100%;
}
.billing_cards {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}
.billing_card {
	flex: 1 1 220px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 18px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
}
.billing_card.on {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.05);
}
.billing_card .name {
	font: 600 16px var(--font-display);
	color: var(--text-primary);
}
.billing_card .price {
	font: 400 13px var(--font-body);
	color: var(--text-muted);
}
.billing_card .price b {
	font: 600 24px var(--font-display);
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
.billing_card ul {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.billing_card li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-secondary);
}
.billing_card li svg {
	flex-shrink: 0;
	margin-top: 3px;
	color: var(--accent);
}
.billing_card li.no {
	color: var(--text-muted);
}
.billing_card li.no svg {
	color: var(--text-muted);
}
.billing_card .pick {
	display: flex;
	margin-top: auto;
	padding-top: 4px;
}
.billing_card .pick .button {
	width: 100%;
	justify-content: center;
	text-align: center;
}
.billing_text {
	margin: 0;
	font: 400 14px/1.6 var(--font-body);
	color: var(--text-secondary);
}
.billing_small {
	margin: 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.billing_error {
	margin: 0;
	font: 400 12px/1.45 var(--font-body);
	color: var(--danger);
}
.billing_invoices .list-legend p[data-id='date'],
.billing_invoices .list-view > li > p[data-id='date'] {
	width: 100px;
	min-width: 100px;
}
.billing_invoices .list-legend p[data-id='number'],
.billing_invoices .list-view > li > p[data-id='number'] {
	width: 130px;
	min-width: 130px;
}
.billing_invoices .list-legend p[data-id='gross'],
.billing_invoices .list-view > li > p[data-id='gross'] {
	width: 100px;
	min-width: 100px;
}
.billing_invoices .list-legend p[data-id='status'],
.billing_invoices .list-view > li > p[data-id='status'] {
	width: 120px;
	min-width: 120px;
}
.billing_invoices .list-legend p[data-id='text'],
.billing_invoices .list-view > li > p[data-id='text'] {
	flex: 1 1 auto;
	width: auto;
	min-width: 180px;
}
.list-view.admin_fin_invoice_list li[data-type='billing_bezahlt']:before {
	background: var(--accent);
}
.list-view.admin_fin_invoice_list li[data-type='billing_offen']:before {
	background: var(--warning);
}
.list-view.admin_fin_invoice_list li[data-type='billing_fehlgeschlagen']:before {
	background: var(--danger);
}
.admin_finance .data.sections .data.admin_list {
	max-width: none;
}

.list-legend.admin_fin_invoice_list p[data-id='number'],
.list-view.admin_fin_invoice_list > li > p[data-id='number'] {
	width: 130px;
	min-width: 130px;
	flex: 0 0 auto;
}
.list-legend.admin_fin_invoice_list p[data-id='date'],
.list-view.admin_fin_invoice_list > li > p[data-id='date'] {
	width: 100px;
	min-width: 100px;
	flex: 0 0 auto;
}
.list-legend.admin_fin_invoice_list p[data-id='gross'],
.list-view.admin_fin_invoice_list > li > p[data-id='gross'] {
	width: 100px;
	min-width: 100px;
	flex: 0 0 auto;
}
.list-legend.admin_fin_invoice_list p[data-id='status'],
.list-view.admin_fin_invoice_list > li > p[data-id='status'] {
	width: 120px;
	min-width: 120px;
	flex: 0 0 auto;
}
.list-legend.admin_fin_invoice_list p[data-id='konto'],
.list-view.admin_fin_invoice_list > li > p[data-id='konto'] {
	flex: 1 1 0;
	width: auto;
	min-width: 120px;
}
.list-legend.admin_fin_invoice_list p[data-id='text'],
.list-view.admin_fin_invoice_list > li > p[data-id='text'] {
	flex: 1 1 0;
	width: auto;
	min-width: 120px;
}
.list-legend.admin_fin_agent_list p[data-id='konto'],
.list-view.admin_fin_agent_list > li > p[data-id='konto'] {
	flex: 1 1 0;
	width: auto;
	min-width: 120px;
}
.list-legend.admin_fin_agent_list p[data-id='anfragen'],
.list-view.admin_fin_agent_list > li > p[data-id='anfragen'] {
	width: 100px;
	min-width: 100px;
	flex: 0 0 auto;
}
.list-legend.admin_fin_agent_list p[data-id='kosten'],
.list-view.admin_fin_agent_list > li > p[data-id='kosten'] {
	width: 130px;
	min-width: 130px;
	flex: 0 0 auto;
}
.list-legend.admin_fin_agent_list p[data-id='auslastung'],
.list-view.admin_fin_agent_list > li > p[data-id='auslastung'] {
	width: 150px;
	min-width: 150px;
	flex: 0 0 auto;
}
.list-legend.admin_legal_list p[data-id='name'],
.list-view.admin_legal_list > li > p[data-id='name'] {
	flex: 1 1 0;
	width: auto;
	min-width: 120px;
}
.list-legend.admin_legal_list p[data-id='version'],
.list-view.admin_legal_list > li > p[data-id='version'] {
	width: 100px;
	min-width: 100px;
	flex: 0 0 auto;
}
.list-legend.admin_legal_list p[data-id='stand'],
.list-view.admin_legal_list > li > p[data-id='stand'] {
	width: 110px;
	min-width: 110px;
	flex: 0 0 auto;
}
.list-legend.admin_legal_list p[data-id='zustimmung'],
.list-view.admin_legal_list > li > p[data-id='zustimmung'] {
	width: 170px;
	min-width: 170px;
	flex: 0 0 auto;
}
.list-legend.admin_system_list p[data-id='name'],
.list-view.admin_system_list > li > p[data-id='name'] {
	flex: 1 1 0;
	width: auto;
	min-width: 120px;
}
.list-legend.admin_system_list p[data-id='takt'],
.list-view.admin_system_list > li > p[data-id='takt'] {
	width: 100px;
	min-width: 100px;
	flex: 0 0 auto;
}
.list-legend.admin_system_list p[data-id='letzter'],
.list-view.admin_system_list > li > p[data-id='letzter'] {
	width: 140px;
	min-width: 140px;
	flex: 0 0 auto;
}
.list-legend.admin_system_list p[data-id='meldung'],
.list-view.admin_system_list > li > p[data-id='meldung'] {
	flex: 1 1 0;
	width: auto;
	min-width: 120px;
}
.list-legend.admin_errors_list p[data-id='zeit'],
.list-view.admin_errors_list > li > p[data-id='zeit'] {
	width: 140px;
	min-width: 140px;
	flex: 0 0 auto;
}
.list-legend.admin_errors_list p[data-id='bereich'],
.list-view.admin_errors_list > li > p[data-id='bereich'] {
	width: 110px;
	min-width: 110px;
	flex: 0 0 auto;
}
.list-legend.admin_errors_list p[data-id='meldung'],
.list-view.admin_errors_list > li > p[data-id='meldung'] {
	flex: 1 1 0;
	width: auto;
	min-width: 120px;
}
.list-legend.admin_errors_list p[data-id='konto'],
.list-view.admin_errors_list > li > p[data-id='konto'] {
	width: 110px;
	min-width: 110px;
	flex: 0 0 auto;
}
.list-legend.admin_errors_list p[data-id='anzahl'],
.list-view.admin_errors_list > li > p[data-id='anzahl'] {
	width: 80px;
	min-width: 80px;
	flex: 0 0 auto;
}
.list-legend.admin_log_list p[data-id='zeit'],
.list-view.admin_log_list > li > p[data-id='zeit'] {
	width: 140px;
	min-width: 140px;
	flex: 0 0 auto;
}
.list-legend.admin_log_list p[data-id='aktion'],
.list-view.admin_log_list > li > p[data-id='aktion'] {
	flex: 1 1 0;
	width: auto;
	min-width: 120px;
}
.list-legend.admin_log_list p[data-id='konto'],
.list-view.admin_log_list > li > p[data-id='konto'] {
	width: 150px;
	min-width: 150px;
	flex: 0 0 auto;
}
.list-legend.admin_log_list p[data-id='grund'],
.list-view.admin_log_list > li > p[data-id='grund'] {
	flex: 1 1 0;
	width: auto;
	min-width: 120px;
}
@media (min-width: 771px) {
	.heading > .page-head:first-child {
		margin-top: -6px;
	}
	.heading > .page-head:first-child .page-title h1 {
		margin-top: 2px;
	}
}

.admin_agent {
	align-items: flex-start;
}
.admin_agent_nav .nav_count.danger {
	color: var(--danger);
}
.admin_agent_stack {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
}
.admin_agent .data,
.admin_agent .data.admin_agent_card {
	max-width: none;
}
.admin_card_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.admin_card_head h2 {
	margin: 0;
}
.admin_card_head .button {
	width: auto;
}
.admin_agent_chart {
	height: 170px;
}
.admin_agent_chart .chart {
	height: 100%;
}
.admin_agent .mono {
	font: 500 13px var(--font-mono, ui-monospace, monospace);
}
.admin_agent .mono.sel {
	color: var(--accent);
	font-weight: 600;
}
.admin_agent .ag_session_link {
	font: 500 13px var(--font-mono, ui-monospace, monospace);
	color: var(--accent);
	cursor: pointer;
	text-decoration: none;
}
.admin_agent .ag_session_link:hover {
	text-decoration: underline;
}
.admin_agent .ag_flag {
	display: inline-flex;
	color: var(--warning);
}
.ag_session_bar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
}
.ag_session_bar b {
	color: var(--text-primary);
}
.ag_session_bar .spacer {
	flex: 1;
}
.ag_session_bar .ag_session_clear {
	font: 600 12px var(--font-body);
	cursor: pointer;
}
.ag_session_bar_wrap:empty {
	display: none;
}

.list-view.admin_agent_msgs_list li[data-type='agent_none']:before,
.list-view.admin_agent_sessions_list li[data-type='agent_none']:before,
.list-view.admin_agent_tests_list li[data-type='agent_none']:before,
.list-view.admin_agent_prompts_list li[data-type='agent_none']:before {
	background: var(--gray-400);
}
.list-view.admin_agent_msgs_list li[data-type='agent_up']:before,
.list-view.admin_agent_tests_list li[data-type='agent_up']:before,
.list-view.admin_agent_prompts_list li[data-type='agent_up']:before {
	background: var(--accent);
}
.list-view.admin_agent_msgs_list li[data-type='agent_down']:before,
.list-view.admin_agent_sessions_list li[data-type='agent_down']:before,
.list-view.admin_agent_tests_list li[data-type='agent_down']:before {
	background: var(--danger);
}

.list-legend.admin_agent_msgs_list p:not([data-id='select']):not(.table-options),
.list-view.admin_agent_msgs_list > li > p:not([data-id='select']):not(.table-options) {
	flex: 0 0 auto;
}
.list-legend.admin_agent_msgs_list p[data-id='session'],
.list-view.admin_agent_msgs_list > li > p[data-id='session'] { width: 90px; min-width: 90px; }
.list-legend.admin_agent_msgs_list p[data-id='frage'],
.list-view.admin_agent_msgs_list > li > p[data-id='frage'] { flex: 1 1 0; width: auto; min-width: 220px; }
.list-legend.admin_agent_msgs_list p[data-id='antwort'],
.list-view.admin_agent_msgs_list > li > p[data-id='antwort'] { flex: 1.25 1 0; width: auto; min-width: 260px; }
.list-legend.admin_agent_msgs_list p[data-id='status'],
.list-view.admin_agent_msgs_list > li > p[data-id='status'] { width: 100px; min-width: 100px; }
.list-legend.admin_agent_msgs_list p[data-id='zeit'],
.list-view.admin_agent_msgs_list > li > p[data-id='zeit'] { width: 140px; min-width: 140px; }
.list-legend.admin_agent_msgs_list p[data-id='konto'],
.list-view.admin_agent_msgs_list > li > p[data-id='konto'] { width: 150px; min-width: 150px; }
.list-legend.admin_agent_msgs_list p[data-id='dauer'],
.list-view.admin_agent_msgs_list > li > p[data-id='dauer'] { width: 80px; min-width: 80px; }
.list-legend.admin_agent_msgs_list p[data-id='kosten'],
.list-view.admin_agent_msgs_list > li > p[data-id='kosten'] { width: 100px; min-width: 100px; }
.list-legend.admin_agent_msgs_list p[data-id='fehler'],
.list-view.admin_agent_msgs_list > li > p[data-id='fehler'] { width: 150px; min-width: 150px; }
.list-legend.admin_agent_msgs_list p[data-id='testfall'],
.list-view.admin_agent_msgs_list > li > p[data-id='testfall'] { width: 80px; min-width: 80px; }
.list-view.admin_agent_msgs_list > li > p[data-id='antwort'] {
	color: var(--text-primary);
}

.admin_agent .list-view > li > p.ag_txt {
	overflow: hidden;
}
.admin_agent .ag_text {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.admin_agent_stack.voll .list-view.admin_agent_msgs_list > li {
	height: auto;
	min-height: 52px;
	align-items: flex-start;
	padding-top: 12px;
	padding-bottom: 12px;
}
.admin_agent_stack.voll .list-view.admin_agent_msgs_list > li > p {
	height: auto;
	white-space: normal;
}
.admin_agent_stack.voll .admin_agent_msgs_list .ag_text {
	white-space: pre-wrap;
	line-height: 1.55;
}
.admin_agent_msgs_list .hidden_menu,
.admin_agent_sessions_list .hidden_menu,
.admin_agent_prompts_list .hidden_menu {
	min-width: 260px;
}

.list-legend.admin_agent_sessions_list p:not([data-id='select']):not(.table-options),
.list-view.admin_agent_sessions_list > li > p:not([data-id='select']):not(.table-options) {
	flex: 0 0 auto;
	width: 120px;
	min-width: 120px;
}
.list-legend.admin_agent_sessions_list p[data-id='konto'],
.list-view.admin_agent_sessions_list > li > p[data-id='konto'] { flex: 1 1 0; width: auto; min-width: 160px; }
.list-legend.admin_agent_sessions_list p[data-id='beginn'],
.list-view.admin_agent_sessions_list > li > p[data-id='beginn'] { width: 150px; min-width: 150px; }
.list-legend.admin_agent_tests_list p:not([data-id='select']):not(.table-options),
.list-view.admin_agent_tests_list > li > p:not([data-id='select']):not(.table-options) {
	flex: 0 0 auto;
	width: 100px;
	min-width: 100px;
}
.list-legend.admin_agent_tests_list p[data-id='konto'],
.list-view.admin_agent_tests_list > li > p[data-id='konto'] { width: 150px; min-width: 150px; }
.list-legend.admin_agent_tests_list p[data-id='frage'],
.list-view.admin_agent_tests_list > li > p[data-id='frage'],
.list-legend.admin_agent_tests_list p[data-id='antwort'],
.list-view.admin_agent_tests_list > li > p[data-id='antwort'] { flex: 1 1 0; width: auto; min-width: 160px; }
.list-legend.admin_agent_prompts_list p:not([data-id='select']):not(.table-options),
.list-view.admin_agent_prompts_list > li > p:not([data-id='select']):not(.table-options) {
	flex: 1 1 0;
	width: auto;
	min-width: 100px;
}
.ag_prompt_text {
	width: 100%;
	min-height: 260px;
	padding: 12px 14px;
	resize: vertical;
	font: 400 13px/1.6 var(--font-mono, ui-monospace, monospace);
}
.ag_diff:empty {
	display: none;
}
.ag_diff {
	margin-top: 14px;
}
.ag_diff_lines {
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	overflow: hidden;
	font: 400 13px/1.6 var(--font-mono, ui-monospace, monospace);
	color: var(--text-secondary);
}
.ag_diff_lines > div {
	display: flex;
	gap: 10px;
	padding: 2px 12px;
}
.ag_diff_lines .sign {
	width: 10px;
	flex-shrink: 0;
}
.ag_diff_lines .line {
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}
.ag_diff_lines .add {
	background: rgba(0,208,155,.08);
	color: var(--accent);
}
.ag_diff_lines .del {
	background: rgba(255,69,58,.08);
	color: var(--danger);
}

.cal_modal.admin_agent_modal .box {
	width: 780px;
	max-width: calc(100vw - 32px);
}
.ag_label,
.ag_blase .lbl {
	font: var(--text-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--text-muted);
}
.ag_label {
	display: block;
	margin-bottom: 8px;
}
.ag_hint {
	margin: 0;
	font: 400 13px var(--font-body);
	color: var(--text-muted);
}
.ag_blase {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
}
.ag_blase.agent {
	align-items: flex-start;
}
.ag_blase.agent .lbl {
	color: var(--accent);
}
.ag_blase .txt {
	max-width: 92%;
	padding: 10px 14px;
	border-radius: var(--radius-m);
	border: 1px solid rgba(0,208,155,.3);
	background: rgba(0,208,155,.07);
	font: 400 14px/1.6 var(--font-body);
	color: var(--text-secondary);
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}
.ag_blase.agent .txt {
	border-color: var(--border-default);
	background: var(--surface-raised);
}
.ag_bewertung {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-default);
	background: var(--surface-raised);
	font: 500 13px/1.45 var(--font-body);
	color: var(--gray-400);
}
.ag_bewertung.up {
	border-color: rgba(0,208,155,.45);
	background: rgba(0,208,155,.06);
	color: var(--accent);
}
.ag_bewertung.down {
	border-color: rgba(255,69,58,.45);
	background: rgba(255,69,58,.08);
	color: var(--danger);
}
.ag_bewertung .kommentar {
	color: var(--text-secondary);
}
.ag_daumen {
	display: inline-flex;
	flex-shrink: 0;
}
.ag_daumen.down svg {
	transform: scaleY(-1);
}
.ag_daumen_leer {
	width: 14px;
	flex-shrink: 0;
}
.ag_tools {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.ag_tool {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 10px 12px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-default);
	background: var(--surface-raised);
}
.ag_tool.error {
	border-color: rgba(255,69,58,.45);
}
.ag_tool .head {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--text-muted);
}
.ag_tool .name {
	font: 600 13px var(--font-mono, ui-monospace, monospace);
	color: var(--text-primary);
}
.ag_tool .spacer {
	flex: 1;
}
.ag_tool .dauer {
	font: 400 12px var(--font-body);
}
.ag_tool code {
	font: 400 12px/1.5 var(--font-mono, ui-monospace, monospace);
	color: var(--text-secondary);
	overflow-wrap: anywhere;
	white-space: pre-wrap;
	max-height: 160px;
	overflow: auto;
}
.ag_tool .res {
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
	overflow-wrap: anywhere;
	max-height: 120px;
	overflow: auto;
}
.ag_tool.error .res {
	color: var(--danger);
}
.ag_dlg_test {
	display: flex;
	align-items: center;
	padding-top: 24px;
}
.admin_agent_modal .ag_dlg_session {
	margin-right: auto;
	align-self: center;
	font: 600 13px var(--font-body);
	cursor: pointer;
}
.admin_agent .err {
	color: var(--danger);
}
.admin_agent .muted {
	color: var(--text-muted);
}

aside.agent .msg .rate_note {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	margin-top: 6px;
}
aside.agent .msg .rate_note input {
	flex: 1;
	min-width: 0;
	height: 30px;
	padding: 0 10px;
	box-sizing: border-box;
	font: 400 12px var(--font-body);
	border-radius: var(--radius-s);
}
aside.agent .msg .rate_note .rate_send {
	font: 600 12px var(--font-body);
	color: var(--accent);
	cursor: pointer;
	white-space: nowrap;
}
aside.agent .msg .rate_note.sending {
	opacity: .5;
	pointer-events: none;
}
aside.agent .msg .rate_note .rate_thanks {
	font: 400 11px var(--font-body);
	color: var(--text-muted);
}

.pipe-card.live_ghost {
	position: absolute;
	margin: 0;
	pointer-events: none;
	border-color: rgba(var(--accent-rgb), .55);
	box-shadow: 0 18px 48px rgba(0,0,0,.45), 0 0 0 1px rgba(var(--accent-rgb), .25), 0 0 28px rgba(var(--accent-rgb), .22);
	will-change: transform, opacity, filter;
}
.pipe-card.live_arriving {
	opacity: 0;
}
.pipe-card.live_landed {
	animation: live_landed 1.6s ease-out;
}
@keyframes live_landed {
	0%   { opacity: .4; box-shadow: 0 0 0 1px rgba(var(--accent-rgb), .7), 0 0 26px rgba(var(--accent-rgb), .35); }
	25%  { opacity: 1; }
	100% { box-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0), 0 0 0 rgba(var(--accent-rgb), 0); }
}
.live_new,
.live_changed {
	animation: live_flash 2.2s ease-out;
}
.live_new {
	animation-name: live_flash_new;
}
@keyframes live_flash {
	0%   { background-color: rgba(var(--accent-rgb), .14); }
	100% { background-color: transparent; }
}
@keyframes live_flash_new {
	0%   { background-color: rgba(var(--accent-rgb), .18); opacity: 0; }
	15%  { opacity: 1; }
	100% { background-color: transparent; }
}
.pipe-card.live_new,
.pipe-card.live_changed {
	animation-name: live_card_flash;
}
@keyframes live_card_flash {
	0%   { box-shadow: 0 0 0 1px rgba(var(--accent-rgb), .7), 0 0 22px rgba(var(--accent-rgb), .3); }
	100% { box-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0), 0 0 0 rgba(var(--accent-rgb), 0); }
}
.live_hint {
	position: fixed;
	left: 50%;
	top: 18px;
	transform: translate(-50%, -12px);
	z-index: 1200;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 8px 8px 14px;
	border-radius: var(--radius-m);
	background: var(--popover-bg);
	border: 1px solid var(--border-default);
	box-shadow: 0 12px 32px rgba(0,0,0,.35);
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	opacity: 0;
	transition: opacity .25s, transform .25s;
}
.live_hint.show {
	opacity: 1;
	transform: translate(-50%, 0);
}
.live_hint .dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 10px rgba(var(--accent-rgb), .6);
}
.live_hint .button {
	padding: 6px 12px;
}
@media (prefers-reduced-motion: reduce) {
	.live_new, .live_changed, .pipe-card.live_landed { animation: none; }
}
.live_ghost_clip {
	position: fixed;
	z-index: 1100;
	overflow: hidden;
	pointer-events: none;
}
.recurring .pay_fixed {
	margin-left: 4px;
	padding: 1px 6px;
	border-radius: 8px;
	border: 1px solid var(--border-default);
	font: 500 10px/1.4 var(--font-body);
	color: var(--text-muted);
	vertical-align: 1px;
}

aside.agent .msg.context {
	display: block;
	margin: 6px 0;
}
aside.agent .msg.context .context_line {
	display: flex;
	align-items: center;
	gap: 10px;
	font: 500 11px/1.4 var(--font-body);
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: .04em;
}
aside.agent .msg.context .context_line::before,
aside.agent .msg.context .context_line::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--border-default);
}
aside.agent .msg.context .context_summary {
	margin-top: 6px;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-secondary);
	text-align: center;
}
aside.agent .msg.context .context_summary summary {
	cursor: pointer;
	color: var(--text-muted);
}
aside.agent .msg.context .context_summary .text {
	margin-top: 6px;
	text-align: left;
}

aside.agent .msg .claim_warning {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	margin-top: 10px;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	border: 1px solid rgba(242,109,109,.45);
	background: rgba(242,109,109,.08);
	font: 500 12px/1.45 var(--font-body);
	color: var(--text-primary);
}
aside.agent .msg .claim_warning .icon {
	flex-shrink: 0;
	margin-top: 1px;
	color: var(--danger);
}

.list-view.bank-receipts li .receipt_state {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	color: var(--accent);
	vertical-align: middle;
}
.list-view.bank-receipts li .receipt_state .sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.list-view.bank-receipts li p[data-id='receipt'] .none {
	color: var(--text-muted);
}
.list-view.bank-receipts li[data-no-receipt='yes']:before {
	background: var(--gray-400);
}
#receipt_box .receipt_none {
		text-transform: none;
	letter-spacing: normal;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 4px 0 16px;
	padding: 14px 16px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-default);
	background: var(--surface-raised);
	cursor: pointer;
	transition: border-color .15s, background .15s;
}
#receipt_box .receipt_none.on {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb), .08);
}
#receipt_box .receipt_none .text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
#receipt_box .receipt_none .text b {
	font: 600 14px/1.3 var(--font-body);
	color: var(--text-primary);
}
#receipt_box .receipt_none .text span {
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
#receipt_box .receipt_none .toggle {
	position: relative;
	flex-shrink: 0;
	width: 38px;
	height: 22px;
}
#receipt_box .receipt_none .toggle input {
	position: absolute;
	inset: 0;
	opacity: 0;
	margin: 0;
	cursor: pointer;
}
#receipt_box .receipt_none .toggle .track {
	position: absolute;
	inset: 0;
	border-radius: 11px;
	background: var(--border-strong);
	transition: background .15s;
	pointer-events: none;
}
#receipt_box .receipt_none .toggle .track:after {
	content: "";
	position: absolute;
	left: 3px;
	top: 3px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #fff;
	transition: transform .15s;
}
#receipt_box .receipt_none .toggle input:checked + .track {
	background: var(--accent);
}
#receipt_box .receipt_none .toggle input:checked + .track:after {
	transform: translateX(16px);
}
#receipt_box .receipt_reason {
	width: 100%;
}
#receipt_box .receipt_reasons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}
#receipt_box .receipt_reasons .chip {
	padding: 5px 12px;
	border-radius: 999px;
	border: 1px solid var(--border-default);
	background: var(--surface-raised);
	font: 500 12px/1.3 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
	transition: border-color .15s, color .15s;
}
#receipt_box .receipt_reasons .chip:hover {
	color: var(--text-primary);
}
#receipt_box .receipt_reasons .chip.active {
	border-color: var(--accent);
	color: var(--accent);
}
#receipt_box .receipt_note {
	margin: 10px 0 0;
	font: 400 12px/1.45 var(--font-body);
	color: var(--text-muted);
}

.testsystem_bar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100000;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #D63B3B;
	color: #fff;
	font: 700 11px/1 "Instrument Sans", system-ui, sans-serif;
	letter-spacing: .12em;
	text-transform: uppercase;
	pointer-events: none;
}
body.testsystem {
	--testbar: 22px;
	padding-top: var(--testbar);
}
body.testsystem aside.nav {
	top: var(--testbar);
	height: calc(100% - var(--testbar));
}
body.testsystem aside.agent {
	top: var(--testbar);
}
body.testsystem aside.agent,
body.testsystem aside.agent .agent_panel {
	height: calc(100vh - var(--testbar));
	height: calc(100dvh - var(--testbar));
}
body.testsystem .page > header {
	top: var(--testbar);
}
body.testsystem .anchor_nav {
	top: calc(20px + var(--testbar));
}
body.testsystem .legal_nav {
	top: calc(24px + var(--testbar));
}
body.testsystem .live_hint {
	top: calc(18px + var(--testbar));
}
@media (max-width: 770px) {
		body.testsystem:not(.static) aside.nav {
		top: auto;
		height: 62px;
	}
	body.testsystem:not(.static) .agent_fab {
		top: calc(24px + var(--testbar) + env(safe-area-inset-top, 0px));
	}
	body.testsystem:not(.static) .mail_preview_card {
		top: var(--testbar);
	}
}

.list-view > li > [data-id] > .lock_mark .icon {
	stroke-width: 1.9;
}

.task-board .task-card {
	position: relative;
}
.task-board .task-card .title {
	padding-right: 18px;
}
.task-board .task-card .card_menu_btn {
	position: absolute;
	top: 6px;
	right: 4px;
	width: 24px;
	height: 24px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	opacity: 0;
	cursor: pointer;
	transition: opacity .12s, color .12s;
}
.task-board .task-card:hover .card_menu_btn,
.task-board .task-card.menu-open .card_menu_btn {
	opacity: 1;
}
.task-board .task-card .card_menu_btn:hover {
	color: var(--text-primary);
}
.task-board .task-card.menu-open .card_menu_btn {
	color: var(--accent);
}
.task-board .task-card.menu-open {
	border-color: var(--accent);
}
@media (hover: none) {
	.task-board .task-card .card_menu_btn {
		opacity: 1;
	}
}
body > .task_menu {
	position: fixed;
	z-index: 1200;
	width: 200px;
	padding: 6px;
	box-sizing: border-box;
	border-radius: var(--radius-m);
	background: var(--surface-card);
	border: 1px solid var(--accent);
	box-shadow: var(--glow-border);
}
body > .task_menu .task_menu_item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-primary);
	cursor: pointer;
}
body > .task_menu .task_menu_item:hover {
	background: var(--surface-raised);
}
body > .task_menu .task_menu_item .icon {
	color: var(--text-muted);
}
body > .task_menu .task_menu_item.danger,
body > .task_menu .task_menu_item.danger .icon {
	color: var(--danger);
}
body > .task_menu .task_menu_item.danger:hover {
	background: rgba(242,109,109,.1);
}

.list-card .list-view.bills li [data-id='num'],
.list-card:has(.list-view.bills) .list-legend p[data-id='num'] {
	flex: 0 0 104px;
	width: 104px;
	min-width: 104px;
	white-space: nowrap;
}

aside.agent .attach_agent {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .15s;
}
aside.agent .attach_agent:hover {
	color: var(--text-primary);
}
aside.agent .attach_agent.has {
	color: var(--accent);
}
aside.agent .agent_files {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	margin: -2px -4px 8px;
	padding: 2px 4px 4px;
	scrollbar-width: thin;
}
aside.agent .agent_files[hidden] {
	display: none;
}
aside.agent .file_card {
	position: relative;
	flex: 0 0 176px;
	width: 176px;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 22px 6px 6px;
	border-radius: var(--radius-s);
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
	overflow: hidden;
}
aside.agent .file_card .preview {
	flex: 0 0 32px;
	width: 32px;
	height: 40px;
	display: grid;
	place-items: center;
	border-radius: 4px;
	overflow: hidden;
}
aside.agent .file_card .preview.image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
aside.agent .file_card .info {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
aside.agent .file_card .name {
	font: 500 12px/1.3 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
aside.agent .file_card .size {
	font: 400 11px/1.3 var(--font-body);
	color: var(--text-muted);
}
aside.agent .file_card .file_remove {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 16px;
	height: 16px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	color: var(--text-muted);
	cursor: pointer;
}
aside.agent .file_card .file_remove:hover {
	color: var(--text-primary);
	background: var(--surface-glass);
}
aside.agent .file_card .bar {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 2px;
	background: var(--accent);
	transition: width .2s;
}
aside.agent .composer_box:has(.file_card.loading) .send_agent {
	opacity: .4;
	pointer-events: none;
}
.file_mark {
	--w: 26px;
	--tone: var(--text-muted);
	position: relative;
	display: inline-block;
	flex: 0 0 var(--w);
	width: var(--w);
	height: calc(var(--w) * 1.23);
	border-radius: 3px;
	border: 1.5px solid var(--tone);
	clip-path: polygon(0 0, 68% 0, 100% 26%, 100% 100%, 0 100%);
	background: color-mix(in srgb, var(--tone) 10%, transparent);
}
.file_mark:before {
	content: '';
	position: absolute;
	top: -1.5px;
	right: -1.5px;
	width: 34%;
	height: 28%;
	background: color-mix(in srgb, var(--tone) 45%, transparent);
	border-bottom-left-radius: 2px;
}
.file_mark span {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 14%;
	text-align: center;
	font: 700 calc(var(--w) * .27)/1 var(--font-body);
	letter-spacing: -.02em;
	color: var(--tone);
}
.file_mark.pdf { --tone: var(--danger); }
.file_mark.table { --tone: var(--success); }
.file_mark.data { --tone: var(--warning); }
.file_mark.text { --tone: var(--text-primary); }
aside.agent .agent_file_error {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 8px;
	font: 400 12px/1.45 var(--font-body);
	color: var(--danger);
}
aside.agent .agent_file_error[hidden] {
	display: none;
}
aside.agent .agent_file_error .text {
	flex: 1;
}
aside.agent .agent_file_error .file_error_ok {
	flex: 0 0 auto;
	font-weight: 600;
	color: var(--danger);
	cursor: pointer;
}
aside.agent .agent_drop {
	position: absolute;
	inset: 10px;
	z-index: 20;
	display: grid;
	place-items: center;
	border-radius: var(--radius-l);
	border: 1.5px dashed var(--accent);
	box-shadow: var(--glow-border);
	background: rgba(6, 10, 12, .62);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	pointer-events: none;
}
aside.agent .agent_drop[hidden] {
	display: none;
}
aside.agent .agent_drop .drop_inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	max-width: 260px;
	text-align: center;
	color: var(--accent);
}
aside.agent .agent_drop .drop_title {
	font: 600 14px/1.3 var(--font-body);
	color: #fff;
}
aside.agent .agent_drop .drop_text {
	font: 400 12px/1.45 var(--font-body);
	color: rgba(255,255,255,.72);
}
aside.agent .msg_files {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
aside.agent .msg_files + .text {
	margin-top: 8px;
}
aside.agent .msg_file {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	padding: 5px 8px 5px 5px;
	border-radius: var(--radius-s);
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
	text-decoration: none;
}
aside.agent .msg_file .name {
	flex: 1;
	min-width: 0;
	font: 500 12px/1.3 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
aside.agent .msg_file .size {
	flex: 0 0 auto;
	font: 400 11px/1.3 var(--font-body);
	color: var(--text-muted);
}
aside.agent .agent_panel {
	position: relative;
}
.ag_dateien {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 6px 0 12px;
}
.ag_datei {
	display: flex;
	align-items: center;
	gap: 8px;
	font: 500 12px/1.3 var(--font-body);
	color: var(--text-primary);
}
.ag_datei .size {
	color: var(--text-muted);
	font-weight: 400;
}
aside.agent .msg_file .file_thumb {
	flex: 0 0 26px;
	width: 26px;
	height: 32px;
	border-radius: 4px;
	border: 1px solid var(--border-strong);
	background: #fff;
	overflow: hidden;
	box-sizing: border-box;
}
aside.agent .msg_file .file_thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.list-view.bills li p[data-id='num'],
.list-view.credits li p[data-id='num'] {
	font-variant-numeric: tabular-nums;
}

#insert_box :is(.contact_firms,.company_contacts,.conv_tab) {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_head .label {
	font: 500 12px/1 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_head .actions {
	display: inline-flex;
	align-items: center;
	gap: 18px;
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_head a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 600 12px/1 var(--font-body);
	color: var(--accent);
	cursor: pointer;
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_head a.firms_remove_selected {
	color: var(--danger);
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_table {
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	overflow: hidden;
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_legend,
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_row {
	display: grid;
	grid-template-columns: 36px minmax(0,1.2fr) minmax(0,1fr) 36px;
	align-items: center;
	min-height: 40px;
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_legend {
	min-height: 34px;
	border-bottom: 1px solid var(--border-default);
	font: 500 11px/1 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_row + .firms_row {
	border-top: 1px solid var(--border-default);
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_row:hover {
	background: rgba(var(--accent-rgb),.04);
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .sel {
	display: grid;
	place-items: center;
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .sel input {
	width: 15px;
	height: 15px;
	margin: 0;
	accent-color: var(--accent);
	cursor: pointer;
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .cell {
	min-width: 0;
	padding-right: 12px;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-secondary);
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_legend .cell {
	font: inherit;
	color: inherit;
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .cell.company {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--text-primary);
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .cell .name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_main {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	height: 20px;
	padding: 0 8px;
	border-radius: 999px;
	background: rgba(var(--accent-rgb),.08);
	border: 1px solid var(--border-strong);
	font: 600 10px/1 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--accent);
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) input.cell_input,
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) input.cell_input:focus {
	max-width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
	outline: none;
	font: inherit;
	line-height: inherit;
	color: inherit;
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .menu {
	display: grid;
	place-items: center;
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_menu_btn {
	width: 26px;
	height: 26px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_menu_btn:hover {
	color: var(--text-primary);
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_empty {
	padding: 14px;
	text-align: center;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-muted);
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab) .firms_hint,
#insert_box :is(.contact_firms,.company_contacts,.conv_tab)_note {
	margin: 8px 0 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
#insert_box :is(.contact_firms,.company_contacts,.conv_tab)_note a {
	cursor: pointer;
}
body > .cell_suggest {
	position: fixed;
	z-index: 1300;
	max-height: 240px;
	overflow: auto;
	box-sizing: border-box;
	padding: 6px;
	border-radius: var(--radius-m);
	background: var(--surface-card);
	border: 1px solid var(--accent);
	box-shadow: var(--glow-border);
}
body > .cell_suggest .hit {
	display: block;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
}
body > .cell_suggest .hit.on,
body > .cell_suggest .hit:hover {
	background: rgba(var(--accent-rgb),.07);
	color: var(--accent);
	text-decoration: none;
}
body > .cell_suggest .none {
	padding: 8px 10px;
	font: 400 13px/1.3 var(--font-body);
	color: var(--text-muted);
}
body > .firm_menu {
	position: fixed;
	z-index: 1300;
	width: 220px;
	padding: 6px;
	box-sizing: border-box;
	border-radius: var(--radius-m);
	background: var(--surface-card);
	border: 1px solid var(--accent);
	box-shadow: var(--glow-border);
}
body > .firm_menu .firm_menu_item {
	display: block;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-primary);
	cursor: pointer;
}
body > .firm_menu .firm_menu_item:hover {
	background: var(--surface-raised);
	text-decoration: none;
}
body > .firm_menu .firm_menu_item.danger {
	color: var(--danger);
}
body > .firm_menu .firm_menu_item.danger:hover {
	background: rgba(242,109,109,.1);
}

.contacts.list-view li [data-id='company'] .company_more {
	display: inline-flex;
	align-items: center;
	height: 20px;
	margin-left: 8px;
	padding: 0 8px;
	border-radius: 999px;
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	font: 600 11px/1 var(--font-body);
	color: var(--text-secondary);
	vertical-align: middle;
}

.contacts.list-view li [data-id='lastname'] .contact_du {
	display: inline-flex;
	align-items: center;
	height: 20px;
	margin-left: 8px;
	padding: 0 8px;
	border-radius: 999px;
	background: var(--surface-raised);
	border: 1px solid var(--border-strong);
	font: 600 10px/1 var(--font-body);
	letter-spacing: .04em;
	color: var(--text-muted);
	vertical-align: middle;
}

#insert_box #contact_info .form {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}
#insert_box #contact_info .form > li.medium {
	grid-column: span 3;
}
#insert_box #contact_info .form > li.third {
	grid-column: span 2;
}
#insert_box #contact_info .form > li.contact_hint_row {
	margin-top: -8px;
}
#insert_box #contact_info .form > li.contact_hint_row > label {
	display: none;
}
@media (max-width: 770px) {
	body:not(.static) #insert_box #contact_info .form > li.medium,
	body:not(.static) #insert_box #contact_info .form > li.third {
		grid-column: 1 / -1;
	}
}
#insert_box .contact_anrede_hint {
	margin: 0;
	font: 400 12px/1.45 var(--font-body);
	color: var(--text-muted);
}
#insert_box .contact_anrede_hint span {
	color: var(--text-secondary);
}
#insert_box .contact_ansprache {
	display: flex;
	gap: 6px;
}
#insert_box .contact_ansprache a {
	flex: 1;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-secondary);
	font: 600 13px var(--font-body);
	cursor: pointer;
	user-select: none;
}
#insert_box .contact_ansprache a.on {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.08);
	color: var(--accent);
}
aside.agent .msg_docs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.list-legend.admin_agent_msgs_list p[data-id='status'],
.list-view.admin_agent_msgs_list > li > p[data-id='status'] {
	min-width: 100px;
	flex-shrink: 0;
}

.admin_betrieb_nav .nav_count.warning {
	color: var(--warning);
}
.admin_betrieb_pane[hidden] {
	display: none;
}
.admin_pane_hint {
	margin: 0 0 14px;
	font: var(--text-small);
	color: var(--text-muted);
}
.admin_betrieb_pane .admin_bulk {
	margin-bottom: 12px;
}
.list-view.admin_system_list li[data-type='system_ok']:before {
	background: var(--accent);
}
.list-view.admin_system_list li[data-type='system_warn']:before {
	background: var(--warning);
}
.list-view.admin_system_list li[data-type='system_err']:before {
	background: var(--danger);
}
.list-view.admin_errors_list .admin_one_line {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.list-view.admin_feedback_list li[data-type='admin_active']:before {
	background: var(--accent);
}
.list-view.admin_feedback_list li[data-type='admin_muted']:before {
	background: var(--ink-700);
}

.settings-card h2 + .admin_attention {
	margin-top: 16px;
}
aside nav ul li.notif_toggle a {
	cursor: pointer;
}
aside nav ul li.notif_toggle.open a {
	color: var(--accent);
}
aside nav ul li.notif_toggle.open .nav_icon {
	background: rgba(var(--accent-rgb),.08);
}
.notif_toggle .notif_count {
	position: absolute;
	top: 5px;
	right: 3px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	box-sizing: border-box;
	border-radius: 8px;
	display: grid;
	place-items: center;
	background: var(--accent);
	color: var(--on-accent);
	font: 700 10px/1 var(--font-body);
	font-variant-numeric: tabular-nums;
	box-shadow: 0 0 0 2px var(--surface-page);
	pointer-events: none;
}
.notif_toggle .notif_count[hidden] {
	display: none;
}
.notif_fab {
	display: none;
}
@media (max-width: 770px) {
	body:not(.static) aside.nav li.notif_toggle {
		display: none;
	}
	body:not(.static) .notif_fab {
		position: fixed;
		z-index: 580;
		top: calc(24px + env(safe-area-inset-top, 0px));
		right: 16px;
		width: 42px;
		height: 42px;
		display: grid;
		place-items: center;
		border-radius: var(--radius-m);
		color: var(--text-secondary);
		cursor: pointer;
	}
	body:not(.static) .notif_fab.with_agent {
		right: 65px;
	}
	body.no-agent:not(.static) .notif_fab.with_agent {
		right: 16px;
	}
	body:not(.static) .notif_fab.open {
		background: rgba(var(--accent-rgb),.08);
		color: var(--accent);
	}
	body:not(.static) .notif_fab .notif_count {
		top: 3px;
		right: 1px;
	}
	body.testsystem:not(.static) .notif_fab {
		top: calc(24px + var(--testbar) + env(safe-area-inset-top, 0px));
	}
	body:not(.static).agent-open .notif_fab {
		display: none;
	}
		body.signed_in:not(.static) .page > header {
		padding-right: 122px;
	}
}

.notif_panel {
	position: fixed;
	left: 96px;
	bottom: 20px;
	z-index: 960;
	width: 366px;
	min-height: 120px;
	max-width: calc(100vw - 32px);
	max-height: calc(100vh - 40px);
	max-height: calc(100dvh - 40px);
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	padding-left: 6px;
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	animation: bc-fly-in .14s ease-out;
}
.notif_panel:not(.bc-zipfel):not(.mobile) {
	visibility: hidden;
}
.notif_panel.mobile {
	inset: 0;
	width: auto;
	max-width: none;
	max-height: none;
	border: none;
	border-radius: 0;
	box-shadow: none;
	background: var(--surface-page);
	padding: calc(16px + env(safe-area-inset-top, 0px)) 16px calc(16px + env(safe-area-inset-bottom, 0px));
	animation: bc-fade-in .2s ease both;
	visibility: visible;
	min-height: 0;
}
.notif_panel .notif_head {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 8px 8px 16px;
}
.notif_panel.mobile .notif_head {
	padding: 0 0 10px;
}
.notif_panel .notif_title {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.notif_panel .notif_title h2 {
	margin: 0;
	font: 600 13px var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.notif_panel .notif_sub {
	display: flex;
	align-items: baseline;
	gap: 6px;
	flex-wrap: wrap;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.notif_panel .notif_sub[hidden] {
	display: none;
}
.notif_panel .notif_read_all {
	cursor: pointer;
	color: var(--accent);
	font: 600 12px var(--font-body);
	white-space: nowrap;
}
.notif_panel .notif_icon_btn {
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
}
.notif_panel .notif_icon_btn:hover {
	color: var(--text-primary);
}
.notif_panel .notif_list {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 6px 6px 8px 4px;
	border-top: 1px solid var(--border-default);
}
.notif_panel.leer .notif_list {
	padding: 0;
	border-top: none;
}
.notif_panel.mobile .notif_list {
	padding: 6px 0;
}
.notif_panel .notif_loading,
.notif_panel .notif_empty_filter {
	padding: 4px 18px 16px;
	font: 400 13px var(--font-body);
	color: var(--text-muted);
}
.notif_panel .notif_none {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0 18px 16px;
	font: 400 13px var(--font-body);
	color: var(--text-muted);
}
.notif_panel.mobile .notif_none {
	padding: 4px 0;
}
.notif_panel .notif_none_icon {
	display: grid;
	color: var(--accent);
}
.notif_panel .notif_entry {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px 8px 22px;
	border-radius: var(--radius-m);
	cursor: pointer;
	transition: background .12s;
}
.notif_panel .notif_entry.unread {
	background: rgba(var(--accent-rgb),.04);
}
.notif_panel .notif_entry:hover,
.notif_panel .notif_entry:focus-visible {
	background: rgba(var(--accent-rgb),.07);
	outline: none;
}
.notif_panel .notif_bar {
	position: absolute;
	left: 3px;
	top: 8px;
	bottom: 8px;
	width: 9px;
	display: flex;
	justify-content: center;
	cursor: pointer;
}
.notif_panel .notif_bar span {
	width: 3px;
	height: 100%;
	border-radius: 2px;
	background: transparent;
	transition: background .12s;
}
.notif_panel .notif_entry.unread .notif_bar span {
	background: var(--accent);
}
.notif_panel .notif_entry:not(.unread):hover .notif_bar span {
	background: var(--border-strong);
}
.notif_tile {
	width: 28px;
	height: 28px;
	flex-shrink: 0;
	display: grid;
	place-items: center;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-default);
	background: var(--surface-raised);
	color: var(--accent);
}
.notif_tile.grp_agent,
.notif_group_head.grp_agent .icon {
	color: var(--warning);
}
.notif_tile.grp_ablauf,
.notif_group_head.grp_ablauf .icon {
	color: var(--text-secondary);
}
.notif_panel .notif_body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1px;
}
.notif_panel .notif_line {
	display: flex;
	align-items: baseline;
	gap: 10px;
}
.notif_panel .notif_t {
	flex: 1;
	min-width: 0;
	font: 600 13px/1.35 var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.notif_panel .notif_entry.unread .notif_t {
	color: var(--text-primary);
}
.notif_panel .notif_time {
	flex-shrink: 0;
	font: 400 11px var(--font-body);
	color: var(--text-muted);
	white-space: nowrap;
}
.notif_panel .notif_text {
	font: 400 12px/1.45 var(--font-body);
	color: var(--text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.notif_settings {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 760px;
}
.notif_settings .notif_test_all,
.notif_settings .notif_digest_preview {
	cursor: pointer;
	color: var(--accent);
	font: 600 12px var(--font-body);
	white-space: nowrap;
}
.notif_settings .notif_test_all {
	padding-top: 4px;
}
.notif_settings .notif_test_all[hidden],
.notif_settings .notif_here[hidden],
.notif_settings .notif_push_off[hidden] {
	display: none;
}
.notif_settings .notif_here {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 0 0 14px;
	padding: 12px 14px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
}
.notif_settings .notif_here.danger {
	border-color: rgba(255,69,58,.45);
	background: rgba(255,69,58,.08);
}
.notif_settings .notif_here_icon {
	display: grid;
	color: var(--text-muted);
}
.notif_settings .notif_here.danger .notif_here_icon {
	color: var(--danger);
}
.notif_settings .notif_here_text {
	flex: 1 1 240px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.notif_settings .notif_here_text strong {
	font: 600 13px var(--font-body);
	color: var(--text-primary);
}
.notif_settings .list-view.notif_dev_list li p.notif_dev_name {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	font: 500 13px var(--font-body);
	color: var(--text-primary);
}
.notif_settings .notif_dev_label {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.notif_settings .notif_dev_icon {
	width: 18px;
	flex-shrink: 0;
	display: grid;
	place-items: center;
	color: var(--text-muted);
}
.notif_settings .notif_dev_list li.self .notif_dev_icon {
	color: var(--accent);
}
.notif_settings .notif_dev_data p[data-id='since'] {
	flex: 0 0 120px;
	width: 120px;
}
.notif_settings .notif_dev_data p[data-id='last'] {
	flex: 0 0 160px;
	width: 160px;
}
.notif_settings .list-view.notif_dev_list li p[data-id='since'] {
	font-variant-numeric: tabular-nums;
}
.notif_settings .list-view.notif_dev_list .muted {
	color: var(--text-muted);
}
.notif_settings .notif_dev_empty {
	padding: 14px;
	font: 400 13px var(--font-body);
	color: var(--text-muted);
}
.notif_badge {
	display: inline-flex;
	align-items: center;
	height: 20px;
	padding: 0 8px;
	box-sizing: border-box;
	border-radius: 999px;
	border: 1px solid var(--border-strong);
	color: var(--text-muted);
	font: 600 11px var(--font-body);
	white-space: nowrap;
}
.notif_badge.active {
	border-color: rgba(var(--accent-rgb),.45);
	background: rgba(var(--accent-rgb),.1);
	color: var(--accent);
}
.notif_settings .notif_push_off {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 14px;
	padding: 10px 12px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.notif_settings .notif_push_off .notif_here_icon {
	margin-top: 1px;
}
.notif_settings .notif_cols {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 8px;
	font: var(--text-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--text-muted);
}
.notif_settings .notif_cols .spacer {
	flex: 1;
}
.notif_settings .notif_col {
	width: 64px;
	flex-shrink: 0;
	display: flex;
	justify-content: center;
}
.notif_settings .notif_group + .notif_group {
	margin-top: 14px;
}
.notif_settings .notif_group_head {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 0 8px;
	font: 600 12px var(--font-body);
	color: var(--text-secondary);
}
.notif_settings .notif_group_head .icon {
	color: var(--accent);
}
.notif_settings .notif_row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	border-top: 1px solid var(--border-default);
}
.notif_settings .notif_digest_row {
	align-items: flex-start;
	padding: 0;
	border-top: none;
}
.notif_settings .notif_row_text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.notif_settings .notif_digest_row .notif_row_text {
	gap: 4px;
}
.notif_settings .notif_digest_preview {
	margin-top: 4px;
	align-self: flex-start;
}
.notif_settings .notif_row_name {
	display: flex;
	align-items: center;
	gap: 8px;
	font: 600 13px var(--font-body);
	color: var(--text-primary);
}
.notif_settings .notif_row_info,
.notif_settings .notif_note {
	font: 400 12px/1.45 var(--font-body);
	color: var(--text-muted);
}
.notif_settings .notif_note {
	margin: 16px 0 0;
}
.notif_settings .notif_switch {
	display: inline-flex;
	cursor: pointer;
}
.notif_settings .notif_switch .switch {
	position: relative;
	width: 34px;
	height: 20px;
	flex-shrink: 0;
	box-sizing: border-box;
	border-radius: 10px;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	transition: background .15s, border-color .15s;
}
.notif_settings .notif_switch .switch:after {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--text-muted);
	transition: left .15s, background .15s;
}
.notif_settings .notif_switch.on .switch {
	background: var(--accent);
	border-color: var(--accent);
}
.notif_settings .notif_switch.on .switch:after {
	left: 16px;
	background: var(--on-accent);
}
.notif_settings .notif_switch.locked {
	opacity: .4;
	cursor: default;
}
.notif_settings .notif_footer_hint {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 8px;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.notif_settings .notif_footer_hint .icon {
	flex-shrink: 0;
	margin-top: 2px;
}
@media (max-width: 600px) {
	.notif_settings .notif_col {
		width: 52px;
	}
}
.notif_settings .notif_digest_row {
	margin-top: 16px;
}
.notif_toast {
	position: fixed;
	left: 50%;
	bottom: 28px;
	transform: translateX(-50%);
	z-index: 1200;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	background: var(--surface-card);
	border: 1px solid var(--accent);
	border-radius: var(--radius-m);
	box-shadow: var(--shadow-pop);
	font: 500 13px var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	max-width: calc(100vw - 32px);
	animation: bc-fade-in .25s ease both;
}
.notif_toast .ok {
	display: grid;
	color: var(--accent);
}
.cal_modal.notif_modal .box {
	width: 700px;
}
.notif_modal .notif_digest_frame {
	display: block;
	width: 100%;
	height: 560px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: #fff;
}
.notif_modal .notif_digest_none {
	margin: 0;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-muted);
}
.notif_modal .notif_digest_schema {
	display: flex;
	gap: 6px;
	margin-top: 14px;
}
#agent_settings .usage_notify_link {
	margin: 14px 0 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
#agent_settings .usage_notify_link a {
	color: var(--accent);
	font-weight: 600;
}

#storage_card,
#account_delete {
	max-width: 760px;
}
#storage_card {
	margin-bottom: 24px;
}
#account_delete {
	margin-top: 24px;
}
#account_delete .settings-card .hint {
	margin-bottom: 0;
}
#storage_card .storage_head {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}
#storage_card .storage_used {
	font: 600 28px var(--font-display);
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
#storage_card .storage_used.knapp {
	color: var(--warning);
}
#storage_card .storage_used.voll {
	color: var(--danger);
}
#storage_card .storage_of {
	font: 400 13px var(--font-body);
	color: var(--text-muted);
}
#storage_card .storage_bar {
	display: flex;
	height: 10px;
	border-radius: 5px;
	overflow: hidden;
	background: var(--border-default);
}
#storage_card .art_dokumente { background: var(--accent); }
#storage_card .art_belege { background: rgba(var(--accent-rgb),.45); }
#storage_card .art_vertraege { background: var(--text-secondary); }
#storage_card .art_agent { background: var(--warning); }
#storage_card .art_backups { background: var(--text-muted); }
#storage_card .art_sonstige { background: var(--border-strong); }
#storage_card .storage_legend {
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(220px,1fr));
	gap: 8px 20px;
	margin-top: 14px;
}
#storage_card .storage_legend > span {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	font: 400 12px var(--font-body);
	color: var(--text-secondary);
}
#storage_card .storage_legend .dot {
	width: 8px;
	height: 8px;
	border-radius: 2px;
	flex-shrink: 0;
}
#storage_card .storage_legend .label {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#storage_card .storage_legend .size {
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
#storage_card .storage_alert,
.account_delete_modal .account_delete_warn {
	margin-top: 16px;
	padding: 10px 12px;
	border-radius: var(--radius-m);
	border: 1px solid rgba(245,185,80,.45);
	background: rgba(245,185,80,.1);
	font: 500 13px/1.45 var(--font-body);
	color: var(--warning);
}
#storage_card .storage_alert.voll {
	border-color: rgba(255,69,58,.45);
	background: rgba(255,69,58,.1);
	color: var(--danger);
}
#storage_card .storage_years {
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid var(--border-default);
}
#storage_card .storage_years_head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}
#storage_card .storage_years_head .label {
	font: var(--text-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--text-muted);
}
#storage_card .storage_years_info {
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
#storage_card .storage_cols {
	display: flex;
	align-items: flex-end;
	gap: 6px;
	height: 110px;
}
#storage_card .storage_col {
	flex: 1;
	min-width: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	cursor: default;
}
#storage_card .storage_col.frei {
	opacity: .45;
}
#storage_card .storage_stack {
	min-height: 2px;
	display: flex;
	flex-direction: column;
	border-radius: 3px 3px 0 0;
	overflow: hidden;
}
#storage_card .storage_col.on .storage_stack {
	box-shadow: 0 0 0 1px var(--accent);
}
#storage_card .storage_stack .dok {
	background: var(--accent);
}
#storage_card .storage_stack .bel {
	background: rgba(var(--accent-rgb),.45);
}
#storage_card .storage_col.frei .storage_stack span {
	background: var(--text-muted);
}
#storage_card .storage_axis {
	display: flex;
	gap: 6px;
	margin-top: 6px;
}
#storage_card .storage_axis span {
	flex: 1;
	min-width: 0;
	text-align: center;
	font: 400 10px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-muted);
}
#storage_card .storage_note {
	margin: 14px 0 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.cal_modal.account_delete_modal .box {
	width: 540px;
}
.account_delete_modal .account_delete_body {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.account_delete_modal .account_delete_body p {
	margin: 0;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.account_delete_modal .account_delete_body ul {
	margin: -4px 0 0;
	padding-left: 20px;
	font: 400 13px/1.6 var(--font-body);
	color: var(--text-secondary);
}
.account_delete_modal .account_delete_warn {
	margin-top: 0;
}
.account_delete_modal .account_delete_check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	font: 400 13px/1.45 var(--font-body);
	color: var(--text-secondary);
}
#insert_box.account_delete_modal label.account_delete_check,
#insert_box.account_delete_modal label.account_delete_check span {
	text-transform: none;
	letter-spacing: 0;
	font: 400 13px/1.45 var(--font-body);
	color: var(--text-secondary);
}
.account_delete_modal .account_delete_check input {
	margin-top: 2px;
	accent-color: var(--accent);
}
.account_delete_modal .account_delete_field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.account_delete_modal .account_delete_field span {
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.account_delete_modal .account_delete_error {
	font: 500 13px/1.45 var(--font-body);
	color: var(--danger);
}
.account_delete_modal .account_delete_error[hidden] {
	display: none;
}
.account_delete_modal .account_delete_foot {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 22px;
}
.account_delete_modal .account_delete_go {
	border-color: var(--danger);
	background: var(--danger);
	color: #fff;
}
.account_delete_modal .account_delete_go:hover {
	border-color: var(--danger);
	background: var(--danger);
	color: #fff;
	box-shadow: 0 0 10px rgba(242,109,109,.5);
}
.account_delete_modal .account_delete_go.disabled {
	background: transparent;
	color: var(--danger);
	opacity: .5;
	cursor: not-allowed;
	box-shadow: none;
}

html.legal_embed {
	min-width: 0;
	height: auto;
	background: transparent;
	scrollbar-width: thin;
	scrollbar-color: var(--border-strong) transparent;
}
html.legal_embed::-webkit-scrollbar {
	width: 8px;
}
html.legal_embed::-webkit-scrollbar-track {
	background: transparent;
}
html.legal_embed::-webkit-scrollbar-thumb {
	background: var(--border-strong);
	border-radius: 4px;
}
body.legal_embed {
	min-width: 0;
	min-height: 0;
	background: transparent;
}
.legal_embed_text {
	padding: 18px 20px 22px;
}
.legal_embed_text p {
	margin: 0;
	font: 400 13px/1.65 var(--font-body);
	color: var(--text-secondary);
}
.legal_embed_text p + p {
	margin-top: 8px;
}
.legal_embed_text .label {
	margin: 20px 0 0;
	padding-top: 18px;
	border-top: 1px solid var(--border-default);
	font: 600 12px/1.3 var(--font-body);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--accent);
}
.legal_embed_text .label:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}
.legal_embed_text .label + p {
	margin-top: 8px;
}
.legal_embed_text a {
	color: var(--accent);
}
.legal_embed_text mark {
	background: rgba(245,185,80,.25);
	color: var(--text-primary);
	padding: 0 3px;
	border-radius: 3px;
}
.avv_status a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.avv_frame {
	display: block;
	width: 100%;
	height: 360px;
	margin-top: 12px;
	box-sizing: border-box;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}

.account_delete_modal .account_delete_back {
	margin-right: auto;
}
.cal_modal.farewell_modal .box {
	width: 560px;
}
.farewell_modal .farewell_body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-align: left;
}
.farewell_modal .farewell_label {
	font: 600 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.farewell_modal .farewell_label + .farewell_hint {
	margin-top: -4px;
}
.farewell_modal .farewell_hint {
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.farewell_modal .farewell_pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}
.farewell_modal .farewell_pill {
	display: inline-flex;
	align-items: center;
	height: 34px;
	padding: 0 14px;
	border: 1px solid var(--border-strong);
	border-radius: 999px;
	background: var(--surface-raised);
	color: var(--text-secondary);
	font: 500 13px var(--font-body);
	cursor: pointer;
}
.farewell_modal .farewell_pill.on {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.1);
	color: var(--accent);
}
.farewell_modal textarea {
	resize: vertical;
	line-height: 1.5;
}
.farewell_modal .farewell_talk {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 10px;
	padding: 14px 16px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.farewell_modal .farewell_talk > div {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.farewell_modal .farewell_talk b {
	font: 600 14px var(--font-body);
	color: var(--text-primary);
}
.farewell_modal .farewell_talk span {
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.farewell_modal .farewell_foot {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 22px;
}
.farewell_modal .farewell_foot .close {
	margin-right: auto;
}
@media (max-width: 719px) {
	.farewell_modal .farewell_talk {
		flex-direction: column;
		align-items: stretch;
	}
}
.admin_fb_kind {
	display: inline-flex;
	align-items: center;
	height: 20px;
	margin-left: 6px;
	padding: 0 8px;
	border: 1px solid var(--warning);
	border-radius: 999px;
	font: 600 10px var(--font-body);
	color: var(--warning);
	vertical-align: middle;
}
.admin_fb_kind.delete {
	border-color: var(--danger);
	color: var(--danger);
}

.billtemplates_block .bt_head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}
.billtemplates_block .bt_head .hint {
	flex: 1 1 320px;
	margin: 0;
}
.billtemplates_block input[type="checkbox"] {
	width: 15px;
	min-width: 15px;
}
.billtemplates.list-view .bt_default {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 500 12px var(--font-body);
	color: var(--accent);
}
.billtemplates.list-view .none {
	color: var(--text-muted);
}
#settings .bt_jump,
#settings .bt_open_stamm {
	font: 600 13px var(--font-body);
	cursor: pointer;
}

.efforts.list-view p[data-id="amount"][data-unit]::after {
	content: " " attr(data-unit);
}

#insert_box .bt_vorlage_feld,
#insert_box .bt_einheit {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
}
#insert_box .bt_vorlage_feld .select,
#insert_box .bt_einheit .select {
	flex: 1;
	min-width: 0;
}
#insert_box .bt_einheiten_knopf {
	width: 40px;
	height: 40px;
	margin: 0;
	align-self: center;
	padding: 0;
	flex-shrink: 0;
	border-color: var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-secondary);
}
#insert_box .bt_einheiten_knopf:hover {
	border-color: var(--accent);
	color: var(--accent);
	box-shadow: none;
}
#insert_box .bt_rechenzeile {
	display: block;
	width: 100%;
	margin-top: 6px;
	font: 400 13px var(--font-body);
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
}
#insert_box .bt_rechenzeile b {
	color: var(--text-primary);
	font-weight: 600;
}

body.bt_offen {
	overflow: hidden;
}
.bt_overlay {
	position: fixed;
	inset: 0;
	z-index: 1500;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	box-sizing: border-box;
	background: rgba(var(--overlay-rgb),.55);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.bt_editor {
	width: min(1480px, 100%);
	height: min(94vh, 1100px);
	display: flex;
	flex-direction: column;
	background: var(--modal-bg);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-l);
	box-shadow: var(--shadow-pop);
	overflow: hidden;
	color: var(--text-primary);
}
.bt_kopf {
	padding: 22px 28px 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.bt_titel {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}
.bt_titel > div {
	flex: 1;
	min-width: 0;
}
.bt_titel h2 {
	margin: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	font: 600 19px var(--font-display);
	letter-spacing: -.01em;
	color: var(--text-primary);
}
.bt_titel p {
	margin: 4px 0 0;
	font: var(--text-small);
	color: var(--text-muted);
}
.bt_typ {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 999px;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	font: 500 11px var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
}
.bt_x {
	width: 30px;
	height: 30px;
	padding: 0;
	border: none;
	flex-shrink: 0;
	color: var(--text-muted);
}
.bt_x:hover {
	box-shadow: none;
	color: var(--text-primary);
}
.bt_frage {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 10px 14px;
	border-radius: var(--radius-m);
	border: 1px solid rgba(245,185,80,.45);
	background: rgba(245,185,80,.1);
	font: 500 13px/1.45 var(--font-body);
	color: var(--warning);
}
.bt_frage[hidden] {
	display: none;
}
.bt_frage > span {
	flex: 1 1 220px;
}
.bt_tabs {
	display: flex;
	gap: 28px;
	overflow-x: auto;
	scrollbar-width: none;
	border-bottom: 1px solid var(--border-default);
}
.bt_tabs::-webkit-scrollbar {
	display: none;
}
.bt_tabs a {
	padding: 0 0 12px;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	font: 500 14px var(--font-body);
	color: var(--text-muted);
	white-space: nowrap;
	cursor: pointer;
	text-decoration: none;
}
.bt_tabs a:hover {
	color: var(--text-primary);
}
.bt_tabs a.active {
	color: var(--accent);
	border-bottom-color: var(--accent);
	font-weight: 600;
}
.bt_ansicht {
	display: none;
}
.bt_inhalt {
	flex: 1;
	min-height: 0;
	display: grid;
	grid-template-columns: minmax(0,2fr) minmax(360px,1fr);
}

.bt_vorschau {
	position: relative;
	min-width: 0;
	min-height: 0;
	background: rgba(0,0,0,.18);
	border-right: 1px solid var(--border-default);
}
.bt_vorschau_flaeche {
	position: absolute;
	inset: 0;
	overflow: auto;
}
.bt_seiten {
	padding: 32px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	min-width: min-content;
}
.bt_seite_wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}
.bt_seite_wrap > span {
	font: 500 11px var(--font-body);
	color: var(--text-muted);
}
.bt_seite {
	position: relative;
	background: #fff;
	border-radius: 2px;
	box-shadow: 0 10px 34px rgba(0,0,0,.35);
	overflow: hidden;
	flex-shrink: 0;
}
.bt_seite img {
	display: block;
	width: 100%;
	height: 100%;
}
.bt_zone {
	position: absolute;
	cursor: pointer;
	outline: 1.5px dashed transparent;
	outline-offset: 3px;
	border-radius: 2px;
	text-decoration: none;
}
.bt_zone span {
	display: none;
	position: absolute;
	right: 0;
	bottom: calc(100% + 5px);
	padding: 1px 6px;
	border-radius: 3px;
	background: #00B386;
	color: #fff;
	font: 600 11px/16px var(--font-body);
	white-space: nowrap;
	pointer-events: none;
}
.bt_zone:hover {
	outline-color: #00B386;
}
.bt_zone:hover span {
	display: block;
}
.bt_zone.ganz {
	outline-offset: -6px;
}
.bt_zone.ganz span {
	top: 10px;
	right: 10px;
	bottom: auto;
}
.bt_raender {
	position: absolute;
	outline: 1px dashed rgba(0,179,134,.85);
	background: rgba(0,208,155,.04);
	pointer-events: none;
}
.bt_raender[hidden] {
	display: none;
}
.bt_pdf {
	width: 100%;
	height: 80vh;
}
.bt_vorschau_fehler {
	margin: 40px 0;
	font: var(--text-small);
	color: var(--text-muted);
}
.bt_zoom {
	position: absolute;
	top: 16px;
	right: 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}
.bt_zoom_wert {
	padding: 2px 0 4px;
	font: 500 12px var(--font-body);
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
}
.bt_zoom button {
	width: 36px;
	height: 36px;
	padding: 0;
	border-color: var(--border-strong);
	background: var(--surface-card);
	color: var(--text-secondary);
}
.bt_zoom button.on {
	border-color: var(--accent);
	color: var(--accent);
}
.bt_laedt {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	overflow: hidden;
	opacity: 0;
	transition: opacity .2s;
}
.bt_vorschau.laedt .bt_laedt {
	opacity: 1;
}
.bt_laedt:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 30%;
	background: var(--accent);
	animation: bt_laedt 1s linear infinite;
}
@keyframes bt_laedt {
	from { left: -30%; }
	to { left: 100%; }
}

.bt_spalte_rechts {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
}
.bt_panel {
	flex: 1;
	min-height: 0;
	overflow: auto;
	padding: 22px 24px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.bt_fuss {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 24px;
	border-top: 1px solid var(--border-default);
}
.bt_stand {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 6px;
	font: 500 12px var(--font-body);
	color: var(--text-muted);
}
.bt_stand.offen {
	color: var(--warning);
}
.bt_stand.offen i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--warning);
}
.bt_stand.ok {
	color: var(--accent);
}
.bt_stand.fehler {
	color: var(--danger);
}
.bt_speichern:disabled {
	opacity: .45;
	cursor: default;
	box-shadow: none;
	background: transparent;
}
.bt_abschnitt {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.bt_abschnitt_kopf {
	display: flex;
	align-items: center;
	gap: 10px;
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
	white-space: nowrap;
}
.bt_abschnitt_kopf i {
	flex: 1;
	height: 1px;
	background: var(--border-default);
}
.bt_check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	font: 400 14px/1.4 var(--font-body);
	color: var(--text-secondary);
}
.bt_check input[type="checkbox"] {
	margin-top: 2px;
}
.bt_check,
.bt_check small,
.bt_feld {
	text-transform: none;
	letter-spacing: normal;
}
.bt_check small,
.bt_karussell_text small,
.bt_feld > small {
	display: block;
	margin-top: 2px;
	font: 400 12px/1.45 var(--font-body);
	color: var(--text-muted);
}
.bt_toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font: 500 14px var(--font-body);
	color: var(--text-primary);
	text-decoration: none;
}
.bt_toggle .switch {
	position: relative;
	width: 34px;
	height: 20px;
	flex-shrink: 0;
	box-sizing: border-box;
	border-radius: 10px;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	transition: background .15s, border-color .15s;
}
.bt_toggle .switch:after {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--text-muted);
	transition: left .15s, background .15s;
}
.bt_toggle.on .switch {
	background: var(--accent);
	border-color: var(--accent);
}
.bt_toggle.on .switch:after {
	left: 16px;
	background: var(--on-accent);
}
.bt_gruppe {
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.bt_gruppe.aus {
	opacity: .5;
	pointer-events: none;
}
.bt_abschnitt .bt_gruppe {
	gap: 12px;
}
.bt_feld {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.bt_label {
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.bt_input {
	width: 100%;
	box-sizing: border-box;
	height: 40px;
	padding: 0 12px;
	background: var(--surface-raised);
	color: var(--text-primary);
	font: 400 14px var(--font-body);
	border-radius: var(--radius-m);
	outline: none;
	border: 1px solid var(--border-strong);
	transition: border-color .15s, box-shadow .2s;
}
.bt_input:focus {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.bt_paar {
	display: grid;
	grid-template-columns: minmax(0,1fr) minmax(0,1fr);
	gap: 12px;
}
.bt_plz {
	display: grid;
	grid-template-columns: 110px minmax(0,1fr);
	gap: 12px;
}
.bt_gr {
	display: grid;
	grid-template-columns: minmax(0,1fr) 40px;
	gap: 10px;
	align-items: end;
}
.bt_textschrift {
	display: grid;
	grid-template-columns: minmax(0,1fr) 110px;
	gap: 10px;
	align-items: end;
}
.bt_stil {
	width: 40px;
	height: 40px;
	padding: 0;
	border-color: var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-secondary);
	font: 15px var(--font-body);
}
.bt_stil.on {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.08);
	color: var(--accent);
}
.bt_stepper {
	display: flex;
	align-items: center;
	height: 40px;
	box-sizing: border-box;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	overflow: hidden;
}
.bt_stepper .bt_step {
	width: 34px;
	height: 38px;
	padding: 0;
	border: none;
	border-radius: 0;
	color: var(--text-secondary);
	flex-shrink: 0;
}
.bt_stepper .bt_step:hover {
	box-shadow: none;
	color: var(--accent);
}
.bt_stepper input {
	flex: 1;
	min-width: 0;
	width: 100%;
	height: 100%;
	border: none;
	border-left: 1px solid var(--border-default);
	border-right: 1px solid var(--border-default);
	background: transparent;
	color: var(--text-primary);
	font: 500 14px var(--font-body);
	font-variant-numeric: tabular-nums;
	text-align: center;
	outline: none;
}
.bt_farbe {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 40px;
	padding: 0 12px 0 6px;
	box-sizing: border-box;
	background: var(--surface-raised);
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	transition: border-color .15s, box-shadow .2s;
}
.bt_farbe:focus-within {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.bt_farbe.falsch,
.bt_farbe.falsch:focus-within {
	border-color: var(--danger);
	box-shadow: none;
}
.bt_swatch {
	position: relative;
	width: 28px;
	height: 28px;
	border-radius: var(--radius-s);
	border: 1px solid var(--border-strong);
	flex-shrink: 0;
	overflow: hidden;
	cursor: pointer;
}
.bt_swatch input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
	border: none;
	padding: 0;
}
.bt_hex {
	flex: 1;
	min-width: 0;
	height: 100%;
	border: none;
	outline: none;
	background: transparent;
	color: var(--text-primary);
	font: 500 14px var(--font-body);
	font-variant-numeric: tabular-nums;
	letter-spacing: .03em;
}
.bt_reset {
	font: 600 12px var(--font-body);
	white-space: nowrap;
	cursor: pointer;
}
.bt_karussell {
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-align: center;
}
.bt_karussell_text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.bt_karussell_text strong {
	font: 600 14px var(--font-body);
	color: var(--text-primary);
}
.bt_karussell_nav {
	display: flex;
	align-items: center;
	gap: 12px;
}
.bt_karussell_nav span {
	flex: 1;
	font: 500 11px var(--font-body);
	letter-spacing: .04em;
	color: var(--text-muted);
}
.bt_pfeil {
	width: 36px;
	height: 36px;
	padding: 0;
	flex-shrink: 0;
	border-color: var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-primary);
}
.bt_pfeil:hover:not(:disabled) {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
	color: var(--text-primary);
}
.bt_pfeil:disabled {
	opacity: .45;
	cursor: default;
	border-color: var(--border-default);
	color: var(--text-muted);
}
.bt_skizze_seite {
	display: grid;
	place-items: center;
	padding: 16px 0;
	border-radius: var(--radius-m);
	background: rgba(242,245,244,.06);
	border: 1px solid var(--border-default);
}
.bt_skizze_seite svg {
	display: block;
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 4px 16px rgba(0,0,0,.25);
}
.bt_skizze_breit {
	display: block;
	width: 100%;
	height: auto;
	background: #fff;
	border-radius: var(--radius-m);
}
.bt_hinweis {
	margin: 0;
	padding: 10px 12px;
	border-radius: var(--radius-m);
	background: rgba(var(--accent-rgb),.06);
	border: 1px solid rgba(var(--accent-rgb),.25);
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.bt_hinweis a,
.bt_klein a {
	font-weight: 600;
	cursor: pointer;
}
.bt_klein {
	margin: 0;
	font: 400 12px/1.45 var(--font-body);
	color: var(--text-muted);
}
.bt_knopf {
	height: 36px;
	padding: 0 14px;
	font-size: 13px;
	min-width: 0;
	border-color: var(--accent);
	color: var(--accent);
}
.bt_knopf.voll {
	width: 100%;
}
.bt_knopf.leise {
	border-color: rgba(var(--secondary-rgb),.35);
	color: var(--text-secondary);
}
.bt_knopf.gefahr {
	border-color: rgba(242,109,109,.5);
	color: var(--danger);
}
.bt_knopf.gefahr:hover {
	box-shadow: 0 0 12px rgba(242,109,109,.3);
	color: var(--danger);
	border-color: var(--danger);
}
.bt_paar > .bt_knopf {
	width: 100%;
}
.bt_briefpapier_bild,
.bt_logo {
	border-radius: var(--radius-m);
	overflow: hidden;
	border: 1px solid var(--border-strong);
	background: #fff;
}
.bt_briefpapier_bild img {
	display: block;
	width: 100%;
}
.bt_briefpapier_bild.leer {
	padding: 40px 16px;
	text-align: center;
	font: var(--text-small);
	color: #66756F;
}
.bt_logo {
	height: 110px;
	display: grid;
	place-items: center;
	background: repeating-conic-gradient(#f2f2f0 0 25%, #fff 0 50%) 0 0 / 16px 16px;
}
.bt_logo img {
	max-height: 80px;
	max-width: 80%;
}
.bt_upload_feld {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 22px 16px;
	white-space: normal;
	border: 1px dashed rgba(var(--secondary-rgb),.35);
	color: var(--text-secondary);
}
.bt_upload_feld small {
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.bt_upload_feld:hover {
	border-color: var(--accent);
	color: var(--accent);
	box-shadow: none;
}
.bt_banken {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.bt_bank {
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.bt_bank.auf {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.bt_bank_kopf {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	color: var(--text-muted);
}
.bt_bank_kopf > div {
	flex: 1;
	min-width: 0;
}
.bt_bank_kopf strong {
	display: block;
	font: 600 13px var(--font-body);
	color: var(--text-primary);
}
.bt_bank_kopf em {
	margin-left: 8px;
	font: 500 11px var(--font-body);
	font-style: normal;
	color: var(--accent);
}
.bt_bank_kopf small {
	display: block;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.bt_bank_stift {
	width: 30px;
	height: 30px;
	padding: 0;
	border: none;
	color: var(--text-muted);
}
.bt_bank.auf .bt_bank_stift {
	color: var(--accent);
}
.bt_bank_felder {
	padding: 4px 12px 14px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.bt_bank_aktionen {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.bt_spalten {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.bt_spalte {
	display: flex;
	align-items: center;
	gap: 8px;
}
.bt_spalte.aus {
	opacity: .55;
}
.bt_spalte .bt_input {
	height: 34px;
	font-size: 13px;
}
.bt_spalte_label {
	flex: 1;
	min-width: 0;
}
.bt_spalte .bt_spalte_breite {
	width: 48px;
	flex-shrink: 0;
	padding: 0 6px;
	text-align: center;
	font-variant-numeric: tabular-nums;
}
.bt_spalte_ausr {
	width: 34px;
	height: 34px;
	padding: 0;
	flex-shrink: 0;
	border-color: var(--border-strong);
	background: var(--surface-raised);
	border-radius: var(--radius-s);
	color: var(--text-secondary);
}
.bt_spalte_schieb {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
}
.bt_spalte_schieb button {
	width: 24px;
	height: 17px;
	padding: 0;
	border: none;
	color: var(--text-secondary);
}
.bt_spalte_schieb button:hover {
	box-shadow: none;
	color: var(--accent);
}

.bt_overlay.bt_einheiten {
	z-index: 1600;
}
.bt_einheiten_box {
	width: 460px;
	max-width: 100%;
	max-height: 90vh;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 24px;
	box-sizing: border-box;
	background: var(--modal-bg);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-l);
	box-shadow: var(--shadow-pop);
	color: var(--text-primary);
}
.bt_einheiten_box header {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.bt_einheiten_box header > div {
	flex: 1;
}
.bt_einheiten_box h2 {
	margin: 0;
	font: 600 19px var(--font-display);
}
.bt_einheiten_box header p {
	margin: 4px 0 0;
	font: var(--text-small);
	color: var(--text-muted);
}
.bt_einheiten_suche {
	display: flex;
	gap: 10px;
}
.bt_einheiten_suche > span {
	position: relative;
	flex: 1;
	display: flex;
}
.bt_einheiten_suche > span svg {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--text-muted);
}
.bt_einheiten_suche input {
	width: 100%;
	box-sizing: border-box;
	height: 40px;
	padding: 0 12px 0 36px;
	background: var(--surface-raised);
	color: var(--text-primary);
	font: 400 14px var(--font-body);
	border-radius: var(--radius-m);
	outline: none;
	border: 1px solid var(--border-strong);
}
.bt_einheiten_suche input:focus {
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.bt_einheit_anlegen {
	height: 40px;
	padding: 0 14px;
	font-size: 13px;
	border-color: var(--accent);
	color: var(--accent);
}
.bt_einheit_anlegen:disabled {
	border-color: var(--border-strong);
	color: var(--text-muted);
	cursor: default;
	box-shadow: none;
}
.bt_einheiten_hinweis {
	margin: -8px 0 0;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.bt_einheiten_liste {
	max-height: 340px;
	overflow: auto;
	margin: 0 -10px;
	display: flex;
	flex-direction: column;
}
.bt_einheiten_titel {
	padding: 12px 10px 4px;
	font: 500 11px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.bt_einheiten_titel:first-child {
	padding-top: 4px;
}
.bt_einheit_zeile {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 10px;
	border-radius: var(--radius-s);
	cursor: pointer;
}
.bt_einheit_zeile:hover {
	background: rgba(var(--accent-rgb),.05);
}
.bt_einheit_zeile > span {
	flex: 1;
	font: 400 14px var(--font-body);
	color: var(--text-primary);
}
.bt_einheit_zeile em {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 500 11px var(--font-body);
	font-style: normal;
	color: var(--text-muted);
}
.bt_einheit_weg {
	width: 28px;
	height: 28px;
	padding: 0;
	border: none;
	color: var(--text-muted);
}
.bt_einheit_weg:hover {
	box-shadow: none;
	color: var(--danger);
}
.bt_einheiten_box footer {
	display: flex;
	justify-content: flex-end;
}

@media (max-width: 770px) {
	.bt_overlay {
		padding: 0;
	}
	.bt_editor {
		width: 100%;
		height: 100%;
		border: none;
		border-radius: 0;
	}
	.bt_kopf {
		padding: calc(14px + env(safe-area-inset-top)) 16px 0;
	}
	.bt_tabs {
		gap: 20px;
	}
	.bt_ansicht {
		display: flex;
		gap: 6px;
		margin: 0 -16px;
		padding: 10px 16px;
		border-bottom: 1px solid var(--border-default);
	}
	.bt_ansicht button {
		flex: 1;
		height: 34px;
		padding: 0;
		font-size: 13px;
		border-color: var(--border-strong);
		color: var(--text-secondary);
	}
	.bt_ansicht button.on {
		border-color: var(--accent);
		background: rgba(var(--accent-rgb),.08);
		color: var(--accent);
	}
	.bt_inhalt {
		display: block;
		position: relative;
	}
	.bt_inhalt > .bt_vorschau,
	.bt_inhalt > .bt_spalte_rechts {
		position: absolute;
		inset: 0;
	}
	.bt_inhalt[data-ansicht="einstellungen"] > .bt_vorschau,
	.bt_inhalt[data-ansicht="vorschau"] > .bt_spalte_rechts {
		display: none;
	}
	.bt_vorschau {
		border-right: none;
	}
	.bt_seiten {
		padding: 16px;
	}
	.bt_zoom {
		display: none;
	}
	.bt_panel {
		padding: 18px 16px;
	}
	.bt_fuss {
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
	}
	#insert_box .bt_vorlage_feld {
		flex-wrap: wrap;
	}
}
.bt_farbe input.bt_hex,
.bt_stepper input[type="text"] {
	border-top: none;
	border-bottom: none;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	padding: 0;
	height: 100%;
}
.bt_farbe input.bt_hex {
	border-left: none;
	border-right: none;
}

html.fb_open { overflow: hidden; }
.fb_overlay {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(var(--overlay-rgb), .55);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	animation: bc-fade-in .2s ease both;
}
.fb_dialog {
	width: 600px;
	max-width: 100%;
	max-height: 92vh;
	overflow: auto;
	box-sizing: border-box;
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	text-align: left;
	background: var(--surface-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-l);
	box-shadow: var(--shadow-pop);
	color: var(--text-primary);
	font-family: var(--font-body);
	animation: bc-pop-in .25s cubic-bezier(.3,.9,.35,1.1) both;
}
.fb_head { display: flex; align-items: flex-start; gap: 16px; }
.fb_head > div { flex: 1; min-width: 0; }
.fb_head h2 { margin: 0; font: 600 19px var(--font-display); letter-spacing: -.01em; color: var(--text-primary); text-transform: none; }
.fb_head p { margin: 4px 0 0; font: var(--text-small); line-height: 1.5; color: var(--text-muted); }
.fb_x {
	width: 30px;
	height: 30px;
	flex-shrink: 0;
	display: grid;
	place-items: center;
	padding: 0;
	cursor: pointer;
	background: transparent;
	border: none;
	border-radius: var(--radius-s);
	color: var(--text-muted);
}
.fb_x:hover { color: var(--text-primary); }
.fb_form, .fb_shots, .fb_contact { display: flex; flex-direction: column; }
.fb_form { gap: 20px; }
.fb_shots { gap: 8px; }
.fb_field { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; }
.fb_label { font: 500 12px var(--font-body); letter-spacing: .04em; text-transform: uppercase; color: var(--text-muted); }
.fb_label i { font-style: normal; color: var(--accent); }
.fb_dialog input[type=text],
.fb_dialog input[type=email],
.fb_dialog input[type=tel],
.fb_dialog textarea {
	width: 100%;
	box-sizing: border-box;
	height: 40px;
	margin: 0;
	padding: 0 12px;
	background: var(--surface-raised);
	color: var(--text-primary);
	font: 400 14px var(--font-body);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	outline: none;
	box-shadow: none;
}
.fb_dialog textarea { height: auto; min-height: 132px; padding: 10px 12px; line-height: 1.5; resize: vertical; }
.fb_dialog input:focus, .fb_dialog textarea:focus { border-color: var(--accent); box-shadow: var(--glow-border); }
.fb_field.invalid input, .fb_field.invalid textarea { border-color: var(--danger); }
.fb_error { display: none; font: 400 12px var(--font-body); letter-spacing: normal; text-transform: none; color: var(--danger); }
.fb_field.invalid .fb_error { display: block; }
.fb_drop {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 18px 14px;
	cursor: pointer;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-m);
	color: var(--text-secondary);
	font: 500 13px/1.45 var(--font-body);
	text-align: center;
	transition: border-color .15s, background .15s;
}
.fb_drop em { font-style: normal; color: var(--accent); }
.fb_drop svg { flex-shrink: 0; }
.fb_drop:hover, .fb_drop:focus-visible { border-color: var(--accent); outline: none; }
.fb_drop.over { border-color: var(--accent); background: rgba(var(--accent-rgb), .06); color: var(--accent); }
.fb_hint { font: 400 12px var(--font-body); color: var(--text-muted); }
.fb_hint.warn { color: var(--warning); }
.fb_grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 10px; }
.fb_grid:empty { display: none; }
.fb_tile {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-s);
	background: var(--surface-raised);
}
.fb_tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fb_tile_x {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 22px;
	height: 22px;
	padding: 0;
	display: grid;
	place-items: center;
	cursor: pointer;
	border: none;
	border-radius: 50%;
	background: rgba(0,0,0,.6);
	color: #fff;
}
.fb_contact { gap: 12px; padding-top: 16px; border-top: 1px solid var(--border-default); }
.fb_contact_head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.fb_contact_head > span:first-child { font: 600 14px var(--font-body); color: var(--text-primary); }
.fb_source { display: none; font: 400 12px var(--font-body); color: var(--text-muted); }
.fb_dialog.prefilled .fb_source { display: inline; }
.fb_row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.fb_note { font: 400 12px/1.5 var(--font-body); color: var(--text-muted); }
.fb_hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; opacity: 0; }
.fb_alert {
	display: none;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border: 1px solid rgba(255,69,58,.45);
	border-radius: var(--radius-m);
	background: rgba(255,69,58,.1);
	font: 500 13px/1.45 var(--font-body);
	color: var(--danger);
}
.fb_alert.show { display: flex; }
.fb_alert svg { flex-shrink: 0; }
.fb_foot { display: flex; justify-content: flex-end; align-items: center; gap: 12px; flex-wrap: wrap; }
.fb_foot .button { margin: 0; display: inline-flex; align-items: center; gap: 8px; }
.fb_foot .button[disabled] { opacity: .6; pointer-events: none; }
.fb_done { display: none; flex-direction: column; align-items: center; gap: 12px; padding: 18px 0 6px; text-align: center; }
.fb_done > svg { color: var(--accent); }
.fb_done > b { font: 600 16px var(--font-display); color: var(--text-primary); }
.fb_done > span { max-width: 420px; font: 400 14px/1.5 var(--font-body); color: var(--text-muted); }
.fb_done .fb_foot { align-self: stretch; margin-top: 8px; }
.fb_dialog.done .fb_form { display: none; }
.fb_dialog.done .fb_done { display: flex; }
@media (max-width: 600px) {
	.fb_dialog { padding: 22px 18px; max-height: calc(100vh - 32px); }
	.fb_row { grid-template-columns: 1fr; }
}

.admin_fb_text { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal; line-height: 1.45; }
.admin_fb_thumbs { display: inline-flex; gap: 6px; }
.admin_fb_thumb { display: block; width: 44px; height: 33px; overflow: hidden; border: 1px solid var(--border-default); border-radius: var(--radius-s); background: var(--surface-raised); }
.admin_fb_thumb img, .admin_fb_shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.admin_fb_comment { white-space: pre-wrap; word-break: break-word; margin-top: 14px; }
.admin_fb_shots { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin-top: 14px; }
.admin_fb_shot { display: block; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--border-default); border-radius: var(--radius-s); background: var(--surface-raised); }

.reg_wrap { display: flex; justify-content: center; padding: 40px 16px 64px; }
.reg_card {
	width: 520px;
	max-width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 36px 32px;
	background: var(--surface-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-l);
	text-align: left;
}
.reg_card h1 { margin: 0; font: 600 22px var(--font-display); letter-spacing: -.01em; color: var(--text-primary); }
.reg_sub { margin: -6px 0 4px; font: var(--text-body); color: var(--text-muted); }
.reg_wrap .reg_card p.reg_coupon { display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 14px; border: 1px solid rgba(var(--accent-rgb),.45); border-radius: var(--radius-m); background: rgba(var(--accent-rgb),.08); font: 500 13px var(--font-body); color: var(--text-secondary); }
.reg_coupon svg { color: var(--accent); flex-shrink: 0; }
.reg_coupon b { color: var(--text-primary); }
.reg_row { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.reg_field { display: flex; flex-direction: column; gap: 6px; margin: 0; min-width: 0; }
.reg_field > span { font: 500 12px var(--font-body); letter-spacing: .04em; text-transform: uppercase; color: var(--text-muted); }
.reg_field > span i { font-style: normal; color: var(--accent); }
.reg_card input[type=text],
.reg_card input[type=email],
.reg_card input[type=password] {
	width: 100%;
	box-sizing: border-box;
	height: 40px;
	margin: 0;
	padding: 0 12px;
	background: var(--surface-raised);
	color: var(--text-primary);
	font: 400 14px var(--font-body);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	outline: none;
}
.reg_card input:focus { border-color: var(--accent); box-shadow: var(--glow-border); }
.reg_field em, .reg_terms em { display: none; font: 400 12px var(--font-body); font-style: normal; color: var(--danger); }
.reg_field.invalid input { border-color: var(--danger); }
.reg_field.invalid em { display: block; }
.reg_terms { display: flex; align-items: flex-start; gap: 10px; margin: 0; font: 400 13px/1.5 var(--font-body); color: var(--text-secondary); text-transform: none; letter-spacing: normal; cursor: pointer; }
.reg_terms input { accent-color: var(--accent); width: 15px; height: 15px; margin: 3px 0 0; flex-shrink: 0; }
.reg_terms.invalid span { color: var(--danger); }
.reg_hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; opacity: 0; }
.reg_wrap .reg_card p.reg_alert { margin: 0; padding: 10px 14px; border: 1px solid rgba(255,69,58,.45); border-radius: var(--radius-m); background: rgba(255,69,58,.1); font: 500 13px/1.45 var(--font-body); color: var(--danger); }
.reg_card .reg_send { align-self: stretch; justify-content: center; margin: 4px 0 0; }
.reg_card .reg_send[disabled] { opacity: .6; pointer-events: none; }
.reg_gone { text-align: center; align-items: center; }
@media (max-width: 600px) { .reg_card { padding: 28px 20px; } }

.admin_invitations_card { margin-top: 28px; }
.admin_who .n.mono, .admin_page .mono { font: var(--text-code); letter-spacing: .02em; }
.admin_coupon_form, .admin_invite_form { display: flex; flex-direction: column; gap: 16px; }
.admin_coupon_form .cp_code { font: 600 14px var(--font-mono, var(--font-body)); letter-spacing: .04em; text-transform: uppercase; }
.admin_coupon_form .cp_code[disabled] { opacity: .6; }
.admin_unit { position: relative; display: flex; align-items: center; }
.admin_unit input { padding-right: 40px; font-variant-numeric: tabular-nums; }
.admin_unit i { position: absolute; right: 12px; font: 500 14px var(--font-body); font-style: normal; color: var(--text-muted); pointer-events: none; }
.admin_copy_row { display: flex; gap: 10px; align-items: stretch; margin-top: 14px; }
.admin_copy_row input { flex: 1; min-width: 0; height: 40px; box-sizing: border-box; font: 500 13px var(--font-body); }
.admin_copy_row .button { margin: 0; height: 40px; box-sizing: border-box; display: inline-flex; align-items: center; }

html.ob_open { overflow: hidden; }
.ob_overlay {
	position: fixed;
	inset: 0;
	z-index: 900;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(var(--overlay-rgb), .55);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	animation: bc-fade-in .2s ease both;
}
.ob_dialog {
	width: 1000px;
	max-width: 100%;
	height: min(760px, 94vh);
	display: flex;
	background: var(--surface-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-l);
	box-shadow: var(--shadow-pop);
	overflow: hidden;
	color: var(--text-primary);
	font-family: var(--font-body);
	animation: bc-pop-in .25s cubic-bezier(.3,.9,.35,1.1) both;
}
.ob_nav {
	width: 228px;
	flex-shrink: 0;
	box-sizing: border-box;
	padding: 28px 16px 20px 20px;
	border-right: 1px solid var(--border-default);
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.ob_brand { display: flex; align-items: center; gap: 10px; height: 32px; margin: 0 0 24px 4px; }
.ob_brand img { width: 30px; height: 30px; border-radius: 8px; }
.ob_brand .wordmark { font: 600 20px/1 var(--font-display); letter-spacing: -.03em; }
.ob_nav_step { display: flex; align-items: flex-start; gap: 10px; padding: 8px; border-radius: var(--radius-m); cursor: default; text-decoration: none; }
.ob_nav_step.geht { cursor: pointer; }
.ob_nav_step.aktiv { background: rgba(var(--accent-rgb), .08); }
.ob_nav_step .dot, .ob_card_step .dot {
	width: 22px; height: 22px; flex-shrink: 0; border-radius: 50%;
	display: grid; place-items: center;
	font: 600 11px var(--font-body);
	border: 1.5px solid var(--border-strong); color: var(--text-muted);
}
.ob_nav_step.aktiv .dot { border-color: var(--accent); color: var(--accent); }
.ob_nav_step.ok .dot { border-color: var(--accent); background: var(--accent); color: var(--surface-page); }
.ob_nav_step .txt b { display: block; font: 600 13px var(--font-body); color: var(--text-muted); }
.ob_nav_step.geht .txt b { color: var(--text-secondary); }
.ob_nav_step.aktiv .txt b { color: var(--text-primary); }
.ob_nav_step .txt small { display: block; margin-top: 1px; font: 400 11px/1.4 var(--font-body); color: var(--text-muted); }
.ob_spacer { flex: 1; }
.ob_nav .ob_later { width: 100%; justify-content: center; margin: 0; box-sizing: border-box; text-align: center; }
.ob_mobile { display: none; }
.ob_main { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.ob_top { box-sizing: content-box; flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 32px; padding: 28px 28px 18px; border-bottom: 1px solid var(--border-default); }
.ob_top h1 { margin: 0; font: 600 20px/1 var(--font-display); letter-spacing: -.01em; color: var(--text-primary); text-transform: none; }
.ob_top_r { display: flex; align-items: center; gap: 12px; font: 500 12px var(--font-body); color: var(--text-muted); white-space: nowrap; }
.ob_segs { display: flex; gap: 3px; width: 120px; }
.ob_segs i { flex: 1; height: 4px; border-radius: 2px; background: var(--border-strong); }
.ob_segs i.on { background: var(--accent); }
.ob_segs i.cur { background: rgba(var(--accent-rgb), .45); }
.ob_head { flex-shrink: 0; padding: 22px 28px 0; }
.ob_kennzeile { font: 500 12px var(--font-body); letter-spacing: .04em; color: var(--accent); }
.ob_head h2 { margin: 4px 0 0; font: 600 22px var(--font-display); letter-spacing: -.01em; color: var(--text-primary); text-transform: none; }
.ob_sub { display: flex; gap: 6px; margin-top: 12px; }
.ob_sub_page { flex: 1; display: flex; flex-direction: column; gap: 6px; padding: 4px 0; cursor: pointer; text-decoration: none; }
.ob_sub_page span { height: 3px; border-radius: 2px; background: var(--border-strong); }
.ob_sub_page.on span { background: var(--accent); }
.ob_sub_page small { font: 500 11px var(--font-body); color: var(--text-muted); }
.ob_sub_page.cur small { color: var(--text-primary); }
.ob_body { flex: 1; min-height: 0; overflow-y: auto; scrollbar-width: none; padding: 22px 28px 28px; }
.ob_body::-webkit-scrollbar { display: none; }
.ob_foot { flex-shrink: 0; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 16px 28px; border-top: 1px solid var(--border-default); }
.ob_foot .button { margin: 0; display: inline-flex; align-items: center; gap: 8px; }
.ob_foot .button.disabled { opacity: .45; pointer-events: none; }
.ob_foot .button.busy { opacity: .6; pointer-events: none; }
.ob_skip { padding: 8px 0; cursor: pointer; font: 500 13px var(--font-body); color: var(--text-muted); text-decoration: none; }
.ob_skip:hover { color: var(--text-primary); }
.ob_avv_check { flex: 1 1 260px; display: flex; align-items: center; gap: 10px; margin: 0; cursor: pointer; font: 500 14px/1.4 var(--font-body); color: var(--text-primary); text-transform: none; letter-spacing: normal; }
.ob_avv_check input { accent-color: var(--accent); width: 16px; height: 16px; margin: 0; flex-shrink: 0; }

.ob_stack { display: flex; flex-direction: column; gap: 18px; }
.ob_text { margin: 0; font: 400 14px/1.6 var(--font-body); color: var(--text-secondary); }
.ob_body > .ob_text { margin-bottom: 16px; }
.ob_klein { margin: 0; font: 400 12px/1.5 var(--font-body); color: var(--text-muted); }
.ob_center { text-align: center; margin: 0; font: 400 12px var(--font-body); color: var(--text-muted); }
.ob_link, .ob_ext { font: 600 13px var(--font-body); color: var(--accent); cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.ob_section { display: flex; flex-direction: column; gap: 12px; }
.ob_section_head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ob_section_head > b { font: 600 15px var(--font-display); color: var(--text-primary); }
.ob_section > .ob_klein { margin-top: -6px; }
.ob_avv_frame { display: block; width: 100%; height: 360px; border: 1px solid var(--border-default); border-radius: var(--radius-m); background: var(--surface-raised); color-scheme: normal; box-sizing: border-box; }
.ob_grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.ob_grid3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px 16px; }
.ob_nr_kreise { display: flex; flex-direction: column; gap: 12px; }
.ob_nr_kreis { display: flex; flex-direction: column; gap: 12px; padding: 14px 16px 16px; border: 1px solid var(--border-default); border-radius: var(--radius-m); background: var(--surface-raised); }
.ob_nr_kopf { display: flex; align-items: baseline; gap: 12px; }
.ob_nr_kopf b { flex: 1; font: 600 14px var(--font-body); color: var(--text-primary); }
.ob_nr_kopf span { font: 400 14px var(--font-body); color: var(--text-muted); }
.ob_nr_kopf em { font: 600 14px var(--font-body); font-style: normal; font-variant-numeric: tabular-nums; color: var(--accent); }
.ob_nr_kreis.zu_lang .ob_nr_kopf em { color: var(--danger); }
.ob_nr_kreis .ob_switch.disabled { opacity: .5; cursor: default; }
.ob_grid_plz { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 16px; }
.ob_field { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; text-transform: none; letter-spacing: normal; }
.ob_field.breit { grid-column: 1 / -1; }
.ob_label { font: 500 12px var(--font-body); letter-spacing: .04em; text-transform: uppercase; color: var(--text-muted); }
.ob_label i { font-style: normal; color: var(--accent); }
.ob_dialog input[type=text], .ob_dialog input[type=email], .ob_dialog input[type=number], .ob_mini input[type=text], .ob_mini input[type=email] {
	width: 100%; box-sizing: border-box; height: 40px; margin: 0; padding: 0 12px;
	background: var(--surface-raised); color: var(--text-primary); font: 400 14px var(--font-body);
	border: 1px solid var(--border-strong); border-radius: var(--radius-m); outline: none; box-shadow: none;
}
.ob_dialog input.mono { font-variant-numeric: tabular-nums; }
.ob_dialog input:focus, .ob_mini input:focus { border-color: var(--accent); box-shadow: var(--glow-border); }
.ob_field.invalid input { border-color: var(--danger); }
.ob_field em, .ob_code em, .ob_mini_err { font: 400 12px var(--font-body); font-style: normal; color: var(--danger); }
.ob_field small { font: 400 12px/1.5 var(--font-body); color: var(--text-muted); }
.ob_switch { display: flex; align-items: center; gap: 12px; padding: 12px 14px; cursor: pointer; background: var(--surface-raised); border: 1px solid var(--border-default); border-radius: var(--radius-m); font: 500 14px var(--font-body); color: var(--text-primary); text-decoration: none; }
.ob_switch .txt { flex: 1; min-width: 0; }
.ob_switch .txt small { display: block; margin-top: 2px; font: 400 12px/1.5 var(--font-body); color: var(--text-muted); }
.ob_switch .knob { position: relative; width: 36px; height: 20px; flex-shrink: 0; border-radius: 10px; background: var(--border-strong); transition: background .15s; }
.ob_switch .knob i { position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: left .15s; }
.ob_switch.on .knob { background: var(--accent); }
.ob_switch.on .knob i { left: 18px; }
.ob_note { display: flex; align-items: flex-start; gap: 10px; padding: 10px 14px; border-radius: var(--radius-m); font: 400 13px/1.5 var(--font-body); }
.ob_note svg { flex-shrink: 0; margin-top: 2px; }
.ob_note b { color: var(--text-primary); }
.ob_note.accent { border: 1px solid rgba(var(--accent-rgb), .4); background: rgba(var(--accent-rgb), .08); color: var(--text-secondary); }
.ob_note.accent svg { color: var(--accent); }
.ob_note.warning { border: 1px solid rgba(245,185,80,.4); background: rgba(245,185,80,.08); color: var(--warning); }
.ob_note.danger { border: 1px solid rgba(255,69,58,.4); background: rgba(255,69,58,.08); color: var(--danger); }
.ob_wait { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 40px 0 14px; text-align: center; }
.ob_wait b { font: 600 15px var(--font-body); color: var(--text-primary); }
.ob_wait span:last-child { max-width: 380px; font: 400 12px/1.5 var(--font-body); color: var(--text-muted); }
.ob_spin { width: 36px; height: 36px; border-radius: 50%; border: 3px solid var(--border-strong); border-top-color: var(--accent); animation: ob-dreh .9s linear infinite; box-sizing: border-box; }
@keyframes ob-dreh { to { transform: rotate(360deg); } }

.pill_switch {
	position: relative; display: inline-flex; align-self: flex-start; padding: 4px; gap: 0;
	border: 1px solid var(--border-strong); border-radius: 999px; background: var(--surface-raised);
}
.pill_switch a {
	position: relative; z-index: 1; width: 120px; height: 36px; display: grid; place-items: center;
	font: 600 14px var(--font-body); color: var(--text-secondary); cursor: pointer; text-decoration: none; transition: color .2s;
}
.pill_switch a.on { color: var(--on-accent); }
.pill_switch i {
	position: absolute; top: 4px; left: 4px; width: 120px; height: 36px; border-radius: 999px;
	background: var(--accent); box-shadow: 0 0 14px rgba(0,208,155,.35);
	transition: left .32s cubic-bezier(.3,.9,.3,1), width .32s cubic-bezier(.3,.9,.3,1);
}
.pill_switch[data-value=jahr] i { left: 124px; }
.pill_switch[data-value=monat]:has(a[data-v=jahr]:hover) i { width: 134px; }
.pill_switch[data-value=jahr]:has(a[data-v=monat]:hover) i { left: 110px; width: 134px; }

.ob_plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ob_wahl { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border: 1px solid var(--accent); border-radius: var(--radius-m); background: rgba(0, 208, 155, .06); font: 400 13px var(--font-body); color: var(--text-secondary); }
.ob_wahl span { flex: 1; min-width: 0; }
.ob_wahl b { font: 600 15px var(--font-display); color: var(--text-primary); margin-right: 6px; }
.ob_wahl_edit { font: 500 12px var(--font-body); color: var(--text-muted); cursor: pointer; text-decoration: none; }
.ob_wahl_edit:hover { color: var(--text-primary); }
.ob_grid_anschrift { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) minmax(0, 2fr); gap: 14px 16px; }
.ob_grid_anschrift .span2 { grid-column: span 2; }
.ob_plan {
	display: flex; flex-direction: column; gap: 10px; padding: 16px; cursor: pointer; text-decoration: none;
	border: 1px solid var(--border-strong); border-radius: var(--radius-m); background: var(--surface-raised);
	transition: border-color .15s;
}
.ob_plan.on { border-color: var(--accent); }
.ob_plan_head { display: flex; align-items: center; gap: 8px; }
.ob_plan_head b { flex: 1; font: 600 16px var(--font-display); color: var(--text-primary); }
.ob_plan .radio { width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid var(--border-strong); display: grid; place-items: center; flex-shrink: 0; box-sizing: border-box; }
.ob_plan.on .radio { border-color: var(--accent); }
.ob_plan.on .radio i { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
.ob_plan_price { font: 400 12px var(--font-body); color: var(--text-muted); }
.ob_plan_price b { font: 600 22px var(--font-display); letter-spacing: -.02em; color: var(--text-primary); font-variant-numeric: tabular-nums; }
.ob_plan ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ob_plan li { display: flex; align-items: flex-start; gap: 8px; font: 400 12px/1.4 var(--font-body); color: var(--text-secondary); }
.ob_plan li svg { flex-shrink: 0; margin-top: 2px; color: var(--accent); }
.ob_plan li.no { color: var(--text-muted); }
.ob_plan li.no svg { color: var(--text-muted); }
.ob_code { display: flex; flex-direction: column; gap: 6px; max-width: 440px; }
.ob_code_row { display: flex; gap: 10px; align-items: stretch; }
.ob_code_row input { flex: 1; min-width: 0; }
.ob_code_row .button { margin: 0; height: 40px; box-sizing: border-box; display: inline-flex; align-items: center; flex-shrink: 0; }

.ob_look { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 28px; align-items: start; }
.ob_look_page { position: sticky; top: 0; display: grid; place-items: center; min-height: 300px; }
.ob_look_page img { width: 100%; max-width: 340px; border-radius: 4px; box-shadow: var(--shadow-card); background: #fff; }
.ob_look_side { display: flex; flex-direction: column; gap: 22px; }
.ob_logo_box { height: 110px; display: grid; place-items: center; border: 1px solid var(--border-strong); border-radius: var(--radius-m); background: repeating-conic-gradient(#f2f2f0 0 25%, #fff 0 50%) 0 0 / 16px 16px; }
.ob_logo_box img { max-height: 80px; max-width: 80%; }
.ob_pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ob_pair .button { margin: 0; justify-content: center; display: inline-flex; align-items: center; gap: 6px; }
.ob_logo_drop { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 22px 16px; cursor: pointer; text-decoration: none; text-align: center; border: 1px dashed rgba(242,245,244,.35); border-radius: var(--radius-m); color: var(--text-secondary); transition: border-color .15s, color .15s; }
.ob_logo_drop:hover { border-color: var(--accent); color: var(--accent); }
.ob_logo_drop b { font: 600 13px var(--font-body); }
.ob_logo_drop small { font: 400 12px var(--font-body); color: var(--text-muted); }
.ob_color { display: flex; gap: 10px; align-items: center; }
.ob_color input[type=color] { width: 40px; height: 40px; padding: 2px; border: 1px solid var(--border-strong); border-radius: var(--radius-m); background: var(--surface-raised); cursor: pointer; flex-shrink: 0; }

.ob_table { border-top: 1px solid var(--border-strong); }
.ob_tr { display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)) 32px; align-items: center; gap: 12px; padding: 11px 12px; border-bottom: 1px solid var(--border-default); font: 400 13px var(--font-body); color: var(--text-secondary); }
.ob_tr.head { font: 600 11px var(--font-body); letter-spacing: .04em; text-transform: uppercase; color: var(--text-muted); border-bottom-color: var(--border-strong); }
.ob_tr .main b { display: block; font: 500 14px var(--font-body); color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ob_tr .main small { display: block; font: 400 12px var(--font-body); color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ob_tr .menu { text-align: right; }
.ob_row_del { color: var(--text-muted); cursor: pointer; display: inline-grid; place-items: center; }
.ob_row_del:hover { color: var(--danger); }
.ob_pill_tag { display: inline-block; padding: 3px 9px; border-radius: 999px; border: 1px solid var(--border-strong); background: var(--surface-raised); font: 500 11px var(--font-body); color: var(--text-secondary); white-space: nowrap; }
.ob_badge { display: inline-block; padding: 3px 9px; border-radius: 999px; font: 600 11px var(--font-body); white-space: nowrap; }
.ob_badge.active { background: rgba(var(--accent-rgb), .12); color: var(--accent); }
.ob_ok { display: inline-flex; align-items: center; gap: 5px; color: var(--accent); font: 600 13px var(--font-body); }
.ob_none { color: var(--text-muted); }
.ob_empty { padding: 28px 16px; text-align: center; border: 1px dashed var(--border-strong); border-radius: var(--radius-m); font: 400 13px var(--font-body); color: var(--text-muted); }
.ob_list_actions { display: flex; justify-content: flex-end; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.ob_list_actions .button { margin: 0; display: inline-flex; align-items: center; gap: 6px; }
.ob_list_actions .button.disabled { opacity: .45; pointer-events: none; }

.ob_import { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 16px; border: 1px solid var(--border-default); border-radius: var(--radius-m); background: var(--surface-raised); }
.ob_import.over { border-style: dashed; border-color: var(--accent); }
.ob_import.done { border-color: var(--accent); background: rgba(var(--accent-rgb), .05); }
.ob_import .txt { flex: 1 1 240px; min-width: 0; }
.ob_import .txt b { display: flex; align-items: center; gap: 8px; font: 600 14px var(--font-body); color: var(--text-primary); }
.ob_import .txt b svg { color: var(--accent); }
.ob_import .txt small { display: block; margin-top: 2px; font: 400 12px/1.5 var(--font-body); color: var(--text-muted); }
.ob_import .acts { display: flex; gap: 20px; align-items: center; }
.ob_import .acts .button { margin: 0; display: inline-flex; align-items: center; gap: 6px; }
.ob_progress { display: block; height: 3px; margin-top: 10px; border-radius: 2px; background: var(--border-default); overflow: hidden; }
.ob_progress i { display: block; height: 100%; background: var(--accent); transition: width .15s linear; }
.ob_map { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px 14px; }

.ob_mini_overlay { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(var(--overlay-rgb), .45); }
.ob_mini { width: 460px; max-width: 100%; max-height: 90vh; overflow: auto; box-sizing: border-box; padding: 24px; display: flex; flex-direction: column; gap: 14px; background: var(--surface-card); border: 1px solid var(--border-strong); border-radius: var(--radius-l); box-shadow: var(--shadow-pop); }
.ob_mini.wide { width: 620px; }
.ob_mini header { display: flex; align-items: center; justify-content: space-between; }
.ob_mini header b { font: 600 17px var(--font-display); color: var(--text-primary); }
.ob_mini header .ob_mini_x { color: var(--text-muted); cursor: pointer; display: grid; place-items: center; }
.ob_mini footer { display: flex; justify-content: flex-end; gap: 12px; }
.ob_mini footer .button { margin: 0; }

.ob_app { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--border-default); border-radius: var(--radius-m); background: var(--surface-raised); font: 400 13px/1.5 var(--font-body); color: var(--text-secondary); }
.ob_app svg { flex-shrink: 0; }
.ob_chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ob_chips span { padding: 7px 12px; border-radius: 999px; border: 1px solid rgba(0,208,155,.35); background: rgba(0,208,155,.06); font: 400 13px var(--font-body); color: var(--text-secondary); }
.ob_done { display: flex; flex-direction: column; gap: 8px; padding-top: 16px; border-top: 1px solid var(--border-default); }
.ob_done b { font: 600 15px var(--font-display); color: var(--text-primary); }

.ob_card { margin-bottom: 24px; padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 16px; border: 1px solid rgba(0,208,155,.35); border-radius: var(--radius-l); background: var(--surface-glass); -webkit-backdrop-filter: var(--blur-glass); backdrop-filter: var(--blur-glass); }
.ob_card_head { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.ob_card_head > div { flex: 1 1 240px; min-width: 0; }
.ob_card_head b { display: block; font: 600 16px var(--font-display); color: var(--text-primary); }
.ob_card_head span { display: block; margin-top: 2px; font: var(--text-small); color: var(--text-muted); }
.ob_card_head .button { margin: 0; }
.ob_card_x { width: 28px; height: 28px; display: grid; place-items: center; cursor: pointer; color: var(--text-muted); border-radius: var(--radius-s); }
.ob_card_steps { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 1100px) { .ob_card_steps { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 16px; } }
@media (max-width: 560px) { .ob_card_steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ob_card_step { display: flex; flex-direction: column; gap: 10px; cursor: pointer; text-decoration: none; }
.ob_card_step.ok { cursor: default; }
.ob_card_step .bar { display: block; height: 3px; border-radius: 2px; background: var(--border-strong); }
.ob_card_step.ok .bar { background: var(--accent); }
.ob_card_step.pflicht .bar { background: var(--warning); }
.ob_card_step .row { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ob_card_step .dot { font-weight: 700; }
.ob_card_step.ok .dot { border-color: var(--accent); background: var(--accent); color: var(--surface-page); }
.ob_card_step.pflicht .dot { border-color: var(--warning); background: var(--warning); color: var(--surface-page); }
.ob_card_step .txt { min-width: 0; }
.ob_card_step .txt b { display: block; font: 600 13px var(--font-body); color: var(--text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color .15s; }
.ob_card_step.ok .txt b { color: var(--text-muted); }
.ob_card_step:not(.ok):hover .txt b { color: var(--text-primary); }
.ob_card_step .txt small { display: block; margin-top: 1px; font: 400 11px var(--font-body); color: var(--text-muted); white-space: nowrap; }
.ob_card_step.pflicht .txt small { color: var(--warning); }

.account_toggle .nav_icon.ob_warn { position: relative; }
.account_toggle .nav_icon.ob_warn::after {
	content: '!'; position: absolute; top: -3px; right: -3px; width: 15px; height: 15px; border-radius: 50%;
	display: grid; place-items: center; background: var(--warning); color: var(--surface-page);
	font: 800 10px/1 var(--font-body); box-shadow: 0 0 0 2px var(--surface-page);
}
.account_menu:has(.ob_tile) { width: 250px; }
.account_menu a.ob_tile { display: flex; flex-direction: column; align-items: stretch; gap: 6px; margin: 2px 0 6px; padding: 10px 12px; white-space: normal; height: auto; border: 1px solid var(--border-default); border-radius: var(--radius-m); background: var(--surface-raised); cursor: pointer; text-decoration: none; }
.account_menu a.ob_tile:hover { background: var(--surface-raised); }
.account_menu a.ob_tile.pflicht:hover { background: rgba(245,185,80,.12); }
.account_menu .ob_tile.pflicht { border-color: rgba(245,185,80,.55); background: rgba(245,185,80,.08); }
.account_menu .ob_tile_head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font: 600 13px var(--font-body); color: var(--text-primary); }
.account_menu .ob_tile_head b { font: 600 12px var(--font-body); color: var(--text-muted); font-variant-numeric: tabular-nums; }
.account_menu .ob_tile_bar { display: block; height: 3px; border-radius: 2px; background: var(--border-strong); overflow: hidden; }
.account_menu .ob_tile_bar i { display: block; height: 100%; background: var(--accent); }
.account_menu .ob_tile.pflicht .ob_tile_bar i { background: var(--warning); }
.account_menu .ob_tile_text { font: 400 12px/1.4 var(--font-body); color: var(--text-muted); }
.account_menu .ob_tile.pflicht .ob_tile_text { color: var(--warning); }

@media (max-width: 720px) {
	.ob_overlay { padding: 0; align-items: stretch; }
	.ob_dialog { width: 100%; height: 100%; flex-direction: column; border: none; border-radius: 0; background: var(--surface-card); }
	.ob_nav { display: none; }
	.ob_mobile { display: block; padding: calc(16px + env(safe-area-inset-top)) 16px 12px; border-bottom: 1px solid var(--border-default); }
	.ob_top { display: none; }
	.ob_mobile_row { display: flex; align-items: center; gap: 10px; font: 500 12px var(--font-body); color: var(--text-muted); }
	.ob_mobile_row img { width: 24px; height: 24px; border-radius: 6px; flex-shrink: 0; }
	.ob_mobile_row b { font: 600 15px var(--font-display); color: var(--text-primary); }
	.ob_mobile_row span { flex: 1; }
	.ob_mobile_row a { cursor: pointer; color: var(--text-muted); }
	.ob_mobile_bars { display: flex; gap: 4px; margin-top: 8px; }
	.ob_mobile_bars span { flex: 1; height: 3px; border-radius: 2px; background: var(--border-strong); }
	.ob_mobile_bars span.on { background: var(--accent); }
	.ob_head { padding: 16px 16px 0; }
	.ob_body { padding: 18px 16px 24px; }
	.ob_foot { padding: 14px 16px calc(14px + env(safe-area-inset-bottom)); }
	.ob_grid2, .ob_grid_plz { grid-template-columns: 1fr; }
	.ob_plans { grid-template-columns: 1fr; }
	.ob_grid_anschrift { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
	.ob_grid_anschrift > * { grid-column: 1 / -1; }
	.ob_grid_anschrift > .plz { grid-column: 1; }
	.ob_grid_anschrift > .ort { grid-column: 2; }
	.pill_switch a, .pill_switch i { width: 110px; }
	.pill_switch[data-value=jahr] i { left: 114px; }
	.ob_tr { grid-template-columns: minmax(0, 1fr) auto 32px; }
	.ob_tr > span:nth-child(2), .ob_tr > span:nth-child(3) { display: none; }
}

.settings-card .card-head {
	gap: 16px 32px;
}
.settings-card .card-head > .card-title {
	flex: 1 1 320px;
	min-width: 0;
}
.settings-card .card-head > .card-title > h2 {
	margin: 0;
}
.settings-card .card-head > .card-title > .hint {
	margin: 10px 0 0;
}
.settings-card .card-head > .card-title ~ * {
	flex-shrink: 0;
}
.settings-card .card-head:has(> .card-title > .hint) {
	margin-bottom: 20px;
}
.settings-card .card-head:has(> .card-title):last-child {
	margin-bottom: 0;
}
.billtemplates_block .bt_head {
	gap: 16px 32px;
}

.form .cat_pick {
	position: relative;
	display: flex;
}
.form .cat_pick .cat_pick_icon {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	color: var(--text-muted);
	pointer-events: none;
}
.form .cat_pick:focus-within .cat_pick_icon {
	color: var(--accent);
}
.form .cat_pick input.cat_pick_input {
	width: 100%;
	padding-left: 36px;
}
.form .cat_pick .cat_pick_menu {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 6px);
	z-index: 20;
	max-height: 300px;
	overflow: auto;
	padding: 6px;
	background: var(--surface-card);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	box-shadow: var(--shadow-pop);
}
.form .cat_pick .cat_hit {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	cursor: pointer;
}
.form .cat_pick .cat_hit.active {
	background: rgba(var(--accent-rgb),.08);
}
.form .cat_pick .cat_hit_nr {
	min-width: 34px;
	font: 500 11px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-muted);
}
.form .cat_pick .cat_hit_main {
	flex: 1;
	min-width: 0;
}
.form .cat_pick .cat_hit_main b,
.form .cat_pick .cat_hit_main em {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.form .cat_pick .cat_hit_main b {
	font: 500 14px var(--font-body);
	color: var(--text-primary);
}
.form .cat_pick .cat_hit_main em {
	font: 400 12px var(--font-body);
	font-style: normal;
	color: var(--text-muted);
}
.form .cat_pick .cat_hit_price {
	white-space: nowrap;
	font: 500 13px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-secondary);
}
.form .cat_pick .cat_none {
	margin: 0;
	padding: 8px 10px;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-muted);
}
.form .cat_origin {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.form .cat_origin[hidden] {
	display: none;
}
.form .cat_origin .cat_origin_icon {
	display: inline-flex;
	color: var(--accent);
}
.form .cat_origin .cat_origin_text {
	flex: 1;
	min-width: 0;
}
.form .cat_origin b {
	font-weight: 600;
	color: var(--text-secondary);
}
.form .cat_origin .cat_origin_hide {
	cursor: pointer;
	font: 500 12px var(--font-body);
	color: var(--text-muted);
}
.form .cat_origin .cat_origin_hide:hover {
	color: var(--text-primary);
}
.form li[hidden] {
	display: none;
}
.form .art_cost_add {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	cursor: pointer;
	font: 600 12px var(--font-body);
	color: var(--accent);
}
.list-view.articles .article_margin {
	color: var(--accent);
}
.list-view.articles .article_margin.negative {
	color: var(--danger);
}
#articles_card .article_empty {
	margin: 16px 0 0;
	font: var(--text-small);
	color: var(--text-muted);
}
#articles_card .article_empty[hidden] {
	display: none;
}

.bank_logo {
	--bl: 32px;
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	box-sizing: border-box;
	width: var(--bl);
	height: var(--bl);
	padding: calc(var(--bl) * .18);
	border-radius: calc(var(--bl) * .26);
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.06);
	overflow: hidden;
	vertical-align: middle;
}
.bank_logo img,
.bank_logo svg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.bank_logo.full {
	padding: 0;
}
.bank_logo.is-letter,
.bank_logo.is-cash {
	background: var(--surface-raised);
	box-shadow: inset 0 0 0 1px var(--border-strong);
	color: var(--text-secondary);
	font: 600 calc(var(--bl) * .44)/1 var(--font-display);
}
.bank_logo.is-cash {
	padding: calc(var(--bl) * .2);
}
.anchor_nav .anchor .bank_logo {
	margin-right: 2px;
}
.anchor_nav .anchor .anchor_label {
	overflow: hidden;
	text-overflow: ellipsis;
}
.ob_tr .main:has(> .bank_logo) { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ob_tr .main .ob_bank_name { min-width: 0; }
#articles_card .list-view.articles li > [data-id='nr'], #articles_card .list-legend p[data-id='nr'] { flex: 0 0 72px; width: 72px; }
#articles_card .list-view.articles li > [data-id='name'], #articles_card .list-legend p[data-id='name'] { min-width: 160px; }
#articles_card .list-view.articles li > [data-id='type'], #articles_card .list-legend p[data-id='type'] { flex: 0 0 130px; width: 130px; }
#articles_card .list-view.articles li > [data-id='unit'], #articles_card .list-legend p[data-id='unit'] { flex: 0 0 90px; width: 90px; }
#articles_card .list-view.articles li > [data-id='price'], #articles_card .list-legend p[data-id='price'] { flex: 0 0 110px; width: 110px; }
#articles_card .list-view.articles li > [data-id='cost_sum'], #articles_card .list-legend p[data-id='cost_sum'] { flex: 0 0 96px; width: 96px; }
#articles_card .list-view.articles li > [data-id='margin'], #articles_card .list-legend p[data-id='margin'] { flex: 0 0 76px; width: 76px; }

@media (min-width: 1000px) {

	#insert_box.doc_preview_modal .box {
		width: 1060px;
		height: min(90vh, 900px);
		padding: 0;
		display: flex;
		overflow: hidden;
	}
	#insert_box.doc_preview_modal .box > .box_content {
		width: 560px;
		flex-shrink: 0;
		overflow-y: auto;
		padding: 28px;
		box-sizing: border-box;
		scrollbar-width: thin;
	}
}
#insert_box.doc_preview_modal .doc_preview {
	flex: 1;
	min-width: 0;
	overflow-y: auto;
	scrollbar-width: thin;
	padding: 28px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	background: rgba(0,0,0,.18);
	border-left: 1px solid var(--border-default);
}
[data-theme="light"] #insert_box.doc_preview_modal .doc_preview {
	background: rgba(0,0,0,.04);
}
@media (max-width: 999px) {

	#insert_box.doc_preview_modal .doc_preview {
		display: none;
	}
}
.doc_preview .doc_preview_head {
	align-self: stretch;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}
.doc_preview .doc_preview_head .lbl {
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.doc_preview .doc_preview_head .name {
	font: 400 12px var(--font-body);
	color: var(--text-muted);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.doc_preview .doc_preview_pages {
	flex: 1 0 auto;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 32px;
	transition: opacity .2s;
}
.doc_preview.laedt .doc_preview_pages {
	opacity: .55;
}
.doc_preview .doc_preview_page {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}
.doc_preview .doc_preview_page img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 210 / 297;
	background: #fff;
	border-radius: 2px;
	box-shadow: 0 6px 24px rgba(0,0,0,.28);
}
.doc_preview .doc_preview_page figcaption {
	font: 500 11px var(--font-body);
	color: var(--text-muted);
}
.doc_preview .doc_preview_pdf {
	width: 100%;
	aspect-ratio: 210 / 297;
	border: 0;
}
.doc_preview .doc_preview_hint {
	margin: auto;
	transform: translateY(-17px);
	max-width: 280px;
	text-align: center;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-muted);
}

.settings-card,
.data > ul {
	--card-pad: 24px;
}
:is(.settings-card, .data > ul) :is(.list-card, .data:has(> .scrollable > .list-legend)) {
	width: auto;
	max-width: none;
	margin-left: calc(-1 * var(--card-pad));
	margin-right: calc(-1 * var(--card-pad));
	background: none;
	border: none;
	border-radius: 0;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
:is(.settings-card, .data > ul) .list-card .list-legend,
:is(.settings-card, .data > ul) .list-card .scrollable:last-child .list-view > li:last-child {
	border-radius: 0;
}
:is(.settings-card, .data > ul) .data:has(> .scrollable > .list-legend) > .options {
	padding-left: var(--card-pad);
	padding-right: var(--card-pad);
}
:is(.settings-card, .data > ul) .list-legend p.table-options,
:is(.settings-card, .data > ul) .list-view li .options {
	right: 14px;
}
:is(.settings-card, .data > ul) .list-edge.right .edge-cell {
	padding-right: 14px;
}
:is(.settings-card, .data > ul) .list-filter:not(:has(> :not([hidden]):not(.spacer))) {
	display: none;
}
:is(.settings-card, .data > ul) :is(.list-card, .data):has(+ .list-footer) .list-view > li:last-child {
	border-bottom: 1px solid var(--border-default);
}

.data .list-edge.left .edge-cell .multi-select {
	width: 15px;
	height: 15px;
}

.list-view > li > p[data-id='select'] .multi-select:disabled,
.list-edge.left .edge-cell .multi-select:disabled {
	opacity: .35;
	cursor: not-allowed;
}

.mt_kapsel {
	display: inline-block;
	margin-left: 8px;
	padding: 3px 9px;
	border-radius: 999px;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	font: 500 11px/1.2 var(--font-body);
	letter-spacing: normal;
	text-transform: none;
	color: var(--text-secondary);
	white-space: nowrap;
	vertical-align: middle;
}
.mt_kapsel.akzent {
	margin: 0 6px 0 0;
	border-color: rgba(var(--accent-rgb),.45);
	background: rgba(var(--accent-rgb),.08);
	font-weight: 600;
	color: var(--accent);
}
.mail_templates.list-view > li p[data-id="betreff"] {
	font: 400 12px var(--font-mono, ui-monospace, Menlo, monospace);
	color: var(--text-muted);
}
.mail_templates.list-view > li p[data-id="standard"] .none,
.mail_templates.list-view > li p[data-id="updated"] {
	color: var(--text-muted);
}
.mail_templates.list-view > li p[data-id="name"],
.mail_templates.list-view > li p[data-id="standard"] {
	gap: 6px;
}
.mail_templates.list-view > li .mt_kapsel {
	margin: 0;
}
.mail_templates.list-view > li p[data-id="updated"],
.list-card:has(.mail_templates) .list-legend p[data-id="updated"] {
	flex-shrink: 0;
	min-width: 116px;
	white-space: nowrap;
}
.mail_templates.list-view > li p[data-id="betreff"] {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.mail_templates.list-view > li p[data-id="name"] .mt_name {
	overflow: hidden;
	text-overflow: ellipsis;
}
.mail_templates.list-view > li p[data-id="select"] input:disabled + label {
	opacity: .35;
	cursor: not-allowed;
}

.mt_editor,
.mt_send {
	width: min(820px, 100%);
	height: min(90vh, 900px);
	display: flex;
	flex-direction: column;
	background: var(--modal-bg);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-l);
	box-shadow: var(--shadow-pop);
	overflow: hidden;
	color: var(--text-primary);
	animation: bc-pop-in .25s cubic-bezier(.3,.9,.35,1.1) both;
}
.mt_send {
	width: min(720px, 100%);
	height: auto;
	max-height: 90vh;
}
.mt_kopf {
	padding: 28px 28px 18px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.mt_kopf h2 .mt_kapsel {
	margin-left: 0;
}
.mt_felder {
	display: grid;
	grid-template-columns: minmax(0,1fr) minmax(0,1fr);
	gap: 14px;
	align-items: start;
}
.mt_feld {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	margin: 0;
	text-transform: none;
	letter-spacing: normal;
}
.mt_feld.voll {
	grid-column: 1 / -1;
}
.mt_label_zeile {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}
.mt_akzent_links {
	display: inline-flex;
	gap: 12px;
}
.mt_akzent_links a {
	font: 500 12px var(--font-body);
	color: var(--accent);
	cursor: pointer;
}
.mt_akzent_links a.mt_akzent_vorgabe {
	color: var(--text-muted);
}
.mt_akzent_links a[hidden] {
	display: none;
}
.mt_akzent_hinweis {
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
.mt_akzent_hinweis.warn {
	color: var(--warning);
}
.mt_label {
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.mt_feld input[type="text"] {
	width: 100%;
	box-sizing: border-box;
	height: 40px;
}
.mt_feld .multiselect {
	width: 100%;
}
.mt_inhalt {
	flex: 1;
	min-height: 0;
	padding: 0 28px 20px;
	display: flex;
	flex-direction: column;
}
.mt_wysiwyg {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
}
.mt_wysiwyg:focus-within {
	border-color: var(--border-strong);
	box-shadow: none;
}
.mt_wysiwyg .editor_toolbar {
	overflow: visible;
}
.mt_flaeche {
	position: relative;
	flex: 1;
	min-height: 0;
	display: flex;
	justify-content: center;
	overflow: hidden;
	border-radius: 0 0 var(--radius-m) var(--radius-m);
	background: rgba(0,0,0,.18);
}
.mt_speichern:disabled {
	opacity: .45;
	cursor: default;
	box-shadow: none;
	background: transparent;
}
.mt_flaeche[hidden],
.mt_quelle[hidden] {
	display: none;
}
.mt_frame {
	display: block;
	width: 100%;
	height: 100%;
	border: none;
	background: #fff;
}
.mt_quelle {
	flex: 1;
	min-height: 0;
	resize: none;
	box-sizing: border-box;
	padding: 12px 14px;
	border: none;
	border-radius: 0 0 var(--radius-m) var(--radius-m);
	outline: none;
	background: rgba(0,0,0,.25);
	color: var(--text-primary);
	font: 400 12.5px/1.6 var(--font-mono, ui-monospace, Menlo, monospace);
	white-space: pre;
	overflow: auto;
}
.mt_wysiwyg.html_mode .editor_btn:not([data-mt="code"]),
.mt_wysiwyg.html_mode .mt_drop {
	opacity: .35;
	pointer-events: none;
}
.mt_farbe {
	position: relative;
	margin: 0;
	text-transform: none;
	letter-spacing: normal;
}
.mt_farbe_a {
	font: 700 14px/1 var(--font-body);
	padding-bottom: 1px;
	border-bottom: 3px solid var(--accent);
}
.mt_farbe_wahl {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
	border: none;
	padding: 0;
}
.mt_drop {
	position: relative;
	display: inline-flex;
	margin-right: 6px;
}
.mt_drop_knopf {
	height: 32px;
	padding: 0 11px;
	gap: 7px;
	border-radius: var(--radius-s);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-secondary);
	font: 600 12px var(--font-body);
}
.mt_drop_knopf:hover {
	box-shadow: none;
}
.mt_drop.open .mt_drop_knopf {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.08);
	color: var(--accent);
}
.mt_drop_menu {
	display: none;
	position: absolute;
	left: 0;
	top: calc(100% + 6px);
	z-index: 60;
	width: 310px;
	max-height: 380px;
	overflow: auto;
	box-sizing: border-box;
	padding: 6px;
	border-radius: var(--radius-m);
	background: var(--surface-card);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	animation: bc-fade-in .12s ease both;
}
.mt_drop.rechts .mt_drop_menu {
	left: auto;
	right: 0;
	width: 330px;
}
.mt_drop.open .mt_drop_menu {
	display: block;
}
.mt_platzhalter a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 8px;
	border-radius: var(--radius-s);
	cursor: pointer;
	text-decoration: none;
}
.mt_platzhalter a:hover {
	background: rgba(var(--accent-rgb),.07);
	text-decoration: none;
}
.mt_platzhalter a .txt {
	flex: 1;
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
}
.mt_platzhalter a code {
	font: 400 11px var(--font-mono, ui-monospace, Menlo, monospace);
	color: var(--text-muted);
	background: none;
	padding: 0;
}
.mt_drop_titel {
	padding: 4px 6px;
	font: 600 11px var(--font-body);
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.mt_medien_upload {
	padding: 4px 4px 8px;
}
.mt_upload {
	width: 100%;
	height: 40px;
	padding: 0 12px;
	gap: 6px;
	border-radius: var(--radius-s);
	border: 1px dashed var(--accent);
	background: rgba(var(--accent-rgb),.05);
	color: var(--accent);
	font: 600 12px var(--font-body);
}
.mt_upload:hover {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.1);
	color: var(--accent);
	box-shadow: none;
}
.mt_upload_fehler {
	margin: 8px 2px 0;
	font: 500 12px/1.4 var(--font-body);
	color: var(--danger);
}
.mt_upload_fehler[hidden] {
	display: none;
}
.mt_leer {
	display: block;
	margin: 6px 6px 10px;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.mt_medium {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 6px;
	border-radius: var(--radius-s);
	cursor: pointer;
}
.mt_medium:hover {
	background: rgba(var(--accent-rgb),.07);
}
.mt_medium.aktiv {
	box-shadow: inset 0 0 0 1px var(--accent);
}
.mt_medium_bild {
	width: 44px;
	height: 36px;
	flex-shrink: 0;
	display: grid;
	place-items: center;
	overflow: hidden;
	border-radius: 6px;
	background: #F4F4F1;
	border: 1px solid var(--border-default);
}
.mt_medium_bild img {
	max-width: 38px;
	max-height: 30px;
	object-fit: contain;
}
.mt_medium_text {
	flex: 1;
	min-width: 0;
}
.mt_medium_name,
.mt_medium_info {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.mt_medium_name {
	font: 500 13px var(--font-body);
	color: var(--text-primary);
}
.mt_medium_info {
	font: 400 11px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-muted);
}
.mt_medium_weg {
	width: 28px;
	height: 28px;
	padding: 0;
	flex-shrink: 0;
	border: none;
	border-radius: var(--radius-s);
	color: var(--text-muted);
}
.mt_medium_weg:hover {
	color: var(--danger);
	box-shadow: none;
}
.mt_medium_frage {
	margin: 2px 0;
	padding: 10px;
	border-radius: var(--radius-s);
	background: rgba(255,69,58,.08);
	border: 1px solid rgba(255,69,58,.35);
}
.mt_frage_titel {
	margin-bottom: 4px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font: 600 13px var(--font-body);
	color: var(--text-primary);
}
.mt_frage_text {
	margin-bottom: 10px;
	font: 400 12px/1.45 var(--font-body);
	color: var(--text-muted);
}
.mt_frage_knoepfe {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
}
.mt_frage_knoepfe button {
	height: 28px;
	padding: 0 10px;
	border-radius: var(--radius-s);
	font: 600 12px var(--font-body);
}
.mt_frage_ja {
	border-color: var(--danger);
	color: var(--danger);
}
.mt_frage_ja:hover {
	border-color: var(--danger);
	color: var(--danger);
	box-shadow: 0 0 12px rgba(242,109,109,.3);
}
.mt_bildleiste {
	position: absolute;
	z-index: 40;
	box-sizing: border-box;
	max-width: calc(100% - 16px);
	background: var(--surface-card);
	border: 1px solid var(--accent);
	border-radius: var(--radius-m);
	box-shadow: var(--glow-border);
	animation: bc-fade-in .12s ease both;
}
.mt_bildleiste.offen {
	width: 336px;
}
.mt_bild_knoepfe {
	display: flex;
	align-items: center;
	gap: 2px;
	padding: 4px;
}
.mt_bild_knoepfe button {
	height: 30px;
	padding: 0 10px;
	gap: 6px;
	border: none;
	border-radius: var(--radius-s);
	color: var(--text-secondary);
	font: 600 12px var(--font-body);
}
.mt_bild_knoepfe button:hover {
	box-shadow: none;
	background: var(--ink-800);
}
.mt_bild_knoepfe button.on {
	background: rgba(var(--accent-rgb),.10);
	color: var(--accent);
}
.mt_bild_knoepfe .mt_bild_loeschen {
	color: var(--danger);
}
.mt_bild_knoepfe .mt_bild_loeschen:hover {
	color: var(--danger);
}
.mt_bild_sep {
	width: 1px;
	height: 18px;
	margin: 0 4px;
	background: var(--border-strong);
}
.mt_bild_panel {
	padding: 8px;
	border-top: 1px solid var(--border-default);
}
.mt_bild_panel .mt_drop_titel {
	padding: 12px 4px 4px;
}
.mt_medienliste {
	max-height: 220px;
	overflow-y: auto;
}
.mt_alt_panel {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.mt_alt_panel input[type="text"] {
	height: 34px;
}
.mt_hinweis {
	font: 400 11px/1.4 var(--font-body);
	color: var(--text-muted);
}
.mt_alt_ok {
	align-self: flex-end;
	height: 30px;
	padding: 0 12px;
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.08);
	color: var(--accent);
	font: 600 12px var(--font-body);
	border-radius: var(--radius-s);
}

.mt_send_inhalt {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 0 28px 22px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.mt_send .mt_kopf {
	padding-bottom: 14px;
}
.mt_send .select {
	width: 100%;
}
.mt_nachricht_kopf {
	display: flex;
	align-items: center;
	gap: 10px;
}
.mt_nachricht_kopf .mt_label {
	flex: 1;
}
.mt_angepasst {
	font: 500 12px var(--font-body);
	color: var(--text-muted);
}
.mt_angepasst[hidden] {
	display: none;
}
.mt_angepasst a {
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
}
.mt_send .mt_send_editor {
	flex: none;
	height: 400px;
}
.mt_send_info {
	font: 400 12px/1.45 var(--font-body);
	color: var(--text-muted);
}
.mt_an_wrap {
	position: relative;
	display: block;
}
.mt_send .mt_an_wrap .mt_an {
	padding-right: 36px;
}
.mt_an_pfeil {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	display: grid;
	color: var(--text-muted);
	cursor: pointer;
}
.mt_an_menu {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 6px);
	z-index: 60;
	max-height: 260px;
	overflow-y: auto;
	padding: 6px;
	background: var(--surface-card);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	box-shadow: var(--shadow-pop);
}
.mt_an_menu[hidden] {
	display: none;
}
.mt_send .mt_an_menu .mt_an_wahl {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	height: auto;
	min-width: 0;
	box-sizing: border-box;
	font: inherit;
	gap: 2px;
	width: 100%;
	padding: 8px 10px;
	border: none;
	border-radius: var(--radius-s);
	background: transparent;
	text-align: left;
	cursor: pointer;
}
.mt_send .mt_an_menu .mt_an_wahl:hover {
	background: rgba(var(--accent-rgb),.05);
}
.mt_send .mt_an_menu .mt_an_wahl.on {
	background: rgba(var(--accent-rgb),.08);
}
.mt_an_name {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
	gap: 8px;
	font: 500 13px var(--font-body);
	color: var(--text-primary);
}
.mt_an_name .mt_kapsel {
	margin: 0;
}
.mt_an_zeile {
	display: block;
	max-width: 100%;
	text-align: left;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.mt_an_hinweis {
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
.mt_an_hinweis[hidden] {
	display: none;
}
.mt_an_hinweis.warnung {
	color: var(--warning);
}
.mt_an_hinweis a {
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
}
.mt_kontakt_edit {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 12px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.mt_kontakt_edit[hidden] {
	display: none;
}
.mt_ke_zeile {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.mt_ke_pillen {
	display: inline-flex;
	gap: 4px;
}
.mt_ke_pillen a {
	height: 32px;
	padding: 0 12px;
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	border: 1px solid var(--border-strong);
	color: var(--text-secondary);
	font: 600 12px var(--font-body);
	cursor: pointer;
	text-decoration: none;
	user-select: none;
}
.mt_ke_pillen a.on {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.08);
	color: var(--accent);
}
.mt_send .mt_kontakt_edit .mt_ke_titel {
	width: 130px;
	height: 32px;
}
.mt_ke_fuss {
	display: flex;
	align-items: center;
	gap: 10px;
}
.mt_ke_vorschau {
	flex: 1;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.mt_anhaenge {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.mt_check {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	cursor: pointer;
	text-transform: none;
	letter-spacing: normal;
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
}
.mt_check input {
	width: 15px;
	height: 15px;
	accent-color: var(--accent);
}
.mt_send_fehler {
	margin: 0;
	font: 500 13px/1.4 var(--font-body);
	color: var(--danger);
}
.mt_send_fehler[hidden] {
	display: none;
}
.mt_send_hinweis {
	flex: 1;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}

@media (max-width: 770px) {
	.mt_overlay {
		padding: 0;
	}
	.mt_editor,
	.mt_send {
		width: 100%;
		height: 100%;
		max-height: none;
		border: none;
		border-radius: 0;
	}
	.mt_kopf {
		padding: calc(14px + env(safe-area-inset-top)) 16px 14px;
	}
	.mt_felder {
		grid-template-columns: minmax(0,1fr);
	}
	.mt_inhalt {
		min-height: 520px;
		padding: 0 16px 16px;
	}
	.mt_editor {
		overflow-y: auto;
	}
	.mt_send_inhalt {
		padding: 0 16px 16px;
	}
	.mt_editor .bt_fuss,
	.mt_send .bt_fuss {
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
	}
	.mt_send_hinweis {
		display: none;
	}
}
[data-theme="light"] .mt_quelle {
	background: var(--surface-raised);
}

.mt_platzhalter .mt_drop_titel {
	margin-top: 6px;
}
.mt_platzhalter a.haupt .txt {
	font-weight: 600;
	color: var(--text-primary);
}

.er {
	container-type: inline-size;
	display: flex;
	flex-direction: column;
	gap: 22px;
	min-width: 0;
	color: var(--text-primary);
}
.er_stand {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 20px;
	border-radius: var(--radius-m);
	--er-farbe: var(--accent);
	border: 1px solid color-mix(in srgb, var(--er-farbe) 45%, transparent);
	background: color-mix(in srgb, var(--er-farbe) 9%, transparent);
}
.er_stand.hinweis {
	--er-farbe: var(--warning);
}
.er_stand.fehler {
	--er-farbe: var(--danger);
}
.er_stand.keine {
	--er-farbe: var(--text-muted);
}
.er_stand svg {
	flex-shrink: 0;
	color: var(--er-farbe);
}
.er_stand strong {
	display: block;
	font: 600 20px/1.25 var(--font-display);
	letter-spacing: -.01em;
}
.er_stand p {
	margin: 3px 0 0;
	font: 400 14px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.er_kopf {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 28px;
}
@container (max-width: 559px) {
	.er_kopf {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}
}
.er_kopf span,
.er_titel {
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.er_titel {
	margin: 0 0 2px;
	font-weight: 600;
}
.er_kopf strong {
	display: block;
	margin-top: 2px;
	font: 500 14px/1.4 var(--font-body);
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}
.er_schritt {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	--er-farbe: var(--accent);
	color: var(--er-farbe);
}
.er_schritt + .er_schritt {
	border-top: 1px solid var(--border-default);
}
.er_schritt svg {
	flex-shrink: 0;
}
.er_schritt.hinweis {
	--er-farbe: var(--warning);
}
.er_schritt.fehler {
	--er-farbe: var(--danger);
}
.er_schritt.aus {
	--er-farbe: var(--text-muted);
}
.er_schritt .name {
	flex: 1;
	min-width: 0;
}
.er_schritt b {
	display: block;
	font: 600 14px var(--font-body);
	color: var(--text-primary);
}
.er_schritt.aus b {
	color: var(--text-muted);
}
.er_schritt small {
	display: block;
	margin-top: 1px;
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
.er_schritt em {
	font: 500 12px var(--font-body);
	white-space: nowrap;
}
.er_meldung {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	align-items: start;
	gap: 6px 16px;
	padding: 12px 0;
	--er-farbe: var(--danger);
}
.er_meldung.hinweis {
	--er-farbe: var(--warning);
}
.er_meldung + .er_meldung {
	border-top: 1px solid var(--border-default);
}
.er_meldung code {
	justify-self: start;
	max-width: 100%;
	overflow-wrap: anywhere;
	margin-top: 1px;
	padding: 2px 7px;
	border-radius: var(--radius-s);
	background: color-mix(in srgb, var(--er-farbe) 12%, transparent);
	color: var(--er-farbe);
	font: 600 11px/1.5 var(--font-mono, ui-monospace, monospace);
}
.er_meldung .inhalt {
	min-width: 0;
}
@media (max-width: 560px) {
	.er_meldung {
		grid-template-columns: minmax(0, 1fr);
	}
}
.er_meldung p {
	margin: 0;
	font: 500 14px/1.45 var(--font-body);
}
.er_meldung small {
	display: block;
	margin-top: 2px;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-muted);
}
.er_betrifft {
	margin-top: 4px;
	font-weight: 500;
	color: var(--text-secondary);
}
.er_ursachen {
	font: 400 14px/1.6 var(--font-body);
	color: var(--text-secondary);
}
.er_ursachen p {
	margin: 0 0 6px;
}
.er_ursachen ul {
	margin: 0;
	padding-left: 18px;
}
.er_notiz {
	margin: -6px 0 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.er_knoepfe {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.er_knopf {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 40px;
	padding: 0 16px;
	box-sizing: border-box;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: transparent;
	box-shadow: none;
	color: var(--text-secondary);
	font: 600 14px var(--font-body);
	white-space: nowrap;
	cursor: pointer;
	transition: background .15s, border-color .15s;
}
.er_knopf:hover {
	background: color-mix(in srgb, var(--text-primary) 8%, transparent);
}
.er_knopf.haupt {
	border-color: var(--accent);
	color: var(--accent);
}
.er_knopf.haupt:hover {
	background: color-mix(in srgb, var(--accent) 8%, transparent);
}
.er_knopf.gefahr {
	border-color: var(--danger);
	color: var(--danger);
}
.er_knopf.gefahr:hover {
	background: color-mix(in srgb, var(--danger) 8%, transparent);
}
.er_laedt {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.er_laedt strong {
	font: 600 15px var(--font-body);
	overflow-wrap: anywhere;
}
.er_laedt .balken {
	height: 4px;
	border-radius: 2px;
	background: var(--border-default);
	overflow: hidden;
}
.er_laedt .balken i {
	display: block;
	height: 100%;
	background: var(--accent);
	transition: width .3s;
}
.er_laedt [role='status'] {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.er_laedt span {
	display: flex;
	align-items: center;
	gap: 8px;
	font: 400 13px var(--font-body);
	color: var(--text-muted);
	opacity: .55;
}
.er_laedt span.an {
	color: var(--text-secondary);
	opacity: 1;
}
.er_laedt span b {
	width: 14px;
	display: grid;
	place-items: center;
	color: var(--accent);
}
.er_laedt span b i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--accent);
	animation: er-puls 1s ease-in-out infinite;
}
@keyframes er-puls {
	0%, 100% {
		opacity: .35;
	}
	50% {
		opacity: 1;
	}
}
.er_mark {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 500 13px var(--font-body);
	white-space: nowrap;
	color: var(--accent);
	cursor: pointer;
}
.er_leer {
	color: var(--text-muted);
}
.er_mark.hinweis {
	color: var(--warning);
}
.er_mark.fehler {
	color: var(--danger);
}
.er_overlay {
	position: fixed;
	inset: 0;
	z-index: 1600;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: var(--overlay-bg);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.er_dialog {
	width: 720px;
	max-width: 100%;
	max-height: 90vh;
	display: flex;
	flex-direction: column;
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-l);
	box-shadow: var(--shadow-pop);
	overflow: hidden;
}
.er_dialog header {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 24px 28px 18px;
	border-bottom: 1px solid var(--border-default);
}
.er_dialog header > div {
	flex: 1;
	min-width: 0;
}
.er_dialog h2 {
	margin: 0;
	font: 600 19px var(--font-display);
	letter-spacing: -.01em;
	color: var(--text-primary);
}
.er_dialog header p {
	margin: 4px 0 0;
	font: var(--text-small);
	color: var(--text-muted);
}
.er_zu {
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	color: var(--text-muted);
}
.er_inhalt {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 22px 28px;
	scrollbar-width: none;
}
.er_dialog footer {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	padding: 14px 28px;
	border-top: 1px solid var(--border-default);
}
.er_knopf:disabled {
	opacity: .5;
	cursor: default;
}
.er_gesperrt {
	margin: 14px 0 0;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
}
@media (max-width: 719px) {
	.er_overlay {
		align-items: stretch;
		padding: 0;
	}
	.er_dialog {
		width: 100%;
		max-height: 100%;
		border: none;
		border-radius: 0;
	}
	.er_dialog header {
		padding: calc(14px + env(safe-area-inset-top)) 16px 14px;
	}
	.er_inhalt {
		padding: 16px;
	}
	.er_dialog footer {
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
	}
}
.er_erstellen {
	margin-top: 22px;
	padding: 14px 16px;
	border-radius: var(--radius-m);
	border: 1px solid color-mix(in srgb, var(--danger) 50%, transparent);
	background: color-mix(in srgb, var(--danger) 8%, transparent);
}
.er_erstellen .kopf {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.er_erstellen .kopf svg {
	flex-shrink: 0;
	margin-top: 1px;
	color: var(--danger);
}
.er_erstellen strong {
	font: 600 14px var(--font-body);
	color: var(--text-primary);
}
.er_erstellen p {
	margin: 2px 0 0;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.er_erstellen ul {
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
	font: 400 13px/1.45 var(--font-body);
	color: var(--text-secondary);
}
.er_details {
	display: inline-block;
	margin-top: 6px;
	font: 600 13px var(--font-body);
	cursor: pointer;
}
.er_erstellen .er_knopf {
	width: auto;
	margin: 0;
}
.er_erstellen .knoepfe {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 12px;
}
.er_senden {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 18px;
	padding: 12px 14px;
	border-radius: var(--radius-m);
	border: 1px solid color-mix(in srgb, var(--danger) 50%, transparent);
	background: color-mix(in srgb, var(--danger) 8%, transparent);
}
.er_senden svg {
	flex-shrink: 0;
	margin-top: 1px;
	color: var(--danger);
}
.er_senden strong {
	font: 600 14px var(--font-body);
	color: var(--text-primary);
}
.er_senden p {
	margin: 2px 0 0;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.er_senden_details {
	display: inline-block;
	margin-top: 4px;
	font: 600 13px var(--font-body);
	cursor: pointer;
}
body.bt_offen .er_dialog {
	background: var(--surface-card);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
:root {
	--licht-flaeche: rgba(0,208,155,.06);
	--licht-rand: rgba(0,208,155,.55);
}
[data-theme="light"] {
	--licht-flaeche: rgba(0,208,155,.09);
	--licht-rand: rgba(0,168,125,.6);
}
.licht_pos {
	position: relative;
}
.licht:not(.licht_kind)::before,
.licht:not(.licht_kind)::after,
.licht_ebenen::before,
.licht_ebenen::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: var(--lr, 0);
	pointer-events: none;
	opacity: var(--licht, 0);
	transition: opacity .4s;
}
.licht:not(.licht_kind)::before,
.licht_ebenen::before {
	background: radial-gradient(480px circle at var(--lx, -999px) var(--ly, -999px), var(--licht-flaeche), transparent 70%);
}
.licht:not(.licht_kind)::after,
.licht_ebenen::after {
	box-sizing: border-box;
	padding: 1px;
	background: radial-gradient(320px circle at var(--lx, -999px) var(--ly, -999px), var(--licht-rand), transparent 70%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
.licht_ebenen {
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: var(--lr, 0);
	pointer-events: none;
}
.logo .app_icon {
	isolation: isolate;
}
.logo .app_icon > .licht_ebenen {
	z-index: 1;
}
@media (max-width: 770px) {
	body:not(.static) aside.nav .licht_ebenen {
		display: none;
	}
}
@media (hover: none) {
	.licht::before,
	.licht::after,
	.licht_ebenen {
		display: none;
	}
}

.addresses p[data-id='customer_number'],
.suppliers p[data-id='supplier_number'] {
	font: 400 12px var(--font-mono);
	color: var(--text-secondary);
}

#insert_box .form input.mono {
	font-family: var(--font-mono);
	font-size: 13px;
}

#insert_box .form li.invalid input {
	border-color: var(--danger);
	box-shadow: 0 0 0 3px rgba(242,109,109,.12);
}
#insert_box .nr_taken {
	display: block;
	margin-top: 4px;
	font: 400 12px/1.4 var(--font-body);
	color: var(--danger);
}
#insert_box .nr_taken a {
	color: var(--danger);
	text-decoration: underline;
	cursor: pointer;
}
#insert_box .button.good.disabled {
	opacity: .45;
	pointer-events: none;
}
#insert_box .insert_box_error {
	margin: 12px 0 0;
	font: 400 13px/1.4 var(--font-body);
	color: var(--danger);
}

#insert_box .dlg_head h2 .con_nr {
	display: inline-flex;
	align-items: center;
	height: 22px;
	margin-left: 10px;
	padding: 0 10px;
	vertical-align: middle;
	border: 1px solid var(--border-strong);
	border-radius: 999px;
	font: 500 12px var(--font-mono);
	letter-spacing: 0;
	color: var(--text-secondary);
	cursor: pointer;
	transition: color .15s, border-color .15s;
}
#insert_box .dlg_head h2 .con_nr:hover {
	border-color: var(--text-muted);
	color: var(--text-primary);
}
#insert_box .dlg_head h2 .con_nr.copied {
	border-color: var(--accent);
	color: var(--accent);
}

body > .cell_suggest .hit .nr,
#pipeline_box .ncb_hits .nr ,
#conv_box .ncb_hits .nr {
	margin-left: 8px;
	font: 400 12px var(--font-mono);
	color: var(--text-muted);
}

.company_pick {
	position: relative;
}
.company_pick input {
	width: 100%;
	box-sizing: border-box;
}
.company_pick .cp_hits {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 4px);
	z-index: 60;
	max-height: 280px;
	overflow-y: auto;
	padding: 4px;
	background: var(--popover-bg, var(--surface-card));
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	box-shadow: var(--shadow-pop);
}
.company_pick .cp_hits .none {
	padding: 8px 10px;
	font: 400 13px var(--font-body);
	color: var(--text-muted);
}
.company_pick .cp_hit {
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 7px 10px;
	border-radius: var(--radius-s);
	cursor: pointer;
}
.company_pick .cp_hit.on,
.company_pick .cp_hit:hover {
	background: rgba(var(--accent-rgb),.08);
}
.company_pick .cp_hit .n {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font: 500 13px var(--font-body);
	color: var(--text-primary);
}
.company_pick .cp_hit .o {
	margin-left: 6px;
	font-weight: 400;
	color: var(--text-muted);
}
.company_pick .cp_hit .nr {
	flex-shrink: 0;
	font: 400 12px var(--font-mono);
	color: var(--text-muted);
}

#pipeline_box .new_line ,
#conv_box .new_line {
	margin: 4px 6px;
	border: 0;
	border-top: 1px solid var(--border-default);
}
#pipeline_box .new_contact_row ,
#conv_box .new_contact_row {
	display: block;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	font: 500 13px var(--font-body);
	color: var(--accent);
	cursor: pointer;
}
#pipeline_box .new_contact_row:hover ,
#conv_box .new_contact_row:hover {
	background: rgba(var(--accent-rgb),.08);
}
#pipeline_box .new_contact_box ,
#conv_box .new_contact_box {
	margin-bottom: 18px;
	padding: 16px;
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
}
#pipeline_box .new_contact_box[hidden],
#conv_box .new_contact_box[hidden],
#pipeline_box .contact_search[hidden] ,
#conv_box .contact_search[hidden] {
	display: none;
}
#pipeline_box .ncb_head ,
#conv_box .ncb_head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 12px;
}
#pipeline_box .ncb_head b ,
#conv_box .ncb_head b {
	font: 600 14px var(--font-body);
	color: var(--text-primary);
}
#pipeline_box .ncb_back ,
#conv_box .ncb_back {
	font: 500 13px var(--font-body);
	color: var(--accent);
	cursor: pointer;
}
#pipeline_box .ncb_grid ,
#conv_box .ncb_grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 12px 14px;
}
#pipeline_box .ncb_grid label ,
#conv_box .ncb_grid label {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
}
#pipeline_box .ncb_grid label > span:first-child ,
#conv_box .ncb_grid label > span:first-child {
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#pipeline_box .ncb_grid input ,
#conv_box .ncb_grid input {
	width: 100%;
	box-sizing: border-box;
}
#pipeline_box .ncb_hits ,
#conv_box .ncb_hits {
	position: absolute;
	left: 0;
	right: 0;
	top: 64px;
	z-index: 60;
	display: flex;
	flex-direction: column;
	padding: 4px;
	background: var(--popover-bg, var(--surface-card));
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	box-shadow: var(--shadow-pop);
}
#pipeline_box .ncb_hits[hidden] ,
#conv_box .ncb_hits[hidden] {
	display: none;
}
#pipeline_box .ncb_hits a ,
#conv_box .ncb_hits a {
	padding: 7px 10px;
	border-radius: var(--radius-s);
	font: 500 13px var(--font-body);
	color: var(--text-primary);
	cursor: pointer;
}
#pipeline_box .ncb_hits a:hover ,
#conv_box .ncb_hits a:hover {
	background: rgba(var(--accent-rgb),.08);
}
#pipeline_box .ncb_new_hint ,
#conv_box .ncb_new_hint {
	font: 400 12px/1.4 var(--font-body);
	letter-spacing: 0;
	text-transform: none;
	color: var(--text-muted);
}
#pipeline_box .ncb_new_hint[hidden] ,
#conv_box .ncb_new_hint[hidden] {
	display: none;
}
@media (max-width: 560px) {
	#pipeline_box .ncb_grid ,
#conv_box .ncb_grid {
		grid-template-columns: minmax(0,1fr);
	}
}

#insert_box .tabs .nav li[data-count]:after {
	content: attr(data-count);
	margin-left: 6px;
	font: 500 12px var(--font-body);
	color: var(--text-muted);
}
#insert_box .company_contacts .cc_selected {
	font: 500 13px var(--font-body);
	color: var(--text-muted);
}
#insert_box .company_contacts .firms_head a.danger {
	color: var(--danger);
}
#insert_box .company_contacts .cc_row {
	cursor: pointer;
}
#insert_box .company_contacts .cc_search {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
#insert_box .company_contacts .cc_search input {
	width: 100%;
	box-sizing: border-box;
}
#insert_box .company_contacts .cc_hits {
	display: flex;
	flex-direction: column;
	max-height: 260px;
	overflow-y: auto;
	padding: 4px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
#insert_box .company_contacts .cc_hit {
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 7px 10px;
	border-radius: var(--radius-s);
	cursor: pointer;
}
#insert_box .company_contacts .cc_hit:hover {
	background: rgba(var(--accent-rgb),.08);
}
#insert_box .company_contacts .cc_hit .n {
	flex: 1;
	min-width: 0;
	font: 500 13px var(--font-body);
	color: var(--text-primary);
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
#insert_box .company_contacts .cc_hit .c {
	flex-shrink: 0;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
#insert_box .company_contacts .cc_line {
	margin: 4px 6px;
	border: 0;
	border-top: 1px solid var(--border-default);
}
#insert_box .company_contacts .cc_new_row {
	display: block;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	font: 500 13px var(--font-body);
	color: var(--accent);
	cursor: pointer;
}
#insert_box .company_contacts .cc_new_row:hover {
	background: rgba(var(--accent-rgb),.08);
}
#insert_box .company_contacts .cc_new {
	padding: 16px;
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
}
#insert_box .company_contacts .cc_new_grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 12px 14px;
}
#insert_box .company_contacts .cc_new_grid label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
}
#insert_box .company_contacts .cc_new_grid label.wide {
	grid-column: 1 / -1;
}
#insert_box .company_contacts .cc_new_grid label > span {
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#insert_box .company_contacts .cc_new_grid input {
	width: 100%;
	box-sizing: border-box;
}
#insert_box .company_contacts .cc_error {
	margin: 10px 0 0;
	font: 400 12px/1.4 var(--font-body);
	color: var(--danger);
}
#insert_box .company_contacts .cc_error[hidden] {
	display: none;
}
#insert_box .company_contacts .cc_new_foot {
	display: flex;
	justify-content: flex-end;
	margin-top: 12px;
}
@media (max-width: 560px) {
	#insert_box .company_contacts .cc_new_grid {
		grid-template-columns: minmax(0,1fr);
	}
}

#insert_box .inv_switch {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 4px 0 14px;
	cursor: pointer;
	text-decoration: none;
}
#insert_box .inv_switch .txt {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1;
	min-width: 0;
}
#insert_box .inv_switch b {
	font: 600 14px var(--font-body);
	color: var(--text-primary);
}
#insert_box .inv_switch small {
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-muted);
}
#insert_box .inv_switch.on .cal_toggle_track {
	background: var(--accent);
}
#insert_box .inv_switch.on .cal_toggle_knob {
	left: 16px;
	background: var(--on-accent);
}
#insert_box #address_sepa .inv_hidden,
#insert_box #address_sepa.sepa_off .form > li,
#insert_box #address_sepa.sepa_off > .moderate {
	display: none;
}
#insert_box .inv_numbers {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--border-default);
}
#insert_box .inv_numbers_box[hidden] {
	display: none;
}
#insert_box .inv_numbers_box #numberranges {
	margin: 0;
	padding: 0;
	border: 0;
}
#insert_box .inv_numbers_hint {
	margin: 10px 0 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}

.cal_dots {
	display: none;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	border-radius: var(--radius-s);
	background: rgba(0,0,0,.2);
	color: var(--cal);
	cursor: pointer;
}
.cal_block .cal_dots {
	position: absolute;
	top: 3px;
	right: 3px;
}
.cal_block.short .cal_dots {
	position: static;
	width: 18px;
	height: 16px;
}
.cal_block:hover .cal_dots,
.cal_block.cal_menu_open .cal_dots,
.cal_month_ev:hover .cal_dots,
.cal_month_ev.cal_menu_open .cal_dots {
	display: inline-flex;
}
.cal_block:not(.short):hover .cal_block_head,
.cal_block.cal_menu_open:not(.short) .cal_block_head {
	padding-right: 22px;
}
.cal_block.cal_menu_open,
.cal_allday_block.cal_menu_open {
	filter: brightness(1.25);
}
.cal_month_ev {
	min-height: 20px;
	box-sizing: border-box;
}
.cal_month_ev .cal_dots {
	margin-left: auto;
	width: 18px;
	height: 16px;
}
.cal_month_ev.cal_menu_open {
	background: color-mix(in srgb, var(--cal) 18%, transparent);
}

.cal_block_lock {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 3px;
	font: 500 11px/1.3 var(--font-body);
	color: var(--text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cal_block_lock svg {
	flex-shrink: 0;
}
.cal_month_lock {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	margin-left: auto;
	flex-shrink: 0;
	font: 500 10px var(--font-body);
	color: var(--text-muted);
}
.cal_month_lock + .cal_dots {
	margin-left: 4px;
}

.cal_block.cal_blocker,
.cal_allday_block.cal_blocker,
.cal_month_ev.cal_blocker {
	background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--cal) 28%, transparent) 0 5px, color-mix(in srgb, var(--cal) 8%, transparent) 5px 10px);
	color: var(--cal);
}
.cal_block.cal_blocker {
	display: flex;
	align-items: flex-start;
	padding-top: 5px;
}

.cal_menu {
	position: fixed;
	z-index: 300;
	width: 300px;
	box-sizing: border-box;
	padding: 6px;
	background: var(--surface-card);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	box-shadow: var(--shadow-pop);
}
.cal_menu_item {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 34px;
	padding: 0 10px;
	border-radius: var(--radius-s);
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
	text-decoration: none;
}
.cal_menu_item:hover {
	background: var(--surface-raised);
	color: var(--text-primary);
	text-decoration: none;
}
.cal_menu_item.danger,
.cal_menu_item.danger:hover {
	color: var(--danger);
}
.cal_menu hr {
	margin: 4px 6px;
	border: 0;
	border-top: 1px solid var(--border-default);
}

.cal_flash {
	position: fixed;
	z-index: 300;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 26px;
	padding: 0 10px;
	border-radius: 999px;
	background: var(--surface-card);
	border: 1px solid var(--border-strong);
	box-shadow: var(--shadow-pop);
	font: 500 12px var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	opacity: 0;
	transform: translateY(-4px);
	transition: opacity .2s, transform .2s;
	pointer-events: none;
}
.cal_flash svg {
	color: var(--accent);
}
.cal_flash.show {
	opacity: 1;
	transform: none;
}

.cal_modal.cal_block_modal .box,
.cal_modal.cal_confirm_modal .box {
	width: 460px;
}
.cal_blockdlg {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.cal_blockdlg_sub {
	margin: -8px 0 0;
	font: var(--text-small);
	color: var(--text-muted);
}
.cal_blockdlg_all,
.cal_blockdlg .cal_bd_row {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	margin: 0;
	text-transform: none;
	letter-spacing: 0;
}
.cal_blockdlg_all {
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
}
.cal_blockdlg_all input {
	width: 16px;
	height: 16px;
	accent-color: var(--accent);
}
.cal_bd_label {
	display: block;
	margin: 0 0 6px;
	font: 500 12px var(--font-body);
	color: var(--text-secondary);
	text-transform: none;
	letter-spacing: 0;
}
.cal_bd_box {
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	overflow: hidden;
}
.cal_blockdlg .cal_bd_row {
	height: 40px;
	padding: 0 12px;
	background: var(--surface-raised);
}
.cal_blockdlg .cal_bd_row + .cal_bd_row {
	border-top: 1px solid var(--border-default);
}
.cal_blockdlg .cal_bd_row:hover {
	background: var(--surface-card);
}
.cal_bd_row input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.cal_bd_check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	border-radius: 4px;
	border: 1.5px solid var(--cal);
	color: transparent;
}
.cal_bd_row.on .cal_bd_check {
	background: var(--cal);
	color: #0B0F0E;
}
.cal_bd_name {
	flex: 1;
	min-width: 0;
	font: 500 13px var(--font-body);
	color: var(--text-primary);
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.cal_bd_state {
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.cal_blockdlg_none {
	margin: 0;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-muted);
}
.cal_bd_field input {
	width: 100%;
	height: 36px;
	box-sizing: border-box;
}
.cal_bd_switches {
	border-top: 1px solid var(--border-default);
}
.cal_bd_switch {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 0;
	border-bottom: 1px solid var(--border-default);
	cursor: pointer;
	text-decoration: none;
}
.cal_bd_switch .txt {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1;
	min-width: 0;
}
.cal_bd_switch b {
	font: 500 13px var(--font-body);
	color: var(--text-primary);
}
.cal_bd_switch small {
	font: 400 12px var(--font-body);
	color: var(--text-muted);
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.cal_bd_switch.on .cal_toggle_track,
.cal_nav_blocks.on .cal_toggle_track {
	background: var(--accent);
}
.cal_bd_switch.on .cal_toggle_knob,
.cal_nav_blocks.on .cal_toggle_knob {
	left: 16px;
	background: var(--on-accent);
}
.cal_bd_error {
	margin: 0;
	font: 400 12px var(--font-body);
	color: var(--danger);
}
.cal_bd_error[hidden] {
	display: none;
}
.cal_blockdlg .button.disabled {
	opacity: .5;
	pointer-events: none;
}
.cal_confirm_text {
	margin: 0 0 18px;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.cal_confirm_buttons {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
}
.cal_confirm .button.danger {
	color: var(--danger);
	border-color: var(--danger);
	background: transparent;
}

.cal_nav_blocks {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 14px 12px 0 14px;
	padding-top: 14px;
	border-top: 1px solid var(--border-default);
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
	text-decoration: none;
}
.cal_nav_blocks.on {
	color: var(--text-primary);
}
.cal_nav_blocks:hover {
	text-decoration: none;
}

@media (max-width: 560px) {
	.cal_modal.cal_block_modal .box {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		max-height: 88vh;
		overflow-y: auto;
		border-radius: var(--radius-l) var(--radius-l) 0 0;
	}
}

#receipt_box .receipt_vat_wrap {
	margin-top: 4px;
}
#receipt_box .receipt_vat {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
#receipt_box .receipt_vat .receipt_label {
	margin: 0;
}
#receipt_box .vat_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 22px;
}
#receipt_box .vat_mark {
	--c: var(--text-muted);
	display: inline-flex;
	align-items: center;
	height: 22px;
	padding: 0 9px;
	box-sizing: border-box;
	border-radius: 999px;
	font: 600 11px var(--font-body);
	white-space: nowrap;
	color: var(--c);
	border: 1px solid color-mix(in srgb, var(--c) 45%, transparent);
	background: color-mix(in srgb, var(--c) 12%, transparent);
}
#receipt_box .vat_mark.erkannt {
	--c: var(--accent);
}
#receipt_box .vat_mark.pruefen {
	--c: var(--warning);
}
#receipt_box .vat_reading,
#receipt_box .vat_card {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: var(--radius-s);
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
	font: 400 13px var(--font-body);
	color: var(--text-secondary);
}
#receipt_box .vat_card {
	align-items: flex-start;
}
#receipt_box .vat_card > .icon {
	flex-shrink: 0;
	margin-top: 1px;
	color: var(--text-muted);
}
#receipt_box .vat_card > span {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
#receipt_box .vat_card b {
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
}
#receipt_box .vat_card small,
#receipt_box .vat_foot,
#receipt_box .vat_rc {
	font: 400 11px/1.45 var(--font-body);
	color: var(--text-muted);
}
#receipt_box .vat_foot {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
}
#receipt_box .vat_link {
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	font: 500 12px var(--font-body);
	color: var(--accent);
	text-decoration: none;
	white-space: nowrap;
}
#receipt_box .vat_link:hover {
	text-decoration: underline;
}
#receipt_box .vat_new {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent);
	background: color-mix(in srgb, var(--accent) 7%, transparent);
	font: 400 12px var(--font-body);
	color: var(--text-secondary);
}
#receipt_box .vat_new > span {
	flex: 1;
}
#receipt_box .vat_box {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
}
#receipt_box .vat_grid {
	display: grid;
	grid-template-columns: minmax(150px,1.5fr) 1fr 1fr 1fr 28px;
	gap: 8px;
	align-items: center;
}
#receipt_box .vat_legend {
	padding-top: 2px;
}
#receipt_box .vat_legend span,
#receipt_box .vat_card_fields label > span {
	font: 500 10px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#receipt_box .vat_legend span:nth-child(n+2) {
	text-align: right;
}
#receipt_box .vat_rc {
	margin: -2px 0 0;
	text-align: right;
}
#receipt_box .vat_box .select > input {
	height: 34px;
	font-size: 13px;
}
#receipt_box .vat_amount {
	width: 100%;
	min-width: 0;
	height: 34px;
	padding: 0 10px;
	box-sizing: border-box;
	text-align: right;
	font: 400 13px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
	background: var(--surface-card);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-s);
	outline: none;
	box-shadow: none;
	transition: border-color .15s;
}
#receipt_box .vat_amount:focus {
	border-color: var(--accent);
}
#receipt_box .vat_amount:disabled {
	opacity: .5;
	cursor: not-allowed;
}
#receipt_box .vat_trash {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
}
#receipt_box .vat_trash:hover {
	color: var(--danger);
}
#receipt_box .vat_add {
	align-self: flex-start;
}
#receipt_box .vat_rule {
	display: block;
	height: 1px;
	background: var(--border-default);
}
#receipt_box .vat_sum {
	display: flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 2px;
}
#receipt_box .vat_sum .label {
	flex: 1;
	font: 500 12px var(--font-body);
	color: var(--text-secondary);
}
#receipt_box .vat_sum .diff {
	font: 400 12px var(--font-body);
	color: var(--warning);
}
#receipt_box .vat_sum .total {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	min-width: 90px;
	font: 600 13px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--warning);
}
#receipt_box .vat_sum.ok .total {
	color: var(--accent);
}
#receipt_box .vat_sum.empty .total {
	color: var(--text-muted);
}
#receipt_box .vat_card_row {
	padding: 10px;
	border-radius: var(--radius-s);
	border: 1px solid var(--border-default);
	background: var(--surface-card);
}
#receipt_box .vat_card_top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 8px;
}
#receipt_box .vat_card_top .select {
	width: auto;
	flex: 1;
}
#receipt_box .vat_card_fields {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 8px;
}
#receipt_box .vat_card_fields label {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
#receipt_box .vat_card_row .vat_rc {
	margin-top: 6px;
	text-align: left;
}

.list-view.bank-receipts li p[data-id='ust'] .ust_open {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	min-height: 18px;
	font: 400 13px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--text-secondary);
	cursor: pointer;
	text-decoration: none;
	vertical-align: middle;
}
.list-view.bank-receipts li p[data-id='ust'] .ust_open:hover .ust_value {
	color: var(--accent);
}
.list-view.bank-receipts li p[data-id='ust'] .ust_open .icon {
	color: var(--text-muted);
	flex-shrink: 0;
}
.list-view.bank-receipts li p[data-id='ust'] .ust_value.muted {
	color: var(--text-muted);
}
.list-view.bank-receipts li p[data-id='ust'] .ust_open.empty:after {
	content: '—';
	color: var(--text-muted);
}
.list-view.bank-receipts li p[data-id='ust'] .none {
	color: var(--text-muted);
}
.list-view.bank-receipts li .ust_flag {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	display: inline-grid;
	place-items: center;
	flex-shrink: 0;
	background: var(--warning);
	color: var(--surface-page);
	font: 800 9px/1 var(--font-body);
}
.list-view.bank-receipts li p[data-id='amount'] .ust_flag {
	display: none;
	margin-right: 6px;
	vertical-align: 1px;
}
@media (max-width: 720px) {
	.list-view.bank-receipts li p[data-id='ust'],
	.list-legend.for-receipts p[data-id='ust'] {
		display: none !important;
	}
	.list-view.bank-receipts li p[data-id='amount'] .ust_flag {
		display: inline-grid;
	}
}

.list-overview .vat_check[hidden] {
	display: none;
}
.list-overview .vat_check_link {
	text-decoration: none;
}

.bulk_actions .vat_bulk_menu {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	width: 240px;
	padding: 6px;
	border-radius: var(--radius-m);
	background: var(--popover-bg);
	border: 1px solid var(--accent);
	box-shadow: var(--glow-border), var(--shadow-pop);
	z-index: 210;
	animation: bc-fade-in .12s ease both;
}
.bulk_actions:has(.vat_bulk_menu) {
	position: relative;
}
.bulk_actions .vat_bulk_menu p {
	margin: 0;
	padding: 6px 10px 8px;
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
.bulk_actions .vat_bulk_menu a {
	display: block;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
}
.bulk_actions .vat_bulk_menu a:hover {
	background: rgba(var(--accent-rgb),.07);
	color: var(--text-primary);
}
.bulk_actions .vat_bulk_menu a.cancel {
	color: var(--text-muted);
}
.bulk_actions .vat_bulk_menu .rule {
	display: block;
	height: 1px;
	margin: 4px 0;
	background: var(--border-default);
}

#agent .ust .ust_missing .ust_beleg {
	color: var(--warning);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.anchor_nav.acc_nav {
	position: sticky;
	z-index: 40;
	gap: 2px;
}
.acc_nav .acc_block {
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-left: 2px solid var(--border-default);
}
.acc_nav .acc_block.active {
	border-left-color: var(--accent);
}
.acc_nav .acc_l3 {
	display: block;
	padding: 8px 12px;
	font: 500 13px/1.3 var(--font-body);
	color: var(--text-muted);
	text-decoration: none;
	white-space: nowrap;
	transition: color .15s;
}
.acc_nav .acc_l3:hover {
	color: var(--text-primary);
}
.acc_nav .acc_l3.active {
	color: var(--accent);
	font-weight: 600;
}
.acc_nav .acc_l4 {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.acc_nav .acc_l4 .acc_item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px 6px 30px;
	border-left: none;
	font: 500 12px/1.3 var(--font-body);
	color: var(--text-muted);
	text-decoration: none;
	white-space: nowrap;
	overflow: visible;
	cursor: pointer;
	transition: color .15s;
}
.acc_nav .acc_l4 .acc_item:before {
	content: '';
	position: absolute;
	left: 12px;
	top: -2px;
	bottom: 0;
	width: 1px;
	background: var(--border-default);
	pointer-events: none;
}
.acc_nav .acc_l4 .acc_item:last-child:before {
	bottom: 50%;
}
.acc_nav .acc_l4 .acc_item:after {
	content: '';
	position: absolute;
	left: 12px;
	top: 50%;
	width: 10px;
	height: 1px;
	background: var(--border-default);
	pointer-events: none;
}
.acc_nav .acc_l4 .acc_item:hover {
	color: var(--text-primary);
}
.acc_nav .acc_l4 .acc_item.active {
	color: var(--accent);
	font-weight: 600;
	border-left-color: transparent;
}
.acc_nav .acc_l4 .acc_item .anchor_label {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}
.acc_nav .acc_l4 .bank_logo {
	flex-shrink: 0;
}
.acc_nav .acc_plus {
	width: 16px;
	height: 16px;
	display: grid;
	place-items: center;
	flex-shrink: 0;
}
.acc_nav .acc_add:hover {
	color: var(--accent);
}
.acc_split .anchor_nav.acc_nav {
	display: none;
}
.acc_pick,
.acc_pick .acc_l4_pick,
.list-filter .acc_pick .select.acc_l4_pick:not(.pill),
.list-filter .acc_pick .acc_l4_pick > input,
.acc_pick .acc_l4_pick > input {
	width: 260px;
	max-width: 100%;
}
.split-content > .acc_pick {
	position: relative;
	z-index: 30;
	margin-bottom: 16px;
}
.acc_pick .acc_l4_pick.with_logo > input {
	padding-left: 44px;
	padding-right: 58px;
}
.acc_pick .acc_pick_logo {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	pointer-events: none;
	z-index: 1;
}
.acc_pick .acc_pick_logo:empty {
	display: none;
}
.acc_pick .acc_l4_pick > .acc_pick_warn {
	position: absolute;
	right: 38px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
}
.acc_pick .acc_l4_pick > .acc_pick_warn[hidden] {
	display: none;
}
.acc_pick .acc_l4_pick li p {
	display: flex;
	align-items: center;
	gap: 8px;
}
.acc_pick .acc_l4_pick li.acc_pick_add {
	margin-top: 4px;
	padding-top: 4px;
	border-top: 1px solid var(--border-default);
}
.acc_pick .acc_l4_pick li.acc_pick_add p {
	gap: 6px;
	color: var(--text-muted);
}
.acc_pick .acc_l4_pick li .nav_warn {
	position: static;
	margin-left: auto;
}
@media (max-width: 770px) {
	body:not(.static) .acc_pick,
	body:not(.static) .acc_pick .acc_l4_pick,
	body:not(.static) .list-filter .acc_pick .select.acc_l4_pick:not(.pill),
	body:not(.static) .list-filter .acc_pick .acc_l4_pick > input,
	body:not(.static) .acc_pick .acc_l4_pick > input {
		width: 100%;
		max-width: none;
	}
}

.ablage_new_folder.disabled {
	opacity: .45;
	cursor: default;
}

.ablage_bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
}
.ablage_bar .search_filter_wrap,
.ablage_bar .ablage_search {
	flex-shrink: 0;
}
.ablage_pfad {
	flex: 1 1 260px;
	min-width: 0;
	height: 40px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 0 14px;
	overflow-x: auto;
	scrollbar-width: none;
	white-space: nowrap;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	font: 500 14px var(--font-body);
}
.ablage_pfad::-webkit-scrollbar {
	display: none;
}
.ablage_pfad .icon {
	flex-shrink: 0;
	color: var(--text-muted);
	margin-right: 2px;
}
.ablage_pfad .sep {
	color: var(--text-muted);
}
.ablage_pfad .ablage_root {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}
.ablage_pfad a.ablage_root:hover .icon {
	color: var(--accent);
}
.ablage_pfad a {
	color: var(--text-muted);
	text-decoration: none;
	cursor: pointer;
}
.ablage_pfad a:hover {
	color: var(--accent);
}
.ablage_pfad b {
	color: var(--text-primary);
	font-weight: 600;
}
.ablage_search {
	position: relative;
	width: 240px;
}
.ablage_search input {
	width: 100%;
	height: 40px;
	box-sizing: border-box;
	padding: 0 12px 0 36px;
}
.ablage_search .icon {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--text-muted);
	pointer-events: none;
}
.ablage_toggle {
	display: inline-flex;
	gap: 2px;
	height: 40px;
	padding: 3px;
	box-sizing: border-box;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	flex-shrink: 0;
}
.ablage_toggle a {
	width: 34px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
}
.ablage_toggle a.on {
	background: rgba(0,208,155,.12);
	color: var(--accent);
}
.ablage_bulk {
	position: relative;
	flex-shrink: 0;
}
.ablage_bulk[hidden] {
	display: none;
}
.ablage_bulk .bulk_toggle {
	height: 40px;
	gap: 4px;
	color: var(--accent);
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.08);
}
.ablage_note {
	margin: 0 0 12px;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.ablage_hinweis {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
	padding: 9px 12px;
	border-radius: var(--radius-m);
	border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent);
	background: color-mix(in srgb, var(--accent) 7%, transparent);
	font: 400 13px var(--font-body);
	color: var(--text-secondary);
	animation: bc-fade-in .15s ease both;
}
.ablage_hinweis.fehler {
	border-color: color-mix(in srgb, var(--danger) 40%, transparent);
	background: color-mix(in srgb, var(--danger) 7%, transparent);
}
.ablage_hinweis .icon {
	color: var(--accent);
	flex-shrink: 0;
}
.ablage_hinweis.fehler .icon {
	color: var(--danger);
}
.ablage_drop {
	border-radius: var(--radius-l);
	outline: 1px dashed transparent;
	outline-offset: 4px;
	transition: outline-color .15s;
}
.ablage_drop.drag {
	outline-color: var(--accent);
}
.ablage_card {
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-l);
}
.ablage_card.symbole {
	padding: 12px;
}
.ablage_leer {
	padding: 36px 20px;
	text-align: center;
	font: var(--text-body);
	color: var(--text-muted);
}
.ablage_info {
	font: var(--text-small);
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
}
.ablage_card.symbole .ablage_info {
	padding: 14px 8px 2px;
	margin-top: 6px;
	border-top: 1px solid var(--border-default);
}
.ablage_card.liste .ablage_info {
	padding: 14px 20px;
	border-top: 1px solid var(--border-default);
}

.ablage_grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(136px, 1fr));
	gap: 6px;
}
.ablage_kachel {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 16px 8px 12px;
	border-radius: var(--radius-m);
	border: 1px solid transparent;
	cursor: pointer;
	transition: background .12s, border-color .12s;
}
.ablage_kachel:hover {
	background: rgba(0,208,155,.05);
}
.ablage_kachel.on {
	background: rgba(0,208,155,.10);
	border-color: color-mix(in srgb, var(--accent) 45%, transparent);
}
.ablage_kachel .pick {
	position: absolute;
	left: 8px;
	top: 8px;
	width: 15px;
	height: 15px;
	margin: 0;
	accent-color: var(--accent);
	cursor: pointer;
	display: none;
}
.ablage_kachel:hover .pick,
.ablage_kachel.on .pick,
.ablage_grid.auswahl .ablage_kachel .pick {
	display: block;
}
.ablage_kachel .dots {
	position: absolute;
	right: 4px;
	top: 4px;
	width: 26px;
	height: 26px;
	display: none;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
}
.ablage_kachel:hover .dots,
.ablage_kachel .dots.open {
	display: grid;
}
.ablage_kachel .dots.open {
	color: var(--accent);
}
.ablage_kachel .sym {
	height: 66px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.ablage_kachel .nm {
	width: 100%;
	text-align: center;
	font: 500 13px/1.35 var(--font-body);
	color: var(--text-primary);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: break-word;
}
.ablage_kachel.fehlt .nm {
	color: var(--warning);
}
.ablage_kachel .un {
	font: 400 11px/1.3 var(--font-body);
	color: var(--text-muted);
	text-align: center;
	font-variant-numeric: tabular-nums;
}
.ablage_kachel .oh {
	font: 600 11px/1.3 var(--font-body);
	color: var(--warning);
}
.ablage_kachel .wa {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font: 600 11px var(--font-body);
	color: var(--accent);
	font-variant-numeric: tabular-nums;
}
.ablage_kachel .le,
.ablage_kachel .ln {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font: 400 11px var(--font-body);
	color: var(--text-muted);
}

.ablage_menu {
	position: absolute;
	width: 200px;
	box-sizing: border-box;
	padding: 6px;
	background: var(--surface-card);
	border: 1px solid var(--accent);
	border-radius: var(--radius-m);
	box-shadow: var(--glow-border);
	z-index: 80;
	text-align: left;
}
.ablage_menu a {
	display: block;
	padding: 8px 10px;
	border-radius: var(--radius-s);
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
	white-space: nowrap;
}
.ablage_menu a:hover {
	background: rgba(0,208,155,.07);
}
.ablage_menu a.danger {
	color: var(--danger);
}

.ablage_table {
	overflow-x: auto;
}
.ablage_table table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
}
.ablage_table th {
	padding: 12px 14px;
	text-align: left;
	font: 500 11px var(--font-body);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--text-muted);
	border-bottom: 1px solid var(--border-default);
	white-space: nowrap;
}
.ablage_table th.r,
.ablage_table td.r {
	text-align: right;
}
.ablage_table th.c,
.ablage_table td.c {
	text-align: center;
}
.ablage_table td {
	position: relative;
	padding: 12px 14px;
	font: 400 14px var(--font-body);
	color: var(--text-primary);
	border-bottom: 1px solid var(--border-default);
	white-space: nowrap;
	vertical-align: middle;
}
.ablage_table tr:last-child td {
	border-bottom: none;
}
.ablage_table tbody tr {
	cursor: pointer;
	transition: background .12s;
}
.ablage_table tbody tr:hover {
	background: rgba(0,208,155,.04);
}
.ablage_table tbody tr.on {
	background: rgba(0,208,155,.08);
}
.ablage_table td.sel,
.ablage_table th.sel {
	width: 40px;
	padding-left: 20px;
	padding-right: 0;
}
.ablage_table td.sel input,
.ablage_table th.sel input {
	width: 15px;
	height: 15px;
	margin: 0;
	accent-color: var(--accent);
	cursor: pointer;
}
.ablage_table td.sel:before {
	content: '';
	position: absolute;
	left: 6px;
	top: 10px;
	bottom: 10px;
	width: 3px;
	border-radius: 2px;
	background: var(--ink-700);
}
.ablage_table tr.eigen td.sel:before {
	background: var(--accent);
}
.ablage_table tr.fehlt td.sel:before {
	background: var(--warning);
}
.ablage_table .nm {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	max-width: 420px;
}
.ablage_table .nm .icon {
	flex-shrink: 0;
	color: var(--text-muted);
}
.ablage_table tr.eigen .nm .icon {
	color: var(--accent);
}
.ablage_table tr.fehlt .nm,
.ablage_table tr.fehlt .nm .icon {
	color: var(--warning);
}
.ablage_table .nm .t {
	overflow: hidden;
	text-overflow: ellipsis;
}
.ablage_table tr.ordner .nm .t {
	font-weight: 600;
}
.ablage_table .muted {
	color: var(--text-muted);
}
.ablage_table .neg {
	font-weight: 500;
	color: var(--danger);
}
.ablage_table .pos {
	font-weight: 500;
	color: var(--accent);
}
.ablage_table .wartet {
	font-weight: 500;
	color: var(--text-secondary);
}
.ablage_table .zeichen {
	display: inline-flex;
	vertical-align: middle;
}
.ablage_table .zeichen.ohne {
	align-items: center;
	gap: 5px;
	font: 600 12px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--warning);
}
.ablage_table .menu_cell {
	width: 44px;
	padding: 0 8px;
}
.ablage_table .menu_cell .dots {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	opacity: 0;
}
.ablage_table tr:hover .menu_cell .dots,
.ablage_table .menu_cell .dots.open {
	opacity: 1;
}
.ablage_marke {
	flex-shrink: 0;
	font: 600 11px var(--font-body);
	color: var(--warning);
	border: 1px solid color-mix(in srgb, var(--warning) 45%, transparent);
	background: color-mix(in srgb, var(--warning) 12%, transparent);
	border-radius: 999px;
	padding: 2px 8px;
}
.ablage_link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
	font: 500 11px var(--font-body);
	color: var(--text-muted);
}
.ablage_legend {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 14px;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.ablage_legend span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.ablage_legend i {
	width: 3px;
	height: 12px;
	border-radius: 2px;
}

.ablage_pickliste {
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	overflow: hidden;
	max-height: 300px;
	overflow-y: auto;
}
.ablage_pickliste label,
.ablage_pickliste a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 12px;
	border-top: 1px solid var(--border-default);
	background: var(--surface-raised);
	cursor: pointer;
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
	text-decoration: none;
}
.ablage_pickliste label:first-child,
.ablage_pickliste a:first-child {
	border-top: none;
}
.ablage_pickliste label.on,
.ablage_pickliste a.on {
	background: rgba(0,208,155,.07);
	color: var(--accent);
}
.ablage_pickliste input {
	width: 15px;
	height: 15px;
	margin: 0;
	accent-color: var(--accent);
	cursor: pointer;
}
.ablage_pickliste .d {
	flex-shrink: 0;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
}
.ablage_pickliste .w {
	flex: 1;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: var(--text-primary);
}
.ablage_pickliste .on .w {
	color: var(--accent);
}
.ablage_pickliste .w em {
	font-style: normal;
	font-weight: 400;
	color: var(--text-muted);
}
.ablage_pickliste .p {
	flex-shrink: 0;
	font: 600 11px var(--font-body);
	color: var(--accent);
}
.ablage_pickliste .b {
	flex-shrink: 0;
	min-width: 86px;
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.ablage_pickliste .b.neg {
	color: var(--danger);
}
.ablage_pickliste .b.pos {
	color: var(--accent);
}
.ablage_pickliste .leer {
	padding: 20px;
	text-align: center;
	color: var(--text-muted);
	cursor: default;
}

#receipt_box .receipt_more {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
#receipt_box .receipt_more_file {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 10px;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
#receipt_box .receipt_more_file .icon {
	color: var(--text-muted);
	flex-shrink: 0;
}
#receipt_box .receipt_more_file .meta {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
#receipt_box .receipt_more_file .meta b {
	font: 500 13px var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#receipt_box .receipt_more_file .meta span,
#receipt_box .receipt_more_note {
	font: 400 11px/1.45 var(--font-body);
	color: var(--text-muted);
}
#receipt_box .receipt_more_file a {
	font: 500 12px var(--font-body);
	color: var(--accent);
	text-decoration: none;
	flex-shrink: 0;
}

@media (max-width: 720px) {
	.ablage_bar {
		flex-wrap: wrap;
	}
	.ablage_pfad {
		flex: 1 1 100%;
	}
	.ablage_search {
		flex: 1 1 0;
		width: auto;
	}
	.ablage_grid {
		grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
	}
}

.ablage_table tbody tr.drop_on td {
	background: rgba(0,208,155,.12);
}
.ablage_table tbody tr.drop_on {
	outline: 1px solid var(--accent);
	outline-offset: -1px;
}
.ablage_kachel.drop_on {
	border-color: var(--accent);
	background: rgba(0,208,155,.14);
}
.ablage_pfad [data-drop-path] {
	padding: 2px 6px;
	margin: 0 -6px;
	border: 1px solid transparent;
	border-radius: var(--radius-s);
}
.ablage_pfad [data-drop-path].drop_on {
	color: var(--accent);
	background: rgba(0,208,155,.14);
	border-color: var(--accent);
}
.ablage_kachel[draggable='true'],
.ablage_table tr[draggable='true'] {
	-webkit-user-drag: element;
}
.ablage_up_hint {
	margin: 0 0 16px;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-secondary);
}
#insert_box .ablage_up_drop {
	margin-bottom: 16px;
}
#insert_box .ablage_up_drop .icon {
	display: inline-flex;
}
#insert_box .ablage_up_drop + .receipt_or {
	margin-bottom: 16px;
}
#insert_box .ablage_up_scan {
	width: 100%;
	justify-content: center;
}

.ablage_kachel .be {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font: 500 11px var(--font-body);
	color: var(--accent);
}
.ablage_be {
	display: inline-flex;
	margin-left: 6px;
	color: var(--accent);
}
.ablage_be_btn {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	color: var(--text-muted);
	cursor: pointer;
	transition: border-color .15s, color .15s;
}
.ablage_be_btn:hover {
	border-color: var(--accent);
	color: var(--text-primary);
}
.ablage_be_btn.an {
	color: var(--accent);
}
.ablage_be_body {
	display: flex;
	flex-direction: column;
}
.ablage_be_row {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 14px 0;
}
.ablage_be_row + .ablage_be_row,
.ablage_be_konten + .ablage_be_row {
	border-top: 1px solid var(--border-default);
}
.ablage_be_row:first-child {
	padding-top: 0;
}
.ablage_be_row > div {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.ablage_be_row b {
	font: 600 13px var(--font-body);
	color: var(--text-primary);
}
.ablage_be_row span {
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.ablage_be_row.off b,
.ablage_be_row.off span {
	opacity: .55;
}
.ablage_be_row .cal_toggle.disabled {
	opacity: .45;
	cursor: default;
}
.ablage_be_konten {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 0 0 14px;
}
.ablage_be_konten .lbl {
	margin: 0 0 2px;
	font: var(--text-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--text-muted);
}
.ablage_be_konten .bk_check em {
	font-style: normal;
	color: var(--text-muted);
	margin-left: 6px;
	font-size: 12px;
}
.ablage_be_konten .hint {
	margin: 4px 0 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.acc_pick .nav_warn {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	display: inline-grid;
	place-items: center;
	background: var(--warning);
	color: var(--surface-page);
	font: 800 11px/1 var(--font-body);
}
#insert_box .kasse_form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
#insert_box .kasse_arten,
#insert_box .kasse_beleg {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
#insert_box .kasse_arten .lbl,
#insert_box .kasse_beleg .lbl {
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#insert_box .kasse_chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
#insert_box .kasse_chip {
	padding: 6px 14px;
	border-radius: 999px;
	border: 1px solid var(--border-strong);
	background: transparent;
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
}
#insert_box .kasse_chip.on {
	border-color: var(--accent);
	background: rgba(0,208,155,.08);
	color: var(--accent);
}
#insert_box .kasse_drop {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	font: 400 13px var(--font-body);
	color: var(--text-secondary);
	cursor: pointer;
}
#insert_box .kasse_drop .icon {
	color: var(--accent);
}
#insert_box .kasse_drop.drag {
	border-color: var(--accent);
	background: rgba(0,208,155,.06);
}
#insert_box .kasse_file {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 10px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	font: 500 13px var(--font-body);
	color: var(--text-primary);
}
#insert_box .kasse_file .icon {
	color: var(--text-muted);
	flex-shrink: 0;
}
#insert_box .kasse_file .n {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#insert_box .kasse_file .g {
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
#insert_box .kasse_file_x {
	display: inline-flex;
	color: var(--text-muted);
	cursor: pointer;
}
#insert_box .kasse_fehler {
	margin: 0;
	font: 400 13px var(--font-body);
	color: var(--danger);
}
#insert_box .kasse_fehler[hidden] {
	display: none;
}
#insert_box .kasse_danach {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 12px;
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	border: 1px solid var(--border-default);
	font: 400 13px var(--font-body);
	color: var(--text-secondary);
}
#insert_box .kasse_danach b {
	font-variant-numeric: tabular-nums;
	color: var(--text-primary);
}
#insert_box .kasse_danach b.neg {
	color: var(--danger);
}
#insert_box .bank_m_kasse[hidden],
#insert_box .bank_m_bankfeld[hidden] {
	display: none;
}

.list-view.bank-receipts li.storniert p[data-id='name'],
.list-view.bank-receipts li.storniert p[data-id='description'],
.list-view.bank-receipts li.storniert p[data-id='amount'] {
	text-decoration: line-through;
	opacity: .55;
}
.list-overview .kasse_info[hidden],
.list-overview .saldo_info[hidden] {
	display: none;
}
.cal_tree {
	gap: 6px;
}
.cal_tree .cal_nav_block {
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-left: 2px solid var(--border-default);
}
.cal_tree .cal_nav_block.active {
	border-left-color: var(--accent);
}
.cal_tree .cal_nav_block > .anchor {
	border-left: none;
}
.cal_tree .cal_l4 {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.cal_tree .cal_l4 .cal_nav_account {
	display: contents;
}
.cal_tree .cal_l4 .cal_nav_name,
.cal_tree .cal_l4 .cal_nav_cal,
.cal_tree .cal_l4 .folder {
	position: relative;
	padding-left: 30px;
}
.cal_tree .cal_l4 .cal_nav_name {
	padding-top: 8px;
}
.cal_tree .cal_l4 .cal_nav_cal {
	font-size: 12px;
}
.cal_tree .cal_l4 .cal_nav_cal .cal_check {
	width: 13px;
	height: 13px;
}
.cal_tree .cal_l4 > *:before,
.cal_tree .cal_l4 .cal_nav_account > *:before {
	content: '';
	position: absolute;
	left: 12px;
	top: -2px;
	bottom: 0;
	width: 1px;
	background: var(--border-default);
	pointer-events: none;
}
.cal_tree .cal_l4 > *:last-child:before,
.cal_tree .cal_l4 .cal_nav_account:last-child > *:last-child:before {
	bottom: 50%;
}
.cal_tree .cal_l4 .cal_nav_cal:after,
.cal_tree .cal_l4 .folder:after {
	content: '';
	position: absolute;
	left: 12px;
	top: 50%;
	width: 10px;
	height: 1px;
	background: var(--border-default);
	pointer-events: none;
}
.cal_tree .cal_l4 .folder {
	display: flex;
	align-items: center;
	padding-top: 6px;
	padding-bottom: 6px;
	padding-right: 12px;
	font: 500 12px/1.3 var(--font-body);
	color: var(--text-muted);
	text-decoration: none;
	white-space: nowrap;
	transition: color .15s;
}
.cal_tree .cal_l4 .folder:hover {
	color: var(--text-primary);
	text-decoration: none;
}
.cal_tree .cal_l4 .folder.active {
	color: var(--accent);
	font-weight: 600;
}
@media (max-width: 770px) {
	body:not(.static) .cal_tree {
		flex-wrap: wrap;
	}
	body:not(.static) .cal_tree .cal_nav_block {
		flex-direction: row;
		flex-wrap: wrap;
	}
	body:not(.static) .cal_tree .cal_l4 {
		flex-direction: row;
		flex-wrap: wrap;
	}
	body:not(.static) .cal_tree .cal_l4 > *:before,
	body:not(.static) .cal_tree .cal_l4 .cal_nav_account > *:before,
	body:not(.static) .cal_tree .cal_l4 .cal_nav_cal:after,
	body:not(.static) .cal_tree .cal_l4 .folder:after {
		display: none;
	}
	body:not(.static) .cal_tree .cal_l4 .cal_nav_cal,
	body:not(.static) .cal_tree .cal_l4 .folder {
		padding-left: 12px;
	}
}

#bk_content {
	min-width: 0;
}
.bk_toolbar {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.bk_toolbar .spacer {
	flex: 1;
}
.bk_search input {
	width: 260px;
	max-width: 100%;
}
.bk_overview {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
}
.bk_filter .select {
	min-width: 180px;
}
.bk_empty {
	padding: 28px 0;
	font: var(--text-small);
	color: var(--text-muted);
}
.bk_hint_box {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 16px;
	padding: 12px 14px;
	border: 1px solid var(--warning);
	border-radius: var(--radius-m);
	font: var(--text-small);
	color: var(--text-secondary);
}
.bk_hint_box svg {
	flex-shrink: 0;
	margin-top: 2px;
	color: var(--warning);
}
.bk_legend {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	margin-top: 12px;
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.bk_legend span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.bk_legend i {
	width: 3px;
	height: 12px;
	border-radius: 2px;
	background: var(--accent);
}
.bk_legend i.bk_warn {
	background: var(--warning);
}
.bk_legend i.bk_err {
	background: var(--danger);
}
.bk_legend i.bk_past {
	background: var(--ink-700);
}

.list-view.bk_links_list li[data-type='bk_public']:before,
.list-view.bk_bookings_list li[data-type='bk_bestaetigt']:before {
	background: var(--accent);
}
.list-view.bk_links_list li[data-type='bk_hidden']:before,
.list-view.bk_bookings_list li[data-type='bk_vergangen']:before {
	background: var(--ink-700);
}
.list-view.bk_bookings_list li[data-type='bk_umgebucht']:before {
	background: var(--warning);
}
.list-view.bk_bookings_list li[data-type='bk_storniert']:before {
	background: var(--danger);
}
.list-view.bk_click > li {
	cursor: pointer;
}

.bk_muted {
	color: var(--text-muted);
}
.bk_secondary {
	color: var(--text-secondary);
}
.bk_nums {
	font-variant-numeric: tabular-nums;
}
.bk_ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
}
.bk_title_cell {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}
.bk_icon_text {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}
.bk_icon_text svg {
	flex-shrink: 0;
}
.bk_dot {
	width: 8px;
	height: 8px;
	flex-shrink: 0;
	border-radius: 50%;
}
.bk_mark {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px;
	border-radius: 999px;
	border: 1px solid var(--border-strong);
	color: var(--text-secondary);
	font: 600 12px var(--font-body);
	white-space: nowrap;
}
.bk_mark.bk_acc,
.bk_mark.bk_ok {
	border-color: var(--accent);
	color: var(--accent);
}
.bk_mark.bk_warn {
	border-color: var(--warning);
	color: var(--warning);
}
.bk_mark.bk_err {
	border-color: var(--danger);
	color: var(--danger);
}
.bk_mark.bk_past {
	color: var(--text-muted);
}
.bk_public_cell {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.bk_public_cell .bk_switch {
	margin-right: 6px;
}
.bk_ico {
	width: 30px;
	height: 30px;
	flex-shrink: 0;
	display: inline-grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
	transition: color .12s;
}
.bk_ico:hover {
	color: var(--accent);
	text-decoration: none;
}
.bk_ico.bk_danger {
	color: var(--danger);
}
.bk_switch {
	cursor: pointer;
	text-decoration: none;
}
.bk_switch:hover {
	text-decoration: none;
}

.bk_card {
	max-width: 980px;
}
.bk_card_head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}
.bk_card_head > div {
	flex: 1 1 320px;
	min-width: 0;
}
.bk_card_head h2 {
	margin: 0;
}
.bk_card_head .hint {
	margin: 10px 0 0;
}

html.bk_lock,
html.bk_lock body {
	overflow: hidden;
}
.bk_overlay {
	position: fixed;
	inset: 0;
	z-index: 1100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(var(--overlay-rgb),.55);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	animation: bc-fade-in .2s ease both;
}
.bk_overlay.bk_sub {
	z-index: 1150;
}
.bk_dialog {
	width: 1000px;
	max-width: 100%;
	height: min(760px, 94vh);
	display: flex;
	background: var(--surface-glass);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-l);
	box-shadow: var(--shadow-pop);
	overflow: hidden;
	animation: bc-pop-in .25s cubic-bezier(.3,.9,.35,1.1) both;
}
.bk_ed_nav {
	width: 228px;
	flex-shrink: 0;
	box-sizing: border-box;
	padding: 28px 16px 20px 20px;
	border-right: 1px solid var(--border-default);
	display: flex;
	flex-direction: column;
	gap: 2px;
	overflow-y: auto;
	scrollbar-width: none;
}
.bk_ed_kicker {
	display: flex;
	align-items: center;
	height: 32px;
	margin: 0 0 20px 12px;
	font: 600 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.bk_ed_tab {
	padding: 9px 12px;
	border-left: 2px solid var(--border-default);
	font: 500 13px var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
	text-decoration: none;
}
.bk_ed_tab:hover {
	color: var(--text-primary);
	text-decoration: none;
}
.bk_ed_tab.active {
	border-left-color: var(--accent);
	color: var(--accent);
	font-weight: 600;
}
.bk_ed_main {
	flex: 1;
	min-width: 0;
	min-height: 0;
	display: flex;
	flex-direction: column;
}
.bk_ed_head {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 16px;
	height: 32px;
	box-sizing: content-box;
	padding: 28px 20px 18px 28px;
	border-bottom: 1px solid var(--border-default);
}
.bk_ed_head h1 {
	margin: 0;
	flex: 1;
	min-width: 0;
	font: 600 20px var(--font-display);
	letter-spacing: -.02em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.bk_ed_head .bk_muted {
	font: 400 13px var(--font-body);
	white-space: nowrap;
}
.bk_ed_close,
.bk_sd_close {
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	display: grid;
	place-items: center;
	border-radius: var(--radius-s);
	color: var(--text-muted);
	cursor: pointer;
}
.bk_ed_close:hover,
.bk_sd_close:hover {
	color: var(--text-primary);
}
.bk_ed_title {
	flex-shrink: 0;
	padding: 22px 28px 0;
}
.bk_ed_title h2 {
	margin: 0;
	font: 600 22px var(--font-display);
	letter-spacing: -.01em;
}
.bk_ed_body {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	scrollbar-width: none;
	padding: 18px 28px 28px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.bk_ed_foot {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 16px 28px;
	border-top: 1px solid var(--border-default);
}
.bk_ed_foot .spacer {
	flex: 1;
}
.bk_ed_foot .button svg {
	vertical-align: -3px;
}
.bk_ed_mnav {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: calc(14px + env(safe-area-inset-top)) 16px 12px;
	border-bottom: 1px solid var(--border-default);
}
.bk_ed_mhead {
	display: flex;
	align-items: center;
	gap: 10px;
}
.bk_ed_mhead span {
	flex: 1;
	min-width: 0;
	font: 600 16px var(--font-display);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
@media (max-width: 719px) {
	.bk_overlay:not(.bk_sub) {
		padding: 0;
		align-items: stretch;
	}
	.bk_dialog {
		width: 100%;
		height: 100%;
		flex-direction: column;
		border: none;
		border-radius: 0;
		background: var(--surface-card);
	}
	.bk_ed_title {
		padding: 16px 16px 0;
	}
	.bk_ed_body {
		padding: 16px 16px 24px;
	}
	.bk_ed_foot {
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
	}
}

.bk_field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.bk_label {
	font: 600 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.bk_hint {
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.bk_hint b {
	font-weight: 600;
	color: var(--text-secondary);
}
.bk_lead {
	margin: 0;
	font: var(--text-small);
	color: var(--text-muted);
	line-height: 1.5;
}
.bk_error {
	font: 400 12px var(--font-body);
	color: var(--danger);
}
.bk_field input,
.bk_field textarea,
.bk_loc_row > input {
	width: 100%;
	box-sizing: border-box;
}
.bk_field textarea {
	resize: vertical;
	line-height: 1.5;
}
.bk_mono {
	font-family: 'IBM Plex Mono', ui-monospace, monospace;
}
input.invalid {
	border-color: var(--danger);
}
.bk_url {
	display: flex;
	align-items: center;
	height: 40px;
	box-sizing: border-box;
	padding: 0 6px 0 12px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	font: 400 14px var(--font-body);
}
.bk_url.invalid {
	border-color: var(--danger);
}
.bk_url .bk_muted {
	white-space: nowrap;
}
.bk_url input {
	flex: 1;
	min-width: 60px;
	height: auto;
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
}
.bk_url input:focus {
	outline: none;
	box-shadow: none;
}
.bk_unit {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	box-sizing: border-box;
	padding: 0 12px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
}
.bk_unit input {
	flex: 1;
	min-width: 0;
	height: auto;
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
}
.bk_unit input:focus {
	outline: none;
	box-shadow: none;
}
.bk_grid2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 20px;
	align-items: end;
}
@media (max-width: 719px) {
	.bk_grid2 {
		grid-template-columns: minmax(0, 1fr);
	}
}
.bk_toggle_box {
	display: grid;
}
.bk_chips {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.bk_chip {
	padding: 6px 12px;
	border-radius: 999px;
	border: 1px solid var(--border-strong);
	color: var(--text-secondary);
	font: 500 13px var(--font-body);
	cursor: pointer;
	text-decoration: none;
}
.bk_chip:hover {
	text-decoration: none;
}
.bk_chip.on {
	border-color: var(--accent);
	background: rgba(var(--accent-rgb),.08);
	color: var(--accent);
}
.bk_add {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	align-self: flex-start;
	font: 600 13px var(--font-body);
	cursor: pointer;
	text-decoration: none;
}
.bk_rows {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.bk_loc_row {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}
.bk_loc_pick {
	display: grid;
	flex: 1 1 260px;
}
.bk_loc_row > input,
.bk_loc_row > .bk_icon_text {
	flex: 1 1 200px;
	width: auto;
}
.bk_loc_row > .bk_icon_text {
	font: 500 13px var(--font-body);
}
.bk_warn_text {
	color: var(--warning);
}
.bk_block {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-top: 6px;
}
.bk_block_title {
	font: 600 13px var(--font-body);
	color: var(--text-primary);
}
.bk_new_cal {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 12px;
	padding: 10px 12px;
	border: 1px solid var(--warning);
	border-radius: var(--radius-m);
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
}
.bk_new_cal b {
	color: var(--text-primary);
}
.bk_acc_name {
	margin: 12px 0 4px;
	font: 500 11px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.bk_box {
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	overflow: hidden;
}
.bk_box_row,
.bk_q_row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 12px;
	font: 500 13px var(--font-body);
}
.bk_box_row + .bk_box_row,
.bk_q_row + .bk_q_row {
	border-top: 1px solid var(--border-default);
}
.bk_grow {
	flex: 1;
	min-width: 0;
}
.bk_locked {
	opacity: .5;
	pointer-events: none;
}
.bk_q_row {
	padding: 11px 14px;
}
.bk_q_row.off {
	opacity: .6;
}
.bk_q_row b {
	display: block;
	font: 600 13px var(--font-body);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.bk_q_row .bk_hint {
	display: block;
	margin-top: 2px;
}
.bk_q_mark {
	width: 84px;
	flex-shrink: 0;
	display: flex;
}
.bk_q_switch {
	width: 44px;
	flex-shrink: 0;
	display: flex;
	justify-content: center;
}
.bk_q_del {
	width: 30px;
	flex-shrink: 0;
}

.bk_days {
	padding: 6px 14px;
}
.bk_days.editing {
	padding: 2px 14px;
}
.bk_small_dialog .bk_days.editing {
	padding: 0;
	border: none;
	background: none;
}
.bk_day_row {
	display: flex;
	gap: 16px;
	padding: 7px 0;
	font: 400 13px var(--font-body);
	font-variant-numeric: tabular-nums;
}
.bk_day_row + .bk_day_row,
.bk_day_edit + .bk_day_edit {
	border-top: 1px solid var(--border-default);
}
.bk_day_row > span:first-child {
	width: 110px;
	flex-shrink: 0;
}
.bk_off {
	color: var(--text-muted);
	text-decoration: line-through;
}
.bk_day_edit {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	flex-wrap: wrap;
	padding: 8px 0;
}
.bk_day_name {
	width: 140px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding-top: 5px;
	font: 500 13px var(--font-body);
}
.bk_day_name .bk_off {
	text-decoration: none;
}
.bk_day_ranges {
	flex: 1;
	min-width: 220px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.bk_day_ranges > .bk_hint {
	padding-top: 8px;
}
.bk_range {
	display: flex;
	align-items: center;
	gap: 8px;
}
.bk_time {
	display: grid;
	width: 100px;
}
.bk_days_foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: -6px;
}
.bk_days_foot > span:last-child {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}
.bk_days_toggle {
	font: 600 13px var(--font-body);
	cursor: pointer;
}
.bk_switch_row {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding-top: 4px;
}
.bk_switch_row > div {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.bk_switch_row b {
	font: 600 13px var(--font-body);
}
.bk_check {
	display: flex;
	align-items: center;
	gap: 10px;
	font: 500 13px/1.4 var(--font-body);
	color: var(--text-primary);
	cursor: pointer;
	text-transform: none;
	letter-spacing: 0;
}
.bk_check input {
	width: 16px;
	height: 16px;
	margin: 0;
	flex-shrink: 0;
	accent-color: var(--accent);
}
.bk_check.disabled {
	opacity: .6;
	cursor: default;
}

.bk_small_dialog {
	width: 520px;
	max-width: 100%;
	max-height: 92vh;
	display: flex;
	flex-direction: column;
	background: var(--surface-card);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-l);
	box-shadow: var(--shadow-pop);
	animation: bc-pop-in .25s cubic-bezier(.3,.9,.35,1.1) both;
}
.bk_small_dialog.bk_wide {
	width: 620px;
}
.bk_sd_head {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 24px 20px 0 24px;
}
.bk_sd_head > div {
	flex: 1;
}
.bk_sd_head h2 {
	margin: 0 0 4px;
	font: 600 20px var(--font-display);
	letter-spacing: -.01em;
}
.bk_sd_body {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 18px 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.bk_sd_foot {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	padding: 16px 24px;
	border-top: 1px solid var(--border-default);
}
.bk_field .bk_hint,
.bk_field .bk_error,
.bk_field .bk_muted,
.bk_field .bk_unit,
.bk_field .bk_url {
	text-transform: none;
	letter-spacing: 0;
}
.bk_toggle_box .toggle,
.bk_toggle_box .toggle label {
	width: 100%;
	box-sizing: border-box;
}
.bk_ed_body > *,
.bk_sd_body > * {
	flex-shrink: 0;
}
.bk_set_row {
	padding: 14px 0;
}
.bk_set_row + .bk_set_row,
div + div > .bk_set_row,
.bk_set_row + div > .bk_set_row,
div > .bk_set_row + .bk_set_row {
	border-top: 1px solid var(--border-default);
}
.bk_lead + .bk_set_row,
.bk_lead + div > .bk_set_row {
	border-top: 0;
}
.bk_set_head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}
.bk_set_head > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.bk_set_head b {
	font: 600 14px/1.4 var(--font-body);
	color: var(--text-primary);
}
.bk_set_head .bk_switch {
	flex-shrink: 0;
	margin-top: 2px;
}
.bk_set_extra {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 12px;
}
.bk_set_extra .bk_full {
	flex: 1 1 100%;
}
input.bk_num {
	width: 72px;
	text-align: center;
}
.bk_w140 {
	width: 140px;
}
.bk_inline {
	display: flex;
	align-items: center;
	gap: 10px;
}
.bk_limits {
	margin-bottom: 8px;
}
.bk_warn_note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 4px;
	padding: 10px 12px;
	border: 1px solid var(--warning);
	border-radius: var(--radius-m);
	font: var(--text-small);
	color: var(--text-secondary);
	line-height: 1.5;
}
.bk_warn_note svg {
	flex-shrink: 0;
	margin-top: 2px;
	color: var(--warning);
}
.bk_views {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 16px 0 20px;
}
.bk_view_card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 8px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	cursor: pointer;
}
.bk_view_card.on {
	border-color: var(--accent);
}
.bk_view_card > span {
	display: flex;
	align-items: center;
	gap: 8px;
	font: 600 13px var(--font-body);
	color: var(--text-primary);
}
.bk_view_card i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border: 1px solid var(--border-strong);
	border-radius: 4px;
	color: #fff;
}
.bk_view_card.on i {
	border-color: var(--accent);
	background: var(--accent);
}
.bk_sketch {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
	background: var(--surface-card);
}
.bk_switcher {
	align-self: flex-start;
}
@media (max-width: 719px) {
	.bk_views {
		grid-template-columns: minmax(0, 1fr);
	}
}
.bk_flows {
	margin-top: 16px;
}
.bk_flow_row {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-left: 0;
	padding-right: 0;
	border-bottom: 1px solid var(--border-default);
}
.bk_flow_row .bk_grow {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.bk_flow_open {
	color: var(--text-primary);
	text-decoration: none;
}
.bk_flow_open:hover b {
	color: var(--accent);
}
.bk_flow_unlink {
	font: 500 12px var(--font-body);
	color: var(--danger);
	cursor: pointer;
	white-space: nowrap;
}
.bk_flows_empty {
	display: block;
	padding: 12px 0;
}
.bk_flows_foot {
	display: flex;
	justify-content: flex-end;
	margin-top: 16px;
}
.bk_flow_pick {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 12px;
	text-align: left;
}
.bk_flow_tpl {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 12px 14px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	color: var(--text-primary);
	cursor: pointer;
}
.bk_flow_tpl:hover {
	border-color: var(--accent);
}
.bk_flow_tpl b {
	font: 600 14px var(--font-body);
}
@media (max-width: 719px) {
	.bk_flow_row {
		flex-wrap: wrap;
	}
}
.bk_embed_dialog {
	flex-direction: column;
}
.bk_embed_head {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 24px 28px 18px;
	border-bottom: 1px solid var(--border-default);
}
.bk_embed_head > div {
	flex: 1;
	min-width: 0;
}
.bk_embed_kicker {
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	color: var(--accent);
}
.bk_embed_head h2 {
	margin: 4px 0 0;
	font: 600 22px var(--font-display);
	letter-spacing: -.01em;
	color: var(--text-primary);
}
.bk_embed_bar {
	display: flex;
	gap: 3px;
	width: 80px;
}
.bk_embed_bar i {
	flex: 1;
	height: 4px;
	border-radius: 2px;
	background: var(--border-strong);
}
.bk_embed_bar i.half {
	background: rgba(var(--accent-rgb),.45);
}
.bk_embed_bar i.on {
	background: var(--accent);
}
.bk_embed_x {
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	flex-shrink: 0;
	color: var(--text-muted);
	cursor: pointer;
}
.bk_embed_body {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	scrollbar-width: none;
	padding: 22px 28px 28px;
}
.bk_embed_types {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 28px;
}
.bk_embed_type .bk_sketch {
	box-sizing: border-box;
	border: 2px solid var(--border-strong);
	border-radius: 12px;
	background: var(--surface-card);
	overflow: hidden;
}
@media (max-width: 719px) {
	.bk_embed_types {
		gap: 16px;
	}
}
.bk_embed_type {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 16px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	color: inherit;
	cursor: pointer;
	transition: border-color .15s;
}
.bk_embed_type:hover,
.bk_embed_type.on {
	border-color: var(--accent);
}
.bk_embed_type b {
	display: block;
	font: 600 14px var(--font-body);
	color: var(--text-primary);
}
.bk_embed_type .bk_hint {
	display: block;
	margin-top: 4px;
}
.bk_embed_cols {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}
.bk_embed_opts,
.bk_embed_right {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}
.bk_embed_toggle .bk_switch {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.bk_embed_code {
	height: auto;
	padding: 10px 12px;
	resize: none;
	font-size: 12px;
	line-height: 1.6;
	white-space: pre;
	color: var(--text-secondary);
}
.bk_embed_prevhead {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.bk_color {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 40px;
	padding: 0 12px 0 6px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.bk_color label {
	position: relative;
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	overflow: hidden;
	border: 1px solid var(--border-strong);
	border-radius: 6px;
	cursor: pointer;
}
.bk_color input[type='color'] {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
}
.bk_color input[type='text'] {
	flex: 1;
	min-width: 0;
	height: auto;
	padding: 0;
	border: 0;
	background: transparent;
	font: 400 14px 'IBM Plex Mono', ui-monospace, monospace;
	text-transform: uppercase;
}
.bk_embed_page {
	position: relative;
	min-height: 360px;
	padding: 16px;
	overflow: hidden;
	border-radius: 10px;
	background: #EEF2F0;
}
.bk_embed_page.dark {
	background: #0B0F0E;
}
.bk_embed_page > span[class^='bk_ep_'] {
	display: block;
	height: 8px;
	margin-bottom: 6px;
	border-radius: 4px;
	background: #DCE3E0;
}
.bk_embed_page.dark > span[class^='bk_ep_'] {
	background: #26302D;
}
.bk_embed_page .bk_ep_l1 {
	width: 40%;
	height: 10px;
	margin-bottom: 10px;
}
.bk_embed_page .bk_ep_l2 {
	width: 70%;
}
.bk_embed_page .bk_ep_l3 {
	width: 55%;
}
.bk_embed_inline {
	margin-top: 16px;
}
.bk_embed_frame {
	display: block;
	width: 100%;
	height: 520px;
	border: 0;
	background: transparent;
}
.bk_embed_knopf {
	position: absolute;
	bottom: 20px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: 999px;
	font: 700 12px var(--font-body);
	box-shadow: 0 6px 18px rgba(0,0,0,.25);
	cursor: pointer;
}
.bk_embed_knopf.right,
.bk_embed_try.right {
	right: 20px;
}
.bk_embed_knopf.left,
.bk_embed_try.left {
	left: 20px;
}
.bk_embed_link {
	display: inline-block;
	margin-top: 14px;
	padding: 8px 14px;
	border: 1px solid #DCE3E0;
	border-radius: 6px;
	background: #FFFFFF;
	color: #101614;
	font: 600 12px var(--font-body);
	cursor: pointer;
}
.bk_embed_page.dark .bk_embed_link {
	border-color: #26302D;
	background: #141A18;
	color: #F2F5F4;
}
.bk_embed_try {
	position: absolute;
	bottom: 20px;
	line-height: 1;
}
.bk_embed_pop {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(0,0,0,.35);
	cursor: pointer;
}
.bk_embed_popbox {
	width: 100%;
	cursor: default;
}
.bk_embed_popbox .bk_embed_frame {
	height: 420px;
}
@media (max-width: 719px) {
	.bk_embed_head {
		padding: calc(14px + env(safe-area-inset-top)) 16px 14px;
	}
	.bk_embed_bar {
		display: none;
	}
	.bk_embed_body {
		padding: 16px;
	}
	.bk_embed_cols {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}
}
.bk_redirect {
	width: 100%;
}
.bk_redirect_field {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0 6px 0 0;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.bk_redirect_field.invalid {
	border-color: var(--danger);
}
.bk_redirect_field input {
	flex: 1;
	min-width: 0;
	border: none;
	background: transparent;
	box-shadow: none;
}
.bk_redirect_params {
	text-transform: none;
	letter-spacing: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
	height: 30px;
	padding: 0 10px;
	border-radius: 8px;
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
	cursor: pointer;
}
.bk_redirect_params:hover {
	background: var(--surface-card);
}
.bk_rd_box {
	width: 16px;
	height: 16px;
	box-sizing: border-box;
	display: grid;
	place-items: center;
	border: 1.5px solid var(--border-strong);
	border-radius: 4px;
	color: #fff;
}
.bk_redirect_params.on .bk_rd_box {
	border-color: var(--accent);
	background: var(--accent);
}
.bk_error[hidden] {
	display: none;
}
.bk_app .bk_set_head {
	align-items: center;
	gap: 14px;
}
.bk_app_logo {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	border: 1px solid var(--border-strong);
	border-radius: 10px;
	background: #fff;
}
.bk_app_extra {
	flex-direction: column;
	align-items: stretch;
	gap: 16px;
}
.bk_gtm_id {
	width: 100%;
	text-transform: uppercase;
}
.bk_gtm_events {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 6px;
}
.bk_gtm_events > div {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}
.bk_gtm_events code {
	font: 500 12px 'IBM Plex Mono', ui-monospace, monospace;
	color: var(--text-primary);
}

:is(.plaud_settings, .datev_settings) .plaud_mark {
	margin-left: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	font: 600 11px/1.4 var(--font-body);
	color: var(--warning);
	background: color-mix(in srgb, var(--warning) 14%, transparent);
	vertical-align: middle;
}
:is(.plaud_settings, .datev_settings) .plaud_notice {
	margin: 0 0 16px;
	padding: 12px 16px;
	border: 1px solid var(--accent);
	border-radius: var(--radius-m);
	font: 500 13px/1.4 var(--font-body);
	color: var(--text-primary);
}
:is(.plaud_settings, .datev_settings) .plaud_notice.error {
	border-color: var(--danger);
	color: var(--danger);
}
:is(.plaud_settings, .datev_settings) .plaud_ok {
	color: var(--accent);
	font-weight: 600;
}
:is(.plaud_settings, .datev_settings) .plaud_warn {
	color: var(--warning);
	font-weight: 600;
}
:is(.plaud_settings, .datev_settings) .plaud_row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 0;
}
:is(.plaud_settings, .datev_settings) .plaud_row + .plaud_row {
	border-top: 1px solid var(--border-default);
}
:is(.plaud_settings, .datev_settings) .plaud_row > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
:is(.plaud_settings, .datev_settings) .plaud_row b {
	font: 600 14px/1.4 var(--font-body);
	color: var(--text-primary);
}
:is(.plaud_settings, .datev_settings) .plaud_switch {
	display: inline-flex;
	flex-shrink: 0;
	margin-top: 2px;
	cursor: pointer;
}
:is(.plaud_settings, .datev_settings) .plaud_switch .switch {
	position: relative;
	width: 34px;
	height: 20px;
	box-sizing: border-box;
	border-radius: 10px;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	transition: background .15s, border-color .15s;
}
:is(.plaud_settings, .datev_settings) .plaud_switch .switch:after {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--text-muted);
	transition: left .15s, background .15s;
}
:is(.plaud_settings, .datev_settings) .plaud_switch.on .switch {
	background: var(--accent);
	border-color: var(--accent);
}
:is(.plaud_settings, .datev_settings) .plaud_switch.on .switch:after {
	left: 16px;
	background: var(--on-accent);
}
:is(.plaud_settings, .datev_settings) .card-head.plaud_head {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}
:is(.plaud_settings, .datev_settings) .plaud_head > div:first-child {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
:is(.plaud_settings, .datev_settings) .plaud_head h2,
:is(.plaud_settings, .datev_settings) .plaud_head .hint {
	margin: 0;
}
:is(.plaud_settings, .datev_settings) .plaud_head_right {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}
:is(.plaud_settings, .datev_settings) .plaud_head_right[hidden] {
	display: none;
}
:is(.plaud_settings, .datev_settings) .plaud_mark {
	margin-left: 0;
}
:is(.plaud_settings, .datev_settings) .plaud_error {
	margin: 14px 0 0;
	padding: 10px 14px;
	border: 1px solid var(--danger);
	border-radius: var(--radius-m);
	font: 500 13px/1.4 var(--font-body);
	color: var(--danger);
}
:is(.plaud_settings, .datev_settings) .plaud_ready {
	margin-top: 8px;
}
:is(.plaud_settings, .datev_settings) .plaud_from {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: auto;
	margin: 4px 0 16px;
	font: 500 12px/1.3 var(--font-body);
	letter-spacing: 0;
	text-transform: none;
	color: var(--text-secondary);
}
:is(.plaud_settings, .datev_settings) .plaud_from[hidden] {
	display: none;
}
:is(.plaud_settings, .datev_settings) .plaud_from input {
	width: 100%;
	max-width: 220px;
}
:is(.plaud_settings, .datev_settings) .plaud_privacy {
	margin: 0;
	padding-top: 14px;
	border-top: 1px solid var(--border-default);
}
:is(.plaud_settings, .datev_settings) .plaud_waiting {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 16px;
	padding: 18px 20px;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
:is(.plaud_settings, .datev_settings) .plaud_waiting[hidden] {
	display: none;
}
:is(.plaud_settings, .datev_settings) .plaud_spinner {
	flex: none;
	width: 28px;
	height: 28px;
	box-sizing: border-box;
	border: 3px solid var(--border-strong);
	border-top-color: var(--accent);
	border-radius: 50%;
	animation: plaud_spin .9s linear infinite;
}
@keyframes plaud_spin {
	to { transform: rotate(360deg); }
}
:is(.plaud_settings, .datev_settings) .plaud_waiting_text {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
:is(.plaud_settings, .datev_settings) .plaud_waiting_text b {
	font: 600 14px/1.4 var(--font-body);
	color: var(--text-primary);
}
:is(.plaud_settings, .datev_settings) .plaud_waiting_text span {
	font: 400 13px/1.45 var(--font-body);
	color: var(--text-muted);
}
:is(.plaud_settings, .datev_settings) .plaud_waiting_actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-shrink: 0;
}
:is(.plaud_settings, .datev_settings) .plaud_cancel {
	font: 500 13px var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
}
:is(.plaud_settings, .datev_settings) .plaud_lines {
	margin-top: 8px;
}
:is(.plaud_settings, .datev_settings) .plaud_lines > div {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 11px 0;
	font: 400 13px/1.4 var(--font-body);
}
:is(.plaud_settings, .datev_settings) .plaud_lines > div + div {
	border-top: 1px solid var(--border-default);
}
:is(.plaud_settings, .datev_settings) .plaud_lines .k {
	color: var(--text-muted);
}
:is(.plaud_settings, .datev_settings) .plaud_lines .v {
	color: var(--text-primary);
	text-align: right;
}
:is(.plaud_settings, .datev_settings) .plaud_progress {
	margin-top: 12px;
}
:is(.plaud_settings, .datev_settings) .plaud_progress[hidden] {
	display: none;
}
:is(.plaud_settings, .datev_settings) .plaud_progress_head {
	display: flex;
	justify-content: space-between;
	margin-bottom: 6px;
	font: 500 13px/1.4 var(--font-body);
	color: var(--text-primary);
}
:is(.plaud_settings, .datev_settings) .plaud_progress_count {
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
}
:is(.plaud_settings, .datev_settings) .plaud_bar {
	height: 4px;
	border-radius: 2px;
	background: var(--border-default);
	overflow: hidden;
}
:is(.plaud_settings, .datev_settings) .plaud_bar span {
	display: block;
	height: 100%;
	width: 0;
	border-radius: 2px;
	background: var(--accent);
	transition: width .4s;
}
:is(.plaud_settings, .datev_settings) .plaud_flash {
	margin-top: 12px;
	font: 500 13px/1.4 var(--font-body);
}
:is(.plaud_settings, .datev_settings) .plaud_flash[hidden] {
	display: none;
}
:is(.plaud_settings, .datev_settings) .plaud_flash.ok {
	color: var(--accent);
}
:is(.plaud_settings, .datev_settings) .plaud_flash.error {
	color: var(--danger);
}
:is(.plaud_settings, .datev_settings) .plaud_flash a {
	margin-left: 6px;
	color: var(--accent);
	cursor: pointer;
}
:is(.plaud_settings, .datev_settings) .plaud_sync[hidden] {
	display: none;
}
@media (max-width: 640px) {
	.plaud_settings .card-head.plaud_head,
	.plaud_settings .plaud_waiting {
		flex-direction: column;
		align-items: flex-start;
	}
}
.oauth_page {
	min-height: 100vh;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	box-sizing: border-box;
	background: var(--surface-page, var(--surface-base));
	font-family: var(--font-body);
	color: var(--text-primary);
}
.oauth_card {
	width: 100%;
	max-width: 460px;
	box-sizing: border-box;
	padding: 32px 32px 24px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-l);
	background: color-mix(in srgb, var(--surface-card) 82%, transparent);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
	box-shadow: 0 24px 60px rgba(0,0,0,.18);
	text-align: center;
}
.oauth_logos {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-bottom: 20px;
}
.oauth_logo {
	width: 56px;
	height: 56px;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	color: var(--text-secondary);
	overflow: hidden;
}
.oauth_logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.oauth_logo.bc img {
	width: 40px;
	height: 40px;
}
.oauth_arrows {
	color: var(--text-muted);
}
.oauth_card h1 {
	margin: 0 0 6px;
	font: 600 19px/1.35 var(--font-head, var(--font-body));
}
.oauth_host {
	margin: 0 0 18px;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-secondary);
}
.oauth_host b {
	color: var(--text-primary);
}
.oauth_warn {
	display: flex;
	gap: 8px;
	margin: 0 0 16px;
	padding: 10px 12px;
	border: 1px solid var(--warning);
	border-radius: var(--radius-m);
	text-align: left;
	font: 500 13px/1.4 var(--font-body);
	color: var(--warning);
}
.oauth_warn svg {
	flex: none;
	margin-top: 2px;
}
.oauth_scope {
	text-align: left;
	padding: 14px 16px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.oauth_scope_title {
	margin: 0 0 8px;
	font: 600 13px/1.4 var(--font-body);
}
.oauth_scope ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.oauth_scope li {
	display: flex;
	gap: 8px;
	font: 400 13px/1.45 var(--font-body);
	color: var(--text-secondary);
}
.oauth_scope li svg {
	flex: none;
	margin-top: 3px;
	color: var(--accent);
}
.oauth_note {
	display: flex;
	gap: 10px;
	margin: 14px 0 0;
	text-align: left;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.oauth_note svg {
	flex: none;
	margin-top: 1px;
	color: var(--text-secondary);
}
.oauth_license {
	margin: 16px 0 0;
	font: 500 13px/1.4 var(--font-body);
	color: var(--warning);
}
.oauth_license a,
.oauth_who a {
	color: var(--accent);
}
.oauth_actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 20px;
}
.oauth_actions .button {
	justify-content: center;
	width: 100%;
}
.oauth_actions .button[disabled] {
	opacity: .45;
	pointer-events: none;
}
.oauth_who {
	margin: 14px 0 0;
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
.oauth_result {
	padding: 12px 0;
}
.oauth_result p {
	margin: 0;
	font: 400 14px/1.5 var(--font-body);
	color: var(--text-secondary);
}
.oauth_result_icon {
	width: 48px;
	height: 48px;
	margin: 0 auto 14px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--surface-raised);
	color: var(--text-secondary);
}
.oauth_result_icon.ok {
	color: var(--accent);
	background: color-mix(in srgb, var(--accent) 14%, transparent);
}
.key_app_mark {
	display: inline-block;
	margin-right: 8px;
	padding: 1px 8px;
	border-radius: 999px;
	font: 600 11px/1.5 var(--font-body);
	color: var(--accent);
	background: color-mix(in srgb, var(--accent) 14%, transparent);
}
.key_app_host {
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-secondary);
}
.oauth_apps_empty {
	margin: 12px 0 0;
	padding: 14px 16px;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-m);
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-muted);
}
.list-view.conversations > li[data-open='yes']:before {
	background: var(--danger);
}
.list-view.conversations > li[data-assign='auto']:before,
.list-view.conversations > li[data-assign='manuell']:before {
	background: var(--accent);
}
.list-view.conversations > li {
	cursor: pointer;
}
.conv_company {
	color: var(--text-muted);
}
.conv_assign {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 999px;
	font: 600 11px/1.5 var(--font-body);
	color: var(--accent);
	background: color-mix(in srgb, var(--accent) 12%, transparent);
	white-space: nowrap;
}
.conv_assign.manuell {
	color: var(--text-primary);
	background: color-mix(in srgb, var(--text-primary) 9%, transparent);
}
.conv_assign.open {
	color: var(--danger);
	background: color-mix(in srgb, var(--danger) 12%, transparent);
}
.conv_warn {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	padding: 10px 14px;
	border: 1px solid color-mix(in srgb, var(--danger) 45%, transparent);
	border-radius: var(--radius-m);
	background: color-mix(in srgb, var(--danger) 8%, transparent);
	font: 500 13px/1.4 var(--font-body);
	color: var(--danger);
}
.conv_warn span {
	flex: 1;
}
.conv_warn a {
	color: var(--accent);
	cursor: pointer;
	white-space: nowrap;
}
.conv_empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 40px 24px;
	text-align: center;
	color: var(--text-secondary);
}
.conv_empty p {
	margin: 0;
}
.conv_empty svg {
	color: var(--text-muted);
	margin-bottom: 6px;
}
.conv_dialog {
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 680px;
}
.conv_meta {
	margin: 0;
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-muted);
}
.conv_meta a,
.conv_steps a,
.conv_suggest a {
	color: var(--accent);
	cursor: pointer;
}
.conv_block_title {
	margin-bottom: 8px;
	font: 600 13px/1.4 var(--font-body);
	color: var(--text-primary);
}
.conv_suggest {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 8px;
}
.conv_suggest a {
	padding: 4px 10px;
	border: 1px solid var(--border-strong);
	border-radius: 999px;
	font: 500 13px var(--font-body);
}
.conv_search {
	margin-top: 8px;
}
.conv_search[hidden] {
	display: none;
}
.conv_summary {
	font: 400 13px/1.55 var(--font-body);
	color: var(--text-secondary);
}
.conv_summary h4 {
	margin: 12px 0 4px;
	font: 600 13px/1.4 var(--font-body);
	color: var(--text-primary);
}
.conv_summary p,
.conv_summary ul {
	margin: 0 0 6px;
}
.conv_summary ul {
	padding-left: 18px;
}
.conv_steps {
	margin: 0;
	padding: 0;
	list-style: none;
}
.conv_steps li {
	display: flex;
	align-items: baseline;
	gap: 16px;
	padding: 8px 0;
	border-top: 1px solid var(--border-default);
	font: 400 13px/1.45 var(--font-body);
}
.conv_steps li > span {
	flex: 1;
}
.conv_steps li a {
	flex: none;
	white-space: nowrap;
	font-weight: 500;
}
.conv_steps li .done,
.conv_steps li a.done {
	color: var(--text-muted);
}
.conv_transcript,
.conv_summary {
	max-height: 320px;
	overflow: auto;
	padding: 12px 14px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	font: 400 13px/1.55 var(--font-body);
}
.conv_transcript p {
	margin: 0 0 8px;
}
.conv_transcript .who {
	font-weight: 600;
	color: var(--text-primary);
	margin-right: 6px;
}
.conv_transcript .at {
	margin-right: 8px;
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
}
.conv_loading {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 20px 0;
	color: var(--text-secondary);
}
.conv_summary hr {
	margin: 12px 0;
	border: 0;
	border-top: 1px solid var(--border-default);
}
.conv_more {
	margin-left: 6px;
	padding: 0 6px;
	border-radius: 999px;
	font: 600 11px/1.6 var(--font-body);
	color: var(--text-secondary);
	background: var(--surface-raised);
}
.conv_line {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
	min-width: 0;
}
.conv_line svg {
	flex: none;
}
.conv_line span {
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.conv_small {
	margin: 6px 0 0;
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
.conv_tile {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 10px 9px 12px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.conv_tile + .conv_tile,
.conv_tile + .conv_search,
.conv_search + .conv_tile {
	margin-top: 10px;
}
.conv_avatar {
	flex: none;
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	font: 600 12px/1 var(--font-body);
	color: var(--accent);
	background: rgba(var(--accent-rgb),.12);
}
.conv_tile_text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.conv_tile_name,
.conv_tile_company {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.conv_tile_name {
	font: 600 13px/1.4 var(--font-body);
	color: var(--text-primary);
}
.conv_tile_company {
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
}
.conv_tile_company:hover {
	color: var(--accent);
}
.conv_tile .conv_change {
	flex: none;
	height: 28px;
	padding: 0 10px;
	display: inline-flex;
	align-items: center;
	font: 600 12px var(--font-body);
	color: var(--accent);
	opacity: .55;
	cursor: pointer;
	transition: opacity .15s;
}
.conv_tile:hover .conv_change {
	opacity: 1;
}
.conv_tile .conv_remove {
	flex: none;
	display: inline-flex;
	color: var(--text-muted);
	cursor: pointer;
}
.conv_tile .conv_remove:hover {
	color: var(--danger);
}
.conv_add {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 10px;
	font: 600 12px var(--font-body);
	color: var(--accent);
	cursor: pointer;
}
.conv_people .conv_warn {
	margin-bottom: 10px;
}
.conv_suggest a {
	cursor: pointer;
}
.conv_search_cancel {
	display: inline-block;
	margin-top: 6px;
	font: 500 12px var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
}
.conv_pick_wrap {
	position: relative;
}
.conv_pick_wrap input {
	width: 100%;
	box-sizing: border-box;
}
.conv_pick_wrap .cp_hits {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 4px);
	z-index: 60;
	max-height: 280px;
	overflow-y: auto;
	padding: 4px;
	background: var(--popover-bg, var(--surface-card));
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	box-shadow: var(--shadow-pop);
}
.conv_pick_wrap .cp_hits .none {
	padding: 8px 10px;
	font: 400 13px var(--font-body);
	color: var(--text-muted);
}
.conv_pick_wrap .cp_hit {
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 7px 10px;
	border-radius: var(--radius-s);
	cursor: pointer;
}
.conv_pick_wrap .cp_hit.on,
.conv_pick_wrap .cp_hit:hover {
	background: rgba(var(--accent-rgb),.08);
}
.conv_pick_wrap .cp_hit .n {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font: 500 13px var(--font-body);
	color: var(--text-primary);
}
.conv_pick_wrap .cp_hit .o {
	margin-left: 6px;
	font-weight: 400;
	color: var(--text-muted);
}
#conv_box .conv_search .contact_list {
	margin-top: 6px;
}
#conv_box .conv_search .contact_list[hidden] {
	display: none;
}
#conv_box .conv_search[hidden] {
	display: none;
}
#conv_box .new_contact_box {
	margin-top: 10px;
}
.conv_ncb_error {
	margin: 10px 0 0;
	font: 500 12px/1.4 var(--font-body);
	color: var(--danger);
}
.conv_ncb_actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 12px;
}
.conv_ncb_actions .button.busy {
	opacity: .6;
	pointer-events: none;
}
.conv_need .conv_new_caller {
	margin-left: auto;
	color: var(--accent);
	cursor: pointer;
	white-space: nowrap;
}
.conv_summary {
	font: 400 13px/1.6 var(--font-body);
	color: var(--text-secondary);
}
.conv_summary b {
	font-weight: 600;
	color: var(--text-primary);
}
.conv_summary p {
	margin: 0 0 8px;
}
.conv_summary .conv_h3 {
	margin: 22px 0 6px;
	font: 600 13px/1.45 var(--font-body);
	color: var(--text-primary);
}
.conv_summary .conv_h4 {
	margin: 18px 0 6px;
	font: 600 13px/1.45 var(--font-body);
	color: var(--text-primary);
}
.conv_summary .first {
	margin-top: 0;
}
.conv_summary .conv_list {
	list-style: none;
	margin: 8px 0 8px;
	padding: 0;
}
.conv_summary .conv_list li {
	position: relative;
	padding-left: 14px;
	margin: 0 0 4px;
}
.conv_summary .conv_list li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--accent);
}
.conv_summary .conv_list li.l2 {
	margin-left: 14px;
}
.conv_summary .conv_list li.l2:before {
	background: var(--text-muted);
}
.conv_summary .conv_quote {
	margin: 8px 0;
	padding: 10px 14px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	background: transparent;
}
.conv_summary .conv_quote p {
	margin: 0 0 4px;
}
.conv_summary .conv_quote p:last-child {
	margin: 0;
}
.conv_steps li {
	align-items: flex-start;
	gap: 10px;
}
.conv_steps li > .conv_step_pick {
	flex: none;
	width: 15px;
	height: 15px;
	margin: 2px 0 0;
	accent-color: var(--accent);
}
.conv_steps li > .conv_step_pick:disabled {
	opacity: .4;
	cursor: not-allowed;
}
.conv_steps_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 30px;
}
.conv_steps li > .conv_task {
	margin-left: 6px;
}
.conv_steps li .conv_step_text {
	flex: 1;
	font: 400 13px/1.5 var(--font-body);
	color: var(--text-primary);
	white-space: normal;
}
.conv_steps li .conv_task {
	font: 600 12px/1.6 var(--font-body);
}
.conv_steps li .conv_task.done {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font: 500 12px/1.6 var(--font-body);
	color: var(--accent);
}
.conv_event {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 10px 9px 18px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.conv_event:before {
	content: "";
	position: absolute;
	left: 7px;
	top: 9px;
	bottom: 9px;
	width: 3px;
	border-radius: 2px;
	background: var(--cal);
}
.conv_event_text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.conv_event_text b {
	font: 600 13px/1.4 var(--font-body);
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.conv_event_text span {
	font: 400 12px/1.4 var(--font-body);
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.conv_event_open {
	flex: none;
	height: 28px;
	padding: 0 10px;
	display: inline-flex;
	align-items: center;
	font: 600 12px var(--font-body);
	color: var(--accent);
	opacity: .55;
	transition: opacity .15s;
}
.conv_event:hover .conv_event_open {
	opacity: 1;
}
.conv_none {
	margin: 0;
	font: 400 13px var(--font-body);
	color: var(--text-muted);
}
.conv_tab_loading {
	margin: 0;
	font: 400 13px var(--font-body);
	color: var(--text-muted);
}
#insert_box .conv_tab .firms_legend,
#insert_box .conv_tab .firms_row {
	grid-template-columns: 36px 92px minmax(0,1.4fr) minmax(0,1fr) 64px 36px;
}
#insert_box .conv_tab .firms_row {
	cursor: pointer;
}
#insert_box .conv_tab .cell {
	font: 400 13px/1.4 var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#insert_box .conv_tab .firms_legend .cell {
	font: inherit;
	color: inherit;
}
#insert_box .conv_tab .cell.title .name {
	color: var(--text-primary);
}
#insert_box .conv_tab .cell.date,
#insert_box .conv_tab .cell.dur {
	font-variant-numeric: tabular-nums;
}
#insert_box .conv_tab .cell.dur {
	text-align: right;
	padding-right: 4px;
}
#insert_box .conv_tab .conv_tab_sum {
	font: 400 12px/1 var(--font-body);
	color: var(--text-muted);
}
.timeline .tl_conv {
	cursor: pointer;
}
.timeline .tl_conv:hover .tl_title {
	color: var(--accent);
}
.timeline .tl_conv .tl_text {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.timeline .tl_icon.conversation,
.timeline .tl_icon.bill {
	color: var(--accent);
}
#conv_mt_box .conv_mt {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
#conv_mt_box .conv_mt_field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font: 500 12px var(--font-body);
	color: var(--text-muted);
}
#conv_mt_box .conv_mt_preview {
	padding: 12px 14px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
	font: 400 13px/1.55 var(--font-body);
	color: var(--text-secondary);
}
#conv_mt_box .conv_mt_preview p {
	margin: 0 0 6px;
}
#conv_mt_box .conv_mt_k {
	margin: 0 0 4px;
	font: 600 11px/1.4 var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
#conv_mt_box .conv_mt_k + p + .conv_mt_k {
	margin-top: 10px;
}
#conv_mt_box .conv_mt_list {
	list-style: none;
	margin: 0;
	padding: 0;
}
#conv_mt_box .conv_mt_list li {
	position: relative;
	padding-left: 14px;
	margin: 0 0 4px;
}
#conv_mt_box .conv_mt_list li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--accent);
}
#conv_mt_box .conv_mt_list.check li {
	padding-left: 22px;
}
#conv_mt_box .conv_mt_list.check li:before {
	top: 4px;
	width: 12px;
	height: 12px;
	border-radius: 3px;
	border: 1px solid var(--border-strong);
	background: transparent;
}
#conv_mt_box .conv_mt_hint {
	margin: 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
#conv_mt_box .conv_mt_error {
	margin: 0;
	font: 500 12px var(--font-body);
	color: var(--danger);
}
#conv_mt_box .conv_mt_foot {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
}
.list-view.conversations > li[data-hidden='yes'] {
	opacity: .55;
}
.conv_assign.hidden {
	padding: 1px 8px;
	border: 1px solid var(--border-strong);
	color: var(--text-secondary);
	background: var(--surface-raised);
}
.list-view.conversations > li[data-hidden='yes']:before {
	background: transparent;
}
.datev_settings {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 760px;
}
.datev_settings .settings-card .card-head:has(> .card-title > .hint) {
	margin-bottom: 20px;
}
.datev_env {
	display: inline-flex;
	align-items: center;
	height: 22px;
	padding: 0 9px;
	border-radius: var(--radius-s);
	border: 1px solid rgba(245,185,80,.45);
	background: rgba(245,185,80,.1);
	color: var(--warning);
	font: 600 11px var(--font-body);
	white-space: nowrap;
}
.datev_env.prod {
	border-color: rgba(0,208,155,.45);
	background: rgba(0,208,155,.1);
	color: var(--accent);
}
.datev_head_right {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}
.datev_head_right[hidden],
.datev_settings [data-show][hidden] {
	display: none;
}
.datev_head_right .button.disabled {
	opacity: .45;
	cursor: default;
	box-shadow: none;
}
.datev_back {
	font: 600 13px var(--font-body);
	color: var(--text-muted);
	cursor: pointer;
}
.datev_back[hidden] {
	display: none;
}
.datev_notice {
	margin-bottom: 16px;
}
.datev_link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 600 13px var(--font-body);
	color: var(--accent);
	text-decoration: none;
	white-space: nowrap;
}
.datev_link:hover {
	text-decoration: none;
	filter: brightness(1.15);
}
.bank_line .datev_link {
	color: inherit;
}
.datev_numbers,
.datev_accounts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px;
}
.datev_accounts {
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
.datev_field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	width: auto;
	margin: 0;
	text-transform: none;
	letter-spacing: 0;
}
.datev_settings .lbl,
.bank_dlg .datev_field .lbl {
	font: 500 12px var(--font-body);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.datev_field input[type=text] {
	width: 100%;
	box-sizing: border-box;
	height: 40px;
	padding: 0 12px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-primary);
	font: 400 14px var(--font-body);
	font-variant-numeric: tabular-nums;
}
.datev_field input[type=text]:focus {
	outline: none;
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.datev_field input.invalid,
.datev_field input.invalid:focus {
	border-color: var(--danger);
	box-shadow: none;
}
.datev_field_hint {
	font: 400 12px/1.5 var(--font-body);
	color: var(--text-muted);
}
.datev_numbers_hint {
	margin: 8px 0 0;
}
.datev_services_label {
	display: block;
	margin: 20px 0 2px;
}
.datev_services_error,
.datev_accounts_error {
	margin: 0 0 6px;
	font: 400 12px var(--font-body);
	color: var(--danger);
}
.datev_services_error[hidden],
.datev_accounts_error[hidden] {
	display: none;
}
.datev_privacy {
	margin: 6px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--border-default);
}
.datev_wait {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	padding: 18px 20px;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.datev_wait .plaud_waiting_text {
	flex: 1 1 260px;
}
.datev_connected > .bank_line {
	margin-bottom: 14px;
}
.datev_line_actions {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	flex-shrink: 0;
}
.datev_lines > div {
	display: grid;
	grid-template-columns: minmax(140px, 180px) 1fr;
	gap: 16px;
	align-items: center;
	padding: 12px 0;
}
.datev_lines > div + div {
	border-top: 1px solid var(--border-default);
}
.datev_lines .k {
	font: 400 13px var(--font-body);
	color: var(--text-muted);
}
.datev_lines .v {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	min-width: 0;
	font: 500 14px var(--font-body);
	color: var(--text-primary);
}
.datev_lines .v .muted {
	font: 400 12px var(--font-body);
	color: var(--text-muted);
}
.datev_lines .num,
.datev_settings .num,
.bank_dlg .num {
	font-variant-numeric: tabular-nums;
}
.datev_lines .v.datev_services_v {
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}
.datev_tag {
	display: inline-flex;
	align-items: center;
	height: 24px;
	padding: 0 10px;
	border-radius: 999px;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	font: 500 12px var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
}
.datev_change {
	font: 600 13px var(--font-body);
	text-decoration: none;
	color: var(--accent);
	cursor: pointer;
}
.datev_ampel {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: 600 14px var(--font-body);
	color: var(--accent);
}
.datev_ampel i {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 8px color-mix(in srgb, currentColor 60%, transparent);
}
.datev_ampel.warning {
	color: var(--warning);
}
.datev_ampel.danger {
	color: var(--danger);
}
.datev_foot {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--border-default);
}
.datev_foot .bank_hint {
	margin: 0;
}
.datev_check {
	display: inline-flex;
	color: var(--accent);
}
.datev_check.warn {
	color: var(--warning);
}
.datev_setup_missing {
	margin-top: 12px;
}
.datev_accounts_label {
	display: block;
	margin: 22px 0 10px;
}
.datev_accounts + .datev_accounts_error {
	margin-top: 8px;
}
.datev_dxso_card > .bank_hint:last-child {
	margin-top: 10px;
}
.datev_settings .list-filter {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 14px;
}
.datev_settings .list-filter .spacer {
	flex: 1;
}
.datev_settings .datev_mail_card .datev_mail_note {
	margin-bottom: 14px;
}
.list-view.datev_types > li,
.list-view.datev_protocol > li {
	cursor: default;
}
.list-view.datev_protocol > li[data-id] {
	cursor: pointer;
}
.list-view.datev_protocol > li[data-state='verarbeitet']:before {
	background: var(--accent);
}
.list-view.datev_protocol > li[data-state='teilweise']:before {
	background: var(--warning);
}
.list-view.datev_protocol > li[data-state='fehler']:before {
	background: var(--danger);
}
.list-view.datev_protocol > li[data-state='uebertragen']:before,
.list-view.datev_protocol > li[data-state='offen']:before,
.list-view.datev_protocol > li[data-state='in_arbeit']:before,
.list-view.datev_protocol > li[data-state='abgebrochen']:before {
	background: var(--border-strong);
}
.list-view > li.datev_empty {
	padding: 18px 16px;
	color: var(--text-muted);
	cursor: default;
}
.list-view > li.datev_empty > p {
	width: 100%;
	white-space: normal;
}
.datev_pill {
	display: inline-flex;
	align-items: center;
	height: 24px;
	padding: 0 10px;
	border-radius: 999px;
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	font: 600 11px var(--font-body);
	color: var(--text-secondary);
	white-space: nowrap;
}
.datev_pill.accent {
	border-color: color-mix(in srgb, var(--accent) 55%, transparent);
	background: color-mix(in srgb, var(--accent) 12%, transparent);
	color: var(--accent);
}
.datev_pill.warning {
	border-color: color-mix(in srgb, var(--warning) 55%, transparent);
	background: color-mix(in srgb, var(--warning) 12%, transparent);
	color: var(--warning);
}
.datev_pill.danger {
	border-color: color-mix(in srgb, var(--danger) 55%, transparent);
	background: color-mix(in srgb, var(--danger) 12%, transparent);
	color: var(--danger);
}
.datev_id {
	font: 400 12px ui-monospace, Menlo, monospace;
	color: var(--text-secondary);
	word-break: break-all;
}
.datev_copy,
.datev_after a:not(.datev_link) {
	font: 600 12px var(--font-body);
	color: var(--accent);
	cursor: pointer;
}
.datev_after a:not(.datev_link) {
	font-size: 13px;
}
.datev_log_label {
	display: block;
	margin: 18px 0 8px;
}
.datev_detail_help {
	margin-top: 12px;
}
.datev_log {
	padding: 2px 14px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.datev_log > div {
	display: grid;
	grid-template-columns: 48px 70px 1fr;
	gap: 12px;
	padding: 9px 0;
	font: 400 13px/1.45 var(--font-body);
	color: var(--text-secondary);
}
.datev_log > div + div {
	border-top: 1px solid var(--border-default);
}
.datev_log .num,
.datev_log .muted {
	color: var(--text-muted);
}
.datev_log [class^='datev_log_'] {
	font-weight: 600;
	color: var(--text-muted);
}
.datev_log .datev_log_warning {
	color: var(--warning);
}
.datev_log .datev_log_danger {
	color: var(--danger);
}
.datev_send_body {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.datev_send_body .bank_hint {
	margin: 0;
}
.datev_send_body .select {
	width: 100%;
}
.datev_send_list {
	display: flex;
	flex-direction: column;
	max-height: 220px;
	overflow-y: auto;
	padding: 2px 14px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-m);
	background: var(--surface-raised);
}
.datev_send_list > div {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 0;
	font: 400 13px var(--font-body);
}
.datev_send_list > div + div {
	border-top: 1px solid var(--border-default);
}
.datev_send_title {
	flex: 1 1 120px;
	min-width: 90px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--text-primary);
}
.datev_big {
	display: inline-flex;
	color: var(--warning);
	cursor: help;
}
.datev_way {
	flex: 0 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font: 500 12px var(--font-body);
	color: var(--text-muted);
}
.datev_way.accent {
	color: var(--accent);
}
.datev_stapel_account {
	flex: 0 0 104px;
	width: 104px;
	box-sizing: border-box;
	height: 30px;
	padding: 0 10px;
	border-radius: var(--radius-m);
	border: 1px solid var(--border-strong);
	background: var(--surface-raised);
	color: var(--text-primary);
	font: 400 13px var(--font-body);
	font-variant-numeric: tabular-nums;
}
.datev_stapel_account:focus {
	outline: none;
	border-color: var(--accent);
	box-shadow: var(--glow-border);
}
.datev_banks {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 12px 16px;
}
.datev_progress {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.datev_progress_head {
	display: flex;
	justify-content: space-between;
	font: 500 13px var(--font-body);
	color: var(--text-secondary);
}
.datev_progress_head .num {
	color: var(--text-muted);
}
.datev_progress .plaud_bar {
	height: 4px;
	border-radius: 2px;
	background: var(--border-default);
	overflow: hidden;
}
.datev_progress .plaud_bar span {
	display: block;
	height: 100%;
	border-radius: 2px;
	background: var(--accent);
	transition: width .2s;
}
.datev_send_result {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.datev_after {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}
.bank_dlg_footer .button.datev_send_go.disabled {
	opacity: .45;
	cursor: default;
	box-shadow: none;
}
.datev_mark {
	display: inline-flex;
	vertical-align: -2px;
	color: var(--accent);
	cursor: help;
}
.list-view.bills .datev_mark {
	margin-left: 6px;
}
.datev_mark.datev_busy {
	color: var(--text-muted);
}
.datev_mark.datev_error {
	color: var(--danger);
	cursor: pointer;
}
.datev_mark.datev_warn {
	color: var(--warning);
	cursor: pointer;
}
.datev_mark .sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.list-view.bank-receipts li .receipt_state.datev .datev_mark {
	vertical-align: middle;
}
@media (max-width: 770px) {
	.list-view.datev_protocol > li > p[data-id='weg'],
	.list-legend.for-datev-protocol > p[data-id='weg'] {
		display: none;
	}
	.datev_lines > div {
		grid-template-columns: 1fr;
		gap: 6px;
	}
	.datev_head_right {
		flex-wrap: wrap;
	}
}
.list-card.measure .list-view.datev_protocol > li > p[data-id='beleg'] {
	max-width: 200px !important;
}
.anb_split > .anb_nav {
	top: 8px;
}
.anb_content {
	max-width: 760px;
}
.anb_pick {
	display: none;
}
@media (max-width: 770px) {
	body:not(.static) .anb_split > .anb_nav {
		display: none;
	}
	body:not(.static) .anb_pick {
		display: block;
		margin-bottom: 20px;
	}
	body:not(.static) .anb_pick .select {
		width: 100%;
	}
}
.mail-account-settings:first-child {
	margin-top: 0;
}
.mail-account-settings + #email_connect {
	margin-top: 24px;
}
#bank_settings .bank_empty_actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 8px;
}
.settings-card > .card_action {
	margin-top: 18px;
}
.settings-card > .hint + .card_action {
	margin-top: -2px;
}
.settings-card > .card_action[hidden] {
	display: none;
}
#bank_settings .bank_list {
	margin-top: 16px;
}
:is(.bank_line.danger, .plaud_notice.error, .plaud_error, .usage_alert.danger, .agent_limit_note.danger, .docs_upload_note.danger, .docs_error_box) {
	--accent: var(--danger);
	--accent-hover: var(--danger);
	--accent-rgb: 255,69,58;
	--glow-border: 0 0 0 1px rgba(255,69,58,.35), 0 0 14px rgba(255,69,58,.3);
}
:is(.bank_line:not(.accent):not(.danger):not(.quiet), .license_banner.free, .usage_alert.warning, .agent_limit_note.warning) {
	--accent: var(--warning);
	--accent-hover: var(--warning);
	--accent-rgb: 245,185,80;
	--glow-border: 0 0 0 1px rgba(245,185,80,.35), 0 0 14px rgba(245,185,80,.3);
}
:is(.bank_line.danger, .bank_line:not(.accent):not(.quiet), .plaud_notice.error, .plaud_error, .usage_alert, .agent_limit_note:is(.warning, .danger), .license_banner.free, .docs_upload_note.danger, .docs_error_box) .button {
	border-color: var(--accent);
	color: var(--accent);
	background: transparent;
}
:is(.bank_line.danger, .bank_line:not(.accent):not(.quiet), .plaud_notice.error, .plaud_error, .usage_alert, .agent_limit_note:is(.warning, .danger), .license_banner.free, .docs_upload_note.danger, .docs_error_box) .button:hover {
	border-color: var(--accent);
	color: var(--accent);
	background: color-mix(in srgb, var(--accent) 8%, transparent);
	box-shadow: var(--glow-border);
}
:is(.bank_line.danger, .bank_line:not(.accent):not(.quiet), .plaud_notice.error, .plaud_error, .usage_alert, .agent_limit_note:is(.warning, .danger), .license_banner.free, .docs_upload_note.danger, .docs_error_box) a:not(.button) {
	color: var(--accent);
}
.button.primary:hover,
button.primary:hover,
.button.good:hover {
	background: color-mix(in srgb, var(--accent) 8%, transparent);
}
.plaud_settings .plaud_warn ~ a {
	color: var(--warning);
}
