/* ===================================================================
   AKAMAI GUARDICORE SEGMENTATION - CONSOLIDATED STYLESHEET
   Consolidated from asset-inventory.html inline styles - 2026-06-09
   =================================================================== */

    :root {
      /* Akamai Design System Tokens - Core Colors */
      --color-background-neutral: #F7F7FA;
      --color-neutral-5: #fafafa;
      --color-neutral-40: #ebebeb;
      --color-neutral-70: #999999;
      --color-neutral-90: #666666;

      /* Component Colors */
      --component-globalheader-background: #232326;
      --component-globalheader-border: #3d3d42;
      --component-globalheader-search-background: #3d3d42;
      --component-globalheader-search-text-placeholder: #d6d6dd;
      --component-globalheader-text-default: #d6d6dd;
      --component-globalheader-badge-background: #d63c42;
      --component-globalheader-badge-text: #ffffff;

      --component-button-primary-background: #0174bc;
      --component-button-primary-text: #ffffff;

      /* Spacing Scale */
      --spacing-s2: 2px;
      --spacing-s4: 4px;
      --spacing-s6: 6px;
      --spacing-s8: 8px;
      --spacing-s12: 12px;
      --spacing-s16: 16px;
      --spacing-s20: 20px;
      --spacing-s24: 24px;
      --spacing-s32: 32px;

      /* Typography */
      --font-family-brand: 'Nunito Sans', sans-serif;
      --font-size-xxxs: 12px;
      --font-size-xs: 14px;
      --font-weight-normal: 400;
      --font-weight-semibold: 600;
      --font-weight-bold: 700;
      --font-weight-extrabold: 800;
      --line-height-xxxs: 16px;
      --line-height-xs: 20px;

      /* Side Navigation */
      --sidenav-collapsed-width: 56px;
      --sidenav-expanded-width: 240px;
      --sidenav-background: #ffffff;
      --sidenav-border: #ebebeb;
      --sidenav-item-hover: #f7f7fa;
      --sidenav-item-active: #e6f2ff;
      --sidenav-item-active-border: #0174bc;
      --sidenav-text-default: #232326;
      --sidenav-text-muted: #999999;

      /* Footer */
      --footer-background: #F7F7FA;
      --footer-border: #D6D6DD;
      --footer-text: #232326;
    }

    /* Dark Mode Overrides */
    body.dark-mode {
      --color-background-neutral: #1a1a1d;
      --color-neutral-5: #232326;
      --color-neutral-40: #3d3d42;
      --color-neutral-70: #999999;
      --color-neutral-90: #d6d6dd;

      --sidenav-background: #232326;
      --sidenav-border: #3d3d42;
      --sidenav-item-hover: #2a2a2e;
      --sidenav-item-active: #1e3a52;
      --sidenav-item-active-border: #4da3e0;
      --sidenav-text-default: #d6d6dd;
      --sidenav-text-muted: #999999;

      --footer-background: #232326;
      --footer-border: #3d3d42;
      --footer-text: #d6d6dd;
    }

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: var(--font-family-brand);
      background-color: var(--color-background-neutral);
      margin: 0;
      padding: 0;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      transition: background-color 0.3s ease;
      overflow-x: hidden;
      /* Reserves the vertical scrollbar's width whether or not the page
         is tall enough to need one, so .main-content-container's
         centered position (and the page title inside it) doesn't shift
         between a short UI_ page (no scrollbar) and a tall one (real
         scrollbar) — that shift was reported as page titles "jumping
         around" when navigating between UI_ projects via .component-nav.
         Does not force a visible scrollbar to always render (unlike
         overflow-y:scroll), so this doesn't conflict with the
         "scrollbars should only appear when content genuinely needs
         scrolling" rule above. There are two near-identical `body`
         blocks in this stylesheet (this and one further down) — both
         updated, matching this codebase's established "check for
         duplicate/drifted declarations before assuming one fix is
         enough" lesson (see the widget-row gap history in the root
         CLAUDE.md). */
      scrollbar-gutter: stable;
    }

    /* ACC Header */
    .acc-header {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 56px;
      background-color: var(--component-globalheader-background);
      border-bottom: 1px solid var(--component-globalheader-border);
      display: flex;
      align-items: center;
      gap: var(--spacing-s32);
      padding: 0;
      z-index: 1000;
    }

    /* Left Side */
    .header-left {
      display: flex;
      flex: 1;
      gap: var(--spacing-s32);
      align-items: center;
      min-width: 0;
    }

    .logo-menu {
      display: flex;
      gap: var(--spacing-s16);
      align-items: center;
      flex-shrink: 0;
    }

    .hamburger-icon {
      width: 56px;
      height: 56px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #4067e5;
      flex-shrink: 0;
    }

    .hamburger-icon-inner {
      width: 24px;
      height: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
    }

    .hamburger-icon img {
      width: 20px;
      height: 14px;
      display: block;
      object-fit: contain;
    }

    .logo {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .logo-container {
      width: 83px;
      height: 34px;
      position: relative;
      transform: scaleY(-1);
    }

    .logo-container img {
      position: absolute;
      display: block;
    }

    /* Search Bar */
    .search-bar {
      flex: 1;
      max-width: 800px;
      min-width: 0;
      height: 34px;
      background-color: var(--component-globalheader-search-background);
      border: 1px solid var(--component-globalheader-border);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 7px 9px;
    }

    .search-input-group {
      display: flex;
      gap: var(--spacing-s8);
      align-items: center;
      flex: 1;
      min-width: 0;
    }

    .search-icon {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .search-icon img {
      width: 20px;
      height: 20px;
      display: block;
      object-fit: contain;
    }

    .search-placeholder {
      font-size: var(--font-size-xs);
      font-style: italic;
      font-weight: var(--font-weight-normal);
      color: var(--component-globalheader-search-text-placeholder);
      line-height: var(--line-height-xs);
      white-space: nowrap;
    }

    .search-filter {
      display: flex;
      align-items: center;
      gap: var(--spacing-s4);
      flex-shrink: 0;
      cursor: pointer;
    }

    .filter-text {
      font-size: var(--font-size-xxxs);
      font-weight: var(--font-weight-semibold);
      color: var(--component-globalheader-search-text-placeholder);
      line-height: var(--line-height-xxxs);
      white-space: nowrap;
    }

    .chevron-icon {
      width: 16px;
      height: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .chevron-icon img {
      width: 9.33px;
      height: 5.33px;
      display: block;
      object-fit: contain;
    }

    /* Right Side */
    .header-right {
      display: flex;
      gap: var(--spacing-s32);
      align-items: center;
      flex-shrink: 0;
      padding: 0 12px;
    }

    /* Create Button */
    .create-button {
      background-color: var(--component-button-primary-background);
      border: 1px solid var(--component-button-primary-background);
      display: flex;
      gap: var(--spacing-s4);
      align-items: center;
      justify-content: center;
      width: 89px;
      height: 34px;
      cursor: pointer;
      transition: opacity 0.2s;
      flex-shrink: 0;
    }

    .create-button:hover {
      opacity: 0.9;
    }

    .create-button-icon {
      width: 12px;
      height: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .create-button-icon img {
      width: 12px;
      height: 12px;
      display: block;
      object-fit: contain;
    }

    .create-button-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: var(--component-button-primary-text);
      line-height: var(--line-height-xxxs);
      white-space: nowrap;
    }

    /* Icons & Account */
    .icons-account-group {
      display: flex;
      gap: var(--spacing-s32);
      align-items: center;
    }

    .utility-icons {
      display: flex;
      gap: var(--spacing-s16);
      align-items: center;
      position: relative;
    }

    .utility-icon {
      width: 24px;
      height: 24px;
      cursor: pointer;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .utility-icon img {
      display: block;
      object-fit: contain;
    }

    /* All utility icons - 24x24 */
    .utility-icon:nth-child(1) img,
    .utility-icon:nth-child(2) img,
    .utility-icon:nth-child(3) img {
    /*.utility-icon:nth-child(4)*/
      width: 24px;
      height: 24px;
    }

    .utility-icon:nth-child(4) img {
      width: 20px;
      height: 20px;
    }


    /* Notification Badge */
    .notification-badge {
      position: absolute;
      right: -8px;
      top: -8px;
      background-color: var(--component-globalheader-badge-background);
      border-radius: 40px;
      height: 20px;
      padding: 4px 6px;
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 20px;
    }

    .badge-text {
      font-size: var(--font-size-xxxs);
      font-weight: var(--font-weight-bold);
      color: var(--component-globalheader-badge-text);
      line-height: 12px;
      text-align: center;
    }

    /* Account Section */
    .account-section {
      display: flex;
      gap: var(--spacing-s8);
      align-items: center;
      cursor: pointer;
    }

    .account-info {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      line-height: var(--line-height-xxxs);
      color: var(--component-globalheader-text-default);
      font-size: var(--font-size-xxxs);
    }

    .account-name {
      font-weight: var(--font-weight-semibold);
    }

    .account-company {
      font-weight: var(--font-weight-extrabold);
      text-transform: uppercase;
      letter-spacing: 0.36px;
    }

    .account-chevron {
      width: 16px;
      height: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .account-chevron img {
      width: 9.33px;
      height: 5.33px;
      display: block;
      object-fit: contain;
    }

    /* Ribbon Bar */
    .ribbon-bar {
      position: fixed;
      top: 56px;
      left: 0;
      width: 100%;
      height: 60px;
      background: #F7F7FA;
      display: flex;
      align-items: center;
      z-index: 999;
      border-bottom: 1px solid #D6D6DD;
    }

    .ribbon-bar::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 6px;
      background: linear-gradient(270deg, #00B050 0%, #12A594 50%, #009CDE 100%);
    }

    .ribbon-container {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 6px 16px 0 3px;
      gap: 16px;
      height: 100%;
    }

    .ribbon-left {
      display: flex;
      align-items: center;
      gap: 8px;
      flex: 1;
      min-width: 0;
      padding: 0 16px;
      height: 32px;
    }

    .ribbon-breadcrumb {
      font-family: var(--font-family-brand);
      font-size: 16px;
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
      white-space: nowrap;
    }

    .ribbon-separator {
      font-family: var(--font-family-brand);
      font-size: 16px;
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
    }

    .ribbon-breadcrumb-current {
      font-family: var(--font-family-brand);
      font-size: 16px;
      font-weight: var(--font-weight-bold);
      color: #343438;
      line-height: 20px;
      white-space: nowrap;
    }

    .ribbon-right {
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 0 16px;
    }

    .ribbon-link {
      display: flex;
      align-items: center;
      gap: 4px;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
      cursor: pointer;
    }

    .ribbon-link img {
      width: 16px;
      height: 16px;
      filter: brightness(0) saturate(100%) invert(22%) sepia(3%) saturate(596%) hue-rotate(202deg) brightness(98%) contrast(92%);
    }

    .ribbon-text-link {
      font-family: var(--font-family-brand);
      font-size: 12px;
      font-weight: 700;
      color: #343438;
      line-height: 20px;
      text-decoration: none;
      white-space: nowrap;
      cursor: pointer;
    }

    .ribbon-text-link:hover {
      text-decoration: underline;
    }

    .ribbon-title-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: white;
      line-height: var(--line-height-xxxs);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      flex-shrink: 0;
    }

    /* Side Navigation */
    .side-navigation {
      position: fixed;
      left: 0;
      top: 116px;
      bottom: 0;
      width: var(--sidenav-collapsed-width);
      background-color: var(--color-background-neutral);
      border-right: 1px solid #D6D6DD;
      transition: width 0.3s ease;
      overflow: hidden;
      z-index: 100;
    }

    .side-navigation.expanded {
      width: var(--sidenav-expanded-width);
    }

    .side-nav-menu {
      position: relative;
      height: 100%;
      padding: var(--spacing-s16) 0 0 0;
    }

    .side-nav-item {
      width: 100%;
      height: 44px;
      display: flex;
      align-items: center;
      padding: 0 var(--spacing-s16);
      cursor: pointer;
      background-color: transparent;
      transition: background-color 0.15s;
      position: relative;
    }

    .side-nav-item.multi-line {
      height: auto;
      min-height: 44px;
      align-items: flex-start;
      padding: var(--spacing-s12) var(--spacing-s16);
    }

    .side-nav-item.multi-line .side-nav-item-icon {
      margin-top: -2px;
    }

    .side-nav-item:hover {
      background-color: var(--sidenav-item-hover);
    }

    .side-nav-item.active {
      background-color: var(--sidenav-item-active);
    }

    .side-nav-item-icon {
      width: 24px;
      height: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      margin-right: var(--spacing-s12);
      background-color: transparent;
    }

    .side-nav-item-icon img {
      width: 20px;
      height: 20px;
      display: block;
      object-fit: contain;
      background-color: transparent;
    }

    .side-nav-item.active .side-nav-item-icon {
      background-color: transparent;
    }

    .icon-with-circle {
      position: relative;
      background: none !important;
    }

    .icon-with-circle img {
      background: none !important;
    }

    .icon-circle-bg {
      position: absolute;
      width: 24px;
      height: 24px;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
    }

    .icon-circle-bot {
      background-color: #fde9d2;
      border-radius: 50%;
    }

    .icon-with-circle .icon-inner {
      position: absolute;
      width: 16px;
      height: 16px;
      left: 4px;
      top: 4px;
      z-index: 1;
    }

    .icon-with-circle .icon-inner img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: contain;
    }

    .icon-inner-small {
      width: 12px !important;
      height: 12px !important;
      left: 6px !important;
      top: 6px !important;
    }

    .icon-inner-api {
      width: 13.33px !important;
      height: 12px !important;
      left: 5.33px !important;
      top: 6px !important;
    }

    .side-nav-item-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: var(--sidenav-text-default);
      line-height: var(--line-height-xs);
      white-space: nowrap;
      opacity: 0;
      transition: opacity 0.2s ease;
    }

    .side-navigation.expanded .side-nav-item-text {
      opacity: 1;
    }

    .side-nav-item.active .side-nav-item-text {
      color: var(--sidenav-item-active-border);
    }

    .side-nav-divider {
      width: 40px;
      height: 1px;
      background-color: var(--sidenav-border);
      margin: var(--spacing-s16) auto 0 auto;
      transition: width 0.3s ease;
    }

    .side-navigation.expanded .side-nav-divider {
      width: calc(100% - 32px);
    }

    .side-nav-dark-mode {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-top: var(--spacing-s20);
    }

    .dark-mode-toggle {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: var(--spacing-s8);
    }

    .toggle-switch {
      position: relative;
      display: inline-block;
      width: 36px;
      height: 20px;
      transform: rotate(90deg);
    }

    .toggle-switch input {
      opacity: 0;
      width: 0;
      height: 0;
    }

    .toggle-slider {
      position: absolute;
      cursor: pointer;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: #D6D6DD;
      transition: 0.3s;
      border-radius: 20px;
    }

    .toggle-slider:before {
      position: absolute;
      content: "";
      height: 16px;
      width: 16px;
      left: 2px;
      bottom: 2px;
      background-color: white;
      transition: 0.3s;
      border-radius: 50%;
    }

    input:checked + .toggle-slider {
      background-color: #0174BC;
    }

    input:checked + .toggle-slider:before {
      transform: translateX(16px);
    }

    .dark-mode-label {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: var(--sidenav-text-default);
      line-height: var(--line-height-xs);
      white-space: nowrap;
      opacity: 0;
      transition: opacity 0.2s ease;
      margin-top: var(--spacing-s8);
    }

    .side-navigation.expanded .dark-mode-label {
      opacity: 1;
    }

    .side-nav-footer {
      width: var(--sidenav-collapsed-width);
      display: flex;
      flex-direction: column;
      align-items: center;
      position: absolute;
      bottom: var(--spacing-s20);
      left: 0;
    }

    .side-nav-chevron {
      width: 20px;
      height: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: var(--spacing-s20);
      cursor: pointer;
      transition: transform 0.3s ease;
    }

    .side-navigation.expanded .side-nav-chevron {
      transform: rotate(180deg);
    }

    .side-nav-chevron img {
      width: 20px;
      height: 20px;
      display: block;
      object-fit: contain;
      filter: brightness(0) saturate(100%) invert(44%) sepia(2%) saturate(342%) hue-rotate(202deg) brightness(94%) contrast(86%);
    }

    /* Dark Mode - Side Navigation */
    body.dark-mode .side-navigation {
      background-color: var(--sidenav-background);
      border-right: 1px solid var(--sidenav-border);
    }

    body.dark-mode .side-nav-item:hover {
      background-color: var(--sidenav-item-hover);
    }

    body.dark-mode .side-nav-item.active {
      background-color: var(--sidenav-item-active);
    }

    body.dark-mode .side-nav-item-text {
      color: var(--sidenav-text-default);
    }

    body.dark-mode .side-nav-item-icon img {
      filter: brightness(0) saturate(100%) invert(85%) sepia(5%) saturate(115%) hue-rotate(202deg) brightness(95%) contrast(90%);
    }

    body.dark-mode .side-nav-chevron img {
      filter: brightness(0) saturate(100%) invert(85%) sepia(5%) saturate(115%) hue-rotate(202deg) brightness(95%) contrast(90%);
    }

    /* Layout Container */
    .layout-container {
      position: relative;
      flex: 1;
      padding-top: 116px;
    }

    /* Content Area */
    .content-area {
      background-color: var(--color-background-neutral);
      margin-left: var(--sidenav-collapsed-width);
      transition: margin-left 0.3s ease;
      padding: var(--spacing-s32);
    }

    .side-navigation.expanded + .content-area {
      margin-left: var(--sidenav-expanded-width);
    }

    /* Main Content Container */
    .main-content-container {
      max-width: 1295px;
      margin: 0 auto;
      width: 100%;
      transition: max-width 0.3s ease;
    }

    .main-content-container.full-width {
      max-width: 10000px;
    }

    /* Page Title */
    .page-title {
      font-family: var(--font-family-brand);
      font-size: 24px;
      font-weight: var(--font-weight-bold);
      color: var(--sidenav-text-default);
      line-height: 32px;
      margin-bottom: var(--spacing-s16);
    }

    .page-instructions {
      font-family: var(--font-family-brand);
      font-size: 16px;
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: var(--line-height-xs);
      margin-bottom: 0;
    }

    body.dark-mode .page-instructions {
      color: var(--sidenav-text-default);
    }

    .learn-more-link {
      color: #0174BC;
      text-decoration: none;
      margin-left: 4px;
    }

    .learn-more-link:hover {
      text-decoration: underline;
    }

    .page-instructions-icons {
      display: flex;
      align-items: center;
      gap: 16px;
      overflow: visible;
      position: relative;
      z-index: 10;
    }

    .page-instructions-divider {
      width: 1px;
      height: 20px;
      background-color: #D6D6DD;
    }

    body.dark-mode .page-instructions-divider {
      background-color: var(--sidenav-border);
    }

    .filter-badge {
      position: relative;
      background-color: #d63c42;
      border-radius: 40px;
      height: 20px;
      width: 20px;
      padding: 4px 6px;
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 20px;
      z-index: 9999;
      pointer-events: none;
      left: 99.5%;
      top: -40px;
      visibility: hidden;
    }

    .learn-more-icon-wrapper {
      position: relative !important;
      display: inline-flex;
      overflow: visible !important;
      padding: 0 !important;
      margin: 0 !important;
    }

    .learn-more-icon {
      flex-shrink: 0;
      filter: brightness(0) saturate(100%) invert(22%) sepia(3%) saturate(596%) hue-rotate(202deg) brightness(98%) contrast(92%);
      cursor: pointer;
    }

    .learn-more-icon[data-tooltip]::after {
      content: attr(data-tooltip);
      position: absolute;
      bottom: calc(100% + 8px);
      left: 50%;
      transform: translateX(-50%);
      background: #343438;
      color: white;
      padding: 6px 12px;
      border-radius: 4px;
      font-family: var(--font-family-brand);
      font-size: 12px;
      font-weight: 400;
      white-space: nowrap;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.1s ease;
      z-index: 1000;
    }

    .learn-more-icon[data-tooltip]:hover::after {
      opacity: 1;
      transition-delay: 0.2s;
    }

    /* Filter Row */
    .filter-row {
      display: flex;
      align-items: flex-end;
      gap: 12px;
      margin-bottom: 24px;
    }

    .filter-row-item {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .filter-row-item:nth-child(1),
    .filter-row-item:nth-child(2),
    .filter-row-item:nth-child(3) {
      width: 204px;
    }

    .filter-row-item:nth-child(4) {
      width: 40%;
    }

    .filter-label {
      font-family: var(--font-family-brand);
      font-size: 14px;
      font-weight: var(--font-weight-semibold);
      color: #343438;
      line-height: 20px;
    }

    body.dark-mode .filter-label {
      color: var(--sidenav-text-default);
    }

    .filter-select-wrapper {
      position: relative;
      width: 100%;
    }

    .filter-select-display {
      width: 100%;
      height: 34px;
      padding: 6px 8px;
      border: 1px solid #83838C;
      background: #FFFFFF;
      font-family: var(--font-family-brand);
      font-size: 14px;
      font-weight: 400;
      line-height: 20px;
      color: #232326;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .filter-select-display:hover {
      border-color: var(--color-neutral-90);
    }

    body.dark-mode .filter-select-display {
      background: var(--sidenav-background);
      color: var(--sidenav-text-default);
      border-color: #83838C;
    }

    .filter-select-text {
      flex: 1;
    }

    .filter-select-chevron {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
      transition: transform 0.2s;
      filter: brightness(0) saturate(100%) invert(23%) sepia(4%) saturate(398%) hue-rotate(202deg) brightness(94%) contrast(90%);
    }

    .filter-select-display.open .filter-select-chevron {
      transform: rotate(180deg);
    }

    .filter-dropdown {
      display: none;
      position: fixed;
      background: white;
      border: 1px solid #D6D6DD;
      border-radius: 4px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      z-index: 100000;
      padding: 4px 0;
      min-width: 200px;
    }

    .filter-dropdown.show {
      display: block;
    }

    #filterDropdownConfiguration {
      min-width: auto;
      width: auto;
    }

    body.dark-mode .filter-dropdown {
      background: #2C2C2E;
      border-color: var(--sidenav-border);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
    }

    .filter-dropdown-item {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 8px 10px;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      cursor: pointer;
      transition: background-color 0.15s;
      user-select: none;
    }

    .filter-dropdown-item:hover {
      background: #EDF8FF;
    }

    body.dark-mode .filter-dropdown-item {
      color: var(--sidenav-text-default);
    }

    body.dark-mode .filter-dropdown-item:hover {
      background: var(--sidenav-item-hover);
    }

    .filter-dropdown-item input[type="checkbox"] {
      position: absolute;
      opacity: 0;
      width: 20px;
      height: 20px;
      margin: 0;
      padding: 0;
      cursor: pointer;
    }

    .filter-clear-btn {
      height: 34px;
      padding: 0 13px;
      background: white;
      border: 1px solid #0174BC;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #0174BC;
      cursor: pointer;
      white-space: nowrap;
      transition: background-color 0.15s;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .filter-clear-btn:hover {
      background: #F7F7FA;
    }

    body.dark-mode .filter-clear-btn {
      background: var(--sidenav-background);
      border-color: #0174BC;
    }

    body.dark-mode .filter-clear-btn:hover {
      background: var(--sidenav-item-hover);
    }

    /* Top Panels Row */
    .top-panels-row {
      display: flex;
      gap: 24px;
      margin-bottom: 24px;
    }

    .stats-panel {
      flex: 1;
      background: white;
      border: 1px solid #D6D6DD;
      border-radius: 4px;
      padding: 16px;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    body.dark-mode .stats-panel {
      background: var(--sidenav-background);
      border-color: var(--sidenav-border);
    }

    .stats-panel-title {
      font-family: var(--font-family-brand);
      font-size: 16px;
      font-weight: var(--font-weight-bold);
      color: #343438;
      line-height: 20px;
    }

    body.dark-mode .stats-panel-title {
      color: var(--sidenav-text-default);
    }

    .stats-panel-items {
      display: flex;
      gap: 32px;
    }

    .stats-item {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 4px;
      align-items: center;
      position: relative;
    }

    .stats-item:not(:last-child)::after {
      content: '';
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 1px;
      height: 24px;
      background-color: #D6D6DD;
    }

    body.dark-mode .stats-item:not(:last-child)::after {
      background-color: var(--sidenav-border);
    }

    .stats-value {
      font-family: var(--font-family-brand);
      font-size: 24px;
      font-weight: var(--font-weight-bold);
      color: #343438;
      line-height: 30px;
    }

    body.dark-mode .stats-value {
      color: var(--sidenav-text-default);
    }

    .stats-label {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #67676E;
      line-height: 20px;
      text-align: center;
    }

    body.dark-mode .stats-label {
      color: var(--sidenav-text-default);
    }

    .stats-badge {
      display: flex;
      height: 20px;
      padding: var(--global-spacing-s4, 4px) var(--global-spacing-s6, 6px);
      justify-content: center;
      align-items: center;
      gap: var(--global-spacing-s2, 2px);
      flex-shrink: 0;
      border-radius: 4px;
      font-family: 'Nunito Sans', sans-serif;
      font-size: var(--font-size-xxxs);
      font-weight: var(--font-weight-semibold);
      white-space: nowrap;
      background: white;
      color: #343438;
    }

    body.dark-mode .stats-badge {
      background: var(--sidenav-background);
      color: var(--sidenav-text-default);
    }

    /* Table Search Bar */
    .table-search-container {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 16px;
    }

    .table-search-bar {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 8px 12px;
      background: white;
      border: 1px solid #D6D6DD;
      border-radius: 4px;
      width: 400px;
    }

    body.dark-mode .table-search-bar {
      background: var(--sidenav-background);
      border-color: var(--sidenav-border);
    }

    .table-search-icon {
      flex-shrink: 0;
      opacity: 0.6;
    }

    .table-search-input {
      flex: 1;
      border: none;
      outline: none;
      background: transparent;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
    }

    .table-search-input::placeholder {
      color: #83838C;
    }

    body.dark-mode .table-search-input {
      color: var(--sidenav-text-default);
    }

    body.dark-mode .table-search-input::placeholder {
      color: #A3A3AB;
    }

    /* Table Filter Select */
    .table-filter-container {
      display: flex;
      align-items: center;
      gap: 16px;
    }

    .table-filter-container .hidden-assets-toggle {
      margin-right: 8px;
    }

    .table-filter-divider {
      width: 1px;
      height: 20px;
      background-color: #D6D6DD;
      margin-left: 16px;
    }

    body.dark-mode .table-filter-divider {
      background-color: var(--sidenav-border);
    }

    .table-filter-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .table-filter-icon img {
      opacity: 0.6;
    }

    .table-filter-label {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #343438;
      line-height: 20px;
    }

    body.dark-mode .table-filter-label {
      color: var(--sidenav-text-default);
    }

    .table-filter-select {
      position: relative;
      display: inline-block;
      width: 148px;
    }

    .table-filter-select::after {
      display: none !important;
    }

    .custom-select-display {
      width: 100%;
      padding: 6px 8px;
      border: 1px solid #83838C;
      background: #FFFFFF;
      font-family: var(--font-family-brand);
      font-size: 14px;
      font-weight: 400;
      line-height: 20px;
      color: #232326;
      cursor: pointer;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .display-filter-chevron {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
      filter: brightness(0) saturate(100%) invert(23%) sepia(4%) saturate(398%) hue-rotate(202deg) brightness(94%) contrast(90%);
    }

    .custom-select-display:hover {
      border-color: var(--color-neutral-90);
    }

    body.dark-mode .custom-select-display {
      background: var(--sidenav-background);
      color: var(--sidenav-text-default);
      border-color: #83838C;
    }

    body.dark-mode .custom-select-display:hover {
      border-color: var(--color-neutral-90);
    }

    .display-filter-dropdown {
      display: none;
      position: fixed;
      background: white;
      border: 1px solid #D6D6DD;
      border-radius: 4px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      width: 148px;
      z-index: 1000;
      padding: 4px 0;
    }

    .display-filter-dropdown.show {
      display: block;
    }

    body.dark-mode .display-filter-dropdown {
      background: #2C2C2E;
      border-color: var(--sidenav-border);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
    }

    .display-filter-item {
      width: 100%;
      background: none;
      border: none;
      padding: 8px 16px;
      text-align: left;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      cursor: pointer;
      transition: background-color 0.15s;
      white-space: nowrap;
    }

    .display-filter-item:hover {
      background-color: #F7F7FA;
    }

    body.dark-mode .display-filter-item {
      color: var(--sidenav-text-default);
    }

    body.dark-mode .display-filter-item:hover {
      background-color: rgba(255, 255, 255, 0.1);
    }


    /* Bulk Checkbox - core_checkbox component */
    .bulk-checkbox-cell {
      padding-left: 16px;
      text-align: left;
      vertical-align: middle;
    }

    tbody .bulk-checkbox-cell .bulk-checkbox-label {
      transform: translateY(-10px);
    }

    .bulk-checkbox-label {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      user-select: none;
      position: relative;
      width: 20px;
      height: 20px;
    }

    .bulk-checkbox-label input[type="checkbox"] {
      position: absolute;
      opacity: 0;
      width: 20px;
      height: 20px;
      margin: 0;
      cursor: pointer;
      z-index: 1;
    }

    .hidden-assets-toggle input[type="checkbox"] {
      position: absolute;
      opacity: 0;
      width: 20px;
      height: 20px;
      margin: 0;
      cursor: pointer;
    }

    /* Hidden Assets Toggle - core_checkbox component */
    .hidden-assets-toggle {
      display: flex;
      align-items: baseline;
      gap: 8px;
      cursor: pointer;
      user-select: none;
      position: relative;
    }

    .hidden-assets-toggle .checkbox-custom {
      margin-bottom: 2px;
    }

    .checkbox-custom {
      width: 20px;
      height: 20px;
      border: 1.5px solid #83838C;
      border-radius: 2px;
      background: white;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: all 0.15s ease;
      position: relative;
      pointer-events: none;
    }

    .checkbox-custom::after {
      content: '';
      width: 12px;
      height: 12px;
      background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 6L5 9L10 3' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      opacity: 0;
      transform: scale(0.5);
      transition: all 0.15s ease;
    }

    .bulk-checkbox-label input[type="checkbox"]:checked + .checkbox-custom,
    .hidden-assets-toggle input[type="checkbox"]:checked + .checkbox-custom,
    .filter-dropdown-item input[type="checkbox"]:checked + .checkbox-custom {
      background: #0174BC;
      border-color: #0174BC;
    }

    .bulk-checkbox-label input[type="checkbox"]:checked + .checkbox-custom::after,
    .hidden-assets-toggle input[type="checkbox"]:checked + .checkbox-custom::after,
    .filter-dropdown-item input[type="checkbox"]:checked + .checkbox-custom::after {
      opacity: 1;
      transform: scale(1);
    }

    .bulk-checkbox-label:hover .checkbox-custom,
    .hidden-assets-toggle:hover .checkbox-custom,
    .filter-dropdown-item:hover .checkbox-custom {
      border-color: #666666;
    }

    .bulk-checkbox-label input[type="checkbox"]:checked:hover + .checkbox-custom,
    .hidden-assets-toggle input[type="checkbox"]:checked:hover + .checkbox-custom,
    .filter-dropdown-item input[type="checkbox"]:checked:hover + .checkbox-custom {
      background: #015A94;
      border-color: #015A94;
    }

    .bulk-checkbox-label input[type="checkbox"]:disabled + .checkbox-custom,
    .hidden-assets-toggle input[type="checkbox"]:disabled + .checkbox-custom {
      background: #F7F7FA;
      border-color: #D6D6DD;
      cursor: not-allowed;
    }

    /* Indeterminate state for select all checkbox */
    .bulk-checkbox-label input[type="checkbox"]:indeterminate + .checkbox-custom {
      background: #0174BC;
      border-color: #0174BC;
    }

    .bulk-checkbox-label input[type="checkbox"]:indeterminate + .checkbox-custom::after {
      opacity: 1;
      transform: scale(1);
      background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6L9 6' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    }

    .hidden-toggle-label {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
      cursor: pointer;
    }

    body.dark-mode .checkbox-custom {
      background: #232326;
      border-color: #999999;
    }

    body.dark-mode .hidden-assets-toggle input[type="checkbox"]:checked + .checkbox-custom {
      background: #0174BC;
      border-color: #0174BC;
    }

    body.dark-mode .hidden-assets-toggle:hover .checkbox-custom {
      border-color: #D6D6DD;
    }

    body.dark-mode .hidden-assets-toggle input[type="checkbox"]:disabled + .checkbox-custom {
      background: #1a1a1d;
      border-color: #3d3d42;
    }

    body.dark-mode .hidden-toggle-label {
      color: var(--sidenav-text-default);
    }

    /* Hidden Status Badge */
    .status-badge {
      display: inline-flex;
      height: 20px;
      padding: 2px 6px;
      align-items: center;
      gap: 4px;
      border-radius: 4px;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xxxs);
      font-weight: var(--font-weight-semibold);
      line-height: 16px;
      white-space: nowrap;
      margin-left: 8px;
      vertical-align: middle;
    }

    .status-badge.hidden {
      background: rgba(131, 131, 140, 0.12);
      color: #83838C;
      border: 1px solid rgba(131, 131, 140, 0.3);
    }

    body.dark-mode .status-badge.hidden {
      background: rgba(131, 131, 140, 0.2);
      color: #A3A3AB;
      border: 1px solid rgba(131, 131, 140, 0.4);
    }

    .status-badge img {
      width: 12px;
      height: 12px;
      opacity: 0.7;
    }

    /* Page Footer */
    .page-footer {
      width: 100%;
      height: 64px;
      background-color: var(--footer-background);
      border-top: 1px solid var(--footer-border);
      margin-top: auto;
    }

    .footer-content {
      display: flex;
      justify-content: space-between;
      align-items: center;
      height: 64px;
      max-width: 1343px;
      margin-left: calc(var(--sidenav-collapsed-width) + (100% - var(--sidenav-collapsed-width) - 1343px) / 2);
      padding: var(--spacing-s24) 0;
      gap: var(--spacing-s32);
      transition: max-width 0.3s ease, margin-left 0.3s ease, padding-left 0.3s ease, padding-right 0.3s ease;
    }

    .side-navigation.expanded ~ * .footer-content {
      margin-left: calc(var(--sidenav-expanded-width) + (100% - var(--sidenav-expanded-width) - 1343px) / 2);
    }

    body:has(#mainContentContainer.full-width) .footer-content {
      max-width: 10000px;
      margin-left: var(--sidenav-collapsed-width);
      padding-left: var(--spacing-s32);
      padding-right: var(--spacing-s32);
    }
    body:has(#mainContentContainer.full-width) .side-navigation.expanded ~ * .footer-content {
      margin-left: var(--sidenav-expanded-width);
    }

    .footer-left {
      display: flex;
      flex-direction: column;
      gap: var(--spacing-s4);
    }

    .footer-copyright {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: var(--footer-text);
      line-height: var(--line-height-xs);
      white-space: nowrap;
    }

    .footer-right {
      display: flex;
      gap: var(--spacing-s24);
      align-items: center;
    }

    .footer-link {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: var(--footer-text);
      line-height: var(--line-height-xs);
      white-space: nowrap;
      cursor: pointer;
    }

    .footer-link:hover {
      text-decoration: underline;
    }


    /* Panel Styles */
    .panel {
      display: flex;
      flex-direction: column;
      border: 1px solid #D6D6DD;
      background: white;
      margin-bottom: var(--spacing-s16);
    }

    body.dark-mode .panel {
      background: var(--sidenav-background);
      border-color: var(--sidenav-border);
    }

    .panel-header {
      display: flex;
      align-items: center;
      height: 56px;
      padding: 16px 20px;
      background: white;
      cursor: pointer;
      transition: background-color 0.15s;
    }

    body.dark-mode .panel-header {
      background: var(--sidenav-background);
    }

    .panel.expanded .panel-header {
      border-bottom: 1px solid #D6D6DD;
    }

    body.dark-mode .panel.expanded .panel-header {
      border-color: var(--sidenav-border);
    }

    .panel-header:hover {
      background-color: #F7F7FA;
    }

    body.dark-mode .panel-header:hover {
      background-color: var(--sidenav-item-hover);
    }

    .panel-title-row {
      display: flex;
      align-items: center;
      gap: 8px;
      width: 100%;
      height: 20px;
    }

    .panel-caret {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
      transition: transform 0.3s ease;
    }

    .panel.expanded .panel-caret {
      transform: rotate(90deg);
    }

    .panel-title {
      font-family: var(--font-family-brand);
      font-size: 18px;
      font-weight: var(--font-weight-semibold);
      line-height: 24px;
      color: #343438;
      flex: 1;
      margin: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    body.dark-mode .panel-title {
      color: var(--sidenav-text-default);
    }

    .panel-content {
      display: none;
      background: white;
    }

    body.dark-mode .panel-content {
      background: var(--sidenav-background);
    }

    .panel.expanded .panel-content {
      display: block;
    }

    /* Panel without header */
    .panel-no-header {
      border: 1px solid #D6D6DD;
      background: white;
      margin-bottom: var(--spacing-s16);
      position: relative;
      z-index: auto;
    }

    body.dark-mode .panel-no-header {
      background: var(--sidenav-background);
      border-color: var(--sidenav-border);
    }

    .asset-table-container.has-dropdown-open ~ .table-footer {
      z-index: 0;
    }

    /* Asset Table Styles */
    .asset-table-container {
      overflow-x: auto;
      position: relative;
    }

    .asset-table-container.has-dropdown-open {
      z-index: 1000;
    }

    .asset-table {
      width: 100%;
      border-collapse: collapse;
      table-layout: fixed;
    }

    .asset-table thead {
      background: #E5E5EA;
      border-bottom: 1px solid #D6D6DD;
    }

    body.dark-mode .asset-table thead {
      background: var(--sidenav-item-hover);
      border-bottom: 1px solid var(--sidenav-border);
    }

    .asset-table.thead-white thead {
      background: white;
    }

    body.dark-mode .asset-table.thead-white thead {
      background: var(--sidenav-background);
    }

    .asset-table th {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #343438;
      text-align: left;
      padding: 12px 16px;
      white-space: nowrap;
    }

    body.dark-mode .asset-table th {
      color: var(--sidenav-text-default);
    }

    .asset-table th.sortable {
      cursor: pointer;
      user-select: none;
    }

    .asset-table th.sortable:hover {
      background: #EDEDF2;
    }

    body.dark-mode .asset-table th.sortable:hover {
      background: rgba(255, 255, 255, 0.05);
    }

    .th-content {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .sort-icon {
      width: 16px;
      height: 16px;
      transition: transform 0.2s;
      flex-shrink: 0;
      visibility: visible;
    }

    .th-content .sort-icon.hidden {
      visibility: hidden;
    }

    .asset-table th.sort-asc .sort-icon {
      transform: rotate(-90deg);
    }

    .asset-table th.sort-desc .sort-icon {
      transform: rotate(90deg);
    }

    .asset-table td {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      padding: 16px;
      border-bottom: 1px solid #EBEBEB;
      vertical-align: middle;
      box-sizing: border-box;
      height: 60px;
    }

    .asset-table tr:last-child td {
      border-bottom: none;
    }

    .asset-table tr.last-visible-row td {
      border-bottom: none;
    }

    body.dark-mode .asset-table td {
      color: var(--sidenav-text-default);
      border-bottom: 1px solid var(--sidenav-border);
    }

    .asset-row {
      height: 60px;
      position: relative;
    }

    .asset-row:hover {
      background: #EDF8FF;
    }

    .asset-row.dropdown-open {
      z-index: 100;
    }

    .asset-row td {
      height: 60px;
      max-height: 60px;
    }

    body.dark-mode .asset-row:hover {
      background: var(--sidenav-item-hover);
    }

    .asset-table td.asset-name {
      font-weight: var(--font-weight-semibold);
      max-width: 400px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      padding: 16px 4px;
    }


    .protection-cell img {
      width: 20px;
      height: 20px;
      vertical-align: middle;
      margin-right: 4px;
    }

    .protection-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      line-height: 20px;
      height: 20px;
      color: #343438;
      vertical-align: middle;
      display: inline-block;
    }

    body.dark-mode .protection-text {
      color: var(--sidenav-text-default);
    }

    .asset-name {
      vertical-align: middle;
    }

    .asset-main {
      line-height: 20px;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
    }

    body.dark-mode .asset-main {
      color: var(--sidenav-text-default);
    }

    .asset-sub {
      font-family: var(--font-family-brand);
      font-size: 12px;
      line-height: 20px;
      font-weight: var(--font-weight-normal);
      color: #83838C;
    }

    body.dark-mode .asset-sub {
      color: #A3A3AB;
    }

    .sparkline-container {
      display: flex;
      align-items: center;
      gap: var(--spacing-s8);
    }

    .sparkline-value {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      line-height: var(--line-height-xs);
      color: #232326;
      min-width: 30px;
      text-align: right;
    }

    body.dark-mode .sparkline-value {
      color: var(--sidenav-text-default);
    }

    .sparkline-chart {
      width: 100px;
      height: 16px;
    }

    .sparkline-area {
      fill: rgb(230, 243, 251);
    }

    .sparkline-line {
      fill: none;
      stroke: #00B4D8;
      stroke-width: 1.5;
    }

    .priority-badge {
      display: flex;
      width: 67px;
      height: 20px;
      padding: var(--global-spacing-s4, 4px) var(--global-spacing-s6, 6px);
      justify-content: center;
      align-items: center;
      gap: var(--global-spacing-s2, 2px);
      flex-shrink: 0;
      border-radius: 4px;
      font-family: 'Nunito Sans', sans-serif;
      font-size: var(--font-size-xxxs);
      font-weight: var(--font-weight-bold);
      white-space: nowrap;
    }

    .priority-badge.critical {
      background: var(--component-badge-negative-subtle-background, rgba(184, 35, 41, 0.12));
      color: #991B1B;
    }

    .priority-badge.high {
      background: rgba(205, 29, 142, 0.12);
      color: #CD1D8D;
    }

    .priority-badge.medium {
      background: rgba(245, 158, 11, 0.12);
      color: #92400E;
    }

    .priority-badge.low {
      background: rgba(59, 130, 246, 0.12);
      color: #1E40AF;
    }

    .priority-badge.na {
      background: rgba(131, 131, 140, 0.12);
      color: #83838C;
    }

    .tags-cell {
      white-space: nowrap;
    }

    .tag-badge {
      display: inline-flex;
      height: 24px;
      padding: 0 var(--global-spacing-s8, 8px);
      align-items: center;
      gap: 4px;
      border-radius: 12px;
      border: 1px solid var(--component-tag-default-border, #83838C);
      background: var(--component-tag-default-background, #F7F7FA);
      font-family: var(--font-family-brand);
      font-size: 12px;
      font-weight: var(--font-weight-semibold);
      line-height: 16px;
      color: #343438;
      white-space: nowrap;
      margin-right: 4px;
    }

    body.dark-mode .tag-badge {
      background: var(--sidenav-background);
      border-color: var(--sidenav-border);
      color: var(--sidenav-text-default);
    }

    .tag-more {
      font-family: var(--font-family-brand);
      font-size: 12px;
      font-weight: var(--font-weight-semibold);
      color: #83838C;
      white-space: nowrap;
      margin-left: 2px;
    }

    body.dark-mode .tag-more {
      color: #A3A3AB;
    }

    .asset-actions {
      text-align: right;
      position: relative;
    }

    .btn-ellipsis {
      background: none;
      border: none;
      padding: 4px;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 4px;
      transition: background-color 0.15s;
    }

    .btn-ellipsis:hover {
      background: #F7F7FA;
    }

    body.dark-mode .btn-ellipsis:hover {
      background: var(--sidenav-item-hover);
    }

    .btn-ellipsis img {
      width: 20px;
      height: 20px;
      opacity: 0.6;
    }

    .btn-ellipsis:hover img {
      opacity: 1;
    }

    .dropdown-menu {
      display: none;
      position: fixed;
      background: white;
      border: 1px solid #D6D6DD;
      border-radius: 4px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      width: 160px;
      z-index: 100000;
      padding: 4px 0;
    }

    .dropdown-menu.show {
      display: block;
    }

    body.dark-mode .dropdown-menu {
      background: #2C2C2E;
      border-color: var(--sidenav-border);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
    }

    .dropdown-item {
      width: 100%;
      background: none;
      border: none;
      padding: 8px 16px;
      text-align: left;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      cursor: pointer;
      transition: background-color 0.15s;
      white-space: nowrap;
    }

    body.dark-mode .dropdown-item {
      color: var(--sidenav-text-default);
    }

    .dropdown-item:hover {
      background: #EDF8FF;
    }

    body.dark-mode .dropdown-item:hover {
      background: var(--sidenav-item-hover);
    }

    .dropdown-item.danger {
      color: #D63C42;
    }

    .dropdown-item.danger:hover {
      background: #FEE2E2;
    }

    body.dark-mode .dropdown-item.danger:hover {
      background: rgba(214, 60, 66, 0.2);
    }

    .table-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 40px;
      padding: 0 24px;
      border-top: 1px solid #D6D6DD;
      background: white;
      position: relative;
      z-index: 1;
    }

    body.dark-mode .table-footer {
      background: var(--sidenav-background);
      border-top: 1px solid var(--sidenav-border);
    }

    .table-footer-left {
      display: flex;
      align-items: center;
    }

    .table-footer-right {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .table-footer-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
    }

    body.dark-mode .table-footer-text {
      color: var(--sidenav-text-default);
    }

    .table-footer-select {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      background: transparent;
      border: none;
      outline: none;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #0174BC;
      line-height: 20px;
      cursor: pointer;
      padding-right: 4px;
    }

    body.dark-mode .table-footer-select {
      color: #0174BC;
    }

    .table-footer-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 32px;
      height: 32px;
      background: transparent;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      padding: 0;
      transition: background-color 0.2s;
    }

    .table-footer-nav img {
      filter: brightness(0) saturate(100%) invert(22%) sepia(3%) saturate(596%) hue-rotate(202deg) brightness(98%) contrast(92%);
    }

    .table-footer-nav:hover:not(:disabled) {
      background: #F7F7FA;
    }

    .table-footer-nav:disabled {
      opacity: 0.4;
      cursor: not-allowed;
    }

    body.dark-mode .table-footer-nav {
      border-color: var(--sidenav-border);
    }

    body.dark-mode .table-footer-nav:hover:not(:disabled) {
      background: var(--sidenav-item-hover);
    }

    /* Drawer Styles */
    .drawer {
      position: fixed;
      right: 0;
      top: 0;
      width: 800px;
      height: 100vh;
      background-color: white;
      transform: translateX(100%);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      z-index: 1000;
      overflow-y: auto;
    }

    .drawer.open {
      transform: translateX(0);
      box-shadow: -4px 0 16px rgba(0, 0, 0, 0.1);
    }

    .drawer-backdrop {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5);
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease, visibility 0.3s ease;
      z-index: 999;
    }

    .drawer-backdrop.open {
      opacity: 1;
      visibility: visible;
    }

    .drawer-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: var(--spacing-s32) var(--spacing-s32) var(--spacing-s24) var(--spacing-s32);
      border-bottom: none;
    }

    .drawer-header-title {
      font-family: var(--font-family-brand);
      font-size: 18px;
      font-weight: var(--font-weight-semibold);
      color: var(--sidenav-text-default);
      line-height: 20px;
    }

    .drawer-close {
      width: 24px;
      height: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      background: none;
      border: none;
      padding: 0;
    }

    .drawer-close img {
      width: 14px;
      height: 14px;
      display: block;
      object-fit: contain;
    }

    .drawer-content {
      padding: 0 var(--spacing-s32) var(--spacing-s32) var(--spacing-s32);
    }

    .drawer-content-title {
      font-family: var(--font-family-brand);
      font-size: 24px;
      font-weight: var(--font-weight-bold);
      color: var(--sidenav-text-default);
      line-height: 32px;
      margin-bottom: var(--spacing-s24);
    }

    .drawer-description {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: var(--sidenav-text-default);
      line-height: var(--line-height-xs);
      margin-bottom: var(--spacing-s24);
    }

    body.dark-mode .drawer {
      background-color: var(--sidenav-background);
    }

    body.dark-mode .drawer-header-title,
    body.dark-mode .drawer-content-title,
    body.dark-mode .drawer-description {
      color: var(--sidenav-text-default);
    }

    .asset-main {
      cursor: pointer;
    }

    .asset-main:hover {
      text-decoration: underline;
    }

    /* Drawer Warning Banner */
    .drawer-warning-banner {
      display: flex;
      align-items: center;
      background: var(--component-notificationbanner-warning-background, #FFECBC);
      border-left: 4px solid var(--component-notificationbanner-warning-border, #FECB34);
      padding-left: 4px;
      padding-right: 12px;
      margin-bottom: 24px;
    }

    .drawer-warning-icon {
      padding-left: 8px;
      flex-shrink: 0;
    }

    .drawer-warning-icon img {
      width: 16px;
      height: 16px;
      display: block;
      filter: brightness(0) saturate(100%) invert(24%) sepia(0%) saturate(0%) hue-rotate(180deg) brightness(95%) contrast(91%);
    }

    .drawer-warning-content {
      flex: 1;
      min-width: 0;
      padding: 12px 0 12px 8px;
    }

    .drawer-warning-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      line-height: var(--line-height-xxxs);
      color: var(--component-notificationbanner-text, #343438);
      word-break: break-word;
    }

    /* Drawer Details Section */
    .drawer-details-section {
      margin-bottom: 20px;
      padding: 0 16px;
    }

    .drawer-hostname-row {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      margin-bottom: 16px;
      gap: 24px;
    }

    .drawer-hostname-left {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .drawer-hostname-left:first-child {
      flex: 1 1 auto;
    }

    .drawer-hostname-left:nth-child(2) {
      flex: 0 0 108px;
    }

    .drawer-hostname-left:nth-child(3) {
      flex: 0 0 calc(47.65% - 22px - 108px);
    }

    .drawer-hostname-indicators {
      display: flex;
      align-items: center;
      gap: 16px;
      flex-shrink: 0;
    }

    .drawer-protection-indicator {
      display: flex;
      align-items: center;
      gap: 4px;
    }

    .drawer-protection-indicator img {
      width: 16px;
      height: 16px;
    }

    .drawer-details-row {
      display: flex;
      gap: 24px;
    }

    .drawer-detail-column {
      display: flex;
      flex-direction: column;
      gap: 4px;
      flex: 1 1 auto;
    }

    .drawer-detail-column:last-child {
      flex: 0 0 47.65%;
    }


    .drawer-detail-label {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-bold);
      color: #343438;
      line-height: 20px;
    }

    .drawer-detail-value {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 24px;
    }

    .drawer-detail-value-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 4px;
      row-gap: 4px;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
    }

    .drawer-tags-row {
      display: flex;
      gap: 4px;
      flex-wrap: wrap;
    }

    /* Drawer Sections */
    .drawer-section {
    }

    .drawer-section-header {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 12px;
      background: #F7F7FA;
      border-bottom: 1px solid #D6D6DD;
      cursor: pointer;
      user-select: none;
    }

    .drawer-section-header:hover {
      background: #EBEBEB;
    }

    .drawer-section-caret {
      width: 20px;
      height: 20px;
      transition: transform 0.2s;
      flex-shrink: 0;
      transform: rotate(90deg);
    }

    .drawer-section.collapsed .drawer-section-caret {
      transform: rotate(0deg);
    }

    .drawer-section-title {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #343438;
      line-height: 16px;
    }

    .drawer-section-subtitle {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #83838C;
      line-height: 16px;
    }

    .drawer-section-content {
      padding: 16px;
      display: block;
    }

    .drawer-section.collapsed .drawer-section-content {
      display: none;
    }

    /* Drawer Issues Section */
    .drawer-issues-section {
      margin-top: 16px;
    }

    .drawer-issues-section .drawer-detail-label {
      padding-bottom: 8px;
    }

    .drawer-issue-card {
      border-top: 1px solid #D6D6DD;
      padding: 8px 0;
    }

    .drawer-issue-content-full {
      padding: 8px 16px;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .drawer-issue-header {
      display: flex;
      align-items: center;
      gap: 6px;
      height: 20px;
    }

    .drawer-issue-severity {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-bold);
      color: #343438;
      line-height: 20px;
    }

    .drawer-issue-title-large {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-s);
      font-weight: var(--font-weight-bold);
      color: #343438;
      line-height: 20px;
      padding-bottom: 8px;
    }

    .drawer-recommendation-box {
      padding: 16px;
      background: #EDF8FF;
      border: 1px solid #C2E7FF;
      border-radius: 4px;
    }

    .drawer-recommendation-title {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #343438;
      line-height: 20px;
      margin-bottom: 4px;
    }

    .drawer-recommendation-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
      margin-bottom: 16px;
    }

    .drawer-action-button {
      background-color: #0174BC;
      border: 1px solid #0174BC;
      border-radius: 2px;
      height: 34px;
      padding: 9px 13px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: white;
      cursor: pointer;
      transition: background-color 0.2s;
    }

    .drawer-action-button:hover {
      background-color: #015A94;
    }

    /* Drawer Button Container */
    .drawer-button-container {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      padding: 16px 0;
      border-top: 1px solid #D6D6DD;
    }

    .drawer-secondary-button {
      background-color: white;
      border: 1px solid #0174BC;
      border-radius: 2px;
      height: 34px;
      padding: 9px 13px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #0174BC;
      cursor: pointer;
      transition: background-color 0.2s;
    }

    .drawer-secondary-button:hover {
      background-color: #F7F7FA;
    }

    .drawer-secondary-button img {
      flex-shrink: 0;
    }

    body.dark-mode .drawer-button-container {
      border-color: var(--sidenav-border);
    }

    body.dark-mode .drawer-secondary-button {
      background: var(--sidenav-background);
      border-color: #0174BC;
      color: #0174BC;
    }

    body.dark-mode .drawer-secondary-button:hover {
      background: var(--sidenav-item-hover);
    }

    body.dark-mode .drawer-warning-text {
      color: var(--sidenav-text-default);
    }

    body.dark-mode .drawer-section-header {
      background: var(--sidenav-item-hover);
    }

    body.dark-mode .drawer-section-header:hover {
      background: rgba(255, 255, 255, 0.08);
    }

    body.dark-mode .drawer-recommendation-box {
      background: rgba(1, 116, 188, 0.15);
      border-color: rgba(1, 116, 188, 0.3);
    }

    /* Bulk Actions Bar */
    .bulk-actions-bar {
      display: none;
      align-items: center;
      gap: 12px;
      padding: 12px 16px;
      background: #EDF8FF;
      border: 1px solid #5BB3EA;
      border-radius: 2px;
      margin-bottom: 8px;
    }

    .bulk-actions-bar.visible {
      display: flex;
    }

    .bulk-actions-left {
      display: flex;
      align-items: center;
      gap: 8px;
      flex: 1;
    }

    .bulk-action-button-primary {
      background: #0174BC;
      border: none;
      border-radius: 2px;
      height: 34px;
      padding: 9px 13px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #FFFFFF;
      cursor: pointer;
      transition: background-color 0.15s ease;
    }

    .bulk-action-button-primary:hover {
      background: #015A94;
    }

    .bulk-action-button-secondary {
      background: #FFFFFF;
      border: 1px solid #0174BC;
      border-radius: 2px;
      height: 34px;
      padding: 9px 13px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #0174BC;
      cursor: pointer;
      transition: all 0.15s ease;
    }

    .bulk-action-button-secondary img {
      width: 16px;
      height: 16px;
      object-fit: contain;
      flex-shrink: 0;
    }

    .bulk-action-button-secondary:hover {
      background: #F7F7FA;
    }

    .bulk-action-icon-button {
      width: 34px;
      height: 34px;
      background: #FFFFFF;
      border: 1px solid #D6D6DD;
      border-radius: 2px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: all 0.15s ease;
    }

    .bulk-action-icon-button:hover {
      background: #F7F7FA;
      border-color: #83838C;
    }

    .bulk-action-icon-button img {
      width: 16px;
      height: 16px;
      object-fit: contain;
    }

    .bulk-actions-count {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #232326;
      margin-left: auto;
    }

    .bulk-action-cancel {
      background: none;
      border: none;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #0174BC;
      cursor: pointer;
      padding: 0 8px;
    }

    .bulk-action-cancel:hover {
      text-decoration: underline;
    }

    body.dark-mode .bulk-actions-bar {
      background: #232326;
      border-color: #3D3D42;
    }

    body.dark-mode .bulk-action-icon-button {
      background: #232326;
      border-color: #3D3D42;
    }

    body.dark-mode .bulk-action-icon-button:hover {
      background: #2A2A2E;
      border-color: #83838C;
    }

    body.dark-mode .bulk-actions-count {
      color: #D6D6DD;
    }

    body.dark-mode .bulk-action-cancel {
      color: #4DA3E0;
    }


/* ===================================================================
   CISO DASHBOARD SPECIFIC STYLES - ADDED 2026-06-09
   =================================================================== */

    :root {
      /* Akamai Design System Tokens - Core Colors */
      --color-background-neutral: #F7F7FA;
      --color-neutral-5: #fafafa;
      --color-neutral-40: #ebebeb;
      --color-neutral-70: #999999;
      --color-neutral-90: #666666;

      /* Component Colors */
      --component-globalheader-background: #232326;
      --component-globalheader-border: #3d3d42;
      --component-globalheader-search-background: #3d3d42;
      --component-globalheader-search-text-placeholder: #d6d6dd;
      --component-globalheader-text-default: #d6d6dd;
      --component-globalheader-badge-background: #d63c42;
      --component-globalheader-badge-text: #ffffff;

      --component-button-primary-background: #0174bc;
      --component-button-primary-text: #ffffff;

      /* Spacing Scale */
      --spacing-s2: 2px;
      --spacing-s4: 4px;
      --spacing-s6: 6px;
      --spacing-s8: 8px;
      --spacing-s12: 12px;
      --spacing-s16: 16px;
      --spacing-s20: 20px;
      --spacing-s24: 24px;
      --spacing-s32: 32px;

      /* Typography */
      --font-family-brand: 'Nunito Sans', sans-serif;
      --font-size-xxxs: 12px;
      --font-size-xs: 14px;
      --font-weight-normal: 400;
      --font-weight-semibold: 600;
      --font-weight-bold: 700;
      --font-weight-extrabold: 800;
      --line-height-xxxs: 16px;
      --line-height-xs: 20px;

      /* Side Navigation */
      --sidenav-collapsed-width: 56px;
      --sidenav-expanded-width: 240px;
      --sidenav-background: #ffffff;
      --sidenav-border: #ebebeb;
      --sidenav-item-hover: #f7f7fa;
      --sidenav-item-active: #e6f2ff;
      --sidenav-item-active-border: #0174bc;
      --sidenav-text-default: #232326;
      --sidenav-text-muted: #999999;

      /* Footer */
      --footer-background: #F7F7FA;
      --footer-border: #D6D6DD;
      --footer-text: #232326;
    }

    /* Dark Mode Overrides */
    body.dark-mode {
      --color-background-neutral: #1a1a1d;
      --color-neutral-5: #232326;
      --color-neutral-40: #3d3d42;
      --color-neutral-70: #999999;
      --color-neutral-90: #d6d6dd;

      --sidenav-background: #232326;
      --sidenav-border: #3d3d42;
      --sidenav-item-hover: #2a2a2e;
      --sidenav-item-active: #1e3a52;
      --sidenav-item-active-border: #4da3e0;
      --sidenav-text-default: #d6d6dd;
      --sidenav-text-muted: #999999;

      --footer-background: #232326;
      --footer-border: #3d3d42;
      --footer-text: #d6d6dd;
    }

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: var(--font-family-brand);
      background-color: var(--color-background-neutral);
      margin: 0;
      padding: 0;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      transition: background-color 0.3s ease;
      overflow-x: hidden;
      /* Reserves the vertical scrollbar's width whether or not the page
         is tall enough to need one, so .main-content-container's
         centered position (and the page title inside it) doesn't shift
         between a short UI_ page (no scrollbar) and a tall one (real
         scrollbar) — that shift was reported as page titles "jumping
         around" when navigating between UI_ projects via .component-nav.
         Does not force a visible scrollbar to always render (unlike
         overflow-y:scroll), so this doesn't conflict with the
         "scrollbars should only appear when content genuinely needs
         scrolling" rule above. There are two near-identical `body`
         blocks in this stylesheet (this and one further down) — both
         updated, matching this codebase's established "check for
         duplicate/drifted declarations before assuming one fix is
         enough" lesson (see the widget-row gap history in the root
         CLAUDE.md). */
      scrollbar-gutter: stable;
    }

    /* ACC Header */
    .acc-header {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 56px;
      background-color: var(--component-globalheader-background);
      border-bottom: 1px solid var(--component-globalheader-border);
      display: flex;
      align-items: center;
      gap: var(--spacing-s32);
      padding: 0;
      z-index: 1000;
    }

    /* Left Side */
    .header-left {
      display: flex;
      flex: 1;
      gap: var(--spacing-s32);
      align-items: center;
      min-width: 0;
    }

    .logo-menu {
      display: flex;
      gap: var(--spacing-s16);
      align-items: center;
      flex-shrink: 0;
    }

    .hamburger-icon {
      width: 56px;
      height: 56px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #4067e5;
      flex-shrink: 0;
    }

    .hamburger-icon-inner {
      width: 24px;
      height: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
    }

    .hamburger-icon img {
      width: 20px;
      height: 14px;
      display: block;
      object-fit: contain;
    }

    .logo {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .logo-container {
      width: 83px;
      height: 34px;
      position: relative;
      transform: scaleY(-1);
    }

    .logo-container img {
      position: absolute;
      display: block;
    }

    /* Search Bar */
    .search-bar {
      flex: 1;
      max-width: 800px;
      min-width: 0;
      height: 34px;
      background-color: var(--component-globalheader-search-background);
      border: 1px solid var(--component-globalheader-border);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 7px 9px;
    }

    .search-input-group {
      display: flex;
      gap: var(--spacing-s8);
      align-items: center;
      flex: 1;
      min-width: 0;
    }

    .search-icon {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .search-icon img {
      width: 20px;
      height: 20px;
      display: block;
      object-fit: contain;
    }

    .search-placeholder {
      font-size: var(--font-size-xs);
      font-style: italic;
      font-weight: var(--font-weight-normal);
      color: var(--component-globalheader-search-text-placeholder);
      line-height: var(--line-height-xs);
      white-space: nowrap;
    }

    .search-filter {
      display: flex;
      align-items: center;
      gap: var(--spacing-s4);
      flex-shrink: 0;
      cursor: pointer;
    }

    .filter-text {
      font-size: var(--font-size-xxxs);
      font-weight: var(--font-weight-semibold);
      color: var(--component-globalheader-search-text-placeholder);
      line-height: var(--line-height-xxxs);
      white-space: nowrap;
    }

    .chevron-icon {
      width: 16px;
      height: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .chevron-icon img {
      width: 9.33px;
      height: 5.33px;
      display: block;
      object-fit: contain;
    }

    /* Right Side */
    .header-right {
      display: flex;
      gap: var(--spacing-s32);
      align-items: center;
      flex-shrink: 0;
      padding: 0 12px;
    }

    /* Create Button */
    .create-button {
      background-color: var(--component-button-primary-background);
      border: 1px solid var(--component-button-primary-background);
      display: flex;
      gap: var(--spacing-s4);
      align-items: center;
      justify-content: center;
      width: 89px;
      height: 34px;
      cursor: pointer;
      transition: opacity 0.2s;
      flex-shrink: 0;
    }

    .create-button:hover {
      opacity: 0.9;
    }

    .create-button-icon {
      width: 12px;
      height: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .create-button-icon img {
      width: 12px;
      height: 12px;
      display: block;
      object-fit: contain;
    }

    .create-button-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: var(--component-button-primary-text);
      line-height: var(--line-height-xxxs);
      white-space: nowrap;
    }

    /* Icons & Account */
    .icons-account-group {
      display: flex;
      gap: var(--spacing-s32);
      align-items: center;
    }

    .utility-icons {
      display: flex;
      gap: var(--spacing-s16);
      align-items: center;
      position: relative;
    }

    .utility-icon {
      width: 24px;
      height: 24px;
      cursor: pointer;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .utility-icon img {
      display: block;
      object-fit: contain;
    }

    /* All utility icons - 24x24 */
    .utility-icon:nth-child(1) img,
    .utility-icon:nth-child(2) img,
    .utility-icon:nth-child(3) img {
    /*.utility-icon:nth-child(4)*/
      width: 24px;
      height: 24px;
    }

    .utility-icon:nth-child(4) img {
      width: 20px;
      height: 20px;
    }


    /* Notification Badge */
    .notification-badge {
      position: absolute;
      right: -8px;
      top: -8px;
      background-color: var(--component-globalheader-badge-background);
      border-radius: 40px;
      height: 20px;
      padding: 4px 6px;
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 20px;
    }

    .badge-text {
      font-size: var(--font-size-xxxs);
      font-weight: var(--font-weight-bold);
      color: var(--component-globalheader-badge-text);
      line-height: 12px;
      text-align: center;
    }

    /* Account Section */
    .account-section {
      display: flex;
      gap: var(--spacing-s8);
      align-items: center;
      cursor: pointer;
    }

    .account-info {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      line-height: var(--line-height-xxxs);
      color: var(--component-globalheader-text-default);
      font-size: var(--font-size-xxxs);
    }

    .account-name {
      font-weight: var(--font-weight-semibold);
    }

    .account-company {
      font-weight: var(--font-weight-extrabold);
      text-transform: uppercase;
      letter-spacing: 0.36px;
    }

    .account-chevron {
      width: 16px;
      height: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .account-chevron img {
      width: 9.33px;
      height: 5.33px;
      display: block;
      object-fit: contain;
    }

    /* Ribbon Bar */
    .ribbon-bar {
      position: fixed;
      top: 56px;
      left: 0;
      width: 100%;
      height: 60px;
      background: #F7F7FA;
      display: flex;
      align-items: center;
      z-index: 999;
      border-bottom: 1px solid #D6D6DD;
    }

    .ribbon-bar::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 6px;
      background: linear-gradient(270deg, #00B050 0%, #12A594 50%, #009CDE 100%);
    }

    .ribbon-container {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 6px 16px 0 3px;
      gap: 16px;
      height: 100%;
    }

    .ribbon-left {
      display: flex;
      align-items: center;
      gap: 8px;
      flex: 1;
      min-width: 0;
      padding: 0 16px;
      height: 32px;
    }

    .ribbon-breadcrumb {
      font-family: var(--font-family-brand);
      font-size: 16px;
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
      white-space: nowrap;
    }

    .ribbon-separator {
      font-family: var(--font-family-brand);
      font-size: 16px;
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
    }

    .ribbon-breadcrumb-current {
      font-family: var(--font-family-brand);
      font-size: 16px;
      font-weight: var(--font-weight-bold);
      color: #343438;
      line-height: 20px;
      white-space: nowrap;
    }

    .ribbon-right {
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 0 16px;
    }

    .ribbon-link {
      display: flex;
      align-items: center;
      gap: 4px;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
      cursor: pointer;
    }

    .ribbon-link img {
      width: 16px;
      height: 16px;
      filter: brightness(0) saturate(100%) invert(22%) sepia(3%) saturate(596%) hue-rotate(202deg) brightness(98%) contrast(92%);
    }

    .ribbon-text-link {
      font-family: var(--font-family-brand);
      font-size: 12px;
      font-weight: 700;
      color: #343438;
      line-height: 20px;
      text-decoration: none;
      white-space: nowrap;
      cursor: pointer;
    }

    .ribbon-text-link:hover {
      text-decoration: underline;
    }

    .ribbon-title-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: white;
      line-height: var(--line-height-xxxs);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      flex-shrink: 0;
    }

    /* Side Navigation */
    .side-navigation {
      position: fixed;
      left: 0;
      top: 116px;
      bottom: 0;
      width: var(--sidenav-collapsed-width);
      background-color: var(--color-background-neutral);
      border-right: 1px solid #D6D6DD;
      transition: width 0.3s ease;
      overflow: hidden;
      z-index: 100;
    }

    .side-navigation.expanded {
      width: var(--sidenav-expanded-width);
    }

    .side-nav-menu {
      position: relative;
      height: 100%;
      padding: var(--spacing-s16) 0 0 0;
    }

    .side-nav-item {
      width: 100%;
      height: 44px;
      display: flex;
      align-items: center;
      padding: 0 var(--spacing-s16);
      cursor: pointer;
      background-color: transparent;
      transition: background-color 0.15s;
      position: relative;
    }

    .side-nav-item.multi-line {
      height: auto;
      min-height: 44px;
      align-items: flex-start;
      padding: var(--spacing-s12) var(--spacing-s16);
    }

    .side-nav-item.multi-line .side-nav-item-icon {
      margin-top: -2px;
    }

    .side-nav-item:hover {
      background-color: var(--sidenav-item-hover);
    }

    .side-nav-item.active {
      background-color: var(--sidenav-item-active);
    }

    .side-nav-item-icon {
      width: 24px;
      height: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      margin-right: var(--spacing-s12);
      background-color: transparent;
    }

    .side-nav-item-icon img {
      width: 20px;
      height: 20px;
      display: block;
      object-fit: contain;
      background-color: transparent;
    }

    .side-nav-item.active .side-nav-item-icon {
      background-color: transparent;
    }

    .icon-with-circle {
      position: relative;
      background: none !important;
    }

    .icon-with-circle img {
      background: none !important;
    }

    .icon-circle-bg {
      position: absolute;
      width: 24px;
      height: 24px;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
    }

    .icon-circle-bot {
      background-color: #fde9d2;
      border-radius: 50%;
    }

    .icon-with-circle .icon-inner {
      position: absolute;
      width: 16px;
      height: 16px;
      left: 4px;
      top: 4px;
      z-index: 1;
    }

    .icon-with-circle .icon-inner img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: contain;
    }

    .icon-inner-small {
      width: 12px !important;
      height: 12px !important;
      left: 6px !important;
      top: 6px !important;
    }

    .icon-inner-api {
      width: 13.33px !important;
      height: 12px !important;
      left: 5.33px !important;
      top: 6px !important;
    }

    .side-nav-item-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: var(--sidenav-text-default);
      line-height: var(--line-height-xs);
      white-space: nowrap;
      opacity: 0;
      transition: opacity 0.2s ease;
    }

    .side-navigation.expanded .side-nav-item-text {
      opacity: 1;
    }

    .side-nav-item.active .side-nav-item-text {
      color: var(--sidenav-item-active-border);
    }

    .side-nav-divider {
      width: 40px;
      height: 1px;
      background-color: var(--sidenav-border);
      margin: var(--spacing-s16) auto 0 auto;
      transition: width 0.3s ease;
    }

    .side-navigation.expanded .side-nav-divider {
      width: calc(100% - 32px);
    }

    .side-nav-dark-mode {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-top: var(--spacing-s20);
    }

    .dark-mode-toggle {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: var(--spacing-s8);
    }

    .toggle-switch {
      position: relative;
      display: inline-block;
      width: 36px;
      height: 20px;
      transform: rotate(90deg);
    }

    .toggle-switch input {
      opacity: 0;
      width: 0;
      height: 0;
    }

    .toggle-slider {
      position: absolute;
      cursor: pointer;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: #D6D6DD;
      transition: 0.3s;
      border-radius: 20px;
    }

    .toggle-slider:before {
      position: absolute;
      content: "";
      height: 16px;
      width: 16px;
      left: 2px;
      bottom: 2px;
      background-color: white;
      transition: 0.3s;
      border-radius: 50%;
    }

    input:checked + .toggle-slider {
      background-color: #0174BC;
    }

    input:checked + .toggle-slider:before {
      transform: translateX(16px);
    }

    .dark-mode-label {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: var(--sidenav-text-default);
      line-height: var(--line-height-xs);
      white-space: nowrap;
      opacity: 0;
      transition: opacity 0.2s ease;
      margin-top: var(--spacing-s8);
    }

    .side-navigation.expanded .dark-mode-label {
      opacity: 1;
    }

    .side-nav-footer {
      width: var(--sidenav-collapsed-width);
      display: flex;
      flex-direction: column;
      align-items: center;
      position: absolute;
      bottom: var(--spacing-s20);
      left: 0;
    }

    .side-nav-chevron {
      width: 20px;
      height: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: var(--spacing-s20);
      cursor: pointer;
      transition: transform 0.3s ease;
    }

    .side-navigation.expanded .side-nav-chevron {
      transform: rotate(180deg);
    }

    .side-nav-chevron img {
      width: 20px;
      height: 20px;
      display: block;
      object-fit: contain;
      filter: brightness(0) saturate(100%) invert(44%) sepia(2%) saturate(342%) hue-rotate(202deg) brightness(94%) contrast(86%);
    }

    /* Dark Mode - Side Navigation */
    body.dark-mode .side-navigation {
      background-color: var(--sidenav-background);
      border-right: 1px solid var(--sidenav-border);
    }

    body.dark-mode .side-nav-item:hover {
      background-color: var(--sidenav-item-hover);
    }

    body.dark-mode .side-nav-item.active {
      background-color: var(--sidenav-item-active);
    }

    body.dark-mode .side-nav-item-text {
      color: var(--sidenav-text-default);
    }

    body.dark-mode .side-nav-item-icon img {
      filter: brightness(0) saturate(100%) invert(85%) sepia(5%) saturate(115%) hue-rotate(202deg) brightness(95%) contrast(90%);
    }

    body.dark-mode .side-nav-chevron img {
      filter: brightness(0) saturate(100%) invert(85%) sepia(5%) saturate(115%) hue-rotate(202deg) brightness(95%) contrast(90%);
    }

    /* Layout Container */
    .layout-container {
      position: relative;
      flex: 1;
      padding-top: 116px;
    }

    /* Content Area */
    .content-area {
      background-color: var(--color-background-neutral);
      margin-left: var(--sidenav-collapsed-width);
      transition: margin-left 0.3s ease;
      padding: var(--spacing-s32);
    }

    .side-navigation.expanded + .content-area {
      margin-left: var(--sidenav-expanded-width);
    }

    /* Main Content Container */
    .main-content-container {
      max-width: 1295px;
      margin: 0 auto;
      width: 100%;
      transition: max-width 0.3s ease;
    }

    .main-content-container.full-width {
      max-width: 10000px;
    }

    .security-posture-row {
      display: grid;
      gap: 16px;
      margin-bottom: 16px;
      margin-top: 8px;
    }

    .main-content-container:not(.full-width) .security-posture-row {
      grid-template-columns: 640px 1fr;
    }

    .main-content-container.full-width .security-posture-row {
      grid-template-columns: 1fr 1fr;
    }

    /* Page Title */
    .page-title {
      font-family: var(--font-family-brand);
      font-size: 24px;
      font-weight: var(--font-weight-bold);
      color: var(--sidenav-text-default);
      line-height: 32px;
      margin-bottom: var(--spacing-s16);
    }

    .section-title {
      font-family: var(--font-family-brand);
      font-size: 18px;
      font-weight: var(--font-weight-semibold);
      color: var(--sidenav-text-default);
      line-height: 24px;
      margin-top: var(--spacing-s32);
      margin-bottom: var(--spacing-s16);
    }

    body.dark-mode .section-title {
      color: var(--sidenav-text-default);
    }

    /* Back Section */
    .back-section {
      display: flex;
      align-items: center;
      gap: var(--spacing-s6);
      margin-bottom: var(--spacing-s24);
      cursor: pointer;
      transition: opacity 0.2s;
    }

    .back-section:hover {
      opacity: 0.8;
    }

    .back-icon {
      width: 16px;
      height: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .back-icon img {
      width: 16px;
      height: 16px;
      display: block;
      object-fit: contain;
    }

    .back-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: var(--component-button-primary-background);
      line-height: var(--line-height-xs);
    }

    body.dark-mode .back-text {
      color: var(--sidenav-text-default);
    }

    .learn-more-link {
      color: #0174BC;
      text-decoration: none;
      margin-left: 4px;
    }

    .learn-more-link:hover {
      text-decoration: underline;
    }

    .learn-more-icon-wrapper {
      position: relative;
      display: inline-block;
    }

    .learn-more-icon {
      flex-shrink: 0;
      filter: brightness(0) saturate(100%) invert(22%) sepia(3%) saturate(596%) hue-rotate(202deg) brightness(98%) contrast(92%);
      cursor: pointer;
    }

    .learn-more-icon[data-tooltip]::after {
      content: attr(data-tooltip);
      position: absolute;
      bottom: calc(100% + 8px);
      left: 50%;
      transform: translateX(-50%);
      background: #343438;
      color: white;
      padding: 6px 12px;
      border-radius: 4px;
      font-family: var(--font-family-brand);
      font-size: 12px;
      font-weight: 400;
      white-space: nowrap;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.1s ease;
      z-index: 1000;
    }

    .learn-more-icon[data-tooltip]:hover::after {
      opacity: 1;
      transition-delay: 0.2s;
    }

    /* Top Panels Row */
    .top-panels-row {
      display: flex;
      gap: 24px;
      margin-bottom: 24px;
    }

    .stats-panel {
      flex: 1;
      background: white;
      border: 1px solid #D6D6DD;
      border-radius: 4px;
      padding: 16px;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    body.dark-mode .stats-panel {
      background: var(--sidenav-background);
      border-color: var(--sidenav-border);
    }

    .stats-panel-title {
      font-family: var(--font-family-brand);
      font-size: 16px;
      font-weight: var(--font-weight-bold);
      color: #343438;
      line-height: 20px;
    }

    body.dark-mode .stats-panel-title {
      color: var(--sidenav-text-default);
    }

    .stats-panel-items {
      display: flex;
      gap: 32px;
    }

    .stats-item {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 4px;
      align-items: center;
      position: relative;
    }

    .stats-item:not(:last-child)::after {
      content: '';
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 1px;
      height: 24px;
      background-color: #D6D6DD;
    }

    body.dark-mode .stats-item:not(:last-child)::after {
      background-color: var(--sidenav-border);
    }

    .stats-value {
      font-family: var(--font-family-brand);
      font-size: 24px;
      font-weight: var(--font-weight-bold);
      color: #343438;
      line-height: 30px;
    }

    body.dark-mode .stats-value {
      color: var(--sidenav-text-default);
    }

    .stats-label {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #67676E;
      line-height: 20px;
      text-align: center;
    }

    body.dark-mode .stats-label {
      color: var(--sidenav-text-default);
    }

    .stats-badge {
      display: flex;
      height: 20px;
      padding: var(--global-spacing-s4, 4px) var(--global-spacing-s6, 6px);
      justify-content: center;
      align-items: center;
      gap: var(--global-spacing-s2, 2px);
      flex-shrink: 0;
      border-radius: 4px;
      font-family: 'Nunito Sans', sans-serif;
      font-size: var(--font-size-xxxs);
      font-weight: var(--font-weight-semibold);
      white-space: nowrap;
      background: white;
      color: #343438;
    }

    body.dark-mode .stats-badge {
      background: var(--sidenav-background);
      color: var(--sidenav-text-default);
    }

    /* Security Posture Widget Styles */
    .widget-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--spacing-s16);
      margin-bottom: var(--spacing-s16);
    }

    .security-posture-widget {
      border: 1px solid #D6D6DD;
      background: white;
    }

    body.dark-mode .security-posture-widget {
      background: var(--sidenav-background);
      border-color: var(--sidenav-border);
    }

    .widget-header {
      height: 56px;
      padding: 16px 20px;
      border-bottom: 1px solid #D6D6DD;
      display: flex;
      align-items: center;
    }

    body.dark-mode .widget-header {
      border-color: var(--sidenav-border);
    }

    .widget-title {
      font-family: var(--font-family-brand);
      font-size: 18px;
      font-weight: var(--font-weight-semibold);
      line-height: 24px;
      color: #343438;
      margin: 0;
    }

    body.dark-mode .widget-title {
      color: var(--sidenav-text-default);
    }

    .widget-content {
      padding: 24px;
    }

    .score-circle-container {
      display: flex;
      align-items: center;
      gap: 32px;
      margin-bottom: 32px;
    }

    .score-circle {
      position: relative;
      width: 160px;
      height: 160px;
    }

    .score-circle svg {
      transform: rotate(-90deg);
    }

    .score-circle-bg {
      fill: none;
      stroke: #E5E5EA;
      stroke-width: 12;
    }

    .score-circle-fg {
      fill: none;
      stroke: #00B050;
      stroke-width: 12;
      stroke-linecap: round;
      transition: stroke-dashoffset 0.5s ease;
    }

    .score-circle-text {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      text-align: center;
    }

    .score-value {
      font-family: var(--font-family-brand);
      font-size: 42px;
      font-weight: var(--font-weight-bold);
      line-height: 1;
      color: #232326;
      display: block;
    }

    body.dark-mode .score-value {
      color: var(--sidenav-text-default);
    }

    .score-max {
      font-family: var(--font-family-brand);
      font-size: 16px;
      font-weight: var(--font-weight-normal);
      color: #83838C;
      display: block;
    }

    .score-status {
      flex: 1;
    }

    .status-label {
      font-family: var(--font-family-brand);
      font-size: 18px;
      font-weight: var(--font-weight-semibold);
      line-height: 24px;
      color: #232326;
      margin: 0 0 4px 0;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    body.dark-mode .status-label {
      color: var(--sidenav-text-default);
    }

    .status-trend {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      color: #2D6A4F;
      font-size: 14px;
      font-weight: var(--font-weight-semibold);
    }

    .status-description {
      font-family: var(--font-family-brand);
      font-size: 14px;
      font-weight: var(--font-weight-normal);
      line-height: 20px;
      color: #343438;
      margin: 0;
    }

    body.dark-mode .status-description {
      color: #A3A3AB;
    }

    .comparison-section {
      margin-top: 24px;
    }

    .comparison-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 16px;
    }

    .comparison-title {
      font-family: var(--font-family-brand);
      font-size: 16px;
      font-weight: var(--font-weight-semibold);
      color: #232326;
      margin: 0;
    }

    body.dark-mode .comparison-title {
      color: var(--sidenav-text-default);
    }

    .comparison-subtitle {
      font-size: 12px;
      font-weight: var(--font-weight-normal);
      color: #83838C;
      margin-left: 4px;
    }

    .chart-container {
      height: 200px;
      position: relative;
    }

    .select-borderless {
      height: auto;
      padding: 2px 24px 2px 4px;
      background: transparent;
      border: none;
      border-radius: 0;
      font-family: var(--font-family-brand);
      font-size: 14px;
      font-weight: var(--font-weight-normal);
      line-height: 16px;
      color: #0174BC;
      cursor: pointer;
      appearance: none;
      background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 6L8 10L12 6" stroke="%230174BC" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
      background-repeat: no-repeat;
      background-position: right center;
      background-size: 16px 16px;
    }

    .select-borderless:hover {
      text-decoration: underline;
    }

    .select-borderless:focus {
      outline: none;
    }

    .issues-dropdown-button {
      background: none;
      border: none;
      padding: 0 20px 0 4px;
      cursor: pointer;
      font-family: var(--font-family-brand);
      font-size: 18px;
      font-weight: 400;
      color: #0174BC;
      display: flex;
      align-items: center;
      gap: 4px;
      position: relative;
      background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 6L8 10L12 6" stroke="%230174BC" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
      background-repeat: no-repeat;
      background-position: right center;
      background-size: 16px 16px;
    }

    .issues-dropdown-button:hover {
      text-decoration: underline;
    }

    .issues-dropdown-button:focus {
      outline: none;
    }

    /* Loading Spinner */
    .loading-spinner {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      animation: spin 1s linear infinite;
    }

    .loading-spinner::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 50%;
      padding: 4px;
      background: conic-gradient(
        from 0deg,
        transparent 15deg,
        rgba(64, 103, 229, 0.02) 30deg,
        rgba(64, 103, 229, 0.05) 60deg,
        rgba(64, 103, 229, 0.1) 90deg,
        rgba(64, 103, 229, 0.2) 120deg,
        rgba(64, 103, 229, 0.3) 150deg,
        rgba(64, 103, 229, 0.4) 180deg,
        rgba(64, 103, 229, 0.5) 210deg,
        rgba(64, 103, 229, 0.6) 240deg,
        rgba(64, 103, 229, 0.7) 270deg,
        rgba(64, 103, 229, 0.8) 300deg,
        rgba(64, 103, 229, 0.9) 330deg,
        #4067E5 360deg
      );
      -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 4px), white calc(100% - 4px));
      mask: radial-gradient(farthest-side, transparent calc(100% - 4px), white calc(100% - 4px));
    }

    .loading-spinner::after {
      content: '';
      position: absolute;
      left: 50%;
      top: 0;
      width: 4px;
      height: 4px;
      background: #4067E5;
      border-radius: 50%;
      transform: translateX(-50%);
    }

    @keyframes spin {
      0% { transform: translate(-50%, -50%) rotate(0deg); }
      100% { transform: translate(-50%, -50%) rotate(360deg); }
    }

    /* Attack Traffic Drawer Button */
    .expand-toggle-btn {
      background: none;
      border: none;
      cursor: pointer;
      padding: 4px;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0.6;
      transition: opacity 0.2s;
    }

    .expand-toggle-btn:hover {
      opacity: 1;
    }

    body.dark-mode .expand-toggle-btn svg path {
      stroke: var(--sidenav-text-default);
    }

    .view-details-link {
      font-family: var(--font-family-brand);
      font-size: 14px;
      font-weight: 400;
      color: #0174BC;
      text-decoration: none;
      cursor: pointer;
    }

    .view-details-link:hover {
      text-decoration: underline;
    }

    .protection-card {
      background: white;
      border: 1px solid #D6D6DD;
      padding: 12px;
      display: flex;
      flex-direction: column;
      gap: 4px;
      transition: all 0.2s ease;
      cursor: pointer;
    }

    body.dark-mode .protection-card {
      background: var(--sidenav-background);
      border-color: var(--sidenav-border);
    }

    .protection-card:hover {
      box-shadow: 0 2px 8px rgba(61, 61, 66, 0.18);
    }

    .protection-card-selected {
      border-color: #0174BC;
      box-shadow: 0 2px 8px rgba(61, 61, 66, 0.18);
    }

    /* Tab Component Styles */
    .tab-widget {
      border: 1px solid #D6D6DD;
      background: white;
      margin-bottom: var(--spacing-s16);
    }

    body.dark-mode .tab-widget {
      background: var(--sidenav-background);
      border-color: var(--sidenav-border);
    }

    .tab-header {
      display: flex;
      background: white;
    }

    body.dark-mode .tab-header {
      background: var(--sidenav-background);
    }

    .tab-header-filler {
      flex: 1;
      border-bottom: 1px solid #D6D6DD;
    }

    body.dark-mode .tab-header-filler {
      border-bottom-color: var(--sidenav-border);
    }

    .tab-button {
      flex: 0 0 auto;
      padding: 16px 24px;
      background: none;
      border: none;
      border-top: 3px solid transparent;
      border-right: 1px solid #D6D6DD;
      border-bottom: 1px solid #D6D6DD;
      font-family: var(--font-family-brand);
      font-size: 16px;
      font-weight: var(--font-weight-semibold);
      color: #343438;
      cursor: pointer;
      transition: all 0.2s;
      position: relative;
    }

    body.dark-mode .tab-button {
      color: var(--sidenav-text-default);
      border-right-color: var(--sidenav-border);
      border-bottom-color: var(--sidenav-border);
    }

    .tab-button:hover {
      background: #F7F7FA;
    }

    body.dark-mode .tab-button:hover {
      background: var(--sidenav-item-hover);
    }

    .tab-button.active {
      border-top-color: #0174BC;
      border-bottom-color: white;
      color: #0174BC;
    }

    body.dark-mode .tab-button.active {
      border-top-color: #4da3e0;
      border-bottom-color: var(--sidenav-background);
      color: #4da3e0;
    }

    .tab-content {
      display: none;
      padding: 8px 24px 24px;
    }

    .tab-content.active {
      display: block;
    }

    /* Insights Table Styles */
    .insights-table {
      width: 100%;
      border-collapse: collapse;
    }

    .insights-table thead {
      background: white;
      border-bottom: 1px solid #D6D6DD;
    }

    body.dark-mode .insights-table thead {
      background: var(--sidenav-background);
      border-color: var(--sidenav-border);
    }

    .insights-table th {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-bold);
      color: #343438;
      text-align: left;
      padding: 12px 16px;
      white-space: nowrap;
    }

    body.dark-mode .insights-table th {
      color: var(--sidenav-text-default);
    }

    .insights-table td {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      padding: 16px;
      border-bottom: 1px solid #EBEBEB;
      vertical-align: top;
    }

    body.dark-mode .insights-table td {
      color: var(--sidenav-text-default);
      border-color: var(--sidenav-border);
    }

    .insights-table tr:last-child td {
      border-bottom: none;
    }

    .insight-title {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-bold);
      color: #343438;
      margin-bottom: 4px;
    }

    body.dark-mode .insight-title {
      color: var(--sidenav-text-default);
    }

    .insight-description {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      margin-bottom: 4px;
    }

    body.dark-mode .insight-description {
      color: var(--sidenav-text-default);
    }

    .insight-timestamp {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xxxs);
      font-weight: var(--font-weight-normal);
      color: #83838C;
    }

    body.dark-mode .insight-timestamp {
      color: #A3A3AB;
    }

    .config-link {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #0174BC;
      text-decoration: none;
    }

    .config-link:hover {
      text-decoration: underline;
    }

    .insight-tags {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .more-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #83838C;
    }

    body.dark-mode .more-text {
      color: #A3A3AB;
    }

    /* Table Search Bar */
    .table-search-container {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 16px;
    }

    .table-search-bar {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 8px 12px;
      background: white;
      border: 1px solid #D6D6DD;
      border-radius: 4px;
      width: 400px;
    }

    body.dark-mode .table-search-bar {
      background: var(--sidenav-background);
      border-color: var(--sidenav-border);
    }

    .table-search-icon {
      flex-shrink: 0;
      opacity: 0.6;
    }

    .table-search-input {
      flex: 1;
      border: none;
      outline: none;
      background: transparent;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
    }

    .table-search-input::placeholder {
      color: #83838C;
    }

    body.dark-mode .table-search-input {
      color: var(--sidenav-text-default);
    }

    body.dark-mode .table-search-input::placeholder {
      color: #A3A3AB;
    }

    /* Table Filter Select */
    .table-filter-container {
      display: flex;
      align-items: baseline;
      gap: 8px;
    }

    .table-filter-label {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #343438;
      line-height: 20px;
      margin-left: 16px;
    }

    body.dark-mode .table-filter-label {
      color: var(--sidenav-text-default);
    }

    .table-filter-select {
      position: relative;
      display: inline-block;
      width: 148px;
    }

    .custom-select-display {
      width: 100%;
      padding: 6px 8px;
      border: 1px solid #83838C;
      background: #FFFFFF;
      font-family: var(--font-family-brand);
      font-size: 14px;
      font-weight: 400;
      line-height: 20px;
      color: #232326;
      cursor: pointer;
      position: relative;
    }

    .custom-select-display:hover {
      border-color: var(--color-neutral-90);
    }

    body.dark-mode .custom-select-display {
      background: var(--sidenav-background);
      color: var(--sidenav-text-default);
      border-color: #83838C;
    }

    body.dark-mode .custom-select-display:hover {
      border-color: var(--color-neutral-90);
    }

    .display-filter-dropdown {
      display: none;
      position: fixed;
      background: white;
      border: 1px solid #D6D6DD;
      border-radius: 4px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      width: 148px;
      z-index: 1000;
      padding: 4px 0;
    }

    .display-filter-dropdown.show {
      display: block;
    }

    body.dark-mode .display-filter-dropdown {
      background: #2C2C2E;
      border-color: var(--sidenav-border);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
    }

    .display-filter-item {
      width: 100%;
      background: none;
      border: none;
      padding: 8px 16px;
      text-align: left;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      cursor: pointer;
      transition: background-color 0.15s;
      white-space: nowrap;
    }

    .display-filter-item:hover {
      background-color: #F7F7FA;
    }

    body.dark-mode .display-filter-item {
      color: var(--sidenav-text-default);
    }

    body.dark-mode .display-filter-item:hover {
      background-color: rgba(255, 255, 255, 0.1);
    }

    .table-filter-select::after {
      content: '';
      position: absolute;
      right: 8px;
      top: 50%;
      transform: translateY(-50%);
      width: 16px;
      height: 16px;
      background: url('icons/core_chevron.svg') no-repeat center;
      background-size: 16px 16px;
      pointer-events: none;
      filter: brightness(0) saturate(100%) invert(22%) sepia(8%) saturate(336%) hue-rotate(202deg) brightness(94%) contrast(88%);
    }

    /* Bulk Checkbox - core_checkbox component */
    .bulk-checkbox-cell {
      padding-left: 16px;
      text-align: left;
      vertical-align: middle;
    }

    tbody .bulk-checkbox-cell .bulk-checkbox-label {
      transform: translateY(-10px);
    }

    .bulk-checkbox-label {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      user-select: none;
      position: relative;
      width: 20px;
      height: 20px;
    }

    .bulk-checkbox-label input[type="checkbox"] {
      position: absolute;
      opacity: 0;
      width: 20px;
      height: 20px;
      margin: 0;
      cursor: pointer;
      z-index: 1;
    }

    .hidden-assets-toggle input[type="checkbox"] {
      position: absolute;
      opacity: 0;
      width: 20px;
      height: 20px;
      margin: 0;
      cursor: pointer;
    }

    /* Hidden Assets Toggle - core_checkbox component */
    .hidden-assets-toggle {
      display: flex;
      align-items: baseline;
      gap: 8px;
      cursor: pointer;
      user-select: none;
      position: relative;
    }

    .hidden-assets-toggle .checkbox-custom {
      margin-bottom: 2px;
    }

    .checkbox-custom {
      width: 20px;
      height: 20px;
      border: 1.5px solid #83838C;
      border-radius: 2px;
      background: white;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: all 0.15s ease;
      position: relative;
      pointer-events: none;
    }

    .checkbox-custom::after {
      content: '';
      width: 12px;
      height: 12px;
      background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 6L5 9L10 3' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      opacity: 0;
      transform: scale(0.5);
      transition: all 0.15s ease;
    }

    .bulk-checkbox-label input[type="checkbox"]:checked + .checkbox-custom,
    .hidden-assets-toggle input[type="checkbox"]:checked + .checkbox-custom {
      background: #0174BC;
      border-color: #0174BC;
    }

    .bulk-checkbox-label input[type="checkbox"]:checked + .checkbox-custom::after,
    .hidden-assets-toggle input[type="checkbox"]:checked + .checkbox-custom::after {
      opacity: 1;
      transform: scale(1);
    }

    .bulk-checkbox-label:hover .checkbox-custom,
    .hidden-assets-toggle:hover .checkbox-custom {
      border-color: #666666;
    }

    .bulk-checkbox-label input[type="checkbox"]:checked:hover + .checkbox-custom,
    .hidden-assets-toggle input[type="checkbox"]:checked:hover + .checkbox-custom {
      background: #015A94;
      border-color: #015A94;
    }

    .bulk-checkbox-label input[type="checkbox"]:disabled + .checkbox-custom,
    .hidden-assets-toggle input[type="checkbox"]:disabled + .checkbox-custom {
      background: #F7F7FA;
      border-color: #D6D6DD;
      cursor: not-allowed;
    }

    /* Indeterminate state for select all checkbox */
    .bulk-checkbox-label input[type="checkbox"]:indeterminate + .checkbox-custom {
      background: #0174BC;
      border-color: #0174BC;
    }

    .bulk-checkbox-label input[type="checkbox"]:indeterminate + .checkbox-custom::after {
      opacity: 1;
      transform: scale(1);
      background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6L9 6' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    }

    .hidden-toggle-label {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
      cursor: pointer;
    }

    body.dark-mode .checkbox-custom {
      background: #232326;
      border-color: #999999;
    }

    body.dark-mode .hidden-assets-toggle input[type="checkbox"]:checked + .checkbox-custom {
      background: #0174BC;
      border-color: #0174BC;
    }

    body.dark-mode .hidden-assets-toggle:hover .checkbox-custom {
      border-color: #D6D6DD;
    }

    body.dark-mode .hidden-assets-toggle input[type="checkbox"]:disabled + .checkbox-custom {
      background: #1a1a1d;
      border-color: #3d3d42;
    }

    body.dark-mode .hidden-toggle-label {
      color: var(--sidenav-text-default);
    }

    /* Hidden Status Badge */
    .status-badge {
      display: inline-flex;
      height: 20px;
      padding: 2px 6px;
      align-items: center;
      gap: 4px;
      border-radius: 4px;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xxxs);
      font-weight: var(--font-weight-semibold);
      line-height: 16px;
      white-space: nowrap;
      margin-left: 8px;
      vertical-align: middle;
    }

    .status-badge.hidden {
      background: rgba(131, 131, 140, 0.12);
      color: #83838C;
      border: 1px solid rgba(131, 131, 140, 0.3);
    }

    body.dark-mode .status-badge.hidden {
      background: rgba(131, 131, 140, 0.2);
      color: #A3A3AB;
      border: 1px solid rgba(131, 131, 140, 0.4);
    }

    .status-badge img {
      width: 12px;
      height: 12px;
      opacity: 0.7;
    }

    /* Page Footer */
    .page-footer {
      width: 100%;
      height: 64px;
      background-color: var(--footer-background);
      border-top: 1px solid var(--footer-border);
      margin-top: auto;
    }

    .footer-content {
      display: flex;
      justify-content: space-between;
      align-items: center;
      height: 64px;
      max-width: 1343px;
      margin-left: calc(var(--sidenav-collapsed-width) + (100% - var(--sidenav-collapsed-width) - 1343px) / 2);
      padding: var(--spacing-s24) 0;
      gap: var(--spacing-s32);
      transition: max-width 0.3s ease, margin-left 0.3s ease, padding-left 0.3s ease, padding-right 0.3s ease;
    }

    .side-navigation.expanded ~ * .footer-content {
      margin-left: calc(var(--sidenav-expanded-width) + (100% - var(--sidenav-expanded-width) - 1343px) / 2);
    }

    body:has(#mainContentContainer.full-width) .footer-content {
      max-width: 10000px;
      margin-left: var(--sidenav-collapsed-width);
      padding-left: var(--spacing-s32);
      padding-right: var(--spacing-s32);
    }
    body:has(#mainContentContainer.full-width) .side-navigation.expanded ~ * .footer-content {
      margin-left: var(--sidenav-expanded-width);
    }

    .footer-left {
      display: flex;
      flex-direction: column;
      gap: var(--spacing-s4);
    }

    .footer-copyright {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: var(--footer-text);
      line-height: var(--line-height-xs);
      white-space: nowrap;
    }

    .footer-right {
      display: flex;
      gap: var(--spacing-s24);
      align-items: center;
    }

    .footer-link {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: var(--footer-text);
      line-height: var(--line-height-xs);
      white-space: nowrap;
      cursor: pointer;
    }

    .footer-link:hover {
      text-decoration: underline;
    }


    /* Panel Styles */
    .panel {
      display: flex;
      flex-direction: column;
      border: 1px solid #D6D6DD;
      background: white;
      margin-bottom: var(--spacing-s16);
    }

    body.dark-mode .panel {
      background: var(--sidenav-background);
      border-color: var(--sidenav-border);
    }

    .panel-header {
      display: flex;
      align-items: center;
      height: 56px;
      padding: 16px 20px;
      background: white;
      cursor: pointer;
      transition: background-color 0.15s;
    }

    body.dark-mode .panel-header {
      background: var(--sidenav-background);
    }

    .panel.expanded .panel-header {
      border-bottom: 1px solid #D6D6DD;
    }

    body.dark-mode .panel.expanded .panel-header {
      border-color: var(--sidenav-border);
    }

    .panel-header:hover {
      background-color: #F7F7FA;
    }

    body.dark-mode .panel-header:hover {
      background-color: var(--sidenav-item-hover);
    }

    .panel-title-row {
      display: flex;
      align-items: center;
      gap: 8px;
      width: 100%;
      height: 20px;
    }

    .panel-caret {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
      transition: transform 0.3s ease;
    }

    .panel.expanded .panel-caret {
      transform: rotate(90deg);
    }

    .panel-title {
      font-family: var(--font-family-brand);
      font-size: 18px;
      font-weight: var(--font-weight-semibold);
      line-height: 24px;
      color: #343438;
      flex: 1;
      margin: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    body.dark-mode .panel-title {
      color: var(--sidenav-text-default);
    }

    .panel-content {
      display: none;
      background: white;
    }

    body.dark-mode .panel-content {
      background: var(--sidenav-background);
    }

    .panel.expanded .panel-content {
      display: block;
    }

    /* Panel without header */
    .panel-no-header {
      border: 1px solid #D6D6DD;
      background: white;
      margin-bottom: var(--spacing-s16);
      position: relative;
      z-index: auto;
    }

    body.dark-mode .panel-no-header {
      background: var(--sidenav-background);
      border-color: var(--sidenav-border);
    }

    .asset-table-container.has-dropdown-open ~ .table-footer {
      z-index: 0;
    }

    /* Asset Table Styles */
    .asset-table-container {
      overflow-x: auto;
      position: relative;
    }

    .asset-table-container.has-dropdown-open {
      z-index: 1000;
    }

    .asset-table {
      width: 100%;
      border-collapse: collapse;
      table-layout: fixed;
    }

    .asset-table thead {
      background: #E5E5EA;
      border-bottom: 1px solid #D6D6DD;
    }

    body.dark-mode .asset-table thead {
      background: var(--sidenav-item-hover);
      border-bottom: 1px solid var(--sidenav-border);
    }

    .asset-table th {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #343438;
      text-align: left;
      padding: 12px 16px;
      white-space: nowrap;
    }

    body.dark-mode .asset-table th {
      color: var(--sidenav-text-default);
    }

    .asset-table th.sortable {
      cursor: pointer;
      user-select: none;
    }

    .asset-table th.sortable:hover {
      background: #EDEDF2;
    }

    body.dark-mode .asset-table th.sortable:hover {
      background: rgba(255, 255, 255, 0.05);
    }

    .th-content {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .sort-icon {
      width: 16px;
      height: 16px;
      transition: transform 0.2s;
      flex-shrink: 0;
      visibility: visible;
    }

    .th-content .sort-icon.hidden {
      visibility: hidden;
    }

    .asset-table th.sort-asc .sort-icon {
      transform: rotate(-90deg);
    }

    .asset-table th.sort-desc .sort-icon {
      transform: rotate(90deg);
    }

    .asset-table td {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      padding: 16px;
      border-bottom: 1px solid #EBEBEB;
      vertical-align: middle;
      box-sizing: border-box;
      height: 60px;
    }

    .asset-table tr:last-child td {
      border-bottom: none;
    }

    .asset-table tr.last-visible-row td {
      border-bottom: none;
    }

    body.dark-mode .asset-table td {
      color: var(--sidenav-text-default);
      border-bottom: 1px solid var(--sidenav-border);
    }

    .asset-row {
      height: 60px;
      position: relative;
    }

    .asset-row:hover {
      background: #EDF8FF;
    }

    .asset-row.dropdown-open {
      z-index: 100;
    }

    .asset-row td {
      height: 60px;
      max-height: 60px;
    }

    body.dark-mode .asset-row:hover {
      background: var(--sidenav-item-hover);
    }

    .asset-table td.asset-name {
      font-weight: var(--font-weight-semibold);
      max-width: 400px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      padding: 16px 4px;
    }


    .protection-cell img {
      width: 20px;
      height: 20px;
      vertical-align: middle;
      margin-right: 4px;
    }

    .protection-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      line-height: 20px;
      height: 20px;
      color: #343438;
      vertical-align: middle;
      display: inline-block;
    }

    body.dark-mode .protection-text {
      color: var(--sidenav-text-default);
    }

    .asset-name {
      vertical-align: middle;
    }

    .asset-main {
      line-height: 20px;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
    }

    body.dark-mode .asset-main {
      color: var(--sidenav-text-default);
    }

    .asset-sub {
      font-family: var(--font-family-brand);
      font-size: 12px;
      line-height: 20px;
      font-weight: var(--font-weight-normal);
      color: #83838C;
    }

    body.dark-mode .asset-sub {
      color: #A3A3AB;
    }

    .sparkline-container {
      display: flex;
      align-items: center;
      gap: var(--spacing-s8);
    }

    .sparkline-value {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      line-height: var(--line-height-xs);
      color: #232326;
      min-width: 30px;
      text-align: right;
    }

    body.dark-mode .sparkline-value {
      color: var(--sidenav-text-default);
    }

    .sparkline-chart {
      width: 100px;
      height: 16px;
    }

    .sparkline-area {
      fill: rgb(230, 243, 251);
    }

    .sparkline-line {
      fill: none;
      stroke: #00B4D8;
      stroke-width: 1.5;
    }

    .priority-badge {
      display: flex;
      width: 67px;
      height: 20px;
      padding: var(--global-spacing-s4, 4px) var(--global-spacing-s6, 6px);
      justify-content: center;
      align-items: center;
      gap: var(--global-spacing-s2, 2px);
      flex-shrink: 0;
      border-radius: 4px;
      font-family: 'Nunito Sans', sans-serif;
      font-size: var(--font-size-xxxs);
      font-weight: var(--font-weight-bold);
      white-space: nowrap;
    }

    .priority-badge.critical {
      background: var(--component-badge-negative-subtle-background, rgba(184, 35, 41, 0.12));
      color: #991B1B;
    }

    .priority-badge.high {
      background: rgba(205, 29, 142, 0.12);
      color: #CD1D8D;
    }

    .priority-badge.medium {
      background: rgba(245, 158, 11, 0.12);
      color: #92400E;
    }

    .priority-badge.low {
      background: rgba(59, 130, 246, 0.12);
      color: #1E40AF;
    }

    .priority-badge.na {
      background: rgba(131, 131, 140, 0.12);
      color: #83838C;
    }

    .tags-cell {
      white-space: nowrap;
    }

    .tag-badge {
      display: inline-flex;
      height: 24px;
      padding: 0 var(--global-spacing-s8, 8px);
      align-items: center;
      gap: 4px;
      border-radius: 12px;
      border: 1px solid var(--component-tag-default-border, #83838C);
      background: var(--component-tag-default-background, #F7F7FA);
      font-family: var(--font-family-brand);
      font-size: 12px;
      font-weight: var(--font-weight-semibold);
      line-height: 16px;
      color: #343438;
      white-space: nowrap;
      margin-right: 4px;
    }

    body.dark-mode .tag-badge {
      background: var(--sidenav-background);
      border-color: var(--sidenav-border);
      color: var(--sidenav-text-default);
    }

    .tag-more {
      font-family: var(--font-family-brand);
      font-size: 12px;
      font-weight: var(--font-weight-semibold);
      color: #83838C;
      white-space: nowrap;
      margin-left: 2px;
    }

    body.dark-mode .tag-more {
      color: #A3A3AB;
    }

    .asset-actions {
      text-align: right;
      position: relative;
    }

    .btn-ellipsis {
      background: none;
      border: none;
      padding: 4px;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 4px;
      transition: background-color 0.15s;
    }

    .btn-ellipsis:hover {
      background: #F7F7FA;
    }

    body.dark-mode .btn-ellipsis:hover {
      background: var(--sidenav-item-hover);
    }

    .btn-ellipsis img {
      width: 20px;
      height: 20px;
      opacity: 0.6;
    }

    .btn-ellipsis:hover img {
      opacity: 1;
    }

    .dropdown-menu {
      display: none;
      position: fixed;
      background: white;
      border: 1px solid #D6D6DD;
      border-radius: 4px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      width: 160px;
      z-index: 100000;
      padding: 4px 0;
    }

    .dropdown-menu.show {
      display: block;
    }

    body.dark-mode .dropdown-menu {
      background: #2C2C2E;
      border-color: var(--sidenav-border);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
    }

    .dropdown-item {
      width: 100%;
      background: none;
      border: none;
      padding: 8px 16px;
      text-align: left;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      cursor: pointer;
      transition: background-color 0.15s;
      white-space: nowrap;
    }

    body.dark-mode .dropdown-item {
      color: var(--sidenav-text-default);
    }

    .dropdown-item:hover {
      background: #EDF8FF;
    }

    body.dark-mode .dropdown-item:hover {
      background: var(--sidenav-item-hover);
    }

    .dropdown-item.danger {
      color: #D63C42;
    }

    .dropdown-item.danger:hover {
      background: #FEE2E2;
    }

    body.dark-mode .dropdown-item.danger:hover {
      background: rgba(214, 60, 66, 0.2);
    }

    .table-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 40px;
      padding: 0 24px;
      border-top: 1px solid #D6D6DD;
      background: white;
      position: relative;
      z-index: 1;
    }

    body.dark-mode .table-footer {
      background: var(--sidenav-background);
      border-top: 1px solid var(--sidenav-border);
    }

    .table-footer-left {
      display: flex;
      align-items: center;
    }

    .table-footer-right {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .table-footer-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
    }

    body.dark-mode .table-footer-text {
      color: var(--sidenav-text-default);
    }

    .table-footer-select {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      background: transparent;
      border: none;
      outline: none;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #0174BC;
      line-height: 20px;
      cursor: pointer;
      padding-right: 4px;
    }

    body.dark-mode .table-footer-select {
      color: #0174BC;
    }

    .table-footer-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 32px;
      height: 32px;
      background: transparent;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      padding: 0;
      transition: background-color 0.2s;
    }

    .table-footer-nav img {
      filter: brightness(0) saturate(100%) invert(22%) sepia(3%) saturate(596%) hue-rotate(202deg) brightness(98%) contrast(92%);
    }

    .table-footer-nav:hover:not(:disabled) {
      background: #F7F7FA;
    }

    .table-footer-nav:disabled {
      opacity: 0.4;
      cursor: not-allowed;
    }

    body.dark-mode .table-footer-nav {
      border-color: var(--sidenav-border);
    }

    body.dark-mode .table-footer-nav:hover:not(:disabled) {
      background: var(--sidenav-item-hover);
    }

    /* Drawer Styles */
    .drawer {
      position: fixed;
      right: 0;
      top: 0;
      width: 800px;
      height: 100vh;
      background-color: white;
      transform: translateX(100%);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      z-index: 1000;
      overflow-y: auto;
    }

    .drawer.open {
      transform: translateX(0);
      box-shadow: -4px 0 16px rgba(0, 0, 0, 0.1);
    }

    .drawer-backdrop {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5);
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease, visibility 0.3s ease;
      z-index: 999;
    }

    .drawer-backdrop.open {
      opacity: 1;
      visibility: visible;
    }

    .drawer-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: var(--spacing-s32) var(--spacing-s32) var(--spacing-s24) var(--spacing-s32);
      border-bottom: none;
    }

    .drawer-header-title {
      font-family: var(--font-family-brand);
      font-size: 18px;
      font-weight: var(--font-weight-semibold);
      color: var(--sidenav-text-default);
      line-height: 20px;
    }

    .drawer-close {
      width: 24px;
      height: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      background: none;
      border: none;
      padding: 0;
    }

    .drawer-close img {
      width: 14px;
      height: 14px;
      display: block;
      object-fit: contain;
    }

    .drawer-content {
      padding: 0 var(--spacing-s32) var(--spacing-s32) var(--spacing-s32);
    }

    .drawer-content-title {
      font-family: var(--font-family-brand);
      font-size: 24px;
      font-weight: var(--font-weight-bold);
      color: var(--sidenav-text-default);
      line-height: 32px;
      margin-bottom: var(--spacing-s24);
    }

    .drawer-description {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: var(--sidenav-text-default);
      line-height: var(--line-height-xs);
      margin-bottom: var(--spacing-s24);
    }

    body.dark-mode .drawer {
      background-color: var(--sidenav-background);
    }

    body.dark-mode .drawer-header-title,
    body.dark-mode .drawer-content-title,
    body.dark-mode .drawer-description {
      color: var(--sidenav-text-default);
    }

    .asset-main {
      cursor: pointer;
    }

    .asset-main:hover {
      text-decoration: underline;
    }

    /* Drawer Warning Banner */
    .drawer-warning-banner {
      display: flex;
      align-items: center;
      background: var(--component-notificationbanner-warning-background, #FFECBC);
      border-left: 4px solid var(--component-notificationbanner-warning-border, #FECB34);
      padding-left: 4px;
      padding-right: 12px;
      margin-bottom: 24px;
    }

    .drawer-warning-icon {
      padding-left: 8px;
      flex-shrink: 0;
    }

    .drawer-warning-icon img {
      width: 16px;
      height: 16px;
      display: block;
      filter: brightness(0) saturate(100%) invert(24%) sepia(0%) saturate(0%) hue-rotate(180deg) brightness(95%) contrast(91%);
    }

    .drawer-warning-content {
      flex: 1;
      min-width: 0;
      padding: 12px 0 12px 8px;
    }

    .drawer-warning-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      line-height: var(--line-height-xxxs);
      color: var(--component-notificationbanner-text, #343438);
      word-break: break-word;
    }

    /* Drawer Details Section */
    .drawer-details-section {
      margin-bottom: 20px;
      padding: 0 16px;
    }

    .drawer-hostname-row {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      margin-bottom: 16px;
      gap: 24px;
    }

    .drawer-hostname-left {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .drawer-hostname-left:first-child {
      flex: 1 1 auto;
    }

    .drawer-hostname-left:nth-child(2) {
      flex: 0 0 108px;
    }

    .drawer-hostname-left:nth-child(3) {
      flex: 0 0 calc(47.65% - 22px - 108px);
    }

    .drawer-hostname-indicators {
      display: flex;
      align-items: center;
      gap: 16px;
      flex-shrink: 0;
    }

    .drawer-protection-indicator {
      display: flex;
      align-items: center;
      gap: 4px;
    }

    .drawer-protection-indicator img {
      width: 16px;
      height: 16px;
    }

    .drawer-details-row {
      display: flex;
      gap: 24px;
    }

    .drawer-detail-column {
      display: flex;
      flex-direction: column;
      gap: 4px;
      flex: 1 1 auto;
    }

    .drawer-detail-column:last-child {
      flex: 0 0 47.65%;
    }


    .drawer-detail-label {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-bold);
      color: #343438;
      line-height: 20px;
    }

    .drawer-detail-value {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 24px;
    }

    .drawer-detail-value-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 4px;
      row-gap: 4px;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
    }

    .drawer-tags-row {
      display: flex;
      gap: 4px;
      flex-wrap: wrap;
    }

    /* Drawer Sections */
    .drawer-section {
    }

    .drawer-section-header {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 12px;
      background: #F7F7FA;
      border-bottom: 1px solid #D6D6DD;
      cursor: pointer;
      user-select: none;
    }

    .drawer-section-header:hover {
      background: #EBEBEB;
    }

    .drawer-section-caret {
      width: 20px;
      height: 20px;
      transition: transform 0.2s;
      flex-shrink: 0;
      transform: rotate(90deg);
    }

    .drawer-section.collapsed .drawer-section-caret {
      transform: rotate(0deg);
    }

    .drawer-section-title {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #343438;
      line-height: 16px;
    }

    .drawer-section-subtitle {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #83838C;
      line-height: 16px;
    }

    .drawer-section-content {
      padding: 16px;
      display: block;
    }

    .drawer-section.collapsed .drawer-section-content {
      display: none;
    }

    /* Drawer Issues Section */
    .drawer-issues-section {
      margin-top: 16px;
    }

    .drawer-issues-section .drawer-detail-label {
      padding-bottom: 8px;
    }

    .drawer-issue-card {
      border-top: 1px solid #D6D6DD;
      padding: 8px 0;
    }

    .drawer-issue-content-full {
      padding: 8px 16px;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .drawer-issue-header {
      display: flex;
      align-items: center;
      gap: 6px;
      height: 20px;
    }

    .drawer-issue-severity {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-bold);
      color: #343438;
      line-height: 20px;
    }

    .drawer-issue-title-large {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-s);
      font-weight: var(--font-weight-bold);
      color: #343438;
      line-height: 20px;
      padding-bottom: 8px;
    }

    .drawer-recommendation-box {
      padding: 16px;
      background: #EDF8FF;
      border: 1px solid #C2E7FF;
      border-radius: 4px;
    }

    .drawer-recommendation-title {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #343438;
      line-height: 20px;
      margin-bottom: 4px;
    }

    .drawer-recommendation-text {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #343438;
      line-height: 20px;
      margin-bottom: 16px;
    }

    .drawer-action-button {
      background-color: #0174BC;
      border: 1px solid #0174BC;
      border-radius: 2px;
      height: 34px;
      padding: 9px 13px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: white;
      cursor: pointer;
      transition: background-color 0.2s;
    }

    .drawer-action-button:hover {
      background-color: #015A94;
    }

    /* Drawer Button Container */
    .drawer-button-container {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      padding: 16px 0;
      border-top: 1px solid #D6D6DD;
    }

    .drawer-secondary-button {
      background-color: white;
      border: 1px solid #0174BC;
      border-radius: 2px;
      height: 34px;
      padding: 9px 13px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #0174BC;
      cursor: pointer;
      transition: background-color 0.2s;
    }

    .drawer-secondary-button:hover {
      background-color: #F7F7FA;
    }

    .drawer-secondary-button img {
      flex-shrink: 0;
    }

    body.dark-mode .drawer-button-container {
      border-color: var(--sidenav-border);
    }

    body.dark-mode .drawer-secondary-button {
      background: var(--sidenav-background);
      border-color: #0174BC;
      color: #0174BC;
    }

    body.dark-mode .drawer-secondary-button:hover {
      background: var(--sidenav-item-hover);
    }

    body.dark-mode .drawer-warning-text {
      color: var(--sidenav-text-default);
    }

    body.dark-mode .drawer-section-header {
      background: var(--sidenav-item-hover);
    }

    body.dark-mode .drawer-section-header:hover {
      background: rgba(255, 255, 255, 0.08);
    }

    body.dark-mode .drawer-recommendation-box {
      background: rgba(1, 116, 188, 0.15);
      border-color: rgba(1, 116, 188, 0.3);
    }

    /* Bulk Actions Bar */
    .bulk-actions-bar {
      display: none;
      align-items: center;
      gap: 12px;
      padding: 12px 16px;
      background: #EDF8FF;
      border: 1px solid #5BB3EA;
      border-radius: 2px;
      margin-bottom: 8px;
    }

    .bulk-actions-bar.visible {
      display: flex;
    }

    .bulk-actions-left {
      display: flex;
      align-items: center;
      gap: 8px;
      flex: 1;
    }

    .bulk-action-button-primary {
      background: #0174BC;
      border: none;
      border-radius: 2px;
      height: 34px;
      padding: 9px 13px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #FFFFFF;
      cursor: pointer;
      transition: background-color 0.15s ease;
    }

    .bulk-action-button-primary:hover {
      background: #015A94;
    }

    .bulk-action-button-secondary {
      background: #FFFFFF;
      border: 1px solid #0174BC;
      border-radius: 2px;
      height: 34px;
      padding: 9px 13px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #0174BC;
      cursor: pointer;
      transition: all 0.15s ease;
    }

    .bulk-action-button-secondary img {
      width: 16px;
      height: 16px;
      object-fit: contain;
      flex-shrink: 0;
    }

    .bulk-action-button-secondary:hover {
      background: #F7F7FA;
    }

    .bulk-action-icon-button {
      width: 34px;
      height: 34px;
      background: #FFFFFF;
      border: 1px solid #D6D6DD;
      border-radius: 2px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: all 0.15s ease;
    }

    .bulk-action-icon-button:hover {
      background: #F7F7FA;
      border-color: #83838C;
    }

    .bulk-action-icon-button img {
      width: 16px;
      height: 16px;
      object-fit: contain;
    }

    .bulk-actions-count {
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      color: #232326;
      margin-left: auto;
    }

    .bulk-action-cancel {
      background: none;
      border: none;
      font-family: var(--font-family-brand);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-semibold);
      color: #0174BC;
      cursor: pointer;
      padding: 0 8px;
    }

    .bulk-action-cancel:hover {
      text-decoration: underline;
    }

    body.dark-mode .bulk-actions-bar {
      background: #232326;
      border-color: #3D3D42;
    }

    body.dark-mode .bulk-action-icon-button {
      background: #232326;
      border-color: #3D3D42;
    }

    body.dark-mode .bulk-action-icon-button:hover {
      background: #2A2A2E;
      border-color: #83838C;
    }

    body.dark-mode .bulk-actions-count {
      color: #D6D6DD;
    }

    body.dark-mode .bulk-action-cancel {
      color: #4DA3E0;
    }


