body {
	background-color: #EBEBEB;
	margin: 0;
	margin-bottom: 20px;
	padding: 0;
	color: black;
	font: 15px/20px verdana,arial,helvetica,sans-serif;
}
input,textarea,select {
	font-size: 16px;
}
div,#first,#second,#header {
	display: block;
	position: relative;
}
a img {
	border: none;
}
a {
	color: navy;
	text-decoration: none;
	
}
a:hover {
	text-decoration: underline;
}
th {
	font-weight: normal;
	text-align: left;
}
h1,h2,h3 {
	margin-top: 0;
	padding-top: 0;
}
h1 {
	font-weight: normal;
	font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
	line-height: 32px;
}
h2 {
	font-weight: normal;
	font-size: 18px;

}
h3 {
	font-size: 16px;
}
hr {
	border:1px solid #EBEBEB;
}
div.error {
	background-color: #950101;
	color: white;
	padding: 5px;
	border-radius: 5px;
	margin-top: 8px;
	margin-bottom: 8px;
}
div.notice {
	background-color: #009520;
	color: white;
	padding: 5px;
	border-radius: 5px;
	margin-top: 8px;
	margin-bottom: 8px;
}
span.error, .delete {
	color: #e70000;
}
input.error, textarea.error, tr.error, td.error, select.error {
	background-color: #f9d1d1;
}
.hidden {
	display: none;
}
.small {
	font-size: 11px;
}
.redtext {
	color: maroon !important;
}
.greentext {
	color: #009520;
}
.clear {
	clear: both;	
}
.pad {
	padding: 20px;
}
.pad-nobottom {
	padding: 20px 20px 0px 20px;
}
.pad-notop {
	padding: 0px 20px 20px 20px;
}
.align-right {
	text-align: right;
}
.align-left {
	text-align: left;
}
.center {
	text-align: center;
}
.strong {
	font-weight: bold !important;
}
.money {
	text-align: right;
}
.hidden {
	display: none;
}

.logoutlink {
	color: #ddd7b0 !important;
}
.pagecenter {
	width: 960px;
	margin: auto;
}
.whitebox {
	margin-top: 20px;
	width: 100%;
	background-color: var(--fb-surface);
}
.leftcolumn {
	width: 664px;
	float: left;
}
.leftbox,.loginbox {
	width: 664px;
	background-color: var(--fb-surface);
	margin-top: 20px;
}
.leftbox {
	float: left;
}
.leftbox form {
	margin-bottom:20px;
}
.loginbox {
	margin: 20px auto;
}
.right_column {
	width: 280px;
	float: right;
}
.rightbox {
	margin-top: 20px;
	width: 280px;
	background-color: var(--fb-surface);
	float: right;
}
.rightbox .pad {
	padding: 15px;
	display:block;
}
.rightbox h3 {
	
}
.option_link {
	position:absolute;
	right:15px;
	top:15px;
}

/* HEADER */
#header {
	color: white;
	min-width: 960px;
}
#header a {
	text-decoration: none;
	color: white;
	display: block;
}
#header a:hover {
	text-decoration: underline;
}
#first {
	height: 50px;
	background: url(/images/header_gradient.jpg) repeat-x #121B22;
}
#second {
	height: 30px;
	background: url(/images/header_gradient2.jpg) repeat-x #101124;
}
#second .toprightmenu {
	float: right;
	margin-right: 20px;
	margin-top: 5px;
}
#title {
	color: #BFDFFF;
	font: normal 25px "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
	padding: 9px 0px 0px 9px;
}
#topmenu {
	list-style-type: none;
	display: block;
	position: absolute;
	z-index: 100;
	top: 0px;
	left: 270px;
	padding: 0;
	margin: 0;
}
#topmenu li {
	float: left;
	margin-left: 10px;
	text-align: center;
}
#topmenu li img {
	margin-bottom: 13px;
}
#topmenu li a, #topmenu li a.selected {
	display: block;
	position: relative;
	height: 60px !important;
	padding: 10px 15px;
}
#topmenu li a:hover {
	background-color: rgba(142, 164, 190, 0.5);
}
.right_menu {
	list-style-type: none;
	padding: 0;
	margin: 0;
	
}
.right_menu a {
	display: block;
	border-top: 1px dotted gray;
	padding: 10px;
	padding-left:15px;
}
.required {
	border-left: 2px solid red;
}


/* USERS */
#new_user_link {
	float: right;
	display: block;
}
.space_links a {
	margin-left: 10px;
}

/* FRONT PAGE */
.frontnav a {
	width:400px;
	padding:30px;
	float:left;
	text-align:center;
	font-size:25px;
}
.frontnav a:hover {
	background-color:#BFDFFF;
}


