:root{font-family:system-ui,Arial,sans-serif;color:#1c2735;background:#f2f5f9}*{box-sizing:border-box}body{margin:0}header{background:#152435;color:white;padding:15px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}nav a{color:#eaf0f8;margin-right:18px}main{max-width:1150px;margin:24px auto;padding:0 14px}.panel{background:#fff;border:1px solid #dfe5ed;border-radius:12px;padding:20px;margin:15px 0;box-shadow:0 2px 8px #18263809}.grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.stack{display:grid;gap:8px}input,textarea,select,button{font:inherit}input:not([type=checkbox]),textarea,select{width:100%;padding:9px;border:1px solid #b7c6d5;border-radius:7px}textarea{min-height:85px}label{display:block;margin:10px 0}button,.btn{border:0;background:#1c5cad;color:white;padding:10px 14px;border-radius:7px;cursor:pointer;text-decoration:none;display:inline-block}button:disabled{opacity:.55}a{color:#1758a3}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid #e4e9ef;padding:10px 7px;text-align:left}small,.muted{color:#65768b}.step{padding:12px;border-bottom:1px solid #e7edf4}.step.done{background:#f3faf4}.step label{display:flex;align-items:center;gap:12px;margin:0}.step input{width:20px;height:20px}.bar{height:9px;border-radius:10px;background:#e4eaf2;overflow:hidden}.fill{height:100%;background:#2b9d59}.tag{padding:3px 7px;border-radius:6px;background:#edf0f3;display:inline-block}.rot{background:#fbd4d4}.gelb{background:#fff1b8}.gruen{background:#d5f4df}.hellblau{background:#d9f1ff}.weiss{background:#f5f5f5}.error{border-left:5px solid #c93030;padding:12px;background:#fff0ef}.notice{border-left:5px solid #21935a;padding:12px;background:#ebf8ef}.files a{margin-right:10px}img.thumb{max-height:100px;max-width:150px;object-fit:contain}@media(max-width:720px){.grid{grid-template-columns:1fr}table{font-size:13px}}

/* Kennzeichen-Autocomplete im Formular "Neuer Auftrag" */
.vehicle-picker{position:relative;margin-top:6px}.vehicle-options{position:absolute;z-index:30;top:calc(100% + 3px);left:0;right:0;background:#fff;border:1px solid #b7c6d5;border-radius:8px;box-shadow:0 10px 24px #18263824;max-height:270px;overflow:auto}.vehicle-options[hidden]{display:none}.vehicle-option{display:block;width:100%;padding:10px 12px;text-align:left;background:#fff;color:#1c2735;border:0;border-radius:0;cursor:pointer}.vehicle-option:hover,.vehicle-option.active{background:#eaf2ff}.vehicle-option small{display:block;margin-top:2px}.vehicle-empty{padding:12px;color:#65768b}.vehicle-picker input[aria-invalid=true]{border-color:#b42318}#fahrzeug-hinweis{display:block;margin-top:5px}
.hall-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:16px}.hall-canvas{min-width:0}.hall-canvas #hall-3d{height:min(65vh,740px);min-height:450px;background:#f3f6fa;border-radius:9px;overflow:hidden}.hall-canvas canvas{display:block}.hall-legend{display:flex;flex-wrap:wrap;gap:8px}.hall-list-item{display:flex;justify-content:space-between;width:100%;margin:5px 0;background:#f1f5fa;color:#1c2735;text-align:left}.hall-list-item:hover{background:#dce8f7}@media(max-width:940px){.hall-layout{grid-template-columns:1fr}}

.hall-upload{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px}.hall-upload label{margin:0}.hall-model-list{display:grid;gap:8px;margin-top:12px}.hall-model-list form{padding:8px 0;border-top:1px solid #e8edf3}@media(max-width:750px){.hall-upload{grid-template-columns:1fr}}

/* Immer lesbare Auftragsbeschriftungen über den 3D-Stellplätzen. */
.hall-label-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}
.hall-place-label{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:2px;min-width:110px;max-width:190px;padding:5px 9px;border:1px solid rgba(255,255,255,.65);border-radius:7px;background:rgba(19,34,51,.92);color:#fff;text-align:center;box-shadow:0 2px 9px #0005;font:12px/1.3 system-ui,sans-serif;white-space:normal;overflow-wrap:anywhere}
.hall-place-label__place{font-size:10px;opacity:.75}
.hall-place-label strong{font-size:14px;color:#fff}
.hall-place-label__staff{font-size:11px;color:#d6e7ff;margin-top:0}
.hall-list-item span{display:flex;flex-direction:column;align-items:flex-end}.hall-list-item small{font-size:11px;color:#526477}

.hall-place-label__spacer{display:block;flex:0 0 15px;min-height:15px;width:1px}

/* Zwei klar getrennte Zeilen im 3D-Label; Inline-Raster sichert gegen Fremd-CSS ab. */
.hall-place-label{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto 4px auto!important;justify-items:center!important;align-items:center!important;row-gap:0!important;column-gap:0!important}
.hall-place-label>strong{grid-column:1;grid-row:1;display:block!important}
.hall-place-label>.hall-place-label__staff{grid-column:1;grid-row:3;display:block!important;margin:0!important}