/* HTML: <div class="loader"></div> */
.loader {
  width: 40px;
  aspect-ratio: 1;
   --c:no-repeat linear-gradient(#000 0 0);
   --m:no-repeat radial-gradient(circle closest-side,#0000 92%,#000);
  background: 
    var(--c) 0    50%,
    var(--c) 50%  50%, 
    var(--c) 100% 50%;
  background-size: 8px calc(50% + 8px);
  -webkit-mask: var(--m),var(--m),var(--m);
  -webkit-mask-size: 8px 150%;
  animation: l12 1s infinite alternate;
}
@keyframes l12 {
  0%,
  100% {-webkit-mask-position: 0 50% ,50% 50% ,100% 50% }
  20%  {-webkit-mask-position: 0 100%,50% 50% ,100% 50% }
  40%  {-webkit-mask-position: 0 0   ,50% 100%,100% 50% }
  60%  {-webkit-mask-position: 0 50% ,50% 0   ,100% 100%}
  80%  {-webkit-mask-position: 0 50% ,50% 50% ,100% 0   }
}

/* ===========================
   Score / Improve Score Widgets
   =========================== */

.widget-row {
  display: flex;
  gap: var(--spacing-s16);
  margin-bottom: var(--spacing-s16);
}

.widget-card {
  flex: 1;
  background: #EDEDF2;
  border: 1px solid #D6D6DD;
  display: flex;
  flex-direction: column;
  padding-bottom: 16px;
}

body.dark-mode .widget-card {
  background: var(--sidenav-background);
  border-color: var(--sidenav-border);
}

.widget-header {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  width: 100%;
}

.widget-header-inner {
  display: flex;
  align-items: center;
  height: 52px;
  padding: 16px 24px;
}

.widget-label {
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-family-brand);
  font-size: 16px;
  font-weight: var(--font-weight-bold);
  color: #A3A3AB;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-label-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: #A3A3AB;
}

.widget-divider {
  height: 1px;
  background: #D6D6DD;
  margin: 0 24px;
  flex-shrink: 0;
}

body.dark-mode .widget-divider {
  background: var(--sidenav-border);
}

.widget-body {
  display: flex;
  align-items: flex-start;
  padding: 0 40px;
  height: 148px;
  margin-top: 20px;
}

/* Barometer gauge */
.barometer-wrapper {
  position: relative;
  width: 160px;
  height: 135px;
  flex-shrink: 0;
}

.barometer-overlay {
  position: absolute;
  left: 40px;
  top: 60px;
  width: 79px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.barometer-score-placeholder {
  width: 79px;
  height: 30px;
  background: #D6D6DD;
  border-radius: 2px;
}

.barometer-sub-placeholder {
  width: 39px;
  height: 11px;
  background: #D6D6DD;
  border-radius: 2px;
}

/* Score widget: info panel to the right of barometer */
.score-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
  height: 100%;
  min-width: 0;
  padding-left: 24px;
}

.score-title-placeholder {
  width: 138px;
  height: 24px;
  background: #D6D6DD;
  border-radius: 2px;
}

.score-text-placeholder {
  height: 20px;
  background: #D6D6DD;
  border-radius: 2px;
}

/* Improve Score widget: three barometers */
.barometers-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: 100%;
}


