@charset "utf-8";
/* extracted.css - rules moved out of inline style="" attributes and
   per-page <style> blocks. Dynamic, data-driven values (location colors,
   holiday shading, coupon validity colors) are passed via the --bgc
   custom property on the element. */

/* dynamic background: element carries style="--bgc: <color>" */
.dynbg { background-color: var(--bgc, transparent) !important; }

/* shared header logo (login, menu, management pages) */
img.logo { height: 70px; width: 350px; }

/* ---------- generic helpers ---------- */
.form-inline { display: inline; padding: 0; }
.txt-red { color: red; }
.w90 { width: 90%; }
.w95i { width: 95% !important; }
.lnkdel { cursor: pointer; }

/* ---------- floating layer forms (calendar + management dialogs) ---------- */
#newTermInput {
	padding: 2px; display: none; z-index: 99 !important;
	width: 290px; position: absolute; top: 5%; left: 5%;
	background-color: white;
}
#chgTermInput {
	display: none; z-index: 99 !important;
	width: 250px; position: absolute; top: 5%; left: 15%;
	background-color: white;
}
#aTermInfo {
	display: none; z-index: 50 !important;
	width: 250px; position: absolute; left: 40%;
	background-color: white; overflow: hidden;
}
#new_appoint {
	padding: 8px; display: none; z-index: 99 !important;
	height: 80%; width: 260px; margin: auto;
	background-color: white;
}
#chgCarInput, #addCarInput,
#chgLocInput, #addLocInput,
#chgUserInput, #addUserInput {
	display: none; z-index: 99 !important;
	width: 200px; position: fixed; left: 25%;
	background-color: white;
}
#chgBlkInput, #addBlkInput {
	display: none; z-index: 99 !important;
	max-width: 80%; position: fixed; left: 25%;
	background-color: white;
}

/* ---------- calendar ---------- */
.carmulti { overflow: auto; }
.caropt { background-color: #efefef; margin: 2px; white-space: nowrap; }
.dateselect { width: 118px; }
.timesel { width: 45px; text-align: center; }
#termCarId { max-width: 180px; }
/* status radio chips */
.cstat { display: inline-block; }
.cstat-r { background-color: red; }
.cstat-y { background-color: yellow; }
.cstat-g { background-color: green; }
/* booking chip */
.termname {
	display: inline-block;
	background-color: rgba(220, 220, 220, 0.3);
	margin: 1px;
	white-space: nowrap;
}
.term-storno { text-decoration: line-through; }
.term-noedit { cursor: no-drop; }
/* date column: holiday shading */
td.datecol { background-color: #ffffff; }
td.datecol.day-holiday { background-color: #ffdddd; }
#atermCustCode { text-overflow: ellipsis; white-space: nowrap; }
#dpre, #mpas { width: 2.2em; }
#assignappoint { border: 0 !important; border-collapse: collapse !important; }
#chgbtndel { width: 100%; }
.layerform input.w49, .layerform button.w49 { width: 49%; }

/* ---------- pagedraw tables (user/car/location/blacklist lists) ---------- */
#userlist, #usercarlist, #locationslist, #carslist, #blacklist {
	border: 1px solid #000;
	height: 0;
}
.inact, .inact a { color: gray !important; font-style: italic; }
#usercarlist th.sortcol { width: 7.5em; }
#usercarlist td.sortcell { width: 7em; }
input.numspinner { width: 4em; text-align: center; }
#usercarlist input[name^="rights"] { text-align: center; }
/* blacklist table: fixed layout so all 8 columns stay readable */
#blacklist { table-layout: fixed; width: 100%; }
#blacklist td { word-wrap: break-word; vertical-align: top; }
#blacklist th:nth-child(1) { width: 15%; } /* Kunde */
#blacklist th:nth-child(2) { width: 15%; } /* Info */
#blacklist th:nth-child(3) { width: 11%; } /* Telefon */
#blacklist th:nth-child(4) { width: 16%; } /* Adresse */
#blacklist th:nth-child(5) { width: 11%; } /* Geburtsdatum */
#blacklist th:nth-child(6) { width: 13%; } /* Personalausweisnr. */
#blacklist th:nth-child(7) { width: 10%; } /* Bearbeiten */
#blacklist th:nth-child(8) { width: 9%; }  /* Entfernen */
.mg-actionbox { padding-top: 30px; }
.mg-center { text-align: center; }
.mg-menurow { padding-top: 10px; text-align: center; padding-bottom: 1em; }
.loccolor { width: 50%; vertical-align: middle; }

/* ---------- login / register ---------- */
#regnotice { height: 40px; overflow: hidden; display: block; width: 600px; }
#notice { display: none; background-color: #ffffff; }
.regform { font-size: 14px; }
.regform input { position: fixed; left: 150px; border: 1px solid #000; }
.regform #streetno { left: 290px; width: 40px; }

/* ---------- password change ---------- */
.errmsg { color: red; }

/* ---------- coupons ---------- */
.coupontable td { background-color: transparent !important; }
.coupontable tr { background-color: white; }
#validornot { font-weight: bold; }
#maxRows { width: 5em; }
tr.sumrow { border-top: 2px solid black; }

/* ---------- couponedit ---------- */
.couponform { border: 0; }
.couponform #code { width: 40%; }
.couponform #remark { width: 99%; }
.couponform td.btnrow { text-align: center; }
.couponform td.btnrow input { width: 30%; }
.couponform td.btnrow #delbtn { margin-left: 5%; color: red; }

/* ---------- shop/product details ---------- */
#qty { width: 40px; }
