p3xr-console { display: block; width: 100%; height: 100%; } .p3xr-console-root { display: flex; flex-direction: column; width: 100%; height: 100%; } .p3xr-console-root-embedded { overflow: hidden; #p3xr-console-content { flex: 1 1 auto; min-height: 0; } } p3xr-console .mat-toolbar { min-height: 48px; height: 48px; color: white; position: relative; z-index: 2; } p3xr-console .mat-toolbar * { color: inherit; } // Force mat-checkbox inside the console toolbar to use white outline/border // and transparent background (Angular Material uses internal CSS variables) p3xr-console .mat-toolbar .mat-mdc-checkbox { --mdc-checkbox-unselected-icon-color: rgba(255, 255, 255, 0.7); --mdc-checkbox-unselected-hover-icon-color: white; --mdc-checkbox-unselected-focus-icon-color: white; --mdc-checkbox-unselected-pressed-icon-color: white; --mdc-checkbox-selected-icon-color: rgba(255, 255, 255, 0.7); --mdc-checkbox-selected-hover-icon-color: white; --mdc-checkbox-selected-focus-icon-color: white; --mdc-checkbox-selected-pressed-icon-color: white; --mdc-checkbox-selected-checkmark-color: white; --mdc-checkbox-selected-container-color: transparent; --mdc-checkbox-selected-hover-state-layer-color: rgba(255, 255, 255, 0.1); --mdc-checkbox-selected-focus-state-layer-color: rgba(255, 255, 255, 0.1); --mdc-checkbox-selected-pressed-state-layer-color: rgba(255, 255, 255, 0.1); --mat-checkbox-label-text-color: white; // Direct override on the checkbox frame since CSS variables alone don't reach it .mdc-checkbox__background { border-color: rgba(255, 255, 255, 0.7) !important; } // When checked, make the container transparent with white checkmark .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background, .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background { border-color: white !important; background-color: transparent !important; .mdc-checkbox__checkmark { color: white !important; } } } // Buttons inside console toolbar: inherit color, match AngularJS md-button styling p3xr-console .mat-toolbar .mat-mdc-button-base:not(.mat-mdc-fab-base) { color: inherit !important; letter-spacing: 0.1px !important; text-transform: uppercase !important; height: 36px !important; min-height: 36px !important; min-width: auto !important; padding: 0px 8px !important; margin: 0px 8px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; // Hover: lighten on dark toolbar background (matches header buttons) &:hover { background-color: rgba(255, 255, 255, 0.15) !important; } } p3xr-console .mat-toolbar .mat-mdc-button-base:not(.mat-mdc-fab-base) *, p3xr-console .mat-toolbar .mat-mdc-button-base:not(.mat-mdc-fab-base) .mdc-button__label { color: inherit !important; letter-spacing: 0.1px !important; } p3xr-console .mat-toolbar mat-icon, p3xr-console .mat-toolbar .material-icons { font-size: 24px; width: 24px; height: 24px; } .p3xr-console-toolbar-tools { display: flex; align-items: center; width: 100%; height: 100%; padding: 0 8px; } .p3xr-console-toolbar-actions { display: inline-flex; align-items: center; } .p3xr-console-title { font-size: 20px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .p3xr-toolbar-spacer { flex: 1 1 auto; } .p3xr-console-monitor-wrap { position: relative; display: inline-flex; align-items: center; } .p3xr-console-monitor-label { white-space: nowrap; font-size: 20px; } // Scale down the checkbox to match AngularJS (transform: scale(0.75)) p3xr-console .mat-toolbar .p3xr-console-monitor-wrap .mat-mdc-checkbox { transform: scale(0.75); } // PubSub monitor pattern popup — appears on hover below the checkbox .p3xr-monitor-input { position: absolute; top: 48px; left: 50%; transform: translateX(-50%); z-index: 10; } .p3xr-monitor-input-toolbar { border: none; padding: 6px; min-height: 0; border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; } // Match the main console command input sizing .p3xr-monitor-pattern-input { width: 200px; height: 40px; font-size: 16px; font-family: 'Roboto Mono', monospace !important; font-weight: 500; box-sizing: border-box; padding: 3px; border-style: solid; border-width: 2px; margin: 1px; } .p3xr-monitor-pattern-input:focus { margin: 0; border-width: 3px; outline: none; } #p3xr-console-content { font-family: 'Roboto Mono', monospace; text-align: center; #p3xr-console-content-resizer { cursor: ew-resize; position: relative; left: -10px; width: 20px !important; } #p3xr-console-content-output { min-width: calc(100% - 20px); text-align: left; overflow: auto; pre { font-family: 'Roboto Mono', monospace; } } } .p3xr-console-content-output-item:before { content: "> "; opacity: 0.5; } // Console input #p3xr-console-autocomplete { position: relative; overflow: hidden; width: 100% } #p3xr-console-autocomplete.p3xr-console-autocomplete-embedded { position: relative; width: 100%; min-width: 0; overflow-x: hidden; } #p3xr-console-autocomplete.p3xr-console-autocomplete-embedded #p3xr-console-input { min-width: 100%; width: 100%; position: relative; box-sizing: border-box; overflow: hidden; } p3xr-console.p3xr-console-embedded-collapsed #p3xr-console-autocomplete.p3xr-console-autocomplete-embedded #p3xr-console-input { min-width: calc(100% - 1px); width: calc(100% - 1px); } #p3xr-console-input { width: 100%; box-sizing: border-box; height: 38px; padding: 3px; border-style: solid; border-width: 2px; margin: 1px; font-family: 'Roboto Mono', monospace; } #p3xr-console-input:focus { margin: 0; border-width: 3px; outline: none; } // Mat-autocomplete panel styling for console .p3xr-console-autocomplete-panel.mat-mdc-autocomplete-panel { font-family: 'Roboto Mono', monospace; font-size: 13px; .mat-mdc-option { min-height: 32px; font-size: 13px; font-family: 'Roboto Mono', monospace; } } @media (max-width: 959px) { .p3xr-console-root-embedded #p3xr-console-content-output { overflow-x: hidden; pre { white-space: pre-wrap; word-break: break-word; overflow-wrap: anywhere; } } }