

#campus-integre .cu-app{--cu-bg:light-dark(#f3f5f6,#182126);--cu-surface:light-dark(#ffffff,#222e34);--cu-ink:light-dark(#152d3c,#e7f0f4);--cu-muted:light-dark(#5d707b,#b6c7d0);--cu-line:light-dark(#dce4e8,#40515b);--cu-use:light-dark(#245a82,#82b4dc);--cu-env:light-dark(#24734d,#82d0a2);--cu-wall:light-dark(#a8b8c1,#768c98);--cu-empty:light-dark(#e8edef,#35464e);--cu-accent:var(--cu-use);--cu-gap:22px;background:var(--cu-bg);color:var(--cu-ink);font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;border-radius:14px;overflow-wrap:anywhere;border:1px solid var(--cu-line)}
#campus-integre .cu-app *{box-sizing:border-box;min-width:0}
#campus-integre .cu-app[hidden],#campus-integre .cu-app [hidden]{display:none!important}
#campus-integre .cu-app.cu-environment{--cu-accent:var(--cu-env)}
#campus-integre .cu-header{padding:23px 110px 19px 28px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:var(--cu-surface);border-bottom:1px solid var(--cu-line);border-radius:14px 14px 0 0}
#campus-integre .cu-brand{display:flex;align-items:center;gap:12px;flex:none}
#campus-integre .cu-brand-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--cu-ink);color:var(--cu-surface);border-radius:9px}
#campus-integre .cu-brand-icon svg{width:21px;height:21px}
#campus-integre .cu-brand-name{font-size:20px;font-weight:500;letter-spacing:-.5px}
#campus-integre .cu-brand-name small{font-size:11px;letter-spacing:.12em;margin-left:5px}
#campus-integre .cu-demo{font-size:11px;color:var(--cu-muted);border:1px solid var(--cu-line);border-radius:20px;padding:4px 9px}
#campus-integre .cu-main{padding:25px 28px;display:flex;flex-direction:column;gap:var(--cu-gap)}
#campus-integre .cu-domain-nav{display:flex;gap:7px;flex-wrap:wrap;margin-left:auto}
#campus-integre button,#campus-integre select{font:inherit}
#campus-integre .cu-domain{display:flex;gap:7px;align-items:center;padding:10px 14px;border:0;background:transparent;border-radius:8px;color:var(--cu-muted);font-size:12px;text-align:left}
#campus-integre .cu-domain svg{width:15px;height:15px;flex:none}
#campus-integre .cu-domain[aria-pressed="true"]{background:color-mix(in srgb,var(--cu-accent) 11%,var(--cu-surface));color:var(--cu-accent);font-weight:500}
#campus-integre .cu-context{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
#campus-integre .cu-path{font-size:11px;color:var(--cu-muted);margin:0 0 8px;letter-spacing:.04em}
#campus-integre h2{font-size:27px;line-height:1.15;letter-spacing:-.65px;font-weight:500;margin:0}
#campus-integre h3{font-size:15px;font-weight:500;line-height:1.3;margin:0}
#campus-integre .cu-date{font-size:12px;color:var(--cu-muted);padding-top:4px;white-space:nowrap}
#campus-integre .cu-summary{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:17px 0;border-top:1px solid var(--cu-line);border-bottom:1px solid var(--cu-line)}
#campus-integre .cu-summary-main{display:flex;align-items:baseline;gap:8px}
#campus-integre .cu-summary-main strong{font-size:34px;line-height:1;font-weight:500;letter-spacing:-1.2px;font-variant-numeric:tabular-nums}
#campus-integre .cu-summary-main span{font-size:14px}
#campus-integre .cu-summary-facts{display:flex;gap:14px 22px;flex-wrap:wrap;color:var(--cu-muted);font-size:12px;margin-left:auto}
#campus-integre .cu-summary-facts strong{color:var(--cu-ink);font-weight:500}
#campus-integre .cu-workspace{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr);gap:18px;align-items:stretch}
#campus-integre .cu-map-panel{background:var(--cu-surface);padding:17px;border:1px solid var(--cu-line);border-radius:11px;display:flex;flex-direction:column;gap:15px}
#campus-integre .cu-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
#campus-integre .cu-layer-label,#campus-integre .cu-period-label{display:flex;gap:8px;align-items:center;color:var(--cu-muted);font-size:12px}
#campus-integre select{border:1px solid var(--cu-line);color:var(--cu-ink);background:var(--cu-surface);padding:7px 24px 7px 10px;border-radius:7px;max-width:100%;min-height:35px}
#campus-integre .cu-map{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;grid-template-rows:minmax(150px,1fr) 46px minmax(150px,1fr);border:5px solid var(--cu-wall);background:var(--cu-bg);isolation:isolate;flex:1}
#campus-integre .cu-room{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:36px 5px 26px;min-height:150px;border:2px solid var(--cu-wall);border-radius:0;background:color-mix(in srgb,var(--cu-room-accent,var(--cu-accent)) var(--cu-intensity,8%),var(--cu-surface));color:var(--cu-ink);text-align:center;line-height:1.3}
#campus-integre .cu-room[aria-pressed="true"]{box-shadow:inset 0 0 0 3px var(--cu-accent)}
#campus-integre .cu-room-id{position:absolute;left:8px;top:9px;font-size:11px;color:var(--cu-muted);font-weight:500;z-index:3}
#campus-integre .cu-south .cu-room-id{left:auto;right:8px}
#campus-integre .cu-room-name{font-size:11px;z-index:2}
#campus-integre .cu-room-value{font-size:24px;font-weight:500;line-height:1.1;letter-spacing:-.6px;font-variant-numeric:tabular-nums;z-index:2}
#campus-integre .cu-room-unit{font-size:11px;color:var(--cu-muted);z-index:2}
#campus-integre .cu-room.cu-empty{background:var(--cu-empty)}
#campus-integre .cu-room.cu-old{background:repeating-linear-gradient(135deg,var(--cu-empty),var(--cu-empty) 6px,var(--cu-surface) 6px,var(--cu-surface) 9px)}
#campus-integre .cu-window{position:absolute;left:20%;top:-4px;height:4px;width:60%;background:var(--cu-surface);border:1px solid var(--cu-wall)}
#campus-integre .cu-south .cu-window{top:auto;bottom:-4px}
#campus-integre .cu-door{position:absolute;bottom:-3px;right:9px;width:22px;height:22px;background:var(--cu-bg);border-radius:0 100% 0 0;border-top:1px solid var(--cu-wall);border-right:1px solid var(--cu-wall);z-index:4}
#campus-integre .cu-south .cu-door{top:-3px;bottom:auto;right:auto;left:9px;transform:rotate(180deg)}
#campus-integre .cu-corridor{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;color:var(--cu-muted);gap:8px}
#campus-integre .cu-corridor span:first-child{display:flex;align-items:center;gap:8px}
#campus-integre .cu-corridor svg{width:15px;height:15px}






