/**
 * Module CSS: 01-left-side-rail.css
 * Trích nguyên văn dòng 63-146 của pctech-homepage.css gốc.
 * Không đổi nội dung — chỉ tách file theo đúng marker sẵn có trong code gốc.
 */
    /* ── Left side rail ── */
    .side-rail {
      position: fixed;
      left: 0; top: 50%;
      transform: translateY(-50%);
      z-index: 900;
      width: var(--side-rail-w);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      padding: 16px 0;
    }
    .side-rail::before {
      content: '';
      position: absolute;
      left: 50%; top: 0; bottom: 0;
      width: 1px;
      background: linear-gradient(180deg, transparent, var(--blue-dark), var(--orange), transparent);
      transform: translateX(-50%);
      opacity: 0.45;
    }
    .side-rail-dot {
      width: 10px; height: 10px;
      border-radius: 50%;
      background: var(--gray-200);
      border: 2px solid var(--white);
      box-shadow: var(--shadow);
      transition: all 0.3s;
      cursor: pointer;
      position: relative;
      z-index: 1;
    }
    .side-rail-dot:hover, .side-rail-dot.active {
      background: var(--orange);
      transform: scale(1.45);
      box-shadow: var(--shadow-glow);
    }
    .side-rail-dot::after {
      content: attr(data-label);
      position: absolute;
      left: calc(100% + 12px);
      top: 50%;
      transform: translateY(-50%);
      background: var(--blue-deeper);
      color: var(--white);
      font-size: 0.72rem;
      font-weight: 600;
      padding: 6px 12px;
      border-radius: 6px;
      white-space: nowrap;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.2s;
    }
    .side-rail-dot:hover::after { opacity: 1; }
    .side-rail-hotline {
      writing-mode: vertical-rl;
      transform: rotate(180deg);
      font-size: 0.68rem;
      font-weight: 700;
      color: var(--blue-dark);
      letter-spacing: 0.06em;
      margin-top: 12px;
      opacity: 0.75;
      z-index: 1;
    }
    .side-rail-badge {
      background: linear-gradient(135deg, var(--orange), var(--orange-dark));
      color: var(--white);
      font-size: 0.58rem;
      font-weight: 800;
      padding: 8px 5px;
      border-radius: 8px;
      text-align: center;
      line-height: 1.3;
      animation: badgePulse 2.5s ease-in-out infinite;
      z-index: 1;
    }
    @keyframes badgePulse {
      0%, 100% { box-shadow: 0 0 0 0 var(--orange-glow); }
      50% { box-shadow: 0 0 20px 4px var(--orange-glow); }
    }

