:root{--surface-canvas: #f7f9fc;--surface-panel: #ffffff;--surface-subtle: #f1f5fa;--surface-sunk: #ecf1f7;--border-default: #e7ecf3;--border-strong: #d5dde8;--text-primary: #141c28;--text-secondary: #54616f;--text-tertiary: #8a95a4;--text-inverse: #ffffff;--brand-primary: #145c72;--brand-primary-hover: #0f4a5e;--brand-accent: #2ca6a4;--brand-trust: #173a4e;--status-critical: #c62828;--status-high: #a94f0a;--status-medium: #b7791f;--status-info: #3c6e91;--status-success: #2e7d32;--status-offline: #697386;--critical-soft: #fbeaea;--high-soft: #fbf1e6;--medium-soft: #fbf5e6;--info-soft: #eaf1f7;--success-soft: #e7f2e8;--accent-soft: #e1f2f1;--brand-soft: #e4edf1;--grad-brand: linear-gradient(135deg, #3cc6be, #145c72);--topbar-bg: rgba(255, 255, 255, .82);--topbar-border: var(--border-default);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .05);--shadow-md: 0 4px 16px rgba(16, 24, 40, .07), 0 2px 6px rgba(16, 24, 40, .04);--shadow-overlay: 0 18px 50px rgba(20, 28, 40, .18);--radius-sm: 7px;--radius-md: 9px;--radius-lg: 13px;--radius-xl: 18px;--radius-pill: 999px;--font: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-brand: "Space Grotesk", "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace;color:var(--text-primary);background:var(--surface-canvas);font-family:var(--font)}.reportFeaturePage{gap:18px}.manualFormLayout,.smtpSettingsLayout{display:grid;gap:16px;grid-template-columns:minmax(220px,.34fr) minmax(0,1fr)}.reportSourcePanel,.reportFormPanel,.reportGenerator,.reportSendPanel{min-width:0}.reportSourceList{display:grid;gap:4px;margin-top:12px}.reportSourceList>button{background:transparent;border-left:3px solid transparent;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:11px 12px;text-align:left}.reportSourceList>button:hover,.reportSourceList>button.active{background:var(--surface-subtle);border-left-color:var(--brand-accent)}.reportSourceList strong{font-size:13px}.reportSourceList span,.formDescription{color:var(--text-secondary);font-size:12px}.reportPeriodGrid,.reportFieldGrid,.reportSendGrid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.reportPeriodGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.reportFieldGrid{margin-top:18px}.reportHistoryTable,.reportRunsTable{min-height:150px}.reportSuccess,.reportProgress{align-items:center;border-radius:var(--radius-sm);display:flex;gap:10px;margin:0;padding:11px 14px}.reportSuccess{background:var(--success-soft);color:var(--status-success);font-size:13px}.reportProgress{background:var(--info-soft);color:var(--status-info)}.reportProgressDetail{align-self:start;justify-self:start;max-width:100%;width:fit-content}.reportProgress span{display:flex;flex-direction:column;gap:2px}.reportProgress strong{font-size:13px}.reportProgress small{color:var(--text-secondary);font-size:11px}.spin{animation:reportSpin .9s linear infinite}@keyframes reportSpin{to{transform:rotate(360deg)}}.reportSourceGrid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.reportSourceGrid>article{border:1px solid var(--border-default);border-radius:var(--radius-sm);min-width:0;padding:12px;position:relative}.reportSourceGrid>article:focus-within{z-index:5}.reportSourceGrid>article.selected{border-color:var(--brand-accent);box-shadow:0 0 0 1px var(--brand-accent)}.reportSourceToggle{align-items:center;background:transparent;color:var(--text-primary);cursor:pointer;display:flex;gap:10px;padding:0;text-align:left;width:100%}.reportSourceToggle>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}.reportSourceToggle strong{font-size:13px;overflow-wrap:anywhere}.reportSourceToggle small,.reportScopeField>span{color:var(--text-secondary);font-size:11px}.reportCheck{align-items:center;border:1px solid var(--border-strong);border-radius:4px;display:inline-flex;flex:0 0 20px;height:20px;justify-content:center}.selected .reportCheck{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--text-inverse)}.reportScopeField{display:grid;gap:5px;margin-top:12px}.reportScopePicker{min-width:0;position:relative}.reportScopeTrigger{align-items:center;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font:inherit;font-size:12px;gap:8px;justify-content:space-between;min-height:38px;min-width:0;padding:0 10px;text-align:left;width:100%}.reportScopeTrigger:hover,.reportScopeTrigger[aria-expanded=true]{border-color:var(--brand-accent);box-shadow:var(--focus-ring)}.reportScopeTrigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reportScopeTrigger svg{flex:0 0 auto;transition:transform .14s ease}.reportScopeTrigger[aria-expanded=true] svg{transform:rotate(180deg)}.reportScopeMenu{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-overlay);left:0;min-width:250px;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);z-index:40}.reportScopeMenu>header{align-items:center;background:var(--surface-subtle);border-bottom:1px solid var(--border-default);display:flex;gap:8px;justify-content:space-between;min-height:38px;padding:7px 9px}.reportScopeMenu>header>span{color:var(--text-secondary);font-size:10.5px;font-weight:700}.reportScopeMenu>header>div{display:flex;gap:3px}.reportScopeMenu>header button{background:transparent;border-radius:4px;color:var(--brand-primary);cursor:pointer;font-size:10.5px;font-weight:700;padding:4px 6px}.reportScopeMenu>header button:hover{background:var(--brand-soft)}.reportScopeOptions{display:grid;max-height:260px;overflow-y:auto;padding:5px}.reportScopeOptions>button{align-items:center;background:transparent;border-radius:5px;color:var(--text-primary);cursor:pointer;display:flex;gap:8px;min-height:42px;padding:6px 8px;text-align:left;width:100%}.reportScopeOptions>button:hover,.reportScopeOptions>button.selected{background:var(--surface-subtle)}.reportScopeOptions>button>span:last-child{display:grid;gap:2px;min-width:0}.reportScopeOptions strong,.reportScopeOptions small{overflow-wrap:anywhere}.reportScopeOptions strong{font-size:11.5px}.reportScopeOptions small{color:var(--text-secondary);font-size:10px;text-transform:capitalize}.reportScopeCheck{align-items:center;border:1px solid var(--border-strong);border-radius:4px;display:inline-flex;flex:0 0 18px;height:18px;justify-content:center}.reportScopeOptions>button.selected .reportScopeCheck{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--text-inverse)}.reportRunStatus{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:11px;font-weight:600;gap:5px;padding:4px 8px;text-transform:capitalize}.reportRunStatus-queued,.reportRunStatus-rendering,.reportRunStatus-sending{background:var(--info-soft);color:var(--status-info)}.reportRunStatus-completed,.reportRunStatus-sent{background:var(--success-soft);color:var(--status-success)}.reportRunStatus-failed{background:var(--critical-soft);color:var(--status-critical)}.clickableRow{cursor:pointer}.clickableRow:hover{background:var(--surface-subtle)}.reportBackLink{align-items:center;color:var(--brand-primary);display:inline-flex;font-size:12px;gap:5px;margin-bottom:6px}.reportArtifactGallery{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.reportArtifactDetailPage .reportHistoryTable{margin-top:32px}.reportArtifactGallery>article{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-sm);min-width:0;overflow:hidden}.reportArtifactGallery>article>header{border-bottom:1px solid var(--border-default);padding:12px 14px}.reportArtifactGallery header span{display:flex;flex-direction:column;gap:3px}.reportArtifactGallery header strong{font-size:13px}.reportArtifactGallery header small{color:var(--text-secondary);font-size:11px}.reportArtifactGallery img{display:block;height:auto;width:100%}.artifactImageLoading{align-items:center;color:var(--text-secondary);display:flex;justify-content:center;min-height:260px}.reportSendSubject,.reportSendBody{grid-column:1 / -1}.reportSendBody textarea{resize:vertical}.deliveryError{color:var(--status-critical);display:block;margin-top:4px;max-width:220px}@media(max-width:980px){.manualFormLayout,.smtpSettingsLayout,.reportArtifactGallery{grid-template-columns:1fr}.reportSourceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.reportPeriodGrid,.reportFieldGrid,.reportSendGrid,.reportSourceGrid{grid-template-columns:1fr}}[data-theme=dark]{--surface-canvas: #0b0f14;--surface-panel: #141a21;--surface-subtle: #1b232c;--surface-sunk: #0e141a;--border-default: #232e39;--border-strong: #324049;--text-primary: #ecf1f6;--text-secondary: #9cabba;--text-tertiary: #6b7886;--text-inverse: #06243f;--brand-primary: #1c90a8;--brand-primary-hover: #2ba6bc;--brand-accent: #38c8c2;--brand-trust: #0e2a38;--status-critical: #f1726d;--status-high: #e0975a;--status-medium: #e5be63;--status-info: #6ca8d6;--status-success: #5fc27e;--status-offline: #7e8b99;--critical-soft: rgba(241, 114, 109, .14);--high-soft: rgba(224, 151, 90, .14);--medium-soft: rgba(229, 190, 99, .14);--info-soft: rgba(108, 168, 214, .14);--success-soft: rgba(95, 194, 126, .14);--accent-soft: rgba(56, 200, 194, .15);--brand-soft: rgba(56, 200, 194, .13);--grad-brand: linear-gradient(135deg, #38c8c2, #1c90a8);--topbar-bg: rgba(13, 18, 24, .78);--topbar-border: var(--border-default);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 6px 20px rgba(0, 0, 0, .4);--shadow-overlay: 0 28px 70px rgba(0, 0, 0, .62)}body{background:var(--surface-canvas);color:var(--text-primary)}body.locale-zh{font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",var(--font)}a{color:inherit;text-decoration:none}button{border:0}:where(button,a,input,select,textarea,[tabindex]):focus-visible{border-radius:5px;outline:2px solid var(--brand-accent);outline-offset:2px}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.topbar{align-items:center;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);background:var(--topbar-bg);border-bottom:1px solid var(--topbar-border);display:flex;flex-shrink:0;gap:14px;height:60px;padding:0 16px;position:relative;z-index:70}.tbIcon,.tbAvatar{align-items:center;background:transparent;border:0;border-radius:var(--radius-pill);color:var(--text-secondary);display:inline-flex;height:38px;justify-content:center;position:relative;width:38px}.tbBurger{margin-right:-4px}.tbIcon:hover{background:var(--surface-subtle);color:var(--text-primary)}.tbBrand{align-items:center;border-radius:var(--radius-md);display:flex;gap:10px;min-width:0;padding:4px 8px 4px 4px}.tbBrand:hover{background:var(--surface-subtle)}.tbBrand img{border-radius:9px;box-shadow:var(--shadow-sm);height:32px;width:32px}.tbBrand strong{font-family:var(--font-brand);font-size:17px;font-weight:600;letter-spacing:0}.tbBrand span{border-left:1px solid var(--border-strong);color:var(--text-secondary);font-size:12px;margin-left:4px;max-width:180px;overflow:hidden;padding-left:12px;text-overflow:ellipsis;white-space:nowrap}.tbSpacer{flex:1}.tbAi{background:transparent}.tbAi.active,.tbAi:hover{background:var(--accent-soft);color:var(--brand-primary)}.tbAi img{height:22px;object-fit:contain;width:22px}.tbLang span{font-size:12.5px;font-weight:700}.tbAvatar{background:var(--grad-brand);color:#fff;font-size:13px;font-weight:700;box-shadow:var(--shadow-sm)}.profileAnchor{position:relative}.body{display:flex;flex:1;min-height:0}.nav{background:var(--surface-canvas);border-right:1px solid var(--border-default);display:flex;flex-direction:column;flex-shrink:0;overflow-x:visible;overflow-y:auto;padding:8px 10px;width:240px}.app.navCollapsed .nav{align-items:center;overflow:visible;padding:8px;width:60px}.app.navCollapsed .navHome span,.app.navCollapsed .navItem span,.app.navCollapsed .navAccHead span,.app.navCollapsed .navAccHead i,.app.navCollapsed .navAccHead svg:last-child,.app.navCollapsed .navItem b{display:none}.app.navCollapsed .navHome,.app.navCollapsed .navItem,.app.navCollapsed .navAccHead{justify-content:center;padding:10px}.navHome,.navItem,.navAccHead,.navButton{align-items:center;background:transparent;border-radius:var(--radius-md);color:var(--text-secondary);display:flex;font-size:13.5px;font-weight:500;gap:11px;min-height:36px;padding:8px 10px;text-align:left;width:100%}.navHome:hover,.navItem:hover,.navAccHead:hover{background:var(--surface-subtle);color:var(--text-primary)}.navHome.active,.navItem.active{background:var(--surface-panel);box-shadow:var(--shadow-sm);color:var(--brand-primary);font-weight:600}.navHome svg,.navItem svg,.navAccHead svg{color:var(--text-tertiary);flex-shrink:0}.navItem.active svg{color:var(--brand-accent)}.navAcc{border-radius:var(--radius-md);margin-bottom:6px}.navAcc.open{background:var(--brand-soft)}.navAccHead{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.navAccHead span,.navItem span,.navHome span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navAccHead i{background:var(--status-critical);border-radius:var(--radius-pill);height:6px;width:6px}.navAccHead .up{transform:rotate(180deg)}.navAccBody{padding:2px 0 6px}.navItem{margin:1px 0;padding-left:14px}.navItem b{color:var(--status-critical);font-size:11px;font-variant-numeric:tabular-nums}.navFooter{border-top:1px solid var(--border-default);margin-top:auto;padding-top:8px}.main{flex:1;min-width:0;overflow-y:auto}.siteSelector{position:relative}.tbSite{align-items:center;background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-primary);display:flex;gap:8px;font-size:13px;font-weight:500;height:36px;max-width:46vw;padding:0 12px}.tbSite:hover{border-color:var(--border-strong)}.tbSite svg:first-child{color:var(--brand-accent)}.tbSite strong,.tbSite span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbSite strong{font-size:13px;font-weight:600}.tbSite span{color:var(--text-secondary);font-size:13px;font-weight:400}.tbSite em{background:var(--brand-soft);border-radius:var(--radius-pill);color:var(--brand-primary);font-size:10px;font-style:normal;font-weight:700;letter-spacing:.05em;padding:2px 7px}.siteScrim{background:transparent;top:0;right:0;bottom:0;left:0;position:fixed;z-index:20}.sitePop{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);left:0;max-width:88vw;overflow:hidden;position:absolute;top:44px;width:680px;z-index:21}.siteCols{display:grid;grid-template-columns:repeat(4,1fr)}.siteCol{border-right:1px solid var(--border-default);max-height:320px;overflow-y:auto;padding:8px}.siteCol:last-child{border-right:0}.siteCol p{color:var(--text-tertiary);font-size:10px;font-weight:700;letter-spacing:.08em;padding:6px 8px 8px;text-transform:uppercase}.siteCol button{align-items:center;background:transparent;border-radius:var(--radius-md);color:var(--text-primary);display:flex;gap:8px;min-height:36px;padding:8px;text-align:left;width:100%}.siteCol button:hover{background:var(--surface-subtle)}.siteCol button.on{background:var(--brand-soft);color:var(--brand-primary)}.siteCol span{flex:1;font-size:13px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.siteCol small{color:var(--text-tertiary);font-size:11px}.siteFoot{align-items:center;background:var(--surface-subtle);border-top:1px solid var(--border-default);color:var(--text-secondary);display:flex;font-size:11.5px;gap:12px;justify-content:space-between;padding:9px 14px}.siteFoot strong{color:var(--brand-primary)}.siteFoot button{background:transparent;color:var(--brand-primary);font-weight:700}.profileScrim{background:transparent;border:0;top:0;right:0;bottom:0;left:0;position:fixed;z-index:60}.profileMenu{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);padding:8px;position:absolute;right:0;top:42px;width:280px;z-index:61}.profileHead{align-items:center;border-bottom:1px solid var(--border-default);display:flex;gap:10px;padding:8px 8px 10px}.profileAvatar{align-items:center;background:var(--grad-brand);border-radius:var(--radius-pill);color:#fff;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:800;height:34px;justify-content:center;width:34px}.profileAvatar.large{font-size:18px;height:58px;width:58px}.profileHead strong,.profileHead small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profileHead strong{font-size:13.5px}.profileHead small,.profileRbac small{color:var(--text-secondary);font-size:11.5px}.profileRbac{align-items:flex-start;display:flex;flex-direction:column;gap:8px;padding:10px 8px}.profileItems{display:flex;flex-direction:column}.profileItems button{align-items:center;background:transparent;border:0;border-radius:var(--radius-md);color:var(--text-primary);display:flex;gap:9px;min-height:34px;padding:0 9px;text-align:left}.profileItems button:hover{background:var(--surface-subtle)}.profileItems i{background:var(--border-default);height:1px;margin:5px 0}.paletteScrim,.profileModalScrim{align-items:flex-start;background:#141c285c;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding-top:84px;position:fixed;z-index:90}.commandPalette{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);overflow:hidden;width:min(680px,calc(100vw - 32px))}.paletteInput{align-items:center;border-bottom:1px solid var(--border-default);display:flex;gap:10px;padding:12px 14px}.paletteInput svg{color:var(--text-tertiary)}.paletteInput input{background:transparent;border:0;color:var(--text-primary);flex:1;font:inherit;min-width:0;outline:0}.paletteInput button,.profileModal header button,.askJaryPanel header button{align-items:center;background:transparent;border:0;border-radius:var(--radius-pill);color:var(--text-secondary);display:inline-flex;height:30px;justify-content:center;width:30px}.paletteInput button:hover,.profileModal header button:hover,.askJaryPanel header button:hover{background:var(--surface-subtle);color:var(--text-primary)}.paletteList{max-height:420px;overflow-y:auto;padding:8px}.paletteList button{align-items:center;background:transparent;border:0;border-radius:var(--radius-md);color:var(--text-primary);display:flex;gap:11px;padding:10px;text-align:left;width:100%}.paletteList button:hover{background:var(--surface-subtle)}.paletteList svg{color:var(--brand-accent);flex-shrink:0}.paletteList strong,.paletteList small{display:block}.paletteList strong{font-size:13.5px}.paletteList small{color:var(--text-secondary);font-size:11.5px;margin-top:1px}.profileModal{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);overflow:hidden;width:min(460px,calc(100vw - 32px))}.profileModal header,.profileModal footer,.askJaryPanel header{align-items:center;display:flex;justify-content:space-between}.profileModal header{border-bottom:1px solid var(--border-default);padding:12px 14px}.profileModal header div,.askJaryPanel header span{align-items:center;display:flex;gap:9px;font-weight:700}.profileModal header svg:first-child{color:var(--brand-primary)}.profileModalBody{display:flex;flex-direction:column;gap:12px;padding:16px}.profilePhotoRow{align-items:center;display:flex;gap:14px}.fieldGroup{display:flex;flex-direction:column;gap:6px}.fieldGroup span{color:var(--text-primary);font-size:12.5px;font-weight:700}.fieldGroup small{color:var(--text-secondary);font-weight:400}.fieldGroup input,.fieldGroup select{background:var(--surface-canvas);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font:inherit;height:36px;padding:0 10px}.fieldGroup input:disabled{color:var(--text-secondary)}.profileLocked{align-items:center;background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);display:flex;gap:14px;justify-content:space-between;padding:11px 14px}.profileLocked strong,.profileLocked small{display:block}.profileLocked small{color:var(--text-secondary);font-size:12px;margin-top:1px}.profileLocked em{align-items:center;background:var(--surface-sunk);border-radius:var(--radius-pill);color:var(--status-offline);display:inline-flex;font-size:11.5px;font-style:normal;font-weight:700;gap:5px;padding:3px 9px}.profileModal footer{border-top:1px solid var(--border-default);gap:8px;justify-content:flex-end;padding:12px 14px}.btnSmall{height:28px;padding:0 9px}.app.ajOpen .main{margin-right:384px;transition:margin-right .22s ease}.askJaryPanel{background:var(--surface-panel);border-left:1px solid var(--border-default);bottom:0;box-shadow:var(--shadow-overlay);display:flex;flex-direction:column;position:fixed;right:0;top:60px;width:384px;z-index:35}.askJaryPanel header{border-bottom:1px solid var(--border-default);padding:13px 14px}.askJaryPanel header img{height:22px;width:22px}.askJaryBody{display:flex;flex:1;flex-direction:column;gap:10px;overflow-y:auto;padding:16px}.askJaryBody p{color:var(--text-secondary);font-size:13px;line-height:1.5}.askJaryBody button{background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-weight:700;min-height:38px;text-align:left;padding:0 12px}.askJaryComposer{border-top:1px solid var(--border-default);display:flex;gap:8px;padding:12px}.askJaryComposer input{background:var(--surface-canvas);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);flex:1;font:inherit;min-width:0;padding:0 10px}.askJaryComposer button{background:var(--brand-primary);border:0;border-radius:var(--radius-md);color:#fff;font-weight:700;padding:0 14px}.page{margin:0 auto;max-width:1320px;padding:20px 24px 48px}.homePage{max-width:1380px}.bento{display:grid;gap:14px;grid-template-columns:repeat(12,minmax(0,1fr))}.bento>*{min-width:0}.span3{grid-column:span 3}.span4{grid-column:span 4}.span8{grid-column:span 8}.span12{grid-column:span 12}.pageStack{display:grid;gap:16px;margin:0 auto;max-width:1320px;padding:20px 24px 48px}.pageHeader,.sectionHeader{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.pageHeader h1,.sectionHeader h2,.pageHeaderHero h1,.emptyState h1,.emptyState h2{font-family:var(--font-brand);letter-spacing:0}.pageHeader h1{font-size:24px}.pageActions,.formActions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.pageActions{justify-content:flex-end}.pageLead,.panelMessage{color:var(--text-secondary);font-size:13px}.eyebrow,.tileKicker{color:var(--text-tertiary);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.bxHero{background:linear-gradient(125deg,#207f8b,#164d61 48%,#0f2f42);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:#fff;overflow:hidden;padding:28px;position:relative}.bxHero:after{background:radial-gradient(circle,rgba(60,198,190,.35),transparent 62%);content:"";height:340px;position:absolute;right:-130px;top:-140px;width:340px}.bxHeroTop{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;position:relative;z-index:1}.bxEyebrow{color:#ffffffb8;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.bxHero h1{font-family:var(--font-brand);font-size:30px;font-weight:600;letter-spacing:0;line-height:1.1;margin-top:10px}.bxHero p{color:#ffffffd1;font-size:13.5px;margin-top:8px}.bxLive{align-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-pill);color:#ffffffd1;display:inline-flex;font-size:12px;font-weight:700;gap:7px;padding:6px 12px}.bxLive span{background:#57e3a0;border-radius:var(--radius-pill);box-shadow:0 0 #57e3a099;height:7px;width:7px}.bxAsk{align-items:center;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-lg);color:#ffffffd6;display:flex;gap:12px;margin-top:24px;min-height:58px;padding:13px 16px;position:relative;text-align:left;width:100%;z-index:1}.bxAsk:hover{background:#ffffff2e;border-color:#ffffff52}.askIcon{align-items:center;background:#fffffff0;border-radius:9px;color:var(--brand-primary);display:inline-flex;height:30px;justify-content:center;width:30px}.askIcon img{height:18px;object-fit:contain;width:18px}.bxAsk kbd{border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#ffffffb3;font-size:11px;margin-left:auto;padding:2px 7px}.dashBar{align-items:center;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;padding:9px 12px}.dashBarSpacer{flex:1}.seg2{background:var(--surface-subtle);border-radius:var(--radius-md);display:inline-flex;gap:2px;padding:3px}.seg2 button{background:transparent;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;font-weight:600;padding:5px 11px}.seg2 button.on{background:var(--surface-panel);box-shadow:var(--shadow-sm);color:var(--brand-primary)}.facilityChips{align-items:center;display:inline-flex;gap:6px}.facilityChips svg{color:var(--text-secondary)}.facilityChips button{background:transparent;border:1px solid var(--brand-primary);border-radius:var(--radius-pill);color:var(--brand-primary);font-size:12px;font-weight:600;padding:5px 12px}.btn,.primaryButton,.textButton{align-items:center;border-radius:var(--radius-md);display:inline-flex;font-size:13px;font-weight:600;gap:7px;justify-content:center;min-height:36px;padding:0 14px;white-space:nowrap}.btnPrimary,.primaryButton{background:var(--brand-primary);color:#fff;box-shadow:0 1px 2px #145c7240}.btnPrimary:hover,.primaryButton:hover{background:var(--brand-primary-hover)}.btnGhost,.textButton{background:var(--surface-panel);border:1px solid var(--border-default);color:var(--text-primary)}.btnSm{font-size:12px;min-height:28px;padding:0 9px}.dashboardKpis{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.kstat{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;padding:16px 18px;position:relative;text-align:left;transition:transform .14s,box-shadow .14s,border-color .14s}.kstat:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.ksTop{align-items:center;display:flex;justify-content:space-between}.ksTop>span:first-child{color:var(--text-secondary);font-size:12.5px;font-weight:600}.ksIcon{align-items:center;border-radius:9px;display:inline-flex;height:32px;justify-content:center;width:32px}.kstat strong{font-family:var(--font-brand);font-size:40px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:0;line-height:1;margin-top:12px}.kstat small{align-items:center;display:flex;font-size:12px;font-weight:600;gap:5px;margin-top:9px}.dashboardKpis .kstat{min-height:176px}.ksTrend{display:inline-flex;flex:0 0 auto;height:12px;width:12px}.ksSpark{bottom:12px;opacity:.55;position:absolute;right:16px;width:78px}.kstat-brand strong,.kstat-brand small{color:var(--brand-primary)}.kstat-brand .ksIcon{background:var(--brand-soft);color:var(--brand-primary)}.kstat-critical strong,.kstat-critical small{color:var(--status-critical)}.kstat-critical .ksIcon{background:var(--critical-soft);color:var(--status-critical)}.kstat-accent strong,.kstat-accent small{color:var(--brand-accent)}.kstat-accent .ksIcon{background:var(--accent-soft);color:var(--brand-accent)}.kstat-high strong,.kstat-high small{color:var(--status-high)}.kstat-high .ksIcon{background:var(--high-soft);color:var(--status-high)}.kstat-success strong,.kstat-success small{color:var(--status-success)}.kstat-success .ksIcon{background:var(--success-soft);color:var(--status-success)}.dashboardBento{display:grid;gap:14px;grid-template-columns:repeat(12,minmax(0,1fr));margin-top:14px}.bcard,.dashboardPanel,.dashboardTile,.overviewPanel,.routeCard,.routeStatusPanel,.toolPanel,.signalPanel,.emptyState{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.bcard{display:flex;flex-direction:column;overflow:hidden}.bcardHead{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:15px 18px 12px}.bcardHead h2{font-family:var(--font-brand);font-size:15px;font-weight:600;letter-spacing:0}.bLink{align-items:center;background:transparent;color:var(--brand-primary);display:inline-flex;font-size:12px;font-weight:700;gap:3px}.incidentQueue{grid-column:span 7}.severityMeter{display:grid;gap:5px;grid-template-columns:1.15fr 1.8fr 1.8fr 1fr;padding:0 18px 16px}.severity{border-radius:var(--radius-md);color:#fff;display:grid;gap:2px;min-height:70px;padding:10px;place-items:center}.severity strong{font-family:var(--font-brand);font-size:28px;line-height:1}.severity span{font-size:11.5px;font-weight:700}.severityCritical{background:var(--status-critical)}.severityHigh{background:var(--status-high)}.severityMedium{background:#be821c}.severityLow{background:var(--status-info)}.actionRows{display:grid;gap:6px;padding:0 18px 18px}.actionRows button,.actionRows a{align-items:center;background:transparent;border-radius:var(--radius-md);color:var(--text-primary);display:flex;gap:10px;min-height:48px;padding:8px;text-align:left}.actionRows button:hover,.actionRows a:hover{background:var(--surface-subtle)}.actionRows span:nth-child(2),.actionRows a>span:nth-child(2){display:grid;flex:1;min-width:0}.actionRows strong,.actionRows small,.actionRows a strong,.actionRows a small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actionRows strong{font-size:13px;font-weight:600}.actionRows small{color:var(--text-secondary);font-size:11.5px}.actionRows em{background:var(--medium-soft);border-radius:var(--radius-pill);color:var(--status-medium);font-size:11px;font-style:normal;font-weight:700;padding:3px 8px}.rowDot{border-radius:var(--radius-pill);height:9px;width:9px}.rowDot.critical{background:var(--status-critical)}.rowDot.high{background:var(--status-high)}.rowDot.medium{background:var(--status-medium)}.rowDot.low{background:var(--status-info)}.askTile{background:linear-gradient(0deg,#e1f2f166,#e1f2f166),var(--surface-panel);grid-column:span 5;padding:18px}.askTile>span{align-items:center;color:var(--brand-primary);display:inline-flex;font-size:11.5px;font-weight:800;gap:7px;letter-spacing:.08em;text-transform:uppercase}.askTile p{color:var(--text-primary);font-size:14px;line-height:1.55;margin:18px 0}.trendCard{grid-column:span 12}.chip,.statusPill,.connectionState{align-items:center;background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-secondary);display:inline-flex;font-size:11.5px;font-weight:600;gap:5px;padding:3px 9px;white-space:nowrap}.trendLines{padding:4px 18px 18px}.trendLines svg{display:block;width:100%}.trendLines div{display:flex;gap:16px;margin-top:8px}.trendLines span{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:11.5px;gap:6px}.trendLines i{border-radius:var(--radius-pill);height:8px;width:18px}.trendLines i.critical{background:var(--status-critical)}.trendLines i.success{background:var(--status-success)}.homePins{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px 16px 16px}.homePin{align-items:center;background:var(--surface-canvas);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);display:flex;font-size:13.5px;font-weight:600;gap:10px;min-height:60px;padding:12px 14px}.homePin:hover{border-color:var(--brand-primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.homePin span,.activityItem>span,.homeModule>span{align-items:center;background:var(--brand-soft);border-radius:9px;color:var(--brand-primary);display:inline-flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.muted{color:var(--text-secondary);font-size:12px}.homeNews{display:grid;gap:10px;padding:0 16px 16px}.activityItem{display:grid;gap:2px 12px;grid-template-columns:auto minmax(0,1fr);min-height:58px}.activityItem>span{background:var(--accent-soft);color:var(--brand-accent);grid-row:span 2}.activityItem strong{font-size:13px;line-height:1.25}.activityItem small{color:var(--text-secondary);font-size:11.5px;line-height:1.25}.homeLaunch{display:flex;flex-direction:column;gap:16px;padding:4px 16px 16px}.homeGroup h3{align-items:center;color:var(--text-secondary);display:flex;font-size:11px;font-weight:700;gap:7px;letter-spacing:.07em;margin:0 0 10px;text-transform:uppercase}.homeGroup h3 svg{color:var(--brand-accent)}.homeGroup>div{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}.homeModule{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:8px;min-height:112px;padding:12px}.homeModule:hover{background:var(--accent-soft);border-color:var(--brand-accent);transform:translateY(-2px)}.homeModule b{color:var(--text-primary);font-size:12.5px;font-weight:600;line-height:1.3}.homeModule em{color:var(--status-high);font-style:normal;justify-self:end}.portfolioTable{border-collapse:collapse;width:100%}.portfolioTable th,.portfolioTable td{border-top:1px solid var(--border-default);padding:12px 18px;text-align:left}.portfolioTable th{color:var(--text-tertiary);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.portfolioTable td{color:var(--text-secondary);font-size:13px}.portfolioTable td:first-child,.portfolioTable td b{color:var(--text-primary);font-weight:700}.portfolioTable td:nth-child(3){align-items:center;display:flex;gap:8px}.healthBar{background:var(--surface-subtle);border-radius:var(--radius-pill);display:inline-block;height:7px;overflow:hidden;width:90px}.healthBar i{border-radius:var(--radius-pill);display:block;height:100%}.health-success{background:var(--status-success)}.health-medium{background:var(--status-medium)}.loginShell{background:var(--surface-canvas);display:grid;grid-template-columns:minmax(380px,46vw) minmax(360px,1fr);min-height:100vh}.loginStory{background:linear-gradient(135deg,#2ca6a4,#145c72 45%,#173a4e);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:48px 52px}.loginBrand{align-items:center;display:flex;gap:12px}.loginBrand img{height:40px;width:40px}.loginBrand strong{font-family:var(--font-brand);font-size:22px}.loginBrand span{border-left:1px solid rgba(255,255,255,.2);color:#ffffffad;font-size:12px;padding-left:12px}.loginCopy{max-width:520px}.loginCopy h1{font-family:var(--font-brand);font-size:clamp(34px,4vw,48px);font-weight:700;letter-spacing:0;line-height:1.15}.loginCopy p{color:#ffffffd1;font-size:16px;line-height:1.55;margin-top:20px}.loginCopy ul{display:grid;gap:16px;list-style:none;margin:30px 0 0;padding:0}.loginCopy li{align-items:center;display:flex;font-size:15px;gap:12px}.loginCopy li svg{background:#ffffff24;border-radius:9px;box-sizing:content-box;color:#ffffffeb;padding:8px}.loginProviderIcon{align-items:center;display:inline-flex;font-weight:800;height:18px;justify-content:center;width:18px}.googleIcon{color:#1a73e8}.microsoftIcon{background:linear-gradient(#f25022,#f25022) 0 0 / 8px 8px no-repeat,linear-gradient(#7fba00,#7fba00) 10px 0 / 8px 8px no-repeat,linear-gradient(#00a4ef,#00a4ef) 0 10px / 8px 8px no-repeat,linear-gradient(#ffb900,#ffb900) 10px 10px / 8px 8px no-repeat}.loginFoot{color:#ffffff9e;font-size:12.5px}.loginPanel{align-self:center;justify-self:center;max-width:420px;width:min(420px,calc(100% - 48px))}.loginPanel h1{font-family:var(--font-brand);font-size:30px;letter-spacing:0}.loginSub{color:var(--text-secondary);font-size:14px;margin-top:10px}.loginSso{display:grid;gap:10px;margin-top:18px}.loginSso button,.loginRole{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary)}.loginSso button{align-items:center;display:inline-flex;font-size:14px;font-weight:700;gap:10px;height:44px;justify-content:center}.loginDivider{align-items:center;color:var(--text-tertiary);display:grid;font-size:12px;gap:12px;grid-template-columns:1fr auto 1fr;margin:20px 0}.loginDivider:before,.loginDivider:after{background:var(--border-default);content:"";height:1px}.loginRoles{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:16px}.loginRole{display:grid;gap:5px;min-height:84px;padding:14px;text-align:left}.loginRole svg{color:var(--brand-primary)}.loginRole span{font-weight:700}.loginRole small{color:var(--text-secondary)}.loginRoleOn{background:#e7f2f5;border-color:var(--brand-primary);box-shadow:0 0 0 2px #2ca6a41f}.loginSubmit{height:46px;margin-top:8px;width:100%}.loginHint{background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:12px;line-height:1.45;margin-top:16px;padding:12px 14px}.panelMessageError{background:var(--critical-soft);border:1px solid rgba(198,40,40,.22);border-radius:var(--radius-md);color:var(--status-critical);padding:10px 12px}.dataForm,.signalForm{display:grid;gap:12px}.field,.scopeField{display:grid;gap:5px}.field span,.field label,.scopeField span,.signalForm label{color:var(--text-secondary);font-size:12px;font-weight:700}.field input,.field select,.field textarea,.signalForm input,.signalForm textarea,.scopeField select{background:var(--surface-panel);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);min-width:0;padding:9px 10px;width:100%}.customerDashboardHost{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;padding:16px 18px 18px}.customerDashboardHeader{align-items:flex-start;display:flex;flex-shrink:0;gap:16px;justify-content:space-between}.customerDashboardHeader h1{font-family:var(--font-brand);font-size:22px;letter-spacing:0}.customerDashboardHeader>div>p:last-child{color:var(--text-secondary);font-size:13px;margin-top:3px}.customerDashboardActions{display:flex;gap:6px}.customerDashboardActions .btnIcon{height:36px;justify-content:center;padding:0;width:36px}.customerDashboardError{background:var(--critical-soft);border:1px solid rgba(198,40,40,.22);border-radius:var(--radius-sm);color:var(--status-critical);flex-shrink:0;font-size:12px;padding:8px 10px}.customerDashboardFrame{background:#0f172a;border:1px solid var(--border-default);border-radius:var(--radius-md);flex:1;min-height:520px;overflow:hidden;position:relative}.customerDashboardFrame iframe{background:#0f172a;border:0;display:block;height:100%;width:100%}.customerDashboardLoading{background:#0f172ad6;color:#f8fafc;font-size:12px;left:50%;padding:8px 12px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.customerDashboardAdminPage{max-width:1500px}.scopeBand{align-items:end;background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);display:flex;gap:16px;justify-content:space-between;padding:12px 14px}.scopeBand .field{min-width:min(360px,100%)}.scopeBandSummary{display:grid;justify-items:end}.scopeBandSummary strong{font-size:20px}.scopeBandSummary small{color:var(--text-secondary);font-size:11px}.customerDashboardAdminWorkspace{display:grid;gap:14px;grid-template-columns:minmax(220px,280px) minmax(0,1fr)}.customerDashboardAppList{align-self:start;background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:4px;padding:8px;position:sticky;top:16px}.customerDashboardAppList>button{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-primary);display:flex;gap:8px;justify-content:space-between;min-height:54px;padding:8px 10px;text-align:left;width:100%}.customerDashboardAppList>button:hover,.customerDashboardAppList>button.isActive{background:var(--surface-panel);border-color:var(--border-default)}.customerDashboardAppList>button.isActive{box-shadow:inset 3px 0 var(--brand-accent)}.customerDashboardAppList span,.customerDashboardAppList strong,.customerDashboardAppList small{display:block;min-width:0}.customerDashboardAppList small{color:var(--text-tertiary);font-size:11px;margin-top:2px}.customerDashboardAdminEditor{display:grid;gap:14px;min-width:0}.customerDashboardAdminEditor .toolPanel{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;padding:16px;width:100%}.customerDashboardPagePermissions{border:1px solid var(--border-default);border-radius:var(--radius-sm);display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr));max-height:260px;overflow-y:auto;padding:10px}.customerDashboardPagePermissions legend{color:var(--text-secondary);font-size:12px;font-weight:700;padding:0 5px}.customerDashboardReportManifest{border:1px solid var(--border-default);border-radius:var(--radius-sm);display:grid;gap:12px;min-width:0;padding:12px}.customerDashboardReportManifest legend{color:var(--text-secondary);font-size:12px;font-weight:700;padding:0 5px}.customerDashboardReportViewport{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.customerDashboardReportFrameHead{align-items:center;display:flex;justify-content:space-between}.reportDensityControl{background:var(--surface-subtle);border:1px solid var(--border-default);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:38px;padding:3px}.reportDensityControl button{background:transparent;border:0;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:700}.reportDensityControl button.isActive{background:var(--surface-raised);box-shadow:var(--shadow-xs);color:var(--text-primary)}.customerDashboardReportFrameHead strong{color:var(--text-primary);font-size:12px}.customerDashboardReportFrames{display:grid}.customerDashboardReportFrame{align-items:end;border-top:1px solid var(--border-default);display:grid;gap:10px;grid-template-columns:minmax(110px,.65fr) minmax(150px,1fr) minmax(150px,1fr) minmax(200px,1.4fr) 34px;padding:12px 0}.customerDashboardReportFrame:first-child{border-top:0;padding-top:0}.customerDashboardReportFrame:last-child{padding-bottom:0}.customerDashboardFrameParameters textarea{min-height:38px;resize:vertical}.customerDashboardPagePermissions label,.checkField{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;gap:7px;min-height:30px}.customerDashboardVersions{padding:16px}.customerDashboardVersions .dataTableRow{grid-template-columns:70px minmax(140px,1fr) 90px 160px 110px}.fullWidth{grid-column:1 / -1}.pageAccessManager{background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:14px;padding:14px}.pageAccessManager>header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.pageAccessManager strong,.pageAccessManager small{display:block}.pageAccessManager small{color:var(--text-secondary);font-size:12px;line-height:1.4;margin-top:2px}.pageAccessActions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.pageAccessSummary{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.pageAccessSummary article{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:10px 12px}.pageAccessSummary article.isDirty{border-color:var(--accent-teal)}.pageAccessSummary strong{font-family:var(--font-brand);font-size:22px;line-height:1}.pageAccessSummary span{color:var(--text-secondary);display:block;font-size:11px;font-weight:800;letter-spacing:.04em;margin-top:4px;text-transform:uppercase}.pageAccessWorkspace{display:grid;gap:12px;grid-template-columns:270px minmax(0,1fr);min-height:520px}.pageAccessRail,.pageAccessDetail{align-content:start;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:8px;padding:12px}.pageAccessRail{position:sticky;top:76px}.pageAccessSectionButton{align-items:flex-start;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-primary);display:flex;gap:10px;justify-content:space-between;min-height:56px;padding:10px;text-align:left}.pageAccessSectionButton:hover,.pageAccessSectionButton.isActive{background:var(--surface-subtle);border-color:var(--border-default)}.pageAccessSectionButton.isActive{box-shadow:inset 3px 0 0 var(--accent-teal)}.pageAccessSectionButton strong,.pageAccessSectionButton small{display:block}.pageAccessSectionButton small{color:var(--text-secondary);font-size:11px;margin-top:3px}.pageAccessSectionButton em,.pageAccessOption em{color:var(--text-secondary);flex:0 0 auto;font-size:11px;font-style:normal;font-weight:800}.pageAccessDetail{gap:12px}.pageAccessDetailHeader{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.pageAccessDetailHeader h3{font-size:13px;margin:0}.pageAccessSectionActions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.pageAccessSearch{align-items:center;background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;gap:8px;padding:8px 10px}.pageAccessSearch input{background:transparent;border:0;color:var(--text-primary);min-width:0;outline:0;width:100%}.pageAccessList{display:grid;gap:6px}.pageAccessOption{align-items:center;border:1px solid transparent;border-radius:var(--radius-sm);display:grid;gap:10px;grid-template-columns:18px minmax(0,1fr) auto;min-height:58px;padding:9px 10px}.pageAccessOption:hover{background:var(--surface-subtle);border-color:var(--border-default)}.pageAccessOption input{margin:0}.pageAccessOption strong{font-size:12.5px}.pageAccessSaveBar{align-items:center;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-sm);display:flex;gap:12px;justify-content:space-between;padding:10px}.pageAccessSaveBar.isDirty{border-color:var(--accent-teal)}.pageAccessSaveBar>span{color:var(--text-secondary);font-size:12px;font-weight:700}.pageAccessSaveBar>div{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.overviewGrid,.routeGallery,.stateGrid,.contentGrid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.overviewPanel,.routeCard,.routeStatusPanel,.toolPanel,.signalPanel,.dashboardPanel,.dashboardTile,.emptyState{padding:16px}.routeCard>span,.routeCard>strong,.routeCard>small{display:block}.routeCard>strong{margin-top:6px}.routeCard>small{color:var(--text-secondary);margin-top:4px}.routeSurface{max-width:1320px}.routeHeroPanel{align-items:flex-start;background:linear-gradient(135deg,#2ca6a41f,#145c7214);border:1px solid rgba(20,92,114,.16);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:20px;justify-content:space-between;padding:18px}.routeHeroPanel h2{font-family:var(--font-brand);font-size:20px;font-weight:600;letter-spacing:0;margin-top:6px}.routeHeroPanel p{color:var(--text-secondary);font-size:13.5px;line-height:1.55;margin-top:8px;max-width:780px}.routeModule{color:var(--brand-primary);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.routeHeroMeta{align-items:flex-end;display:flex;flex-direction:column;gap:8px;min-width:180px}.routeHeroMeta span{align-items:center;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-secondary);display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:5px 10px}.routeHeroMeta span:first-child{color:var(--status-success)}.routeKpiGrid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.routeMetric{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px}.routeMetric>span{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;font-weight:600;gap:7px}.routeMetric strong{display:block;font-family:var(--font-brand);font-size:30px;font-weight:600;line-height:1;margin-top:12px}.routeMetric small{color:var(--text-secondary);display:block;font-size:12px;margin-top:7px}.routeMetric-brand strong,.routeMetric-brand>span,.routeRowIcon-brand{color:var(--brand-primary)}.routeMetric-accent strong,.routeMetric-accent>span,.routeRowIcon-accent{color:var(--brand-accent)}.routeMetric-success strong,.routeMetric-success>span,.routeRowIcon-success{color:var(--status-success)}.routeMetric-high strong,.routeMetric-high>span,.routeRowIcon-high{color:var(--status-high)}.routeMetric-critical strong,.routeMetric-critical>span,.routeRowIcon-critical{color:var(--status-critical)}.routeMetric-info strong,.routeMetric-info>span,.routeRowIcon-info{color:var(--status-info)}.routeRowIcon-offline{color:var(--status-offline)}.routeWorkGrid{align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1.6fr) minmax(320px,.85fr)}.routeWorkMain,.routeWorkSide{min-width:0}.routePanelHead{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.routePanelHead h2{font-family:var(--font-brand);font-size:16px;font-weight:600;letter-spacing:0;margin-top:4px}.routeRows{display:grid;gap:8px}.routeRowsCompact{margin-top:14px}.routeRow{align-items:center;background:var(--surface-canvas);border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:12px;grid-template-columns:34px minmax(0,1fr) auto;min-height:62px;padding:10px 12px}.routeRowIcon{align-items:center;background:var(--surface-panel);border-radius:9px;display:inline-flex;height:34px;justify-content:center;width:34px}.routeRow strong{display:block;font-size:13px;font-weight:600}.routeRow small{color:var(--text-secondary);display:block;font-size:12px;line-height:1.4;margin-top:2px}.routeStatus{border-radius:var(--radius-pill);font-size:11px;font-style:normal;font-weight:700;padding:3px 8px;white-space:nowrap}.routeStatus-brand,.routeStatus-accent,.routeStatus-info{background:var(--brand-soft);color:var(--brand-primary)}.routeStatus-success{background:var(--success-soft);color:var(--status-success)}.routeStatus-high{background:var(--high-soft);color:var(--status-high)}.routeStatus-critical{background:var(--critical-soft);color:var(--status-critical)}.routeActionStack{display:grid;gap:8px}.routeAction{align-items:center;background:var(--surface-canvas);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);display:flex;justify-content:space-between;min-height:42px;padding:9px 11px;text-align:left}.routeAction:hover{border-color:var(--brand-primary)}.routeAction span{font-size:13px;font-weight:600}.routeAction small{color:var(--text-secondary);font-size:11px}.overviewPanelStrong{border-color:#2ca6a459}.dataTable{border-collapse:collapse;width:100%}.dataTable th,.dataTable td{border-bottom:1px solid var(--border-default);padding:10px 8px;text-align:left;vertical-align:top}.dataTableHead{color:var(--text-tertiary);font-size:11px;letter-spacing:.07em;text-transform:uppercase}.dataTableRow:hover{background:var(--surface-subtle)}.tenantLocationsPage{max-width:1380px}.locationTitleIcon{align-items:center;background:var(--accent-soft);border-radius:var(--radius-md);color:var(--brand-accent);display:inline-flex;flex:0 0 40px;height:40px;justify-content:center}.locationAdminGrid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(440px,1.35fr) minmax(340px,.65fr)}.locationRows{display:grid}.locationRow{align-items:center;border-bottom:1px solid var(--border-default);display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:10px 16px}.locationRow:last-child{border-bottom:0}.locationRow>span,.locationRow strong,.locationRow small{display:block}.locationRow small,.locationArchiveNote{color:var(--text-secondary);font-size:12px;margin-top:3px}.locationArchiveNote summary{cursor:pointer;font-weight:700}.archivedLocationRow{align-items:center;display:flex;justify-content:space-between;padding-top:10px}.archivedLocationRow span,.archivedLocationRow small{display:block}.locationRow>div{display:flex;gap:7px}.locationDepth-floor{padding-left:42px}.locationDepth-facility{padding-left:68px}.locationArchiveNote{border-top:1px solid var(--border-default);margin:0;padding:12px 16px}.locationEditor{position:sticky;top:78px}.adminLocationAccess{border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:10px;margin:0;padding:12px}.adminLocationAccess legend{color:var(--text-secondary);font-size:12px;font-weight:700;padding:0 4px}.adminLocationChoices{border-top:1px solid var(--border-default);display:grid;gap:8px;max-height:230px;overflow-y:auto;padding-top:10px}.locationChoice{align-items:center;display:flex;font-size:13px;gap:8px}.locationChoice span,.locationChoice small{display:block}.locationChoice small{color:var(--text-tertiary);font-size:10px}.locationChoice-floor{padding-left:20px}.locationChoice-facility{padding-left:40px}@media(max-width:960px){.locationAdminGrid{grid-template-columns:1fr}.locationEditor{position:static}}.signalList,.dashboardGrid{display:grid;gap:12px}.dashboardGrid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.mqttPage .tabs{margin-bottom:0;overflow-x:auto}.mqttScopeBand{align-items:center;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:14px;justify-content:space-between;padding:14px 16px}.mqttScopeBand>div{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.mqttScopeBand strong{font-family:var(--font-brand);letter-spacing:0}.mqttScopeBand small{color:var(--text-secondary)}.mqttSummaryGrid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.mqttSummaryCard{align-items:center;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:12px;min-height:82px;padding:14px}.mqttSummaryCard>span{align-items:center;background:var(--accent-soft);border-radius:var(--radius-md);color:var(--brand-accent);display:inline-flex;height:38px;justify-content:center;width:38px}.mqttSummaryCard strong,.mqttSummaryCard small{display:block}.mqttSummaryCard strong{font-family:var(--font-brand);font-size:26px;letter-spacing:0;line-height:1}.mqttSummaryCard small{color:var(--text-secondary);font-size:12px;margin-top:4px}.mqttGrid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(360px,.82fr) minmax(460px,1.18fr)}.mqttSubscriptionGrid{grid-template-columns:minmax(320px,.55fr) minmax(0,1.45fr)}.mqttForm{grid-template-columns:repeat(2,minmax(0,1fr))}.mqttToggle{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:13px;font-weight:700;gap:9px;min-height:36px}.mqttToggle input{accent-color:var(--brand-primary)}.mqttListPanel{min-width:0;overflow-x:auto}.mqttCards{display:grid;gap:12px}.mqttConfigCard{border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:12px;padding:13px}.mqttConfigCard header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.mqttSourceStates{align-items:flex-end;display:flex;flex-direction:column;gap:6px}.mqttRuntimePill{border-radius:var(--radius-pill);display:inline-flex;font-size:11px;font-weight:700;padding:4px 9px;white-space:nowrap}.mqttRuntimePill-success{background:var(--success-soft);color:var(--status-success)}.mqttRuntimePill-critical{background:var(--critical-soft);color:var(--status-critical)}.mqttRuntimePill-info{background:var(--surface-subtle);color:var(--text-secondary)}.mqttRuntimeSummary{background:var(--surface-subtle);border-left:3px solid var(--brand-primary);display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 12px}.mqttRuntimeSummary span,.mqttRuntimeSummary strong{display:block}.mqttRuntimeSummary span{color:var(--text-tertiary);font-size:10.5px;font-weight:700;text-transform:uppercase}.mqttRuntimeSummary strong{font-size:12px;margin-top:4px}.mqttRuntimeSummary p{color:var(--status-critical);font-size:12px;grid-column:1 / -1;margin:0;overflow-wrap:anywhere}.mqttConfigCard strong,.mqttConfigCard small{display:block}.mqttConfigCard small{color:var(--text-secondary);margin-top:3px;word-break:break-word}.mqttConfigCard dl,.mqttPreview dl{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.mqttConfigCard dl div,.mqttPreview dl div{background:var(--surface-subtle);border-radius:var(--radius-sm);padding:8px 10px}.mqttConfigCard dt,.mqttPreview dt{color:var(--text-tertiary);font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.mqttConfigCard dd,.mqttPreview dd{color:var(--text-primary);font-size:12.5px;margin:3px 0 0;overflow-wrap:anywhere}.mqttDataTable{display:grid;min-width:720px}.mqttDataTable .dataTableRow{align-items:center;border-bottom:1px solid var(--border-default);display:grid;gap:10px;grid-template-columns:minmax(180px,1.4fr) minmax(130px,.8fr) 56px minmax(150px,.8fr) minmax(220px,1fr);padding:10px 8px}.mqttDataTable .dataTableRow:last-child{border-bottom:0}.mqttDataTable .dataTableHead{background:var(--surface-subtle)}.mqttSubscriptionTable{min-width:700px}.mqttSubscriptionTable .dataTableRow{align-items:start;grid-template-columns:minmax(100px,.75fr) minmax(90px,.55fr) minmax(100px,.7fr) minmax(240px,1.8fr) minmax(130px,.9fr)}.mqttSubscriptionTable code{font-family:var(--font-mono);font-size:11px;overflow-wrap:anywhere}.mqttSubscriptionState{align-items:flex-start;display:flex;flex-wrap:wrap;gap:6px}.mqttSubscriptionState small{color:var(--text-tertiary);flex-basis:100%;font-size:10.5px}.mqttSubscriptionHealth{display:grid;gap:6px;min-width:0}.mqttSubscriptionHealth>small,.mqttSubscriptionHealthError{color:var(--text-tertiary);font-size:11px}.mqttSubscriptionHealthError{color:var(--status-critical)}.mqttSubscriptionHealthRow{align-items:center;background:var(--surface-subtle);border-left:3px solid var(--border-strong);display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto 32px;padding:7px 8px}.mqttSubscriptionHealthRow>span:first-child{display:grid;gap:3px;min-width:0}.mqttSubscriptionHealthRow small{color:var(--text-tertiary);font-size:10px;overflow-wrap:anywhere}.mqttRouteTimeoutButton{align-items:center;background:transparent;color:var(--brand-primary);display:inline-flex;font-size:10.5px;font-weight:700;gap:4px;justify-self:start;padding:2px 0}.mqttRouteTimeoutButton:hover{color:var(--brand-primary-hover)}.mqttRouteTimeoutEditor{align-items:center;display:grid;gap:4px;grid-template-columns:minmax(58px,72px) minmax(76px,92px) 28px 28px;margin-top:2px;max-width:246px}.mqttRouteTimeoutEditor input,.mqttRouteTimeoutEditor select{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:11px;height:28px;min-width:0;padding:0 6px}.mqttRouteTimeoutEditor .iconButton{height:28px;width:28px}.mqttPreview{border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:12px;padding:14px}.mqttPreview-success{border-color:#2e7d3247}.mqttPreview-warning{border-color:#b7791f47}.mqttPreview-critical{border-color:#c6282847}.srOnly{clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.mqttHealthSection{display:grid;gap:14px}.mqttHealthToolbar{align-items:center;display:flex;gap:16px;justify-content:space-between}.mqttHealthTotals{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.mqttHealthTotals span{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:12px;padding:7px 10px}.mqttHealthTotals strong{color:var(--text-primary);font-family:var(--font-brand);font-size:15px;letter-spacing:0;margin-right:3px}.mqttHealthWorkspace{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(620px,1.35fr) minmax(360px,.85fr)}.mqttHealthRoutes,.mqttHealthInspector{min-width:0}.mqttHealthRoutes>.sectionHeader>small{color:var(--text-tertiary);font-size:11px}.mqttHealthTableScroller{overflow-x:auto}.mqttHealthTable{border-collapse:collapse;min-width:700px;table-layout:fixed;width:100%}.mqttHealthTable th,.mqttHealthTable td{border-bottom:1px solid var(--border-default);padding:11px 9px;text-align:left;vertical-align:middle}.mqttHealthTable th{color:var(--text-tertiary);font-size:10.5px;font-weight:800;text-transform:uppercase}.mqttHealthTable th:first-child{width:31%}.mqttHealthTable th:nth-child(2){width:18%}.mqttHealthTable th:nth-child(3),.mqttHealthTable th:nth-child(4){width:20%}.mqttHealthTable th:last-child{width:44px}.mqttHealthTable tbody tr.selected{background:var(--accent-soft)}.mqttHealthTable tbody tr:last-child td{border-bottom:0}.mqttHealthTable td>strong,.mqttHealthTable td>small{display:block}.mqttHealthTable td>strong{font-size:12.5px}.mqttHealthTable td>small{color:var(--text-tertiary);font-size:10.5px;margin-top:4px;overflow-wrap:anywhere}.iconButton{align-items:center;background:transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;width:32px}.iconButton:hover{background:var(--surface-sunk);color:var(--brand-primary)}.mqttHealthStatus{border-radius:var(--radius-pill);display:inline-flex;font-size:10.5px;font-weight:800;padding:4px 8px;text-transform:capitalize;white-space:nowrap}.mqttHealthStatus-fresh{background:var(--success-soft);color:var(--status-success)}.mqttHealthStatus-stale,.mqttHealthStatus-connector_error{background:var(--critical-soft);color:var(--status-critical)}.mqttHealthStatus-never,.mqttHealthStatus-connecting{background:var(--medium-soft);color:var(--status-medium)}.mqttHealthStatus-inactive{background:var(--surface-sunk);color:var(--status-offline)}.mqttHealthDetail{display:grid;gap:14px}.mqttHealthDetail dl{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.mqttHealthDetail dl>div{min-width:0}.mqttHealthDetail dt,.mqttMessageTopic>span{color:var(--text-tertiary);display:block;font-size:10.5px;font-weight:800;text-transform:uppercase}.mqttHealthDetail dd{font-size:12px;margin:4px 0 0;overflow-wrap:anywhere}.mqttHealthDetail code,.mqttMessageTopic code{font-family:var(--font-mono);font-size:11px;overflow-wrap:anywhere}.mqttMessageTopic{background:var(--surface-subtle);border-left:3px solid var(--brand-accent);display:grid;gap:6px;padding:10px 12px}.mqttHealthWarning{align-items:flex-start;background:var(--medium-soft);color:var(--status-medium);display:flex;gap:9px;padding:10px 12px}.mqttHealthWarning>div{display:grid;gap:3px;min-width:0}.mqttHealthWarning strong,.mqttHealthWarning span,.mqttHealthWarning small{font-size:11.5px;overflow-wrap:anywhere}.mqttHealthWarning span,.mqttHealthWarning small{color:var(--text-secondary)}.mqttPayloadPreview{border:1px solid var(--border-default);min-width:0}.mqttPayloadPreview>header{align-items:center;background:var(--surface-subtle);display:flex;gap:10px;justify-content:space-between;padding:8px 10px}.mqttPayloadPreview>header strong,.mqttPayloadPreview>header span{font-size:11px}.mqttPayloadPreview>header span{color:var(--text-tertiary)}.mqttPayloadPreview pre{background:var(--surface-sunk);color:var(--text-primary);font-family:var(--font-mono);font-size:11px;line-height:1.55;margin:0;max-height:420px;overflow:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.signalPage{max-width:1460px}.signalScopeBand{align-items:center;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:14px;justify-content:space-between;padding:14px 16px}.signalScopeBand>div{align-items:center;display:flex;gap:12px;min-width:0}.signalScopeBand strong,.signalScopeBand small{display:block}.signalScopeBand strong{font-family:var(--font-brand);letter-spacing:0}.signalScopeBand small{color:var(--text-secondary);font-size:12px}.signalScopeBand .btn{max-width:min(720px,58vw);overflow:hidden;text-overflow:ellipsis}.signalScopeIcon{align-items:center;background:var(--accent-soft);border-radius:var(--radius-md);color:var(--brand-accent);display:inline-flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.signalSummaryGrid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.signalSummaryCard{align-items:center;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:12px;min-height:82px;padding:14px}.signalSummaryCard>span{align-items:center;background:var(--brand-soft);border-radius:var(--radius-md);color:var(--brand-primary);display:inline-flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.signalSummaryCard strong,.signalSummaryCard small{display:block}.signalSummaryCard strong{font-family:var(--font-brand);font-size:26px;letter-spacing:0;line-height:1}.signalSummaryCard small{color:var(--text-secondary);font-size:12px;margin-top:4px}.signalWorkbenchGrid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(270px,.76fr) minmax(520px,1.58fr) minmax(280px,.86fr)}.signalLibrary,.signalEditor,.signalSidePanel{min-width:0}.signalLibrary{display:grid;gap:12px}.signalSearch{align-items:center;background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-tertiary);display:flex;gap:8px;min-height:38px;padding:0 11px}.signalSearch input{background:transparent;border:0;color:var(--text-primary);flex:1;font:inherit;min-width:0;outline:none}.signalFilterRow,.signalTabs{background:var(--surface-subtle);border-radius:var(--radius-md);display:inline-flex;gap:3px;padding:3px}.signalFilterRow{width:100%}.signalFilterRow button,.signalTabs button{background:transparent;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;font-weight:700;min-height:30px;padding:0 10px}.signalFilterRow button{flex:0 0 auto}.signalFilterRow button.on,.signalTabs button.on{background:var(--surface-panel);box-shadow:var(--shadow-sm);color:var(--brand-primary)}.signalDefinitionList{display:grid;gap:9px}.signalListButton{align-items:flex-start;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);display:grid;gap:10px;grid-template-columns:minmax(0,1fr);padding:12px;text-align:left}.signalListButton:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.signalListButton.on{background:var(--brand-soft);border-color:#145c7242}.signalListButton strong,.signalListButton small{display:block}.signalListButton strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signalListButton small{color:var(--text-secondary);font-size:11px;margin-top:3px;overflow-wrap:anywhere}.signalStatusPill{border-radius:var(--radius-pill);font-size:10.5px;font-weight:800;justify-self:start;padding:4px 8px;text-transform:uppercase}.signalStatusPill.success{background:var(--success-soft);color:var(--status-success)}.signalStatusPill.medium{background:var(--medium-soft);color:var(--status-medium)}.signalStatusPill.critical{background:var(--critical-soft);color:var(--status-critical)}.signalEditor{display:grid;gap:14px}.signalEditorHeader{align-items:flex-end;display:flex;gap:16px;justify-content:space-between}.signalIdField{display:grid;gap:6px;margin-top:8px}.signalIdField span,.signalSqlEditor span{color:var(--text-secondary);font-size:12px;font-weight:700}.signalIdField input{background:var(--surface-panel);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;min-height:38px;min-width:min(360px,48vw);padding:0 11px}.signalTabs{justify-self:start}.signalSqlEditor{display:grid;gap:7px}.signalSqlEditor textarea{background:var(--surface-sunk);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-mono);font-size:13px;line-height:1.55;min-height:500px;padding:14px;resize:vertical;-moz-tab-size:2;tab-size:2}.signalSidePanel{display:grid;gap:13px}.signalSidePanel .sectionHeader svg{color:var(--brand-accent);flex-shrink:0}.signalContractList,.signalValidationGrid,.signalHistory,.signalSamples{display:grid;gap:9px}.signalValidationRow{align-items:flex-start;background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr);padding:10px}.signalValidationRow>span{align-items:center;border-radius:var(--radius-pill);display:inline-flex;height:24px;justify-content:center;width:24px}.signalValidationRow.pass>span{background:var(--success-soft);color:var(--status-success)}.signalValidationRow.warn>span{background:var(--medium-soft);color:var(--status-medium)}.signalValidationRow.fail>span{background:var(--critical-soft);color:var(--status-critical)}.signalValidationRow strong,.signalValidationRow small{display:block}.signalValidationRow strong{font-size:12.5px}.signalValidationRow small{color:var(--text-secondary);font-size:11.5px;line-height:1.35;margin-top:2px}.signalPublishBox{background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:7px;padding:12px}.signalPublishBox strong,.signalPublishBox span,.signalPublishBox small{display:block}.signalPublishBox span{font-family:var(--font-mono);font-size:12px;overflow-wrap:anywhere}.signalPublishBox small{color:var(--text-secondary);font-size:11.5px;line-height:1.45}.signalPublishButton{width:100%}.signalPreviewPanel{display:grid;gap:14px}.signalPreviewState{align-items:center;background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);display:flex;gap:12px;padding:14px}.signalPreviewState>span{align-items:center;border-radius:var(--radius-md);display:inline-flex;height:40px;justify-content:center;width:40px}.signalPreviewState>span.success{background:var(--success-soft);color:var(--status-success)}.signalPreviewState>span.medium{background:var(--medium-soft);color:var(--status-medium)}.signalPreviewState>span.critical{background:var(--critical-soft);color:var(--status-critical)}.signalPreviewState strong,.signalPreviewState small{display:block}.signalPreviewState small{color:var(--text-secondary);margin-top:3px;overflow-wrap:anywhere}.signalPreviewNote{align-items:flex-start;background:var(--info-soft);border-radius:var(--radius-md);color:var(--text-secondary);display:flex;font-size:12px;gap:9px;line-height:1.45;padding:11px 12px}.signalPreviewNote svg{color:var(--brand-primary);flex-shrink:0}.signalSamples article,.signalHistory article{background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:12px}.signalSamples strong{display:block;font-size:12.5px;margin-bottom:7px}.signalSamples code,.signalSamples pre{background:var(--surface-sunk);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);display:block;font-family:var(--font-mono);font-size:12px;line-height:1.45;margin:0;overflow-x:auto;padding:10px;white-space:pre-wrap}.signalHistory article{align-items:center;display:flex;gap:12px}.signalHistory article>span{align-items:center;background:var(--brand-soft);border-radius:var(--radius-md);color:var(--brand-primary);display:inline-flex;height:34px;justify-content:center;width:34px}.signalHistory strong,.signalHistory small{display:block}.signalHistory small{color:var(--text-secondary);margin-top:2px}.tileHeader{align-items:center;display:flex;justify-content:space-between}.tileValue{color:var(--brand-primary);font-family:var(--font-brand);font-size:26px;font-weight:700;margin-top:14px}.tileMetadata{color:var(--text-secondary);display:grid;font-size:12px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0 0}.tileMetadata dt{color:var(--text-tertiary);font-weight:700;text-transform:uppercase}.tileMetadata dd{margin:0;overflow-wrap:anywhere}.signalRow{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:8px;padding:12px}.textLink{color:var(--brand-primary);font-weight:700}.adminUsersHead{align-items:center;display:flex;gap:16px;justify-content:space-between}.adminUsersHeadTitle{align-items:center;display:flex;gap:10px;min-width:0}.adminUsersHead h1{font-family:var(--font-brand);font-size:24px;font-weight:600;letter-spacing:0;line-height:1.15;margin-top:4px}.adminUsersHead p:not(.eyebrow){color:var(--text-secondary);font-size:13px;line-height:1.5;margin-top:4px}.adminBackButton{flex:0 0 auto;width:30px}.adminUsersTabs{align-items:center;display:flex;gap:6px;justify-self:start;margin-top:2px}.adminUsersTabs button{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-primary);font-size:13px;font-weight:700;min-height:36px;padding:0 14px}.adminUsersTabs button.on{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;box-shadow:0 1px 2px #145c7238}.adminUsersGrid{align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(320px,.38fr)}.adminUsersTablePanel,.adminUsersEditor,.adminMatrixPanel{min-width:0}.adminUsersActions,.adminEditorActions,.adminRowActions{align-items:center;display:flex;gap:8px}.adminUsersToolbar{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(240px,1fr) minmax(150px,auto) minmax(150px,auto);margin-bottom:12px}.adminUsersSearch{align-items:center;background:var(--surface-canvas);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-tertiary);display:flex;gap:8px;min-height:38px;padding:0 11px}.adminUsersSearch input{background:transparent;border:0;color:var(--text-primary);min-width:0;padding:0;width:100%}.adminUsersSearch:focus-within,.adminUsersToolbar select:focus,.adminUsersTable select:focus,.adminUsersEditor input:focus,.adminUsersEditor select:focus{border-color:var(--brand-accent);box-shadow:var(--focus-ring);outline:none}.adminUsersSearch input:focus{box-shadow:none;outline:none}.adminUsersToolbar select,.adminUsersTable select{background:var(--surface-canvas);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);min-height:38px;padding:0 10px}.adminCheckbox{align-items:center;background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);display:flex;gap:9px;min-height:38px;padding:9px 11px}.adminCheckbox input{accent-color:var(--brand-primary);flex:0 0 auto}.adminCheckbox span{font-size:12px;font-weight:700}.adminUsersTableWrap{border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow-x:auto}.adminUsersTable{border-collapse:collapse;min-width:900px;width:100%}.adminUsersTable th,.adminUsersTable td{border-bottom:1px solid var(--border-default);padding:12px;text-align:left;vertical-align:middle}.adminUsersTable tbody tr:last-child td{border-bottom:0}.adminUsersTable th{background:var(--surface-subtle);color:var(--text-tertiary);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.adminUsersTable tr:hover td{background:var(--surface-subtle)}.adminUsersTable code{color:var(--text-secondary);font-size:12px;white-space:nowrap}.adminUsersTable th:nth-child(4),.adminUsersTable td:nth-child(4){min-width:170px}.adminUsersTable th:nth-child(5),.adminUsersTable td:nth-child(5){width:150px}.adminUserCell{align-items:center;display:flex;gap:10px;min-width:220px}.adminUserCell>span:first-child{align-items:center;background:var(--brand-soft);border:1px solid rgba(32,127,139,.22);border-radius:8px;color:var(--brand-primary);display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:800;height:34px;justify-content:center;width:34px}.adminUserCell strong,.adminUserCell small{display:block}.adminUserCell small{color:var(--text-secondary);font-size:12px;margin-top:3px}.adminRolePill,.adminAccessPill{border-radius:var(--radius-pill);display:inline-flex;font-size:11px;font-weight:800;padding:4px 9px;white-space:nowrap}.adminRolePill{background:var(--brand-soft);color:var(--brand-primary)}.adminAccessPill-full{background:var(--success-soft);color:var(--status-success)}.adminAccessPill-view{background:var(--brand-soft);color:var(--brand-primary)}.adminAccessPill-none{background:var(--surface-subtle);color:var(--text-tertiary)}.adminRowActions{justify-content:flex-end}.btnDanger{background:var(--critical-soft);border:1px solid rgba(198,40,40,.2);color:var(--status-critical)}.btnDanger:hover{border-color:#c6282861}.btn:disabled,.primaryButton:disabled,.btnDanger:disabled{cursor:not-allowed;opacity:.58}.adminUsersEditor{position:sticky;top:84px}.adminEditorActions{justify-content:flex-start;margin-top:4px}.adminUsersNote{background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:12px;line-height:1.5;margin-top:14px;padding:11px 12px}.adminMatrixPanel .routeRows{margin-top:6px}.adminRoleGrid,.adminModuleGrid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.adminRoleCard,.adminModuleCard{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0;padding:16px}.adminRoleCard header,.adminModuleCard header{align-items:center;display:grid;gap:10px;grid-template-columns:34px minmax(0,1fr) auto}.adminRoleIcon{align-items:center;background:var(--brand-soft);border:1px solid rgba(32,127,139,.22);border-radius:9px;color:var(--brand-primary);display:inline-flex;height:34px;justify-content:center;width:34px}.adminRoleCard strong,.adminModuleCard strong{display:block;font-size:13px;font-weight:700}.adminRoleCard small,.adminModuleCard small,.adminCellSub{color:var(--text-secondary);display:block;font-size:12px;line-height:1.45;margin-top:3px}.adminRoleCard em,.adminModuleCard em{background:var(--surface-subtle);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:11px;font-style:normal;font-weight:800;padding:4px 9px;white-space:nowrap}.adminRoleStats{border-bottom:1px solid var(--border-default);border-top:1px solid var(--border-default);display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0 12px;padding:12px 0}.adminRoleStats span{min-width:0}.adminRoleStats strong{font-family:var(--font-brand);font-size:19px;letter-spacing:0}.adminRoleModules,.adminModuleRoles{display:flex;flex-wrap:wrap;gap:7px}.adminRoleActions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.adminRoleRoster{display:grid;gap:8px;margin-top:12px}.adminRoleRoster p{color:var(--text-secondary);font-size:12px;margin:0}.adminMiniUser{align-items:center;background:var(--surface-canvas);border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:9px;grid-template-columns:30px minmax(0,1fr) auto;min-height:48px;padding:8px 9px}.adminMiniUser>span:first-child{align-items:center;background:var(--brand-soft);border-radius:8px;color:var(--brand-primary);display:inline-flex;font-size:11px;font-weight:800;height:30px;justify-content:center;width:30px}.adminMiniUser strong,.adminMiniUser small{display:block}.adminMiniUser small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminRosterMore{justify-self:start;min-height:28px}.adminRoleMatrix{margin-top:14px}.adminAccessTable{min-width:1080px}.adminModuleCard code{background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);display:inline-flex;font-size:12px;margin:13px 0 12px;padding:5px 8px}.adminConfirmScrim{align-items:center;background:#0b141c6b;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:80}.adminConfirmDialog{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:420px;padding:18px;width:100%}.adminConfirmDialog header,.adminConfirmDialog>div{align-items:center;display:flex;gap:10px;justify-content:space-between}.adminConfirmDialog header{color:var(--status-critical);justify-content:flex-start}.adminConfirmDialog h2{color:var(--text-primary);font-family:var(--font-brand);font-size:17px;font-weight:600;letter-spacing:0}.adminConfirmDialog p{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:12px 0 18px}.emptyState{margin:20px auto;max-width:760px}.modulePage{max-width:1380px}.modulePage.wide,.mapPage{max-width:1480px}.page-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.page-title{font-family:var(--font-brand);font-size:24px;font-weight:600;letter-spacing:0;margin:0}.page-sub{color:var(--text-secondary);font-size:13px;margin-top:3px}.page-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.panel{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.panel-head{align-items:center;border-bottom:1px solid var(--border-default);display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.panel-head h3{font-family:var(--font-brand);font-size:15px;font-weight:600;letter-spacing:0}.banner{align-items:center;border:1px solid var(--border-default);border-radius:var(--radius-md);display:flex;font-size:13px;font-weight:600;gap:8px;margin-bottom:12px;padding:10px 12px}.banner-critical{background:var(--critical-soft);border-color:#e9c5c5;color:var(--status-critical)}.mod-kpis{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.mod-kpi{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px}.mod-kpi .mk-l{color:var(--text-secondary);font-size:12px;font-weight:600}.mod-kpi .mk-v{font-family:var(--font-brand);font-size:30px;font-weight:600;letter-spacing:0;margin-top:8px}.mod-kpi .mk-s{color:var(--text-secondary);font-size:12px;margin-top:5px}.mod-kpi-critical .mk-v,.mod-kpi-critical .mk-s{color:var(--status-critical)}.mod-kpi-high .mk-v,.mod-kpi-high .mk-s{color:var(--status-high)}.mod-kpi-success .mk-v,.mod-kpi-success .mk-s{color:var(--status-success)}.facilitySignalStrip{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;overflow:hidden}.facilitySignalStrip .panel-head{align-items:flex-start}.facilitySignalStrip .panel-head>div{display:grid;gap:2px}.facilitySignalGrid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));padding:14px}.facilitySignalCard{background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:5px;min-height:126px;padding:14px}.facilitySignalCard strong{color:var(--brand-primary);font-family:var(--font-brand);font-size:25px;font-weight:700;letter-spacing:0;overflow-wrap:anywhere}.facilitySignalCard small{color:var(--text-primary);font-size:13px;font-weight:700}.facilitySignalCard em{color:var(--text-secondary);font-size:11.5px;font-style:normal;overflow-wrap:anywhere}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.search{align-items:center;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);display:flex;gap:8px;height:34px;min-width:260px;padding:0 10px}.search input{background:transparent;border:0;color:var(--text-primary);flex:1;font:inherit;font-size:13px;min-width:0;outline:0}.select,.inp{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font:inherit;font-size:13px;height:34px;padding:0 10px}.textarea{height:88px;padding:9px 10px;resize:vertical}.tableScroller{overflow-x:auto}.tbl{background:var(--surface-panel);border:1px solid var(--border-default);border-collapse:collapse;border-radius:var(--radius-lg);overflow:hidden;width:100%}.tbl.flat{border:0;border-radius:0}.tbl thead th{background:var(--surface-subtle);border-bottom:1px solid var(--border-default);color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.05em;padding:9px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.tbl tbody td{border-bottom:1px solid var(--border-default);font-size:13px;padding:11px 12px;vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody tr{cursor:pointer}.tbl tbody tr:hover td{background:var(--surface-subtle)}.tbl .c-title{font-weight:600}.cell-2{display:flex;flex-direction:column;gap:2px}.cell-2 .sub{color:var(--text-secondary);font-size:11.5px}.num{font-variant-numeric:tabular-nums}.rowActions,.chipStack{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.sev{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:11.5px;font-weight:700;gap:5px;padding:3px 8px;white-space:nowrap}.sev .dot{border-radius:var(--radius-pill);height:6px;width:6px}.sev-critical{background:var(--critical-soft);color:var(--status-critical)}.sev-critical .dot{background:var(--status-critical)}.sev-high{background:var(--high-soft);color:var(--status-high)}.sev-high .dot{background:var(--status-high)}.sev-medium{background:var(--medium-soft);color:var(--status-medium)}.sev-medium .dot{background:var(--status-medium)}.sev-info{background:var(--info-soft);color:var(--status-info)}.sev-info .dot{background:var(--status-info)}.sev-success{background:var(--success-soft);color:var(--status-success)}.sev-success .dot{background:var(--status-success)}.sev-offline{background:var(--surface-subtle);color:var(--status-offline)}.sev-offline .dot{background:var(--status-offline)}.src{align-items:center;background:var(--surface-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);display:inline-flex;font-size:11.5px;font-weight:600;gap:5px;padding:2px 7px}.src-sensor{background:var(--accent-soft);color:#1c8784}.src-manual{background:var(--surface-subtle);color:var(--text-secondary)}.src-agent,.src-tenant_assistant{background:var(--info-soft);color:var(--status-info)}.cbx{align-items:center;background:var(--surface-panel);border:1.5px solid var(--border-strong);border-radius:4px;color:#fff;display:inline-flex;height:16px;justify-content:center;width:16px}.cbx.on{background:var(--brand-primary);border-color:var(--brand-primary)}.sw{background:var(--border-strong);border-radius:var(--radius-pill);height:24px;position:relative;transition:background .15s;width:42px}.sw.on{background:var(--brand-primary)}.sw .knob{background:#fff;border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);height:18px;left:3px;position:absolute;top:3px;transition:transform .15s;width:18px}.sw.on .knob{transform:translate(18px)}.tabs{border-bottom:1px solid var(--border-default);display:flex;gap:4px;margin:16px 0 12px}.tab{background:transparent;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:13px;font-weight:600;margin-bottom:-1px;padding:9px 14px}.tab.active{border-bottom-color:var(--brand-primary);color:var(--brand-primary)}.al-pipe{align-items:stretch;display:grid;gap:6px;grid-template-columns:repeat(6,minmax(150px,1fr));overflow-x:auto;padding:14px 16px}.al-stage{align-items:flex-start;background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);display:flex;gap:9px;min-height:72px;padding:10px;position:relative}.al-stage-ic{align-items:center;background:var(--surface-panel);border-radius:8px;color:var(--brand-primary);display:inline-flex;height:30px;justify-content:center;width:30px}.al-stage-t{font-size:12.5px;font-weight:800}.al-stage-s{color:var(--text-secondary);font-size:11.5px;line-height:1.35;margin-top:2px}.al-arrow-inline{color:var(--text-tertiary);margin-left:auto;margin-top:8px}.set-row{align-items:center;border-bottom:1px solid var(--border-default);display:flex;gap:16px;justify-content:space-between;padding:14px 16px}.set-row:last-child{border-bottom:0}.set-row .sl{font-size:13.5px;font-weight:700}.set-row .ss{color:var(--text-secondary);font-size:12px;margin-top:1px}.scrim{background:#141c285c;top:0;right:0;bottom:0;left:0;position:fixed;z-index:80}.slideover{background:var(--surface-panel);bottom:0;box-shadow:var(--shadow-overlay);display:flex;flex-direction:column;position:fixed;right:0;top:0;width:min(860px,94vw);z-index:81}.detail-head{align-items:center;border-bottom:1px solid var(--border-default);display:flex;gap:12px;padding:14px 18px}.detail-head .x{margin-left:auto}.detail-title{font-size:15px;font-weight:700}.detail-body{display:grid;flex:1;grid-template-columns:minmax(0,1fr) 300px;min-height:0}.detail-main{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:18px}.detail-side{border-left:1px solid var(--border-default);display:flex;flex-direction:column;gap:16px;padding:16px}.facts{display:grid;gap:12px 18px;grid-template-columns:repeat(2,minmax(0,1fr))}.fact .k{color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.fact .v{font-size:14px;font-weight:600;margin-top:3px}.detail-copy{font-size:13.5px;line-height:1.55;margin-top:6px}.timeline{display:flex;flex-direction:column;margin-top:10px}.tl-item{display:flex;gap:10px;padding-bottom:16px;position:relative}.tl-item:before{background:var(--border-default);bottom:-4px;content:"";left:9px;position:absolute;top:20px;width:2px}.tl-item:last-child:before{display:none}.tl-dot{align-items:center;background:var(--brand-soft);border-radius:var(--radius-pill);color:var(--brand-primary);display:inline-flex;flex-shrink:0;height:20px;justify-content:center;width:20px;z-index:1}.tl-t{font-size:13px;font-weight:700}.tl-m{color:var(--text-secondary);font-size:11.5px;margin-top:1px}.sla-timer{border:1px solid var(--border-default);border-radius:var(--radius-md);padding:12px}.sla-timer strong{display:block;font-size:20px;margin-top:4px}.sla-breached{background:var(--critical-soft);color:var(--status-critical)}.sla-risk{background:var(--medium-soft);color:var(--status-medium)}.detail-actions{display:flex;flex-direction:column;gap:8px;position:relative}.assign-pop{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);display:grid;gap:4px;padding:6px}.assign-pop button{align-items:center;background:transparent;border-radius:var(--radius-sm);color:var(--text-primary);display:flex;gap:8px;min-height:34px;padding:6px 8px;text-align:left}.assign-pop button:hover{background:var(--surface-subtle)}.assign-pop span{align-items:center;background:var(--brand-soft);border-radius:var(--radius-pill);color:var(--brand-primary);display:inline-flex;font-size:10px;font-weight:800;height:24px;justify-content:center;width:24px}.wiz-scrim{align-items:center;background:#0e1c2680;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:90}.wiz{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);display:flex;flex-direction:column;max-height:90vh;max-width:100%;overflow:hidden;width:560px}.alertRuleWiz{width:620px}.wiz-head,.wiz-foot{align-items:center;display:flex;gap:10px;justify-content:space-between;padding:14px 20px}.wiz-head{border-bottom:1px solid var(--border-default)}.wiz-head span{align-items:center;display:inline-flex;gap:9px;font-weight:700}.wiz-body{overflow-y:auto;padding:20px}.wiz-foot{border-top:1px solid var(--border-default)}.field-group{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field-group>span{font-size:12.5px;font-weight:700}.field-group .inp{width:100%}.formGrid2,.formGrid3,.conditionGrid{display:grid;gap:10px}.formGrid2{grid-template-columns:repeat(2,minmax(0,1fr))}.formGrid3{grid-template-columns:repeat(3,minmax(0,1fr))}.conditionGrid{grid-template-columns:1.4fr .75fr .85fr .7fr}.al-chips{display:flex;flex-wrap:wrap;gap:7px}.al-chip{align-items:center;background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-secondary);display:inline-flex;font-size:12px;font-weight:700;gap:5px;min-height:28px;padding:0 10px}.al-chip.on{background:var(--brand-soft);border-color:var(--brand-primary);color:var(--brand-primary)}.skel{animation:skel-pulse 1.2s ease-in-out infinite;background:linear-gradient(90deg,var(--surface-subtle),var(--surface-sunk),var(--surface-subtle));border-radius:var(--radius-sm);display:inline-block;height:14px;min-width:72px}@keyframes skel-pulse{0%,to{opacity:.6}50%{opacity:1}}.emptyInline{color:var(--text-secondary);font-size:13px;padding:24px;text-align:center}.widget-row{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:16px}.monitorTrend{min-height:220px;padding:18px}.monitorTrend svg{display:block;width:100%}.mini-list{display:flex;flex-direction:column}.mini-row{align-items:center;border-top:1px solid var(--border-default);display:flex;gap:10px;min-height:54px;padding:11px 16px}.mini-row:first-child{border-top:0}.mini-row .m-main{display:grid;flex:1;min-width:0}.mini-row .m-title{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-row .m-sub{color:var(--text-secondary);font-size:11.5px}.monitorTable{margin-top:16px}.map-wrap{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);display:grid;grid-template-columns:220px minmax(0,1fr) 310px;min-height:560px;overflow:hidden}.map-rail{border-right:1px solid var(--border-default);display:flex;flex-direction:column;min-width:0;overflow-y:auto}.rail-sec{border-bottom:1px solid var(--border-default);padding:12px}.rail-fill{flex:1}.floor-item{background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;margin-top:5px;min-height:34px;padding:7px 10px;text-align:left;width:100%}.floor-item:hover{background:var(--surface-subtle)}.floor-item.active{background:var(--brand-soft);color:var(--brand-primary);font-weight:700}.layer-row{align-items:center;display:flex;font-size:13px;gap:8px;padding:7px 0}.swatch{border-radius:3px;height:10px;width:10px}.toggle{background:var(--border-strong);border-radius:var(--radius-pill);height:20px;margin-left:auto;position:relative;width:34px}.toggle.on{background:var(--brand-primary)}.toggle .knob{background:#fff;border-radius:var(--radius-pill);height:16px;left:2px;position:absolute;top:2px;transition:transform .15s;width:16px}.toggle.on .knob{transform:translate(14px)}.place-chip{align-items:center;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);display:flex;gap:8px;margin-top:7px;padding:8px;text-align:left;width:100%}.place-chip:hover{border-color:var(--brand-accent)}.place-chip span:last-child{display:grid;min-width:0}.place-chip b,.place-chip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.place-chip b{font-size:12.5px}.place-chip small{color:var(--text-secondary);font-size:11px}.pc-grip{align-items:center;border:1.5px dashed var(--border-strong);border-radius:var(--radius-pill);color:var(--text-secondary);display:inline-flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.map-canvas{background:#eef2f6;display:flex;flex-direction:column;min-width:0;padding:18px}.plan{background:#fff;border:1px solid var(--border-default);border-radius:6px;box-shadow:var(--shadow-sm);min-height:0;position:relative;width:100%;aspect-ratio:3 / 2}.zone{background:#145c7208;border:1.5px dashed #c4d0dd;border-radius:4px;position:absolute}.zone .z-lbl{color:#8a97a6;font-size:10.5px;font-weight:700;left:7px;letter-spacing:.04em;position:absolute;text-transform:uppercase;top:5px}.marker{align-items:center;border:2px solid #fff;border-radius:var(--radius-pill);box-shadow:0 1px 4px #17202a4d;color:#fff;cursor:grab;display:flex;height:26px;justify-content:center;position:absolute;transform:translate(-50%,-50%);width:26px}.marker:hover{transform:translate(-50%,-50%) scale(1.12)}.marker.sel{outline:3px solid var(--brand-accent);outline-offset:2px}.marker.static{cursor:default;position:static;transform:none}.m-online{background:var(--status-success)}.m-alerting{background:var(--status-medium)}.m-offline{background:var(--status-offline)}.marker .ping{animation:ping 1.6s ease-out infinite;border:2px solid var(--status-medium);border-radius:var(--radius-pill);top:-2px;right:-2px;bottom:-2px;left:-2px;position:absolute}@keyframes ping{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.map-legend{align-items:center;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:0 0 var(--radius-md) var(--radius-md);display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;padding:8px 12px}.map-legend .lg{align-items:center;display:inline-flex;font-size:12px;gap:6px}.map-legend .dot{border-radius:var(--radius-pill);height:9px;width:9px}.map-legend .online{background:var(--status-success)}.map-legend .alerting{background:var(--status-medium)}.map-legend .offline{background:var(--status-offline)}.map-detail{border-left:1px solid var(--border-default);display:flex;flex-direction:column;overflow-y:auto}.md-head{align-items:center;border-bottom:1px solid var(--border-default);display:flex;gap:10px;padding:14px 16px}.md-head b,.md-head small{display:block}.md-head small{color:var(--text-secondary);font-size:12px}.mapDetailBody{display:flex;flex-direction:column;gap:14px;padding:16px}.mapEmpty{align-items:center;color:var(--text-secondary);display:flex;flex:1;flex-direction:column;justify-content:center;padding:24px;text-align:center}.player{background:var(--surface-canvas);display:flex;flex-direction:column;top:0;right:0;bottom:0;left:0;position:fixed;z-index:95}.player-top{align-items:center;border-bottom:1px solid var(--border-default);display:flex;gap:14px;padding:16px 22px}.player-title{font-family:var(--font-brand);font-size:17px;font-weight:600}.player-x{align-items:center;background:var(--surface-subtle);border-radius:var(--radius-pill);color:var(--text-secondary);display:inline-flex;height:38px;justify-content:center;margin-left:auto;width:38px}.player-stage{align-items:center;display:flex;flex:1;justify-content:center;min-height:0;padding:32px}.player-stage .plan{max-height:100%;max-width:1180px}@media(max-width:980px){.customerDashboardAdminWorkspace{grid-template-columns:1fr}.customerDashboardAppList{position:static}.customerDashboardPagePermissions,.customerDashboardReportFrame{grid-template-columns:repeat(2,minmax(0,1fr))}.customerDashboardReportFrame .iconButton{justify-self:end}.mod-kpis,.widget-row{grid-template-columns:repeat(2,minmax(0,1fr))}.map-wrap{grid-template-columns:1fr}.map-rail,.map-detail{border-left:0;border-right:0}.detail-body{grid-template-columns:1fr}.detail-side{border-left:0;border-top:1px solid var(--border-default)}.topbar{gap:8px}.tbBrand span,.tbSite span{display:none}.nav{width:72px}.navHome span,.navItem span,.navAccHead span,.navAccHead i,.navAccHead svg:last-child{display:none}.navHome,.navItem,.navAccHead{justify-content:center;padding:10px}.dashboardKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.adminUsersGrid,.adminRoleGrid,.adminModuleGrid{grid-template-columns:1fr}.adminUsersEditor{position:static}.incidentQueue,.askTile{grid-column:span 12}.loginShell{grid-template-columns:1fr}.loginStory{min-height:360px}}@media(max-width:640px){.customerDashboardHost{padding:12px}.customerDashboardHeader,.scopeBand{align-items:stretch;flex-direction:column}.scopeBandSummary{justify-items:start}.customerDashboardFrame{min-height:420px}.customerDashboardAdminEditor .toolPanel,.customerDashboardPagePermissions{grid-template-columns:minmax(0,1fr)}.customerDashboardReportViewport,.customerDashboardReportFrame{grid-template-columns:1fr}.topbar{padding:0 10px}.tbBrand strong{display:none}.tbBrand{padding-right:4px}.tbSite{max-width:168px}.tbSite span{display:inline;max-width:92px}.askJaryPanel{width:100%}.app.ajOpen .main{margin-right:0}.page,.pageStack{padding:16px}.bxHero{padding:22px}.bxHeroTop,.dashBar{align-items:stretch;flex-direction:column}.dashboardKpis,.mqttSummaryGrid,.signalSummaryGrid,.mod-kpis,.widget-row,.homePins,.overviewGrid,.pageAccessSummary,.pageAccessWorkspace,.routeKpiGrid,.routeWorkGrid,.routeGallery,.stateGrid,.contentGrid,.dashboardGrid{grid-template-columns:1fr}.pageAccessRail{position:static}.pageAccessWorkspace{min-height:0}.pageAccessSaveBar{align-items:stretch;flex-direction:column}.routeHeroPanel,.routePanelHead,.adminUsersHead{flex-direction:column}.routeHeroMeta{align-items:flex-start;min-width:0}.adminUsersHead,.adminUsersHeadTitle{align-items:flex-start}.adminUsersHead>.btn{align-self:stretch}.adminUsersTabs,.adminUsersToolbar,.adminUsersActions,.adminEditorActions{align-items:stretch;flex-direction:column;justify-self:stretch}.adminUsersToolbar,.mqttGrid,.mqttSubscriptionGrid,.mqttHealthWorkspace,.mqttForm,.mqttConfigCard dl,.mqttRuntimeSummary,.mqttPreview dl,.signalWorkbenchGrid{grid-template-columns:1fr}.mqttHealthToolbar{align-items:stretch;flex-direction:column}.mqttHealthToolbar .btn{align-self:flex-start}.mqttHealthDetail dl{grid-template-columns:1fr}.mqttHealthRoutes .sectionHeader{align-items:flex-start;flex-direction:column}.mqttHealthTable{min-width:0}.mqttHealthTable th:first-child{width:auto}.mqttHealthTable th:nth-child(2){width:100px}.mqttHealthTable th:nth-child(3),.mqttHealthTable td:nth-child(3),.mqttHealthTable th:nth-child(4),.mqttHealthTable td:nth-child(4){display:none}.mqttSubscriptionTable{min-width:0}.mqttSubscriptionTable .dataTableHead{display:none}.mqttSubscriptionTable .dataTableRow{align-items:stretch;gap:12px;grid-template-columns:1fr;padding:14px 8px}.mqttSubscriptionTable [role=cell]:before{color:var(--text-tertiary);content:attr(data-label);display:block;font-size:10px;font-weight:800;margin-bottom:5px;text-transform:uppercase}.mqttSubscriptionTable .mqttSubscriptionState,.mqttSubscriptionTable .rowActions{align-items:flex-start}.mqttPage,.signalPage{max-width:100%;overflow-x:hidden}.mqttPage .pageHeader,.signalPage .pageHeader,.signalEditorHeader{align-items:stretch;flex-direction:column}.mqttPage .tab,.signalTabs button{flex:0 0 auto}.mqttScopeBand,.signalScopeBand,.pageActions,.formActions{align-items:stretch;flex-direction:column}.signalScopeBand .btn,.signalIdField input{max-width:100%;min-width:0}.signalFilterRow,.signalTabs{overflow-x:auto}.signalSqlEditor textarea{min-height:360px}.mqttDataTable{overflow-x:auto}.adminUsersTabs{display:grid;grid-template-columns:1fr}.adminUsersActions,.adminEditorActions{display:grid}.adminRoleCard header,.adminModuleCard header,.adminMiniUser{grid-template-columns:30px minmax(0,1fr)}.adminRoleCard header em,.adminModuleCard header em,.adminMiniUser>.btn{grid-column:1 / -1;justify-self:start}.sitePop{left:-120px;width:min(94vw,680px)}.siteCols{grid-template-columns:1fr}.span3,.span4,.span8,.span12{grid-column:span 12}.homeGroup>div{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head,.set-row{align-items:stretch;flex-direction:column}.formGrid2,.formGrid3,.conditionGrid{grid-template-columns:1fr}.siteCol{border-right:0;border-bottom:1px solid var(--border-default);max-height:220px}.loginStory{padding:32px 24px}.loginRoles{grid-template-columns:1fr}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;font-size:14px;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input,select,textarea{font:inherit}button,a{cursor:pointer}h1,h2,h3,p{margin:0}
