
    #nexgen-facility-preview { --ng-bg:light-dark(#f4f5f7,#0c1017); --ng-panel:light-dark(#ffffff,#171e29); --ng-soft:light-dark(#e9edf0,#202b39); --ng-ink:light-dark(#172434,#f1f5f9); --ng-muted:light-dark(#576879,#abb8c7); --ng-line:light-dark(#d5dce2,#354354); --ng-orange:light-dark(#b84111,#ff8b58); --ng-active:light-dark(#243449,#e2e9f0); --ng-active-ink:light-dark(#ffffff,#152235); color-scheme:light dark; color:var(--ng-ink); font:400 14px/1.5 system-ui,-apple-system,sans-serif; background:var(--ng-bg); border-radius:18px; overflow:hidden; }
    #nexgen-facility-preview * { box-sizing:border-box; }
    #nexgen-facility-preview button,#nexgen-facility-preview select { font:inherit; }
    #nexgen-facility-preview button { cursor:pointer; }
    #nexgen-facility-preview .ng-header { padding:22px 22px 16px; display:flex; gap:16px; justify-content:space-between; align-items:center; flex-wrap:wrap; padding-right:100px; }
    #nexgen-facility-preview .ng-eyebrow { color:var(--ng-orange); font-size:12px; letter-spacing:.12em; font-weight:500; }
    #nexgen-facility-preview h2 { font-size:22px; font-weight:500; margin:2px 0 0; }
    #nexgen-facility-preview .ng-mode { display:flex; flex-wrap:wrap; gap:6px; }
    #nexgen-facility-preview .ng-control { padding:8px 12px; border:1px solid var(--ng-line); border-radius:9px; background:var(--ng-panel); color:var(--ng-ink); min-height:40px; }
    #nexgen-facility-preview .ng-control[aria-pressed=true] { background:var(--ng-active); color:var(--ng-active-ink); border-color:var(--ng-active); }
    #nexgen-facility-preview .ng-toolbar { display:flex; flex-wrap:wrap; gap:8px 16px; padding:0 22px 16px; align-items:center; }
    #nexgen-facility-preview .ng-toolbar label[hidden] { display:none; }
    #nexgen-facility-preview .ng-toolbar label { display:inline-flex; align-items:center; gap:6px; color:var(--ng-muted); }
    #nexgen-facility-preview select { max-width:100%; }
    #nexgen-facility-preview .ng-stage { position:relative; height:500px; background:var(--ng-bg); overflow:hidden; }
    #nexgen-facility-preview canvas { display:block; width:100%; height:100%; touch-action:none; cursor:grab; }
    #nexgen-facility-preview canvas:active { cursor:grabbing; }
    #nexgen-facility-preview .ng-label-layer { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
    #nexgen-facility-preview .ng-area-label { position:absolute; transform:translate(-50%,-50%); padding:4px 8px; font-size:12px; line-height:1.4; white-space:nowrap; border-radius:6px; color:var(--ng-ink); background:var(--ng-panel); border:1px solid var(--ng-line); box-shadow:0 2px 6px #0002; pointer-events:auto; }
    #nexgen-facility-preview .ng-area-label[aria-pressed=true] { background:var(--ng-active); color:var(--ng-active-ink); }
    #nexgen-facility-preview .ng-zoom { position:absolute; right:16px; bottom:16px; display:flex; gap:6px; }
    #nexgen-facility-preview .ng-hint { position:absolute; left:18px; bottom:17px; color:var(--ng-muted); font-size:12px; pointer-events:none; max-width:65%; }
    #nexgen-facility-preview .ng-detail { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:20px; padding:22px; background:var(--ng-panel); border-top:1px solid var(--ng-line); }
    #nexgen-facility-preview .ng-detail h3 { font-size:20px; font-weight:500; margin:0 0 3px; }
    #nexgen-facility-preview .ng-dim { color:var(--ng-orange); margin-bottom:8px; }
    #nexgen-facility-preview .ng-note { color:var(--ng-muted); margin:0; }
    #nexgen-facility-preview .ng-detail img { width:100%; height:146px; object-fit:cover; border-radius:10px; background:var(--ng-soft); }
    #nexgen-facility-preview .ng-detail figure { margin:0; }
    #nexgen-facility-preview figcaption { color:var(--ng-muted); font-size:12px; margin-top:4px; }
    #nexgen-facility-preview .ng-detail-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
    #nexgen-facility-preview .ng-source { padding:14px 22px; color:var(--ng-muted); font-size:12px; }
    #nexgen-facility-preview .ng-source summary { cursor:pointer; }
    #nexgen-facility-preview .ng-source ul { padding-left:20px; }
    #nexgen-facility-preview .ng-source img { display:block; width:100%; max-width:600px; height:auto; margin-top:12px; }
    #nexgen-facility-preview .ng-status { position:absolute; inset:20px; display:grid; place-items:center; color:var(--ng-muted); pointer-events:none; }
    #nexgen-facility-preview .ng-status[hidden],#nexgen-facility-preview [hidden] { display:none; }
    #nexgen-facility-preview[data-map-view="plan"] canvas { cursor:default; }
    #nexgen-facility-preview[data-map-view="plan"] .ng-area-label { padding:2px 3px; min-height:0; font-size:12px; line-height:1.25; border-radius:4px; pointer-events:none; }
    @media(max-width:600px) {
      #nexgen-facility-preview .ng-header { padding:18px 18px 12px; }
      #nexgen-facility-preview .ng-toolbar { padding:0 18px 12px; gap:8px 12px; }
      #nexgen-facility-preview .ng-stage { height:390px; }
      #nexgen-facility-preview .ng-detail { grid-template-columns:minmax(0,1fr); padding:18px; gap:14px; }
      #nexgen-facility-preview .ng-detail img { height:180px; }
      #nexgen-facility-preview .ng-area-label { padding:3px 5px; font-size:11px; }
      #nexgen-facility-preview .ng-control { min-height:44px; }
      #nexgen-facility-preview .ng-hint { top:12px; bottom:auto; right:18px; max-width:none; }
    }
    #nexgen-facility-preview[data-map-view="plan"] .ng-area-label { padding:2px 3px; min-height:0; }
  
html,body{margin:0;padding:0;background:transparent;font-family:system-ui,-apple-system,sans-serif}#nexgen-facility-preview{border-radius:0}#nexgen-facility-preview .ng-header{padding:12px;gap:8px}#nexgen-facility-preview .ng-toolbar{padding:0 12px 12px}#nexgen-facility-preview .ng-detail{grid-template-columns:minmax(0,1fr);padding:12px}#nexgen-facility-preview .ng-stage{height:420px}#nexgen-facility-preview .ng-area-label{min-height:32px} @media(pointer:coarse){#nexgen-facility-preview .ng-area-label{min-height:44px}}

#nexgen-facility-preview[data-map-view="plan"] .ng-area-label{min-height:0;padding:2px 3px;pointer-events:none}
