
:root {
	--bg:#ffffff;
	--text:#000;
	--header-bg:#000;
	--header-text:#fff;
	--tab-bg:#eee;
	--tab-btn-bg:#444;
	--tab-btn-text:#fff;
	--tab-btn-active:#000;
	--card-bg:#fff;
	--card-border:#000;
	--input-bg:#fff;
	--input-text:#222;
	--input-border:#aaa;
	--input-focus:#000;
	--label:#666;
	--button-bg:#000;
	--button-text:#fff;
	--button-hover:#333;
	--doc-hover:rgba(0,0,0,0.08);
	--docicon:#000;
	--chat-mine:#000;
	--chat-theirs:#eee;
	--travel-item:#f4f6f8;
	--travel-item-hover:#eef2f6;
	--travel-active-bg:#e8f0ff;
	--travel-active-border:#7aa2ff;
	--travel-detail:#000;
	--travel-status:#4a6fa5;
	--travel-value-bg:#fff;
	--travel-value-border:#aaa;
	--travel-label:#000;
}


body {
	color:var(--text);
	background:var(--bg);
	margin:0;
	font-family:Arial, Helvetica, sans-serif;
}

.header {
	color:var(--header-text);
	background:var(--header-bg);
	height:80px;
	display:flex;
    align-items:center;
    padding:15px;
    

	font-size:20px;
	position:sticky;
	top:0;
	z-index:1000;
	box-shadow:0 2px 6px rgba(0,0,0,0.15);
}

.logo {
	background:white;
    padding:4px 8px;
    border-radius:6px;
    height:100%;
    width:auto;
    object-fit:contain;
    margin-right:20px;
}

.tabbuttons {
	background:var(--tab-bg);
	display:flex;
	gap:6px;
	padding:10px;
	position:sticky;
	top:60px;
	z-index:900;
	box-shadow:0 2px 4px rgba(0,0,0,0.08);
}

.tabbuttons button {
	color:var(--tab-btn-text);
	background:var(--tab-btn-bg);
	border:none;
	padding:10px 16px;
	cursor:pointer;
	border-radius:6px;
}

.tabbuttons button.active {
	background:var(--tab-btn-active);
	color:white;
}

.tabcontent {
	display:none;
	padding:20px;
}

.tabcontent.active {
	display:block;
}

.card {
	background:var(--card-bg);
	border:3px solid var(--card-border);
	border-radius:10px;
	padding:20px;
	box-shadow:0 4px 12px rgba(0,0,0,0.08);
	max-width:900px;
}

hr {
	margin-left:0;
	margin-right:auto;
	max-width:940px;
}

input, textarea, .noinput {
	background:var(--input-bg);
	color:var(--input-text);
	border:1px solid var(--input-border);
	border-radius:6px;
	padding:10px;
	font-size:14px;
	width:100%;
	box-sizing:border-box;
}
textarea {
	resize:vertical;
	min-height:3em;
}
.noinput {
	border:1px solid var(--input-focus);
}

input:focus, textarea:focus {
	outline:none;
	border-color:var(--input-focus);
	box-shadow:0 0 4px var(--input-focus);
}

.showgroup {
	position:relative;
	margin-bottom:20px;
}

.showgroup label, .noinputlabel {
	position:absolute;
	left:10px;
	top:11px;
	font-size:13px;
	color:var(--label);
	background:var(--input-bg);
	padding:0 4px;
	transition:0.2s;
	pointer-events:none;
}
.noinputlabel {
    top:-7px;
    color:var(--input-focus);
}


.showgroup input:focus + label,
.showgroup textarea:focus + label,
.showgroup input:not(:placeholder-shown) + label,
.showgroup textarea:not(:placeholder-shown) + label {
	top:-7px;
	font-size:11px;
	color:var(--input-focus);
}

button {
	color:var(--button-text);
	background:var(--button-bg);
	border:none;
	padding:10px 16px;
	border-radius:6px;
	cursor:pointer;
}