/* ===========================
   Attack Traffic Section
   =========================== */

.attack-section {
  margin-bottom: 24px;
}

.attack-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-bottom: 12px;
}

.attack-title {
  font-family: var(--font-family-brand);
  font-size: 20px;
  font-weight: var(--font-weight-bold);
  color: #343438;
  line-height: 26px;
}

body.dark-mode .attack-title {
  color: var(--sidenav-text-default);
}

.attack-controls {
  display: flex;
  align-items: center;
  gap: 16px;
}

.attack-select {
  height: 34px;
  padding: 0 8px 0 12px;
  border: 1px solid #83838C;
  background: #FFFFFF;
  font-family: var(--font-family-brand);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-normal);
  color: #343438;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  min-width: 160px;
}

body.dark-mode .attack-select {
  background: var(--sidenav-background);
  color: var(--sidenav-text-default);
  border-color: #83838C;
}

.attack-select-text {
  flex: 1;
}

.attack-select-chevron {
  flex-shrink: 0;
  filter: brightness(0) saturate(100%) invert(23%) sepia(4%) saturate(398%) hue-rotate(202deg) brightness(94%) contrast(90%);
}

.attack-custom-range {
  font-family: var(--font-family-brand);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  color: #0174BC;
  text-decoration: none;
  white-space: nowrap;
}

