.portal-login,.portal-workspace{min-height:100vh;color:#23384e;font-family:inherit}.portal-login{display:grid;grid-template-columns:1fr 1fr;background:#fff}.portal-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:21px;font-weight:750}.portal-brand img{width:46px;height:46px;border-radius:10px}.portal-brand small{display:block;font-size:11px;letter-spacing:.4px;font-weight:500;opacity:.65;margin-top:5px}.login-story{background:#142f4c;color:#fff;padding:42px 8%;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-story-copy{padding:65px 0}.portal-eyebrow{font-size:11px;letter-spacing:2px;color:#6494d2;font-weight:700}.login-story h1{font-size:clamp(34px,3.3vw,58px);line-height:1.32;letter-spacing:-2px;margin:25px 0}.login-story p{font-size:15px;line-height:1.9;color:#b7c9dc}.login-story>small{font-size:11px;color:#8ca5bf}.story-features{display:flex;gap:23px;padding-top:22px;border-top:1px solid #39516a}.story-features span{display:flex;gap:8px;align-items:center;font-size:12px;color:#c6d7e9}.login-building{height:220px;position:relative;margin:20px 0;overflow:hidden;transform:skewY(-5deg)}.login-building div{position:absolute;bottom:10px;background:repeating-linear-gradient(0deg,transparent 0 16px,#6a96c833 17px 19px),repeating-linear-gradient(90deg,#204568 0,#204568 20px,#a3c5e733 21px,#a3c5e733 23px);border:1px solid #608bb9;border-top:8px solid #517b9e;width:36%;height:140px;left:7%}.login-building div:nth-child(2){left:43%;height:205px;width:30%;background-color:#2f5373}.login-building div:nth-child(3){left:73%;height:100px;width:20%}.login-building i{position:absolute;left:26%;top:100px;width:13px;height:13px;border-radius:50%;background:#47dcc0;box-shadow:0 0 0 9px #47dcc020}.login-building i:nth-of-type(2){left:59%;top:58px;background:#ffd47c;box-shadow:0 0 0 9px #ffd47c20}.login-building i:nth-of-type(3){left:81%;top:153px}.login-form-section{display:flex;align-items:center;justify-content:center;padding:50px}.login-form-card{max-width:400px;width:100%}.login-form-card h2{font-size:32px;margin:18px 0 10px}.login-form-card>p{color:#7c8b9d;margin:0 0 35px;font-size:14px}.portal-login label,.portal-modal label{display:flex;flex-direction:column;gap:10px;font-size:13px;font-weight:600;margin-bottom:20px}.portal-login input,.portal-modal input,.portal-modal textarea,.portal-modal select{border:1px solid #dce3ec;border-radius:8px;padding:14px 15px;background:#fff;color:#263f59;font:inherit;outline:none;min-width:0}.portal-login input:focus,.portal-modal input:focus,.portal-modal textarea:focus{border-color:#3575df;box-shadow:0 0 0 3px #3575df15}.portal-primary{display:inline-flex;justify-content:center;align-items:center;gap:12px;background:#306ce1;color:#fff;border:0;border-radius:8px;padding:13px 20px;font:inherit;font-size:13px;font-weight:650;cursor:pointer}.portal-primary:disabled{opacity:.55;cursor:wait}.login-form-card form>.portal-primary{width:100%;margin-top:7px}.login-access{display:flex;gap:12px;background:#f5f8fc;padding:20px;border-radius:10px;margin:28px 0;color:#6583a2}.login-access svg{flex-shrink:0}.login-access strong{font-size:12px;color:#3f5871}.login-access p{font-size:12px;line-height:1.7;margin:7px 0 0}.login-form-card>a{font-size:12px;color:#617a92;text-decoration:none}.portal-error{padding:12px 15px;color:#bd3644;background:#fff1f2;border-radius:8px;font-size:13px}.portal-loading{display:grid;place-items:center;height:100vh;color:#5b7390}.portal-workspace{background:#f5f7fb}.portal-workspace>header{height:90px;padding:0 max(4%,24px);background:#fff;border-bottom:1px solid #e6ebf1;display:flex;align-items:center;gap:25px}.portal-account{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:13px;color:#6a8197}.portal-account b{color:#29435d;margin-left:8px}.portal-quiet{display:inline-flex;align-items:center;gap:7px;border:1px solid #dbe3ed;background:#fff;border-radius:8px;padding:11px 15px;font:inherit;font-size:12px;color:#54708c;cursor:pointer}.portal-workspace>main{max-width:1440px;margin:auto;padding:52px 5%}.portal-page-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.portal-page-top h1{font-size:30px;margin:12px 0}.portal-page-top p{font-size:14px;color:#7b8c9e}.portal-summary{margin:35px 0 40px;background:#fff;border:1px solid #e1e7ef;border-radius:12px;display:grid;grid-template-columns:1fr 1fr 1.5fr}.portal-summary>div{padding:28px;display:grid;grid-template-columns:28px 1fr;column-gap:16px;align-items:center}.portal-summary>div+div{border-left:1px solid #edf0f5}.portal-summary svg{color:#718ea8;grid-row:span 2}.portal-summary strong{font-size:22px}.portal-summary span{font-size:12px;color:#91a0af;margin-top:6px}.project-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.project-toolbar h2{font-size:17px}.project-toolbar label{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e0e6ef;border-radius:8px;padding:10px 14px;color:#97a8b9}.project-toolbar input{border:0;outline:none;font:inherit;font-size:12px;width:210px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-card{border-radius:12px;overflow:hidden;background:#fff;border:1px solid #e0e6ef;box-shadow:0 4px 18px #14304d04}.project-cover{height:184px;background:#e8eff6;position:relative;display:flex;align-items:center;justify-content:center;color:#6789a6}.project-cover>svg{width:110px;height:110px}.project-cover>small{position:absolute;bottom:15px;left:20px;font-size:9px;letter-spacing:2px;color:#7691aa}.project-status{position:absolute;top:18px;right:18px;border-radius:5px;background:#fff;color:#8492a1;font-size:10px;padding:6px 9px}.project-status.published{background:#e1f5ed;color:#158260}.project-card-body{padding:24px}.project-card h3{font-size:18px;margin:0 0 12px;line-height:1.5}.project-card p{font-size:12px;line-height:1.8;color:#8795a6;min-height:44px;overflow-wrap:anywhere}.project-meta{display:flex;gap:13px;font-size:10px;color:#6e88a0;border-bottom:1px solid #edf1f6;padding:17px 0 20px}.project-card footer{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.project-card footer .portal-primary{flex:1}.portal-footnote{margin-top:35px;font-size:11px;color:#8fa0b1;display:flex;justify-content:space-between}.portal-footnote button{border:0;background:none;color:#677f98;text-decoration:underline;cursor:pointer}.portal-empty{padding:70px;text-align:center;color:#8c9aad}.portal-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b22345e;z-index:10000;display:grid;place-items:center;padding:25px}.portal-modal{width:490px;max-width:100%;max-height:90vh;overflow:auto;background:#fff;border-radius:14px;padding:30px;box-shadow:0 25px 100px #172f4540}.portal-modal h2{margin:0 0 27px;font-size:21px}.portal-modal textarea{height:85px;resize:vertical}.portal-modal footer{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.portal-modal p{font-size:12px;color:#7b8d9e}.portal-template{display:flex;gap:12px;background:#f4f7fb;border-radius:8px;padding:15px;font-size:12px;color:#597693}.portal-template small{display:block;font-size:10px;margin-top:6px;color:#8b9cad}.portal-back-button{font-size:11px;color:#527696;border:0;background:none;cursor:pointer;padding:8px 0;margin-top:8px}.portal-readonly{padding:22px;border:1px solid #e0e7ef;border-radius:10px;background:#fff;color:#72889e}@media(min-width:1600px){.login-story-copy{max-width:550px;margin:auto 0}.login-form-card{max-width:430px}}@media(max-width:1000px){.portal-login{grid-template-columns:.9fr 1fr}.login-story{padding:35px}.login-story h1{font-size:33px}.story-features{gap:10px;flex-wrap:wrap}.login-form-section{padding:35px}.project-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.portal-login{display:block}.login-story{display:none}.login-form-section{min-height:100vh}.portal-workspace>header{padding:15px;height:auto;gap:12px;flex-wrap:wrap}.portal-workspace>main{padding:30px 20px}.portal-page-top{align-items:flex-start;flex-direction:column}.portal-summary{grid-template-columns:1fr}.portal-summary>div+div{border-left:0;border-top:1px solid #edf0f5}.project-grid{grid-template-columns:1fr}.portal-account{font-size:11px}.project-toolbar input{width:130px}.portal-footnote{gap:20px;line-height:1.7}}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.gap-2{gap:calc(var(--spacing) * 2)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}:root{color:#26364c;font-synthesis:none;--blue:#326be8;--border:#e3e8ef;--muted:#8491a3;background:#f3f5f8;font-family:Inter,Pretendard,Noto Sans KR,Malgun Gothic,sans-serif;font-size:13px;font-weight:400}*{box-sizing:border-box}body{min-width:1280px;margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0;transition:background .16s,color .16s}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline-offset:3px;outline:2px solid #4c84f4}button{color:inherit;background:0 0}input,select{outline:none}button svg{flex-shrink:0}h1,h2,h3,p{margin:0}h2{font-size:14px;font-weight:650}h3{font-size:14px}button:hover{filter:brightness(.98)}.muted{color:var(--muted)}.text-xs{font-size:11px}.global-header{border-bottom:1px solid var(--border);z-index:50;background:#fff;align-items:center;gap:38px;height:74px;padding:0 24px;display:flex;position:relative}.brand{letter-spacing:-.4px;align-items:center;gap:10px;min-width:252px;font-size:16px;font-weight:750;display:flex}.brand-mark{color:#fff;background:#326be8;border-radius:9px;place-items:center;width:37px;height:37px;display:grid;box-shadow:0 3px 7px #326be822}.brand small{letter-spacing:2.6px;text-transform:uppercase;color:#8793a2;margin-top:2px;font-size:10px;font-weight:450;display:block}.global-header>nav{align-items:stretch;gap:29px;height:100%;display:flex}.global-header>nav button{color:#7b8695;white-space:nowrap;padding:0 2px;font-size:12px;font-weight:550;position:relative}.global-header>nav button.active{color:var(--blue)}.global-header>nav button.active:after{content:"";background:var(--blue);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:0;right:0}.header-right{align-items:center;gap:21px;margin-left:auto;display:flex}.search-wrap{color:#9aa6b5;background:#f5f7fa;border:1px solid #eef1f5;border-radius:7px;align-items:center;gap:9px;width:270px;padding:9px 11px;display:flex;position:relative}.search-wrap input{color:#4d6077;background:0 0;border:0;width:100%;font-size:11px}.search-wrap input::placeholder{color:#99a3b2}.search-wrap kbd{font-family:inherit;font-size:16px}.search-results,.profile-menu{border:1px solid var(--border);background:#fff;border-radius:9px;padding:6px;position:absolute;top:45px;left:0;right:0;box-shadow:0 12px 35px #1c345321}.search-results button{text-align:left;color:#314a65;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.search-results button:hover{background:#f0f5ff}.search-results button>svg:last-child{margin-left:auto}.search-results small{color:#8997a8;margin-top:4px;font-size:10px;display:block}.search-results p{padding:12px}.live-state{color:#42997d;white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:flex}.live-state i{background:#22b58b;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #23b88810}.live-state.disconnected{color:#dc9840}.live-state.disconnected i{background:#dc9840}.icon-button{color:#7b8b9d;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.icon-button:hover{background:#eef3fa}.notification{position:relative}.notification i{background:#ee6c59;border:1px solid #fff;border-radius:50%;width:5px;height:5px;position:absolute;top:4px;right:5px}.profile-wrap{position:relative}.profile{border-left:1px solid var(--border);align-items:center;gap:9px;padding-left:20px;display:flex}.profile>span{color:#4274c4;background:#e8effe;border:1px solid #dbe6fb;border-radius:50%;place-items:center;width:33px;height:33px;font-size:12px;display:grid}.profile>div{text-align:left;font-size:11px;font-weight:650}.profile small{color:#95a1b0;margin-top:3px;font-size:9px;font-weight:400;display:block}.profile>svg{color:#a0aaba;margin-left:9px}.profile-menu{width:240px;padding:16px;top:45px;left:auto}.profile-menu p{color:var(--muted);margin:10px 0;font-size:11px;line-height:1.7}.profile-menu button{color:var(--blue);align-items:center;gap:8px;display:flex}.app-shell{min-height:calc(100vh - 74px);display:flex}.sidebar{color:#a5b5c7;background:#152639;flex-direction:column;flex-shrink:0;width:232px;min-height:calc(100vh - 74px);padding:20px 15px 0;display:flex}.workspace-name{letter-spacing:1.1px;color:#e3eaf1;align-items:center;gap:10px;padding:0 5px 18px;font-size:10px;font-weight:600;display:flex}.workspace-icon{color:#b2c5d6;border:1px solid #3e5267;border-radius:7px;place-items:center;width:31px;height:32px;display:grid}.workspace-name small{color:#8396ac;letter-spacing:0;margin-top:3px;font-size:10px;font-weight:400;display:block}.workspace-name>svg{color:#7890a7;margin-left:auto}.building-card{background:#203449;border:1px solid #32475b;border-radius:8px;padding:0 12px 12px;overflow:hidden}.building-art{background:#263f51;width:calc(100% + 24px);height:82px;margin:0 -12px 11px;display:block}.building-card>div{color:#e4edf4;justify-content:space-between;align-items:center;font-size:12px;display:flex}.building-card p{color:#8ba1b5;margin-top:5px;font-size:9px}.side-section-label{letter-spacing:.8px;color:#7e94aa;justify-content:space-between;align-items:center;padding:21px 9px 10px;font-size:9px;font-weight:550;display:flex}.side-section-label span{color:#bcc9d8;background:#2a3e53;border-radius:4px;padding:2px 5px;font-size:9px}.side-nav{flex-direction:column;gap:4px;display:flex}.side-nav button{text-align:left;color:#b0bed0;border-radius:6px;align-items:center;gap:11px;padding:11px 13px;font-size:11px;display:flex}.side-nav button.active{color:#fff;background:#326be8;box-shadow:0 3px 8px #0001}.side-nav button:hover:not(.active){background:#23384d}.side-nav button>svg{color:#8199b1}.side-nav button.active>svg{color:#fff}.nav-count{color:#ee9d81;background:#ed815a24;border-radius:4px;margin-left:auto;padding:1px 6px;font-size:10px}.side-divider{background:#2b3d50;height:1px;margin:18px 8px 0}.floor-list{flex-direction:column;gap:3px;display:flex}.floor-list button{border-radius:5px;align-items:center;gap:11px;height:29px;padding:6px 12px;font-size:11px;display:flex}.floor-line{border-top:2px solid #678298;border-bottom:2px solid #678298;width:11px;height:11px;position:relative}.floor-line:after{content:"";border-top:2px solid #678298;position:absolute;top:3px;left:0;right:0}.floor-list button.active{color:#84b0fa;background:#25446f}.floor-list button.active .floor-line,.floor-list button.active .floor-line:after{border-color:#78a8ef}.floor-list small{color:#718ba4;margin-left:auto;font-size:9px}.floor-list button.active small{color:#7eaaeb}.sensor-list{scrollbar-width:thin;scrollbar-color:#344c66 transparent;flex-direction:column;max-height:286px;display:flex;overflow:auto}.sensor-list button{text-align:left;border-radius:5px;align-items:center;gap:10px;padding:8px 10px;display:flex}.sensor-list button:hover,.sensor-list button.active{background:#233b53}.dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.green{background:#22b58b}.sensor-list button>span{color:#c3d0df;letter-spacing:.15px;font-size:10px}.sensor-list small{color:#7f97b0;margin-top:4px;font-size:9px;display:block}.sensor-list svg{color:#5d748e;margin-left:auto}.sidebar-bottom{color:#91aabe;border-top:1px solid #2b3d50;align-items:center;gap:10px;margin-top:auto;padding:17px 8px;font-size:10px;display:flex}.sidebar-bottom>svg{color:#5cba98}.sidebar-bottom small{color:#5d7791;letter-spacing:1px;margin-top:4px;font-size:8px;display:block}main{flex:1;min-width:0;padding:23px 27px 0}.page-breadcrumb{color:#9ba6b4;align-items:center;gap:9px;font-size:10px;display:flex}.page-breadcrumb strong{color:#65758b;font-weight:500}.page-heading{justify-content:space-between;align-items:center;margin:18px 0 22px;display:flex}.page-heading h1{letter-spacing:-1px;color:#24354b;font-size:25px;font-weight:750}.page-heading p{color:#93a0af;margin-top:7px;font-size:11px}.page-heading-right{align-items:center;gap:18px;display:flex}.today{color:#8b98a9;align-items:center;gap:7px;font-size:10px;display:flex}.today strong{color:#617389;font-weight:500}.secondary{color:#5f7288;background:#fff;border:1px solid #dce3eb;border-radius:6px;align-items:center;gap:7px;padding:9px 12px;font-size:10px;font-weight:500;display:inline-flex}.primary{background:var(--blue);color:#fff;border-radius:6px;align-items:center;gap:7px;padding:10px 15px;font-size:12px;display:inline-flex}.overview{grid-template-columns:1.23fr 1fr 1fr 1fr;gap:15px;margin-bottom:20px;display:grid}.overview>div{border:1px solid var(--border);background:#fff;border-radius:9px;align-items:center;min-height:97px;padding:19px;display:flex;position:relative}.overview-primary{gap:12px;background:#eef8f4!important;border-color:#dceee5!important}.overview-icon{color:#3eaa83;background:#dcefe7;border-radius:50%;place-items:center;width:45px;height:45px;display:grid}.overview small{color:#7d8e9c;font-size:10px;display:block}.overview strong{letter-spacing:-.8px;margin-top:7px;font-size:24px;font-weight:650;line-height:1.1;display:block}.overview-primary strong{color:#329570;font-size:22px}.overview-primary strong>span{color:#81a192;letter-spacing:0;margin-top:7px;font-size:9px;font-weight:400;display:block}.overview-score{text-align:right;border-left:1px solid #d7e8df;margin-left:auto;padding-left:20px}.overview-score b{color:#329570;font-size:28px;font-weight:600;line-height:1;display:block}.overview-score b small{color:inherit;margin-left:2px;font-size:13px;display:inline}.overview-score>span{color:#81a192;margin-top:9px;font-size:8px;display:block}.overview-item{gap:14px}.mini-icon{border-radius:10px;place-items:center;width:43px;height:43px;display:grid}.blue{color:#5684e6;background:#f0f5ff}.amber{color:#e6a145;background:#fff7eb}.purple{color:#8c7cd4;background:#f4f1fb}.overview strong em{color:#9ba8b8;letter-spacing:0;margin-left:6px;font-size:12px;font-style:normal;font-weight:400}.overview-note,.warning-note{color:#91a0ae;font-size:9px;position:absolute;bottom:22px;right:16px}.warning-note{color:#d59443;background:#fff5e8;border-radius:4px;padding:4px 6px}.panel{border:1px solid var(--border);background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 3px #233b5703}.panel-heading{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;height:53px;padding:0 19px;display:flex}.panel-title{align-items:center;gap:9px;display:flex}.panel-title>svg{color:#768da6}.panel-title h2{letter-spacing:-.2px;font-size:12px}.panel-title h2>span{color:#8b98a8;margin-left:3px;font-size:11px;font-weight:400}.subtle-badge{color:#4774c6;background:#edf3ff;border:1px solid #dce7fd;border-radius:4px;padding:2px 6px;font-size:10px}.version-label{color:#8e9bac;letter-spacing:.1px;margin-left:8px;font-size:9px}.version-label span{margin:0 6px}.viewer-actions{align-items:center;gap:13px;display:flex}.demo-badge{color:#8b9eb3;letter-spacing:.7px;background:#f3f6fa;border:1px solid #e1e7ef;border-radius:4px;align-items:center;gap:6px;padding:4px 7px;font-size:8px;font-weight:600;display:flex}.demo-badge.aps{color:#326be8}.viewer-topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:56px;padding:10px 19px;display:flex}.metric-tabs{gap:6px;display:flex}.metric-tabs button{color:#7c8b9e;background:#f4f6f9;border:1px solid #e9edf2;border-radius:5px;min-width:60px;padding:8px 16px;font-size:10px;font-weight:550;line-height:1}.metric-tabs button.active{color:#fff;background:#326be8;border-color:#326be8;box-shadow:0 2px 4px #326be829}.viewer-topbar-right{align-items:center;gap:11px;display:flex}select{color:#78899e;background:#fff;border:1px solid #e0e6ee;border-radius:5px;padding:6px 9px;font-size:10px}.viewer-topbar-right select{color:#5e8c7e}.viewer-stage{background:#edf2f5;height:clamp(430px,47vh,580px);position:relative;overflow:hidden}.canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.view-breadcrumb{color:#889aaa;pointer-events:none;align-items:center;gap:7px;font-size:9px;display:flex;position:absolute;top:18px;left:20px}.view-breadcrumb>strong{color:#627a91;font-weight:600}.view-breadcrumb>span{color:#9bafbd;margin:0 3px}.view-cube{pointer-events:none;width:44px;height:40px;position:absolute;top:33px;right:30px}.view-cube>div{color:#91a5b8;background:#fff9;border:1px solid #bfcfda;place-items:center;width:37px;height:37px;font-size:9px;display:grid;transform:rotate(-30deg)skew(20deg);box-shadow:-8px 8px #d9e3e9,-9px 9px #b9cbd8}.view-cube>span{color:#91a5b8;margin:18px 14px;font-size:9px;display:block}.view-mode{background:#f8fbfce8;border:1px solid #d7e1e8;border-radius:5px;gap:2px;padding:3px;display:flex;position:absolute;top:48px;left:20px}.view-mode button{color:#8799a8;border-radius:3px;padding:4px 9px;font-size:9px}.view-mode button.active{color:#4279d3;background:#fff;box-shadow:0 1px 3px #3d5f7922}.room-label{color:#536b7e;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;background:#ffffffb9;border:1px solid #ffffffb9;border-radius:3px;padding:3px 6px;font-size:9px;display:block}.room-label.chosen{color:#3869b2;background:#edf4ff}.sensor-pin{--pin-color:#22b58b;background:var(--pin-color);color:#fff;border:3px solid #fff;border-radius:50% 50% 50% 0;place-items:center;width:25px;height:25px;display:grid;position:relative;transform:rotate(-45deg);box-shadow:-2px 3px 5px #2a496437}.sensor-pin svg{transform:rotate(45deg)}.sensor-pin.selected{scale:1.13;box-shadow:0 0 0 5px #fff7,-2px 3px 5px #2a496447}.sensor-pin:hover{scale:1.2}.sensor-popup{z-index:30;background:#fffffff5;border:1px solid #fff;border-radius:9px;width:236px;padding:15px 14px 0;position:absolute;top:118px;right:23px;box-shadow:0 8px 30px #24415820}.popup-title{align-items:center;gap:9px;display:flex}.popup-icon{color:#dd9844;background:#fff3e4;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.popup-title strong{font-size:13px;display:block}.popup-title small{color:#8da0af;margin-top:4px;font-size:9px;display:block}.popup-title>.icon-button{align-self:flex-start;width:20px;height:20px;margin-left:auto}.popup-metrics{border-bottom:1px solid #edf0f3;grid-template-columns:1fr 1fr;gap:13px 10px;padding:18px 0 13px;display:grid}.popup-metrics label{color:#8b9bae;margin-bottom:5px;font-size:9px;display:block}.popup-metrics strong{letter-spacing:-.4px;font-size:14px;font-weight:600}.popup-metrics strong small{color:#9ca9b6;font-size:8px;font-weight:400}.popup-metrics .emphasis strong{color:#df9450}.popup-status{color:#8192a5;justify-content:space-between;align-items:center;padding:12px 0;font-size:10px;display:flex}.status{white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:4px 6px;font-size:9px;display:inline-flex}.status>i{border-radius:50%;width:4px;height:4px;display:inline-block}.detail-button{color:#5280c9;background:#f6f9fe;border-top:1px solid #eaf0f7;border-radius:0 0 9px 9px;justify-content:center;align-items:center;gap:12px;width:calc(100% + 28px);margin:0 -14px;padding:11px;font-size:10px;display:flex}.viewer-tools{background:#fff;border:1px solid #e0e7ee;border-radius:7px;gap:1px;padding:3px;display:flex;position:absolute;bottom:23px;left:20px;box-shadow:0 2px 7px #3f5d7510}.viewer-tools button{color:#7c90a4;border-radius:4px;place-items:center;width:33px;height:33px;display:grid}.viewer-tools button:nth-child(3),.viewer-tools button:nth-child(5){border-left:1px solid #e5eaf0;margin-left:4px;padding-left:3px}.viewer-tools button:hover,.pressed{color:#4779cb!important;background:#edf3fd!important}.heat-legend{background:#fffffff5;border:1px solid #fff;border-radius:7px;width:278px;padding:12px 14px;position:absolute;bottom:23px;right:23px;box-shadow:0 2px 7px #3f5d7510}.heat-legend>div:first-child{align-items:center;gap:6px;font-size:10px;display:flex}.heat-legend strong{color:#63778c;font-weight:550}.heat-legend small{color:#96a6b5;font-size:8px}.heat-legend>div:first-child>span{color:#9aabbb;letter-spacing:.5px;margin-left:auto;font-size:7px}.legend-bar{background:linear-gradient(90deg,#2dae9c,#71cc95,#e0d465,#f4a44b,#ec5e48);border-radius:2px;height:7px;margin:10px 0 6px}.legend-values{color:#8a9cad;justify-content:space-between;font-size:8px;display:flex}.legend-labels{color:#8a9cad;justify-content:space-between;margin-top:6px;font-size:8px;display:flex}.viewer-hint{color:#9cacb9;white-space:nowrap;font-size:8px;position:absolute;bottom:33px;left:50%;transform:translate(-50%)}.viewer-hint span{margin:0 6px}.viewer-footer{color:#8a9bad;border-top:1px solid #e5ebf1;justify-content:space-between;align-items:center;height:33px;padding:0 19px;font-size:8px;display:flex}.viewer-footer>span{align-items:center;gap:6px;display:flex}.viewer-footer .dot{width:4px;height:4px}.footer-divider{color:#e0e6ec;margin:0 5px}.aps-label{letter-spacing:.7px;color:#9ba8b5;font-size:7px}.aps-label b{color:#73879b;font-size:8px}.bottom-grid{grid-template-columns:1.1fr 1fr;gap:18px;margin-top:19px;display:grid}.count-badge{color:#7d8fa6;background:#f0f4f8;border-radius:4px;padding:2px 5px;font-size:9px}.event-table{border-collapse:collapse;text-align:left;width:100%;font-size:10px}.event-table th{color:#92a0b1;background:#fbfcfd;border-bottom:1px solid #edf1f5;padding:10px 12px;font-size:9px;font-weight:400}.event-table th:first-child,.event-table td:first-child{padding-left:19px}.event-table td{color:#71849a;white-space:nowrap;border-bottom:1px solid #f0f3f6;padding:10px 12px}.event-table td:nth-child(3){color:#5f7289;text-overflow:ellipsis;max-width:280px;font-size:10px;overflow:hidden}.event-table tbody tr{cursor:pointer}.event-table tbody tr:hover{background:#f5f8ff}.event-table td:first-child{color:#91a0b0;font-variant-numeric:tabular-nums;font-size:10px}.event-table td:last-child{color:#9cacbc;padding:10px 8px}.event-table-wrap{height:205px;overflow:auto}.events-panel.expanded .event-table-wrap{height:590px}.panel-bottom{color:#9ba8b7;background:#fcfdfe;border-top:1px solid #edf1f5;align-items:center;gap:6px;padding:12px 19px;font-size:8px;display:flex}.panel-bottom .dot{width:4px;height:4px}.panel-bottom button{color:#7d91aa;align-items:center;gap:5px;margin-left:auto;display:flex}.kpi-grid{grid-template-columns:repeat(3,1fr);display:grid}.kpi{border-bottom:1px solid #eef1f5;border-right:1px solid #eef1f5;height:121px;padding:15px 20px;position:relative;overflow:hidden}.kpi:nth-child(3n){border-right:0}.kpi:nth-child(n+4){border-bottom:0}.kpi-label{color:#8191a4;align-items:center;gap:6px;font-size:10px;display:flex}.kpi-label>i{border-radius:50%;width:5px;height:5px}.kpi-value{color:#344b65;letter-spacing:-.7px;margin-top:9px;font-size:24px;font-weight:600}.kpi-value small{color:#98a6b6;letter-spacing:0;margin-left:2px;font-size:9px;font-weight:400}.kpi-change{align-items:center;gap:2px;margin-top:8px;font-size:8px;display:flex}.kpi-change.up{color:#dca264}.kpi-change.down{color:#56af9a}.sparkline{width:42%;height:27px;position:absolute;bottom:12px;right:13px}.app-footer{color:#a5b0bd;justify-content:space-between;align-items:center;padding:20px 0;font-size:8px;display:flex}.app-footer>span{align-items:center;gap:10px;display:flex}.app-footer i{background:#b2bdc9;border-radius:50%;width:2px;height:2px}.view-options{z-index:35;border:1px solid var(--border);background:#fff;border-radius:8px;width:213px;padding:16px;position:absolute;top:12px;right:90px;box-shadow:0 6px 24px #28476724}.view-options>strong{margin-bottom:12px;font-size:11px;display:block}.toggle-row{color:#7e8ea2;justify-content:space-between;align-items:center;width:100%;padding:7px 0;font-size:10px;display:flex}.switch{background:#ccd5e1;border-radius:20px;width:26px;height:15px;position:relative}.switch:before{content:"";background:#fff;border-radius:50%;width:11px;height:11px;position:absolute;top:2px;left:2px}.switch.on{background:#4b80ea}.switch.on:before{left:13px}.opacity-label{color:#8292a6;justify-content:space-between;margin:13px 0 5px;font-size:10px;display:flex}.view-options input[type=range]{accent-color:#326be8;width:100%}.view-options select{width:100%;margin-top:4px}.viewer-message{color:#8194a7;z-index:40;text-align:center;background:#edf2f5e8;justify-content:center;align-items:center;padding:40px;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.empty-floor{color:#7f91a4;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;display:flex}.empty-floor p{font-size:11px}.drawer-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#13263c44;justify-content:flex-end;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.drawer{background:#fff;width:460px;height:100%;padding:28px;overflow:auto;box-shadow:-10px 0 40px #19314d20}.drawer-heading{border-bottom:1px solid #e9eef4;justify-content:space-between;padding-bottom:21px;display:flex}.drawer-heading small{letter-spacing:1.9px;color:#6990c5;font-size:9px}.drawer-heading h2{margin-top:12px;font-size:25px}.drawer-heading p{color:#94a2b3;margin-top:7px;font-size:11px}.drawer-status{justify-content:space-between;align-items:center;margin:21px 0;display:flex}.drawer-status>span:first-child{color:#657d98;align-items:center;gap:9px;font-size:12px;display:flex}.drawer-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.drawer-stats button{text-align:left;background:#fafdff;border:1px solid #e3eaf1;border-radius:8px;padding:12px}.drawer-stats button.active{background:#f4f8ff;border-color:#6891dc}.drawer-stats small{color:#8b9baf;margin-bottom:7px;font-size:10px;display:block}.drawer-stats strong{font-size:18px;font-weight:550;display:block}.drawer-stats em{color:#9eacbb;margin-left:5px;font-size:8px;font-style:normal}.drawer h3{justify-content:space-between;align-items:center;margin:26px 0 12px;font-size:12px;display:flex}.drawer h3 span{color:#95a4b5;font-size:9px;font-weight:400}.drawer-chart{height:170px}.drawer dl{margin:0}.drawer dl>div{border-bottom:1px solid #f0f3f6;justify-content:space-between;align-items:center;gap:15px;padding:11px 0;font-size:10px;display:flex}.drawer dt{color:#8c9aab;white-space:nowrap}.drawer dd{color:#506882;overflow-wrap:anywhere;text-align:right;margin:0}.drawer-events>div{color:#6f8199;align-items:center;gap:10px;padding:10px 0;font-size:10px;display:flex}.drawer-events small{color:#99a7b6;margin-top:5px;font-size:9px;display:block}.settings-grid{grid-template-columns:1.25fr 1fr;gap:20px;display:grid}.settings-card{padding:25px}.settings-card>h2{margin-bottom:15px;font-size:16px}.settings-card p{margin:12px 0 20px;font-size:11px;line-height:1.9}.settings-card .metric-tabs{margin-top:23px}.threshold-fields{grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0;display:grid}.threshold-fields label{color:#7d8da3;font-size:11px}.threshold-fields input,.settings-card input{border:1px solid #dfe6ef;border-radius:6px;width:100%;margin:8px 0;padding:10px;font-size:15px;display:block}.threshold-fields small{color:#a0aebc}.connection-row{border-bottom:1px solid #eef1f5;justify-content:space-between;gap:20px;padding:20px 0;font-size:11px;display:flex}.connection-row span{color:#91a0b2}.connection-row strong{text-align:right;overflow-wrap:anywhere;font-weight:500}.management{min-height:420px}.room-grid{grid-template-columns:repeat(4,1fr);gap:18px;padding:25px;display:grid}.room-card{text-align:left;background:#fafcfe;border:1px solid #e1e8f0;border-radius:8px;padding:25px}.room-card>svg{color:#8ba7c8}.room-card h3{margin-top:20px}.room-card p{color:#93a2b4;margin-top:8px;font-size:11px}.room-card small{color:#a4b0c0;margin-top:5px;font-size:9px;display:block}.room-card span{color:#5684cc;align-items:center;gap:6px;margin-top:20px;font-size:10px;display:flex}.management-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.management-table th{color:#8e9fb3;background:#f8fafc;padding:15px 22px;font-size:10px;font-weight:500}.management-table td{color:#6b819a;border-top:1px solid #ecf0f5;padding:15px 22px}.management-table td>svg{vertical-align:middle;margin-right:5px;display:inline}.mapping-note{color:#8b9db0;align-items:center;gap:8px;padding:20px;font-size:11px;display:flex}.analytics{gap:20px;display:grid}.analytics>.secondary{justify-self:start}.analysis-panel .metric-tabs{margin-bottom:12px;margin-left:24px}.analysis-intro{color:#93a3b6;align-items:center;gap:12px;padding:20px 25px;font-size:10px;display:flex}.analysis-chart{height:310px;padding:10px 25px}.analysis-summary{border-top:1px solid #eaf0f6;margin-top:10px;padding:25px;display:flex}.analysis-summary>div{border-right:1px solid #e7edf4;flex:1;padding-left:25px}.analysis-summary>div:last-child{border:0}.analysis-summary small{color:#8c9fb5;font-size:10px;display:block}.analysis-summary strong{margin-top:10px;font-size:23px;font-weight:550;display:block}.empty-table{text-align:center;color:#9aabba;flex-direction:column;align-items:center;gap:12px;padding:35px;font-size:11px;display:flex}.empty-table svg{color:#66aa98}.empty-table small{font-size:9px}.loading-panel{color:#8b9db4;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:500px;display:flex}.error-banner{color:#b68640;background:#fff5e7;border:1px solid #eddbc1;border-radius:6px;margin-bottom:14px;padding:12px}.spin{animation:2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.fatal{padding:60px}.fatal p{margin:20px 0}.viewer-panel:fullscreen{flex-direction:column;display:flex}.viewer-panel:fullscreen .viewer-stage{flex:1;height:auto}.aps-container{position:absolute;top:0;right:0;bottom:0;left:0}.aps-error{text-align:center;background:#eff3f7;flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:50px;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.aps-error h3{font-size:17px}.aps-error p{color:#8396ab;max-width:420px;font-size:12px;line-height:1.8}.aps-error code{background:#fff;border:1px solid #dce5ee;border-radius:5px;padding:8px 14px;font-size:11px}.aps-error~.view-breadcrumb{display:none}@media(min-width:1800px){.sidebar{width:254px;padding-left:19px;padding-right:19px}main{padding:25px 30px 0}.global-header{height:78px}.brand{min-width:273px}.global-header>nav{gap:35px}.search-wrap{width:305px}.viewer-stage{height:510px}.overview>div{min-height:104px}.page-heading{margin-bottom:24px}.bottom-grid{grid-template-columns:1.08fr 1fr}.event-table td{padding-top:12px;padding-bottom:12px}.event-table-wrap{height:225px}.kpi{height:131px}.sidebar .sensor-list{max-height:310px}.sensor-list button{padding:10px}.view-breadcrumb,.room-label{font-size:10px}.sensor-popup{width:253px;top:122px;right:28px}.popup-metrics{gap:18px 12px}.popup-metrics strong{font-size:16px}.popup-title strong{font-size:14px}.sensor-pin{width:28px;height:28px}.global-header>nav button{font-size:13px}.overview small{font-size:11px}.overview-note,.warning-note{font-size:10px}.side-nav button,.floor-list button{font-size:12px}}@media(max-width:1450px){.global-header{gap:22px;padding:0 18px}.brand{min-width:222px;font-size:14px}.global-header>nav{gap:19px}.header-right{gap:12px}.search-wrap{width:213px}.profile>div{display:none}.profile{padding-left:12px}.sidebar{width:211px}main{padding-left:20px;padding-right:20px}.page-heading h1{font-size:23px}.today{display:none}.overview>div{padding:16px 12px}.overview-note{display:none}.overview-score{padding-left:12px}.overview-primary{gap:8px}.overview-icon{width:36px;height:36px}.overview-primary strong{font-size:20px}.overview-score b{font-size:25px}.viewer-hint{display:none}.metric-tabs button{min-width:53px;padding:8px 12px}.event-table td{padding:11px 9px}.event-table td:nth-child(3){max-width:205px;font-size:9px}.event-table td:nth-child(4){font-size:9px}.event-table th{padding:10px 9px}.kpi{padding:15px}.kpi-value{font-size:22px}.version-label{font-size:8px}.room-grid{grid-template-columns:repeat(3,1fr)}}.global-header{height:68px}.app-shell{height:calc(100vh - 68px);min-height:0}.sidebar{height:100%;min-height:0;padding-top:15px;overflow:hidden}.workspace-name{padding-bottom:12px}.building-art{height:66px}.building-card{padding-bottom:10px}.side-section-label{padding-top:16px;padding-bottom:8px}.side-nav button{padding:9px 12px}.side-divider{margin-top:12px}.side-divider+.side-section-label{padding-top:13px}.floor-list button{height:25px;padding-top:4px;padding-bottom:4px}.sensor-list{flex:1;min-height:55px;max-height:none!important}.sensor-list button{padding-top:7px;padding-bottom:7px}.sidebar-bottom{margin-top:10px;padding:12px 8px}.sidebar-bottom small{font-size:7px}main{height:100%;padding-top:17px;overflow-y:auto}.page-heading{margin:12px 0 16px}.page-heading h1{font-size:24px}.page-heading p{margin-top:5px}.overview{gap:14px;margin-bottom:16px}.overview>div{min-height:87px;padding-top:14px;padding-bottom:14px}.overview strong{font-size:23px}.overview-primary strong{font-size:21px}.overview-primary strong>span{margin-top:5px}.overview-note,.warning-note{bottom:18px}.viewer-topbar{height:48px}.viewer-stage{height:clamp(345px,33vh,425px)}.viewer-footer{height:29px}.bottom-grid{gap:16px;margin-top:15px}.bottom-grid .panel-heading{height:45px}.event-table-wrap{height:164px}.event-table td{padding-top:9px;padding-bottom:9px}.panel-bottom{padding-top:10px;padding-bottom:10px}.kpi{height:100px;padding:12px 18px}.kpi-value{margin-top:6px;font-size:22px}.kpi-change{margin-top:6px}.sparkline{height:24px;bottom:11px}.app-footer{padding:13px 0}.sensor-popup{width:230px;padding:12px 13px 0;top:53px}.popup-metrics{gap:10px;padding:12px 0 10px}.popup-metrics strong{font-size:14px}.popup-title strong{font-size:12px}.popup-status{padding:9px 0}.detail-button{width:calc(100% + 26px);margin:0 -13px;padding:10px}.heat-legend{width:245px;padding:10px 12px;bottom:17px;right:20px}.viewer-stage:has(.sensor-popup) .heat-legend{right:275px}.viewer-tools{bottom:17px}.viewer-hint{display:none}.room-label{font-size:9px}.sensor-pin{width:25px;height:25px}.room-label.chosen{border-color:#aac7f3}.view-cube{top:26px}.version-label{white-space:nowrap;text-overflow:ellipsis;max-width:330px;overflow:hidden}@media(max-height:900px){.sidebar .building-art{height:46px}.side-nav button{padding-top:7px;padding-bottom:7px}.floor-list button{height:22px}.side-section-label{padding-top:10px}.sidebar .sensor-list{min-height:80px}.sidebar-bottom{display:none}.viewer-stage{height:360px}}.aps-container .docking-panel[id^=LevelsPanel-]{height:280px;max-height:calc(100% - 92px)!important;top:16px!important;left:auto!important;right:16px!important}.floor-list{flex-shrink:0;max-height:225px;overflow-y:auto}.aps-status{z-index:25;color:#436179;pointer-events:none;background:#fffe;border:1px solid #d6e0e8;border-radius:6px;max-width:65%;padding:6px 9px;font-size:11px;position:absolute;top:48px;left:18px}.viewer-stage .view-breadcrumb,.viewer-stage .view-mode,.viewer-stage .view-options,.viewer-stage .viewer-tools,.viewer-stage .heat-legend{z-index:30}.viewer-stage .sensor-popup{z-index:35}.aps-container .docking-panel[id^=LevelsPanel-]{z-index:40}.aps-sensor-label{white-space:nowrap;text-overflow:ellipsis;color:#29425d;background:#fffd;border-radius:3px;max-width:100px;margin-top:4px;padding:1px 3px;font-size:9px;display:block;overflow:hidden}.viewer-stage .aps-status{max-width:72%;top:82px}.viewer-stage:has(.aps-container) .viewer-tools{flex-direction:column;gap:0;bottom:80px;left:16px}.viewer-stage:has(.aps-container) .viewer-tools button{border:0}.viewer-stage:has(.aps-container) .heat-legend{bottom:84px}.dashboard-kpis{margin-bottom:18px}.dashboard-kpis .kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-kpis .panel-heading{height:36px}.dashboard-kpis .kpi{border-bottom:0;border-right:1px solid #edf0f4;height:98px;padding:12px 16px}.dashboard-kpis .kpi:last-child{border-right:0}.dashboard-workspace{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.dashboard-workspace .viewer-stage{height:clamp(560px,62vh,760px)}.dashboard-workspace .viewer-panel{min-width:0;margin:0}.dashboard-workspace .version-label{max-width:220px}.dashboard-workspace .viewer-footer{font-size:9px}.dashboard-workspace .viewer-topbar{flex-wrap:wrap;gap:10px;height:auto;min-height:62px;padding:12px}.insight-rail{flex-direction:column;gap:16px;min-width:0;max-height:calc(clamp(560px,62vh,760px) + 148px);padding-right:2px;display:flex;overflow-y:auto}.insight-rail>.panel{flex-shrink:0}.scope-summary{padding:18px}.scope-heading>span{letter-spacing:1.5px;color:#879ab2;font-size:9px}.scope-heading h2{margin:7px 0 18px;font-size:17px}.scope-counts{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.scope-counts>span{color:#8595a6;font-size:10px}.scope-counts b{color:#25425d;margin-bottom:6px;font-size:24px;display:block}.scope-counts b small{color:#9aabba;font-size:12px}.scope-counts>span:nth-child(2) b{color:#e18b42}.selection-guide{color:#6886a5;background:#f9fbff;padding:24px 20px}.selection-guide h3{color:#3d5672;margin:14px 0 10px;font-size:14px}.selection-guide p{margin:0;font-size:12px;line-height:1.8}.insight-rail .event-table th:nth-child(4),.insight-rail .event-table td:nth-child(4),.insight-rail .event-table th:last-child,.insight-rail .event-table td:last-child{display:none}.insight-rail .event-table th,.insight-rail .event-table td{white-space:normal;padding:12px 8px}.insight-rail .event-table td:nth-child(3){max-width:155px;font-size:11px}.insight-rail .panel-heading{padding:0 12px}.insight-rail .panel-heading h2{font-size:13px}.insight-rail .event-table-wrap{height:245px}.insight-rail .panel-title{gap:6px}.embedded-drawer{width:100%;height:auto;box-shadow:none;padding:18px;overflow:visible}.embedded-drawer .drawer-heading h2{font-size:20px}.embedded-drawer .drawer-heading{padding-bottom:14px}.embedded-drawer .drawer-status{margin:14px 0}.embedded-drawer .drawer-stats{gap:5px}.embedded-drawer .drawer-stats button{padding:9px 6px}.embedded-drawer .drawer-stats strong{font-size:16px}.embedded-drawer .drawer-stats em{margin:4px 0 0;display:block}.embedded-drawer .drawer-chart{height:155px}.floor-overview{z-index:25;background:#fffffff0;border:1px solid #dbe5ed;border-radius:10px;width:206px;padding:9px;position:absolute;top:118px;bottom:90px;left:18px;overflow-y:auto;box-shadow:0 4px 16px #193e6110}.floor-overview-title{color:#36516d;padding:6px 4px 12px;font-size:12px;font-weight:600}.floor-overview-title small{color:#90a0b2;margin-top:5px;font-size:10px;font-weight:400;display:block}.floor-overview button{text-align:left;background:0 0;border:0;border-top:1px solid #edf1f5;align-items:center;gap:7px;width:100%;padding:10px 3px;display:flex}.floor-overview button:hover{background:#edf5ff}.floor-overview button>i{background:var(--floor-color);border-radius:3px;flex-shrink:0;width:5px;height:24px}.floor-overview button strong{min-width:32px;font-size:12px}.floor-overview button>span{flex:1;font-size:12px}.floor-overview button small{color:#94a3b4;font-size:8px;display:block}.floor-overview button em{color:var(--floor-color);font-size:9px;font-style:normal}.floor-overview p{padding:10px;font-size:12px;line-height:1.7}.warning-filter{z-index:31;color:#536d87;background:#fffffff0;border:1px solid #dce5ee;border-radius:6px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;display:flex;position:absolute;top:16px;right:18px}.warning-filter input{accent-color:#3478ed}.viewer-stage:has(.floor-overview) .viewer-tools{left:auto;right:18px}.viewer-stage:has(.floor-overview) .view-breadcrumb{max-width:65%}@media(min-width:1600px){.dashboard-workspace{grid-template-columns:minmax(0,1fr) 350px;gap:22px}}@media(max-width:1450px){.dashboard-workspace{grid-template-columns:minmax(0,1fr) 300px;gap:14px}.dashboard-workspace .version-label{display:none}.dashboard-kpis .kpi-value{font-size:20px}.dashboard-kpis .kpi{padding:12px}.dashboard-workspace .viewer-footer>span:last-child{display:none}.dashboard-workspace .viewer-stage{height:580px}.floor-overview{width:182px}.insight-rail{max-height:760px}}.insight-rail .floor-overview{width:100%;max-height:none;box-shadow:none;flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;padding:12px;display:grid;position:static}.insight-rail .floor-overview-title,.insight-rail .floor-overview>p{grid-column:1/-1}.insight-rail .floor-overview button{flex-wrap:wrap;gap:5px;padding:10px 3px 18px;position:relative}.insight-rail .floor-overview button strong{min-width:26px;font-size:11px}.insight-rail .floor-overview button>span{font-size:11px}.insight-rail .floor-overview button em{position:absolute;bottom:3px;left:15px}.insight-rail .floor-overview button>i{height:30px}.event-room-context{display:none}.insight-rail .event-room-context{color:#96a4b4;margin-top:5px;font-size:10px;display:block}.sidebar-help{color:#8fa5bd;padding:8px;font-size:12px;line-height:1.8}.dashboard-workspace .viewer-topbar .metric-tabs{gap:4px}.dashboard-workspace .viewer-topbar .metric-tabs button{min-width:45px;padding:8px 10px}.dashboard-workspace .viewer-topbar-right{gap:5px}@media(max-width:1280px){body{min-width:1180px}.app-shell main{padding-left:18px;padding-right:18px}.dashboard-workspace .viewer-topbar .metric-tabs button{min-width:39px;padding:8px 6px}.dashboard-workspace .viewer-topbar-right select{max-width:120px}.dashboard-workspace .viewer-footer{font-size:8px}.dashboard-kpis .kpi-value{font-size:18px}.dashboard-kpis .kpi-value small{font-size:8px}}.visualization-help{color:#8093a8;max-width:210px;margin:8px 0;font-size:11px;line-height:1.7}.neulpum-brand{color:inherit;text-decoration:none}.neulpum-brand .brand-mark{object-fit:contain;flex-shrink:0;width:40px;height:40px}.neulpum-brand small{text-transform:none;letter-spacing:.5px;font-size:11px}.neulpum-brand:focus-visible{outline-offset:5px;border-radius:8px;outline:2px solid #3478ed}.side-section-label select{color:#aec6de;background:#21384e;border:1px solid #3a536b;border-radius:4px;padding:4px;font-size:10px}.heat-representation{z-index:30;background:#fffe;border:1px solid #dce5ee;border-radius:5px;gap:2px;padding:3px;display:flex;position:absolute;top:48px;left:92px}.heat-representation button{color:#8393a4;border-radius:3px;padding:5px 9px;font-size:10px}.heat-representation button.active{color:#3278df;background:#eaf2ff}.report-export-error{color:#c44b4b;font-size:12px}.report-note{color:#8194aa;font-size:11px;line-height:1.7}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