button:hover {
	background:var(--button-hover);
}

.doclist {
	list-style:none;
	padding:0;
	margin:0;
}

.docrow {
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:10px;
}

.docrow:hover {
	background:var(--doc-hover);
}

.docleft {
	display:flex;
	align-items:center;
	gap:10px;
	flex:1;
	min-width:0;
}

.doctype {
	font-size:22px;
	width:28px;
	text-align:center;
}

.docinfo {
	display:flex;
	flex-direction:column;
	min-width:0;
}

.docname {
	font-weight:500;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}


.doccomment {
	font-size:12px;
	opacity:0.6;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.doccomment:empty {
	display:none;
}

.docdownload{
	margin-left:10px;
}

.docicon {
	background:var(--docicon);
	border:none;
	color:white;
	width:32px;
	height:32px;
	border-radius:6px;
	cursor:pointer;
}

.chatbox {
	display:flex;
	flex-direction:column;
	gap:10px;
	margin-bottom:20px;
}

.chatmsg {
	max-width:70%;
	padding:12px;
	border-radius:10px;
	background:#d7e9f3;
}

.chatmsg.mine {
	align-self:flex-end;
	background:var(--chat-mine);
	color:white;
}

.chatmsg.theirs {
	align-self:flex-start;
	background:var(--chat-theirs);
}

.chatbetreff {
	font-weight:bold;
	margin-bottom:5px;
}

.errormsg {
	background:#ffd6d6;
	color:#a40000;
	border:1px solid #ff9c9c;
	padding:12px;
	border-radius:6px;
	margin-bottom:15px;
	font-size:14px;
}

.successmsg {
	background:#d9f5dd;
	color:#1d7a2f;
	border:1px solid #9de0a8;
	padding:12px;
	border-radius:6px;
	margin-bottom:15px;
	font-size:14px;
}

.errormsg:before {
	content:"⚠ ";
	font-weight:bold;
}

.successmsg:before {
	content:"✓ ";
	font-weight:bold;
}

.travelLayout {
	display:grid;
	grid-template-columns:280px 1fr;
	gap:30px;
	align-items:start;
}

.travelLayout input[type="radio"] {
	display:none;
}

/* linke Liste */

.travelList {
	display:flex;
	flex-direction:column;
	gap:10px;
}

.travelItem {
	display:block;
	padding:14px;
	background:var(--travel-item);
	border-radius:8px;
	cursor:pointer;
	border:1px solid transparent;
	transition:all .15s;
}

.travelItem:hover {
	background:var(--travel-item-hover);
}

.travelRoute {
	font-weight:600;
}

.travelDate {
	font-size:13px;
	color:#666;
}

.travelStatus {
	font-size:12px;
	margin-top:4px;
	color:var(--travel-status);
}

/* aktive Reise */
/* Achtung: dynamischer Teil im PHP */
.travelActive {
	background:var(--travel-active-bg);
	border:2px solid var(--travel-active-border);
}

.travelDetailContainer {
	background:var(--travel-detail);
	border-radius:10px;
	padding:20px;
	min-height:300px;
}

.travelDetail {
	display:none;
}

.travelForm {
	display:flex;
	flex-direction:column;
	max-width:600px;
}

@media (max-width:700px) {
	body {
		font-size:18px;
	}
	.tabbuttons {
		flex-wrap:wrap;
	}
	.chatmsg {
		max-width:90%;
		padding:14px;
	}
	
	.travelLayout {
	    grid-template-columns:1fr;
	    gap:15px;
	}

	.travelList {
	    flex-direction:row;
	    overflow-x:auto;
	    gap:10px;
	    padding-bottom:5px;
	}

	.travelItem {
	    min-width:220px;
	    flex-shrink:0;
	}

	.travelDetailContainer {
	    padding:15px;
	}
}