.attack-custom-range:hover {
  text-decoration: underline;
}

.attack-chart-panel {
  background: white;
  border: 1px solid #D6D6DD;
}

body.dark-mode .attack-chart-panel {
  background: var(--sidenav-background);
  border-color: var(--sidenav-border);
}

.attack-tabs-strip {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid #D6D6DD;
  height: 52px;
}

body.dark-mode .attack-tabs-strip {
  border-bottom-color: var(--sidenav-border);
}

.attack-tab {
  display: flex;
  align-items: center;
  padding: 0 24px;
  font-family: var(--font-family-brand);
  font-size: 16px;
  font-weight: var(--font-weight-semibold);
  color: #343438;
  cursor: pointer;
  position: relative;
  border-right: 1px solid #D6D6DD;
  white-space: nowrap;
  user-select: none;
}

body.dark-mode .attack-tab {
  color: var(--sidenav-text-default);
  border-right-color: var(--sidenav-border);
}

.attack-tab.active {
  border-bottom: 1px solid white;
  margin-bottom: -1px;
}

body.dark-mode .attack-tab.active {
  border-bottom-color: var(--sidenav-background);
}

.attack-tab.active::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #0174BC;
}

.attack-tab:hover:not(.active) {
  background: #F7F7FA;
}

.attack-tab-spacer {
  flex: 1;
}

