/* Architectural plan A: washes below the original linework; status on labels. */
#campus-integre .cp-architectural .cu-plan-world{background:#fff;color:#162d3b}
#campus-integre .cp-architectural .cu-plan-viewport{height:510px;background:#fafbfc}
#campus-integre .cp-underlay,#campus-integre .cp-linework{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;user-select:none}
#campus-integre .cp-underlay{z-index:0;opacity:.6}
#campus-integre .cp-linework{z-index:1;opacity:1}
#campus-integre .cp-architectural .cu-plan-data-layer{z-index:3;pointer-events:none}
#campus-integre .cp-room,#campus-integre .cp-point{pointer-events:auto;transform:translate(-50%,-50%) scale(calc(1 / var(--cu-plan-scale)));transform-origin:center;touch-action:none}
#campus-integre .cu-plan-room.cp-room{--cp-fg:#4c5c68;--cp-bg:#f7f9fa;--cp-border:#8b9ba6;position:absolute;display:flex;flex-direction:row;gap:4px;align-items:center;justify-content:center;width:max-content;height:27px;min-width:42px;max-width:155px;padding:4px 6px;border:1px solid var(--cp-border);border-radius:6px;background:var(--cp-bg);color:var(--cp-fg);font-size:11px;line-height:1;box-shadow:0 1px 3px #142c3c22;overflow:visible;cursor:pointer}
#campus-integre .cp-room strong{font-weight:650;white-space:nowrap;letter-spacing:.01em}
#campus-integre .cp-room[data-status="ok"],#campus-integre .cp-legend [data-status="ok"]{--cp-bg:#e1f1e9;--cp-fg:#14583e;--cp-border:#458368}
#campus-integre .cp-room[data-status="watch"],#campus-integre .cp-legend [data-status="watch"]{--cp-bg:#fff0cd;--cp-fg:#794d00;--cp-border:#bc842c}
#campus-integre .cp-room[data-status="high"],#campus-integre .cp-room[data-status="alert"],#campus-integre .cp-legend [data-status="alert"]{--cp-bg:#fbe0df;--cp-fg:#923432;--cp-border:#bd5753}
#campus-integre .cp-room[data-status="info"],#campus-integre .cp-legend [data-status="info"]{--cp-bg:#e0edf9;--cp-fg:#235580;--cp-border:#5686ad}
#campus-integre .cp-room[data-status="stale"]{border-style:dashed;--cp-bg:#f1f2f3;--cp-fg:#5f6771}
#campus-integre .cu-plan-room.cp-room[aria-pressed="true"]{outline:2px solid #183e59;outline-offset:2px;box-shadow:0 2px 5px #142c3c44}
#campus-integre .cu-plan-room.cp-room:focus-visible{outline:3px solid #245a82;outline-offset:2px}
#campus-integre .cp-nature{display:flex;gap:2px;align-items:center}
#campus-integre .cp-nature:empty{display:none}
#campus-integre .cp-nature svg{width:12px;height:12px;stroke-width:2}
#campus-integre .cp-reading{display:none;font-size:10px;border-left:1px solid var(--cp-border);padding-left:4px;white-space:nowrap}
#campus-integre [data-architectural-detail="true"] .cp-reading{display:block}
#campus-integre .cp-point{position:absolute;display:block;width:12px;height:12px;border:0;border-radius:50%;background:transparent;color:#294f68;padding:0;font:inherit;box-shadow:none;cursor:pointer;z-index:5}
#campus-integre .cp-point:before{content:'';position:absolute;inset:-7px;border-radius:50%}
#campus-integre .cp-point-dot{display:block;width:8px;height:8px;margin:2px;border:1px solid #fff;border-radius:50%;background:#416b85;box-shadow:0 0 0 1px #416b8544}
#campus-integre .cp-point-name{display:none;position:absolute;bottom:17px;left:50%;transform:translateX(-50%);font-size:11px;padding:5px 8px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid var(--cu-line);border-radius:5px;background:var(--cu-surface);color:var(--cu-ink);pointer-events:none}
#campus-integre .cp-point:is(:hover,:focus-visible) .cp-point-name{display:block}
#campus-integre .cp-point.is-selected .cp-point-dot{box-shadow:0 0 0 2px #416b8555}
#campus-integre .cp-point:focus-visible{outline:2px solid #245a82;outline-offset:3px}
#campus-integre .cp-draft{pointer-events:none}
#campus-integre .cp-draft .cp-point-dot{background:#b47a22;box-shadow:0 0 0 2px #b47a2266}
#campus-integre .cp-legend{display:flex;gap:8px 14px;flex-wrap:wrap;margin-bottom:8px}
#campus-integre .cp-legend>span:before{content:'';display:inline-block;width:8px;height:8px;border:1px solid var(--cp-border,#8b9ba6);background:var(--cp-bg,#f7f9fa);border-radius:2px;margin-right:5px}
#campus-integre .cp-legend [data-status="stale"]:before{border-style:dashed}
#campus-integre .cp-sidebar{background:var(--cu-surface);border:1px solid var(--cu-line);border-radius:11px;padding:22px;display:flex;flex-direction:column;gap:16px;align-self:stretch}
#campus-integre .cp-sidebar header{display:flex;flex-direction:column;gap:9px}
#campus-integre .cp-eyebrow{font-size:10px;letter-spacing:.12em;color:var(--cu-muted);font-weight:600}
#campus-integre .cp-sidebar h3{font-size:21px;line-height:1.2;overflow-wrap:anywhere}
#campus-integre .cp-sidebar p{margin:0;color:var(--cu-muted);font-size:12px;line-height:1.6}
#campus-integre .cp-sidebar form,#campus-integre .cp-sidebar label{display:flex;flex-direction:column;gap:8px}
#campus-integre .cp-sidebar form{gap:18px}
#campus-integre .cp-sidebar label{font-size:12px;font-weight:500}
#campus-integre .cp-sidebar input,#campus-integre .cp-sidebar select{width:100%;min-height:40px;border:1px solid var(--cu-line);border-radius:7px;background:var(--cu-surface);color:var(--cu-ink);padding:9px 11px;font:inherit;font-size:13px}
#campus-integre .cp-sidebar input:focus-visible{outline:2px solid var(--cu-use);outline-offset:2px}
#campus-integre .cp-sidebar .cp-error{color:#a43b35;border:1px solid #e4bab5;background:#fff1ee;padding:10px;border-radius:6px}
#campus-integre .cp-form-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#campus-integre .cp-form-actions button,#campus-integre .cp-add-point{min-height:40px}
#campus-integre .cp-delete,#campus-integre .cp-text-button{border:0;background:none;color:var(--cu-muted);padding:8px 0;font-size:12px;cursor:pointer;text-align:left}
#campus-integre .cp-delete{color:#a43b35}
#campus-integre .cp-association{display:flex;gap:8px;align-items:center}
#campus-integre .cp-association svg{width:18px;flex:none}
#campus-integre .cp-location-list{display:flex;flex-direction:column;gap:1px}
#campus-integre .cp-location-list>button{display:flex;align-items:center;gap:10px;text-align:left;min-height:52px;border:0;border-bottom:1px solid var(--cu-line);background:transparent;color:var(--cu-ink);padding:10px 4px;cursor:pointer}
#campus-integre .cp-location-list>button[aria-pressed="true"]{background:var(--cu-bg)}
#campus-integre .cp-location-list svg{width:15px;flex:none;color:var(--cu-muted)}
#campus-integre .cp-location-list span{flex:1;font-size:12px}
#campus-integre .cp-location-list small{display:block;color:var(--cu-muted);margin-top:3px;font-size:10px}
#campus-integre .cp-sidebar footer{margin-top:auto;border-top:1px solid var(--cu-line);padding-top:13px;color:var(--cu-muted);font-size:10px;line-height:1.5}
.cp-manager #campus-integre .cu-app{border:0;background:transparent}
.cp-manager #campus-integre .cu-main{padding:8px 0}
.cp-manager #campus-integre .cu-workspace{grid-template-columns:minmax(0,2.6fr) minmax(270px,1fr)}
@media(max-width:950px){#campus-integre .cp-architectural .cu-plan-viewport{height:430px}.cp-manager #campus-integre .cu-workspace{grid-template-columns:1fr}.cp-manager #campus-integre .cp-sidebar{padding:20px}}
@media(max-width:580px){#campus-integre .cp-architectural .cu-plan-viewport{height:370px}#campus-integre .cu-plan-room.cp-room{font-size:10px;height:25px;min-width:34px;gap:2px;padding:3px 4px}#campus-integre .cp-nature svg{width:10px;height:10px}#campus-integre .cp-sidebar{padding:18px}#campus-integre .cp-reading{display:none}}
#campus-integre .cp-reading:empty{display:none}
#campus-integre .cp-sidebar .cp-placement-tip{border-left:3px solid #a57b31;padding:8px 10px;background:color-mix(in srgb,#e9c57b 14%,var(--cu-surface));color:var(--cu-ink)}
#campus-integre .cp-architectural .cu-plan-viewport:has(.cp-draft){cursor:crosshair}
#campus-integre [data-architectural-compact="true"] .cu-plan-room.cp-room{height:21px;min-width:27px;font-size:8px;padding:3px;gap:1px;border-radius:4px}
#campus-integre [data-architectural-compact="true"] .cp-nature svg{width:8px;height:8px}

#campus-integre .cp-plan-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#campus-integre .cp-plan-actions .cu-plan-navigation-controls{margin-left:auto;padding:3px;border:1px solid var(--cu-line);border-radius:8px;background:var(--cu-surface)}
#campus-integre .cp-plan-actions .cu-plan-navigation-controls button{border:0;min-height:36px;min-width:36px}
#campus-integre .cp-plan-actions .cu-action-primary,#campus-integre .cp-plan-actions .cu-action-secondary{min-height:40px}
#campus-integre .cp-canvas-tip{margin:0;padding:10px 12px;border-left:3px solid #a57b31;border-radius:4px;background:#fff5df;color:#654a16;font-size:12px;line-height:1.5}
#campus-integre .cp-sidebar form{scroll-margin:60px}
@media(max-width:580px){#campus-integre .cp-plan-actions{align-items:stretch}#campus-integre .cp-plan-actions .cu-plan-navigation-controls{margin-left:0}#campus-integre .cp-plan-actions>.cu-action-primary{flex:1}}

@media(max-width:580px){#campus-integre .cp-plan-actions{position:sticky;top:var(--campus-top-inset,0px);z-index:8;background:var(--cu-surface);padding:7px 0}}

#campus-integre .cp-search-zoom-row{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:nowrap}
#campus-integre .cp-search-zoom-row .cu-plan-search{flex:1;min-width:0;width:auto;max-width:none}
#campus-integre .cp-search-zoom-row .cu-plan-navigation-controls{flex:none;flex-wrap:nowrap;margin-left:auto}
#campus-integre .cp-search-zoom-row .cu-plan-zoom-controls{display:flex;flex-wrap:nowrap;gap:1px}
#campus-integre .cp-search-zoom-row .cu-plan-navigation-controls button{border:0;min-width:30px;min-height:34px;padding:6px}
#campus-integre .cp-search-zoom-row output{min-width:43px;font-size:11px}
#campus-integre .cp-plan-heading{gap:9px;flex-wrap:wrap}
#campus-integre .cp-plan-heading select{max-width:140px}
#campus-integre .cp-clear-room{display:flex;align-items:center;gap:4px;margin-left:auto;border:0;background:var(--cu-bg);color:var(--cu-ink);border-radius:6px;padding:6px 9px;font-size:11px;cursor:pointer}
#campus-integre .cp-clear-room svg{width:13px;height:13px}
#campus-integre .cp-floor-readings{border-top:1px solid var(--cu-line);padding-top:14px}
#campus-integre .cp-floor-readings h4{font-size:13px;font-weight:600;margin:0 0 12px}
#campus-integre .cu-plan-room.cp-room{font-size:13px;min-width:30px}
#campus-integre [data-architectural-compact="true"] .cu-plan-room.cp-room{font-size:11px;min-width:24px;height:24px}
#campus-integre [data-architectural-compact="true"] .cp-nature svg{width:9px;height:9px}
@media(max-width:580px){#campus-integre .cp-search-zoom-row{gap:4px}#campus-integre .cp-search-zoom-row .cu-plan-navigation-controls button{min-width:27px;padding:5px}#campus-integre .cp-search-zoom-row .cu-plan-search{min-width:55px}#campus-integre .cp-search-zoom-row input{font-size:11px;padding-left:26px}#campus-integre .cp-plan-heading h3{font-size:13px}}
