/* Classic Windows 95 / Napster Theme Styles */
    body {
      background-color: #008080; /* Win95 Teal desktop */
      color: #000000;
      font-family: "Tahoma", "MS Sans Serif", "Arial", sans-serif;
      font-size: 12px;
      image-rendering: pixelated;
    }

    * {
      border-radius: 0 !important;
    }

    /* Outset Panel (Raised) */
    .win95-outset {
      background-color: #c0c0c0;
      border-top: 2px solid #ffffff;
      border-left: 2px solid #ffffff;
      border-right: 2px solid #404040;
      border-bottom: 2px solid #404040;
      box-shadow: inset -1px -1px #000000, inset 1px 1px #dfdfdf;
    }

    /* Inset Field (Sunken) */
    .win95-inset {
      background-color: #ffffff;
      border-top: 2px solid #404040;
      border-left: 2px solid #404040;
      border-right: 2px solid #ffffff;
      border-bottom: 2px solid #ffffff;
      box-shadow: inset 1px 1px #000000, inset -1px -1px #dfdfdf;
    }

    /* Button Styling */
    .win95-btn {
      background-color: #c0c0c0;
      border-top: 2px solid #ffffff;
      border-left: 2px solid #ffffff;
      border-right: 2px solid #404040;
      border-bottom: 2px solid #404040;
      box-shadow: inset -1px -1px #000000, inset 1px 1px #dfdfdf;
      font-weight: bold;
      color: #000;
      padding: 3px 8px;
      cursor: pointer;
    }

    .win95-btn:active {
      border-top: 2px solid #404040;
      border-left: 2px solid #404040;
      border-right: 2px solid #ffffff;
      border-bottom: 2px solid #ffffff;
      box-shadow: inset 1px 1px #000000, inset -1px -1px #dfdfdf;
      padding: 4px 7px 2px 9px;
    }

    .win95-btn:disabled {
      color: #808080;
      text-shadow: 1px 1px #ffffff;
      cursor: not-allowed;
    }

    /* Title Bar */
    .win95-titlebar {
      background: linear-gradient(90deg, #000080, #1084d0);
      color: #ffffff;
      font-weight: bold;
      padding: 3px 6px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    /* Table Styles */
    table.win95-table {
      width: 100%;
      border-collapse: separate;
      border-spacing: 0;
      background: #ffffff;
    }

    table.win95-table th {
      background-color: #c0c0c0;
      color: #000000;
      border-top: 1px solid #ffffff;
      border-left: 1px solid #ffffff;
      border-right: 1px solid #404040;
      border-bottom: 1px solid #404040;
      padding: 4px 6px;
      font-weight: bold;
      text-align: left;
      user-select: none;
      position: sticky;
      top: 0;
      z-index: 10;
    }

    table.win95-table td {
      padding: 4px 6px;
      border-bottom: 1px solid #e0e0e0;
      border-right: 1px solid #e0e0e0;
    }

    table.win95-table tr {
      position: relative;
    }

    table.win95-table tr:nth-child(even) {
      background-color: #f8f8f8;
    }

    /* Win95 Row Selection Hover */
    table.win95-table tr:not(.variant-child-row):hover {
      background-color: #000080 !important;
      color: #ffffff !important;
    }

    table.win95-table tr:not(.variant-child-row):hover td,
    table.win95-table tr:not(.variant-child-row):hover td span,
    table.win95-table tr:not(.variant-child-row):hover td a,
    table.win95-table tr:not(.variant-child-row):hover td div {
      color: #ffffff !important;
    }

    /* Viewport-level Global Floating Tooltip */
    #global-user-tooltip {
      position: fixed;
      display: none;
      z-index: 9999999;
      background-color: #ffffe1;
      color: #000000;
      border: 1px solid #000000;
      box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.5);
      padding: 6px 8px;
      font-size: 11px;
      white-space: normal;
      pointer-events: none;
    }

    /* Win95 Progress Bar Component */
    .win95-progress-bar {
      background-color: #ffffff;
      border-top: 1px solid #404040;
      border-left: 1px solid #404040;
      border-right: 1px solid #ffffff;
      border-bottom: 1px solid #ffffff;
      height: 16px;
      width: 100%;
      position: relative;
      overflow: hidden;
    }

    .win95-progress-fill {
      background-color: #000080;
      height: 100%;
      width: 0%;
      transition: width 0.15s ease-out;
    }

    .loading-indicator {
      width: 12px;
      height: 12px;
      display: inline-block;
      flex: 0 0 auto;
      background: #000080;
      border: 1px solid #000000;
      box-shadow: inset 1px 1px #ffffff, inset -1px -1px #404040;
      animation: loading-blink 0.8s steps(2, start) infinite;
    }

    @keyframes loading-blink {
      50% { opacity: 0.35; }
    }

    /* Retro Status Badges */
    .badge-online { background-color: #008000; color: #ffffff !important; padding: 1px 5px; font-weight: bold; }
    .badge-away { background-color: #c08000; color: #ffffff !important; padding: 1px 5px; font-weight: bold; }
    .badge-offline { background-color: #808080; color: #ffffff !important; padding: 1px 5px; }
    .badge-danger { background-color: #800000; color: #ffffff !important; padding: 1px 5px; font-weight: bold; }
    .badge-canonical { background-color: #000080; color: #ffffff !important; padding: 1px 5px; font-weight: bold; }
    .badge-fragment { background-color: #702082; color: #ffffff !important; padding: 1px 5px; font-weight: bold; }

    /* Custom Retro Scrollbar */
    ::-webkit-scrollbar { width: 16px; height: 16px; background: #c0c0c0; }
    ::-webkit-scrollbar-thumb {
      background: #c0c0c0;
      border-top: 2px solid #ffffff;
      border-left: 2px solid #ffffff;
      border-right: 2px solid #404040;
      border-bottom: 2px solid #404040;
    }

    /* Tree View Details & Summary Styling */
    details.tree-node > summary {
      cursor: pointer;
      user-select: none;
      list-style: none;
    }
    details.tree-node > summary::-webkit-details-marker {
      display: none;
    }
    details.tree-node[open] > summary .folder-icon-closed {
      display: none;
    }
    details.tree-node:not([open]) > summary .folder-icon-open {
      display: none;
    }

    .variant-child-row {
      background-color: #f0f4f8 !important;
      font-size: 11px;
    }
    .variant-child-row:hover {
      background-color: #e2e8f0 !important;
      color: #000000 !important;
    }