.attack-view-by {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 16px;
  font-family: var(--font-family-brand);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-normal);
  color: #343438;
  cursor: pointer;
  white-space: nowrap;
}

body.dark-mode .attack-view-by {
  color: var(--sidenav-text-default);
  border-left-color: var(--sidenav-border);
}

.attack-content-empty {
  min-height: 300px;
}

/* Setup Complete Banner */
.setup-banner {
  background: #E6EDFE;
  border: 1px solid #D6D6DD;
  padding: 24px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin-top: 16px;
  margin-bottom: 24px;
}

body.dark-mode .setup-banner {
  background: #1a1f35;
  border-color: var(--sidenav-border);
}

.setup-left {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.setup-body-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.setup-icon {
  width: 48px;
  height: 48px;
  border-radius: 144px;
  background: #4067E5;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.setup-right {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  align-self: stretch;
}

.setup-next-steps {
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-family-brand);
  font-size: 14px;
  font-weight: var(--font-weight-semibold);
  color: #0174BC;
  text-decoration: none;
  line-height: 20px;
  white-space: nowrap;
}

.setup-next-steps:hover {
  text-decoration: underline;
}

.setup-next-arrow {
  width: 16px;
  height: 16px;
  transform: rotate(180deg);
  filter: brightness(0) saturate(100%) invert(28%) sepia(83%) saturate(700%) hue-rotate(179deg) brightness(92%) contrast(95%);
}

