/* Absichtlich keine Animationen oder Transitions – auch nicht von Bootstrap. */
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body{background:#15191e;color:#e7ebf1;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
.brand{font-size:1.25rem;font-weight:750;color:#f0f2f5}
.panel{background:#1f252c;border:1px solid #38414b;border-radius:12px;padding:1.25rem}
.form-control,.form-select{background-color:#242b33;border-color:#52606d}
.btn{min-height:40px}
.door-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}
.door{min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:10px;border:2px solid transparent;font-weight:750;font-size:1rem;cursor:pointer;box-shadow:none}
.door small{font-size:.72rem;font-weight:550;opacity:.85}
.door:focus-visible,.btn:focus-visible{outline:3px solid #8db8ff;outline-offset:2px}
.door-red{background:#b5383f;color:white}.door-blue{background:#235eaa;color:white}.door-yellow{background:#eacb50;color:#161b21}.door-orange{background:#c46c29;color:white}.door-green{background:#298457;color:white}.door-purple{background:#7742a8;color:white}.door-white{background:#f5f5f5;color:#13191f;border-color:#bbb}.door-silver{background:#afb6bf;color:#10151c}.door-gold{background:#d8a826;color:#1a1710}.door-black{background:#070809;color:white;border-color:#687078}
.door:hover{filter:brightness(1.14)}
.door:disabled{opacity:.45;cursor:not-allowed}
.room-tag{display:inline-block;width:1em;height:1em;border-radius:3px;vertical-align:middle;margin-right:.4rem;border:1px solid #74808b}
.tag-red{background:#b5383f}.tag-blue{background:#235eaa}.tag-yellow{background:#eacb50}.tag-orange{background:#c46c29}.tag-green{background:#298457}.tag-purple{background:#7742a8}.tag-white{background:#f5f5f5}.tag-silver{background:#afb6bf}.tag-gold{background:#d8a826}.tag-black{background:#070809}
.preline{white-space:pre-wrap;overflow-wrap:anywhere}
.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.8rem}
.image-grid img{width:100%;height:175px;object-fit:contain;background:#101419;border:1px solid #36404a;border-radius:8px}
.image-grid a{display:block;text-decoration:none}
.table-responsive{border-radius:8px}
.header-hero{font-size:1.55rem;font-weight:700}
.muted-label{font-size:.8rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:#aeb5be}
@media(max-width:575px){.door-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.door{min-height:70px}.panel{padding:1rem}.brand{font-size:1.1rem}.btn{min-height:44px}}

/* Full-size room maps: one per row, keep intrinsic aspect ratio, never crop.
   Do not stretch images beyond their own pixel dimensions. */
.image-stack{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;min-width:0}
.image-stack > *{max-width:100%;min-width:0}
.image-stack img{display:block;width:auto;height:auto;max-width:100%;max-height:none;object-fit:contain;border:1px solid #36404a;border-radius:8px}
.image-stack a{display:block;max-width:100%;text-decoration:none}
