    /* Reset and base styles */
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      background: #f9fafb;
      color: #1f2937;
      min-height: 100vh;
      padding: 1.5rem;
      transition: background-color 0.3s ease, color 0.3s ease;
    }

    .container {
      max-width: 42rem;
      margin: 0 auto;
    }

    /* Header with hamburger */
    .header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 1.5rem;
    }

    .hamburger {
      display: flex;
      flex-direction: column;
      cursor: pointer;
      padding: 0.5rem;
      border: none;
      background: none;
      transition: transform 0.3s ease;
    }

    .hamburger:hover {
      transform: scale(1.1);
    }

    .hamburger span {
      width: 25px;
      height: 3px;
      background-color: #1f2937;
      margin: 3px 0;
      transition: 0.3s;
      border-radius: 2px;
    }

    .hamburger.active span:nth-child(1) {
      transform: rotate(-45deg) translate(-5px, 6px);
    }

    .hamburger.active span:nth-child(2) {
      opacity: 0;
    }

    .hamburger.active span:nth-child(3) {
      transform: rotate(45deg) translate(-5px, -6px);
    }

    /* Typography */
    h1 {
      font-size: 1.875rem;
      font-weight: 700;
      text-align: center;
      color: #1d4ed8;
      transition: color 0.3s ease;
    }

    h2 {
      font-size: 1.25rem;
      font-weight: 600;
      margin-bottom: 1rem;
      transition: color 0.3s ease;
    }

    /* Side Navigation */
    .nav-overlay {
      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: 998;
    }

    .nav-overlay.active {
      opacity: 1;
      visibility: visible;
    }

    .side-nav {
      position: fixed;
      top: 0;
      left: -300px;
      width: 300px;
      height: 100%;
      background: white;
      box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
      transition: left 0.3s ease;
      z-index: 999;
      padding: 2rem 1.5rem;
    }

    .side-nav.active {
      left: 0;
    }

    .nav-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 2rem;
      padding-bottom: 1rem;
      border-bottom: 1px solid #e5e7eb;
    }

    .nav-title {
      font-size: 1.25rem;
      font-weight: 600;
      color: #1d4ed8;
    }

    .close-nav {
      background: none;
      border: none;
      font-size: 1.5rem;
      cursor: pointer;
      padding: 0.25rem;
      color: #6b7280;
      transition: color 0.3s ease;
    }

    .close-nav:hover {
      color: #1f2937;
    }

    .nav-item {
      display: flex;
      align-items: center;
      padding: 0.75rem 0;
      cursor: pointer;
      border-radius: 0.375rem;
      transition: background-color 0.2s ease;
      margin-bottom: 0.5rem;
    }

    .nav-item:hover {
      background-color: #f3f4f6;
    }

    .nav-item-icon {
      margin-right: 0.75rem;
      font-size: 1.125rem;
    }

    .nav-item-text {
      font-weight: 500;
    }

    /* Dark mode toggle in nav */
    .dark-mode-section {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0.75rem 0;
    }

    .toggle-switch {
      position: relative;
      width: 3.5rem;
      height: 1.75rem;
      background-color: #e5e7eb;
      border-radius: 9999px;
      cursor: pointer;
      transition: background-color 0.3s ease;
    }

    .toggle-dot {
      position: absolute;
      top: 0.125rem;
      left: 0.125rem;
      width: 1.25rem;
      height: 1.25rem;
      background-color: white;
      border-radius: 50%;
      transition: transform 0.3s ease;
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    #darkModeToggle:checked + .toggle-switch {
      background-color: #2563eb;
    }

    #darkModeToggle:checked + .toggle-switch .toggle-dot {
      transform: translateX(1.75rem);
    }

    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

    /* Forms */
    form {
      background: white;
      padding: 1rem;
      border-radius: 0.5rem;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
      margin-bottom: 1.5rem;
      transition: background-color 0.3s ease;
    }

    .form-group {
      margin-bottom: 1rem;
    }

    input[type="text"],
    input[type="number"] {
      width: 100%;
      border: 1px solid #d1d5db;
      padding: 0.5rem;
      border-radius: 0.25rem;
      font-size: 1rem;
      transition: border-color 0.3s ease, background-color 0.3s ease;
    }

    input[type="text"]:focus,
    input[type="number"]:focus {
      outline: none;
      border-color: #2563eb;
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
    }

    /* Remove number input arrows */
    input[type="number"]::-webkit-outer-spin-button,
    input[type="number"]::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }

    input[type="number"] {
      -moz-appearance: textfield;
    }

    /* Buttons */
    button {
      background-color: #2563eb;
      color: white;
      border: none;
      padding: 0.5rem 1rem;
      border-radius: 0.25rem;
      cursor: pointer;
      font-size: 1rem;
      transition: background-color 0.3s ease;
    }

    button:hover {
      background-color: #1d4ed8;
    }

    .btn-yellow {
      background-color: #fbbf24;
      color: #000;
    }

    .btn-yellow:hover {
      background-color: #f59e0b;
    }

    .btn-red {
      background-color: #ef4444;
      color: white;
    }

    .btn-red:hover {
      background-color: #dc2626;
    }

    .btn-gray {
      background-color: #6b7280;
      color: white;
    }

    .btn-gray:hover {
      background-color: #4b5563;
    }

    .btn-green {
      background-color: #059669;
      color: white;
    }

    .btn-green:hover {
      background-color: #047857;
    }

    /* Stock list */
    #stockList {
      list-style: none;
    }

    .stock-item {
      background: white;
      padding: 1rem;
      border-radius: 0.5rem;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
      margin-bottom: 1rem;
      transition: background-color 0.3s ease, box-shadow 0.3s ease;
    }

    .stock-header {
      font-size: 1.125rem;
      font-weight: 700;
      margin-bottom: 0.25rem;
    }

    .stock-detail {
      margin-bottom: 0.25rem;
    }

    .stock-detail span {
      font-weight: 500;
    }

    .stock-actions {
      margin-top: 0.5rem;
      display: flex;
      gap: 0.5rem;
    }

    .stock-actions button {
      padding: 0.25rem 0.75rem;
      font-size: 0.875rem;
    }

    .text-green {
      color: #059669;
      font-weight: 600;
    }

    .text-red {
      color: #dc2626;
      font-weight: 600;
    }

    .text-blue {
      color: #1d4ed8;
      font-weight: 700;
    }

    .text-gray {
      color: #6b7280;
    }

    /* Modal */
    .modal {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: rgba(0, 0, 0, 0.5);
      display: none;
      align-items: center;
      justify-content: center;
      z-index: 50;
    }

    .modal.show {
      display: flex;
    }

    .modal-content {
      background: white;
      padding: 1.5rem;
      border-radius: 0.5rem;
      width: 100%;
      max-width: 28rem;
      transition: background-color 0.3s ease;
    }

    .modal-title {
      font-size: 1.25rem;
      font-weight: 600;
      margin-bottom: 1rem;
    }

    .modal-actions {
      display: flex;
      justify-content: flex-end;
      gap: 0.5rem;
      margin-top: 1rem;
    }

    /* Install button */
    #installBtn {
      display: none;
      margin-top: 1rem;
    }

    .hidden {
      display: none !important;
    }

    /* Dark mode styles */
    body.dark {
      background: #1f2937;
      color: #f9fafb;
    }

    body.dark .hamburger span {
      background-color: #f9fafb;
    }

    body.dark h1 {
      color: #60a5fa;
    }

    body.dark form,
    body.dark .stock-item,
    body.dark .modal-content,
    body.dark .side-nav {
      background: #374151;
      color: #f9fafb;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
    }

    body.dark .nav-header {
      border-bottom-color: #4b5563;
    }

    body.dark .nav-item:hover {
      background-color: #4b5563;
    }

    body.dark .close-nav {
      color: #9ca3af;
    }

    body.dark .close-nav:hover {
      color: #f9fafb;
    }

    body.dark input[type="text"],
    body.dark input[type="number"] {
      background: #374151;
      color: #f9fafb;
      border-color: #4b5563;
    }

    body.dark input[type="text"]:focus,
    body.dark input[type="number"]:focus {
      border-color: #60a5fa;
      box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.1);
    }

    body.dark .text-green {
      color: #10b981;
    }

    body.dark .text-red {
      color: #f87171;
    }

    body.dark .text-blue {
      color: #60a5fa;
    }

    /* Responsive */
    @media (max-width: 768px) {
      body {
        padding: 1rem;
      }
      
      .stock-actions {
        flex-direction: column;
      }
      
      .modal-content {
        margin: 1rem;
        max-width: calc(100% - 2rem);
      }

      .side-nav {
        width: 280px;
        left: -280px;
      }
    }