.setup-title {
  font-family: var(--font-family-brand);
  font-size: 16px;
  font-weight: var(--font-weight-bold);
  color: #343438;
  line-height: 20px;
  margin: 0;
}

body.dark-mode .setup-title {
  color: var(--sidenav-text-default);
}

.setup-body {
  font-family: var(--font-family-brand);
  font-size: 14px;
  font-weight: var(--font-weight-normal);
  color: #343438;
  line-height: 20px;
  margin: 0;
}

body.dark-mode .setup-body {
  color: var(--sidenav-text-default);
}

/* Sine wave widget body */
.sine-widget-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px 40px 0;
  height: 148px;
}

.sine-widget-label {
  font-family: var(--font-family-brand);
  font-size: 14px;
  color: #A3A3AB;
  margin-top: 8px;
  text-align: center;
}

/* Bottom widgets row */
.bottom-widgets-row {
  display: flex;
  gap: 24px;
  margin-top: 24px;
}

.bottom-widget-wide {
  flex: 2;
  min-width: 0;
  margin-bottom: 0;
}

.bottom-widget-narrow {
  flex: 1;
  min-width: 0;
  margin-bottom: 0;
}

.bottom-widget-body {
  min-height: 300px;
  flex: 1;
}

/* Panel title icon (inline after title text) */
.panel-title-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: #A3A3AB;
}