/* REPORT */
.report hr {
	border: 2px solid #EBEBEB;
}
.report table tr {
	margin-bottom: 15px;
}
.space_labels label {
	margin-right: 10px;
}
.meta {
	background-color: #d6feb4;
}
.versionlist {
	max-height: 200px;
	overflow-x: auto;
}
div.file {
	margin-bottom: 10px;
	display: block;
	width: 302px;
	float: left;
	margin-right: 10px;
}
div.file .options {
	position: absolute;
	top: 0;
	right: 0;
	background-color: var(--fb-surface);
	border-bottom-left-radius: 3px;
}
#report_tabs {
	background-color: #EBEBEB;
}
#report_tabs ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
#report_tabs ul li {
	display: block;
	float: left;
	padding: 20px 20px 20px 20px;
	margin-right: 15px;
	font-size: 25px;
}
#report_tabs ul li.active {
	background-color: var(--fb-surface);
}
.note_edit_link {
	position:absolute;
	display: block;
	right: 15px;
	top: 15px;
}

/* TASKS */
.task {
	display: block;
	position: relative;
}
.task .options {
	display: none;
}
.task:hover .options {
	display:block;
	position:absolute;
	right:0px;
	top:0px;
}
.done, .done a {
	text-decoration: line-through;
	color:gray;
}
.overdue, .overdue a {
	color:#eb3800;
}

/* !CALENDAR */
.header {
	text-align:center;
	font-size:120%;
	margin-bottom:10px;
}
.header a {
	color:black;
	text-decoration:none;
	padding:5px;
}
.day_name {
	width:84px;
	float:left;
	border:1px solid white;
	margin-right:1px;
	font-size:80%;
	color:gray;
}
.day, .offset {
	width:82px;
	height:80px;
	padding:1px;
	float:left;
	border:1px solid white;
	margin-right:1px;
	margin-bottom:1px;
}
.day {
	border:1px solid #EBEBEB;
}
.day_content {
	height:60px;
	overflow-y: auto;
	font-size:10px;
	line-height:13px;
}

/* DASHBOARD */
#import_link {
	position: absolute;
	display: block;
	right: 20px;
	top: 30px;
}
.report_list tr.clickable:hover {
	background-color: #BFDFFF;
	cursor: pointer;
}
.options a {
	padding: 5px;
	font-size: 120%;
}
.pagination {
	text-align: right;
	width: 300px;
	float: right;
}
.pagination * {
	padding-left: 5px;
	padding-right: 5px;
}
.sorting_options {
	float: left;
	width: 400px;
}

/* Import */
#import_history {
	max-height: 400px;
	overflow: auto;
}

/* STATISTICS */
table.statistics td {
	border: 1px solid silver;
	padding: 5px;
}
table.statistics tr.total td {
	border-bottom: 2px solid black;
	font-weight: bold;
}
.overflow {
	display: block;
	overflow: auto;
}

#footer {
	width: 960px;
	margin: 10px auto 0px auto;
	font-size: 10px;
	text-align: right;
}
.th {
	background-color: var(--fb-hover);
}
/* KI-Assistent (form suggestions) */
.ki_box {
	margin: 18px 0 6px;
	border: 1px solid var(--fb-blue-border);
	border-radius: 10px;
	background: linear-gradient(180deg, var(--fb-blue-tint) 0%, var(--fb-surface) 120px);
	box-shadow: 0 1px 2px rgba(30, 32, 36, .06), 0 4px 14px rgba(30, 32, 36, .05);
	overflow: hidden;
	font-family: var(--fb-font);
}
.ki_head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; }
.ki_icon {
	flex: 0 0 36px; height: 36px; border-radius: 9px;
	display: flex; align-items: center; justify-content: center;
	color: #fff; background: var(--fb-accent);
	box-shadow: 0 2px 6px rgba(54, 116, 152, .35);
}
.ki_title { flex: 1; min-width: 0; line-height: 1.35; }
.ki_title strong { display: block; font-size: 15px; color: var(--fb-navy); }
.ki_title span { display: block; font-size: 12px; color: var(--fb-muted); }
.ki_btn, .ki_primary {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 14px; border: 0; border-radius: 7px;
	font-size: 13px; font-weight: 600; color: #fff; cursor: pointer; white-space: nowrap;
	background: var(--fb-accent);
	box-shadow: 0 1px 2px rgba(43, 93, 122, .3);
	transition: transform .1s, box-shadow .15s, opacity .15s;
}
.ki_btn:hover, .ki_primary:hover { background: var(--fb-blue-dark); }
.ki_btn:active, .ki_primary:active { transform: translateY(1px); }
.ki_btn:disabled, .ki_primary:disabled { opacity: .55; cursor: default; box-shadow: none; }
.ki_btn.is-busy svg { animation: ki_spin 1s linear infinite; }

#ki_result:empty { display: none; }
#ki_result { border-top: 1px solid var(--fb-line); }
.ki_section { padding: 12px 16px 14px; }
.ki_section + .ki_section { border-top: 1px solid var(--fb-line); }
.ki_section_head {
	display: flex; align-items: center; gap: 6px; margin-bottom: 8px;
	font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--fb-muted);
}