#campus-integre .cu-legend{display:flex;gap:7px 9px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-legend-gradient{width:60px;height:6px;border-radius:4px;background:linear-gradient(to right,color-mix(in srgb,var(--cu-accent) 4%,var(--cu-surface)),color-mix(in srgb,var(--cu-accent) 52%,var(--cu-surface)))}
#campus-integre .cu-legend-key{display:flex;gap:5px;align-items:center}
#campus-integre .cu-swatch{width:10px;height:10px;background:var(--cu-empty)}
#campus-integre .cu-detail{background:var(--cu-surface);padding:21px;border:1px solid var(--cu-line);border-radius:11px;display:flex;flex-direction:column;gap:18px}
#campus-integre .cu-local-head{padding-bottom:14px;border-bottom:1px solid var(--cu-line)}
#campus-integre .cu-local-id{font-size:11px;color:var(--cu-accent);font-weight:500;letter-spacing:.08em;margin-bottom:5px}
#campus-integre .cu-local-head h3{font-size:22px;letter-spacing:-.4px}
#campus-integre .cu-local-head p{margin:6px 0 0;color:var(--cu-muted);font-size:12px}
#campus-integre .cu-reading-group h4{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;margin:0 0 12px;color:var(--cu-use)}
#campus-integre .cu-reading-group.cu-environment-group h4{color:var(--cu-env)}
#campus-integre .cu-reading-group h4 svg{width:14px;height:14px}
#campus-integre .cu-occ-value{font-size:38px;line-height:1;font-weight:500;letter-spacing:-1px;font-variant-numeric:tabular-nums}
#campus-integre .cu-occ-value small{font-size:13px;letter-spacing:0;color:var(--cu-muted);font-weight:400}
#campus-integre .cu-subvalue{font-size:11px;color:var(--cu-muted);margin-top:7px}
#campus-integre .cu-environment-group{border-top:1px solid var(--cu-line);padding-top:17px}
#campus-integre .cu-env-readings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#campus-integre .cu-env-reading{display:flex;flex-direction:column;gap:5px}
#campus-integre .cu-measure-name{font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-measure-value{font-size:20px;line-height:1.2;letter-spacing:-.4px;font-weight:500;font-variant-numeric:tabular-nums}
#campus-integre .cu-measure-unit{font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-measure-time{font-size:11px;color:var(--cu-muted);line-height:1.35}
#campus-integre .cu-coverage{font-size:11px;color:var(--cu-muted);display:flex;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:15px;border-top:1px solid var(--cu-line)}
#campus-integre .cu-app.cu-environment .cu-occ-value{font-size:22px;letter-spacing:-.3px}
#campus-integre .cu-app.cu-environment .cu-measure-value{font-size:27px;letter-spacing:-.65px}
#campus-integre .cu-app.cu-environment .cu-reading-group:not(.cu-environment-group) h4{color:var(--cu-muted)}
#campus-integre .cu-brand{border:0;background:none;padding:0;color:var(--cu-ink);font:inherit;text-align:left}
#campus-integre .cu-breadcrumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--cu-muted);font-size:12px;margin-bottom:12px}
#campus-integre .cu-breadcrumb button{border:0;background:none;color:inherit;padding:2px 0;font:inherit;text-align:left}
#campus-integre .cu-breadcrumb svg{height:12px;width:12px;flex:none}
#campus-integre .cu-breadcrumb .cu-crumb-current{color:var(--cu-ink)}
#campus-integre .cu-context{align-items:flex-start}
#campus-integre .cu-place-heading{min-width:0}
#campus-integre .cu-place-heading h2{overflow-wrap:normal}
#campus-integre .cu-back-directory{display:flex;align-items:center;gap:7px;border:0;background:none;color:var(--cu-muted);font-size:12px;padding:0;margin:0 0 14px}
#campus-integre .cu-back-directory svg{width:14px;height:14px}
#campus-integre .cu-floor-label{display:flex;align-items:center;gap:8px;color:var(--cu-muted);font-size:12px}
#campus-integre .cu-plan-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
#campus-integre .cu-local-assignment{padding-top:10px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--cu-muted)}
#campus-integre .cu-local-assignment strong{color:var(--cu-ink);font-weight:500}
#campus-integre .cu-directory-main{padding:0}
#campus-integre .cu-directory-toolbar{padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
#campus-integre .cu-directory-toolbar h2{font-size:18px;letter-spacing:-.2px}
#campus-integre .cu-directory-search{display:flex;align-items:center;gap:10px;background:var(--cu-surface);border:1px solid var(--cu-line);border-radius:9px;padding:10px 12px;width:410px;max-width:100%}
#campus-integre .cu-directory-search svg{width:16px;height:16px;flex:none;color:var(--cu-muted)}
#campus-integre .cu-directory-search input{font:inherit;font-size:13px;width:100%;border:0;background:none;color:var(--cu-ink);padding:2px 0;min-width:0}
#campus-integre .cu-directory-layout{display:grid;grid-template-columns:235px minmax(0,1fr);border-top:1px solid var(--cu-line);min-height:550px}
#campus-integre .cu-sites-sidebar{padding:22px 12px;border-right:1px solid var(--cu-line)}
#campus-integre .cu-sites-title{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--cu-muted);padding:0 12px 12px}
#campus-integre .cu-sites-list{display:flex;flex-direction:column;gap:4px}
#campus-integre .cu-site-button{display:flex;align-items:center;gap:10px;min-height:47px;width:100%;border:1px solid transparent;background:none;color:var(--cu-ink);padding:11px 12px;text-align:left;font-size:13px;border-radius:8px}
#campus-integre .cu-site-button svg{width:16px;height:16px;flex:none;color:var(--cu-muted)}
#campus-integre .cu-site-button span{flex:1}
#campus-integre .cu-site-button[aria-current="page"]{background:var(--cu-surface);border-color:var(--cu-line);color:var(--cu-accent);font-weight:500}
#campus-integre .cu-site-button:hover,#campus-integre .cu-directory-building:hover{background:color-mix(in srgb,var(--cu-accent) 5%,var(--cu-surface))}
#campus-integre .cu-directory-content{background:var(--cu-surface);padding:25px 28px 32px}
#campus-integre .cu-directory-title{margin-bottom:20px}
#campus-integre .cu-directory-title h2{font-size:27px}
#campus-integre .cu-building-list{border-top:1px solid var(--cu-line)}
#campus-integre .cu-directory-building{width:100%;padding:16px 3px;border:0;border-bottom:1px solid var(--cu-line);background:none;color:var(--cu-ink);display:flex;align-items:center;gap:13px;text-align:left}
#campus-integre .cu-directory-building svg{width:18px;height:18px;flex:none;color:var(--cu-muted)}
#campus-integre .cu-directory-building svg:last-child{width:15px;height:15px}
#campus-integre .cu-building-copy{flex:1;display:flex;flex-direction:column;gap:4px}
#campus-integre .cu-building-copy strong{font-weight:500;font-size:14px}
#campus-integre .cu-building-copy small{font-size:12px;color:var(--cu-muted)}
#campus-integre .cu-directory-result-group{margin-top:22px}
#campus-integre .cu-directory-result-group h3{margin-bottom:10px}
#campus-integre .cu-directory-empty{padding:25px 0;color:var(--cu-muted);font-size:13px}
#campus-integre .cu-mobile-site-label{display:none}
#campus-integre .cu-directory-filters{display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap;padding:0 28px 18px}
#campus-integre .cu-equipment-filter{display:flex;align-items:center;gap:10px;color:var(--cu-muted);font-size:12px}
#campus-integre .cu-directory-filters .cu-sensor-legend{padding:0}
#campus-integre .cu-sites-empty{color:var(--cu-muted);font-size:12px;padding:0 12px}
@media(max-width:620px){#campus-integre .cu-directory-filters{padding:0 16px 18px}#campus-integre .cu-equipment-filter{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%}#campus-integre .cu-equipment-filter select{width:100%}}
#campus-integre .cu-sensors{display:inline-flex;align-items:center;gap:5px;flex:none;white-space:nowrap;vertical-align:middle}
#campus-integre .cu-sensors .cu-sensor{display:inline-flex;flex:none}
#campus-integre .cu-sensors .cu-sensor svg{width:15px;height:15px}
#campus-integre .cu-sensors .cu-sensor-use svg{color:var(--cu-use)}
#campus-integre .cu-sensors .cu-sensor-env svg{color:var(--cu-env)}
#campus-integre .cu-sensors-none{color:var(--cu-muted);font-size:13px}
#campus-integre .cu-site-button .cu-site-name{flex:1}
#campus-integre .cu-site-button .cu-sensors{flex:none}
#campus-integre .cu-site-button{gap:8px}
#campus-integre .cu-site-button.cu-uninstrumented,#campus-integre .cu-directory-building.cu-uninstrumented{color:var(--cu-muted);background:color-mix(in srgb,var(--cu-empty) 28%,transparent)}
#campus-integre .cu-site-button.cu-uninstrumented[aria-current="page"]{border-color:var(--cu-wall)}
#campus-integre .cu-sensor-legend{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;padding:0 28px 18px;color:var(--cu-muted);font-size:11px}
#campus-integre .cu-sensor-legend>span{display:inline-flex;align-items:center;gap:6px}
#campus-integre .cu-title-equipment{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#campus-integre .cu-room>.cu-sensors{position:absolute;right:7px;top:8px;z-index:3}
#campus-integre .cu-room.cu-south>.cu-sensors{right:auto;left:7px}
#campus-integre .cu-room>.cu-sensors .cu-sensor svg{width:12px;height:12px}
#campus-integre .cu-reading-unavailable h4,#campus-integre .cu-reading-unavailable.cu-environment-group h4{color:var(--cu-muted)}
#campus-integre .cu-summary-empty .cu-summary-main{color:var(--cu-muted)}
@media(max-width:850px){#campus-integre .cu-directory-layout{grid-template-columns:225px minmax(0,1fr)}}
@media(max-width:620px){#campus-integre .cu-sensor-legend{padding:0 16px 16px}#campus-integre .cu-directory-building{gap:9px}#campus-integre .cu-mobile-site-label select{flex:1;max-width:calc(100% - 78px)}}
@media(max-width:850px){#campus-integre .cu-directory-layout{grid-template-columns:205px minmax(0,1fr)}#campus-integre .cu-directory-content{padding:22px}#campus-integre .cu-site-button{font-size:12px;gap:8px}}
@media(max-width:620px){#campus-integre .cu-directory-toolbar{padding:18px 16px}#campus-integre .cu-directory-toolbar h2{display:none}#campus-integre .cu-directory-search{width:100%}#campus-integre .cu-directory-search input{font-size:16px}#campus-integre .cu-directory-layout{display:block;min-height:0}#campus-integre .cu-sites-sidebar{display:none}#campus-integre .cu-mobile-site-label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;border-bottom:1px solid var(--cu-line);color:var(--cu-muted);font-size:12px}#campus-integre .cu-mobile-site-label select{max-width:82%;font-size:14px}#campus-integre .cu-directory-content{padding:20px 16px 25px}#campus-integre .cu-directory-title h2{font-size:25px}#campus-integre .cu-plan-controls{width:100%;justify-content:space-between;gap:10px}#campus-integre .cu-floor-label{flex-wrap:wrap}#campus-integre .cu-breadcrumb{font-size:11px;gap:6px}#campus-integre .cu-context .cu-date{margin-top:12px}}
@media(pointer:coarse){#campus-integre .cu-back-directory,#campus-integre .cu-breadcrumb button,#campus-integre .cu-floor-label select{min-height:44px}}
#campus-integre .cu-history{position:relative;background:var(--cu-surface);border:1px solid var(--cu-line);border-radius:12px;padding:22px 24px 18px;min-width:0}
#campus-integre .cu-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:14px}
#campus-integre .cu-history-head h3{font-size:18px;letter-spacing:-.25px}
#campus-integre .cu-history-date{font-size:12px;color:var(--cu-muted);margin-top:6px}
#campus-integre .cu-history-source{font-size:12px;color:var(--cu-muted);margin-top:6px}
#campus-integre .cu-period[data-history-focus]{border-left:1px solid var(--cu-line)}
#campus-integre .cu-periods{display:flex;flex-wrap:wrap;gap:3px;background:var(--cu-bg);padding:4px;border-radius:9px}
#campus-integre .cu-period{border:0;padding:8px 11px;background:transparent;color:var(--cu-muted);font-size:12px;border-radius:6px;white-space:nowrap}
#campus-integre .cu-period[aria-pressed="true"]{background:var(--cu-surface);color:var(--cu-ink);box-shadow:0 1px 4px color-mix(in srgb,var(--cu-ink) 12%,transparent);font-weight:500}
#campus-integre .cu-charts{display:flex;flex-direction:column;gap:15px}
#campus-integre .cu-trace{min-width:0;border-top:1px solid var(--cu-line);padding-top:15px}
#campus-integre .cu-trace-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 2px 4px}
#campus-integre .cu-trace-name{font-size:13px;font-weight:500;display:flex;gap:8px;align-items:baseline}
#campus-integre .cu-trace-name small{font-size:11px;color:var(--cu-muted);font-weight:400}
#campus-integre .cu-trace-stat{font-size:11px;color:var(--cu-muted);text-align:right}
#campus-integre .cu-trace-stat strong{font-weight:500;color:var(--cu-ink)}
#campus-integre .cu-plot{width:100%;min-height:220px;position:relative}
#campus-integre .cu-environment .cu-plot{min-height:180px}
#campus-integre .cu-plot svg{display:block;width:100%;overflow:visible}
#campus-integre .cu-plot text{font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;fill:var(--cu-muted)}
#campus-integre .cu-plot .axis-title{fill:var(--cu-muted);font-size:11px}
#campus-integre .cu-plot .cu-grid line{stroke:var(--cu-line);stroke-opacity:.65}
#campus-integre .cu-plot .cu-grid path,#campus-integre .cu-plot .cu-axis path,#campus-integre .cu-plot .cu-axis line{display:none}
#campus-integre .cu-plot .cu-line{fill:none;stroke:var(--cu-accent);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
#campus-integre .cu-plot .cu-area{fill:var(--cu-accent);opacity:.09}
#campus-integre .cu-plot .cu-capacity{stroke:var(--cu-wall);stroke-width:1;stroke-dasharray:4 5}
#campus-integre .cu-plot .cu-last-point{fill:var(--cu-accent);stroke:var(--cu-surface);stroke-width:2}
#campus-integre .cu-plot .cu-guide{stroke:var(--cu-accent);stroke-width:1;stroke-opacity:.5;stroke-dasharray:3 4}
#campus-integre .cu-plot .cu-hover-point{fill:var(--cu-surface);stroke:var(--cu-accent);stroke-width:2.5}
#campus-integre .cu-plot .cu-gap{fill:var(--cu-empty);opacity:.6}
#campus-integre .cu-plot .cu-hit{fill:transparent;touch-action:pan-y}
#campus-integre .cu-plot-empty{min-height:180px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--cu-muted)}
#campus-integre .cu-tooltip{position:absolute;z-index:15;max-width:245px;min-width:165px;padding:12px 14px;background:var(--cu-ink);color:var(--cu-surface);border-radius:9px;box-shadow:0 7px 24px color-mix(in srgb,var(--cu-ink) 20%,transparent);pointer-events:none;font-size:12px;opacity:0;transform:translateY(3px);transition:opacity .12s,transform .12s}
#campus-integre .cu-tooltip.is-visible{opacity:1;transform:translateY(0)}
#campus-integre .cu-tooltip time{font-size:11px;opacity:.78;display:block;margin-bottom:8px}
#campus-integre .cu-tooltip-row{display:flex;align-items:baseline;justify-content:space-between;gap:17px;margin-top:5px}
#campus-integre .cu-tooltip-row strong{font-weight:500;font-variant-numeric:tabular-nums}
#campus-integre .cu-tooltip-row small{font-size:11px;font-weight:400;opacity:.78}
#campus-integre .cu-explore{display:flex;align-items:center;gap:12px;margin:10px 0 0;padding-left:64px;color:var(--cu-muted);font-size:11px}
#campus-integre .cu-explore>span{flex:none;white-space:nowrap}
#campus-integre .cu-explore input{accent-color:var(--cu-accent);width:100%;min-width:0;height:22px;margin:0}
#campus-integre .cu-explore output{flex:none;min-width:76px;text-align:right;font-variant-numeric:tabular-nums}
#campus-integre .cu-app.cu-environment .cu-occ-value{font-size:22px;letter-spacing:-.3px}
#campus-integre .cu-app.cu-environment .cu-measure-value{font-size:27px;letter-spacing:-.65px}
#campus-integre .cu-app.cu-environment .cu-reading-group:not(.cu-environment-group) h4{color:var(--cu-muted)}
@media(max-width:850px){#campus-integre .cu-workspace{grid-template-columns:minmax(0,1fr)}#campus-integre .cu-detail{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,1.5fr)}#campus-integre .cu-local-head{grid-column:1;border:0;padding:0}#campus-integre .cu-reading-group:not(.cu-environment-group){grid-column:1}#campus-integre .cu-environment-group{grid-column:2;grid-row:1/3;border:0;padding:0}#campus-integre .cu-coverage{grid-column:1/-1;margin-top:0}#campus-integre .cu-domain-nav{margin-left:0;width:100%}#campus-integre .cu-header{gap:14px}}
@media(max-width:580px){#campus-integre .cu-header{padding:20px 16px 15px;display:grid;grid-template-columns:minmax(0,1fr) 85px;gap:14px}#campus-integre .cu-brand{grid-column:1/-1;padding-right:75px;gap:9px}#campus-integre .cu-brand-name{font-size:19px}#campus-integre .cu-brand-name small{font-size:11px;display:block;margin:1px 0 0}#campus-integre .cu-demo{grid-column:1/-1;justify-self:start}#campus-integre .cu-domain-nav{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%;gap:5px}#campus-integre .cu-domain{padding:9px 7px;gap:6px;font-size:12px;align-items:flex-start}#campus-integre .cu-domain svg{margin-top:2px}#campus-integre .cu-main{padding:18px 15px;gap:19px}#campus-integre .cu-context{display:block}#campus-integre h2{font-size:25px}#campus-integre .cu-date{margin-top:11px;padding:0;font-size:11px}#campus-integre .cu-summary{gap:12px;padding:15px 0}#campus-integre .cu-summary-main strong{font-size:33px}#campus-integre .cu-summary-main span{font-size:13px}#campus-integre .cu-summary-facts{margin-left:0;gap:6px 14px;font-size:11px}#campus-integre .cu-map-panel{padding:11px;gap:12px}#campus-integre .cu-panel-head{gap:10px}#campus-integre .cu-layer-label{width:100%;justify-content:space-between}#campus-integre .cu-layer-label select{max-width:180px;flex:1}#campus-integre .cu-map{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(170px,1fr) 43px minmax(170px,1fr);border-width:3px}#campus-integre .cu-room{border-width:1px;min-height:170px;padding:40px 3px 27px;gap:5px}#campus-integre .cu-room-id,#campus-integre .cu-south .cu-room-id{left:0;right:0;width:100%;top:10px;text-align:center;font-size:11px}#campus-integre .cu-south .cu-room-id{top:25px}#campus-integre .cu-room-value{font-size:20px}#campus-integre .cu-room-name{font-size:11px}#campus-integre .cu-room-unit{font-size:11px}#campus-integre .cu-door{width:18px;height:18px;right:4px}#campus-integre .cu-south .cu-door{left:4px}#campus-integre .cu-corridor{padding:5px;gap:5px}#campus-integre .cu-corridor>span:last-child{display:none}#campus-integre .cu-corridor span:first-child{gap:5px}#campus-integre .cu-corridor svg{width:12px;height:12px}#campus-integre .cu-detail{display:flex;padding:18px;gap:17px;flex-direction:column}#campus-integre .cu-detail .cu-environment-group{padding-top:17px;border-top:1px solid var(--cu-line)}#campus-integre .cu-env-readings{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#campus-integre .cu-reading-group{width:100%}#campus-integre .cu-history{padding:18px 12px 14px}#campus-integre .cu-periods{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}#campus-integre .cu-period{padding:9px 7px}#campus-integre .cu-history-head{gap:12px}#campus-integre .cu-trace-head{align-items:flex-start}#campus-integre .cu-trace-stat{max-width:100px}#campus-integre .cu-explore{padding-left:0;gap:8px}#campus-integre .cu-app.cu-environment .cu-measure-value{font-size:25px}}
@media(max-width:390px){#campus-integre .cu-room-name{display:none}#campus-integre .cu-room-value{font-size:18px}#campus-integre .cu-room-unit{overflow-wrap:normal}#campus-integre .cu-brand-icon{width:30px;height:30px}#campus-integre .cu-env-readings{gap:8px}}
@media(pointer:coarse){#campus-integre select,#campus-integre .cu-domain,#campus-integre .cu-period{min-height:44px}#campus-integre select{font-size:16px}}
@media(prefers-reduced-motion:reduce){#campus-integre .cu-tooltip{transition:none}}
#campus-integre .cu-plan-filter-row{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap}
#campus-integre .cu-plan-filter-count{color:var(--cu-muted);font-size:12px;white-space:nowrap}
#campus-integre .cu-map-panel .cu-sensor-legend{padding:0;gap:8px 16px}
#campus-integre .cu-room.cu-filter-hit.cu-empty{background:color-mix(in srgb,var(--cu-room-accent,var(--cu-accent)) 12%,var(--cu-surface))}
#campus-integre .cu-room.cu-room-filtered{background:var(--cu-empty);color:var(--cu-muted)}
#campus-integre .cu-room>.cu-sensors .cu-sensor svg{width:15px;height:15px}
#campus-integre .cu-room.cu-south>.cu-sensors{top:26px;left:8px}
@media(max-width:580px){#campus-integre .cu-room,#campus-integre .cu-room.cu-south{padding-top:59px;min-height:180px}#campus-integre .cu-room.cu-south{padding-top:75px}#campus-integre .cu-room>.cu-sensors,#campus-integre .cu-room.cu-south>.cu-sensors{left:0;right:0;top:29px;justify-content:center}#campus-integre .cu-room.cu-south>.cu-sensors{top:45px}}
#campus-integre .cu-overview-main{padding:26px 28px;display:flex;flex-direction:column;gap:25px}
#campus-integre .cu-overview-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
#campus-integre .cu-overview-head p{margin:0 0 6px;color:var(--cu-muted);font-size:12px}
#campus-integre .cu-overview-head time{font-size:12px;color:var(--cu-muted);white-space:nowrap}
#campus-integre .cu-overview-buildings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#campus-integre .cu-overview-building{display:flex;flex-direction:column;gap:20px;padding:20px 18px 16px;border:1px solid var(--cu-line);border-radius:11px;background:var(--cu-surface)}
#campus-integre .cu-overview-building-head{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}
#campus-integre .cu-overview-building-head p{font-size:11px;color:var(--cu-muted);margin:0 0 6px}
#campus-integre .cu-overview-building-head h3{font-size:21px;letter-spacing:-.4px;line-height:1.2}
#campus-integre .cu-overview-building-head h3 button{display:flex;align-items:baseline;gap:7px;padding:0;border:0;background:none;color:var(--cu-ink);font:inherit;text-align:left}
#campus-integre .cu-overview-building-head h3 button>svg{width:14px;height:14px;flex:none;color:var(--cu-muted)}
#campus-integre .cu-overview-sensors{display:flex;gap:3px;flex:none}
#campus-integre .cu-overview-sensor{display:flex;align-items:center;justify-content:center;padding:5px;border:0;border-radius:5px;background:none}
#campus-integre .cu-overview-sensor svg{width:17px;height:17px}
#campus-integre .cu-overview-sensor-use{color:var(--cu-use)}
#campus-integre .cu-overview-sensor-env{color:var(--cu-env)}
#campus-integre .cu-overview-sensor:hover{background:var(--cu-empty)}
#campus-integre .cu-overview-tile-readings{display:flex;flex-direction:column;gap:20px}
#campus-integre .cu-overview-tile-label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--cu-use);margin-bottom:10px}
#campus-integre .cu-overview-tile-label svg{width:14px;height:14px;flex:none}
#campus-integre .cu-overview-tile-comfort .cu-overview-tile-label{color:var(--cu-env)}
#campus-integre .cu-overview-tile-people{display:flex;align-items:baseline;gap:7px;margin-bottom:11px;flex-wrap:wrap}
#campus-integre .cu-overview-tile-people strong{font-size:35px;font-weight:500;line-height:1;letter-spacing:-.8px;font-variant-numeric:tabular-nums}
#campus-integre .cu-overview-tile-people span{font-size:12px;color:var(--cu-muted)}
#campus-integre .cu-overview-tile-people small{font-size:12px;color:var(--cu-ink);margin-left:auto;font-variant-numeric:tabular-nums}
#campus-integre .cu-overview-tile-fill{height:6px;background:var(--cu-empty);border-radius:4px;overflow:hidden}
#campus-integre .cu-overview-tile-fill span{display:block;height:100%;background:var(--cu-use);border-radius:inherit}
#campus-integre .cu-overview-tile-coverage{display:block;margin-top:7px;font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-overview-tile-comfort-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#campus-integre .cu-overview-tile-metric{display:flex;flex-direction:column;gap:6px}
#campus-integre .cu-overview-tile-metric>span,#campus-integre .cu-overview-tile-metric>small{font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-overview-tile-metric>strong{font-size:23px;line-height:1.15;letter-spacing:-.4px;font-weight:500;font-variant-numeric:tabular-nums}
#campus-integre .cu-overview-tile-metric>strong small{display:block;margin-top:3px;font-size:11px;letter-spacing:0;font-weight:400;color:var(--cu-muted)}
#campus-integre .cu-overview-tile-badge{font-size:11px;line-height:1.3}
#campus-integre .cu-overview-tile-access{display:flex;flex-direction:column;gap:11px;margin-top:auto;padding-top:15px;border-top:1px solid var(--cu-line)}
#campus-integre .cu-overview-open-building{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:0;border:0;background:none;color:var(--cu-ink);font-size:12px;text-align:left}
#campus-integre .cu-overview-open-building svg{width:14px;height:14px;color:var(--cu-muted)}
#campus-integre .cu-overview-floor-links{display:flex;gap:5px;flex-wrap:wrap}
#campus-integre .cu-overview-floor-links button{padding:6px 8px;background:var(--cu-surface);border:1px solid var(--cu-line);border-radius:5px;color:var(--cu-muted);font-size:11px}
#campus-integre .cu-overview-floor-links button:hover{background:var(--cu-bg);color:var(--cu-ink)}
#campus-integre .cu-overview-evolution{position:relative;background:var(--cu-surface);border:1px solid var(--cu-line);border-radius:11px;padding:21px 22px 17px}
#campus-integre .cu-overview-evolution-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:20px}
#campus-integre .cu-overview-evolution-head h3{font-size:20px;letter-spacing:-.3px}
#campus-integre .cu-overview-evolution-head p{margin:6px 0 0;font-size:12px;color:var(--cu-muted)}
#campus-integre .cu-overview-plots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 25px}
#campus-integre .cu-overview-figure{min-width:0}
#campus-integre .cu-overview-figure-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:9px}
#campus-integre .cu-overview-figure-head h4{font-size:14px;font-weight:500;margin:0;color:var(--cu-ink)}
#campus-integre .cu-overview-figure-head>span{font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-overview-line-legend{display:flex;gap:7px 13px;flex-wrap:wrap;margin-bottom:8px;min-height:31px;align-content:flex-start}
#campus-integre .cu-overview-line-legend button{display:flex;align-items:center;gap:5px;border:0;padding:0;background:none;color:var(--cu-ink);font-size:11px;text-align:left}
#campus-integre .cu-overview-line-legend button[aria-pressed="false"]{color:var(--cu-muted)}
#campus-integre .cu-overview-line-legend button[aria-pressed="false"] .cu-overview-series-swatch{background:var(--cu-empty)}
#campus-integre .cu-overview-series-swatch{display:inline-block;width:12px;height:3px;flex:none;background:var(--cu-building-series)}
#campus-integre [data-overview-series="bld-battoirs"] .cu-overview-series-swatch{background:repeating-linear-gradient(to right,var(--cu-building-series) 0 4px,transparent 4px 6px)}
#campus-integre .cu-overview-line-legend strong{font-size:11px;font-weight:400;color:var(--cu-muted);font-variant-numeric:tabular-nums}
#campus-integre .cu-overview-plot{width:100%;min-height:235px}
#campus-integre .cu-overview-plot svg{display:block;width:100%;height:auto;overflow:visible}
#campus-integre .cu-overview-plot svg text{fill:var(--cu-ink);font-size:12px;font-family:inherit;font-weight:400}
#campus-integre .cu-overview-grid .domain{display:none}
#campus-integre .cu-overview-grid .tick line{stroke:var(--cu-line);stroke-width:1}
#campus-integre .cu-overview-axis path,#campus-integre .cu-overview-axis line{stroke:var(--cu-line)}
#campus-integre .cu-overview-chart-frame{fill:none;stroke:var(--cu-line);stroke-width:1}
#campus-integre .cu-overview-comfort-band{fill:color-mix(in srgb,var(--cu-env) 9%,transparent)}
#campus-integre .cu-overview-series-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#campus-integre .cu-overview-last-point,#campus-integre .cu-overview-hover-point{stroke:var(--cu-surface);stroke-width:1.5}
#campus-integre .cu-overview-guide{stroke:var(--cu-muted);stroke-width:1;stroke-dasharray:3 4}
#campus-integre .cu-overview-hit{fill:transparent;touch-action:pan-y}
#campus-integre .cu-overview-plot-empty{height:235px;display:flex;align-items:center;justify-content:center;color:var(--cu-muted)}
#campus-integre .cu-overview-explore{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:17px;font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-overview-explore>span{white-space:nowrap}
#campus-integre .cu-overview-explore input{flex:1;min-width:90px;accent-color:var(--cu-use)}
#campus-integre .cu-overview-explore output{white-space:nowrap;font-variant-numeric:tabular-nums}
#campus-integre .cu-overview-tooltip{position:absolute;z-index:8;pointer-events:none;display:none;width:245px;max-width:calc(100% - 16px);padding:12px 13px;background:var(--cu-surface);color:var(--cu-ink);border:1px solid var(--cu-line);border-radius:8px;box-shadow:0 8px 24px color-mix(in srgb,var(--cu-ink) 12%,transparent);font-size:12px}
#campus-integre .cu-overview-tooltip.is-visible{display:block}
#campus-integre .cu-overview-tooltip time{display:block;font-size:11px;color:var(--cu-muted);margin-bottom:7px}
#campus-integre .cu-overview-tip-title{margin-bottom:9px;font-weight:500}
#campus-integre .cu-overview-tip-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:8px}
#campus-integre .cu-overview-tip-row>span{display:flex;align-items:baseline;gap:6px}
#campus-integre .cu-overview-tip-swatch{width:9px;height:3px;display:inline-block;flex:none;align-self:center}
#campus-integre .cu-overview-tip-row strong{text-align:right;white-space:nowrap;font-weight:500;font-variant-numeric:tabular-nums}
#campus-integre .cu-overview-tip-row small{display:block;font-size:11px;color:var(--cu-muted);font-weight:400;margin-top:3px}
@media(max-width:900px){#campus-integre .cu-overview-buildings{grid-template-columns:repeat(2,minmax(0,1fr))}#campus-integre .cu-overview-building:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:18px 28px}#campus-integre .cu-overview-building:last-child .cu-overview-building-head{grid-column:1}#campus-integre .cu-overview-building:last-child .cu-overview-tile-readings{grid-column:2;grid-row:1/3}#campus-integre .cu-overview-building:last-child .cu-overview-tile-access{grid-column:1;margin-top:0;align-self:end}#campus-integre .cu-overview-plots{grid-template-columns:minmax(0,1fr)}}
@media(max-width:580px){#campus-integre .cu-overview-main{padding:20px 15px;gap:21px}#campus-integre .cu-overview-buildings{grid-template-columns:minmax(0,1fr)}#campus-integre .cu-overview-building,#campus-integre .cu-overview-building:last-child{display:flex;padding:19px 17px;gap:18px}#campus-integre .cu-overview-building:last-child .cu-overview-tile-access{align-self:stretch}#campus-integre .cu-overview-evolution{padding:18px 12px 15px}#campus-integre .cu-overview-evolution-head .cu-periods{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}#campus-integre .cu-overview-figure-head>span{font-size:11px}#campus-integre .cu-overview-line-legend{gap:7px 12px}#campus-integre .cu-overview-explore{gap:8px}#campus-integre .cu-overview-explore output{width:100%;text-align:right}}
@media(pointer:coarse){#campus-integre .cu-overview-sensor,#campus-integre .cu-overview-floor-links button,#campus-integre .cu-overview-open-building,#campus-integre .cu-overview-building-head h3 button{min-height:44px}#campus-integre .cu-overview-sensor{min-width:44px}#campus-integre .cu-overview-line-legend button{min-height:44px}}

#campus-integre .cu-campus-nav{display:flex;align-items:center;gap:5px;margin-left:auto}
#campus-integre .cu-campus-nav button{display:flex;align-items:center;gap:7px;background:none;border:0;border-radius:8px;padding:10px 13px;color:var(--cu-muted);font-size:13px}
#campus-integre .cu-campus-nav button svg{width:15px;height:15px}
#campus-integre .cu-campus-nav button[aria-current="page"]{background:var(--cu-empty);color:var(--cu-ink);font-weight:500}
#campus-integre .cu-plan-navigation{display:flex;justify-content:flex-end}
#campus-integre .cu-plan-navigation .cu-domain-nav{margin:0}
#campus-integre .cu-domain[data-domain="use"] svg{color:var(--cu-use)}
#campus-integre .cu-domain[data-domain="env"] svg{color:var(--cu-env)}
#campus-integre .cu-detail .cu-environment-group:first-of-type{border-top:0;padding-top:0}
@media(max-width:580px){#campus-integre .cu-campus-nav{grid-column:1/-1;margin:0;width:100%}#campus-integre .cu-campus-nav button{flex:1;justify-content:center;min-height:44px}#campus-integre .cu-plan-navigation .cu-domain-nav{width:100%}}
#campus-integre .cu-detail.cu-single-reading .cu-environment-group{border-top:0;padding-top:0}
@media(max-width:850px){#campus-integre .cu-detail.cu-single-reading{display:flex;flex-direction:column}}
#campus-integre .cu-app{--cu-ok:light-dark(#23754e,#83d1a6);--cu-watch:light-dark(#a1610c,#e7bc72);--cu-alert:light-dark(#ae453d,#f1a39a);--cu-series-mail:light-dark(#2d7f62,#83d1ac);--cu-series-bastions:light-dark(#295d87,#8ebce1);--cu-series-battoirs:light-dark(#8664aa,#c7a8e7)}
#campus-integre .cu-domain:disabled{opacity:.45}
#campus-integre .cu-domain[data-domain="use"][aria-pressed="true"]{background:color-mix(in srgb,var(--cu-use) 12%,var(--cu-surface));color:var(--cu-use)}
#campus-integre .cu-domain[data-domain="env"][aria-pressed="true"]{background:color-mix(in srgb,var(--cu-env) 12%,var(--cu-surface));color:var(--cu-env)}
#campus-integre .cu-room-dual{display:flex;flex-direction:column;gap:8px;z-index:2}
#campus-integre .cu-room-dual>span{display:flex;align-items:baseline;justify-content:center;gap:4px;flex-wrap:wrap}
#campus-integre .cu-room-dual strong{font-size:20px;font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums}
#campus-integre .cu-room-dual small{font-size:11px}
#campus-integre .cu-room-occupation{color:var(--cu-use)}
#campus-integre .cu-room-environment{color:var(--cu-ink)}
#campus-integre .cu-comfort-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;line-height:1.35;color:var(--cu-muted)}
#campus-integre .cu-comfort-badge svg{width:12px;height:12px;flex:none}
#campus-integre [data-comfort="ok"].cu-comfort-badge{color:var(--cu-ok)}
#campus-integre [data-comfort="watch"].cu-comfort-badge{color:var(--cu-watch)}
#campus-integre [data-comfort="alert"].cu-comfort-badge{color:var(--cu-alert)}
#campus-integre .cu-comfort-legend{display:flex;gap:8px 14px;flex-wrap:wrap;font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-comfort-legend span{display:flex;align-items:center;gap:5px}
#campus-integre .cu-comfort-legend span::before{content:"";width:7px;height:7px;background:var(--cu-ok);border-radius:50%}
#campus-integre .cu-comfort-legend [data-comfort="watch"]::before{background:var(--cu-watch)}
#campus-integre .cu-comfort-legend [data-comfort="alert"]::before{background:var(--cu-alert)}
#campus-integre .cu-app.cu-both-readings .cu-occ-value{font-size:32px}
#campus-integre [data-plot="occ"]{--cu-accent:var(--cu-use)}
#campus-integre [data-plot="co2"],#campus-integre [data-plot="temp"],#campus-integre [data-plot="hum"]{--cu-accent:var(--cu-env)}
#campus-integre .cu-comfort-settings{font-size:12px;color:var(--cu-muted);border-top:1px solid var(--cu-line);padding-top:14px}
#campus-integre .cu-comfort-settings summary{color:var(--cu-ink);font-size:13px}
#campus-integre .cu-comfort-settings-content{padding-top:16px;display:flex;flex-direction:column;gap:12px}
#campus-integre .cu-comfort-settings-content label{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#campus-integre .cu-comfort-settings table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}
#campus-integre .cu-comfort-settings th,#campus-integre .cu-comfort-settings td{padding:9px 8px;border-bottom:1px solid var(--cu-line);font-weight:400}
#campus-integre .cu-comfort-settings th{color:var(--cu-ink);font-weight:500}
#campus-integre .cu-comfort-settings p{margin:0}
#campus-integre .cu-comfort-settings a{color:var(--cu-use)}
@media(max-width:580px){#campus-integre .cu-both-readings .cu-room{min-height:210px}#campus-integre .cu-room-dual>span{display:flex;flex-direction:column;gap:1px;align-items:center}#campus-integre .cu-room-dual strong{font-size:17px}#campus-integre .cu-room-dual{gap:7px}#campus-integre .cu-comfort-settings th,#campus-integre .cu-comfort-settings td{padding:8px 4px}}
#campus-integre .cu-app.cu-environment .cu-room[data-comfort="unknown"]:not(.cu-old){background:var(--cu-empty)}
#campus-integre .cu-campus-navigation{padding:28px;display:flex;flex-direction:column;gap:23px}
#campus-integre .cu-campus-navigation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#campus-integre .cu-campus-navigation-tile{padding:22px 20px 15px;background:var(--cu-surface);border:1px solid var(--cu-line);border-radius:11px;display:flex;flex-direction:column;gap:12px}
#campus-integre .cu-campus-navigation-tile h3{font-size:21px;letter-spacing:-.4px;line-height:1.2}
#campus-integre .cu-campus-navigation-open{display:flex;align-items:center;gap:11px;width:100%;padding:0;background:none;border:0;color:var(--cu-ink);font:inherit;text-align:left}
#campus-integre .cu-campus-navigation-icon{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:40px;background:var(--cu-bg);border-radius:7px;color:var(--cu-muted)}
#campus-integre .cu-campus-navigation-icon svg{width:21px;height:21px}
#campus-integre .cu-campus-navigation-title{flex:1}
#campus-integre .cu-campus-navigation-open>svg{width:16px;height:16px;flex:none;color:var(--cu-muted)}
#campus-integre .cu-campus-navigation-open:hover{color:var(--cu-use)}
#campus-integre .cu-campus-navigation-tile>p{font-size:12px;margin:0 0 10px 47px;color:var(--cu-muted)}
#campus-integre .cu-campus-navigation-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:10px;border-top:1px solid var(--cu-line)}
#campus-integre .cu-campus-navigation-foot>span{font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-campus-manage{display:flex;align-items:center;gap:6px;align-self:flex-end;border:0;padding:4px 0;background:none;color:var(--cu-muted);font-size:12px}
#campus-integre .cu-campus-manage svg{width:14px;height:14px}
#campus-integre .cu-campus-manage:hover{color:var(--cu-ink)}
#campus-integre .cu-building-main{padding:26px 28px;display:flex;flex-direction:column;gap:22px}
#campus-integre .cu-building-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
#campus-integre .cu-building-heading p{font-size:12px;color:var(--cu-muted);margin:0 0 7px}
#campus-integre .cu-building-heading time{font-size:12px;color:var(--cu-muted);white-space:nowrap}
#campus-integre .cu-building-reading .cu-domain-nav{margin:0;width:auto}
#campus-integre .cu-building-indicators{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr);gap:20px}
#campus-integre .cu-building-indicators-single{grid-template-columns:minmax(0,1fr)}
#campus-integre .cu-building-occupation,#campus-integre .cu-building-comfort{padding:21px 22px;background:var(--cu-surface);border:1px solid var(--cu-line);border-radius:10px}
#campus-integre .cu-building-indicators h3{display:flex;align-items:center;gap:7px;margin-bottom:14px;font-size:13px;color:var(--cu-use)}
#campus-integre .cu-building-indicators h3 svg{width:15px;height:15px;flex:none}
#campus-integre .cu-building-comfort h3{color:var(--cu-env)}
#campus-integre .cu-building-people{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:15px}
#campus-integre .cu-building-people strong{font-size:40px;line-height:1;font-weight:500;letter-spacing:-1px;font-variant-numeric:tabular-nums}
#campus-integre .cu-building-people>span{font-size:13px;color:var(--cu-muted)}
#campus-integre .cu-building-people>small{font-size:14px;margin-left:auto;font-variant-numeric:tabular-nums}
#campus-integre .cu-building-fill{height:7px;background:var(--cu-empty);border-radius:4px;overflow:hidden}
#campus-integre .cu-building-fill span{display:block;height:100%;background:var(--cu-use);border-radius:inherit}
#campus-integre .cu-building-occupation>p{font-size:11px;color:var(--cu-muted);margin:9px 0 0}
#campus-integre .cu-building-comfort-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#campus-integre .cu-building-metric{display:flex;flex-direction:column;gap:6px}
#campus-integre .cu-building-metric>span,#campus-integre .cu-building-metric>small{font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-building-metric>strong{font-size:29px;line-height:1.15;letter-spacing:-.5px;font-weight:500;font-variant-numeric:tabular-nums}
#campus-integre .cu-building-metric>strong small{font-size:12px;color:var(--cu-muted);margin-left:5px;letter-spacing:0;font-weight:400;white-space:nowrap}
#campus-integre .cu-building-metric>div{font-size:11px}
#campus-integre .cu-building-floors{padding:20px 22px;background:var(--cu-surface);border:1px solid var(--cu-line);border-radius:10px}
#campus-integre .cu-building-floors>h3{font-size:16px;margin-bottom:16px}
#campus-integre .cu-building-floor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#campus-integre .cu-building-floor{display:flex;flex-direction:column;gap:20px;padding:16px;border:1px solid var(--cu-line);border-radius:8px;background:var(--cu-bg);color:var(--cu-ink);text-align:left}
#campus-integre .cu-building-floor>span{display:flex;justify-content:space-between;align-items:center;gap:8px}
#campus-integre .cu-building-floor>span:first-child{justify-content:flex-start}
#campus-integre .cu-building-floor strong{font-weight:500;font-size:14px}
#campus-integre .cu-building-floor>span:last-child{font-size:12px;color:var(--cu-muted)}
#campus-integre .cu-building-floor svg{width:16px;height:16px;flex:none;color:var(--cu-muted)}
#campus-integre .cu-building-floor:hover{background:color-mix(in srgb,var(--cu-use) 5%,var(--cu-surface))}
#campus-integre .cu-building-plots-single{grid-template-columns:minmax(0,1fr)}
@media(max-width:900px){#campus-integre .cu-campus-navigation-grid{grid-template-columns:minmax(0,1fr)}#campus-integre .cu-campus-navigation-tile{padding:20px}#campus-integre .cu-building-indicators{grid-template-columns:minmax(0,1fr)}}
@media(max-width:580px){#campus-integre .cu-campus-navigation,#campus-integre .cu-building-main{padding:20px 15px;gap:20px}#campus-integre .cu-campus-navigation-tile{padding:20px 18px 14px}#campus-integre .cu-campus-navigation-tile h3{font-size:22px}#campus-integre .cu-campus-manage{align-self:flex-start}#campus-integre .cu-building-heading{align-items:flex-start;gap:10px}#campus-integre .cu-building-reading .cu-domain-nav{width:100%}#campus-integre .cu-building-occupation,#campus-integre .cu-building-comfort,#campus-integre .cu-building-floors{padding:19px 17px}#campus-integre .cu-building-comfort-grid{gap:10px}#campus-integre .cu-building-metric>strong{font-size:25px}#campus-integre .cu-building-metric>strong small{display:block;margin:4px 0 0;font-size:11px}#campus-integre .cu-building-floor-grid{grid-template-columns:minmax(0,1fr);gap:9px}#campus-integre .cu-building-floor{flex-direction:row;align-items:center;gap:12px;padding:14px}#campus-integre .cu-building-floor>span:last-child{gap:8px;white-space:nowrap}}
@media(pointer:coarse){#campus-integre .cu-campus-navigation-open,#campus-integre .cu-campus-manage{min-height:44px}}

#campus-integre .cu-campus-nav .cu-config-menu{font-size:12px;color:var(--cu-muted);background:none}
#campus-integre .cu-configuration{width:min(960px,calc(100% - 28px));max-height:calc(100% - 28px);padding:0;border:1px solid var(--cu-line);border-radius:13px;background:var(--cu-surface);color:var(--cu-ink);font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;box-shadow:0 16px 60px color-mix(in srgb,var(--cu-ink) 24%,transparent)}
#campus-integre .cu-configuration::backdrop{background:light-dark(rgba(20,42,54,.35),rgba(0,0,0,.55))}
#campus-integre .cu-cfg-form{display:flex;flex-direction:column;max-height:calc(100vh - 30px)}
#campus-integre .cu-cfg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:23px 26px 17px}
#campus-integre .cu-cfg-head h2{font-size:24px;margin:0}
#campus-integre .cu-cfg-head p{margin:5px 0 0;font-size:12px;color:var(--cu-muted)}
#campus-integre .cu-cfg-close{display:flex;align-items:center;justify-content:center;padding:7px;border:0;background:none;color:var(--cu-muted);border-radius:6px}
#campus-integre .cu-cfg-close svg{width:19px;height:19px}
#campus-integre .cu-cfg-tabs{display:flex;gap:5px;padding:0 26px 16px;border-bottom:1px solid var(--cu-line)}
#campus-integre .cu-cfg-tabs button{padding:10px 14px;border:0;border-radius:7px;background:none;color:var(--cu-muted);font:inherit;font-size:13px}
#campus-integre .cu-cfg-tabs button[aria-selected="true"]{background:var(--cu-empty);color:var(--cu-ink);font-weight:500}
#campus-integre .cu-cfg-body{padding:22px 26px;overflow:auto;min-height:0}
#campus-integre .cu-cfg-comfort,#campus-integre .cu-cfg-unige{display:flex;flex-direction:column;gap:18px}
#campus-integre .cu-cfg-profile-picker{display:flex;align-items:end;gap:14px;flex-wrap:wrap}
#campus-integre .cu-cfg-profile-picker>.cu-cfg-field{flex:1;min-width:220px}
#campus-integre .cu-cfg-field{display:flex;flex-direction:column;gap:6px;color:var(--cu-muted);font-size:12px}
#campus-integre .cu-cfg-field small{font-size:11px}
#campus-integre .cu-cfg-field input,#campus-integre .cu-cfg-field textarea,#campus-integre .cu-cfg-field select{width:100%;padding:9px 10px;border:1px solid var(--cu-line);border-radius:6px;background:var(--cu-surface);color:var(--cu-ink);font:inherit;font-size:13px;min-height:37px}
#campus-integre .cu-cfg-field textarea{resize:vertical}
#campus-integre .cu-cfg-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#campus-integre .cu-cfg-three{grid-template-columns:repeat(3,minmax(0,1fr))}
#campus-integre .cu-cfg-profile-description{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--cu-line);border-bottom:1px solid var(--cu-line);font-size:12px;color:var(--cu-muted)}
#campus-integre .cu-cfg-profile-description p{margin:0;flex:1}
#campus-integre .cu-cfg-profile-description>span{font-size:11px;max-width:170px;text-align:right}
#campus-integre .cu-cfg-range-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
#campus-integre .cu-cfg-range-sections h4,#campus-integre .cu-cfg-co2 h4,#campus-integre .cu-cfg-assignment h4{font-size:13px;font-weight:500;margin:0 0 11px;color:var(--cu-ink)}
#campus-integre .cu-cfg-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#campus-integre .cu-cfg-note{font-size:11px;color:var(--cu-muted);margin:8px 0 0}
#campus-integre .cu-cfg-secondary,#campus-integre .cu-cfg-primary{padding:9px 13px;border:1px solid var(--cu-line);border-radius:6px;background:var(--cu-surface);color:var(--cu-ink);font:inherit;font-size:12px;min-height:37px}
#campus-integre .cu-cfg-primary{background:var(--cu-ink);color:var(--cu-surface);border-color:var(--cu-ink)}
#campus-integre .cu-cfg-secondary:hover{background:var(--cu-bg)}
#campus-integre .cu-cfg-link{align-self:flex-start;padding:3px 0;border:0;background:none;color:var(--cu-use);font:inherit;font-size:12px;text-align:left}
#campus-integre .cu-cfg-link:disabled{color:var(--cu-muted);opacity:.6}
#campus-integre .cu-cfg-assignment{padding-top:17px;border-top:1px solid var(--cu-line)}
#campus-integre .cu-cfg-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
#campus-integre .cu-cfg-section-head>span{font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-cfg-assignment-tools{display:flex;align-items:end;gap:12px;justify-content:space-between;flex-wrap:wrap}
#campus-integre .cu-cfg-assignment-tools>label{display:flex;flex-direction:column;gap:6px;flex:1;font-size:12px;color:var(--cu-muted);min-width:220px}
#campus-integre .cu-cfg-room-details{font-size:12px;margin-top:15px;color:var(--cu-ink)}
#campus-integre .cu-cfg-room-details>summary{padding:9px 0}
#campus-integre .cu-cfg-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--cu-ink);padding:7px 0}
#campus-integre .cu-cfg-check input,#campus-integre .cu-cfg-room-row input{accent-color:var(--cu-use);width:16px;height:16px;flex:none}
#campus-integre .cu-cfg-room-list{margin-top:7px;border-top:1px solid var(--cu-line)}
#campus-integre .cu-cfg-room-row{display:flex;gap:10px;align-items:center;min-height:51px;padding:9px 0;border-bottom:1px solid var(--cu-line);font-size:12px}
#campus-integre .cu-cfg-room-row>span:first-of-type{display:flex;flex-direction:column;gap:3px;flex:1}
#campus-integre .cu-cfg-room-row strong{font-weight:500}
#campus-integre .cu-cfg-room-row small{display:block;font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-cfg-room-profile{max-width:40%;text-align:right;color:var(--cu-muted);font-size:11px}
#campus-integre .cu-cfg-room-profile>small{color:var(--cu-use);margin-top:3px}
#campus-integre .cu-cfg-unige>p{font-size:13px;color:var(--cu-muted);margin:0}
#campus-integre .cu-cfg-unige-status{font-size:12px;color:var(--cu-muted);border-top:1px solid var(--cu-line);padding-top:13px}
#campus-integre .cu-cfg-historical-note{font-size:11px;color:var(--cu-muted);margin:23px 0 0;padding-top:15px;border-top:1px solid var(--cu-line)}
#campus-integre .cu-cfg-source{font-size:11px;margin:8px 0 0}
#campus-integre .cu-cfg-source a{color:var(--cu-use)}
#campus-integre .cu-cfg-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 26px;border-top:1px solid var(--cu-line);background:var(--cu-surface);border-radius:0 0 13px 13px;flex-wrap:wrap}
#campus-integre .cu-cfg-footer>span{font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-cfg-footer>div:last-child{display:flex;gap:8px;margin-left:auto}
#campus-integre .cu-cfg-error{width:100%;font-size:12px;color:var(--cu-alert)}
@media(max-width:620px){#campus-integre .cu-configuration{width:calc(100% - 16px);max-height:calc(100% - 16px);border-radius:10px}#campus-integre .cu-cfg-form{max-height:calc(100vh - 18px)}#campus-integre .cu-cfg-head{padding:19px 16px 14px}#campus-integre .cu-cfg-tabs{padding:0 16px 13px;gap:4px}#campus-integre .cu-cfg-tabs button{padding:9px 10px;flex:1;font-size:12px}#campus-integre .cu-cfg-body{padding:18px 16px}#campus-integre .cu-cfg-fields,#campus-integre .cu-cfg-range-sections{grid-template-columns:minmax(0,1fr)}#campus-integre .cu-cfg-three{grid-template-columns:minmax(0,1fr)}#campus-integre .cu-cfg-profile-picker>.cu-cfg-field,#campus-integre .cu-cfg-assignment-tools>label{min-width:0;width:100%;flex-basis:100%}#campus-integre .cu-cfg-profile-description{display:block}#campus-integre .cu-cfg-profile-description>span{display:block;max-width:none;text-align:left;margin-top:7px}#campus-integre .cu-cfg-room-row{align-items:flex-start}#campus-integre .cu-cfg-room-profile{max-width:38%}#campus-integre .cu-cfg-footer{padding:13px 16px}#campus-integre .cu-cfg-field input,#campus-integre .cu-cfg-field textarea,#campus-integre .cu-cfg-field select{font-size:16px}}
@media(pointer:coarse){#campus-integre .cu-cfg-close,#campus-integre .cu-cfg-tabs button,#campus-integre .cu-cfg-secondary,#campus-integre .cu-cfg-primary,#campus-integre .cu-cfg-link{min-height:44px}#campus-integre .cu-cfg-close{min-width:44px}#campus-integre .cu-cfg-check,#campus-integre .cu-cfg-room-row{min-height:44px}}

#campus-integre .cu-app{--cu-high:light-dark(#b65c22,#f0b58b)}
#campus-integre [data-comfort="high"].cu-comfort-badge{color:var(--cu-high)}
#campus-integre .cu-comfort-legend [data-comfort="high"]::before{background:var(--cu-high)}
#campus-integre .cu-building-current{display:flex;justify-content:flex-end;margin:0 0 8px;font-size:17px;color:var(--cu-ink)}
#campus-integre .cu-building-current strong{font-weight:500;font-variant-numeric:tabular-nums}
#campus-integre .cu-profile-caption{display:flex;align-items:baseline;gap:7px 12px;flex-wrap:wrap;font-size:11px;color:var(--cu-muted);margin-top:10px}
#campus-integre .cu-profile-caption button{border:0;padding:0;background:none;color:var(--cu-use);font:inherit}
#campus-integre .cu-unige-reference{font-size:12px;color:var(--cu-muted);padding-top:8px}
#campus-integre .cu-unige-chart-line{stroke:var(--cu-muted);stroke-width:1.5;stroke-dasharray:6 4}
#campus-integre .cu-unige-chart-label{fill:var(--cu-muted)}
#campus-integre .cu-building-profile-count{font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-configuration{position:fixed;inset:16px 0 auto;margin:0 auto;max-height:min(var(--cu-cfg-height,820px),calc(100vh - 32px));overflow:hidden}
#campus-integre .cu-cfg-form{max-height:min(calc(var(--cu-cfg-height,820px) - 2px),calc(100vh - 34px));overflow:hidden}
#campus-integre .cu-cfg-head,#campus-integre .cu-cfg-tabs,#campus-integre .cu-cfg-footer{flex-shrink:0}
#campus-integre .cu-cfg-body{flex:1 1 auto;overscroll-behavior:contain}
@supports(height:100dvh){#campus-integre .cu-configuration{max-height:min(var(--cu-cfg-height,820px),calc(100dvh - 32px))}#campus-integre .cu-cfg-form{max-height:min(calc(var(--cu-cfg-height,820px) - 2px),calc(100dvh - 34px))}}
/* Append after the retained v6 tile styles already present in v7. */
#campus-integre .cu-overview-building{transition:box-shadow .16s ease,border-color .16s ease}
#campus-integre .cu-overview-building:hover,#campus-integre .cu-overview-building:focus-within{border-color:var(--cu-muted);box-shadow:0 3px 12px color-mix(in srgb,var(--cu-ink) 6%,transparent)}
#campus-integre .cu-overview-tile-badge{color:var(--cu-muted);overflow-wrap:break-word;min-height:28px}
@media(prefers-reduced-motion:reduce){#campus-integre .cu-overview-building{transition:none}}

#campus-integre .cu-space-main{gap:16px;padding-top:16px}
#campus-integre .cu-building-detail{gap:17px}
#campus-integre .cu-building-detail-head{display:flex;flex-direction:column;gap:5px;padding-bottom:15px;border-bottom:1px solid var(--cu-line)}
#campus-integre .cu-building-detail-head>span{font-size:12px;color:var(--cu-muted)}
#campus-integre .cu-building-detail .cu-building-indicators{display:flex;flex-direction:column;gap:20px}
#campus-integre .cu-building-detail .cu-building-occupation,#campus-integre .cu-building-detail .cu-building-comfort{padding:0;border:0;border-radius:0;background:none}
#campus-integre .cu-building-detail .cu-building-comfort:not(:first-child){padding-top:18px;border-top:1px solid var(--cu-line)}
#campus-integre .cu-building-detail .cu-building-comfort-grid{grid-template-columns:minmax(0,1fr);gap:13px}
#campus-integre .cu-building-detail .cu-building-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;align-items:baseline}
#campus-integre .cu-building-detail .cu-building-metric>strong{grid-column:2;grid-row:1/3;font-size:23px;text-align:right}
#campus-integre .cu-building-detail .cu-building-metric>strong small{display:inline;margin-left:4px;font-size:11px}
#campus-integre .cu-building-detail .cu-building-profile-count{grid-column:1/-1;font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-building-detail .cu-building-people strong{font-size:36px}
#campus-integre .cu-space-main .cu-building-evolution{margin-top:2px}
@media(max-width:580px){#campus-integre .cu-space-main{padding:13px 15px 20px;gap:13px}#campus-integre .cu-building-detail .cu-building-indicators{gap:17px}}

/* Append after existing rules. Product tokens and responsive controls retained. */
#campus-integre .cu-header.cu-header-compact{padding:12px 110px 12px 24px;gap:14px;flex-wrap:nowrap}
#campus-integre .cu-header-compact .cu-brand{gap:9px;padding:0}
#campus-integre .cu-header-compact .cu-brand-icon{width:30px;height:30px;border-radius:8px}
#campus-integre .cu-header-compact .cu-brand-icon svg{width:17px;height:17px}
#campus-integre .cu-header-compact .cu-brand-name{font-size:17px;letter-spacing:-.35px;white-space:nowrap}
#campus-integre .cu-header-compact .cu-brand-name small{font-size:10px;display:inline;margin:0 0 0 4px}
#campus-integre .cu-header-compact .cu-demo{font-size:11px;padding:3px 7px;white-space:nowrap}
#campus-integre .cu-header-compact .cu-campus-nav{margin-left:auto;width:auto}
#campus-integre .cu-header-compact .cu-campus-nav button{padding:8px 10px;min-height:36px}
#campus-integre .cu-location-bar{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap}
#campus-integre .cu-location-path{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--cu-muted);font-size:13px;line-height:1.4}
#campus-integre .cu-location-path>svg{height:12px;width:12px;flex:none}
#campus-integre .cu-location-path button{font:inherit;color:inherit;background:none;border:0;padding:5px 0;text-align:left}
#campus-integre .cu-location-path .cu-location-campus{display:flex;align-items:center;gap:6px}
#campus-integre .cu-location-campus svg{width:14px;height:14px;flex:none}
#campus-integre .cu-location-path .cu-location-building{color:var(--cu-ink);font-weight:500}
#campus-integre .cu-location-current{color:var(--cu-ink);font-weight:500}
#campus-integre .cu-location-bar>.cu-domain-nav{margin:0;width:auto;flex:none}
#campus-integre .cu-location-bar .cu-domain{padding:8px 11px;min-height:35px}
#campus-integre .cu-main.cu-spatial-main{padding-top:16px;gap:16px}
@media(max-width:850px){
  #campus-integre .cu-location-bar>.cu-domain-nav{width:auto}
}
@media(max-width:580px){
  #campus-integre .cu-header.cu-header-compact{display:flex;grid-template-columns:none;flex-wrap:nowrap;padding:12px 15px;gap:9px}
  #campus-integre .cu-header-compact .cu-brand{grid-column:auto;padding:0;gap:7px}
  #campus-integre .cu-header-compact .cu-brand-name{font-size:16px}
  #campus-integre .cu-header-compact .cu-brand-name small{font-size:10px;display:inline;margin-left:4px}
  #campus-integre .cu-header-compact .cu-demo{margin-left:auto;border:0;padding:0;font-size:11px}
  #campus-integre .cu-header-compact .cu-campus-nav{grid-column:auto;width:auto;margin:0;flex:none}
  #campus-integre .cu-header-compact .cu-campus-nav button{padding:10px;min-width:44px;min-height:44px}
  #campus-integre .cu-header-compact .cu-config-menu span{display:none}
  #campus-integre .cu-header-compact .cu-config-menu svg{width:17px;height:17px}
  #campus-integre .cu-location-bar{gap:9px;width:100%}
  #campus-integre .cu-location-path{font-size:12px;gap:6px;flex-basis:100%}
  #campus-integre .cu-location-bar>.cu-domain-nav{display:grid;grid-template-columns:1fr 1fr;gap:5px;width:100%;margin:0}
  #campus-integre .cu-location-bar .cu-domain{justify-content:center;padding:9px 7px;min-height:40px;align-items:center}
  #campus-integre .cu-location-bar .cu-domain svg{margin:0}
  #campus-integre .cu-main.cu-spatial-main{padding-top:12px;gap:14px}
}
@media(pointer:coarse){
  #campus-integre .cu-location-path button,#campus-integre .cu-location-bar .cu-domain{min-height:44px}
}


#campus-integre .cu-app{--cu-unige:#CF0063;--cu-unige-foreground:#fff}
#campus-integre .cu-brand-icon{background:var(--cu-unige);color:var(--cu-unige-foreground)}
#campus-integre .cu-brand-name{color:light-dark(var(--cu-unige),#f497c4)}

/* Append after the current responsive plan rules.
   The plan owns its geometry; the neighbouring data column does not size it. */
#campus-integre .cu-workspace{align-items:start}
#campus-integre .cu-map{
  --cu-plan-room-height:180px;
  --cu-plan-corridor-height:46px;
  flex:0 0 auto;
  grid-template-rows:var(--cu-plan-room-height) var(--cu-plan-corridor-height) var(--cu-plan-room-height);
}
#campus-integre .cu-map .cu-room,
#campus-integre .cu-map .cu-room.cu-south,
#campus-integre .cu-both-readings .cu-map .cu-room{min-height:0}
@media(max-width:580px){
  #campus-integre .cu-map{
    --cu-plan-room-height:230px;
    --cu-plan-corridor-height:43px;
  }
}

#campus-integre .cu-map.cu-plan-viewport{display:block;position:relative;width:100%;height:420px;min-height:0;flex:0 0 auto;border:1px solid var(--cu-line);border-radius:8px;background:var(--cu-bg);overflow:hidden;isolation:isolate;touch-action:none;user-select:none;overscroll-behavior:contain;cursor:grab}
#campus-integre .cu-plan-viewport[data-plan-dragging="true"]{cursor:grabbing}
#campus-integre .cu-plan-world{position:absolute;left:0;top:0;width:1200px;height:720px;min-width:1200px;transform-origin:0 0;will-change:transform;background:var(--cu-surface)}
#campus-integre .cu-plan-base{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}
#campus-integre .cu-plan-corridor-floor{fill:var(--cu-bg)}
#campus-integre .cu-plan-perimeter,#campus-integre .cu-plan-walls{fill:none;stroke:var(--cu-wall);stroke-width:10;stroke-linecap:square;stroke-linejoin:miter}
#campus-integre .cu-plan-window-gap{fill:none;stroke:var(--cu-surface);stroke-width:12}
#campus-integre .cu-plan-window-line{fill:none;stroke:var(--cu-wall);stroke-width:2}
#campus-integre .cu-plan-door-gap{fill:none;stroke:var(--cu-surface);stroke-width:14}
#campus-integre .cu-plan-door-leaf,#campus-integre .cu-plan-door-arc{fill:none;stroke:var(--cu-wall);stroke-width:2}
#campus-integre .cu-plan-data-layer{position:absolute;inset:0;width:100%;height:100%;z-index:1}
#campus-integre .cu-plan-room{position:absolute;display:flex;align-items:center;justify-content:center;min-height:0;margin:0;border:0;border-radius:0;padding:calc(27px / var(--cu-plan-scale)) calc(5px / var(--cu-plan-scale)) calc(21px / var(--cu-plan-scale));background:color-mix(in srgb,var(--cu-room-accent,var(--cu-accent)) var(--cu-intensity,8%),var(--cu-surface));color:var(--cu-ink);font:inherit;line-height:1.25;text-align:center;overflow:hidden;touch-action:none}
#campus-integre .cu-plan-room[aria-pressed="true"]{box-shadow:inset 0 0 0 calc(3px / var(--cu-plan-scale)) var(--cu-accent)}
#campus-integre .cu-plan-room-filtered,#campus-integre .cu-plan-room-empty,#campus-integre .cu-app.cu-environment .cu-plan-room[data-comfort="unknown"]{background:var(--cu-empty);color:var(--cu-muted)}
#campus-integre .cu-plan-room[data-equipment-match="true"][data-comfort="unknown"]{color:var(--cu-ink)}
#campus-integre .cu-plan-room-old{background:repeating-linear-gradient(135deg,var(--cu-empty),var(--cu-empty) calc(7px / var(--cu-plan-scale)),var(--cu-surface) calc(7px / var(--cu-plan-scale)),var(--cu-surface) calc(10px / var(--cu-plan-scale)))}
#campus-integre .cu-plan-room-id{position:absolute;left:calc(8px / var(--cu-plan-scale));top:calc(8px / var(--cu-plan-scale));font-size:calc(11px / var(--cu-plan-scale));color:var(--cu-muted);font-weight:500}
#campus-integre .cu-plan-room>.cu-sensors{position:absolute;right:calc(8px / var(--cu-plan-scale));top:calc(7px / var(--cu-plan-scale));gap:calc(4px / var(--cu-plan-scale));font-size:calc(12px / var(--cu-plan-scale))}
#campus-integre .cu-plan-room>.cu-sensors .cu-sensor svg{width:calc(13px / var(--cu-plan-scale));height:calc(13px / var(--cu-plan-scale))}
#campus-integre .cu-plan-room-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(5px / var(--cu-plan-scale));width:100%}
#campus-integre .cu-plan-room-name{font-size:calc(11px / var(--cu-plan-scale));max-width:100%}
#campus-integre .cu-plan-room-value{font-size:calc(20px / var(--cu-plan-scale));font-weight:500;font-variant-numeric:tabular-nums;line-height:1.1}
#campus-integre .cu-plan-room-unit{font-size:calc(11px / var(--cu-plan-scale));color:var(--cu-muted)}
#campus-integre .cu-plan-room-dual{display:flex;flex-direction:column;gap:calc(5px / var(--cu-plan-scale))}
#campus-integre .cu-plan-room-dual>span{display:flex;align-items:baseline;justify-content:center;gap:calc(4px / var(--cu-plan-scale));flex-wrap:wrap}
#campus-integre .cu-plan-room-dual strong{font-size:calc(17px / var(--cu-plan-scale));line-height:1.1;font-weight:500;font-variant-numeric:tabular-nums}
#campus-integre .cu-plan-room-dual small{font-size:calc(11px / var(--cu-plan-scale))}
#campus-integre .cu-plan-room-occupation{color:var(--cu-use)}
#campus-integre .cu-plan-viewport[data-plan-detail="compact"] .cu-plan-room-content{display:none}
#campus-integre .cu-plan-viewport[data-plan-detail="compact"] .cu-plan-room-id{left:0;right:0;top:calc(9px / var(--cu-plan-scale));text-align:center;font-size:calc(12px / var(--cu-plan-scale))}
#campus-integre .cu-plan-viewport[data-plan-detail="compact"] .cu-plan-room>.cu-sensors{left:0;right:0;top:auto;bottom:calc(11px / var(--cu-plan-scale));justify-content:center}
#campus-integre .cu-plan-corridor-label{position:absolute;left:52px;right:52px;top:310px;height:100px;display:flex;align-items:center;justify-content:space-between;color:var(--cu-muted);font-size:calc(11px / var(--cu-plan-scale));pointer-events:none;z-index:3}
#campus-integre .cu-plan-corridor-label>span:first-child{display:flex;align-items:center;gap:calc(5px / var(--cu-plan-scale))}
#campus-integre .cu-plan-corridor-label svg{height:calc(13px / var(--cu-plan-scale));width:calc(13px / var(--cu-plan-scale))}
#campus-integre .cu-plan-navigation-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
#campus-integre .cu-plan-zoom-controls,#campus-integre .cu-plan-pan-controls{display:flex;align-items:center;gap:3px}
#campus-integre .cu-plan-navigation-controls button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:34px;min-width:34px;padding:7px;border:1px solid var(--cu-line);border-radius:6px;background:var(--cu-surface);color:var(--cu-ink);font-size:12px}
#campus-integre .cu-plan-navigation-controls button:disabled{opacity:.4;cursor:default}
#campus-integre .cu-plan-navigation-controls button svg{width:15px;height:15px}
#campus-integre .cu-plan-navigation-controls output{font-size:12px;color:var(--cu-muted);font-variant-numeric:tabular-nums;min-width:47px;text-align:center}
#campus-integre .cu-plan-navigation-controls .cu-plan-fit{margin-left:4px;padding-inline:9px}
@media(max-width:580px){
  #campus-integre .cu-map.cu-plan-viewport{height:360px}
  #campus-integre .cu-plan-navigation-controls{gap:7px}
  #campus-integre .cu-plan-navigation-controls button{min-width:38px;min-height:38px}
  #campus-integre .cu-plan-navigation-controls .cu-plan-fit{padding-inline:7px}
  #campus-integre .cu-plan-pan-controls{margin-left:auto}
}
@media(pointer:coarse){#campus-integre .cu-plan-navigation-controls button{min-width:44px;min-height:44px}}


#campus-integre .cu-map.cu-plan-viewport{overflow:hidden;overflow:clip}
#campus-integre .cu-plan-room>.cu-sensors .cu-sensor,#campus-integre .cu-plan-corridor-label{--icon-size:calc(13px / var(--cu-plan-scale))}

/* Native portal integration: all assets are local and dynamic geometry is
   applied through CSSOM, without inline style attributes in markup. */
#campus-integre{width:100%;max-width:1440px;margin:auto}
#campus-integre .cu-app{overflow-wrap:anywhere}
#campus-integre .cu-app h2,#campus-integre .cu-app h3,#campus-integre .cu-app h4{margin-top:0;margin-bottom:0}
#campus-integre .cu-app button:disabled{cursor:default}
#campus-integre .cu-app .lucide{display:block;fill:none;stroke:currentColor;stroke-width:1.6;flex:none}
#campus-integre .cu-header,#campus-integre .cu-header.cu-header-compact{padding-right:28px}
#campus-integre .cu-campus-nav{margin-left:auto;gap:5px}
#campus-integre .cu-campus-nav button{display:flex;align-items:center;gap:7px}
#campus-integre .cu-campus-nav button svg{width:16px;height:16px}
#campus-integre .cu-campus-nav .cu-logout{padding:10px;color:var(--cu-muted)}
#campus-integre .cu-action-primary,#campus-integre .cu-action-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:9px 13px;border-radius:7px;font-size:12px;text-align:center}
#campus-integre .cu-action-primary{background:var(--cu-ink);color:var(--cu-surface);border:1px solid var(--cu-ink)}
#campus-integre .cu-action-secondary{background:var(--cu-surface);color:var(--cu-ink);border:1px solid var(--cu-line)}
#campus-integre .cu-action-primary svg,#campus-integre .cu-action-secondary svg{width:16px;height:16px}
#campus-integre .cu-empty-panel{padding:45px 20px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;background:var(--cu-surface);border:1px solid var(--cu-line);border-radius:11px;color:var(--cu-muted)}
#campus-integre .cu-empty-panel>svg{width:29px;height:29px;color:var(--cu-use)}
#campus-integre .cu-empty-panel h3{color:var(--cu-ink);font-size:17px}
#campus-integre .cu-empty-panel p{max-width:510px;margin:0;font-size:13px}
#campus-integre .cu-campus-secondary{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
#campus-integre .cu-building-stage{font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-building-prepared{border-style:solid}
#campus-integre .cu-overview-tile-presence{display:block;font-size:12px;color:var(--cu-use);margin-top:8px}
#campus-integre .cu-building-detail .cu-overview-tile-people strong{font-size:35px}
#campus-integre .cu-building-detail .cu-overview-tile-comfort-grid{grid-template-columns:minmax(0,1fr);gap:15px}
#campus-integre .cu-building-detail .cu-overview-tile-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:baseline}
#campus-integre .cu-building-detail .cu-overview-tile-metric>strong{grid-column:2;grid-row:1/3;text-align:right;font-size:23px}
#campus-integre .cu-building-detail .cu-overview-tile-metric>strong small{display:inline;margin-left:4px}
#campus-integre .cu-building-detail .cu-overview-tile-badge{grid-column:1/-1;min-height:0}
#campus-integre .cu-detail-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid var(--cu-line)}
#campus-integre .cu-reading-empty,#campus-integre .cu-reading-issues{font-size:12px;color:var(--cu-muted)}
#campus-integre .cu-reading-issues{padding:12px;border:1px solid var(--cu-line);border-radius:6px}
#campus-integre .cu-reading-issues p{margin:0}
#campus-integre .cu-presence-reading{font-size:13px;margin-top:15px;color:var(--cu-use)}
#campus-integre .cu-presence-reading small{display:block;font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-live-error,#campus-integre .cu-history-warning{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;font-size:12px;background:var(--cu-surface);color:var(--cu-watch);border-bottom:1px solid var(--cu-line)}
#campus-integre .cu-live-error button,#campus-integre .cu-history-warning button{text-decoration:underline;white-space:nowrap}
#campus-integre .cu-history-warning{margin-bottom:14px;border:1px solid var(--cu-line);border-radius:6px}
#campus-integre .cu-history-loading{font-size:12px;color:var(--cu-muted);padding-bottom:14px}
#campus-integre .cu-charts-single{grid-template-columns:minmax(0,1fr)}
#campus-integre [data-plot="pres"]{--cu-accent:var(--cu-use)}
#campus-integre .cu-directory-building{cursor:default}
#campus-integre .cu-directory-open{display:flex;align-items:center;gap:7px;border:1px solid var(--cu-line);background:var(--cu-surface);border-radius:6px;padding:8px 10px;font-size:12px}
#campus-integre .cu-directory-open svg{width:14px;height:14px}
#campus-integre .cu-plan-context-note{display:block;font-size:11px;color:var(--cu-muted);margin-top:4px}
#campus-integre .cu-plan-world{--cu-plan-scale:.45}
#campus-integre .cu-plan-base.cu-real-schematic{z-index:2}
#campus-integre .cu-plan-room-id{max-width:70%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
#campus-integre .cu-plan-viewport[data-plan-detail="compact"] .cu-plan-room-id{max-width:100%}
#campus-integre .cu-connect-dialog{padding:0;border:1px solid var(--cu-line);border-radius:13px;width:min(560px,calc(100% - 28px));max-height:calc(100vh - 28px);background:var(--cu-surface);color:var(--cu-ink)}
#campus-integre .cu-connect-dialog::backdrop{background:#142a3659}
#campus-integre .cu-connect-dialog form{display:flex;flex-direction:column;max-height:calc(100vh - 30px)}
#campus-integre .cu-connect-dialog header,#campus-integre .cu-connect-dialog footer{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}
#campus-integre .cu-connect-dialog header{border-bottom:1px solid var(--cu-line)}
#campus-integre .cu-connect-dialog header h2{font-size:22px}
#campus-integre .cu-connect-dialog header p{font-size:12px;color:var(--cu-muted);margin:5px 0 0}
#campus-integre .cu-connect-dialog header button{padding:6px}
#campus-integre .cu-connect-dialog header svg{width:18px;height:18px}
#campus-integre .cu-connect-fields{padding:22px 24px;display:flex;flex-direction:column;gap:22px;overflow:auto}
#campus-integre .cu-connect-fields>label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--cu-muted)}
#campus-integre .cu-connect-fields select{font-size:14px;width:100%}
#campus-integre .cu-connect-fields fieldset{padding:15px;border:1px solid var(--cu-line);border-radius:7px;display:flex;flex-direction:column;gap:12px}
#campus-integre .cu-connect-fields legend{padding-inline:5px;color:var(--cu-muted);font-size:12px}
#campus-integre .cu-connect-fields .cu-connect-check{display:flex;align-items:center;gap:8px;font-size:13px}
#campus-integre .cu-connect-check input{width:17px;height:17px;min-height:0;margin:0;accent-color:var(--cu-use)}
#campus-integre .cu-connect-note{font-size:12px;color:var(--cu-muted);margin:0}
#campus-integre .cu-connect-error{font-size:12px;color:var(--cu-alert);margin:0}
#campus-integre .cu-connect-dialog footer{border-top:1px solid var(--cu-line);justify-content:flex-end}
#campus-integre .cu-layered-plan-panel .cu-panel-head{display:block}
#campus-integre .cu-layered-plan-panel .cu-plan-controls{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px 14px}
#campus-integre .cu-layered-plan-panel .cu-floor-label,#campus-integre .cu-layered-plan-panel .cu-layer-label{white-space:nowrap;flex:1 1 190px;width:auto}
#campus-integre .cu-layered-plan-panel .cu-plan-controls select{width:auto;flex:1;min-width:105px}
#campus-integre .cu-space-view:not(.cu-local-view) .cu-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
#campus-integre .cu-space-view:not(.cu-local-view) .cu-charts-single{grid-template-columns:minmax(0,1fr)}
#campus-integre .cu-dense-room-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#campus-integre .cu-dense-room-list button{display:flex;align-items:center;gap:10px;min-height:54px;padding:10px;border:1px solid var(--cu-line);border-radius:7px;background:var(--cu-surface);color:var(--cu-ink);text-align:left;font-size:12px}
#campus-integre .cu-dense-room-list button .cu-sensors{margin-left:auto}
#campus-integre .cu-dense-room-list button[aria-pressed="true"]{background:var(--cu-empty);box-shadow:inset 0 0 0 2px var(--cu-accent)}
@media(max-width:580px){#campus-integre .cu-dense-room-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:850px){#campus-integre .cu-space-view:not(.cu-local-view) .cu-charts{grid-template-columns:minmax(0,1fr)}}
@media(max-width:850px){#campus-integre .cu-building-detail{display:flex}#campus-integre .cu-detail-actions{grid-column:1/-1}}
@media(max-width:580px){
  #campus-integre .cu-header,#campus-integre .cu-header.cu-header-compact{display:flex;flex-wrap:nowrap;padding:12px;gap:6px}
  #campus-integre .cu-header .cu-brand{padding:0;gap:6px}
  #campus-integre .cu-header .cu-brand-name{font-size:16px;white-space:nowrap}
  #campus-integre .cu-header .cu-brand-name small{display:inline;font-size:10px;margin-left:4px}
  #campus-integre .cu-header .cu-brand-icon{width:28px;height:28px}
  #campus-integre .cu-header .cu-demo{display:none}
  #campus-integre .cu-header .cu-campus-nav{display:flex;gap:2px;margin-left:auto;width:auto;flex:none}
  #campus-integre .cu-header .cu-campus-nav button{min-width:40px;min-height:44px;padding:8px}
  #campus-integre .cu-header .cu-campus-nav button>span{display:none}
  #campus-integre .cu-overview-head{align-items:flex-start}
  #campus-integre .cu-overview-head>.cu-action-primary{width:100%}
  #campus-integre .cu-campus-secondary{flex-direction:column}
  #campus-integre .cu-campus-secondary button{align-self:flex-start}
  #campus-integre .cu-directory-toolbar{padding:18px 15px;align-items:stretch}
  #campus-integre .cu-directory-search{width:100%}
  #campus-integre .cu-directory-building{gap:8px;flex-wrap:wrap}
  #campus-integre .cu-directory-building>.cu-building-copy{flex-basis:calc(100% - 45px)}
  #campus-integre .cu-directory-open{margin-left:auto}
  #campus-integre .cu-connect-dialog header,#campus-integre .cu-connect-dialog footer,#campus-integre .cu-connect-fields{padding:18px}
  #campus-integre .cu-connect-dialog footer{flex-wrap:wrap}
  #campus-integre .cu-connect-dialog footer button{flex:1}
}


/* Live and isolated Test use the same presentation; the source stays visible. */
#campus-integre .cu-mode-switch{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--cu-line);border-radius:9px;background:var(--cu-bg);flex:none;margin-left:8px}
#campus-integre .cu-mode-switch button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:33px;padding:5px 11px;border-radius:6px;font-size:12px;line-height:1;font-weight:500;color:var(--cu-muted);white-space:nowrap}
#campus-integre .cu-mode-switch button[aria-pressed="true"]{background:var(--cu-surface);color:var(--cu-ink);box-shadow:0 1px 4px #192d3a13}
#campus-integre .cu-mode-switch button[data-mode="test"][aria-pressed="true"]{color:#835c18;background:#fff4db}
#campus-integre .cu-mode-switch button svg{width:13px;height:13px}
#campus-integre .cu-live-dot{width:6px;height:6px;border-radius:50%;background:var(--cu-env)}
#campus-integre .cu-test-reading{font-size:12px;color:#835c18}
#campus-integre .cu-campus-nav button:disabled{opacity:.35;cursor:default}
#campus-integre .cu-room-finder{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--cu-muted);margin:14px 0 0}
#campus-integre .cu-room-finder select{flex:1;min-width:0;color:var(--cu-ink);font-size:13px}
#campus-integre .cu-directory-building[data-building-id]{cursor:pointer}
#campus-integre .cu-directory-building[data-building-id]:hover{background:var(--cu-bg)}
#campus-integre .cu-plan-world{min-width:0}
#campus-integre .cu-plan-viewport[data-plan-detail="compact"] .cu-plan-room-id{top:50%;transform:translateY(-50%);font-size:calc(11px / var(--cu-plan-scale));padding:0 calc(4px / var(--cu-plan-scale))}
#campus-integre .cu-plan-viewport[data-plan-detail="compact"] .cu-plan-room>.cu-sensors{bottom:calc(6px / var(--cu-plan-scale))}
#campus-integre .cu-plan-viewport[data-plan-detail="compact"] .cu-plan-room>.cu-sensors-none{display:none}
#campus-integre .cu-plan-room:focus-visible{outline:calc(3px / var(--cu-plan-scale)) solid var(--cu-use);outline-offset:calc(-3px / var(--cu-plan-scale))}
@media(max-width:850px){
 #campus-integre .cu-header .cu-demo{display:none}
 #campus-integre .cu-campus-nav button>span{display:none}
 #campus-integre .cu-campus-nav button{min-width:40px;padding:8px}
}
@media(max-width:580px){
 #campus-integre .cu-header,#campus-integre .cu-header.cu-header-compact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px}
 #campus-integre .cu-header .cu-brand{grid-column:1;grid-row:1}
 #campus-integre .cu-header .cu-campus-nav{grid-column:2;grid-row:1;justify-self:end}
 #campus-integre .cu-header .cu-mode-switch{grid-column:1/-1;grid-row:2;justify-self:end;margin:0}
 #campus-integre .cu-mode-switch button{min-height:34px;padding:7px 14px}
 #campus-integre .cu-room-finder{display:block}
 #campus-integre .cu-room-finder select{display:block;width:100%;margin-top:6px}
}
#campus-integre .cu-plan-viewport[data-plan-detail="overview"] .cu-plan-room-content,#campus-integre .cu-plan-viewport[data-plan-detail="overview"] .cu-plan-room-id,#campus-integre .cu-plan-viewport[data-plan-detail="overview"] .cu-plan-room>.cu-sensors{display:none}
/* Dense overview cells must keep their geometry even when labels are screen-sized. */
#campus-integre .cu-plan-room{padding:0}
#campus-integre .cu-plan-viewport[data-plan-detail="full"] .cu-plan-room-content{padding:calc(22px / var(--cu-plan-scale)) calc(4px / var(--cu-plan-scale)) calc(10px / var(--cu-plan-scale));max-height:100%;overflow:hidden}

/* The SVG, data layer and hit targets share the world's measured dimensions. */
#campus-integre .cu-plan-viewport:focus-visible{outline:3px solid var(--cu-use);outline-offset:3px}
#campus-integre .cu-plan-navigation-controls button{min-width:44px;min-height:44px}
#campus-integre .cu-plan-help{position:relative;color:var(--cu-muted);font-size:12px}
#campus-integre .cu-plan-help summary{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:7px 10px;border:1px solid var(--cu-line);border-radius:6px;background:var(--cu-surface);cursor:pointer;list-style:none}
#campus-integre .cu-plan-help summary::-webkit-details-marker{display:none}
#campus-integre .cu-plan-help summary svg{width:16px;height:16px}
#campus-integre .cu-plan-help p{position:absolute;right:0;top:100%;z-index:8;min-width:220px;max-width:min(280px,70vw);margin:5px 0 0;padding:12px;background:var(--cu-surface);color:var(--cu-ink);border:1px solid var(--cu-line);border-radius:8px;box-shadow:0 8px 25px #152d3c1a;line-height:1.6}
#campus-integre .cu-cfg-readonly-note{padding:12px 15px;border:1px solid var(--cu-line);border-radius:8px;background:var(--cu-bg);color:var(--cu-muted);line-height:1.5}
#campus-integre .cu-cfg-form[data-read-only=true] input:disabled,#campus-integre .cu-cfg-form[data-read-only=true] textarea:disabled{opacity:1;color:var(--cu-ink);-webkit-text-fill-color:var(--cu-ink);background:var(--cu-bg)}
#campus-integre .cu-cfg-form[data-read-only=true] .cu-cfg-note{display:none}

/* Comfort has two coloured outside regions and an unpainted central window. */
#campus-integre .cu-app{--cu-threshold-low:light-dark(#286a9c,#8ec4ec);--cu-threshold-watch:light-dark(#8f6a16,#e7c46e);--cu-threshold-high:light-dark(#ad5b27,#edaa7d);--cu-threshold-alert:light-dark(#ad3e48,#f3a0a8);--cu-unige-target:light-dark(#93508a,#d9a2d2)}
#campus-integre .cu-chart-thresholds{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:28px;margin:0 0 9px;color:var(--cu-muted);font-size:11px;line-height:1.5}
#campus-integre .cu-threshold-key{padding:3px 6px;border-left:3px solid var(--cu-line)}
#campus-integre .cu-threshold-key strong{font-weight:500;color:var(--cu-ink);white-space:nowrap}
#campus-integre .cu-comfort-range{border:1px solid var(--cu-line);border-radius:4px;background:transparent}
#campus-integre [data-tone=low]{--cu-threshold-tone:var(--cu-threshold-low)}
#campus-integre [data-tone=watch]{--cu-threshold-tone:var(--cu-threshold-watch)}
#campus-integre [data-tone=high]{--cu-threshold-tone:var(--cu-threshold-high)}
#campus-integre [data-tone=alert]{--cu-threshold-tone:var(--cu-threshold-alert)}
#campus-integre [data-tone=unige]{--cu-threshold-tone:var(--cu-unige-target)}
#campus-integre .cu-threshold-key[data-tone]{border-color:var(--cu-threshold-tone);color:var(--cu-threshold-tone)}
#campus-integre .cu-threshold-note{color:var(--cu-muted);font-style:italic}
#campus-integre .cu-threshold-zone{opacity:.12}
#campus-integre .cu-threshold-zone[data-zone-tone=low]{fill:var(--cu-threshold-low)}
#campus-integre .cu-threshold-zone[data-zone-tone=watch]{fill:var(--cu-threshold-watch)}
#campus-integre .cu-threshold-zone[data-zone-tone=high]{fill:var(--cu-threshold-high)}
#campus-integre .cu-threshold-zone[data-zone-tone=alert]{fill:var(--cu-threshold-alert)}
#campus-integre .cu-threshold-line{stroke:var(--cu-threshold-tone);stroke-width:1.1;stroke-dasharray:5 4;opacity:.85}
#campus-integre .cu-plot .cu-threshold-label{fill:var(--cu-threshold-tone);font-size:10px;paint-order:stroke;stroke:var(--cu-surface);stroke-width:4px;stroke-linejoin:round}
#campus-integre .cu-plot[data-plot=co2] .cu-line,#campus-integre .cu-plot[data-plot=temp] .cu-line,#campus-integre .cu-plot[data-plot=hum] .cu-line{stroke:var(--cu-ink)}
#campus-integre .cu-plot[data-plot=co2] .cu-last-point,#campus-integre .cu-plot[data-plot=temp] .cu-last-point,#campus-integre .cu-plot[data-plot=hum] .cu-last-point{fill:var(--cu-ink)}
#campus-integre .cu-unige-chart-line{stroke:var(--cu-unige-target);stroke-width:1.7;stroke-dasharray:2 4}
#campus-integre .cu-plot .cu-unige-chart-label{fill:var(--cu-unige-target);font-size:10px;paint-order:stroke;stroke:var(--cu-surface);stroke-width:4px}

/* 1.12 — sensor trends, time selection and source-aware summaries. */
#campus-integre .cu-chart-workspace{padding:22px 24px 16px}
#campus-integre .cu-chart-workspace .cu-history-head{align-items:center;margin-bottom:16px}
#campus-integre .cu-chart-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;margin:0 0 19px;padding:0 0 15px;border-bottom:1px solid var(--cu-line)}
#campus-integre .cu-chart-focus,#campus-integre .cu-chart-settings{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
#campus-integre .cu-chart-toolbar button{min-height:36px;padding:7px 10px;border:1px solid transparent;border-radius:6px;background:transparent;font-size:11px;color:var(--cu-muted);white-space:nowrap}
#campus-integre .cu-chart-toolbar button:hover{background:var(--cu-bg);color:var(--cu-ink)}
#campus-integre .cu-chart-toolbar button[aria-pressed=true]{border-color:#bdd5df;background:#eef6f9;color:#245c78;font-weight:600}
#campus-integre .cu-chart-toolbar button:focus-visible,#campus-integre .cu-chart-toolbar select:focus-visible,#campus-integre .cu-chart-workspace .cu-plot:focus-visible{outline:2px solid #3b7eaa;outline-offset:3px}
#campus-integre .cu-chart-settings label{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--cu-muted);margin:0}
#campus-integre .cu-chart-settings select{height:34px;min-height:34px;width:auto;margin:0;padding:4px 25px 4px 8px;border:1px solid var(--cu-line);border-radius:5px;background:var(--cu-surface);font-size:11px;color:var(--cu-ink)}
#campus-integre .cu-chart-toolbar .cu-chart-reset{display:inline-flex;align-items:center;gap:5px;border-color:var(--cu-line)}
#campus-integre .cu-chart-reset svg{width:13px;height:13px}
#campus-integre .cu-chart-toolbar .cu-chart-reset:disabled{opacity:.45;cursor:default}
#campus-integre .cu-chart-workspace .cu-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
#campus-integre .cu-chart-workspace .cu-charts-single{grid-template-columns:minmax(0,1fr)}
#campus-integre .cu-chart-workspace .cu-trace{--cu-trace-color:#288267;border:1px solid #e4ecef;border-radius:10px;padding:15px 13px 10px;background:linear-gradient(180deg,#fbfdfe 0,#fff 96px);overflow:hidden}
#campus-integre .cu-chart-workspace [data-metric=occ],#campus-integre .cu-chart-workspace [data-metric=pres]{--cu-trace-color:#2873a1}
#campus-integre .cu-chart-workspace [data-metric=co2]{--cu-trace-color:#288267}
#campus-integre .cu-chart-workspace [data-metric=temp]{--cu-trace-color:#b96935}
#campus-integre .cu-chart-workspace [data-metric=hum]{--cu-trace-color:#6577b8}
#campus-integre .cu-chart-workspace .cu-trace-head{min-height:43px;align-items:flex-start;gap:9px;padding:0 2px 6px}
#campus-integre .cu-chart-workspace .cu-trace-name{display:flex;align-items:center;flex-wrap:wrap;gap:5px 7px;font-size:13px;font-weight:600;line-height:1.6}
#campus-integre .cu-trace-dot{width:7px;height:7px;border-radius:50%;background:var(--cu-trace-color);flex:none}
#campus-integre .cu-chart-workspace .cu-trace-name small{font-size:10px}
#campus-integre .cu-chart-workspace .cu-trace-stat{max-width:160px;display:flex;flex-direction:column;gap:3px;flex-shrink:0;font-variant-numeric:tabular-nums}
#campus-integre .cu-chart-workspace .cu-trace-stat>strong{color:var(--cu-trace-color);font-size:19px;font-weight:600;line-height:1.1;white-space:nowrap}
#campus-integre .cu-chart-workspace .cu-trace-stat>strong small{font-size:10px;font-weight:400}
#campus-integre .cu-chart-workspace .cu-trace-stat>span{font-size:9px;color:var(--cu-muted)}
#campus-integre .cu-chart-workspace .cu-chart-thresholds{font-size:10px;gap:3px 7px;margin:0;min-height:28px}
#campus-integre .cu-chart-workspace .cu-threshold-key{padding:2px 4px;border-left-width:2px}
#campus-integre .cu-chart-workspace .cu-plot{height:270px;min-height:270px;margin-top:2px}
#campus-integre .cu-chart-workspace .cu-plot-empty{min-height:270px}
#campus-integre .cu-chart-workspace .cu-trace-summary{min-height:22px;display:flex;justify-content:flex-start;align-items:baseline;gap:12px;padding:2px 4px 0;font-size:10px;color:var(--cu-muted);line-height:1.5}
#campus-integre .cu-chart-workspace .cu-trace-summary>span:last-child{margin-left:auto;font-size:9px;text-align:right}
#campus-integre .cu-trace-summary strong{color:var(--cu-ink);font-weight:500}
#campus-integre .cu-chart-workspace .cu-explore{margin-top:16px;padding-left:4px}
#campus-integre .cu-chart-workspace .cu-tooltip{max-width:290px}
#campus-integre .cu-tooltip-row{flex-wrap:wrap}
#campus-integre .cu-tooltip-row>span{display:flex;align-items:center;gap:6px}
#campus-integre .cu-tooltip-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex:none}
#campus-integre .cu-tooltip-dot[data-metric=occ],#campus-integre .cu-tooltip-dot[data-metric=pres]{background:#2873a1}
#campus-integre .cu-tooltip-dot[data-metric=co2]{background:#288267}
#campus-integre .cu-tooltip-dot[data-metric=temp]{background:#b96935}
#campus-integre .cu-tooltip-dot[data-metric=hum]{background:#6577b8}
#campus-integre .cu-tooltip-provenance{width:100%;margin-top:-2px;font-size:9px!important;opacity:.7}
#campus-integre .cu-chart-workspace .cu-plot .cu-line{stroke:var(--cu-trace-color)}
#campus-integre .cu-chart-workspace .cu-plot .cu-last-point{fill:var(--cu-trace-color)}
@media(max-width:850px){#campus-integre .cu-chart-workspace .cu-charts{grid-template-columns:minmax(0,1fr)}}
@media(max-width:580px){
  #campus-integre .cu-chart-workspace{padding:17px 10px 13px}
  #campus-integre .cu-chart-workspace .cu-history-head{gap:12px;margin-bottom:12px}
  #campus-integre .cu-chart-workspace .cu-history-head h3{font-size:17px}
  #campus-integre .cu-chart-workspace .cu-periods{width:auto;display:flex;flex-wrap:nowrap}
  #campus-integre .cu-chart-workspace .cu-period{min-height:39px;padding:8px 11px}
  #campus-integre .cu-chart-toolbar{align-items:flex-start;gap:8px;margin-bottom:14px;padding-bottom:12px}
  #campus-integre .cu-chart-toolbar button{min-height:42px;padding:7px 8px;font-size:10px}
  #campus-integre .cu-chart-settings{gap:4px;width:100%;justify-content:space-between}
  #campus-integre .cu-chart-settings label{gap:5px;font-size:10px}
  #campus-integre .cu-chart-settings select{height:40px;min-height:40px;font-size:10px}
  #campus-integre .cu-chart-reset>span{display:none}
  #campus-integre .cu-chart-toolbar .cu-chart-reset{padding:8px 10px}
  #campus-integre .cu-chart-workspace .cu-trace{padding:13px 7px 9px}
  #campus-integre .cu-chart-workspace .cu-trace-head{gap:5px}
  #campus-integre .cu-chart-workspace .cu-trace-stat>strong{font-size:18px}
  #campus-integre .cu-chart-workspace .cu-trace-summary{gap:8px;font-size:9px}
}

/* 1.6 — floor coverage and a compact, persistent plan toolbar. */
#campus-integre .cu-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#campus-integre .cu-overview-floor-links .cu-floor-link{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:6px 9px;max-width:100%;text-align:left}
#campus-integre .cu-overview-floor-links .cu-floor-link>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#campus-integre .cu-overview-floor-links .cu-floor-equipped{color:var(--cu-ink);background:#f8fbfc}
#campus-integre .cu-overview-floor-links .cu-floor-unequipped{color:#7e8b94;background:#f7f8f9}
#campus-integre .cu-overview-floor-links .cu-sensors{display:inline-flex;gap:4px;flex-shrink:0}
#campus-integre .cu-overview-floor-links .cu-sensor{width:15px;height:15px;padding:0;background:transparent}
#campus-integre .cu-overview-floor-links .cu-sensor svg{width:14px;height:14px}
#campus-integre .cu-layered-plan-panel{gap:12px}
#campus-integre .cu-plan-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}
#campus-integre .cu-plan-heading h3{font-size:15px;margin:0}
#campus-integre .cu-plan-heading .cu-plan-context-note{margin:0;font-size:11px;color:var(--cu-muted)}
#campus-integre .cu-plan-toolbar{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(100px,.6fr) minmax(170px,1.4fr);gap:8px;align-items:center}
#campus-integre .cu-plan-toolbar.cu-plan-toolbar-use{grid-template-columns:minmax(130px,.8fr) minmax(170px,1.4fr)}
#campus-integre .cu-plan-toolbar>label{min-width:0;display:block;margin:0}
#campus-integre .cu-plan-toolbar select{width:100%;min-width:0;max-width:100%;height:44px;margin:0;padding:8px 10px;border-color:var(--cu-line);color:var(--cu-ink);font-size:13px;background-color:var(--cu-surface)}
#campus-integre .cu-plan-search{position:relative;min-width:0}
#campus-integre .cu-plan-search>svg{position:absolute;left:11px;top:14px;width:16px;height:16px;color:var(--cu-muted);pointer-events:none}
#campus-integre .cu-plan-search input{width:100%;min-width:0;height:44px;margin:0;padding:8px 9px 8px 35px;font-size:13px;color:var(--cu-ink);background:var(--cu-surface);border:1px solid var(--cu-line);border-radius:6px}
#campus-integre .cu-plan-search input::placeholder{color:var(--cu-muted)}
#campus-integre .cu-plan-search-results{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:15;max-height:285px;overflow:auto;padding:5px;background:var(--cu-surface);border:1px solid var(--cu-line);border-radius:8px;box-shadow:0 10px 30px #142c3b1c}
#campus-integre .cu-plan-search-results[hidden]{display:none}
#campus-integre .cu-plan-search-results button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;min-height:48px;padding:8px;text-align:left;background:transparent;border:0;border-radius:5px;color:var(--cu-ink)}
#campus-integre .cu-plan-search-results button:hover,#campus-integre .cu-plan-search-results button[aria-selected=true]{background:#edf4f8}
#campus-integre .cu-plan-search-results strong{font-size:13px;font-weight:600}
#campus-integre .cu-plan-search-results span{max-width:100%;font-size:11px;line-height:1.4;color:var(--cu-muted);overflow-wrap:anywhere}
#campus-integre .cu-plan-search-empty{padding:10px;margin:0;color:var(--cu-muted);font-size:12px}
#campus-integre .cu-plan-stage{position:relative;min-width:0}
#campus-integre .cu-plan-stage .cu-plan-viewport{margin:0}
#campus-integre .cu-plan-stage .cu-plan-navigation-controls{position:absolute;right:10px;bottom:10px;z-index:4;display:block;margin:0;padding:3px;border:1px solid var(--cu-line);border-radius:8px;background:#ffffffed;box-shadow:0 3px 12px #142c3b0c}
#campus-integre .cu-plan-stage .cu-plan-zoom-controls{gap:1px}
#campus-integre .cu-plan-stage .cu-plan-navigation-controls button{border:0;background:transparent;min-width:38px;min-height:38px;padding:8px}
#campus-integre .cu-plan-stage .cu-plan-navigation-controls button:hover{background:#edf2f5}
#campus-integre .cu-plan-stage .cu-plan-navigation-controls output{min-width:42px;font-size:11px}
#campus-integre .cu-plan-stage .cu-plan-fit{margin-left:2px;padding-inline:8px;border-left:1px solid var(--cu-line);border-radius:0 5px 5px 0}
#campus-integre .cu-plan-stage .cu-plan-help{position:absolute;right:10px;top:10px;z-index:5}
#campus-integre .cu-plan-stage .cu-plan-help summary{width:38px;min-height:38px;padding:8px;background:#ffffffed;box-shadow:0 3px 12px #142c3b0c}
#campus-integre .cu-plan-stage .cu-plan-help p{max-width:min(280px,70vw)}
@media(max-width:620px){
 #campus-integre .cu-plan-toolbar{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
 #campus-integre .cu-plan-toolbar.cu-plan-toolbar-use{grid-template-columns:minmax(0,1fr)}
 #campus-integre .cu-plan-search{grid-column:1/-1}
 #campus-integre .cu-plan-toolbar select,#campus-integre .cu-plan-search input{font-size:16px}
 #campus-integre .cu-plan-heading{gap:4px}
 #campus-integre .cu-plan-heading .cu-plan-context-note{width:100%;font-size:10px}
 #campus-integre .cu-plan-stage .cu-plan-navigation-controls{right:6px;bottom:6px}
 #campus-integre .cu-plan-stage .cu-plan-navigation-controls button{min-width:44px;min-height:44px}
 #campus-integre .cu-plan-stage .cu-plan-help{right:6px;top:6px}
 #campus-integre .cu-plan-stage .cu-plan-help summary{width:44px;min-height:44px}
 #campus-integre .cu-overview-floor-links .cu-floor-link{min-height:44px}
}
@media(pointer:coarse){#campus-integre .cu-plan-stage .cu-plan-navigation-controls button,#campus-integre .cu-plan-stage .cu-plan-help summary{min-width:44px;min-height:44px}}
@media(max-width:580px){#campus-integre .cu-period[data-history-focus]{grid-column:1/-1;border-left:0;border-top:1px solid var(--cu-line)}}

#campus-integre .cu-chart-degraded{align-self:center;color:var(--cu-muted);font-size:.78rem;}

/* Comfort curves 1.13: CO2 overview, paired comfort metrics and usage below. */
#campus-integre .cu-chart-workspace .cu-charts>[data-metric=co2],
#campus-integre .cu-chart-workspace .cu-charts>[data-metric=occ],
#campus-integre .cu-chart-workspace .cu-charts>[data-metric=pres]{grid-column:1/-1}
#campus-integre .cu-chart-workspace .cu-trace{background:var(--cu-surface);border-color:#e4ebee;padding:17px 15px 12px}
#campus-integre .cu-chart-workspace .cu-trace-head{min-height:38px}
#campus-integre .cu-chart-workspace .cu-trace-stat>strong{font-size:22px}
#campus-integre .cu-chart-workspace [data-metric=co2] .cu-plot{height:320px;min-height:320px}
#campus-integre .cu-chart-workspace [data-metric=temp] .cu-plot,
#campus-integre .cu-chart-workspace [data-metric=hum] .cu-plot{height:265px;min-height:265px}
#campus-integre .cu-chart-workspace [data-metric=occ] .cu-plot,
#campus-integre .cu-chart-workspace [data-metric=pres] .cu-plot{height:220px;min-height:220px}
#campus-integre .cu-chart-workspace .cu-explore[hidden],
#campus-integre .cu-chart-workspace .cu-plot[hidden],
#campus-integre .cu-chart-workspace [data-heatmap-detail][hidden]{display:none}
#campus-integre .cu-scale-switch{display:flex;padding:2px;gap:2px;border:1px solid var(--cu-line);border-radius:7px;background:#f7fafb}
#campus-integre .cu-scale-switch button{min-height:30px;padding:5px 9px}
#campus-integre .cu-scale-switch button[aria-pressed=true]{background:#fff;border-color:#c7dce4;box-shadow:0 1px 3px #233f4e0b}
#campus-integre .cu-heatmap-detail-heading{margin-top:18px;padding-top:14px;border-top:1px solid var(--cu-line);color:var(--cu-muted);font-size:11px}
@media(max-width:580px){
 #campus-integre .cu-chart-workspace .cu-trace{padding:14px 7px 10px}
 #campus-integre .cu-chart-settings{justify-content:flex-start;gap:6px 10px}
 #campus-integre .cu-chart-workspace .cu-chart-thresholds{gap:3px 5px;line-height:1.6}
 #campus-integre .cu-chart-workspace .cu-trace-stat>strong{font-size:19px}
}

#campus-integre .cu-chart-offscale[hidden]{display:none}
#campus-integre .cu-chart-offscale{display:flex;flex-wrap:wrap;gap:4px 10px;min-height:14px;font-size:10px;color:var(--cu-muted);margin:2px 4px 4px}
#campus-integre .cu-chart-offscale [data-tone=low]{color:#427aa2}
#campus-integre .cu-chart-offscale [data-tone=high]{color:#a26236}
#campus-integre .cu-chart-offscale [data-tone=watch]{color:#8c712b}
#campus-integre .cu-chart-offscale [data-tone=alert]{color:#a54c5a}
#campus-integre .cu-chart-offscale strong{font-weight:500}
@media(max-width:580px){#campus-integre .cu-chart-workspace .cu-periods{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}#campus-integre .cu-chart-workspace .cu-period{padding:8px 4px;font-size:10px}}

#campus-integre .cu-chart-offscale [data-tone=unige]{color:#9a4c89}

/* 1.15 — a shared full-period overview and a focused detail. */
#campus-integre .cu-history-detail-date{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-top:6px;color:var(--cu-muted);font-size:12px}
#campus-integre .cu-history-detail-date>span{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
#campus-integre .cu-history-detail-date .cu-history-date{margin:0;font-variant-numeric:tabular-nums}
#campus-integre .cu-chart-options{position:relative;margin-left:auto}
#campus-integre .cu-chart-options>summary{min-height:36px;display:flex;align-items:center;gap:6px;list-style:none;padding:7px 10px;border:1px solid var(--cu-line);border-radius:6px;font-size:11px;color:var(--cu-muted);cursor:pointer}
#campus-integre .cu-chart-options>summary::-webkit-details-marker{display:none}
#campus-integre .cu-chart-options>summary::after{content:'⌄';font-size:13px;line-height:1}
#campus-integre .cu-chart-options[open]>summary{color:var(--cu-ink);background:var(--cu-bg)}
#campus-integre .cu-chart-options .cu-chart-settings{position:absolute;right:0;top:calc(100% + 6px);z-index:12;min-width:290px;padding:12px;gap:12px;background:var(--cu-surface);border:1px solid var(--cu-line);border-radius:9px;box-shadow:0 8px 24px #263e4d16}
#campus-integre .cu-chart-options>summary:focus-visible,#campus-integre .cu-history-overview:focus-visible{outline:2px solid #3b7eaa;outline-offset:3px}
#campus-integre .cu-history-overview-panel{margin:-3px 0 20px;padding:12px 12px 3px;border:1px solid var(--cu-line);border-radius:9px;background:#f9fbfc;min-width:0}
#campus-integre .cu-history-overview-heading{display:flex;align-items:baseline;justify-content:space-between;gap:6px 16px;flex-wrap:wrap;padding:0 3px;font-size:10px;color:var(--cu-muted)}
#campus-integre .cu-history-overview-heading>span{font-weight:600;color:var(--cu-ink)}
#campus-integre .cu-history-overview-heading>time{font-variant-numeric:tabular-nums}
#campus-integre .cu-history-overview{height:92px;min-height:92px;width:100%;touch-action:pan-y;border-radius:5px}
@media(max-width:580px){
 #campus-integre .cu-history-detail-date{font-size:11px;gap:4px 7px}
 #campus-integre .cu-chart-options>summary{min-height:42px;padding:8px 10px}
 #campus-integre .cu-chart-options .cu-chart-settings{min-width:260px;max-width:calc(100vw - 72px);width:260px;padding:10px;gap:10px}
 #campus-integre .cu-history-overview-panel{padding:10px 4px 1px;margin-bottom:14px}
 #campus-integre .cu-history-overview-heading{font-size:9px;gap:4px;padding:0 5px}
 #campus-integre .cu-history-overview-heading>time{width:100%}
}

/* 1.16 — one adaptive environment curve, with direct zoom and quiet gaps. */
#campus-integre .cu-adaptive-workspace .cu-history-head{margin-bottom:10px;gap:12px 22px}
#campus-integre .cu-adaptive-workspace .cu-history-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 16px;min-width:0}
#campus-integre .cu-adaptive-workspace .cu-history-heading h3{margin:0}
#campus-integre .cu-adaptive-workspace .cu-history-date{margin:0;font-size:11px;font-variant-numeric:tabular-nums;color:var(--cu-muted)}
#campus-integre .cu-adaptive-workspace .cu-chart-toolbar{gap:7px 12px;margin-bottom:14px;padding-bottom:11px;flex-wrap:wrap}
#campus-integre .cu-adaptive-workspace .cu-history-origin{display:flex;align-items:center;gap:5px 12px;flex-wrap:wrap;margin-right:auto;min-width:0}
#campus-integre .cu-adaptive-workspace .cu-history-source{font-size:10px;margin:0;color:var(--cu-muted)}
#campus-integre .cu-adaptive-workspace .cu-chart-focus{flex-wrap:nowrap;gap:4px}
#campus-integre .cu-adaptive-workspace .cu-chart-focus button{min-height:32px;padding:6px 8px;font-size:10px}
#campus-integre .cu-adaptive-workspace .cu-chart-focus button[hidden]{display:none}
#campus-integre .cu-adaptive-workspace .cu-chart-zoom{display:inline-flex;align-items:center;justify-content:center;width:31px;border-color:var(--cu-line);padding:0}
#campus-integre .cu-adaptive-workspace .cu-chart-zoom:disabled{opacity:.4;cursor:default}
#campus-integre .cu-adaptive-workspace .cu-chart-zoom svg{width:14px;height:14px;stroke-width:1.6}
#campus-integre .cu-adaptive-workspace .cu-chart-options{margin-left:0}
#campus-integre .cu-adaptive-workspace .cu-chart-options>summary{min-height:32px;font-size:10px;padding:6px 8px}
#campus-integre .cu-adaptive-workspace .cu-trace-head{align-items:center;flex-wrap:wrap}
#campus-integre .cu-adaptive-workspace .cu-trace-method{font-size:9px;font-weight:400;white-space:nowrap;color:#66818e;background:#f0f5f7;padding:4px 6px;border-radius:4px}
#campus-integre .cu-adaptive-workspace .cu-trace-method[hidden]{display:none}
#campus-integre .cu-adaptive-workspace .cu-trace-stat{margin-left:auto}
#campus-integre .cu-adaptive-workspace .cu-plot{overflow:hidden}
#campus-integre .cu-adaptive-workspace .cu-trace-summary{min-height:19px}
@media(max-width:580px){
 #campus-integre .cu-adaptive-workspace .cu-history-head{gap:10px;margin-bottom:10px}
 #campus-integre .cu-adaptive-workspace .cu-history-heading{gap:5px 10px}
 #campus-integre .cu-adaptive-workspace .cu-history-date{font-size:10px;width:100%}
 #campus-integre .cu-adaptive-workspace .cu-chart-toolbar{gap:6px 8px}
 #campus-integre .cu-adaptive-workspace .cu-history-origin{width:100%}
 #campus-integre .cu-adaptive-workspace .cu-chart-focus button{min-height:36px;font-size:10px}
 #campus-integre .cu-adaptive-workspace .cu-chart-options{margin-left:auto}
 #campus-integre .cu-adaptive-workspace .cu-trace-method{font-size:8px;padding:3px 5px}
 #campus-integre .cu-adaptive-workspace .cu-trace-name{gap:3px 5px}
}

/* Compact measure tags: one active chart, or any selection of comparable charts. */
#campus-integre .cu-chart-workspace.cu-selectable-workspace .cu-charts{grid-template-columns:minmax(0,1fr)}
#campus-integre .cu-history-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 12px}
#campus-integre .cu-history-tag{display:inline-flex;align-items:center;gap:5px;min-height:32px;margin:0;padding:5px 10px;border:1px solid var(--cu-line);border-radius:16px;background:var(--cu-surface);color:var(--cu-muted);font-size:12px;line-height:1.4;white-space:nowrap}
#campus-integre .cu-history-tag svg{width:12px;height:12px;stroke-width:2;opacity:0}
#campus-integre .cu-history-tag[aria-pressed=true]{border-color:#bdd5df;background:#eef6f9;color:#245c78}
#campus-integre .cu-history-tag[aria-pressed=true] svg{opacity:1}
#campus-integre .cu-history-tag:hover{border-color:#a8c4d0;color:var(--cu-ink)}
#campus-integre .cu-history-tag:focus-visible{outline:2px solid #3b7eaa;outline-offset:3px}
#campus-integre .cu-chart-workspace.cu-selectable-workspace .cu-plot{min-height:0}
@media(max-width:580px){
 #campus-integre .cu-history-tags{gap:5px;margin:8px 0 10px}
 #campus-integre .cu-history-tag{min-height:36px;padding:5px 9px;font-size:11px;border-radius:18px}
}
@media(pointer:coarse){#campus-integre .cu-history-tag{min-height:44px;border-radius:22px}}

/* Quiet reading: controls stay close to the chart; metadata opens on demand. */
#campus-integre .cu-quiet-workspace .cu-history-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px 16px;margin:8px 0 14px}
#campus-integre .cu-quiet-workspace .cu-history-tags{flex:1 1 400px;margin:0}
#campus-integre .cu-quiet-workspace .cu-chart-toolbar{flex:0 0 auto;justify-content:flex-end;gap:6px;margin:0;padding:0;border:0}
#campus-integre .cu-quiet-workspace .cu-chart-focus button{display:inline-flex;align-items:center;justify-content:center;width:32px;min-height:32px;padding:6px;border:1px solid var(--cu-line)}
#campus-integre .cu-quiet-workspace .cu-chart-focus button[hidden]{display:none}
#campus-integre .cu-quiet-workspace .cu-chart-focus button svg{width:14px;height:14px}
#campus-integre .cu-quiet-workspace .cu-chart-options>summary{width:32px;min-height:32px;padding:7px;justify-content:center}
#campus-integre .cu-quiet-workspace .cu-chart-options>summary::after{content:none}
#campus-integre .cu-quiet-workspace .cu-chart-options>summary svg{width:15px;height:15px}
#campus-integre .cu-quiet-workspace .cu-chart-settings{min-width:200px;width:max-content;max-width:calc(100vw - 64px);display:flex;flex-direction:column;align-items:stretch;gap:12px}
#campus-integre .cu-chart-scale-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--cu-muted);font-size:11px}
#campus-integre .cu-quiet-workspace .cu-chart-settings label{justify-content:space-between}
#campus-integre .cu-quiet-workspace .cu-trace{position:relative;overflow:visible}
#campus-integre .cu-quiet-workspace .cu-trace:has(.cu-trace-info[open]){z-index:11}
#campus-integre .cu-quiet-workspace .cu-trace-head{flex-wrap:nowrap;align-items:center;gap:8px;margin-bottom:4px}
#campus-integre .cu-trace-identification{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;flex:1;min-width:0}
#campus-integre .cu-quiet-workspace .cu-trace-stat{max-width:none;flex-shrink:0;margin-left:0}
#campus-integre .cu-trace-info{position:relative;flex:none}
#campus-integre .cu-trace-info>summary{display:flex;align-items:center;justify-content:center;width:28px;min-height:32px;padding:5px;list-style:none;border-radius:5px;color:var(--cu-muted);cursor:pointer}
#campus-integre .cu-trace-info>summary::-webkit-details-marker{display:none}
#campus-integre .cu-trace-info>summary svg{width:16px;height:16px;stroke-width:1.5}
#campus-integre .cu-trace-info[open]>summary,#campus-integre .cu-trace-info>summary:hover{background:var(--cu-bg);color:var(--cu-ink)}
#campus-integre .cu-trace-info>summary:focus-visible,#campus-integre .cu-reading-details>summary:focus-visible{outline:2px solid #3b7eaa;outline-offset:3px}
#campus-integre .cu-trace-info-content{position:absolute;right:0;top:calc(100% + 5px);z-index:15;width:280px;max-width:calc(100vw - 64px);padding:14px;background:var(--cu-surface);border:1px solid var(--cu-line);border-radius:8px;box-shadow:0 8px 24px #263e4d16;font-size:11px;line-height:1.6;color:var(--cu-muted);font-weight:400}
#campus-integre .cu-trace-info-content .cu-chart-thresholds{flex-direction:column;align-items:flex-start;gap:5px;margin:0 0 10px;font-size:11px;min-height:0}
#campus-integre .cu-trace-info-content .cu-threshold-key{padding:0 0 0 6px}
#campus-integre .cu-trace-info-content [data-offscale=above]::after{content:' ↑'}
#campus-integre .cu-trace-info-content [data-offscale=below]::after{content:' ↓'}
#campus-integre .cu-trace-info-content .cu-trace-summary{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:0;min-height:0;font-size:11px}
#campus-integre .cu-trace-info-content .cu-trace-summary>span:last-child{margin-left:0;text-align:left;font-size:11px}
#campus-integre .cu-trace-info-content p{font-size:11px;margin:6px 0}
#campus-integre .cu-trace-info-content p:last-child{margin-bottom:0}
#campus-integre .cu-quiet-workspace .cu-heatmap-caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#campus-integre .cu-quiet-workspace .cu-heatmap-legend-missing,#campus-integre .cu-quiet-workspace .cu-heatmap-legend-partial{display:none}
#campus-integre .cu-quiet-workspace .cu-trace-heatmap .cu-plot:not([hidden]){margin-top:16px}
#campus-integre .cu-env-reading{position:relative}
#campus-integre .cu-env-reading .cu-comfort-badge[data-comfort=ok]{position:absolute;right:0;top:22px}
#campus-integre .cu-measure-stale{font-size:11px;color:#8d6632}
#campus-integre .cu-reading-details{margin-top:4px;color:var(--cu-muted);font-size:11px}
#campus-integre .cu-reading-details>summary{min-height:32px;padding:7px 0;cursor:pointer}
#campus-integre .cu-reading-details-content{padding:4px 0 0;font-size:11px;line-height:1.6}
#campus-integre .cu-reading-details-content dl{margin:0}
#campus-integre .cu-reading-details-content dl>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:3px 10px;padding:3px 0}
#campus-integre .cu-reading-details-content dt,#campus-integre .cu-reading-details-content dd{margin:0;font-weight:400}
#campus-integre .cu-reading-details-content .cu-profile-caption{margin-top:10px;padding-top:8px;border-top:1px solid var(--cu-line)}
@media(max-width:580px){
 #campus-integre .cu-quiet-workspace .cu-history-controls{gap:8px;margin-bottom:10px}
 #campus-integre .cu-quiet-workspace .cu-history-tags{flex-basis:100%}
 #campus-integre .cu-quiet-workspace .cu-chart-toolbar{width:100%}
 #campus-integre .cu-quiet-workspace .cu-chart-focus button,#campus-integre .cu-quiet-workspace .cu-chart-options>summary{width:36px;min-height:36px}
 #campus-integre .cu-quiet-workspace .cu-trace-head{gap:4px}
 #campus-integre .cu-quiet-workspace .cu-trace-name{font-size:12px}
 #campus-integre .cu-trace-info>summary{width:28px}
}
@media(pointer:coarse){#campus-integre .cu-quiet-workspace .cu-chart-focus button,#campus-integre .cu-quiet-workspace .cu-chart-options>summary,#campus-integre .cu-trace-info>summary,#campus-integre .cu-reading-details>summary{min-height:44px;min-width:44px}}
#campus-integre .cu-trace-info:not([open])>.cu-trace-info-content,#campus-integre .cu-chart-options:not([open])>.cu-chart-settings,#campus-integre .cu-reading-details:not([open])>.cu-reading-details-content{display:none}
#campus-integre .cu-plan-help .cu-comfort-legend,#campus-integre .cu-plan-help .cu-legend{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0 0 10px;font-size:11px}
#campus-integre .cu-plan-help:not([open])>p{display:none}
#campus-integre .cu-quiet-workspace .cu-trace-method{font-size:10px;color:#526b77;padding:3px 5px}
#campus-integre .cu-quiet-workspace .cu-chart-options[hidden],#campus-integre .cu-quiet-workspace .cu-chart-settings [hidden]{display:none}

/* Compact local facts, followed by the sensor readings. */
#campus-integre .cu-detail:not(.cu-building-detail){display:flex;flex-direction:column;align-self:start;padding:16px;gap:12px}
#campus-integre .cu-detail .cu-local-head{padding-bottom:9px}
#campus-integre .cu-detail .cu-local-id{margin:0;font-size:20px;letter-spacing:-.3px;color:var(--cu-ink)}
#campus-integre .cu-detail>.ref-local-metadata{padding:0;min-width:0}
#campus-integre .cu-detail .ref-main-fields{gap:8px 14px}
#campus-integre .cu-detail .ref-main-fields dt{margin-bottom:3px}
#campus-integre .cu-detail .ref-main-fields .ref-assignment{padding:8px 10px}
#campus-integre .cu-detail .ref-main-fields .ref-assignment dd{font-size:13px;line-height:1.4}
#campus-integre .cu-detail .cu-reading-group h4{margin-bottom:8px}
#campus-integre .cu-detail .cu-environment-group{padding-top:12px}