/* Disabled panel variant — non-white background, no hover */
.panel-disabled,
.panel-disabled .panel-header,
.panel-disabled .panel-content {
  background: #EDEDF2;
}

.panel-disabled .panel-header {
  cursor: default;
}

.panel-disabled .panel-header:hover {
  background: #EDEDF2;
}

body.dark-mode .panel-disabled,
body.dark-mode .panel-disabled .panel-header,
body.dark-mode .panel-disabled .panel-content {
  background: var(--sidenav-background);
}

/* Panels inside widget-row inherit flex and reset margin */
.widget-row .panel {
  flex: 1;
  margin-bottom: 0;
}

/* Same reset for the 3-column grid variant (.widget-row-3 is defined
   per-project, not here, but this selector still applies wherever it's
   used) — without it, .panel's own margin-bottom stacks with the row's
   margin-bottom and doubles the gap to the next row. */
.widget-row-3 .panel {
  margin-bottom: 0;
}

/* Non-collapsible panel variant */
.panel-static .panel-header {
  border-bottom: 1px solid #D6D6DD;
  cursor: default;
}

.panel-static .panel-header:hover {
  background: white;
}

.panel-static.panel-disabled .panel-header:hover {
  background: #EDEDF2;
}

.panel-static.panel-disabled .panel-title {
  color: #A3A3AB;
}

body.dark-mode .panel-static .panel-header {
  border-bottom-color: var(--sidenav-border);
}

body.dark-mode .panel-static .panel-header:hover {
  background: var(--sidenav-background);
}

body.dark-mode .panel-static.panel-disabled .panel-header:hover {
  background: var(--sidenav-background);
}

.panel-static .panel-content {
  display: block;
}

/* Top targeted tabs */
.top-targeted-tabs-strip {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid #D6D6DD;
  height: 44px;
}

body.dark-mode .top-targeted-tabs-strip {
  border-bottom-color: var(--sidenav-border);
}

.top-targeted-tab {
  display: flex;
  align-items: center;
  padding: 0 16px;
  font-family: var(--font-family-brand);
  font-size: 14px;
  line-height: 18px;
  font-weight: var(--font-weight-semibold);
  color: #343438;
  cursor: pointer;
  position: relative;
  border-right: 1px solid #D6D6DD;
  white-space: nowrap;
  user-select: none;
}

body.dark-mode .top-targeted-tab {
  color: var(--sidenav-text-default);
  border-right-color: var(--sidenav-border);
}

.top-targeted-tab.active {
  border-bottom: 1px solid white;
  margin-bottom: -1px;
}

body.dark-mode .top-targeted-tab.active {
  border-bottom-color: var(--sidenav-background);
}

.top-targeted-tab.active::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #0174BC;
}

.top-targeted-tab:hover:not(.active) {
  background: #F7F7FA;
}

/* ===================================================================
   DESIGN SYSTEM COMPONENTS — Canonical additions 2026-06-26
   Source of truth for all prototypes. Guideline docs reference these.
   =================================================================== */

/* Page Title Wrappers
   ----------------------------------------------------------------- */
.page-title-main {
  margin-bottom: var(--spacing-s32);
}

.page-title-detail {
  margin-bottom: var(--spacing-s32);
}

/* Select — Default (bordered)
   ----------------------------------------------------------------- */
.select-default {
  height: 34px;
  padding: 6px 32px 6px 12px;
  background: white;
  border: 1px solid #83838C;
  border-radius: 0;
  font-family: var(--font-family-brand);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-normal);
  line-height: 16px;
  color: #343438;
  cursor: pointer;
  appearance: none;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.67 8.33L10 11.67L13.33 8.33" stroke="%23343438" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-repeat: no-repeat;
  background-position: right 8px center;
}

.select-default:hover {
  background-color: #FAFAFA;
}

.select-default:focus {
  outline: 2px solid #0174BC;
  outline-offset: -2px;
}

/* Panel — Badge group (count + icon badge in header)
   ----------------------------------------------------------------- */
.panel-badge-group {
  display: flex;
  align-items: center;
  gap: var(--spacing-s8);
  margin-left: auto;
}

.panel-count {
  display: flex;
  align-items: center;
  gap: var(--spacing-s4);
}

.panel-count-number {
  font-family: var(--font-family-brand);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-xs);
  color: #343438;
}

body.dark-mode .panel-count-number {
  color: var(--sidenav-text-default);
}

.panel-count-label {
  font-family: var(--font-family-brand);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-xs);
  color: #343438;
}

body.dark-mode .panel-count-label {
  color: var(--sidenav-text-default);
}

.panel-icon-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: #E1F4FF;
  border-radius: 40px;
  padding: var(--spacing-s8);
  flex-shrink: 0;
}

body.dark-mode .panel-icon-badge {
  background: #1e3a52;
}

.panel-icon-badge img {
  width: 16px;
  height: 16px;
  filter: brightness(0) saturate(100%) invert(27%) sepia(98%) saturate(1588%) hue-rotate(183deg) brightness(94%) contrast(101%);
}

/* Panel — Text content (inside expanded panel)
   ----------------------------------------------------------------- */
.panel-text {
  padding: var(--spacing-s20) var(--spacing-s24) 0 var(--spacing-s24);
}

.panel-text p {
  font-family: var(--font-family-brand);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-xs);
  color: #343438;
  margin: 0 0 var(--spacing-s16) 0;
}

body.dark-mode .panel-text p {
  color: var(--sidenav-text-default);
}

.panel-description {
  padding: 0 var(--spacing-s24) var(--spacing-s24) var(--spacing-s24);
}

.panel-description p {
  font-family: var(--font-family-brand);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-xs);
  color: #343438;
  margin: 0;
}

body.dark-mode .panel-description p {
  color: var(--sidenav-text-default);
}

/* Panel — Table
   ----------------------------------------------------------------- */
.panel-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}

.panel-table thead {
  background: #E5E5EA;
}

body.dark-mode .panel-table thead {
  background: var(--sidenav-item-hover);
}

.panel-table th {
  font-family: var(--font-family-brand);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  line-height: 16px;
  color: #343438;
  text-align: left;
  padding: 12px var(--spacing-s16);
  border-bottom: 1px solid #A3A3AB;
  white-space: nowrap;
}

body.dark-mode .panel-table th {
  color: var(--sidenav-text-default);
  border-color: var(--sidenav-border);
}

.panel-table td {
  font-family: var(--font-family-brand);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-normal);
  line-height: 16px;
  color: #343438;
  padding: var(--spacing-s8) var(--spacing-s16);
  border-bottom: 1px solid #D6D6DD;
  vertical-align: middle;
}

body.dark-mode .panel-table td {
  color: var(--sidenav-text-default);
  border-color: var(--sidenav-border);
}

.panel-table tbody tr:hover {
  background-color: #F7F7FA;
}

body.dark-mode .panel-table tbody tr:hover {
  background-color: var(--sidenav-item-hover);
}

/* Panel — Tag (inline label in table cells)
   ----------------------------------------------------------------- */
.panel-tag {
  display: inline-block;
  padding: 1px 9px;
  background: #F7F7FA;
  border: 1px solid #83838C;
  border-radius: 12px;
  font-family: var(--font-family-brand);
  font-size: 12px;
  font-weight: var(--font-weight-semibold);
  line-height: 16px;
  color: #343438;
  white-space: nowrap;
}

/* Panel — Inline select (table rows)
   ----------------------------------------------------------------- */
.panel-select {
  height: 34px;
  padding: 6px 32px 6px 12px;
  background: white;
  border: 1px solid #83838C;
  border-radius: 0;
  font-family: var(--font-family-brand);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-normal);
  line-height: 16px;
  color: #343438;
  cursor: pointer;
  appearance: none;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.67 8.33L10 11.67L13.33 8.33" stroke="%23343438" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-repeat: no-repeat;
  background-position: right 8px center;
}

.panel-select:hover {
  background-color: #FAFAFA;
}

.panel-select:focus {
  outline: 2px solid #0174BC;
  outline-offset: -2px;
}

/* Panel — Overflow / actions button
   ----------------------------------------------------------------- */
.panel-overflow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin-left: var(--spacing-s8);
  vertical-align: middle;
  transition: background-color 0.15s;
}

.panel-overflow:hover {
  background-color: #F7F7FA;
}

