/* floorplan_editor.css - styles for the shared Floor Plan Builder (22 Sep 2026).
   The customer portal already carries these rules and tokens; this file is
   for other hosts (the FRA Notes Tool). Tokens are scoped to .fp-host so
   they never leak into the host page. */
.fp-host{--orange:#f0913e;--glass:rgba(255,255,255,0.045);--border:rgba(255,255,255,0.10);--text-dim:rgba(255,255,255,0.52);
  --font-display:'Syne','Sora','Helvetica Neue',sans-serif;--fs-3xs:8px;--fs-2xs:9.5px;--fs-xs:11px;--fs-sm:12.5px;--fs-md:14px;--fs-lg:16px;
  --r-xs:3px;--r-sm:7px;--r-md:10px;font-family:'Inter',system-ui,sans-serif;color:#e5e7eb;}
.fp-host .mnt-form-lbl{font-size:var(--fs-2xs);letter-spacing:0.8px;text-transform:uppercase;color:var(--text-dim);font-weight:500;}
.fp-host .mnt-form-input,.mnt-form-select{background:rgba(255,255,255,0.05);border:0.5px solid rgba(255,255,255,0.1);border-radius:var(--r-sm);padding:.55rem .85rem;color:#fff;font-family:inherit;font-size:var(--fs-sm);font-weight:300;outline:none;transition:border-color .14s,box-shadow .14s;width:100%;box-sizing:border-box;}
.fp-host .lb-edit-btn{font-size:var(--fs-xs);font-family:inherit;background:rgba(255,255,255,0.05);border:0.5px solid var(--border);color:var(--text-dim);border-radius:var(--r-sm);padding:7px 10px;cursor:pointer;transition:color .14s;}
.fp-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:.8rem;flex-wrap:wrap;}
.fp-floors{display:flex;gap:5px;flex-wrap:wrap;align-items:center;}
.fp-floor-tab{font-size:var(--fs-xs);font-weight:600;font-family:inherit;background:rgba(255,255,255,0.05);border:0.5px solid var(--border);color:var(--text-dim);border-radius:var(--r-sm);padding:7px 13px;cursor:pointer;transition:background .13s,border-color .13s,color .13s;}
.fp-floor-tab.active{background:rgba(240,145,62,0.13);border-color:rgba(240,145,62,0.45);color:#f0913e;}
.fp-layout{display:flex;gap:.9rem;align-items:flex-start;}
.fp-side{width:196px;flex-shrink:0;display:flex;flex-direction:column;gap:.6rem;}
.fp-panel{background:var(--glass);border:0.5px solid var(--border);border-radius:var(--r-md);padding:.7rem .8rem;}
.fp-panel-sel{border:1px solid rgba(240,145,62,0.45);background:rgba(240,145,62,0.05);}
.fp-panel-sel .fp-panel-lbl{color:#f0913e;}
.fp-panel-lbl{font-family:var(--font-display);font-size:var(--fs-3xs);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);font-weight:700;margin-bottom:.5rem;}
.fp-tool{display:flex;align-items:center;gap:8px;width:100%;font-size:var(--fs-xs);font-weight:500;font-family:inherit;background:none;border:0.5px solid transparent;color:rgba(255,255,255,0.75);border-radius:var(--r-sm);padding:6px 8px;cursor:pointer;text-align:left;transition:background .12s,border-color .12s,color .12s;}
.fp-tool:hover{background:rgba(255,255,255,0.05);}
.fp-tool.active{background:rgba(240,145,62,0.12);border-color:rgba(240,145,62,0.4);color:#f0913e;}
.fp-tool.fp-door-act{background:rgba(240,145,62,0.1);border-color:rgba(240,145,62,0.32);color:#f0913e;font-weight:600;}
.fp-tool.fp-door-act:hover{background:rgba(240,145,62,0.18);}
.fp-tool .sw{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-3xs);font-weight:700;border-radius:var(--r-xs);}
.fp-stage-wrap{flex:1;min-width:0;}
.fp-stage{background:#fdfdfa;border:1px solid #b9b6ac;border-radius:var(--r-xs);overflow:auto;max-height:calc(100vh - 220px);box-shadow:0 14px 32px rgba(0,0,0,0.5), 2px 2px 0 #e4e2d8, 4px 4px 0 rgba(228,226,216,0.55);}
.fp-stage svg{display:block;touch-action:none;}
.fp-hint{font-size:var(--fs-xs);color:var(--text-dim);margin-top:.5rem;line-height:1.5;min-height:16px;}
.fp-save{font-size:var(--fs-xs);line-height:1.5;margin-top:.35rem;min-height:14px;}
.fp-save.saving{color:var(--text-dim);}
.fp-save.ok{color:#9fd4a3;}
.fp-save.bad{color:#ff8f8f;font-weight:600;}
.fp-start{background:linear-gradient(155deg,rgba(240,145,62,0.12),rgba(255,255,255,0.02) 60%);border-color:rgba(240,145,62,0.3);}
.fp-start-sub{font-size:var(--fs-xs);color:var(--text-dim);line-height:1.5;margin-bottom:.5rem;}
.fp-start-btn{display:block;text-align:left;padding:8px 10px;margin-bottom:5px;}
.fp-start-btn strong{display:block;font-size:var(--fs-xs);color:rgba(255,255,255,0.9);font-weight:700;}
.fp-start-btn span{display:block;font-size:var(--fs-2xs);color:var(--text-dim);margin-top:1px;}
.fp-canvas-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;color:#8c887c;font-size:var(--fs-sm);line-height:1.6;max-width:280px;}
.fp-canvas-hint strong{display:block;color:#5b574b;font-size:var(--fs-lg);font-weight:700;margin-bottom:4px;}
#fp-inline-label{position:absolute;z-index:5;transform:translateX(-50%);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:600;text-align:center;color:#17150f;background:#fff;border:2px solid #f0913e;border-radius:var(--r-sm);padding:5px 12px;box-shadow:0 4px 14px rgba(0,0,0,0.35);outline:none;min-width:110px;}
#fp-inline-label::placeholder{color:#b3a480;font-weight:400;}
.fp-legend-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:var(--fs-xs);color:rgba(255,255,255,0.8);cursor:pointer;}
.fp-legend-row input{accent-color:#f0913e;cursor:pointer;}
.fp-sel-field{margin-bottom:.5rem;}
.fp-sel-field .mnt-form-lbl{margin-bottom:3px;}