.ki_list { border: 1px solid var(--fb-border-soft); border-radius: 8px; overflow: hidden; background: var(--fb-surface); }
.ki_row {
	display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 10px 12px;
	font-weight: normal; cursor: pointer; transition: background .15s, opacity .15s;
}
.ki_row + .ki_row { border-top: 1px solid var(--fb-line); }
.ki_row:hover { background: var(--fb-blue-tint); }
.ki_row.is-off .ki_body { opacity: .5; }
.ki_body { flex: 1; min-width: 0; transition: opacity .15s; }
.ki_field { font-size: 11px; color: var(--fb-muted); margin-bottom: 1px; }
.ki_value b { font-size: 14px; color: var(--fb-text); }
.ki_badge {
	display: inline-block; margin-left: 8px; padding: 1px 7px; border-radius: 10px;
	font-size: 11px; color: #9a5b00; background: #fff4de; vertical-align: 1px;
}
.ki_quote {
	display: inline-flex; align-items: flex-start; gap: 5px; max-width: 100%; margin-top: 4px; padding: 3px 8px;
	border-radius: 6px; font-size: 12px; font-style: italic; color: var(--fb-text-2); background: var(--fb-blue-tint);
}
.ki_quote svg { flex: 0 0 auto; margin-top: 2px; color: var(--fb-blue-border); }

/* toggle switch */
.ki_switch { position: relative; flex: 0 0 34px; height: 20px; margin-top: 2px; }
.ki_switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.ki_slider { position: absolute; inset: 0; border-radius: 20px; background: var(--fb-border-strong); transition: background .2s; }
.ki_slider:before {
	content: ""; position: absolute; left: 2px; top: 2px; width: 16px; height: 16px; border-radius: 50%;
	background: var(--fb-surface); box-shadow: 0 1px 2px rgba(0, 0, 0, .25); transition: transform .2s;
}
.ki_switch input:checked + .ki_slider { background: var(--fb-blue); }
.ki_switch input:checked + .ki_slider:before { transform: translateX(14px); }
.ki_switch input:focus-visible + .ki_slider { box-shadow: 0 0 0 3px rgba(54, 116, 152, .3); }

.ki_bar { display: flex; align-items: center; gap: 14px; margin-top: 12px; }
.ki_count { flex: 1; font-size: 12px; color: var(--fb-muted); }
.ki_link { font-size: 12px; color: var(--fb-blue); cursor: pointer; }
.ki_link:hover { color: var(--fb-navy); }

.ki_hints { background: #fffaf0; }
.ki_hints .ki_section_head { color: #b07300; }
.ki_hints ul { margin: 0; padding-left: 18px; }
.ki_hints li { margin: 3px 0; font-size: 13px; color: #5a4a2a; }

.ki_done {
	display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 8px;
	font-size: 13px; color: #1e6b3a; background: #eaf8ef; border: 1px solid #c9ecd6;
}
.ki_done > span:nth-child(2) { flex: 1; }
.ki_done.is-undone { color: var(--fb-muted); background: var(--fb-hover); border-color: var(--fb-border); }
.ki_done_icon { display: flex; color: #22a35a; }
.ki_alert {
	display: flex; align-items: center; gap: 8px; margin: 12px 16px; padding: 10px 12px; border-radius: 8px;
	font-size: 13px; color: #9b2c2c; background: #fdeeee; border: 1px solid #f5cccc;
}
.ki_empty { margin: 0; font-size: 13px; color: var(--fb-muted); }

/* loading skeleton */
.ki_skel { display: flex; gap: 12px; align-items: center; padding: 8px 0; }
.ki_skel_dot { flex: 0 0 34px; height: 20px; border-radius: 20px; }
.ki_skel_lines { flex: 1; }
.ki_skel_lines i { display: block; height: 10px; border-radius: 5px; margin: 4px 0; }
.ki_skel_lines i:first-child { width: 30%; }
.ki_skel_lines i:last-child { width: 60%; }
.ki_skel_dot, .ki_skel_lines i {
	background: linear-gradient(90deg, var(--fb-line-2) 25%, var(--fb-subtle) 50%, var(--fb-line-2) 75%);
	background-size: 200% 100%; animation: ki_shimmer 1.2s ease-in-out infinite;
}

/* fields filled by the KI */
.ki_applied { animation: ki_glow 1.6s ease-out; background-color: #fff8db; border-radius: 4px; box-shadow: 0 0 0 3px #fff8db; }

@keyframes ki_spin { to { transform: rotate(360deg); } }
@keyframes ki_shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
@keyframes ki_glow { 0% { background-color: #ffe58a; box-shadow: 0 0 0 6px #ffe58a; } 100% { background-color: #fff8db; box-shadow: 0 0 0 3px #fff8db; } }

@media (max-width: 600px) {
	.ki_head { flex-wrap: wrap; }
	.ki_btn { width: 100%; justify-content: center; }
}
