/* Gabella 2D-Planer — eigener Stylesheet-Dateibesitz */
	  /* Grundriss: Lineal + Bleistift öffnen eine eigenständige, maßstäbliche
	     Vogelperspektive. Das Icon bleibt bewusst rund wie die mobilen Arena-Tools. */
	  .tool.floor-plan{width:42px;height:42px;min-width:42px;justify-content:center;padding:0;border-radius:50%;background:#f2f4f5;border-color:#9ea8af;color:#5b3b10;box-shadow:0 3px 10px rgba(32,38,43,.18);transition:background .16s var(--ease-out,cubic-bezier(.23,1,.32,1)),border-color .16s var(--ease-out,cubic-bezier(.23,1,.32,1)),transform .16s var(--ease-out,cubic-bezier(.23,1,.32,1)),box-shadow .16s var(--ease-out,cubic-bezier(.23,1,.32,1))}
	  .tool.floor-plan:hover{background:#fff9eb;border-color:#9a6b1d;color:#7a4f05;transform:scale(1.06)}
	  .tool.floor-plan[aria-pressed="true"]{background:#8b6114;border-color:#5e3d06;color:#fff;box-shadow:0 0 0 3px rgba(190,140,42,.22),0 4px 12px rgba(69,45,4,.30)}
	  .tool.floor-plan:focus-visible{outline:2px solid #fff;outline-offset:3px}.tool.floor-plan svg{width:22px;height:22px;stroke-width:2}
		  .floor-plan-pop{position:absolute;left:50%;top:50%;z-index:42;box-sizing:border-box;display:flex;flex-direction:column;width:min(820px,calc(100% - 28px));max-height:calc(100% - 28px);min-height:300px;overflow:hidden;transform:translate(-50%,-50%);border:1px solid #b9a66c;border-radius:16px;padding:14px 14px 22px;background:linear-gradient(145deg,#fcfaf4,#eef1ec);box-shadow:0 24px 70px rgba(12,20,27,.48);color:var(--zinc)}
		  .floor-plan-pop.popup-dragged,.floor-plan-pop.floor-plan-resized{transform:none}.floor-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:2px 2px 10px;cursor:grab;touch-action:none;user-select:none}.floor-plan-head:active{cursor:grabbing}.floor-plan-head button{touch-action:manipulation}.floor-plan-drag-copy{display:inline-flex;margin:5px 0 0;color:#8a7953;font:700 9px/1 "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase}.floor-plan-kicker{display:flex;align-items:center;gap:7px;color:#7e590e;font:800 10px/1 "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase}.floor-plan-kicker svg{width:18px;height:18px}.floor-plan-head h2{margin:5px 0 2px;font-size:20px;line-height:1.12}.floor-plan-head p{margin:0;color:var(--zinc-dim);font-size:12px;line-height:1.4}.floor-plan-close{flex:0 0 auto;border:0;background:transparent;color:var(--zinc-dim);font-size:24px;line-height:1;cursor:pointer}.floor-plan-close:hover{color:var(--rust)}.floor-plan-resize{position:absolute;right:5px;bottom:5px;z-index:3;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:7px 0 10px 0;background:transparent;color:#7e590e;cursor:nwse-resize;touch-action:none}.floor-plan-resize:hover,.floor-plan-resize:focus-visible{background:rgba(169,125,23,.14);color:#7c0000;outline:none}.floor-plan-resize svg{width:17px;height:17px}
		  .floor-plan-workspace-help{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto;min-height:34px;margin:0 1px 7px;border:1px solid #d8d1b6;border-radius:8px;padding:5px 8px;background:#fffaf0;color:#6e5724;font:800 9px/1.15 "IBM Plex Mono",monospace}.floor-plan-workspace-help>span{display:inline-flex;align-items:center;gap:5px}.floor-plan-workspace-help svg{width:17px;height:17px;color:#8f151d}.floor-plan-workspace-help b{color:#8f151d;white-space:nowrap}.floor-plan-scroll-controls{display:inline-flex;align-items:center;gap:4px}.floor-plan-scroll-controls button{display:grid;place-items:center;width:27px;height:24px;border:1px solid #b99b55;border-radius:5px;background:#fff;color:#7c4f08;cursor:pointer}.floor-plan-scroll-controls button:hover:not(:disabled){border-color:#8f151d;background:#fff1ef;color:#8f151d}.floor-plan-scroll-controls button:disabled{cursor:not-allowed;opacity:.38}.floor-plan-scroll-controls button svg{width:15px;height:15px}.floor-plan-scroll-controls output{display:grid;place-items:center;min-width:38px;color:#7a5b1d;font:800 9px/1 "IBM Plex Mono",monospace}.floor-plan-workspace-scroll{display:block;flex:1 1 auto;min-height:0;overflow:scroll;overscroll-behavior:contain;scrollbar-gutter:stable both-edges;border:1px solid rgba(141,125,76,.48);border-radius:12px;background:#e9efe6;scrollbar-color:#8f151d #e3e8df;scrollbar-width:auto}.floor-plan-workspace-scroll::-webkit-scrollbar{width:15px;height:15px}.floor-plan-workspace-scroll::-webkit-scrollbar-track{border-radius:8px;background:#e3e8df}.floor-plan-workspace-scroll::-webkit-scrollbar-thumb{border:3px solid #e3e8df;border-radius:8px;background:#8f151d}.floor-plan-workspace-scroll::-webkit-scrollbar-thumb:hover{background:#a62027}.floor-plan-workspace{position:relative;display:grid;grid-template-columns:minmax(780px,1fr) 220px;gap:14px;box-sizing:border-box;width:max(1120px,100%);min-width:100%;min-height:max(980px,100%);padding:14px;border-radius:10px;background-color:#e8f0e4;background-image:linear-gradient(rgba(65,91,70,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(65,91,70,.13) 1px,transparent 1px),linear-gradient(rgba(65,91,70,.23) 1px,transparent 1px),linear-gradient(90deg,rgba(65,91,70,.23) 1px,transparent 1px);background-size:var(--floor-plan-grid-px,25px) var(--floor-plan-grid-px,25px),var(--floor-plan-grid-px,25px) var(--floor-plan-grid-px,25px),var(--floor-plan-grid-major-px,125px) var(--floor-plan-grid-major-px,125px),var(--floor-plan-grid-major-px,125px) var(--floor-plan-grid-major-px,125px)}.floor-plan-workspace::before{content:'DURCHGÄNGIGES PLANUNGSRASTER · X ↔ · Y ↕';position:absolute;left:16px;bottom:17px;z-index:0;border:1px solid rgba(72,91,72,.25);border-radius:4px;padding:4px 6px;background:rgba(255,255,255,.74);color:#5f715f;font:800 8px/1 "IBM Plex Mono",monospace;letter-spacing:.04em;pointer-events:none}.floor-plan-workspace>*{position:relative;z-index:1}.floor-plan-canvas-wrap{position:relative;min-height:0;border:1px solid #aebcae;border-radius:12px;overflow:hidden;background:#dfe7dc;box-shadow:0 2px 8px rgba(44,65,48,.12),inset 0 1px 0 rgba(255,255,255,.8)}
	  #floorPlanCanvas{display:block;width:100%;height:100%;min-height:390px;touch-action:none;cursor:crosshair}.floor-plan-canvas-wrap[data-tool="select"] #floorPlanCanvas{cursor:default}.floor-plan-canvas-wrap[data-tool="erase"] #floorPlanCanvas{cursor:not-allowed}.floor-plan-canvas-wrap[data-tool="erase"].floor-plan-hover-segment #floorPlanCanvas{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M6 21.5 18.7 8.8a3 3 0 0 1 4.2 0l2.3 2.3a3 3 0 0 1 0 4.2L12.5 28H6z' fill='%23fff7e8' stroke='%237c0000' stroke-width='2.4' stroke-linejoin='round'/%3E%3Cpath d='m10.5 17.1 5.4 5.4M14 13.6l5.4 5.4' stroke='%23aa252c' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 7 25,pointer}
	  .floor-plan-legend{position:absolute;left:10px;bottom:9px;display:flex;align-items:center;gap:8px;border:1px solid rgba(67,81,68,.26);border-radius:999px;padding:5px 8px;background:rgba(255,255,255,.86);color:#435047;font:700 9px/1 "IBM Plex Mono",monospace;pointer-events:none}.floor-plan-legend i{display:block;width:28px;height:4px;border-radius:3px;background:#8f151d}.floor-plan-north{position:absolute;right:10px;top:9px;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(67,81,68,.28);border-radius:50%;background:rgba(255,255,255,.88);color:#26362d;font:800 10px/1 "IBM Plex Mono",monospace;pointer-events:none}.floor-plan-north::after{content:'▲';position:absolute;top:3px;color:#8f151d;font-size:11px}
	  .floor-plan-controls{display:flex;flex-direction:column;gap:8px}.floor-plan-tool{display:flex;align-items:center;gap:8px;min-height:46px;border:1px solid #c7cdd0;border-radius:9px;padding:7px 8px;background:#fff;color:var(--zinc);cursor:pointer;text-align:left;transition:border-color .15s var(--ease-out,cubic-bezier(.23,1,.32,1)),background .15s var(--ease-out,cubic-bezier(.23,1,.32,1)),transform .15s var(--ease-out,cubic-bezier(.23,1,.32,1))}.floor-plan-tool:hover{border-color:#9d3439;background:#fff8f7}.floor-plan-tool:active{transform:scale(.98)}.floor-plan-tool[aria-pressed="true"]{border-color:#7c0000;background:#fff2f2;box-shadow:inset 0 0 0 1px rgba(124,0,0,.18)}.floor-plan-tool svg{width:26px;height:26px;flex:0 0 26px;color:#8b6114}.floor-plan-tool strong{display:block;font:800 11px/1.1 "IBM Plex Mono",monospace}.floor-plan-tool small{display:block;margin-top:3px;color:var(--zinc-dim);font-size:9.5px;line-height:1.18}.floor-plan-tool[aria-pressed="true"] svg{color:#8f151d}
	  .floor-plan-divider{height:1px;margin:2px 0;border:0;background:#d7dbd7}.floor-plan-status{min-height:45px;border-left:3px solid #a87518;border-radius:5px;padding:8px 9px;background:#fff9e9;color:#5f5641;font-size:10.5px;line-height:1.35}.floor-plan-status strong{display:block;margin-bottom:2px;color:#6f4c08;font:800 10px/1.1 "IBM Plex Mono",monospace}.floor-plan-actions{display:flex;gap:7px}.floor-plan-actions button{flex:1;min-height:35px;border:1px solid #bdc5c9;border-radius:7px;background:#fff;color:var(--zinc);font:800 10px/1 "IBM Plex Mono",monospace;cursor:pointer}.floor-plan-actions button:hover{border-color:#7c0000;color:#7c0000;background:#fff7f7}.floor-plan-actions .floor-plan-save{border-color:#6f0e13;background:#8f151d;color:#fff}.floor-plan-arena-adopt{border-color:#c5973d;background:linear-gradient(135deg,#fff9ea,#fff2d2)}.floor-plan-arena-adopt strong{display:block;margin-top:4px;color:#6e3e00;font:800 11px/1.25 "IBM Plex Mono",monospace}.floor-plan-arena-adopt small{display:block;margin-top:4px;color:#6c634f;font:700 9px/1.35 "IBM Plex Mono",monospace}.floor-plan-arena-adopt button{width:100%;min-height:32px;margin-top:7px;border:1px solid #8f151d;border-radius:6px;background:#8f151d;color:#fff;font:800 10px/1 "IBM Plex Mono",monospace;cursor:pointer}.floor-plan-arena-adopt button:hover{background:#a62027}.floor-plan-actions .floor-plan-save:hover{background:#a62027;color:#fff}.floor-plan-measures{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:2px}.floor-plan-measure{border:1px solid #d4d9d7;border-radius:7px;padding:7px;background:#fff}.floor-plan-measure span{display:block;color:var(--zinc-dim);font:700 9px/1.15 "IBM Plex Mono",monospace;text-transform:uppercase}.floor-plan-measure strong{display:block;margin-top:3px;color:#69340b;font:800 14px/1 "IBM Plex Mono",monospace}.floor-plan-x-input{display:flex;align-items:center;gap:5px;margin-top:5px}.floor-plan-x-input input{width:100%;min-width:0;border:1px solid #bcc5c4;border-radius:5px;padding:5px 6px;color:#51390b;font:800 12px/1 "IBM Plex Mono",monospace;outline:none}.floor-plan-x-input input:focus{border-color:#8f151d;box-shadow:0 0 0 2px rgba(143,21,29,.12)}.floor-plan-x-input b{font:800 10px/1 "IBM Plex Mono",monospace;color:#69736d}.floor-plan-x-quick{display:flex;gap:4px;margin-top:5px}.floor-plan-x-quick button{flex:1;border:1px solid #d1d7d3;border-radius:4px;padding:4px;background:#f5f7f4;color:#6a4b0e;font:800 9px/1 "IBM Plex Mono",monospace;cursor:pointer}.floor-plan-x-quick button:hover{border-color:#a17117;background:#fff9eb}
		  /* Desktop: Das Planungsfenster ist bewusst von der Arena entkoppelt.
		     Bei geringerer Breite erhält die Arbeitsfläche eine horizontale Scrollleiste. */
		  .floor-plan-pop.floor-plan-desktop-window{position:fixed;z-index:220;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overscroll-behavior:contain}
		  .floor-plan-pop.floor-plan-fullscreen{position:fixed!important;inset:0!important;z-index:250!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;min-height:100dvh!important;border-radius:0!important;transform:none!important;padding:18px 20px 24px!important}
		  .floor-plan-pop.floor-plan-fullscreen .floor-plan-resize{display:none}
		  .floor-plan-head-actions{display:flex;align-items:center;gap:6px}.floor-plan-window-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;border:1px solid #a77a27;border-radius:7px;padding:0 9px;background:#fff8e8;color:#6e4c0b;font:800 10px/1 "IBM Plex Mono",monospace;cursor:pointer;box-shadow:0 1px 0 rgba(255,255,255,.84)}.floor-plan-window-action svg{width:16px;height:16px;stroke-width:2.1}.floor-plan-window-action:hover,.floor-plan-window-action[aria-pressed="true"]{border-color:#8f151d;background:#fff1ef;color:#8f151d}.floor-plan-window-action[aria-pressed="true"]{box-shadow:inset 0 0 0 1px rgba(143,21,29,.16)}
	  .floor-plan-quickstart{display:flex;align-items:flex-start;gap:7px;border-color:#cfc3a2;background:linear-gradient(135deg,#fffaf0,#f7f0dd)}.floor-plan-quickstart input{margin:2px 0 0;accent-color:#8f151d}.floor-plan-quickstart strong{display:block;margin-top:3px;font:800 11px/1.2 "IBM Plex Mono",monospace;color:#613e05}.floor-plan-quickstart small{display:block;margin-top:3px;color:#6c6659;font-size:9px;line-height:1.3}.floor-plan-segment-picker{border-color:#cad5cf;background:#fbfdfb}.floor-plan-segment-choices,.floor-plan-design-choices{display:grid;gap:5px;margin-top:6px}.floor-plan-segment-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.floor-plan-design-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.floor-plan-segment-choices button,.floor-plan-design-choices button{display:grid;place-items:center;gap:2px;min-height:54px;border:1px solid #c7cfca;border-radius:6px;padding:4px;background:#fff;color:#47524c;font:800 9px/1 "IBM Plex Mono",monospace;cursor:pointer;transition:border-color .15s var(--ease-out,cubic-bezier(.23,1,.32,1)),background .15s var(--ease-out,cubic-bezier(.23,1,.32,1)),transform .15s var(--ease-out,cubic-bezier(.23,1,.32,1))}.floor-plan-segment-choices button:active,.floor-plan-design-choices button:active{transform:scale(.97)}.floor-plan-segment-choices svg{width:38px;height:20px}.floor-plan-design-choices svg{width:42px;height:24px}.floor-plan-segment-choices b,.floor-plan-design-choices b{font:800 9px/1 "IBM Plex Mono",monospace}.floor-plan-segment-choices small{font:700 8px/1 "IBM Plex Mono",monospace}.floor-plan-segment-choices [data-floor-segment-kind="fence"]{color:#9c1424}.floor-plan-segment-choices [data-floor-segment-kind="gate"]{color:#2467a1}.floor-plan-segment-choices [data-floor-segment-kind="pforte"]{color:#a16c08}.floor-plan-segment-choices button[aria-pressed="true"]{box-shadow:inset 0 0 0 1px currentColor;background:#fffaf5}.floor-plan-design-picker{border-color:#bfcabd;background:#f7faf6}.floor-plan-design-choices button{min-height:49px;color:#5f5130}.floor-plan-design-choices button[aria-pressed="true"]{border-color:#8f151d;box-shadow:inset 0 0 0 1px rgba(143,21,29,.24);background:#fff6f5;color:#8f151d}.floor-plan-selected-edit{border-color:#c9cfd0;background:#fbfcfc}.floor-plan-selected-edit strong{min-height:22px;font-size:10px;line-height:1.25;color:#46514f}.floor-plan-selected-edit .floor-plan-actions{margin-top:7px}.floor-plan-selected-edit button:disabled{cursor:not-allowed;opacity:.45}.floor-plan-legend i[data-kind="gate"]{background:#2467a1}.floor-plan-legend i[data-kind="pforte"]{background:#d0a028}.floor-plan-legend i{width:16px;height:4px;margin-left:2px}
		  @media(min-width:681px){.floor-plan-pop.floor-plan-desktop-window .floor-plan-workspace{min-width:0}.floor-plan-pop.floor-plan-fullscreen .floor-plan-workspace{width:calc(100vw - 68px);min-width:0}.floor-plan-pop.floor-plan-fullscreen .floor-plan-canvas-wrap,.floor-plan-pop.floor-plan-fullscreen #floorPlanCanvas{min-height:0}}
		  @media(max-width:680px){.floor-plan-pop.floor-plan-desktop-window{position:absolute;z-index:42;max-width:calc(100% - 18px);max-height:calc(100% - 18px)}.floor-plan-pop.floor-plan-fullscreen{position:fixed!important;padding:11px 11px 20px!important}.floor-plan-pop{width:min(560px,calc(100% - 18px));max-height:calc(100% - 18px);min-height:270px;padding:11px 11px 20px}.floor-plan-workspace-help{min-height:29px;margin-bottom:5px;font-size:8px}.floor-plan-workspace-help>span{max-width:140px}.floor-plan-workspace-help b{display:none}.floor-plan-scroll-controls output{min-width:30px;font-size:8px}.floor-plan-workspace-scroll{overflow:scroll;scrollbar-width:thin}.floor-plan-workspace-scroll::-webkit-scrollbar{width:10px;height:10px}.floor-plan-workspace{grid-template-columns:minmax(240px,1fr) 220px;width:100%;min-height:0;padding:10px;gap:10px}.floor-plan-workspace::before{bottom:12px;left:12px;font-size:7px}.floor-plan-canvas-wrap,#floorPlanCanvas{min-height:0}.floor-plan-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.floor-plan-tool{min-height:68px;align-items:flex-start;flex-direction:column;gap:3px;padding:7px}.floor-plan-tool svg{width:22px;height:22px}.floor-plan-tool small{display:none}.floor-plan-status,.floor-plan-actions,.floor-plan-measures,.floor-plan-segment-picker,.floor-plan-selected-edit,.floor-plan-design-picker,.floor-plan-quickstart{grid-column:1 / -1}.floor-plan-head h2{font-size:18px}.floor-plan-drag-copy{display:none}.floor-plan-window-action{padding:0 7px;font-size:9px}.floor-plan-window-action svg{width:15px;height:15px}}
		  .floor-plan-origin{position:absolute;z-index:2;display:none;align-items:center;gap:3px;color:#8f151d;font:800 9px/1 "IBM Plex Mono",monospace;pointer-events:none;transform:translate(-4px,4px);text-shadow:0 1px 0 #fff}.floor-plan-origin i{display:block;width:9px;height:9px;border:2px solid #8f151d;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.75)}.floor-plan-origin em{font-style:normal;transform:translateY(12px)}.floor-plan-cursor{position:absolute;right:10px;bottom:9px;z-index:2;border:1px solid rgba(67,81,68,.32);border-radius:6px;padding:5px 7px;background:rgba(255,255,255,.93);color:#26362d;font:800 9px/1 "IBM Plex Mono",monospace;pointer-events:none}.floor-plan-grid-control{border-color:#b9c5ba;background:#f8fbf7}.floor-plan-grid-input{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:5px;color:#657068;font:800 9px/1 "IBM Plex Mono",monospace}.floor-plan-grid-input select{min-width:66px;border:1px solid #bfc9c0;border-radius:5px;background:#fff;color:#314438;padding:4px;font:800 10px/1 "IBM Plex Mono",monospace}.floor-plan-zoom{display:grid;grid-template-columns:30px 1fr 30px 30px;gap:3px;margin-top:6px}.floor-plan-zoom button,.floor-plan-zoom output{min-height:28px;border:1px solid #c6ceca;border-radius:5px;background:#fff;color:#405047;font:800 11px/1 "IBM Plex Mono",monospace;text-align:center;display:grid;place-items:center}.floor-plan-zoom button{cursor:pointer}.floor-plan-zoom button:hover{border-color:#8f151d;background:#fff5f5;color:#8f151d}.floor-plan-point-input{border-color:#decfae;background:#fffdf6}.floor-plan-xy-input{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:5px}.floor-plan-xy-input.floor-plan-xyz-input{grid-template-columns:repeat(3,minmax(0,1fr))}.floor-plan-xy-input label{display:grid;grid-template-columns:13px minmax(0,1fr) 16px;align-items:center;gap:2px;color:#745a19;font:800 10px/1 "IBM Plex Mono",monospace}.floor-plan-xy-input input{min-width:0;width:100%;box-sizing:border-box;border:1px solid #c6cbbf;border-radius:5px;padding:5px 4px;color:#51390b;font:800 11px/1 "IBM Plex Mono",monospace}.floor-plan-xy-input b{font:800 8px/1 "IBM Plex Mono",monospace;color:#788078}.floor-plan-z-hint{display:block;margin-top:5px;color:#6e756d;font:700 8.5px/1.3 "IBM Plex Mono",monospace}.floor-plan-add-point{width:100%;min-height:30px;margin-top:6px;border:1px solid #8f151d;border-radius:5px;background:#8f151d;color:#fff;font:800 10px/1 "IBM Plex Mono",monospace;cursor:pointer}.floor-plan-add-point:hover{background:#a62027}
	  @media(max-width:680px){.floor-plan-grid-control,.floor-plan-point-input{grid-column:1 / -1}.floor-plan-origin{font-size:8px}.floor-plan-cursor{font-size:8px}}

/* Die Zeichenflaeche folgt dem Fenster, die Werkzeugspalte scrollt fuer sich.
   Vorher zwang die Spalte die Arbeitsflaeche auf ihre Hoehe: man musste im
   Fenster scrollen, und rechts lagen Bedienelemente ausserhalb des Rahmens. */
.floor-plan-workspace{height:100%;min-height:0;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(240px,1fr) 220px}
.floor-plan-controls{width:220px;height:100%;min-height:0;max-height:100%;overflow-y:auto;overscroll-behavior:contain}
.floor-plan-canvas-wrap{height:100%;min-height:0}
.floor-plan-workspace-scroll{overflow:hidden}

/* Solange nichts gezeichnet ist, ruft der Nullpunkt: Er ist ab jetzt nur noch
   Orientierung und kein Zwangspunkt, also muss man ihn finden koennen. Sobald
   der erste Punkt steht, wird er wieder still. */
@keyframes floor-plan-origin-puls{
  0%,100%{box-shadow:0 0 0 2px rgba(255,255,255,.75),0 0 0 0 rgba(143,21,29,.55);transform:scale(1)}
  50%{box-shadow:0 0 0 2px rgba(255,255,255,.75),0 0 0 9px rgba(143,21,29,0);transform:scale(1.28)}
}
.floor-plan-origin-ruft i{animation:floor-plan-origin-puls 1.6s ease-in-out infinite}
.floor-plan-origin-ruft em{animation:floor-plan-origin-puls 1.6s ease-in-out infinite;animation-name:floor-plan-origin-text}
@keyframes floor-plan-origin-text{0%,100%{opacity:.7}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .floor-plan-origin-ruft i,.floor-plan-origin-ruft em{animation:none}
  .floor-plan-origin-ruft i{box-shadow:0 0 0 2px rgba(255,255,255,.75),0 0 0 6px rgba(143,21,29,.35)}
}

.floor-plan-archiv{margin-top:10px;border-top:1px solid #dee2e6;padding-top:10px}
.floor-plan-archiv-kopf{font:600 11px/1 ui-monospace,monospace;letter-spacing:.11em;text-transform:uppercase;color:#6c757d;margin-bottom:6px}
.floor-plan-archiv-zeile{display:flex;gap:6px}
.floor-plan-archiv-zeile input{flex:1;min-width:0;font:13px/1.3 inherit;padding:6px 8px;border:1px solid #ced4da;border-radius:6px}
.floor-plan-archiv-zeile button{white-space:nowrap}
.floor-plan-archiv-liste{display:grid;gap:4px;margin-top:8px;max-height:160px;overflow:auto}
.floor-plan-archiv-eintrag{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:4px 6px;border:1px solid #e9ecef;border-radius:6px;font-size:12.5px}
.floor-plan-archiv-text b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.floor-plan-archiv-text small{color:#6c757d;font-size:11px}
.floor-plan-archiv-eintrag button{padding:4px 8px}
.floor-plan-archiv-leer{color:#6c757d;font-size:12px;padding:4px 0}