.panel-overflow img {
  width: 20px;
  height: 20px;
}

/* ===================================================================
   SECURITY CONFIG APP BAR + NAV CHROME - CANONICAL, MIGRATED 2026-07-07
   Consolidated from duplicated inline <style> blocks in
   Tables/index.html, Filters/index.html, Charts/index.html.
   This is the current standard page chrome for new projects — use it
   instead of the old ribbon-bar / plain dark-mode-toggle pattern.
   =================================================================== */

/* Security Config App Bar */
.security-app-bar {
  position: fixed;
  top: 56px;
  left: 0;
  width: 100%;
  height: 51px;
  background: #162b48;
  display: flex;
  align-items: center;
  z-index: 998;
}

.security-app-bar-inner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 16px;
  height: 100%;
  width: 100%;
}

.security-app-bar-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.security-app-bar-brand-text {
  font-family: var(--font-family-brand);
  font-size: 16px;
  font-weight: 700;
  color: white;
  white-space: nowrap;
  line-height: normal;
}

.security-app-bar-divider {
  width: 2px;
  height: 21px;
  background: rgba(255, 255, 255, 0.25);
  flex-shrink: 0;
}

.security-app-bar-nav-item {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  flex-shrink: 0;
}

.security-app-bar-nav-text {
  font-family: var(--font-family-brand);
  font-size: 14px;
  font-weight: 600;
  color: white;
  white-space: nowrap;
  line-height: normal;
}

.security-app-bar-nav-item--muted .security-app-bar-nav-text {
  opacity: 0.7;
}

.security-app-bar-nav-item--muted img {
  opacity: 0.7;
}

/* Page layout: override shared layout-container/side-nav top for the
   ACC header + Security Config App Bar 107px fixed bar stack */
.layout-container.has-security-app-bar { padding-top: 107px; }
.side-navigation.has-security-app-bar { top: 107px; background-color: white; }

/* Gear icon in nav footer (Security Config App Bar pages only — the
   rules below are scoped under .has-security-app-bar so they don't leak
   into pages like Asset-inventory/CISO that reuse .side-nav-item /
   .side-nav-chevron with the older full-row-hover treatment) */
.side-nav-gear {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.15s;
  margin-bottom: 4px;
}
.side-nav-gear:hover { background: #EDEDF2; }
.side-nav-gear img { width: 20px; height: 20px; display: block; }
body.dark-mode .side-nav-gear img {
  filter: brightness(0) saturate(100%) invert(85%) sepia(5%) saturate(115%) hue-rotate(202deg) brightness(95%) contrast(90%);
}

.side-navigation.has-security-app-bar .side-nav-chevron,
.side-nav-pushpin {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  transition: background-color 0.15s;
}
.side-navigation.has-security-app-bar .side-nav-chevron:hover,
.side-nav-pushpin:hover { background: #EDEDF2; }
.side-navigation.pinned .side-nav-pushpin { background: #EDEDF2; }
body.dark-mode .side-navigation.has-security-app-bar .side-nav-chevron:hover,
body.dark-mode .side-nav-pushpin:hover { background: var(--sidenav-item-hover); }
body.dark-mode .side-navigation.pinned .side-nav-pushpin { background: var(--sidenav-item-hover); }

/* Pushpin: absolute within the fixed nav, right-aligned at the same bottom as the footer */
.side-nav-pushpin {
  position: absolute;
  right: 16px;
  bottom: var(--spacing-s20);
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.side-navigation.expanded .side-nav-pushpin {
  display: flex;
}
.side-nav-pushpin img {
  width: 20px;
  height: 20px;
  display: block;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(44%) sepia(2%) saturate(342%) hue-rotate(202deg) brightness(94%) contrast(86%);
}
body.dark-mode .side-nav-pushpin img {
  filter: brightness(0) saturate(100%) invert(85%) sepia(5%) saturate(115%) hue-rotate(202deg) brightness(95%) contrast(90%);
}

/* Display preferences popover (opened via the nav gear icon) */
.display-prefs-popover {
  display: none;
  position: fixed;
  left: 12px;
  bottom: 100px;
  background: #ffffff;
  border: 1px solid #D6D6DD;
  border-radius: 4px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
  width: 220px;
  padding: 16px;
  z-index: 200;
  font-family: var(--font-family-brand);
}
.display-prefs-popover.open { display: block; bottom: 110px; }
.display-prefs-title {
  font-size: 14px;
  font-weight: 700;
  color: #343438;
  margin-bottom: 14px;
}
.display-prefs-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.display-prefs-label {
  font-size: 13px;
  font-weight: 400;
  color: #343438;
}
.display-prefs-section-label {
  font-size: 13px;
  font-weight: 600;
  color: #343438;
  margin-bottom: 8px;
  margin-top: 4px;
}
.display-prefs-radio-row {
  padding-left: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  cursor: pointer;
}
.display-prefs-radio-row input[type="radio"] {
  accent-color: #0073CC;
  width: 16px;
  height: 16px;
  cursor: pointer;
  flex-shrink: 0;
}
.display-prefs-radio-label {
  font-size: 13px;
  color: #343438;
  cursor: pointer;
}
/* Popover toggles: match ADS core_switch component exactly */
.display-prefs-popover .toggle-switch {
  transform: rotate(0deg);
  width: 40px;
  height: 20px;
}
.display-prefs-popover .toggle-slider {
  border-radius: 10px;
}
/* Knob */
.display-prefs-popover .toggle-slider:before {
  width: 16px;
  height: 16px;
  left: 2px;
  bottom: 2px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.25);
}
/* Checkmark: separate from knob, sits left of knob inside track */
.display-prefs-popover .toggle-slider:after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  left: 6px;
  top: 4px;
  background-image: url("icons/core_checkmark.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
  opacity: 0;
  transition: opacity 0.3s;
}
/* Active state: move knob right, show checkmark */
.display-prefs-popover input:checked + .toggle-slider:before {
  transform: translateX(20px);
  background-image: none;
}
.display-prefs-popover input:checked + .toggle-slider:after {
  opacity: 1;
}

/* Left nav — icon field only, not the full row (current standard for
   Security Config App Bar pages; scoped under .has-security-app-bar so
   it supersedes the full-row-hover side-nav-item styling above only on
   those pages, not on Asset-inventory/CISO which still use the old
   full-row treatment) */
.side-navigation.has-security-app-bar .side-nav-item:hover { background-color: transparent; }
.side-navigation.has-security-app-bar .side-nav-item.active { background-color: transparent; }
.side-navigation.has-security-app-bar .side-nav-item { padding: 0 12px; }
.side-navigation.has-security-app-bar.expanded .side-nav-item { padding: 0 12px; }
.side-navigation.has-security-app-bar .side-nav-item-icon {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  transition: background-color 0.15s;
}
.side-navigation.has-security-app-bar .side-nav-item:hover .side-nav-item-icon { background: #EDEDF2; }
.side-navigation.has-security-app-bar .side-nav-item.active .side-nav-item-icon { background: #EDF8FF; }
.side-navigation.has-security-app-bar .side-nav-item-icon img {
  filter: brightness(0);
}
body.dark-mode .side-navigation.has-security-app-bar .side-nav-item-icon img {
  filter: brightness(0) saturate(100%) invert(85%) sepia(5%) saturate(115%) hue-rotate(202deg) brightness(95%) contrast(90%);
}
.side-navigation.has-security-app-bar .side-nav-item.active .side-nav-item-icon img {
  filter: brightness(0) saturate(100%) invert(42%) sepia(90%) saturate(600%) hue-rotate(182deg) brightness(97%);
}

/* ===================================================================
   MODAL COMPONENT - CANONICAL, ADDED 2026-07-07
   Sourced from Figma ADS (Claude) design system, core_modal
   (Type=Default, Size=Small) — node 58:1396, file X41fDJzAR1F4otrnKdUy4s.
   =================================================================== */

.modal-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(35, 35, 38, 0.24);
  z-index: 2000;
  align-items: center;
  justify-content: center;
}
.modal-backdrop.open {
  display: flex;
}

.modal {
  background: #ffffff;
  box-shadow: 0px 16px 32px rgba(61, 61, 66, 0.18), 0px 4px 8px rgba(61, 61, 66, 0.08);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s24);
  padding: var(--spacing-s24) var(--spacing-s32) var(--spacing-s32) var(--spacing-s32);
  width: 459px;
  max-width: calc(100vw - var(--spacing-s32));
}

/* Width override utility — use alongside .modal for non-default sizing
   (e.g. a modal meant to size relative to the viewport rather than the
   Figma-default 459px fixed width). Percentage steps up as the viewport
   shrinks so the modal's actual rendered width stays roughly constant
   (~320-340px) down to 672px, then goes full-width with 24px margins
   below that (e.g. 320px viewport = 272px modal). */
.modal.modal-width-25 {
  width: 25%;
}
@media (max-width: 1312px) {
  .modal.modal-width-25 {
    width: 32%;
  }
}
@media (max-width: 1056px) {
  .modal.modal-width-25 {
    width: 48%;
  }
}
@media (max-width: 672px) {
  .modal.modal-width-25 {
    width: calc(100% - 48px);
  }
}

/* Same pattern as .modal-width-25, scaled up for a "Small" modal —
   rendered width stays roughly constant (~400-470px) down to 672px,
   then full-width with 24px margins below that. */
.modal.modal-width-36 {
  width: 36%;
}
@media (max-width: 1312px) {
  .modal.modal-width-36 {
    width: 42%;
  }
}
@media (max-width: 1056px) {
  .modal.modal-width-36 {
    width: 60%;
  }
}
@media (max-width: 672px) {
  .modal.modal-width-36 {
    width: calc(100% - 48px);
  }
}

/* Same pattern as .modal-width-25, scaled up for a "Medium" modal —
   rendered width stays roughly constant (~630-660px) down to 672px,
   then full-width with 24px margins below that. */
.modal.modal-width-50 {
  width: 50%;
}
@media (max-width: 1312px) {
  .modal.modal-width-50 {
    width: 60%;
  }
}
@media (max-width: 1056px) {
  .modal.modal-width-50 {
    width: 84%;
  }
}
@media (max-width: 672px) {
  .modal.modal-width-50 {
    width: calc(100% - 48px);
  }
}

.modal-title-row {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-s16);
  width: 100%;
}

.modal-title-icon-group {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex: 1;
  min-width: 0;
}

.modal-title-icon img {
  width: 24px;
  height: 24px;
  display: block;
}

.modal-title {
  flex: 1;
  min-width: 0;
  font-family: var(--font-family-brand);
  font-size: 18px;
  font-weight: var(--font-weight-bold);
  line-height: 24px;
  color: #343438;
  margin: 0;
  word-break: break-word;
}

.modal-close {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
}
.modal-close img {
  width: 20px;
  height: 20px;
  display: block;
}

.modal-description {
  font-family: var(--font-family-brand);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-xs);
  color: #343438;
  margin: 0;
  word-break: break-word;
}

.modal-actions {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 12px;
  width: 100%;
}

.modal-btn-secondary,
.modal-btn-primary,
.modal-btn-tertiary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 9px 13px;
  border-radius: 0;
  font-family: var(--font-family-brand);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-xxxs);
  cursor: pointer;
  white-space: nowrap;
}

.modal-btn-secondary {
  background: #ffffff;
  border: 1px solid #0174bc;
  color: #0174bc;
}
.modal-btn-secondary:hover {
  background: #EDF8FF;
}

.modal-btn-primary {
  background: #0174bc;
  border: 1px solid #0174bc;
  color: #ffffff;
}
.modal-btn-primary:hover {
  background: #005f99;
  border-color: #005f99;
}

/* Tertiary: background/border/text confirmed by user from Figma's own
   generated CSS on 2026-07-07 (component/button/tertiary/default/*
   tokens). Hover state is still unconfirmed — background below is a
   guess (neutral gray, matching other low-emphasis hovers on this
   site); revisit once given the real value. See Modals/CLAUDE.md. */
.modal-btn-tertiary {
  background: #FFFFFF;
  border: 1px solid #C2C2CA;
  color: #343438;
}
.modal-btn-tertiary:hover {
  background: #EDEDF2;
}

body.dark-mode .modal {
  background: var(--sidenav-background, #232326);
}
body.dark-mode .modal-title,
body.dark-mode .modal-description {
  color: var(--sidenav-text-default, #d6d6dd);
}
body.dark-mode .modal-close img {
  filter: brightness(0) saturate(100%) invert(85%) sepia(5%) saturate(115%) hue-rotate(202deg) brightness(95%) contrast(90%);
}
body.dark-mode .modal-btn-secondary {
  background: transparent;
}
body.dark-mode .modal-btn-secondary:hover {
  background: var(--sidenav-item-hover, #2c2c30);
}
body.dark-mode .modal-btn-tertiary {
  background: transparent;
  border-color: var(--sidenav-border, #3d3d42);
  color: var(--sidenav-text-default, #d6d6dd);
}
body.dark-mode .modal-btn-tertiary:hover {
  background: var(--sidenav-item-hover, #2c2c30);
}

/* Launch trigger: primary-button styling, matches .modal-btn-primary exactly
   (the ADS "Launch" button TYPE exists in the design system but its node
   wasn't accessible via Figma MCP in this session — this is the faithful
   stand-in using the same primary-button token values; revisit if the
   real Launch variant differs visually) */
.btn-launch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 9px 13px;
  border-radius: 0;
  background: #0174bc;
  border: 1px solid #0174bc;
  color: #ffffff;
  font-family: var(--font-family-brand);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-xxxs);
  cursor: pointer;
  white-space: nowrap;
}
.btn-launch:hover {
  background: #005f99;
  border-color: #005f99;
}

/* ===================================================================
   CORE BUTTON — canonical button component (Primary + Secondary so far)
   Sourced from Figma "ADS (Claude)" core_button component set (node
   54:4319, file X41fDJzAR1F4otrnKdUy4s — 60 variants: 6 TYPEs
   [Primary/Secondary/Tertiary/Link/Launch/Danger] × 2 SIZEs [Large/Small]
   × 5 STATEs [Default/Hover/Active/Disabled/Loading]). Reachable via a
   direct URL to the button page (https://www.figma.com/design/
   X41fDJzAR1F4otrnKdUy4s/ADS--Claude-?node-id=1-235) — an earlier attempt
   to guess the component-set node ID directly failed (see
   pattern_figma_design_context_invisible_elements / the Modal
   component's sourcing notes). Every state below was fetched from its
   own real node via get_design_context — none of these are guessed:

   PRIMARY:
     Default  node 54:4320  bg/border/text: component/button/primary/default/*  (#0174bc / white)
     Hover    node 54:4422  bg/border:      component/button/primary/hover/background (#009cde), text white
     Disabled node 54:4438  bg/border:      component/button/primary/disabled/background (#e5e5ea), text component/button/primary/disabled/text (#a3a3ab)
     Loading  node 54:4328  bg/border stays #0174bc (same as Default); spinner is core_loading-spinner, white="Yes"

   SECONDARY:
     Default  node 54:4446  bg white, border/text component/button/secondary/default/border+text (#0174bc)
     Hover    node 54:4452  bg component/button/secondary/hover/background (#edf8ff), border component/button/secondary/hover/border (#009cde), text stays #0174bc
     Disabled node 54:4460  bg white, border component/button/secondary/disabled/border (#c2c2ca), text component/button/secondary/disabled/text (#a3a3ab)
     Loading  node 54:4450  bg white, border stays #0174bc (same as Default); spinner is core_loading-spinner, white="No"

   Loading behavior (both types): per the component's documented note
   "keep the size of the button untouched," the label stays in flow but
   `visibility:hidden` (span.btn-label) rather than being removed, so the
   button doesn't shrink when the spinner replaces it.

   SPINNER — real Figma asset, not a CSS approximation. Downloaded both
   core_loading-spinner variants as raw SVG and inspected them directly:
   they're each two stroked arcs with radial gradients (not a single
   conic-gradient ring), and — notably — white="No" is NOT simply the
   white version recolored: it's a genuinely different two-tone green→blue
   gradient (#00B050 → #108AD6), unrelated to this codebase's existing
   40px `.loading-spinner` (single-hue #4067E5, used in empty widget
   bodies elsewhere — see feedback_empty_widget_spinner). That mismatch is
   flagged here, not fixed — .loading-spinner predates this Figma lookup
   and reconciling it wasn't asked for. Because both real assets are
   built from actual gradient defs (not flat colors), they're embedded as
   inline SVG per instance (`.btn-spinner svg`) rather than reconstructed
   via CSS conic-gradient/mask — that technique was tried first for the
   Primary spinner and was a close-but-inexact approximation; switched to
   the literal asset for accuracy once the Secondary asset proved the two
   spinners aren't just palette swaps of one shape.

   NOT YET DONE: Tertiary/Link/Launch/Danger types, Small size, Active
   state. See /UI_Buttons/CLAUDE.md for the fetched node IDs and how to
   get the rest.
   NOT YET MIGRATED: .modal-btn-primary, .modal-btn-secondary,
   .btn-launch, .config-bar-activate (UI_Top-Navbars), .create-button,
   and .bulk-action-button-primary are all near-duplicates of this class
   from before it existed — deliberately left as-is; migrate call sites
   incrementally, not in one sweep.
   =================================================================== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-s4);
  padding: 9px 13px;
  border-radius: 0;
  font-family: var(--font-family-brand);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-xxxs);
  cursor: pointer;
  white-space: nowrap;
  position: relative;
}

.btn-primary {
  background: var(--component-button-primary-background);
  border: 1px solid var(--component-button-primary-background);
  color: var(--component-button-primary-text);
}
.btn-primary:hover {
  background: #009cde;
  border-color: #009cde;
}
.btn-primary:disabled,
.btn-primary.btn-disabled {
  background: #e5e5ea;
  border-color: #e5e5ea;
  color: #a3a3ab;
  cursor: not-allowed;
}

.btn-secondary {
  background: #ffffff;
  border: 1px solid #0174bc;
  color: #0174bc;
}
.btn-secondary:hover {
  background: #edf8ff;
  border-color: #009cde;
}
.btn-secondary:disabled,
.btn-secondary.btn-disabled {
  background: #ffffff;
  border-color: #c2c2ca;
  color: #a3a3ab;
  cursor: not-allowed;
}

/* Loading: background/border stay the type's Default colors; label is
   kept in flow (visibility:hidden, not removed) so the button's width
   doesn't change when the spinner takes its place — see comment above.
   .btn-spinner is a positioning/animation wrapper only; its visual
   content is a real inline SVG child per instance (see markup in
   /UI_Buttons/index.html), since the two Figma spinner assets are
   distinct gradients, not one shape recolored. */
.btn.btn-loading {
  cursor: default;
  pointer-events: none;
}
.btn-loading .btn-label {
  visibility: hidden;
}
.btn-spinner {
  display: none;
}
.btn-loading .btn-spinner {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  transform: translate(-50%, -50%);
  animation: spin 1s linear infinite;
}
.btn-spinner svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* Centers a panel's content both horizontally and vertically — for
   widgets whose primary content is a single trigger (e.g. a Launch
   button) rather than flowing text. Use instead of .panel-text.
   Requires flex:1 so it fills the height .panel gets stretched to by
   a sibling .widget-row (equal-height row via flex default stretch).
   Selector is .panel-content.panel-content-centered (not just the
   latter) to match the specificity of `.panel-static .panel-content`
   (0,2,0) — a single-class selector here would lose that cascade fight
   and silently stay display:block despite appearing later in the file. */
.panel-content.panel-content-centered {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-s32);
}

/* Horizontal row of triggers inside a .panel-content-centered widget
   (e.g. Small/Medium/Large launch buttons) — use when a widget needs
   more than one centered button side by side. */
.panel-content-button-group {
  display: flex;
  align-items: center;
  gap: var(--spacing-s24);
}
