  :root {
      --primary: #2e6be6;
      --accent: #e8f0fe;
      --gray: #f4f4f4;
      --border: #ddd;
      --radius: 8px;
      --font: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  }

  body {
      font-family: var(--font);
      background: #fafafa;
      color: #333;
      padding: 1rem 2rem;
      line-height: 1.6;
  }

  .home_welcome {
      text-align: center;
  }

  .g_id_signin {
      max-width: 235px;
      margin: auto;
  }

  header {
      display: flex;
      justify-content: space-between;
      gap: 20px;

      .logo_text {
          margin: 0;
      }

      .user_info {
          display: flex;
          align-items: center;
          gap: 16px;

          button {
              margin: 0;
          }
      }

      @media (max-width: 767px) {
          .logo_text {
              font-size: 1.5rem;
          }
      }
  }

  h1,
  h2,
  h3,
  h4 {
      color: var(--primary);
      margin-bottom: 0.5rem;
  }

  form {
      background: white;
      padding: 1.5rem;
      margin-bottom: 2rem;
      border-radius: var(--radius);
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);

  }

  label {
      font-weight: 600;
      display: block;
      margin: 1rem 0 0.5rem;
  }

  input,
  textarea,
  select {
      width: 100%;
      padding: 0.5rem;
      border: 1px solid var(--border);
      border-radius: var(--radius);
      font-size: 1rem;
      background: #fff;
      box-sizing: border-box;
      font-family: inherit;
  }

  textarea {
      display: block;
  }

  button {
      background: var(--primary);
      color: white;
      border: none;
      padding: 0.6rem 1.2rem;
      font-weight: bold;
      border-radius: var(--radius);
      cursor: pointer;
      transition: background 0.3s;
      margin-top: 1rem;
  }

  button:hover {
      background: #1e4fc2;
  }

  #invoice-list {
      list-style: none;
      padding: 0;
  }

  .invoice {
      background: white;
      border: 1px solid var(--border);
      padding: 1rem;
      margin-bottom: 1rem;
      border-radius: var(--radius);
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.03);
  }

  .invoice strong {
      color: var(--primary);
  }

  .invoice button {
      margin-right: 0.5rem;
      margin-top: 0.5rem;
  }

  table {
      width: 100%;
      margin-top: 1rem;
      border-collapse: collapse;
      background: white;
  }

  th,
  td {
      padding: 0.75rem;
      border: 1px solid var(--border);
      text-align: left;
  }

  th {
      background: var(--accent);
      color: #333;
  }

  td button {
      background: #e74c3c;
      font-size: 0.9rem;
      padding: 0.3rem 0.6rem;
      margin: 0;
  }

  #subtotal,
  #total {
      font-weight: bold;
      color: var(--primary);
  }

  .summary-line {
      margin-top: 0.5rem;
  }

  .logout-btn {
      float: right;
      background: #555;
      margin-top: -2.5rem;
  }

  .logout-btn:hover {
      background: #333;
  }

  .section-title {
      margin-top: 3rem;
  }


  #profile-form {
      .fields {
          display: grid;
          gap: 12px;
          grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
          align-items: end;

          label {
              margin-bottom: 0;
          }
      }
  }

  #invoice-form .fields {
      display: grid;
      gap: 12px;
      grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
      align-items: end;
  }

  .total_mount {
      span:not(#total) {
          color: #000;
      }
  }

  @media (max-width: 767px) {
      .hide_mobile {
          display: none;
      }
  }

  @media (min-width: 1024px) {
      .invoice_area {
          display: flex;
          gap: 50px;

          >.col {
              flex: 1;

              &:nth-child(1) {
                  flex: 2
              }
          }
      }
  }


  .loader {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(255, 255, 255, 0.7);
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 1000;
  }

  .loader::after {
      content: "";
      width: 40px;
      height: 40px;
      border: 5px solid #ccc;
      border-top-color: #2e6be6;
      border-radius: 50%;
      animation: spin 1s linear infinite;
  }

  .hidden {
      display: none !important;
  }

  @keyframes spin {
      to {
          transform: rotate(360deg);
      }
  }

  .toast {
      position: fixed;
      bottom: 2rem;
      right: 2rem;
      background: #2e6be6;
      color: white;
      padding: 1rem 1.5rem;
      border-radius: 8px;
      font-weight: bold;
      z-index: 1001;
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
      transition: opacity 0.4s ease;
  }